urheiluturnausten ja viihdetapahtumien skedulointi 1/2

41
S ysteemianalyy sin Laboratorio Esitelmä 8 – Reda Guerfi Optimointiopin seminaari - Syksy 2009 Urheiluturnausten ja viihdetapahtumien skedulointi 1/2

Upload: jasmine-kaufman

Post on 02-Jan-2016

27 views

Category:

Documents


2 download

DESCRIPTION

Urheiluturnausten ja viihdetapahtumien skedulointi 1/2. Motivaatio. Halutaan löytää n:n joukkueen sarjalle/turnaukselle aikataulu, jossa kaikki joukkueet pelaavat toisiaan vastaan Mahdollisia aikatauluja karsivat tietyt asetelmaan liittyvät rajoitteet. Sisältö. Turnausasetelman kuvaus - PowerPoint PPT Presentation

TRANSCRIPT

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Urheiluturnausten ja viihdetapahtumien skedulointi 1/2

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Motivaatio

• Halutaan löytää n:n joukkueen sarjalle/turnaukselle aikataulu, jossa kaikki joukkueet pelaavat toisiaan vastaan

• Mahdollisia aikatauluja karsivat tietyt asetelmaan liittyvät rajoitteet

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Sisältö

• Turnausasetelman kuvaus

• Matemaattinen formulointi

• Kokonaislukuoptimointitehtävä

• Rajoiteohjelmointitehtävä

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Lähtökohdat

• n kappaletta joukkueita

• Yhden kokonaiskierron turnaus: kaikki pelaavat kaikkia vastaan kerran (kotona tai vieraissa)– Jos n parillinen => n-1 kierrosta, jos pariton =>

n kierrosta (1 joukkue lepää joka kierroksella)

• Kahden kokonaiskierron turnauksessa vastaavasti 2n-2 kierrosta (n pariton) tai 2n kierrosta (n parillinen)

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Perustehtävä

• Yhden kokonaiskierron turnaus

• n parillinen eli n-1 kierrosta– Kullakin kierroksella n/2 ottelua

• Olkoon kierrosindeksi t ja binäärimuuttuja x

ijt

– Saa arvon 1, jos joukkue i pelaa joukkuetta j vastaan kotona kierroksella t. Muulloin x

ijt = 0

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Rajoitukset

• Rajoitukset:– j pelaa jotain joukkuetta vastaan joka

kierroksella

– i pelaa j:tä vastaan täsmälleen kerran

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Rajoitukset II

• Usein myös muita rajoitteita– Parien muodostaminen, otteluiden

jonoistaminen

• Rajoitteita mahdollisesti paljon => käyvän aikataulun löytäminen voi olla vaikea tehtävä– Tyydytään siihen, että sellainen löydetään

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Terminologiaa

• Voi olla, että halutaan optimoida jotain kohdefunktiota => tarvitaan terminologiaa

• Joukkueen otteluiden jonoistaminen

• Kotipeli := H (home), vieraspeli := A (away)

• Esimerkkikaavio i. joukkueelle HAHAA

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Katkos• Kaavion toivotaan alternoivan: joukkue pelaa

vuoroin kotona, vuoroin vieraissa

• Jos kaksi peräkkäistä kotona/vieraissa hetkillä t-1 ja t => kaaviossa katkos kohdassa t

• Yleinen kohde: turnauksen katkosten kokonaismäärän minimointi

• Skedulointiteoria: n (n parill.) joukkuetta => 1 kokonaiskierron turnauksessa väh. n-2 katkosta

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Esimerkki 10.2.1

• n = 6, kierrosten määrä 5

• Jos joukkue i pelaa joukkuetta j vastaan vieraissa kierroksella t => merkitään i:nnelle riville t. sarakkeeseen j

• Jos joukkue i pelaa joukkuetta j vastaan kotona kierroksella t => merkitään i:nnelle riville t. sarakkeeseen –j

• Merkitään katkoksia **

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Esimerkki 10.2.1

• 6 katkosta, minimitapauksessa olisi 4

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Lepovuoro

• Olkoon n pariton => vähintään n-1 kierrosta joista jokaisella väh. 1 joukkue lepää– Merkitään B (bye)

– Tietyn joukkueen kaavio saadaan A:sta, B:sta ja H:sta => esimerkiksi HAHABA

• B ei välttämättä katkos– HBH vs. HHH vs. HH (vähemmän paha?)

– Sakot/kustannukset => HBH:lla pienin?

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Graafin väritys

• 1 kierroksen turnaus (n pariton tai parillinen)

• Graafin väritystehtävä (vertaa aikataulutus)

• Suunnattu graafi G = (N,B), jossa N muodostuu n kpl solmusta, jotka ovat yhteydessä kaarilla toisiinsa– Kaaret alkuun suuntaamattomia

• Jos kaikki solmut liittyvät toisiinsa, kyseessä on täydellinen graafi (clique, complete graph)

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Graafin väritys

• Graafin eli kaarien värittäminen, kaikki tiettyyn solmuun liittyvät eri värisiä => minimoidaan värien kokonaismäärä

• n solmun ”clique” => n värin graafi mahdollinen

• Aligraafi = kaarijoukko, jolla oma väri– 1 reunakaari, muut sisäkaaria

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Täydellisen graafin väritys

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Graafin väritys vs. aikataulutus• Yhden kokonaiskierron tehtävä: aligraafi

vastaa yhtä ottelukierrosta, oma väri

• Kysymys: Miten jako aligraafeihin tapahtuu?

• Koti- ja vieraspelin erotus saadaan suunnatuilla kaarilla– i pelaa j:n luona => kaari i -->-- j

• Katkosten välttäminen: kaksi aligraafia muodostaa suunnatun Hamiltonin polun– Jokaisessa solmussa enint. 1 sis.meno/ulostulo

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Suunnattu Hamiltonin polku

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Käyvät aikataulut

• Standardi runko käypien aikataulujen löytämiseksi

• Kaavio verrannollinen kirjainjonoon, jossa kirjaimia A, H ja B– Kirjainjonon pituus parillisessa tapauksessa n-1

ja parittomassa n

• Koti-vieraskaavio (home-away pattern HAP)

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Algoritmi

• 3 vaihetta, 1 kokonaiskierron turnauksille

• Vaihe I (Kokoa HAP:t)– Etsi kokoelma, jossa n erilaista koti-vieras –

kaaviota

– Tämä kokoelma muodostaa kaaviojoukon

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Algoritmi • Vaihe II (luo aikataulu):

– Määrää ottelu jokaiseen kaaviojoukon kohtaan

– Tuloksena aikataulu

• Vaihe III (määrää joukkueet kaavioihin)– Aseta kuhunkin kaavioon joukkue

– Yhdessä aikataulun kanssa muodostaa 1 kokonaiskierron turnauksen

• Vaihe IV (Mahdollinen peilaus)– Kahden kierroksen turnaus peilaamalla

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Esimerkki 10.2.3• n = 4, 3 kierrosta

• Askel I: 4 kaavion luonti joukkueille (a,b,c,d)

• (1, 2, 3, 4) “place holdereita”, ei vielä tietoa mikä joukkue milläkin paikalla

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Esimerkki 10.2.3

• Askel II: määrätään peliparit ja aikataulu– (j) : joukkue vierailee joukkueen j luona

– (-j) : joukkue isännöi joukkuetta j

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Esimerkki 10.2.3

• Askel III: määrätään joukkueet kaavioihin– Huomioidaan preferenssit

– d -> 1, b -> 2, a -> 3, c -> 4

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Esimerkki 10.2.3

• Askel IV: Peilataan, jos halutaan 2 kiertoa

• 6 katkosta, keskinäisten kohtaamisten välinen etäisyys aina 3 kierrosta

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Algoritmista

• Usein käytetään soveltaen -> luodaan enemmän kuin n kaaviota, jolloin yli 1 kaaviojoukkoa– Antaa vaihtoehdoille sijaa

• Paljon joukkueita -> vaatii laskentatehoa

• Jokaisessa vaiheessa joko kokonaislukuoptimointi tai rajoiteohjelmointi

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Optimointi

• Askel 1: Luodaan useita kaaviojoukkoja– Ensin sellaiset, joissa A ja H alternoivat

– Vaihtoehtoiset, joissa 1-2 katkosta per kaavio

– Ylimääräiset joukot sis. esim. n-2 kaaviota ilman katkoksia ja 2 kaaviota 1-2 katkoksella

– Mahdollisten kaaviojoukkojen määrä edelleen suhteellisen pieni

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Optimointi

• Askel II: Luodaan aikataulut– Kukin kaavio linkittyy toiseen kullakin kierr.

• S olkoon n kaavion joukko, T kierrosten joukko

• xklt

: kuvaa sitä, että k. kaavion joukkue pelaa j.

kaavion joukkuetta vastaan kierroksella t– Saa arvon 1, jos pelaa vieraissa, muuten 0

• F = käypien (k,l,t)-triplettien joukko

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Optimointi

• Kokonaislukutehtävä

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Optimointi

• Kohdefunktio keinotekoinen, halutaan löytää ratkaisu, jolle rajoitteet toteutuvat

• 1. rajoite: tasan 1 ottelu k:n ja l:n välillä

• 2. rajoite: enintään 1 ottelu joukkueelle k kullakin kierroksella– Jos n parillinen, ehto muotoa “=“

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Optimointi

• Askel III: joukkueet kaavioihin

• Binäärimuuttuja yik

: onko joukkue i

kaaviossa k

• Kustannus cik : joukkueen i sijoittamisesta

kaavioon k (preferenssit)

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Optimointi

• “1 joukkue per kaavio, 1 kaavio per joukkue”

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Rajoiteohjelmointi• Poikkeaa edeltävästä täysin

• Soveltuu ongelmaan hyvin, aikatauluilla usein useita rajoitteita– Katkosrajoitteet (esim. ≤ 3 peliä putkeen H/A)

– Ensimmäiset kierrokset (≥ 2 koti- tai lepokierrosta 4 ensimmäisellä kierroksella)

– Ei kahta viimeistä kierrosta vieraissa

– Peli- tai joukkuespesifiset rajoitteet

– “constraint store”

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Rajoiteohjelmointi

• Nyt n pariton ja kahden kierron sarja => 2n kierrosta

• Esitelty algoritmi voidaan toteuttaa myös rajoiteohjelmointitapauksessa

• at, h

t ja b

t kuvaavat mitä joukkue tekee

kierroksella t– a

t=1: joukkue pelaa kierroksella t vieraissa

• ν = käypien HAP:n määrä

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Rajoitukset

• Näiden perusteella käyvät kaaviot

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Vaihtoehtoinen tapa

• Askel 1: Käyvät kaaviojoukot

• ν*2n – matriisit H, A, B

• Apubinäärimuuttuja xk ,joka kuvaa, onko k.

kaavio mukana kaaviojoukossa– Arvo 1 jos on

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Formulointi

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Rajoiteohjelmointi, vaihe II• Uusi rajoitejoukko

• n×2n-matriisit H*, A*, B*– Näissä alkiot ja , jotka kuvastavat

koti-, vieras – ja lepokierroksia k:nteen kaavioon kierroksella t

• Binäärimatriisit H**, A**, B** vastaavasti

• Muuttuja , jolla rangi 1,…, n– Jos joukkue i pelaa rivillä *-matriiseissa

hkt* ,

akt*

bkt*

i

i

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Rajoiteohjelmointi, vaihe II• n×2n matriisi T kuvastaa tavoiteaikataulua

– Tämän alkiot git määräävät i:n vastustajan

• Muuttuja I(x=y)– Saa arvon 1, jos x = y, muulloin 0

• Muuttuja I(x D) vastaavasti– Saa arvon 1, jos x kuuluu joukkoon D

• Alldifferent( ): eriävät kokonaisluvut

• Element( ):

x1,..., xm

k,v , l

l v k

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Rajoiteohjelmoinnin tehtävä

• H*, A* ja B* kiinteitä => hakustrategia läpikäy , jolloin H**, A**, B** vaiheittain

1,...,m

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Rajoiteohjelmoinnin tehtävä

• Johdonmukaisesti huomioiden rajoitteet jo kiinnitetyistä muuttujista hakupuu mahdollista tutkia melko lyhyessä ajassa

• Lopulta git:t haetaan, myös tässä puu

harvenee kun edetään johdonmukaisesti

S ysteemianalyysinLaboratorioTeknillinen korkeakoulu Esitelmä 8 – Reda Guerfi

Optimointiopin seminaari - Syksy 2009

Kotitehtävä

• Kirjan tehtävä 10.4.

• Löydätkö esimerkistä 10.2.1 aikataulun, jossa vähemmän kuin 6 katkosta?