Professional Documents
Culture Documents
Session 3 p.1/34
Session 3 p.3/34
Basic Solution
For any basis B , the values of basic variables can be expressed in terms of non-basic variables:
BxB + RxR = b BxB = b RxR xB = B 1 b B 1 RxR
By denition, basic solution corresponds to assigning null values to all non-basic variables Basic solution: := B 1 b
Session 3 p.4/34
cT B are the costs of basic variables, cT R are the costs of non-basic variables
Thus this notion of reduced cost matches with that used in the tableau version of the simplex method
Session 3 p.6/34
Value z of cost function at current basic solution: 1 b B make xR = 0 in above equation, i.e., z := cT B To avoid repeating computations: Let us dene the simplex multiplier as := (B T )1 cB , 1 B or equivalently, T := cT B Then dj = cj T aj and z = T b (note z = cT B holds too) Optimality condition: dj 0 for all j R
Session 3 p.7/34
where = B 1 b and q = B 1 aq
Session 3 p.8/34
cT B x B ( t ) + cq t =
T + c t = cT tc q B B q T B 1 a + c t = tc cT q q B B
z + tdq
Session 3 p.9/34
We say the p-th basic variable is blocking when = p Then q is the pivot
p . p q
Session 3 p.10/34
Value of objective function can be decreased innitely. LP is unbounded. 2. If < + and the p-th basic variable is blocking: When setting xq = sign of basic variables is respected
p In particular, the p-th component of xB (t) is p q =0
We can make a basis change: xq enters the basis and xkp leaves, where B = (k1 , ..., km )
Session 3 p.11/34
Update
= B {kp } {q } New basic indices: B p = , i = i i if i = p New basic solution: q = B + (aq ak )eT New basis: B p p
T + (c c )eT = c New basic costs: c T q kp p B B p) T = (0 , ..., 0 , 1 , 0 , ..., 0) where eT p m)
Session 3 p.12/34
Algorithmic Description
1. Initialization: Find an initial feasible basis B Compute B 1 , = B 1 b, z = cT B
1 and d = c T a . B 2. Pricing: Compute = cT j j j B If for all j R, dj 0 then return OPTIMAL Else let q be such that dq < 0. Compute q = B 1 aq i > 0}. 3. Ratio test: Compute I = {i | 1 i m, q If I = then return UNBOUNDED p i Else compute = miniI ( and p such that = ) i p q q
4. Update:
= B {kp } {q } B p = , i = i i if i = p q = B + (aq ak )eT B p p z = z + dq
Session 3 p.13/34
Go to 2.
Session 3 p.14/34
bp = ,
1 vp
1 vp
a+
vp+1 vp
i =p
vi vp vm vp
bi
T
Let T =
,...,
vp1 vp
,...,
Session 3 p.15/34
When list is long, matrix is recomputed (reinversion) Other ways of representing B 1 : LU factoritzation
Session 3 p.16/34
Bounded Variables
We want to solve with revised simplex LPs of the form
min cT x Ax = b xu ( k uk +)
In practice internally variables translated so that = or = 0 to save arithmetic operations Variable xk is lower bounded if k > Variable xk is upper bounded if uk < + Variable xk is range if k > and uk < + Variable xk is xed if range and k = uk Variable xk is free if k = and uk = +
Session 3 p.17/34
Basic Solution
For any basis B , the values of basic variables can be expressed in terms of non-basic variables:
xB = B 1 b B 1 RxR
Values a non-basic variable xj can be assigned to: If lower bounded: k (it is at lower bound; xj L) If upper bounded: uk (it is at upper bound; xj U ) 0 (it is at zero level; xj Z ) If free: Basic solution:
:= B 1 b
j L
B 1 aj j
j U
B 1 aj uj
Session 3 p.18/34
Optimality Conditions
Cost function in terms of non-basic variables:
1 b + d x B cT x = cT R R B 1 a for all variable x B where dj = cj cT j j B
If xj L: cannot improve if dj 0 If xj U : cannot improve if dj 0 If xj Z : cannot improve if dj = 0 Optimality condition: no improving non-basic variable
Session 3 p.19/34
Objective Function
Cost function in terms of non-basic variables:
1 b + d x B cT x = cT R R B 1 a for all variable x B where dj = cj cT j j B
dj j +
j U
dj uj
Session 3 p.20/34
where = B 1 b and q = B 1 aq
Session 3 p.21/34
cT B xB (t) + tcq +
j L 1 B b+ cT B 1 b+ cT BB j L
c j j +
j U
cj uj =
1 1 (c j c T aj )uj + tcq tcT aq = BB BB j U
1 (c j c T aj ) j + BB j L
dj j +
j U
1 dj uj + tcq tcT aq = BB
1 z + tcq tcT B aq = B
z + tdq
i i i q i i i q
t t
Session 3 p.24/34
Since decreasing xq can improve objective value: dq > 0 Let t 0 be difference of new value xq wrt old value Again xB (t) = tq , where = B 1 b and q = B 1 aq Again the improvement in cost is z = z (t) z = tdq
Session 3 p.25/34
i i i q i i i q
t t
Session 3 p.27/34
Update
New objective value: z = z + dq If bound ip Flip status of xq (i.e., x q L xq U ) = q New basic solution: Else
= B {kp } {q } New basic indices: B p = xq + , i = i i if i = p New basic solution: q 1 = EB 1 New basis inverse: B If entering variable comes from lower bound = L {xq } else U = U {xq } L If leaving variable leaves to lower bound =L {xk } else U =U {xk } L p p
Session 3 p.28/34
Session 3 p.30/34
Sensitivity Analysis
Data may be inaccurate (observations, estimations): small changes mean completely different solutions? Sensitivity analysis = study of the stability of optimal solution with respect to small changes in problem data Let B be a basis for
min cT x Ax = b x0 B gives an optimal feasible solution iff
Feasibility: B 1 b 0 T cT B 1 R 0 = c Optimality: dT B R R
Session 3 p.31/34
k
j
dj p j
p if j > 0,
k
j
dj p j
p if j <0
Session 3 p.33/34
z ( b + i e i ) z ( b) = i T e i = i i
Can be used to determine price/benet of changing a resource, capacity, limit, etc. In economics, are called shadow prices: marginal (by one unit) cost of strengthening a constraint
Session 3 p.34/34