60
Bearbeitungen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 23: | Zeile 23: | ||
=== Das erste schnelle Ergebnis mit Kurs42_To_CNF === | === Das erste schnelle Ergebnis mit Kurs42_To_CNF === | ||
Ziel ist es, zunächst ein beliebiges Blockungsergebnis zu erhalten. Anschließend grenzt man seine Bedingungen Schritt für Schritt ein bis man ein Ergebnis hat | Ziel ist es, zunächst ein beliebiges Blockungsergebnis zu erhalten. Anschließend grenzt man seine Bedingungen Schritt für Schritt ein, bis man ein Ergebnis hat mit dem man zufrieden ist. Die Kursgrößendifferenz sollte man nicht eingrenzen, dies kann das Programm später automatisch optimieren. | ||
* In Kurs42_To_CNF unter ''Datei --> Kurs42-Ordner öffnen'' den soeben mit dem Export befüllten Ordner auswählen. | * In Kurs42_To_CNF unter ''Datei --> Kurs42-Ordner öffnen'' den soeben mit dem Export befüllten Ordner auswählen. | ||
* Die Abfrage ''Sollen aus Kurs42 alle alle Kurse/Teilnehmer als Regeln fixiert werden?'' kann zunächst verneint werden. Diese Abfrage wird an anderer Stelle erklärt, wenn es um das Blocken der Zusatzkurse in der Q2 oder das Neuladen eines Blockungsergebnisses geht. | * Die Abfrage ''Sollen aus Kurs42 alle alle Kurse/Teilnehmer als Regeln fixiert werden?'' kann zunächst verneint werden. Diese Abfrage wird an anderer Stelle erklärt, wenn es um das Blocken der Zusatzkurse in der Q2 oder das Neuladen eines Blockungsergebnisses geht. | ||
* Das Fenster ''Debug'' | * Das Fenster ''Debug'' (unten) sollte leer sein. | ||
* Das Fenster ''Statistik'' gibt Importinformationen an, z.B. wie viele Schüler importiert und wie viele Fächer gewählt wurden. | * Das Fenster ''Statistik'' (oben links) gibt Importinformationen an, z.B. wie viele Schüler importiert und wie viele Fächer gewählt wurden. | ||
* Lassen Sie das Fenster | * Lassen Sie das Fenster ''Regeln'' (unten links) noch leer. | ||
* Das Fenster | * Das Fenster ''Maximalwerte'' (oben links) enthält allgemeine Voreinstellungen zur Blockung. | ||
** Stellen Sie ''Schienen'' auf die gewünschte Anzahl an. Die Anzahl der Schienen muss mindestens so groß sein, wie die Anzahl der Kurse des Schülers mit den meisten Kursen. | ** Stellen Sie ''Schienen'' auf die gewünschte Anzahl an. Die Anzahl der Schienen muss mindestens so groß sein, wie die Anzahl der Kurse des Schülers mit den meisten Kursen. | ||
** Belassen Sie die ''Maximale Kursgrößendifferenz'' auf einem sehr hohen Wert (15-20). Dieser wird automatisch | ** Belassen Sie die ''Maximale Kursgrößendifferenz'' auf einem sehr hohen Wert (15-20). Dieser wird später automatisch optimiert. | ||
** Stellen Sie die ''Maximale Kursgröße'' auf den größten Wert ein, den Sie alle Kursen zumuten (32-25). Vorsicht: Falls Sie z.B. 32 eingeben und es einen Kurs mit 33 SuS rechnerisch geben müsste, dann ist die Blockung | ** Stellen Sie die ''Maximale Kursgröße'' auf den größten Wert ein, den Sie alle Kursen zumuten (32-25). Vorsicht: Falls Sie z.B. 32 eingeben und es einen Kurs mit 33 SuS rechnerisch geben müsste, dann ist die Blockung sofort unlösbar (UNSAT). | ||
** Stellen Sie die ''Umwähler'' zunächst auf 0 ein und klicken Sie auf den Button "Berechne!". Falls Sie '''keine''' Lösung erhalten (ein Indiz dafür ist, dass die Berechnung sehr lange dauert oder es erscheint ein Tab mit dem Hinweis ''UNSAT''), müssen Sie die Umwähler sukzessiv um 1 erhöhen. So lässt sich die Mindestzahl an Umwähler ermitteln. | ** Stellen Sie die ''Umwähler'' zunächst auf 0 ein und klicken Sie auf den Button "Berechne!". Über dem Button können Sie die Anzahl der ''Threads'' auf 1 stehen lassen (mehr dazu unter ''Technische Fragen'', siehe unten), das Ausgabeformat ist üblicherweise ''Neu+BOM''. Falls Sie nun '''keine''' Lösung erhalten (ein Indiz dafür ist, dass die Berechnung sehr lange dauert oder es erscheint ein Tab mit dem Hinweis ''UNSAT''), müssen Sie die Umwähler sukzessiv um 1 erhöhen. So lässt sich die Mindestzahl an Umwähler ermitteln. | ||
Sie haben nun eine Lösung. Das Ergebnis wird in einem Tab, z.B. ''B1_SAT'' in sechs Fenstern dargestellt, die sich von selbst erklären. Dieses Ergebnis enthält allerdings noch eine viel zu große Kursgrößendifferenz. Sie könnten nun unter "Auto-Optimierung (GK-KD: Parallele Rechnungen: ___" auf den Button "K" klicken, dann probiert das Programm automatisch die Grundkurs-Kursgrößendifferenz zu optimieren. Dabei werden "___" Prozessorkerne verwendet. Hier müssen Sie ziemlich genau wissen, wie viele Prozessorkerne ihr PC hat. Abbrechen kann man die Automatisierung jederzeit mit dem Button "Stoppe alle Auto-Berechnungen" (oben rechts). | Sie haben nun eine Lösung. Das Ergebnis wird in einem Tab, z.B. ''B1_SAT'' in sechs Fenstern dargestellt, die sich von selbst erklären. Dieses Ergebnis enthält allerdings noch eine viel zu große Kursgrößendifferenz. Sie könnten nun unter "Auto-Optimierung (GK-KD: Parallele Rechnungen: ___" auf den Button "K" klicken, dann probiert das Programm automatisch die Grundkurs-Kursgrößendifferenz zu optimieren. Dabei werden "___" Prozessorkerne verwendet. Hier müssen Sie ziemlich genau wissen, wie viele Prozessorkerne ihr PC hat. Abbrechen kann man die Automatisierung jederzeit mit dem Button "Stoppe alle Auto-Berechnungen" (oben rechts). | ||
=== Die Blockung mit Nebenbedingungen/Wünschen ergänzen === | |||
Im Fenster '''Regeln''' werden die Regeln definiert, an die sich das Programm zwingend halten soll. Sollen z.B. alle Religions- und Philosophie-Kurse unbedingt parallel liegen, und zwar in Schiene 3, wählt man in den vier Drop-Down-Menüs Folgendes aus: | |||
Im Fenster '''Regeln''' werden die Regeln definiert, an die sich das Programm zwingend halten soll. Sollen z.B. alle Religions- und Philosophie-Kurse | |||
# Fach-Art | # Fach-Art | ||
# Rel,GK | # Rel,GK | ||
Zeile 48: | Zeile 46: | ||
# 3 | # 3 | ||
Es erscheint im Regelfenster ''Fach-Art#REL;GK#in Schiene#3''. Auch durch andere Regelkombinationen kann dieses Ergebnis erzwungen werden, hier gilt es, auszuprobieren und Erfahrungen zu sammeln. | Es erscheint im Regelfenster ''Fach-Art#REL;GK#in Schiene#3''. Auch durch andere Regelkombinationen kann dieses Ergebnis erzwungen werden, hier gilt es, auszuprobieren und Erfahrungen zu sammeln. | ||
Bei der Blockung der Q1 ist folgende Regel relativ typisch: | |||
#LKs allein von Schiene | |||
#1 | |||
#bis Schiene | |||
#2 | |||
=== Daten in Kurs42 importieren === | === Daten in Kurs42 importieren === | ||
Nach einer erfolgreichen Berechnung einer | Nach einer erfolgreichen Berechnung einer Blockung legt das Programm im oben angelegten Ordner für den Export aus Kurs einen Unterordner an, dessen Name dem TAB ''B1_SAT'' entspricht und zusätzlich das Ausgabeformat enthält, hier also ''B_00001_NEU_UTF8_BOM''. In disem Ordner gibt es auch eine Textdatei, die das Ergebnis der Berechnung und die angewendeten Regeln dokumentiert, sodass man das Vorgehen rekonstruieren kann. | ||
In Kurs42 gibt es zwei Möglichkeiten, diese Blockung zu importieren: | In Kurs42 gibt es zwei Möglichkeiten, diese Blockung zu importieren: | ||
# Unter ''Import/Export'' --> ''Import der SAT-Solver-Ergebnisse'' alle Häkchen setzen und den Ordner ''B_00001_NEU_UTF8_BOM'' auswählen. Die Blockung ist importiert und kann z.B. unter ''Blocken'' --> ''Automatisch Blocken'' eingesehen und bearbeitet werden. | # Unter ''Import/Export'' --> ''Import der SAT-Solver-Ergebnisse'' alle Häkchen setzen und den Ordner ''B_00001_NEU_UTF8_BOM'' auswählen. Die Blockung ist importiert und kann z.B. unter ''Blocken'' --> ''Automatisch Blocken'' eingesehen und bearbeitet werden. |
Bearbeitungen