import { JavaObject } from '../../java/lang/JavaObject'; import { SchuelerblockungOutput } from '../../core/data/kursblockung/SchuelerblockungOutput'; import { SchuelerblockungInput } from '../../core/data/kursblockung/SchuelerblockungInput'; import { Random } from '../../java/util/Random'; import { Class } from '../../java/lang/Class'; export declare class SchuelerblockungDynDaten extends JavaObject { private static readonly UNENDLICH; private static readonly MALUS_ZUSAMMEN_MIT_IM_KURS; private static readonly MALUS_VERBOTEN_MIT_IM_KURS; /** * Ein {@link Random}-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed. */ private readonly _random; private readonly nFachwahlen; private readonly nSchienen; private readonly _fachwahlZuKurse; private readonly _fachwahlZuHatMultikurse; private readonly _fachwahlZuFachID; private readonly _fachwahlZuKursartID; private readonly _aktuellMatrix; private readonly _aktuellGesperrteSchiene; private readonly _aktuellFachwahlZuKurs; private readonly _aktuellFachwahlZuKursBest; private _aktuellNichtwahlen; private _aktuellNichtwahlenBest; private _aktuellBewertung; private _aktuellBewertungBest; /** * Der Konstruktor der Klasse liest alle Daten von {@link SchuelerblockungInput} ein und baut die relevanten * Datenstrukturen auf. * * @param pRandom Ein {@link Random}-Objekt zur Steuerung des Zufalls über einen Anfangs-Seed. * @param pInput Die Eingabedaten (Schnittstelle zur GUI). */ constructor(pRandom: Random, pInput: SchuelerblockungInput); /** * Überprüft die Konsistenz und referentielle Integrität der Eingabedaten. * * @param pInput Die Eingabedaten (Schnittstelle zur GUI). */ aktionPruefeEingabedaten(pInput: SchuelerblockungInput): void; /** * Initialisiert {@link #_fachwahlen}, {@link #_fachwahlZuKurse} und {@link #_fachwahlZuHatMultikurse}. * * @param pInput Die Eingabedaten (Schnittstelle zur GUI). */ private aktionInitialisiereDatenstrukturen; /** * Berechnet das optimale Matching. Zuerst werden die Multikurse verteilt, indem alle Kombination * durchgegangen werden. Dann wird pro Verteilung der Multikurse die anderen Kurse mit einem bipartiten * gewichteten Matching-Algorithmus verteilt. Das beste Ergebnis wird zurückgeliefert. Gibt es mehrere beste * Ergebnisse wird ein zufälliges gewählt. * * @return Eine optimale Zuordnung des Schülers auf seine gewählten Kurse. */ gibBestesMatching(): SchuelerblockungOutput; private aktionVerteileMultikurseRekursiv; private static gibKursBewertung; private aktionVerteileMitMatchingFuelleMatrix; private aktionVerteileMitMatching; private static gibKleinstenKursInSchiene; private aktionBelegeKurs; private aktionBelegeKursUndo; private debug; transpilerCanonicalName(): string; isTranspiledInstanceOf(name: string): boolean; static class: Class; } export declare function cast_de_svws_nrw_core_kursblockung_SchuelerblockungDynDaten(obj: unknown): SchuelerblockungDynDaten; //# sourceMappingURL=SchuelerblockungDynDaten.d.ts.map