57 lines
3.1 KiB
INI
57 lines
3.1 KiB
INI
# Strafpunkte-Profile ("Vorgehen") fuer die Bewertung einer Sitzplatzverteilung.
|
|
#
|
|
# Jede Sektion ist EIN vollstaendiges Bewertungsprofil mit allen Angaben. So
|
|
# lassen sich mehrere Vorgehensweisen nebeneinander pflegen und speichern. Per
|
|
# Schalter --strafen <Sektionsname> waehlt man ein Profil; ohne Schalter wird
|
|
# [default] verwendet.
|
|
#
|
|
# Schluessel je Profil:
|
|
# Anzahl_Trennungen_N = { Gruppengroesse:Strafpunkte, .. }
|
|
# Strafpunkte fuer das Aufteilen einer Gruppe (N = Anzahl der Trennungen,
|
|
# also auf N+1 Tische verteilt), gestaffelt nach Gruppengroesse. Fehlt ein
|
|
# exakter Gruppengroessen-Eintrag, wird auf die naechstkleinere Groesse
|
|
# zurueckgegriffen. Mindestens Anzahl_Trennungen_1 sollte gesetzt sein.
|
|
# NichtNachbar = Strafe, wenn zwei Gruppenteile nicht am Nachbartisch sitzen
|
|
# Allein = Strafe, wenn eine Person ohne Gruppenmitglied am Tisch sitzt
|
|
# TischWertigkeiten = { freiePlaetze:Strafpunkte, .. } fuer freie Sitze an einem
|
|
# (teil-)belegten Tisch. Fehlt ein exakter Eintrag, gilt der
|
|
# naechstkleinere. Teilbelegte Tische sind am schlechtesten
|
|
# (dort passt keine ganze Gruppe mehr hin), daher steigt die
|
|
# Strafe mit den freien Plaetzen; ein komplett leerer Tisch
|
|
# (hoechster Schluessel) ist etwas besser, aber nicht gratis,
|
|
# damit sich das Zusammenziehen von Gruppen lohnt.
|
|
# Optional; fehlt der ganze Schluessel, werden freie Plaetze
|
|
# gar nicht bestraft -> mehr Teilbelegungen moeglich.
|
|
# AbstandFaktor = Strafpunkte je normierter Abstandseinheit (0..100) zwischen
|
|
# getrennten Teilen einer Gruppe. Der Abstand ist auf die
|
|
# maximale Ausdehnung der Tischanordnung normiert (100 =
|
|
# ein Teil ganz links/oben, der andere ganz rechts/unten).
|
|
# AbstandFaktor=-0.2 kostet den Maximalabstand also -20.
|
|
# Optional; fehlt der Schluessel, wird der Abstand nicht
|
|
# bestraft (Faktor 0).
|
|
|
|
# Standardprofil: Trennungen sind bewusst teuer, damit eine Gruppe lieber
|
|
# zusammen an einem teilbelegten Tisch sitzt, als neben einem leeren getrennt zu
|
|
# werden.
|
|
[default]
|
|
Anzahl_Trennungen_1={ 2:-25, 3:-22, 4:-18, 6:-14, 8:-12, 10:-10 }
|
|
Anzahl_Trennungen_2={ 3:-40, 4:-30, 6:-22, 8:-18, 10:-14 }
|
|
Anzahl_Trennungen_3={ 4:-60, 6:-40, 8:-30, 10:-20 }
|
|
NichtNachbar=-3
|
|
Allein=-30
|
|
TischWertigkeiten={ 1:-3, 2:-3, 4:-5, 6:-6, 8:-4 }
|
|
AbstandFaktor=-0.2
|
|
|
|
# Beispiel fuer ein alternatives Vorgehen: Trennungen sind guenstiger, der
|
|
# Abstand wird nicht bestraft, und freie Plaetze werden gar nicht bestraft
|
|
# (TischWertigkeiten fehlt bewusst) — so sind mehr Teilbelegungen moeglich.
|
|
# Nuetzlich fuer grosse Saele, in denen sich Gruppen kaum ungeteilt platzieren
|
|
# lassen. Aufruf: --strafen locker
|
|
[locker]
|
|
Anzahl_Trennungen_1={ 2:-12, 3:-10, 4:-8, 6:-6, 8:-5, 10:-4 }
|
|
Anzahl_Trennungen_2={ 3:-20, 4:-16, 6:-12, 8:-9, 10:-7 }
|
|
Anzahl_Trennungen_3={ 4:-30, 6:-22, 8:-16, 10:-12 }
|
|
NichtNachbar=-2
|
|
Allein=-20
|
|
AbstandFaktor=0.0
|