Klasse KursblockungAlgorithmusKSchuelervorschlag

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

public final class KursblockungAlgorithmusKSchuelervorschlag extends KursblockungAlgorithmusK
Dieser Kursverteilungs-Algorithmus verteilt die Kurse auf ihre Schienen. Die SuS werden nacheinander mit einem angepassten Matching-Algorithmus auf die Kurse verteilt. Das besondere dabei ist, dass ein S. beim Matching sich auch wünschen kann, dass ein Kurs die Schiene wechselt.
  • Konstruktordetails

    • KursblockungAlgorithmusKSchuelervorschlag

      public KursblockungAlgorithmusKSchuelervorschlag(@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. Anschließend verändert der Algorithmus die Lage eines zufälligen Kurses. Falls sich die Bewertung verschlechter, wird die Veränderung rückgängig gemacht.
      Angegeben von:
      berechne in Klasse KursblockungAlgorithmusK
      Parameter:
      pEndzeit - Die Endzeit (in Millisekunden).