Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Optimointiopin seminaari 2009.

Samankaltaiset esitykset


Esitys aiheesta: "S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Optimointiopin seminaari 2009."— Esityksen transkriptio:

1 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Optimointiopin seminaari 2009 Ajanvarausten aikataulutus Arttu Klemettilä

2 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Sisältö Mitä on ajanvarausten aikataulutus?  Määritelmiä ja käsitteitä Kolme eri tapausta: – Suunnittelu ilman joutoaikaa – Suunnittelu joutoajan kanssa – Työvoimarajoitteilla

3 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Aikataulujen skedulointi Jouko töitä, joilla suoritusaika sekä aikaikkuna, jossa työ pitää suorittaa Kysymys: Mitkä työt suoritetaan, mitkä ei? Yleensä maksimoidaan tehtyjen töiden määrää, tai painotettua summaa – Painokertoimet kertovat työn arvon

4 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Rajoitukset Resursseja voi olla rajoitettu määrä:  Työvoima, työpisteet, työkalut Aikaikkunat voivat olla joustavia tai ei:  Joutoaikaa vai ei? Tässä keskitytään diskreettiaikaiseen tapaukseen

5 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Tyypin 1 aikatauluongelmat Työllä tietty määrä resurssivaatimuksia – Esim. henkilökunta, työkalut Resurssit identtisiä Jos resurssit eivät riitä yhtäaikaiseen suoritukseen, töitä ei voida suorittaa yhtäaikaa Yleensä työvoimarajoitteelliset työt Esimerkki: parturi, konepaja

6 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Tyypin 2 aikataulutusongelmat Kaikki resurssit uniikkeja Resurssi kykenee vain yhteen työhön kerrallaan Järjestä työt niin, että resurssit ovat käytettävissä Esimerkejä: Kokousaikataulut, kokeiden järjestäminen

7 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Esimerkki aikataulutusongelmasta Autovuokraamo  Vuokrataan autoja  Suoritusaika = vuokra-aika  Autoja vain rajallinen määrä käytössä  Vuokraamolla voi olla eri mallin autoja

8 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Joutoajattomat ajanvarausjärjestelmät

9 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Joutoajattomuus Töillä vapautusaika r j ja epäpäivä d j, sekä suoritusaika p j. Tarkat aikaikkunat: p j = d j – r j (!) m kpl koneita Painokertoimet w ij (työ j, koneessa i)  Esimerkiksi tuotteesta saatava tuotto  Voi riippua myös koneesta i. Tavoitteena maksimoida painotettua summaa

10 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Yleisen tapauksen ratkaisemisesta Kokonaislukuoptimointia NP-kova – Formulointi kuten aikaisemmin Erikoistapauksilla yksinkertaisempaa?

11 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Erikoistapauksia Kaikki suoritusajat p j = 1 => Saadaan joka ajanhetkelle omat optimointitehtävät Suhteellisen helppo

12 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Toinen erikoistapaus Suoritusajat vapaita Identtiset painot (w ij = 1) Työt voidaan suorittaa millä tahansa koneella Tavoitteena maksimoida suoritettujen töiden määrää Heuristiikka

13 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Suoritettujen töiden määrän maksimoiva heurestiikka J = systeemiin laitettujen töiden joukko N työtä Järjestä työt vapautusajan mukaan: r 1 < r 2 < r 3 <... < r n Vaihe 1: J = ф, j = 1

14 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Suoritettujen töiden määrän maksimoiva heurestiikka Vaihe 2:  Jos resurssi vapaa hetkellä r j, aseta j tälle resurssille ja lisää j joukkoon J. Mene vaiheeseen 4  Jos ei, mene vaiheeseen 3 Vaihe 3:  Valitse j* s.e. C j* = max (k є J) {r k + p k }  Jos C j = r j +p j > C j*, älä lisää työtä j. Siirry vaiheeseen 4.  Muuten poista työ j* ja lisää työ j aikatauluun ja joukkoon J. Mene vaiheeseen 4

15 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Suoritettujen töiden määrän maksimoiva heurestiikka Vaihe 4:  Jos j = n, eli kaikki työt käyty läpi, lopeta  Muuten, aseta j = j + 1 ja palaa vaiheeseen 2 Eli valitaan työ, jos se mahtuu aikatauluun. Jos se ei mahdu, poistetaan “huonoin” työ ja korvataan uudella.

16 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Joutoajalliset aikataulut

17 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Joutoajalliset aikataulut Kuten aikaisemmin, mutta nyt p j < d j - r j Töillä aikaikkuna, jonka aikana se täytyy suorittaa Nyt tutkitaan tapausta, jossa painot voivat olla erisuuria ja työt voidaan suorittaa vain tietyissä koneissa. Maksimoidaan painotettua summaa

18 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Merkintöjä Koneet, jolla työ j voidaan suorittaa M j |M j | on joukon M j koneiden lukumäärä Määritellään tärkeysfunktio I j = f(w j /p j, |M j |)  Kertoo kuinka tärkeä työ on suorittaa ensin  Mitä pienempi I j, sitä tärkeämpi työ  Loogisesti pitäisi laskea |M j |:n pienentyessä ja kasvaa w j /p j :n pienentyessä  Esimerkiksi f(w j /p j, |M j |) = |M j | / (w j /p j )

19 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Painotetun summan maksimin löytäminen Voitaisiin muotoilla kokonaislukutehtävänä  NP-kova Heurestiikalla päästään kuitenkin lähelle

20 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Painotetun summan maksimoiva heurestiikka Valmistelut: – Laske kullekin työlle tärkeysindeksit I j – Laske kullekin ajanhetkelle ja koneelle painokerroin ν it, joka kertoo kuinka monta eri työtä kone i pystyisi suorittaamaan hetkellä t – Määritellään joustavuusfunktio g(ν it+1 +ν it+2 + … + ν it+pj ) – Funktio g voidaan valita “vapaasti”, esim: – g(ν it+1 +ν it+2 + … + ν it+pj ) = ∑ k=1..pj (ν it+k )/p j

21 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Valmisteluja Heuristiikka pyrkii antamaan työn koneelle, jolla on joustavuus minimoituu Vaihe 1:  j = 1

22 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Painotetun summan maksimoiva heuristiikka Vaihe 2:  Ota työ j, ja valitse se resurssi ja aikaikkuna, jolla funktio g(ν it+1 +ν it+2 + … + ν it+pj ) saa pienimmän arvonsa.  Jos j:tä ei voi määrätä millekään koneelle, jätä se pois Vaihe 3:  Jos j = n, lopeta  Muuten aseta j = j+1

23 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Esimerkkitilanne 7 työtä, 3 konetta Suoritusajat, vapautusajat, eräpäivät, käyvät koneet ja painot taulukossa

24 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Esimerkkilasku Määritellään tärkeysfunktio I j = |M j |/(w j /p j )  Saadaan tärkeydet: Lasketaan ν-kertoimet: Valitaan g-funktioksi ∑ k=1..pj (ν it+k )/p j

25 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Esimerkkitapaus Työllä 7 on pienin tärkeys I j, joten aloitetaan siitä Lasketaan käyville koneille (1 ja 2) joustavuudet käyville aloitushetkille (t = 5... 11) Esim. g(i=1,t=5) = (6+6+6)/3 = 6 g(i=2,t=9) = (4+3+3)/3 = 1.333 Pienin arvo saadaan koneella 2, hetkellä t =11 Asetetaan aikatauluun tämä arvo.

26 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Esimerkkitapaus Seuraavaksi pienin I j arvo on työllä 6. Vain työ 1 on käypä ja ajanhetket t = 4...14. Pienin arvo löytyy hetkellä 14 Valitaan kone 1 ajanhetkellä 14 Jatketaan näin kunnes päästään loppuun Muista jo asetetut työt etsiessäsi käypiä aikoja!

27 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Esimerkin ratkaisu Ratkaisuksi saatiin

28 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Esimerkin analysointi Huomataan että työ 3 ei mahtunut lainkaan aikatauluun Optimaalisessa aikataulussa kuitenkin kaikki mahtuvat Vaihtamalla funktioita I j = f(w j /p j,|M j |) tai g(ν it ) saadaan erilaisia tuloksia Esimerkiksi jos f = |M j | 2 /(w j /p j ), saadaan tässä tehtävässä kuitenkin optimi Kts. kotitehtävä

29 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Työvoimarajoitusten optimointi

30 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Työvoimarajoitusten optimointi Äärettömästi koneita rinnakkain n työtä ja kaikki täytyy tehdä Työt voidaan tehdä millä tahansa koneella, mutta jos se aloitetaan, se täytyy tehdä loppuun samalla koneella Työ j vaatii työvoiman W j. Kokonaistyövoima W Jos W k + W j > W, töitä j ja k ei voida suorittaa yhtä aikaa

31 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Esimerkki Koeviikon järjestäminen: – Salissa W tuolia – Kurssilla j on W j opiskelijaa, jotka kaikki osallistuvat kokeeseen – Miten järjestät kaikki n koetta niin, että käytetty aika on mahdollisimman pieni?

32 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Työvoimarajoitusten optimointi Erikoistapaus:  Kaikki suoritusajat samoja  Ei edeltävyysvaatimuksia  Työntekijät voivat suorittaa mitä tahansa työtä Ongelma yksinkertaistuu lokerointiongelmaksi Miten pakkaat n esinettä mahdollisimman pieneen määrään laatikoita?

33 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Heuristiikka Kokonaislukutehtävä NP-kova Voidaan kuitenkin ratkaista First Fit (FF) -heuristiikalla. Heuristiikalle saadaan virhearvio:  C max (FF) <= 17/10 C max (OPT) +2

34 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 FF-heuristiikka Numeroidaan lokerot 1,2,3...  Lokerot esimerkiksi ajanhetkiä Vaihe 1:  Aseta j = 1 Vaihe 2:  Etsi ensimmäinen lokero, johon työ j mahtuu Vaihe 3:  Jos j = n, lopeta, muuten j = j+1

35 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Esimerkki FF-heuristiikasta 18 työtä, joilla työvoimantarpeet Wj Käytettävissä oleva työvoima W = 2100

36 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 FF:n tuottama ratkaisu Kokonaissuoritusaika 10 Lokerossa 1 työt 1-6 Lokeroissa 2-4 työt 7-12 pareittain Lokeroissa 5-6 työt 13-18 yksittäin

37 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Todellinen optimi Tehtävän oikea optimi saadaan esimerkiksi kokonaislukuoptimoinnilla Kokonaissuoritusaika 6, joka lokerossa 1 työ kutakin tyyppiä. C max (FF) <= 17/10 C max (OPT) + 2 ? 10 OK

38 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 FFD-heuristiikka FF-heuristiikkaa voidaan parantaa järjestämällä työt laskevasti W j :n mukaan. First Fit Decreasing (FFD) heuristiikka Parempi virhearvio:  C max (FFD) <= 11/9 C max (OPT) + 4

39 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Kertaus Ajanvarauksen skedulointi:  Työt suoritetaan tai ei, maksimoidaan määrä  Aikaikkunat Joutoajaton skedulointi  Lisäysheurestiikka Joutoajaton skedulointi  Painotetun summan maksimointiheuristiikka Työvoiman optimointi

40 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Kotitehtävä Ratkaise joustavan aikataulutuksen ongelma uudestaan, mutta nyt käytä tärkeysfunktiota I j = (|M j | ½ ) / (w j /p j ). Muuttuuko tulos? Onko edelleenkään optimi? Onko tulos parempi kuin alkuperäisellä tärkeysfunktiolla I j = |M j |/(w j /p j )? Laskut ovat helppoja, mutta niitä on kohtuullisen paljon. Kannattaa käyttää Exceliä apuna


Lataa ppt "S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 12 – Arttu Klemettilä Optimointiopin seminaari - Syksy 2009 Optimointiopin seminaari 2009."

Samankaltaiset esitykset


Iklan oleh Google