Klasse KlausurterminblockungAlgorithmusGreedy1

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

public final class KlausurterminblockungAlgorithmusGreedy1 extends KlausurterminblockungAlgorithmusAbstract
Dieser Algorithmus hat folgende Strategie - Pseudocode:
 Gehe die Klausuren in zufälliger Reihenfolge durch.
     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

    • KlausurterminblockungAlgorithmusGreedy1

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