Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Linear programmering 17.11 - 2005. Når kan en bruke linear programmering? En ønsker å minimerer eller å maksimere et mål En kan spesifisere målet som.

Liknende presentasjoner


Presentasjon om: "Linear programmering 17.11 - 2005. Når kan en bruke linear programmering? En ønsker å minimerer eller å maksimere et mål En kan spesifisere målet som."— Utskrift av presentasjonen:

1 Linear programmering

2 Når kan en bruke linear programmering? En ønsker å minimerer eller å maksimere et mål En kan spesifisere målet som en linear funksjon av spesifikke variable En kan spesifisere de tilgjengelige ressursene som ulikeheter eller likheter på disse variablene Dersom et problem tilfredsstiller de tre punktene over kan det løses ved hjelp av linear programmering Eksempel kommer...

3 Eksempel Ola ønsker å bli president i Algdatia Det er 3 fylker i Algdatia – Sort, velgere – Flow, velgere – Path, velgere For å vinne valget må du ha mer enn 50% stemmer i hvert eneste fylke Du har 4 kjernesaker du kan reklamere for – Veibygging – Våpenkontroll – Bondegårdsferie til alle – Bensinpriser 1000 kroner til reklame for en sak vil gi deg X antall 1000 velgere mer eller mindre i hvert fylke. Se tabell 1

4 Tabell 1 Tabellen viser antall 1000 stemmer du får dersom du bruker 1000 kroner på reklame for en kjernesak Eksempel: 1000 kroner brukt på reklame for veibygging vil gi 2000 mindre stemmer i Sort mens det vil gi 5000 stemmer i flow og 3000 stemmer i Path

5 Ola ønsker å vite hvor mye han må bruke på reklamer Simpelt å bare finne et beløp som gir mer enn 50% i alle fylker – Finn et beløp som fordelt gir pluss til alle fylker – F.eks på veibygging og 1000 på bensinpriser som gir Sort +8000, Flow og Path – Bare å gange dette opp til en har nok stemmer i alle fylker Ola er gjerrig og skjønner at dette ikke gir en optimal løsning. Han vil bruke minst mulig penger. Klok som han er skjønner han at dette kan formuleres til et problem i linear programmering

6 Minimerer eller å maksimere et mål Målet er reklamepenger Ola ønsker å bruke minst mulig penger til dette. (Minimere) OK!!!

7 Målet kan spesifiseres som en linear funksjon av spesifikke variable Penger brukt på reklame for: – Veibygging = X1 – Våpenkontroll= X2 – Bondegårdsferie til alle= X3 – Bensinpriser= X4 Reklamepenger = X1 + X2 + X3 + X4 OK!!!

8 Spesifisere tilgjengelige ressurser som ulikeheter/likheter med variablene Vinne minimum 50% av stemmene i Sort: – Dvs. mer enn stemmer – Bruker tabell 1 og finner en ulikhet – Ulikhet: -2X1 + 8X2 + 0X3 + 10X4 >= Vinne minimum 50% av stemmene i Flow – Dvs. mer enn stemmer – Bruker tabell 1 og finner en ulikhet – Ulikhet: 5X1 + 2X2 + 0X3 + 0X4 >= Vinne minimum 50% av stemmene i Path – Dvs. mer enn stemmer – Bruker tabell 1 og finner en ulikhet – Ulikhet: 3X1 - 5X2 + 10X3 + -2X4 >= Kan ikke bruke et negativt antall kroner på reklame – Ulikehetene: X1, X2, X3, X4 >=0

9 Kan nå sette opp et lineart program Minimer X1 + X2 + X3 +X4 Med begrensningene: – -2X1 + 8X2 + 0X3 + 10X4 >= – 5X1 + 2X2 + 0X3 + 0X4 >= – 3X1 - 5X2 + 10X3 + -2X4 >= – X1, X2, X3, X4 >=0 Løsningen her vil gi mer enn 50% stemmer i hvert fylke samt minst mulig penger brukt til reklame

10 Hva er det man egentlig løser? Enkelt eksempel kun 2 variable – Maksimer X1 + X2 Begrenset av: – Ulikhet: 4X1 – X2 <= 8 – Ulikhet: 2X1 + X2 <= 10 – Ulikhet: 5X1 – 2X2 >= -2 – Ulikhet: X1, X2 >= 0 Området ulikhetene avgrenser er gult på figuren på neste side Alle muligheter for X1 + X2 som ligger inne i dette området kalles ”feasible solutions”. Det er inne i det området en må maksimere X1 +X2

11 2 dimensjoner i koordinatsystem

12 Standardform 1. Må være et maksimeringsproblem 2. Alle ulikhetene må være på formen: aX1 + bX2.... <= C (dvs. linear ligning mindre eller like en konstant) 3. X1, X2,... >= 0 for alle variabler

13 Konvertering til standardform 4 ting som kan gjøre at en ikke er på standardfrom 1. Kan ha et minimerings problem 2. Kan finnes variabler som ikke er nedre begrenset av 0 3. Kan ha likeheter i stedet for ulikheter 4. Kan ha større-lik ulikheter

14 Minimering -> Maksimering Veldig enkelt bare endre fortegn på målet Minimer: X1 + X2 + X3 + X4    Maksimer: -X1 - X2 - X3 - X4

15 Lage nedre begrensning 0 på en variabel som ikke har det Anta at X ikke er nedre begrenset Sett X = Y - Z Legg til Y, Z >= 0

16 Gjøre =  <= Anta X1 – 4X2 = 5 Bytter ut med: – X1 – 4X2 <=5 – X1 – 4X2 >=5 Disse 2 sammen betyr X1 – 4X2 = 5

17 Gjøre >=  <= Anta X1 – 4X2 >= 5 Gange over hele med (-1) -X1 + 4X2 <= -5 NB: >=  <= når en ganger med (-1) på begge sider

18 Slack form, del1 Ny variabel s, et mål på differansen mellom høyre og venstre side av ulikheten Har: 5X1 + 2X2 <= <= X1 - 2X Gir med slack: s = X1 - 2X s >= 0

19 Slack form, del2 Kokebokoppskrift fra standard  slack form 1. Sett målet like z eks. z = X1+ 3X2 2. Gjør om ulikhetene til å inneholde en slack 5X1 + 30X2 <= 100  s1 = X1 - 2X og 17X1 - X2 <= 10  s2 = X1 + X2

20 Kort om simplex Løser lineare programmer på slack form Worst case er exponentiel kjøretide: a^N Ofte mye raskere i praksis God hjelp når du skal lære den: er/RealWorld/simplex.html er/RealWorld/simplex.html Sidene har mange gode forklaringer på lineare programmer samt simplex

21 Eksempler på problemer som kan løses ved lineare programmer Korteste vei – Bedre med egne teknikker Maks flyt – Bedre med egne teknikker Sirkulasjonsproblemer – Best ved hjelp av lineare programmer Aller mest vanlig er eksempler som det første jeg viste


Laste ned ppt "Linear programmering 17.11 - 2005. Når kan en bruke linear programmering? En ønsker å minimerer eller å maksimere et mål En kan spesifisere målet som."

Liknende presentasjoner


Annonser fra Google