5.6 No-Standard Formulations
Download
Report
Transcript 5.6 No-Standard Formulations
5.6 No-Standard Formulations
1
What
do you do if your problem formulation
does not have the Standard Form?
This is an important issue because the simplex
procedure we described relies very much on
the standard form, eg
– the RHS coefficients are non-negative
–
–
–
availability of m slack variables
opt=max
and so on.
2
Standard Form
n
max Z c j x j
x
j 1
• opt=max
• ~
• bi ≥ 0 , for all i. a11x1 a12 x2 ... a1n xn b1
a21 x1 a22 x 2 ... a2 n x n b2
.....
.....
...
....
.....
.....
...
....
am1 x1 am 2 x2 ... amn xn bm
x j 0 , j 1,...,n
3
Violation # 1
Minimization
Observe
that the problem
z*:= minxX f(x)
is equivalent to the problem
z’:= maxxX -f(x)
in that both have the same set of optimal
solutions. Also, z’= -z*.
4
1.
Remedies
Multiply the coefficients of the objective
function by -1 and maximize the new
objective function.
2. Change the simplex algorithm a bit.
Remark:
Australia is a free country so in principle
you can use either of these two approaches.
In his notes, Moshe prefers the second
approach. I prefer the first.
5
5.6.1 Example
min Z x1 - x2 - 2 x3
x
x1 2 x2 - x3 10
-2 x1 4 x 2 - 2 x 3 40
2 x1 3x2 - x 3 30
x1, x2 , x3 0
6
The coefficients of the objective function
are
c1=1 ; c2=-1 ; c3 = -2
so using the first appraoch, we multiply
them by -1 to obtain
c’1= -1 ; c’2= 1 ; c’3 = 2
We now use these new coefficients with
opt=max. Thus the equivalent form is:
7
max Z' - x1 x 2 2 x 3
x
x1 2 x 2 - x3 10
-2 x1 4 x 2 2 x 3 40
2 x1 3x 2 x 3 30
x1 , x 2 , x3 0
BV
Eq. #
x4
8
x1
x2
1
0
x3
2
x1
Z'
x3
x4
x5
x6
RH S
4
0
1
1 /2
0
30
0
7 /3
1
0
1 /3
1 /3
7 0 /3
3
1
1 /3
0
0
- 1 /6
1 /3
1 0 /3
Z'
0
1 0 /3
0
0
5 /6
1 /3
1 3 0/3
After setting the simplex tableau and
conducting two pivot operations we obtain
the above final tableau.
The optimal solution is thus:
x*=(10/3,0,70/3,30,0,0)
The optimal value of the modified objective
function is: Z’ = 130/3
Thus the optimal value of the original
9
Thus the optimal value of the
original objective function is equal
to
Z* = - Z’ = - 130/3.
10
The Second Approach
Modification
in the Simplex Algorithm for
opt=min:
1. Optimality Test:
– Stop if all the reduced costs are
nonpositive.
2. Greedy Rule:
– Select the variable with the most positive
reduced cost.
11
Example
(Continued)
min Z x1 - x2 - 2 x3
x
x1 2 x2 - x3 10
-2 x1 4 x 2 - 2 x 3 40
2 x1 3x2 - x 3 30
x1, x2 , x3 0
12
We
do not change the data, only modify
the optimality test and greedy rule.
Thus, the initial tableau is the same for
opt=max and opt=min.
Step 2 (Optimality Test):
Since there are positive reduced costs, we
continue.
Step 3 (Variable in):
We select x3 as the new basic variable
because its reduced costs is the largest.
13 Step
4 (Variable out):
The (usual) Ratio Test identifies x5 as the
leaving basic variable.
Step 5 (Pivoting):
As usual
New tableau:
BV
Eq. #
x4
x1
x2
x3
x4
x5
x6
RH S
1
0
4
0
1
1 /2
0
30
x3
x6
2
- 1
2
1
0
1 /2
0
20
3
3
1
0
0
- 1 /2
1
10
Z
Z
1
- 3
0
0
- 1
0
- 40
14
BV
Eq. #
x4
x1
x2
x3
x4
x5
x6
RH S
1
0
4
0
1
1 /2
0
30
x3
x6
2
- 1
2
1
0
1 /2
0
20
3
3
1
0
0
- 1 /2
1
10
Z
Z
1
- 3
0
0
- 1
0
- 40
BV
Eq. #
x4
x1
x2
x3
x4
x5
x6
RH S
1
0
4
0
1
1 /2
0
30
x3
2
0
7 /3
1
0
1 /3
1 /3
7 0 /3
x1
3
1
1 /3
0
0
- 1 /6
1 /3
1 0 /3
Z
Z
0
- 1 0 /3
0
0
- 5 /6
- 1 /3
- 1 3 0 /3
All
the reduced costs are nonpositive, so
we stop.
Optimal solution: x=(10/3,0,70/3,30,0,0)
Optimal value of the objective function:
Z* = -130/3.
15
Violation #2
Varaibles allowed to be negative
Use
the following fact:
Any number (positive or negative) can be
expressed as the difference of two positive
numbers.
Thus, if say xj is not required to be
nonnegative, we can introduce two
additional variables, say x’j and x”j and set
xj = x’j-x”j
with x’j,x”j >= 0.
16
Clearly,
if x’j > x”j then xj>0, whereas if
x’j<x”j then xj<0. And if x’j=x”j then
xj=0.
Thus, xj is indeed unrestricted in sign
(URS)
17
Example 5.6.3
max Z 4 x1 3 x2
x
2 x1 x2 40
x1 x2 30
x1
x1, x2 urs
15
max 4 x1, - 4 x1,, 3 x,2 - 3x ,,2
18
where
x
,
,,
,
,,
2 x1 - 2 x1 x2 - x2 40
x1, - x1,, x ,2 - x ,,2 30
,
,,
x1 - x1
15
x1, , x1,, , x2, x,,2 0
x1 x1, - x1,,
x2
,
,,
x 2 - x2
19
Violation #3
Negative RHS
This
is handled by multiplying the
respective constraint by -1 and taking care
of the inequality sign if necessary (changing
<= to >= and >= to <=).
20
Example 5.6.4
4 x1 - 3 x2 x3 -13
-4 x1 3x 2 - x3 13
Observe
that in fixing this violation we
created another one!
21
Violation # 4
<= constraint
We
convert a “>=“ constraint to a “=“
constraint by introducing a surplus
variable.
In many respects surplus variables are
similar to slack variables.
22
Example 5.6.5
-4 x1 3x 2 - x3 13
= 13
-4 x1 3x 2 - x3 - x 4
x4 0
(a)
}
Correction
(old notes)
Convince
(b).
yourself that (a) is equivalent to
(b)
23
Violation #5
There
= constraint
are two strategies to handle this
violation:
1. Use the “=“ constraint to eliminate one
of the variables (Assignment # 2 !!!!)
2. Use artificial variables.
In 620-261 we prefer the second approach.
24
These variables are called “artificial”
because they are used temporarily, and
ultimately will disappear from the model (be
set to zero).
Their sole purpose in life is to facilitate the
construction of a basic feasible solution.
Example 5.6.6
25
2 x1 x2 40
2 x1 x2 x 3 40 ,
Convince
x3 0
yourself that the first is equivalent
to the second provided the artificial variable
(x3) is equal to zero!!!!!
If you are not convinced see your
ophthalmologist!
How do we force x3 to be equal to zero ??
This is a good question that will be addressed
shortly.
26
An Overall Example 5.6.7
min Z 3x1 5 x2
x
x1
4
- 2 x2 - 12
3x1 2 x2 18
x1, x2 0
27
There
are a number of violations here!
Opt = min
An equality constraint
A >= constraint
A negative RHS
28
To
fix the “min” violation, we consider a
modified objective function, namely
Z’ = - Z = -3x1 - 5 x2
so the objective now is:
max -3x1 - 5 x2
Constraints:
The first is in standard form (x1 <= 4). To
bring it to the canonical form we simply
use a slack variable, say x3, and write
x1 + x3 = 4
29
The second constraints (-2x2 = -12) has two
violations. The negative RHS is handled by
a multiplication by -1 to produce 2x2 = 12.
So we just have to deal with the “=“
violation.
30
The
“=“ violation is handled by an
artificial variable, say x4. The resulting
canonical form of the constraint is thus
2x2 + x4 = 12
The third constraint (3x1 + 2x2 >= 18)
violates the “<=“ condition. It is handled
by a surplus variable and an artificial
variable. The surplus variable, say x5,
will produce an “=“ constraint:
3x1 + 2x2 - x5 = 18
31
The “=“ violation” is then handled by an
artificial variable, say x6. This yields the
following canonical form:
3x1 + 2x2 - x5 + x6 = 18
32
Complete Reformulation
max Z -3x1 - 5x 2
x
x1
2 x2
3x1 2 x2 -
4
x3
x4
12
x 5 x 6 18
x1, x2 , x3 , x 4 , x5 , x 6 0
33
Moshe
Important Remark
wrote “We (all of us!) shall adopt the
convention that the auxiliary variables
(slack, surplus, artificial) are “named” in
such a way that the initial basis appears in
the last m columns of the “LHS”.”
I don’t like this and would prefer that the
variables kept their original names.
34
_
In any case, observe that the initial basis
consists of:
Slack variables
Artificial variables