Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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