INDR 262 Optimization Models and Mathematical Programming

INDR 262 Optimization Models and Mathematical Programming
DUAL SIMPLEX METHOD
In dual simplex method, the LP starts with an optimum (or better) objective function
value which is infeasible. Iterations are designed to move toward feasibility without violating
optimality. At the iteration when feasibility is restored, the algorithm ends.
In order to maintain optimality and move toward feasibility at each iteration, the
following two conditions are employed.
Dual Feasibility: The leaving variable xr′ is the basic variable having the most negative value.
If all the basic variables are nonnegative, the algorithm ends.
Dual Optimality: The entering variable is determined from among the nonbasic variables as
the one corresponding to
⎧⎪ z − c
⎫⎪
j
min ⎨ j
,α rj < 0⎬
xj
⎪⎩ α rj
⎪⎭
where αrj is the constraint coefficient of the tableau associated with the row of leaving
variable xr and the column of the entering variable xj.
Example:
Primal:max
s.t.
3x1+6x2+3x3
Dual: min
3x1+4x2+x3 ≤ 3
s.t.
x1+3x2+x3 ≤ 2
min
3y1+2y2
3y1+ y2 ≥ 3
4y1+3y2 ≥ 6
x1, x2 ≥ 0
y1+ y2 ≤ 3
x3 ≤ 0
y1, y2 ≥ 0
W
W-3y1-2y2
=0
3y1+ y2 – y3
4y1+3y2
y1+y2
=3
- y4
=6
+ y5 = 3
y1, y2, y3, y4, y5 ≥ 0
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
1
Metin Turkay
INDR 262 Optimization Models and Mathematical Programming
Initial Dual Simplex Tableau:
y1
y2
y3
y4
y5
RHS
-3
-2
0
0
0
0
y3
-3
-1
1
0
0
-3
y4
-4
-3
0
1
0
-6
y5
1
1
0
0
1
3
Variable
y1
y2
y3
y4
y5
row 0 (zj-cj)
-3
-2
0
0
0
row 2 (α4j)
-4
-3
0
1
0
3/4
2/3
-
-
-
ratio
z j −c j
α4 j
Leaving variable
Entering variable
Iteration 1)
y1
y2
y3
y4
y5
RHS
-1/3
0
0
-2/3
0
4
y3
-5/3
0
1
-1/3
0
-1
y2
4/3
1
0
-1/3
0
2
y5
-1/3
0
0
1/3
1
1
Ratio
1/5
-
-
2
-
y1
y2
y3
y4
y5
RHS
0
0
-1/5
-3/5
0
21/5
y1
1
0
-3/5
1/5
0
3/5
y2
0
1
4/5
-3/5
0
6/5
y5
0
0
-1/5
2/5
1
6/5
Leaving variable
Iteration 2)
=> x1 = 1/5, x2 = 3/5
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
2
Metin Turkay
INDR 262 Optimization Models and Mathematical Programming
The Simplex Method with Bounds
It is common in linear programming problems to have bounds on some of the variables.
These bounds can be either lower bounds, upper bounds or both. A variable with bounds is
represented as follows:
x Lj ≤ x j ≤ xUj
It is possible to treat these bounds as constraints and obtain standard notation by defining
slack, ecxess and artificial varaibles before applying the traditional simplex method.
However, this approach is not very efficient since it would lead to a dramatic increase in the
total number of variables and constraints. Therefeore, it is necessary to modeify the simplex
algorithm to handle the bounds on variables more effectively.
Lower Bounds:
The lower bounds can be handled with a minor modification in the model by change of
variables.
since x j ≥ x Lj , replace x j by xʹj = x j + x Lj ≥ 0
Therefore, the simplex method can directly be applied to the linear programming problem
without any modification after this new definition.
Upper Bounds:
The upper bounds can be replaced by,
x j + y j = xUj
when xj=0, then y j = xUj . Here, yj is referred to as the complementary variable. At any point
in the iterations of the simplex method, it os possible to,
1. use xj when 0 ≤ x j ≤ xUj or
2.
replace xj by xUj − y j when 0 ≤ y j ≤ xUj
This choice is arbitrary, since the variables xj and yj are complementary to each other (i.e.,
when the value for xj is known, it is possible to determine the value of yj and vice versa).
The upper bound technique uses the following rulet o maket his choice:
Rule: Begin with choice 1 (i.e., use xj). Whenever xj=0, use xj as the nonbasic variable.
Whenever x j = xUj , use yj as the nonbasic variable.
Example 1:
max z= 2x1 + x2 + 2x3
s.t.
4x1 + x2
=12
-2x1
+ x3 = 4
0≤x1≤4, 0≤x2≤14, 0≤x3≤6
U
x1 = 4, x 2U = 14, x 3U = 6
The simplex tableau is constructed as follows:
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
3
Metin Turkay
INDR 262 Optimization Models and Mathematical Programming
B.V.
z
x2
Eqn.
0
1
Z
1
0
x1
-2
4
x2
-1
1
x3
-2
0
RHS
0
12
x3
2
0
-2
0
1
4
z
x2
0
1
-2
0
0
20
x3U = 6
1
0
4
1
0
12
12/4=3
x3
z
x2
x1
2
0
1
2
0
1
0
0
-2
0
0
1
0
0
1
0
1
1
2
1/2
4
22
8
1
(6-4)/2=1
replace x3=6-y3:
-2x1 + x3 = 4
-2x1 +6 - y3 = 4
-2x1
- y3 = -2
x1 +1/2 y3 = 1
Ratio
Negative elements are eligible
pivot elements indicating that the
levels of basic variables can
increase. The minimum ratio test
must be modified to limit the
increase to the upper bound.
becomes
rearranging
converting to proper form
can be inserted back into the simplex tableau
The optimal solution is:
z*=22, x1=1, x2=8, x3=6
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
4
Metin Turkay