Klasse KlausurterminblockungAlgorithmusGreedy1b

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

public final class KlausurterminblockungAlgorithmusGreedy1b extends KlausurterminblockungAlgorithmusAbstract
Dieser Algorithmus hat folgende Strategie - Pseudocode:
 Solange nicht alle Klausuren verteilt sind
     Erzeuge einen neuen Termin
         Gehe die Klausurgruppen nach ihrem Knotengrad durch (hoch zu niedrig).
             Versuche die Klausurgruppe hinzuzufügen.
 
  • Konstruktordetails

    • KlausurterminblockungAlgorithmusGreedy1b

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