Package de.svws_nrw.core.kursblockung
Klasse KursblockungAlgorithmusPermanentKMatching
java.lang.Object
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusPermanentK
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusPermanentKMatching
public final class KursblockungAlgorithmusPermanentKMatching
extends KursblockungAlgorithmusPermanentK
Dieser Algorithmus arbeitet wie folgt:
init: (1) Alle Kurse zufällig verteilen (2) SuS mit "gewichteten bipartiten Matching" verteilen. next: Die Hälfte der Zeit wird aufgeteilt: (1a) Einige wenige Kurse werden verändert. (2a) SuS mit "bipartiten Matching" verteilen. (3a) Verschlechterung ggf. rückgängig machen. (1b) Einige wenige Kurse werden verändert. (2b) SuS mit "gewichteten bipartiten Matching" verteilen. (3bc Verschlechterung ggf. rückgängig machen.
-
Konstruktorübersicht
KonstruktorBeschreibungKursblockungAlgorithmusPermanentKMatching
(@NotNull Random random, @NotNull Logger logger, @NotNull GostBlockungsdatenManager input) Im Konstruktor wird ein zufälliger Anfangszustand erzeugt. -
Methodenübersicht
Von Klasse geerbte Methoden de.svws_nrw.core.kursblockung.KursblockungAlgorithmusPermanentK
gibDynDaten
-
Konstruktordetails
-
KursblockungAlgorithmusPermanentKMatching
public KursblockungAlgorithmusPermanentKMatching(@NotNull @NotNull Random random, @NotNull @NotNull Logger logger, @NotNull @NotNull GostBlockungsdatenManager input) Im Konstruktor wird ein zufälliger Anfangszustand erzeugt.- Parameter:
random
- EinRandom
-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed.logger
- Logger für Benutzerhinweise, Warnungen und Fehler.input
- Die dynamischen Blockungsdaten.
-
-
Methodendetails
-
toString
-
next
public void next(long zeitEnde) Beschreibung aus Klasse kopiert:KursblockungAlgorithmusPermanentK
Eine Unterklasse, die diese Methode implementiert, optimiert die Blockung weiter.- Angegeben von:
next
in KlasseKursblockungAlgorithmusPermanentK
- Parameter:
zeitEnde
- Der Zeitpunkt (in Millisekunden), bis zu dem der Algorithmus weiter optimieren darf.
-