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.

 
  • 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 - Ein Random-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed.
      logger - Logger für Benutzerhinweise, Warnungen und Fehler.
      input - Die dynamischen Blockungsdaten.
  • Methodendetails

    • toString

      @NotNull public @NotNull String toString()
      Setzt außer Kraft:
      toString in Klasse Object
    • 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 Klasse KursblockungAlgorithmusPermanentK
      Parameter:
      zeitEnde - Der Zeitpunkt (in Millisekunden), bis zu dem der Algorithmus weiter optimieren darf.