Operasjonsanalytiske emner

Slides:



Advertisements
Liknende presentasjoner
Wyndor med variasjoner Ethvert LP problem vil falle i en av følgende kategorier: 1. Problemet har en (eller flere) optimalløsninger 2. Problemet har ingen.
Advertisements

Mean-Variance Analysis continued
Managerial Decision Modeling
The Travelling Salesperson. LOG530 Distribusjonsplanlegging 2 2 Et forsyningsskip skal starte fra VestBase for å betjene 10 forskjellig installasjoner.
Managerial Decision Modeling Cliff Ragsdale 6. edition Rasmus RasmussenBØK350 OPERASJONSANALYSE1 Chapter 5 Network Modeling.
Korteste vei. LOG530 Distribusjonsplanlegging 2 2 Ofte står en overfor ønsket om å finne korteste kjørerute fra et gitt utgangspunkt til et ønsket bestemmelsessted.
Komplett avstandstabell. LOG530 Distribusjonsplanlegging 2 2 Noen ganger er det behov for en komplett avstandstabell mellom alle nodene i et nettverk.
Kap 4 Investment-consumption decision model
Produktvalg Læringsmål:
Omlasting, direkteleveranser og flere vareslag. LOG530 Distribusjonsplanlegging 2 2 Vi har nå utvidet nettverket med flere vareslag. Vi har samme distribusjonsnett.
Corporate Finance Dividende. Dividendebeslutninger • Aksjeselskaper betaler vanligvis ut en del av det årlige overskuddet til sine aksjonærer. • Generalforsamlingen.
Kapittel 6: Lagermodeller
Kapittel 6: Lagermodeller
Forside Korteste sti BFS Modifikasjon Dijkstra Eksempel Korrekthet Analyse Øving Spørsmål Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no.
Dijkstras algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no
Managerial Decision Modeling A Practical Introduction to Management Science, 5ed by Cliff Ragsdale.
Managerial Decision Modeling
Managerial Decision Modeling
Managerial Decision Modeling A Practical Introduction to Management Science, 5ed by Cliff Ragsdale.
Lokalisering av avfallsanlegg - størst minsteavstand.
LOG530 Distribusjonsplanlegging
Minimal Spanning Tree. LOG530 Distribusjonsplanlegging 2 2 Nettverket viser avstanden mellom 8 noder, der nodene A – G beskriver oljefelt som skal knyttes.
Sikreste vei. LOG530 Distribusjonsplanlegging 2 2 Noen ganger står en overfor ønsket om å finne sikreste kjørerute fra et gitt startpunkt til et ønsket.
Ubalansert nettverk med felles produksjonsressurser.
Lokalisering av mobilmaster. LOG530 Distribusjonsplanlegging 2 2 NetVik strever med å fullføre sin utbygging av UTMS nettet sitt. I Glemnes kommune er.
Lokalisering og max totalavstand. LOG530 Distribusjonsplanlegging 2 2 Anta at nettverket angir en region hvor McBurger skal opprette 3 konkurrerende utsalg.
Reiserute med maksimal opplevelse. LOG530 Distribusjonsplanlegging 2 2 I følgende eksempel er det en turist som ønsker å velge kjøreruten med mest severdigheter,
Omlasting og overproduksjon. LOG530 Distribusjonsplanlegging 2 2 Vi har samme distribusjonsnett som før. (Betrakt de ulike vareslagene som flere 3-dimensjonale.
Distribusjon i nettverk. LOG530 Distribusjonsplanlegging 2 2 Her har vi en situasjon med 2 leverandører, lokalisert i node 1 og 2, med et tilbud på hhv.
LOG530 Distribusjonsplanlegging
Maksimal gjennomstrømming. LOG530 Distribusjonsplanlegging 2 2 StartOil må transportere store mengder utstyr og materialer til utbyggingen av et nytt.
LOG530 Distribusjonsplanlegging
LOG530 Distribusjonsplanlegging
Transport fra lager til kunder. LOG530 Distribusjonsplanlegging 2 2 Lager 1 Lager 1 Lager 2 Lager 2 Lager 3 Lager 3 Kunde 1 Kunde 1 Kunde 2 Kunde 2 Kunde.
P-MP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
Omlasting, direkteleveranser og kundekrav. LOG530 Distribusjonsplanlegging 2 2 Vi gjeninnfører muligheter for direkteleveranser, og går tilbake til data.
Lokalisering av avfallsanlegg - størst totalavstand.
Lokalisering og minimum maxavstand. LOG530 Distribusjonsplanlegging 2 2 I mange situasjoner ønsker en å finne lokaliseringer som minimerer maksimalavstanden.
Tildeling av snødeponeringssted. LOG530 Distribusjonsplanlegging 2 2 Kommunen skal kommende vinter frakte snø fra 10 soner til 5 deponeringssteder. Snøen.
UFLP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
P-CP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
Managerial Decision Modeling
Managerial Decision Modeling
Målprogrammering. LOG530 Distribusjonsplanlegging 2 2 Vi fortsetter eksempel 10.2, men vil nå se på oppfyllelse av flere mål samtidig. Målprogrammering.
Maks resultat og maks oppfylte kundekrav. LOG530 Distribusjonsplanlegging 2 2 Vi fortsetter eksempel 9, men benytter nå nettopriser for varene. (Antar.
Managerial Decision Modeling Cliff Ragsdale 6. edition Rasmus RasmussenBØK350 OPERASJONSANALYSE1 Chapter 6 Integer Linear Programming.
Wyndor with variations
Kapittel 12 – Noen begreper
Diskrete stokastiske variable
Lokalisering i to-delt graf. LOG530 Distribusjonsplanlegging 2 2 Vi skal nå beskrive en transhipmentmodell med to varesorter som skal leveres fra to fabrikker.
Maks oppfylte kundekrav og maks resultat. LOG530 Distribusjonsplanlegging 2 2 Vi fortsetter eksempel 10.1, men gjør trinnene i motsatt rekkefølge: max.
Lokalisering og betjening av greiner. LOG530 Distribusjonsplanlegging 2 2 Mista har fått i oppdrag å vedlikeholde veiene i landsdelen. De må derfor opprette.
Managerial Decision Modeling A Practical Introduction to Management Science, 5ed by Cliff Ragsdale.
Hypotesetesting, og kontinuerlige stokastiske variable
Modeller med ubalanse. LOG530 Distribusjonsplanlegging 2 2 Vi har nå fjernet muligheten for direkteleveranser fra fabrikk til kunder. Ellers har vi har.
UFLP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
Lokalisering og max minimumavstand. LOG530 Distribusjonsplanlegging 2 2 Anta at nettverket angir en region hvor McBurger skal opprettes 3 konkurrerende.
Tildeling av lasterom. LOG530 Distribusjonsplanlegging 2 2 Et bulkskip skal lastes med tørrlast til Ghana. En ønsker å frakte totalt 4 ulike varetyper.
Korteste vei. LOG530 Distribusjonsplanlegging 2 2 Ofte står en overfor ønsket om å finne korteste kjørerute fra et gitt utgangspunkt til et ønsket bestemmelsessted.
LOG530 Distribusjonsplanlegging
Kapittel 7 Inntekter, kostnader og resultatmodeller
LOG530 Distribusjonsplanlegging
Prosjektanalyse Øyvind Bøhren og Per Ivar Gjærum
Operasjonsanalytiske emner Heltallsvariabler og binærvariabler Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 6 Integer Linear Programming.
Operasjonsanalytiske emner Tolkninger og sammenhenger Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 4 Dualitet og post-optimal analyse.
Operasjonsanalytiske emner Sekvensielle beslutninger Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 12 Dynamisk Programming.
Operasjonsanalytiske emner
BØK310 Bedriftsøkonomi 2a Rasmus Rasmussen 1 BØK310 Bedriftsøkonomi 2a Kapittel 11 Prosjektvett.
Operasjonsanalytiske emner
Operasjonsanalytiske emner Avviksvariabler og flere motstridende målsettinger Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 7 Goal Programming.
Utskrift av presentasjonen:

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

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 ikke- lineære problemer. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Generell form på et matematisk programmeringsproblem MAX (eller MIN): f0(X1, X2, …, Xn) Slik at : f1(X1, X2, …, Xn)<=b1 : fk(X1, X2, …, Xn)>=bk fm(X1, X2, …, Xn)=bm Merk: Hvis alle funksjonene i et optimeringsproblem er lineære, så er problemet et lineært programmeringsproblem (LP). BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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: Hvis målfunksjonen og alle restriksjonene er lineære funksjoner, kalles problemet lineær programmering (LP). Et LP problem er alltid konveks. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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

Typer matematiske programmeringsproblem 4 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, og er dermed mye vanskeligere å løse. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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) f(x) = |x| x Diskontinuerlige funksjoner Kontinuerlige funksjoner med knekkpunkt BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Funksjonsformer og optimering De fleste optimeringsmetoder bygger på klassisk optimering. Der finner en maksimum for 𝑓 𝑥 ved å sette den deriverte lik null: 𝜕𝑓 𝜕𝑥 =0, og kontrollere at det er et maksimumspunkt ved å sjekke at andrederiverte er positiv: 𝜕 2 𝑓 𝜕𝑥𝜕𝑥 >0 (dvs. funksjonen har skiftet fra å stige til å synke), i motsatt fall er det et minimumspunkt. Optimeringsteknikker som bygger på klassisk optimering, dvs. derivasjon, krever derfor glatte funksjoner. NSP (non-smooth problems) kan ikke løses med metoder basert på derivasjon. De aller fleste programvarer for optimering er basert på derivasjon. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Konvekse og ikke-konvekse funksjoner Algebraisk er en funksjon konveks hvis, for enhver verdi xa og xb , og enhver t der 0 < t < 1: 𝑓 𝑡∙ 𝑥 𝑎 + 1−𝑡 𝑥 𝑏 ≤𝑡∙𝑓 𝑥 𝑎 + 1−𝑡 𝑓 𝑥 𝑏 . Geometrisk er en funksjon konveks hvis linjen mellom xa og xb (kalt korden) alltid ligger på eller over funksjonen, for ethvert sett av to punkter xa og xb. En funksjon er konkav hvis linjen (korden) alltid ligger på eller under funksjonen. f(x) f(x) Ikke-konveks f(xa) f(xb) f(xa) f(xb) Konveks x x xa xb xa xb BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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 Ikke-konvekse mengder BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

«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 ikke- negativ 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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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 der de deriverte ikke er definert, følgelig kan ikke metoder basert på derivasjon benyttes til å løse disse problemene. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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 koeffisient- matrisen), er det tilstrekkelig å beregne de deriverte én gang. Det er enkelt å verifisere at optimal løsning er funnet. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Ikke-konvekse problemer Ikke-konvekse problemer kan ha mange lokale optimumsløsninger. Her er a, c, f, og h lokale maksimumspunkt, 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. f(x) f a h c g e b d i x 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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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 Etterspørsel 𝑋 𝑠 =2250 − 15 𝑃 𝑠 𝑋 𝑑 =1500 − 5 𝑃 𝑑 VEK 70 150 Selv om pris også er en beslutningsvariabel, er det matematisk enklest å kun benytte mengde som variabel. Vi skriver derfor om sammenhengen mellom pris og mengde: 𝑋 𝑠 =2250 − 15 𝑃 𝑠 → 𝑃 𝑠 =150− 1 15 𝑋 𝑠 𝑋 𝑑 =1500 − 5 𝑃 𝑑 → 𝑃 𝑑 =300− 1 5 𝑋 𝑑 BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Maksimalt dekningsbidrag Totalt dekningsbidrag: Z = Pris  Mengde – VEK  Mengde: 𝑍= 150− 1 15 𝑋 𝑠 𝑋 𝑠 −70 𝑋 𝑠 + 300− 1 5 𝑋 𝑑 𝑋 𝑑 −150 𝑋 𝑑 𝑍=80 𝑋 𝑠 − 1 15 𝑋 𝑠 2 +150 𝑋 𝑑 − 1 5 𝑋 𝑑 2 Optimal løsning: Sette den deriverte lik null: 𝜕𝑍 𝜕 𝑋 𝑠 =0 80−2∙ 1 15 𝑋 𝑠 =0 𝑋 𝑠 = 80∙15 2 =600 𝜕𝑍 𝜕 𝑋 𝑑 =0 150−2∙ 1 5 𝑋 𝑑 =0 𝑋 𝑑 = 150∙5 2 =375 BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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 Kapasitet Etterspørsel 𝑋 𝑠 =2250 − 15 𝑃 𝑠 𝑋 𝑑 =1500 − 5 𝑃 𝑑 VEK = c 70 150 Skjæreavdeling 7 10 1 630 Sying 1 2 5 6 600 Montering 2 3 708 Pakking 1 10 1 4 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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Matematisk formulering Restriksjoner: Sum ressursbruk i avdeling j fra alle produkter (s og d) kan ikke overstige total kapasitet i avdeling j. Skjæreavdeling 7 10 𝑋 𝑠 + 1 𝑋 𝑑  630 Sying 1 2 𝑋 𝑠 5 6 𝑋 𝑑  600 Montering 1 𝑋 𝑠 2 3 𝑋 𝑑  708 Pakking 1 10 𝑋 𝑠 1 4 𝑋 𝑑  135 Totalt tidsbruk i en avdeling kan ikke overskride tilgjengelig tid i avdelingen. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Matematisk formulering Restriksjoner: Omsatt mengde er en funksjon av prisen. 𝑋 𝑠 =2250 − 15 𝑃 𝑠 𝑋 𝑑 =1500 − 5 𝑃 𝑑 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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Mulighetsområde 5 (1) Skjæreavd. 7 10 𝑋 𝑠 + 1 𝑋 𝑑  630 (2) Sying XD Mulighetsområde 5 1062 (1) Skjæreavd. 7 10 𝑋 𝑠 + 1 𝑋 𝑑  630 (2) Sying 1 2 𝑋 𝑠 5 6 𝑋 𝑑  600 (3) Montering 1 𝑋 𝑠 2 3 𝑋 𝑑  708 (4) Pakking 1 10 𝑋 𝑠 1 4 𝑋 𝑑  135 (5) 𝑋 𝑠  0 (6) 𝑋 𝑑 3 720 2 630 540 308,2 𝑀𝑎𝑥 80 𝑋 𝑠 − 1 15 𝑋 𝑠 2 +150 𝑋 𝑑 − 1 5 𝑋 𝑑 2 4 1 XS 459,7 708 900 1200 1350 6 Ved større kapasiteter kan optimal løsning være inne i mulighetsområdet. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Prissetting i regneark Pris beregnes som en funksjon av mengde. Bare Mengde brukes som beslutningsvariabel. Konveks problem => Unikt optimum Celle Formel Kopieres til C5 =C3+C4*C9 D5 C7 =C5-C6 D7 E7 =SUMPRODUCT($C$9:$D$9;C7:D7) E11:E14 BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Pris - Etterspørsel - Produksjon - Salg Etterspørsel beregnes som en funksjon av Pris. Pris, og Produsert samt Solgt mengde brukes som beslutningsvariabel. Salg må være mindre enn både Etterspørsel og Produksjon. Celle Formel Kopieres til C7 =C5+C6*C4 D7 C10 =C4*C8 D10 C11 =C3*C9 D11 C12 =C10-C11 D12 E12 =SUM(C12:D12) - E15 =SUMPRODUCT($C$9:$D$9;C15:D15) E16:E18 Vanskelig å klassifisere. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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

En ikke-lineær løsningsstrategi Mulighets-området A (start punkt) B C D E Nivåkurver for målfunksjonen X1 X2 BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Lokale vs. Globalt Optimale Løsninger C B Lokal optimal løsning Mulighets-området D E F G Lokal og global optimal løsning X1 X2 BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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

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” indikerer at et lokalt optimum også er det globale optimum. Andre modelltyper er ubestemte angående globale optimale løsninger. (Som “NLP NonCvx ” , “ NLP ”.) BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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 MultiStart Search. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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 MultiStart 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 betyr 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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Optimalt innkjøpskvantum (EOQ) Hvordan finne optimal ordrestørrelse når en bestiller varer. Små ordrer (varebestillinger) medfører: Små lagerbeholdninger & lagringskostnader Hyppige ordrer & større bestillingskostnader Store ordrer medfører: Store lagerbeholdninger & lagringskostnader Sjeldne order & mindre bestillingskostnader BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

EOQ kostnadssammenhenger 10 20 30 40 50 200 400 600 800 1000 $ Ordrekvantum Totalkostnad Lagerkostnader Bestillingskostnader EOQ BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Et EOQ Eksempel: Bestille papir Alan Wang kjøper papir for kopimaskiner og laserprintere ved MetroBank. Å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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Modellen Q er en beslutningsvariabel Q-1 Inngår i målfunksjonen => ikke-lineær Merk at målfunksjonen er ikke-lineær! BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Implementere Lagermodellen Analyze without solve Analyze without solve NLP Convex - Unikt optimum BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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/Vol2No2/Troxell/ BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Lokaliseringsproblemer Mange beslutninger dreier seg om å finne optimal lokalisering av bygninger eller servicesentra, f. eks. Slike problemer inneholder vanligvis avstander i målfunksjonen og/eller i restriksjonene. Avstanden (Euclidsk) i rett linje mellom to punkter (X1, Y1) og (X2, Y2) er: Produksjonsfabrikker Lagerbygninger Brannstasjon Ambulansesentra BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Et lokaliseringsproblem: Rappaport Communications tilbyr mobil- telefontjenester 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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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

Definere beslutningsvariablene X1 = lokalisering av telemasten langs X-aksen Y1 = lokalisering av telemasten langs Y-aksen BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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

Definere restriksjonene Cleveland Akron Canton Youngstown BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Implementere modellen NonLinearProblem Solver kan ikke avgjøre om problemet er konveks Merk: I dette problemet tillates negative verdier på beslutningsvariablene. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Finne global optimal løsning MultiStart vil forsøke ulike startverdier. Må ha nedre og øvre grense på variablene. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Minste maksimalavstand Her har vi benyttet MiniMax teknikken: Minimere: Max avstand Q (E8) Slik at: Alle avstander ≤ Max avstand BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Et ikke-lineært transportproblem: SafetyTrans 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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Nettverk for SafetyTrans Problemet +1 Las Vegas 2 Los Angeles 1 San Diego 3 Phoenix 4 Flagstaff 6 Tucson 5 Albu-querque 8 Cruces 7 Lubbock 9 Amarillo 10 0.003 0.004 0.002 0.010 0.006 0.009 0.001 0.005 -1 Tallene langs greinene angir sannsynligheten for at en ulykke skal inntreffe. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Definere beslutningsvariablene BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Definere restriksjonene Transportrestriksjoner: –Y1,2 –Y1,3 –Y1,4 = –1 } node 1 +Y1,2 –Y2,4 –Y2,6 = 0 } node 2 +Y1,3 –Y3,4 –Y3,5 = 0 } node 3 +Y1,4 +Y2,4 +Y3,4 –Y4,5 –Y4,6 –Y4,8 = 0 } node 4 +Y3,5 +Y4,5 –Y5,7 = 0 } node 5 +Y2,6 +Y4,6 –Y6,7 –Y6,8 = 0 } node 6 +Y5,7 +Y6,7 –Y7,8 –Y7,9 –Y7,10 = 0 } node 7 +Y4,8 +Y6,8 +Y7,8 –Y8,10 = 0 } node 8 +Y7,9 –Y9,10 = 0 } node 9 +Y7,10 +Y8,10 +Y9,10 = 1 } node 10 BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Ikke-lineært transportproblem NLP NonCvx Ikke-lineært og ikke-konveks. Kan ha flere lokale optimum. Må bruke MultiStart BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Kommentarer til ikke-lineære transportproblemer Små forskjeller i sannsynligheter kan bety store forskjeller i forventet verdi : (1-0,9900) * $30.000.000 = $300.000 (1-0,9626) * $30.000.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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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 + ei) Prosjekt 1 2 3 4 5 6 Startkostnader $325 $200 $490 $125 $710 $240 NPV ved suksess $750 $120 $900 $400 $1,110 $800 Sannsynlighetsparameter i 3,1 2,5 4,5 5,6 8,2 8,5 (alle pengebeløp er i $1.000s) BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Utvalgte sannsynlighetsfunksjoner BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Definere beslutningsvariablene BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Definere målfunksjonen Maksimer total forventet nåverdi av de valgte prosjektene BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Definere restriksjonene Finansiering av startkostnadene 325Y1 + 200Y2 + 490Y3 + 125Y4 + 710Y5 + 240Y6 ≤1700 Ingeniører X1 + X2 + X3 + X4 + X5 + X6 ≤ 25 Logiske betingelser Xi ≤ 25Yi , i = 1, 2, 3, … 6 Merk: Følgende restriksjon kunne benyttes isteden for de to siste... X1Y1 + X2Y2+ X3Y3+ X4Y4+ X5Y5 + X6Y6 ≤ 25 Denne restriksjonen er imidlertid ikke-lineær. Det er generelt best å formulere seg lineært hvis det er mulig. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Implementere modellen BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Global optimering kan ta lang tid BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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 1 2 3 4 5 6 7 8 9 10 Terminbeløp $423 $457 $489 $516 $530 $558 $595 $618 $660 $716 BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Implementere modellen BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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

Definere beslutningsvariablene p1 = andel av investeringen investert i IBC p2 = andel av investeringen investert i NMC p3 = andel av investeringen investert i NBS BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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

Definere restriksjonene Forventet avkastning 0,0764 p1 + 0,1343 p2 + 0,1493 p3 ≥ 0,12 Andeler p1 + p2 + p3 = 1 p1, p2, p3 ≥ 0 p1, p2, p3 ≤ 1 BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Implementere modellen QP Convex Kan bruke LP/QP Solver BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Parametrisk analyse Vi ønsker å løse problemet med flere alternative verdier for minimum avkastning. (Celle K11) BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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

Parametrisk analyse BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Plot av parametrisk analyse BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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: MAX: (1 – r)(Forventet avkastning) – r(porteføljens varians) gitt : p1 + p2 + … + pm = 1 pi ≥ 0 hvor: 0 ≤ r ≤1 er en risikoaversjons parameter Merk: Hvis r = 1 minimeres variansen. Hvis r = 0 maksimeres avkastningen. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Implementere modellen BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Effisiensgrensen – Trinn 1 Lag en tabell med ulike verdier for r, risikoaversjonen. Erstatt cellen for r med formelen PsiOptParam(N4:N14) Kolonnen for varians: PsiOptValue($K$11;M4) Kolonnen for Avkastning: PsiOptValue($K$10;M4) BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Effisiensgrensen – Trinn 2 Sett antall optimeringer til 11. Kjør Solver. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Effisiensgrensen – Trinn 3 Sett inn et Scatterplot av Varians og Avkastning BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Automatisk plott BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Sensitivitetsanalyse LP uttrykk NLP uttrykk Betyr Shadow Price Lagrange Multiplier Marginalverdi for ressursene. Reduced Cost Reduced Gradient 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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Sensitivitetsanalyse Ingen ”Range” -analyse BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Solver Options for NLP BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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

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ØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Implementere valg av jevne grupper BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Evolutionary Solver BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Heuristikker garanterer ikke optimal løsning Det finnes en enda bedre løsning! BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Optimal løsning? BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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 (n-1)! 3 2 5 24 9 40,320 13 479,001,600 17 20,922,789,888,000 20 121,645,100,408,832,000 BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

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/v10n1/rasmussen.pdf BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Implementere TSP i regneark BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Koordinater, avstander og plot TSP BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen

Slutt på kapittel 20 BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen