Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Operasjonsanalytiske emner Matematisk programmering og ikke-lineære funksjoner Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 20 Nonlinear Programming.

Liknende presentasjoner


Presentasjon om: "Operasjonsanalytiske emner Matematisk programmering og ikke-lineære funksjoner Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 20 Nonlinear Programming."— Utskrift av presentasjonen:

1 Operasjonsanalytiske emner Matematisk programmering og ikke-lineære funksjoner Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 20 Nonlinear Programming

2 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER2 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. Introduksjon

3 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER3 MAX (eller MIN): f 0 (X 1, X 2, …, X n ) Slik at : f 1 (X 1, X 2, …, X n )<=b 1 : f k (X 1, X 2, …, X n )>=b k : f m (X 1, X 2, …, X n )=b m Merk: Hvis alle funksjonene i et optimeringsproblem er lineære, så er problemet et lineært programmeringsproblem (LP). Generell form på et matematisk programmeringsproblem

4 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER4 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 konveks LP: Hvis målfunksjonen og alle restriksjonene er lineære funksjoner, kalles problemet lineær programmering (LP). Et LP problem er alltid konveks. Typer matematiske programmeringsproblem 1

5 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER5 QP/QCP 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). Typer matematiske programmeringsproblem 2

6 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER6 NLP glatte 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 ikke-glatte NSP: En modell hvor målfunksjonen eller noen av restriksjonene er ikke-glatte funksjoner av beslutningsvariablene er non-smooth programming (NSP). Typer matematiske programmeringsproblem 3

7 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER7 IP/MIP ikke-konveks 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. Typer matematiske programmeringsproblem 4

8 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER8 Glatte funksjoner er funksjoner der funksjonens deriverte er en kontinuerlig funksjon 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: Funksjonsformer f(x) x 0 f(x) = |x|

9 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER9 Funksjonsformer og optimering

10 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER10 Konvekse og ikke-konvekse funksjoner f(x) x xaxa xbxb f(x a )f(x b ) f(x) x xaxa xbxb f(x a )f(x b )

11 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER11 konveks Geometrisk er en mengde konveks hvis linjen mellom ethvert mulig par av punkter i mengden alltid ligger fullt og helt inne i mengden. Konvekse og ikke-konvekse mengder

12 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER12 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. Konveksitet

13 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER13 Glatte funksjoner har kontinuerlige 2. deriverte, og kan løses med klassiske optimeringsteknikker basert på derivasjon. konvekse ett unikt optimumspunkt 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. «Gode» funksjoner

14 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER14 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. Deriverte

15 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER15 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. Lineære problemer

16 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER16 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. Konvekse ikke-lineære problemer

17 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER17 Ikke-konvekse problemer kan ha mange lokale optimumsløsninger. Ikke-konvekse problemer f(x) x a b c d e f g h i acfh bdgi Her er a, c, f, og h lokale maksimumspunkt, mens b, d, g og i er lokale minimumspunkt. e gg e Område e og g er platåer, og g inneholder et lokalt minimumspunkt, mens e er verken et maksimum- eller minimumspunkt. f i 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.

18 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER18 Par Inc. produserer standard (s) og deluxe (d) golfbager. La X i og P i være mengde og pris av produktene (i = s, d). Pris - Etterspørsel Produktstandarddeluxe Etterspørsel VEK70150

19 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER19 Maksimalt dekningsbidrag

20 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER20 Optimal løsning uten restriksjoner XsXs XdXd (600,375) Z = ,- Z =

21 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER21 Par Inc. produserer standard (s) og deluxe (d) golfbager. La X i og P i være mengde og pris av produktene (i = s, d). Pris, etterspørsel og produksjon ProduktstandarddeluxeKapasitet Etterspørsel VEK = c70150 Skjæreavdeling1630 Sying600 Montering1708 Pakking135 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.

22 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER22 Matematisk formulering Målfunksjon: Maksimer totalt dekningsbidrag fra alle produkter. Max Z = PsXsPsXs  70 X s + P d  X d  150 X d 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.

23 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER23 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 Totalt tidsbruk i en avdeling kan ikke overskride tilgjengelig tid i avdelingen.

24 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER24 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.

25 Rasmus Rasmussen25 Mulighetsområde XSXS XDXD ,2 BØK710 OPERASJONSANALYTISKE EMNER (1) Skjæreavd. +  630 (2) Sying +  600 (3) Montering +  708 (4) Pakking +  135 (5)  0 0 (6)  0 ,7 Ved større kapasiteter kan optimal løsning være inne i mulighetsområdet.

26 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER26 Prissetting i regneark CelleFormelKopieres til C5=C3+C4*C9D5 C7=C5-C6D7 E7=SUMPRODUCT($C$9:$D$9;C7:D7)E11:E14

27 BØK710 OPERASJONSANALYTISKE EMNER27 Symboler alternativ modell GMengden av produkterG = {s, j} NMengden av produksjonsavdelinger cici Variabel enhetskostnad produkt i i  {G} a ij Tidsforbruk produkt i i avdeling j i  {G}; j  {N} bjbj Tilgjengelig tid i avdeling j j  {N} EiEi Etterspørsel produkt i i  {G} XiXi Antall enheter produsert av produkt i i  {G} YiYi Antall enheter solgt av produkt i i  {G} PiPi Pris pr. enhet av produkt i i  {G} Parametere: Beslutningsvariabler: Rasmus Rasmussen

28 BØK710 OPERASJONSANALYTISKE EMNER28 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.

29 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER29 Pris - Etterspørsel - Produksjon - Salg CelleFormelKopieres til C7=C5+C6*C4D7 C10=C4*C8D10 C11=C3*C9D11 C12=C10-C11D12 E12=SUM(C12:D12)- E15=SUMPRODUCT($C$9:$D$9;C15:D15)E16:E18

30 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER30 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 Nivåkurve for målfunksjonen optimal løsning Mulighets- området Nivåkurve for målfunksjonen optimal løsning Mulighets- området Ikke-lineær målfunksjon, lineære restriksjoner Nivåkurver for målfunksjonen optimal løsning Mulighets- området Ikke-lineær målfunksjon, lineære restriksjoner Ikke-lineær målfunksjon, ikke-lineære restriksjoner

31 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER31 En ikke-lineær løsningsstrategi Mulighets- området A (start punkt) B C D E Nivåkurver for målfunksjonen X1X1 X2X2

32 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER32 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! GRG Algoritmen

33 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER33 Lokale vs. Globalt Optimale Løsninger A C B Lokal optimal løsning Mulighets-området D E F G Lokal og global optimal løsning X1X1 X2X2

34 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER34 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.

35 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER35 Konvekse problemer er mye enklere å løse enn ikke-konvekse problemer. ASP kan teste for konveksitet: Klikk: Optimize, Analyze Without Solving. Convex 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 ”.) Kommentarer til konveksitet

36 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER36 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. Kommentarer til NLP Algoritmer

37 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER37 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. MultiStart Search Hvis diagnosen ikke bekrefter at problemet er konveks, kan en benytte opsjonen MultiStart Search. Kommentarer vedrørende startpunkt

38 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER38 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.” MultiStart Search 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. En kommentar til “Optimal” løsning

39 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER39 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 Optimalt innkjøpskvantum (EOQ)

40 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER40 Eksempel på lagerprofiler Måneder Årlig etterspørsel = 150 Ordrestørrelse = 25 Antall ordrer = 6 Gj. Snitt lager = 12.5 Lager Årlig etterspørsel = 150 Ordrestørrelse = 50 Antall ordrer = 3 Gj. snitt lager = 25 Måneder Lager

41 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER41 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. EOQ Modellen

42 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER42 EOQ kostnadssammenhenger $ Ordrekvantum Totalkostnad Lagerkostnader Bestillingskostnader EOQ

43 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER43 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)? Et EOQ Eksempel: Bestille papir

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

45 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER45 Implementere Lagermodellen Analyze without solve NLP Convex Unikt - Unikt optimum

46 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER46 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. Kommentarer til EOQ Modellen

47 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER47 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å: Problemer med optimering?

48 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER48 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 (X 1, Y 1 ) og (X 2, Y 2 ) er: Lokaliseringsproblemer ProduksjonsfabrikkerLagerbygninger BrannstasjonAmbulansesentra

49 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER49 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. Et lokaliseringsproblem:

50 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER50 Graf over lokalisering av telemasten Cleveland Akron Youngstown Canton x=5, y=45 x=12, y=21 x=17, y=5 x=52, y= X Y 0 10

51 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER51 X 1 = lokalisering av telemasten langs X-aksen Y 1 = lokalisering av telemasten langs Y-aksen Definere beslutningsvariablene

52 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER52 Minimere den totale avstanden mellom den nye masten og de eksisterende : Minimer: Definere målfunksjonen

53 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER53 Cleveland Akron Canton Youngstown Definere restriksjonene

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

55 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER55 MultiStart vil forsøke ulike startverdier. Må ha nedre og øvre grense på variablene.

56 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER56 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 ? Analysere løsningen

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

58 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER58 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. Kommentarer til lokaliseringsproblemer

59 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER59 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. Et ikke-lineært transportproblem:

60 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER60 Nettverk for SafetyTrans Problemet +1 Las Vegas 2 Los Angeles 1 San Diego 3 Phoenix 4 Flagstaff 6 Tucson 5 Albu- querque 8 Las Cruces 7 Lubbock 9 Amarillo Tallene langs greinene angir sannsynligheten for at en ulykke skal inntreffe.

61 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER61 Definere beslutningsvariablene

62 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER62 Definere målfunksjonen Velg tryggeste rute ved å maksimere sannsynligheten av å ikke ha en ulykke: der: P ij = sannsynligheten for en ulykke når en kjører fra node i til node j

63 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER63 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 Definere restriksjonene

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

65 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER65 Små forskjeller i sannsynligheter kan bety store forskjeller i forventet verdi : (1-0,9900) * $ = $ (1-0,9626) * $ = $ Slike typer problemer er også nyttige i pålitelighetsnettverksproblemer (som å finne svakeste ”ledd” (eller grein) i et produksjonssystem eller i et telekommunikasjonssystem). Kommentarer til ikke-lineære transportproblemer

66 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER66 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 ( X i ) som tildeles prosjektet, og defineres slik: P i = X i /(X i +  i ) Valg av investeringsprosjekt: Prosjekt Startkostnader$325$200$490$125$710$240 NPV ved suksess$750$120$900$400$1,110$800 Sannsynlighetsparameter  i 3,12,54,55,68,28,5 (alle pengebeløp er i $1.000s)

67 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER67 Utvalgte sannsynlighetsfunksjoner

68 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER68 Definere beslutningsvariablene

69 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER69 Maksimer total forventet nåverdi av de valgte prosjektene Definere målfunksjonen

70 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER70 Finansiering av startkostnadene 325Y Y Y Y Y Y 6 ≤1700 Ingeniører X 1 + X 2 + X 3 + X 4 + X 5 + X 6 ≤ 25 Logiske betingelser X i ≤ 25Y i, 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. Definere restriksjonene

71 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER71 Implementere modellen

72 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER72 Global optimering kan ta lang tid

73 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER73 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. Optimering av eksisterende modeller

74 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER74 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: Finansiering av livsforsikring År Terminbeløp$423$457$489$516$530$558$595$618$660$716

75 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER75 Implementere modellen

76 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER76 En finansplanlegger ønsker å sette sammen den minst risikable porteføljen som gir minimum 12% avkastning, ved å benytte følgende aksjer : Optimal portefølje Årlig avkastning ÅrIBCNMCNBS 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%22,0%9,3% 8 11,9%14,0%48,7% 9 12,0%20,5%-1,9% 10 8,3%14,0%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 IBCNMCNBS IBC0, ,000250,00440 NMC-0,000250, ,00542 NBS0, ,005420,03677

77 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER77 p 1 = andel av investeringen investert i IBC p 2 = andel av investeringen investert i NMC p 3 = andel av investeringen investert i NBS Definere beslutningsvariablene

78 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER78 Minimere porteføljens varians (risiko). Definere målsettingen Matrisenotasjon: Minimer p T Cp p = vektor av andeler C = kovariansmatrisen

79 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER79 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 Definere restriksjonene

80 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER80 Implementere modellen QP Convex Kan bruke LP/QP Solver

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

82 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER82 Implementere modellen Vi må angi hvor mange ulike optimeringer vi ønsker å kjøre.

83 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER83 Parametrisk analyse

84 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER84 Plot av parametrisk analyse

85 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER85 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) MAX: (1 – r)  (Forventet avkastning) – r  (porteføljens varians) gitt : p 1 + p 2 + … + p m = 1 p i ≥ 0 hvor:0 ≤ r ≤1 er en risikoaversjons parameter Merk:Hvis r = 1 minimeres variansen. Hvis r = 0 maksimeres avkastningen. Multiple målsettinger i porteføljesammensetning

86 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER86 Implementere modellen

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

88 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER88 Effisiensgrensen – Trinn 2 Sett antall optimeringer til 11. Kjør Solver. Sett antall optimeringer til 11. Kjør Solver.

89 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER89 Effisiensgrensen – Trinn 3 Sett inn et Scatterplot av Varians og Avkastning

90 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER90 Automatisk plott

91 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER91 Vi får mindre informasjon fra sensitivitetsanalysen ved ikke-lineære problemer sammenlignet med LP. For heltallsproblemer får vi ingen sensitivitetsanalyse. Sensitivitetsanalyse LP uttrykkNLP uttrykkBetyr Shadow PriceLagrange MultiplierMarginalverdi for ressursene. Reduced CostReduced GradientEndringen i målfunksjonene ved en liten endring i optimal verdi på beslutningsvariablene.

92 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER92 Sensitivitetsanalyse Ingen ”Range” -analyse

93 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER93 Solver Options for NLP

94 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER94 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). Evolutionary Algoritmer

95 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER95 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 Evolutionary Algoritmer

96 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER96 Forenklet illustrasjon av evolusjon INITIAL POPULASJON KromosomX1X1 X2X2 X3X3 X4X4 Fitness 17,8424,3929,956,62282,08 210,2616,3631,263,55293,38 33,8823,0325,926,76223,31 49,5119,5126,232,64331,28 55,9619,5233,836,89453,57 64,7718,3126,215,59229,49 CROSSOVER & MUTATION KromosomX1X1 X2X2 X3X3 X4X4 Fitness 17,8424,3931,263,55334,28 210,2616,3629,956,62227,04 33,8819,7525,926,76301,44 49,5119,5132,232,64495,52 54,7718,3133,836,89332,38 65,9619,5226,214,60444,21 NY POPULASJON KromosomX1X1 X2X2 X3X3 X4X4 Fitness 17,8424,3931,263,55334, ,2616,3631,263,55293,38 33,8819,7525,926,76301,44 49,5119,5132,232,64495,52 5 5,9619,5233,836,89453,57 65,9619,5226,214,60444,21 Alternative løsninger Crossover Mutasjoner Fra initial populasjon De beste ”overlever”

97 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER97 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. Velge ut jevne grupper

98 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER98 Implementere valg av jevne grupper

99 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER99 Evolutionary Solver

100 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER100

101 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER101 Optimal løsning?

102 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER102 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. The Traveling Salesperson Problem n(n-1)! , ,001, ,922,789,888, ,645,100,408,832,000

103 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER103 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: Eksempel på TSP

104 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER104 Implementere TSP i regneark

105 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER105 Koordinater, avstander og plot TSP

106 Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER106 Slutt på kapittel 20


Laste ned ppt "Operasjonsanalytiske emner Matematisk programmering og ikke-lineære funksjoner Rasmus RasmussenBØK710 OPERASJONSANALYTISKE EMNER1 Del 20 Nonlinear Programming."

Liknende presentasjoner


Annonser fra Google