123456789101112131415161718192021222324252627282930313233 |
- import { KursblockungAlgorithmusS } from '../../core/kursblockung/KursblockungAlgorithmusS';
- import { KursblockungDynDaten } from '../../core/kursblockung/KursblockungDynDaten';
- import { Logger } from '../../logger/Logger';
- export declare class KursblockungAlgorithmusSZufaellig extends KursblockungAlgorithmusS {
- private static readonly MAX_RUNDEN_IN_FOLGE_OHNE_VERBESSERUNG;
- private readonly schuelerArr;
- private readonly perm;
- private readonly nurMultikurse;
- /**
- * Im Konstruktor kann die Klasse die jeweiligen Datenstrukturen aufbauen. Kurse
- * dürfen in diese Methode noch nicht auf Schienen verteilt werden.
- *
- * @param pLogger Logger zum Protokollieren von Warnungen und Fehlern.
- * @param pDynDat Die dynamischen Blockungsdaten.
- * @param pNurMultikurse Falls TRUE, dann werden nur die Multikurse der SuS
- * verteilt.
- */
- constructor(pLogger: Logger, pDynDat: KursblockungDynDaten, pNurMultikurse: boolean);
- /**
- * 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.
- */
- berechne(pMaxTimeMillis: number): void;
- /**
- * Der Algorithmus verteilt die SuS ein weiteres Mal zufällig. Falls die
- * Verteilung schlechter ist, wird der vorherige Zustand wiederhergestellt.
- *
- * @return TRUE, falls der Zustand sich verbessert hat.
- */
- private berechneSchritt;
- isTranspiledInstanceOf(name: string): boolean;
- }
- export declare function cast_de_nrw_schule_svws_core_kursblockung_KursblockungAlgorithmusSZufaellig(obj: unknown): KursblockungAlgorithmusSZufaellig;
|