Klasse KursblockungAlgorithmusSMatching

java.lang.Object
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusS
de.svws_nrw.core.kursblockung.KursblockungAlgorithmusSMatching

public final class KursblockungAlgorithmusSMatching extends KursblockungAlgorithmusS
Dieser Schülerverteilungs-Algorithmus verteilt die SuS mit einem bipartiten Matching Algorithmus auf die Kurse in mehreren Runden, bis eine Verbesserung stagniert. Die Nichtwähler sind dabei (bei fixierter Kurslage) optimal/minimal. Die Kursdifferenzen werden nicht primär berücksichtigt.
  • Konstruktordetails

    • KursblockungAlgorithmusSMatching

      public KursblockungAlgorithmusSMatching(@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 zum Protokollieren von Warnungen und Fehlern.
      pDynDat - Die dynamischen Blockungsdaten.
  • Methodendetails

    • berechne

      public void berechne()
      Der Algorithmus verteilt die SuS auf ihre Kurse zufällig. Kommt es während des Verteilens zur Kollision, so wird der Kurs nicht gewählt.
      Angegeben von:
      berechne in Klasse KursblockungAlgorithmusS