Managerial Decision Modeling A Practical Introduction to Management Science , 5ed by Cliff Ragsdale
LOG350 Operasjonsanalyse Chapter 2 Linear Programming Rasmus Rasmussen LOG350 Operasjonsanalyse
LOG350 Operasjonsanalyse Innledning Alle står overfor beslutninger om hvordan en skal utnytte begrensede ressurser som: - Oljereserver - Areal for søppelfyllinger - Tid - Penger - Ansatte Rasmus Rasmussen LOG350 Operasjonsanalyse
Matematisk programmering... MP er et fag i operasjonsanalyse som finner den optimale eller mest effektive måten å utnytte begrensede ressurser; for å oppnå målsettingen til et individ eller en organisasjon. m.a.o. Optimering Rasmus Rasmussen LOG350 Operasjonsanalyse
Anvendelser av Matematisk Optimering : Bestemme produksjonsmiks Produksjonsplanlegging Ruteplanlegging og logistikk Finansiell planlegging Rasmus Rasmussen LOG350 Operasjonsanalyse
Karakteristika for optimeringsproblemer : Beslutninger - Handlingsvariabler Restriksjoner - Begrensninger Målsetting - Målfunksjon Rasmus Rasmussen LOG350 Operasjonsanalyse
Generell form på et optimeringsproblem : 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). Rasmus Rasmussen LOG350 Operasjonsanalyse
Generell form på et Lineært Programmeringsproblem (LP) MAX (eller MIN): c1X1 + c2X2 + … + cnXn Slik at: a11X1 + a12X2 + … + a1nXn <= b1 : ak1X1 + ak2X2 + … + aknXn >= bk am1X1 + am2X2 + … + amnXn = bm Rasmus Rasmussen LOG350 Operasjonsanalyse
Eksempel på et LP Problem Blue Ridge Hot Tubs produserer to typer varmtvannsberedere : Aqua-Spas & Hydro-Luxes. Aqua-Spa Hydro-Lux Pumper 1 1 Arbeid 9 timer 6 timer Rør 12 dm 16 dm DB/pr. stk $350 $300 Det er 200 pumper, 1566 arbeidstimer, og 2880 dm rør tilgjengelig. Rasmus Rasmussen LOG350 Operasjonsanalyse
5 trinn i formulering av LP modeller: 1. Forstå problemet. 2. Identifiser beslutningsvariablene. X1=antall Aqua-Spas produsert X2=antall Hydro-Luxes produsert 3. Angi målfunksjonen som en lineær kombinasjon av beslutningsvariablene. MAX: 350X1 + 300X2 Rasmus Rasmussen LOG350 Operasjonsanalyse
5 trinn i formulering av LP modeller (fortsettelse) 4. Angi restriksjonene som lineære kombinasjoner av beslutningsvariablene. 1X1 + 1X2 <= 200 } pumper 9X1 + 6X2 <= 1566 } arbeid 12X1 + 16X2 <= 2880 } rør 5. Identifiser eventuelle øvre og nedre grenser på beslutningsvariablene. X1 >= 0 X2 >= 0 Rasmus Rasmussen LOG350 Operasjonsanalyse
Resymé av LP Modellen for Blue Ridge Hot Tubs MAX: 350X1 + 300X2 S.T.: 1X1 + 1X2 <= 200 9X1 + 6X2 <= 1566 12X1 + 16X2 <= 2880 X1 >= 0 X2 >= 0 Rasmus Rasmussen LOG350 Operasjonsanalyse
Løsning av LP problemer: En intuitiv innfallsvinkel Ide: Hver Aqua-Spa (X1) skaper det største deknings-bidraget ($350), lag derfor så mange som mulig! Hvor mange kan vi lage? La X2 = 0 1. restriksjon: 1X1 <= 200 2. restriksjon: 9X1 <=1566 eller X1 <=174 3. restriksjon: 12X1 <= 2880 eller X1 <= 240 Hvis X2=0, så er den største mulige verdien av X1 lik 174 og totalt dekningsbidrag er $350*174 + $300*0 = $60,900 Denne løsningen er mulig, men er den optimal? Nei! Rasmus Rasmussen LOG350 Operasjonsanalyse
Løsning av LP problemer: En grafisk innfallsvinkel Restriksjonene i et LP problem definerer et mulighetsområde. Det beste punktet i mulighetsområdet er den optimale løsningen av problemet. For LP problemer med 2 variabler er det lett å plotte mulighetsområdet og finne den optimale løsningen. Rasmus Rasmussen LOG350 Operasjonsanalyse
Plotte den første restriksjonen X2 250 (0, 200) 200 Linjen som begrenser bruken av pumper X1 + X2 = 200 150 100 50 (200, 0) 50 100 150 200 250 X1 Rasmus Rasmussen LOG350 Operasjonsanalyse
Plotte den andre restriksjonen X2 (0, 261) 250 Restriksjonslinjen for bruk av arbeid 200 9X1 + 6X2 = 1566 150 100 50 (174, 0) 50 100 150 200 250 X1 Rasmus Rasmussen LOG350 Operasjonsanalyse
Plotte den tredje restriksjonen X2 250 (0, 180) 200 150 Restriksjonslinjen for bruk av rør 12X1 + 16X2 = 2880 100 Mulighetsområdet 50 (240, 0) 50 100 150 200 250 X1 Rasmus Rasmussen LOG350 Operasjonsanalyse
Plotting av nivåkurver for målfunksjonen X2 250 200 (0, 116.67) Målfunksjon 150 350X1 + 300X2 = 35000 100 (100, 0) 50 50 100 150 200 250 X1 Rasmus Rasmussen LOG350 Operasjonsanalyse
En ny nivåkurve (isobidragslinje) for målfunksjonen: X2 250 (0, 175) Målfunksjon 200 350X1 + 300X2 = 35000 Målfunksjon 150 350X1 + 300X2 = 52500 100 (150, 0) 50 50 100 150 200 250 X1 Rasmus Rasmussen LOG350 Operasjonsanalyse
Parallellforskyving av nivåkurver for å finne optimal løsning X2 250 Målfunksjon 200 350X1 + 300X2 = 35000 150 optimal løsning 100 Målfunksjon 350X1 + 300X2 = 52500 50 50 100 150 200 250 X1 Rasmus Rasmussen LOG350 Operasjonsanalyse
Beregne den optimale løsningen Den optimale løsningen inntrer der linjene for pumpe- og arbeidstids- restriksjonene krysser. Det skjer når de er like: X1 + X2 = 200 (1) og 9X1 + 6X2 = 1566 (2) Fra (1) får vi, X2 = 200 -X1 (3) Setter vi (3) for X2 inn i (2) får vi, 9X1 + 6 (200 -X1) = 1566 Som forenkles til X1 = 122 Så den optimale løsningen er, X1=122, X2=200-X1=78 Totalt DB = $350*122 + $300*78 = $66,100 Rasmus Rasmussen LOG350 Operasjonsanalyse
Undersøke alle hjørneløsninger X2 250 Målfunksjon = $54,000 (0, 180) 200 Målfunksjon = $64,000 150 (80, 120) Målfunksjon = $66,100 100 (122, 78) 50 Målfunksjon = $0 Målfunksjon = $60,900 (0, 0) (174, 0) 50 100 150 200 250 X1 Merk: Denne metoden fungerer ikke hvis mulighetsområdet ikke er lukket.
Sammendrag av Grafisk løsning av LP Problemer 1. Plott grenselinjen for hver restriksjon 2. Identifiser mulighetsområdet 3. Finn optimal løsning enten ved: a. Plott nivåkurver for målfunksjonen eller b. Beregn alle hjørneløsningene Rasmus Rasmussen LOG350 Operasjonsanalyse
Spesielle tilfeller av LP Modeller Forskjellig unormale forhold kan inntreffe i LP problemer: Alternative optimale løsninger Overflødige restriksjoner Ubegrenset gode løsninger Ingen mulige løsninger Rasmus Rasmussen LOG350 Operasjonsanalyse
Eksempel på alternative optimale løsninger X2 250 Nivåkurve for målfunksjonen 450X1 + 300X2 = 78300 200 150 100 Alternative optimale løsninger 50 50 100 150 200 250 X1 Rasmus Rasmussen LOG350 Operasjonsanalyse
Eksempel på en overflødig restriksjon X2 250 Restriksjonslinjen for rør 200 Restriksjonslinjen for pumper 150 Restriksjonslinjen for arbeid 100 Mulighetsområdet 50 50 100 150 200 250 X1 Rasmus Rasmussen LOG350 Operasjonsanalyse
Eksempel på en ubegrenset løsning X2 1000 Målfunksjon X1 + X2 = 600 -X1 + 2X2 = 400 800 Målfunksjon X1 + X2 = 800 600 400 200 X1 + X2 = 400 200 400 600 800 1000 X1 Rasmus Rasmussen LOG350 Operasjonsanalyse
Eksempel på ingen mulig løsning X2 250 200 X1 + X2 = 200 Mulighetsområdet for andre restriksjon 150 100 Mulighetsområdet for første restriksjon 50 X1 + X2 = 150 50 100 150 200 250 X1 Rasmus Rasmussen LOG350 Operasjonsanalyse
LOG350 Operasjonsanalyse End of Chapter 2 Rasmus Rasmussen LOG350 Operasjonsanalyse
Generell form på et Lineært Programmeringsproblem (LP) MAX (eller MIN): c1X1 + c2X2 + … + cnXn Slik at: a11X1 + a12X2 + … + a1nXn <= b1 : ak1X1 + ak2X2 + … + aknXn >= bk am1X1 + am2X2 + … + amnXn = bm Se arket ”Generell form” i filen ”LP model” under Chap 2 Rasmus Rasmussen LOG350 Operasjonsanalyse
Standard form på et Lineært Programmeringsproblem (LP) MAX (eller MIN): c1X1 + c2X2 + … + cnXn Slik at: a11X1 + a12X2 + … + a1nXn <= b1 : ak1X1 + ak2X2 + … + aknXn <= bk am1X1 + am2X2 + … + amnXn <= bm Merk at alle restriksjonene er på formen ”<=” Rasmus Rasmussen LOG350 Operasjonsanalyse
Omformulering til standard form: ak1X1 + ak2X2 + … + aknXn >= bk Multipliser gjennom med -1: -1| ak1X1 + ak2X2 + … + aknXn >= bk -ak1X1 - ak2X2 - … - aknXn <= -bk Tilsvarende erstattes en ”=” med både ”<=” og ”>=”: am1X1 + am2X2 + … + amnXn = bm am1X1 + am2X2 + … + amnXn <= bm og am1X1 + am2X2 + … + amnXn >= bm dvs. am1X1 + am2X2 + … + amnXn <= bm og -am1X1 - am2X2 - … - amnXn <= -bm Rasmus Rasmussen LOG350 Operasjonsanalyse
Kompakt form på et Lineært Programmeringsproblem (LP) MAX (eller MIN): Slik at: Se arket ”Kompakt form” i filen ”LP model” under Chap 2 Rasmus Rasmussen LOG350 Operasjonsanalyse
Matrise form på et Lineært Programmeringsproblem (LP) MAX (eller MIN): Slik at: Se arket ”Matriseform” i filen ”LP model” under Chap 2 Rasmus Rasmussen LOG350 Operasjonsanalyse