Klasse KlausurterminblockungAlgorithmusGreedy2

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

public final class KlausurterminblockungAlgorithmusGreedy2 extends KlausurterminblockungAlgorithmusAbstract
Dieser Algorithmus hat folgende Strategie - Pseudocode:
 Gehe die Klausurgruppen nach ihrem Knotengrad durch (hoch zu niedrig).
     Gehe die Termine in zufälliger Reihenfolge durch.
         Versuche die Klausur hinzuzufügen.
     Keinen Termin gefunden?
         Erzeuge einen neuen Termin und füge Klausur hinzu.
 
  • Konstruktordetails

    • KlausurterminblockungAlgorithmusGreedy2

      public KlausurterminblockungAlgorithmusGreedy2(@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).