37
Simplex algorithm for problems with bounded variables

Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Simplex algorithm

for

problems with bounded variables

Page 2: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Simplex method for

problems with bounded variables

• Consider the linear programming problem with bounded variables

• Complete the following change of variables to reduce the lower bound to 0

xj = gj – lj (i.e., gj = xj + lj )

Tmin

s.t.

1,2,...,

where , , , , , and is a matrix

j j j

n m

c g

Ag h

l g q j n

g c l q R h R A m n

=

≤ ≤ =

∈ ∈ ×

Page 3: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Simplex method for

problems with bounded variables

the problem becomes

• Complete the following change of variables to reduce the lower bound to 0

xj = gj – lj (i.e., gj = xj + lj )

Tmin ( )

s.t. ( )

1,2,...,

where , , , , , and is a matrix

j j j j

n m

c x l

A x l h

l x l q j n

c x l q R h R A m n

+

+ =

≤ + ≤ =

∈ ∈ ×

Tmin

s.t.

1,2,...,j j j

c g

Ag h

l g q j n

=

≤ ≤ =

Page 4: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Simplex method for

problems with bounded variables

the problem becomes

replacing : uj = qj – lj and b = h – Al

T Tmin

s.t.

0 1,2,...,j j

c x c l

Ax b

x u j n

+

=

≤ ≤ =

Tmin ( )

s.t. ( )

1,2,...,

where , , , , , and is a matrix

j j j j

n m

c x l

A x l h

l x l q j n

c x l q R h R A m n

+

+ =

≤ + ≤ =

∈ ∈ ×

T Tmin

s.t.

1,2,...,j j j j j j j

c x c l

Ax h Al

l l x l l q l j n

+

= −

− ≤ + − ≤ − =

Page 5: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

• In this problem

since cTl is a constant, we can eliminate it from the minimisation without

modifying the optimal solution.

Then in the rest of the presentation we consider the problem without this

constant.

Simplex method for

problems with bounded variables

T T Tmin

s.t.

0 1,2,...,j j

c l c x c l

Ax b

x u j n

+ +

=

≤ ≤ =

Page 6: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

• Consider the explicit formulation of the problem

• One way of solving the problem is to introduce slack variables yj,

and then use the simplex algorithm.

1

1

min

s.t. 1,2,...,

0 1,2,...,

n

j j

j

n

ij j i

j

j j

z c x

a x b i m

x u j n

=

=

=

= =

≤ ≤ =

1

1

min

s.t. 1,2,...,

1,2,...,

, 0 1,2,...,

n

j j

j

n

ij j i

j

j j j

j j

z c x

a x b i m

x y u j n

x y j n

=

=

=

= =

+ = =

≥ =

T Tmin

s.t.

0 1, 2,...,j j

c x c l

Ax b

x u j n

+

=

≤ ≤ =

Page 7: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

1

1

min

s.t. 1,2,...,

0 1,2,...,

n

j j

j

n

ij j i

j

j j

z c x

a x b i m

x u j n

=

=

=

= =

≤ ≤ =

1

1

min

s.t. 1,2,...,

1,2,...,

, 0 1,2,...,

n

j j

j

n

ij j i

j

j j j

j j

z c x

a x b i m

x y u j n

x y j n

=

=

=

= =

+ = =

≥ =

account implicitly

Tableau with rowsm n+

Tableau with rowsm

Page 8: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

• Consider a basic feasible solution of this problem

• Because of the constraints xj + yj = uj, at least one of the variables xj or yj is

basic, j = 1,2,…,n.

• Then for all j = 1,2,…,n, one of the three situations holds:

a) xj = uj is basic and yj = 0 is non basic

b) xj = 0 is non basic and yj = uj is basic

c) 0 < xj < uj is basic and 0 < yj < uj is basic

1

1

min

s.t. 1,2,...,

1,2,...,

, 0 1,2,...,

n

j j

j

n

ij j i

j

j j j

j j

z c x

a x b i m

x y u j n

x y j n

=

=

=

= =

+ = =

≥ =

∑Non degeneracy:

all the basic variables

are positive at

each iteration

Page 9: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

njyx

njuyx

mibxa

xcz

jj

jjj

n

j

ijij

n

j

jj

,...,2,10,

,...,2,1

,...,2,1àSujet

min

1

1

=≥

==+

==

=

=

=

m + n basic variables required

There are n variables yj

There are at least m variables xj

that are basic

Exactly m variables xj satisfying

0 < xj < uj.

For contradiction, if m0 m variables xj

satisfy the relation, then the

m0 corresponding variables yj would be

basic.

Furthermore, for the n – m0 other indices j,

either xj = uj (case a) or yj = uj (case b)

would be verified.

Then the number of basic variables

would be equal to

2m0 + (n – m0) = m0 + n m + n

non basic

non basic

a) ;

b) ;

basic

basi

c)

c

basic b ; asic

j

j

j

j

j

j

x

y

x y

y

x

Page 10: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

njyx

njuyx

mibxa

xcz

jj

jjj

n

j

ijij

n

j

jj

,...,2,10,

,...,2,1

,...,2,1àSujet

min

1

1

=≥

==+

==

=

=

=

m + n basic variables required

There are n variables yj

There are at least m variables xj

that are basic

Exactly m variables xj satisfying

0 < xj < uj.

For contradiction, if m0 m variables xj

satisfy the relation, then the

m0 corresponding variables yj would be

basic.

Furthermore, for the n – m0 other indices j,

either xj = uj (case a) or yj = uj (case b)

would be verified.

Then the number of basic variables

would be equal to

2m0 + (n – m0) = m0 + n m + n

non basic

non basic

a) ;

b) ;

basic

basi

c)

c

basic b ; asic

j

j

j

j

j

j

x

y

x y

y

x

Page 11: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

La base a donc la forme suivante

0 < xj < uj 0 < yj < uj xj=uj yj=uj

1

1

min

s.t. 1,2,...,

1,2,...,

, 0 1,2,...,

n

j j

j

n

ij j i

j

j j j

j j

z c x

a x b i m

x y u j n

x y j n

=

=

=

= =

+ = =

≥ =

Tmin

s.t. 0

, 0

z c x

Ax y b

Ix Iy u

x y

=

+ =

+ =

m

m

n

0AI I

To simplify notation, assume

the following basic variables:

0 1, ,

0 1, ,

1, ,

1, ,

i i

i i

i i

i i

x u i m

y u i m

x u i m m l

y u i m l m n

< < =

< < =

= = + +

= = + + +

Page 12: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Tmin

Sujet à 0

, 0

z c x

Ax y b

Ix Iy u

x y

=

+ =

+ =

The basis has the following form

0 < xj < uj 0 < yj < uj xj=uj yj=uj

1

1

min

s.t. 1,2,...,

1,2,...,

, 0 1,2,...,

n

j j

j

n

ij j i

j

j j j

j j

z c x

a x b i m

x y u j n

x y j n

=

=

=

= =

+ = =

≥ =

m

m

n

0AI I

1 1

2

3

m m n m−

Tmin

s.t. 0

, 0

z c x

Ax y b

Ix Iy u

x y

=

+ =

+ =

To simplify notation, assume

the following basic variables:

0 1, ,

0 1, ,

1, ,

1, ,

i i

i i

i i

i i

x u i m

y u i m

x u i m m l

y u i m l m n

< < =

< < =

= = + +

= = + + +

Page 13: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

( ) ( ) ( ) [ ]

( ) ( ) ( ){ }

[ ]

1 1

2

3

1

11

1

0 0

0 0

0 0 0

0 0 0

0 0

where the matrix is 0

0

det det det det 0 0 0

0

det det det 0

where the matrix 0 is since

0 0 is a matrix and

0

0

B D

I I

I

I

B D

II n n

I

I

I B D I

I B

m m

D m n

I

Ξ =

= ×

Ξ = −

= −

×

×

( ) ( ) ( )( )

( ) ( )

is a matrix

Then det det det .

Since is a basis, then det 0.

Consequently det det 0 and then is non singular.

Then is a basis of .

n m

I B

B B

B A

×

Ξ =

Ξ Ξ ≠

= Ξ ≠

Page 14: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

( ) ( ) ( ) [ ]

( ) ( ) ( ){ }

[ ]

1 1

2

3

1

11

1

0 0

0 0

0 0 0

0 0 0

0 0

where the matrix is 0

0

det det det det 0 0 0

0

det det det 0

where the matrix 0 is since

0 0 is a matrix and

0

0

B D

I I

I

I

B D

II n n

I

I

I B D I

I B

m m

D m n

I

Ξ =

= ×

Ξ = −

= −

×

×

( ) ( ) ( )( )

( ) ( )

is a matrix

Then det det det .

Since is a basis, then det 0.

Consequently det det 0 and then is non singular.

Then is a basis of .

n m

I B

B B

B A

×

Ξ =

Ξ Ξ ≠

= Ξ ≠

Page 15: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

( ) ( ) ( ) [ ]

( ) ( ) ( ){ }

[ ]

1 1

2

3

1

11

1

0 0

0 0

0 0 0

0 0 0

0 0

where the matrix is 0

0

det det det det 0 0 0

0

det det det 0

where the matrix 0 is since

0 0 is a matrix and

0

0

B D

I I

I

I

B D

II n n

I

I

I B D I

I B

m m

D m n

I

Ξ =

= ×

Ξ = −

= −

×

×

( ) ( ) ( )( )

( ) ( )

is a matrix

Then det det det .

Since is a basis, then det 0.

Consequently det det 0 and then is non singular.

Then is a basis of .

n m

I B

B B

B A

×

Ξ =

Ξ Ξ ≠

= Ξ ≠

( )1

deta b

ad bcc d

d a bd c−

= −

= −

Page 16: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

( ) ( ) ( ) [ ]

( ) ( ) ( ){ }

[ ]

1 1

2

3

1

11

1

0 0

0 0

0 0 0

0 0 0

0 0

where the matrix is 0

0

det det det det 0 0 0

0

det det det 0

where the matrix 0 is since

0 0 is a matrix and

0

0

B D

I I

I

I

B D

II n n

I

I

I B D I

I B

m m

D m n

I

Ξ =

= ×

Ξ = −

= −

×

×

( ) ( ) ( )( )

( ) ( )

is a matrix

Then det det det .

Since is a basis, then det 0.

Consequently det det 0 and then is non singular.

Then is a basis of .

n m

I B

B B

B A

×

Ξ =

Ξ Ξ ≠

= Ξ ≠

( )1

deta b

ad bcc d

d a bd c−

= −

= −

Page 17: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

( ) ( ) ( ) [ ]

( ) ( ) ( ){ }

[ ]

1 1

2

3

1

11

1

0 0

0 0

0 0 0

0 0 0

0 0

where the matrix is 0

0

det det det det 0 0 0

0

det det det 0

where the matrix 0 is since

0 0 is a matrix and

0

0

B D

I I

I

I

B D

II n n

I

I

I B D I

I B

m m

D m n

I

Ξ =

= ×

Ξ = −

= −

×

×

( ) ( ) ( )( )

( ) ( )

is a matrix

Then det det det .

Since is a basis, then det 0.

Consequently det det 0 and then is non singular.

Then is a basis of .

n m

I B

B B

B A

×

Ξ =

Ξ Ξ ≠

= Ξ ≠

( )1

deta b

ad bcc d

d a bd c−

= −

= −

Page 18: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

( ) ( ) ( ) [ ]

( ) ( ) ( ){ }

[ ]

1 1

2

3

1

11

1

0 0

0 0

0 0 0

0 0 0

0 0

where the matrix is 0

0

det det det det 0 0 0

0

det det det 0

where the matrix 0 is since

0 0 is a matrix and

0

0

B D

I I

I

I

B D

II n n

I

I

I B D I

I B

m m

D m n

I

Ξ =

= ×

Ξ = −

= −

×

×

( ) ( ) ( )( )

( ) ( )

is a matrix

Then det det det .

Since is a basis, then det 0.

Consequently det det 0 and then is non singular.

Then is a basis of .

n m

I B

B B

B A

×

Ξ =

Ξ Ξ ≠

= Ξ ≠

( )1

deta b

ad bcc d

d a bd c−

= −

= −

Page 19: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

( ) ( ) ( ) [ ]

( ) ( ) ( ){ }

[ ]

1 1

2

3

1

11

1

0 0

0 0

0 0 0

0 0 0

0 0

where the matrix is 0

0

det det det det 0 0 0

0

det det det 0

where the matrix 0 is since

0 0 is a matrix and

0

0

B D

I I

I

I

B D

II n n

I

I

I B D I

I B

m m

D m n

I

Ξ =

= ×

Ξ = −

= −

×

×

( ) ( ) ( )( )

( ) ( )

is a matrix

Then det det det .

Since is a basis, then det 0.

Consequently det det 0 and then is non singular.

Then is a basis of .

n m

I B

B B

B A

×

Ξ =

Ξ Ξ ≠

= Ξ ≠

( )1

deta b

ad bcc d

d a bd c−

= −

= −

Page 20: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

The basis has the following form

m

n

0 < xj < uj 0 < yj < uj xj=uj yj=uj

Basis of A

The columns of

the basis B of A

are those of

the variables

0<xj<uj1 1

2

3

Page 21: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

• Then, we can specify a variant of the simplex method to solve this problem

specifically:

by dealing implictly with the upper bound uj. At each iteration, we consider

a solution (basic) associated with a basis B de A having

m basic variables

n – m non basic variables

1

1

min

s.t. 1,2,...,

0 1,2,...,

n

j j

j

n

ij j i

j

j j

z c x

a x b i m

x u j n

=

=

=

= =

≤ ≤ =

JBjux jj ∈= ou0

IBjux jj ∈<<0

Page 22: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

mixabx

JBj

jijiji,...,2,1=−= ∑

• At each iteration, we consider a solution (basic) associated with a basis Bde A having

m basic variables

n – m non basic variables

• Denote the indices of the basic variables IB = {j1, j2, …, jm} where ji is the

index of the basic variable in the ith row, then

We find similar

values as in problems

where there are no

upper bounds, except for

non basic variables

IBjux jj ∈<<0

0 orj j

x u j JB= ∈

0 orj jx u j JB= ∈

1

1

min

s.t. 1,2,...,

1,2,...,

, 0 1,2,...,

n

j j

j

n

ij j i

j

j j j

j j

z c x

a x b i m

x y u j n

x y j n

=

=

=

= =

+ = =

≥ =

Dependent

variables r.h.s.

JBjux jj ∈= ou0

mixabx

JBj

jijiji,...,2,1=−= ∑

Page 23: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

We have to modify the entering criterion

and the leaving criterion accordingly to

generate a variant of the simplex algorithm

for this problem

We find similar

values as in problems

where there are no

upper bounds, except for

non basic variables

0 orj jx u j JB= ∈

Page 24: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Step 1: Selecting the entering variable

The criterion to select the entering variable must be modified to account

for the non basic variables xj being equal to their upper bounds uj since

these variables can be reduced.

Hence, for an index

if , it is interesting to increase xj

if , it is interesting to decrease xj

JBj ∈

0 and 0jjx c= <

and 0jj jx u c= >

{ } { }

{ } { }( )

1 2

1 2 1 2

1

then the solution is optimal

Determine min : 0 and max :

Let min , max ,

If 0, , and the algoithm stops.

If 0 an then the non basic variable increasesd ,

s j sj j jjj JB j JB

s s s s s

s

s s ss

c c x c c x u

c c c c c

c

c c c x

∈ ∈= = = =

= −

< =

1then the non basic variab

, and go to Step 2.1.

If le decre 0 et , , and go to Stases ep 2.2.s s s sxc c c< <

Page 25: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Step 2.1: Selecting the leaving variable

• The increase θ of the entering

variable xs is stop by the first of

the following three situations

happening:

i) xs reach its upper bound us

ii) a basic variable decreases

to 0 (in this case )

iii) a basic variable

increases to reach its upper

bound (in ths case

)

Let

rjx

0>rsa

rjx

rju

0rsa <

1 1

min , min : 0 , min : 0j ii i

is issi m i m

is is

u ggu a a

a aθ

≤ ≤ ≤ ≤

= > <

iji j

j JBi

g b a x∈

= − ∑Value of the

basic variables ij

x

1

For all such that 0, then decreases

when increases of the value . It follows

= 0

.

Then min : 0

is ji

s

j i is is ii

i

is

iis

i mis

i a x

x

x g a a g

g

a

ga

a

θ

θ θ

θ

θ≤ ≤

>

− ≥ ⇔ ≤

⇔ ≤

≤ >

( )

( )

( )

11 110

0

0

0

0

0

0

j s j

j rs jr rr

j ms jm mm

s s

a

a

a

x g u

x g u

x g u

x u

θ

θ

θ

θ

≤ = −

≤ = −

≤ = −

+ ≤

+ ≤

+ ≤

= + ≤

Page 26: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Step 2.1: Selecting the leaving variable

• The increase θ of the entering

variable xs is stop by the first of

the following three situations

happening:

i) xs reach its upper bound us

ii) a basic variable decreases

to 0 (in this case )

iii) a basic variable

increases to reach its upper

bound (in ths case

)

Let

rjx

0>rsa

rjx

rju

0rsa <

1 1

min , min : 0 , min : 0j ii i

is issi m i m

is is

u ggu a a

a aθ

≤ ≤ ≤ ≤

= > <

iji j

j JBi

g b a x∈

= − ∑

Si θ = ∞, alors le problème n’est pas

borné inférieurement et l’algorithme

s’arrête.

Value of the

basic variables ij

x

1

For all such that 0, then increses

when increases of the value . It follows

=

.

Then min : 0

is ji

s

j i is j is j ii i i

j ii

is

j iiis

i mis

i a x

x

x g a u a u g

u g

a

u ga

a

θ

θ θ

θ

θ≤ ≤

<

− ≤ ⇔ − ≤ −

−⇔ ≤

− ≤ <

( )

( )

( )

11 110

0

0

0

0

0

0

j s j

j rs jr rr

j ms jm mm

s s

a

a

a

x g u

x g u

x g u

x u

θ

θ

θ

θ

≤ = −

≤ = −

≤ = −

+ ≤

+ ≤

+ ≤

= + ≤

Page 27: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Step 2.1: Selecting the leaving variable

• The increase θ of the entering

variable xs is stop by the first of

the following three situations

happening:

i) xs reach its upper bound us

ii) a basic variable decreases

to 0 (in this case )

iii) a basic variable

increases to reach its upper

bound (in ths case

)

Let

rjx

0>rsa

rjx

rju

0rsa <

1 1

min , min : 0 , min : 0j ii i

is issi m i m

is is

u ggu a a

a aθ

≤ ≤ ≤ ≤

= > <

iji j

j JBi

g b a x∈

= − ∑

If θ = ∞, then the problem is not

bounded from below, and the

algorithm stops.

Value of the

basic variables ij

x

( )

( )

( )

11 110

0

0

0

0

0

0

j s j

j rs jr rr

j ms jm mm

s s

a

a

a

x g u

x g u

x g u

x u

θ

θ

θ

θ

≤ = −

≤ = −

≤ = −

+ ≤

+ ≤

+ ≤

= + ≤

Page 28: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Step 2.1: Selecting the leaving variable

• The increase θ of the entering

variable xs is stop by the first of

the following three situations

happening:

i) xs reach its upper bound us

ii) a basic variable decreases

to 0 (in this case )

iii) a basic variable

increases to reach its upper

bound (in ths case

)

Let

rjx

0>rsa

rjx

rju

0rsa <

1 1

min , min : 0 , min : 0j ii i

is issi m i m

is is

u ggu a a

a aθ

≤ ≤ ≤ ≤

= > <

iji j

j JBi

g b a x∈

= − ∑Value of the

basic variables ij

x

( )

( )

( )

11 110

0

0

0

0

0

0

j s j

j rs jr rr

j ms jm mm

s s

a

a

a

x g u

x g u

x g u

x u

θ

θ

θ

θ

≤ = −

≤ = −

≤ = −

+ ≤

+ ≤

+ ≤

= + ≤

If , then the set of basic variables

is not modified, and the same basis is

used at the next iteration.

the variable remains non basic

but its value is modified from 0 to .

Go to step 1.

s s

s

s

x u

x

u

=

Page 29: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Step 2.1: Selecting the leaving variable

• The increase θ of the entering

variable xs is stop by the first of

the following three situations

happening:

i) xs reach its upper bound us

ii) a basic variable decreases

to 0 (in this case )

iii) a basic variable

increases to reach its upper

bound (in ths case

)

Let

rjx

0>rsa

rjx

rju

0rsa <

1 1

min , min : 0 , min : 0j ii i

is issi m i m

is is

u ggu a a

a aθ

≤ ≤ ≤ ≤

= > <

iji j

j JBi

g b a x∈

= − ∑Value of the

basic variables ij

x

( )

( )

( )

11 110

0

0

0

0

0

0

j s j

j rs jr rr

j ms jm mm

s s

a

a

a

x g u

x g u

x g u

x u

θ

θ

θ

θ

≤ = −

≤ = −

≤ = −

+ ≤

+ ≤

+ ≤

= + ≤

1If min : 0 ,

then the value on the entretring variable

increases to .

The entering variable becomes a basic

variable replacing the leaving variable

becoming a non basic

ir

is

rs is

r

i m

s

s

j

gga

a a

x

x

x

θ

θ

≤ ≤

= = >

variable equal to 0

Pivot on , and go to step 1.rj s

a

Page 30: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Step 2.1: Selecting the leaving variable

• The increase θ of the entering

variable xs is stop by the first of

the following three situations

happening:

i) xs reach its upper bound us

ii) a basic variable decreases

to 0 (in this case )

iii) a basic variable

increases to reach its upper

bound (in ths case

)

Let

rjx

0>rsa

rjx

rju

0rsa <

1 1

min , min : 0 , min : 0j ii i

is issi m i m

is is

u ggu a a

a aθ

≤ ≤ ≤ ≤

= > <

iji j

j JBi

g b a x∈

= − ∑Value of the

basic variables ij

x

( )

( )

( )

11 110

0

0

0

0

0

0

j s j

j rs jr rr

j ms jm mm

s s

a

a

a

x g u

x g u

x g u

x u

θ

θ

θ

θ

≤ = −

≤ = −

≤ = −

+ ≤

+ ≤

+ ≤

= + ≤

1If min : 0 ,

then the value on the entretring variable

increases to .

The entering variable becomes a basic

variable replacing the leaving variable

becoming a

i ir r

is

rs is

r

jj

i m

s

s

j

u gu ga

a a

x

x

x

θ

θ

≤ ≤

−− = = <

− −

non basic variable equal to

Pivot on , and go to step 1.

r

r

j

j s

u

a

Page 31: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Step 1: Selecting the entering variable

The criterion to select the entering variable must be modified to account

for the non basic variables xj being equal to their upper bounds uj since

these variables can be reduced.

Hence, for an index

if , it is interesting to increase xj

if , it is interesting to decrease xj

JBj ∈

0 and 0jjx c= <

and 0jj jx u c= >

{ } { }

{ } { }( )

1 2

1 2 1 2

1

then the solution is optimal

Determine min : 0 and max :

Let min , max ,

If 0, , and the algoithm stops.

If 0 an then the non basic variable increasesd ,

s j sj j jjj JB j JB

s s s s s

s

s s ss

c c x c c x u

c c c c c

c

c c c x

∈ ∈= = = =

= −

< =

1then the non basic variab

, and go to Step 2.1.

If le decre 0 et , , and go to Stases ep 2.2.s s s sxc c c< <

Page 32: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Step 2.2: Selecting the leaving variable

• The decrease θ of the entering

variable xs is stop by the first of

the following three situations

happening:

i) xs reduces to 0

ii) a basic variable decreases

to 0 (in this case )

iii) a basic variable

increases to reach its upper

bound (in this case

)

Let

rjx

0>rsa

rjx

rju

0rsa <

1 1

min , min : 0 , min : 0j ii i

is issi m i m

is is

u ggu a a

a aθ

≤ ≤ ≤ ≤

−= >

<

iji j

j JBi

g b a x∈

= − ∑Value of the

basic variables ij

x

( )

1

For all such that 0, then decreases

when decreases of the value . It follows

= 0

.

Then min : 0

is ji

s

j i is is ii

i

is

iis

i mis

i a x

x

x g a a g

g

a

ga

a

θ

θ θ

θ

θ≤ ≤

<

− − ≥ ⇔ − ≤

⇔ ≤−

≤ <

( )

( )

( )

11 110

0

0

0

j s j

j rs jr rr

j ms jm mm

s s

a

a

a

x g u

x g u

x g u

x u

θ

θ

θ

θ

≤ = −

≤ = −

≤ = −

− ≤

− ≤

− ≤

= − ≥

Page 33: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Step 2.2: Selecting the leaving variable

• The decrease θ of the entering

variable xs is stop by the first of

the following three situations

happening:

i) xs reduces to 0

ii) a basic variable decreases

to 0 (in this case )

iii) a basic variable

increases to reach its upper

bound (in ths case

)

Let

rjx

0>rsa

rjx

rju

0rsa <

1 1

min , min : 0 , min : 0j ii i

is issi m i m

is is

u ggu a a

a aθ

≤ ≤ ≤ ≤

−= >

<

iji j

j JBi

g b a x∈

= − ∑Value of the

basic variables ij

x

( )

1

For all such that 0, then increases

when decreasess of the value . It follows

=

.

Then min : 0

is ji

s

j i is j is j ii i i

j ii

is

j iiis

i mis

i a x

x

x g a u a u g

u g

a

u ga

a

θ

θ θ

θ

θ≤ ≤

>

− − ≤ ⇔ ≤ −

−⇔ ≤

− ≤ >

( )

( )

( )

11 110

0

0

0

j s j

j rs jr rr

j ms jm mm

s s

a

a

a

x g u

x g u

x g u

x u

θ

θ

θ

θ

≤ = −

≤ = −

≤ = −

− ≤

− ≤

− ≤

= − ≥

Page 34: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Step 2.2: Selecting the leaving variable

• The decrease θ of the entering

variable xs is stop by the first of

the following three situations

happening:

i) xs reduces to 0

ii) a basic variable decreases

to 0 (in this case )

iii) a basic variable

increases to reach its upper

bound (in ths case

)

Let

rjx

0>rsa

rjx

rju

0rsa <

1 1

min , min : 0 , min : 0j ii i

is issi m i m

is is

u ggu a a

a aθ

≤ ≤ ≤ ≤

−= >

<

iji j

j JBi

g b a x∈

= − ∑Value of the

basic variables ij

x

( )

( )

( )

11 110

0

0

0

j s j

j rs jr rr

j ms jm mm

s s

a

a

a

x g u

x g u

x g u

x u

θ

θ

θ

θ

≤ = −

≤ = −

≤ = −

− ≤

− ≤

− ≤

= − ≥

If , then the set of basic variables

is not modified, and the same basis is

used at the next iteration.

the variable remains non basic

but its value is modified from to 0.

Go to step 1.

s

s

s

u

x

u

θ =

Page 35: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Step 2.2: Selecting the leaving variable

• The decrease θ of the entering

variable xs is stop by the first of

the following three situations

happening:

i) xs reduces to 0

ii) a basic variable decreases

to 0 (in this case )

iii) a basic variable

increases to reach its upper

bound (in ths case

)

Let

rjx

0>rsa

rjx

rju

0rsa <

1 1

min , min : 0 , min : 0j ii i

is issi m i m

is is

u ggu a a

a aθ

≤ ≤ ≤ ≤

−= >

<

iji j

j JBi

g b a x∈

= − ∑Value of the

basic variables ij

x

( )

( )

( )

11 110

0

0

0

j s j

j rs jr rr

j ms jm mm

s s

a

a

a

x g u

x g u

x g u

x u

θ

θ

θ

θ

≤ = −

≤ = −

≤ = −

− ≤

− ≤

− ≤

= − ≥

1If min : 0 ,

then the value on the entretring variable

is reduced by (i.e., ).

The entering variable becomes a basic

variable replacing the leaving variable

b

ir

is

rs is

r

i m

s

s s

s

j

gga

a a

x

x u

x

x

θ

θ θ

≤ ≤

= = <

− −

← −

ecoming a non basic variable equal to 0

Pivot on , and go to step 1.rj s

a

Page 36: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

Step 2.2: Selecting the leaving variable

• The decrease θ of the entering

variable xs is stop by the first of

the following three situations

happening:

i) xs reduces to 0

ii) a basic variable decreases

to 0 (in this case )

iii) a basic variable

increases to reach its upper

bound (in ths case

)

Let

rjx

0>rsa

rjx

rju

0rsa <

1 1

min , min : 0 , min : 0j ii i

is issi m i m

is is

u ggu a a

a aθ

≤ ≤ ≤ ≤

−= >

<

iji j

j JBi

g b a x∈

= − ∑Value of the

basic variables ij

x

( )

( )

( )

11 110

0

0

0

j s j

j rs jr rr

j ms jm mm

s s

a

a

a

x g u

x g u

x g u

x u

θ

θ

θ

θ

≤ = −

≤ = −

≤ = −

− ≤

− ≤

− ≤

= − ≥

1If min : 0 ,

then the value on the entretring variable

is reduced by (i.e., ).

The entering variable becomes a basic

variable replacing the leaving variabl

i ir r

is

rs is

jj

i m

s

s s

s

u gu ga

a a

x

x u

x

θ

θ θ

≤ ≤

−− = = >

← −

e

becoming a non basic variable equal to

Pivot on , and go to step 1.

r

r

r

j

j

j s

x

u

a

Page 37: Simplex algorithm for problems with bounded variablespotvin/Examen_Predoc/...Simplex method for problems with bounded variables • Consider the linear programming problem with bounded

References

M.S. Bazaraa, J.J. Jarvis, H.D. Sherali, “ Linear Programming and Network Flows”, 3rd edition, Wiley-Interscience (2005), p. 217

F.S. Hillier, G.J. Lieberman, “Introduction to Operations Research”, Mc GrawHill (2005), Section 7.3

D. G. Luenberger, “ Linear and Nonlinear Programming ”, 2nd edition, Addison-Wesley (1984), Section 3.6