1 / 66

Managerial Decision Modeling

Managerial Decision Modeling. A Practical Introduction to Management Science , 5ed by Cliff Ragsdale. Chapter 6. Integer Programming. Introduksjon. Når en eller flere variabler i et LP problem må anta heltallsverdier har vi et Heltallsproblem, Integer Linear Programming (ILP) problem.

kalei
Télécharger la présentation

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. Managerial Decision Modeling A Practical Introduction to Management Science , 5ed by Cliff Ragsdale

  2. Chapter 6 Integer Programming LOG350 Operasjonsanalyse

  3. 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. LOG350 Operasjonsanalyse

  4. Heltallsrestriksjoner MAX:350X1 + 300X2} dekningsbidrag S.T.: 1X1 + 1X2 <= 200} pumper 9X1 + 6X2 <= 1566 } arbeid 12X1 + 16X2 <= 2880} rør X1, X2>= 0} ikke-negativitet X1, X2må være heltall} heltallsrestriksjon Heltallsbetingelser er enkle å angi, men problemet blir ofte mye vanskeligere (og noen ganger umulig) å løse. LOG350 Operasjonsanalyse

  5. Forenkling • Opprinnelig ILP MAX: 2X1 + 3X2 S.T.: X1 + 3X2 <= 8.25 2.5X1 + X2 <= 8.75 X1, X2 >= 0 X1, X2må være heltall • LP forenkling MAX: 2X1 + 3X2 S.T.: X1 + 3X2 <= 8.25 2.5X1 + X2 <= 8.75 X1, X2 >= 0 Vi ser bort fra heltallsbetingelsene LOG350 Operasjonsanalyse

  6. X2 Mulige heltallsløsninger 3 2 1 0 X1 0 1 2 3 4 Mulige heltallsløsninger og Mulighetsområdet til LP problemet LOG350 Operasjonsanalyse

  7. 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 ? LOG350 Operasjonsanalyse

  8. LP problem med desimalløsning LOG350 Operasjonsanalyse

  9. Grenser • Den optimale løsningen til et LP-forenklet heltallsproblem gir oss en grense for den optimale verdien på målfunksjonen. • For maksimeringsproblemer 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. LOG350 Operasjonsanalyse

  10. 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. LOG350 Operasjonsanalyse

  11. Hvordan avrunding nedoverkan 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 LOG350 Operasjonsanalyse

  12. 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). LOG350 Operasjonsanalyse

  13. 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 en 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. LOG350 Operasjonsanalyse

  14. Bruk av Solver på heltall • Angi heltall som en restriksjon på de aktuelle beslutningsvariablene : LOG350 Operasjonsanalyse

  15. Angi toleranse i Solver • Velg Options og Integer Options : LOG350 Operasjonsanalyse

  16. Heltallsløsning fra Solver • Når Solver har løst et heltallsproblem får vi følgende beskjed : LOG350 Operasjonsanalyse

  17. Bruk av Solver på heltall • Angi heltall som en restriksjon på de aktuelle beslutningsvariablene : • Bare beslutningsvariabler kan ha heltallskrav. LOG350 Operasjonsanalyse

  18. Angi toleranse i Solver • Under Engine tab i Task Pane, Integer Tolerance. • I den nye Solver (V9 osv.) er standard Integer Tolerance = 0 • Forbedret B&B algoritmer (strong branching) gjør at Solver raskere finner gode heltallsløsninger. LOG350 Operasjonsanalyse

  19. Er heltallsløsningen optimal ? LOG350 Operasjonsanalyse

  20. Hvordan få optimal heltallsløsning • Da må vi sette Tolerance til 0%: Sett denne verdien til 0 hvis du vil finne den globale optimale løsningen. (Men det kan ta lang tid) LOG350 Operasjonsanalyse

  21. Optimal heltallsløsning LOG350 Operasjonsanalyse

  22. Et skiftplanleggingsproblem:Air-Express 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). LOG350 Operasjonsanalyse

  23. 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 skift 7 LOG350 Operasjonsanalyse

  24. Definer målfunksjonen Minimer totale lønnskostnader: MIN: 680X1 +705X2 +705X3 +705X4 +705X5 +680X6 +655X7 LOG350 Operasjonsanalyse

  25. 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 LOG350 Operasjonsanalyse

  26. Standard LP i regneark LOG350 Operasjonsanalyse

  27. Alternativ layout LOG350 Operasjonsanalyse

  28. 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. LOG350 Operasjonsanalyse

  29. Et kapitalbudsjetteringsproblem:CRT Technologies Forventet NPV Prosjekt (i $000) År 1 År 2 År 3 År 4 År 5 1 $141 $75 $25 $20 $15 $10 2 $187 $90 $35 $0 $0 $30 3 $121 $60 $15 $15 $15 $15 4 $83 $30 $20 $10 $5 $5 5 $265 $100 $25 $20 $20 $20 6 $127 $50 $20 $10 $30 $40 Kapital (i $000) som trengs i • Selskapet har for øyeblikket $250,000 disponibelt til å investere i nye prosjekter. Det har budsjettert $75,000 til fornyet dekning til disse prosjektene i år 2, og $50,000 per år for årene 3, 4, og 5. LOG350 Operasjonsanalyse

  30. Definere beslutningsvariablene Vi kan altså investere i prosjektene 1 – 6, men bare i hele prosjekter. Og vi kan ikke investere i mer enn ett prosjekt av samme type, dvs. prosjektene kan ikke dupliseres. LOG350 Operasjonsanalyse

  31. Definere målfunksjonen • Maksimer total netto nåverdi av de valgte prosjektene. MAX: 141X1 + 187X2 + 121X3 + 83X4 + 265X5 + 127X6 LOG350 Operasjonsanalyse

  32. 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 LOG350 Operasjonsanalyse

  33. Programvaretips • Solver i Excel 8.0 (Office 97) har en “bin” mulighet forangivelse av binære variabler. • Du slipper da å benytte de restriksjonene som var angitt på forrige slide vedrørende binære variabler. LOG350 Operasjonsanalyse

  34. Implementere Modellen LOG350 Operasjonsanalyse

  35. Binære Variabler & LogiskeBetingelser • 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 – X5 <= 0 eller • X4 <= X5 LOG350 Operasjonsanalyse

  36. 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. LOG350 Operasjonsanalyse

  37. Eksempel med faste kostnader :Remington Manufacturing Timer som trengs for: Operasjon Prod. 1 Prod. 2 Prod. 3 Timer tilgjengelig Maskinering 2 3 6 600 Sliping 6 3 4 300 Montering 5 6 2 400 DB pr. Stk. $48 $55 $50 Klargjøringskost $1000 $800 $900 LOG350 Operasjonsanalyse

  38. Definere beslutningsvariablene Yi angir om vi har klargjort til produksjon av produkt Xi : Yi = binærvariabel Xi = kvantum av produktisom skal produseres, i = 1, 2, 3 LOG350 Operasjonsanalyse

  39. Definere målfunksjonen • Maksimere total fortjeneste. MAX: – 1000Y1 – 800Y2 – 900Y3 + 48X1 + 55X2 + 50X3 LOG350 Operasjonsanalyse

  40. Definere restriksjonene • 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 • Er det noe som mangler ? LOG350 Operasjonsanalyse

  41. 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 • HvisYi = 0så vil disse restriksjonene tvingeXitil å bli lik0. • HvisYi = 1så tillater disse restriksjoneneXiå være0 eller større.Men hvis Xi = 0vil målsettingen da medføre at også Yisettes til 0, for å spare kostnader. • Merk atMiangir en øvre grense forXi. • Vi må velge en tilstrekkelig stor men ikke for stor verdi tilMi. LOG350 Operasjonsanalyse

  42. 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 verdiX1kan anta? LaX2 = 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. LOG350 Operasjonsanalyse

  43. 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 } } LOG350 Operasjonsanalyse

  44. Mulige feller • Ikke bruk 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. LOG350 Operasjonsanalyse

  45. Implementere modellen LOG350 Operasjonsanalyse

  46. 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: X3 <= M3Y3 X3 >= 40 Y3 LOG350 Operasjonsanalyse

  47. Kvantumsrabatter • MAX: 350X1 + 300X2 } dekningsbidrag • S.T.: 1X1 + 1X2 <= 200 } pumper • 9X1 + 6X2 <= 1520 } arbeid • 12X1 + 16X2 <= 2650 } rør • X1, X2 >= 0 } ikke-negativitet • Kvantumsrabatter: • Ved produksjon over 75 X1 oppnås rabatter slik at dekningsbidraget økes til 375$ pr. enhet. • Ved produksjon over 50 X2 oppnås rabatter slik at dekningsbidraget økes til 325$ pr. enhet. LOG350 Operasjonsanalyse

  48. Revidert modell MAX: 350X11 + 300X21 +} kvanta uten rabatt 375X12 + 325X22 } kvanta med rabatt S.T.: 1X11 + 1X21 + 1X12 + 1X22 <= 200 } pumper 9X11 + 6X21 + 9X12 + 6X22 <= 1560 } arbeid 12X11 + 16X21 + 12X12 + 16X22 <= 2650 } rør X12 <= M12Y1 } kan ikke produsere med rabatt X11 >= 75Y1 } før vi ha produsert 75 uten. X22 <= M22Y2 } kan ikke produsere med rabatt X21 >= 50Y2 } før vi ha produsert 50 uten. Y1, Y2 binærvariabler; Xijikke-negative heltall. LOG350 Operasjonsanalyse

  49. Standard LP modell LOG350 Operasjonsanalyse

  50. Alternativ lay-out LOG350 Operasjonsanalyse

More Related