12345678910111213141516171819202122232425262728293031323334 |
- import { KursblockungDynDaten } from '../../core/kursblockung/KursblockungDynDaten';
- import { KursblockungAlgorithmusK } from '../../core/kursblockung/KursblockungAlgorithmusK';
- import { Logger } from '../../logger/Logger';
- export declare class KursblockungAlgorithmusKMatching extends KursblockungAlgorithmusK {
- private static readonly MAX_RUNDEN_IN_FOLGE_OHNE_VERBESSERUNG;
- private readonly schuelerAlle;
- /**
- * Im Konstruktor kann die Klasse die jeweiligen Datenstrukturen aufbauen. Kurse
- * dürfen in diese Methode noch nicht auf Schienen verteilt werden.
- *
- * @param pLogger Logger für Benutzerhinweise, Warnungen und Fehler.
- * @param pDynDat Die dynamischen Blockungsdaten.
- */
- constructor(pLogger: Logger, pDynDat: KursblockungDynDaten);
- /**
- * 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.
- */
- berechne(pMaxTimeMillis: number): void;
- /**
- * Die Lage einiger Kurse wird verändert. Falls sich die Bewertung
- * verschlechter, wird die Veränderung rückgängig gemacht.
- */
- private berechneSchritt;
- /**
- * Verteilt die SuS. Multikurse werden zufällig verteilt. Alle anderen Kurse mit
- * Hilfe eines Matching-Algorithmus.
- */
- private verteileSuS;
- isTranspiledInstanceOf(name: string): boolean;
- }
- export declare function cast_de_nrw_schule_svws_core_kursblockung_KursblockungAlgorithmusKMatching(obj: unknown): KursblockungAlgorithmusKMatching;
|