Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux...

101
Linear optimization Quentin Louveaux (ULg - Institut Montefiore) Introduction ` a l’Analyse Num´ erique 2013 1 / 28

Transcript of Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux...

Page 1: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Linear optimization

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 1 / 28

Page 2: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Production problem

A furniture company produces two types of chairs from beech and oak wood.

The first type (basic) requires 9 boards of beech wood and 2 boards of oak wood. Abasic chair is easy to construct and requires one worker’s hour.

The second type (classic) requires 7 boards of beech wood and 5 boards of oak wood.Due to the more important completion time, the classic chair requires three worker’shours.

The price of a basic chair is 30 euros whereas a classic chair’s price is 70 euros.

The stock of boards of the entreprise is 800 boards of beech wood and 200 boards of oakwood. There are 4 workers working each 40 hours per week.

What is the number of basic and classic chairs that the entreprise must produce for thisweek ?

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 2 / 28

Page 3: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Production problem

A furniture company produces two types of chairs from beech and oak wood.

The first type (basic) requires 9 boards of beech wood and 2 boards of oak wood. Abasic chair is easy to construct and requires one worker’s hour.

The second type (classic) requires 7 boards of beech wood and 5 boards of oak wood.Due to the more important completion time, the classic chair requires three worker’shours.

The price of a basic chair is 30 euros whereas a classic chair’s price is 70 euros.

The stock of boards of the entreprise is 800 boards of beech wood and 200 boards of oakwood. There are 4 workers working each 40 hours per week.

What is the number of basic and classic chairs that the entreprise must produce for thisweek ?

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 2 / 28

Page 4: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Production problem

A furniture company produces two types of chairs from beech and oak wood.

The first type (basic) requires 9 boards of beech wood and 2 boards of oak wood. Abasic chair is easy to construct and requires one worker’s hour.

The second type (classic) requires 7 boards of beech wood and 5 boards of oak wood.Due to the more important completion time, the classic chair requires three worker’shours.

The price of a basic chair is 30 euros whereas a classic chair’s price is 70 euros.

The stock of boards of the entreprise is 800 boards of beech wood and 200 boards of oakwood. There are 4 workers working each 40 hours per week.

What is the number of basic and classic chairs that the entreprise must produce for thisweek ?

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 2 / 28

Page 5: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Production problem

A furniture company produces two types of chairs from beech and oak wood.

The first type (basic) requires 9 boards of beech wood and 2 boards of oak wood. Abasic chair is easy to construct and requires one worker’s hour.

The second type (classic) requires 7 boards of beech wood and 5 boards of oak wood.Due to the more important completion time, the classic chair requires three worker’shours.

The price of a basic chair is 30 euros whereas a classic chair’s price is 70 euros.

The stock of boards of the entreprise is 800 boards of beech wood and 200 boards of oakwood. There are 4 workers working each 40 hours per week.

What is the number of basic and classic chairs that the entreprise must produce for thisweek ?

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 2 / 28

Page 6: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Production problem

A furniture company produces two types of chairs from beech and oak wood.

The first type (basic) requires 9 boards of beech wood and 2 boards of oak wood. Abasic chair is easy to construct and requires one worker’s hour.

The second type (classic) requires 7 boards of beech wood and 5 boards of oak wood.Due to the more important completion time, the classic chair requires three worker’shours.

The price of a basic chair is 30 euros whereas a classic chair’s price is 70 euros.

The stock of boards of the entreprise is 800 boards of beech wood and 200 boards of oakwood. There are 4 workers working each 40 hours per week.

What is the number of basic and classic chairs that the entreprise must produce for thisweek ?

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 2 / 28

Page 7: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Production problem

A furniture company produces two types of chairs from beech and oak wood.

The first type (basic) requires 9 boards of beech wood and 2 boards of oak wood. Abasic chair is easy to construct and requires one worker’s hour.

The second type (classic) requires 7 boards of beech wood and 5 boards of oak wood.Due to the more important completion time, the classic chair requires three worker’shours.

The price of a basic chair is 30 euros whereas a classic chair’s price is 70 euros.

The stock of boards of the entreprise is 800 boards of beech wood and 200 boards of oakwood. There are 4 workers working each 40 hours per week.

What is the number of basic and classic chairs that the entreprise must produce for thisweek ?

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 2 / 28

Page 8: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Modeling of the problemChoice of the decision variablesxB = Number of basic chairs to construct this weekxC = Number of classic chairs to construct this week

Objective to optimizemax 30xB + 70xC

ConstraintsBeech : 9xB + 7xC ≤ 800Oak : 2xB + 5xC ≤ 200Work : xB + 3xC ≤ 160Other : xB ≥ 0, xC ≥ 0 (and xB , xC integer).

max 30xB+70xC

s.t. 9xB+ 7xC ≤1000

2xB+ 5xC ≤200

xB+ 3xC ≤160

xB , xC ≥0

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 3 / 28

Page 9: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Modeling of the problemChoice of the decision variablesxB = Number of basic chairs to construct this weekxC = Number of classic chairs to construct this week

Objective to optimizemax 30xB + 70xC

ConstraintsBeech : 9xB + 7xC ≤ 800Oak : 2xB + 5xC ≤ 200Work : xB + 3xC ≤ 160Other : xB ≥ 0, xC ≥ 0 (and xB , xC integer).

max 30xB+70xC

s.t. 9xB+ 7xC ≤1000

2xB+ 5xC ≤200

xB+ 3xC ≤160

xB , xC ≥0

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 3 / 28

Page 10: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Modeling of the problemChoice of the decision variablesxB = Number of basic chairs to construct this weekxC = Number of classic chairs to construct this week

Objective to optimizemax 30xB + 70xC

ConstraintsBeech : 9xB + 7xC ≤ 800Oak : 2xB + 5xC ≤ 200Work : xB + 3xC ≤ 160Other : xB ≥ 0, xC ≥ 0 (and xB , xC integer).

max 30xB+70xC

s.t. 9xB+ 7xC ≤1000

2xB+ 5xC ≤200

xB+ 3xC ≤160

xB , xC ≥0

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 3 / 28

Page 11: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Modeling of the problemChoice of the decision variablesxB = Number of basic chairs to construct this weekxC = Number of classic chairs to construct this week

Objective to optimizemax 30xB + 70xC

ConstraintsBeech : 9xB + 7xC ≤ 800Oak : 2xB + 5xC ≤ 200Work : xB + 3xC ≤ 160Other : xB ≥ 0, xC ≥ 0 (and xB , xC integer).

max 30xB+70xC

s.t. 9xB+ 7xC ≤1000

2xB+ 5xC ≤200

xB+ 3xC ≤160

xB , xC ≥0

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 3 / 28

Page 12: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Alloy production

The company Steel has received an order for 500 tons of steel to be used in shipbuilding.This steel must have the following characteristics

Chemical element Minimum grade Maximum gradeCarbon (C) 2 3Copper (Cu) 0.4 0.6Manganese (Mn) 1.2 1.65

The company has seven different raw materials in stock that may be used for theproduction of this steel. The following Table lists the grades, available amounts andprices for all raw materials.

Raw material C % Cu % Mn % Availability in t Cost in e/tIron alloy 1 2.5 0 1.3 400 200Iron alloy 2 3 0 0.8 300 250Iron alloy 3 0 0.3 0 600 150Copper alloy 1 0 90 0 500 220Copper alloy 2 0 96 4 200 240Aluminum alloy 1 0 0.4 1.2 300 200Aluminum alloy 2 0 0.6 0 250 165

The objective is to determine the composition of the steel that minimizes the productioncost.

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 4 / 28

Page 13: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Alloy production

The company Steel has received an order for 500 tons of steel to be used in shipbuilding.This steel must have the following characteristics

Chemical element Minimum grade Maximum gradeCarbon (C) 2 3Copper (Cu) 0.4 0.6Manganese (Mn) 1.2 1.65

The company has seven different raw materials in stock that may be used for theproduction of this steel. The following Table lists the grades, available amounts andprices for all raw materials.

Raw material C % Cu % Mn % Availability in t Cost in e/tIron alloy 1 2.5 0 1.3 400 200Iron alloy 2 3 0 0.8 300 250Iron alloy 3 0 0.3 0 600 150Copper alloy 1 0 90 0 500 220Copper alloy 2 0 96 4 200 240Aluminum alloy 1 0 0.4 1.2 300 200Aluminum alloy 2 0 0.6 0 250 165

The objective is to determine the composition of the steel that minimizes the productioncost.

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 4 / 28

Page 14: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Alloy production

The company Steel has received an order for 500 tons of steel to be used in shipbuilding.This steel must have the following characteristics

Chemical element Minimum grade Maximum gradeCarbon (C) 2 3Copper (Cu) 0.4 0.6Manganese (Mn) 1.2 1.65

The company has seven different raw materials in stock that may be used for theproduction of this steel. The following Table lists the grades, available amounts andprices for all raw materials.

Raw material C % Cu % Mn % Availability in t Cost in e/tIron alloy 1 2.5 0 1.3 400 200Iron alloy 2 3 0 0.8 300 250Iron alloy 3 0 0.3 0 600 150Copper alloy 1 0 90 0 500 220Copper alloy 2 0 96 4 200 240Aluminum alloy 1 0 0.4 1.2 300 200Aluminum alloy 2 0 0.6 0 250 165

The objective is to determine the composition of the steel that minimizes the productioncost.

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 4 / 28

Page 15: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Formulation

Decision Variables

usei : Quantity of alloy i used (i ∈ I )

Objective to optimize

min∑i∈I

pricei usei

Constraints

Carbon : LBC ≤∑

i∈I Ci usei ≤ UBC

Copper : LBCu ≤∑

i∈I Cui usei ≤ UBCu

Manganese :LBMn ≤∑

i∈I Mni usei ≤ UBMn

Availability : 0 ≤ usei ≤ StockiProduction :

∑i∈I usei = Demand

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 5 / 28

Page 16: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Formulation

Decision Variables

usei : Quantity of alloy i used (i ∈ I )

Objective to optimize

min∑i∈I

pricei usei

Constraints

Carbon : LBC ≤∑

i∈I Ci usei ≤ UBC

Copper : LBCu ≤∑

i∈I Cui usei ≤ UBCu

Manganese :LBMn ≤∑

i∈I Mni usei ≤ UBMn

Availability : 0 ≤ usei ≤ StockiProduction :

∑i∈I usei = Demand

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 5 / 28

Page 17: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Formulation

Decision Variables

usei : Quantity of alloy i used (i ∈ I )

Objective to optimize

min∑i∈I

pricei usei

Constraints

Carbon : LBC ≤∑

i∈I Ci usei ≤ UBC

Copper : LBCu ≤∑

i∈I Cui usei ≤ UBCu

Manganese :LBMn ≤∑

i∈I Mni usei ≤ UBMn

Availability : 0 ≤ usei ≤ StockiProduction :

∑i∈I usei = Demand

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 5 / 28

Page 18: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Formulation

Decision Variables

usei : Quantity of alloy i used (i ∈ I )

Objective to optimize

min∑i∈I

pricei usei

Constraints

Carbon : LBC ≤∑

i∈I Ci usei ≤ UBC

Copper : LBCu ≤∑

i∈I Cui usei ≤ UBCu

Manganese :LBMn ≤∑

i∈I Mni usei ≤ UBMn

Availability : 0 ≤ usei ≤ StockiProduction :

∑i∈I usei = Demand

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 5 / 28

Page 19: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Different forms of linear programming

max 2x1 + 3x2

s.t. 3x1 + x2 ≤ 3

x1 − x2 = 2

x1, x2 ≥ 0

min − 2x1 + 3x2

s.t. 3x1 + 4x2 ≥ 3

x1 − 2x2 ≤ 2

x1 ≥ 0,

− 3 ≤ x2 ≤ 0

min 2x1 − 3x2

s.t. 7x1 − x2 ≤ 3

x1 + 2x2 = 5

x1 ≥ 0, x2 ∈ R

Objective : min ou maxConstraints : ≥,≤,=Bounds : ≥ 0,≤ 0, [l , u],R

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 6 / 28

Page 20: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Different forms of linear programming

max 2x1 + 3x2

s.t. 3x1 + x2 ≤ 3

x1 − x2 = 2

x1, x2 ≥ 0

min − 2x1 + 3x2

s.t. 3x1 + 4x2 ≥ 3

x1 − 2x2 ≤ 2

x1 ≥ 0,

− 3 ≤ x2 ≤ 0

min 2x1 − 3x2

s.t. 7x1 − x2 ≤ 3

x1 + 2x2 = 5

x1 ≥ 0, x2 ∈ R

Objective : min ou maxConstraints : ≥,≤,=Bounds : ≥ 0,≤ 0, [l , u],R

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 6 / 28

Page 21: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Different forms of linear programming

max 2x1 + 3x2

s.t. 3x1 + x2 ≤ 3

x1 − x2 = 2

x1, x2 ≥ 0

min − 2x1 + 3x2

s.t. 3x1 + 4x2 ≥ 3

x1 − 2x2 ≤ 2

x1 ≥ 0,

− 3 ≤ x2 ≤ 0

min 2x1 − 3x2

s.t. 7x1 − x2 ≤ 3

x1 + 2x2 = 5

x1 ≥ 0, x2 ∈ R

Objective : min ou maxConstraints : ≥,≤,=Bounds : ≥ 0,≤ 0, [l , u],R

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 6 / 28

Page 22: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Different forms of linear programming

max 2x1 + 3x2

s.t. 3x1 + x2 ≤ 3

x1 − x2 = 2

x1, x2 ≥ 0

min − 2x1 + 3x2

s.t. 3x1 + 4x2 ≥ 3

x1 − 2x2 ≤ 2

x1 ≥ 0,

− 3 ≤ x2 ≤ 0

min 2x1 − 3x2

s.t. 7x1 − x2 ≤ 3

x1 + 2x2 = 5

x1 ≥ 0, x2 ∈ R

Objective : min ou maxConstraints : ≥,≤,=Bounds : ≥ 0,≤ 0, [l , u],R

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 6 / 28

Page 23: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Different forms of linear programming

max 2x1 + 3x2

s.t. 3x1 + x2 ≤ 3

x1 − x2 = 2

x1, x2 ≥ 0

min − 2x1 + 3x2

s.t. 3x1 + 4x2 ≥ 3

x1 − 2x2 ≤ 2

x1 ≥ 0,

− 3 ≤ x2 ≤ 0

min 2x1 − 3x2

s.t. 7x1 − x2 ≤ 3

x1 + 2x2 = 5

x1 ≥ 0, x2 ∈ R

Objective : min ou maxConstraints : ≥,≤,=Bounds : ≥ 0,≤ 0, [l , u],R

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 6 / 28

Page 24: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Different forms of linear programmingWe can go equivalently from one form to the other

Objective :max f (x) ≡ −min −f (x)

max 2x1 − 7x2 ≡ −min−2x1 + 7x2

Constraints :

f (x) ≤ b ≡ −f (x) ≥ −b 2x1 − x2 ≤ 1 ≡ −2x1 + x2 ≥ −1

f (x) = b ≡ f (x) ≤ b et f (x) ≥ b 3x1 − x2 = 3 ≡ 3x1 − x2 ≤ 3 et 3x1 − x2 ≥ 3

f (x) ≤ b ≡ f (x) + s = b, with s ≥ 0 3x1 − 2x2 ≥ 0 ≡ 3x1 − 2x2 − s ≥ 0 with s ≥ 0

Bounds :x ≤ 0 ≡ x := −x et x ≥ 0

y ∈ R → y = y+ − y− and y+, y− ≥ 0 !Not equivalent !

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 7 / 28

Page 25: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Different forms of linear programmingWe can go equivalently from one form to the other

Objective :max f (x) ≡ −min −f (x)

max 2x1 − 7x2 ≡ −min−2x1 + 7x2

Constraints :

f (x) ≤ b ≡ −f (x) ≥ −b 2x1 − x2 ≤ 1 ≡ −2x1 + x2 ≥ −1

f (x) = b ≡ f (x) ≤ b et f (x) ≥ b 3x1 − x2 = 3 ≡ 3x1 − x2 ≤ 3 et 3x1 − x2 ≥ 3

f (x) ≤ b ≡ f (x) + s = b, with s ≥ 0 3x1 − 2x2 ≥ 0 ≡ 3x1 − 2x2 − s ≥ 0 with s ≥ 0

Bounds :x ≤ 0 ≡ x := −x et x ≥ 0

y ∈ R → y = y+ − y− and y+, y− ≥ 0 !Not equivalent !

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 7 / 28

Page 26: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Different forms of linear programmingWe can go equivalently from one form to the other

Objective :max f (x) ≡ −min −f (x)

max 2x1 − 7x2 ≡ −min−2x1 + 7x2

Constraints :

f (x) ≤ b ≡ −f (x) ≥ −b 2x1 − x2 ≤ 1 ≡ −2x1 + x2 ≥ −1

f (x) = b ≡ f (x) ≤ b et f (x) ≥ b 3x1 − x2 = 3 ≡ 3x1 − x2 ≤ 3 et 3x1 − x2 ≥ 3

f (x) ≤ b ≡ f (x) + s = b, with s ≥ 0 3x1 − 2x2 ≥ 0 ≡ 3x1 − 2x2 − s ≥ 0 with s ≥ 0

Bounds :x ≤ 0 ≡ x := −x et x ≥ 0

y ∈ R → y = y+ − y− and y+, y− ≥ 0 !Not equivalent !

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 7 / 28

Page 27: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Different forms of linear programmingWe can go equivalently from one form to the other

Objective :max f (x) ≡ −min −f (x)

max 2x1 − 7x2 ≡ −min−2x1 + 7x2

Constraints :

f (x) ≤ b ≡ −f (x) ≥ −b 2x1 − x2 ≤ 1 ≡ −2x1 + x2 ≥ −1

f (x) = b ≡ f (x) ≤ b et f (x) ≥ b 3x1 − x2 = 3 ≡ 3x1 − x2 ≤ 3 et 3x1 − x2 ≥ 3

f (x) ≤ b ≡ f (x) + s = b, with s ≥ 0 3x1 − 2x2 ≥ 0 ≡ 3x1 − 2x2 − s ≥ 0 with s ≥ 0

Bounds :x ≤ 0 ≡ x := −x et x ≥ 0

y ∈ R → y = y+ − y− and y+, y− ≥ 0 !Not equivalent !

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 7 / 28

Page 28: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Different forms of linear programmingWe can go equivalently from one form to the other

Objective :max f (x) ≡ −min −f (x)

max 2x1 − 7x2 ≡ −min−2x1 + 7x2

Constraints :

f (x) ≤ b ≡ −f (x) ≥ −b 2x1 − x2 ≤ 1 ≡ −2x1 + x2 ≥ −1

f (x) = b ≡ f (x) ≤ b et f (x) ≥ b 3x1 − x2 = 3 ≡ 3x1 − x2 ≤ 3 et 3x1 − x2 ≥ 3

f (x) ≤ b ≡ f (x) + s = b, with s ≥ 0 3x1 − 2x2 ≥ 0 ≡ 3x1 − 2x2 − s ≥ 0 with s ≥ 0

Bounds :x ≤ 0 ≡ x := −x et x ≥ 0

y ∈ R → y = y+ − y− and y+, y− ≥ 0 !Not equivalent !

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 7 / 28

Page 29: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Different forms of linear programmingWe can go equivalently from one form to the other

Objective :max f (x) ≡ −min −f (x)

max 2x1 − 7x2 ≡ −min−2x1 + 7x2

Constraints :

f (x) ≤ b ≡ −f (x) ≥ −b 2x1 − x2 ≤ 1 ≡ −2x1 + x2 ≥ −1

f (x) = b ≡ f (x) ≤ b et f (x) ≥ b 3x1 − x2 = 3 ≡ 3x1 − x2 ≤ 3 et 3x1 − x2 ≥ 3

f (x) ≤ b ≡ f (x) + s = b, with s ≥ 0 3x1 − 2x2 ≥ 0 ≡ 3x1 − 2x2 − s ≥ 0 with s ≥ 0

Bounds :x ≤ 0 ≡ x := −x et x ≥ 0

y ∈ R → y = y+ − y− and y+, y− ≥ 0 !Not equivalent !

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 7 / 28

Page 30: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Standard form

The standard form consists in

Objective : minimization

Constraints : equalities

Bounds : Nonnegative variables

min cT x

s.t. Ax = b

x ∈ Rn+

Exercise : Reduce a given problem into standard form

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 8 / 28

Page 31: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Standard form

The standard form consists in

Objective : minimization

Constraints : equalities

Bounds : Nonnegative variables

min cT x

s.t. Ax = b

x ∈ Rn+

Exercise : Reduce a given problem into standard form

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 8 / 28

Page 32: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Standard form

The standard form consists in

Objective : minimization

Constraints : equalities

Bounds : Nonnegative variables

min cT x

s.t. Ax = b

x ∈ Rn+

Exercise : Reduce a given problem into standard form

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 8 / 28

Page 33: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Standard form

The standard form consists in

Objective : minimization

Constraints : equalities

Bounds : Nonnegative variables

min cT x

s.t. Ax = b

x ∈ Rn+

Exercise : Reduce a given problem into standard form

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 8 / 28

Page 34: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Graphic representationWe can represent a problem in two dimensions graphically.Example :

max x1+2x2 (1)

−x1+2x2 ≤ 1 (2)

−x1+ x2 ≤ 0 (3)

4x1+3x2 ≤ 12 (4)

x1, x2 ≥ 0 (5)

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 9 / 28

Page 35: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Graphic representation

max x1+2x2 (1)

−x1+2x2 ≤ 1 (2)

−x1+ x2 ≤ 0 (3)

4x1+3x2 ≤ 12 (4)

x1, x2 ≥ 0 (5)

1

(3)

(2)

(4)

x

x2

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 9 / 28

Page 36: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Graphic representation

max x1+2x2 (1)

−x1+2x2 ≤ 1 (2)

−x1+ x2 ≤ 0 (3)

4x1+3x2 ≤ 12 (4)

x1, x2 ≥ 0 (5)

������������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������

(3)

(2)

(4)

x

x2

1Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 9 / 28

Page 37: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Graphic representation

max x1+2x2 (1)

−x1+2x2 ≤ 1 (2)

−x1+ x2 ≤ 0 (3)

4x1+3x2 ≤ 12 (4)

x1, x2 ≥ 0 (5)

������������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������

(3)

(2)

(4)

x

x2

1+2xx1 =22

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 9 / 28

Page 38: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Graphic representation

max x1+2x2 (1)

−x1+2x2 ≤ 1 (2)

−x1+ x2 ≤ 0 (3)

4x1+3x2 ≤ 12 (4)

x1, x2 ≥ 0 (5)

������������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������

(3)

(2)

(4)

x

x2

1+2xx1 =42

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 9 / 28

Page 39: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Graphic representation

max x1+2x2 (1)

−x1+2x2 ≤ 1 (2)

−x1+ x2 ≤ 0 (3)

4x1+3x2 ≤ 12 (4)

x1, x2 ≥ 0 (5)

������������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������

(3)

(2)

(4)

x

x2

1+2xx1 2=4.8

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 9 / 28

Page 40: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Degenerate cases

In the example we had a unique solution at a vertex of the polyhedron.Some degenerate cases can lead to different solutions.

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 10 / 28

Page 41: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Degenerate cases

In the example we had a unique solution at a vertex of the polyhedron.Some degenerate cases can lead to different solutions.

min x1 + x2

s.t. − x1 + x2 ≤ 1

x1, x2 ≥ 0

x

x2

1

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 10 / 28

Page 42: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Degenerate cases

In the example we had a unique solution at a vertex of the polyhedron.Some degenerate cases can lead to different solutions.

min x1

s.t. − x1 + x2 ≤ 1

x1, x2 ≥ 0

1x

x2

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 10 / 28

Page 43: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Degenerate cases

In the example we had a unique solution at a vertex of the polyhedron.Some degenerate cases can lead to different solutions.

max − x1 + x2

s.t. − x1 + x2 ≤ 1

x1, x2 ≥ 0

1x

x2

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 10 / 28

Page 44: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Degenerate cases

In the example we had a unique solution at a vertex of the polyhedron.Some degenerate cases can lead to different solutions.

max x1 + x2

s.t. − x1 + x2 ≤ 1

x1, x2 ≥ 0

x

x2

1

5

12

3

4

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 10 / 28

Page 45: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Degenerate cases

In the example we had a unique solution at a vertex of the polyhedron.Some degenerate cases can lead to different solutions.

max x1 + 2x2

s.t. − x1 + x2 ≤ 1

− x1 + x2 ≥ 2

x1, x2 ≥ 0x2

1x

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 10 / 28

Page 46: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Polyhedra

Definition

A polyhedron is a set {x ∈ Rn|Ax ≥ b}

A set of the form Ax ≤ b is also a polyhedron.A set {x ∈ Rn|Ax = b, x ≥ 0} is a polyhedron in standard form.

Definition

Let a ∈ Rn \ {0}.(a) The set {x ∈ Rn|aT x = b} is a hyperplane

(b) The set {x ∈ Rn|aT x ≥ b} is a halfspace

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 11 / 28

Page 47: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Polyhedra

Definition

A polyhedron is a set {x ∈ Rn|Ax ≥ b}

A set of the form Ax ≤ b is also a polyhedron.A set {x ∈ Rn|Ax = b, x ≥ 0} is a polyhedron in standard form.

Definition

Let a ∈ Rn \ {0}.(a) The set {x ∈ Rn|aT x = b} is a hyperplane

(b) The set {x ∈ Rn|aT x ≥ b} is a halfspace

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 11 / 28

Page 48: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Convex Sets

Definition

A set S ⊆ Rn is convex if for all x , y ∈ S and all λ ∈ [0, 1], λx + (1− λ)y ∈ S .

Definition

Let x1, . . . , xk be vectors of Rn.

(i) λ1x1 + · · ·+ λkx

k is a conic combination if λ1, . . . , λk ≥ 0

(ii) λ1x1 + · · ·+ λkx

k is a convex combination if λ1, . . . , λk ≥ 0 and λ1 + · · ·+ λk = 1

(iii) The convex hull of x1, . . . , xk is the set of all convex combinations of x1, . . . , xk .

Theorem

(a) The intersection of two convex sets is convex

(b) Every polyhedron is convex

(c) The convex hull of a finite number of points is a polyhedron.

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 12 / 28

Page 49: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Convex Sets

Definition

A set S ⊆ Rn is convex if for all x , y ∈ S and all λ ∈ [0, 1], λx + (1− λ)y ∈ S .

Definition

Let x1, . . . , xk be vectors of Rn.

(i) λ1x1 + · · ·+ λkx

k is a conic combination if λ1, . . . , λk ≥ 0

(ii) λ1x1 + · · ·+ λkx

k is a convex combination if λ1, . . . , λk ≥ 0 and λ1 + · · ·+ λk = 1

(iii) The convex hull of x1, . . . , xk is the set of all convex combinations of x1, . . . , xk .

Theorem

(a) The intersection of two convex sets is convex

(b) Every polyhedron is convex

(c) The convex hull of a finite number of points is a polyhedron.

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 12 / 28

Page 50: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Convex Sets

Definition

A set S ⊆ Rn is convex if for all x , y ∈ S and all λ ∈ [0, 1], λx + (1− λ)y ∈ S .

Definition

Let x1, . . . , xk be vectors of Rn.

(i) λ1x1 + · · ·+ λkx

k is a conic combination if λ1, . . . , λk ≥ 0

(ii) λ1x1 + · · ·+ λkx

k is a convex combination if λ1, . . . , λk ≥ 0 and λ1 + · · ·+ λk = 1

(iii) The convex hull of x1, . . . , xk is the set of all convex combinations of x1, . . . , xk .

Theorem

(a) The intersection of two convex sets is convex

(b) Every polyhedron is convex

(c) The convex hull of a finite number of points is a polyhedron.

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 12 / 28

Page 51: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Extreme points and vertices

Definition

Let P be a polyhedron. A point x ∈ P is an extreme point of P if there do not exist twopoints y , z ∈ P such that x is a convex combination of y and z .

Definition

Let P be a polyhedron. A point x ∈ P is a vertex of P if there exists c ∈ Rn such thatcT x < cT y for all y ∈ P and y 6= x .

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 13 / 28

Page 52: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Extreme points and vertices

Definition

Let P be a polyhedron. A point x ∈ P is an extreme point of P if there do not exist twopoints y , z ∈ P such that x is a convex combination of y and z .

Definition

Let P be a polyhedron. A point x ∈ P is a vertex of P if there exists c ∈ Rn such thatcT x < cT y for all y ∈ P and y 6= x .

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 13 / 28

Page 53: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Bases of a polyhedron

We subdivide the equalities and inequalities into three categories :

aTi x ≥ bi i ∈ M≥

aTi x ≤ bi i ∈ M≤

aTi x = bi i ∈ M=

Definition

Let x be a point satisfying aTi x = bi for some i ∈ M≥,M≤ or M=. The constraint i issaid to be active or tight.

Theorem

Let x ∈ Rn and let I be the set of active constraints for x . The three followingstatements are equivalent.

(i) There exist n linearly independent vectors in {ai |i ∈ I}(ii) span{ai |i ∈ I} = Rn

(iii) The system aTi x = bi , i ∈ I has a unique solution.

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 14 / 28

Page 54: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Bases of a polyhedron

We subdivide the equalities and inequalities into three categories :

aTi x ≥ bi i ∈ M≥

aTi x ≤ bi i ∈ M≤

aTi x = bi i ∈ M=

Definition

Let x be a point satisfying aTi x = bi for some i ∈ M≥,M≤ or M=. The constraint i issaid to be active or tight.

Theorem

Let x ∈ Rn and let I be the set of active constraints for x . The three followingstatements are equivalent.

(i) There exist n linearly independent vectors in {ai |i ∈ I}(ii) span{ai |i ∈ I} = Rn

(iii) The system aTi x = bi , i ∈ I has a unique solution.

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 14 / 28

Page 55: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Bases of a polyhedron

Definition

Let P be a polyhedron and let x ∈ Rn.

(a) x is a basic solution ifI all equalities (i ∈ M=) are activeI among the active constraints, there are n linearly independent

(b) if x is a basic solution that satisfies all constraints, then x is a feasible basic solution.

Theorem

Let P be a polyhedron and let x ∈ P. The three following statements are equivalent.

(i) x is a vertex

(ii) x is an extreme point

(iii) x is a basic feasible solution

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 15 / 28

Page 56: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Bases of a polyhedron

Definition

Let P be a polyhedron and let x ∈ Rn.

(a) x is a basic solution ifI all equalities (i ∈ M=) are activeI among the active constraints, there are n linearly independent

(b) if x is a basic solution that satisfies all constraints, then x is a feasible basic solution.

Theorem

Let P be a polyhedron and let x ∈ P. The three following statements are equivalent.

(i) x is a vertex

(ii) x is an extreme point

(iii) x is a basic feasible solution

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 15 / 28

Page 57: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Polyhedra in standard form

Consider P = {x ∈ Rn|Ax = b, x ≥ 0}.We assume that the rows of A are linearly independent.

Theorem

A point x is a basic feasible solution if Ax = b and if there exist m indicesB(1), . . . ,B(m) such that

(i) The columns AB(1), . . . ,AB(m) are linearly independent

(ii) If i 6= B(1), . . . ,B(m), then xi = 0

Explanation :

m rowsn rows

(AI

)x

=≥

(b0

)We have n + m constraints and n variables.A basic solution ⇒ n constraints satisfied with equality.The m equalities are automatically satisfied.There are n −m inequalities xi ≥ 0 that are active (the nonbasic variables).There are m inequalities xi ≥ 0 that are possibly not active (basic variables).

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 16 / 28

Page 58: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Polyhedra in standard form

Consider P = {x ∈ Rn|Ax = b, x ≥ 0}.We assume that the rows of A are linearly independent.

Theorem

A point x is a basic feasible solution if Ax = b and if there exist m indicesB(1), . . . ,B(m) such that

(i) The columns AB(1), . . . ,AB(m) are linearly independent

(ii) If i 6= B(1), . . . ,B(m), then xi = 0

Explanation :

m rowsn rows

(AI

)x

=≥

(b0

)We have n + m constraints and n variables.A basic solution ⇒ n constraints satisfied with equality.The m equalities are automatically satisfied.There are n −m inequalities xi ≥ 0 that are active (the nonbasic variables).There are m inequalities xi ≥ 0 that are possibly not active (basic variables).

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 16 / 28

Page 59: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Polyhedra in standard form

Consider P = {x ∈ Rn|Ax = b, x ≥ 0}.We assume that the rows of A are linearly independent.

Theorem

A point x is a basic feasible solution if Ax = b and if there exist m indicesB(1), . . . ,B(m) such that

(i) The columns AB(1), . . . ,AB(m) are linearly independent

(ii) If i 6= B(1), . . . ,B(m), then xi = 0

Explanation :

m rowsn rows

(AI

)x

=≥

(b0

)We have n + m constraints and n variables.A basic solution ⇒ n constraints satisfied with equality.The m equalities are automatically satisfied.There are n −m inequalities xi ≥ 0 that are active (the nonbasic variables).There are m inequalities xi ≥ 0 that are possibly not active (basic variables).

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 16 / 28

Page 60: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Construction of a basis

Procedure ( 6= Algorithm)

(i) Choose m linearly independent columns AB(1), . . . ,AB(m)

(ii) xi = 0 for all i 6= B(1), . . . ,B(m)

(iii) Solve Ax = b for the unknowns xB(1), . . . , xB(m)

If the solution x ≥ 0, then x is a basic feasible solution.We construct the basic matrix as

AB =(

AB(1) AB(2) · · · AB(m)

)The nonbasic matrix N corresponds to nonbasic indices.The basic vector is xB = (xB(1), . . . , xB(m)) and the nonbasic vector corresponds to theother indices.We have

ABxB = b

xN = 0

ABxB + ANxN = b

Example

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 17 / 28

Page 61: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Construction of a basis

Procedure ( 6= Algorithm)

(i) Choose m linearly independent columns AB(1), . . . ,AB(m)

(ii) xi = 0 for all i 6= B(1), . . . ,B(m)

(iii) Solve Ax = b for the unknowns xB(1), . . . , xB(m)

If the solution x ≥ 0, then x is a basic feasible solution.We construct the basic matrix as

AB =(

AB(1) AB(2) · · · AB(m)

)The nonbasic matrix N corresponds to nonbasic indices.The basic vector is xB = (xB(1), . . . , xB(m)) and the nonbasic vector corresponds to theother indices.We have

ABxB = b

xN = 0

ABxB + ANxN = b

Example

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 17 / 28

Page 62: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Construction of a basis

Procedure ( 6= Algorithm)

(i) Choose m linearly independent columns AB(1), . . . ,AB(m)

(ii) xi = 0 for all i 6= B(1), . . . ,B(m)

(iii) Solve Ax = b for the unknowns xB(1), . . . , xB(m)

If the solution x ≥ 0, then x is a basic feasible solution.We construct the basic matrix as

AB =(

AB(1) AB(2) · · · AB(m)

)The nonbasic matrix N corresponds to nonbasic indices.The basic vector is xB = (xB(1), . . . , xB(m)) and the nonbasic vector corresponds to theother indices.We have

ABxB = b

xN = 0

ABxB + ANxN = b

Example

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 17 / 28

Page 63: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Construction of a basis

Procedure ( 6= Algorithm)

(i) Choose m linearly independent columns AB(1), . . . ,AB(m)

(ii) xi = 0 for all i 6= B(1), . . . ,B(m)

(iii) Solve Ax = b for the unknowns xB(1), . . . , xB(m)

If the solution x ≥ 0, then x is a basic feasible solution.We construct the basic matrix as

AB =(

AB(1) AB(2) · · · AB(m)

)The nonbasic matrix N corresponds to nonbasic indices.The basic vector is xB = (xB(1), . . . , xB(m)) and the nonbasic vector corresponds to theother indices.We have

ABxB = b

xN = 0

ABxB + ANxN = b

Example

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 17 / 28

Page 64: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Construction of a basis

Procedure ( 6= Algorithm)

(i) Choose m linearly independent columns AB(1), . . . ,AB(m)

(ii) xi = 0 for all i 6= B(1), . . . ,B(m)

(iii) Solve Ax = b for the unknowns xB(1), . . . , xB(m)

If the solution x ≥ 0, then x is a basic feasible solution.We construct the basic matrix as

AB =(

AB(1) AB(2) · · · AB(m)

)The nonbasic matrix N corresponds to nonbasic indices.The basic vector is xB = (xB(1), . . . , xB(m)) and the nonbasic vector corresponds to theother indices.We have

ABxB = b

xN = 0

ABxB + ANxN = b

Example

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 17 / 28

Page 65: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Some important remarks

Correspondence between the base and the basic solutionTwo different bases could lead to the same solution x .

Adjacent BasesTwo bases are adjacent they differ by only one index.Differently stated they have n − 1 indices in common !

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 18 / 28

Page 66: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Some important remarks

Correspondence between the base and the basic solutionTwo different bases could lead to the same solution x .

Adjacent BasesTwo bases are adjacent they differ by only one index.Differently stated they have n − 1 indices in common !

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 18 / 28

Page 67: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Some important remarks

Correspondence between the base and the basic solutionTwo different bases could lead to the same solution x .

Adjacent BasesTwo bases are adjacent they differ by only one index.Differently stated they have n − 1 indices in common !

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 18 / 28

Page 68: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Some important remarks

Correspondence between the base and the basic solutionTwo different bases could lead to the same solution x .

Adjacent BasesTwo bases are adjacent they differ by only one index.Differently stated they have n − 1 indices in common !

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 18 / 28

Page 69: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Some important remarks

Correspondence between the base and the basic solutionTwo different bases could lead to the same solution x .

Adjacent BasesTwo bases are adjacent they differ by only one index.Differently stated they have n − 1 indices in common !

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 18 / 28

Page 70: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Some important remarks

Correspondence between the base and the basic solutionTwo different bases could lead to the same solution x .

Adjacent BasesTwo bases are adjacent they differ by only one index.Differently stated they have n − 1 indices in common !

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 18 / 28

Page 71: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Degenerescence

Definition

A basic solution x ∈ Rn is degenerate if more than n constraints are active at the solution.

Degenerescence for a standard form

Let P = {x ∈ Rn|Ax = b, x ≥ 0}, with A ∈ Rm×n. A basic solution x is degenerate if xhas more than n −m zero elements.

Remark : Degenerescence may be representation-dependent.A non degenerate basis can be degenerate in another representation of the problem andconversely.Example :

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 19 / 28

Page 72: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Degenerescence

Definition

A basic solution x ∈ Rn is degenerate if more than n constraints are active at the solution.

Degenerescence for a standard form

Let P = {x ∈ Rn|Ax = b, x ≥ 0}, with A ∈ Rm×n. A basic solution x is degenerate if xhas more than n −m zero elements.

Remark : Degenerescence may be representation-dependent.A non degenerate basis can be degenerate in another representation of the problem andconversely.Example :

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 19 / 28

Page 73: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Degenerescence

Definition

A basic solution x ∈ Rn is degenerate if more than n constraints are active at the solution.

Degenerescence for a standard form

Let P = {x ∈ Rn|Ax = b, x ≥ 0}, with A ∈ Rm×n. A basic solution x is degenerate if xhas more than n −m zero elements.

Remark : Degenerescence may be representation-dependent.A non degenerate basis can be degenerate in another representation of the problem andconversely.Example :

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 19 / 28

Page 74: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

The simplex algorithm

Principle

Start at a feasible basic solution

Check whether the current basis is optimal

If not, find a direction of improvement

The direction of improvement leads to either . . . a better feasible basic solution

or . . . proving that the problem is unbounded

Fundamental question

Let x be a feasible basic solution.Find a direction d such that x + θd is feasible for some θ ≥ 0

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 20 / 28

Page 75: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

The simplex algorithm

Principle

Start at a feasible basic solution

Check whether the current basis is optimal

If not, find a direction of improvement

The direction of improvement leads to either . . . a better feasible basic solution

or . . . proving that the problem is unbounded

Fundamental question

Let x be a feasible basic solution.Find a direction d such that x + θd is feasible for some θ ≥ 0

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 20 / 28

Page 76: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

The simplex algorithm

Principle

Start at a feasible basic solution

Check whether the current basis is optimal

If not, find a direction of improvement

The direction of improvement leads to either . . . a better feasible basic solution

or . . . proving that the problem is unbounded

Fundamental question

Let x be a feasible basic solution.Find a direction d such that x + θd is feasible for some θ ≥ 0

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 20 / 28

Page 77: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Finding a feasible direction from a basic feasible solution

Given : x = (xB xN) ∈ PFind d such that x + dθ ∈ P

We want to change at least one nonbasic solution.Select one index j ∈ N

dj = 1 di = 0 for all i 6= j

We have Ax = b and A(x + θd) = b ⇒ Ad = 0

0 = Ad =n∑

i=1

AB(i)dB(i) + Aj

BdB + Aj

dB = −B−1Aj is the j th basic direction

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 21 / 28

Page 78: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Finding a feasible direction from a basic feasible solution

Given : x = (xB xN) ∈ PFind d such that x + dθ ∈ P

We want to change at least one nonbasic solution.Select one index j ∈ N

dj = 1 di = 0 for all i 6= j

We have Ax = b and A(x + θd) = b ⇒ Ad = 0

0 = Ad =n∑

i=1

AB(i)dB(i) + Aj

BdB + Aj

dB = −B−1Aj is the j th basic direction

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 21 / 28

Page 79: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Finding a feasible direction from a basic feasible solution

Given : x = (xB xN) ∈ PFind d such that x + dθ ∈ P

We want to change at least one nonbasic solution.Select one index j ∈ N

dj = 1 di = 0 for all i 6= j

We have Ax = b and A(x + θd) = b ⇒ Ad = 0

0 = Ad =n∑

i=1

AB(i)dB(i) + Aj

BdB + Aj

dB = −B−1Aj is the j th basic direction

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 21 / 28

Page 80: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Finding a feasible direction from a basic feasible solution

Given : x = (xB xN) ∈ PFind d such that x + dθ ∈ P

We want to change at least one nonbasic solution.Select one index j ∈ N

dj = 1 di = 0 for all i 6= j

We have Ax = b and A(x + θd) = b ⇒ Ad = 0

0 = Ad =n∑

i=1

AB(i)dB(i) + Aj

BdB + Aj

dB = −B−1Aj is the j th basic direction

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 21 / 28

Page 81: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Taking care of the nonnegativity constraints

Nonbasic variables : xi (i 6= j) : = 0 : ⇒ OK !xj : goes in the positive direction ⇒ OK !

Basic VariablesNondegenerate case : xB > 0Therefore xB + θdB ≥ 0 for θ sufficiently small

Degenerate case : xB(i) = 0 for some i2 cases(1) (dB)i = (−B−1Aj)i ≥ 0 ⇒ feasible for θ small enough(2) (dB)i = (−B−1Aj)i < 0 ⇒ not feasible for any θ

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 22 / 28

Page 82: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Taking care of the nonnegativity constraints

Nonbasic variables : xi (i 6= j) : = 0 : ⇒ OK !xj : goes in the positive direction ⇒ OK !

Basic VariablesNondegenerate case : xB > 0Therefore xB + θdB ≥ 0 for θ sufficiently small

Degenerate case : xB(i) = 0 for some i2 cases(1) (dB)i = (−B−1Aj)i ≥ 0 ⇒ feasible for θ small enough(2) (dB)i = (−B−1Aj)i < 0 ⇒ not feasible for any θ

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 22 / 28

Page 83: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Taking care of the nonnegativity constraints

Nonbasic variables : xi (i 6= j) : = 0 : ⇒ OK !xj : goes in the positive direction ⇒ OK !

Basic VariablesNondegenerate case : xB > 0Therefore xB + θdB ≥ 0 for θ sufficiently small

Degenerate case : xB(i) = 0 for some i2 cases(1) (dB)i = (−B−1Aj)i ≥ 0 ⇒ feasible for θ small enough(2) (dB)i = (−B−1Aj)i < 0 ⇒ not feasible for any θ

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 22 / 28

Page 84: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Checking optimality

Essential question : Is the current basis optimal or can we find a basic direction thatimproves the objective function ?Definition : cB = (cB(1), . . . , cB(m))Let us compute the rate of objective change for the j th basic direction.d = (dB dN) with dB = −B−1Aj dN = ej

cTd = cTdB + cTdN

= −cTB B−1Aj + cj

Definition

The reduced cost of the j th nonbasic variable is

cj = cj − cTB B−1Aj .

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 23 / 28

Page 85: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Checking optimality

Essential question : Is the current basis optimal or can we find a basic direction thatimproves the objective function ?Definition : cB = (cB(1), . . . , cB(m))Let us compute the rate of objective change for the j th basic direction.d = (dB dN) with dB = −B−1Aj dN = ej

cTd = cTdB + cTdN

= −cTB B−1Aj + cj

Definition

The reduced cost of the j th nonbasic variable is

cj = cj − cTB B−1Aj .

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 23 / 28

Page 86: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Optimality Criterion

Theorem

Consider a basic feasible solution x

(i) If c ≥ 0 then x is optimal

(ii) If x is optimal and nondegenerate then c ≥ 0.

Definition

A basis matrix B is said to be optimal if

(i) B−1b ≥ 0 and

(ii) c = −cTB B−1A ≥ 0

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 24 / 28

Page 87: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Optimality Criterion

Theorem

Consider a basic feasible solution x

(i) If c ≥ 0 then x is optimal

(ii) If x is optimal and nondegenerate then c ≥ 0.

Definition

A basis matrix B is said to be optimal if

(i) B−1b ≥ 0 and

(ii) c = −cTB B−1A ≥ 0

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 24 / 28

Page 88: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Simplex algorithm

Iterative step : From a basis B doIf cj ≥ 0 for all j

then the current basis is optimalelse select a nonbasic variable j with cj < 0

We bring j into the basisWe now look for θ maximal such that x + θd ∈ P

If di ≥ 0 for all i ∈ Bthen x + θd ≥ 0 for all θ ≥ 0

The problem is unbounded and OPT = −∞If di < for some i ∈ B

then θ∗ = min{i∈B|dB(i)<0}

(− xB(i)

dB(i)

).

Variable i achieving the minimum goes out of the basisWe move to the next vertex (basic feasible solution)

B ← B ∪ {j} \ {i}New point:= x + θ∗d

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 25 / 28

Page 89: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Simplex algorithm

Iterative step : From a basis B doIf cj ≥ 0 for all j

then the current basis is optimalelse select a nonbasic variable j with cj < 0

We bring j into the basisWe now look for θ maximal such that x + θd ∈ P

If di ≥ 0 for all i ∈ Bthen x + θd ≥ 0 for all θ ≥ 0

The problem is unbounded and OPT = −∞If di < for some i ∈ B

then θ∗ = min{i∈B|dB(i)<0}

(− xB(i)

dB(i)

).

Variable i achieving the minimum goes out of the basisWe move to the next vertex (basic feasible solution)

B ← B ∪ {j} \ {i}New point:= x + θ∗d

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 25 / 28

Page 90: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Simplex algorithm

Iterative step : From a basis B doIf cj ≥ 0 for all j

then the current basis is optimalelse select a nonbasic variable j with cj < 0

We bring j into the basisWe now look for θ maximal such that x + θd ∈ P

If di ≥ 0 for all i ∈ Bthen x + θd ≥ 0 for all θ ≥ 0

The problem is unbounded and OPT = −∞If di < for some i ∈ B

then θ∗ = min{i∈B|dB(i)<0}

(− xB(i)

dB(i)

).

Variable i achieving the minimum goes out of the basisWe move to the next vertex (basic feasible solution)

B ← B ∪ {j} \ {i}New point:= x + θ∗d

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 25 / 28

Page 91: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Simplex algorithm

Iterative step : From a basis B doIf cj ≥ 0 for all j

then the current basis is optimalelse select a nonbasic variable j with cj < 0

We bring j into the basisWe now look for θ maximal such that x + θd ∈ P

If di ≥ 0 for all i ∈ Bthen x + θd ≥ 0 for all θ ≥ 0

The problem is unbounded and OPT = −∞If di < for some i ∈ B

then θ∗ = min{i∈B|dB(i)<0}

(− xB(i)

dB(i)

).

Variable i achieving the minimum goes out of the basisWe move to the next vertex (basic feasible solution)

B ← B ∪ {j} \ {i}New point:= x + θ∗d

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 25 / 28

Page 92: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Simplex algorithm

Iterative step : From a basis B doIf cj ≥ 0 for all j

then the current basis is optimalelse select a nonbasic variable j with cj < 0

We bring j into the basisWe now look for θ maximal such that x + θd ∈ P

If di ≥ 0 for all i ∈ Bthen x + θd ≥ 0 for all θ ≥ 0

The problem is unbounded and OPT = −∞If di < for some i ∈ B

then θ∗ = min{i∈B|dB(i)<0}

(− xB(i)

dB(i)

).

Variable i achieving the minimum goes out of the basisWe move to the next vertex (basic feasible solution)

B ← B ∪ {j} \ {i}New point:= x + θ∗d

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 25 / 28

Page 93: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Simplex algorithm

Iterative step : From a basis B doIf cj ≥ 0 for all j

then the current basis is optimalelse select a nonbasic variable j with cj < 0

We bring j into the basisWe now look for θ maximal such that x + θd ∈ P

If di ≥ 0 for all i ∈ Bthen x + θd ≥ 0 for all θ ≥ 0

The problem is unbounded and OPT = −∞If di < for some i ∈ B

then θ∗ = min{i∈B|dB(i)<0}

(− xB(i)

dB(i)

).

Variable i achieving the minimum goes out of the basisWe move to the next vertex (basic feasible solution)

B ← B ∪ {j} \ {i}New point:= x + θ∗d

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 25 / 28

Page 94: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Simplex algorithm

Iterative step : From a basis B doIf cj ≥ 0 for all j

then the current basis is optimalelse select a nonbasic variable j with cj < 0

We bring j into the basisWe now look for θ maximal such that x + θd ∈ P

If di ≥ 0 for all i ∈ Bthen x + θd ≥ 0 for all θ ≥ 0

The problem is unbounded and OPT = −∞If di < for some i ∈ B

then θ∗ = min{i∈B|dB(i)<0}

(− xB(i)

dB(i)

).

Variable i achieving the minimum goes out of the basisWe move to the next vertex (basic feasible solution)

B ← B ∪ {j} \ {i}New point:= x + θ∗d

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 25 / 28

Page 95: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

The operation of moving to another basis

In an iteration of the simplex algorithm, in the basis, we replace the variable i such that

i = arg min{−xB(i)

dB(i)| i ∈ B with dB(i) < 0}

by the variable j entering the basis (that was chosen with cj < 0).

Theorem

(i) The columns AB(k), k 6= i and Aj are linearly independent

(ii) The vector y = x + θ∗d is a basic feasible solution associated with the new basismatrix.

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 26 / 28

Page 96: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

The operation of moving to another basis

In an iteration of the simplex algorithm, in the basis, we replace the variable i such that

i = arg min{−xB(i)

dB(i)| i ∈ B with dB(i) < 0}

by the variable j entering the basis (that was chosen with cj < 0).

Theorem

(i) The columns AB(k), k 6= i and Aj are linearly independent

(ii) The vector y = x + θ∗d is a basic feasible solution associated with the new basismatrix.

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 26 / 28

Page 97: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Finding an intial basis

2 issues : finding a feasible solution and finding the corresponding basis.

One easy case

Consider a problem of the type Ax ≤ b where b ≥ 0.The standard form, if we add the slack variables

a11x1 + · · ·+ a1nxn+s1 = b1

.... . .

am1x1 + · · ·+ amnxn +sm= bm

The point (x1 = 0, · · · , xn = 0) is a feasible solution and (s1 · · · sm) is the correspondingbasis.

In general

It is not easy to find a feasible basis.One can try any basis (choice of m variables) but there is no guarantee that it is feasible.In some cases, the problem is infeasible → it might be impossible to find a basic feasiblesolution.

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 27 / 28

Page 98: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Finding an intial basis

2 issues : finding a feasible solution and finding the corresponding basis.

One easy case

Consider a problem of the type Ax ≤ b where b ≥ 0.The standard form, if we add the slack variables

a11x1 + · · ·+ a1nxn+s1 = b1

.... . .

am1x1 + · · ·+ amnxn +sm= bm

The point (x1 = 0, · · · , xn = 0) is a feasible solution and (s1 · · · sm) is the correspondingbasis.

In general

It is not easy to find a feasible basis.One can try any basis (choice of m variables) but there is no guarantee that it is feasible.In some cases, the problem is infeasible → it might be impossible to find a basic feasiblesolution.

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 27 / 28

Page 99: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Using a linear program and the simplex algorithm to find an initial basis

Phase I

Consider a problem of the type Ax = b, x ∈ Rn+ where we assume (after suitable

multiplication of rows by −1) that b ≥ 0.

min ξ1 + · · ·+ ξm

a11x1 + · · ·+ a1nxn + ξ1 = b1

.... . .

...

am1x1 + · · ·+ amnxn + ξm = bm

If the optimal solution of the phase 1 problem is > 0 ⇒ the initial problem isinfeasible.

If the initial problem is feasible ⇒ the phase 1 problem has 0 as optimal solution

One more issue : how to obtain an initial basis for the original problem without ξivariables in it

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 28 / 28

Page 100: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Using a linear program and the simplex algorithm to find an initial basis

Phase I

Consider a problem of the type Ax = b, x ∈ Rn+ where we assume (after suitable

multiplication of rows by −1) that b ≥ 0.

min ξ1 + · · ·+ ξm

a11x1 + · · ·+ a1nxn + ξ1 = b1

.... . .

...

am1x1 + · · ·+ amnxn + ξm = bm

If the optimal solution of the phase 1 problem is > 0 ⇒ the initial problem isinfeasible.

If the initial problem is feasible ⇒ the phase 1 problem has 0 as optimal solution

One more issue : how to obtain an initial basis for the original problem without ξivariables in it

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 28 / 28

Page 101: Introduction à l'Analyse Numériqueama/courses/math0006-3/course/AN2015-S4.pdf · Quentin Louveaux (ULg - Institut Monte ore) Introduction a l’Analyse Num erique 2013 4 / 28 Alloy

Using a linear program and the simplex algorithm to find an initial basis

Phase I

Consider a problem of the type Ax = b, x ∈ Rn+ where we assume (after suitable

multiplication of rows by −1) that b ≥ 0.

min ξ1 + · · ·+ ξm

a11x1 + · · ·+ a1nxn + ξ1 = b1

.... . .

...

am1x1 + · · ·+ amnxn + ξm = bm

If the optimal solution of the phase 1 problem is > 0 ⇒ the initial problem isinfeasible.

If the initial problem is feasible ⇒ the phase 1 problem has 0 as optimal solution

One more issue : how to obtain an initial basis for the original problem without ξivariables in it

Quentin Louveaux (ULg - Institut Montefiore) Introduction a l’Analyse Numerique 2013 28 / 28