Seite 4 von 22

Re: NEUE VERSION: 'Kurs42_To_CNF'

Verfasst: Sonntag 24. Februar 2019, 21:56
von NielsWestphal
B. Bartsch hat geschrieben: Freitag 22. Februar 2019, 20:47 Für diejenigen, die das Programm zum ersten Mal verwenden, der folgende Tipp:
Nähern Sie sich mit den Kursdifferenzen (KD=20, 19, 18, 17, ...) an, bis Ihnen die Zeit dafür lang erscheint (z.B. maximal 30 min). Es reicht, wenn Sie jeder Berechnung 1 Thread geben, dafür können Sie aber mehrere KDs gleichzeitig berechnen lassen. Wenn Sie dann nach einer gewissen Zeit nicht mehr weiter kommen, beispielsweise bei KD=7, dann müssen Sie die Strategie ändern.
Von nun an nehmen Sie als Basis eine existierende Lösung (z.B. KD=7), stellen dann den Wunsch KD=6 ein und klicken auf einen der %-Buttons. Der (100%, 90%, 80%, 70%, 60%, 50%, 40%, 30%)-Button startet dann 8 Berechnungen und fixiert den angegebenen Anteil an Kursen zufällig, basierend auf der momentanen Lösung. Je nach Fall, kommt man dann plötzlich sprunghaft weiter.
Wenn diese Form der Annäherung stagniert. Hilft nur (1) mehr Zeit investieren oder (2) den gesamten Prozess von vorne beginnen.
Ich habe sehr gute Ergebnisse erzielt, wenn nur die erste Berechnung mit "Berechne!" durchgeführt wird (GK-Kursdif. Max.=20). Danach habe ich immer auf den ersten %-Button geklickt (100%, 90%, 80%, 70% mit Threads 1). Habe aber auch den (100%, 90%, 80%, 70%, 60%, 50%, 40%, 30%)-Button getestet. Und meistens zuerst KD=20, dann KD=15, dann KD=12, dann KD=10, und dann in Einserschritten nach unten weitergerechnet.
Am Ende muss man dann mit den Bedingungen für einzelne Fächer experimentieren (Fach-Art#SW;GK#max. Kursdif. (ignoriert globale Kursdifferenz)#1). Unsere aktuelle Q1 habe ich zum Testen einfach mal neu gerechnet und habe im GK-Bereich maxmimal KD=1 erreicht. Sensationell! Und durch das Speichern der Bedingungen in einer Textdatei lässt sich jede Kurswahlveränderung schnell mit den gleichen Bedingungen neu rechnen...

Re: NEUE VERSION: 'Kurs42_To_CNF'

Verfasst: Donnerstag 28. Februar 2019, 10:45
von B. Bartsch
...anbei die neuste Kurs42_To_CNF Version (2019-02-28).
...anbei eine Anleitung von Herrn Westphal (Danke!).

- Die interne Anleitung wurde aktualisiert und einige kleine Veränderungen.

Mittlerweile kann das Programm folgende Regeln umsetzen:

Regeln bezüglich „Fach-Art“:
Fach-Art#BI;GK#allein in Schiene#1
→ Alle Bio-GKs sind allein in Schiene 1.
Fach-Art#BI;GK#allein in Schiene (SuS optimal)#1
→ Alle Bio-GKs sind allein in Schiene 1 und die SuS sind optimal verteilt.
Fach-Art#BI;GK#in Schiene#1
→ Alle Bio-GKs sind in Schiene 1. Ggf. auch andere Kurse.
Fach-Art#BI;GK#in Schiene (SuS optimal)#1
→ Alle Bio-GKs sind in Schiene 1 und die SuS sind optimal verteilt. Ggf. auch andere Kurse.
Fach-Art#BI;GK#maximale Anzahl pro Schiene#1
→ Pro Schiene ist maxmal 1 Bio-GK.
Fach-Art#BI;GK#maximale Anzahl an Schülern#30
→ Jeder Bio-GK hat maximal 30 SuS.
Fach-Art#BI;GK#max. Kursdif. (ignoriert globale Kursdifferenz)#4
→ Die Kursdifferenz aller Bio-GKs ist maximal 4 (unabhängig vom globalen Wert).
Fach-Art#BI;GK#niemals zusammen mit Kurs#CH-GK1
→ Alle Bio-GKs sind nicht mit dem CH-GK1 in einer Schiene.
Fach-Art#BI;GK#niemals zusammen mit Fach-Art#CH;GK
→ Alle Bio-GKs und alle CH-GKs sind nicht in einer Schiene.

Regeln bezüglich „Kurs“:
Kurs#BI-GK1#allein in Schiene#1
→ Der BI-K1 ist in Schiene 1 und kein anderer Kurs darf in diese Schiene.
Kurs#BI-GK1#in Schiene#1
→ Der BI-K1 ist in Schiene 1.
Kurs#BI-GK1#unbedingt zusammen mit#CH-GK1
→ Der BI-K1 soll mit dem CH-GK1 in der gleichen Schiene landen.
Kurs#BI-GK1#niemals zusammen mit#CH-GK1
→ Der BI-K1 soll niemals mit dem CH-GK1 in der gleichen Schiene landen.
Kurs#BI-GK1#min. SuS (ignoriert Kursdifferenzen)#15
→ Der BI-K1 soll mindestens 15 SuS haben.
Kurs#BI-GK1#max. SuS (ignoriert Kursdifferenzen)#28
→ Der BI-K1 soll maximal 15 SuS haben.
Kurs#BI-GK1#Schienenanzahl ist#2
→ Der BI-K1 soll in 2 Schienen vorkommen.

Regeln bezüglich „LKs allein von Schiene“:
LKs allein von Schiene#1#bis Schiene#2
→ Alle LKs dürfen nur die Schienen 1 bis 2 verwenden und GKs nicht.

Regeln bezüglich „SchülerIn“:
SchülerIn#A;A;01.01.2001;3#fixiert in Kurs#BI-GK1
→ SchülerIn A muss den Kurs BI-GK1 belegen.
SchülerIn#A;A;01.01.2001;3#nicht zusammen mit SchülerIn#B;B;02.02.2002;3
→ SchülerIn A und B dürfen nicht den selben Kurs belegen, außer den Kurs gibt es nur ein Mal.

Regeln bezüglich „Schiene“:
Schiene#1#SuS mindestens#100
→ Die SuS-Summe aller Kurse von Schiene 1 muss mindestens 100 sein.
Schiene#13#SuS hoechstens#23
→ Die SuS-Summe aller Kurse von Schiene 13 darf höchstens 23 sein.
Schiene#3#max. Kursanzahl#2
→ In Schiene 3 dürfen maximal 2 Kurse sein. Fixiert man vorher 2 Kurse in Schiene 3,
kann man so andere Kurse in Schiene 3 ausschließen.

Regeln bezüglich „Alle GKs“:
Alle GKs#komplett fixieren (Schiene und Teilnehmer)#-#-
→ Fixiert alle GKs und deren SuS genau so, wie sie im Kurs42-Export geblockt sind.
Praktisch, wenn man nur noch die LKs berechnen möchte.

Regeln bezüglich „Alle LKs“:
Alle LKs#komplett fixieren (Schiene und Teilnehmer)#-#-
→ Fixiert alle LKs und deren SuS genau so, wie sie im Kurs42-Export geblockt sind.
Praktisch, wenn man nur noch die GKs berechnen möchte.

Re: NEUE VERSION: 'Kurs42_To_CNF'

Verfasst: Donnerstag 14. März 2019, 09:27
von B. Bartsch
...anbei die neuste Kurs42_To_CNF Version (2019-03-12).

- neu: Die Schriftart ist zur Laufzeit veränderbar.
- neu: Kurs <...> nicht in Schiene <...>
- neu: Fach-Art <...> nicht in Schiene <...>


PS: Happy PI-Day!

Re: NEUE VERSION: 'Kurs42_To_CNF'

Verfasst: Montag 8. April 2019, 20:44
von Busse
Ich habe nun auch endlich das Programm ausprobiert und bin begeistert.
Eine EF-Blockung, bei der Kurs nach einigen Optimierungen immer noch 3 Umwähler und geringe aber tolerable Kursdifferenzen ausgab, werden nun ohne Umwähler mit Kursdifferenz 1 gelöst.
Allerdings bekomme ich den Import in Kurs nicht hin.
Ich nutze das zentral zur Verfügung gestellte "Kurs-Zentral 3.20.53.296" vom 4.11.2018.
Dort habe ich wie in der Anleitung beschrieben eine neue Kursdatei für die EF für das Folgeschuljahr 2019-20,1.Hlbj. erstellt, die Lupowahlen importiert, die Anzahlen der Kurse eingerichtet und die Textdateien erstellt.
Kurs42_To_CNF habe ich dann unter lokal unter Linux laufen lassen. Im Anfangsfenster wird gemeldet, dass die Header alt sind. (Das meint vermutlich StatKue statt Statistikkürzel usw.?)
Die Lösung habe ich dann wieder zu Zentral hochgeladen und versucht, alle Dateien gemeinsam unter "Blockung aus Textdateien importieren" hochzuladen. Das funktioniert zwar, aber erst, wenn ich in allen geänderten Dateien die Anführungszeichen entferne. Noch kein Problem.
Das Problem, das ich nicht gelöst bekomme, ist dass in der nun erstellten Datei unter "Blockung-Blockung bearbeiten" nicht mehr das Folgeschuljahr 2019-20, 1.Hlbj. sondern das aktuelle 2018-19, 2.Hlbj. eingestellt ist, zusätzlich aber der Haken bei "Folgeschuljahr" gesetzt ist. Wenn ich hier etwas anderes einstelle, stürzt entweder Kurs ab, oder die SuS werden aus der EF in die Q1 "versetzt". Wenn ich die SuS dann in eine Textdatei exportiere, und händisch Q1 zu EF verändere und wieder importiere, tauchen die SuS nicht mehr in den Listen auf, z.B. unter Umwahlen, also ist dieser Umweg nicht möglich und eigentlich sollte es ja auch einfacher gehen.

Wie kann ich das Programm trotz der nicht aktuellen Kurs-Version nutzen?

Re: NEUE VERSION: 'Kurs42_To_CNF'

Verfasst: Dienstag 9. April 2019, 06:04
von B. Bartsch
Derzeit erzeugt mein Programm pro Lösung schon zwei Ausgabeformate. Ich könnte das alte Format ebenso erzeugen. Dann wären es vier Ausgabeformate und Sie wählen beim Importieren das für Sie richtige Format aus.

Dafür bräuchte ich Ihre von Kurs42 erzeugten Textdateien zugeschickt.

Re: NEUE VERSION: 'Kurs42_To_CNF'

Verfasst: Dienstag 9. April 2019, 10:38
von Busse
Danke für das Angebot.
Gibt es denn einen weiteren Unterschied zwischen den Formaten, außer dass die Header anders sind?
Die könnte ich ja umbenennen. Ich meine, ich habe es mit den UTF8-Dateien probiert, da in den BOM-Dateien die Umlaute fehlten (oder umgekehrt?)

Ich hatte mir vorgestellt, dass irgendwo das Schuljahr eingestellt ist, konnte aber in den Textdateien nichts finden.
Ich hatte auch probiert, lokal in Windows in der aktuellen Kursversion die Textdateien zu erstellen, dann in Linux die Berechnung durchzuführen, zurück in der lokalen Windowsversion die Dateien zu importieren und dann zu Kurs-Zenrtral zu spielen. Klappte alles, außer dass die alte Kursversion die neue Blockung nicht haben wollte.
Irgendwo muss beim Import der Textdateien ja da falsche Schuljahr herkommen?

Re: NEUE VERSION: 'Kurs42_To_CNF'

Verfasst: Dienstag 9. April 2019, 13:15
von B. Bartsch
... es könnte auch gar nicht am Format liegen, ggf. hat der Import in dieser Version von Kurs42 einen Bug. Zwei Fragen:

- Können Sie nicht einfach die neuste Version von Kurs42 installieren?

- Können Sie in Kurs42 die Textdateien exportieren und anschließend genau die selben Textdateien importieren und überprüfen, ob es dann auch zu Fehlern kommt?

Re: NEUE VERSION: 'Kurs42_To_CNF'

Verfasst: Dienstag 9. April 2019, 14:44
von B. Bartsch
... anbei die neue Version. Das Programm erzeugt nun die Ausgabe in 4 verschiedenen Formaten. Ich glaube nicht, dass dies die Ursache des Importfehlers war, denn mein Programm erzeugt nur die Dateien "Kursbelegung.txt" und "Blockplan.txt" neu. Alle anderen Dateien werden aus dem Hauptverzeichnis 1:1 kopiert. Folgende Ursachen kann ich mir noch vorstellen:

- Haben Sie beim Importieren in Kurs42 die ursprüngliche Blockung aus der Sie exportiert haben noch offen? Das ist wichtig, denn das Importieren soll alle alten Daten weiterhin verwenden und nur die Kurse und SchülerInnen neu anordnen.

- Sind die Umlaute in den erzeugten Dateien "Kursbelegung.txt" und "Blockplan.txt" richtig?

Re: NEUE VERSION: 'Kurs42_To_CNF'

Verfasst: Dienstag 9. April 2019, 19:42
von Busse
- Können Sie nicht einfach die neuste Version von Kurs42 installieren?
Schild, Kurs etc. läuft zentral bei der Stadt und wird dort administriert, also leider nein.
- Können Sie in Kurs42 die Textdateien exportieren und anschließend genau die selben Textdateien importieren und überprüfen, ob es dann auch zu Fehlern kommt?
Wenn ich die Blockung geöffnet lasse und die gesamte Blockung importiere, wird ebenfalls das Schuljahr geändert. Ebenso, wenn ich "neue Blockung aus Textdateien" probiere.

Was ich nun überhaupt nicht mehr verstehe:
Ich habe nun eine neue Kursdatei erstellt, die Wahlen importiert und die Anzahl der Kurse eingestellt.
Danach über "Import Textdateien" Blockplan.txt importiert. Und dann habe ich die Kurse in den Schienen und die SuS in den Kursen, obwohl ich dafür ja noch "Kursbelegung.txt" importieren müsste. Verrückt...
Vielleicht wird beim Blockplan-Import automatisch auch die Kursbelegung importiert?
Oder irgendein Zentral-Problem, was durch den häufigen Import-Export entsteht?
Jedenfalls scheint die so erhaltene Datei in Ordnung zu sein, aber ich probiere mal weiter...

Nachtrag: Ich nehme die BOM-Dateien, dort stimmen die Umlaute (und Akzente).

Re: NEUE VERSION: 'Kurs42_To_CNF'

Verfasst: Dienstag 9. April 2019, 21:38
von Busse
Hm...
Die Q1 bekomme ich auch geblockt. In der Version 2019-04-09 habe ich die Dateien ALT_BOM genommen und die Anführungszeichen aus "Blockplan" und "Kursbelegung" entfernt. (Vielleicht braucht man das auch gar nicht.)
Dann habe ich in die Kursdatei, mit der ich die Textdateien erstellt habe, zunächst nur "Blockplan" importiert. In der Hauptübersicht wurden dann viele Schienen rot, was ja die Umwähler anzeigt, und zwar wurden mehr Schienen rot, als Kurs42_to_cnf ermittelt hatte.
Danach habe ich "Kursbelegung" importiert. Die Schienen blieben rot.
Dann habe ich alle Dateien importiert. Beim Klicken auf einen Kurs stürzt das Programm ab.
Dann habe ich erneut die vorher benutzte Kursdatei geöffnet, in die ich noch nichts importiert hatte, und wieder nur die Kursbelegung importiert. Diesmal wurden nur die Schienen rot, in denen es Umwähler gab. Allerdings stimmten die Summen der Kurse nicht. Beispielsweise waren in einem Mathe-LK 19 Namen eingetragen, Kurs zeigte aber in der Schienenübersicht links, in der alle Kurse einer Schiene untereinander stehen, "15" an.
Diese Datei habe ich gespeichert und erneut geöffnet und dann stimmten die Summen.

Ich scheine nun also eine funktionierende Q1-Blockung zu haben, zu der ich auf sehr ominöse Weise gekommen bin und bei der ich fürchte, dass mir später was anderes um die Ohren fliegt...aber vielleicht klappt es ja auch...