1 / 66

Managerial Decision Modeling

Managerial Decision Modeling. Cliff Ragsdale 6. edition. Chapter 6 Integer Linear Programming. 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:

kevlyn
Download Presentation

Managerial Decision Modeling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ManagerialDecisionModeling Cliff Ragsdale 6. edition Chapter 6 Integer Linear Programming BØK350 OPERASJONSANALYSE

  2. Introduksjon • Når en eller flere variabler i et LP problem må anta heltallsverdier har vi et heltallsproblem, IntegerLinear 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ØK350 OPERASJONSANALYSE

  3. Heltallsrestriksjoner • Heltallsbetingelser er enkle å angi, men problemet blir ofte mye vanskeligere (og noen ganger umulig) å løse. BØK350 OPERASJONSANALYSE

  4. Forenkling • I forenklingen ser en ganske enkelt bort fra heltallsbetingelsene. BØK350 OPERASJONSANALYSE

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

  6. 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ØK350 OPERASJONSANALYSE

  7. LP problem med desimalløsning BØK350 OPERASJONSANALYSE

  8. 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 målfunksjonen en øvre grense for den optimale heltallsløsningen. For minimeringsproblemer er den optimale forenklede målfunksjonen en nedre grense for den optimale heltallsløsningen. BØK350 OPERASJONSANALYSE

  9. 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ØK350 OPERASJONSANALYSE

  10. Hvordan avrunding nedover kan skape en umulig løsning X2 3 2 Optimal forenklet løsning Ikke mulig løsning som resultat av å runde av nedover 1 0 X1 0 1 2 3 4 BØK350 OPERASJONSANALYSE

  11. Branch-and-Bound Branch-and-Bound (B&B) algoritmenkan 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 enormtmye regnekraft (og tid). BØK350 OPERASJONSANALYSE

  12. Stoppe - regler • Fordi B&B tar så lang tid, tillater de fleste ILP pakker å angiensuboptimalitets toleranse faktor. • Den lar deg stoppe straks en heltallsløsning er funnet som er innenfor en gitt % av den globale optimaleløsningen. • Grenseroppnåddfra LP-forenklingen er her nyttige. • F.eks. • LP forenklingenhar optimal verdi på målfunksjonen lik $64.306. • 95% av $64.306 er $61.090. • En heltallsløsning med verdi på målfunksjonenlik $61.090 eller mer må derfor ligge innenfor 5% av denoptimale løsningen. BØK350 OPERASJONSANALYSE

  13. Bruk av Solver på heltall • Barebeslutningsvariabler kan ha heltallskrav. BØK350 OPERASJONSANALYSE Angi heltall som en restriksjon på de aktuelle beslutningsvariablene:

  14. IntegerTolerance Under Engine tab i TaskPane, IntegerTolerance. I den nye Solver (V9 osv.) er standard IntegerTolerance = 0 Forbedret B&B algoritmer (strongbranching) gjør at Solver raskere finner gode heltallsløsninger. BØK350 OPERASJONSANALYSE

  15. Angi toleranse i Solver Hvis IntegerTolerance > 0, så er det ikke sikkert at optimal løsning er funnet: BØK350 OPERASJONSANALYSE

  16. Optimal heltallsløsning BØK350 OPERASJONSANALYSE

  17. Et skiftplanleggingsproblem: 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ØK350 OPERASJONSANALYSE

  18. Definer beslutningsvariablene X1 = antall arbeidere tildelt skift 1 X2 = antall arbeidere tildelt skift 2 X3 = antall arbeidere tildelt skift 3 X4 = antall arbeidere tildelt skift 4 X5 = antall arbeidere tildelt skift 5 X6 = antall arbeidere tildelt skift 6 X7 = antall arbeidere tildelt skift7 BØK350 OPERASJONSANALYSE

  19. Definer målfunksjonen Lønnener $131 pr. dag, med tillegg $25 pr. dag for helg(lørdagogsøndag). De som jobber 5 ukedagerharukelønn 1315 = 655 De som i tillegg jobber en helgedaghar 655 + 25 = 680 De som jobber to helgedagerhar 655 + 252 = 705. Minimer totale lønnskostnader: MIN: 680X1 +705X2 +705X3 +705X4 +705X5 +680X6 +655X7 BØK350 OPERASJONSANALYSE

  20. Definere restriksjonene • Behov for arbeidere hver ukedag: 0X1 + 0X2 + 1X3 + 1X4 + 1X5 + 1X6 + 1X7 >= 27 } Mandag 1X1 + 0X2 + 0X3 + 1X4 + 1X5 + 1X6 + 1X7 >= 22 } Tirsdag 1X1 + 1X2 + 0X3 + 0X4 + 1X5 + 1X6 + 1X7 >= 26 } Onsdag 1X1 + 1X2 + 1X3 + 0X4 + 0X5 + 1X6 + 1X7 >= 25 } Torsdag 1X1 + 1X2 + 1X3 + 1X4 + 0X5 + 0X6 + 1X7 >= 21 } Fredag 1X1 + 1X2 + 1X3 + 1X4 + 1X5 + 0X6 + 0X7 >= 19 } Lørdag 0X1 + 1X2 + 1X3 + 1X4 + 1X5 + 1X6 + 0X7 >= 18 } Søndag • Ikke-negativitets-betingelsene: Xi >= 0 for allei BØK350 OPERASJONSANALYSE

  21. 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ØK350 OPERASJONSANALYSE

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

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

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

  25. Et kapitalbudsjetteringsproblem: • 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ØK350 OPERASJONSANALYSE

  26. 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ØK350 OPERASJONSANALYSE

  27. Definere målfunksjonen Maksimer total netto nåverdi av de valgte prosjektene. MAX: 141X1 + 187X2 + 121X3 + 83X4 + 265X5 + 127X6 Merk at de prosjektene som ikke velges «nulles» ut. BØK350 OPERASJONSANALYSE

  28. Definere restriksjonene • Kapitalrestriksjoner 75X1 + 90X2 + 60X3 + 30X4 + 100X5 + 50X6<= 250 } år 1 25X1+ 35X2 + 15X3 + 20X4 + 25X5 + 20X6 <= 75 } år 2 20X1+ 0X2 + 15X3 + 10X4 + 20X5 + 10X6 <= 50 } år 3 15X1+0X2 + 15X3 + 5X4 + 20X5 + 30X6 <= 50 } år 4 10X1+ 30X2 + 15X3 + 5X4 + 20X5 + 40X6 <= 50 } år 5 • Binærrestriksjoner Xi <= 1, i = 1, 2, ..., 6 Xi >= 0, i = 1, 2, ..., 6 Alle Ximå være heltall BØK350 OPERASJONSANALYSE

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

  30. 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ØK350 OPERASJONSANALYSE

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

  32. 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: • X1 + X3 + X6 <= 1 • Av prosjektene 1, 3 & 6, må nøyaktig ett velges: • X1 + X3 + X6 = 1 • Prosjekt 4 kan ikke velges med mindre også prosjekt5 velges: • X4 <= X5eller X4– X5 <= 0 BØK350 OPERASJONSANALYSE

  33. Faste kostnader • Mange beslutninger medfører at faste kostnader endres: • 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ØK350 OPERASJONSANALYSE

  34. Eksempel med faste kostnader : • 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ØK350 OPERASJONSANALYSE

  35. Definere beslutningsvariablene Yiangir 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ØK350 OPERASJONSANALYSE

  36. Definere målfunksjonen Maksimere total fortjeneste: MAX: – 1000Y1 – 800Y2 – 900Y3 + 48X1 + 55X2 + 50X3 FasteklargjøringskostnaderoppstårnårbinærvariableneYi = 1. BØK350 OPERASJONSANALYSE

  37. Definere restriksjonene Er det noe som mangler? BØK350 OPERASJONSANALYSE • Ressursrestriksjoner 2X1 + 3X2 + 6X3 <= 600 } maskinering 6X1 + 3X2 + 4X3 <= 300 } sliping 5X1 + 6X2 + 2X3 <= 400 } montering • Binær-restriksjoner Yi <= 1, i = 1, 2, 3 Yi >= 0, i = 1, 2, 3 Alle Yimå være heltall • Ikke-negativitetsrestriksjoner Xi >= 0, i = 1, 2, 3

  38. Definere restriksjonene (forts.) • Koble restriksjonene(med “Big M”) X1 <= M1Y1eller X1 - M1Y1 <= 0 X2 <= M2Y2 eller X2 - M2Y2 <= 0 X3 <= M3Y3 eller X3 - M3Y3 <= 0 • Hvis Yi = 0 så vil disse restriksjonene tvinge Xitil å bli lik 0. • Hvis Yi = 1 så tillater disse restriksjonene Xiå være 0 ellerstørre. Men hvis Xi = 0 vil målsettingen da medføre at også Yisettes til 0, for å spare kostnader. • Merk atMiangir en øvre grense for Xi. • Vi må velge en tilstrekkelig stor men ikke for stor verdi til Mi. BØK350 OPERASJONSANALYSE

  39. Finne rimelige verdier for M1 • Betrakt ressursrestriksjonene 2X1 + 3X2 + 6X3 <= 600 } maskinering 6X1 + 3X2 + 4X3 <= 300 } sliping 5X1 + 6X2 + 2X3 <= 400 } montering • Hva er maksimum verdi X1kan anta? La X2 = X3 = 0 X1 = MIN(600/2, 300/6, 400/5) = MIN(300, 50, 80) = 50 • Maximum verdier for X2 & X3kan finnes på samme måte. BØK350 OPERASJONSANALYSE

  40. Sammendrag av modellen MAX: - 1000Y1 - 800Y2 - 900Y3 + 48X1 + 55X2 + 50X3 Slik at: 2X1 + 3X2 + 6X3 <= 600 } maskinering 6X1 + 3X2 + 4X3 <= 300 } sliping 5X1 + 6X2 + 2X3 <= 400 } montering X1 <= 50Y1 X2 <= 67Y2kobling X3 <= 75Y3 Yi <= 1, i = 1, 2, 3 Yi >= 0, i = 1, 2, 3 binær-restriksjoner Alle Yimå være heltall Xi >= 0, i = 1, 2, 3 } ikke-negativitet BØK350 OPERASJONSANALYSE

  41. Mulige feller • Ikkebruk IF( ) funksjonen til å modellere sammenhengen mellom Xi og Yi. • Anta celle A5 representerer X1 • Anta celle A6 representerer Y1 • Du ønsker å lage A6 = IF(A5>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ØK350 OPERASJONSANALYSE

  42. 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ØK350 OPERASJONSANALYSE

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

  44. Minimum ordre størrelse Anta at Remington ikkeønsker å produserenoeavprodukt 3 uten at detblirprodusertminst 40 enheter. Vurderfølgende: X3 <= M3Y3 X3 >= 40 Y3 BØK350 OPERASJONSANALYSE

  45. Kvantumsrabatter • Kvantumsrabatter: • Ved produksjon over 75 stk. X1oppnås rabatter slik at dekningsbidraget økes til 375$ pr. enhet. • Ved produksjon over 50 stk. X2oppnås rabatter slik at dekningsbidraget økes til 325$ pr. enhet. BØK350 OPERASJONSANALYSE

  46. LP modell med rabatter Uten rabatt Med rabatt BØK350 OPERASJONSANALYSE I tilleggmå vi ha følgendebetingelser: X1M<= M1MY1M} kan ikke produsere med rabatt X1U>= 75Y1M } før vi ha produsert 75 uten. X2M<= M2MY2M} kan ikke produsere med rabatt X2U>= 50Y2M } før vi ha produsert 50 uten. Y1M, Y2M binærvariabler; Xijikke-negative heltall.

  47. Revidert LP modell med rabatter BØK350 OPERASJONSANALYSE

  48. 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ØK350 OPERASJONSANALYSE

  49. Alternativ lay-out BØK350 OPERASJONSANALYSE

  50. Et kontraktstildelingsproblem: • 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ØK350 OPERASJONSANALYSE

More Related