Seite 3 von 4
Re: Kurs42_To_CNF
Verfasst: Mittwoch 2. Juni 2021, 13:23
von B. Bartsch
Was passiert eigentlich mit Kursen, bei denen in Kurs 42 das Flag "Blocken" auf false gesetzt ist?
Mein Programm ignoriert alle Eingaben von Kurs42 und nimmt nur die Rohdaten.
Alles andere muss man als Regeln definieren. Je nach Kontext unterschiedliche Regeln.
Beispiel 1 - Man möchte einen Kurs "deaktivieren", dann:
Kurs#BI-GK1#max. SuS (ignoriert Kursdifferenzen)#0
Beispiel 2 - Man möchte die Lage des Kurses und die SuS fixieren, aber andere SuS dürften noch rein
Fixiere#Schiene und Teilnehmer#des Kurses#BI-GK1
Beispiel 3 - Man möchte die Lage des Kurses und die SuS fixieren (z.B: 26), aber andere SuS dürften nicht mehr rein
Fixiere#Schiene und Teilnehmer#des Kurses#BI-GK1
Kurs#BI-GK1#max. SuS (ignoriert Kursdifferenzen)#26
Re: Kurs42_To_CNF
Verfasst: Mittwoch 2. Juni 2021, 14:00
von wschrewe
B. Bartsch hat geschrieben: Mittwoch 2. Juni 2021, 13:23Beispiel 1 - Man möchte einen Kurs "deaktivieren", dann:
Kurs#BI-GK1#max. SuS (ignoriert Kursdifferenzen)#0
Danke! Das habe ich gesucht.
Re: Kurs42_To_CNF
Verfasst: Freitag 4. Juni 2021, 14:12
von B. Bartsch
2021-06-04a
Neue Regel: GK-Kursdifferenz#7#maximale Anzahl#1
Begrenzt die Anzahl einer bestimmten GK-Kursdifferenz. Obiges Beispiel würde aber noch Kursdifferenzen der Größe 8, 9, 10, ... zulassen. Man muss zunächst die globale Kursdifferenz auf 7 begrenzen und dann kann man schrittweise jede nachfolgende Kursdifferenz minimieren.
Re: Kurs42_To_CNF
Verfasst: Samstag 26. Juni 2021, 09:24
von B. Bartsch
2021-06-26a
Bug: Die Regel "GK-Kursdifferenz#<...>#maximale Anzahl#<...>" hatte einen Bug. Herr Schrewe hat den Fehler in meinem Code gefunden, vielen Dank dafür! Nun behoben.
Re: Kurs42_To_CNF
Verfasst: Samstag 26. Juni 2021, 10:33
von B. Bartsch
2021-06-26b
Neue Regel: Lehrkraft#<...>#nicht in Schiene#<...>
Diese Regel ist ggf. etwas komfortabler, als es für jeden Kurs einzeln zu definieren.
Neue Regel: Lehrkraft#<...>#nicht mehrfach in Schiene#-
Forciert, dass die Lehrkraft "beachtet" wird, also ein Kurs der Lehrkraft nicht mehrfach in einer Schiene vorkommt.
Re: Kurs42_To_CNF
Verfasst: Samstag 22. Januar 2022, 23:07
von Meike Klingauf
Hallo Herr Bartsch,
haben Sie diese Idee weiter verfolgt (s.u.)?
Version _2021_06_26b importiert die LuPo-Daten, ich kann auch die Kursanzahlen einrichten, aber dann startet keine Berechnung.
War intendiert, dass man die Kursanzahl noch anpasst, wenn man kein akzeptables Ergebnis bekommt? Das wäre eigentlich insgesamt ein schönes Blocken..
"Neu: Man kann die LuPo Datei 'SchuelerLeistungsdaten.dat' importieren. Am Anfang muss man die Kursanzahlen einrichten.
Bitte mit Vorsicht genießen, es muss erst noch getestet werden.
Bei der Ausgabe werden nur die Dateien 'Blockplan.txt' und 'Kursbelegung.txt' erzeugt, man kann das Ergebnis also noch nicht in ..."
Viele Grüße
Meike Klingauf
Re: Kurs42_To_CNF
Verfasst: Sonntag 20. Februar 2022, 17:26
von B. Bartsch
... bitte einmal die Lupo-Datei zur Testung mir zuschicken. Dann kann ich untersuchen, woran es liegt.
Re: Kurs42_To_CNF
Verfasst: Sonntag 20. Februar 2022, 17:34
von B. Bartsch
2022-02-20a
Neu: Der SAT-Solver Kissat kann nun ebenfalls verwendet werden. Die Windows-EXE-Dateien von "cryptominisat" als auch "kissat" sind nun im ZIP enthalten.
Re: Kurs42_To_CNF
Verfasst: Sonntag 20. Februar 2022, 17:42
von NielsWestphal
Gibt es Vorteile für den einen oder anderen Solver?
Re: Kurs42_To_CNF
Verfasst: Sonntag 20. Februar 2022, 20:35
von B. Bartsch
Kissat ist durchschnittlich schneller als cryptominisat. Aber es kommt auf das Szenario an. Bei meinem Stundenplanprogramm Faktor 5-7. Bei einigen Kursblockungs-Tests nur ein wenig schneller. NACHTEIL: Kissat kann nur 1 CPU ansprechen.