timetable.solver.strategy
Class Tabu

java.lang.Object
  |
  +--timetable.solver.strategy.Tabu

public class Tabu
extends java.lang.Object

Třída implementující tabu-list. Jde o množinu posledních N přiřazení (aktivita, umístění).


Field Summary
protected  Activity[] activities
          posledních N aktivit
protected  int pos
          pozice posledního přiřazení v cyklickém poli
protected  ActivityResources[] resources
          posledních N umístění - vybraných zdrojů
protected  int[] slots
          posledních N umístění - počátečních slotů
 long tabuTime
          měření doby strávené na tabu-listu (v ms)
 
Constructor Summary
Tabu(Config config)
          Konstruktor.
 
Method Summary
 void add(Activity a, int slot, ActivityResources g)
          Přidání nového ohodnocenní do tabu-listu
 boolean isTabuMove(Activity a, int slot, ActivityResources g)
          Je dané umístění tabu?
 boolean isTabuMoveTwiceMore(Activity a, int slot, ActivityResources g)
          Je dané umístění v tabu-listu dvakrát (či vícekrát)?
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

activities

protected Activity[] activities
posledních N aktivit

resources

protected ActivityResources[] resources
posledních N umístění - vybraných zdrojů

slots

protected int[] slots
posledních N umístění - počátečních slotů

pos

protected int pos
pozice posledního přiřazení v cyklickém poli

tabuTime

public long tabuTime
měření doby strávené na tabu-listu (v ms)
Constructor Detail

Tabu

public Tabu(Config config)
     throws TimetableException
Konstruktor.
Parameters:
config - globální konfigurace - obsahuje délku tabu
Method Detail

add

public void add(Activity a,
                int slot,
                ActivityResources g)
Přidání nového ohodnocenní do tabu-listu
Parameters:
a - zvolená aktivita
slot - umístění - počáteční časový slot
g - umístění - vybrané zdroje

isTabuMove

public boolean isTabuMove(Activity a,
                          int slot,
                          ActivityResources g)
Je dané umístění tabu?
Parameters:
a - zvolená aktivita
slot - umístění - počáteční časový slot
g - umístění - vybrané zdroje
Returns:
true, pokud je dané umístění pro danou aktivitu tabu (již je v tabu-listu)

isTabuMoveTwiceMore

public boolean isTabuMoveTwiceMore(Activity a,
                                   int slot,
                                   ActivityResources g)
Je dané umístění v tabu-listu dvakrát (či vícekrát)?
Parameters:
a - zvolená aktivita
slot - umístění - počáteční časový slot
g - umístění - vybrané zdroje
Returns:
true, pokud je dané umístění pro danou aktivitu tabu-listu více než jednou