34
Lineær optimering 27. mars 2007 Endre Bjørndal 27/3-2007 Lineær optimering - Endre Bjørndal 2 Plan for kurset Løsning av LP-problemer vha Excel Solver Flere anvendelser (eksempel 4-6) 1245-1400 Dualitet Spesialtilfeller Oppsummering 1415-1500 Pause 1400-1415 Lunch 1200-1245 Grafisk følsomhetsanalyse forts. Diettproblemet (eksempel 2) Tilordningsproblemet (eksempel 3) 1115-1200 Pause 1100-1115 Introduksjon Produktmiksproblemet (eksempel 1) Grafisk løsning og følsomhetsanalyse av LP-problemer 1000-1100

Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

Lineær optimering

27. mars 2007

Endre Bjørndal

27/3-2007 Lineær optimering - Endre Bjørndal 2

Plan for kurset

Løsning av LP-problemer vha Excel Solver

Flere anvendelser (eksempel 4-6)

1245-1400

Dualitet

Spesialtilfeller

Oppsummering

1415-1500

Pause1400-1415

Lunch1200-1245

Grafisk følsomhetsanalyse forts.

Diettproblemet (eksempel 2)

Tilordningsproblemet (eksempel 3)

1115-1200

Pause1100-1115

Introduksjon

Produktmiksproblemet (eksempel 1)

Grafisk løsning og følsomhetsanalyse av LP-problemer

1000-1100

Page 2: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 3

Introduksjon

• Hva er lineær optimering?– Optimeringsproblemer der både

målfunksjonen og sidebetingelsene består av lineære uttrykk

• Lineær programmering (LP)– Verktøy utviklet for planlegging av militære

operasjoner under 2. verdenskrig

– Program = plan for iverksetting av ulike aktiviteter

27/3-2007 Lineær optimering - Endre Bjørndal 4

Eksempler på anvendelser(LP+)

• Bestemmelse av optimal produktmiks• Utforming av kostnadseffektive dietter (oppskrifter)• Planlegging av markedsføring (valg mellom ulike

virkemidler)• Planlegging av raffinerivirksomhet• Optimal distribusjon av varer• Lokalisering av produksjons- og lagerfasiliteter• Optimal allokering av kapital mellom ulike

prosjekter/investeringsalternativer• Skjemaplanlegging av personell/utstyr (f.eks. fly- og

togselskaper)• Planlegging av militære operasjoner• Og mange flere...

Page 3: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 5

Løsningsmetoder

• Simplex-metoden– Leter blant ekstrempunktene i mulighetsområdet– George Dantzig (1947)

• Indrepunktsmetoder– Karmarkar (1984)

• Referanse– http://en.wikipedia.org/wiki/Linear_programming

27/3-2007 Lineær optimering - Endre Bjørndal 6

Programvare

– Excel Solver• www.solver.com

– AMPL• www.ampl.com

– GAMS• www.gams.com

– Og mange flere...• http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/index.html

Page 4: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 7

Litteratur

• Anderson, Sweeney & Williams (2005): An Introduction to Management Science, kap. 2-6

• Hillier & Hillier (2003): Introduction to Management Science, kap. 2-5

• Taylor (2007): Introduction to ManagementScience, kap. 2-4

• Jörnsten, Storøy & Wallace (1999): Operasjonsanalyse, kap. 5

• Ragsdale (2007): Managerial DecisionModeling, kap. 3-4

27/3-2007 Lineær optimering - Endre Bjørndal 8

Matematikk S1

• Omfang– 140 årstimer for hele S1

• Kompetansemål – lineær optimering:– Mål for opplæringen er at eleven skal kunne

• modellere praktiske optimeringsproblemer i økonomi ved hjelp av lineære likninger og ulikheter

• gjøre rede for den geometriske tolkningen av det lineære optimeringsproblemet i to variabler

• løse lineære optimeringsproblemer grafisk, ved regning og med digitale hjelpemidler

Sannsynlighet og statistikkFunksjonerAlgebraMatematikk S 2

Lineær optimering SannsynlighetFunksjonerAlgebraMatematikk S 1

HovedområderProgramfag

Page 5: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 9

Eksempel 1 -produksjonsplanlegging

• Sykkelprodusenten AS produserer to sykkelmodeller:Cross Racer

Salgspris 3500 4500Variable kostnader 2900 4000Dekningsbidrag per stk 600 500

• Produksjonen er begrenset av kapasiteten i to avdelingerTimeforbruk sveiseavdeling 2 t/stk 4 t/stkTimeforbruk lakkeringsavdeling 3 t/stk 2 t/stk

• Kapasiteten per måned er 800 timer i sveiseavdelingen og 600 timer i lakkeringsavdelingen

• Etterspørselsbegrensninger gjør at man maksimalt kan selge 160 crossykler og 180 racersykler per måned

27/3-2007 Lineær optimering - Endre Bjørndal 10

En mulig snarvei (?) til løsningen

• Problemstilling: Hvor mye skal vi produsere av de to produktene for at det totale dekningsbidraget skal bli størst mulig?

• Hva om vi velger det produktet som gir høyest bidrag per enhet knapp ressurs?

Cross RacerDB per time, sveising 300 kr/t 125 kr/tDB per time, lakkering 200 kr/t 250 kr/t

• Framgangsmåten gir mao ikke entydig svar når vi har mer enn én knapp ressurs!

Page 6: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 11

Formulering – verbal form

Gjennomgangseksemplet:• Beslutningsvariabler:

– produksjonskvanta for de to sykkeltypene

• Formulering:

Maksimer totalt dekningsbidraggitt at timeforbruk sveising ≤ 800 timer

timeforbruk lakkering ≤ 600 timerproduksjon av crossykler ≤ 160 stkproduksjon av racersykler ≤ 180 stk

27/3-2007 Lineær optimering - Endre Bjørndal 12

Formulering – matematisk form

• Beslutningsvariabler:

C = antall crossyklerR = antall racersykler

• Formulering:

Maksimer 600C + 500R

gitt at 2C + 4R ≤ 800 (sveising)3C +2R ≤ 600 (lakkering)C ≤ 160 (salg cross)

R ≤ 180 (salg racer)C ≥ 0 R ≥ 0 (ikke-negativitet)

sidebetingelser

målfunksjon

Page 7: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 13

Grafisk løsning - framgangsmåte

1. Tegn isokvanter (kapasitetslinjer) for alle sidebetingelsene

2. Marker mulighetsområdet, dvs de løsninger som oppfyller allesidebetingelsene

3. Finn det beste (hjørne)punktet i mulighetsområdet, det vil si det punktet der isoprofittlinjen tangerer mulighetsområdet

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400C

R

Isokvantlinje for sveiseavdelingen

C = 0

R = 0

2C + 4R > 800 (ikke tillatte løsninger)

2C + 4R < 800 (tillatte løsninger)

2C + 4R = 800

Page 8: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400C

R

Grafisk løsning - eksemplet

S

L

SC

SR

DB = 50000

DB = 175000

DB = ?

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400C

R

27/3-2007 Lineær optimering - Endre Bjørndal 16

Excel-rapport(Answer Report)

Page 9: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 17

Excel-rapport(Sensitivity Report)

27/3-2007 Lineær optimering - Endre Bjørndal 18

Tolkning av sensitivitetsrapporten

• Hvor følsom er den optimale løsningen for usikkerhet/unøyaktighet i data?

• Hva skjer med løsningen når vi endrer– målfunksjonskoeffisientene?

• dekningsbidrag per stk for produktene

– høyresidene i sidebetingelsene?• antall tilgjengelige timer (kapasitet) i avdelingene

• etterspørselstallene

• Endrer en parameter av gangen, holder alt annet konstant!

Page 10: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400C

R

Følsomhetsanalyse målfunksjonskoeffisienter

DBC = 1500

Helning = -3

DBC = 125

Helning = -1/4

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400C

R

(160;60)

Helning = - DBC / DBR = -1,2

-1,5

(100;150)-0,5

(40;180)

Anima-LP

27/3-2007 Lineær optimering - Endre Bjørndal 20

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400 450 500C

R

Følsomhetsanalyse høyresider(øker sveisekapasiteten med 40 timer)

(90;165)

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400 450 500C

R

S

L

SC

SR

(100;150)

Page 11: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 21

Skyggepriser

• Definisjon: skyggepris = endring i målfunksjonsverdien dersom høyresiden (kapasiteten) for en sidebetingelse økes med 1 enhet (1 time)

• Eksempel:

• Anvendelser av skyggepris– Hvor mye kan vi betale for å øke kapasiteten?– Hva koster det å bruke kapasiteten til noe annet enn produksjon

av Cross og Racer?

kr/time timer

135000 kr136500 kr

endringkapasitets

DB i endringsveising Skyggepris

53740

,=−

=

=

27/3-2007 Lineær optimering - Endre Bjørndal 22

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400 450 500C

R

Følsomhetsanalyse høyresider(øker sveisekapasiteten enda mer...)

(80;180)

+200 timer

+80 timer

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400 450 500C

R

S

L

SC

SR

(100;150)

Page 12: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 23

Slakk

• Definisjon: slakk = ubrukt kapasitet for en sidebetingelse i den optimale planen

• Eksempel 1 m/kapasitet = 200 timer– Sveiseavdelingen bruker 880 timer (80 stk * 2

timer + 180 stk * 4 timer)– Har 1000 timer tilgjengelig– Slakk = 1000 timer – 880 timer = 120 timer

• Sidebetingelser med slakk lik null kalles ofte for bindende sidebetingelser

27/3-2007 Lineær optimering - Endre Bjørndal 24

Sammenheng mellom skyggepris og slakk

• I en optimal løsning til et LP-problem kan vi ikke både ha positiv skyggepris og positiv slakk for samme ressurs!– Er ikke villig til å betale for å få mer av en ressurs som

som det ikke er knapphet på (slakk > 0)– Dersom vi er villige til å betale for å få mer av en

ressurs (skyggepris > 0), kan vi ikke samtidig ha slakk av ressursen

• Eksempel 1:Kapasitet sveising 800 t 880 t 1000 tDB kr 135 000 kr 138 000 kr 138 000Skyggepris 37,5 kr/t 37,5 kr/t 0 kr/tSlakk 0 t 0 t 120 t

Page 13: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400 450 500C

R

Følsomhetsanalyse høyresider(redusert etterspørsel etter crossykler med 30 stk)

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400 450 500C

R

S

L

SC

SR

(100;150)

27/3-2007 Lineær optimering - Endre Bjørndal 26

Sensitivivitetsrapport -beslutningsvariabler

Optimale verdier for beslutningsvariablene

(C og R)

Hvor mye måmålfunksjonskoeffisienten

(DBC, DBR) reduseres for at en ulønnsom

beslutningsvariabel (produkt) skal bli lønnsom?

Verdier for målfunksjons-koeffisientene (DBC, DBR)

Hvor mye kan målfunksjonskoeffisientene (DBC, DBR) endres før vi får en annen optimal løsning? Kan ogsåskrives som 250 ≤ DBC ≤ 750 og 400 ≤ DBR ≤ 1200.

Page 14: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

Sensitivitetsrapport -sidebetingelser

Optimale verdier for venstresider i

sidebetingelseneSkyggepriser for sidebetingelser

Verdier for høyresider (kapasiteteter) i

sidebetingelsene

Hvor mye kan høyresidene (kapasitetene) endres før skyggeprisene endres? Angir mao gyldighetsområde for

skyggeprisene!

27/3-2007 Lineær optimering - Endre Bjørndal 28

SolverTable – verktøy for utvidet følsomhetsanalyse

Kap. sveising Tot. DB Cross Racer100 30000 50 0200 60000 100 0300 90000 150 0400 106000 160 20500 118500 160 45600 127500 150 75700 131250 125 112,5800 135000 100 150900 138000 80 1801000 138000 80 180

http://www.kelley.iu.edu/albrightbooks/#Add-Ins

Page 15: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 29

Bruk av skyggepriser

• Lønnsomhetsvurdering av kapasitetsutvidelser– Kan øke kapasiteten i sveiseavdelingen til en kostnad

på kr 20 per time (utover innkalkulert lønnskostnad)

– Lønnsomt å øke med 50 timer? 100 timer?

• Lønnsomhetsvurdering knyttet til alternativ bruk av kapasiteten– Produksjon av alternativ sykkelmodell ”Klassisk”

– Gir kr 700 per stk i dekningsbidrag

– Krever 2 timer sveising og 4 timer lakkering per stk

– Lønnsomt?

27/3-2007 Lineær optimering - Endre Bjørndal 30

Utvidet LP-problem med tre produkter

• Beslutningsvariabler:

C = antall crossyklerR = antall racersyklerK = antall klassiske sykler

• Formulering:

Maksimer 600C + 500R + 700K

gitt at 2C + 4R + 2K ≤ 800 (sveising)3C +2R + 4K ≤ 600 (lakkering)

C ≥ 0 R ≥ 0 K ≥ 0 (ikke-negativitet)

Page 16: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 31

Excel-rapport for utvidet LP-problem Adjustable Cells

Final Reduced Objective Allowable AllowableCell Name Value Cost Coefficient Increase Decrease

$B$5 Produksjon Cross 100 0 600 150 50$C$5 Produksjon Racer 150 0 500 300 100$D$5 Produksjon Klassisk 0 -75 700 75 1E+30

ConstraintsFinal Shadow Constraint Allowable Allowable

Cell Name Value Price R.H. Side Increase Decrease$E$8 Sveising Venstreside 800 37,5 800 400 400$E$9 Lakkering Venstreside 600 175 600 600 200

Dekningsbidraget til ”Klassisk” måøkes med kr 75 for at denne modellen skal bli lønnsom!

Når ”Klassisk” blir lønnsom, vil den optimale produksjonsplanen

endres!

En reduksjon i dekningsbidraget for ”Klassisk” spiller ingen rolle, denne modellen er ulønnsom

uansett!

27/3-2007 Lineær optimering - Endre Bjørndal 32

Excel Solver

=SUMPRODUCT(B2:C2;$B$5:$C$5)

Page 17: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 33

Valg i Solver

Simplex-metoden for LP-problemer er raskere (og

mer pålitelig?) enn de andre metodene som brukes av Solver, så

denne bør krysses av hvis mulig!

Lav verdi gjør at Solverregner mer nøyaktig. Det

kan ta lenger tid!!

Angir hvor mange sekunder / iterasjoner

Solver vil bruke før programmet gir opp å

finne en optimal løsning.

Angir at alle beslutnings-variablene skal være ikke-

negative!

27/3-2007 Lineær optimering - Endre Bjørndal 34

Eksempel 2 – et diettproblem

• En vegetarianer vil dekke sitt vitaminbehov per uke ved å innta en viss mengde av en bestemt grønnsak og en viss mengde av en bestemt type saft

• Innhold og minimumsinntak for noen vitaminer:

• Grønnsaken koster 20 kr per kg, mens saften koster 30 kr per kg

• Hvordan ser en optimal diett ut?

0,1 g

0,1 g

0,2 g

0,15 g

0,05 g

Saft(per 100 g vare)

60 g

10 g

70 g

50 g

40 g

Minimumsinntak per uke

0,06 gVitamin E

0,1 gVitamin D

0,04 gVitamin C

0,2 gVitamin B

0,1 gVitamin A

Grønnsak(per 100 g vare)

Page 18: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 35

0

400

800

1200

1600

2000

0 400 800 1200 1600 2000G

S

Grafisk løsning – eksempel 2

AKostnad = 3000

B CD

E

(143;514)

27/3-2007 Lineær optimering - Endre Bjørndal 36

Eksempel 3 – et tilordningsproblem

• Et antall personer skal utføre et antall arbeidsoppgaver• Hver person skal utføre en oppgave• Tidsforbruk for ulike kombinasjoner av person/oppgave:

• Finn en optimal plan for utføring av alle arbeidsoppgavene!• Problemet er i utgangspunktet vanskelig, siden det finnes 10! =

3.628.800 mulige måter å tilordne personer til jobber på

1 2 3 4 5 6 7 8 9 10Anne 13 21 11 8 5 18 22 9 2 9Berit 4 20 13 11 5 18 9 3 15 13Christian 16 4 14 5 9 9 16 6 8 6Dina 13 21 19 4 12 19 13 9 3 17Erik 6 20 17 4 20 20 11 7 7 19Frank 14 18 22 3 3 11 7 13 20 17Gustav 18 8 11 15 12 6 20 3 17 11Heidi 3 5 3 2 16 4 12 17 11 13Irmelin 11 5 16 3 14 17 2 11 18 16Jon 7 9 22 16 14 17 12 2 13 7

Page 19: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 37

Matematisk formulering

∑ ∑= =J,...,B,Ai ,...,,j

ijij xt1021

Minimer

j,ix

J,...,B,Aix

,...,,jx

ij

,...,,jij

J,...,B,Aiij

alle for

for

forat gitt

0

1

10211

1021

==

==

=

=

27/3-2007 Lineær optimering - Endre Bjørndal 38

Excel-modell

Page 20: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 39

Mulige tilleggskrav i tilordningsproblemet

1) Oppgave 8 og 9 henger nært sammen. Anne og Berit kan ikke samarbeide med hverandre.

2) Dina er allergiker, og kan hverken jobbe med oppgave 3, 4 eller 5.

3) Erik og Frank er spesialister på oppgave 4, 5 og 6, og bør benyttes her.

4) Oppgave 1, 2 og 3 er relatert til hverandre. Dersom Gustav og/eller Heidi blir satt til åutføre en av disse, trenger de veiledning av Irmelin eller Jon, som i tilfelle også må jobbe med en av disse oppgavene.

27/3-2007 Lineær optimering - Endre Bjørndal 40

Eksempel 4 – et transportproblem

• En bryggeribedrift leverer til fem ulike byer (A-E)

• Produksjonen skjer i by A, C og E

Produksjons-By Etterspørsel kapasitet

(1000 stk) (1000 stk)A 10.000 7.000B 1.800C 5.500 7.000D 1.500E 2.200 7.000

Totalt 21.000 21.000

Page 21: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 41

A B C D EA 0,00 1,40 2,35 2,20 1,05B 1,40 0,00 0,95 2,00 2,45C 2,35 0,95 0,00 1,05 1,60D 2,20 2,00 1,05 0,00 1,15E 1,05 2,45 1,60 1,15 0,00

Transportkostnader mellom byene

• Kostnad per transportert enhet

27/3-2007 Lineær optimering - Endre Bjørndal 42

Mulige transportruter

• Hvor mye bør transporteres langs de ulike rutene, gitt at vi ønsker så lav total transportkostnad som mulig?

A

C

E

A

B

C

D

E

Fabrikker

Markeder

7.000

7.000

7.000

10.000

1.800

5.500

1.500

2.200

Page 22: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 43

7000

7000

7000

≤++++

≤++++

≤++++

EEEDECEBEA

CECDCCCBCA

AEADACABAA

xxxxx

xxxxx

xxxxxat gitt produksjons-kapasiteter overholdes

total transportkostnad minimeres

EDECEBEA

CECDCBCA

AEADACAB

x,x,x,x,

x,x,x,x,

x,x,x,x,C

151601452051

601051950352

051202352401

++++

++++

+++= Minimer

Transportproblemet på matematisk form

27/3-2007 Lineær optimering - Endre Bjørndal 44

etterspørsel i samtlige markeder dekkes

2200

1500

5500

1800

10000

≥++

≥++

≥++

≥++

≥++

EECEAE

EDCDAD

ECCCAC

EBCBAB

EACAAA

xxx

xxx

xxx

xxx

xxx

E,D,C,B,AjE,C,Aixij ==≥ og alle for0

Transportproblemet på matematisk form

Page 23: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 45

Excel-modell

=SUMPRODUCT(B2:F6;B11:F15)

27/3-2007 Lineær optimering - Endre Bjørndal 46

Omlastingsterminaler

• Hva om vi installerer en omlastingsterminal?

• Transportkostnader til/fra terminalen:

10,60,40,50,7Kostnad

EDCBATil/fra by:

Page 24: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 47

Nettverk med omlastingsterminal

A

C

E

A

B

C

D

E

Fabrikker

Markeder

7.000

7.000

7.000

10.000

1.800

5.500

1.500

2.200

T

27/3-2007 Lineær optimering - Endre Bjørndal 48

Eksempel 5 – valg av investeringsportefølje

• Ønsker å sette sammen porteføljen slik at total forventet avkastning blir størst mulig

• Tilleggskrav– Industriaksjer og bankaksjer må ikke utgjøre mer enn 40% til sammen– Investeringen i statsobligasjoner må utgjøre minst 50% av den samlede

investeringen i industri- og bankaksjer

30%10%12% p.a.Industriaksjer

100%15%6% p.a.Statsobligasjoner

35%20%8% p.a.Grunnfondsbevis

20%5%10% p.a.Bankaksjer

Maksimums-andel i

portefølje

Minimums-andel i

portefølje

Forventet avkastning

Verdipapir

Page 25: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 49

Matematisk formuleringMaksimer

0,12I + 0,1B +0,08G+ 0,06S

gitt at

I ≥ 0,1 (min. industri)

B ≥ 0,05 (min. bank)

G ≥ 0,2 (min. grunnfond)

S ≥ 0,15 (min. stat)

I ≤ 0,3 (maks. industri)

B ≤ 0,2 (maks. bank)

G ≤ 0,35 (maks. grunnfond)

S ≤ 1 (maks. stat)I + B + G + S = 1 (sum vekter)

I + B ≤ 0,4 (industri og bank)

-0,5I -0,5B + S ≥ 0 (stat, ind. og bank)

I ≥ 0 B ≥ 0 G ≥ 0 S ≥ 0

27/3-2007 Lineær optimering - Endre Bjørndal 50

Excel-modell

Page 26: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 51

Eksempel 6 - vaktliste

• En sykehusavdeling har følgende behov for sykepleiere:

Periode Tidsrom Behov1 0000-0600 252 0600-0800 603 0800-1200 504 1200-1600 455 1600-1800 356 1800-2000 557 2000-2400 40

27/3-2007 Lineær optimering - Endre Bjørndal 52

Eksempel 6 - vaktliste

• Følgende skiftordning skal benyttes:

• Hvordan sette opp en vaktliste som dekker behovet, samtidig som den gir lavest mulig lønnskostnad?

Skift Tidsrom Kostnad1 0200-1000 20002 0600-1400 15003 1000-1800 15004 1400-2200 15005 1800-0200 20006 2200-0600 2000

Page 27: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 53

Matematisk formulering

610

40

55

35

45

50

60

25

200020001500150015002000

654

54

43

432

321

21

651

654321

,..,ix

xxx

xx

xx

xxx

xxx

xx

xxx

xxxxxx

i =≥≥+++≥++≥++≥+++≥++≥+≥++

+++++Minimer

gitt at

61skift på ansatte antall ,...,ixi ==

27/3-2007 Lineær optimering - Endre Bjørndal 54

Excel-modell

Page 28: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 55

Primal- og dualproblemet(eksempel 1)

P) Hvordan finne en optimal produksjonsplan ved fortsatt drift (primalproblemet)?– Maksimerer totalt dekningsbidrag– Må ta hensyn til begrenset tilgang på arbeidstimer i

sveise- og lakkeringsavdelingene (ser for enkelhets skyld bort fra salgsbegrensningene)

D) Hvordan fastsette priser på ressursene ved salg av bedriften (dualproblemet)?– Kjøperen vil minimere total verdi av ressursene– Selgeren ønsker at ressursene skal ha minst like høy

verdi ved salg som ved fortsatt drift

27/3-2007 Lineær optimering - Endre Bjørndal 56

Matematisk formulering av primalproblemet - sykkeleksemplet

• Beslutningsvariabler:

C = antall crossyklerR = antall racersykler

• Formulering:

Maksimer 600C + 500R

gitt at 2C + 4R ≤ 800 (sveising)3C + 2R ≤ 600 (lakkering)

C ≥ 0 R ≥ 0 (ikke-negativitet)

Page 29: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 57

Matematisk formulering av dualproblemet - sykkeleksemplet

• Beslutningsvariabler:

US = pris per time i sveiseavdelingenUL = pris per time i lakkeringsavdelingen

• Formulering:

Minimer 800US + 600UL

gitt at 2US + 3UL ≥ 600 (crossykler)4US + 2UL ≥ 500 (racersykler)

US ≥ 0 UL ≥ 0 (ikke-negativitet)

total verdi av ressursene

verdi ved fortsatt drift (DB/stk)

verdi ved salg

27/3-2007 Lineær optimering - Endre Bjørndal 58

Grafisk løsning av dualproblemet i sykkeleksemplet

0

50

100

150

200

250

300

0 50 100 150 200 250 300US

UL

Cross

Racer

Verdi = 180000

(37,5;175)

Verdi = 135000

Skyggepriser for hhv.

sveising og lakkering!

Samme optimale verdi som i

primal-problemet!

Page 30: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 59

Generelle regler for formulering av dualproblemet

• Beslutningsvariabler og sidebetingelser– Hver beslutningsvariabel (kolonne) i dualen tilsvarer en

sidebetingelse (rekke) i primalen– Hver sidebetingelse (rekke) i dualen tilsvarer en

beslutningsvariabel (kolonne) i primalen

• Målfunksjonskoeffisienter og høyresider– Målfunksjonskoeffisientene i dualen er lik de tilsvarende

høyresidene i primalen– Høyresidene i dualen er lik de tilsvarende

målfunksjonskoeffisientene i primalen

• Når primalen er et maksimeringsproblem, gjelder følgende– For en ikke-negativ beslutningsvariabel i primalproblemet, vil den

tilsvarende sidebetingelsen i dualproblemet være av typen ”≥”– For en sidebetingelsen av typen ”≤” vil den tilsvarende

beslutningsvariabelen i dualproblemet være ikke-negativ

27/3-2007 Lineær optimering - Endre Bjørndal 60

Spesialtilfeller av LP-problemerLP-problem

Problemet har tillatt løsning

Problemet er ubegrenset

Problemet har optimal løsning

Entydigoptimum

Uendelig mange optima

Problemet har ikke tillatt løsning

Page 31: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 61

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400C

R

Ingen tillatt løsning - eksempel

• Minimumskrav til levering:C ≥ 160R ≥ 180

• Hva blir mulighets-området nå?

S

L

SC

SR

27/3-2007 Lineær optimering - Endre Bjørndal 62

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400C

R

Ubegrenset løsning - eksempel

• ”Glemmer” å ta med noen side-betingelser

• Mulighets-området blir større enn det skulle vært

S

L

SC

SR

DB = 50000

DB = 175000

Page 32: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 63

Primal og dual – generelle sammenhenger

• Hvis primalen ikke har tillatt løsning, er dualen ubegrenset

• Hvis primalen er ubegrenset, har ikke dualen tillatt løsning

• Altså har dualen en optimal løsning hvis, og bare hvis, primalen har det– I så fall vil målfunksjonsverdiene vil være like!

Maksimer x + y

gitt at x - 2y ≤ 2

-x + y ≤ 3

x, y ≥ 0

Minimer 2u + 3v

gitt at u - v ≥ 1

-2u + v ≥ 1

u, v ≥ 0

27/3-2007 Lineær optimering - Endre Bjørndal 64

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400C

R

Flere optima - eksempel

Helning =

- DBC / DBR = -1,5

S

L

SC

SR

• Endrer dekningsbidrag:– DBC = 750 (600)– DBR = 500 (500)

Page 33: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 65

Degenererte løsninger og multiple optima

• Vi sier at løsningen til et LP-problem er degenerert når– En eller flere sidebetingelser har både slakk = 0 og skyggepris = 0,

og/eller– En eller flere beslutningsvariabler har både optimal verdi = 0 og

redusert kost = 0• Dersom vi ser at løsningen er degenerert, kan det bety at det

eksisterer multiple optima, men det trenger ikke nødvendigvis være tilfelle

Adjustable CellsFinal Reduced Objective Allowable Allowable

Cell Name Value Cost Coefficient Increase Decrease$B$5 Produksjon Cross 160 0 750 1E+30 0$C$5 Produksjon Racer 60 0 500 0 500

ConstraintsFinal Shadow Constraint Allowable Allowable

Cell Name Value Price R.H. Side Increase Decrease Slakk$D$8 Sveising Venstreside 560 0 800 1E+30 240 240$D$9 Lakkering Venstreside 600 250 600 120 120 0$D$10 Salg av crossykler Venstreside 160 0 160 40 60 0$D$11 Salg av racersykler Venstreside 60 0 180 1E+30 120 120

27/3-2007 Lineær optimering - Endre Bjørndal 66

0

50

100

150

200

250

300

350

400

0 50 100 150 200 250 300 350 400C

R

Degenerert løsning - eksempel

• Endrer salgs-begrens-ningen for Racer:– R ≤ 150

• Problemet har fremdeles et unikt optimum S

L

SC

SR

Helning = - DBC / DBR

Page 34: Lineær optimering - Universitetet i Bergen · 2007-03-28 · • Lineær programmering (LP) – Verktøy utviklet for planlegging av militære operasjoner under 2. verdenskrig –

27/3-2007 Lineær optimering - Endre Bjørndal 67

SensitivitetsrapportAdjustable Cells

Final Reduced Objective Allowable AllowableCell Name Value Cost Coefficient Increase Decrease

$B$5 Produksjon Cross 100 0 600 150 350$C$5 Produksjon Racer 150 0 500 700 100

ConstraintsFinal Shadow Constraint Allowable Allowable

Cell Name Value Price R.H. Side Increase Decrease Slakk$D$8 Sveising Venstreside 800 37,5 800 0 240 0$D$9 Lakkering Venstreside 600 175 600 120 0 0$D$10 Salg av crossykler Venstreside 100 0 160 1E+30 60 60$D$11 Salg av racersykler Venstreside 150 0 150 1E+30 0 0

• Tillatt reduksjon for DBC er 350 (som før)• Sjekk verdien for tillatt reduksjon ved å ta

utgangspunkt i figuren på forrige side• Hva legger du merke til?

27/3-2007 Lineær optimering - Endre Bjørndal 68

Advarsel!

For et LP-problem med degenerert løsning gjelder følgende:

• Problemet kan ha flere optimale løsninger• Problemet kan ha flere sett med

skyggepriser• Tillatt økning/reduksjon for

målfunksjonskoeffisienter og høyresider kan være (betydelig) større enn det som oppgis i sensitivitetsrapporten