Vous êtes sur la page 1sur 33
CHAPITRE II: L´ALGORITHME DU SIMPLEXE Dans cette section nous allons aborder un outil mathématique de

CHAPITRE II: L´ALGORITHME DU SIMPLEXE

CHAPITRE II: L´ALGORITHME DU SIMPLEXE Dans cette section nous allons aborder un outil mathématique de type

Dans cette section nous allons aborder un outil mathématique de type algorithmique qui nous aidera à résoudre des programmes linéaires. Il s´agit de l´algorithme du simplexe.

Nous avons commenté que dans un problème d´optimisation les contraintes forment un ensemble de solutions réalisables dont les sommets appelés solutions de base sont des candidats à l´optimalité.

L´algorithme du simplexe est un outil mathématique nous permettant de passer d´un sommet à l´autre et d´en évaluer l´éventuelle optimalité. Afin de pouvoir utiliser cet outil nous présenterons tout d´abord quelques considérations quant au formalisme de rigueur.

2.1- Formalisme d´un programme linéaire:

Pour résoudre un programme linéaire grâce à l´algorithme du simplexe, il est indispensable que le programme linéaire soit formulé de la façon correcte c´est-à-dire, comme un problème de maximisation dont les contraintes sont toutes de type “inférieur ou égal à”.

Si la forme d´un programme linéaire venait à différer du cadre général, il devrait être transformé.

2.1.1.- Les transformations régulières pour un programme linéaire:

Dans le cadre de ce cours nous nous limiterons à travailler avec des variables de décision

x i

+

réelles, positives ou nulles. Nous ne traiterons pas le cas de variables de décision négatives ou entières. Cela étant dit, travaillons sur un exemple:

“… Soit le programme linéaire suivant:

(

P

)

 Min − 3 x + x 1 2    x + x
 Min
3 x
+
x
1
2
 x
+ x
≤ 4
(
1 )
1
2
s
− +
x
x
≥− 2
(
2 )
c 
1
2
x
,
x
≥ 0
 
 
1
2

- Transformer le programme linéaire (P) afin qu´il remplisse les exigences formelles. …”

Auteur: Philippe Gollotte

Page 39 de 159

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

Nous avons évoqué plus haut que tout programme linéaire doit être présenté sous forme d´un
Nous avons évoqué plus haut que tout programme linéaire doit être présenté sous forme d´un

Nous avons évoqué plus haut que tout programme linéaire doit être présenté sous forme d´un problème de maximisation dont les contraintes soient de type “inférieur ou égal à”.

Le problème (P) est ici un problème de minimisation et la contrainte (2) est de type “supérieur ou égal à”. Nous retiendrons donc les règles suivantes de transformation d´un programme linéaire:

Soit un programme linéaire (P):

  Min J ( x )   m 1 x ( ) 
Min J
(
x
)
m 1 x
(
)
s
x
)
m
2 (
c
x
≥ 0
 

b

b

2

 − Max − J ( x )    m ( x )
Max
J
(
x
)
m
(
x
)
b
1
1
s
m
(
x
)
≤−
c
2
x
0
  

b

2

(

P

)

1

(

P

)

Nous ne présenterons pas de démonstration rigoureuse, nous nous contenterons de vérifier intuitivement que ces transformations sont correctes.

a) De la contrainte: nous commençons par la contrainte du fait qu´il est très facile de se rendre compte de la régularité de cette transformation:

En effet nous savons depuis longtemps qu´en multipliant une inéquations entière par un nombre négatif (-1 dans notre cas) le signe d´inégalité change de sens. Nous avons:

( 1)

⇔ −

Et en effet,

×

a

a

b

≤ −

( 1)

− ≤−

a

b

2

⇔− ≤−

3

3

2

×

b

b) De la fonction objectif: illustrons graphiquement cette transformation. Soit une fonction f(x) quelconque et m son minimum.

Rechercher m, minimum de f(x) m m y
Rechercher m, minimum de f(x)
m
m y

m x

Auteur: Philippe Gollotte

Equivaut (au signe près) à rechercher M, maximum de –f(x). m x M -m y
Equivaut (au signe
près)
à
rechercher M, maximum de –f(x).
m x
M
-m y

Afin de corriger le signe nous

multiplions M par (-1). m m y m x x (-1) M -m y
multiplions M par (-1).
m
m y
m x
x (-1)
M
-m y

Page 40 de 159

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

c) Conclusion: en appliquant ces règles à notre problème nous obtenons: ( P ) 
c) Conclusion: en appliquant ces règles à notre problème nous obtenons: ( P ) 

c) Conclusion: en appliquant ces règles à notre problème nous obtenons:

(

P )

 Min      s  c     
Min
s
c

x

x

− +

x

3

+

1

x

1

,

1

x

1 2

x

2

2

4

x

2

≥−

0

+

x

2

(

(

1

)

2

)

(

P

)

,2 x 2 2 ≤ 4 x ≥ 2 ≥− 0 + x 2 ( (

3

+

x

1

x

x

2

2

x

2

4

2

x

2

0

(

(

1

2

)

)

Cette dernière formulation en tant que problème de maximisation comportant des contraintes de type “inférieur ou égal à” est appelée FORME CANONIQUE

2.1.2.- Les différentes formes d´un programme linéaire:

Afin de pouvoir utiliser l´algorithme du simplexe sur un programme linéaire ce dernier doit être transformé. Nous remarquerons trois étapes de transformation lesquelles deviennent un automatisme avec un peu de pratique.

Reprenons notre exemple. La forme brute du programme linéaire est:

(

P

)

 Min      s  c     
Min
s
c

x

x

− +

x

1

x

1

,

1

x

1

x

2

3

+

2

+

x

4

2

x

2

≥− 2

0

(

(

1

)

2

)

Nous avons vu que ce problème doit être transformé en un problème de maximisation comportant des contraintes de type “inférieur ou égal à”. Nous obtenons alors la forme CANONIQUE du problème.

(

P )

 Min      s  c     
Min
s
c

3

x

x

− +

x

1

+

x

1

,

1

x

1

x

2

2

+

x

4

2

x

2

≥−

0

2

(

(

1

)

2

)

(

P

)

,x 2 2 + x ≤ 4 2 x ≥ 2 ≥− 0 2 ( (

3

+

x

1

x

x

2

2

x

2

4

2

x

2

0

(

(

1

2

)

)

Nous allons ensuite réaliser une nouvelle transformation dans le but d´obtenir un problème de maximisation comportant des contraintes de type “égal à”. Intéressons-nous à la contrainte (1):

+ x soit inférieur à

x

1

+ x

2

4 signifie que la solution au programme linéaire demande que

x

1

2

4 ou bien à la limite égal à 4 mais jamais supérieur à 4.

Pour que

appelée VARIABLE D´ECART telle qu´elle prenne la valeur nécessaire pour que

x

1

+ x

2

soit toujours égal à 4 nous introduisons une variable e positive ou nulle

x

1

+ x

2

+ e = 4 .

x

x

1

et

et

2

2

Cette variable d´écart est évidemment positive ou nulle. En effet si les valeurs de

solutionnant le problème sont telles que

solutionnant le problème sont telles que

x + x = 4 alors

1

2

e

1

= 0

x + x 4 alors e 0

1

2

1

y si les valeurs de

x

1

x

1

Auteur: Philippe Gollotte

Page 41 de 159

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

• Nous obtenons la transformation suivante: ( P )  Min    

Nous obtenons la transformation suivante:

(

P

)

 Min      s  c     
Min
s
c
 

3

x

x

− +

x

1

+

x

1

,

1

x

1

x

2

2

+

x

4

2

x

2

≥− 2

0

(

(

− Max 3 x − x 1 2    x + x ≤
−
Max
3
x
x
1
2
x
+
x
4
1
2
s
x
x
2
c
1
2
x
,
x
0
 
 
1
2

1 1

(

P

)

)

)

(

(

2 2

)

)

0     1 2 1 1 ⇔ ( P ) ) ) (

(

P

)

− Max    x 1   s x  c  1
−
Max
x
1
s
x
c
1
x
,
 
 
1

3

+

x

1

x

x

x

2

x

2

2

2

+

+

e

e

1

2

0

= 4

= 2

e

e

1

,

2

0

(

(

1

)

2

)

Cette dernière forme s´appelle FORME STANDARD du problème.

Il ne nous reste plus qu´à présenter le problème sous forme de tableau simplexe. Pour nous aider dans cette tâche nous présenterons la forme matricielle de notre problème.

Nous avons:

(

P

)

− Max 3 x − x 1 2    x + x +
− Max
3 x
− x
1
2
 x
+
x
+
e
= 4
1
2
1
s
x
x
+
e
= 2
c 
1
2
2
x
,
x
0
e
,
e
0
 
 
1
2
1
2

(

(

1

)

2

)

Ceci peut s´exprimer matriciellement sur le modèle suivant:

avec:

 − Max c ; x   ( P )   M x
 −
Max
c
;
x
(
P )
M x
=
b
s c  
x ≥ 0
x =
(
x ; x ;e ;e
)
1
2
1
2
c
= (3; −1;0;0)
1
1
1
M = 
1
− 1
0
 
4
b = 
2
 

0

1

Nous présentons cette information sous forme de tableau et nous obtenons alors le tableau simplexe initial relatif à notre problème (nous expliquerons plus loin pourquoi nous le qualifions d´initial).

x 1

x 2

e 1

e 2

 

1

1

1

0

4

1

-1

0

1

2

Auteur: Philippe Gollotte

Page 42 de 159

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

2.2- Détermination du tableau simplexe relatif à un sommet et évaluation de l´optimalité. Comme nous
2.2- Détermination du tableau simplexe relatif à un sommet et évaluation de l´optimalité. Comme nous

2.2- Détermination du tableau simplexe relatif à un sommet et évaluation de l´optimalité.

Comme nous le savons déjà les solutions de base ou sommets du polyèdre des solutions possibles sont les candidats à l´optimalité d´un problème d´optimisation Nous verrons ici comment obtenir le tableau simplexe relatif à une solution de base et comment évaluer si la dite solution est optimum ou non.

Soit le programme linéaire (P), nous remarquons qu´il s´agit d´un problème de maximisation avec contraintes de type “inférieur ou égal à” ce qui nous permet de déduire facilement la forme standard:

(

P

)

 Max 2 x + 3 x 1 2    2 x +
Max
2
x
+
3
x
1
2
 2
x
+
x
1
2
s
x
+
2
x
c
1
2
x
,
x
0
 
1
2

4

4

(

3

(

(

) (

1 )

2 )

,

4

)

(

P

)

 Max 2 x + 3 x 1 2    2 x +
Max
2
x
+
3
x
1
2
2
x
+
x
+
1
2
s
x
+
2
x
+
c
1
2
x
,
x
0
 
1
2

e

1

e

2

(

=

4

=

4

3

) (

,

4

)

( )

1

(

2

)

2.2.1.- Les informations du graphique:

Intéressons-nous au graphique relatif à ce problème pour ensuite comprendre ce que représentent

les tableaux simplexes relatifs aux solutions de base.

Sans détailler (pour en savoir plus sur la représentation graphique, reportez-vous au chapître 1),

nous présentons le graphique correspondant au problème (P).

x 2

5

1

(3) (4) (1) (2) 0 x 1 1 5
(3)
(4)
(1)
(2)
0
x 1
1
5

2

1

LÉGENDE: contraintes aire des solutions réalisables solutions de base A B O C 0 x
LÉGENDE:
contraintes
aire des solutions
réalisables
solutions de base
A
B
O
C
0
x 1
1
2

x 2

Nous remarquons que nous avons 4 solutions de base, les points O, A, B y C.

2.2.2.- Les solutions de base:

Nous avons identifié les candidats à l´optimalité: les sommets du polyèdre des solutions réalisables.

Auteur: Philippe Gollotte

Page 43 de 159

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

principe Commençons par le sommet O . Le le plus important est le suivant: chaque
principe Commençons par le sommet O . Le le plus important est le suivant: chaque

principe

Commençons par le sommet O.

Le

le

plus

important

est

le

suivant:

chaque

sommet est associé

à une base.

a) Coordonnées: graphiquement le point O a pour coordonnées (

x , x

1

2

x

2

par

leurs

valeurs

dans

les

équations

des

contraintes

(1)

)

=

et

(

0,0

(2),

)

. En remplaçant

nous

déduisons

x

1

et

que

(

e

1

, e

2

)

=

(

4,4

)

.

En conclusion pour le point O: (

x

1

, x , e , e

2

1

2

)

(

= 0,0,4,4

)

b) Base: en regardant les coordonnées du point O, nous constatons que les variables non nulles sont

e

1

et

e

2

. Le point O est donc associé à la base

β=

{

e ,e

1

2

}

.

c) Matrice de base: grâce aux équations des contraintes (1) et (2), nous déterminons rapidement les

coordonnées des vecteurs

e

1

et

e

2

et obtenons la matrice de base B associée au point O:

B

=

1

0

0

1

Nous remarquons que la base associée au point O est la base canonique de le cas pour les vecteurs en base.

d) Vecteurs hors base: les variables nulles associées au point O sont

2 . Cela sera toujours

x

1

et

x

2

. Nous avons donc

β=

{

x , x

1

2

}

e) Matrice des vecteurs hors base: nous avons identifié les vecteurs hors base associés à notre point.

depuis les contraintes (1) et (2) de notre problème. Nous

Nous extrayons les vecteurs

x

1

et

x

2

obtenons:

B

=

2

1

1

2

Bien entendu pour le tableau simplexe associé au point O, nous avons besoin des coordonnées de

dans la base β

étant ici la base canonique de

la matrice

2 , la matrice de base B est élément neutre pour l´opération de

ne sont autres que la

matrice B elle-même.

f) Second membre: les contraintes (1) et (2) nous donnent comme second membre des inéquations 4 et 4. Nous avons donc:

B

associée au dit point (on l´obtient par le calcul

B

dans la base

β

B

1

B

. La base

β

changement de base. Les coordonnées de la matrice

4

 

4

 

b =

De la même manière nous voulons les coordonnées du vecteur b

le calcul

dans la base β (on l´obtient par

B

b

). Pour les mêmes raisons que pour la matrice B , les coordonnées du vecteur b

1

dans la base β nous donnent le vecteur b

lui-même.

Auteur: Philippe Gollotte

Page 44 de 159

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

g) Tableau simplexe associé au point O :   x 1 x 2 e 1

g) Tableau simplexe associé au point O:

 

x

1

x 2

e 1

e 2

 

e

1

2

1

1

0

4

e

2

1

2

0

1

4

2 1 1 0 4 e 2 1 2 0 1 4 Nous remarquons que ce

Nous remarquons que ce tableau simplexe est le tableau simplexe initial associé au problème. En fait tout problème d´optimisation nous donnera mécaniquement comme tableau simplexe initial celui du

point O associé à la base canonique de

Ce tableau doit maintenant être complété jusqu´à la culmination de l´évaluation de l´optimalité du

point O. Différents aspects doivent être pris en compte:

n

.

h) La base: chaque sommet est associé à une base. Nous la faisons apparaître dans la partie gauche du tableau simplexe. Repérer les vecteurs de base est facile, il suffit de repérer dans l´ordre les vecteurs de la base canonique qui apparaissent dans le tableau simplexe (en vert). Cela permet également une lecture directe de gauche à droite de la valeur des vecteurs non nuls de la base (en rouge).

x 1 x 2 e 1 e 2 e 2 1 1 0 4 1
x 1
x 2
e 1
e 2
e
2
1
1
0
4
1
e
1
2
0
1
4
2

i) Le point est-il réalisable? L´algorithme du simplexe ne peut être utilisé que pour évaluer des points réalisables c´est-à-dire des points provenant de l´ensemble des solutions possibles. Si l´on sort de cet ensemble, l´algorithme n´est pas fiable, il n´est pas conçu pour évaluer des points impossibles. Nous nous préoccuperons donc de vérifier que le point en question est réalisable c´est à dire que le second membre est positif ou nul.

B -1 b

≥ 0,

 

x 1

x 2

e 1

e 2

 

e

1

2

1

1

0

4

e

2

1

2

0

1

4

point réalisable

j) Evaluation de l´optimalité: pour évaluer l´optimalité du point O, nous avons besoin de comprendre le concept de COÛT D´OPPORTUNITÉ. Pour simplifier les choses nous nous reportons à Wikipedia:

Auteur: Philippe Gollotte

Page 45 de 159

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

“Le coût d'opportunité (ou coût d'option) mesure la perte des biens auxquels on renonce en
“Le coût d'opportunité (ou coût d'option) mesure la perte des biens auxquels on renonce en

“Le coût d'opportunité (ou coût d'option) mesure la perte des biens auxquels on renonce en affectant les ressources disponibles à un usage donné. C'est le coût d'une chose estimé en termes d'opportunités non-réalisées, ou encore la valeur de la meilleure autre option non-réalisée”.

Dans notre optique d´optimisation il s´agit de mesurer pour chaque variable du problème la perte subie dans la fonction objectif du fait de la différence entre la situation actuelle de la variable et la situation non réalisée de compter sur cette variable en base.

Pour les variables en base le coût d´opportunité est nul du fait qu´il n´y a pas de différence de coût entre la situation actuelle (les variables sont en base) et la situation hypothétique où les variables seraient en base. En d´autre termes le scénario alternatif est réalisé.

Pour une variable hors base par exemple

à une situation où cette variable serait en base, de la façon suivante:

Le coût d´opportunité de

produit scalaire du vecteur

coefficients qu´ont les variables en base dans la fonction objectif. Ici:

x

1 on mesure le coût d´opportunité supporté par rapport

x

x est la différence entre le coefficient de

1

x

1 dans la fonction objectif et le

1 dans le tableau simplexe d´une part et le vecteur formé par les

C

x

1

C

x

2

=

=

2

3

et le vecteur formé par les C x 1 C x 2 = = 2 3

et le vecteur formé par les C x 1 C x 2 = = 2 3

et le vecteur formé par les C x 1 C x 2 = = 2 3

et le vecteur formé par les C x 1 C x 2 = = 2 3

2

1

1

2

  0     0

;

  0     0

;

  ;    0     0   ; 

  ;    0     0   ; 

  ;    0     0   ; 

  ;    0     0   ; 

=

=

2

3

sont

égaux à leur coefficient dans la fonction objectif du fait que le vecteur formé par les coefficients

Nous remarquons que dans le tableau simplexe initial, les coûts d´opportunité de

x

1

et

x

2

qu´ont les variables en base dans la fonction objectif est le vecteur nul (en effet

n´apparaissent pas dans la fonction objectif qu´est

e

1

Max 2x + 3x . Leurs coefficients sont 0).

1

2

et

e

2

B -1 b

≥ 0,

 

x 1

x 2

e 1

e 2

 

e

1

2 1

1

0

4

e

2

1 2

0

1

4

 

2 3

0

0

 

point réalisable

Les coûts d´opportunité des variables hors base sont positifs. La fonction objectif se verrai donc bénéficiée si au moins l´une de ces variables était en base. Le point n´est pas optimum.

k) Fonction objectif: nous remplaçons les coordonnées du point O: (

fonction objectif

2x + 3x

1

2

et nous obtenons:

J

(

x , x

1

2

)

= 2

(

0

)

x

+ 3

Auteur: Philippe Gollotte

1

, x , e , e

2

1

(

0

)

= 0 .

2

)

(

= 0,0,4,4

)

dans la

Page 46 de 159

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

B - 1 b ≥ 0,   x 1 x 2 e 1 e 2

B -1 b

≥ 0,

 

x 1

x 2

e 1

e 2

 

e

1

2 1

1

0

 

4

e

2

1 2

0

1

4

 

2 3

0

0

J

= 0

point réalisable

4   2 3 0 0 J = 0 point réalisable Nous avons déterminé que le

Nous avons déterminé que le point O n´est pas optimum, nous évaluerons maintenant le point A.

a) Coordonnées: graphiquement le point A a pour coordonnées (

x

x

2

par

leurs

valeurs

dans

les

(

e

1

, e

2

)

=

(

2,0

)

.

En conclusion pour le point A: (

x

1

équations

, x , e , e

2

1

2

)

=

des

contraintes

(

0, 2,2,0

)

1

, x

2

(1)

)

=

et

(

)

0, 2 . En remplaçant

(2),

nous

déduisons

x

1

et

que

b) Base: en regardant les coordonnées du point A, nous constatons que les variables non nulles sont

x

2

et

e . Le point A est donc associé à la base

1

{

β= x ,e

2

1

}

.

c) Matrice de base: grâce aux équations des contraintes (1) et (2), nous déterminons rapidement les

coordonnées des vecteurs

B

=

1

2

1

0

x

2

et

e

1

et obtenons la matrice de base B associée au point A:

1 apparaîtra comme la

matrice canonique de

formeront toujours cette base canonique. La raison est la suivante, les vecteurs qui apparaissent dans le tableau simplexe sont les vecteurs

Dans notre tableau simplexe la matrice B relative aux vecteurs

x

2

et

e

2

. Nous avons en effet évoqué plus haut que les vecteurs en base

ici,

β = e , e plus haut -. Dans le cas qui nous préoccupe ici l´expression de la matrice B dans la

relatifs aux variables du problème exprimés dans la base de référence -

β

=

{

x , e

2

1

}

{

1

2

}

base B est forcément I, matrice identité car simplexe sont les suivants:

B

1

B

=

I

. En résumé les contenus d´un tableau

 

x 1

x n

e 1

x n

 

e

1

   
 

B

1

B

B

1

B

B

e

n

 
 

Cx 1

Cx n

Ce 1

Cx n

J

1

b

Auteur: Philippe Gollotte

Page 47 de 159

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

d) Vecteurs hors base: les variables nulles associées au point A sont { β =

d) Vecteurs hors base: les variables nulles associées au point A sont

{

β= x ,e

1

2

}

x

2

nulles associées au point A sont { β = x , e 1 2 } x

et

e

2

. Nous avons donc

e) Matrice des vecteurs hors base: nous avons identifié les vecteurs hors base associés à notre point.

Nous extrayons les vecteurs

x

2

et

e

2

depuis les contraintes (1) et (2) de notre problème.

B

=

2

1

0

1

Pour le tableau simplexe associé au point A, nous avons besoin des coordonnées de la matrice B

dans la base β associée au dit point (on l´obtient par le calcul

base d´une matrice). La matrice de base de β est la matrice B.

B

1

B

, calcul du changement de

Calcul de l´inverse de la matrice B

1 T − 1 B = cof ( B ) B  1 1 
1 T
− 1
B
=
cof
(
B
)
B
1 1
1
0
− 1
B
=
B
=
2 0
− 2   − 2
1 
0
1
− 1
B
=
2
2
− 1
− 1
Calcul de
B
B
:
2 0
1 1
1 
0
1
1 2
1 2
1
B
B =
=
2
2
1
3 2
1 2

1

1

f) Second membre: les contraintes (1) et (2) nous donnent comme second membre des inéquations 4 et 4. Nous avons donc:

4

 

4

 

b =

De la même manière nous voulons les coordonnées du vecteur b

le calcul

B

1

b

).

B

1

b =

1

2

0

2

1

1

=

4

 

 

2    

4

2

Auteur: Philippe Gollotte

dans la base β (on l´obtient par

Page 48 de 159

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

Remarquons ici à titre de vérification que le vecteur b correspond bien au coordonnées du
Remarquons ici à titre de vérification que le vecteur b correspond bien au coordonnées du

Remarquons ici à titre de vérification que le vecteur b

correspond bien au coordonnées du point

A calculées plus haut où (

x

1

, x , e , e = 0, 2,2,0 , c´est-à-dire A:

2

1

2

)

(

)

x

2

= 2 et e = 2 .

1

g) Tableau simplexe associé au point A:

B -1 b

≥ 0,

 

x 1

x 2

e 1

e 2

 

x

2

1/2

1

0

1/2

2

e

1

3/2

0

1

-1/2

2

point réalisable

h) Evaluation de l´optimalité: pour évaluer l´optimalité du point A, nous calculons les coûts d'opportunité des variables hors base. Les variables en base ont un coût d´opportunité nul.

C

x

1

C

e

2

=

=

2

0

 1 2  ;  3  = 1 2    
1
2
 ;  3 
=
1 2
3
2
0
  
1
2
 ;  3 
=−
3 2
− 1 2
0
  

B -1 b

≥ 0,

 

x

1

x 2

e 1

e 2

 

x

2

1/2

1

0

1/2

2

e

1

3/2

0

1

-1/2

2

 

1/2

0

0

-3/2

 

point réalisable

Le coût d´opportunité de la variable hors base

bénéficiée si cette variable était en base. Le point n´est pas optimum.

x 1 est positif. La fonction objectif se verrai donc

i) Fonction objectif: nous remplaçons les coordonnées du point A: (

fonction objectif

Nous obtenons le tableau simplexe suivant:

2x + 3x

1

2

et nous obtenons:

J

(

x , x

1

2

)

= 2

(

0

)

x

+ 3

B -1 b

≥ 0,

 

x

1

x 2

e 1

e 2

 

x

2

1/2

1

0

1/2

 

2

e

1

3/2

0

1

-1/2

2

 

1/2

0

0

-3/2

J

= 6

point réalisable

Auteur: Philippe Gollotte

1

, x , e , e

2

1

(

2

)

= 6 .

2

)

=

(

0, 2,2,0

)

dans la

Page 49 de 159

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

Nous avons déterminé que le point A n´est pas optimum, nous évaluerons maintenant le point
Nous avons déterminé que le point A n´est pas optimum, nous évaluerons maintenant le point

Nous avons déterminé que le point A n´est pas optimum, nous évaluerons maintenant le point B.

Maintenant que nous dominons les principaux concepts qui nous permettent de déduire le tableau simplexe associé à un point nous améliorerons notre présentation en séparant les informations importantes du point de vue analytique d´une part et les calculs d´autre part. Il est alors conseillé de changer l´orientation de la page.

Nous avons:

Auteur: Philippe Gollotte

Page 50 de 159

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

( )

3

8

=

:β

2

x

B =  1 2 1 2 B 1 =  2 1 23 11

4

Coordonnées de B y b dans la base

+

CALCULS:

1

x

2

× 2

)

)

1 2

(
(

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

4

4

4

=

=

=

8

Coordonnées:

2

2

4

x

x

=

=

4

=

2

+

)

2

=

x

:

+

2

1

( )

x

x

2

4

2

x
x

1

1

x

2

+

− +

3

D´où:

1

1

x

x

( 3 )

B

2

2

ANALYSE DU POINT B Coordonnées: graphiquement le point B se situe à l´intersection des contraintes (1) et (2), ses coordonnéesa) vérifient donc simultanément les deux équations:

(on l´obtient par le calcul

Nous remplaçons les coordonnées x 1 et x 2 ainsi obtenues dans les contraintes et obtenons:

De la même manière nous voulons les coordonnées du vecteur b dans la base β

)

B: ( 1 , x 2 , e 1 , e 2 ) = ( 4 3,4 3,0,0x

2 }

Matrice des vecteurs hors base:

{ 1 ,e eβ=

)

)

1
2

(
(

B =  1 0 1 0

B =  1 2 1 2

2 } .

Vecteurs hors base:

4

4

=

=

Second membre:

Matrice de base:

b =  4 4

{ 1 ,x xβ=

Auteur: Philippe Gollotte

2

2

x

x

2

+

+

1

x

1

x

2

B 1 b ).

Base:

c)
d)

b)

e)

f)

x 2 + + 1 x 1 x 2 B − 1 b ). Base: c)
= 4 3
= 4 3
Dans (1): 2 x + 4 3 1 ⇔ x = 4 3 1 Inverse
Dans (1):
2
x
+
4 3
1
x
= 4 3
1
Inverse de B:
1 0 4 0 1 4       2 1 −
1
0 4
0
1 4
  
  
2 1
−    =    −
2 1 3 3
2 1 3 3 4 4 33 31
2 1
 −
  
Page 51 de 159
1 ( B b
1 (
B b
   =    − 2 1 3 3 − 2 1 3
   =    − 2 1 3 3 − 2 1 3

Page 52 de 159

C e 2 = 0 −  2 1 3 3 ; 3 2 =− 4 3

C e 1 = 0 2 1 3 3 ; 3 2 =− 1 3

Coûts d´opportunité:

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

Evaluation de l´optimalité: les coûts d'opportunité des variables hors base sont tous négatifs. Le point B est

point réalisable

≥ 0,

-1/3 -4/3 J = 20/3

B -1 b

et la fonction objectif vaut 20/3.optimum

Tableau simplexe associé au point B:

Auteur: Philippe Gollotte

g)

h)

associé au point B : Auteur: Philippe Gollotte g) h)   4 / 3 4 /
associé au point B : Auteur: Philippe Gollotte g) h)   4 / 3 4 /
associé au point B : Auteur: Philippe Gollotte g) h)   4 / 3 4 /
associé au point B : Auteur: Philippe Gollotte g) h)   4 / 3 4 /
associé au point B : Auteur: Philippe Gollotte g) h)   4 / 3 4 /
associé au point B : Auteur: Philippe Gollotte g) h)   4 / 3 4 /
associé au point B : Auteur: Philippe Gollotte g) h)   4 / 3 4 /
associé au point B : Auteur: Philippe Gollotte g) h)   4 / 3 4 /
associé au point B : Auteur: Philippe Gollotte g) h)   4 / 3 4 /
associé au point B : Auteur: Philippe Gollotte g) h)   4 / 3 4 /
associé au point B : Auteur: Philippe Gollotte g) h)   4 / 3 4 /
associé au point B : Auteur: Philippe Gollotte g) h)   4 / 3 4 /
 

4/3

4/3

 

e 2

-1/3

2/3

 

e 1

2/3

-1/3

x 2

0

1

0

x 1

1

0

0

 

1

2

 

x

x

2.3- L´algorithme du simplexe. Nous avons vu au point antérieur 2.2 comment nous positionner dans

2.3- L´algorithme du simplexe.

2.3- L´algorithme du simplexe. Nous avons vu au point antérieur 2.2 comment nous positionner dans la

Nous avons vu au point antérieur 2.2 comment nous positionner dans la base relative à un sommet et évaluer si ce point est optimum ou pas. L´idéal serait que nous puissions automatiquement passer d´un sommet à l´autre et évaluer l´optimalité de chacun. C´est justement ce que fait l´algorithme du simplexe.

Prenons un exemple le problème (P) suivant et commençons par le transformer en un problème de maximisation avec contraintes de type “inférieur ou égal à” condition nécessaire à l´application de l´algorithme du simplexe puis, sous forme standard.


Min

2

x

1

3

x

2

− Max    x 1   s x  c  1
−
Max
x
1
s
x
c
1
x
 
 
1

2

+

+

x

1

+

3

x

2

,

x

x

2

2

2

8

x

2

0

( )

1

10

(

3

(

) (

,

2

4

)

)

(

P

)

− Max 2 x + 3 x 1 2    x + x
−
Max
2
x
+
3
x
1
2
x
+
x
+
e
=
8
( )
1
1
2
1
s
x
+
2
x
+
e
=
10
c
1
2
2
x
,
x
0
(
) (
3
,
)
 
 
4
1
2

(

2

(

P

)

x

− −

2

  s  c 
s
c

1

x

1

+

x

x

2

2

8

≥−

10

( )

)

1

(

2

 

 

x

1

,

x

2

0

(

3

) (

,

4

)

 

x 1

x 2

e 1

 

e 2

   
 

e

1

1

1

1

0

 

8

e

2

1

2

0

1

10

 

2

3

0

0

   

(

P

)

Nous pouvons maintenant établir le tableau simplexe initial relatif à ce problème:

Nous remarquons que le second membre (vecteur b présent dans

la partie droite du tableau) est positif donc, le point est réalisable.

Nous sommes ici en présence du tableau simplexe initial, il s´agit

donc de l´origine du repère le point O tel que

x

1

= 0 et x

2

= 0 .

En toute logique les variables d´écart sont en base et les coûts d´opportunité des variables hors

et

dans la fonction objectif, pour les raisons

base sont ici égaux aux coefficients des variables

évidentes évoquées antérieurement.

x

1

x

2

Nous évaluons l´optimalité du point:

Base:

β=

{

e ;e

1

2

}

Coordonnées: x = (0,0,8,10)

Evaluation de l´optimalité: les coûts d´opportunité des variables hors base

x

1

positifs. Le point n´est pas optimum. La fonction vaut

Nous complétons notre tableau:

B -1 b

≥ 0,

 

x 1

x 2

e 1

e 2

 

e

1

1 1

1

0

 

8

e

2

1 2

0

1

10

 

2 3

0

0

J

= 0

point réalisable

2x + 3x

1

2

= 2

(

0

)

+ 3

(

0

)

= 0 .

et

x

2

sont

)

Auteur: Philippe Gollotte

Page 53 de 159

Consorcio e-Miage - Universidad de San Martín de Porres, B105 Programmation Mathématique et Optimisation

Ce n´est pas l´optimum nous devons passer à un autre sommet. L´algorithme du simplexe par
Ce n´est pas l´optimum nous devons passer à un autre sommet. L´algorithme du simplexe par

Ce n´est pas l´optimum nous devons passer à un autre sommet. L´algorithme du simplexe par le biais d´itérations nous permettra de passer de sommet en sommet en choisissant -pour chaque sommet- de suivre le chemin faisant croître la fonction au plus vite et ce, jusqu´à ce que l´optimum soit atteint

2.3.1.- Les principes de la méthode itérative:

Pour chaque tableau simplexe correspondant à un sommet nous évaluons l´optimalité par les coûts d´opportunité soufferts du fait que chaque variable hors base se trouve hors base et non en base. Si un coût d´opportunité est positif, la fonction peut croître en faisant entrer cette variable en base.

Il est possible que plusieurs variables hors base doivent entrer en base avant de trouver l´optimum. Cependant elles entreront une à une en cédant toujours la priorité à la variable présentant le coût

d´opportunité le plus élevé. Dans notre cas,

x

2

entre en base.

Nous devons maintenant déterminer quelle sera la variable qui devra sortir de base et céder sa

place à

vecteur b . Nous obtenons deux colonnes de chiffres. Dans chaque ligne nous diviserons le chiffre de

) si et seulement si le chiffre de

droite est positif, jamais s´il est négatif. La variable sortant de base sera celle appartenant à la ligne qui obtînt le nombre le plus petit.

gauche (correspondant à