KursblockungAlgorithmusSZufaellig.d.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233
  1. import { KursblockungAlgorithmusS } from '../../core/kursblockung/KursblockungAlgorithmusS';
  2. import { KursblockungDynDaten } from '../../core/kursblockung/KursblockungDynDaten';
  3. import { Logger } from '../../logger/Logger';
  4. export declare class KursblockungAlgorithmusSZufaellig extends KursblockungAlgorithmusS {
  5. private static readonly MAX_RUNDEN_IN_FOLGE_OHNE_VERBESSERUNG;
  6. private readonly schuelerArr;
  7. private readonly perm;
  8. private readonly nurMultikurse;
  9. /**
  10. * Im Konstruktor kann die Klasse die jeweiligen Datenstrukturen aufbauen. Kurse
  11. * dürfen in diese Methode noch nicht auf Schienen verteilt werden.
  12. *
  13. * @param pLogger Logger zum Protokollieren von Warnungen und Fehlern.
  14. * @param pDynDat Die dynamischen Blockungsdaten.
  15. * @param pNurMultikurse Falls TRUE, dann werden nur die Multikurse der SuS
  16. * verteilt.
  17. */
  18. constructor(pLogger: Logger, pDynDat: KursblockungDynDaten, pNurMultikurse: boolean);
  19. /**
  20. * Der Algorithmus verteilt die SuS auf ihre Kurse zufällig. Kommt es während
  21. * des Verteilens zur Kollision, so wird der Kurs nicht gewählt.
  22. */
  23. berechne(pMaxTimeMillis: number): void;
  24. /**
  25. * Der Algorithmus verteilt die SuS ein weiteres Mal zufällig. Falls die
  26. * Verteilung schlechter ist, wird der vorherige Zustand wiederhergestellt.
  27. *
  28. * @return TRUE, falls der Zustand sich verbessert hat.
  29. */
  30. private berechneSchritt;
  31. isTranspiledInstanceOf(name: string): boolean;
  32. }
  33. export declare function cast_de_nrw_schule_svws_core_kursblockung_KursblockungAlgorithmusSZufaellig(obj: unknown): KursblockungAlgorithmusSZufaellig;