Klasse KursblockungAlgorithmusK

java.lang.Object
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusK
Bekannte direkte Unterklassen:
KursblockungAlgorithmusKFachwahlmatrix, KursblockungAlgorithmusKMatching, KursblockungAlgorithmusKOptimiereBest, KursblockungAlgorithmusKSchnellW, KursblockungAlgorithmusKSchuelervorschlag

public abstract class KursblockungAlgorithmusK extends Object
Ein Algorithmus des Typs K dient dazu Kurse auf Schienen zu verteilen. Dabei dürfen Kurse über 1 oder mehr Schienen gehen, aber nicht über 0. Im Konstruktor können die Unterklassen die jeweiligen Datenstrukturen aufbauen. Kurse dürfen im Konstruktor noch nicht auf die Schienen verteilt werden.
  • Feldübersicht

    Felder
    Modifizierer und Typ
    Feld
    Beschreibung
    protected final @NotNull Random
    Ein Random-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed.
    protected final @NotNull KursblockungDynDaten
    Die aktuellen Blockungsdaten.
    protected final @NotNull Logger
    Logger für Benutzerhinweise, Warnungen und Fehler.
  • Konstruktorübersicht

    Konstruktoren
    Modifizierer
    Konstruktor
    Beschreibung
    protected
    KursblockungAlgorithmusK(@NotNull Random pRandom, @NotNull Logger pLogger, @NotNull KursblockungDynDaten pDynDaten)
    Der Konstruktor stellt einen Logger und die bei der Blockung benötigten dynamischen Daten den Unterklassen zur Verfügung.
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    abstract void
    berechne(long pTimeEndMillis)
    Eine Unterklasse, die diese Methode implementiert, berechnet eine Verteilung der Kurse auf die Schienen und überschreitet dabei nicht die Endzeit (in Millisekunden).

    Von Klasse geerbte Methoden java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Felddetails

    • _random

      @NotNull protected final @NotNull Random _random
      Ein Random-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed.
    • logger

      @NotNull protected final @NotNull Logger logger
      Logger für Benutzerhinweise, Warnungen und Fehler.
    • dynDaten

      @NotNull protected final @NotNull KursblockungDynDaten dynDaten
      Die aktuellen Blockungsdaten. Dieses Objekt dient zur Manipulation der Daten während des Blockungsvorganges.
  • Konstruktordetails

    • KursblockungAlgorithmusK

      protected KursblockungAlgorithmusK(@NotNull @NotNull Random pRandom, @NotNull @NotNull Logger pLogger, @NotNull @NotNull KursblockungDynDaten pDynDaten)
      Der Konstruktor stellt einen Logger und die bei der Blockung benötigten dynamischen Daten den Unterklassen zur Verfügung.
      Parameter:
      pRandom - Ein Random-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed.
      pLogger - Logger für Benutzerhinweise, Warnungen und Fehler.
      pDynDaten - Die aktuellen Blockungsdaten.
  • Methodendetails

    • berechne

      public abstract void berechne(long pTimeEndMillis)
      Eine Unterklasse, die diese Methode implementiert, berechnet eine Verteilung der Kurse auf die Schienen und überschreitet dabei nicht die Endzeit (in Millisekunden).
      Parameter:
      pTimeEndMillis - Die Endzeit (in Millisekunden).