Lataa esitys
Esittely latautuu. Ole hyvä ja odota
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
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.