Turneringsplanlægning. - Aarhus Universitet
Turneringsplanlægning. - Aarhus Universitet
Turneringsplanlægning. - Aarhus Universitet
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Turneringsplanlægning</strong><br />
Rasmus Vinther Rasmussen<br />
Afdelingen for Operations Analyse<br />
<strong>Aarhus</strong> <strong>Universitet</strong><br />
Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Er der nogen, der har prøvet at planlægge<br />
en turnering<br />
• Er der nogen, som har hørt om en<br />
turnering, der er blevet aflyst, fordi man<br />
ikke har kunnet lave en turneringsplan<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Round robin turnering<br />
– Alle møder alle lige mange gange<br />
– Turneringen er opdelt i runder<br />
– Alle hold spiller en kamp i hver runde<br />
– Holdene spiller enten hjemme eller ude<br />
Runde:<br />
1<br />
2<br />
3<br />
Hold 1:<br />
+3<br />
-2<br />
+4<br />
+ hjemmekamp<br />
Hold 2:<br />
Hold 3:<br />
-4<br />
-1<br />
+1<br />
+4<br />
-3<br />
+2<br />
- udekamp<br />
Hold 4:<br />
+2<br />
-3<br />
-1<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Problemstillingen:<br />
– Bestem hvem der mødes i hver runde<br />
– Bestem hvem der spiller hjemme og ude<br />
– Sørg for at holdene så vidt muligt spiller<br />
skiftevis ude og hjemme (minimere breaks)<br />
• Et break er 2 på hinanden følgende udekampe<br />
eller 2 på hinanden følgende hjemmekampe<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Konstruktion af turnering med minimalt<br />
antal breaks:<br />
1<br />
Runde:<br />
1<br />
2<br />
3<br />
4<br />
5<br />
5<br />
2<br />
Hold 1:<br />
Hold 2:<br />
6<br />
Hold 3:<br />
Hold 4:<br />
4 3<br />
Hold 5:<br />
Hold 6:<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Konstruktion af turnering med minimalt<br />
antal breaks:<br />
1<br />
Runde:<br />
1<br />
2<br />
3<br />
4<br />
5<br />
5<br />
2<br />
Hold 1:<br />
Hold 2:<br />
-6<br />
+5<br />
6<br />
Hold 3:<br />
-4<br />
Hold 4:<br />
+3<br />
4 3<br />
Hold 5:<br />
Hold 6:<br />
-2<br />
+1<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Konstruktion af turnering med minimalt<br />
antal breaks:<br />
1<br />
Runde:<br />
1<br />
2<br />
3<br />
4<br />
5<br />
5<br />
2<br />
Hold 1:<br />
Hold 2:<br />
-6<br />
+5<br />
6<br />
Hold 3:<br />
-4<br />
Hold 4:<br />
+3<br />
4 3<br />
Hold 5:<br />
Hold 6:<br />
-2<br />
+1<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Konstruktion af turnering med minimalt<br />
antal breaks:<br />
5<br />
Runde:<br />
1<br />
2<br />
3<br />
4<br />
5<br />
4<br />
1<br />
Hold 1:<br />
Hold 2:<br />
-6<br />
+5<br />
+4<br />
-3<br />
6<br />
Hold 3:<br />
-4<br />
+2<br />
Hold 4:<br />
+3<br />
-1<br />
3 2<br />
Hold 5:<br />
Hold 6:<br />
-2<br />
+1<br />
+6<br />
-5<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Konstruktion af turnering med minimalt<br />
antal breaks:<br />
4<br />
Runde:<br />
1<br />
2<br />
3<br />
4<br />
5<br />
3<br />
5<br />
Hold 1:<br />
Hold 2:<br />
-6<br />
+5<br />
+4<br />
-3<br />
-2<br />
+1<br />
6<br />
Hold 3:<br />
-4<br />
+2<br />
-5<br />
Hold 4:<br />
+3<br />
-1<br />
-6<br />
2 1<br />
Hold 5:<br />
Hold 6:<br />
-2<br />
+1<br />
+6<br />
-5<br />
+3<br />
+4<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Konstruktion af turnering med minimalt<br />
antal breaks:<br />
3<br />
Runde:<br />
1<br />
2<br />
3<br />
4<br />
5<br />
2<br />
4<br />
Hold 1:<br />
Hold 2:<br />
-6<br />
+5<br />
+4<br />
-3<br />
-2<br />
+1<br />
+5<br />
-4<br />
6<br />
Hold 3:<br />
-4<br />
+2<br />
-5<br />
+6<br />
Hold 4:<br />
+3<br />
-1<br />
-6<br />
+2<br />
1 5<br />
Hold 5:<br />
Hold 6:<br />
-2<br />
+1<br />
+6<br />
-5<br />
+3<br />
+4<br />
-1<br />
-3<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Konstruktion af turnering med minimalt<br />
antal breaks:<br />
2<br />
Runde:<br />
1<br />
2<br />
3<br />
4<br />
5<br />
1<br />
3<br />
Hold 1:<br />
Hold 2:<br />
-6<br />
+5<br />
+4<br />
-3<br />
-2<br />
+1<br />
+5<br />
-4<br />
-3<br />
-6<br />
6<br />
Hold 3:<br />
-4<br />
+2<br />
-5<br />
+6<br />
+1<br />
Hold 4:<br />
+3<br />
-1<br />
-6<br />
+2<br />
-5<br />
5 4<br />
Hold 5:<br />
Hold 6:<br />
-2<br />
+1<br />
+6<br />
-5<br />
+3<br />
+4<br />
-1<br />
-3<br />
+4<br />
+2<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Er matematik nødvendig<br />
• Svært når der skal tages specielle hensyn<br />
• Stadions er ikke altid ledige<br />
• Hold ønsker hjemmekampe på særlige datoer<br />
• Kampene skal spredes over hele landet<br />
• Bestemte hold skal have en ekstra hjemmekamp<br />
• Alle hold vil gerne møde de ”store” hold hjemme<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• The Traveling Tournament Problem:<br />
– n hold skal spille en turnering<br />
– Alle møder alle en gang hjemme og en gang ude<br />
– Højst 3 udekampe i træk<br />
– Højst 3 hjemmekampe i træk<br />
– Afstand mellem ens kampe<br />
– Rejser direkte fra udekamp til udekamp<br />
– Afstandene er kendte<br />
– Den samlede rejseafstand skal minimeres<br />
Problemet er endnu ikke løst for n = 8!!!<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Udregningstider for et simpelt problem:<br />
– Minimer antal breaks<br />
– Under bibetingelse:<br />
• Alle møder alle en gang<br />
• Alle møder en modstander i hver runde<br />
• Halvdelen af holdene spiller hjemme i hver runde<br />
• Når 2 hold mødes spiller det ene hold hjemme og<br />
det andet spiller ude<br />
• Break hvis et hold har 2 hjemmekampe i træk eller<br />
2 udekampe i træk<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• SAS Ligaen:<br />
– 12 hold og alle hold mødes 3 gange<br />
– Antal breaks skal minimeres<br />
– Stadions skal være ledige<br />
– …<br />
Umuligt at opfylde alle betingelser !!!<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Løsningsmetode i 3 trin:<br />
1. Generer hjemme/ude sekvenser<br />
2. Vælg en hjemme/ude sekvens for hvert hold<br />
3. Check brugbarhed (kan det lade sig gøre at<br />
tildele modstandere)<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
1. Generer hjemme/ude sekvenser<br />
– Eksempel med 6 hold og 5 runder:<br />
Nummer Sekvens Antal breaks<br />
1<br />
+<br />
+<br />
+<br />
+<br />
+<br />
4<br />
2<br />
+<br />
+<br />
+<br />
+<br />
-<br />
3<br />
3<br />
+<br />
+<br />
+<br />
-<br />
+<br />
2<br />
4<br />
+<br />
+<br />
-<br />
+<br />
+<br />
2<br />
5<br />
+<br />
-<br />
+<br />
+<br />
+<br />
2<br />
6<br />
-<br />
+<br />
+<br />
+<br />
+<br />
3<br />
32<br />
-<br />
-<br />
-<br />
-<br />
-<br />
4<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
1. Generer hjemme/ude sekvenser<br />
– Eksempel med 6 hold og 5 runder:<br />
Nummer Sekvens Antal breaks<br />
1<br />
+<br />
+<br />
+<br />
+<br />
+<br />
4<br />
2<br />
+<br />
+<br />
+<br />
+<br />
-<br />
3<br />
3<br />
+<br />
+<br />
+<br />
-<br />
+<br />
2<br />
4<br />
+<br />
+<br />
-<br />
+<br />
+<br />
2<br />
5<br />
+<br />
-<br />
+<br />
+<br />
+<br />
2<br />
6<br />
-<br />
+<br />
+<br />
+<br />
+<br />
3<br />
32<br />
-<br />
-<br />
-<br />
-<br />
-<br />
4<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
2. Vælg en hjemme/ude sekvens for hver hold<br />
– Minimerer antal breaks<br />
– Under bibetingelse:<br />
• Der skal vælges en sekvens for hvert hold<br />
• Præcis halvdelen af de valgte sekvenser skal have en<br />
hjemmekamp i hver runde<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
3. Check brugbarhed<br />
– Bruger matematisk problem til at bestemme hvem<br />
der møder hvem så det passer med de valgte<br />
sekvenser.<br />
– 2 hold kan kun mødes i en runde hvor det ene<br />
spiller ude og det andet spiller hjemme<br />
– Hvis der ikke kan findes en brugbar turnering går vi<br />
tilbage til Trin 2 og finder nye sekvenser<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Hele løsningsmetoden:<br />
Trin 1 Trin 2 Trin 3<br />
Færdig<br />
Generer hjemme/<br />
ude sekvenser<br />
Vælg sekvenser<br />
Check brugbarhed<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006
<strong>Turneringsplanlægning</strong><br />
• Hvorfor er den ene metode hurtigere:<br />
– I den første model var der en variabel for<br />
hver kombination af hold og runde:<br />
• I alt 30 variabler for et eksempel med 6 hold<br />
• I alt 2 30 muligheder ~ 1 milliard muligheder<br />
– I den anden model var der 2 5 sekvenser og<br />
der skulle vælges 6:<br />
• I alt ~ 2 millioner muligheder<br />
24-03-2006 Rasmus Vinther Rasmussen Matematiklærerdag 2006