Dynaaminen optimointi



Samankaltaiset tiedostot
Diskreettiaikainen dynaaminen optimointi

Kokonaislukuoptimointi

Esimerkkejä kokonaislukuoptimointiongelmista

Algoritmit 1. Luento 13 Ti Timo Männikkö

Harjoitus 4: Matlab - Optimization Toolbox

Päätöksentekomenetelmät

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria


TIEA382 Lineaarinen ja diskreetti optimointi

Piiri K 1 K 2 K 3 K 4 R R

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Epäyhtälön molemmille puolille voidaan lisätä sama luku: kaikilla reaaliluvuilla a, b ja c on voimassa a < b a + c < b + c ja a b a + c b + c.

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

ARVIOINTIPERIAATTEET

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

ESTON LASKENTA VERKOSSA

Luento 6: Monitavoitteinen optimointi

Kombinatorinen optimointi

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luento 6: Monitavoiteoptimointi

Algoritmit 2. Luento 13 Ti Timo Männikkö

Numeeriset menetelmät

Lukion. Calculus. Polynomifunktiot. Paavo Jäppinen Alpo Kupiainen Matti Räsänen Otava PIKATESTIN JA KERTAUSKOKEIDEN TEHTÄVÄT RATKAISUINEEN

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

monissa laskimissa luvun x käänteisluku saadaan näyttöön painamalla x - näppäintä.

Päätöksentekomenetelmät

Algoritmit 1. Luento 13 Ma Timo Männikkö

min x x2 2 x 1 + x 2 1 = 0 (1) 2x1 1, h = f = 4x 2 2x1 + v = 0 4x 2 + v = 0 min x x3 2 x1 = ± v/3 = ±a x 2 = ± v/3 = ±a, a > 0 0 6x 2

Päätöksentekomenetelmät

Y56 Laskuharjoitukset 4 Palautus viim. ti klo (luennolla!) Opiskelijan nimi. Opiskelijanumero

Kenguru 2016 Mini-Ecolier (2. ja 3. luokka) Ratkaisut

Malliratkaisut Demo 1

1 Rajoitettu optimointi I

MS-C2105 Optimoinnin perusteet Malliratkaisut 5

Lisää segmenttipuusta

, tuottoprosentti r = X 1 X 0

Mat Sovellettu todennäköisyyslasku 5. harjoitukset/ratkaisut. Jatkuvat jakaumat

Prof. Marko Terviö Assist. Jan Jääskeläinen

Prosenttilaskuja osakeseurannan avulla

(p j b (i, j) + p i b (j, i)) (p j b (i, j) + p i (1 b (i, j)) p i. tähän. Palaamme sanakirjaongelmaan vielä tasoitetun analyysin yhteydessä.

Jos osaat säästää rahaa, osaat myös tehdä sitä.

30 + x ,5x = 2,5 + x 0,5x = 12,5 x = ,5a + 27,5b = 1,00 55 = 55. 2,5a + (30 2,5)b (27,5a + 27,5b) =

4.1. Olkoon X mielivaltainen positiivinen satunnaismuuttuja, jonka odotusarvo on

Hypoteesin testaus Alkeet

Algoritmit 2. Luento 8 Ke Timo Männikkö

Aluksi Kahden muuttujan lineaarinen epäyhtälö

TALOUSTIETEEN LUENTOJEN TEHTÄVÄT

Malliratkaisut Demot

Matematiikan tukikurssi

Funktioiden approksimointi ja interpolointi

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

Pelivaihtoehtoja. Enemmän vaihtelua peliin saa käyttämällä erikoislaattoja. Jännittävimmillään Alfapet on, kun miinusruudut ovat mukana pelissä!

Luento 5: Peliteoriaa

Johdatus diskreettiin matematiikkaan Harjoitus 7,

Turun seitsemäsluokkalaisten matematiikkakilpailu Ratkaisuita

Mat Dynaaminen optimointi, mallivastaukset, kierros 5

Investointimahdollisuudet ja investoinnin ajoittaminen

Harjoitus 8: Excel - Optimointi

Luento 4: Lineaarisen tehtävän duaali

Monitavoiteoptimointi

Taloustieteen perusteet 31A Mallivastaukset 3, viikko 4

Y56 laskuharjoitukset 5

MAA10 HARJOITUSTEHTÄVIÄ

Raskaan kaluston parhaat palat

4 Kertausosa. Kertausosa. 1. a) (1, 2) ja ( 3, 7) 41 6, ,4. b) ( 5, 8) ja ( 1, 10) 10 ( 8) 1 ( 5) , ,4

1 2 x2 + 1 dx. (2p) x + 2dx. Kummankin integraalin laskeminen oikein (vastaukset 12 ja 20 ) antaa erikseen (2p) (integraalifunktiot

8 Yritys kilpailullisilla markkinoilla (Mankiw & Taylor, Ch 14)

Haluatko parempaa tuottoa rahoillesi?

Kuntosaliharjoittelun kesto tunteina Kokonaishyöty Rajahyöty

3. laskuharjoituskierros, vko 6, ratkaisut

Uusien keksintöjen hyödyntäminen

Kustannusten minimointi, kustannusfunktiot

Arvo (engl. value) = varmaan attribuutin tulemaan liittyvä arvo. Päätöksentekijä on riskipakoinen, jos hyötyfunktio on konkaavi. a(x) = U (x) U (x)

[xk r k ] T Q[x k r k ] + u T k Ru k. }.

Maalämpöjärjestelmän hankinta. Keski-Suomen Energiatoimisto

Harjoitus 9: Optimointi I (Matlab)

Cloetta Fazer -konsernin osavuosikatsaus tammi-maaliskuu 2002

Aktian vuoden 2016 liikevoiton odotetaan pysyvän suunnilleen samalla tasolla kuin 2015.

finnish BOI 2015, päivä 1. Muistiraja: 256 MB

f(x, y) = x 2 y 2 f(0, t) = t 2 < 0 < t 2 = f(t, 0) kaikilla t 0.

Demo 1: Excelin Solver -liitännäinen

Nollasummapelit ja bayesilaiset pelit

Ratkaisuehdotukset Kesäyliopisto Kuvassa on esitetty erään ravintolan lounasbuffetin kysyntäfunktio.

Optimoinnin sovellukset

2.7 Neliöjuuriyhtälö ja -epäyhtälö

Ohjelmoinnin peruskurssi Y1

Diskreetit rakenteet

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

1 Rajoitettu optimointi II - kustannusfunktio, Lagrangen kertoimet varjohintoina

2. Uusiutuvat luonnonvarat: Kalastuksen taloustiede

1 Eksergia ja termodynaamiset potentiaalit

Jos siis ohjausrajoitusta ei olisi, olisi ratkaisu triviaalisti x(s) = y(s). Hamiltonin funktio on. p(0) = p(s) = 0.

Luento 7. June 3, 2014

Java-kielen perusteet

Algoritmit 1. Luento 12 Ti Timo Männikkö

Apteekkien työntekijöiden apteekkikohtainen erä

2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma muuttaa parametrejaan tai globaaleja muuttujia, tulostaa jotakin jne.

Mikrotaloustiede Prof. Marko Terviö Aalto-yliopiston 31C00100 Syksy 2015 Assist. Salla Simola kauppakorkeakoulu

Numeeriset menetelmät

Ostokset verkkokaupoista 1-6/2010 (yhteensä 4767 miljoonaa euroa)

Transkriptio:

Dynaaminen optimointi Tapa ratkaista optimointitehtävä Tehtävä ratkaistaan vaiheittain ja vaiheet yhdistetään rekursiivisesti Perustuu optimaalisuusperiaatteeseen: Optimaalisen ratkaisupolun loppuosa on optimaalinen myös tehtävälle, jossa tarkastellaan vain loppuosaa omana tehtävänään 1

Koneen optimaalinen vaihto Tarkastellaan N:n vuoden periodia, yhden vuoden jaksoissa Jokaisen vuoden alussa vanha kone voidaan vaihtaa uuteen tai säilyttää vanha kone Tavoite: Määrää, milloin kone vaihdetaan, jotta kokonaiskustannukset minimoituvat p = uuden koneen (ikä 0 vuotta) hinta c(i) = koneen käyttökustannukset vuodessa, kun kone i vuoden ikäinen t(i) = koneesta vaihdossa saatava hyvitys, kun kone i vuoden ikäinen s(i) = koneen loppuarvo, kun se vuoden N lopussa on i vuoden ikäinen 2

Dynaamisen optimoinnin vaiheet: Aloitetaan periodin viimeisestä vuodesta Jokaisen vuoden k alussa tutkitaan kaikki vaihtoehdot, joiden mukaan k:s vuosi voidaan toimia Seuraavan vuoden alusta toimitaan optimaalisesti periodin loppuun Paras vaihtoehto vuoden k alussa on se, joka antaa parhaan kokonaistuloksen vuodesta k periodin loppuun asti Edetään kohti periodin alkua vuosi kerrallaan 3

Rekursiofunktiot: f k (i) =optimaaliset kokonaiskustannukset vuodesta k periodin loppuun asti, kun aloitetaan vuoden k alussa i vuoden ikäisellä koneella Vaihtoehdot vuoden k alussa: Ei vaihdeta: kustannukset = c(i) + f k+1 (i + 1) Vaihdetaan: kustannukset = p t(i) + c(0) + f k+1 (1) = f k (i) = min{c(i) + f k+1 (i + 1), p t(i) + c(0) + f k+1 (1)} 4

Optimaalinen kustannus periodin lopussa eli vuoden N + 1 alussa: f N+1 (i) = koneen loppuarvo = s(i) Lasketaan takenevasti f k (i):t kaikilla k = N,...,1 ja kaikilla tarvittavilla tai mahdollisilla i Optimaalinen ratkaisupolku nähdään f k (i):n arvoista, alkaen ensimmäisestä vuodesta 5

Esimerkki: N = 5 p = 50 c(0) = 10 i c(i) t(i) s(i) 1 13 32 25 2 20 21 17 3 40 11 8 4 70 5 0 5 100 0 0 6 100 0 0 Merkitään: 1 = ei vaihdeta, 2 = vaihdetaan 6

f 6 (i) = s(i) i f 6 (i) f 5 (i) f 4 (i) f 3 (i) f 2 (i) f 1 (i) 1 25 2 17 3 8 4 0 5 0 6 0 7

f 5 (i) = min{c(i) + f 6 (i + 1),60 t(i) + f 6 (1)} i f 6 (i) f 5 (i) f 4 (i) f 3 (i) f 2 (i) f 1 (i) 1 25 1 4 2 17 1 12 3 8 2 24 4 0 2 30 5 0 2 35 6 0 2 35 8

f 4 (i) = min{c(i) + f 5 (i + 1),60 t(i) + f 5 (1)} i f 6 (i) f 5 (i) f 4 (i) f 3 (i) f 2 (i) f 1 (i) 1 25 1 4 2 24 2 17 1 12 2 35 3 8 2 24 2 45 4 0 2 30 2 51 5 0 2 35 2 56 6 0 2 35 2 56 9

f 3 (i) = min{c(i) + f 4 (i + 1),60 t(i) + f 4 (1)} i f 6 (i) f 5 (i) f 4 (i) f 3 (i) f 2 (i) f 1 (i) 1 25 1 4 2 24 1 48 2 17 1 12 2 35 2 63 3 8 2 24 2 45 2 73 4 0 2 30 2 51 2 79 5 0 2 35 2 56 2 84 6 0 2 35 2 56 2 84 10

f 2 (i) = min{c(i) + f 3 (i + 1),60 t(i) + f 3 (1)} i f 6 (i) f 5 (i) f 4 (i) f 3 (i) f 2 (i) f 1 (i) 1 25 1 4 2 24 1 48 1 76 2 17 1 12 2 35 2 63 2 87 3 8 2 24 2 45 2 73 2 97 4 0 2 30 2 51 2 79 2 103 5 0 2 35 2 56 2 84 2 108 6 0 2 35 2 56 2 84 2 108 11

f 1 (i) = min{c(i) + f 2 (i + 1),60 t(i) + f 2 (1)} i f 6 (i) f 5 (i) f 4 (i) f 3 (i) f 2 (i) f 1 (i) 1 25 1 4 2 24 1 48 1 76 1 100 2 17 1 12 2 35 2 63 2 87 2 115 3 8 2 24 2 45 2 73 2 97 2 125 4 0 2 30 2 51 2 79 2 103 2 131 5 0 2 35 2 56 2 84 2 108 2 136 6 0 2 35 2 56 2 84 2 108 2 136 12

Esimerkki: Vuoden 1 alussa kone on 2 vuoden ikäinen = f 1 (2) = 115 kun kone vaihdetaan vuoden 1 alussa = f 2 (1) = 76 kun konetta ei vaihdeta vuoden 2 alussa = f 3 (2) = 63 kun kone vaihdetaan vuoden 3 alussa = f 4 (1) = 24 kun kone vaihdetaan vuoden 4 alussa = f 5 (1) = 4 kun konetta ei vaihdeta vuoden 5 alussa 13

Sijoittajan ongelma Kokonaissumma T voidaan sijoittaa n:ään eri kohteeseen Tavoite: Määrää kuhunkin kohteeseen sijoitettava summa siten, että kokonaistuotto maksimoituu x i = kohteeseen i sijoitettava summa p i (s) = kohteen i tuotto, kun siihen sijoitetaan summa s 14

Optimointitehtävä: max p 1 (x 1 ) + + p n (x n ) kun x 1 + + x n = T x 1,..., x n 0 Rekursiofunktiot: = f j (s) = kokonaistuotto, kun sijoitetaan summa s optimaalisella tavalla kohteisiin j,..., n f n (s) = p n (s) (oletus: p n kasvaa kun s kasvaa) f j (s) = max x j {p j (x j ) + f j+1 (s x j ) x j s}, j < n 15

Esimerkki: s p 1 (s) p 2 (s) p 3 (s) p 4 (s) 0 0 0 0 0 1 4 2 6 2 2 6 4 8 3 3 7 6 8 4 4 7 8 8 4 5 7 9 8 4 6 7 10 8 4 16

f 4 (s) = p 4 (s) s f 4 (s) x 4 f 3 (s) x 3 f 2 (s) x 2 f 1 (s) x 1 0 0 0 1 2 1 2 3 2 3 4 3 4 4 3,4 5 4 3,4,5 6 4 3,4,5,6 17

f 3 (s) = max x 3 {p 3 (x 3 ) + f 4 (s x 3 ) x 3 s} s f 4 (s) x 4 f 3 (s) x 3 f 2 (s) x 2 f 1 (s) x 1 0 0 0 0 0 1 2 1 6 1 2 3 2 8 1, 2 3 4 3 10 2 4 4 3, 4 11 2 5 4 3,4,5 12 2 6 4 3,4,5,6 12 2,3 18

f 2 (s) = max x 2 {p 2 (x 2 ) + f 3 (s x 2 ) x 2 s} s f 4 (s) x 4 f 3 (s) x 3 f 2 (s) x 2 f 1 (s) x 1 0 0 0 0 0 0 0 1 2 1 6 1 6 0 2 3 2 8 1, 2 8 0, 1 3 4 3 10 2 10 0, 1, 2 4 4 3,4 11 2 12 1,2,3 5 4 3,4,5 12 2 14 2,3,4 6 4 3,4,5,6 12 2,3 16 3,4 19

f 1 (s) = max x 1 {p 1 (x 1 ) + f 2 (s x 1 ) x 1 s} s f 4 (s) x 4 f 3 (s) x 3 f 2 (s) x 2 f 1 (s) x 1 0 0 0 0 0 0 0 0 0 1 2 1 6 1 6 0 6 0 2 3 2 8 1, 2 8 0, 1 10 1 3 4 3 10 2 10 0, 1, 2 12 1, 2 4 4 3,4 11 2 12 1,2,3 14 1,2 5 4 3,4,5 12 2 14 2,3,4 16 1,2 6 4 3,4,5,6 12 2,3 16 3,4 18 1,2 20

Esimerkki: Kokonaissumma on T = 6 = f 1 (6) = 18 kun sijoitetaan x 1 = 1 (myös x 1 = 2 käy) = f 2 (5) = 14 kun sijoitetaan x 2 = 2 (myös x 2 = 3 tai 4 käyvät) = f 3 (3) = 10 kun sijoitetaan x 3 = 2 = f 4 (1) = 2 kun sijoitetaan x 4 = 1 21

Sijoittajan ongelman yleistys Kokonaissumma T voidaan sijoittaa n:ään eri kohteeseen Sijoituksen tuotto ja kulut vaihtelevat käyttöasteen mukaan Tavoite: Määrää kuhunkin kohteeseen sijoitettava summa siten, että kokonaistuotto maksimoituu x i = kohteen i käyttöaste p i (x i ) = kohteen i tuotto, kun sen käyttöaste on x i r i (x i ) = kohteen i kulut, kun sen käyttöaste on x i 22

Optimointitehtävä: max p 1 (x 1 ) + + p n (x n ) kun r 1 (x 1 ) + + r n (x n ) T x 1,..., x n 0 Rekursiofunktiot: = f j (s) = kokonaistuotto, kun sijoitetaan summa s optimaalisella tavalla kohteisiin j,..., n f n (s) = max x n {p n (x n ) r n (x n ) s} f j (s) = max x j {p j (x j ) + f j+1 (s r j (x j )) r j (x j ) s}, j < n 23

Pakkausongelma Valittavana on erilaisia esineitä, joiden yhteispaino saa olla enintään W Tavoite: Määrää mukaan otettavien esineiden lukumäärä siten, että niiden yhteisarvo maksimoituu x i = esineiden i lukumäärä a i = esineen i arvo w i = esineen i paino 24

Optimointitehtävä: max a 1 x 1 + + a n x n kun w 1 x 1 + + w n x n W x 1,..., x n N Rekursiofunktiot: = f j (w) = pakkauksen optimaalinen arvo, kun paino on enintään w ja mukana saa olla vain esineitä j,..., n f n+1 (w) = 0 (kuvitteellisen esineen n + 1 arvo) f j (w) = max x j {a j x j + f j+1 (w w j x j ) w j x j w}, j n 25

Kapsäkkiongelma Kuten pakkausongelma, paitsi että kutakin esinettä voidaan ottaa korkeintaan yksi kappale Optimointitehtävä: max a 1 x 1 + + a n x n kun w 1 x 1 + + w n x n W x 1,..., x n = 0 tai 1 26

Pelurin ongelma Lyödään vetoa neljä kertaa Yhden vedonlyönnin voiton todennäköisyys on 0.4, häviön 0.6 Voittosumma yhdessä vedonlyönnissä on sama kuin panos Alussa pelurilla on rahaa 2 yksikköä Tavoite: Maksimoida todennäköisyys sille, että pelin lopussa pelurilla on rahaa ainakin 6 yksikköä 27

Rekursiofunktiot: f j (d) = todennäköisyys sille, että lopussa on ainakin 6 yksikköä, kun pelataan optimaalisesti kerroilla j,..., 4 ja kun käytössä on d yksikköä ennen kertaa j = f 4 (d) = 0.0 kun 0 d 2 0.4 kun 3 d 5 1.0 kun d 6 f j (d) = max b j {0.4 f j+1 (d + b j ) + 0.6 f j+1 (d b j ) b j d}, j < 4 28

f 4 (d) = 0.0 kun 0 d 2 0.4 kun 3 d 5 1.0 kun d 6 d f 4 (d) b 4 f 3 (d) b 3 f 2 (d) b 2 f 1 (d) b 1 0 0.0 0 1 0.0 0 2 0.0 0 3 0.4 3 4 0.4 2 5 0.4 1 6 1.0 0 29

f 3 (d) = max b 3 {0.4 f 4 (d + b 3 ) + 0.6 f 4 (d b 3 ) b 3 d} d f 4 (d) b 4 f 3 (d) b 3 f 2 (d) b 2 f 1 (d) b 1 0 0.0 0 0.00 0 1 0.0 0 0.00 0 2 0.0 0 0.16 1 3 0.4 3 0.40 0 4 0.4 2 0.40 0 5 0.4 1 0.64 1 6 1.0 0 1.00 0 30

f 2 (d) = max b 2 {0.4 f 3 (d + b 2 ) + 0.6 f 3 (d b 2 ) b 2 d} d f 4 (d) b 4 f 3 (d) b 3 f 2 (d) b 2 f 1 (d) b 1 0 0.0 0 0.00 0 0.000 0 1 0.0 0 0.00 0 0.064 1 2 0.0 0 0.16 1 0.160 0 3 0.4 3 0.40 0 0.400 0 4 0.4 2 0.40 0 0.496 1 5 0.4 1 0.64 1 6 1.0 0 1.00 0 31

f 1 (d) = max b 1 {0.4 f 2 (d + b 1 ) + 0.6 f 2 (d b 1 ) b 1 d} d f 4 (d) b 4 f 3 (d) b 3 f 2 (d) b 2 f 1 (d) b 1 0 0.0 0 0.00 0 0.000 0 0.0000 0 1 0.0 0 0.00 0 0.064 1 0.0640 0 2 0.0 0 0.16 1 0.160 0 0.1984 1 3 0.4 3 0.40 0 0.400 0 4 0.4 2 0.40 0 0.496 1 5 0.4 1 0.64 1 6 1.0 0 1.00 0 32

Alkusumma 2 yksikköä = f 1 (2) = 0.1984 kun pelataan b 1 = 1 Jatko riippuu siitä, voitetaanko vai ei Esimerkiksi, jos ensimmäisellä kerralla voitetaan = f 2 (3) = 0.400 kun pelataan b 2 = 0 = f 3 (3) = 0.40 kun pelataan b 3 = 0 = f 4 (3) = 0.4 kun pelataan b 4 = 3 33

Jatkuva dynaaminen optimointi Määrä q (missä q > 0) halutaan jakaa n:ään osaan siten, että osien tulo on mahdollisimman suuri Merkitään osia y i :llä, i = 1,..., n Optimointitehtävä: max y 1 y n kun y 1 + + y n = q y 1,..., y n 0 34

Systeemin tila: x i = se osa määrästä q, joka varataan osille 1,..., i Rekursioyhtälöt: f 1 (x 1 ) = max y 1 {y 1 0 y 1 x 1 } f j (x j ) = max y j {y j f j 1 (x j y j ) 0 y j x j }, j > 1 35

Merkitään maksimoitavia funktioita g j :llä, ts. f j (x j ) = max yj g j (y j, x j ) = g 1 (y 1, x 1 ) = y 1 0 y 1 x 1 = y 1 = x 1 f 1 (x 1 ) = x 1 36

= g 2 (y 2, x 2 ) = y 2 f 1 (x 2 y 2 ) = y 2 (x 2 y 2 ) y 2 g 2 (y 2, x 2 ) = x 2 2y 2 = 0 = y 2 = 1 2 x 2 f 2 (x 2 ) = 1 2 x 2 ( x 2 1 ) 2 x 2 = ( ) x2 2 2 37

= g 3 (y 3, x 3 ) = y 3 f 2 (x 3 y 3 ) = y 3 ( x3 y 3 2 y 3 g 3 (y 3, x 3 ) = 1 4 (x2 3 4x 3y 3 + 3y 2 3 ) = 0 = y 3 = 1 3 x 3 ) 2 f 3 (x 3 ) = 1 3 x 3 x 3 1 3 x 3 2 2 = ( ) x3 3 3 38

=... [induktiolla]... = y i = x i i f i (x i ) = ( ) xi i i 39

Siten ratkaisu on x n = q y n = x n n = q n x n 1 = q y n = n 1 n q y n 1 = x n 1 n 1 = q n x n 2 = q y n y n 1 = n 2 n q y n 2 = x n 2 n 2 = q n.. x 1 = 1 n q y 1 = q n 40