S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 Työpajan skedulointi rajoiteohjelmoinnilla & LEKIN: Työpajan skedulointiohjelma
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 Rajoiteohjelmointi Alunperin tekoälyohjelmoinnin työväline Ohjelmalle määritellään rajoitteet Ohjelma etsii ratkaisun joka on käypä Esim. Rajoiteohjelmointia voidaan käyttää etsimään työpajalle aikataulu jonka kokonaispituus on pienempi kuin d
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 Työpajan rajoiteohjelmointi: Yksityiskohtainen algoritmi Etsi aikaisimmat aloitusajat ja myöhäisimmät lopetusajat ilman resurssirajoituksia (CPM) Käy läpi resurssirajoitukset kaikille tehtäväpareille seuraavassa järjestyksessä –Jos tilanne on mahdoton => nykyinen tilanne on epäkäypä. –Jos työ A täytyy tehdä ennen työtä B, niin muokkaa aloitus- ja lopetusaikoja rajoituksen mukaan. –Jos työt voidaan tehdä kummassa järjestyksessä tahansa, valitse toinen ja muokkaa aloitus- ja lopetusaikoja tämän valinnan mukaan.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 Työpajan rajoiteohjelmointi: Aloitus ja lopetusajat (CPM) Lasketaan CPM:n avulla aikaikkunat joissa työt täytyy tehdä Määritellään kahden työn, j ja k, ylijäämä(slack) koneella i seuraavasti:
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 Työpajan rajoiteohjelmointi: Resurssirajoitteet Jos ja, niin j työ edeltää työtä k koneella i Jos ja, niin nykyinen ratkaisu on epäkäypä Jos ja, niin työt voidaan tehdä kummassa järjestyksessä tahansa
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 Työpajan rajoiteohjelmointi: Vaihtoehtojen valitseminen Vaihtoehtojen järkevä valitseminen on avainasemassa rajoiteohjelmoinnissa. Ratkaisee kuinka nopeasti algoritmi suppenee hyvää ratkaisua kohti. Missä järjestyksessä työparit käydään läpi? Kumpi töistä tehdään ensiksi?
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 Työpajan rajoiteohjelmointi: Vaihtoehtojen valitseminen Työparien läpikäynnin heuristiikka: Suositaan tilannetta joka säilyttää mahdollisimman paljon joustavuutta Yksinkertainen estimaatti työparin joustavuuden laskemiseksi: Parempi estimaatti: Yksittäisen työparin järjestyksestä valitaan joustavin
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 Työpajan rajoiteohjelmointi: Esimerkki
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 Työpajan rajoiteohjelmointi: optimointimenetelmä Rajoiteoptimointia voidaan käyttää etsimään optimi muuttamalla etsittävän aikataulun pituutta Esim. puolitushaun avulla
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 LEKIN: Ohjelma työpajan skedulointiin Yliopistossa kehitetty ohjelma opetus- ja tutkimuskäyttöön Suunniteltu algoritmien suunnitteluun ja testaukseen Erilaisia ympäristöjä: yksittäiset (rinnakkaiset) koneet, (joustava) tuotantolinja, (joustava) konepaja
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 LEKIN: Graafinen käyttöliittymä Koneiden tiedot Töiden tiedot Töiden järjestys Gantt-graafi Algoritmien vertailu ja lokikirja
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 LEKIN: koneiden ja töiden tiedot Koneiden tiedot: lukumäärä, saatavuus Töiden tiedot: Lukumäärä, julkaisupvm, määräaika, prioriteetti, paino, prosessointiajat, asetusaika-matriisi
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 LEKIN: Gantt-graafi Aika x-aksellilla, Työt y-akselilla Ensimmäinen aikataulu generoidaan valitsemalla algoritmi Semiaktiivinen aikataulu Mahdollisuus myös muokata aikatauluja käsin Klikkaamalla työtä näkee työn tietoja
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 LEKIN: Algoritmit Peukalosäännöt(dispatching rules) –EDD(earlies due date), WSPT(weighted shortest processing time) Pullonkaula-algoritmi Lokaali haku Joustavan työpajan heuristiikka (yhdistelmä pullonkaula-algoritmistä ja lokaalista hausta)
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 LEKIN: Tavoitefunktiot Kokonaissuoritusaika(makespan) Maksimimyöhästyneisyys Myöhässä olevien töiden määrä (painotettu) Suoritusaika(flow time) (painotettu) Kokonaismyöhästyneisyys
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 LEKIN: algoritmien testaus Automaattinen lokitus Tuloksien vertailu (mm. Moniulotteinen graafi) Mahdollisuus myös omien algoritmien tekoon ja linkittämiseen ohjelmaan
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 Yhteenveto Rajoiteohjelmoinnilla löydetään jokin ratkaisu. Soveltuu myös optimaalisen ratkaisun etsimiseen. LEKIN: Algoritmien suunnitteluun ja opetukseen kehitetty ohjelmisto Seuraavana vielä kotitehtävä Kysymyksiä?