KursblockungAlgorithmusKMatching.d.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334
  1. import { KursblockungDynDaten } from '../../core/kursblockung/KursblockungDynDaten';
  2. import { KursblockungAlgorithmusK } from '../../core/kursblockung/KursblockungAlgorithmusK';
  3. import { Logger } from '../../logger/Logger';
  4. export declare class KursblockungAlgorithmusKMatching extends KursblockungAlgorithmusK {
  5. private static readonly MAX_RUNDEN_IN_FOLGE_OHNE_VERBESSERUNG;
  6. private readonly schuelerAlle;
  7. /**
  8. * Im Konstruktor kann die Klasse die jeweiligen Datenstrukturen aufbauen. Kurse
  9. * dürfen in diese Methode noch nicht auf Schienen verteilt werden.
  10. *
  11. * @param pLogger Logger für Benutzerhinweise, Warnungen und Fehler.
  12. * @param pDynDat Die dynamischen Blockungsdaten.
  13. */
  14. constructor(pLogger: Logger, pDynDat: KursblockungDynDaten);
  15. /**
  16. * Der Algorithmus entfernt zunächst alle SuS aus ihren Kursen. Anschließend
  17. * werden die Kurse zufällig verteilt. Anschließend verändert der Algorithmus
  18. * die Lage eines zufälligen Kurses. Falls sich die Bewertung verschlechter,
  19. * wird die Veränderung rückgängig gemacht.
  20. */
  21. berechne(pMaxTimeMillis: number): void;
  22. /**
  23. * Die Lage einiger Kurse wird verändert. Falls sich die Bewertung
  24. * verschlechter, wird die Veränderung rückgängig gemacht.
  25. */
  26. private berechneSchritt;
  27. /**
  28. * Verteilt die SuS. Multikurse werden zufällig verteilt. Alle anderen Kurse mit
  29. * Hilfe eines Matching-Algorithmus.
  30. */
  31. private verteileSuS;
  32. isTranspiledInstanceOf(name: string): boolean;
  33. }
  34. export declare function cast_de_nrw_schule_svws_core_kursblockung_KursblockungAlgorithmusKMatching(obj: unknown): KursblockungAlgorithmusKMatching;