import { Logger } from '../../logger/Logger'; import { KursblockungDynDaten } from '../../core/kursblockung/KursblockungDynDaten'; import { KursblockungAlgorithmusK } from '../../core/kursblockung/KursblockungAlgorithmusK'; export declare class KursblockungAlgorithmusKSatSolver extends KursblockungAlgorithmusK { private readonly kurseAlle; private readonly schuelerAlle; private maxNichtWaehler; /** * Im Konstruktor kann die Klasse die jeweiligen Datenstrukturen aufbauen. Kurse * dürfen in diese Methode noch nicht auf Schienen verteilt werden. * * @param logger Logger für Benutzerhinweise, Warnungen und Fehler. * @param dynDat Die dynamischen Blockungsdaten. */ constructor(logger: Logger, dynDat: KursblockungDynDaten); berechne(pMaxTimeMillis: number): void; /** * Erzeugt eine Formel in konjuntiver Normalform (CNF) und übergibt sie dem * SAT-Solver. Der Solver versucht die Formel innerhalb des Zeitlimits zu lösen. * Falls er es nicht schafft, dann wurde zuvor eine zufällige Kursverteilung * definiert. # * * @param pMaxTimeMillis Die maximale Blockungszeit in Millisekunde. * * @return Liefert eines der drei möglichen Ergebnisse * {@link SatSolverA#RESULT_SATISFIABLE oder SatSolverI#RESULT_UNKNOWN * oder SatSolverI#RESULT_UNSATISFIABLE. } */ berechneSchritt(pMaxTimeMillis: number): number; isTranspiledInstanceOf(name: string): boolean; } export declare function cast_de_nrw_schule_svws_core_kursblockung_KursblockungAlgorithmusKSatSolver(obj: unknown): KursblockungAlgorithmusKSatSolver;