Package de.svws_nrw.core.kursblockung
Klasse KursblockungAlgorithmusK
java.lang.Object
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusK
- Bekannte direkte Unterklassen:
KursblockungAlgorithmusKFachwahlmatrix
,KursblockungAlgorithmusKMatching
,KursblockungAlgorithmusKOptimiereBest
,KursblockungAlgorithmusKSchnellW
,KursblockungAlgorithmusKSchuelervorschlag
Ein Algorithmus des Typs K dient dazu Kurse auf Schienen zu verteilen. Dabei dürfen Kurse über 1 oder mehr
Schienen gehen, aber nicht über 0. Im Konstruktor können die Unterklassen die jeweiligen Datenstrukturen aufbauen.
Kurse dürfen im Konstruktor noch nicht auf die Schienen verteilt werden.
-
Feldübersicht
Modifizierer und TypFeldBeschreibungprotected final @NotNull Random
EinRandom
-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed.protected final @NotNull KursblockungDynDaten
Die aktuellen Blockungsdaten.protected final @NotNull Logger
Logger für Benutzerhinweise, Warnungen und Fehler. -
Konstruktorübersicht
ModifiziererKonstruktorBeschreibungprotected
KursblockungAlgorithmusK
(@NotNull Random pRandom, @NotNull Logger pLogger, @NotNull KursblockungDynDaten pDynDaten) Der Konstruktor stellt einen Logger und die bei der Blockung benötigten dynamischen Daten den Unterklassen zur Verfügung. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungabstract void
berechne
(long pTimeEndMillis) Eine Unterklasse, die diese Methode implementiert, berechnet eine Verteilung der Kurse auf die Schienen und überschreitet dabei nicht die Endzeit (in Millisekunden).
-
Felddetails
-
_random
EinRandom
-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed. -
logger
Logger für Benutzerhinweise, Warnungen und Fehler. -
dynDaten
Die aktuellen Blockungsdaten. Dieses Objekt dient zur Manipulation der Daten während des Blockungsvorganges.
-
-
Konstruktordetails
-
KursblockungAlgorithmusK
protected KursblockungAlgorithmusK(@NotNull @NotNull Random pRandom, @NotNull @NotNull Logger pLogger, @NotNull @NotNull KursblockungDynDaten pDynDaten) Der Konstruktor stellt einen Logger und die bei der Blockung benötigten dynamischen Daten den Unterklassen zur Verfügung.- Parameter:
pRandom
- EinRandom
-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed.pLogger
- Logger für Benutzerhinweise, Warnungen und Fehler.pDynDaten
- Die aktuellen Blockungsdaten.
-
-
Methodendetails
-
berechne
public abstract void berechne(long pTimeEndMillis) Eine Unterklasse, die diese Methode implementiert, berechnet eine Verteilung der Kurse auf die Schienen und überschreitet dabei nicht die Endzeit (in Millisekunden).- Parameter:
pTimeEndMillis
- Die Endzeit (in Millisekunden).
-