lecture 3: the simplex · pdf filethe simplex tableau we start with the standard equality form...
Post on 05-Mar-2018
221 Views
Preview:
TRANSCRIPT
Lecture 3:
The Simplex Method
Reading: Chapter 2
1
The Simplex Tableau
We start with the standard equality form LP
max z = c1x1 + c2x2 + . . . + cnxna11x1 + a12x2 + . . . + a1nxn = b1a21x1 + a22x2 + . . . + a2nxn = b2
... ...
am1x1 + am2x2 + . . . + amnxn = bmx1 ≥ 0, x2 ≥ 0, . . . xn ≥ 0.
We will assume that the A-matrix has rank m. We first put
the objective function into equality form:
z − c1x1 − c2x2 − . . .− cnxn = 0
and then put the whole system into augmented matrix form,
with the objective function equality at the bottom.
z x1 x2 . . . xn rhs
0 a11 a12 . . . a1n b10 a21 a22 . . . a2n b2... ... ... ... ...
0 am1 am2 . . . amn bm1 −c1 −c2 . . . −cn 0
or
z x rhs
0 A b
1 −c 0
This is called a simplex tableau.
2
Example
Recall Woody’s LP, in equality form:
max z
8x1 + 12x2 + x3 = 120
15x2 + + x4 = 60
3x1 + 6x2 + + x5 = 48
z − 35x1 − 60x2 = 0
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0,
The associated simplex tableau form is
z x1 x2 x3 x4 x5 rhs
0 8 12 1 0 0 120
0 0 15 0 1 0 60
0 3 6 0 0 1 48
1 −35 −60 0 0 0 0
We can perform row operations on a simplex tableau, just
as we did for linear systems, and any solution for a system
obtained in this way will satisfy the original set of equalities.
It follows that any equivalent tableau in Gauss-Jordan form
— called a basic tableau — will produce an associated
basic solution which satisfies the original set of equations. In
particular, the value of z — which will always be the value in
the lower right-hand corner of the tableau — is the objective
function value for the associated basic solution.
3
General Form of a Basic Tableau
Basic simplex tableaus will always have z as one of the basic
variables, and so will look like
basis z xB1 . . . xBm xN1 . . . xNn−m rhs
xB1 0 1 . . . 0 a1,N1 . . . a1,Nn−m b1... ... ... . . . ... ... ... ...
xBm 0 0 . . . 1 am,N1 . . . am,Nn−m bmz 1 0 . . . 0 −cN1 . . . −cNn−m z0
or
basis z xB xN rhs
xB 0 I N b
z 1 0 −cN z0
basic feasible solution (BFS): basic solution that also
satisfies the nonnegativity constraints, i.e., such that
xB = b ≥ 0, (xN = 0)
objective function value of a BFS: The bottom row
equation is
z − cN1xN1 − . . .− cNn−mxNn−m = z0
or
z = z0 + cN1xN1 + . . . + cNn−mxNn−m
The cj are called the reduced costs w.r.t. this basis.
4
The Phase II Simplex Method
Properties of the Phase II Simplex Method:
iterative method: produce a sequence of solutions x1, x2, . . .
that “approach” the optimal solution.
primal method: each of the solutions x1, x2, . . . are fea-
sible to the original LP.
ascent method: the solutions x1, x2, . . . progressively
improve the objective function value.
The Phase II Simplex Method assumes that we start with
a basic feasible tableau, that is, a basic tableau whose RHS
values b are all nonnegative. We will produce a sequence of
basic feasible solutions with progressively increasing
objective function values, until we reach a solution which
maximizes the objective, and hence is optimal to the LP.
5
Each step of the simplex method involves moving from one
BFS along one of a specific set of pivot directions which
will bring us to another BFS. The directions are obtained by
looking at the equation
xB = b− NxN
and choosing a single independent variable xj — called the
entering variable — to change. The corresponding equa-
tion is
xB = b− Njxj.
Consider changing xj from its current value of 0 to a value
∆ ≥ 0. This results in a unique point x∆ defined by
x∆j = ∆,
x∆Bi= bi − aij∆, i = 1, . . . ,m.
x∆k = 0, otherwise.
Thus for any ∆, x∆ will satisfy the equation Ax∆ = b.
Effect on the objective function value: using the
equation
z = z0 + cN1xN1 + . . . + cNn−mxNn−m
we get that the objective function value of x∆ is
z∆ = z0 + cj∆.
6
Example
Consider the Woody’s Problem starting tableau (with basic
variables identified)
basis z x1 x2 x3 x4 x5 rhs
x3 0 8 12 1 0 0 120
x4 0 0 15 0 1 0 60
x5 0 3 6 0 0 1 48
z 1 −35 −60 0 0 0 0
The current BFS has x1 = 0, x2 = 0, x3 = 120, x4 = 60,
x5 = 48, and objective value z = 0. Suppose we choose x2as the entering variable. Then x∆ will have as its component
values
x∆1 = 0,
x∆2 = ∆,
x∆3 = 120− 12∆
x∆4 = 60− 15∆
x∆5 = 48− 6∆
and its objective value will be z∆ = 0 + 60∆ = 60∆.
Condition for this being an objective-function-
increasing direction: The reduced cost of the variable
must be positive, that is, the objective row coefficient
must be negative.
7
Summary of a Simplex Pivot
Choose the entering variable. Choose the variable xjwith a negative objective row value −cj (positive
reduced cost cj) to enter the basis.
Obtain the maximum increase in ∆ for which x∆
remains feasible. In order that x∆ remains feasible,
we must have:
x∆Bi= bi − aij∆ ≥ 0
and so the maximum value ∆ can take on is the mini-
mum ratio
∆∗ = min{ biaij
: aij > 0}.
The variable xBiwhose index i determines the minimum
ratio is called the blocking variable.
Choose the leaving variable. If we set ∆ = ∆∗, then
the blocking variable xBibecomes 0, and so xBi
leaves
the basis.
Perform a simplex pivot: Pivot on the element aij, where
xj is the entering variable and xBiis the leaving variable.
8
Pivoting for Woody’s LP
Starting feasible tableau:
basis z x1 x2 x3 x4 x5 rhs
x3 0 8 12 1 0 0 120
x4 0 0 15 0 1 0 60
x5 0 3 6 0 0 1 48
z 1 −35 −60 0 0 0 0
solution value: x1 = 0, x2 = 0, x3 = 120, x4 = 60,
x5 = 48
objective function value: z = 0
entering variable: x2 (objective row coefficient -60)
ratio test:
∆∗ = min{120/12, 60/15, 48/6} = 4
leaving variable: x4 (minimum occurred in Row 2)
pivot on entry a22
9
New tableau:
basis z x1 x2 x3 x4 x5 rhs
x3 0 8 0 1 −4/5 0 72
x2 0 0 1 0 1/15 0 4
x5 0 3 0 0 −2/5 1 24
z 1 −35 0 0 4 0 240
Solution value: x1 = 0, x2 = 4, x3 = 72, x4 = 0,
x5 = 24
Objective function value: z = 240
Notice that the new solution remains feasible and that the
objective function value has increased. We can now start
with this basic tableau, and continue to perform simplex
pivots, obtaining a sequence of BFSs with increasing objec-
tive function values.
Second Pivot:
entering variable for the new tableau: x1
ratio test:
∆∗ = min{72/8, 24/3} = 8
leaving variable: x5 (Row 3)
pivot on entry a31
10
New tableau:
basis z x1 x2 x3 x4 x5 rhs
x3 0 0 0 1 4/15 −8/3 8
x2 0 0 1 0 1/15 0 4
x1 0 1 0 0 −2/15 1/3 8
z 1 0 0 0 −2/3 35/3 520
Solution value: x1 = 8, x2 = 4, x3 = 8, x4 = 0,
x5 = 0
Objective function value: z = 520
Third Pivot
entering variable: x4
ratio test:
∆∗ = min{ 84/15 ,
41/15 } = 30
leaving variable: x3 (Row 1)
pivot on entry a14
11
Fourth tableau:
basis z x1 x2 x3 x4 x5 rhs
x4 0 0 0 15/4 1 −10 30
x2 0 0 1 −1/4 0 2/3 2
x1 0 1 0 1/2 0 −1 12
z 1 0 0 5/2 0 5 540
Solution value: x1 = 12, x2 = 2, x3 = 0, x4 = 30,
x5 = 0
Objective function value: z = 540
Stopping Rule #1: If the current tableau has all ob-
jective row coefficients nonnegative (all reduced costs
cj ≤ 0), STOP, current bfs is optimal to the LP.
Proof: The current BFS has objective function value
z = z0. Moreover, the objective function has equivalent form
z = z0 + cN1xN1 + . . . + cNn−mxNn−m
where all of the cj are ≤ 0. This means that every nonneg-
ative solution to the equations Ax = b will have objective
function value ≤ z0, and so the current BFS is optimal to
the original LP.
12
Another Example
Recall the unbounded LP given in Lecture 1:
max z = 35x1 + 60x2−8x1 + 12x2 ≤ 120
−20x1 + 15x2 ≤ 60
3x1 − 6x2 ≤ 48
x1 ≥ 0 x2 ≥ 0
The Phase II pivots for this are ( = pivot entry)
basis z x1 x2 x3 x4 x5 rhs
x3 0 −8 12 1 0 0 120
x4 0 −20 15 0 1 0 60
x5 0 3 −6 0 0 1 48
z 1 −35 −60 0 0 0 0
x1 0 8 0 1 −4/5 0 72
x4 0 −4/3 1 0 1/15 0 4
x5 0 −5 0 0 2/5 1 72
z 1 −115 0 0 4 0 240
x1 0 1 0 1/8 −1/10 0 9
x2 0 0 1 1/6 −1/15 0 16
x5 0 0 0 5/8 −1/10 1 117
z 1 0 0 115/8 −15/8 0 1275
13
Stopping Rule #2: If there exists a variable xj with
−cj < 0, but for which aij ≤ 0, i = 1, . . . ,m, STOP, the
LP is unbounded.
Proof: The set of solutions x∆ has
x∆j = ∆,
x∆Bi= bi − aij∆, i = 1, . . . ,m.
x∆k = 0, k = j, B1, . . . , Bm
and so x∆ will be feasible for every choice of ∆ ≥ 0. But
the objective value for x∆ is
z∆ = z0 + cj∆,
which can be made arbitrarily large for large enough choice
of ∆.
In our example, an attempted pivot in Column 4 results in
the unbounded set of solutions
x∆1 = 9 + ∆/10, x∆2 = 16 + ∆/15
x∆4 = ∆, x∆3 = 0, x∆5 = 117 + ∆/10
with objective values
z∆ = 1275 + 15∆/8
which goes to ∞ as ∆ → ∞.
14
Summary of the Phase II SimplexMethod
Beginning with basic feasible tableau
basis z xB1 . . . xBm xN1 . . . xNn−m rhs
xB1 0 1 . . . 0 a1,N1 . . . a1,Nn−m b1 ≥ 0... ... ... . . . ... ... ... ...
xBm 0 0 . . . 1 am,N1 . . . am,Nn−m bm ≥ 0
z 1 0 . . . 0 −cN1 . . . −cNn−m z0
repeat the following steps until one of the stopping rules is
satisfied:
1. Choose as entering variable any xj having negative
objective row value. (Heuristic best choice: most neg-
ative value.) If all objective row values are nonnegative,
STOP, the current BFS is optimal.
2. Choose as leaving variable that variable xBisuch that
bi/aij = min{bk/akj | akj > 0, k = 1, . . . ,m}
If all akj ≤ 0, k = 1, . . . ,m, then STOP, the LP is
unbounded.
3. Perform a pivot on entry aij.
15
The Simplex Method on Min LPs
Min equality form LP’s can be handled easily using the
tableau setup above. Simply put the negated objective func-
tion into the tableau as
−z + c1x1 + c2x2 + . . . + cnxn = 0,
so that the tableau looks like
−z x1 x2 . . . xn rhs
0 a11 a12 . . . a1n b10 a21 a22 . . . a2n b2... ... ... ... ...
0 am1 am2 . . . amn bm1 c1 c2 . . . cn 0
A basic tableau will now look like
basis −z xB1 . . . xBm xN1 . . . xNn−m rhs
xB1 0 1 . . . 0 a1,N1 . . . a1,Nn−m b1... ... ... . . . ... ... ... ...
xBm 0 0 . . . 1 am,N1 . . . am,Nn−m bm−z 1 0 . . . 0 cN1 . . . cNn−m −z0
The reduced cost cj still represents the increase in the objec-
tive function when xj is increased by one unit, so by choosing
a negative objective row coefficient for the entering variable
we insure that objective function decreases, as it should.
Thus the simplex method for min LPs is exactly the same
as for the max LPs, except for the interpretation of the ob-
jective row values.
16
Finding an Initial Starting BasicFeasible Tableau
Generally we will not be able to start with a basic feasible
tableau. For example, consider the following LP:
max z = 15x1 − 12x2 − 10x3 − 23x4 + 24x5 + 11x6 − 48x74x1 − 3x2 − 2x3 − 6x4 + 8x5 + 3x6 − 9x7 = 164
−2x1 + x2 + 4x3 + 4x4 + 2x5 − x6 + x7 = −6612x1 − 4x2 − 6x3 − 13x4 + 9x5 + 4x6 − 7x7 = 272x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0, x6 ≥ 0, x7 ≥ 0
We first put it into a simplex tableau form:
basis z x1 x2 x3 x4 x5 x6 x7 rhs
? 0 4 −3 −2 −6 8 3 −9 164
? 0 −2 1 4 4 2 −1 1 −66
? 0 12 −4 −6 −13 9 4 −7 272
z 1 −15 12 10 23 −24 −11 48 0
We need to find a basic tableau for this system which in
addition has nonnegative RHS. To do this we will perform a
series of applications of the Phase II Simplex Method to find
a basis element for each row while maintaining nonnegative
RHSs for the rows already processed.
17
The Row-Progressive Phase I SimplexMethod
We will always be dealing with a “partially feasible” basic
tableau that has nonnegative RHS elements in its first r rows:
basis z xB1. . . xBr
xBr+1. . . xBm
xN1. . . xNn−m
rhs
xB10 1 . . . 0 0 . . . 0 a1,N1
. . . a1,Nn−mb1 ≥ 0
......
... . . . ...... . . . ...
......
...xBr−1
0 0 . . . 1 0 . . . 0 ar−1,N1. . . ar−1,Nn−r
br−1 ≥ 0xBr
0 0 . . . 0 1 . . . 0 ar,N1. . . ar,Nn−m
br...
...... . . . ...
... . . . ......
......
xBm0 0 . . . 0 0 . . . 1 am,N1
. . . am,Nn−mbm
z 1 0 . . . 0 0 . . . 0 −cN1. . . −cNn−m
z0
Initial Step: Perform a standard Gauss-Jordan reduction
of the original equality system. If a redundant row
is found delete it, and if an inconsistent row is found
STOP, the LP cannot have a feasible solution (since
the equality system cannot have any solution).
In our case, we pivot on the first three columns to pro-
duce basic tableau:
basis z x1 x2 x3 x4 x5 x6 x7 rhs
x1 0 1 0 0 −1/2 1/2 0 1/2 7
x2 0 0 1 0 1 −3 −1 4 −44
x3 0 0 0 1 1/2 3/2 0 −1/2 −2
z 1 0 0 0 −3/2 9/2 1 25/2 653
18
Iterative Step:
For each row r = 1, . . . ,m perform the following:
1. If the RHS element br is nonnegative, then Row r is in
the correct form to be included in the set of rows with
nonnegative RHSs. Go on to Row r + 1.
2. If br < 0, then we need to increase this value until
(hopefully) it becomes nonnegative. We do this by treat-
ing the Row r as an objective row, and we perform
the simplex method using only the first r − 1
rows as the A matrix. This insures a starting feasi-
ble tableau (ignoring rows r+1, . . . ,m) and the simplex
method will proceed to increase the RHS value.
3. If the simplex method succeeds in making the RHS value
br nonnegative, then we are finished processing Row r.
Go on to Row r + 1.
4. If the simplex method results in an unbounded tableau,
then we have a column j with arj < 0 and aij ≤ 0 for
i = 1, . . . , r − 1. Now pivot on element arj. This
involves
• subtracting aij/arj ≥ 0 times Row r from Row i,
which means that the new RHS value for Row i will
be bi − (aij/arj)bi ≥ 0. Thus the first r − 1 rows
will continue to have nonnegative RHS values.
• dividing Row r by arj < 0, which means that the
new RHS value for Row r is br/arj > 0. Thus Row
r now has nonnegative RHS value. Go on to Row
r + 1.
5. When all of the rows of A have been successfully pro-
cessed, the tableau is in basic feasible form, and we can
continue Phase II using the actual objective row.
19
Example
Starting with our basic tableau
basis z x1 x2 x3 x4 x5 x6 x7 rhs
x1 0 1 0 0 −1/2 1/2 0 1/2 7
x2 0 0 1 0 1 −3 −1 4 −44
x3 0 0 0 1 1/2 3/2 0 −1/2 −2
z 1 0 0 0 −3/2 9/2 1 25/2 653
We proceed to process the rows in order.
Row 1: Since this row already has nonnegative RHS, we
go on to Row 2.
Row 2: b2 < 0, so we apply the simplex method using
Row 1 as the A matrix and Row 2 as the objective
row. Then x5 is the entering variable, and we pivot on
element a15 = 1/2 to produce tableau
basis z x1 x2 x3 x4 x5 x6 x7 rhs
x5 0 2 0 0 −1 1 0 1 14
x2 0 6 1 0 −2 0 −1 7 −2
x3 0 −3 0 1 2 0 0 −2 −23
z 1 −9 0 0 3 0 1 8 590
The next entering variable is x4, and here we have an
unbounded partial tableau. We pivot on a24 = −2 to
produce tableau
20
basis z x1 x2 x3 x4 x5 x6 x7 rhs
x5 0 −1 −1/2 0 0 1 1/2 −5/2 15
x4 0 −3 −1/2 0 1 0 1/2 −7/2 1
x3 0 3 1 1 0 0 −1 5 −25
z 1 0 3/2 0 0 0 −1/2 37/2 587
putting the first two rows in the correct form.
Row 3: This also has b3 < 0 so we apply the simplex
method using Rows 1 and 2 as the A matrix and Row 3
as the objective row. Then x6 is the entering variable,
and we pivot on element a26 = 1/2 to produce tableau
basis z x1 x2 x3 x4 x5 x6 x7 rhs
x5 0 2 0 0 −1 1 0 1 14
x6 0 −6 −1 0 2 0 1 −7 2
x3 0 −3 0 1 2 0 0 −2 −23
z 1 −3 1 0 1 0 0 15 588
Now x1 is the entering variable, and we pivot on element
a11 = 2 to produce tableau
21
basis z x1 x2 x3 x4 x5 x6 x7 rhs
x1 0 1 0 0 −1/2 1/2 0 1/2 7
x6 0 0 −1 0 −1 3 1 −4 44
x3 0 0 0 1 1/2 3/2 0 −1/2 −2
z 1 0 1 0 −1/2 3/2 0 33/2 609
Finally, x7 is the entering variable, and we pivot on
element a17 = 1/2 to produce tableau
basis z x1 x2 x3 x4 x5 x6 x7 rhs
x7 0 2 0 0 −1 1 0 1 14
x6 0 8 −1 0 −5 7 1 0 100
x3 0 1 0 1 0 2 0 0 5
z 1 −33 1 0 16 −15 0 0 378
This is a basic feasible tableau, and this ends Phase I.
Phase II: x1 is the entering variable, a pivot on element
a31 = 1 to produce optimal tableau
basis z x1 x2 x3 x4 x5 x6 x7 rhs
x7 0 0 0 −2 −1 −3 0 1 4
x6 0 0 −1 −8 −5 −9 1 0 60
x1 0 1 0 1 0 2 0 0 5
z 1 0 1 33 16 51 0 0 543
22
Detecting Infeasible LPs
Suppose we start with the following LP:
max z = 15x1 − 12x2 − 10x3 − 23x4 + 24x5 + 11x6 − 48x74x1 − 3x2 − 2x3 − 6x4 + 8x5 + 3x6 − 9x7 = 184
−2x1 + x2 + 4x3 + 4x4 + 2x5 − x6 + x7 = −10612x1 − 4x2 − 6x3 − 13x4 + 9x5 + 4x6 − 7x7 = 332
Again pivoting on the first three columns, we get the follow-
ing basic tableau:
basis z x1 x2 x3 x4 x5 x6 x7 rhs
x1 0 1 0 0 −1/2 1/2 0 1/2 7
x2 0 0 1 0 1 −3 −1 4 −44
x3 0 0 0 1 1/2 3/2 0 −1/2 −12
z 1 0 0 0 −3/2 9/2 1 −5/2 753
We then take the same first five pivots as the last example,
except now we arrive at tableau
basis z x1 x2 x3 x4 x5 x6 x7 rhs
x7 0 2 0 0 −1 1 0 1 14
x6 0 8 −1 0 −5 7 1 0 100
x3 0 1 0 1 0 2 0 0 −5
z 1 −33 1 0 16 −15 0 0 478
23
We can no longer process Row 3 because all of its A-matrix
entries are nonnegative, but the RHS value is still negative.
Stopping Rule #3: If in the Phase I procedure a row r
is encountered which has arj ≥ 0, j = 1, . . . , n and br < 0,
STOP, the LP is infeasible.
Proof: The associated equivalent equation for Row r is
ar1x1 + . . . + arnxn = br < 0.
But since the LHS must be nonnegative for any choice of
nonnegative x, then clearly this equality can never be satis-
fied for any feasible solution to the LP.
24
A Theorem of the Alternative for LinearSystems in Nonnegative Variables:
Farkas’ Lemma
An important corollary of the Phase I infeasibility termina-
tion is the following classical result
Theorem 3.1 (Farkas’ Lemma):
Either the system
(P )Ax = b
x ≥ 0
has a solution, or the system
(D)yA ≥ 0
by < 0
has a solution, but not both.
Proof: For the not both part, suppose we had solutions x
to (P ) and y to (D). Then we would have
0 ≤ (yA)x = y(Ax) = yb < 0
a contradiction.
25
Now suppose that (P ) does not have a solution. Apply the
Phase I Simplex Method with the identity matrix attached to
the left of the system, as we did in Lecture 2. (The objective
row is irrelevant here.) Since (P ) is infeasible, then we must
arrive at tableau
[ A | b ] = M [ A | b ]
where row r of the current tableau has
• the RHS value negative, and
• all elements of the A matrix nonnegative.
Setting y to be the rth row of M , we have that the rth row
of the current tableau is equal to
y1×(original Row 1) +. . . +ym×(original Row m)
so that
Ar. = y1A1. + . . . + ymAm. or Ar. = yA
br = y1b1 + . . . + ymbm or br = yb
From the conditions of this row given above, we get
yA ≥ 0, yb < 0
thus satisfying (D).
26
Example
If we solve the infeasible problem given in Lecture 3 we start
by attaching the identity matrix to the original tableau
(I)[A|b] =
1 0 0
0 1 0
0 0 1
4 −3 −2 −6 8 3 −9 184
−2 1 4 4 2 −1 1 −106
12 −4 −6 −13 9 4 −7 332
After pivoting to basis (x7, x6, x3) we get tableau
(M)[A|b] =
−1/3 1/3 1/3
−11/15 4/3 17/15
−1/10 1/2 1/5
2 0 0 −1 1 0 1 14
8 −1 0 −5 7 1 0 100
1 0 1 0 2 0 0 −5
At which time the infeasibility conditions occur in Row 3.
Then we set y equal to the third row of M ,
y = (−1/10, 1/2, 1/5)
and so we get
yA = (−1/10, 1/2, 1/5)
4 −3 −2 −6 8 3 −9
−2 1 4 4 2 −1 1
12 −4 −6 −13 9 4 −7
= (1, 0, 1, 0, 2, 0, 0) ≥ 0,
and
yb = (−1/10, 1/2, 1/5)
184
−106
332
= −5 < 0
27
Summary of Stopping Rules for the LP
The Phase I-Phase II Simplex Method can stop only upon
encountering one of the three stopping rules. Therefore it
detects one of three types of LPs:
Stopping Rule #1: An optimal solution has been
found.
Stopping Rule #2: The LP is unbounded.
Stopping Rule #3: The LP is infeasible.
Corollary: Every LP is either infeasible, unbounded,
or has an optimal solution.
Proof: The Phase I-Phase II Simplex Method?
28
Application: Goal Programming
Goal Programming is a method of modeling and solving lin-
ear programs by setting a sequence of goals, and attempting
to meet these goals one by one.
Example: Suppose Woody has the following the three “ob-
jectives”
z1 = max 50x1 + 70x2 + 80x3z2 = min 40x1 + 20x2 + 10x3z3 = max 20x1 + 15x2 + 5x3
That he wishes to optimize subject to the resource con-
straints given for the problem. He will not be able to do
this simultaneously, but he can set goals for each of these
objectives, say,
Goal#1 Goal#2 Goal#3
z1 ≥ 580 z2 ≤ 305 z3 ≥ 239
What he wants to do is to try to meet as many of the goals
50x1 + 70x2 + 80x3 ≥ 580
40x1 + 20x2 + 10x3 ≤ 305
20x1 + 15x2 + 5x3 ≥ 239
as possible, but does not need to obtain the absolute optimal
value for any of them. The goals are in strict priority, in that
he must try to satisfy Goal#1 first, and if he is successful
Goal#2 — keeping Goal 1 satisfied — and finally Goal#3
— keeping Goals 1&2 satisfied.
29
Preemptive Goal Programming
The process of setting a set of goals, to be met in a specific
order, is called preemptive goal programming. Solv-
ing a preemptive goal program involves a straightforward
application of the row-progressive Phase I method. Simply
place the goal inequalities under the structural inequalities,
in order of priority, and then perform the row-progressive
Phase I method. The goals will then be met in the proper
preemptive order.
Applying this to Woody’s problem:
• We use the slack variables as a starting basis, and im-
mediately have the first three constraints — as well as
the second goal – satisfied.
• We can meet the first goal, but only at the expense of
violating the second goal.
• We can meet the second goal (without violating the first
goal), but the third goal remains unmet.
• The row-progressive Phase I method ends with the third
goal unable to be met. The closest we can get to meeting
this goal (without violating the first two goals) is
239− 831
6= 155
5
6
30
Tableaus for the Preemptive Goal Program
basis z x1 x2 x3 x4 x5 x6 x7 x8 x9 rhs
x4 0 8 12 16 1 0 0 0 0 0 120x5 0 0 15 20 0 1 0 0 0 0 60x6 0 3 6 9 0 0 1 0 0 0 48x7 0 50 70 80 0 0 0 −1 0 0 580x8 0 40 20 10 0 0 0 0 1 0 305x9 0 20 15 5 0 0 0 0 0 −1 239
x4 0 8 12 16 1 0 0 0 0 0 120
x5 0 0 15 20 0 1 0 0 0 0 60x6 0 3 6 9 0 0 1 0 0 0 48x7 0 −50 −70 −80 0 0 0 1 0 0 −580x8 0 40 20 10 0 0 0 0 1 0 305x9 0 −20 −15 −5 0 0 0 0 0 1 −239
x4 0 8 0 0 1 −0.80 0 0 0 0 72x3 0 0 0.75 1 0 0.05 0 0 0 0 3
x6 0 3 −0.75 0 0 −0.45 1 0 0 0 21x7 0 −50 −10 0 0 4 0 1 0 0 −340x8 0 40 12.50 0 0 −0.50 0 0 1 0 275x9 0 −20 −11.25 0 0 0.25 0 0 0 1 −224
x4 0 0 2 0 1 0.40 −2.67 0 0 0 16x3 0 0 0.75 1 0 0.05 0 0 0 0 3x1 0 1 −0.25 0 0 −0.15 0.33 0 0 0 7
x7 0 0 −22.50 0 0 −3.50 16.67 1 0 0 10x8 0 0 22.50 0 0 5.50 −13.33 0 1 0 −5x9 0 0 −16.25 0 0 −2.75 6.67 0 0 1 −84
x4 0 0 −1.60 0 1 −0.16 0 0.16 0 0 17.60x3 0 0 0.75 1 0 0.05 0 0 0 0 3x1 0 1 0.20 0 0 −0.08 0 −0.02 0 0 6.80x6 0 0 −1.35 0 0 −0.21 1 0.06 0 0 0.60
x8 0 0 4.50 0 0 2.70 0 0.80 1 0 3x9 0 0 −7.25 0 0 −1.35 0 −0.40 0 1 −88
x4 0 0 0 0 1 0.80 0 0.44 0.36 0 18.67x3 0 0 0 1 0 −0.40 0 −0.13 −0.17 0 2.50x1 0 1 0 0 0 −0.20 0 −0.06 −0.04 0 6.67x6 0 0 0 0 0 0.60 1 0.30 0.30 0 1.50x2 0 0 1 0 0 0.60 0 0.18 0.22 0 0.67x9 0 0 0 0 0 3 0 0.89 1.61 1 −83.17
31
top related