-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
176 lines (158 loc) · 7.17 KB
/
Copy pathindex.html
File metadata and controls
176 lines (158 loc) · 7.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>KeyGenerator – Das Schlüsselzahlen-Generierungstool</title>
<link rel="icon" type="image/x-icon" href="data/icon.ico">
<link rel="stylesheet" href="doc/style.css">
<style>
.download-btn {
display: inline-block;
margin: 20px 0 8px;
padding: 11px 26px;
background: #0969da;
color: #fff;
text-decoration: none;
border-radius: 6px;
font-weight: 600;
font-size: 1em;
}
.download-btn:hover {
background: #0550ae;
text-decoration: none;
}
.step-list {
padding-left: 0;
list-style: none;
margin: 12px 0;
}
.step-list li {
display: flex;
gap: 14px;
align-items: baseline;
margin: 10px 0;
}
.step-num {
flex-shrink: 0;
width: 26px;
height: 26px;
background: #0969da;
color: #fff;
border-radius: 50%;
font-weight: 700;
font-size: .85em;
display: flex;
align-items: center;
justify-content: center;
}
</style>
</head>
<body>
<header><a href="index.html"><img src="data/icon.jpg" alt="KeyGenerator Logo" class="header-logo">KeyGenerator – Das
Schlüsselzahlen-Generierungstool</a></header>
<main>
<h1>KeyGenerator – Das Schlüsselzahlen-Generierungstool</h1>
<p><em>Optimierte Schlüsselzahlenzuweisung für die Spielplanung im Amateursport</em></p>
<h2>Hintergrund und Motivation</h2>
<p>
Jedes Jahr müssen für tausende Amateur- und Profisportmannschaften Spielpläne erstellt
werden. Üblicherweise spielt in Vor- und Rückrunde jede Mannschaft zwei mal gegen jede
andere Mannschaft, einmal zu Hause und einmal auswärts. Mannschaften werden nach
Leistungsniveau und regionalen Gesichtspunkten in Ligen und Gruppen eingeteilt.
</p>
<p>
Die Spielplanung wird besonders anspruchsvoll, wenn mehrere Mannschaften desselben
Vereins eine gemeinsame Infrastruktur nutzen – etwa eine Sporthalle, Spielmaterial
oder Personal. Da die Kapazitäten begrenzt sind, entstehen <strong>Abhängigkeiten</strong>
zwischen den Mannschaften eines Vereins bezüglich ihrer Heimspieltermine. Mannschaften
eines Vereins sollen beispielsweise abwechselnd zu Hause spielen, damit
die gemeinsame Infrastruktur gleichmäßig ausgelastet wird – oder aber am selben
Wochentag, damit Zuschauer die Spiele beider Teams besuchen können.
</p>
<p>
Die Spielplanerstellung ist außerdem eine verteilte Aufgabe: Spielplaner sind jeweils
für alle Gruppen einer bestimmten Region zuständig und müssen dabei auch übergeordnete
Planungsvorgaben (z.B. von der Verbandsebene) berücksichtigen.
</p>
<h2>Das Konzept der Schlüsselzahlenzuweisung</h2>
<p>
Um die Spielplanung zu vereinfachen und zu vereinheitlichen, werden Begegnungen nicht
individuell, sondern auf Basis von <strong>Rastern</strong> eingeplant. Ein Raster legt
fest, in welcher Reihenfolge Heim- und Auswärtsspiele über eine Saison verteilt werden.
Die Nummern in einem Raster werden als <strong>Schlüsselzahlen</strong> bezeichnet.
</p>
<p>
Die Aufgabe des Spielplaners besteht darin, jeder Mannschaft einer Gruppe eine
Schlüsselzahl zuzuweisen. Zwei Mannschaften desselben Vereins müssen dabei Schlüssel
erhalten, die sicherstellen, dass die vereinsseitig definierten Abhängigkeiten eingehalten werden.
Eine <strong>Konfliktsituation</strong> tritt auf, wenn die zugewiesene Schlüsselzahl von der
eigentlich erforderlichen abweicht. In solchen Fällen sollte eine <strong>ähnliche</strong>
Schlüsselzahl vergeben werden, die nur an wenigen Spieltagen zu Abweichungen vom gewünschten
Ergebnisführt. In der Praxis wird diese Zuweisung bislang manuell
vorgenommen – mit erheblichem Aufwand und häufig suboptimalen Ergebnissen.
</p>
<h2>Der KeyGenerator</h2>
<p>
Der <strong>KeyGenerator</strong> automatisiert die Schlüsselzuweisung. Das Werkzeug
formalisiert das Problem als kombinatorisches Optimierungsproblem, um die Anzahl von
Konfliktsituationen zu minimieren. Die endgültige Entscheidung darüber, wie verbleibende
Konflikte aufgelöst werden, verbleibt beim Spielplaner – der KeyGenerator liefert dafür
eine optimale Ausgangsbasis und reduziert den manuellen Aufwand erheblich.
</p>
<h3>Ablauf der Spielplanung</h3>
<ol class="step-list">
<li>
<span class="step-num">1</span>
<span><strong>Abhängigkeiten definieren:</strong> Vereinsverantwortliche erfassen reguläre Heimspieltage
sowie Startzeiten für alle Mannschaften, und legen Abhängigkeiten zwischen Mannschaften fest.</span>
</li>
<li>
<span class="step-num">2</span>
<span><strong>Schlüsselzahlen bestimmen:</strong> Der KeyGenerator weist den
Mannschaften Schlüsselzahlen zu und hält dabei Abhängigkeiten so weit wie möglich
ein.</span>
</li>
<li>
<span class="step-num">3</span>
<span><strong>Konflikte auflösen:</strong> Der Spielplaner überprüft die vorgeschlagenen
Zuweisungen und löst verbleibende Konfliktsituationen auf, um einen fairen Ausgleich zwischen den
betroffenen Vereinen herzustellen.</span>
</li>
<li>
<span class="step-num">4</span>
<span><strong>Spielpläne generieren:</strong> Basierend auf den Schlüsselzahlen und
den Rastern werden die endgültigen Spielpläne automatisch erstellt.</span>
</li>
</ol>
<h3>Praktische Anwendung</h3>
<p>
Der KeyGenerator wird bereits erfolgreich zur Spielplanung des Bezirks Ostwestfalen-Nord im Westdeutschen
Tischtennis Verband (WTTV) eingesetzt, was die praktische Anwendbarkeit des Optimierungsansatzes aufzeigt.
</p>
<hr>
<h2>Desktop-Applikation</h2>
<p>Die aktuelle Testversion der Desktop-Applikation steht zum kostenlosen Download bereit.
Bitte beachten Sie die Installationsanleitung und die dort genannten Voraussetzungen, um den
<a href="installation.html">KeyGenerator</a> korrekt zu installieren.
Die <a href="doc/index.html">Benutzerdokumentation für die Desktop-Anwendung</a> beschreibt die Windows-Desktopversion:
Installation, Dateistruktur, Datenimport und alle Funktionen des Tools im Detail.
</p>
<p>
</p>
<h2>Web-Applikation</h2>
<p>
Die <a href="https://thankful-grass-0aad7e003.7.azurestaticapps.net">Web-Applikation</a> ist ohne Installation direkt im Browser nutzbar.
Die <a href="doc-web/index.html">Benutzerdokumentation für die Web-Anwendung</a> beschreibt die browserbasierte
Version des KeyGenerators: Datenimport, Schlüsselzahlgenerierung und alle Funktionen der Web-Oberfläche.
</p>
<h2>Beispiel</h2>
<p>
In der Benutzerdokumentation wird ein fiktives <a href="data/Example.json" download>Beispiel</a> verwendet,
welches die Funktionsweise des KeyGenerators
demonstriert.
</p>
</main>
<script src="data/footer.js"></script>
</body>
</html>