• Aucun résultat trouvé

3. Variantes de l’algorithme du simplexe

N/A
N/A
Protected

Academic year: 2022

Partager "3. Variantes de l’algorithme du simplexe"

Copied!
79
0
0

Texte intégral

(1)

3. Variantes de l’algorithme du

simplexe

(2)

Les deux phases du simplexe

• Pour initialiser l’algorithme du simplexe, il faut déterminer une solution de base initiale.

• Or une telle solution de base initiale n’est pas nécessairement disponible.

• De plus, en général, nous ne savons même pas si le domaine réalisable n’est pas vide.

• La phase I du simplexe:

→ indique si le problème est réalisable (i.e., son domaine réalisable n’est pas vide)

→ si oui, fournit l’information pour générer une solution de base initiale.

(3)

Cas simple

• Soit le problème de programmation linéaire suivant:

n j

x

b x

a x

a x

a

b x

a x

a x

a

b x

a x

a x

a à Sujet

x c x

c x

c z

j

m n

mn m

m

n n n n

n n

,..., 2 , 1 0

...

. .

. .

. .

. .

...

...

min

2 2 1

1

2 2

2 22 1

21

1 1

2 12 1

11

2 2 1

1

 En utilisant les variables

d’écart xn+1 xn+2

. .

xn+m

(4)

Cas simple

• Le problème devient

m n

n n j

x

z x

c x

c x

c

b x

x a x

a x

a

b x

x a x

a x

a

b x

x a x

a x

a à Sujet

z

j

n n

m m

n n

mn m

m

n n n

n n

n

, , 1 ,

,..., 2 , 1 0

0 ...

...

. .

. .

. .

. .

. .

. .

...

...

min

2 2 1

1

2 2 1

1

2 2

2 2

22 1

21

1 1

1 2

12 1

11

Les variables de base de la solution initiale sont xn+1, xn+2,…, xn+m

(5)

Cas plus compliqué

• Considérons plutôt le problème suivant:

n j

x

b x

a x

a x

a

b x

a x

a x

a

b x

a x

a x

a à Sujet

x c x

c x

c z

j

m n

mn m

m

n n n n

n n

,..., 2 , 1 0

...

. .

. .

. .

. .

...

...

min

2 2 1

1

2 2

2 22 1

21

1 1

2 12 1

11

2 2 1

1

 En utilisant les variables

d’écart xn+1 xn+2

. .

xn+m

(6)

Cas plus compliqué

• Alors le problème devient

m n

n n j

x

z x

c x

c x

c

b x

x a x

a x

a

b x

x a x

a x

a

b x

x a x

a x

a à Sujet

z

j

n n

m m

n n

mn m

m

n n n

n n

n

, , 1 ,

,..., 2 , 1 0

0 ...

...

. .

. .

. .

. .

. .

. .

...

...

min

2 2 1

1

2 2 1

1

2 2

2 2

22 1

21

1 1

1 2

12 1

11

La solution de base où xn+1, xn+2,…, xn+m sont les variables de base n’est pas réalisable

car les valeurs des variables

xn+i = –bi ≤ 0 i = 1,2,…,m

lorsque les variables hors base sont égales à 0

(7)

Cas général

• Dans le cas général où le problème est de la forme

n j

x

b x

a x

a x

a

b x

a x

a x

a

b x

a x

a x

a à Sujet

x c x

c x

c z

j

m n

mn m

m

n n n n

n n

,..., 2 , 1 0

...

. .

. .

. .

. .

...

...

min

2 2 1

1

2 2

2 22 1

21

1 1

2 12 1

11

2 2 1

1

Nous utilisons une phase préliminaire (Phase I)

Introduisons les variables artificielles

t1 t2 . . tm

Construisons un problème artificiel

(8)

Solution de base réalisable initiale

• Les contraintes deviennent donc

Les variables t1, t2,…, tm sont les variables de base d’une solution de base réalisable de ce système

m i

t n

j x

b t

x a

x a

x a

b t

x a x

a x

a

b t

x a x

a x

a

i j

m m

n mn m

m

n n n n

,..., 2 , 1 0

; ,..., 2 , 1 0

...

. .

. .

. .

. .

. .

. .

...

...

2 2 1

1

2 2

2 2

22 1

21

1 1

1 2

12 1

11

(9)

Probème artificiel

• Dans le cas général où le problème est de la forme

n j

x

b x

a x

a x

a

b x

a x

a x

a

b x

a x

a x

a à Sujet

x c x

c x

c z

j

m n

mn m

m

n n n n

n n

,..., 2 , 1 0

...

. .

. .

. .

. .

...

...

min

2 2 1

1

2 2

2 22 1

21

1 1

2 12 1

11

2 2 1

1

Nous utilisons une phase préliminaire (Phase I)

Introduisons les variables artificielles

t1 t2 . . tm

Construisons un problème artificiel

Remplaçons la fonction économique

(10)

Problème artificiel

• Le problème artificielle de la phase I est donc de la forme

Résolvons ce problème avec l’algorithme du simplexe

m i

t n

j x

w t

t t

b t

x a x

a x

a

b t

x a x

a x

a

b t

x a x

a x

a à Sujet

w

i j

m

m m

n mn m

m

n n n n

,..., 2 , 1 0

; ,..., 2 , 1 0

0 ...

...

. .

. .

. .

. .

. .

. .

...

...

min

2 1

2 2 1

1

2 2

2 2

22 1

21

1 1

1 2

12 1

11

(11)

Problème artificiel

w t

t t

b t

x a x

a x

a

b t

x a x

a x

a

b t

x a x

a x

a à Sujet

w

m

m m

n mn m

m

n n n n

0 ...

...

. .

. .

. .

. .

. .

. .

...

...

min

2 1

2 2 1

1

2 2

2 2

22 1

21

1 1

1 2

12 1

11

Générons un problème équivalent en soustrayant chacune des m premières contraintes de celle

associée à la fonction économique

m

i

ij

j a

d

1

m

i

bi

w

1 0

Définissons

(12)

Problème artificiel équivalent

• Le problème équivalent est donc de la forme

m i

t n

j x

w w

x d x

d x

d

b t

x a x

a x

a

b t

x a x

a x

a

b t

x a x

a x

a à Sujet

w

i j

m n

m m

n mn m

m

n n n n

,..., 2 , 1 0

; ,..., 2 , 1 0

...

...

. .

. .

. .

. .

. .

. .

...

...

min

0 2

2 1

1

2 2 1

1

2 2

2 2

22 1

21

1 1

1 2

12 1

11

m

i

ij

j a

d

1

m

i

bi

w

1 0

(13)

Résolution du problème de la phase I

• Ce problème est résolu avec l’algorithme du simplexe.

• Les variables artificielles t1, t2 ,…, tm sont les variables de base de la

solution initiale puisque leur valeur est non négative lorsque les variables xj du problème original sont fixées à 0.

m i

t n

j x

w t

t t

b t

x a x

a x a

b t

x a x

a x a

b t

x a x

a x a

à Sujet

w

i j

m

m m

n mn m

m

n n n n

,..., 2 , 1 0

; ,..., 2 , 1 0

0 ...

...

. .

. .

. .

. .

. .

. .

...

...

min

2 1 2

2 1

1

2 2

2 2

22 1

21

1 1

1 2

12 1

11

(14)

Résultat de la phase I

Proposition À la fin de la phase I

(i) si la valeur optimale min w de la fonction économique est positive (i.e., min w > 0), alors le domaine réalisable du problème original est vide (i.e., le problème original n’est pas réalisable)

(ii) si la valeur optimale min w de la fonction économique est nulle (i.e., min w = 0), alors le domaine réalisable du

problème original n’est pas vide (i.e., le problème original est réalisable).

m i

t n j

x

w t t

t

b t

x a x

a x a

b t

x a x

a x a

b t

x a x

a x a

à Sujet

w

i j

m

m m

n mn m

m

n n n n

,..., 2 , 1 0

; ,..., 2 , 1 0

0 ...

...

. . . . .

.

. . . . .

.

...

...

min

2 1 2

2 1 1

2 2

2 2

22 1 21

1 1

1 2

12 1 11

(15)

Résultat de la phase I

Preuve

(i) (Preuve par contraposée)

Si le domaine réalisable du problème original n’est pas vide,

n j

x

b x

a x

a x a

b x

a x

a x a

b x

a x

a x a

à Sujet

x c x

c x c z

j

m n

mn m

m

n n n n

n n

,..., 2 , 1 0

...

. .

. .

. .

. .

...

...

min

2 2 1

1

2 2

2 22 1

21

1 1

2 12 1

11

2 2 1 1

(16)

Résultat de la phase I

Preuve

(i) (Preuve par contraposée)

Si le domaine réalisable du problème original n’est pas vide, substituons ces valeurs des variables xj dans le problème de la phase I

n j

x

b x

a x

a x a

b x

a x

a x a

b x

a x

a x a

à Sujet

x c x

c x c z

j

m n

mn m

m

n n n n

n n

,..., 2 , 1 0

...

. .

. .

. .

. .

...

...

min

2 2 1

1

2 2

2 22 1

21

1 1

2 12 1

11

2 2 1 1

(17)

Résultat de la phase I

Preuve

(i) (Preuve par contraposée)

Si le domaine réalisable du problème original n’est pas vide, substituons ces valeurs des variables xj dans le problème de la phase I

m i

t n

j x

w t

t t

b t

x a x

a x a

b t

x a x

a x a

b t

x a x

a x a

à Sujet

w

i j

m

m m

n mn m

m

n n n n

,..., 2 , 1 0

; ,..., 2 , 1 0

0 ...

...

. . . .

. .

. . . .

. .

...

...

min

2 1 2

2 1

1

2 2

2 2

22 1

21

1 1

1 2

12 1

11

(18)

Résultat de la phase I

Preuve

(i) (Preuve par contraposée)

Si le domaine réalisable du problème original n’est pas vide, substituons ces valeurs des variables xj dans le problème de la phase I

pour obtenir une solution

réalisable où toutes les variables ti sont égales à 0 et où la

valeur de la fonction économique w = 0.

x j n t t t it w m

b t

x a x

a x a

b t

x a x

a x a

b t

x a x

a x a

à Sujet

w

i j

m

m m

n mn m

m

n n n n

,..., 2 , 1 0

; ,..., 2 , 1 0

0 ...

...

. . . .

. .

. . . .

. .

...

...

min

2 1 2

2 1

1

2 2

2 2

22 1

21

1 1

1 2

12 1

11

(19)

Résultat de la phase I

Preuve

(i) (Preuve par contraposée)

Si le domaine réalisable du problème original n’est pas vide, substituons ces valeurs des variables xj dans le problème de la phase I

pour obtenir une solution

réalisable où toutes les variables ti sont égales à 0 et ainsi ayant une valeur de la fonction

économique w = 0. Donc si min w > 0, alors le problème

original n’a pas de solution. x j n t i m

w t

t t

b t

x a x

a x a

b t

x a x

a x a

b t

x a x

a x a

à Sujet

w

i j

m

m m

n mn m

m

n n n n

,..., 2 , 1 0

; ,..., 2 , 1 0

0 ...

...

. . . .

. .

. . . .

. .

...

...

min

2 1 2

2 1

1

2 2

2 2

22 1

21

1 1

1 2

12 1

11

(20)

Résultat de la phase I

• (ii)

Si à la fin de la phase I, la valeur de min w = 0,

(21)

Résultat de la phase I

• (ii)

Si à la fin de la phase I, la valeur de min w = 0, alors il existe une solution réalisable du problème de la phase I où toutes les variables artificielles ti sont égales à 0.

Dans ce cas, les valeurs que prennent les variables xj

constituent une solution pour le problème original.

m i

t n

j x

w t

t t

b t

x a x

a x a

b t

x a x

a x a

b t

x a x

a x a

à Sujet

w

i j

m

m m

n mn m

m

n n n n

,..., 2 , 1 0

; ,..., 2 , 1 0

0 ...

...

. .

. .

. .

. .

. .

. .

...

...

min

2 1 2

2 1

1

2 2

2 2

22 1

21

1 1

1 2

12 1

11

(22)

Résultat de la phase I

• (ii)

Si à la fin de la phase I, la valeur de min w = 0, alors il existe une solution réalisable du problème de la phase I où toutes les variables artificielles ti sont égales à 0.

Dans ce cas, les valeurs que prennent les variables xj

constituent une solution pour le problème original.

n j

x

b x

a x

a x a

b x

a x

a x

a

b x

a x

a x

a à Sujet

x c x

c x c z

j

m n

mn m

m

n n n n

n n

,..., 2 , 1 0

...

. .

. .

. .

. .

...

...

min

2 2 1

1

2 2

2 22 1

21

1 1

2 12 1

11

2 2 1

1

(23)

Solution initiale pour poursuivre

• Dans le cas où min w est égale à 0, nous poursuivons la résolution du

problème original avec l’algorithme du simplexe en utilisant l’information du tableau de la dernière itération de la phase I pour construire une solution de base initiale pour le problème original.

• Considérons le tableau du simplexe de la dernière itération de la phase I

(24)

Tableau phase I

m n j

dj0 1,2,...

Solution optimale de la phase I ↓

m des colonnes du tableau sont les m vecteurs unitaires

où le 1 est la iième composante m

n j

d j  0  1,2,... 













 0 . 1 .

0 ei

(25)

Tableau phase I

m n j

dj0 1,2,...

m des colonnes du tableau sont les m vecteurs unitaires

où le 1 est la iième composante









 1 .

0

ei

La variable sous laquelle nous retrouvons le iième vecteur

unitaire est la variable de base dans la iième ligne du tableau

(26)

Solution initiale pour poursuivre

• Deux cas différents doivent être considérés.

Cas 1: Aucune variable artificielle n’est variable de base. Donc toutes les variables de base sont des variables originales xj.

Considérons le tableau du simplexe de la dernière itération de la phase I

(27)

Solution initiale pour poursuivre

Éliminons les colonnes des variables artificielles Remplaçons la dernière ligne du tableau par la

fonction économique du problème original

(28)

Solution initiale pour poursuivre

• Dénotant les variables de base par ,le tableau devient

x

j

, x

j

,..., x

jm

2 1

Pour retrouver le tableau du simplexe associé à cette base, il faut ramener à 0 les coûts relatifs des variables de base c ji

x

ji

(29)

Solution initiale pour poursuivre

Modifions la dernière ligne de ce tableau en soustrayant chacune des

c

m

i

j ij

j cj c a

c i

1

j bi

c z0

i

(30)

Solution initiale pour poursuivre

• Le tableau devient donc

Nous avons donc un tableau du simplexe associé à une solution initiale de base pour le problème originale où les variables de base sont

x

j i

, x

j

,..., x

jm

1 2

(31)

• Cas 2: Certaines variables de base sont des variables artificielles.

Supposons que la variable artificielle tk est variable de base dans la ligne i

(32)

Solution initiale pour poursuivre

• Cas 2: Certaines variables de base sont des variables artificielles.

Supposons que la variable artificielle tk est variable de base dans la ligne i.

Cette ligne du tableau à la dernière itération de la phase I est de la forme

Mais min w = 0 => tk = 0 . Ainsi bi  0

Essayons de remplacer tk par une des variables originales xj à titre de variable de base dans la ligne i. Analysons les

coefficients des variables xj dans cette ligne.

(33)

Solution initiale pour poursuivre

i) Supposons qu’il existe un indice s, 1≤ s ≤ n, tel que . Transformons le dernier tableau de la phase I en exécutant un pivot sur l’élément pour que xs devienne la variable de base dans la ligne i. Ceci ne modifie en rien la valeur de

l’objectif w puisque

 0 a

is

 0 a

is

 0 b

i

Ainsi nous obtenons une nouvelle solution de base optimale pour la phase I où la variable xs remplace la variable tk

comme variable de base dans le ligne i

(34)

Solution initiale pour poursuivre

ii) Supposons que . On peut alors démontrer que la contrainte i du problème est redondante car elle peut

s’exprimer comme une combinaison linéaire des autres contraintes.

Dans ce cas, la contrainte i peut être éliminée sans modifier le domaine réalisable.

Nous éliminons donc la ligne i du tableau.

Après avoir traité chaque ligne où la variable de base est une variable artificielle selon i) ou ii), alors nous obtenons une autre solution optimale de la phase I où aucune variable artificielle n’est de base. Nous retombons alors sur le Cas 1

n j

aij  0  1,2,...,

(35)

Notion de multiplicateurs du simplexe

• Considérons la dernière ligne du tableau du simplexe associé à la base B qui correspond aux vecteurs des coûts relatifs des variables:

T

cB cTR

B B c c

c c

cTB  0  TBTBTBTB 1

R B c c

cTRTRTB 1

(36)

Notion de multiplicateurs du simplexe

Dénotons le vecteur défini par Alors

ou

où dénote la jième colonne de la matrice de contrainte A

Rm

1

cTB B

T

A c

cTT

T

T j

j c j a

c  

aj

π est le vecteur des multiplicateurs du simplexe associé à la base B.

A B

c c

c

T

T

TB 1

(37)

Notion de multiplicateurs du simplexe

• Le vecteur des multiplicateurs du simplexe π permet de calculer les coûts relatifs directement à partir des données originales du

problème.

• Les composantes πi (i=1,2,…,m) du vecteur des multiplicateurs peuvent être considérés comme des poids associés aux lignes i du tableau (ou aux contraintes i du problème) tel que la soustraction d’une combinaison

linéaire des lignes avec ces poids de la dernière ligne du tableau permet d’annuler les coûts relatifs des variables de base.

T j

j

c

j

a

c   

c

j

(38)

Sensitivité de la valeur optimale aux modifications des termes de droite

• Les multiplicateurs du simplexe associés à une base optimale permettent de mesurer l’effet de modifier les termes de droite sur la valeur optimale d’un problème.

• Considérons le problème original et un autre où les termes de droite sont modifiés

0

0 min

x

z x c

b Ax

à Sujet

z

T

~~ 0~ 0

~ min ~

x

z x c

b b

x A à

Sujet

z

T

(39)

Sensitivité de la valeur optimale aux modifications des termes de droite

• Dénotons par B* une base optimale du problème original, et la solution de base optimale correspondante

dont la valeur (optimale pour le problème) est donnée par 0

0 min

x

z x c

b Ax

à Sujet

z

T

~~ 0~ 0

~ min ~

x

z x c

b b

x A à

Sujet

z

T

0 0

1

*

*

*

*   

b b B

x x

B R

(40)

Sensitivité de la valeur optimale aux modifications des termes de droite

• Choisissons la valeur de de telle sorte que

• Donc B* demeure une base réalisable pour le nouveau problème modifié puisque la solution de base associée est

0

0 min

x

z x c

b Ax

à Sujet

z

T

~~ 0~ 0

~ min ~

x

z x c

b b

x A à

Sujet

z

T

b

0 )

( * 1 * 1

1

* b  bB bB bB

0 )

~ (

~ 0

1

*

*

*

*    

b b

B x

x

B R

(41)

Sensitivité de la valeur optimale aux modifications des termes de droite

• Donc B* demeure une base réalisable pour le nouveau problème modifié puisque la solution de base associée est

• De plus, puisque ni les coûts cj ni la matrice A n’ont pas été modifiés, alors le vecteur des multiplicateur π* reste inchangé. Par conséquent les coûts relatifs demeurent inchangés et donc non négatifs pour le nouveau

problème.

La solution précédente est donc optimale pour le nouveau problème.

0 )

~ (

~ 0

1

*

*

*

*    

b b

B x

x

B R

c j

(42)

Sensitivité de la valeur optimale aux modifications des termes de droite

• Cette solution est optimale pour le nouveau problème.

• Évaluons la valeur optimale du nouveau problème:.

0 )

~ (

~ 0

1

*

*

*

*    

b b

B x

x

B R

cjj

c

m i

i i T

T B T

B T B

T R B R

T B

b z

b z

b B

c b B

c

b b

B c

x c x

c z

1

*

*

*

*

1

* 1

* 1

*

*

*

*

*

*

*

*

*

) (

~

~

~

(43)

Sensitivité de la valeur optimale aux modifications des termes de droite

• Évaluons la valeur optimale du nouveau problème:.

Ainsi, indique la taux de variation unitaire de la fonction économique lorsque le terme de droite bi de la

contrainte i est modifié d’une quantité choisie de telle sorte que la base demeure réalisable pour le nouveau problème.

i*

b

i

m i

i i T

T B T

B T B

T R B R

T B

b z

b z

b B

c b B

c

b b

B c

x c x

c z

1

*

*

*

*

1

* 1

* 1

*

*

*

*

*

*

*

*

*

) (

~

~

~

(44)

Domaine réalisable

• L’ensemble des points réalisables pour le système

5x + 3y ≤ 30 2x + 3y ≤ 24 1x + 3y ≤ 18 x,y≥0

(45)

Domaine réalisable

• L’ensemble des points réalisables pour le système

5x + 3y ≤ 30 2x + 3y ≤ 24 1x + 3y ≤ 18 x,y≥0

(46)

Forme révisée du simplexe

• Dans cette variante de l’algorithme du simplexe, nous exploitons les

multiplicateurs du simplexe pour permettre de faire le pivot sur un tableau de dimension réduite.

• Nous considérons le problème de programmation linéaire sous sa forme standard

0

0 min

x

z x c

b Ax

à Sujet

z

T

Références

Documents relatifs

[r]

Il est facile de vérifier que si a = b, A est le perdant car à toute pioche de k jetons dans l’un des deux tas, le joueur B fait la même pioche de k jetons dans l’autre tas

Ce prolongement permet de faire réfléchir au positionnement du bloc d’instruction « jouer le son pop » pour qu’un son soit émis lorsqu’un fantôme

Cette propriété vient de ce que une matrice et sa transposée ont le même rang ce qui se démontre en utilisant que le rang de A est r si et seulement si A est équivalente à la

Si les coefficients de ces variables dans l’objectif sont tous négatifs ou nuls, alors la solution de base réalisable courante est optimale. Les coefficients des variables

MATHÉMATIQUES 2 Juin 2013 - Contrôle Terminal, Semestre 1, Session 2.. Durée de l'épreuve : 2h00

a - Donner sous forme canonique le probl` eme de programmation lin´ eaire que doit r´ esoudre l ?entreprise pour maximiser son b´ en´ efice.. b - Transformer le probl` eme en un

En cas d’´ egalit´ e, ici par exemple avec la ligne e 3 , on peut choisir l’une des lignes au choix.. Ensuite, technique du pivot de Gauss pour ´ eliminer les nombres dans la