KursblockungAlgorithmusKSatSolver.d.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132
  1. import { Logger } from '../../logger/Logger';
  2. import { KursblockungDynDaten } from '../../core/kursblockung/KursblockungDynDaten';
  3. import { KursblockungAlgorithmusK } from '../../core/kursblockung/KursblockungAlgorithmusK';
  4. export declare class KursblockungAlgorithmusKSatSolver extends KursblockungAlgorithmusK {
  5. private readonly kurseAlle;
  6. private readonly schuelerAlle;
  7. private maxNichtWaehler;
  8. /**
  9. * Im Konstruktor kann die Klasse die jeweiligen Datenstrukturen aufbauen. Kurse
  10. * dürfen in diese Methode noch nicht auf Schienen verteilt werden.
  11. *
  12. * @param logger Logger für Benutzerhinweise, Warnungen und Fehler.
  13. * @param dynDat Die dynamischen Blockungsdaten.
  14. */
  15. constructor(logger: Logger, dynDat: KursblockungDynDaten);
  16. berechne(pMaxTimeMillis: number): void;
  17. /**
  18. * Erzeugt eine Formel in konjuntiver Normalform (CNF) und übergibt sie dem
  19. * SAT-Solver. Der Solver versucht die Formel innerhalb des Zeitlimits zu lösen.
  20. * Falls er es nicht schafft, dann wurde zuvor eine zufällige Kursverteilung
  21. * definiert. #
  22. *
  23. * @param pMaxTimeMillis Die maximale Blockungszeit in Millisekunde.
  24. *
  25. * @return Liefert eines der drei möglichen Ergebnisse
  26. * {@link SatSolverA#RESULT_SATISFIABLE oder SatSolverI#RESULT_UNKNOWN
  27. * oder SatSolverI#RESULT_UNSATISFIABLE. }
  28. */
  29. berechneSchritt(pMaxTimeMillis: number): number;
  30. isTranspiledInstanceOf(name: string): boolean;
  31. }
  32. export declare function cast_de_nrw_schule_svws_core_kursblockung_KursblockungAlgorithmusKSatSolver(obj: unknown): KursblockungAlgorithmusKSatSolver;