Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Aikataulujen robustisuus

Samankaltaiset esitykset


Esitys aiheesta: "Aikataulujen robustisuus"— Esityksen transkriptio:

1 Aikataulujen robustisuus
Esitelmä 24 Lauri Talvikoski Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

2 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

3 Robustisuus Aikataulutus nähdään käytänössä usein reaktiivisena prosessina Joissakin ympäristöissä uudelleenaikataulutusta joudutaan tekemään koko ajan Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

4 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

5 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

6 Robustisuus Usein pienet δ:n muutokset aiheuttavat pienen muutoksen
Robustisuudessa, kun taas suuret δ:n muutokset aiheuttavat Suhteellisesti suurempia muutoksia Kohdefunktio usein konveksi (minimointitehtävä) Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

7 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) Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

8 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

9 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

10 Esimerkki 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

11 Esimerkki 14.2.1. Häiriön pituus vs. painotettu myöhästyneisyys
Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

12 Esimerkki 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

13 Esimerkki 14.2.1. Aikataulu (1,2,3): Aikataulu (2,3,1):
0* *0.1 = 141 Aikataulu (2,3,1): 20* *0.1 = 21 Aikatauluttajan siis kannattaa valita aikataulu (2,3,1) jos häiriön sattumiseen on 10% todennäköisyys Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

14 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

15 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ä Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

16 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 Kiiretilaus, joka pitää laittaa tuotantoon tänään on epätodennäköisempi, kun kiiretilaus, joka pitää laittaa tuotantoon viikon päästä. Tämä siksi, koska viikon päästä tuotantoon laitettava kiiretilaus saattaa tulla viikon aikana, mutta tälle päivällä laitettava tilaus voi tulla vain tänään (1vk vs alle 1pv). Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

17 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

18 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

19 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ää Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

20 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 P1=5 P2=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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

21 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

22 Esim 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

23 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

24 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) Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

25 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

26 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

27 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

28 Neuroverkko Esitelmä 24 – Lauri Talvikoski
Optimointiopin seminaari – Syksy 2009

29 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

30 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 Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009

31 Kotitehtävä Kirjan tehtävä 14.3. a)
Oletetaan esimerkin 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 Ei kotitehtävää Esitelmä 24 – Lauri Talvikoski Optimointiopin seminaari – Syksy 2009


Lataa ppt "Aikataulujen robustisuus"

Samankaltaiset esitykset


Iklan oleh Google