Moderne optimering mer enn å derivere!!



Like dokumenter
Verdens beste håndball-lag?

LP. Leksjon 1. Kapittel 1 og 2: eksempel og simpleksmetoden

Kapittel 1 og 2: eksempel og simpleksmetoden

LP. Leksjon 6: Kap. 6: simpleksmetoden i matriseform, og Seksjon 7.1: følsomhetsanalyse

LP. Leksjon 9: Kapittel 13: Nettverk strøm problemer, forts.2

LP. Leksjon 5. Kapittel 5: dualitetsteori. motivasjon det duale problemet svak og sterk dualitet det duale til LP problemer på andre former

LP. Leksjon 2. Kapittel 2: simpleksmetoden, forts. initialisering to faser ubegrenset løsning geometri

UNIVERSITETET I OSLO

LP. Leksjon 3. Kapittel 3: degenerasjon.

Kapittel 3: degenerasjon.

Kapittel 5: dualitetsteori

Kapittel 2: simpleksmetoden, forts.

Lineære likningssystemer og matriser

LP. Leksjon 8: Kapittel 13: Nettverk strøm problemer, forts.1

Kapittel 4: effektivitet av simpleksmetoden

TMA4122/TMA4130 Matematikk 4M/4N Høsten 2010

Lineære ligningssystemer og gausseliminasjon

Lineære ligningssystemer og gausseliminasjon

Korteste vei problemet (seksjon 15.3)

LP. Kap. 17: indrepunktsmetoder

System av likninger. Den andre likningen løses og gir x=1, hvis man setter x=1 i første likning får man

MAT Onsdag 7. april Lineær uavhengighet (forts. 1.8 Underrom av R n, nullrom, basis MAT Våren UiO. 7.

Spesialisering i økonomistyring og investeringsanalyse DST 9530

Lineære likningssett.

Oppgave P. = 2/x + C 6 P. + C 6 P. d) 12(1 x) 5 dx = 12u 5 1/( 1) du = 2u 6 + C = 2(1 x) 6 + C 6 P. Oppgave P.

MAT Oblig 1. Halvard Sutterud. 22. september 2016

Gauss-Jordan eliminasjon; redusert echelonform. Forelesning, TMA4110 Fredag 18/9. Reduserte echelonmatriser. Reduserte echelonmatriser (forts.

Obligatorisk oppgavesett 1 MAT1120 H16

Forelesning 14 Systemer av dierensiallikninger

Lineære ligningssystemer. Forelesning, TMA4110 Torsdag 17/9. Lineære ligningssystemer (forts.) Eksempler

MAT1030 Diskret matematikk

ECON3610 Samfunnsøkonomisk lønnsomhet og økonomisk politikk Forelesning 2

Løsning Eksamensrelevante oppgaver i ELE 3719 Matematikk Vektorer, matriser og lineær algebra Dato Februar Oppgave 1. (A) Vi leser av at

MAT1120 Repetisjon Kap. 1

MAT1030 Diskret matematikk

4.4 Koordinatsystemer

10 Radrommet, kolonnerommet og nullrommet

LP. Leksjon Spillteori

4.2 Nullrom, kolonnerom og lineære transformasjoner

1 Mandag 1. februar 2010

Kombinatorikk. MAT1030 Diskret Matematikk. Oppsummering av regneprinsipper

MAT1030 Diskret Matematikk

3.9 Teori og praksis for Minste kvadraters metode.

MAT1030 Forelesning 22

Løsningsforslag Øving 5 TMA4140 Diskret matematikk Høsten 2010

Notat for oblig 2, INF3/4130 h07

MAT1030 Diskret Matematikk

Oppgave 1. e rt = 120e. = 240 e

Ma Linær Algebra og Geometri Øving 1

Potensrekker Forelesning i Matematikk 1 TMA4100

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon

Løsningsforslag Eksamen S2, høsten 2015 Laget av Tommy O. Sist oppdatert: 25. mai 2017

Lineær optimering. Innhold. Lineær optimering S1

Lineære likningssystemer

MA0002 Brukerkurs i matematikk B Vår 2017

INEC1800 ØKONOMI, FINANS OG REGNSKAP EINAR BELSOM

Rekurrens. MAT1030 Diskret matematikk. Rekurrens. Rekurrens. Eksempel. Forelesning 16: Rekurrenslikninger. Dag Normann

Lineær optimering. Plan for kurset

Hvorfor er lineær algebra viktig? Linear

Side 1 av 13. Svar til. EKSAMEN I EMNE TIØ4120 OPERASJONSANALYSE, GK Torsdag 2. desember 2010 Tid: kl Bokmål

3x + 2y 8, 2x + 4y 8.

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030

MAT1030 Diskret Matematikk

Kapittel 5: Mengdelære

2.3 Delelighetsregler

Matematikk Øvingsoppgaver i numerikk leksjon 11 Eulers metode. Løsningsforslag

Lineære likningssystemer

ECON3610 Samfunnsøkonomisk lønnsomhet og økonomisk politikk Forelesning 5

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

Øving 3 Determinanter

Tiden går og alt forandres, selv om vi stopper klokka. Stoffet i dette kapittelet vil være en utømmelig kilde med tanke på eksamensoppgaver.

Høgskolen i Oslo og Akershus. e 2x + x 2 ( e 2x) = 2xe 2x + x 2 e 2x (2x) = 2xe 2x + 2x 2 e 2x = 2xe 2x (1 + x) 1 sin x (sin x) + 2x = cos x

UNIVERSITETET I OSLO

Plenumsregning 10. Diverse ukeoppgaver. Roger Antonsen april Vi øver oss litt på løse rekurrenslikninger.

MAT 1120: Obligatorisk oppgave 1, H-09

Denne labøvelsen gir en videre innføring i elementær bruk av programmet Maple.

MA0002 Brukerkurs i matematikk B Vår 2014

MAT 100a - LAB 3. Vi skal først illustrerere hvordan Newtons metode kan brukes til å approksimere n-te roten av et positivt tall.

Forelesning 25. MAT1030 Diskret Matematikk. Litt repetisjon. Litt repetisjon. Forelesning 25: Trær. Dag Normann

Newtons interpolasjon og dividerte differanser

Matematikk for økonomer Del 2

INF 4130 Oppgavesett 3, 20/ m/løsningsforslag

Tallfølger er noe av det første vi treffer i matematikken, for eksempel når vi lærer å telle.

MAT-INF 2360: Obligatorisk oppgave 3. Løsningsforslag

IN2010: Forelesning 11. Kombinatorisk søking Beregnbarhet og kompleksitet

MAT1030 Diskret Matematikk

4.1 Vektorrom og underrom

MA0002 Brukerkurs i matematikk B Vår 2016

Forelesning 23. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori.

Transkript:

Faglig pedagogisk dag 2000, 4. januar Moderne optimering mer enn å derivere!! Geir Dahl, Prof. matematikk, Matematisk inst. og Inst. for informatikk aksjer - eksempel på LP (lineær programmering) noen råd til Marit Breivik (kombinatorisk optimering) et lite bevis og et lynkurs Moderne optimering: #1 of 19

Moderne optimering Oppvarming: funksjon av en variabel, f(x) = x 2 6x+7 derivert lik null, f (x) = 2x 6 = 0såx=3 min eller maks? Sjekk annenderivert! (Konveks) endepunkter (ingen, en eller to) Men: i de fleste interessante optimeringsproblemer har vi mange variable (ofte tusenvis) variablene må oppfylle visse begrensninger visse variable må evt. være heltallige osv. DaharvietoptimeringsPROBLEM!! Moderne optimering: #2 of 19

Aksjer og LP Finne optimal aksjeportefølje: portefølje: investering i ulike aksjer for en viss periode scenario: angir utvikling av hver aksjekurs vektlegging av scenarier (sannsynligheter) redd for tap sammenlikner porteføljen med en basisinvestering ( benchmark ) hvor mye skal investeres i hver aksje? gevinsten ulik for hvert scenario: vi tar veiet sum (forventet gevinst) maksimere forventet gevinst Moderne optimering: #3 of 19

Aksjer og LP Aksjemodell i AMPL: set SCENARIO; set AKSJE; param verdi {SCENARIO,AKSJE} 0; param bench {SCENARIO}; param scenario vekt {SCENARIO}; var Gevinst {SCENARIO} 0 1000; var Tap {SCENARIO} 0 1000; var Invest {AKSJE} 0 150; maximize forventet gevinst: sum {i in SCENARIO} scenario vekt[i] * Gevinst[i] - 2* sum{i in SCENARIO} scenario vekt[i] * Tap[i]; subject to scen {i in SCENARIO}: sum {j in AKSJE}verdi[i,j] * Invest[j]- bench[i] = Gevinst[i]-Tap[i]; subject to budsjett: sum {j in AKSJE}Invest[j] 500; Dette er et LP problem. LP = lineær programmering (optimering): optimere en lineær funksjon under lineære begrensninger (likninger eller ulikheter). Moderne optimering: #4 of 19

Aksjer og LP Data: set SCENARIO := SC1 SC2 SC3 SC4; set AKSJE:=A1A2A3A4A5A6A7A8A9A10; param verdi: A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 := SC1 1.2 1.4 1.6 1.8 1.4 1.4 1.4 1.5 1.4 1.5 SC2 1.2 1.3 1.5 1.3 1.3 1.1 1.7 1.4 1.2 1.8 SC3 1.6 1.5 1.3 1.4 1.2 1.8 1.2 1.4 1.8 1.4 SC4 0.8 0.9 0.7 0.6 0.8 0.8 0.8 0.7 0.9 0.8; param: bench scenario vekt := SC1 550 0.4 SC2 550 0.2 SC3 550 0.2 SC4 550 0.2; Moderne optimering: #5 of 19

Aksjer og LP Løser problemet: ampl: model aksje.mod option solver cplex; ampl: solve; data aksje.dat CPLEX 4.0: No LP presolve or aggregator reductions. Iteration: 1 Infeasibility = 1405.000000 Iteration: 5 Objective = 99.000000 CPLEX 4.0: optimal solution; objective 101 6 iterations (4 in phase I) Solution time = 0.01 sec. ampl: display Invest, Gevinst, Tap; Invest: A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 0 50 0 150 0 0 0 0 150 150. Gevinst Tap: SC1 225 0 SC2 160 0 SC3 215 0 SC4 0 160 Moderne optimering: #6 of 19

Noen råd til Marit Breivik Har vi det beste håndball-landslaget? keeper: alternerer Leganger og Tjugum utespillere velges fra de 13 spillerne Hilmo, Larsen, Duvholt, Sørlie, Davidsen, Rokne, Sættem, Eriksen, Grini, Hundvin, Goksør, Haltvik og Hausmann 6 uteplasser: H VING, V VING, H BEKK, V BEKK, M BEKK og SENTER hver spiller har en viss kvalitet på hver plass hvilket lag er best, og hvem spiller hvor? antall kombinasjoner: 13 12 11 10 9 8 = 1.235.520 Dette er et kombinatorisk optimeringsproblem! Moderne optimering: #7 of 19

Noen råd til Marit Breivik Modell: set SPILLER; set PLASS; param kvalitet {SPILLER,PLASS}; var Bruk {SPILLER,PLASS} 0; maximize total kvalitet: sum {i in SPILLER, j in PLASS} kvalitet[i,j] * Bruk[i,j]; subject to spillerbruk {i in SPILLER}: sum {j in PLASS}Bruk[i,j] 1; subject to plassbruk {j in PLASS}: sum {i in SPILLER} Bruk[i,j] = 1; Data: set SPILLER := Hilmo Larsen Duvholt Sørlie Davidsen Rokne Sættem Eriksen Grini Hundvin Goksør Haltvik Hausmann; set PLASS := H VING V VING H BEKK V BEKK M BEKK SENTER; Moderne optimering: #8 of 19

Noen råd til Marit Breivik param kvalitet: H V V V H B V B M B SENT := Hilmo 1 1 2 2 1 4.5 Larsen 1 2 3 4 3 2 Duvholt 5 4 2 2 1 2 Sørlie 2 2 2 2 2 5 Davidsen 2 2 3 3 3 2.5 Rokne 2 2 2 2 2 2 Sættem 2 2 4.5 4.5 4.5 2 Eriksen 3 2 2 2 1 2.5 Grini 2 2 4.5 5 4.5 2 Hundvin 4 5 2 2 2 2 Goksør 2 2 3.5 3 3 2 Haltvik 2 2 4 4 4 3 Hausmann 3 4 2 2 1 3 Moderne optimering: #9 of 19

Noen råd til Marit Breivik Verdens beste håndball-landslag (!!???) ampl: display Bruk: H B H V M B SENT V B V V:= Davidsen 0 0 0 0 0 0 Duvholt 0 1 0 0 0 0 Eriksen 0 0 0 0 0 0 Goksør 0 0 0 0 0 0 Grini 0 0 0 0 1 0 Haltvik 0 0 1 0 0 0 Hausmann 0 0 0 0 0 0 Hilmo 0 0 0 0 0 0 Hundvin 0 0 0 0 0 1 Larsen 0 0 0 0 0 0 Rokne 0 0 0 0 0 0 Sættem 1 0 0 0 0 0 Sørlie 0 0 0 1 0 0 Score: 28.5 (regnetid 1/100 sek.) Laget: Sørlie Hundvin Grini Haltvik Sættem Duvholt Moderne optimering: #10 of 19

Noen råd til Marit Breivik Men hva med litt sunn fornuft!? Ja, man kan finne en optimal løsning her direkte ved åsepå hvilken spiller som passer best på hver plass + litt drøfting. Betyr dette at alle slike problemer er enkle å løse direkte? Nei, det var enkle data som gjorde det mulig her. Å finne bestemann på en gitt plass kan gi dårlig løsning, avhengig av rekkefølgen man velger for plassene: Plass 1 Plass 2 Spiller 1 10 9 Spiller 2 9 1 11 < 18 Moderne optimering: #11 of 19

Tilordningsproblemet Tilordningsproblemet Gitt en matrise (tabell) med n n tall c 1,1 c 1,2... c 1,n c 2,1 c 2,2... c 2,n... c n,1 c n,2... c n,n Velg ut n tall med nøyaktig ett tall fra hver rad og hver kolonne slik at summen av de valgte tallene er størst mulig. kan skrives som et spesielt LP problem finnes alltid heltallig optimal løsning av dette! fins effektive algoritmer brukes bl.a. i ruteplanlegging: tilordne transportbiler til kunder så noen kombinatoriske optimeringsproblemer kan løses raskt! men mange komb-opt-problemer er vanskelige i betydningen... eksempel: Traveling Salesman Problem (korteste rundtur gjennom gitte byer) Moderne optimering: #12 of 19

Dagens bevis Hvorfor fins alltid en optimal løsning i tilordningsproblemet som er heltallig? maksimer i,j c i,j x i,j slik at n j=1 x i,j = 1 for i = 1,...,n n i=1x i,j = 1 for j = 1,...,n x i,j 0 for alle i,j. Moderne optimering: #13 of 19

Simpleksmetoden Simpleksmetoden: metode for å løse alle LP problemer Metoden ble utviklet av George B. Dantzig rundt 1947 i forbindelse med transportproblemer i U.S. Air Force. Arbeidet ble publisert i 1951. Andre tidlige bidragsytere var T.J.Koopmans og L.V.Kantorovich, og disse to fikk Nobel prisen i økonomi for dette arbeidet i 1975. Forresten: H. Markowitz fikk Nobel prisen i økonomi i 1990 for sitt arbeid med porteføljeoptimering (1959). maksimer 5x 1 + 4x 2 + 3x 3 slik at (i) 2x 1 + 3x 2 + x 3 5 (ii) 4x 1 + x 2 + 2x 3 11 (iii) 3x 1 + 4x 2 + 2x 3 8 x 1,x 2,x 3 0. Konverterer til likninger ved å innføre slakkvariable for hver -ulikhet: f.eks. erstattes (i) av w 1 = 5 2x 1 3x 2 x 3 og w 1 0. Moderne optimering: #14 of 19

Simpleksmetoden Får da: maksimer η = 5x 1 + 4x 2 + 3x 3 slik at (i) w 1 = 5 2x 1 3x 2 x 3 (ii) w 2 = 11 4x 1 x 2 2x 3 (iii) w 3 = 8 3x 1 4x 2 2x 3 x 1,x 2,x 3,w 1,w 2,w 3 0. Venstre side: avhengige variable, basisvariable. Høyre side: uavhengige variable, ikkebasisvariable. Startløsning: Lar x 1 = x 2 = x 3 = 0ogdermedfår vi w 1 = 5,w 2 =11,w 3 =8. Vi lar alltid ikkebasisvariable være 0. Basisvariablene blir bestemt entydig, nemlig lik konstantene på venstre side. Moderne optimering: #15 of 19

Simpleksmetoden Har vi optimal løsning? Nei!! Vi kan f.eks. øke x 1 mens vi fortsatt lar x 2 = x 3 = 0. Da vil η øke vi får nye verdier på basisvariablene som blir bestemt fra x 1 jo mer vi øker x 1 jo mer øker η! men pass på: w j -ene nærmer seg null! Maksimal økning av x 1 : vil unngå at basisvariable blir negative. Fra w 1 = 5 2x 1, w 2 = 11 4x 1 og w 3 = 8 3x 1 får vi at x 1 5/2, x 1 11/4, x 1 8/3 så vi kan øke x 1 til den minste verdien, nemlig 5/2. Dette gir den nye løsningen x 1 = 5/2, x 2 = x 3 = 0 og dermed w 1 = 0,w 2 =1,w 3 =1/2. Og nå er η=25/2. Altså: en mye bedre løsning!! Hvordan komme videre? Listeform er fin for åteste optimalitet, så vi vil komme over i neste liste! Moderne optimering: #16 of 19

Simpleksmetoden Vi ønsker at x 1 og w 1 skal bytte side. Dette kan gjøres ved å bruke w 1 -likningen til å eliminere x 1 fra alle andre likninger. Dette endrer ikke løsningsmengden til likningssystemet. Resultat: η = 12.5 2.5w 1 3.5x 2 + 0.5x 3 x 1 = 2.5 0.5w 1 1.5x 2 0.5x 3 w 2 = 1 + 2w 1 + 5x 2 w 3 = 0.5 + 1.5w 1 + 0.5x 2 0.5x 3 Vi har nå gjennomført en pivotering. Moderne optimering: #17 of 19

Simpleksmetoden Gjentar prosessen og etter nok en pivotering får vi: η = 13 w 1 3x 2 w 3 x 1 = 2 2w 1 2x 2 + w 3 w 2 = 1 + 2w 1 + 5x 2 x 3 = 1 + 3w 1 + x 2 2w 3 Nå kan vi stoppe! Hvorfor? Konklusjon: vi har funnet en optimal løsning! Den er w 1 = x 2 = w 3 = 0ogx 1 =2,w 2 =1,x 3 =1. Optimal verdi er η = 13. Moderne optimering: #18 of 19

Avsluttende kommentarer mange optimeringsproblemer rundt omkring raske algoritmer spennende matematiske problemer motivert av anvendelser optimering svært aktivt forskningsfelt VENNLIGST SEND GODE STUDENTER HIT!! nytt studium i anvendt matematikk anbefalt LP bok: R.J. Vanderbei: Linear programming: foundations and extensions, Kluwer, 1996, se evt. http://www.princeton.edu/ rvdb/lpbook/ anbefalt kombinatorikk bok: R. Brualdi: Introductory combinatorics, Prentice-Hall, 1999. Geir Dahl, telefon 22 85 24 25, Webside: http://www.ifi.uio.no/ geird/ Inneholder div. informasjon om optimering, forskning, studier, Web optimering. Også dette foredraget. Moderne optimering: #19 of 19