Managerial Decision Modeling A Practical Introduction to Management Science, 5ed by Cliff Ragsdale
Linear Programming LOG350 Operasjonsanalyse2 Rasmus Rasmussen Chapter 3
Introduksjon Å løse LP problemer grafisk er bare mulig når det er to beslutningsvariabler Få virkelige LP problemer har bare to beslutningsvariabler Heldigvis kan vi bruke regneark for å løse LP problemer LOG350 Operasjonsanalyse3 Rasmus Rasmussen
Solvere i regneark Firmaet som lager ”solvere” til Excel, Lotus 1-2-3, og Quattro Pro er Frontline Systems, Inc. Besøk deres web-side på internett: Andre pakker for å løse MP problemer : AMPLLINDO CPLEXMPSX GAMS LOG350 Operasjonsanalyse4 Rasmus Rasmussen
Implementere en LP modell i et regneark 1.Organiser dataene til modellen i regnearket. 2.Reserver separate celler i regnearket til å representere beslutningsvariablene i modellen. 3.Lag en celle i regnearket som tilsvarer målfunksjonen. 4.Lag en celle for hver restriksjon som representerer venstresiden [left-hand side (LHS)] av restriksjonen. LOG350 Operasjonsanalyse5 Rasmus Rasmussen
Implementere en modell av Blue Ridge Hot Tubs eksemplet... LOG350 Operasjonsanalyse6 Rasmus Rasmussen MAX: 350X X 2 } dekningsbidrag S.T.:1X 1 + 1X 2 <= 200} pumper 9X 1 + 6X 2 <= 1566} arbeid 12X X 2 <= 2880} rør X 1, X 2 >= 0} ikke-negativitet
Implementere modellen LOG350 Operasjonsanalyse7 Rasmus Rasmussen
Regionale innstillinger på PC LOG350 Operasjonsanalyse8 Rasmus Rasmussen Norske regionale innstillinger på PC Komma (,) Desimaltegn Semikolon (;) Listeseparator Engelsk regional innstilling på PC Punktum (.) Desimaltegn Komma (,) Listeseparator
Hvordan Solver ser modellen Set cell – cellen i regnearket som representerer målfunksjonen Changing variable cells – cellene i regnearket som representerer beslutningsvariablene Constraint cells – cellene i regnearket som representerer LHS formlene i restriksjonene LOG350 Operasjonsanalyse9 Rasmus Rasmussen
La oss gå tilbake til Excel og se hvordan Solver virker... LOG350 Operasjonsanalyse10 Rasmus Rasmussen Målfunksjon Beslutningsvariabler Restriksjoner
Solver finnes flere steder.. Standard Solver er inkludert i Excel hos alle. Den finnes under Data – fanen helt til høyre. Standard Solver kan du godt bruke hjemme på de første 5-6 kapitlene. LOG350 Operasjonsanalyse11 Rasmus Rasmussen
Premium Solver LOG350 Operasjonsanalyse12 Rasmus Rasmussen Premium Solver finnes bare på maskiner hvor en oppgradert Solver er installert, dvs. på rom A076. I Excel finnes den under Add-Ins fanen.
Standard vs Premium Premium Solver (til høyre) er mer fleksibel og har flere muligheter. Bruker ulike begreper – har samme betydning: Set Target Cell = Objective By Changing Cells = Variables LOG350 Operasjonsanalyse13 Rasmus Rasmussen
Risk Solver Platform LOG350 Operasjonsanalyse14 Rasmus Rasmussen Risk Solver Platform har egen ”fane”. Den er mest fleksibel og har alle valgmulighetene på ett sted. Klikk her for å vise ”Task Pane”
RSP LOG350 Operasjonsanalyse15 Rasmus Rasmussen
Solver i framtidens Excel LOG350 Operasjonsanalyse16 Rasmus Rasmussen
Hjelp finnes over alt… LOG350 Operasjonsanalyse17 Rasmus Rasmussen
Legg inn målfunksjon LOG350 Operasjonsanalyse18 Rasmus Rasmussen Aktiver cellen som representerer målfunksjonen Klikk på Objectgive Klikk på Add (+)
Legg inn variabler LOG350 Operasjonsanalyse19 Rasmus Rasmussen Aktiver cellene som representerer variablene Klikk på Variables Klikk på Add (+)
Mål ved design av regneark Kommunikasjon – Et regneark´s primære oppgave er å kommunisere informasjon til ledere. Pålitelighet – Resultatet som regnearket genererer må være korrekt og konsistent. ”Reviderbar” – En leder bør være i stand til å spore trinnene som generer alle resultatene i modellen, slik at han forstår modellen og kan verifisere resultatene. Modifiserbar – Et godt organisert regneark må være lett å endre eller utvide, for å kunne møte dynamiske brukerkrav. LOG350 Operasjonsanalyse20 Rasmus Rasmussen
Retningslinjer i design av regneark Organiser dataene, og bygg så modellen rundt dataene. Legg ikke numeriske konstanter inn i formlene. Ting som logisk hører sammen bør være fysisk samlet. Bruk formler som kan kopieres. Kolonne/rekke -summer bør være nær kolonnene/ rekkene som summeres. Øyet leser fra venstre til høyre, ovenfra og ned. (Gjelder ikke kinesere, japanere, arabere,...) Bruk farge, skygge, ramme og beskyttelse (protection) for å adskille parametre som kan endres fra de øvrige modell- elementene. Bruk tekstbokser og celle-noter for å dokumentere forskjellige elementer i modellen. 21
Lage kontra kjøpe beslutninger: The Electro-Poly Corporation Electro-Poly er en ledende produsent av slip-rings. En ordre på $ er nettopp mottatt. LOG350 Operasjonsanalyse22 Rasmus Rasmussen u Selskapet har timer i vikle -kapasitet og timer i herdekapasitet. Model 1 Model 2Model 3 Antall bestilt Tid/stk for vikling21,53 Tid/stk for herding121 Produksjonskostnad$50$83$130 Kostnad ved kjøp$61$97$145
Definer beslutningsvariablene LOG350 Operasjonsanalyse23 Rasmus Rasmussen M 1 = Antall av modell 1 slip rings produsert selv M 2 = Antall av modell 2 slip rings produsert selv M 3 = Antall av modell 3 slip rings produsert selv B 1 = Antall av modell 1 slip rings kjøpt av konkurrent B 2 = Antall av modell 2 slip rings kjøpt av konkurrent B 3 = Antall av modell 3 slip rings kjøpt av konkurrent
Definer målfunksjonen LOG350 Operasjonsanalyse24 Rasmus Rasmussen Minimer totalkostnaden ved å fullføre bestillingen. MIN:50M M M B B B 3
Definer restriksjonene Etterspørselsrestriksjoner M 1 + B 1 = 3000} modell 1 M 2 + B 2 = 2000} modell 2 M 3 + B 3 = 900} modell 3 Kapasitetsrestriksjoner 2M 1 + 1,5M 2 + 3M 3 <= } vikling 1M 1 + 2,0M 2 + 1M 3 <= 5000 } herding Ikke-negativitetsrestriksjoner M 1, M 2, M 3, B 1, B 2, B 3 >= 0 LOG350 Operasjonsanalyse25 Rasmus Rasmussen
Implementere modellen LOG350 Operasjonsanalyse26 Rasmus Rasmussen
Sammendrag av modellen LOG350 Operasjonsanalyse27 Rasmus Rasmussen Min 50 M M M B B B 3 s.t. 1 M B 1 = M B 2 = M B 3 = M 1 + 1,5 M M 3 M M M 3 5000
På matriseform LOG350 Operasjonsanalyse28 Rasmus Rasmussen M1M1M1M1 M2M2M2M2 M3M3M3M3 B1B1B1B1 B2B2B2B2 B3B3B3B Min 11 = = = ,53 5000
LP regneark på ”standard” form LOG350 Operasjonsanalyse29 Rasmus Rasmussen
Alternativ lay-out LOG350 Operasjonsanalyse30 Rasmus Rasmussen
Et investeringsproblem: Retirement Planning Services, Inc. En klient ønsker å investere $ i følgende obligasjoner. LOG350 Operasjonsanalyse31 Rasmus Rasmussen År til SelskapAvkasting forfallKategori Acme Chemical8,65%111-Excellent DynaStar9,50%103-Good Eagle Vision10,00%64-Fair Micro Modeling8,75%101-Excellent OptiPro9,25%73-Good Sabre Systems9,00%132-Very Good
Investeringsrestriksjoner Ikke mer enn 25% kan investeres i ett enkelt selskap. Minst 50% av totalinvesteringen bør investeres i langsiktige obligasjoner (forfall om 10+ år). Ikke mer enn 35% kan samlet investeres i DynaStar, Eagle Vision, og OptiPro. LOG350 Operasjonsanalyse32 Rasmus Rasmussen
Definere beslutningsvariablene LOG350 Operasjonsanalyse33 Rasmus Rasmussen X 1 = beløp investert i Acme Chemical X 2 = beløp investert i DynaStar X 3 = beløp investert i Eagle Vision X 4 = beløp investert i MicroModeling X 5 = beløp investert i OptiPro X 6 = beløp investert i Sabre Systems
Definere målfunksjonen Maksimer investeringens årlige totale avkastning : MAX:,0865X 1 +,095X 2 +,10X 3 +,0875X 4 +,0925X 5 +,09X 6 LOG350 Operasjonsanalyse34 Rasmus Rasmussen
Definer restriksjonene Totalt beløp investert: X 1 + X 2 + X 3 + X 4 + X 5 + X 6 = Ikke mer enn 25% i noen obligasjoner: X i <= , for alle i 50% av investeringen i langsiktige obligasjoner: X 1 + X 2 + X 4 + X 6 >= 35% begrensing på samlet investering i DynaStar, Eagle Vision, og OptiPro: X 2 + X 3 + X 5 <= Ikke-negativitets betingelsene: X i >= 0 for alle i LOG350 Operasjonsanalyse35 Rasmus Rasmussen
Implementere modellen LOG350 Operasjonsanalyse36 Rasmus Rasmussen
Fritt investeringsbeløp Målfunksjonen uendret. Maksimer totalavkastningen i kroner : Max 0,0865 X 1 + 0,096 X 2 + 0,10 X 3 + 0,087 X 4 + 0,0925 X 5 + 0,09 X 6 LOG350 Operasjonsanalyse37 Rasmus Rasmussen
Reformulere restriksjonene Totalt beløp investert (fra = til X 1 + X 2 + X 3 + X 4 + X 5 + X 6 Ikke mer enn 25% av investeringen i en enkelt obligasjon : X i 0,25(X 1 + X 2 + X 3 + X 4 + X 5 + X 6 ) for alle i LOG350 Operasjonsanalyse38 Rasmus Rasmussen
Reformulere restriksjonene (forts.) Investeringen i langsiktige obligasjoner må utgjøre minst 50% av investeringen: X 1 + X 2 + X 4 + X 6 0,5(X 1 + X 2 + X 3 + X 4 + X 5 + X 6 ) Investeringen i risikable obligasjoner kan max utgjøre 35% av investeringen: X 2 + X 3 + X 5 0,35(X 1 + X 2 + X 3 + X 4 + X 5 + X 6 ) LOG350 Operasjonsanalyse39 Rasmus Rasmussen
LP-formuleringen Max 0,0865X 1 + 0,096X 2 + 0,10X 3 + 0,087X 4 + 0,0925X 5 + 0,09X 6 X 1 + X 2 + X 3 + X 4 + X 5 + X 6 X i 0,25(X 1 + X 2 + X 3 + X 4 + X 5 + X 6 ) for alle i X 1 + X 2 + X 4 + X 6 0,5(X 1 + X 2 + X 3 + X 4 + X 5 + X 6 ) X 2 + X 3 + X 5 0,35(X 1 + X 2 + X 3 + X 4 + X 5 + X 6 ) X i 0 for alle i LOG350 Operasjonsanalyse40 Rasmus Rasmussen
LP formuleringen på standard form Max Z= 0,0865X 1 + 0,096X 2 + 0,10X 3 + 0,087X 4 + 0,0925X 5 + 0,09X 6 X 1 + X 2 + X 3 + X 4 + X 5 + X 6 0,75X 1 - 0,25X 2 - 0,25X 3 - 0,25X 4 - 0,25X 5 - 0,25X 6 0 - 0,25X 1 + 0,75X 2 - 0,25X 3 - 0,25X 4 - 0,25X 5 - 0,25X 6 0 - 0,25X 1 - 0,25X 2 + 0,75X 3 - 0,25X 4 - 0,25X 5 - 0,25X 6 0 - 0,25X 1 - 0,25X 2 - 0,25X 3 + 0,75X 4 - 0,25X 5 - 0,25X 6 0 - 0,25X 1 - 0,25X 2 - 0,25X 3 - 0,25X 4 + 0,75X 5 - 0,25X 6 0 - 0,25X 1 - 0,25X 2 - 0,25X 3 - 0,25X 4 - 0,25X 5 + 0,75X 6 0 0,5X 1 + 0,5X 2 - 0,5X 3 + 0,5X 4 - 0,5X 5 + 0,5X 6 0 - 0,35 X 1 + 0,65 X 2 + 0,65 X 3 - 0,35 X 4 + 0,65X 5 - 0,35 X 6 0 X i 0 for alle i LOG350 Operasjonsanalyse41 Rasmus Rasmussen
LP formuleringen på matrise form LOG350 Operasjonsanalyse42 Rasmus Rasmussen X1X1X1X1 X2X2X2X2 X3X3X3X3 X4X4X4X4 X5X5X5X5 X6X6X6X6 0,0865 0,0950,10,08750,09250,09Max ,75-0,25-0,25-0,25-0,25-0,25 0 0 0 0 -0,250,75-0,25-0,25-0,25-0,25 0 0 0 0 -0,25-0,250,75-0,25-0,25-0,25 0 0 0 0 -0,25-0,25-0,250,75-0,25-0,25 0 0 0 0 -0,25-0,25-0,25-0,250,75-0,25 0 0 0 0 -0,25-0,25-0,25-0,25-0,250,75 0 0 0 0 -0,5-0,50,5-0,50,5-0,5 0 0 0 0 -0,350,650,65-0,350,65-0,35 0 0 0 0
Implementering i regneark LOG350 Operasjonsanalyse43 Rasmus Rasmussen
Et transportproblem: Tropicsun LOG350 Operasjonsanalyse44 Rasmus Rasmussen Mt. Dora 1 Eustis 2 Clermont 3 Ocala 4 Orlando 5 Leesburg 6 Avstand (i km) Kapasitet Produksjon Plantasje Foredlings- fabrikk
Definere beslutningsvariablene LOG350 Operasjonsanalyse45 Rasmus Rasmussen X ij = antall skjepper sendt fra node i til node j Konkret er de ni beslutningsvariablene : X 14 = antall skjepper sendt fra Mt. Dora (node 1) til Ocala (node 4) X 15 = antall skjepper sendt fra Mt. Dora (node 1) til Orlando (node 5) X 16 = antall skjepper sendt fra Mt. Dora (node 1) til Leesburg (node 6) X 24 = antall skjepper sendt fra Eustis (node 2) til Ocala (node 4) X 25 = antall skjepper sendt fra Eustis (node 2) til Orlando (node 5) X 26 = antall skjepper sendt fra Eustis (node 2) til Leesburg (node 6) X 34 = antall skjepper sendt fra Clermont (node 3) til Ocala (node 4) X 35 = antall skjepper sendt fra Clermont (node 3) til Orlando (node 5) X 36 = antall skjepper sendt fra Clermont (node 3) til Leesburg (node 6)
Definere målsettingsfunksjonen Minimer antall skjeppe – kilometer : MIN:21X X X 16 + (fra Mt.Dora) 35X X X 26 + (fra Eustis) 55X X X 36 (fra Clermont) LOG350 Operasjonsanalyse46 Rasmus Rasmussen
Definere restriksjonene Kapasitetsrestriksjoner: X 14 + X 24 + X 34 <= } Ocala X 15 + X 25 + X 35 <= } Orlando X 16 + X 26 + X 36 <= } Leesburg Tilbudsrestriksjoner: X 14 + X 15 + X 16 = } Mt. Dora X 24 + X 25 + X 26 = } Eustis X 34 + X 35 + X 36 = } Clermont Ikke-negativitets betingelsene: X ij >= 0 for alle i og j LOG350 Operasjonsanalyse47 Rasmus Rasmussen
LP formulering Mengde X 14 X 15 X 16 X 24 X 25 X 26 X 34 X 35 X 36 Beslutn.var Kostnad Minimeres Restriksjoner: Grense Til 4 111 Til 5 111 Til Fra 1 111= Fra 2 111= Fra 3 111= Rasmus Rasmussen LOG350 Operasjonsanalyse48
Implementering av modellen LOG350 Operasjonsanalyse49 Rasmus Rasmussen
Et blandingsproblem: The Agri-Pro Company Agri-Pro har mottatt en ordre på pund hønse- for som skal blandes av følgende ingredienser. LOG350 Operasjonsanalyse50 Rasmus Rasmussen NæringFór 1 Fór 2 Fór 3 Fór 4 Korn30%5%20%10% Hvete10%30%15%10% Mineraler20%20%20%30% Kostnad pr pund$0,25$0,30$0,32$0,15 Prosent næringsinnhold i u Ferdigproduktet må inneholde minst 20% korn, 15% hvete, og 15% mineraler.
Definere beslutningsvariablene LOG350 Operasjonsanalyse51 Rasmus Rasmussen X 1 = pund av fór 1 som inngår i blandingen X 2 = pund av fór 2 som inngår i blandingen X 3 = pund av fór 3 som inngår i blandingen X 4 = pund av fór 4 som inngår i blandingen
Definere målfunksjonen LOG350 Operasjonsanalyse52 Rasmus Rasmussen u Minimer totalkostnaden ved å innfri ordren : MIN: 0,25X 1 + 0,30X 2 + 0,32X 3 + 0,15X 4
Definere restriksjonene Produsere pund hønsefór X 1 + X 2 + X 3 + X 4 = Blandingen må bestå av minst 20% korn (0,3X 1 + 0,05X 2 + 0,2X 3 + 0,1X 4 )/8000 >= 0,2 Blandingen må ha minst 15% hvete (0,1X 1 + 0,3X 2 + 0,15X 3 + 0,1X 4 )/8000 >= 0,15 Blandingen må minst ha 15% mineraler (0,2X 1 + 0,2X 2 + 0,2X 3 + 0,3X 4 )/8000 >= 0,15 Ikke-negativitets betingelsene X 1, X 2, X 3, X 4 >= 0 LOG350 Operasjonsanalyse53 Rasmus Rasmussen
Restriksjoner – Flere alternativer Blandingen må bestå av minst 20% korn: Vi har nå 2 valg: Angi restriksjonen i % (relative tall) Angi restriksjonen i pund (absolutte tall) Uavhengig av relative eller absolutte størrelser, må 20% beregnes i forhold til noe. Det er to muligheter: 20% av ordrestørrelsen (8.000 pund) 20 % av levert mengde (X 1 + X 2 + X 3 + X 4 ) LOG350 Operasjonsanalyse54 Rasmus Rasmussen
4 ulike restriksjonsformer A. Restriksjon i %, basert på ordrestørrelse: (0,3X 1 + 0,05X 2 + 0,2X 3 + 0,1X 4 )/8.000 0,2 B. Restriksjon i %, basert på levert mengde: (0,3X 1 + 0,05X 2 + 0,2X 3 + 0,1X 4 )/(X 1 + X 2 + X 3 + X 4 ) 0,2 C. Restriksjon i pund, basert på ordrestørrelse: (0,3X 1 + 0,05X 2 + 0,2X 3 + 0,1X 4 ) 0,2 *8.000 D. Restriksjon i pund, basert på levert mengde: (0,3X 1 + 0,05X 2 + 0,2X 3 + 0,1X 4 ) 0,2 * (X 1 + X 2 + X 3 + X 4 ) LOG350 Operasjonsanalyse55 Rasmus Rasmussen
Formulering A Restriksjon i % basert på ordrestørrelse: (0,3X 1 + 0,05X 2 + 0,2X 3 + 0,1X 4 )/8.000 0,2 Denne formuleringen kan medføre skaleringsproblemer. Koeffisienten for X 2 : 0,05/8000 = 0, Vi ender opp med en LP-modell med noen veldig store og noen veldig små tall. Når forskjellene i koeffisientene blir store kan vi fort ende opp med avrundingsproblemer. Skaleringsproblemer kan vi korrigere ved for eksempel å endre enhet fra pund til tusen pund. (Vi deler på 8 istedenfor 8000) Denne formuleringen kan medføre skaleringsproblemer. Koeffisienten for X 2 : 0,05/8000 = 0, Vi ender opp med en LP-modell med noen veldig store og noen veldig små tall. Når forskjellene i koeffisientene blir store kan vi fort ende opp med avrundingsproblemer. Skaleringsproblemer kan vi korrigere ved for eksempel å endre enhet fra pund til tusen pund. (Vi deler på 8 istedenfor 8000) Formuleringer basert på ordrestørrelse forutsetter implisitt at restriksjonen for ordrestørrelse er oppfylt. Restriksjonene er derfor bare gyldig når levert mengde faktisk samsvarer med ordrestørrelsen. Formuleringer basert på ordrestørrelse forutsetter implisitt at restriksjonen for ordrestørrelse er oppfylt. Restriksjonene er derfor bare gyldig når levert mengde faktisk samsvarer med ordrestørrelsen. Det er uheldig å foregripe en bestemt løsning når problemet formuleres. Restriksjonene bør formuleres generelt, og ikke være betinget av at andre restriksjoner er oppfylt. Det er uheldig å foregripe en bestemt løsning når problemet formuleres. Restriksjonene bør formuleres generelt, og ikke være betinget av at andre restriksjoner er oppfylt. Formuleringen vil også påvirke en eventuell sensitivitetsanalyse Formuleringen vil også påvirke en eventuell sensitivitetsanalyse LOG350 Operasjonsanalyse56 Rasmus Rasmussen
Formulering B Restriksjon i % basert på levert mengde: (0,3X 1 + 0,05X 2 + 0,2X 3 + 0,1X 4 )/(X 1 + X 2 + X 3 + X 4 ) 0,2 Denne formuleringen gjør problemet ikke-lineært. (Vi deler med en beslutningsvariabel.) Denne formuleringen gjør problemet ikke-lineært. (Vi deler med en beslutningsvariabel.) Ikke-lineære problemer er mye vanskeligere å løse enn lineære problemer. Ikke-lineære problemer er mye vanskeligere å løse enn lineære problemer. Hvis mulig bør problemer formuleres lineært, da vil programvaren finne optimal løsning mye raskere. For ikke-lineære problemer er en ikke garantert å finne optimal løsning. Hvis mulig bør problemer formuleres lineært, da vil programvaren finne optimal løsning mye raskere. For ikke-lineære problemer er en ikke garantert å finne optimal løsning. Formuleringen vil også påvirke en eventuell sensitivitetsanalyse. Formuleringen vil også påvirke en eventuell sensitivitetsanalyse. LOG350 Operasjonsanalyse57 Rasmus Rasmussen
Formulering C Restriksjon i pund, basert på ordrestørrelse: (0,3X 1 + 0,05X 2 + 0,2X 3 + 0,1X 4 ) 0,2 *8.000 Formuleringer basert på ordrestørrelse forutsetter altså implisitt at restriksjonen for ordrestørrelse er oppfylt. Restriksjonene er derfor bare gyldig når levert mengde faktisk samsvarer med ordrestørrelsen. Formuleringer basert på ordrestørrelse forutsetter altså implisitt at restriksjonen for ordrestørrelse er oppfylt. Restriksjonene er derfor bare gyldig når levert mengde faktisk samsvarer med ordrestørrelsen. Det er uheldig å foregripe en bestemt løsning når problemet formuleres. Restriksjonene bør formuleres generelt, og ikke være betinget av at andre restriksjoner er oppfylt. Det er uheldig å foregripe en bestemt løsning når problemet formuleres. Restriksjonene bør formuleres generelt, og ikke være betinget av at andre restriksjoner er oppfylt. Formuleringen vil også påvirke en eventuell sensitivitetsanalyse. Formuleringen vil også påvirke en eventuell sensitivitetsanalyse. En grafisk analyse eller What If analyse i regneark vil derfor ikke gi et korrekt bilde av forholdet. En grafisk analyse eller What If analyse i regneark vil derfor ikke gi et korrekt bilde av forholdet. LOG350 Operasjonsanalyse58 Rasmus Rasmussen
Formulering D Restriksjon i pund, basert på levert mengde: (0,3X 1 + 0,05X 2 + 0,2X 3 + 0,1X 4 ) 0,2 * (X 1 + X 2 + X 3 + X 4 ) Denne formuleringen er lineær. Denne formuleringen er lineær. Den har ikke skaleringsproblemer. Den har ikke skaleringsproblemer. Den er gyldig, uavhengig av om andre restriksjoner er oppfylt eller ei. (Ikke betinget av at vi faktisk leverer 8000 pund hønsefor.) Den er gyldig, uavhengig av om andre restriksjoner er oppfylt eller ei. (Ikke betinget av at vi faktisk leverer 8000 pund hønsefor.) Sensitivitetsanalyse vil være korrekt, og grafiske analyser samt What If i regneark vil gi et korrekt bilde av forholdene. Samler vi alle variablene på venstre side: Sensitivitetsanalyse vil være korrekt, og grafiske analyser samt What If i regneark vil gi et korrekt bilde av forholdene. Samler vi alle variablene på venstre side: 0,1X 1 - 0,15X X 3 - 0,1X 4 0 0,1X 1 - 0,15X X 3 - 0,1X 4 0 LOG350 Operasjonsanalyse59 Rasmus Rasmussen
Angående skalering Legg merke til at koeffisienten for X 2 i ‘korn’ restriksjonen er 0,05/8000 = 0, Når Solver løser vårt problem, foretas interne beregninger som gjør koeffisientene større eller mindre (multiplikasjoner og divisjoner). Lagringsproblemer gjør at datamaskinen avrunder det faktiske tallet (lagrer desimal isteden for brøk). Slike skaleringsproblemer forhindrer enkelte ganger Solver i å løse problemet nøyaktig. De fleste problemer kan formuleres slik at en minimerer skaleringsproblemer... OBS. Bruk tydelige benevninger, slik at en lett kan tolke løsningen og sensitivitetsanalysen. LOG350 Operasjonsanalyse60 Rasmus Rasmussen
Re-definering av beslutningsvariablene LOG350 Operasjonsanalyse61 Rasmus Rasmussen X 1 = antall pund (i tusen) av fór 1 som inngår i blandingen X 2 = antall pund (i tusen) av fór 2 som inngår i blandingen X 3 = antall pund (i tusen) av fór 3 som inngår i blandingen X 4 = antall pund (i tusen) av fór 4 som inngår i blandingen Hint: Man kan la X-ene angi antall tonn i steden for antall kilo
Re-definere målfunksjonen Minimer totalkostnaden ved å innfri ordren: MIN: 250X X X X 4 Merk : Koeffisientene angir nå kostnaden pr pund LOG350 Operasjonsanalyse62 Rasmus Rasmussen
Re-definere restriksjonene Produsere pund fór X 1 + X 2 + X 3 + X 4 = 8 Blandingen må bestå av minst 20% korn (0,3X 1 + 0,05X 2 + 0,2X 3 + 0,1X 4 )/8 >= 0,2 Blandingen må bestå av minst 15% hvete (0,1X 1 + 0,3X 2 + 0,15X 3 + 0,1X 4 )/8 >= 0,15 Blandingen må bestå av minst 15% mineraler (0,2X 1 + 0,2X 2 + 0,2X 3 + 0,3X 4 )/8 >= 0,15 Ikke-negativitets betingelsene X 1, X 2, X 3, X 4 >= 0 LOG350 Operasjonsanalyse63 Rasmus Rasmussen
En kommentar til skaleringen Opprinnelig var den største koeffisienten i restriksjonene og den minste 0,05/8000 = 0, Nå er den største koeffisienten i restriksjonene 8 og den minste er 0,05/8 = 0, Problemet er nå jevnere skalert. LOG350 Operasjonsanalyse64 Rasmus Rasmussen
Automatisk skalering i Solver Solver Parameter dialog -boksen har en opsjon “Use Automatic Scaling”. Dette har ingen effekt for LP problemer (kun NLP) i Excel 5.0 & 7.0 (hvis du ikke har en oppgradert Solver), men den virker i Excel 8.0 og senere. LOG350 Operasjonsanalyse65 Rasmus Rasmussen
”Assume Linear Model” opsjonen Solver Parameter dialog boksen har en opsjon kalt “Assume Linear Model”. ( I standard versjon av Solver ) Ved dette valget foretar Solver tester for å sjekke om modellen faktisk er lineær. Disse testene er ikke 100% korrekte og kan ofte gi feil diagnose hvis modellen er dårlig skalert. Hvis Solver sier at en modell ikke er lineær når du vet at den er det, så prøv igjen. Virker ikke dette, prøv å skalere modellen. Dette gjelder standard versjonen av Solver LOG350 Operasjonsanalyse66 Rasmus Rasmussen
Premium Solver Platform Vi kan velge om vi vil benytte ”Standard GRG Nonlinear” eller ”Standard Linear/Qadratic”. (Eller ”Evolutionary” for diskontinuerlige funksjoner.) Bruk ”Standard Linear/Qadratic” for lineære modeller. Hvis Solver likevel mener at modellen er ikke- lineær, får vi en rapport som hjelper oss til å finne ut hvor ikke-lineæriteten inntrer i modellen. LOG350 Operasjonsanalyse67 Rasmus Rasmussen
Implementering av modellen LOG350 Operasjonsanalyse68 Rasmus Rasmussen
Generalisering Hva hvis samme kunde neste gang etterspør en annen mengde blandet på samme måte ? Vi kan formulere problemet slik at vi kan levere samme blanding i et hvilket som helst kvantum ! Minimer kostnaden for ett pund (kg) LOG350 Operasjonsanalyse69 Rasmus Rasmussen
Definere beslutningsvariablene X 1 = pund av fór 1 som inngår i ett pund av blandingen X 2 = pund av fór 2 som inngår i ett pund av blandingen X 3 = pund av fór 3 som inngår i ett pund av blandingen X 4 = pund av fór 4 som inngår i ett pund av blandingen Disse verdiene vil nå angi den prosentvise andelen hvert fór utgjør av ett pund ferdigblanding. LOG350 Operasjonsanalyse70 Rasmus Rasmussen
Definere målfunksjonen Minimer totalkostnaden ved å produsere ett pund av blandingen: MIN: 0,25X 1 + 0,30X 2 + 0,32X 3 + 0,15X 4 LOG350 Operasjonsanalyse71 Rasmus Rasmussen
Definere restriksjonene Produsere 1 pund hønsefór X 1 + X 2 + X 3 + X 4 = 1 Blandingen må bestå av minst 20% korn 0,3X 1 + 0,05X 2 + 0,2X 3 + 0,1X 4 >= 0,2 Blandingen må ha minst 15% hvete 0,1X 1 + 0,3X 2 + 0,15X 3 + 0,1X 4 >= 0,15 Blandingen må minst ha 15% mineraler 0,2X 1 + 0,2X 2 + 0,2X 3 + 0,3X 4 >= 0,15 Ikkenegativitets betingelsene X 1, X 2, X 3, X 4 >= 0 LOG350 Operasjonsanalyse72 Rasmus Rasmussen
Implementere modellen LOG350 Operasjonsanalyse73 Rasmus Rasmussen
Et produksjonsplanleggingsproblem: The Upton Corporation Upton planlegger produksjonen av sine store luft- kompressorer for de neste 6 månedene. LOG350 Operasjonsanalyse74 Rasmus Rasmussen Produksjonskostnad$240$250$265$285$280$260 Etterspørsel1,0004,5006,0005,5003,5004,000 Maksimal produksjon4,0003,5004,0004,5004,0003,500 Minimum produksjon2,0001,7502,0002,2502,0001,750 Måned Inngående lagerbeholdning = 2,750 enheter Sikkerhetslager = 1,500 enheter Lagringskost pr enhet = 1.5% av produksjonskostnaden Maksimal lagringskapasitet = 6,000 enheter
Definere beslutningsvariablene P i = Antall enheter produsert i måned i, i=1 til 6 B i = inngående lager i måned i, i=1 til 6 LOG350 Operasjonsanalyse75 Rasmus Rasmussen
Definere målfunksjonen Minimer totale produksjons- og lager- kostnader: MIN : 240P P P P P P (B 1 +B 2 )/ (B 2 +B 3 )/ (B 3 +B 4 )/ (B 4 +B 5 )/ (B 5 + B 6 )/ (B 6 +B 7 )/2 Merk: Inngående lager i en måned er det samme som utgående lager i foregående måned. LOG350 Operasjonsanalyse76 Rasmus Rasmussen
Definere restriksjonene Produksjonsnivå: 2,000 <= P 1 <= 4,000 } måned 1 1,750 <= P 2 <= 3,500 } måned 2 2,000 <= P 3 <= 4,000 } måned 3 2,250 <= P 4 <= 4,500 } måned 4 2,000 <= P 5 <= 4,000 } måned 5 1,750 <= P 6 <= 3,500 } måned 6 Utgående lager (UB = IB + P - E): 1,500 <= B 1 + P 1 - 1,000 <= 6,000} måned 1 1,500 <= B 2 + P 2 - 4,500 <= 6,000} måned 2 1,500 <= B 3 + P 3 - 6,000 <= 6,000} måned 3 1,500 <= B 4 + P 4 - 5,500 <= 6,000} måned 4 1,500 <= B 5 + P 5 - 3,500 <= 6,000} måned 5 1,500 <= B 6 + P 6 - 4,000 <= 6,000} måned 6 77
Definere restriksjonene (forts.) Inngående lager B 1 = 2750 B 2 = B 1 + P 1 - 1,000 B 3 = B 2 + P 2 - 4,500 B 4 = B 3 + P 3 - 6,000 B 5 = B 4 + P 4 - 5,500 B 6 = B 5 + P 5 - 3,500 B 7 = B 6 + P 6 - 4,000 LOG350 Operasjonsanalyse78 Rasmus Rasmussen Merk at B i kan beregnes direkte ut fra P i. Derfor trengs bare P i å bli angitt som beslutningsvariabel (”changing/adjustable cell”).
Komplett LP modell MinSlik at: 240P 1 + 3,60(B 1 +B 2 )/2B 1 = ≤ P 1 ≤ P 2 + 3,75(B 2 +B 3 )/2B 2 = B 1 + P ≤ B 2 ≤ ≤ P 2 ≤ P 3 + 3,98(B 3 +B 4 )/2B 3 = B 2 + P ≤ B 3 ≤ ≤ P 3 ≤ P 4 + 4,28(B 4 +B 5 )/2B 4 = B 3 + P ≤ B 4 ≤ ≤ P 4 ≤ P 5 + 4,20(B 5 +B 6 )/2B 5 = B 4 + P ≤ B 5 ≤ ≤ P 5 ≤ P 6 + 3,90(B 6 +B 7 )/2B 6 = B 5 + P ≤ B 6 ≤ ≤ P 6 ≤ 3500 B 7 = B 6 + P ≤ B 7 ≤ 6000 LOG350 Operasjonsanalyse79 Rasmus Rasmussen
Implementere modellen LOG350 Operasjonsanalyse80 Rasmus Rasmussen
Design regneark Rasmus Rasmussen LOG350 Operasjonsanalyse81 SymbolMåned 1Måned 2Måned 3Måned 4Måned 5Måned 6 IB lagerBB1B1 B2B2 B3B3 B4B4 B5B5 B6B6 ProrduksjonPP1P1 P2P2 P3P3 P4P4 P5P5 P6P6 SalgS U B lagerBB 2 = B 1 + P 1 - S 1 B 3 = B 2 + P 2 - S 2 B 4 = B 3 + P 3 - S 3 B 5 = B 4 + P 4 - S 4 B 6 = B 5 + P 5 - S 5 B 7 = B 6 + P 6 - S 6 Max produksjon Min produksjon Max lager UB6000 Min lager UB1500 Produksjonskost pr stkpk kr 240,00 kr 250,00 kr 265,00 kr 285,00 kr 280,00 kr 260,00 Lagerkost pr stklk kr 3,60 kr 3,75 kr 3,98 kr 4,28 kr 4,20 kr 3,90 Produksjonskost pr mnd PKPK 1 = pk 1 * P 1 PK 2 = pk 2 * P 2 PK 2 = pk 2 * P 3 PK 4 = pk 4 * P 4 PK 5 = pk 5 * P 5 PK 6 = pk 6 * P 6 Lagerkost pr mndLKLK 1 = lk 1 *( B 1 + B 2 )/2LK 2 = lk 2 *( B 2 + B 3 )/2LK 3 = lk 3 *( B 3 + B 4 )/2LK 4 = lk 4 *( B 4 + B 5 )/2LK 5 = lk 5 *( B 5 + B 6 )/2LK 6 = lk 6 *( B 6 + B 7 )/2 Totalkostnad ∑(PK t + LK t ) UB lager = IB lager + produksjon - salg Produksjonskost pr mnd = produksjonskost pr stk * produksjon Lagerkost pr mnd = lagerkost pr stk * gjennomsnittslager Totalkostnad = sum produksjonskostnad & lagerkostnad
LP modell på standard form 240P P P P P P 6 +1,8B 1 +3,675B 2 +3,863B 3 +4,125B 4 +4,238B 5 +4,05B 6 +1,95B 7 Min P1P1P1P14000 P1P1P1P12000 P2P2P2P23500 P2P2P2P21750 P3P3P3P34000 P3P3P3P32000 P4P4P4P44500 P4P4P4P42250 P5P5P5P54000 P5P5P5P52000 P6P6P6P63500 P6P6P6P61750 B1B1B1B1=2750 P1P1P1P1 +B 1 -B 2 =1000 P2P2P2P2 +B 2 -B 3 =4500 P3P3P3P3 +B 3 -B 4 =6000 P4P4P4P4 +B 4 -B 5 =5500 P5P5P5P5 +B 5 -B 6 =3500 P6P6P6P6 +B 6 -B 7 =4000 B2B2B2B26000 B2B2B2B21500 B3B3B3B36000 B3B3B3B31500 B4B4B4B46000 B4B4B4B41500 B5B5B5B56000 B5B5B5B51500 B6B6B6B66000 B6B6B6B61500 B7B7B7B76000 B7B7B7B71500 Rasmus Rasmussen LOG350 Operasjonsanalyse82 Enklere med regneark ?
Et flerperiodisk kontantstrømsproblem: The Taco-Viva Sinking Fund - I Taco-Viva må opprette et fond på $800,000 til bygnings- kostnader for en ny restaurant i de neste 6 månedene. Utbetalinger på $250,000 inntrer i slutten av måned 2 og 4, og en sluttutbetaling på $300,000 inntrer i måned 6. Følgende investeringer kan benyttes. LOG350 Operasjonsanalyse83 Rasmus Rasmussen InvesteringTilgjengelig i månedMåneder til forfallRente ved forfall A1, 2, 3, 4, 5, 611.8% B1, 3, 523.5% C1, 435.8% D1611.0%
Definere beslutningsvariablene A ij = beløp (i $1,000) plassert i investering A i begynnelsen av måned i=1, 2, 3, 4, 5, 6; forfall måned j = 2, 3, 4, 5, 6,7 B ij = beløp (i $1,000) plassert i investering B i begynnelsen av måned i=1, 3, 5; forfall måned j= 3, 5, 7. C ij = beløp (i $1,000) plassert i investering C i begynnelsen av måned i=1, 4; forfall måned j= 4, 7. D ij = beløp (i $1,000) plassert i investering D i begynnelsen av måned i=1; forfall måned j= 7. LOG350 Operasjonsanalyse84 Rasmus Rasmussen
Kontantstrøm fra obligasjoner LOG350 Operasjonsanalyse85 Rasmus Rasmussen ObligasjonABCDAABACABA Investert mnd Avsluttet mnd Rente1,8%3,5%5,8%11%1,8% 3,5%1,8%5,8%1,8%3,5%1,8% MND 1- A 12 - B 13 - C 14 - D 17 MND 21,018 A 12 - A 23 MND 31,035 B 13 1,018 A 23 - A 34 - B 35 MND 41,058 C 14 1,018 A 34 - A 45 - C 47 MND 51,035 B 35 1,018 A 45 - A 56 - B 57 MND 61,018 A 56 - A 67 MND 71,11 D 17 1,058 C 47 1,035 B 57 1,018 A 67 Ønsker å betale ut minst mulig i begynnelsen av måned 1. Trenger å betale ut i begynnelsen av måned 3 og 5, samt i begynnelsen av måned 7.
LP - formulering Max: – 1A 12 – 1B 13 – 1C 14 – 1D 17 } måned 1 Kontantstrømsrestriksjoner: 1.018A 12 – 1A 23 = 0 } måned B A 23 – 1A 34 – 1B 35 = 250 } måned C A 34 – 1A 45 – 1C 47 = 0 } måned B A 45 – 1A 56 – 1B 57 = 250 } måned A 56 –1A 67 = 0 } måned D C B A 67 = 300 } måned 7 Ikke-negativitets-betingelsene: A ij, B ij, C ij, D ij >= 0, for alle i og j LOG350 Operasjonsanalyse86 Rasmus Rasmussen Max netto kontantstrøm (mottatt – betalt) netto kontantstrøm = betalingskrav
LP-modellen på standard form Obligasjon A 12 B 13 C 14 D 17 A 23 B 24 C 25 A 34 B 35 C 36 A 45 B 46 C 47 A 56 B 57 A 67 Avkastning 1,8 % 3,5 % 5,8 % 11, % 1,8 % 3,5 % 5,8 % 1,8 % 3,5 % 5,8 % 1,8 % 3,5 % 5,8 % 1,8 % 3,5 % 1,8 % Beløp473,30,0268,00,0245,50,0236,20,00,00,00,00,0283,50,00,00,0 Måned Kontantstrøm: Kontantstrøm: Netto Kapitalstrøm Behov 1-741,363Max 21,018|||0, ,035||1,018||250, ,058|1,035|1,018||0,0000 5|1,0581,035|1,018||250, |1,0581,035|1,018|0, ,110 1,058 1,0351,018300, Rasmus Rasmussen LOG350 Operasjonsanalyse87
Mulige kontantstrømmer LOG350 Operasjonsanalyse88 Rasmus Rasmussen Investering A B C D A A B A C A B A Regninger $0$0$250 $0$250$0$300 (utbetalinger i $1,000s) Inn/Utbetalinger i begynnelsen av måned Fra B 3 Avkastning – reinvestering - regning Fra A 1
Definere målfunksjonen Minimer totalinvesteringen i måned 1: MIN :A 1 + B 1 + C 1 + D 1 LOG350 Operasjonsanalyse89 Rasmus Rasmussen
Definere restriksjonene Kontantstrømsrestriksjoner: 1.018A 1 – 1A 2 = 0 } måned B A 2 – 1A 3 – 1B 3 = 250 } måned C A 3 – 1A 4 – 1C 4 = 0 } måned B A 4 – 1A 5 – 1B 5 = 250 } måned A 5 –1A 6 = 0 } måned D C B A 6 = 300 } måned 7 Ikke-negativitets-betingelsene: A i, B i, C i, D i >= 0, for alle i LOG350 Operasjonsanalyse90 Rasmus Rasmussen
Implementere modellen LOG350 Operasjonsanalyse91 Rasmus Rasmussen
Regnearket på standard LP form LOG350 Operasjonsanalyse92 Rasmus Rasmussen
Risikostyring: The Taco-Viva Sinking Fund - II Anta at CFO har tildelt følgende risikorangeringer til hver investering i en skala fra 1 to 10 (10 = max risiko) LOG350 Operasjonsanalyse93 Rasmus Rasmussen InvesteringRisikogruppe A1 B3 C8 D6 u CFO ønsker ikke at den veide gjennomsnittsrisikoen i noen av månedene skal overstige 5.
Definere restriksjonene Risikorestriksjoner: LOG350 Operasjonsanalyse94 Rasmus Rasmussen 1A 1 + 3B 1 + 8C 1 + 6D 1 <= 5 A 1 + B 1 + C 1 + D 1 } måned 1 1A 2 + 3B 1 + 8C 1 + 6D 1 <= 5 A 2 + B 1 + C 1 + D 1 } måned 2 1A 3 + 3B 3 + 8C 1 + 6D 1 <= 5 A 3 + B 3 + C 1 + D 1 } måned 3 1A 4 + 3B 3 + 8C 4 + 6D 1 <= 5 A 4 + B 3 + C 4 + D 1 } måned 4 1A 5 + 3B 5 + 8C 4 + 6D 1 <= 5 A 5 + B 5 + C 4 + D 1 } måned 5 1A 6 + 3B 5 + 8C 4 + 6D 1 <= 5 A 6 + B 5 + C 4 + D 1 } måned 6
Alternativ formulering av risikorestriksjonene Ekvivalent risikorestriksjoner: – 4A 1 – 2B 1 + 3C 1 + 1D 1 <= 0} måned 1 – 2B 1 + 3C 1 + 1D 1 – 4A 2 <= 0} måned 2 3C 1 + 1D 1 – 4A 3 – 2B 3 <= 0} måned 3 1D 1 – 2B 3 – 4A 4 + 3C 4 <= 0} måned 4 1D 1 + 3C 4 – 4A 5 – 2B 5 <= 0} måned 5 1D 1 + 3C 4 – 2B 5 – 4A 6 <= 0} måned 6 LOG350 Operasjonsanalyse95 Rasmus Rasmussen Merk at hver koeffisient er lik risikofaktoren minus 5 (den maksimalt tillatte gjennomsnittsrisikoen).
Implementering av modellen LOG350 Operasjonsanalyse96 Rasmus Rasmussen
Risikorestriksjoner når alle obligasjoner er tilgjengelige hver måned Risikorestriksjoner på standard form: – 4A 12 – 2B C D 17 <= 0 } måned 1 – 2B C D 17 – 4A 23 – 2B C 25 <= 0 } måned 2 3C D 17 – 2B C 25 – 4A 34 – 2B C 36 <= 0 } måned 3 1D C 25 – 2B C 36 – 4A 45 – 2B C 47 <= 0 } måned 4 1D C 36 – 2B C 47 – 4A 56 – 2B 57 <= 0 } måned 5 1D C 47 – 2B 57 – 4A 67 <= 0 } måned 6 LOG350 Operasjonsanalyse97 Rasmus Rasmussen
Regnearket på standard LP form LOG350 Operasjonsanalyse98 Rasmus Rasmussen
Data Envelopment Analysis (DEA): Steak & Burger Steak & Burger ønsker å evaluere effektiviteten for 12 avdelinger. Output for hver avdeling ( O ij ) omfatter: Fortjeneste, Kunde- tilfredshet og Renslighet Input for hver avdeling ( I ij ) omfatter: Arbeidstid og Produksjonskostnader “Effektiviteten” for avdeling i er definert slik: LOG350 Operasjonsanalyse99 Rasmus Rasmussen = Veid sum av avdeling i’s outputs Veid sum av avdeling i’s inputs
Definering av beslutningsvariablene LOG350 Operasjonsanalyse100 Rasmus Rasmussen w j = vekt tildelt output j v j = vekt tildelt input j Et separat LP problem løses for hver avdeling, og slik at hver avdeling velger de best mulige vektene for seg selv.
Definere Målfunksjonen LOG350 Operasjonsanalyse101 Rasmus Rasmussen Maksimer veid output for avdeling i : MAX :
Definere Restriksjonene Effektiviteten kan ikke overstige 100% for noen avdeling Summen av veide inputs for avdeling i må være lik 1 Ikke-negativitetsrestriksjonene w j, v j >= 0, for alle j LOG350 Operasjonsanalyse102 Rasmus Rasmussen
Viktig poeng LOG350 Operasjonsanalyse103 Rasmus Rasmussen Ved bruk av DEA må : Output variablene uttrykkes på en skala der “mer er bedre” Input variabler uttrykkes på en skala der “mindre er bedre”
Implementere i regneark LOG350 Operasjonsanalyse104 Rasmus Rasmussen
Kompositt-enhet bedre enn #1 LOG350 Operasjonsanalyse105 Rasmus Rasmussen
End of Chapter 3 LOG350 Operasjonsanalyse106 Rasmus Rasmussen