Presentation is loading. Please wait.

Presentation is loading. Please wait.

OR-1 20101 Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.

Similar presentations


Presentation on theme: "OR-1 20101 Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable."— Presentation transcript:

1 OR-1 20101 Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable   = by subtracting a nonnegative surplus variable

2 OR-1 20102  Note that the standard problem, augmented with slack variables, is a special case of the general LP with lower bounds 0 and upper bounds + .  Def: Basic solution x * : Partition the components of x * into m basic and n-m nonbasic variables such that 1) m columns of A corresponding to basic variables are linearly independent 2) ( For free variable, no restriction. But usually 0 is used in the algorithm) (Note that the choice of basic variables does not determine a basic solution as the standard LP case. Upper and lower bound for nonbasic bounded variables must be determined too.)  Def: A basic solution x* is called feasible if l  x*  u.

3 OR-1 20103  Modification of the simplex method to handle the general LP directly : Given a b.f.s., choose an entering nonbasic variable. Then change (increase or decrease depending on the status of the entering nonbasic variable) the value of the entering nonbasic variable while other nonbasic variables are fixed at current values. Then the value of the basic variables must be changed to satisfy the equations Ax = b.  Change the value of the entering variable while the value of the basic variables satisfy the bound constraints. If one of the basic variables attains lower or upper bound values, let it become the nonbasic variable. The entering variable becomes basic. Update the dictionary (tableau).  Here, we searches only the extreme points of the polyhedron if we do not have a free nonbasic variable.

4 OR-1 20104  Suppose we have a b.f.s. x * = (x B *, x N * ) and corresponding dictionary (dictionary form not affected by the bound constr) Note that x B * may not be equal to B -1 b and the objective value of the current solution may not be equal to y’b. Candidates for entering nonbasic variable : 2 cases

5 OR-1 20105  Suppose x j is selected as the entering nonbasic variable. Let while other nonbasic variables are fixed at the current values. Then the values of basic variables must change to and so that the new solution satisfy the equations. Let t* be the largest t such that New solution obtained :

6 OR-1 20106 ( continued ) If the bound on the entering nonbasic variable becomes tight first when we change the value of the entering variable  the entering nonbasic variable changes the bound status (at lower bound  at upper bound) but still remains nonbasic. Otherwise, at least one of the basic variables takes on value of upper or lower bound. The variable becomes nonbasic and the entering nonbasic variable becomes basic as in the ordinary simplex method. A degenerate solution is defined as the b.f.s. such that at least one of the basic variables has the value equal to the bound. ( in that case, t* may be zero, in which case only basis change occurs. But solution does not change. )

7 OR-1 20107 c = [ 2, 1, -2, -2, 3, 2, 3, -4, 0, -2, -3, 3 ] T l = [ -5, - , -4, -2, 2, 0, 0, 3, - , - , - , -  ] T u = [ + , 3, -2, 3, 5, 1, + , + , 0, 5, + , +  ] T Example  Maximize c’x, subject to Ax = b, l  x  u.  Let x 1, x 2 be basic variables. Then the following x * is a basic feasible solution. x* = [ 1 0 -2 3 2 0 0 3 0 5 -1 1 ]

8 OR-1 20108  We first find y vector from y’B = c B ’  Next, check whether any nonbasic variable satisfies the following conditions.  Satisfying (8.6)  x 5, x 7, x 11 Satisfying (8.7)  x 4, x 10, x 12 Suppose we choose x 5 as the entering nonbasic variable.

9 OR-1 20109  Find d vector from Bd = A j  Find t in x j (t) = x j * + t For entering variable x 5, 2  2 + t  5 For basic variable x 1, -5  1 – 8 t For basic variable x 2, 15 t  3  t  0.2 and x 2 reaches its upper bound, hence leaves basis. New basic solution is x * = [ -0.6 3 -2 3 2.2 0 0 3 0 5 -1 1 ] x 1 and x 5 are basic variables. ( compare, x* = [ 1 0 -2 3 2 0 0 3 0 5 -1 1 ] )

10 OR-1 201010  Current dictionary when x 1, x 2 basic: z = 10 + 2x 3 - 3x 4 + 2x 5 - x 6 + 2x 7 - x 8 + x 9 - x 10 + 2x 11 - x 12 x 1 = 62 - 9x 3 - 5x 4 - 8x 5 - x 6 - 2x 7 - 7x 8 - 8x 9 - 7x 10 - 9x 11 - x 12 x 2 = -114 + 22x 3 +9x 4 + 15x 5 - x 6 + 3x 7 + 17x 8 + 17x 9 + 15x 10 + 23x 11 - 2x 12 l = [ -5, - , -4, -2, 2, 0, 0, 3, - , - , - , -  ] T u = [ + , 3, -2, 3, 5, 1, + , + , 0, 5, + , +  ] T x 1 * = 1, x 2 * = 0 (x 5 entering nonbasic, increasing) x 1 *  1 – 8t, x 2 *  0 + 15t, x 5 *  2 + t, - 5  1 – 8t  + , -   0 + 15t  3, 2  2 + t  5  t  0.2

11 OR-1 201011 Remarks  Note that a free nonbasic variable can always be a candidate for entering variable as long as (Although, we may let it enter the basis without changing the objective value) Moreover, a free basic variable never become nonbasic in subsequent iterations. (There are no bounds for free variables) Hence we may let all free variables become basic in early iterations and let them remain basic in subsequent iterations.  In commercial software, simplex algorithm for general LP is used. (also called bounded variable simplex method) Convenient to use when we want to solve the problem again with a little bit of data change (e.g. fix the values of the variables, change the bounds, etc. )

12 OR-1 201012 Two-phase simplex method  Need initial b.f.s. to apply the simplex method for general LP Use idea similar to the one we used earlier for standard LP (8.9) Introduce artificial variables x n+1, x n+2, … x n+m For the above problem, we can find an initial b.f.s. easily and (8.9) has a feasible solution if and only if (8.10) has a solution with all artificial variables 0. (8.10)

13 OR-1 201013  Let Set Now set the bounds for artificial variables Above solution is a b.f.s. to (8.10). Also let and consider minimize

14 OR-1 201014  For all feasible solutions to (8.10), we have  If the optimal value of the auxiliary problem is > 0, the problem is infeasible. If the optimal value is equal to 0, all x n+i = 0, i =1,…, m, hence the solution x j, j = 1, …, n is feasible to (8.9). We restore the original objective function and solve the following problem after resetting the bounds on the artificial variables to 0. Note that the solution we have at the end of phase one is a b.f.s.

15 OR-1 201015 Remarks  At the end of phase one, the artificial variables which are nonbasic (hence have value 0) can be dropped before phase two is applied. Artificial variables which are basic cannot be dropped since we need m basic variables to denote a basic solution. However, the procedure given in p130 replaces each artificial basic variable in the basis by an original variable which is nonbasic. If the procedure fails to replace an artificial basic variable, it indicates that the constraint to which the artificial variable is attached is a redundant equation, hence the equation can be removed from the formulation and the feasible solution set is not changed. (Also the artificial variable can be dropped from the basis and eliminated from the formulation)


Download ppt "OR-1 20101 Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable."

Similar presentations


Ads by Google