12. luento: Simplexin implementointi Mallinnusjärjestelmät. Simplexin implementointiin liittyviä asioita

Samankaltaiset tiedostot
Harjoitus 4: Matlab - Optimization Toolbox

Luento 11: Rajoitusehdot. Ulkopistemenetelmät

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Luento 4: Lineaarisen tehtävän duaali

Simplex-menetelm. S ysteemianalyysin. 3. luento: Suuret LP-tehtävät sekä operaatiot harvoilla vektoreilla ja matriiseilla

Computing Curricula raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä

6. Luennon sisältö. Lineaarisen optimoinnin duaaliteoriaa

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Demo 1: Simplex-menetelmä

Numeeriset menetelmät

Lineaarinen optimointi. Harjoitus 6-7, Olkoon A R m n, x, c R ja b R m. Osoita, että LP-tehtävän. c T x = min!

Parempaa äänenvaimennusta simuloinnilla ja optimoinnilla

Jälki- ja herkkyysanalyysi. Tutkitaan eri kertoimien ja vakioiden arvoissa tapahtuvien muutosten vaikutusta optimiratkaisuun

Mat Lineaarinen ohjelmointi

Optimaalisuusehdot. Yleinen minimointitehtävä (NLP): min f(x) kun g i (x) 0 h j (x) = 0

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Malliratkaisut Demot

Ovatko seuraavat väittämät oikein vai väärin? Perustele vastauksesi.

arvostelija OSDA ja UDDI palveluhakemistoina.

8. Ensimmäisen käyvän kantaratkaisun haku

Luento 3: Simplex-menetelmä

Käänteismatriisi 1 / 14

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

Mat Lineaarinen ohjelmointi

Malliratkaisut Demot

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

Kokonaislukuoptiomointi Leikkaustasomenetelmät

Copyright Observis Oy All rights reserved. Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa

Tentissä on viisi tehtävää, jotka arvosteellaan asteikolla 0-6. Tehtävien alakohdat ovat keskenään samanarvoisia ellei toisin mainita.

Algoritmit 1. Luento 1 Ti Timo Männikkö

Johdatus verkkoteoriaan luento Netspace

Malliratkaisut Demot

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla

Numeeriset menetelmät

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Harjoitus 8: Excel - Optimointi

Lineaarinen optimointitehtävä

Numeeriset menetelmät TIEA381. Luento 4. Kirsi Valjus. Jyväskylän yliopisto. Luento 4 () Numeeriset menetelmät / 44

Sekalukuoptimointi. Lehtonen, Matti Matemaattisen ohjelmoinnin seminaari, Tietojenkäsittelytieteen laitos Helsingin Yliopisto

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

Osakesalkun optimointi

Este- ja sakkofunktiomenetelmät

Avoimen ja jaetun tiedon hyödyntäminen. Juha Ala-Mursula BusinessOulu

TTY Porin laitoksen optimointipalvelut yrityksille

ohjelman arkkitehtuurista.

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Page 1 of 9. Ryhmä/group: L = luento, lecture H = harjoitus, exercises A, ATK = atk-harjoitukset, computer exercises

Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA,

Kon Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Otanta-aineistojen analyysi (78136, 78405) Kevät 2010 TEEMA 3: Frekvenssiaineistojen asetelmaperusteinen analyysi: Perusteita

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

Testidatan generointi

Matemaattinen optimointi I, demo

TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio. Kimmo Berg. Mat Optimointioppi. 9. harjoitus - ratkaisut

ENSIHOITOMALLINNUS. Malli laskee asemapaikkojen määrän ja sijainnin, ambulanssien määrän, palvelun peittoprosentin ja kustannukset

811312A Tietorakenteet ja algoritmit I Johdanto

Työn ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Malliratkaisut Demot

Ohjelmiston toteutussuunnitelma

Numeeriset menetelmät

KODAK EIM & RIM VIParchive Ratkaisut

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

Mat Lineaarinen ohjelmointi

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

Kuljetustehtävä. Materiaalia kuljetetaan m:stä lähtöpaikasta n:ään tarvepaikkaan. Kuljetuskustannukset lähtöpaikasta i tarvepaikkaan j ovat c ij

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

3 Verkkosaavutettavuuden tekniset perusteet

Heikki Helin Metatiedot ja tiedostomuodot

Symbolinen laskenta (MAT180,1ov)

Projektinhallintaa paikkatiedon avulla

Malliratkaisut Demot 6,

Matematiikka B2 - TUDI

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

Inversio-ongelmien laskennallinen peruskurssi Luento 3

monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi Ohjaaja: Prof. Kai Virtanen Valvoja: Prof.

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

Optimointi. Etsitään parasta mahdollista ratkaisua annetuissa olosuhteissa. Ongelman mallintaminen. Mallin ratkaiseminen. Ratkaisun analysointi

Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto

1. Olio-ohjelmointi 1.1

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

13/20: Kierrätys kannattaa koodaamisessakin

Mat Lineaarinen ohjelmointi

Lineaaristen monitavoiteoptimointitehtävien

Rinnakkaisohjelmistot. Liisa Marttinen Tietojenkäsittelytieteen laitos Helsingin yliopisto Kevät 2004

73125 MATEMAATTINEN OPTIMOINTITEORIA 2

Tietojenkäsittelytieteiden koulutusohjelma. Tietojenkäsittelytieteiden laitos Department of Information Processing Science

Matematiikka B2 - Avoin yliopisto

Matematiikka ja teknologia, kevät 2011

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Rakenteiset dokumentit Mitä hyötyä niistä on?

Uudelleenkäytön jako kahteen

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

Transkriptio:

Simplex-menetelm menetelmän laskennalliset tekniikat 12. luento: Simplexin implementointi Mallinnusjärjestelmät Matemaattisten algoritmien ohjelmointi Kevät 2008 / 1 Simplexin implementointiin liittyviä asioita Parametrit Profilointi Vaihtoehtoisia tekniikoita Simplex-toteutuksen prototyyppi Mallinnusjärjestelmä Open Optimization Framework (OOF) Matemaattisten algoritmien ohjelmointi Kevät 2008 / 2 1

Parametrit Parametrit tiedostona tai käyttöliittymän kautta Merkkijonoparametrit: MPS-tiedoston nimi Muuttujien, rajoitteiden yms. nimet Algoritmiparametrit: Primaali/duaali Aloituskanta Hinnoittelu Numeeriset parametrit: Minimointi/maksimointi Iteraatioiden määrä, toleranssit jne. Matemaattisten algoritmien ohjelmointi Kevät 2008 / 3 Profilointi Simplex-komponenttien käyttämä aika 50 % 45 % 40 % 35 % 30 % 25 % 20 % 15 % 10 % 5 % 0 % 32,2 % 19,1 % 15,5 % 12,5 % 9,1 % 4,3 % 1,3 % CHKFEZ BTRAN PRICE FTRAN CHUZRO FACTOR HUZKEP Matemaattisten algoritmien ohjelmointi Kevät 2008 / 4 2

Superkantamuuttujat Aiemmin oletettu, että ei-kantamuuttujat ovat jollakin äärellisellä rajallaan Ei-kantamuuttuja voi saada arvon l < x < u, j R j j j Käytetään esim. kannan degeneroitumisasteen pienentämiseksi Hinnoittelussa voidaan käsitellä vapaina muuttujina, kuitenkin huomioiden äärelliset ala- ja ylärajat Simplex-iteroinnin loputtua jäljelle jääneet superkantamuuttujat asetetaan jollekin rajallensa Matemaattisten algoritmien ohjelmointi Kevät 2008 / 5 Rivikanta Kannattaa käyttää, jos rakenteellisten muuttujien määrä pienempi kuin rajoitteiden määrä, n < m Rajoitematriisi A ositetaan riveittäin aktiivisten ja passiivisten rajoitteiden mukaan B b B A =, b =, B = 1, K, n, R = n + 1, K, m R b R Rajoitteet saadaan ositettuun muotoon: Bx = b Ax b Rx b B R { } { } Matemaattisten algoritmien ohjelmointi Kevät 2008 / 6 3

Simplex-toteutuksen prototyyppi Vähintään primaali-simplex, MILP-tehtäviä varten tarvitaan myös duaali MPS-tiedoston luku Esikäsittely Aloituskannan haku Kannan käänteismatriisin käsittely Hinnoittelustrategiat Sarakkeen ja rivin päivitys Pivotointi Algoritmin ohjaus Ratkaisun tulostus Matemaattisten algoritmien ohjelmointi Kevät 2008 / 7 Matemaattisen ohjelmoinnin yleistyminen Työkalujen kehittyminen on helpottanut optimointimallien toteuttamista ja ratkaisemista Mallin esitysmuoto kehittynyt hitaammin kuin ratkaisutekniikat Mallien siirrettävyys ja uudelleen käyttäminen ei ole ollut mahdollista Käytännön mallit yleensä osana suurempaa ohjelmistoa, esim. päätöksenteon tukijärjestelmät, ohjausalgoritmit Joustavuuden puute estänyt laajan kaupallisen käytön Matemaattisten algoritmien ohjelmointi Kevät 2008 / 8 4

Vaatimukset mallin esitysmuodolle Yleisyys Mallin ja sen instanssin riippumattomuus Yksi esitysmuoto Usean näkökulman tukeminen Toimittajariippumattomuus Siirrettävyys Selkeät vastuut esim. mallin esitysmuodolle ja ratkaisun hakemiselle Hajautettu optimointi Internetin hyödyntäminen Avoin ja vapaa jakelu Matemaattisten algoritmien ohjelmointi Kevät 2008 / 9 Mallin esitysmuoto Matriisigeneraattorit Ohjelmakirjasto Generoi ja ratkaisee optimointitehtäviä Mallinnuskielet (MPS) Matriisigeneraattoreiden tiedostomuoto Otettiin käyttöön ratkaisualgoritmien eri toteutuksissa Algebralliset mallinnuskielet (GAMS, AMPL, MPL) Tehtävät annetaan symbolisessa muodossa Muunnetaan matalan tason muotoon, jonka ratkaisualgoritmi voi lukea Rakenteellinen mallintaminen (SML) Matemaattisten algoritmien ohjelmointi Kevät 2008 / 10 5

Matriisigeneraattori Matemaattisten algoritmien ohjelmointi Kevät 2008 / 11 Matriisigeneraattorin ominaisuudet Matalan tason esitysmuoto työläs ja virhealtis (esim. MPS) Mallia ja sen instanssia ei erotella Alustariippumattomuus toteutuu Erilaisia esitysmuotoja on olemassa runsaasti, joista suurin osa on ei-standardeja MPS-muotoa tukee käytännössä kaikki ratkaisualgoritmien toteutukset Matemaattisten algoritmien ohjelmointi Kevät 2008 / 12 6

Aliohjelmakirjasto Matemaattisten algoritmien ohjelmointi Kevät 2008 / 13 Aliohjelmakirjaston heikkoudet Siirrettävyys ja joustavuus rajoitettua Käytännössä sitoo yhteen tiettyyn ratkaisualgoritmin toteutukseen Voi olla mahdotonta hyödyntää ratkaisu-, ohjelmistoja laitteistotekniikoiden kehitystä Kullekin ratkaisumenetelmälle voidaan tehdä ajuri, jota käytetään dynaamisesti tehtävätyypistä riippuen N ratkaisumenetelmälle tarvitaan N ajuria, mikä on työlästä, aikaa vievää ja kallista Matemaattisten algoritmien ohjelmointi Kevät 2008 / 14 7

Mallinnusjärjestelm rjestelmä mallin välittv littäjänä Matemaattisten algoritmien ohjelmointi Kevät 2008 / 15 Mallinnusjärjestelm rjestelmän n heikkoudet Mallin käyttö rajoittuu käytettyyn mallinnusjärjestelmään Jos tarvitaan useaa eri ratkaisualgoritmia, näiden rajapinta voidaan jättää mallinnusjärjestelmän huoleksi Tällöin pitää löytää mallinnusjärjestelmä, josta löytyy riittävästi ominaisuuksia Suurin osa mallinnusjärjestelmistä keskittyy vain muutamaan mallityyppiin Parhaimmillaan hyvin joustamaton, pahimmillaan mahdoton toteuttaa Matemaattisten algoritmien ohjelmointi Kevät 2008 / 16 8

Uusia tuulia SNOML ja OptML ovat matriisitason XML-kieliä LPtehtävien instanssien kuvaukseen SNOML tukee rajoitetusti stokastista optimointia, OptML ei lainkaan Matriisimuodon etuna mahdollisesti helpommin löydettävissä oleva yksikäsitteinen standardi Oletetaan m mallinnuskieltä ja n ratkaisualgoritmia: jos SNOML- tai OptML-pohjainen standardi, tarvitaan m+n ajuria jos standardia ei ole, tarvitaan mn ajuria Matemaattisten algoritmien ohjelmointi Kevät 2008 / 17 Open Optimization Framework Algebraic Markup Language (AML) Optimization Reporting Markup Language (ORML) Optimization Service Connectivity Protocol (OSCP) Web Services Optimization Protocol (WSOP) Matemaattisten algoritmien ohjelmointi Kevät 2008 / 18 9

Algebraic Markup Language AML pohjautuu rakenteelliseen mallintamiseen (Structured Modeling Language, SML) Hierarkinen rakenne mallille Algebrallinen esitysmuoto yhtälöille Mallin instanssin tiedot Riittävän joustava tukemaan suurinta osaa optimointitehtävien tyypeistä AML:stä löytyy mm. operaattorit, joukot, attribuutit ja funktiot Matemaattisten algoritmien ohjelmointi Kevät 2008 / 19 Optimization Reporting Markup Language Matemaattisten algoritmien ohjelmointi Kevät 2008 / 20 10

Optimization Service Connectivity Protocol Matemaattisten algoritmien ohjelmointi Kevät 2008 / 21 OSCP arkkitehtuuri Matemaattisten algoritmien ohjelmointi Kevät 2008 / 22 11

Web Services Optimization Protocol Matemaattisten algoritmien ohjelmointi Kevät 2008 / 23 Kirjallisuutta Ezechukwu, O.C. and Maros, I. (2003). OOF: Open Optimization Framework. Technical Report, Imperial College London, UK, April 2003. Geoffrion, A.M. (1987). An introduction to structured modeling. Management Science, 33(5), 547-588. Maros, I. and Mészáros, C. (1999). A repository of convex quadratic programming problems. Optimization Methods and Software, 11&12, 671-681. Maros, I. and Mitra, G. (2000). Investigating the Sparse Simplex Algorithm on a Distributed Memory Multiprocessor. Parallel Computing 26, 151-170. Murtagh, B. (1981). Advanced Linear Programming: Computation and Prcatice. McGraw-Hill. Nazareth, J. (1987). Computer Solution of Linear Programs. Oxford University Press, New York, Oxford. Matemaattisten algoritmien ohjelmointi Kevät 2008 / 24 12