ece 556 linear programming ting-yuan wang electrical and computer engineering university of...
TRANSCRIPT
ECE 556Linear Programming
Ting-Yuan Wang
Electrical and Computer EngineeringUniversity of Wisconsin-Madison
March 4. 2002
Outline: Related Courses:
CS525 Linear Programming CS726 Nonlinear Programming Theory and
Applications CS730 Nonlinear Programming Algorithms
Jordan Exchange Linear Programming (Simplex Method)
Phase II Phase I
Jordan Exchange ( pivot operation)
,m,,ixAxAxAy niniii 21 2211
variablesdependent :
st variableindependen :
iy
xj
Consider a linear system of m equations:
mnmsm1
rnrsr1
1n1s111
ns1
A A A
A A A
A A A
x x x
m
r
y
y
y
Tableau Form
A Jordan exchange with pivot Ars is the process of interchanging the dependent variable yr and the independent variables xs.
Process:1. Solve the rth equation for xs in terms of x1,
x2, …, xs-1, yr, xs+1,…,xn. Note Ars ≠ 02. Substitute for xs in the remaining equations3. Write the new system in a new tableau form
)(
1
rjisij
rj
rs
is
ijij
rs
is
is
rs
rj
rj
rs
rs
ABA
AA
AAB
A
AB
A
AB
AB
mnmsm1
1
rnrsr1s
1
1n1s111
n1sr1-s1
B B B
B B B x
B B B
x xy x x
m
r
r
y
y
y
y
Tableau Form
The Simplex MethodA linear program (or a linear programming problem) is the problem of minimizing (or maximizing) a linear function subject to linear inequalities and linear equalities.The Simplex Method: First find a feasible vertex of the standard linear program. If none exists, the problem is infeasible. Starting at this feasible vertex, move to the adjacent vertex such that the objective function z strictly decreases. If no such adjacent vertex exists, then stop, the current vertex is a solution of the problem or the objective is unbounded.
LP standard form:
0 ,
:
'0' min,
NB
NB
BNXNXB
xx
bAx xtosubject
xxpz
Objective function
Constraints
Bounds0
x
b to: Axsubject
p'xz (Max): Min
LP canonical form:
Variables Basic },,2,1{
Variables basic-Non },,2,1{
mnnnB
nN
Tableau form
0 p
b- A A
b- A A
1
n1
mmnm1
11n111
1
pz
x
x
xx
mn
n
n
Basic variables(slack variables)
Non-basic variables
feasible:b 0
Example 1
Minimize:
Subject to:
0,
234
134
1
02
12
63
21
21
21
21
21
21
21
xx
xx
xx
xx
xx
xx
xx X1 X2 1
X3 = 1 2 1
X4 = 2 1 0
X5 = 1 -1 1
X6 = 1 -4 13
X7 = -4 1 23
Z 3 -6 0
TableauForm
Pivot Selection Rules
1. Pricing (Pivot Column s Selection ): The pivot column is any column s with a negative element in the bottom row. We choose the most negative element as pivot column, which gives the most steepest local descent in the objective function z.
2. Ratio Test (Pivot Row r Selection ): The pivot row is any row r such that
}0{min is
is
i
i
rs
r HH
h
H
h
X1 X5 1
X3 = 3 -2 3
X4 = 3 -1 1
X2 = 1 -1 1
X6 = -3 4 9
X7 = -3 -1 24
Z -3 6 -6
X6 X5 1
X3 = -1 2 12
X4 = -1 3 10
X2 = -1/3 1/3 4
X1 = -1/3 4/3 3
X7 = 1 -5 15
Z 1 2 -15
Pivot (X1,X5) Pivot (X1,X6)
Geometric Illustration
Vertex 1: N{1,2}
Vertex 3: N{5,6}
Vertex 2: N{1,5}
X1=0
X2=0
Feasible region
X7=0
X5=0
X3=0
X4=0
X6=0
Z=-6
Z=0
Phase II Procedure
1. Formulate the problem into standard form.2. Create an initial feasible tableau.3. Determine the pivot column s by pricing rule.
If none exists, then tableau is optimal.4. Determine the pivot row r by ratio test. If none
exists, then tableau is unbounded.5. Exchange XB and XN using Jordan exchange
on Hrs.6. Go to step (3).
Example 2
X1 X5 X7 X4
X2= -0.333 -0.333 0 0.333 1.333
X6= -1.667 0.333 0 0.333 1.667
X3= 0.083 0.083 -0.250 -0.167 0.417
Z= -0.750 1.25 0.250 0.500 -5.750X1 X2 X3 X4
X5= -1 -3 0 -1 4
X6= -2 -1 0 0 3
X7= 0 -1 -4 -1 3
Z= -2 -4 -1 -1 0
X1 X5 X3 X4
X2= 0.333 -0.333 0 -0.333 1.333
X6= -1.667 0.333 0 0.333 1.667
X7= 0.333 0.333 -4 -0.667 1.667
Z= -0.667 1.333 -1 0.333 -5.333
X1 X5 X7 X4
X2= 0.2 -0.4 0 0.4 1
X6= -0.6 0.2 0 0.2 1
X3= -0.05 0.1 -0.25 -0.15 0.5
Z= 0.45 1.1 0.25 0.35 -6.5
Pivot (X7,X3)
Pivot (X6,X1)
Pivot (X5,X2)
0 , :subject to
' min
xb Ax
xpz
1
1
4
2
,
3
3
4
,
1410
0012
1031
pbA
Example 3
X1 X2
X3= -1 1 2
X4= -1 -1 6
Z= 1 -1 0
Pivot (X4,X2)
0,0
6
2
:subject to
min
yx
yx
yx
yxz
X1 X4
X3= -2 -1 8
X2= -1 -1 6
Z= 2 1 -6
X2=0
X4=0
X3=0
X1=0
Vertex 1: N{1,2}
Vertex 2: N{1,4}
Z=-6
Z=0
Example 4
X1 X2
X3= 2 -1 1
X4= -1 1 1
Z= -1 -1 0
Pivot (X3,X2)
0,0
1
12
:subject to
min
yx
yx
yx
yxz
X1 X3
X2= 2 -1 1
X4= 1 -1 2
Z= -3 1 -1
X2=0
X4=0
X3=0X1=0
Vertex 2: N{1,3}
Vertex 1: N{1,2}
Unbounded !!
Z=0
Phase I Procedure
1. If b>0, introduce the artificial variable x0 ≥ 0 in all the constraints that are violated and set z0 = x0.
2. The first pivot is chosen in the x0 column and the row with worst infeasibility. Then do Jordan exchange.
3. Apply the standard simplex pivot rules until an optimal tableau is obtained. If the optimal value is positive, the original problem has no feasible point.
4. Strike out the column corresponding to x0 and the row corresponding to z0.
5. Go to Phase II.
Infeasible ??
0,
04
022
01
21
15
214
213
xx
x x
xx x
xx x
X0=0
X3=0
X1=0 X5=0
X2=0
X4=0
Infeasible vertex 1
Plane{(x1,x2,x0)|x0=0}
00
0
0
0
x
x
x
x
X0
X3=0,X0=2
X1=0,X0=2 X5=0,X0=2
X2=0,X0=2
X4=0,X0=2
feasible vertex 2 (0,0,2)
X1 X2 X0 1
X3= 1 1 1 -1
X4= 2 1 1 -2
X5= -1 0 0 4
Z0= 0 0 1 0
X1 X2 X4 1
X3= -1 0 1 1
X0= -2 -1 1 2
X5= -1 0 0 4
Z0= -2 -1 1 2
X0 X2 X4 1
X3= 0.5 0.5 0.5 0
X1= -0.5 -0.5 0.5 1
X5= 0.5 0.5 -0.5 3
Z0= 1 0 0 0
Plane{(x1,x2,x0)|x0=2}
Example 5
X1 X2 X3 X4 1
X5= -1 -3 0 -1 4
X6= -2 -1 0 0 3
X7= 0 -1 -4 -1 3
X8= 1 1 2 0 -1
X9= -1 1 4 0 -1
Z= -2 -4 -1 -1 0Pivot (X8,X0)
0 , :subject to
' min
xb Ax
xpz
1
1
4
2
,
1
1
3
3
4
,
0411
0211
1410
0012
1031
pbA
X1 X2 X3 X4 X0 1
X5= -1 -3 0 -1 0 4
X6= -2 -1 0 0 0 3
X7= 0 -1 -4 -1 0 3
X8= 1 1 2 0 1 -1
X9= -1 1 4 0 1 -1
Z= -2 -4 -1 -1 0 0
Z0= 0 0 0 0 1 0
Phase I
Add column
Add row
X1 X2 X3 X4 X8 1
X5= -1 -3 0 -1 0 4
X6= -2 -1 0 0 0 3
X7= 0 -1 -4 -1 0 3
X0= -1 -1 -2 0 1 1
X9= -2 0 2 0 1 0
Z= -2 -4 -1 -1 0 0
Z0= -1 -1 -2 0 1 1
X1 X2 X0 X4 X8 1
X5= -1 -3 0 -1 0 4
X6= -2 -1 0 0 0 3
X7= 2 1 2 -1 -2 1
X3= -0.5 -0.5 -0.5 0 0.5 0.5
X9= -3 -1 -1 0 2 1
Z= -1.5 -3.5 0.5 -1 -0.5 -0.5
Z0= 0 0 1 0 0 0
Pivot (X0,X3)X1 X2 X4 X8 1
X5= -1 -3 -1 0 4
X6= -2 -1 0 0 3
X7= 2 1 -1 -2 1
X3= -0.5 -0.5 0 0.5 0.5
X9= -3 -1 0 2 1
Z= -1.5 -3.5 -1 -0.5 -0.5
Delete row X0 & column Z0
Pivot (X3,X2)
Go to Phase II
X1 X3 X4 X8 1
X5= 2 6 -1 -3 1
X6= -1 2 0 -1 2
X7= 1 -2 -1 -1 2
X2= -1 -2 0 1 1
X9= -2 2 0 1 0
Z= 2 7 -1 -4 -4
X1 X3 X4 X5 1
X8= 0.667 2 -0.333 -0.333 0.333
X6= -1.667 0 0.333 0.333 1.667
X7= 0.333 -4 -0.667 0.333 1.667
X2= -0.333 0 -0.333 -0.333 1.333
X9= -1.333 4 -0.333 -0.333 0.333
Z= -0.667 -1 0.333 1.333 -5.333
X1 X7 X4 X5 1
X8= 0.833 -0.5 -0.667 -0.167 1.167
X6= -1.667 0 0.333 0.333 1.667
X3= 0.083 -0.25 -0.167 0.083 0.417
X2= -0.333 0 -0.333 -0.333 1.333
X9= -1 -1 -1 0 2
Z= -0.75 0.25 0.5 1.25 -5.75
X6 X7 X4 X5 1
X8= -0.5 -0.5 -0.5 0 2
X1= -0.6 0 0.2 0.2 1
X3= -0.05 -0.25 -0.15 0.1 0.5
X2= 0.2 0 -0.4 -0.4 1
X9= 0.6 -1 -1.2 -0.2 1
Z= 0.45 0.25 0.35 1.1 -6.5
Pivot (X5,X8)
Pivot (X7,X3)
Pivot (X6,X1)