Package de.svws_nrw.core.kursblockung
Klasse KursblockungAlgorithmusSMatching
java.lang.Object
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusS
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusSMatching
Dieser Schülerverteilungs-Algorithmus verteilt die SuS mit einem bipartiten Matching Algorithmus auf die Kurse in
mehreren Runden, bis eine Verbesserung stagniert. Die Nichtwähler sind dabei (bei fixierter Kurslage)
optimal/minimal. Die Kursdifferenzen werden nicht primär berücksichtigt.
-
Feldübersicht
Von Klasse geerbte Felder de.svws_nrw.core.kursblockung.KursblockungAlgorithmusS
_random, dynDaten, logger
-
Konstruktorübersicht
KonstruktorBeschreibungKursblockungAlgorithmusSMatching
(@NotNull Random pRandom, @NotNull Logger pLogger, @NotNull KursblockungDynDaten pDynDat) 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
-
KursblockungAlgorithmusSMatching
public KursblockungAlgorithmusSMatching(@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 zum Protokollieren von Warnungen und Fehlern.pDynDat
- 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
-