import { KursblockungAlgorithmusS } from '../../core/kursblockung/KursblockungAlgorithmusS'; import { Random } from '../../java/util/Random'; import { KursblockungDynDaten } from '../../core/kursblockung/KursblockungDynDaten'; import { Class } from '../../java/lang/Class'; import { Logger } from '../../core/logger/Logger'; export declare class KursblockungAlgorithmusSZufaellig extends KursblockungAlgorithmusS { /** * Die Anzahl an Runden ohne Verbesserung, bevor es zum Abbruch kommt. */ private static readonly MAX_RUNDEN_IN_FOLGE_OHNE_VERBESSERUNG; /** * Array der SuS, deren Kurse verteilt werden sollen. */ private readonly _schuelerArr; /** * Zur Speicherung einer zufälligen Permutation der Indizes der Schüler. */ private readonly _perm; /** * Im Konstruktor kann die Klasse die jeweiligen Datenstrukturen aufbauen. Kurse dürfen in dieser Methode noch nicht * auf Schienen verteilt werden. * * @param random Ein {@link Random}-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed. * @param logger Logger zum Protokollieren von Warnungen und Fehlern. * @param dynDat Die dynamischen Blockungsdaten. */ constructor(random: Random, logger: Logger, dynDat: KursblockungDynDaten); /** * 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(): void; /** * Der Algorithmus verteilt die SuS in zufälliger Reihenfolge ein weiteres Mal zufällig. Falls die Verteilung * schlechter ist, wird der vorherige Zustand wiederhergestellt. * * @return TRUE, falls der Zustand sich verbessert hat. */ private verteileSchuelerAlle; private verteileSchuelerEiner; transpilerCanonicalName(): string; isTranspiledInstanceOf(name: string): boolean; static class: Class; } export declare function cast_de_svws_nrw_core_kursblockung_KursblockungAlgorithmusSZufaellig(obj: unknown): KursblockungAlgorithmusSZufaellig; //# sourceMappingURL=KursblockungAlgorithmusSZufaellig.d.ts.map