780 likes | 1.07k Views
Managerial Decision Modeling. Cliff Ragsdale 6. edition. Chapter 8 Nonlinear Programming And Evolutionary Optimization. Introduksjon til ikke-lineær programmering Nonlinear Programming (NLP).
E N D
ManagerialDecisionModeling Cliff Ragsdale 6. edition Chapter 8 Nonlinear Programming And Evolutionary Optimization BØK350 OPERASJONSANALYSE
Introduksjon til ikke-lineær programmering Nonlinear Programming (NLP) Et ikke-lineærtproblem har en ikke-lineærmålfunksjon og/elleren eller flere ikke-lineære restriksjoner. Ikke-lineære problemer formuleres og implementeres praktisk talt på samme måte som lineære problemer. Matematikkensom benyttes for å løseikke-lineære problemer er svært forskjellig fra den som brukes på lineære problemer. Solver tildekker denneforskjellen,men det er viktig å forstå de vanskene som kan oppstå når en skal løse ikke-lineære problemer. BØK350 OPERASJONSANALYSE
Nivåkurve for målfunksjonen Nivåkurve for målfunksjonen optimal løsning optimal løsning Mulighets-området Mulighets-området Ikke-lineær målfunksjon, lineære restriksjoner Lineær målfunksjon, ikke-lineære restriksjoner Nivåkurve for målfunksjonen Nivåkurver for målfunksjonen optimal løsning optimal løsning Mulighets-området Mulighets-området Ikke-lineær målfunksjon, ikke-lineære restriksjoner Ikke-lineær målfunksjon, lineære restriksjoner Forskjellige optimale løsninger til NLPs (som ikke er hjørne-løsninger) BØK350 OPERASJONSANALYSE
GRG Algoritmen Solver bruker Generalized Reduced Gradient (GRG) algoritmenfor å løse ikke-lineære programmeringsproblemer. GRG kan også brukes på LP problemer. Den er tregere enn Simplex metoden. Den gir mindre omfattende sensitivitets-analyse. Den gir ikke garantert beste løsning hvis problemet er ikke-lineært. Strategi: Prøv LP Solverførst! BØK350 OPERASJONSANALYSE
X2 D C E B Nivåkurver for målfunksjonen Mulighets-området A (start punkt) X1 En ikke-lineær løsningsstrategi BØK350 OPERASJONSANALYSE
X2 Lokal optimal løsning C Lokal ogglobal optimal løsning F E Mulighets-området G B A D X1 Lokale vs. Globalt Optimale Løsninger BØK350 OPERASJONSANALYSE
Konveksitet Dette mulighetsområdet er ikke-konveks. Ikke alle rette linjer mellom to punkter i mulighetsområdet ligger fullstendig innenfor mulighetsområdet. Dette mulighetsområdet er konveks. Alle rette linjer mellom to punkter i mulighetsområdet ligger fullstendig innenfor mulighetsområdet. BØK350 OPERASJONSANALYSE
Kommentarer til konveksitet • Konvekse problemer er mye enklere å løse enn ikke-konvekse problemer. • RSP kan teste for konveksitet: • Klikk: Optimize, AnalyzeWithoutSolving. • 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ØK350 OPERASJONSANALYSE
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 algoritmervil stoppe ved lokale optimumsløsninger. Startpunktet påvirker hvilket lokalt optimumspunkt en ender opp med. BØK350 OPERASJONSANALYSE
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 MultiStartSearch. BØK350 OPERASJONSANALYSE
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 MultiStartSearch. 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ØK350 OPERASJONSANALYSE
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ØK350 OPERASJONSANALYSE
Eksempel på lagerprofiler Lager 60 Årlig etterspørsel = 150 Antall ordrer = 3 Ordrestørrelse = 50 Gj. snitt lager = 25 50 40 30 20 10 0 1 2 10 0 4 5 3 11 7 8 9 6 12 Måneder Lager 60 Årlig etterspørsel = 150 Antall ordrer = 6 Ordrestørrelse = 25 Gj. Snitt lager = 12.5 50 40 30 20 10 0 1 2 10 0 3 4 5 11 8 9 Måneder 6 7 12 BØK350 OPERASJONSANALYSE
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 % avC) 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ØK350 OPERASJONSANALYSE
$ 1000 800 Totalkostnad 600 400 Lagerkostnader Bestillingskostnader 200 EOQ 0 0 10 20 30 40 50 Ordrekvantum EOQ kostnadssammenhenger BØK350 OPERASJONSANALYSE
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 eskekoster $35 (C) • Hver bestilling koster $50 (S) • Lagerholdskostnader er 18% (i) • Hva er optimalt bestillingskvantum (Q)? BØK350 OPERASJONSANALYSE
Modellen Qer en beslutningsvariabel Q-1Inngår i målfunksjonen => ikke-lineær Merk at målfunksjonen er ikke-lineær! BØK350 OPERASJONSANALYSE
Implementere Lagermodellen Analyze without solve Analyze without solve NLP Convex - Unikt optimum BØK350 OPERASJONSANALYSE
Kommentarer til EOQ Modellen • Matematisk kan en vise at den optimale verdien forQer : • En mengde varianter av EOQ modellenfinnes for å ta hensyn til: • kvantumsrabatter • lagerrestriksjoner • etterbestillinger • etc. BØK350 OPERASJONSANALYSE
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ØK350 OPERASJONSANALYSE
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 linjemellom to punkter(X1, Y1) og (X2, Y2)er: BØK350 OPERASJONSANALYSE
Et lokaliseringsproblem: Rappaport Communications tilbyr mobil-telefontjenesteri fleremellomvestlige 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ØK350 OPERASJONSANALYSE
Y 50 Cleveland x=5, y=45 40 30 Youngstown Akron x=52, y=21 x=12, y=21 20 10 Canton x=17, y=5 0 X 40 30 20 50 60 0 10 Graf over lokalisering av telemasten BØK350 OPERASJONSANALYSE
Definere beslutningsvariablene X1 = lokalisering av telemasten langsX-aksen Y1 = lokalisering av telemasten langsY-aksen BØK350 OPERASJONSANALYSE
Definere målfunksjonen Minimere den totale avstanden mellom den nye masten og de eksisterende : Minimer: BØK350 OPERASJONSANALYSE
Definere restriksjonene Cleveland Akron Canton Youngstown BØK350 OPERASJONSANALYSE
Implementere modellen NonLinearProblem Solver kan ikke avgjøre om problemet er konveks Merk: I dette problemet tillates negative verdier på beslutningsvariablene. BØK350 OPERASJONSANALYSE
Finne global optimal løsning MultiStart vil forsøke ulike startverdier. Må ha nedre og øvre grense på variablene. BØK350 OPERASJONSANALYSE
Analysere løsningen Den optimale plasseringen av den “nyemasten” 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ØK350 OPERASJONSANALYSE
Minste maksimalavstand Her har vi benyttet MiniMax teknikken: Minimere: Max avstand Q(E8) Slik at: Alle avstander ≤ Max avstand BØK350 OPERASJONSANALYSE
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ØK350 OPERASJONSANALYSE
Et ikke-lineært transportproblem: • SafetyTranshar 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 veienmellom Los Angeles, CA og Amarillo, TX. BØK350 OPERASJONSANALYSE
+1 Las Vegas 2 0.006 0.001 0.001 Albu-querque 8 Flagstaff 6 Amarillo 10 0.010 0.003 0.006 0.004 Los Angeles 1 0.002 0.009 0.010 0.005 0.006 Phoenix 4 -1 0.002 0.004 0.002 Lubbock 9 0.003 Las Cruces 7 0.003 San Diego 3 Tucson 5 0.010 Nettverk for SafetyTrans Problemet Tallene langs greinene angir sannsynligheten for at en ulykke skal inntreffe. BØK350 OPERASJONSANALYSE
Definere beslutningsvariablene BØK350 OPERASJONSANALYSE
Definere målfunksjonen • Velg tryggeste rute ved å maksimere sannsynligheten av å ikke ha en ulykke: der: Pij = sannsynligheten for en ulykkenår en kjørerfra node itil node j BØK350 OPERASJONSANALYSE
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ØK350 OPERASJONSANALYSE
Ikke-lineært transportproblem NLP NonCvx Ikke-lineært og ikke-konveks. Kan ha flere lokale optimum. Må bruke MultiStart BØK350 OPERASJONSANALYSE
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ØK350 OPERASJONSANALYSE
Valg av investeringsprosjekt: (alle pengebeløp er i $1.000s) BØK350 OPERASJONSANALYSE TMC skal fordele $1,7 millionerav F&U budsjettetog 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)
Utvalgte sannsynlighetsfunksjoner BØK350 OPERASJONSANALYSE
Definere beslutningsvariablene BØK350 OPERASJONSANALYSE
Definere målfunksjonen Maksimer total forventet nåverdi av de valgte prosjektene BØK350 OPERASJONSANALYSE
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ØK350 OPERASJONSANALYSE
Implementere modellen BØK350 OPERASJONSANALYSE
Global optimering kan ta lang tid BØK350 OPERASJONSANALYSE
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ØK350 OPERASJONSANALYSE
Finansiering av livsforsikring Thom Pearmaneier en engangs livsforsikringspolise med innløsningsverdi på $6,000 og utbetaling ved død på $40,000. Han ønsker å innløse livsforsikringspolisenog bruke rentene til å betale terminbeløp på en livsforsikring medutbetaling 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: BØK350 OPERASJONSANALYSE
Implementere modellen BØK350 OPERASJONSANALYSE
Optimal portefølje En finansplanlegger ønsker å sette sammen den minst risikable porteføljen som gir minimum 12% avkastning, ved å benytte følgende aksjer : BØK350 OPERASJONSANALYSE
Definere beslutningsvariablene p1 = andel av investeringen investert i IBC p2 = andel av investeringen investert i NMC p3 = andel av investeringen investert i NBS BØK350 OPERASJONSANALYSE