0% found this document useful (0 votes)
10 views41 pages

Simplex 3

Uploaded by

kaykobad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views41 pages

Simplex 3

Uploaded by

kaykobad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

Simplex method for linear

programming

slides credit: Weinan E


Examples and standard form Fundamental theorem Simplex algorithm

Outline

Examples and standard form

Fundamental theorem

Simplex algorithm
Examples and standard form Fundamental theorem Simplex algorithm

Example: Transportation problem

Schematics of transportation problem


b1
a1 Cij

b2
a2

am
bn−1
Origin

bn

Destination
Examples and standard form Fundamental theorem Simplex algorithm

Example: Transportation problem

I Formulation:
m X
X n
min s = cij xij
i=1 j=1

subject to the constraint


m
X
xij ≥ bj , j = 1, . . . , n
i=1
Xn
xij ≤ ai , i = 1, . . . , m
j=1

xij ≥ 0, i = 1, . . . , m; j = 1, . . . , n.

where ai is the supply of the i-th origin, bj is the demand of the j-th
destinations, xij is the amount of the shipment from source i to
destination j and cij is the unit transportation cost from i to j.
I Optimization problem (Simplex method)
Examples and standard form Fundamental theorem Simplex algorithm

Linear programming

I Definition:
If the minimized (or maximized) function and the constraints are all in
linear form
a1 x1 + a2 x2 + · · · + an xn + b.

This type of optimization is called linear programming.


Examples and standard form Fundamental theorem Simplex algorithm

General form of constraints of linear programming

I The minimized function will always be

min w = cT x (or max)


x

where c, x ∈ Rn .
I There are 3 kinds of constraints in general:
I Type I: “≤” type constraint

ai1 x1 + ai2 x2 + · · · + ain xn ≤ bi


I Type II: “=” type constraint

aj1 x1 + aj2 x2 + · · · + ajn xn = bj


I Type III: “≥” type constraint

ak1 x1 + ak2 x2 + · · · + akn xn ≥ bk


Examples and standard form Fundamental theorem Simplex algorithm

Examples: general form

I Example 1: (type III)


min w = 100x1 + 300x2 + 400x3 + 75x4
s.t. x1 + 5x2 + 10x3 + 0.5x4 ≥ 10000
xi ≥ 0, i = 1, 2, 3, 4

I Example 2: (type I)
max w = 7x + 12y
s.t. 9x + 4y ≤ 360
4x + 5y ≤ 200
3x + 10y ≤ 300
x ≥ 0, y ≥ 0

I Example 3: (type II)


min w = x1 + 3x2 + 4x3
s.t. x1 + 2x2 + x3 = 5
2x1 + 3x2 + x3 = 6
x2 ≥ 0, x3 ≥ 0
Examples and standard form Fundamental theorem Simplex algorithm

Standard form of constraints

I Standard form


 a11 x1 + a12 x2 + · · · + a1n xn = b1



 ..
.



 am1 x1 + am2 x2 + · · · + amn xn = bm

xi ≥ 0, i = 1, . . . , n

where bi ≥ 0 (i = 1, . . . , m).
I In matrix form
min w = cT x (or max)
x

Constraints
s.t. Ax = b, x ≥ 0

where A ∈ Rm×n , x ∈ Rn , b ∈ Rm , rank(A) = m ≤ n (This is not


essential.) and bi ≥ 0 (i = 1, . . . , m).
Examples and standard form Fundamental theorem Simplex algorithm

Example 1: standard form

I Example 1: (type III)

min w = 100x1 + 300x2 + 400x3 + 75x4

s.t. x1 + 5x2 + 10x3 + 0.5x4 ≥ 10000

xi ≥ 0, i = 1, 2, 3, 4
I Introduce surplus variable x5 ≥ 0, then the constraint becomes the
standard form

x1 + 5x2 + 10x3 + 0.5x4 − x5 = 10000

xi ≥ 0, i = 1, 2, 3, 4, 5
Examples and standard form Fundamental theorem Simplex algorithm

Example 2: standard form

I Example 2:

max w = 7x + 12y

s.t. 9x + 4y ≤ 360

4x + 5y ≤ 200

3x + 10y ≤ 300

x ≥ 0, y ≥ 0
I
Introduce slack variable x1, x2, x3 ≥ 0 and let x4 = x, x5 = y, then the
constraint becomes the standard form

max w = 7x4 + 12x5


x1 +9x4 + 4x5 = 360
x2 +4x4 + 5x5 = 200
x3 +3x4 + 10x5 = 300
xi ≥ 0, i = 1, 2, . . . , 5
Examples and standard form Fundamental theorem Simplex algorithm

Example 3: standard form

I Example 3:
min w = x1 + 3x2 + 4x3

s.t. x1 + 2x2 + x3 = 5

2x1 + 3x2 + x3 = 6

x2 ≥ 0, x3 ≥ 0
I Deal with the free variable x1 : Solving x1 from one equation and
substitute it into others.

x1 = 5 − 2x2 − x3

then
min w = 5 + x2 + 3x3

s.t. x2 + x3 = 4

x2 ≥ 0, x3 ≥ 0
Examples and standard form Fundamental theorem Simplex algorithm

Remark

I If some of bi < 0 in the primitive form, we can time −1 to both sides at


first and introduce the slack and surplus variables again.
Examples and standard form Fundamental theorem Simplex algorithm

Outline

Examples and standard form

Fundamental theorem

Simplex algorithm
Examples and standard form Fundamental theorem Simplex algorithm

Definitions

I For the standard form, n is called dimension, m is called order, variables x


satisfying constraints
s.t. Ax = b, x ≥ 0

are called feasible solution.


I Suppose rank(A) = m, and the first m columns of A are linearly
independent, i.e.
B = (a1 , a2 , . . . , am )

is nonsingular, where ai = (a1i , a2i , · · · , ami ). Then call B a basis.


I The linear system BxB = b has unique solution xB = B −1 b. Define
x = (xB , 0), then x satisfies

Ax = b.

x is called a basic solution (the other xi are 0) with respect to B.


Examples and standard form Fundamental theorem Simplex algorithm

Definitions

I If there is 0 among xB , it is called a degenerate basic solution.


I If a basic solution is also a feasible solution, it is called a basic feasible
solution.
I xi corresponding to column indices in B are called basic variable. The
others are called non-basic variables.
I The number of the basic feasible solutions is less than
n!
Cnm =
m!(n − m)!
Examples and standard form Fundamental theorem Simplex algorithm

Example

I Linear programming
max w = 10x1 + 11x2

3x1 + 4x2 + x3 = 9

5x1 + 2x2 + x4 = 8

x1 − 2x2 + x5 = 1

xi ≥ 0, i = 1, 2, 3, 4, 5
I Choose B = (a3 , a4 , a5 ) = I 3×3 , then B is a basis,

x = (0, 0, 9, 8, 1)

is a non-degenerate basic solution. It satisfies the constraint, thus is a


basic feasible solution. x3 , x4 , x5 are basic variables.
Examples and standard form Fundamental theorem Simplex algorithm

Example

I Linear programming
max w = 10x1 + 11x2
3x1 + 4x2 ≤ 17
2x1 + 5x2 ≤ 16
xi ≥ 0, i = 1, 2
I The set of all the feasible solutions are called feasible region.

0000000000000000000
1111111111111111111
1111111111111111111
0000000000000000000
0000000000000000000
1111111111111111111
feasible region
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111
0000000000000000000
1111111111111111111

I This feasible region is a colorred convex polyhedron spanned by points


16
x1 = (0, 0), x2 = (0, ), x3 = (3,
5
2) and x4 = ( 17 , 0). 3
Examples and standard form Fundamental theorem Simplex algorithm

Definitions

I A convex set S means for any x1 , x2 ∈ S and λ ∈ [0, 1], then


x = λx1 + (1 − λ)x2 ∈ S. A non-convex set is shown below.

I Graphically, convex means any line segment x1 x2 belongs to S if x1 ,


x2 ∈ S.
16
I The vertices x1 = (0, 0), x2 = (0, 5
), . . . are called extreme points
because there is no y 1 , y 2 ∈ S, y 1 6= y 2 and 0 < λ < 1, such that
xi = λy 1 + (1 − λ)y 2 .
Examples and standard form Fundamental theorem Simplex algorithm

Fundamental theorem

Theorem (Fundamental theorem)


Optimizing a linear objective function w = cT x is achieved at the extreme
points in the feasible region colorblue if the feasible solution set is not empty
and the optimum is finite.

Zmax
=C*X

11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
Zmin 00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
=C*X
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
Examples and standard form Fundamental theorem Simplex algorithm

Some basic theorems

I There are three cases for the feasible solutions of the standard form
I Empty set;
I Unbounded set;
111111111111111111
000000000000000000
000000000000000000
111111111111111111
000000000000000000
111111111111111111
000000000000000000
111111111111111111
000000000000000000
111111111111111111
000000000000000000
111111111111111111
000000000000000000
111111111111111111
000000000000000000
111111111111111111
000000000000000000
111111111111111111
000000000000000000
111111111111111111
000000000000000000
111111111111111111
000000000000000000
111111111111111111
unbounded convex

I Bounded convex polyhedron.


I A point in the feasible solution set is a extreme point if and only if it is a
basic feasible solution.
Examples and standard form Fundamental theorem Simplex algorithm

Outline

Examples and standard form

Fundamental theorem

Simplex algorithm
Examples and standard form Fundamental theorem Simplex algorithm

Simplex method

I Simplex method is first proposed by G.B. Dantzig in 1947.


I Simply searching for all of the basic solution is not applicable because the
whole number is Cnm .
I Basic idea of simplex: Give a rule to transfer from one extreme point to
another such that the objective function is decreased. This rule must be
easily implemented.
Examples and standard form Fundamental theorem Simplex algorithm

Canonical form

I First suppose the standard form is

Ax = b, x ≥ 0

I One canonical form is to transfer a coefficient submatrix into I m with


Gaussian elimination. For example x = (x1 , x2 , x3 ) and
! !
1 1 1 5 0 −1 1 1
(A, b) = →B=
1 2 0 4 1 2 0 4

then it is a canonical form for x1 and x3 . One extreme point is


x = (4, 0, 1), x1 and x3 are basic variables.
Examples and standard form Fundamental theorem Simplex algorithm

Transfer

I Now suppose A is in canonical form as the last example, then we transfer


from one basic solution to another.
I Choose a2 to enter the basis and a1 leave the basis.
! !
0 −1 1 1 0 −1 1 1
A= →
1 2 0 4 0.5 1 0 2
!
0.5 0 1 3

0.5 1 0 2
I The canonical form for x2 and x3 . The basic solution is x = (0, 2, 3). It is
also a extreme point.
Examples and standard form Fundamental theorem Simplex algorithm

Transfer

I The transferred basic solution may be not feasible in general.


1. How to make the transferred basic solution feasible?
2. How to make the objective function decreasing after transfer?
Examples and standard form Fundamental theorem Simplex algorithm

How to make the transferred basic solution feasible?

I Assumption: All of the basic feasible solutions are non-degenerate. i.e. if


x = (x1 , x2 , . . . , xm , 0, . . . , 0) is a basic feasible solution, then xi > 0.
I Suppose the basis is {a1 , a2 , . . . , am } initially, and select ak (k > m)
enter the basis. Suppose
m
X
ak = yik ai
i=1

then for any  > 0


m
X
ak = yik ai
i=1
I x is a basic feasible solution
m
X
xi ai = b
i=1
Examples and standard form Fundamental theorem Simplex algorithm

How to make the transferred basic solution feasible?

I We have
m
X
(xi − yik )ai + ak = b
i=1

I Because xi > 0, if  > 0 is small enough,

x̃ = (x1 − y1k , x2 − y2k , . . . , xm − ymk , 0, . . . , 0, , 0, . . . , 0)

is a feasible solution.
I To make it a basic solution we choose
nx o xr
i
 = min yik > 0 =
1≤i≤m yik yrk
then x̃ is a basic feasible solution, and let ar leave the basis.
I If yik ≤ 0 for i = 1, 2, . . . , m, then for any  > 0, x̃ is feasible, thus the
feasible region is unbounded in this case.
Examples and standard form Fundamental theorem Simplex algorithm

How to make the transferred basic solution feasible?

I Suppose n = 6 and the constraints


 
1 0 0 2 4 6 4
 
(A, b) = 
 0 1 0 1 2 3 3 

0 0 1 −1 2 1 1
I One basis a1 , a2 , a3 , the basic feasible solution

x = (4, 3, 1, 0, 0, 0)

We want to choose a4 enter the basis. The problem is to choose ai leave


the basis.
xi
I Compute yik
(k = 4)
i 1 2 3
xi
yik
2 3 ∗
so let a1 enter into basis.
I The new basic solution for x2 , x3 , x4 is

x = (0, 1, 3, 2, 0, 0).
Examples and standard form Fundamental theorem Simplex algorithm

How to make the objective function decreasing after transfer?

I The aim is to choose k such that the objective function decreasing after
ak enter the basis.
I Suppose the canonical form is
n
X
xi + yij xj = yi0 , i = 1, 2, . . . , m
j=m+1

where yi0 > 0. The basic feasible solution

x = (y10 , y20 , . . . , ym0 , 0, . . . , 0)

the value of objective function


m
X
z0 = cTB xB = ck yk0
k=1
Examples and standard form Fundamental theorem Simplex algorithm

How to make the objective function decreased after transfer?

I For any feasible solution x = (x1 , . . . , xm , xm+1 , . . . , xn ), we have


m
X n
X n
X
z = ck (yk0 − ykj xj ) + cj xj
k=1 j=m+1 j=m+1
m
X n
X n
X m
X
= ck yk0 + cj xj − ( ck ykj )xj
k=1 j=m+1 j=m+1 k=1
n
X m
X
= z0 + (cj − ck ykj )xj
j=m+1 k=1
n
X
= z0 + (cj − zj )xj
j=m+1

Pm
where zj = cTB y j = k=1 ck ykj .
I If there exists j (m + 1 ≤ j ≤ n) such that rj = cj − zj < 0, then when
xj change from 0 to positive, the objective function will be decreased.
Examples and standard form Fundamental theorem Simplex algorithm

Simplex strategy

I Optimality criterion: If rj ≥ 0 for all j, then it is a optimal feasible


solution.
I Unbounded criterion: If for some k (rk < 0), we have
yjk ≤ 0 (j = 1, 2, · · · , m), then min z = −∞.
I Otherwise: We can choose the vector ak (rk < 0) to enter the basis and
yj0 yi0
the vector aj ( yjk = mini yik
, yik > 0) leave the basis.
Examples and standard form Fundamental theorem Simplex algorithm

Example

I Example
min z = −(3x1 + x2 + 3x3 )
    
2 1 1 x1 2
    
  x2  ≤  5  , x ≥ 0
 1 2 3     

2 2 1 x3 6
I Step 1: change into standard form

min z = −(3x1 + x2 + 3x3 )


 
x1
 x2  
  

2 1 1 1 0 0   2
  x3  
 
=  , xi ≥ 0, i = 1, 2, . . . , 6
 1 2 3 0 1 0 
 
5 
  x4 
 
2 2 1 0 0 1  6
x5 
 

x6
Examples and standard form Fundamental theorem Simplex algorithm

Example

I Step 2: Choose x4 , x5 , x6 as basic variables, and compute the test number

r1 = c1 − z1 = −3, r2 = c2 − z2 = −1, r3 = c3 − z3 = −3.

set up simplex tableau

Basis a1 a2 a3 a4 a5 a6 b
a4 2 1 1 1 0 0 2
a5 1 2 3 0 1 0 5
a6 2 2 1 0 0 1 6
rj −3 −1 −3 0 0 0 z0 = 0
Examples and standard form Fundamental theorem Simplex algorithm

Example

I Step 3: Choose vector to enter the basis. Because rj < 0, j = 1, 2, 3, any


one among a1 , a2 , a3 could enter the basis. We choose a2 (in general, a1
or a3 will be chosen because −3 is smaller).
yi0
I Step 4: Choose vector to leave the basis. Compute yik
, yik > 0,
k = 2, i = 1, 2, 3, we have
y10 y20 y30
= 2, = 2.5, =3
y12 y22 y32
Thus a4 leave the basis.
I Step 5: Perform Gaussian elimination to obtain a new canonical form for
basis a2 , a5 , a6 and set up simplex tableau.
Basis a1 a2 a3 a4 a5 a6 b
a2 2 1 1 1 0 0 2
a5 −3 0 1 −2 1 0 1
a6 −2 0 −1 −2 0 1 2
rj −1 0 −2 1 0 0 z0 = −2
Examples and standard form Fundamental theorem Simplex algorithm

Example

I Step 6: Choose vector to enter the basis. Because rj < 0, j = 1, 3, any


one among a1 , a3 could enter the basis. We choose a3 .
yi0
I Step 7: Choose vector to leave the basis. Compute yik
, yik > 0,
k = 3, i = 1, 2, 3, we have (yi3 > 0, i = 1, 2)
y10 y20
= 2, =1
y13 y23
Thus a5 leave the basis.
I Step 8: Perform Gaussian elimination to obtain a new canonical form for
basis a2 , a3 , a6 and set up simplex tableau.

Basis a1 a2 a3 a4 a5 a6 b
a2 5 1 0 3 −1 0 1
a3 −3 0 1 −2 1 0 1
a6 −5 0 0 −3 2 1 4
rj −7 0 0 −3 2 0 z0 = −4
Examples and standard form Fundamental theorem Simplex algorithm

Example

I Step 9: Choose vector to enter the basis. Because rj < 0, j = 1, 4, any


one among a1 , a4 could enter the basis. We choose a1 .
yi0
I Step 10: Choose vector to leave the basis. Compute yik
, yik > 0,
k = 1, i = 1, 2, 3, we have (yi1 > 0, i = 1)
y10 1
=
y11 5
Thus a2 leave the basis.
I Step 11: Perform Gaussian elimination to obtain a new canonical form for
basis a1 , a3 , a6 and set up simplex tableau.

Basis a1 a2 a3 a4 a5 a6 b
1 3
a1 1 5
0 5
− 15 0 1
5
3
a3 0 5
1 − 15 2
5
0 8
5
a6 0 1 0 −1 0 1 4
7 6 3
rj 0 5
0 5 5
0 z0 = − 27
5
Examples and standard form Fundamental theorem Simplex algorithm

Example

I Step 9: Choose vector to enter the basis. Because rj > 0, j = 1, 3, 6, so


we obtain the optimal solution z ∗ = − 27
5
, and the corresponding extreme
point is
1 8
x = ( , 0, , 0, 0, 4)
5 5
Examples and standard form Fundamental theorem Simplex algorithm

Initial basic feasible solution — two step method

I An auxiliary problem (y ∈ Rm )
m
X
min z = yi
i=1

Ax + y = b

x ≥ 0, y ≥ 0
I The initial basic feasible solution is trivial

(x, y) = (0, b)

I Theorem: If the optimal feasible solution of the auxiliary problem is


(x∗ , 0), then x∗ is a basic feasible solution of the primitive problem; if the
optimal feasible solution of the auxiliary problem is (x∗ , y ∗ ), y ∗ 6= 0, then
there is no feasible solution for the primitive problem.
Examples and standard form Fundamental theorem Simplex algorithm

What about the degenerate basic feasible solution?

I In general, the strategy of leaving and entering basis is chosen as


1. If more than one index j such that rj < 0, let

rk = min{rj | rj < 0}

choose ak to enter the basis;


2. If ny
i0
o yr 0 yr 0
min yik > 0 = 1 = · · · = t
yik yr1 k yrt k
and r1 < · · · < rt , then choose ar1 to leave the basis.
I For degenerate case, cycling will appear for this strategy!
Examples and standard form Fundamental theorem Simplex algorithm

What about the degenerate basic feasible solution?

I Bland’s method: Change the strategy of leaving and entering basis into
1. If more than one index j such that rj < 0, let

k = min{j | rj < 0}

choose ak to enter the basis;


2. If ny
i0
o yr 0 yr 0
min yik > 0 = 1 = · · · = t
yik yr1 k yrt k
and r1 < · · · < rt , then choose ar1 to leave the basis (the same as
before).
I Bland’s method could eliminate the cycling, but it needs more
computational effort.
Examples and standard form Fundamental theorem Simplex algorithm

Comment on simplex method

I In 1972, V. Klee and G. Minty constructed a linear programming problem


which need O(2n ) simplex steps! This shows simplex method is not a
polynomial method.
I The first polynomial-time LP algorithm was devised by L. Khachian
(USSR) in 1979. His ellipsoid method is O(n6 ). Though his method is
faster than simplex method theoretically, real implementations show
counter results.
I In 1984, N. Karmarkar announced a polynomial-time LP method which is
O(n3.5 ). This begins the interior point revolution. Interior point method
was faster than simplex for some very large problems, the reverse is true
for some problems, and the two approaches are more or less comparable
on others.

You might also like