Klasse KursblockungAlgorithmusPermanentKOptimiereBest

java.lang.Object
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusPermanentK
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusPermanentKOptimiereBest

public final class KursblockungAlgorithmusPermanentKOptimiereBest extends KursblockungAlgorithmusPermanentK
Dieser Algorithmus arbeitet wie folgt:
 init: (1) Lade das derzeit beste Ergebnis.

 next: (1) Einige wenige Kurse werden verändert.
       (2) SuS mit "gewichteten bipartiten Matching" verteilen.
       (3) Verschlechterung ggf. rückgängig machen.

 
  • Konstruktordetails

    • KursblockungAlgorithmusPermanentKOptimiereBest

      public KursblockungAlgorithmusPermanentKOptimiereBest(@NotNull @NotNull Random random, @NotNull @NotNull Logger logger, @NotNull @NotNull GostBlockungsdatenManager input, KursblockungDynDaten best)
      Im Konstruktor wird das derzeit beste Ergebnis geladen.
      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.
      best - Der Zustand des derzeit besten Ergebnisses.
  • 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.