timetable.solver.strategy.value
Class MinValueSelection

java.lang.Object
  |
  +--timetable.solver.strategy.value.AbstractValueSelection
        |
        +--timetable.solver.strategy.value.MinValueSelection
All Implemented Interfaces:
ValueSelectionInterface

public class MinValueSelection
extends AbstractValueSelection

Třída implementující implicitní heuristiku výběru umístění. Snahou je vybrat nejlepší umístění. Součástí třídy je použití tabu-listu a náhodný výběr z n nejlepších umístění (pro zabránění cyklaní)


Field Summary
protected  ActivityGroup conflictActivities
          Nalezené umístění - konfliktní aktivity
protected  int min
          Minimální nalezená hodnota umístění
protected  int minSlot
          Nalezené umístění - počáteční slot
protected  int nrAdepts
          Počet adeptů na umístění
protected  ActivityResources solution
          Nalezené umístění - vybrané zdroje
protected  Tabu tabu
          Tabu-list
protected  int tabuSize
          Délka tabu-listu
protected  Top10Value top10
          Výběř N nejlepších umístění
protected  int TOP10MAX
          Počet nejlepších umístěních, ze kterých se bude vybírat náhosně
 
Fields inherited from class timetable.solver.strategy.value.AbstractValueSelection
activity, config, evaluation
 
Constructor Summary
MinValueSelection(Config config, Tabu tabu, SingleActivityEvaluationInterface evaluation)
          Konstruktor.
 
Method Summary
 void addValue(int slot, ActivityResources selectedResources, ActivityDependenceGroup dependences, ActivityGroup conflictActivities)
          Přidání možného umístění do výběru.
 void reset(Activity activity)
          Nastavení aktivity, pro kterou se bude umístění hledat.
 void select()
          Metoda provede výběr umístění.
 ActivityGroup selectedConflictActivities()
          Vrací vybrané umístění.
 ActivityResources selectedResources()
          Vrací vybrané umístění.
 int selectedSlot()
          Vrací vybrané umístění.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TOP10MAX

protected int TOP10MAX
Počet nejlepších umístěních, ze kterých se bude vybírat náhosně

top10

protected Top10Value top10
Výběř N nejlepších umístění

tabu

protected Tabu tabu
Tabu-list

tabuSize

protected int tabuSize
Délka tabu-listu

nrAdepts

protected int nrAdepts
Počet adeptů na umístění

min

protected int min
Minimální nalezená hodnota umístění

solution

protected ActivityResources solution
Nalezené umístění - vybrané zdroje

conflictActivities

protected ActivityGroup conflictActivities
Nalezené umístění - konfliktní aktivity

minSlot

protected int minSlot
Nalezené umístění - počáteční slot
Constructor Detail

MinValueSelection

public MinValueSelection(Config config,
                         Tabu tabu,
                         SingleActivityEvaluationInterface evaluation)
                  throws TimetableException
Konstruktor.
Parameters:
config - konfigurace
tabu - tabu-list
evaluation - ohodnocovací funkce
Method Detail

reset

public void reset(Activity activity)
Nastavení aktivity, pro kterou se bude umístění hledat. Reset heuristiky.
Overrides:
reset in class AbstractValueSelection
Parameters:
activity - vybraná aktivita

addValue

public void addValue(int slot,
                     ActivityResources selectedResources,
                     ActivityDependenceGroup dependences,
                     ActivityGroup conflictActivities)
              throws TimetableException
Přidání možného umístění do výběru.
Overrides:
addValue in class AbstractValueSelection
Parameters:
slot - počáteční slot
selectedResources - vybrané zdroje
dependences - množina všech závislostí
conflictActivities - množina aktivit, které jsou s daným umístěním v konfliktu - budou se muset z rozvrhu odebrat v případě zvolení tohoto umístění

select

public void select()
            throws TimetableException
Metoda provede výběr umístění.
Overrides:
select in class AbstractValueSelection

selectedSlot

public int selectedSlot()
Vrací vybrané umístění.
Overrides:
selectedSlot in class AbstractValueSelection
Returns:
počáteční slot

selectedResources

public ActivityResources selectedResources()
Vrací vybrané umístění.
Overrides:
selectedResources in class AbstractValueSelection
Returns:
vybrané zdroje

selectedConflictActivities

public ActivityGroup selectedConflictActivities()
Vrací vybrané umístění.
Overrides:
selectedConflictActivities in class AbstractValueSelection
Returns:
konfliktní aktivity