Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuEeva-Liisa Kapulainen Muutettu yli 9 vuotta sitten
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
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.