LP entering and leaving variable rules

advertisement
ME 6103 – Optimization in Engineering Design (Bras)
Entering and Departing Vector or Variable Rules for LP;
A Narrative Explanation
Entering Variable:
The linear objective function z = cT x can be written as
z = cBT xB + cNT xN = cBT B-1 b – [ cBT B-1 N – cNT ] xN
The term [cBT B-1 N – cNT ] xN is the same as the summation  [ zj – cj ] xj for all j N
In your textbook, rNT = [cBT B-1 N – cNT ] is referred to as the set of reduced coefficients. Often
you will see rj = [ zj – cj ] where rj is referred to as the “reduced cost” or “reduced coefficient”.
Ask yourself, which xi out of xN which gives you most improvement in z ?
The answer is as follows:
For minimization problem (min z = cBT B-1 b – ∑ [ zj – cj ] xj ):
1) if rj = [ zj – cj ] > 0, then an unit of increase in xj will provide a rj reduction in z (good!)
2) if rj = [ zj – cj ] < 0, then an unit of increase in xj will provide a rj increase in z, which is bad.
Hence, if all rj ≤ 0, then optimality has been achieved.
For maximization problem (max z = cBT B-1 b – ∑ [ zj – cj ] xj ):
1) if rj = [ zj – cj ] < 0, then an unit of increase in xj will provide a rj increase in z (good!)
2) if rj = [ zj – cj ] > 0, then an unit of increase in xj will provide a rj reduction in z, which is
bad. Hence, if all rj ≥ 0, then optimality has been achieved.
Rule: You would pick that non-basic variable to enter the basis (and become nonzero) which
provides the most improvement in the objective function, thus the one with the most positive rj
for minimization problems and the most negative rj for maximization problems.
Makes sense, doesn’t it?
So which variable should leave the basis?
Dr. Bert Bras
Telephone 404-894-9667
Fax 404-894-9342
E-mail bert.bras@me.gatech.edu
ME 6103 – Optimization in Engineering Design (Bras)
Leaving Variable:
Consider xB = B-1b – B-1N xN in which normally xN = 0 applies and (hence) xB = B-1b .
However, we have just decided to bring a non-basic variable into the basis and provide it a non-zero
value. Hence, the value of xB = B-1b – B-1N xN is going to change. An increase in some element xN,i
can result in a reduction of a corresponding element in x B,i. However, if xB,i < 0, then we have an
infeasible solution. Hence, we should always ensure that xB ≥ 0. This leads to the rule that the “best”
variable to leave the basis is the one that you expect to become infeasible (< 0) first.
To determine the leaving variable, you perform the following test for each row in the
basis/tableau/model:
Suppose j is the index of the chosen non-basic variable to enter.
Set j = q, that is, q is the entering non-basic variable.
Determine q = B-1 aq where aq is the j-th or q-th column in N.
Calculate the vector  = B-1b (note that  = xB) and find the departing variable xB,i which has the
minimum ratio  i / i,q
In short, xB,p departs if the following condition holds
min  i 
p

 
j , p i| i, q  0 i, q 
A special situation occurs when all i,q ≤ 0. In that case, no matter how much you increase the entering
non-basic variable, none of the basic variables will ever become infeasible. In this case, we call the
entering variable unbounded.
Dr. Bert Bras
Telephone 404-894-9667
Fax 404-894-9342
E-mail bert.bras@me.gatech.edu
Download