Redundant Constraint: If a constraint has no active affect on the FSS

advertisement
Redundant Constraint: If a constraint has no active affect on the FSS then it is called
redundant constraint. Deleting a redundant constraint does not change the FSS.
Linear Programming (LP)
IMPORTANT PROPERTY-1: The feasible solution space (FSS) of an LP model is either a
convex set or an empty set.
IMPORTANT PROPERTY-2: If there is an optimal solution (or alternate optimal solutions)
of an LP model then it is one of the corner points of the FSS. (If there is no optimal solution
then either the FSS is empty set (infeasible solution) or there is an unbounded solution)
Standard From: All constraints are in the “ = ” form, all right hand side (RHS) constants
(vector b) are non-negative, all decision variables are non-negative real numbers. Objective
function may be minimization type or maximization type.
Example:
The original model:
Max z = 3X1 + 5X2 + X3
s.t.
X1 + 2X2 + X3 <= 6
3X1 + X2 + 3X3 <= 12
X1, X2, X3 ≥ 0
Note that the FSS of the above original model is in 3-dimensional space.
After adding slack variables X4 and X5 to the model,
(The equivalent standard model)
Max z = 3X1 + 5X2 + X3
s.t.
X1 + 2X2 + X3 + X4
=6
3X1 + X2 + 3X3 +
X5 = 12
X1, X2, X3, X4, X5 ≥ 0
Now, the above model is in the standard form.
Note that the FSS of the above standard model is in 5-dimensional space.
Note: The objective coefficients of slack and surplus variables are always zero.
In a standard form LP model, the number of the decision variables (n) is always greater than
or equal to the number of constraints (m). Note that the non-negativity constraints of the
decision variables are not computed in m. In the above standard form model n=5, m=2.
In a standard form LP model, the m constraint set is actually m equation system with n
unknowns (decision variables). Now, let us chose any (n-m) decision variables and call them
as “non-basic variables”, and let us call the remaining m decision variables as “basic
variables”.
For example, in the above let us select arbitrarily X4 and X5 as basic decision variables and
X1, X2 and X3 as non-basic decision variables.
Now, let us move non-basic decision variables to the RHS of the equations and find the values
of basic decision variables in terms of non-basic decision variables.
X4
= 6 - X1 - 2X2 - X3
X5 = 12 - 3X1 - X2 - 3X3
So, if we fix non-basic decision variables to zero then we find the numerical values of the
basic variables. In the above system when X1=X2=X3=0 X4=6 and X5=12.
Actually, with this computations we guarantee that the m constraints of the model are satisfied
with the resultant solution. Furthermore, since we fix all non-basic decision variables to zero
we also guarantee that the non-negativity constraints are satisfied for the non-basic decision
variables. But the matter is that the values of the basic decision variables may be negative. In
the above example X4=6 and X5=12, but if we chose some other two (m) decision variables
and repeat the above procedure it is not guaranteed that at the and their numerical values will
be non-negative. I.e., for the basic decision variables the non-negativity constraints may be
violated. So, the found solution may be infeasible in total.
Let X be a feasible solution of the equivalent standard model such that m of the decision
variables are non-negative and remaining (n-m) of the decision variables are all zero in this
solution. Such a solution is called “basic feasible solution” of the standard form model.
IMPORTANT PROPERTY-3: Consider an original LP model and its equivalent standard
model. There is a one-to-one correspondence between the corner points of FSS of the original
model and basic feasible solutions of the equivalent standard form model.
A VERY IMPORTANT OBSERVATION:
When the number of the decision variables is more than two the graphical method is not
applicable since we cannot visualize n-dimensional FSS (n>2). But according to the above
important properties 2 and 3 we can search the corner points of the original model for finding
the optimal solution over the basic feasible solutions of the equivalent standard model.
In the above computation approach we arbitrarily chose m of the n decision variables as basic
decision variables and (n-m) remaining decision variables as non-basic decision variables.
And, at the end of the procedure finding a basic feasible solution is not guaranteed. So, our
computations could be unnecessary. But at the beginning we could not know if those
computations are unnecessary or not. If we insist applying this method and searching the
optimal solution of our original model in total we may chose
n!
different basic decision variable sets. For some n and m values this
C( n ) 
m m!*(n  m)!
amount may be very big number. So, by the above method it may be needed to make too
much computations and most of them may be unnecessary. As a result, we need a better
method, which is the Simplex Algorithm.
Actually, the Simplex Algorithm is also based on the above very important observation. But,
in the Simplex Algorithm the weaknesses of the above computation method are cancelled.
The Simplex Algorithm always generates basic feasible solutions of the equivalent standard
model, i.e., it always catches the corner points of the original model (unnecessary
computations of the above approach are cancelled). Moreover, the Simplex Algorithm always
generates a new basic feasible solution over the current basic feasible solution which has a
better objective function value than the current basic feasible solution.
The Simplex Algorithm
Temporarily we will consider only the original models with only “<=”type constraints (i.e.,
we won’t consider the original models having “=” and “>=” type constraints).
Beginning of the Simplex Algorithm
Step 1: (Initialization)
Develop the equivalent standard model by entering slack variables. Let the equivalent
standard model be:
Max (or Min) z= CX
s.t.
AX=b
X>=0
Chose the slack variables as your initial basic variables (XB) and determine the remaining
variables as your initial non-basic decision variables (XN). Construct the following Simplex
Table:
Basic
XN
XB
RHS
Z
-CN
0
0
 This row is called as “objective row”
XB
AN
I
b
 These rows are called as “constraint rows”
Here, AN is the part of matrix A consisting the coefficients of the non-basic decision variables
XN. CN is the part of vector C consisting the coefficients of the non-basic decision variables
XN. Let’s define also AB and CB even we did not used yet. AB is the part of matrix A
consisting the coefficients of the basic decision variables XB. CB is the part of vector C
consisting the coefficients of the basic decision variables XB.
Step 2: (Optimality test)
Check the objective row of the current Simplex Table. Let ZCi be the coefficient of decision
variable Xi in the current objective row.
 If the problem is a minimization problem and ZCi values are non-positive for all
XiϵXN then the current solution is the OPTIMAL solution and STOP, else go to Step
3. (If this optimality condition is satisfied but there is a non-basic decision variable
with ZCi=0 then there are ALTERNATIVE OPTIMAL SOLUTIONS. You may
STOP or you may go to Step 3 for finding the alternative optimal solutions)
 If the problem is a maximization problem and ZCi values are non-negative for all
XiϵXN then the current solution is the OPTIMAL solution and STOP, else go to Step
3. (If this optimality condition is satisfied but there is a non-basic decision variable
with ZCi=0 then there are ALTERNATIVE OPTIMAL SOLUTIONS. You may
STOP or you may go to Step 3 for finding the alternative optimal solutions)
Step 3: (Finding the non-basic decision variable that will enter to the basic decision variable
set XB)
Check ZCi values in the current objective row.
 If the problem is a minimization problem select the non-basic decision variable that
has the biggest ZCi value as the non-basic decision variable that will enter to the basic
decision variable set XB. Let this variable be Xe.
 If the problem is a maximization problem select the non-basic decision variable that
has the smallest ZCi value as the non-basic decision variable that will enter to the
basic decision variable set XB. Let this variable be Xe.
Step 4: (Finding the basic decision variable that will leave the basic decision variable set XB
and move to the non-basic decision variable set XN)
Consider the column of the Xe in the constraint rows of the current Simplex Table. Let caej be
the coefficient of Xe in the jth constraint row of the current Simplex Table and let cbj be the
RHS constant in the jth constraint row of the current Simplex Table.
If caej <= 0 for all constraint row j then there is an UNBOUNDED solution to the problem and
STOP, else select the basic decision variable Xl as the leaving decision variable according to
the following method (Minimum Ratio Test (MRT)):
Let
k  arg min {
j 1, 2 ,..., m
ca ej  0
cb j
caej
}
Then, Xl is the basic decision variable in the kth constraint row of the current Simplex Table.
Note that arg min returns the value of j that yields the searched minimum value.
Step 5: (Constructing the Simplex Table of the next basic decision variable set)
The column of entering variable Xe is called “pivot column”, the row of leaving variable Xl is
called “pivot row”, the coefficient caek in the intersection of pivot column and pivot row is
called “pivot element”.
Step 5-a) Replace Xl with Xe in the “Basic” column of the next Simplex Table.
Step 5-b) New pivot row = (current pivot row) / pivot element
Step 5-c) All other rows, including objective row,
New row = (current row) – (its pivot column coefficient in the current table)*(New pivot row)
Go to Step 2.
End of the Simplex Algorithm
Note that the Simplex algorithm finds the optimal solution or alternative optimal solutions or
the unbounded solutions. The only remaining possible situation in LP is having an infeasible
solution (FSS is an empty set). Actually, that situation also can be determined (Big-M, Two
Phase Methods).
Degeneracy: In a basic feasible solution if there is any basic decision variable with value zero
then this solution is called degenerate solution. I.e., if there is a zero value in the RHS column
and constraint rows of a Simplex Table then that basic feasible solution is a degenerate
solution. Generally, this situation does not cause a problem, but rarely may cause a loop. In
order to escape from the loop the leaving variable among the candidate leaving variables may
be selected arbitrarily. Candidate leaving variables are the basic variables that caej values in
Step 4 are positive.
A Numerical Example:
Let our original problem is:
Max Z = 5 X1 + 4 X2
s.t.
6 X1 + 4 X2 ≤ 24
X1 + 2 X2 ≤ 6
- X1 + X2 ≤ 1
X2 ≤ 2
X1, X2 ≥ 0
Step 1
Developing the equivalent standard model.
Max Z = 5 X1 + 4 X2
s.t.
6 X1 + 4 X2 + X3
= 24
X1 + 2 X2
+ X4
=6
- X1 + X2
+ X5
=1
X2
+ X6 = 2
X1, X2, X3, X4, X5, X6 ≥ 0
b=(24 6 1 2)T
X=(X1 X2 X3 X4 X5 X6)  XB=(X3 X4 X5 X6), XN=(X1 X2)
C=(5 4 0 0 0 0)  CB=(0 0 0 0), CN=(5 4)
6

A 1
1
0

4
2
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0  A   0
0
B
0

0
1

0
1
0
0
0
0
1
0
0
6
0 , A   1
0 N  1
0
1 

4
2
1
1 
Starting Simplex Table for XB=(X3 X4 X5 X6):
Basic
X1
X2
X3
X4
X5
X6
RHS
Z
-5
-4
0
0
0
0
0
X3
6
4
1
0
0
0
24
X4
1
2
0
1
0
0
6
X5
-1
1
0
0
1
0
1
X6
0
1
0
0
0
1
2
Step 2: Since the objective function is maximization type and there are non-basic decision
variables with negative ZCi coefficients then this solution is not OPTIMAL. Go to Step 3.
Step 3: Entering variable is X1.
Step 4: MRT:
Basic
X1
X2
X3
X4
X5
X6
RHS
Z
-5
-4
0
0
0
0
0
Ratio
X3
6
4
1
0
0
0
24
24/6=4
X4
1
2
0
1
0
0
6
6/1=6
X5
-1
1
0
0
1
0
1
-
X6
0
1
0
0
0
1
2
-
Minimum ratio is 4. Leaving variable is X3.
Step 5: Next Simplex Table.
Basic
X1
X2
X3
X4
X5
X6
RHS
Z
-5
-4
0
0
0
0
0
X3
6
4
1
0
0
0
24
X4
1
2
0
1
0
0
6
X5
-1
1
0
0
1
0
1
X6
0
1
0
0
0
1
2
Pivot column is X1 column, pivot row is X3 row, pivot element is 6.
Step 5-a) Replace X3 with X1 in Basic column.
Basic
X1
X2
X3
X4
X5
X6
RHS
Z
-5
-4
0
0
0
0
0
X1
6
4
1
0
0
0
24
X4
1
2
0
1
0
0
6
X5
-1
1
0
0
1
0
1
X6
0
1
0
0
0
1
2
Step 5-b) Divide pivot row by pivot element.
Basic
X1
X2
X3
X4
X5
X6
RHS
Z
-5
-4
0
0
0
0
0
X1
1
4/6
1/6
0
0
0
4
X4
1
2
0
1
0
0
6
X5
-1
1
0
0
1
0
1
X6
0
1
0
0
0
1
2
Basic
X1
X2
X3
X4
X5
X6
RHS
Z
0
-4/6
5/6
0
0
0
20
X1
1
4/6
1/6
0
0
0
4
X4
1
2
0
1
0
0
6
X5
-1
1
0
0
1
0
1
X6
0
1
0
0
0
1
2
Basic
X1
X2
X3
X4
X5
X6
RHS
Z
0
-4/6
5/6
0
0
0
20
X1
1
4/6
1/6
0
0
0
4
X4
0
4/3
-1/6
1
0
0
2
X5
-1
1
0
0
1
0
1
X6
0
1
0
0
0
1
2
Step 5-c) New Z row.
New X4 row.
New X5 row.
Basic
X1
X2
X3
X4
X5
X6
RHS
Z
0
-4/6
5/6
0
0
0
20
X1
1
4/6
1/6
0
0
0
4
X4
0
4/3
-1/6
1
0
0
2
X5
0
5/3
1/6
0
1
0
5
X6
0
1
0
0
0
1
2
Basic
X1
X2
X3
X4
X5
X6
RHS
Z
0
-4/6
5/6
0
0
0
20
X1
1
4/6
1/6
0
0
0
4
X4
0
4/3
-1/6
1
0
0
2
X5
0
5/3
1/6
0
1
0
5
X6
0
1
0
0
0
1
2
New X6 row.
We constructed the Simplex Table for the new XB = (X1 X4 X5 X6).
Go to Step 2.
Step 2: Since the objective function is maximization type and there are non-basic decision
variables with negative ZCi coefficients then this solution is not OPTIMAL. Go to Step 3.
Step 3: Entering variable is X2.
Step 4: MRT:
Basic
X1
X2
X3
X4
X5
X6
RHS
Z
0
-4/6
5/6
0
0
0
20
Ratio
X1
1
4/6
1/6
0
0
0
4
4/(4/6)=6
X4
0
4/3
-1/6
1
0
0
2
2/(4/3)=3/2
X5
0
5/3
1/6
0
1
0
5
5/(5/3)=3
X6
0
1
0
0
0
1
2
2/1=2
Minimum ratio is 3/2. Leaving variable is X4.
Step 5: Next Simplex Table.
Basic
X1
X2
X3
X4
X5
X6
RHS
Z
0
-4/6
5/6
0
0
0
20
Ratio
X1
1
4/6
1/6
0
0
0
4
4/(4/6)=6
X4
0
4/3
-1/6
1
0
0
2
2/(4/3)=3/2
X5
0
5/3
1/6
0
1
0
5
5/(5/3)=3
X6
0
1
0
0
0
1
2
2/1=2
Pivot column is X2 column, pivot row is X4 row, pivot element is 4/3.
Step 5-a) Replace X4 with X2 in Basic column.
Basic
X1
X2
X3
X4
X5
X6
RHS
Z
0
-4/6
5/6
0
0
0
20
X1
1
4/6
1/6
0
0
0
4
X2
0
4/3
-1/6
1
0
0
2
X5
0
5/3
1/6
0
1
0
5
X6
0
1
0
0
0
1
2
Step 5-b) Divide pivot row by pivot element.
Basic
X1
X2
X3
X4
X5
X6
RHS
Z
0
-4/6
5/6
0
0
0
20
X1
1
4/6
1/6
0
0
0
4
X2
0
1
-1/8
3/4
0
0
3/2
X5
0
5/3
1/6
0
1
0
5
X6
0
1
0
0
0
1
2
Basic
X1
X2
X3
X4
X5
X6
RHS
Z
0
0
3/4
1/2
0
0
21
X1
1
0
1/4
-1/2
0
0
3
X2
0
1
-1/8
3/4
0
0
3/2
X5
0
0
3/8
-5/4
1
0
5/2
X6
0
0
1/8
-3/4
0
1
1/2
Step 5-c) Other rows
We constructed the Simplex Table for the new XB = (X1 X2 X5 X6).
Go to Step 2.
Step 2: Since the objective function is maximization type and there is no non-basic decision
variables with negative ZCi coefficients then this solution is the OPTIMAL SOLUTION.
STOP.
The optimal solution is X1=3, X2=3/2 and optimal objective function value is 21.
Download