Klasse KlausurterminblockungAlgorithmusGreedy3

java.lang.Object
de.svws_nrw.core.utils.gost.klausurplanung.KlausurterminblockungAlgorithmusAbstract
de.svws_nrw.core.utils.gost.klausurplanung.KlausurterminblockungAlgorithmusGreedy3

public final class KlausurterminblockungAlgorithmusGreedy3 extends KlausurterminblockungAlgorithmusAbstract
Die Klausuren werden rekursiv mit Backtracking auf die Schienen verteilt. Pro Rekursionsschritt wird die freie Klausur gewählt, die die meisten Nachbarsfarben hat. Anschließend wird die Klausur in aufsteigender Reihenfolge auf die Schienen verteilt.
  • Konstruktordetails

    • KlausurterminblockungAlgorithmusGreedy3

      public KlausurterminblockungAlgorithmusGreedy3(@NotNull @NotNull Random pRandom, @NotNull @NotNull KlausurterminblockungDynDaten pDynDaten)
      Konstruktor.
      Parameter:
      pRandom - Ein Random-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed.
      pDynDaten - Die aktuellen Blockungsdaten.
  • Methodendetails

    • toString

      @NotNull public @NotNull String toString()
      Setzt außer Kraft:
      toString in Klasse Object
    • berechne

      public void berechne(long pZeitEnde)
      Beschreibung aus Klasse kopiert: KlausurterminblockungAlgorithmusAbstract
      Eine Unterklasse, die diese Methode implementiert, berechnet eine Verteilung der Klausuren auf Termine, beachtet dabei potentielle Regeln und überschreitet nicht die Endzeit (in Millisekunden).
      Angegeben von:
      berechne in Klasse KlausurterminblockungAlgorithmusAbstract
      Parameter:
      pZeitEnde - Die Endzeit (in Millisekunden).