370 likes | 542 Views
Managerial Decision Modeling. Cliff Ragsdale 6. edition. Chapter 7 Goal Programming and Multiple Objective Optimization. Introduksjon. De fleste optimeringsproblemene vi har sett på så langt har hatt kun én målsetting. Ofte kan det hende at et problem kan ha mer enn én målsetting.
E N D
ManagerialDecisionModeling Cliff Ragsdale 6. edition Chapter 7 Goal Programming and Multiple Objective Optimization BØK350 OPERASJONSANALYSE
Introduksjon • De fleste optimeringsproblemene vi har sett på så langt har hatt kun én målsetting. • Ofte kan det hende at et problem kan ha mer enn én målsetting. • Maksimere avkastning eller minimere risiko • Maksimere profitt eller minimere forurensing • Disse målsettingene er ofte i konflikt med hverandre. • I dette kapittelet skal vi vise hvordan vi kan løse slike problemstillinger. BØK350 OPERASJONSANALYSE
Målprogrammering - Goal Programming (GP) • De fleste LP problemerharhard constraints (absolutte restriksjoner) somikke kan fravikes... • Det er bare1 566 arbeidstimer tilgjengelig. • Det er $850 000 tilgjengelige investeringsmidler. • I noen tilfeller er absolutte restriksjoner for restriktive... • Ved kjøp av bil har du satt deg en maksimum pris (dette er din ”goal” eller mål -pris). • Hvis du ikke kan kjøpe bilen til denne prisen vil du sannsynligvis finne en måte å skaffe mere penger til bilen. • Vi brukersoft constraints(dvs. avviksvariabler) til å representere slike mål vi ønsker å oppnå. BØK350 OPERASJONSANALYSE
Et målprogrammeringseksempel: • Davis ønsker å utvide med 5 små, 10 medium og 15 store konferanserom. • Han ønsker også at utvidelsen skal være påtotalt 25.000 m2og ikke koste mer enn $1.000.000. BØK350 OPERASJONSANALYSE Davis McKeownønsker å utvidemøtesenteretvedsitt hotell i Myrtle Beach, South Carolina. De forskjellige møterommene som vurderes er:
Definere beslutningsvariablene X1= antall nye små konferanserom X2= antall nye medium konferanserom X3= antall nye store konferanserom BØK350 OPERASJONSANALYSE
Definere målsettingene Mål 1: Utvidelsen bør inneholde omtrent 5 små konferanserom. Mål 2: Utvidelsen bør inneholde omtrent10 medium konferanserom. Mål 3: Utvidelsen bør inneholde omtrent15 store konferanserom. Mål 4: Utvidelsen bør være på omtrent25.000 m2. Mål 5: Utvidelsen bør koste omtrent $1.000.000. BØK350 OPERASJONSANALYSE
Definere mål-restriksjonene Små rom Medium rom Store rom BØK350 OPERASJONSANALYSE
Definere mål-restriksjonene (forts) Total utvidelse: Totale kostnader (i 1000): BØK350 OPERASJONSANALYSE
Målfunksjonen i målprogrammering Det er en mengde målfunksjoner vi kan formulere til dette målprogrammerings-problemet. Minimere sum avvik: Problem: Avvikene måler forskjellige ting,så hva er det målfunksjonen representerer ? BØK350 OPERASJONSANALYSE
Målfunksjonen i målprogrammering • Minimere sum prosentvise avvik dertirepresenterermålsettingsverdien til måli • Problem: Anta at første målsetting mangler ett lite rom mens femte målsetting har $20.000til overs. • Vi får et negativt avvik for mål 1 med 1/5=20% • Vi får et positivt avvik for 5 med20.000/1.000.000= 2% • Dette betyr at å overskride budsjettet med $200.000 er like uønsket som å haett lite konferanserom for lite. • Er det slik? Bare beslutningstakeren kan svare på det. BØK350 OPERASJONSANALYSE
Målfunksjonen i målprogrammering • Vekter kan brukes i de tidligere målsettingene slik at beslutningstaker kan vektlegge: • Ønskeligekontrauønskede avvik • Den relative viktigheten av forskjellige mål • Minimere den veide sum av avvik • Minimere den veide sum av%-vise avvik BØK350 OPERASJONSANALYSE
Definere målsettingen • Anta at: • Det er uønsket å oppnå for få av de første tre rom-målsettingene. • Det er uønsket både å overgå og få for lite av 25 000 m2 utvidelses-målsettingen. • Det er uønsket å overskride $1 000 000 kostnads-målsettingen. • I utgangspunktet vil vi anta at alle vektene er lik. BØK350 OPERASJONSANALYSE
Implementere målprogrammering Kopier til nytt ark, og prøv nye vekter. BØK350 OPERASJONSANALYSE
Merknader til Målprogrammering Målprogrammering innebærer avveininger mellom målsettingene inntil den mest tilfredsstillende løsningen er funnet. Målfunksjonens verdi i målprogrammering må ikke sammenlignes med andre løsninger hvis vektene er endret. Sammenlign løsningene (beslutnings-variablene)! En vilkårlig stor vekt vil endre en soft constraint til en absolutt restriksjon. Hard constraints (absolutte restriksjoner) kan plasseres på avviksvariablene. BØK350 OPERASJONSANALYSE
MiniMax målfunksjon Kan brukes til å minimere det største avviket fra alle målsettingene. BØK350 OPERASJONSANALYSE
Sammendrag Målprogrammering Identifiser beslutningsvariablene i problemet. Finn eventuelleabsolutte restriksjoneri problemetog formuler dem på vanlig måte. Angi målsettingene sammen med målverdiene. Lag restriksjoner ved bruk av beslutningsvariablene slik at målene nøyaktig oppfylles. Transformerdisse restriksjonene til mål-restriksjoner ved å føye til avviksvariabler. Angi hvilke variabler som representerer uønskede avvik fra målsettingene. Formuler en målfunksjon som straffer uønskede avvik. Sett passende vekter for målfunksjonen. Løs problemet. Evaluer løsningen. Hvis løsningen er uakseptabel, gå tilbake til punkt 8 og revurder vektene som trengs justeres. BØK350 OPERASJONSANALYSE
Multiple Objective Linear Programming (MOLP) Et MOLP problem er et LP problem med mer enn én målfunksjon. MOLP problemerkan ses på som spesielle typerav GP problemerder vi også måfastsettemålverdier for hver målsetting. Effektiv analyse av slike problemer krever at vi også benytter MiniMaxkriteriet. BØK350 OPERASJONSANALYSE
Et MOLP eksempel: • Blackstone må produsere 48 ekstra tonnhøy-kvalitet, 28 ekstra tonn medium-kvalitet, og 100 ekstra tonnavlav-kvalitets kull i løpet av kommende år. BØK350 OPERASJONSANALYSE Blackstone Mining driver to kullgruver i Southwest Virginia. Månedlig produksjon ved ett skift av arbeidere i hver gruve :
Definere beslutningsvariablene X1 = antall månedermed et ekstra skiftvedWythe gruven kommende år X2 = antall månedermed et ekstra skiftved Giles gruven kommende år BØK350 OPERASJONSANALYSE
Definere målsettingen • Dette er de totale konsekvensene av å drive gruvene for det valgte tidsrommet (antall måneder med drift). • Vi kan ikke følge alle målsettingene samtidig.(Den billigste gruven har også størst forurensing.) BØK350 OPERASJONSANALYSE Det er tre målsettinger:
Definere restriksjonene • Behov for høykvalitets kull 12 X1 + 4 X2 >= 48 • Behov for mediumkvalitets kull 4 X1 + 4 X2 >= 28 • Behov for lavkvalitets kull 10 X1 + 20 X2 >= 100 • Ikke-negativitets-betingelsene X1, X2 >= 0 BØK350 OPERASJONSANALYSE
Håndtere multiple målsettinger Hvis vi hadde målsettingsverdier for hvert mål, kunne vi behandlet dem som følgende mål: Mål 1: Totale produksjonskostnader bør omtrent være lik t1. Mål 2: Mengden giftig vann bør være omtrent lik t2. Mål 3: Antall livstruende ulykker bør være omtrent lik t3. Vi kan løse 3 separate LP problemer, og uavhengig optimere hver målsetting, for å finne verdier for t1, t2og t3. BØK350 OPERASJONSANALYSE
Sammendrag LP modell BØK350 OPERASJONSANALYSE
Implementere modellen Minimerer først kostnadene. Kopierer arket til et nytt ark. Flytt målfunksjonen til neste målsetting. Løs den nye modellen. Kopier til nytt ark, flytt målsetting, løs den nye modellen. BØK350 OPERASJONSANALYSE
Ulike løsninger • Hent frem de optimale verdiene på målfunksjonene fra hver av de tre modellene. • Disse verdiene kan vi nå bruke som målverdier for t1, t2og t3. t1 = 244 = minimum kostnadt2 = 6950 = minimum forurensingt3 = 2 = minimum antall ulykker BØK350 OPERASJONSANALYSE
Mulighetsområdet 12 Høy: 12·X1+ 4·X2 48 X2 Medium: 4·X1 + 4·X2 28 7 5 Lav: 10·X1 + 20·X2 100 4 7 10 X1 BØK350 OPERASJONSANALYSE
Minimere kostnadene 12 Høy: 12·X1+ 4·X2 48 X2 Medium: 4·X1 + 4·X2 28 7 Min kostnad: 40·X1+ 32·X2 5 Lav: 10·X1 + 20·X2 100 4 7 10 X1 BØK350 OPERASJONSANALYSE
Minimere forurensing 12 Høy: 12·X1+ 4·X2 48 X2 Medium: 4·X1 + 4·X2 28 7 Min forurensing: 800·X1+ 1250·X2 5 Lav: 10·X1 + 20·X2 100 4 7 10 X1 BØK350 OPERASJONSANALYSE
Minimere ulykker 12 Høy: 12·X1+ 4·X2 48 X2 Medium: 4·X1 + 4·X2 28 7 5 Lav: 10·X1 + 20·X2 100 Min ulykker: 0,20·X1+ 0,45·X2 4 7 10 X1 BØK350 OPERASJONSANALYSE
Definere målene Mål 1: Totale produksjonskostnader bør være nær $244. Mål 2: Antall liter forurenset vann bør være rundt6 950. Mål 3: Antall livstruende ulykker bør være omkring 2. BØK350 OPERASJONSANALYSE
Definere målfunksjonen Vi kan minimere sum % -vis avvikpå følgende måte: Det kan vises at dette er en lineær kombinasjon av beslutningsvariablene. En slik målfunksjon vil bare gi optimale løsninger ved hjørnepunktene av mulighetsområdet (uansett hvilke vekter sombrukes). BØK350 OPERASJONSANALYSE
Definere en bedre målfunksjon Ny målfunksjon Nye restriksjoner Veide avvik må være mindre eller lik Q. Når Q minimeres blir max avvik lik Q. En slik målfunksjon vil tillate beslutningstaker å vurdere andre løsninger enn bare hjørnepunktene til mulighetsområdet. BØK350 OPERASJONSANALYSE
Implementere modellen Minimerer største %-vise avvik. BØK350 OPERASJONSANALYSE
Mulige Mini-Max løsninger 12 X2 7 w1 = 10; w2 = 1; w3 = 1; X1 =3,08; X2=3,92 5 w1 = 1; w2 = 10; w3 = 1; X1 =4,23; X2=2,88 w1 = 1; w2 = 1; w3 = 10; X1 =7,14; X2=1,43 4 7 10 X1 BØK350 OPERASJONSANALYSE
Kommentarer til MOLP Løsninger funnet ved MiniMaxmålsettingen erPareto Optimal. Avviksvariabler og/eller MiniMaxmålsettingen er nyttige også i en mengde situasjoner som ikke involverer MOLP eller GP. For minimeringsmålsettinger er prosentvis avvik:(faktisk – målverdi)/målverdi For maximeringsmålsettingerer prosentvis avvik:(målverdi - faktisk)/målverdi Hvis målverdien er null, bruk veide avvik istedenfor % avvik. BØK350 OPERASJONSANALYSE
Sammendrag av MOLP Finn beslutningsvariablene i problemet. Identifiser målsettingene i problemet og formuler dem på vanlig måte. Finn restriksjonene i problemet og formuler dem på vanlig måte. Løs problemet for hver av målsettingene i trinn 2, for å finne optimal verdi for hver målsetting. Reformuler målsettingene til målprogrammering der de optimale verdiene fra trinn 4 benyttes som målverdier. Lag en avviksvariabel som måler avviket mellom oppnådd verdi og målverdien (enten i % eller som absolutt avvik), for hver målsetting. Tildel en vektfor hvert avvik beregnet i trinn 6, og lag en restriksjon som krever at det veide avviket skal være mindre enn MINIMAX variabelen Q. Løs det nye problemet, der målsettingen er å minimere Q. Evaluer løsningen. Hvis løsningen er uakseptabel, juster vektene i trinn 7 og fortsett på trinn 8. BØK350 OPERASJONSANALYSE
Slutt på kapittel 7 BØK350 OPERASJONSANALYSE