# Strafpunkte fuer die Trennung einer Gruppe: # Aufbau: Anzahl der Trennungen = { Gruppengroesse:Strafpunkte, .. } # Deutlich hoeher als frueher, damit eine Trennung teurer ist als der Gewinn, # einen Tisch dafuer teilbelegt zu lassen (sonst werden Gruppen getrennt, # obwohl daneben leere Tische stehen). [Trennung] 1={ 2:-25, 3:-22, 4:-18, 6:-14, 8:-12, 10:-10 } 2={ 3:-40, 4:-30, 6:-22, 8:-18, 10:-14 } 3={ 4:-60, 6:-40, 8:-30, 10:-20 } # Wieviele Strafpunkte bekommt man # wenn zwei Gruppen nicht am Nachbartisch sitzen # wenn einer aus einer Gruppe allein sitzen muss [Globals] NichtNachbar=-3 Allein=-30 TischWertigkeiten={ 1:-3, 2:-3, 4:-5, 6:-6, 8:-4 } # TischWertigkeiten sind Strafpunkte fuer freie Sitze an einem Tisch, je nach # Anzahl freier Plaetze (fehlt ein exakter Eintrag, gilt der naechstkleinere). # Ziel: teilbelegte Tische sind am schlechtesten (dort passt keine ganze # Gruppe mehr hin und die Sitzenden haben leere Nachbarplaetze), daher steigt # die Strafe mit den freien Plaetzen an (1..7 frei: -3 -> -6). Ein *komplett* # leerer Tisch ist etwas besser als ein halbleerer (-4 bei 8 frei), weil ein # leerer Tisch als Ganzes fuer eine Gruppe frei bleibt - er soll aber nicht # gratis sein, damit sich das Zusammenziehen von Gruppen lohnt. # Strafpunkte fuer den Abstand zwischen getrennten Teilen einer Gruppe. # Wird eine Gruppe auf mehrere Tische aufgeteilt, ist ein grosser raeumlicher # Abstand zwischen den Teilen viel schlechter als ein kleiner. # Der Abstand wird als normierter Wert 0..100 berechnet: Bezugsgroesse ist die # maximale Ausdehnung der Tischanordnung (Breite oder Laenge). Ein Abstand von # 100 heisst also, dass ein Gruppenteil ganz links/oben und der andere ganz # rechts/unten sitzt. # Faktor = Strafpunkte je normierter Abstandseinheit. Bei Faktor=-0.2 kostet # der maximal moegliche Abstand (100) demnach -20 Punkte. [Abstand] Faktor=-0.2