Operasjonsanalytiske emner Del 20 Nonlinear Programming Matematisk programmering

  • Slides: 106
Download presentation
Operasjonsanalytiske emner Del 20 Nonlinear Programming Matematisk programmering og ikke-lineære funksjoner BØK 710 OPERASJONSANALYTISKE

Operasjonsanalytiske emner Del 20 Nonlinear Programming Matematisk programmering og ikke-lineære funksjoner BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 1

Introduksjon Et ikke-lineært problem har en ikke-lineær målfunksjon og/eller en eller flere ikke-lineære restriksjoner.

Introduksjon Et ikke-lineært problem har en ikke-lineær målfunksjon og/eller en eller flere ikke-lineære restriksjoner. Ikke-lineære problemer formuleres og implementeres praktisk talt på samme måte som lineære problemer. Matematikken som benyttes for å løse ikke-lineære problemer er svært forskjellig fra den som brukes på lineære problemer. Solver tildekker denne forskjellen, men det er viktig å forstå de vanskene som kan oppstå når en skal løse ikkelineære problemer. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 2

Generell form på et matematisk programmeringsproblem MAX (eller MIN): f 0(X 1, X 2,

Generell form på et matematisk programmeringsproblem MAX (eller MIN): f 0(X 1, X 2, …, Xn) Slik at : f 1(X 1, X 2, …, Xn)<=b 1 : fk(X 1, X 2, …, Xn)>=bk : fm(X 1, X 2, …, Xn)=bm Merk: Hvis alle funksjonene i et optimeringsproblem er lineære, så er problemet et lineært programmeringsproblem (LP). BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 3

Typer matematiske programmeringsproblem 1 Inndelingen baseres på funksjonsformene og variablene: Lineære funksjoner eller ikke-lineære

Typer matematiske programmeringsproblem 1 Inndelingen baseres på funksjonsformene og variablene: Lineære funksjoner eller ikke-lineære funksjoner Konvekse eller ikke-konvekse funksjoner Glatte eller ikke-glatte funksjoner Kontinuerlige eller heltallsvariabler LP: LP Hvis målfunksjonen og alle restriksjonene er lineære funksjoner, kalles problemet lineær programmering (LP). Et LP problem er alltid konveks BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 4

Typer matematiske programmeringsproblem 2 QP/QCP er en generalisering av LP. Hvis målfunksjonen er en

Typer matematiske programmeringsproblem 2 QP/QCP er en generalisering av LP. Hvis målfunksjonen er en konveks kvadratisk funksjon av beslutningsvariablene, og alle restriksjonene er lineære, er problemet et kvadratisk programmeringsproblem (QP). Hvis restriksjonene er konvekse kvadratiske, og målfunksjonen er lineær eller konveks kvadratisk, så er det et QCP (quadratic constrained problem). BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 5

Typer matematiske programmeringsproblem 3 NLP: NLP En modell hvor målfunksjonen eller noen av restriksjonene

Typer matematiske programmeringsproblem 3 NLP: NLP En modell hvor målfunksjonen eller noen av restriksjonene er glatte ikke-lineære funksjoner av beslutningsvariablene, kalles problemet et ikkelineært programmeringsproblem (non-linear programming) NLP. NSP: NSP En modell hvor målfunksjonen eller noen av restriksjonene er ikke-glatte funksjoner av beslutningsvariablene er non-smooth programming (NSP). BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 6

Typer matematiske programmeringsproblem 4 IP/MIP: IP/MIP Hvis noen av beslutningsvariablene er heltall, kalles problemet

Typer matematiske programmeringsproblem 4 IP/MIP: IP/MIP Hvis noen av beslutningsvariablene er heltall, kalles problemet et heltallsproblem (Integer Programming, IP). Hvis noen av variablene er heltall og noen kontinuerlige kalles det mixed-integer programming (MIP). Heltallsrestriksjoner gjør problemet ikke-konveks, ikke-konveks og er dermed mye vanskeligere å løse. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 7

Funksjonsformer Glatte funksjoner er funksjoner der funksjonens deriverte er en kontinuerlig funksjon En glatt

Funksjonsformer Glatte funksjoner er funksjoner der funksjonens deriverte er en kontinuerlig funksjon En glatt funksjon er dermed en kontinuerlig funksjon uten knekkpunkt. Følgende er ikke glatte: f(x) = |x| 0 Diskontinuerlige funksjoner BØK 710 OPERASJONSANALYTISKE EMNER x Kontinuerlige funksjoner med knekkpunkt Rasmussen 8

Funksjonsformer og optimering BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 9

Funksjonsformer og optimering BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 9

Konvekse og ikke-konvekse funksjoner f(x) f(xa) Ikke-konveks f(xb) f(xa) f(xb) Konveks xa xb BØK

Konvekse og ikke-konvekse funksjoner f(x) f(xa) Ikke-konveks f(xb) f(xa) f(xb) Konveks xa xb BØK 710 OPERASJONSANALYTISKE EMNER x xa xb x Rasmussen 10

Konvekse og ikke-konvekse mengder Geometrisk er en mengde konveks hvis linjen mellom ethvert mulig

Konvekse og ikke-konvekse mengder Geometrisk er en mengde konveks hvis linjen mellom ethvert mulig par av punkter i mengden alltid ligger fullt og helt inne i mengden. Konvekse mengder BØK 710 OPERASJONSANALYTISKE EMNER Ikke-konvekse mengder Rasmussen 11

Konveksitet Hvis en funksjon f(x) er konkav, så vil –f(x) være konveks. Hvis alle

Konveksitet Hvis en funksjon f(x) er konkav, så vil –f(x) være konveks. Hvis alle funksjoner med restriksjoner av formen er konvekse, og alle funksjoner med restriksjoner av formen er konkave, så vil mulighetsområdet av alle disse funksjonene til sammen være konveks. Hvis én eller flere av restriksjonene er ikke-konveks, så vil mulighetsområdet kunne være ikke-konveks. Hvis én eller flere av variablene er heltallsvariabler, er mulighetsområdet ikke-konveks. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 12

 «Gode» funksjoner Glatte funksjoner har kontinuerlige 2. deriverte, og kan løses med klassiske

«Gode» funksjoner Glatte funksjoner har kontinuerlige 2. deriverte, og kan løses med klassiske optimeringsteknikker basert på derivasjon. Om problemet består av glatte, konvekse (minimering) eller konkave (maksimering) funksjoner, så finnes ett unikt optimumspunkt Er den 2. deriverte alltid ikke-negativ så er funksjonen konveks. Er den 2. deriverte alltid ikke-positiv så er funksjonen konkav. En lineær funksjon har 2. deriverte lik 0, og er både konveks og konkav. I problemer med flere variabler (dimensjoner) erstattes den 2. deriverte med en matrise av verdier/funksjoner, kalt Hessian, og betingelsen ikkenegativ erstattes med betingelsen positiv semidefinit. Avansert programvare for optimering har tester for å sjekke om problemet er konveks eller ikke-konveks. Men disse testene vil ikke alltid kunne foreta en sikker klassifisering. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 13

Deriverte Lineære funksjoner har konstant 1. derivert, og 2. derivert (og høyere) er null.

Deriverte Lineære funksjoner har konstant 1. derivert, og 2. derivert (og høyere) er null. Kvadratiske funksjoner har konstant 1. og 2. derivert, og alle høyere ordens deriverte er null. Glatte ikke-lineære funksjoner har 1. og 2. ordens deriverte som er definerte, men ikke konstante – de endres med punktet de evalueres i. Ikke-glatte funksjoner har 2. deriverte som er udefinert i noen punkter, og diskontinuerlige funksjoner har 1. deriverte som er udefinert i noen punkter. For lineære og kvadratiske problem kan altså de deriverte beregnes én gang i starten av løsningsprosessen – siden de er konstante. For glatte ikke-lineære funksjoner må de deriverte beregnes på nytt for hvert trinn i optimeringsprosessen – siden de endrer verdi. For ikke-glatte funksjoner finnes punkter de deriverte ikke er definert, følgelig kan ikke metoder basert på derivasjon benyttes til å løse disse problemene. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 14

Lineære problemer LP problemer er alltid konvekse, og har følgelig ett unikt optimumspunkt. (Unntaksvis

Lineære problemer LP problemer er alltid konvekse, og har følgelig ett unikt optimumspunkt. (Unntaksvis flere like gode. ) Siden alle funksjoner er lineære, vil optimal løsning ligge i et hjørnepunkt. Det er derfor tilstrekkelig å sjekke hjørneløsninger. (Tilgrensende nabohjørner kan være et alternativt optimumspunkt. ) Simplex-metoden vurderer kun hjørneløsninger, mens interior-point metoder baserer seg på derivasjon. Fordi LP -problemer har konstante deriverte (lik koeffisientmatrisen), er det tilstrekkelig å beregne de deriverte én gang. Det er enkelt å verifisere at optimal løsning er funnet. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 15

Konvekse ikke-lineære problemer Hvis et MP problem er konveks, så finnes et unikt optimumspunkt.

Konvekse ikke-lineære problemer Hvis et MP problem er konveks, så finnes et unikt optimumspunkt. Om alle funksjoner er glatte, kan teknikker basert på derivasjon benyttes, og optimal løsning kan verifiseres. Hvis noen funksjoner er ikke-glatte, kan ikke derivasjon benyttes, og det blir vanskelig å påvise at løsningen er optimal. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 16

Ikke-konvekse problemer f(x) Ikke-konvekse problemer kan ha mange lokale Her er a, c, f,

Ikke-konvekse problemer f(x) Ikke-konvekse problemer kan ha mange lokale Her er a, c, f, og h lokale maksimumspunkt, optimumsløsninger. f a c g h e b d i x mens b, d, g og i er lokale minimumspunkt. Område e og g er platåer, og g inneholder et lokalt minimumspunkt, mens e er verken et maksimum- eller minimumspunkt. Punkt f er det globale maksimumspunkt og punkt i er det globale minimumspunkt. Om mulighetsområdet er ikke-konveks skaper det ytterligere komplikasjoner. Mulighetsområdet kan da bestå av flere adskilte områder, og det er umulig på forhånd å vite i hvilket område den beste løsningen ligger. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 17

Pris - Etterspørsel Par Inc. produserer standard (s) og deluxe (d) golfbager. La Xi

Pris - Etterspørsel Par Inc. produserer standard (s) og deluxe (d) golfbager. La Xi og Pi være mengde og pris av produktene (i = s, d). Produkt standard deluxe 70 150 Etterspørsel VEK BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 18

Maksimalt dekningsbidrag BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 19

Maksimalt dekningsbidrag BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 19

Optimal løsning uten restriksjoner Xd Isobidragskurvene er her ovale «sirkler» , ikke rette linjer.

Optimal løsning uten restriksjoner Xd Isobidragskurvene er her ovale «sirkler» , ikke rette linjer. (600, 375) Z = 52. 125, Hvis ingen restriksjoner er bindene, så er optimal løsning inne i mulighetsområdet, ikke på randen, slik som ved lineære problemer. Z = 50. 000 Xs BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 20

Pris, etterspørsel og produksjon Par Inc. produserer standard (s) og deluxe (d) golfbager. La

Pris, etterspørsel og produksjon Par Inc. produserer standard (s) og deluxe (d) golfbager. La Xi og Pi være mengde og pris av produktene (i = s, d). Produkt standard deluxe 70 150 Kapasitet Etterspørsel VEK = c Skjæreavdeling 1 Sying Montering Pakking 630 600 1 708 135 Om prisen fastsettes er mengden gitt, eller om mengden fastsettes er prisen gitt. Om vi vil, kan vi derfor redusere antall variabler til å gjelde bare pris eller bare mengde. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 21

Matematisk formulering Målfunksjon: Maksimer totalt dekningsbidrag fra alle produkter. Max Z = Ps Xs

Matematisk formulering Målfunksjon: Maksimer totalt dekningsbidrag fra alle produkter. Max Z = Ps Xs 70 Xs + Pd Xd 150 Xd Totalt dekningsbidrag er lik total inntekt (pris mengde) minus variable kostnader (VEK mengde). Merk at pris og mengde ikke kan fastsettes uavhengig av hverandre. Etterspørselsfunksjonen spesifiserer sammenhengen mellom pris og mengde, og er listet opp sammen med de øvrige restriksjonene. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 22

Matematisk formulering Restriksjoner: Sum ressursbruk i avdeling j fra alle produkter (s og d)

Matematisk formulering Restriksjoner: Sum ressursbruk i avdeling j fra alle produkter (s og d) kan ikke overstige total kapasitet i avdeling j. Skjæreavdeling + 630 Sying + 600 Montering + 708 Pakking + 135 BØK 710 OPERASJONSANALYTISKE EMNER Totalt tidsbruk i en avdeling kan ikke overskride tilgjengelig tid i avdelingen. Rasmussen 23

Matematisk formulering Restriksjoner: Omsatt mengde er en funksjon av prisen. Etterspørselsfunksjonen viser at etterspørselen

Matematisk formulering Restriksjoner: Omsatt mengde er en funksjon av prisen. Etterspørselsfunksjonen viser at etterspørselen synker når prisen øker. Konstanten angir total etterspørsel hvis produktet er gratis, mens den negative stigningskoeffisienten angir hvor mye etterspurt mengde reduseres ved en prisøkning på én prisenhet. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 24

XD Mulighetsområde 5 1062 3 720 630 540 2 (1) Skjæreavd. + 630 (2)

XD Mulighetsområde 5 1062 3 720 630 540 2 (1) Skjæreavd. + 630 (2) Sying + 600 (3) Montering + 708 (4) Pakking + 135 (5) 0 (6) 0 308, 2 4 459, 7 708 1 900 6 1200 1350 XS Ved større kapasiteter kan optimal løsning være inne i mulighetsområdet. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 25

Prissetting i regneark Pris beregnes som en funksjon av mengde. Bare Mengde brukes som

Prissetting i regneark Pris beregnes som en funksjon av mengde. Bare Mengde brukes som beslutningsvariabel. Konveks problem => Unikt optimum Celle Formel Kopieres til C 5 =C 3+C 4*C 9 D 5 C 7 =C 5 -C 6 D 7 E 7 =SUMPRODUCT($C$9: $D$9; C 7: D 7) BØK 710 OPERASJONSANALYTISKE EMNER E 11: E 14 Rasmussen 26

Symboler alternativ modell Parametere: G N ci aij bj Ei Mengden av produkter Mengden

Symboler alternativ modell Parametere: G N ci aij bj Ei Mengden av produkter Mengden av produksjonsavdelinger Variabel enhetskostnad produkt i Tidsforbruk produkt i i avdeling j Tilgjengelig tid i avdeling j Etterspørsel produkt i G = {s, d} i {G}; j {N} i {G} Beslutningsvariabler: Xi Antall enheter produsert av produkt i Yi Antall enheter solgt av produkt i Pi Pris pr. enhet av produkt i BØK 710 OPERASJONSANALYTISKE EMNER i {G} Rasmussen 27

Matematisk formulering Målfunksjon: Maksimer Pris Solgt mengde variabel enhetskostnad produsert mengde Restriksjoner: Sum ressursbruk

Matematisk formulering Målfunksjon: Maksimer Pris Solgt mengde variabel enhetskostnad produsert mengde Restriksjoner: Sum ressursbruk i avdeling j fra alle produkter (i G) kan ikke overstige total kapasitet i avdeling j. Etterspurt mengde er en funksjon av prisen. Solgt mengde kan ikke overstige etterspurt mengde. Solgt mengde kan ikke overstige produsert mengde. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 28

Pris - Etterspørsel - Produksjon - Salg Etterspørsel beregnes som en funksjon av Pris.

Pris - Etterspørsel - Produksjon - Salg Etterspørsel beregnes som en funksjon av Pris. Celle Formel Kopieres til C 7 =C 5+C 6*C 4 D 7 C 10 =C 4*C 8 D 10 C 11 =C 3*C 9 D 11 C 12 =C 10 -C 11 D 12 E 12 =SUM(C 12: D 12) OPERASJONSANALYTISKE EMNER E 15 BØK 710 =SUMPRODUCT($C$9: $D$9; C 15: D 15) Pris, og Produsert samt Solgt mengde brukes som beslutningsvariabel. Salg må være mindre enn både Etterspørsel og Produksjon. Vanskelig å klassifisere. E 16: E 18 Rasmussen 29

Forskjellige optimale løsninger til NLPs Nivåkurve for målfunksjonen (som ikke er hjørne-løsninger) optimal løsning

Forskjellige optimale løsninger til NLPs Nivåkurve for målfunksjonen (som ikke er hjørne-løsninger) optimal løsning Nivåkurve for målfunksjonen optimal løsning Mulighetsområdet Lineær målfunksjon, ikke-lineære restriksjoner Ikke-lineær målfunksjon, lineære restriksjoner Nivåkurve for målfunksjonen Nivåkurver for målfunksjonen optimal løsning Mulighetsområdet Ikke-lineær målfunksjon, ikke-lineære restriksjoner BØK 710 OPERASJONSANALYTISKE EMNER optimal løsning Mulighetsområdet Ikke-lineær målfunksjon, lineære restriksjoner Rasmussen 30

En ikke-lineær løsningsstrategi X 2 C D E B Nivåkurver for målfunksjonen Mulighetsområdet A

En ikke-lineær løsningsstrategi X 2 C D E B Nivåkurver for målfunksjonen Mulighetsområdet A (start punkt) X 1 BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 31

GRG Algoritmen Solver bruker Generalized Reduced Gradient (GRG) algoritmen for å løse ikke-lineære programmeringsproblemer.

GRG Algoritmen Solver bruker Generalized Reduced Gradient (GRG) algoritmen for å løse ikke-lineære programmeringsproblemer. GRG kan også brukes på LP problemer. Den er tregere enn Simplex metoden. Den gir ikke garantert beste løsning hvis problemet er ikke-lineært. Den gir mindre omfattende sensitivitets-analyse. Strategi: Prøv LP Solver først! BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 32

Lokale vs. Globalt Optimale Løsninger X 2 Lokal optimal løsning C E Mulighets-området B

Lokale vs. Globalt Optimale Løsninger X 2 Lokal optimal løsning C E Mulighets-området B F Lokal og global optimal løsning G A D X 1 BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 33

Konveksitet Dette mulighetsområdet er konveks. Alle rette linjer mellom to punkter i mulighetsområdet ligger

Konveksitet Dette mulighetsområdet er konveks. Alle rette linjer mellom to punkter i mulighetsområdet ligger fullstendig innenfor mulighetsområdet. BØK 710 OPERASJONSANALYTISKE EMNER Dette mulighetsområdet er ikke-konveks. Ikke alle rette linjer mellom to punkter i mulighetsområdet ligger fullstendig innenfor mulighetsområdet. Rasmussen 34

Kommentarer til konveksitet Konvekse problemer er mye enklere å løse enn ikke-konvekse problemer. ASP

Kommentarer til konveksitet Konvekse problemer er mye enklere å løse enn ikke-konvekse problemer. ASP kan teste for konveksitet: Klikk: Optimize, Analyze Without Solving. Model type “NLP Convex” Convex indikerer at et lokalt optimum også er det globale optimum. Andre modelltyper er ubestemte angående globale optimale løsninger. (Som “NLP Non. Cvx ” , “ NLP ”. ) BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 35

Kommentarer til NLP Algoritmer Det er ikke bestandig best å flytte i den retningen

Kommentarer til NLP Algoritmer Det er ikke bestandig best å flytte i den retningen som skaper den raskeste forbedringen i målfunksjonen. Det er heller ikke bestandig best å flytte lengst mulig i den retningen. NLP algoritmer vil stoppe ved lokale optimumsløsninger. Startpunktet påvirker hvilket lokalt optimumspunkt en ender opp med. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 36

Kommentarer vedrørende startpunkt Start i null-punktet bør unngås. Hvis mulig bør en velge startverdier

Kommentarer vedrørende startpunkt Start i null-punktet bør unngås. Hvis mulig bør en velge startverdier for beslutningsvariablene som har noen lunde samme størrelse som de forventede optimale verdiene. Automatisk skalering bygger på start-løsningen. Hvis diagnosen ikke bekrefter at problemet er konveks, kan en benytte opsjonen Multi. Start Search BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 37

En kommentar til “Optimal” løsning Når Solver løser et ikke-lineært problem, stopper den normalt

En kommentar til “Optimal” løsning Når Solver løser et ikke-lineært problem, stopper den normalt når den første av følgende 3 tester er tilfredsstilt, ledsaget av en av følgende: 1) “Solver found a solution. All constraints and optimality conditions are satisfied. ” Dette betyr at Solver har funnet et lokalt optimum, men garanterer ikke at dette er den globale optimale løsningen. Med mindre du vet at problemet kun har ett lokalt optimum (som da også må være det globale optimum) bør du kjøre Solver flere ganger med forskjellige startverdier, for å øke muligheten for at du finner den globale optimumsløsningen. For ikke-konvekse problemer bruk opsjonen Multi. Start Search 2) “Solver has converged to the current solution. All constraints are satisfied. ” Dette betyr at målfunksjonen har endret seg lite i de siste iterasjonene. Hvis du tror at løsningen ikke er et lokalt optimumspunkt, så kan det hende at problemet er dårlig skalert. Convergence opsjonen i Solver Options dialog box kan reduseres for å unngå konvergering omkring suboptimale løsninger. 3) “Solver cannot improve the current solution. All constraints are satisfied. ” Denne sjeldne meldingen kan bety at modellen er degenerert, og at Solver går i ring mellom samme løsninger. Degenererte løsninger kan ofte elimineres ved å fjerne overflødige restriksjoner i modellen. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 38

Optimalt innkjøpskvantum (EOQ) Hvordan finne optimal ordrestørrelse når en bestiller varer. Små ordrer (varebestillinger)

Optimalt innkjøpskvantum (EOQ) Hvordan finne optimal ordrestørrelse når en bestiller varer. Små ordrer (varebestillinger) medfører: Små lagerbeholdninger → lave lagringskostnader Hyppige ordrer → større bestillingskostnader Store ordrer medfører: Store lagerbeholdninger → store lagringskostnader Sjeldne order → lave bestillingskostnader BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 39

Lager Eksempel på lagerprofiler 60 Årlig etterspørsel = 150 Ordrestørrelse = 50 50 Antall

Lager Eksempel på lagerprofiler 60 Årlig etterspørsel = 150 Ordrestørrelse = 50 50 Antall ordrer = 3 Gj. snitt lager = 25 40 30 20 10 0 Lager 0 60 50 1 2 3 4 5 6 7 Årlig etterspørsel = 150 Ordrestørrelse = 25 8 9 10 11 12 Måneder Antall ordrer = 6 Gj. Snitt lager = 12. 5 40 30 20 10 0 0 1 BØK 710 OPERASJONSANALYTISKE EMNER 2 3 4 5 6 7 8 9 10 11 12 Måneder Rasmussen 40

EOQ Modellen D = årlig etterspørsel etter varen C = kjøpspris pr. enhet for

EOQ Modellen D = årlig etterspørsel etter varen C = kjøpspris pr. enhet for varen S = fast kostnad ved bestilling av varen i = årlig lagerholdskostnad (som en % av C) Q = bestillingskvantum Antagelser: Etterspørsel (eller bruk) er konstant over hele året. Nye ordrer mottas i sin helhet i det øyeblikk lageret er tomt. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 41

EOQ kostnadssammenhenger $ 1000 800 Totalkostnad 600 400 Lagerkostnader Bestillingskostnader 200 EOQ 0 0

EOQ kostnadssammenhenger $ 1000 800 Totalkostnad 600 400 Lagerkostnader Bestillingskostnader 200 EOQ 0 0 10 20 30 40 50 Ordrekvantum BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 42

Et EOQ Eksempel: Bestille papir Alan Wang kjøper papir for kopimaskiner og laserprintere ved

Et EOQ Eksempel: Bestille papir Alan Wang kjøper papir for kopimaskiner og laserprintere ved Metro. Bank. Årlig etterspørsel (D) er på 24, 000 esker Hver eske koster $35 (C) Hver bestilling koster $50 (S) Lagerholdskostnader er 18% (i) Hva er optimalt bestillingskvantum (Q)? BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 43

Modellen Q er en beslutningsvariabel Q-1 Inngår i målfunksjonen → ikke-lineær Merk at målfunksjonen

Modellen Q er en beslutningsvariabel Q-1 Inngår i målfunksjonen → ikke-lineær Merk at målfunksjonen er ikke-lineær! BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 44

Implementere Lagermodellen Analyze without solve NLP Convex - Unikt optimum BØK 710 OPERASJONSANALYTISKE EMNER

Implementere Lagermodellen Analyze without solve NLP Convex - Unikt optimum BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 45

Kommentarer til EOQ Modellen Matematisk kan en vise at den optimale verdien for Q

Kommentarer til EOQ Modellen Matematisk kan en vise at den optimale verdien for Q er : En mengde varianter av EOQ modellen finnes for å ta hensyn til: – kvantumsrabatter – lagerrestriksjoner – etterbestillinger – etc. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 46

Problemer med optimering? Det hender at vi noen ganger ikke får den løsningen vi

Problemer med optimering? Det hender at vi noen ganger ikke får den løsningen vi forventer. Regner Solver galt, eller har vi gitt gale opplysninger til Solver? Eksempler på hvilke vansker som kan oppstå med optimering i regneark er beskrevet på: http: //ite. pubs. informs. org/oldsite/Vol 2 No 2/Troxell/ BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 47

Lokaliseringsproblemer Mange beslutninger dreier seg om å finne optimal lokalisering av bygninger eller servicesentra,

Lokaliseringsproblemer Mange beslutninger dreier seg om å finne optimal lokalisering av bygninger eller servicesentra, f. eks. Produksjonsfabrikker Lagerbygninger Brannstasjon Ambulansesentra Slike problemer inneholder vanligvis avstander i målfunksjonen og/eller i restriksjonene. Avstanden (Euclidsk) i rett linje mellom to punkter (X 1, Y 1) og (X 2, Y 2) er: BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 48

Et lokaliseringsproblem: Rappaport Communications tilbyr mobiltelefontjenester i flere mellomvestlige stater. De ønsker å ekspandere

Et lokaliseringsproblem: Rappaport Communications tilbyr mobiltelefontjenester i flere mellomvestlige stater. De ønsker å ekspandere for å tilby tjenestene også mellom fire byer i nordre Ohio. En ny telemast må bygges for å formidle samtalene mellom disse byene. Masten vil gi dekning i en radius på 40 mil. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 49

Graf over lokalisering av telemasten Y 50 Cleveland x=5, y=45 40 30 Youngstown Akron

Graf over lokalisering av telemasten Y 50 Cleveland x=5, y=45 40 30 Youngstown Akron x=12, y=21 20 x=52, y=21 10 Canton x=17, y=5 0 0 10 20 BØK 710 OPERASJONSANALYTISKE EMNER 30 40 50 60 X Rasmussen 50

Definere beslutningsvariablene X 1 = lokalisering av telemasten langs X-aksen Y 1 = lokalisering

Definere beslutningsvariablene X 1 = lokalisering av telemasten langs X-aksen Y 1 = lokalisering av telemasten langs Y-aksen BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 51

Definere målfunksjonen Minimere den totale avstanden mellom den nye masten og de eksisterende :

Definere målfunksjonen Minimere den totale avstanden mellom den nye masten og de eksisterende : Minimer: BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 52

Definere restriksjonene Cleveland Akron Canton Youngstown BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 53

Definere restriksjonene Cleveland Akron Canton Youngstown BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 53

Implementere modellen Merk: I dette problemet tillates negative verdier på beslutningsvariablene. BØK 710 OPERASJONSANALYTISKE

Implementere modellen Merk: I dette problemet tillates negative verdier på beslutningsvariablene. BØK 710 OPERASJONSANALYTISKE EMNER Non. Linear. Problem Solver kan ikke avgjøre om problemet er konveks Rasmussen 54

Finne global optimal løsning Multi. Start vil forsøke ulike startverdier. Må ha nedre og

Finne global optimal løsning Multi. Start vil forsøke ulike startverdier. Må ha nedre og øvre grense på variablene. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 55

Analysere løsningen Den optimale plasseringen av den “nye masten” er på samme sted som

Analysere løsningen Den optimale plasseringen av den “nye masten” er på samme sted som Akron masten. Kanskje de bare skulle oppgradere Akron masten. Den største avstanden er 40 mil til Youngstown. Dette er på grensen til max rekkevidde. Hvor skal vi plassere den nye masten hvis vi ønsker å minimere den maksimale avstanden til eksisterende sendere ? BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 56

Minste maksimalavstand Her har vi benyttet Mini. Max teknikken: Minimere: Max avstand Q (E

Minste maksimalavstand Her har vi benyttet Mini. Max teknikken: Minimere: Max avstand Q (E 8) Slik at: Alle avstander ≤ Max avstand BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 57

Kommentarer til lokaliseringsproblemer Den optimale løsningen til et lokaliseringsproblem vil ikke alltid virke :

Kommentarer til lokaliseringsproblemer Den optimale løsningen til et lokaliseringsproblem vil ikke alltid virke : Eiendommen er kanskje ikke til salgs. Området kan være fredet. Stedet kan være en innsjø. I slike situasjoner er den optimale løsningen et godt utgangspunkt for å finne et passende område i nærheten. Restriksjoner kan tilføyes lokaliserings-problemene for å eliminere umulige områder. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 58

Et ikke-lineært transportproblem: Safety. Trans har spesialisert seg på frakt av spesielt verdifull og

Et ikke-lineært transportproblem: Safety. Trans har spesialisert seg på frakt av spesielt verdifull og ekstremt farlig gods. Det er absolutt nødvendig for firmaet å unngå ulykker: Det beskytter deres renommé. Det holder forsikringspremiene lave. Mulige miljøkonsekvenser av en ulykke er katastrofale. Selskapet driver en database over trafikkulykker som benyttes til å finne de sikreste rutene. De har nå behov for å finne den tryggeste veien mellom Los Angeles, CA og Amarillo, TX. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 59

Nettverk for Safety. Trans Problemet Las Vegas 2 0. 006 0. 001 Flagstaff 6

Nettverk for Safety. Trans Problemet Las Vegas 2 0. 006 0. 001 Flagstaff 6 0. 010 0. 003 0. 006 Los Angeles 1 0. 002 San Diego 3 0. 010 0. 005 0. 002 0. 010 +1 0. 001 Amarillo 10 0. 004 0. 009 Phoenix 4 -1 0. 004 Albuquerque 8 Tucson 5 0. 003 Las Cruces 7 0. 003 0. 006 Lubbock 9 Tallene langs greinene angir sannsynligheten for at en ulykke skal inntreffe. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 60

Definere beslutningsvariablene BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 61

Definere beslutningsvariablene BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 61

Definere målfunksjonen Velg tryggeste rute ved å maksimere sannsynligheten av å ikke ha en

Definere målfunksjonen Velg tryggeste rute ved å maksimere sannsynligheten av å ikke ha en ulykke: der: Pij = sannsynligheten for en ulykke når en kjører fra node i til node j BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 62

Definere restriksjonene Transportrestriksjoner: –Y 1, 2 –Y 1, 3 –Y 1, 4 = –

Definere restriksjonene Transportrestriksjoner: –Y 1, 2 –Y 1, 3 –Y 1, 4 = – 1 } node 1 +Y 1, 2 –Y 2, 4 –Y 2, 6 = 0 } node 2 +Y 1, 3 –Y 3, 4 –Y 3, 5 = 0 } node 3 +Y 1, 4 +Y 2, 4 +Y 3, 4 –Y 4, 5 –Y 4, 6 –Y 4, 8 = 0 } node 4 +Y 3, 5 +Y 4, 5 –Y 5, 7 = 0 } node 5 +Y 2, 6 +Y 4, 6 –Y 6, 7 –Y 6, 8 = 0 } node 6 +Y 5, 7 +Y 6, 7 –Y 7, 8 –Y 7, 9 –Y 7, 10 = 0 } node 7 +Y 4, 8 +Y 6, 8 +Y 7, 8 –Y 8, 10 = 0 } node 8 +Y 7, 9 –Y 9, 10 = 0 } node 9 +Y 7, 10 +Y 8, 10 +Y 9, 10 = 1 } node 10 BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 63

Ikke-lineært transportproblem NLP Non. Cvx Ikke-lineært og ikke-konveks. Kan ha flere lokale optimum. Må

Ikke-lineært transportproblem NLP Non. Cvx Ikke-lineært og ikke-konveks. Kan ha flere lokale optimum. Må bruke Multi. Start BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 64

Kommentarer til ikke-lineære transportproblemer Små forskjeller i sannsynligheter kan bety store forskjeller i forventet

Kommentarer til ikke-lineære transportproblemer Små forskjeller i sannsynligheter kan bety store forskjeller i forventet verdi : (1 -0, 9900) * $30. 000 = $300. 000 (1 -0, 9626) * $30. 000 = $1. 122. 000 Slike typer problemer er også nyttige i pålitelighetsnettverksproblemer (som å finne svakeste ”ledd” (eller grein) i et produksjonssystem eller i et telekommunikasjonssystem). BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 65

Valg av investeringsprosjekt: TMC skal fordele $1, 7 millioner av F&U budsjettet og fordele

Valg av investeringsprosjekt: TMC skal fordele $1, 7 millioner av F&U budsjettet og fordele 25 ingeniører til 6 utviklingsprosjekter. Sannsynligheten for suksess for et prosjekt er avhengig av antall ingeniører (Xi) som tildeles prosjektet, og defineres slik: Pi = Xi/(Xi + i) Prosjekt Startkostnader NPV ved suksess Sannsynlighetsparameter i 1 $325 $750 3, 1 2 $200 $120 2, 5 3 $490 $900 4, 5 4 5 $125 $710 $400 $1, 110 5, 6 8, 2 6 $240 $800 8, 5 (alle pengebeløp er i $1. 000 s) BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 66

Utvalgte sannsynlighetsfunksjoner 1, 0000 0, 9000 Sannsynlighet for suksess 0, 8000 0, 7000 0,

Utvalgte sannsynlighetsfunksjoner 1, 0000 0, 9000 Sannsynlighet for suksess 0, 8000 0, 7000 0, 6000 0, 5000 0, 4000 2, 5 Project 2 5, 6 Project 4 0, 3000 8, 5 Project 6 0, 2000 0, 1000 0, 0000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Antall ingeniører tildelt BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 67

Definere beslutningsvariablene BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 68

Definere beslutningsvariablene BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 68

Definere målfunksjonen Maksimer total forventet nåverdi av de valgte prosjektene BØK 710 OPERASJONSANALYTISKE EMNER

Definere målfunksjonen Maksimer total forventet nåverdi av de valgte prosjektene BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 69

Definere restriksjonene Finansiering av startkostnadene 325 Y 1 + 200 Y 2 + 490

Definere restriksjonene Finansiering av startkostnadene 325 Y 1 + 200 Y 2 + 490 Y 3 + 125 Y 4 + 710 Y 5 + 240 Y 6 ≤ 1700 Ingeniører X 1 + X 2 + X 3 + X 4 + X 5 + X 6 ≤ 25 Logiske betingelser Xi ≤ 25 Yi , i = 1, 2, 3, … 6 Merk: Følgende restriksjon kunne benyttes isteden for de to siste. . . X 1 Y 1 + X 2 Y 2+ X 3 Y 3+ X 4 Y 4+ X 5 Y 5 + X 6 Y 6 ≤ 25 Denne restriksjonen er imidlertid ikke-lineær. Det er generelt best å formulere seg lineært hvis det er mulig. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 70

Implementere modellen BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 71

Implementere modellen BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 71

Global optimering kan ta lang tid BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 72

Global optimering kan ta lang tid BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 72

Optimering av eksisterende modeller Det er ikke bestandig nødvendig å skrive ut en algebraisk

Optimering av eksisterende modeller Det er ikke bestandig nødvendig å skrive ut en algebraisk formulering til et optimeringsproblem, selv om dette vil sikre en grundig forståelse av problemet. Solver kan brukes til å optimere en mengde eksisterende regneark, også med modeller som er fulle av ikke-lineæriteter. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 73

Finansiering av livsforsikring Thom Pearman eier en engangs livsforsikringspolise med innløsningsverdi på $6, 000

Finansiering av livsforsikring Thom Pearman eier en engangs livsforsikringspolise med innløsningsverdi på $6, 000 og utbetaling ved død på $40, 000. Han ønsker å innløse livsforsikringspolisen og bruke rentene til å betale terminbeløp på en livsforsikring med utbetaling ved død på $350, 000. Thom’s marginalskatt er 28%. Hvilken avkastning trenger han på investeringen på $6, 000 for å kunne betale den nye forsikringen? Terminbeløpene for den nye polisen for 10 år er: År Terminbeløp 1 2 3 4 5 6 7 8 9 10 $423 $457 $489 $516 $530 $558 $595 $618 $660 $716 BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 74

Implementere modellen BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 75

Implementere modellen BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 75

Optimal portefølje En finansplanlegger ønsker å sette sammen den minst risikable porteføljen som gir

Optimal portefølje En finansplanlegger ønsker å sette sammen den minst risikable porteføljen som gir minimum 12% avkastning, ved å benytte følgende aksjer : År 1 2 3 4 5 6 7 8 9 10 11 12 Gj. snitt Årlig avkastning IBC NMC 11, 2% 8, 0% 10, 8% 9, 2% 11, 6% 6, 6% -1, 6% 18, 5% -4, 1% 7, 4% 8, 6% 13, 0% 6, 8% 22, 0% 11, 9% 14, 0% 12, 0% 20, 5% 8, 3% 14, 0% 6, 0% 19, 0% 10, 2% 9, 0% 7, 64% 13, 43% BØK 710 OPERASJONSANALYTISKE EMNER NBS 10, 9% 22, 0% 37, 9% -11, 8% 12, 9% -7, 5% 9, 3% 48, 7% -1, 9% 19, 1% -3, 4% 43, 0% 14, 93% IBC NMC NBS Kovariansmatrise IBC NMC 0, 00258 -0, 00025 0, 00276 0, 00440 -0, 00542 NBS 0, 00440 -0, 00542 0, 03677 Rasmussen 76

Definere beslutningsvariablene p 1 = andel av investeringen investert i IBC p 2 =

Definere beslutningsvariablene p 1 = andel av investeringen investert i IBC p 2 = andel av investeringen investert i NMC p 3 = andel av investeringen investert i NBS BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 77

Definere målsettingen Minimere porteføljens varians (risiko). Matrisenotasjon: Minimer p. TCp p = vektor av

Definere målsettingen Minimere porteføljens varians (risiko). Matrisenotasjon: Minimer p. TCp p = vektor av andeler C = kovariansmatrisen BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 78

Definere restriksjonene Forventet avkastning 0, 0764 p 1 + 0, 1343 p 2 +

Definere restriksjonene Forventet avkastning 0, 0764 p 1 + 0, 1343 p 2 + 0, 1493 p 3 ≥ 0, 12 Andeler p 1 + p 2 + p 3 = 1 p 1, p 2, p 3 ≥ 0 p 1, p 2, p 3 ≤ 1 BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 79

Implementere modellen QP Convex Kan bruke LP/QP Solver BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 80

Implementere modellen QP Convex Kan bruke LP/QP Solver BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 80

Parametrisk analyse Vi ønsker å løse problemet med flere alternative verdier for minimum avkastning.

Parametrisk analyse Vi ønsker å løse problemet med flere alternative verdier for minimum avkastning. (Celle K 11) BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 81

Implementere modellen Vi må angi hvor mange ulike optimeringer vi ønsker å kjøre. BØK

Implementere modellen Vi må angi hvor mange ulike optimeringer vi ønsker å kjøre. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 82

Parametrisk analyse BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 83

Parametrisk analyse BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 83

Plot av parametrisk analyse BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 84

Plot av parametrisk analyse BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 84

Multiple målsettinger i porteføljesammensetning I porteføljeproblemer ønsker vi å oppnå ett av to mål:

Multiple målsettinger i porteføljesammensetning I porteføljeproblemer ønsker vi å oppnå ett av to mål: – – Minimere risiko (porteføljens varians) Maksimere forventet avkastning Vi kan ta hensyn til begge målsettingene samtidig ved å generere effisiente porteføljer: (1 – r) (Forventet avkastning) – r (porteføljens varians) p 1 + p 2 + … + pm = 1 pi ≥ 0 hvor: 0 ≤ r ≤ 1 er en risikoaversjons parameter Merk: Hvis r = 1 minimeres variansen. Hvis r = 0 maksimeres avkastningen. MAX: gitt : BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 85

Implementere modellen BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 86

Implementere modellen BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 86

Effisiensgrensen – Trinn 1 Lag en tabell med ulike verdier for r, risikoaversjonen. Erstatt

Effisiensgrensen – Trinn 1 Lag en tabell med ulike verdier for r, risikoaversjonen. Erstatt cellen for r med formelen Psi. Opt. Param(N 4: N 14) Kolonnen for varians: Psi. Opt. Value($K$11; M 4) Kolonnen for Avkastning: Psi. Opt. Value($K$10; M 4) BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 87

Effisiensgrensen – Trinn 2 Sett antall optimeringer til 11. Kjør Solver. BØK 710 OPERASJONSANALYTISKE

Effisiensgrensen – Trinn 2 Sett antall optimeringer til 11. Kjør Solver. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 88

Effisiensgrensen – Trinn 3 Sett inn et Scatterplot av Varians og Avkastning BØK 710

Effisiensgrensen – Trinn 3 Sett inn et Scatterplot av Varians og Avkastning BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 89

Automatisk plott BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 90

Automatisk plott BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 90

Sensitivitetsanalyse LP uttrykk Shadow Price Reduced Cost NLP uttrykk Lagrange Multiplier Reduced Gradient Betyr

Sensitivitetsanalyse LP uttrykk Shadow Price Reduced Cost NLP uttrykk Lagrange Multiplier Reduced Gradient Betyr Marginalverdi for ressursene. Endringen i målfunksjonene ved en liten endring i optimal verdi på beslutningsvariablene. Vi får mindre informasjon fra sensitivitetsanalysen ved ikke-lineære problemer sammenlignet med LP. For heltallsproblemer får vi ingen sensitivitetsanalyse. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 91

Sensitivitetsanalyse Ingen ”Range” -analyse BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 92

Sensitivitetsanalyse Ingen ”Range” -analyse BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 92

Solver Options for NLP BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 93

Solver Options for NLP BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 93

Evolutionary Algoritmer En teknikk av heuristikk-matematikk for optimering basert på Darwin’s Evolusjonsteori. Kan brukes

Evolutionary Algoritmer En teknikk av heuristikk-matematikk for optimering basert på Darwin’s Evolusjonsteori. Kan brukes på en hvilken som helst regnearkmodell, inkludert de med “If” og/eller “Lookup” funksjoner. Også kalt Genetic Algorithms (GAs). BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 94

Evolutionary Algoritmer Løsninger til et MP problem kan representeres som en vektor av tall

Evolutionary Algoritmer Løsninger til et MP problem kan representeres som en vektor av tall (som et kromosom) Hvert kromosom har en tilhørende “tilpasning” (målfunksjons) verdi GA’er starter med en tilfeldig populasjon av kromosomer og benytter Crossover - bytter verdier mellom løsningsvektorer Mutation - tilfeldig erstatting av verdier i en løsningsvektor De best tilpassede kromosomene overlever til neste generasjon, og prosessen gjentas BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 95

Forenklet illustrasjon av evolusjon X 1 7, 84 10, 26 3, 88 9, 51

Forenklet illustrasjon av evolusjon X 1 7, 84 10, 26 3, 88 9, 51 5, 96 4, 77 INITIAL POPULASJON X 2 X 3 24, 39 29, 95 16, 36 31, 26 23, 03 25, 92 19, 51 26, 23 19, 52 33, 83 18, 31 26, 21 X 4 6, 62 3, 55 6, 76 2, 64 6, 89 5, 59 Fitness 282, 08 293, 38 223, 31 331, 28 453, 57 229, 49 Kromosom 1 2 3 4 5 6 X 1 7, 84 10, 26 3, 88 9, 51 4, 77 5, 96 CROSSOVER & MUTATION X 2 X 3 24, 39 31, 26 16, 36 29, 95 19, 75 25, 92 19, 51 32, 23 18, 31 33, 83 19, 52 26, 21 X 4 3, 55 6, 62 6, 76 2, 64 6, 89 4, 60 Fitness 334, 28 227, 04 301, 44 495, 52 332, 38 444, 21 Kromosom 1 2 3 4 5 6 X 1 7, 84 10, 26 3, 88 9, 51 5, 96 NY POPULASJON X 2 X 3 24, 39 31, 26 16, 36 31, 26 19, 75 25, 92 19, 51 32, 23 19, 52 33, 83 19, 52 26, 21 X 4 3, 55 6, 76 2, 64 6, 89 4, 60 Fitness 334, 28 293, 38 301, 44 495, 52 453, 57 444, 21 Kromosom 1 2 3 4 5 6 BØK 710 OPERASJONSANALYTISKE EMNER Alternative løsninger Crossover Mutasjoner De beste ”overlever” Fra initial populasjon Rasmussen 96

Velge ut jevne grupper Lederen av et master-studium ønsker å dele inn nye studenter

Velge ut jevne grupper Lederen av et master-studium ønsker å dele inn nye studenter i grupper. Han ønsker å dele de 34 nye studentene i 7 grupper. Studentene er rangert basert på GMAT verdier, og studielederen ønsker å dele gruppene slik at de får jevnest mulig rangering. BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 97

Implementere valg av jevne grupper BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 98

Implementere valg av jevne grupper BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 98

Evolutionary Solver BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 99

Evolutionary Solver BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 99

Heuristikker garanterer ikke optimal løsning Det finnes en enda bedre løsning! BØK 710 OPERASJONSANALYTISKE

Heuristikker garanterer ikke optimal løsning Det finnes en enda bedre løsning! BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 100

Optimal løsning? BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 101

Optimal løsning? BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 101

The Traveling Salesperson Problem En selger ønsker å finne den billigste ruten for å

The Traveling Salesperson Problem En selger ønsker å finne den billigste ruten for å besøke kunder i n forskjellige byer, slik at hver by besøkes kun én gang før en returnerer til utgangspunktet. n 3 5 9 13 17 20 BØK 710 OPERASJONSANALYTISKE EMNER (n-1)! 2 24 40, 320 479, 001, 600 20, 922, 789, 888, 000 121, 645, 100, 408, 832, 000 Rasmussen 102

Eksempel på TSP Wolverine Manufacturing må bestemme den korteste veien for en drillemaskin for

Eksempel på TSP Wolverine Manufacturing må bestemme den korteste veien for en drillemaskin for å borre 9 hull i et fiberglass panel. Dette er et TSP problem (bytt ut hull med byer, og drillemaskin med handelsreisende). TSP in Spreadsheets – a Guided Tour: http: //www. economicsnetwork. ac. uk/iree/v 10 n 1/rasmussen. pdf BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 103

Implementere TSP i regneark BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 104

Implementere TSP i regneark BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 104

Koordinater, avstander og plot TSP BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 105

Koordinater, avstander og plot TSP BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 105

Slutt på kapittel 20 BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 106

Slutt på kapittel 20 BØK 710 OPERASJONSANALYTISKE EMNER Rasmussen 106