Aikataulujen robustisuus Esitelm 24 Lauri Talvikoski S ysteemianalyysin

Aikataulujen robustisuus Esitelmä 24 Lauri Talvikoski S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Robustisuus • Käytännössä tulee usein arvaamattomia muutoksia aikatauluihin – Kone hajoaa – Kiireellinen tilaus tulee saada tehdyksi ennen muita • Aikatauluttajan tulee luoda uusi aikataulu ja olisi hyvä jos uusi aikataulu olisi – Pysyy ennalta asetetuissa tavoitteissa (esim. ei myöhästymisiä) – Sekaannusten välttämiseksi mahdollisimman samankaltainen, kuin aikaisempi aikataulu S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Robustisuus • Aikataulutus nähdään käytänössä usein reaktiivisena prosessina • Joissakin ympäristöissä uudelleenaikataulutusta joudutaan tekemään koko ajan S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Robustisuus • Uudelleenaikataulutukseen voidaan jossain määrin varautua suunnittelemalla alkuperäinen aikataulu mahdollisimman robustiksi • Robusti = ”vankkarakenteinen” • Robustissa aikataulussa satunnaisten häiriöiden aiheuttamat muutokset ovat minimaalisia S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Robustisuus • Kuinka määritellä? – Vaikea määritellä ja mitata – Erilaisia tapoja, jotka voivat sopia tiettyihin tilanteisiin • Eräs määrittely: – Oletetaan, että työ j viivästyy S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Robustisuus • Usein pienet δ: n muutokset aiheuttavat pienen muutoksen Robustisuudessa, kun taas suuret δ: n muutokset aiheuttavat Suhteellisesti suurempia muutoksia • Kohdefunktio usein konveksi (minimointitehtävä) S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Robustisuus • Mikäli häiriöiden todennäköisyysjakauma tunnetaan tai voidaan arvioida, voidaan robustisuudelle tehdä tarkempia mittoja • Kuvataan nyt häiriötä satunnaismuuttujalla ∆, jonka jakauma on tunnettu (Diskreetti tapaus) (Jatkuva tapaus) S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Robustisuus • Käytännössä häiriöiden todennäköisyysjakaumaa vaikea arvioida • Siksi käytetään muita mittoja, kuten esimerkiksi painotettua ”slack” –aikaa • Mitä suurempi R(S) on, sitä robustimpi aikataulu S on S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Esimerkki 14. 2. 1 • Yksi kone, 3 työtä • Aikataulu, joka minimoi painotetun myöhästyneisyyden 1, 2, 3 (muissa aikatauluissa ollaan heti myöhässä) • Ajatellaan, että kone hajoaa heti (t=0) ja saadaan takaisin toimintaan vasta ajanhetkellä t=10 (δ=10) • Nyt painotettu myöhästyneisyys on aikataululle (1, 2, 3) 1410, kun taas aikataululle (2, 3, 1) se on vain 20 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Esimerkki 14. 2. 1. • Käyttämällä ”slack” –aikaan perustuvaa robustisuusmittaa aikatauluille (1, 2, 3) ja (2, 3, 1) saadaan: • Aikataulu (2, 3, 1) on siis huomattavasti robustimpi S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Esimerkki 14. 2. 1. • Häiriön pituus vs. painotettu myöhästyneisyys S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Esimerkki 14. 2. 1. • Ajatellaan nyt, että systeemiin saapuu kiiretyö ajalla t=0+ε todennäköisyydellä 0. 1 • Kiiretyötä prosessoidaan koneella 10 aikayksikköä • Aikatauluttaja ei saa vaihtaa tässä vaiheessa enää vaihtaa valitsemaansa töiden järjestystä • Kumpi aikataulu (1, 2, 3) vai (2, 3, 1) aikatauluttajan kannattaa valita? • Lasketaan painotettujen myöhästyneisyyksien odotusarvot molemmille aikatauluille S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Esimerkki 14. 2. 1. • Aikataulu (1, 2, 3): – 0*0. 9 + 1410*0. 1 = 141 • Aikataulu (2, 3, 1): – 20*0. 9 + 30*0. 1 = 21 • Aikatauluttajan siis kannattaa valita aikataulu (2, 3, 1) jos häiriön sattumiseen on 10% todennäköisyys S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Robustisuus • Tässä esitetyn robustisuusmitat eivät ole ainoita vaihtoehtoja, myös monimutkaisempia mittoja on mahdollisuus rakentaa – Kohdefuntion arvon muutoksessa voidaan esimerkiksi ottaa huomioon uudelleenoptimointi S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Robustien aikataulujen teko • Pinedo tarjoaa 4 sääntöä robustien aikataulujen tekoon – – Lisää joutoaikaa (idle time) aikatauluun Aikatauluta vähiten joustavat työt ensiksi Älä viivästytä minkään työn prosessointia tarpeettomasti Pidä aina joku määrä töitä odottamassa korkean käyttöasteen koneiden edessä S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Robustien aikataulujen teko • Lisää joutoaikaa (idle time) aikatauluun • Jätetään tarkoituksella käyttämätöntä kapasiteettia • On todennäköisempää, että myöhempinä ajankohtina aikataulussa tulee häiriötä, kun heti (esim. kiiretilaukset) • Jotkut aikatauluttajat aikatauluttavat tämän viikon käyttöasteen 90%, seuraavan viikon 80% ja sitä seuraavan 70% • Toisaalta kokonaisaikataulun kannalta tänään sattuva häiriö on vakavampi, kuin viikon päästä sattuva S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Robustien aikataulujen teko • Aikatauluta vähiten joustavat työt ensiksi • Jos häiriö jossain vaiheessa aikataulu tapahtuu, on vähiten joustavat työt jo toivottavasti prosessoitu tai ainakin niitä pitäisi olla systeemissä vähemmän • Epäjoustavuus saattaa tulla esimerkiksi asetusajoista – asetusaika saattaa esimerkiksi olla riippumaton työsekvenssistä • Epäjoustavuutta tuo myös se, jos vain tietty tai pieni määrä koneita pystyy tekemään kyseisen työn S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Robustien aikataulujen teko • Älä viivästytä minkään työn prosessointia tarpeettomasti • Varastointikustannusten tai aikaisuussakkojen takia voi joskus olla suotavaa aloittaa työn prosessointi vasta viimeisellä mahdollisella hetkellä • Tämä ei ole robustisuuden kannalta ollenkaan suotavaa • Syntyy trade-off tilanne robustisuuden ja preferoidun myöhäisen valinnan välille S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Robustien aikataulujen teko • Pidä aina joku määrä töitä odottamassa korkean käyttöasteen koneiden edessä • Pienen varaston käyttö pullonkaulakoneen edessä on suotavaa, jotta pullonkaulakoneen käyttöaste ei putoa häiriön johdosta • Seuraava esimerkki selventää S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Esim. 14. 2. 2 - ”Starvation avoidance” • Oletetaan kaksi peräkkäistä konetta ja 100 identtistä työtä, jotka kulkevat molempien koneiden lävitse • Koneella 1 prosessointiaika on 5 ja koneella 2 se on 10 – kone 2 on siis pullonkaulakone P 1=5 P 2=10 1 2 • Koneella 1 saatetaan joutua tekemään 45 aikayksikköä kestävä huolto, jolloin kone 1 on pois käytöstä • Tämän todennäköisyys on 0. 01 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Esim. 14. 2. 2. • Ensisijainen tavoite: Kokonaisläpäisyajan minimointi • Toissijainen tavoite: WIP varaston minimointi (=töiden systeemissä viettämän ajan keskiarvon minimointi) • Ensisijaisella tavoitteella on 1000 -kertainen painoarvo • Jos toissijaista tavoitetta ei olisi koneen 1 kannattaisi heti tehdä kaikki työt jonottamaan koneen 2 eteen • Jos konetta 1 ei tarvitsisi huoltaa, optimaalinen ratkaisu olisi, että kone 1 odottaisi aina 5 aikayksikköä jokaisen työn jälkeen S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Esim 14. 2. 2. • Kun koneen 1 huolto otetaan mukaan, on optimaalinen aikataulu sellainen, jossa kone 1 toimii siten, että koneen 2 edessä on aina 5: n työn jono – Siten mahdollinen huolto ei pääse viivästyttämään kokonaisvalmistusaikaa • Esimerkki valottaa kapasiteetin käyttöasteen ja WIP varaston määrän välistä trade-offia S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Koneoppiminen • Käytännössä aikataulutusohjelmien algoritmit eivät usein pysty tuottamaan järkevää (käyttäjälle sopivaa) ratkaisua eri tilanteissa • Aikatauluttaja joutuu tapauskohtaisesti tekemään muutoksia • Aikataulutusohjelmia on pyritty parantamaan koneoppimisen menetelmillä, joista lyhyesti seuraavassa S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Koneoppimisen kategoriat • Useita koneoppimisen menetelmiä on tutkittu ja yritetty selvittää niiden soveltuvuutta tuottaa käytännöllisiä ratkaisuja aikataulutukseen • Nämä menetelmät ovat – Rote learning (= ulkoa opettelu) – Case-based reasoning (= case-pohjainen päättely) – Induction methods and neural networks (= induktiomenetelmät ja neuroverkot) – Classifier systems (= luokittelusysteemit) S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Rote learning • Järjestelmä tallettaa vanhat ratkaisut, jotka tuottivat tietyssä tilanteessa hyvän tuloksen • Samassa tilanteessa voidaan ratkaisu kaivaa muistista • Ratkaisuja ei voida yleistää millään tavoin S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Case-based reasoning • Talletetaan hyväksi havaitut ratkaisut jälleen muistiin (tietokantaan) • Uuden tilanteen tullessa vastaan järjestelmä yrittää ongelman tiettyjen ominaisuuksien perusteella löytää uutta ongelmaa lähiten muistuttavan casen ja käyttää sen ratkaisua apuna • Esim. ATCS ongelman skaalausparametrien valinta – kone voi yrittää edellisten casejen perusteella valita parametrit • Case-kannan rakentaminen nykyisillä menetelmillä vaikeaa, samoin haku ja kannan indeksointi kun parametreja on paljon S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Induction methods/neural networks • Yleisin induktiomenetelmän tyyppi on neuroverkko • Pinedon esitys neuroverkoista hieman kömpelö – esimerkiksi kaikkia käytettyjä termejä ei selitetä • Neuroverkko voitaisiin esimerkiksi opettaa valitsemaan käytettävä aikataulutusheuristiikka joidenkin ongelmaa kuvaavien parametrien perusteella S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Neuroverkko S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Geneettinen algoritmi lyhyesti • • Algoritmin alussa synnytetään ratkaisuehdotusjoukko (populaatio) – luodaan usein satunnaisesti Jokaisella etenemisaskeella osa ratkaisuista (kromosomeista) valitaan tuottamaan seuraava populaatio – Valinta valintafunktioon perustuen (esim. optimoinnin kohdefunktio) Valituista ratkaisuista luodaan uusi populaatio geneettisen siirtymän, rekombinaation ja mutaation operaatiota käyttämällä – Kaksi ratkaisua valittujen joukosta valitaan satunnaisesti synnyttämään uuden ratkaisun – Uusi ratkaisu syntyy usein satunnaisesti yhdistelemällä vanhempien ominaisuuksia Algoritmia toistetaan, kunnes riittävän hyviä ratkaisuja saadaan tai maksimimäärä iteraatioita on tehty S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Classifier systems • Tyypillinen esimerkki näistä on geneettinen algoritmi • Näissä algoritmeissa kuitenkaan yksittäinen ”kromosomi” ei edusta aikataulua vaan sääntölistaa • Sääntölista määrittelee mitä sääntöä käytetään kussakin iteraatiossa, kun järjestelmä generoi aikataulua • Geneettinen algoritmi suorittaa näissä implementoinneissa siis haun valintasääntöjen yli, eikä itse aikataulujen S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy

Kotitehtävä • Kirjan tehtävä 14. 3. a) • Oletetaan esimerkin 14. 2. 1. lähtötilanne (kalvo #9) • Kone voi nyt hajota ajanhetkellä t=2 todennäköisyydellä p, kone on rikki 10 aikayksikköä • Oletetaan, että valitulla aikataululla pitää toimia, sattui hajoaminen tai ei (ei saa vaihtaa työtä, jota oltiin prosessoimassa eikä uudelleensekvensoida töitä) • Määritä optimaalinen aikataulu p: n funktiona • Ratkaisut osoitteeseen etunimi. sukunimi@tkk. fi Ei kotitehtävää S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä Talvikoskinimi Esitelmä 24#–- Lauri Esitelmöijän Optimointiopin seminaari – Syksy 2009 Optimointiopin seminaari - Syksy
- Slides: 31