Kon Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö

Samankaltaiset tiedostot
Matemaattinen optimointi I, demo

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

Aki Taanila LINEAARINEN OPTIMOINTI

Demo 1: Simplex-menetelmä

Jypelin käyttöohjeet» Ruutukentän luominen

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

Sisältö. 2. Taulukot. Yleistä. Yleistä

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Sisältö. 22. Taulukot. Yleistä. Yleistä

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Harjoitus 4: Matlab - Optimization Toolbox

Demo 1: Branch & Bound

Moottorin kierrosnopeus Tämän harjoituksen jälkeen:

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Harjoitus 5 (viikko 48)

Ohjeita LINDOn ja LINGOn käyttöön

Malliratkaisut Demot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

Harjoitus 8: Excel - Optimointi

Web Services tietokantaohjelmoinnin perusteet

Lineaarinen optimointitehtävä

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Luento 3. Timo Savola. 7. huhtikuuta 2006

Automaattitilausten hallinta. Automaattitilauksien uudistettu käsittely

Kuva 7.2 vastaustaulu harjoitukseen 7.2

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006

Johdatus Ohjelmointiin

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Visma Business AddOn Tositteiden tuonti. Käsikirja

SEM1, työpaja 2 ( )

Matematiikan tukikurssi, kurssikerta 3

Kon Hydrauliikka ja pneumatiikka Tutkimustehtävät - info

SCI- A0000: Tutustuminen Linuxiin, syksy 2015

KÄYTTÖOHJE. Servia. S solutions

Psoriasisliitto Nettijäsenrekisterin Koulutustilaisuus Nettijäsenrekisterin ohje

18 LIITTYMÄT MUIHIN JÄRJESTELMIIN

Luetteloivat ja heuristiset menetelmät. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

4. Luokan testaus ja käyttö olion kautta 4.1

TTY TKT-1110 Mikroprosessorit TKT. HEW-ohjeet ver 1.0

Osakesalkun optimointi

Demo 1: Excelin Solver -liitännäinen

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

ITKP102 Ohjelmointi 1 (6 op)

Hakemistojen sisällöt säilötään linkitetyille listalle.

Ohjelmoinnin perusteet Y Python

OKLV120 Demo 7. Marika Peltonen

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

Ohjelmoinnin perusteet Y Python

Malliratkaisut Demot

Mat Lineaarinen ohjelmointi

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

Pedacode Pikaopas. Web-sovelluksen luominen

TEEMA 2 TAULUKKODATAN KÄSITTELY JA TIEDON VISUALISOINTI

Sisäänkirjaus Uloskirjaus. Yritystieto

Matematiikka B2 - Avoin yliopisto

Ratkaisuehdotukset LH 7 / vko 47

Tehtäväsarja I Kertaa tarvittaessa materiaalin lukuja 1 3 ja 9. Tarvitset myös luvusta 4 määritelmän 4.1.

Talousmatematiikan perusteet: Luento 12. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Ohjelmoinnin perusteet Y Python

E-RESULTS LITE -OHJEET

Tervetuloa käyttämään ehopsia

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

1. Mitä tehdään ensiksi?

Talousmatematiikan perusteet: Luento 11. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

Piiri K 1 K 2 K 3 K 4 R R

MICROSOFT EXCEL 2010

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Trimmitysongelman LP-relaksaation ratkaiseminen sarakkeita generoivalla algoritmilla ja brute-force-menetelmällä

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Sonera Viestintäpalvelu VIP VIP Laajennettu raportointi Ohje

Matlab- ja Maple- ohjelmointi

Harjoitus 6 ( )

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

Tietokannan luominen:

Kirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta.

VisualStudio Pikaopas, osa 1: WEB-sivujen suunnittelu

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

3 PAIKKATIETOHARJOITUSTA

Luento 4. Timo Savola. 21. huhtikuuta 2006

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

KÄYTTÖÖN. Koulukirjat tietokoneelle PIKAOHJEET PAPERPORT -OHJELMAN. Sisällysluettelo

LUT Moodle -opiskelijan opas 2014

Mathcad Flexnet lisenssipalvelimen asennus

Malliratkaisut Demot

LUENTO 7 TAULUKKOLASKENTA I

Lineaariset kongruenssiyhtälöryhmät

2013 -merkistä tunnistat uudet ominaisuudet

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Microsoft Project 2007 KÄYTÖN PERUSTEET. Kari J Keinonen Koulutus

Tutoriaaliläsnäoloista

GIS-ANALYYSI PAIKKATIETOIKKUNASSA. Matias Järvinen 2019

MetropAccess- workshop Tutustuminen MetropAccess- Reitittimen toimintaan

Transkriptio:

Kon-15.4199 Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö 22.1.2016

Harjoituksessa 1. Varmistetaan että kaikilla on pari! Ilmoittautukaa oodissa etukäteen! 2. Tutustutaan ensimmäiseen tehtävään 3. Luodaan Ilog CPLEX Studio ohjelmalla OPL-projekti ja haetaan Aikataulutus-harjoituksen mod ja dat tiedostot siihen. 4. Tutkitaan mod ja dat tiedostojen rakennetta. Laitetaan puolen tunnin (1800s) laskentarajoite ops-tiedostoon 5. Ajetaan alkuperäinen malli, tutkitaan ohjelman tulosteita 6. Lisätään excel-luku ja kirjoitus. Luetaan harjoitustyön tiimikohtaiset datat. 7. Muokataan alkuperäistä mallia siten, että se toimii FIFOperiaatteella 8. Prosessointiajat ja eräpäivät kopioidaan edelleen exceliin ja esitellään miten Gantt-kaavion piirto toimii. (DEMO)

Harjoituksen tehtävä 4:n Koneen tuotantolinja, jossa työt voivat ohittaa toisensa. 10 tilausta, joilla eräpäivät Tehtävässä aikataulutetaan tilaukset siten, että töiden myöhästymiä minimoidaan Tehtävänanto mycoursesista

Projektin luominen 1. Käynnistä ILOG CPLEX studio ohjelma all programs, IBM ILOG, Cplex optimization studio CPLEX studio IDE 1. Luo uusi projekti: File New OPL Project ja valitse 1. Projektin nimi ja polku ( Aikataulutus ) 2. Luo samalla Configuration,Model, Data, Settings osiot projektiin rastittamalla ne

Mod tiedosto MOD-tiedosto sisältää optimointimallin. Sen rakenne on seuraava: 1. Parametrit: Parametrien tyypit: boolean(binaariluku 0/1), int(kokonaisluku), Float - (desimaaliluku). Dvar tyypin edessä kertoo että muuttuja on päätösmuuttuja. Jos tätä ei ole on kyseessä parametri, jonka arvo pitää asettaa ohjelmalle (esim. int A=1;). arvon kohdalla kertoo, että parametrin arvo haetaan datatiedostosta (Esim. int A= ;). Dvar muuttujien tyypin eteen voi lisätä +:n, joka rajoittaa muuttujan einegatiiviseksi. Parametrit ja muuttujat voi määritellä taulukoiksi lisäämällä nimen jälkeen [1..Taulukonkoko]. Taulukot voivat olla moniulotteisia, esim. kaksiulotteinen X*Y kokonainen taulukko A määritellään lauseella A[1..Y][1..X]. Yksittäiseen taulukon alkioon (x,y) voi määrittelyn jälkeen viitata komennolla A[x][y].

Mod tiedosto(2) 2. Tavoitefunktio: minimointi Minimize [Lauseke] tai maksimointi maximize [Lauseke] 3. Rajoitukset: Alkavat subject to { kohdan jälkeen, loppuvat viimeisen } merkin jälkeen Forall(i in 1 I) lausekkeella voi luoda samalla kertaa useampia rajoituksia käymällä esim. muuttujan kaikki arvot lävitse. <=, >=, == komennoilla asetetaan suurempi-kuin, pienempi-kuin ja yhtäsuuruus rajoitteita Lausekkeissa voi käyttää mm. seuraavanlaisia käskyjä +, -, * max(i in 1 I) A[i] min(i in 1 I) A[i] sum(i in 1..I) A[i] ; Lopettaa rivin // komennolla voi kommentoida rivin pois käytöstä

Dat tiedosto Dat-tiedosto sisältää datat mod-tiedostossa oleviin parametreihin Jos mod-tiedostossa on esimerkiksi parametri Int A[1 4]= ; Niin dat-tiedostossa pitää olla vastaavasti sen arvot A=[2,1,3,5]; Tiedostoon voi luoda luku ja kirjoitustoiminnot exceliin. Yhteys exceliin esimerkki.xlsx luodaan komennolla: SheetConnection sheet("esimerkki.xlsx");. Excelin täytyy tällöin olla projektin hakemistossa Luku: A from SheetRead(sheet, A1:A4 ) ; Kirjoitus: A to SheetWrite(sheet, C1:D5 ); Ohjelma osaa automaattisesti tunnistaa taulukon asennon jos taulukon sarakkeiden ja rivien määrä ei ole sama. Excel-tiedosto ei voi olla auki samaan aikaan kun ohjelma kirjoittaa tuloksia siihen.

Ilog CPLEX-ympäristö Optimointimallin saa käynnistettyä OPLprojects kohdasta hiiren oikealla napilla ja valitsemalla Run default Run Configuration Mahdolliset virheet tulevat tämän jälkeen näkyviin problem kohtaan Jos ratkaisin käynnistyy, näkyy statistics ruudussa tietoja laskennan edistymisestä. Ratkaisut tulevät näkyviin Solutions - kohtaan.

Mitä CPLEX tekee kun se ratkaisee mallin? CPLEX etsii ja antaa tulokseksi ratkaisun, joka on optimaalinen eli paras mahdollinen tavoitefunktion näkökulmasta siten että rajoitteet ovat voimassa. CPLEX käyttää ratkaisemiseen mm. seuraavia menetelmiä: Normaalit lineaariset mallit ratkaistaan Simplex- tai sisäpistemenetelmällä(engl. inner point method ) Kokonaislukurajoituksiin käytetään branch-and-bound idealla toimivia ratkaisua. Varsinainen ratkaisin on kaupallisen CPLEX-ohjelman ydin ja sen vuoksia kaikkia ohjelman käyttämiä menetelmiä ei ole kerrottu julkisuuteen. Sisäisesti CPLEX varmistaa myös, että ratkaisu on varmasti optimaalinen. Jos laskenta kestää kauan, todistukseen liittyvät arvot näkyvät statistics ruudussa. Esim. minimoitaessa arvot ovat seuraavat: Yläraja (Upper bound): kuvaa sitä löytynyttä ratkaisua, jolla on pienin tavoitefunktion arvo Alaraja(Lower bound): kuvaa sitä tavoitefunktion arvoa, jota pienempia ratkaisuja ei ole olemassa. Kun nämä rajat kohtaavat, on optimaalinen tulos löytynyt Yllä mainitut asiat eivät kuulu varsinaisesti kurssiin sisältöön. Niistä löytyy kuitenkin paljon materiaalia kirjallisuudesta ja internetistä.

Gantt-kaavio Excel gantt-kaavioiden luomiseen löytyy mycoursesista (harjoitustyöt->muu materiaali)

Lisäohjeita Löytyy mycourses:n Muu materiaali - kohdasta