Package de.svws_nrw.core.kursblockung
Klasse KursblockungAlgorithmusKFachwahlmatrix
java.lang.Object
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusK
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusKFachwahlmatrix
Dieser Algorithmus des Typs K verteilt die Kurse auf ihre Schienen. Die Strategie Fachwahlmatrix
optimiert Kurse auf Basis einer 2D-Matrix, die zu je zwei Fachwahlen angibt, wie oft diese Kombination gewählt wurde.
Der Algorithmus versucht nur solche Kurs-Paarungen in eine Schiene zu tun, deren paarweise Wahl gering ist.
-
Feldübersicht
Von Klasse geerbte Felder de.svws_nrw.core.kursblockung.KursblockungAlgorithmusK
_random, dynDaten, logger
-
Konstruktorübersicht
KonstruktorBeschreibungKursblockungAlgorithmusKFachwahlmatrix
(@NotNull Random pRandom, @NotNull Logger pLogger, @NotNull KursblockungDynDaten pDynDat) Im Konstruktor kann die Klasse die jeweiligen Datenstrukturen aufbauen. -
Methodenübersicht
-
Konstruktordetails
-
KursblockungAlgorithmusKFachwahlmatrix
public KursblockungAlgorithmusKFachwahlmatrix(@NotNull @NotNull Random pRandom, @NotNull @NotNull Logger pLogger, @NotNull @NotNull KursblockungDynDaten pDynDat) Im Konstruktor kann die Klasse die jeweiligen Datenstrukturen aufbauen. Kurse dürfen in diese Methode noch nicht auf Schienen verteilt werden.- Parameter:
pRandom
- EinRandom
-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed.pLogger
- Logger für Benutzerhinweise, Warnungen und Fehler.pDynDat
- Die dynamischen Blockungsdaten.
-
-
Methodendetails
-
toString
-
berechne
public void berechne(long pEndzeit) Der Algorithmus entfernt zunächst alle SuS aus ihren Kursen. Anschließend werden die Kurse zufällig verteilt.- Angegeben von:
berechne
in KlasseKursblockungAlgorithmusK
- Parameter:
pEndzeit
- Die Endzeit (in Millisekunden).
-