Klasse KursblockungAlgorithmusSZufaellig

java.lang.Object
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusS
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusSZufaellig

public final class KursblockungAlgorithmusSZufaellig extends KursblockungAlgorithmusS
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.
  • 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 - Ein Random-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 Klasse KursblockungAlgorithmusS