Post Optimality Analysis - Lecture Notes | IE 1081, Study notes of Operational Research

Material Type: Notes; Class: OPERATIONS RESEARCH; Subject: Industrial Engineering; University: University of Pittsburgh; Term: Unknown 1989;

Typology: Study notes

Pre 2010

Uploaded on 09/09/2009

koofers-user-mey-1
koofers-user-mey-1 🇺🇸

10 documents

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
POSTOPTIMALITY ANALYSIS
(aka SENITIVITY ANALYSIS)
Objective: To analyze the optimum solution to see how
sensitive this solution is w.r.t. the cost coefficients and the
right-hand-side values.
Consider our example:
Maximize z = 5000x1 + 4000x2
st
10x1 + 15x2 150
20x1 + 10x2 160
30x1 + 10x2 135, all xi0.
The optimum solution was x1*=4.5, x2*=7, z*=50,500
A. Sensitivity to Cost Coefficients
Suppose we wish to examine changes in c1 (the coefficient
for x1) from its current value of 5000. Let us say the new
value is c1' (=c1+c1=5000+c1, say...).
We can write
z = c1'x1 + 4000x2
4000
)
4000
'
(1
1
2
z
x
c
x+
=
The slope of the above line is (-c1'/4000) and = -5000/4000 =
-1.25 currently.
If c1' increases the slope becomes more negative, and
conversely, if c1' decreases the slope becomes less negative:
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Post Optimality Analysis - Lecture Notes | IE 1081 and more Study notes Operational Research in PDF only on Docsity!

POSTOPTIMALITY ANALYSIS

( aka SENITIVITY ANALYSIS )

Objective : To analyze the optimum solution to see how sensitive this solution is w.r.t. the cost coefficients and the right-hand-side values.

Consider our example: Maximize z = 5000 x 1 + 4000 x 2 st 10 x 1 + 15 x 2 ≤ 150 20 x 1 + 10 x 2 ≤ 160 30 x 1 + 10 x 2 ≥ 135, all xi ≥0.

The optimum solution was x 1 * =4.5, x 2 * =7, z*= 50,

A. Sensitivity to Cost Coefficients

Suppose we wish to examine changes in c 1 (the coefficient for x 1 ) from its current value of 5000. Let us say the new

value is c 1 ' (= c 1 +∆c 1 =5000+ ∆c 1 , say...).

We can write

z = c 1 ' x 1 + 4000 x 2 ≈ 4000

2 (^11

z x

c x +

The slope of the above line is (- c 1 ' /4000) and = -5000/4000 = -1.25 currently. If c 1 ' increases the slope becomes more negative, and conversely, if c 1 ' decreases the slope becomes less negative:

In other words, the isocost line representing the objective rotates in a clockwise, or a counter-clockwise direction.

If this rotation is small the optimum solution might be unchanged, but for a sufficiently large tilt the optimum could shift to a neighboring corner point.

In the above picture, the current value for c 1 ' = c 1 =5000 so that the current slope is -(5000/4000) = -1.25. The extreme point that is currently optimal ( A ) is unchanged as long as the new slope (after c 1 changes) lies between -2 and -2/3:

-2≤(- c 1 ' /4000)≤-2/3 ⇒ -8000≤- c (^) 1' ≤-8000/3 ⇒

8000/3 ≤ c (^) 1' ≤8000, i.e.,. 2667 ≤ c (^) 1' ≤ 8000

So, for the basis to not change (i.e., for optimum to remain at point A ), the max allowable increase is 8000-5000=3000, and the max allowable decrease is 5000 -2667 = 2333.

i.e., -2333 ≤ ∆c 1 ≤ 3000.

When the increase exceeds 3000 the optimum shifts to D, and when the decrease exceed 2333 the optimum shifts to B.

20x 1 +10x 2 =160, slope=-

10x 1 +15x 2 =150, slope=-2/

30x 1 +10x 2 =135, slope=-1/

c 1 ' x 1 +4000x 2 =z, slope=- c 1 ' /4000 (= -1.25 currently...) A

B

C D

The current feasible region is A-B-C-D

Note that if

  • b 1 ' = 120, the new feasible region is M-L-C-D and the optimum is at M (same basis)
  • b 1 ' = 80, the new feasible region is N-C-D and the optimum is at D (different basis)

Similarly, if

  • b 1 ' = 200, the new feasible region is J-P-K-C-D and the optimum is at J (same basis)
  • b 1 ' = 240, the new feasible region is Q-K-C-D and the optimum is at Q (different basis)

Note that the current optimal basis is unchanged as long the new RHS satisfies 80≤ b 1 ' ≤240. That is, since b 1 '=150+ ∆b 1 ,

-70 ≤ ∆b 1 ≤ 90. Also note that the value of z*^ changes in all cases (even if the basis is unchanged) and that as b 1 becomes smaller and smaller, at some point the problem could become infeasible!

10x 1 +15x 2 =

A

B

C D

10x 1 +15x 2 =

10x 1 +15x 2 =

10x 1 +15x 2 =

N M

L

K J

P

Q

10x 1 +15x 2 =

In summary:

  • Changes in cj do not affect feasibility in any way. However, the optimum solution may shift to another extreme point (with a different BFS) for a sufficiently large change. In either case z *^ will change too.
  • Changes in bi affect the shape of the feasible region and big changes could make the feasible region vanish. If the problem is still feasible after the change the optimum may or may not change. If it does change, the value of z * will change too and the new optimum may or may not have a different set of basic variables (i.e., may be at a point of intersection of a different set of lines than before).

LINDO and the Excel Solver provide the range of values for each cj and for each bi in which the basis is unchanged. They do not provide the new values of the objective though...

RANGES IN WHICH THE BASIS IS UNCHANGED:

OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 5000.000000 3000.000000 2333. X2 4000.000000 3500.000000 1500.

RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 150.000000 90.000000 70. 3 160.000000 140.000000 40. 4 135.000000 70.000000 INFINITY

IMPORTANT NOTE: The signs of the Shadow Prices should be carefully noted and can always be predicted: suppose we let πi represent the shadow price for constraint i. Assuming that the basis is unchanged for a 1 unit increase in bi. Then we have

  • {New z* } = {Old z* } + πi for a max problem
  • {New z* } = {Old z* } - πi for a min problem

Case 1: Constraint i is a ≤ constraint. In this case a 1 unit increase in the RHS loosens the constraint, i.e., makes it easier to satisfy, i.e., expands the feasible region. Thus the objective new cannot get any worse, and thus {New z* } ≥ {Old z* } for a max problem {New z* } ≤{Old z* } for a min problem. Thus πi must be nonnegative (≥0).

Case 2: Constraint i is a ≥ constraint. In this case a 1 unit increase in the RHS tightens the constraint, i.e., makes it harder to satisfy, i.e., shrinks the feasible region. Thus the objective new cannot get any better, and thus {New z* } ≤ {Old z* } for a max problem

{New z* } ≥ {Old z* } for a min problem. Thus πi must be nonpositive (≤0).

Case 3: Constraint i is an = constraint.

In this case πi could take on any sign.

REDUCED COSTS

Recall that the optimum reduced cost for a variable is

its entry in Equation 0 in the optimum tableau - thus

the optimum reduced cost value

• for a basic variable is always equal to 0,

• for a nonbasic variable is

≥0 if we are maximizing

≤0 if we are minimizing

Also recall that the reduced cost for a nonbasic variable

was defined as the decrease in z for a 1 unit increase in

that variable. An alternative interpretation of the

reduced cost for a nonbasic variable x j is the following:

• For a max problem it is the required increase in

the value of its profit coefficient c j before it can be

entered into the basis (and made positive),

• For a min problem it is the required decrease in

the value of its cost coefficient c j before it can be

entered into the basis (and made positive).

LINDO and Excel Solver provide these as well:

VARIABLE VALUE REDUCED COST X1 4.500000 0. X2 7.000000 0.

DUALITY

  1. PRIMAL has n variables (^) ⇒ DUAL has n constraints.

  2. PRIMAL has m constraints (^) ⇒ DUAL has m variables.

  3. Coefficient matrix for the PRIMAL is A (^) ⇒ Coefficient matrix for the DUAL is the transpose of A.

  4. RHS vector for the PRIMAL becomes the objective coefficient vector for the DUAL; and the objective coefficient vector for the PRIMAL becomes the RHS vector for the DUAL.

  5. IF the PRIMAL is a MAXIMIZATION problem THEN a) First convert any '≥' constraints to '≤' by multiplying through by - b) DUAL is a MINIMIZATION problem. c) Dual variable corresponding to a primal ' = ' constraint is UNRESTRICTED. d) Dual variable corresponding to a primal ' ' constraint is NONNEGATIVE (>0) e) Dual constraint corresponding to a nonnegative primal variable is (^) ≥. f) Dual constraint corresponding to an UNRESTRICTED primal variable is =.

  6. IF the PRIMAL is a MINIMIZATION problem THEN a) First convert any '≤' constraints to '≥' by multiplying through by - b) DUAL is a MAXIMIZATION problem. c) Dual variable corresponding to a primal ' = ' constraint is UNRESTRICTED. d) Dual variable corresponding to a primal '≥' constraint is NONNEGATIVE (>0) e) Dual constraint corresponding to a nonnegative primal variable is (^) ≤. f) Dual constraint corresponding to an UNRESTRICTED primal variable is =.

NOTE: For a MAX problem, a (^) ≤ constraint is considered "normal". For a MIN problem, a (^) ≥ constraint is considered "normal". A nonnegative variable is considered "normal". A "normal" constraint in one problem will give rise to a (normal) nonnegative variable in the other. Equality constraints always give rise to unrestricted variables. Similarly, a "normal" nonnegative variable in one problem will always give rise to a "normal" constraint in the other, while an unrestricted variable in one will give rise to an equality constraint in the other.

The main duality result states that (1) if one problem is feasible and has a finite optimum solution, then so does the other, and the optimal objective values are equal to each other, (2) if one problem is unbounded the other is infeasible, and (3) if one problem is infeasible, the other is either unbounded or infeasible.