Package de.svws_nrw.core.kursblockung
Klasse KursblockungAlgorithmusSZufaellig
java.lang.Object
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusS
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusSZufaellig
Dieser Schülerverteilungs-Algorithmus verteilt die SuS zufällig auf ihre Kurse in mehreren Runden. Sobald die
Verbesserung stagniert, bricht der Algorithmus ab. Da die Datenstruktur
KursblockungDynDaten
pro Fachart die
Kurse nach ihrer Kursgröße aufsteigend sortiert, findet der Algorithmus sogar sehr gute Kursdifferenzen.-
Feldübersicht
Von Klasse geerbte Felder de.svws_nrw.core.kursblockung.KursblockungAlgorithmusS
_random, dynDaten, logger
-
Konstruktorübersicht
KonstruktorBeschreibungKursblockungAlgorithmusSZufaellig
(@NotNull Random random, @NotNull Logger logger, @NotNull KursblockungDynDaten dynDat) Im Konstruktor kann die Klasse die jeweiligen Datenstrukturen aufbauen. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungvoid
berechne()
Der Algorithmus verteilt die SuS auf ihre Kurse zufällig.
-
Konstruktordetails
-
KursblockungAlgorithmusSZufaellig
public KursblockungAlgorithmusSZufaellig(@NotNull @NotNull Random random, @NotNull @NotNull Logger logger, @NotNull @NotNull KursblockungDynDaten dynDat) Im Konstruktor kann die Klasse die jeweiligen Datenstrukturen aufbauen. Kurse dürfen in dieser Methode noch nicht auf Schienen verteilt werden.- Parameter:
random
- EinRandom
-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed.logger
- Logger zum Protokollieren von Warnungen und Fehlern.dynDat
- Die dynamischen Blockungsdaten.
-
-
Methodendetails
-
berechne
public void berechne()Der Algorithmus verteilt die SuS auf ihre Kurse zufällig. Kommt es während des Verteilens zur Kollision, so wird der Kurs nicht gewählt.- Angegeben von:
berechne
in KlasseKursblockungAlgorithmusS
-