lecture 3: the simplex · pdf filethe simplex tableau we start with the standard equality form...

31
Lecture 3: The Simplex Method Reading: Chapter 2 1

Upload: dangkhue

Post on 05-Mar-2018

224 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

Lecture 3:

The Simplex Method

Reading: Chapter 2

1

Page 2: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 3: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 4: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 5: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 6: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 7: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 8: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 9: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 10: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 11: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 12: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 13: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 14: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 15: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 16: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 17: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 18: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 19: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 20: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 21: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 22: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 23: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 24: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 25: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 26: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 27: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 28: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 29: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 30: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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

Page 31: Lecture 3: The Simplex · PDF fileThe Simplex Tableau We start with the standard equality form LP maxz = c1x1 + c2x2 +::: + cnxn ... maximizes the objective, and hence is optimal to

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