The Simplex Method in Matrix Form: Steps and Example, Exams of Optimization Techniques in Engineering

The simplex method in matrix form for solving the linear programming problem in standard form, and illustrates the method with an example. It includes finding a basic feasible solution, expressing equality constraints, determining if a non-basic variable can enter the basis, the ratio test, and finding the optimal solution.

Typology: Exams

Pre 2010

Uploaded on 08/30/2009

koofers-user-83h-1
koofers-user-83h-1 🇺🇸

10 documents

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Math 164 Fall 2006
The Simplex method II
Stef´an Ingi Valdimarsson
October 23, 2006
Let us describe the simplex method in matrix form.
We are considering the linear programming problem in standard form
min cTx
s.t. Ax =b
x0.
We assume that we have found a basic feasible solution, corresponding to the
basis xB. We split Aand xaccording to this basis, so
A=B N, x =xB
xN, c =cB
cN.
1. The first step is to express the equality constraints Ax =bso that the
basic variables appear in as simple form as possible. With our splitting,
the equality constraints are
BxB+N xN=b.
We multiply this from the left by B1. Note that the fact that Bis
invertible comes from the definition of xBbeing basic variables. This
gives
xB+B1NxN=ˆ
b(1)
where we define ˆ
b=B1b.
1
pf3
pf4
pf5

Partial preview of the text

Download The Simplex Method in Matrix Form: Steps and Example and more Exams Optimization Techniques in Engineering in PDF only on Docsity!

Math 164 – Fall 2006

The Simplex method II

Stef´an Ingi Valdimarsson

October 23, 2006

Let us describe the simplex method in matrix form.

We are considering the linear programming problem in standard form

min c

T x

s.t. Ax = b

x ≥ 0.

We assume that we have found a basic feasible solution, corresponding to the

basis xB. We split A and x according to this basis, so

A =

B N

, x =

xB

xN

, c =

cB

cN

  1. The first step is to express the equality constraints Ax = b so that the

basic variables appear in as simple form as possible. With our splitting,

the equality constraints are

BxB + NxN = b.

We multiply this from the left by B

− 1

. Note that the fact that B is

invertible comes from the definition of xB being basic variables. This

gives

xB + B

− 1 NxN =

b (1)

where we define ˆb = B

− 1 b.

  1. We must now determine if we can decrease the value of the objective

function by letting any of the non-basic variables become basic. In

order to do this, we represent the objective function using only the

non-basic variables.

The original form of the objective function is

z = c

T x = c

T B xB^ +^ c

T N xN^.

Using (1) this becomes

z =c

T B (B

− 1 b − B

− 1 NxN ) + c

T N xN

=c

T B B

− 1 b + (c

T N −^ c

T B B

− 1 N)xN

=ˆz + ˆc

T N xN^.

where we define ˆc

T N =^ c

T N −^ c

T B B

− 1 N and ˆz = c

T B B

− 1 b. We refer to the

coefficient ˆct multiplying the variable xt of xN as the reduced cost of xt.

We now examine the values in the vector ˆc. If a particular ct from this

vector is negative then the value of the objective function will decrease

if we let the non-basic xt enter the basis.

  • If no ct has a negative value then we should not choose any of the

non-basic variables enter the basis and in fact this means that the

current feasible basic solution is an optimal basic feasible solution

and we are done.

  • If on the other hand there is a negative value in the ˆc we choose

the variable xt such that ˆct has the largest (in magnitude) to enter

the basis. This will decrease the objective function the fastest.

  1. Next we must determine how large a value the variable that enters the

basis can take. We note that since all the non-basic variables except xt

will remain at the value 0 we get from (1) that

xB = ˆb − Aˆtxt

where

At = B

− 1 At and At is the column of A corresponding to xt. We

examine this equality, component for component, with respect to the

constraint that all of the variables in xB must remain non-negative.

Thus

(xB )i = ˆbi − ˆai,txt ≤ 0.

We can write this in the form

min c

T x

s.t. Ax = b

x ≥ 0

with

A =

b =

c =

x =

x 1

x 2

x 3

x 4

x 5

x 6

We choose as an initial basis xB = (x 3 , x 4 , x 5 , x 6 ). Then

B =

N =

cB =

cN =

We see that

cˆN =

and since − 1 > −2 we choose x 2 to enter the basis. Then

xB,old =

x 3

x 4

x 5

x 6

At =

b =

The ratio test gives that x 4 should leave the basis.

Thus the next basis is xB = (x 3 , x 2 , x 5 , x 6 ), with xN = (x 1 , x 4 ). Then

B =

N =

cB =

cN =

We calulate

B

− 1

cˆN = cN − N

T (B

− 1 )

T cB =

and since −3 is the only negative number in ˆcN we choose x 1 to enter the

basis. Then

xB,old =

x 3

x 2

x 5

x 6

, Aˆt =

b =

The ratio test gives that x 3 should leave the basis.

Thus the next basis is xB = (x 1 , x 2 , x 5 , x 6 ), with xN = (x 3 , x 4 ). Then

B =

N =

cB =

cN =

We calulate

B

− 1

cˆN = cN − N

T (B

− 1 )

T cB =

and since −1 is the only negative number in ˆcN we choose x 4 to enter the

basis. Then

xB,old =

x 1

x 2

x 5

x 6

, Aˆt =

, ˆb =

The ratio test gives that x 5 should leave the basis.

Finally, we calculate the value of the basis variables at the optimum

solution

x¯B =

x 1

x 2

x 4

x 3

= B

− 1 b =

and the value of the objective function

zˆ = c

T B x¯B^ =^ −^14.

Note: The part of the above calculation which appears to take the most

time is the calculation of the inverse B

− 1 at each step. However, we can

simplify this considerably if we do not start calculating the inverse from

scratch in each step. Rather we note that when xt leaves the basis and xi′

enters the basis, the matrix B remains unchanged except that the column

At gets replaced by Ai′^. Since B is invertible, this can be achieved by m

suitably chosen column operations. Since carrying out column operations on

B corresponds to doing row operations on B

− 1 we see that we can pass from

B

− 1 old to^ B

− 1 new by carrying out^ m^ row operations. In fact these operations can

be easily described as we noted in class when we carried out the simplex

algorithm originally.

We form the augmented matrix

t |^ B

− 1

and apply row operations to it until the column Aˆt has been transformed

in to a column of only zeroes except there is a 1 in the place of the pivotal

element, the one circled in the example above.