Klasse KursblockungAlgorithmusKFachwahlmatrix

java.lang.Object
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusK
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusKFachwahlmatrix

public final class KursblockungAlgorithmusKFachwahlmatrix extends KursblockungAlgorithmusK
Dieser Algorithmus des Typs K verteilt die Kurse auf ihre Schienen. Die Strategie Fachwahlmatrix optimiert Kurse auf Basis einer 2D-Matrix, die zu je zwei Fachwahlen angibt, wie oft diese Kombination gewählt wurde. Der Algorithmus versucht nur solche Kurs-Paarungen in eine Schiene zu tun, deren paarweise Wahl gering ist.
  • Konstruktordetails

    • KursblockungAlgorithmusKFachwahlmatrix

      public KursblockungAlgorithmusKFachwahlmatrix(@NotNull @NotNull Random pRandom, @NotNull @NotNull Logger pLogger, @NotNull @NotNull KursblockungDynDaten pDynDat)
      Im Konstruktor kann die Klasse die jeweiligen Datenstrukturen aufbauen. Kurse dürfen in diese Methode noch nicht auf Schienen verteilt werden.
      Parameter:
      pRandom - Ein Random-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed.
      pLogger - Logger für Benutzerhinweise, Warnungen und Fehler.
      pDynDat - Die dynamischen Blockungsdaten.
  • Methodendetails

    • toString

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

      public void berechne(long pEndzeit)
      Der Algorithmus entfernt zunächst alle SuS aus ihren Kursen. Anschließend werden die Kurse zufällig verteilt.
      Angegeben von:
      berechne in Klasse KursblockungAlgorithmusK
      Parameter:
      pEndzeit - Die Endzeit (in Millisekunden).