Managerial Decision Modeling Cliff Ragsdale 6 edition Chapter

  • Slides: 66
Download presentation
Managerial Decision Modeling Cliff Ragsdale 6. edition Chapter 6 Integer Linear Programming BØK 350

Managerial Decision Modeling Cliff Ragsdale 6. edition Chapter 6 Integer Linear Programming BØK 350 OPERASJONSANALYSE Rasmussen 1

Introduksjon Når en eller flere variabler i et LP problem må anta heltallsverdier har

Introduksjon Når en eller flere variabler i et LP problem må anta heltallsverdier har vi et heltallsproblem, Integer Linear Programming (ILP) problem. ILP problemer er ganske vanlige: Fordele arbeidsstyrke Produsere fly Heltallsvariabler gjør oss også i stand til å lage mer nøyaktige modeller for en mengde økonomiske problemer. BØK 350 OPERASJONSANALYSE Rasmussen 2

Heltallsrestriksjoner Max 350 X 1 + 300 X 2 S. T. : Dekningsbidrag 1

Heltallsrestriksjoner Max 350 X 1 + 300 X 2 S. T. : Dekningsbidrag 1 X 1 + 1 X 2 <= 200 Pumper 9 X 1 + 6 X 2 <= 1566 Arbeid 16 X 2 2880 Rør 12 X 1 X 2 <= >= 0 Ikke-negativitet Heltallsbetingelser er enkle å angi, men problemet blir ofte mye vanskeligere (og noen ganger umulig) å løse. BØK 350 OPERASJONSANALYSE Rasmussen 3

Forenkling Opprinnelig ILP problem: Forenklet LP problem: Max 2 X 1 + 3 X

Forenkling Opprinnelig ILP problem: Forenklet LP problem: Max 2 X 1 + 3 X 2 S. T. : 1 X 1 + 3 X 2 <= 8, 25 2, 5 X 1 + 1 X 2 <= 8, 75 X 1 X 2 >= 0 Heltallsbetingelsene utelates. I forenklingen ser en ganske enkelt bort fra heltallsbetingelsene. BØK 350 OPERASJONSANALYSE Rasmussen 4

X 2 Mulighetsområdet og 1·X + 3·X ≤ 8, 25 heltallsløsninger 1 X 1

X 2 Mulighetsområdet og 1·X + 3·X ≤ 8, 25 heltallsløsninger 1 X 1 ≥ 0 2 Mulighetsområdet til LP problemet 2, 75 Et uendelig antall mulige løsninger på LP problemet, men bare 11 mulige heltallsløsninger. De røde punktene angir mulige heltallsløsninger 2 1 X 2 ≥ 0 0 1 BØK 350 OPERASJONSANALYSE 2 3 3, 5 2, 5·X 1 + 1·X 2 ≤ 8, 75 8, 25 X 1 Rasmussen 5

Løsning av ILP problemer Når en løser et LP-forenklet heltallsproblem, kan en noen ganger

Løsning av ILP problemer Når en løser et LP-forenklet heltallsproblem, kan en noen ganger være heldig å få en optimal heltallsløsning. Det var tilfellet i det opprinnelige Blue Ridge Hot Tubs problemet i tidligere kapitler. Men hva hvis vi reduserer tilgjengelig arbeidstid til 1520 timer og tilgjengelig mengde rør til 2650 dm ? BØK 350 OPERASJONSANALYSE Rasmussen 6

LP problem med desimalløsning BØK 350 OPERASJONSANALYSE Rasmussen 7

LP problem med desimalløsning BØK 350 OPERASJONSANALYSE Rasmussen 7

Grenser Den optimale løsningen til et LP-forenklet heltallsproblem gir oss en grense for den

Grenser Den optimale løsningen til et LP-forenklet heltallsproblem gir oss en grense for den optimale verdien på målfunksjonen. For maksimerings problemer er den optimale forenklede maksimerings målfunksjonen en øvre grense for den optimale heltallsløsningen. For minimerings problemer er den optimale forenklede minimerings målfunksjonen en nedre grense for den optimale heltallsløsningen. BØK 350 OPERASJONSANALYSE Rasmussen 8

Avrunding Det er fristende å ganske enkelt avrunde en desimalløsning til nærmeste heltallsløsning. Generelt

Avrunding Det er fristende å ganske enkelt avrunde en desimalløsning til nærmeste heltallsløsning. Generelt vil dette ikke virke tilfredsstillende: Den avrundede løsningen kan være umulig. Den avrundede løsningen kan være suboptimal. BØK 350 OPERASJONSANALYSE Rasmussen 9

Hvordan avrunding nedover kan X skape en umulig løsning 2 3 2 Optimal forenklet

Hvordan avrunding nedover kan X skape en umulig løsning 2 3 2 Optimal forenklet løsning Ikke mulig løsning som resultat av å runde av nedover 1 0 0 BØK 350 OPERASJONSANALYSE 1 2 3 4 X 1 Rasmussen 10

Branch-and-Bound (B&B) algoritmen kan brukes for å løse ILP problemer. Krever løsning av en

Branch-and-Bound (B&B) algoritmen kan brukes for å løse ILP problemer. Krever løsning av en serie med LP problemer kalt ”kandidat problemer”. Teoretisk kan dette løse et hvilket som helst ILP. I praksis krever det ofte enormt mye regnekraft (og tid). BØK 350 OPERASJONSANALYSE Rasmussen 11

Stoppe - regler Fordi B&B tar så lang tid, tillater de fleste ILP pakker

Stoppe - regler Fordi B&B tar så lang tid, tillater de fleste ILP pakker å angi en suboptimalitets toleranse faktor. Den lar deg stoppe straks en heltallsløsning er funnet som er innenfor en gitt % av den globale optimale løsningen. Grenser oppnådd fra LP-forenklingen er her nyttige. F. eks. LP forenklingen har optimal verdi på målfunksjonen lik $64. 306. 95% av $64. 306 er $61. 090. En heltallsløsning med verdi på målfunksjonen lik $61. 090 eller må derfor ligge innenfor 5% av den optimale løsningen. BØK 350 OPERASJONSANALYSE Rasmussen 12

Bruk av Solver på heltall Angi heltall som en restriksjon på de aktuelle beslutningsvariablene:

Bruk av Solver på heltall Angi heltall som en restriksjon på de aktuelle beslutningsvariablene: Bare beslutningsvariabler kan ha heltallskrav. BØK 350 OPERASJONSANALYSE Rasmussen 13

Integer Tolerance Under Engine tab i Task Pane, Integer Tolerance. I den nye Solver

Integer Tolerance Under Engine tab i Task Pane, Integer Tolerance. I den nye Solver (V 9 osv. ) er standard Integer Tolerance = 0 Forbedret B&B algoritmer (strong branching) gjør at Solver raskere finner gode heltallsløsninger. BØK 350 OPERASJONSANALYSE Rasmussen 14

Angi toleranse i Solver Hvis Integer Tolerance > 0, så er det ikke sikkert

Angi toleranse i Solver Hvis Integer Tolerance > 0, så er det ikke sikkert at optimal løsning er funnet: BØK 350 OPERASJONSANALYSE Rasmussen 15

Optimal heltallsløsning BØK 350 OPERASJONSANALYSE Rasmussen 16

Optimal heltallsløsning BØK 350 OPERASJONSANALYSE Rasmussen 16

Et skiftplanleggingsproblem: Dag Behov Skift 1 Skift 2 Skift 3 Skift 4 Skift 5

Et skiftplanleggingsproblem: Dag Behov Skift 1 Skift 2 Skift 3 Skift 4 Skift 5 Skift 6 Skift 7 Mandag 27 Fri Tirsdag 22 Onsdag 26 Torsdag 25 Fredag 21 Lørdag 19 Søndag 18 Fri Lønn 680 Fri Fri Fri 705 705 680 655 Behovet for antall ansatte varierer med ukedagene. Lønn pr. ansatt pr. uke er lavest for de som har fri i helgene (lørdag og søndag). BØK 350 OPERASJONSANALYSE Rasmussen 17

Definer beslutningsvariablene X 1 = antall arbeidere tildelt skift 1 X 2 = antall

Definer beslutningsvariablene X 1 = antall arbeidere tildelt skift 1 X 2 = antall arbeidere tildelt skift 2 X 3 = antall arbeidere tildelt skift 3 X 4 = antall arbeidere tildelt skift 4 X 5 = antall arbeidere tildelt skift 5 X 6 = antall arbeidere tildelt skift 6 X 7 = antall arbeidere tildelt skift 7 BØK 350 OPERASJONSANALYSE Rasmussen 18

Definer målfunksjonen Lønnen er $131 pr. dag, med tillegg $25 pr. dag for helg

Definer målfunksjonen Lønnen er $131 pr. dag, med tillegg $25 pr. dag for helg (lørdag og søndag). De som jobber 5 ukedager har ukelønn 131 5 = 655 De som i tillegg jobber en helgedag har 655 + 25 = 680 De som jobber to helgedager har 655 + 25 2 = 705. Minimer totale lønnskostnader: MIN: 680 X 1 +705 X 2 +705 X 3 +705 X 4 +705 X 5 +680 X 6 +655 X 7 BØK 350 OPERASJONSANALYSE Rasmussen 19

Definere restriksjonene Behov for arbeidere hver ukedag: 0 X 1 + 0 X 2

Definere restriksjonene Behov for arbeidere hver ukedag: 0 X 1 + 0 X 2 + 1 X 3 + 1 X 4 + 1 X 5 + 1 X 6 + 1 X 7 >= 27 } Mandag 1 X 1 + 0 X 2 + 0 X 3 + 1 X 4 + 1 X 5 + 1 X 6 + 1 X 7 >= 22 } Tirsdag 1 X 1 + 1 X 2 + 0 X 3 + 0 X 4 + 1 X 5 + 1 X 6 + 1 X 7 >= 26 } Onsdag 1 X 1 + 1 X 2 + 1 X 3 + 0 X 4 + 0 X 5 + 1 X 6 + 1 X 7 >= 25 } Torsdag 1 X 1 + 1 X 2 + 1 X 3 + 1 X 4 + 0 X 5 + 0 X 6 + 1 X 7 >= 21 } Fredag 1 X 1 + 1 X 2 + 1 X 3 + 1 X 4 + 1 X 5 + 0 X 6 + 0 X 7 >= 19 } Lørdag 0 X 1 + 1 X 2 + 1 X 3 + 1 X 4 + 1 X 5 + 1 X 6 + 0 X 7 >= 18 } Søndag Ikke-negativitets-betingelsene: Xi >= 0 for alle i BØK 350 OPERASJONSANALYSE Rasmussen 20

Standard LP i regneark En kolonne for hver variabel, en LHS (total)- og en

Standard LP i regneark En kolonne for hver variabel, en LHS (total)- og en RHS -kolonne. (Kolonne C – I for variabler, J for LHS/total og L for RHS) En linje for verdier til beslutningsvariablene. (Linje 3) En linje for målfunksjonen. (Linje 4) En linje for hver restriksjon. (Linje 6 – 12) BØK 350 OPERASJONSANALYSE Rasmussen 21

Alternativ LP formulering BØK 350 OPERASJONSANALYSE Formler beregner koeffisientene, istedenfor manuell inntasting av beregnede

Alternativ LP formulering BØK 350 OPERASJONSANALYSE Formler beregner koeffisientene, istedenfor manuell inntasting av beregnede verdier. Rasmussen 22

Alternativ layout LP-modellen snudd 90 grader. Husker du trikset? Copy Paste &Transpose BØK 350

Alternativ layout LP-modellen snudd 90 grader. Husker du trikset? Copy Paste &Transpose BØK 350 OPERASJONSANALYSE Rasmussen 23

Binær -variabler Binære variabler er heltallsvariabler som bare kan anta to verdier: 0 eller

Binær -variabler Binære variabler er heltallsvariabler som bare kan anta to verdier: 0 eller 1 Slike variabler kan være meget nyttige i en mengde praktiske modelleringssituasjoner. BØK 350 OPERASJONSANALYSE Rasmussen 24

Et kapitalbudsjetteringsproblem: Forventet NPV Prosjekt (i $000) 1 $141 2 $187 3 $121 4

Et kapitalbudsjetteringsproblem: Forventet NPV Prosjekt (i $000) 1 $141 2 $187 3 $121 4 $83 5 $265 6 $127 Kapital (i $000) som trengs i År 1 År 2 År 3 År 4 $75 $20 $15 $90 $35 $0 $0 $60 $15 $15 $30 $20 $10 $5 $100 $25 $20 $50 $20 $10 $30 År 5 $10 $30 $15 $5 $20 $40 Selskapet har $250, 000 disponibelt år 1 til å investere i nye prosjekter. Det har budsjettert $75, 000 til fornyet dekning til disse prosjektene i år 2. Og det er budsjettert inntil $50, 000 per år for årene 3, 4, og 5. BØK 350 OPERASJONSANALYSE Rasmussen 25

Definere beslutningsvariablene Vi kan altså investere i prosjektene 1 – 6, men bare i

Definere beslutningsvariablene Vi kan altså investere i prosjektene 1 – 6, men bare i hele prosjekter. Vi kan heller ikke investere i mer enn ett prosjekt av samme type, dvs. prosjektene kan ikke dupliseres. BØK 350 OPERASJONSANALYSE Rasmussen 26

Definere målfunksjonen Maksimer total netto nåverdi av de valgte prosjektene. MAX: 141 X 1

Definere målfunksjonen Maksimer total netto nåverdi av de valgte prosjektene. MAX: 141 X 1 + 187 X 2 + 121 X 3 + 83 X 4 + 265 X 5 + 127 X 6 Merk at de prosjektene som ikke velges «nulles» ut. BØK 350 OPERASJONSANALYSE Rasmussen 27

Definere restriksjonene Kapitalrestriksjoner 75 X 1 + 90 X 2 + 60 X 3

Definere restriksjonene Kapitalrestriksjoner 75 X 1 + 90 X 2 + 60 X 3 + 30 X 4 + 100 X 5 + 50 X 6 <= 250} år 1 25 X 1 + 35 X 2 + 15 X 3 + 20 X 4 + 25 X 5 + 20 X 6 <= 75} år 2 20 X 1 + 0 X 2 + 15 X 3 + 10 X 4 + 20 X 5 + 10 X 6 <= 50} år 3 15 X 1 + 0 X 2 + 15 X 3 + 5 X 4 + 20 X 5 + 30 X 6 <= 50} år 4 10 X 1 + 30 X 2 + 15 X 3 + 5 X 4 + 20 X 5 + 40 X 6 <= 50} år 5 Binærrestriksjoner Xi <= 1, i = 1, 2, . . . , 6 Xi >= 0, i = 1, 2, . . . , 6 Alle Xi må være heltall BØK 350 OPERASJONSANALYSE Rasmussen 28

Binærvariabler Solver har en “bin” mulighet for angivelse av binære variabler (enten 0 eller

Binærvariabler Solver har en “bin” mulighet for angivelse av binære variabler (enten 0 eller 1). Du slipper da å angi 3 betingelser (0 ≤ heltall ≤ 1). BØK 350 OPERASJONSANALYSE Rasmussen 29

Implementere LP modellen En kolonne for hver variabel, en LHS (total)- og en RHS

Implementere LP modellen En kolonne for hver variabel, en LHS (total)- og en RHS -kolonne. (Kolonne C – H for variabler, I for LHS/total og K for RHS) En linje for verdier til beslutningsvariablene. (Linje 4) En linje for målfunksjonen. (Linje 5) En linje for hver restriksjon. (Linje 6 – 10) BØK 350 OPERASJONSANALYSE Rasmussen 30

Alternativ lay-out LP-modellen snudd 90 grader. Copy Paste &Transpose. Samt litt formatering. BØK 350

Alternativ lay-out LP-modellen snudd 90 grader. Copy Paste &Transpose. Samt litt formatering. BØK 350 OPERASJONSANALYSE Rasmussen 31

Binære Variabler & Logiske Betingelser Binære variabler er også nyttige ved modellering av en

Binære Variabler & Logiske Betingelser Binære variabler er også nyttige ved modellering av en rekke logiske betingelser. Av prosjektene 1, 3 & 6, kan maksimalt ett velges: X 1 + X 3 + X 6 <= 1 Av prosjektene 1, 3 & 6, må nøyaktig ett velges: X 1 + X 3 + X 6 = 1 Prosjekt 4 kan ikke velges med mindre også prosjekt 5 velges: X 4 <= X 5 eller X 4 – X 5 <= 0 BØK 350 OPERASJONSANALYSE Rasmussen 32

Faste kostnader Mange beslutninger medfører at faste kostnader endres: l l Kostnad ved leasing,

Faste kostnader Mange beslutninger medfører at faste kostnader endres: l l Kostnad ved leasing, leie eller kjøp av utstyr som kreves hvis et spesielt alternativ velges. Klargjøringskostnader som er nødvendige for å forberede en maskin eller et produksjonsutstyr til å produsere en annen type produkt. Kostnaden ved å konstruere nytt produksjonsutstyr som kreves hvis en bestemt beslutning fattes. Kostnader ved å ansette mer personale som vil bli nødvendig hvis en bestemt beslutning tas. BØK 350 OPERASJONSANALYSE Rasmussen 33

Eksempel med faste kostnader : Operasjon Prod. 1 Prod. 2 Prod. 3 Maskinering 2

Eksempel med faste kostnader : Operasjon Prod. 1 Prod. 2 Prod. 3 Maskinering 2 3 6 Sliping 6 3 4 Montering 5 6 2 DB pr. Stk. $48 $55 $50 Klargjøringskost $1000 $800 $900 Timer tilgjengelig 600 300 400 Tabellen viser produktenes tidsforbruk og tilgjengelig tid i de tre produksjonsavdelingene. Den viser også produktenes dekningsbidrag pr. stk, samt klargjøringskostnader før en produksjonsserie. BØK 350 OPERASJONSANALYSE Rasmussen 34

Definere beslutningsvariablene Yi angir om vi har klargjort til produksjon av produkt Xi. Yi

Definere beslutningsvariablene Yi angir om vi har klargjort til produksjon av produkt Xi. Yi = binærvariabel. Xi = kvantum av produkt i som skal produseres, i = 1, 2, 3 Xi = standard kontinuerlig variabel (delbar, ikke-negativ). BØK 350 OPERASJONSANALYSE Rasmussen 35

Definere målfunksjonen Maksimere total fortjeneste: MAX: – 1000 Y 1 – 800 Y 2

Definere målfunksjonen Maksimere total fortjeneste: MAX: – 1000 Y 1 – 800 Y 2 – 900 Y 3 + 48 X 1 + 55 X 2 + 50 X 3 Faste klargjøringskostnader oppstår når binærvariablene Yi = 1. BØK 350 OPERASJONSANALYSE Rasmussen 36

Definere restriksjonene Ressursrestriksjoner 2 X 1 + 3 X 2 + 6 X 3

Definere restriksjonene Ressursrestriksjoner 2 X 1 + 3 X 2 + 6 X 3 <= 600 6 X 1 + 3 X 2 + 4 X 3 <= 300 5 X 1 + 6 X 2 + 2 X 3 <= 400 } maskinering } sliping } montering Binær-restriksjoner Yi <= 1, i = 1, 2, 3 Yi >= 0, i = 1, 2, 3 Alle Yi må være heltall Ikke-negativitetsrestriksjoner Xi >= 0, i = 1, 2, 3 BØK 350 OPERASJONSANALYSE Er det noe som mangler? Rasmussen 37

Definere restriksjonene (forts. ) Koble restriksjonene (med “Big M”) X 1 <= M 1

Definere restriksjonene (forts. ) Koble restriksjonene (med “Big M”) X 1 <= M 1 Y 1 eller X 1 - M 1 Y 1 <= 0 X 2 <= M 2 Y 2 eller X 2 - M 2 Y 2 <= 0 X 3 <= M 3 Y 3 eller X 3 - M 3 Y 3 <= 0 Hvis Yi = 0 så vil disse restriksjonene tvinge Xi til å bli lik 0. Hvis Yi = 1 så tillater disse restriksjonene Xi å være 0 eller større. Men hvis Xi = 0 vil målsettingen da medføre at også Yi settes til 0, for å spare kostnader. Merk at Mi angir en øvre grense for Xi. Vi må velge en tilstrekkelig stor men ikke for stor verdi til Mi. BØK 350 OPERASJONSANALYSE Rasmussen 38

Finne rimelige verdier for M 1 Betrakt ressursrestriksjonene 2 X 1 + 3 X

Finne rimelige verdier for M 1 Betrakt ressursrestriksjonene 2 X 1 + 3 X 2 + 6 X 3 <= 600 6 X 1 + 3 X 2 + 4 X 3 <= 300 5 X 1 + 6 X 2 + 2 X 3 <= 400 } maskinering } sliping } montering Hva er maksimum verdi X 1 kan anta? La X 2 = X 3 = 0 X 1 = MIN(600/2, 300/6, 400/5) = MIN(300, 50, 80) = 50 Maximum verdier for X 2 & X 3 kan finnes på samme måte. BØK 350 OPERASJONSANALYSE Rasmussen 39

Sammendrag av modellen MAX: - 1000 Y 1 - 800 Y 2 - 900

Sammendrag av modellen MAX: - 1000 Y 1 - 800 Y 2 - 900 Y 3 + 48 X 1 + 55 X 2 + 50 X 3 Slik at: 2 X 1 + 3 X 2 + 6 X 3 <= 600 6 X 1 + 3 X 2 + 4 X 3 <= 300 5 X 1 + 6 X 2 + 2 X 3 <= 400 X 1 <= 50 Y 1 X 2 <= 67 Y 2 X 3 <= 75 Y 3 Yi <= 1, i = 1, 2, 3 Yi >= 0, i = 1, 2, 3 Alle Yi må være heltall Xi >= 0, i = 1, 2, 3 BØK 350 OPERASJONSANALYSE } maskinering } sliping } montering kobling binær-restriksjoner } ikke-negativitet Rasmussen 40

Mulige feller Ikke bruk IF( ) funksjonen til å modellere IF( ) sammenhengen mellom

Mulige feller Ikke bruk IF( ) funksjonen til å modellere IF( ) sammenhengen mellom Xi og Yi. Anta celle A 5 representerer X 1 Anta celle A 6 representerer Y 1 Du ønsker å lage A 6 = IF(A 5>0; 1; 0) Dette vil skape store problemer for Solver! La Yi være som en hvilken som helst variabel. Gjør dem til binære beslutningsvariabler. Bruk koblingsrestriksjoner til å skape de nødvendige sammenhengene mellom Xi og Yi. BØK 350 OPERASJONSANALYSE Rasmussen 41

Implementere LP modellen En kolonne for hver variabel, en LHS (total)- og en RHS

Implementere LP modellen En kolonne for hver variabel, en LHS (total)- og en RHS -kolonne. (Kolonne C – H for variabler, I for LHS/total og K for RHS) En linje for verdier til beslutningsvariablene. (Linje 4) En linje for målfunksjonen. (Linje 5) En linje for hver restriksjon. (Linje 7 – 12) BØK 350 OPERASJONSANALYSE Rasmussen 42

Alternativ lay-out Merk at Set-Up kapasiteten er avhengig av verdien på den binære Set-Up

Alternativ lay-out Merk at Set-Up kapasiteten er avhengig av verdien på den binære Set-Up variabelen. BØK 350 OPERASJONSANALYSE Rasmussen 43

Minimum ordre størrelse Anta at Remington ikke ønsker å produsere noe av produkt 3

Minimum ordre størrelse Anta at Remington ikke ønsker å produsere noe av produkt 3 uten at det blir produsert minst 40 enheter. Vurder følgende: X 3 <= M 3 Y 3 X 3 >= 40 Y 3 BØK 350 OPERASJONSANALYSE Rasmussen 44

Kvantumsrabatter Max 350 X 1 + 300 X 2 S. T. : Dekningsbidrag 1

Kvantumsrabatter Max 350 X 1 + 300 X 2 S. T. : Dekningsbidrag 1 X 1 + 1 X 2 <= 200 Pumper 9 X 1 + 6 X 2 <= 1566 Arbeid 16 X 2 <= 2880 Rør >= 0 Og heltall 12 X 1 X 2 Kvantumsrabatter: Ved produksjon over 75 stk. X 1 oppnås rabatter slik at dekningsbidraget økes til 375$ pr. enhet. Ved produksjon over 50 stk. X 2 oppnås rabatter slik at dekningsbidraget økes til 325$ pr. enhet. BØK 350 OPERASJONSANALYSE Rasmussen 45

LP modell med rabatter Uten rabatt Med rabatt Max 350 X 1 U +

LP modell med rabatter Uten rabatt Med rabatt Max 350 X 1 U + 375 X 1 M + 300 X 2 U + 325 X 2 M S. T. : Dekningsbidrag 1 X 1 U + 1 X 1 M + 1 X 2 U + 1 X 2 M <= 200 Pumper 9 X 1 U + 9 X 1 M + 6 X 2 U + 6 X 2 M <= 1566 Arbeid 12 X 1 U + 12 X 1 M + 16 X 2 U + 16 X 2 M <= 2880 Rør I tillegg må vi ha følgende betingelser: X 1 M <= M 1 MY 1 M } kan ikke produsere med rabatt X 1 U >= 75 Y 1 M } før vi ha produsert 75 uten. X 2 M <= M 2 MY 2 M } kan ikke produsere med rabatt X 2 U >= 50 Y 2 M } før vi ha produsert 50 uten. Y 1 M, Y 2 M binærvariabler; Xij ikke-negative heltall. BØK 350 OPERASJONSANALYSE Rasmussen 46

Revidert LP modell med rabatter Max S. T. : 350 X 1 U +

Revidert LP modell med rabatter Max S. T. : 350 X 1 U + 375 X 1 M + 300 X 2 U + 325 X 2 M Dekningsbidrag 1 X 1 U + 1 X 1 M + 1 X 2 U + 1 X 2 M <= 200 Pumper 9 X 1 U + 9 X 1 M + 6 X 2 U + 6 X 2 M <= 1566 Arbeid 12 X 1 U + 12 X 1 M + 16 X 2 U + 16 X 2 M <= 2880 Rør X 1 U X 1 M -75 Y 1 M >= 0 -200 Y 1 M <= 0 -50 Y 2 M >= 0 -200 Y 2 M <= 0 >= 0 X 2 U X 2 M X 1 U X 1 M X 2 U X 2 M Y 1 M BØK 350 OPERASJONSANALYSE Y 2 M Og heltall Binærvariabler Rasmussen 47

LP modell med rabatter Restriksjonene gruppert etter type – forenkler bruk av Solver. En

LP modell med rabatter Restriksjonene gruppert etter type – forenkler bruk av Solver. En kolonne for hver variabel, en LHS (total)- og en RHS -kolonne. (Kolonne C – H for variabler, I for LHS/total og K for RHS) En linje for verdier til beslutningsvariablene. (Linje 3) En linje for målfunksjonen. (Linje 4) En linje for hver restriksjon. (Linje 5 – 11) BØK 350 OPERASJONSANALYSE Rasmussen 48

Alternativ lay-out BØK 350 OPERASJONSANALYSE Rasmussen 49

Alternativ lay-out BØK 350 OPERASJONSANALYSE Rasmussen 49

Et kontraktstildelingsproblem: Selskap 1 2 3 Behov Kostnad pr levert tonn sement Prosjekt 1

Et kontraktstildelingsproblem: Selskap 1 2 3 Behov Kostnad pr levert tonn sement Prosjekt 1 Prosjekt 2 Prosjekt 3 Prosjekt 4 $120 $115 $130 $125 $100 $150 $110 $105 $140 $95 $145 $165 450 tonn 275 tonn 300 tonn 350 tonn Kapasitet 525 tonn 450 tonn 550 tonn Selskap 1 leverer bare ordrer på minst 150 tonn. Selskap 2 kan levere ordrer på over 200 tonn bare for ett prosjekt. Selskap 3 leverer totalt bare i kvanta på 200, 400 eller 550 tonn. BØK 350 OPERASJONSANALYSE Rasmussen 50

Definere beslutningsvariablene Xij = tonn sement kjøpt fra selskap i til prosjekt j i

Definere beslutningsvariablene Xij = tonn sement kjøpt fra selskap i til prosjekt j i = 1, 2, 3; j = 1, 2, 3, 4 BØK 350 OPERASJONSANALYSE Rasmussen 51

Definere målfunksjonen Minimere totale kostnader: MIN: 120 X 11 + 115 X 12 +

Definere målfunksjonen Minimere totale kostnader: MIN: 120 X 11 + 115 X 12 + 130 X 13 + 125 X 14 + 100 X 21 + 150 X 22 + 110 X 23 + 105 X 24 + 140 X 31 + 95 X 32 + 145 X 33 + 165 X 34 BØK 350 OPERASJONSANALYSE Rasmussen 52

Definere restriksjonene Kapasitetsrestriksjoner X 11 + X 12 + X 13 + X 14

Definere restriksjonene Kapasitetsrestriksjoner X 11 + X 12 + X 13 + X 14 <= 525 X 21 + X 22 + X 23 + X 24 <= 450 X 31 + X 32 + X 33 + X 34 <= 550 } Selskap 1 } Selskap 2 } Selskap 3 Etterspørselsrestriksjoner X 11 + X 21 + X 31 = 450 X 12 + X 22 + X 32 = 275 X 13 + X 23 + X 33 = 300 X 14 + X 24 + X 34 = 350 } Prosjekt 1 } Prosjekt 2 } Prosjekt 3 } Prosjekt 4 Ikke-negativitetsrestriksjoner Xij >= 0, i = 1, 2, 3; j = 1, 2, 3, 4 BØK 350 OPERASJONSANALYSE Rasmussen 53

Definere restriksjonene (forts. ) Selskap 1 leverer bare ordrer på minst 150 tonn X

Definere restriksjonene (forts. ) Selskap 1 leverer bare ordrer på minst 150 tonn X 1 j <= 525 Y 1 j X 1 j >= 150 Y 1 j j = 1, 2, 3, 4 Selskap 2 kan levere over 200 tonn bare for ett prosjekt X 2 j <= 200 + 250 Y 2 j j = 1, 2, 3, 4 Y 21 + Y 22 + Y 23 + Y 24 <= 1 Selskap 3 leverer totalt bare 200, 400 eller 550 tonn X 31 + X 32 + X 33 + X 34 = 200 Y 31 + 400 Y 32 + 550 Y 33 Y 31 + Y 32 + Y 33 <= 1 BØK 350 OPERASJONSANALYSE Rasmussen 54

Sammendrag av modellen MIN: 120 X 11 + 115 X 12 + 130 X

Sammendrag av modellen MIN: 120 X 11 + 115 X 12 + 130 X 13 + 125 X 14 + 100 X 21 + 150 X 22 + 110 X 23 + 105 X 24 + 140 X 31 + 95 X 32 + 145 X 33 + 165 X 34 slik at: X 11 + X 12 + X 13 + X 14 <= 525 X 21 + X 22 + X 23 + X 24 <= 450 X 31 + X 32 + X 33 + X 34 <= 550 X 11 + X 21 + X 31 = 450 X 12 + X 22 + X 32 = 275 X 13 + X 23 + X 33 = 300 X 14 + X 24 + X 34 = 350 BØK 350 OPERASJONSANALYSE } Selskap 1 } Selskap 2 } Selskap 3 } Prosjekt 1 } Prosjekt 2 } Prosjekt 3 } Prosjekt 4 Rasmussen 55

Sammendrag av modellen (forts. ) X 1 j <= 525 Y 1 j j

Sammendrag av modellen (forts. ) X 1 j <= 525 Y 1 j j = 1, 2, 3, 4 X 1 j >= 150 Y 1 j j = 1, 2, 3, 4 X 2 j <= 200 + 250 Y 2 j j = 1, 2, 3, 4 Y 21 + Y 22 + Y 23 + Y 24 <= 1 X 31 + X 32 + X 33 + X 34 = 200 Y 31 + 400 Y 32 + 550 Y 33 Y 31 + Y 32 + Y 33 <= 1 Xij >= 0, i = 1, 2, 3; j = 1, 2, 3, 4 Yij =binær-variabel; i = 1, 2, 3; j = 1, 2, 3, 4 BØK 350 OPERASJONSANALYSE Rasmussen 56

Lay-out som nettverk En tabell for greinene (variablene) En tabell for nodene (restriksjonene) Tilleggsrestriksjoner

Lay-out som nettverk En tabell for greinene (variablene) En tabell for nodene (restriksjonene) Tilleggsrestriksjoner på greinene (variablene) BØK 350 OPERASJONSANALYSE Rasmussen 57

Regneark med standard LP lay-out BØK 350 OPERASJONSANALYSE Rasmussen 58

Regneark med standard LP lay-out BØK 350 OPERASJONSANALYSE Rasmussen 58

Branch-And-Bound algoritmen Opprinnelig ILP problem: Max 2 X 1 + 3 X 2 S.

Branch-And-Bound algoritmen Opprinnelig ILP problem: Max 2 X 1 + 3 X 2 S. T. : 1 X 1 + 3 X 2 <= 8, 25 2, 5 X 1 + 1 X 2 <= 8, 75 X 1 X 2 BØK 350 OPERASJONSANALYSE >= 0 Heltall Rasmussen 59

X 2 Mulighetsområdet og 1·X + 3·X ≤ 8, 25 heltallsløsninger 1 2 Optimal

X 2 Mulighetsområdet og 1·X + 3·X ≤ 8, 25 heltallsløsninger 1 2 Optimal Relaxed løsning X 1 = 2, 769, X 2=1, 826 Målfunksjon = 11, 019 2, 75 2 1 2, 5·X 1 + 1·X 2 ≤ 8, 75 0 1 BØK 350 OPERASJONSANALYSE 2 3 3, 5 8, 25 X 1 Rasmussen 60

Branch-And-Bound algoritmen Problem I: Problem II: Max 2 X 1 + 3 X 2

Branch-And-Bound algoritmen Problem I: Problem II: Max 2 X 1 + 3 X 2 S. T. : 1 X 1 + 3 X 2 <= 8, 25 2, 5 X 1 + 1 X 2 <= 8, 75 X 1 <= 2 X 1 >= 3 X 1 >= 0 X 2 X 1 X 2 BØK 350 OPERASJONSANALYSE Heltall X 2 X 1 X 2 Heltall Rasmussen 61

X 2 Løsninger av Problem I og II 1·X 1 + 3·X 2 ≤

X 2 Løsninger av Problem I og II 1·X 1 + 3·X 2 ≤ 8, 25 Problem I X 1=2, X 2=2, 083, Målfunksjon = 10, 25 2, 75 Problem II 2 1 2, 5·X 1 + 1·X 2 ≤ 8, 75 0 1 BØK 350 OPERASJONSANALYSE 2 3 3, 5 8, 25 X 1 Rasmussen 62

Branch-And-Bound algoritmen Problem III: Problem IV: Max 2 X 1 + 3 X 2

Branch-And-Bound algoritmen Problem III: Problem IV: Max 2 X 1 + 3 X 2 S. T. : 1 X 1 + 3 X 2 <= 8, 25 2, 5 X 1 + 1 X 2 <= 8, 75 X 1 X 2 BØK 350 OPERASJONSANALYSE <= 2 >= 0 Heltall Max 2 X 1 + 3 X 2 S. T. : 1 X 1 + 3 X 2 <= 8, 25 2, 5 X 1 + 1 X 2 <= 8, 75 X 1 X 2 <= 2 >= 3 >= 0 Heltall Rasmussen 63

X 2 Løsninger av Problem II og III 1·X 1 + 3·X 2 ≤

X 2 Løsninger av Problem II og III 1·X 1 + 3·X 2 ≤ 8, 25 Problem III X 1=2, X 2=2, Målfunksjon = 10 2, 75 X 1=3, X 2=1, 25, Målfunksjon = 9, 75 2 Problem II 1 2, 5·X 1 + 1·X 2 ≤ 8, 75 0 1 BØK 350 OPERASJONSANALYSE 2 3 3, 5 8, 25 X 1 Rasmussen 64

B&B Sammendrag X 1<=2 X 1=2 X 2=2, 083 Obj = 10. 25 X

B&B Sammendrag X 1<=2 X 1=2 X 2=2, 083 Obj = 10. 25 X 2<=2 X 1=2 X 2=2 Obj = 10 X 1=2, 769 X 2=1, 826 Obj = 11, 019 Opprinnelig Problem X 1>=3 Problem II Problem I X 1=3 X 2=1, 25 Obj = 9, 75 X 2>=3 Problem III BØK 350 OPERASJONSANALYSE Problem IV infeasible Rasmussen 65

Slutt på kapittel 6 BØK 350 OPERASJONSANALYSE Rasmussen 66

Slutt på kapittel 6 BØK 350 OPERASJONSANALYSE Rasmussen 66