24
orel¨ asning 2: Simplexmetoden 1. Repetition av geometriska simplexmetoden. 2. Linj¨ arprogrammeringsproblem p˚ a standardform. 3. Simplexalgoritmen. 4. Hur best¨ ammer man till˚ atna startbasl¨osningar ? orel¨ asning 2 1 Simplexmetoden - Ulf J¨ onsson & Per Enqvist

1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Forelasning 2: Simplexmetoden

1. Repetition av geometriska simplexmetoden.

2. Linjarprogrammeringsproblem pa standardform.

3. Simplexalgoritmen.

4. Hur bestammer man tillatna startbaslosningar ?

Forelasning 2 1 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 2: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Repetition av den geometriska Simplexmetoden

Produktplaneringsproblemet

maximera 200x1 + 400x2

da 140

x1 + 160

x2 ≤ 1

150

x1 + 150

x2 ≤ 1

xk ≥ 0, k = 1, 2

10 20 30 40 50

40

10

20

30

50

60

c

x2 = −0.5x1 + 25

x1

x2

Forelasning 2 2 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 3: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Iden bakom Simplexmetoden ar att soka iterativt utefter kanter till horn

med allt battre malfunktionsvarde.

Bestäm initialhörnpunkt

Är hörnpunkten

intilliggandehörnpunkt

KLARToptimal?

Finn bättre

Ja

Nej

Forelasning 2 3 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 4: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Sokning med den geometriska simplexmetoden

10 20 30 40 50

40

10

20

30

50

60

x1

x2

10 20 30 40 50

40

10

20

30

50

60

x1

x2

10 20 30 40 50

40

10

20

30

50

60

x1

x2

c

c

c

d1

d1

d1

d2

d2

d2

cTd2 > 0c

Td2 > 0

cTd1 < 0c

Td1 < 0c

Td1 < 0

cTd2 < 0

optimal HPvalj riktning d2 valj riktning d2

Forelasning 2 4 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 5: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Standardformen for produktplaneringsexemplet.

maximera 200x1 + 400x2

da 140

x1 + 160

x2 ≤ 1

150

x1 + 150

x2 ≤ 1

xk ≥ 0, k = 1, 2

= −minimera −200x1 − 400x2

da 140

x1 + 160

x2 + x3 = 1

150

x1 + 150

x2 + x4 = 1

xk ≥ 0, k = 1, 2, 3, 4.

Hur ar hornpunkter representerade i standardformen ?

Forelasning 2 5 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 6: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Geometrisk tolkning for LP pa standardform: 2D

x2

x1

α

x2

x1

α

β

Bivillkor: a11x1 + a12x2 = b1.

F ar ett halv-oandligt (blatt) eller andligt linjesegment (rott)

Det optimala x = (0, α), (β, 0), eller sa har problemet ingen andlig

losning.

Forelasning 2 6 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 7: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Geometrisk tolkning for LP pa standardform: 3D

x3

x2

x1

α

β

γ

Bivillkor: a11x1 + a12x2 + a13x3 = b1.

F ar skarningen av ett plan och den forsta kvadranten. (gront)

Det finns tre hornpunkter

x(1) = (α, 0, 0), x

(2) = (0, β, 0), x(3) = (0, 0, γ),

Forelasning 2 7 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 8: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Geometrisk tolkning for LP pa standardform: 3D

x3

x2

x1

α1α2

β

γ

Bivillkor: a11x1 + a12x2 + a13x3 = b1.

a21x1 + a22x2 + a23x3 = b2.

F ar skarningen av en linje och den forsta kvadranten (gron)

Det finns tva hornpunkter

x(1) = (α1, β, 0), x

(2) = (α2, 0, γ),

Notera: # nollskilda element i x(k) = # bivillkor, i dessa exempel.

Forelasning 2 8 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 9: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Produktionsplaneringsexemplet

Bivillkoret i standardform ar Ax = b dar

A =[

a1 a2 a3 a4

]

=

140

160

1 0

150

150

0 1

b =

1

1

Detta kan skrivas som

4∑

k=0

akxk = a1x1 + a2x2 + a3x3 + a4x4 = b

Om vi satter t.ex. x2 = x3 = 0 sa har vi att a1x1 + a4x4 = Aβxβ = b,

dar

Aβ =[

a1 a4

]

=

140

0

150

1

, xβ =

x1

x4

Forelasning 2 9 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 10: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Vi beraknar darefter

xβ =

x1

x4

= A−1β b =

40

15

Dessa varden pa x1 och x4, tillsammans med x2 = x3 = 0, ger en

tillaten losning, d.v.s., Ax = b, dar (x1, x2) = (40, 0).

Detta ar en hornpunkt.

Ovriga losningar motsvarande kombinationer av tva kolumner i A finns

representerade i tabellen pa nasta sida.

Forelasning 2 10 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 11: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Geometrisk illustration av baslosningarna

20 30 40 5010

(1,2)

(1,3)(3,4)

(2,3)

(2,4)60

50

40

30

20

10(1,4)

x1

x2

β Aβ xβ (x1, x2)

(3, 4)

2

4

1 0

0 1

3

5

2

4

1

1

3

5

2

4

0

0

3

5

(2, 4)

2

4

160

0

150

1

3

5

2

4

60

15

3

5

2

4

0

60

3

5

(1, 4)

2

4

140

0

150

1

3

5

2

4

40

15

3

5

2

4

40

0

3

5

(2, 3)

2

4

160

1

150

0

3

5

2

4

50

16

3

5

2

4

0

50

3

5

(1, 3)

2

4

140

1

150

0

3

5

2

4

50

14

3

5

2

4

50

0

3

5

(1, 2)

2

4

140

160

150

160

3

5

2

4

20

30

3

5

2

4

20

30

3

5

Det galler allmant att hornpunkter svarar mot sa kallade baslosningar.

Forelasning 2 11 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 12: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

LP-problem pa standardform

minimera

n∑

j=1

cjxj

da

n∑

j=1

aijxj = bi, i = 1, . . . ,m

xj ≥ 0, j = 1, . . . , n

= minimera cTx

da Ax = b

x ≥ 0

dar

A =

a11 . . . a1n

......

am1 . . . amn

=[

a1 . . . an

]

,b =

b1

...

bm

, c =

c1

...

cn

,x =

x1

...

xn

Forelasning 2 12 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 13: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Simplexalgoritmen

For given basindexvektor och icke-basindexvektor

β = (β1, . . . , βm)

ν = (ν1, . . . , νl), l = n − m

definierar vi

Aβ =[

aβ1 . . . aβm

]

, Aν =[

aν1 . . . aνl

]

,

cβ =

cβ1

...

cβm

, xβ =

xβ1

...

xβm

cν =

cν1

...

cνl

, xβ =

xν1

...

xνl

Forelasning 2 13 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 14: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Definition 1. Baslosningen svarande mot β ges av

Aβxβ = b ⇒ xβ = A−1β xβ

baslosningen ar tillaten (TBL) om xβ ≥ 0� En tillaten baslosning kallas icke-degenererad om xβ > 0� En tillaten baslosning kallas degenererad om xβk= 0 for nagot index

βk.

Forelasning 2 14 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 15: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Produktplaneringsexemplet

20 30 40 5010

(1,2)

(1,3)(3,4)

(2,3)

(2,4)60

50

40

30

20

10(1,4)

x1

x2

β Aβ xβ ν xν

(3, 4)

2

4

1 0

0 1

3

5

2

4

1

1

3

5 (1, 2) 0

(2, 4)

2

4

160

0

150

1

3

5

2

4

60

15

3

5 (1, 3) 0

(1, 4)

2

4

140

0

150

1

3

5

2

4

40

15

3

5 (2, 3) 0

(2, 3)

2

4

160

1

150

0

3

5

2

4

50

16

3

5 (1, 4) 0

(1, 3)

2

4

140

1

150

0

3

5

2

4

50

14

3

5 (2, 4) 0

(1, 2)

2

4

140

160

150

160

3

5

2

4

20

30

3

5 (3, 4) 0

Villka baslosningar ar tillatna? Jamfor med den geometriska tolkningen.

Forelasning 2 15 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 16: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Sats 1. Om det finns en optimal losning sa finns det en optimal tillaten

baslosning.

Satsen motiverar foljande simplexalgoritm

Bestäm initial

KLARToptimal?

Ja

Nej

TBL

TBL

Byt bas

De olika blocken kan implementeras med linjar algebraoperationer.

Forelasning 2 16 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 17: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Optimal lösning

Initial TBL

Obegränsat problemLösning saknas

Nej

Ja

β = β1, . . . , βm)

ν = (ν1, . . . , νl)

Berakna (y, rν , b)AT

βy = cβ

rν = cν − ATνy

Aβ b = b

rν ≥ 0

Tag νq sa att rνq < 0

Los Aβ ak = ak ; k = νq

ak ≤ 0

tmax = min

(

bi

aik

|aik > 0

)

=bp

apk

ν = νq , νq = βp, βp = ν

x = b, xν = 0

z = yTb

Forelasning 2 17 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 18: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Simplex for produktionsplaneringsexemplet

Standardformen for produktplaneringsexemplet.

minimera cTx

da Ax = b

x ≥ 0

dar

cT =

[

−200 −400 0 0]

,

A =

140

160

1 0

150

150

0 1

b =

1

1

Vi vill losa detta med simplex.

Nar man har infort slackvariabler kan man visa att om man valjer dessa

som startbasvariabler sa bildar det en TBL. (Givet att b ≥ 0)

Forelasning 2 18 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 19: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Simplex

Lat β = {3, 4} och ν = {1, 2},

Aβ =

1 0

0 1

, Aν =

1/40 1/60

1/50 1/50

cTβ =

[

0 0]

, cTν =

[

−200 −400]

Da blir baslosningen xβ = b = A−1β b =

[

1

1

]

tillaten.

Simplexmultiplikatorerna ges av ekvationen ATβ y = cβ och reducerade

kostnader ges av rTν = c

Tν − yT

Aν , d.v.s.

y =

0

0

, och rTν = [ −200 −400 ] −

[

0

0

]T [

1/40 1/60

1/50 1/50

]

=[

−200 −400]

.

Forelasning 2 19 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 20: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Simplex

Eftersom de reducerade kostnaderna ar negativa sa ar den aktuella TBL

inte optimal. rν2ar minst, sa lat xν2

= x2 bli ny basvariabel.

Vilken variabel ska ut ur basen ?

b bestams fran Aβb = b, d.v.s. b = A−1β b =

[

1

1

]

a2 bestams fran Aβa2 = a2, d.v.s. a2 = A−1β a2 =

[

1/60

1/50

]

Nu ska x2 valjas sa stor som mojligt da xβ ar icke-negativ:

xβ = b − a2x2 =

1

1

1/60

1/50

x2 ≥ 0

Det storsta mojliga vardet pa x2 ar 50, varvid xβ2 = x4 = 0.

Alltsa ska x4 ersattas av x2 i nasta baslosning.

Forelasning 2 20 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 21: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Simplex: Iteration 2

Lat β = {3, 2} och ν = {1, 4},

Aβ =

1 1/60

0 1/50

, Aν =

1/40 0

1/50 1

cTβ =

[

0 −400]

, cTν =

[

−200 0]

Da blir baslosningen xβ = b = A−1β b =

[

1 −5/6

0 50

] [

1

1

]

=[

1/6

50

]

tillaten.

Simplexmultiplikatorerna ges av ekvationen ATβ y = cβ

y = A−Tβ cβ =

1 −5/6

0 50

T

0

−400

=

0

−20000

.

Forelasning 2 21 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 22: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Simplex: Iteration 2

Reducerade kostnader ges av rTν = c

Tν − yT

Aν , d.v.s.

rTν =

[

−200 0]

0

−20000

T

1/40 0

1/50 1

=[

200 20000]

.

Eftersom de reducerade kostnaderna ar positiva sa ar den aktuella TBL

optimal.

20 30 40 5010

(1,2)

(1,3)(3,4)

(2,3)

(2,4)60

50

40

30

20

10(1,4)

x1

x2

Vi startade i origo med basvariabler (3,4) och

bytte sedan till basvariablerna (3,2), dvs punk-

ten (0,50), vilken vi geometriskt motiverade ar

optimal.

Forelasning 2 22 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 23: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Initial tillaten baslosning

Ibland kan det vara icke-trivialt att hitta en initial TBL. Da kan man losa

problemet i tva faser. Har antar vi att b ≥ 0.

Fas 1 Los LP-problemet

minimera eTv

da Ax + Iv = b

x ≥ 0, v ≥ 0

dar I ar enhetsmatrisen och e =[

1 . . . 1]T

. Lat initial TBL svara

mot variablerna i v. Om optimallosningen ar v = 0 sa har man

hittat en initial TBL till fas 2.

Fas 2 Los ursprungliga problemet pa standardform med basvariabler fran

Fas 1.

Forelasning 2 23 Simplexmetoden - Ulf Jonsson & Per Enqvist

Page 24: 1. Repetition av geometriska simplexmetoden. 2. Linj ...€¦ · Geometrisk tolkning f¨or LP p˚a standardform: 3D x 3 x 2 x 1 α 1 α 2 β γ Bivillkor: a 11x 1 +a 12x 2 +a 13x

Lasanvisningar

I Optimeringskompendiet kap. 4 och 5.

Gamla Materialet:� Linjar Optimering, Grona haftet, sidan 13-22.� Linjar Algebra for optimerare, Gula hafte, sidan 19-23.

Forelasning 2 24 Simplexmetoden - Ulf Jonsson & Per Enqvist