timetable.data
Class Problem

java.lang.Object
  |
  +--timetable.data.Problem
All Implemented Interfaces:
java.io.Serializable

public class Problem
extends java.lang.Object
implements java.io.Serializable

Realizace celého rozvrhovacího problému.

See Also:
Serialized Form

Field Summary
 ActivityGroup activities
          Množina všech aktivit
 Config config
          Globální konfigurace
 ActivityDependenceGroup dependences
          Množina všech závislostí
 ResourceGroup[] resources
          Pole množin všech zdrojů.
 
Constructor Summary
Problem(Config config)
          Konstruktor.
Problem(Problem problem)
          Kopírovací konstruktor.
 
Method Summary
 void clearCounts()
          Vynuluje čítače počtu odebrání aktivit
 void checkConsistency()
          Zjištění konzistence a odstranění případných nekonzistentních aktivit z rozvrhu.
 boolean isChanged()
          Byl rozvrh změněn?
static Problem load(java.lang.String file)
          Načtení rozvrhovacího problému ze souboru
 void print(java.io.OutputStreamWriter osw, ResourceGroup allResources, int order, int size)
          Tisk rozvrhu
 void print(java.lang.String file, ResourceGroup allResources, int order, int size)
          Tisk rozvrhu do souboru
 void reset()
          Odebere všechny naplánované aktivity z rozvrhu.
 void restoreBestState()
          Obnoví nejlepší rozvh
 void restoreLastState()
          Obnoví poslední rozvrh
 void save(java.lang.String file)
          Uložení rozvrhovacího problému do souboru
 void saveBestState()
          Uloží současný rozvrh do nejlepšího (activity.start -> activity.lastStart atd).
 void saveState()
          Uloží současný rozvrh do předchozího (activity.start -> activity.lastStart atd).
 void setProblem(Problem problem)
          Nastavení problému z jiného.
 ActivityGroup unscheduledActivities()
          Vrátí seznam nenaplánovaných aktivit.
protected  void writeHead(java.io.OutputStreamWriter osw)
          Tisk rozvrhu: výpis hlavičky řádky
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

config

public Config config
Globální konfigurace

activities

public ActivityGroup activities
Množina všech aktivit

dependences

public ActivityDependenceGroup dependences
Množina všech závislostí

resources

public ResourceGroup[] resources
Pole množin všech zdrojů. Jednotlivé množiny musí být navzájem disjunktní. Jednotlivé typy zdrojů lze takto oddělit. Například vyučující, učebny a vyučované předměty
Constructor Detail

Problem

public Problem(Config config)
        throws TimetableException
Konstruktor.
Parameters:
config - globální konfigurace

Problem

public Problem(Problem problem)
        throws TimetableException
Kopírovací konstruktor.
Parameters:
problem - jiný problém
Method Detail

setProblem

public void setProblem(Problem problem)
Nastavení problému z jiného.
Parameters:
jiný - problém

checkConsistency

public void checkConsistency()
                      throws TimetableException
Zjištění konzistence a odstranění případných nekonzistentních aktivit z rozvrhu.

isChanged

public boolean isChanged()
Byl rozvrh změněn?
Returns:
true, pokud ano

unscheduledActivities

public ActivityGroup unscheduledActivities()
Vrátí seznam nenaplánovaných aktivit.
Returns:
seznam nenaplánovaných aktivit

reset

public void reset()
Odebere všechny naplánované aktivity z rozvrhu.

clearCounts

public void clearCounts()
Vynuluje čítače počtu odebrání aktivit

saveState

public void saveState()
Uloží současný rozvrh do předchozího (activity.start -> activity.lastStart atd).

restoreLastState

public void restoreLastState()
Obnoví poslední rozvrh

saveBestState

public void saveBestState()
Uloží současný rozvrh do nejlepšího (activity.start -> activity.lastStart atd).

restoreBestState

public void restoreBestState()
Obnoví nejlepší rozvh

writeHead

protected void writeHead(java.io.OutputStreamWriter osw)
                  throws java.io.IOException
Tisk rozvrhu: výpis hlavičky řádky
Parameters:
osw - výstupní stream

print

public void print(java.lang.String file,
                  ResourceGroup allResources,
                  int order,
                  int size)
           throws TimetableException
Tisk rozvrhu do souboru
Parameters:
file - soubor
allResources - skupina zdrojů, pro které se má rozvrh vytiskoun
order - pořadí
size - velikost

print

public void print(java.io.OutputStreamWriter osw,
                  ResourceGroup allResources,
                  int order,
                  int size)
           throws java.io.IOException
Tisk rozvrhu
Parameters:
file - výstupní stream
allResources - skupina zdrojů, pro které se má rozvrh vytiskoun
order - pořadí
size - velikost

save

public void save(java.lang.String file)
          throws java.lang.Exception
Uložení rozvrhovacího problému do souboru
Parameters:
file - soubor

load

public static Problem load(java.lang.String file)
                    throws java.lang.Exception
Načtení rozvrhovacího problému ze souboru
Parameters:
file - soubor
Returns:
načtená problém