{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

ornotes4-2007

# ornotes4-2007 - SOLVING LINEAR PROGRAMMING PROBLEMS The...

This preview shows pages 1–7. Sign up to view the full content.

SOLVING LINEAR PROGRAMMING PROBLEMS The Simplex Algorithm for a Cost Minimization Problem A problem of diet (from Alpha Chiang, 2nd Edition) Assume a person's diet is to consist of only two foods, food I and food II, and that there are only three types of nutrients that must be considered: calcium, protein, and calories. Information on the two foods: Minimum Daily Food 1(lb) Food 2 (lb) Requirement Price \$0.60 \$1.00 Units calcium per pound 10 4 20 Units protein per pound 5 5 20 Calories per pound 2 6 12 The problem is to minimize cost subject to the nutrition restrictions:

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Minimize z= \$0.60x1 + \$1.00x2 subject to: 10x1 + 4x2 20 5x1 + 5x2 20 2x1 + 6x2 12 x1, x2 0 The Simplex Algorithm for Minimization Problems Here we have "surplus" variables, rather than slacks to turn the "greater than or equals to" constraints into equalities. Minimize C = 0.6X1 + X2 Subject to: 10x1 + 4x2 - s1 = 20 5x1 + 5x2 -s2 = 20 2x1 + 6x2 -s3=12 The variables s1, s2, and s3 are created to take up the "surplus" and create an equality constraint.
The minus sign creates some difficulty for us. If we start with a basic feasible solution: x1, x2, x3 =0, then the surplus variables must all take negative values (-20, -20, -12), which is not allowed under LP. So we need to find some other basic feasible solution to start the problem. One way around the problem is to add an "artificial variable" to every constraint and add all of them to the objective function, with large coefficients so that they will not enter the solution. Minimize: C = 0.6X1 + X2 + 100(V1 + V2 + V3) Where the V's are the artificial variables. Now we have a new set of constraints: 10X1 + 4X2 - S1 + V1 = 20 5X1 + 5X2 -S2 +V2 = 20 2X1 + 6X2 -S3 +V3 = 12

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
In Matrix Form, we have C X1 X2 S1 S2 S3 V1 V2 V3 RHS Obj 1 -0.6 -1 0 0 0 -100 -100 -100 0 calc. 0 10 4 -1 0 0 1 0 0 20 prot. 0 5 5 0 -1 0 0 1 0 20 calor. 0 2 6 0 0 -1 0 0 1 12 Note that we don't yet have the correct unit vector form (one "1" and the rest "0's") for any of our variable columns. We need to modify this matrix to get the initial BFS (basic feasible solution). We need to add 100X (calc + prot + calor) to the objective now to convert the matrix. C X1 X2 S1 S2 S3 V1 V2 V3 RHS calc. 0 10 4 -1 0 0 1 0 0 20 prot. 0 5 5 0 -1 0 0 1 0 20 calor. 0 2 6 0 0 -1 0 0 1 12 sum 0 17 15 -1 -1 -1 1 1 1 52 sumX100 0 1700 1500 -100 -100 -100 100 100 100 5200 Obj 1 -0.6 -1 0 0 0 -100 -100 -100 0 Obj+s100 1 1699.40 1499 -100 -100 -100 0 0 0 5200
So we put the new objective row into the matrix and we can read a BFS. C X1 X2 S1 S2 S3 V1 V2 V3 RHS Obj 1 1699.4 1499 -100 -100 -100 0 0 0 5200 calc. 0 10 4 -1 0 0 1 0 0 20 prot. 0 5 5 0 -1 0 0 1 0 20 calor. 0 2 6 0 0 -1 0 0 1 12 The BFS: Cost = 5200, X1 =0, X2 = 0, S1 =0, S2=0, S3=0, V1=20, V2=20, V3=12. We are now ready to begin pivots. We find the variable with the largest positive entry in the obj row of our tableau, above. This is X1. The choice of the largest entry may not be intuitive given the conversion we've taken, but if we recall from the original problem: C = 0.6X1 + X2 We see that X1 is the food that has the least-cost per unit, so it does make sense that this variable would enter first.

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document