Vous êtes sur la page 1sur 29

Recherche Opérationnelle

Jean Koudi

June 19, 2023


Chapter Premier

Introduction générale.

Au cours de la Seconde Guerre mondiale, l’armée de l’air des États-Unis d’Amérique a


connu de nombreux problèmes concernant l’allocation de ses ressources, tant humaines que
matérielles. Naturellement, plusieurs spécialistes se penchèrent sur la question et parmi eux,
George Dantzig. Peu après la guerre, en 1946, ce dernier formula de manière plus générale
ce genre de problèmes et proposa une méthode de résolution, la méthode du simplexe. Ce
problème général peut se formuler ainsi : trouver la valeur maximale (ou minimale) d’une
fonction à plusieurs variables si ces variables sont soumises à des contraintes. Par exemple,
supposons qu’une compagnie fabrique plusieurs produits différents et que pour chacun de ces
produits il y a des coûts de fabrication différents en main-d’oeuvre et en matières premières.
La compagnie connaît le bénéfice qu’elle réalise en vendant chacun de ces produits. La
compagnie doit alors se poser la question suivante : quelle quantité de chacun des produits
doit-on fabriquer pour obtenir un bénéfice global maximal ? En général, de tels problèmes
peuvent être assez complexes. Cependant, dans le cas où la fonction à optimiser, c’est-à-
dire à rendre minimum ou maximum, est linéaire et où les contraintes peuvent s’exprimer
par des inéquations, on peut développer une théorie assez simple pour résoudre ce genre de
problèmes, la programmation linéaire. Dans ce cours nous étudierons la méthode graphique
pour la résolution des problème linéaires à deux variables et la méthode du simplexe pour le
cas général.

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Contents

1 Introduction générale. 1

2 Programmation linéaire 4

2.1 Exemple introductif. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Définition et présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.3 Modelisation de Quelques problèmes classiques par un PL. . . . . . . . . . . 6

2.3.1 Problème de transport. . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3.2 Problème d’affectation. . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3.3 Gestion de production. . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3.4 Problème de sac à dos . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4 Les différentes formes d’un PL. . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4.1 Forme canonique mixte . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4.2 Forme canonique pure . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4.3 Forme standard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4.4 Forme standard en forme canonique. . . . . . . . . . . . . . . . . . . 11

2.4.5 Variable d’écart et forme standard . . . . . . . . . . . . . . . . . . . 11

2.4.6 Admissibilité et contrainte saturée. . . . . . . . . . . . . . . . . . . . 13

2.5 Résolution graphique d’un (PL) . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.5.1 Solution de base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3 Méthode de simplexe pour la résolution d’un PL 17

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
CONTENTS 3

3.0.1 Finitude du simplexe. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1 La dualité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2 Analyse de sensibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.1 Analyse post-optimale de l’objectif . . . . . . . . . . . . . . . . . . . 24

3.2.2 Analyse post-optimale du second membre des contraintes . . . . . . . 24

4 Programmation linéaire en nombres entiers 25

4.0.1 Premières méthodes de résolution . . . . . . . . . . . . . . . . . . . . 25

4.0.2 Méthode de relaxation . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.0.3 Méthode des arrondies . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.0.4 Algorithme de Branch and Bound . . . . . . . . . . . . . . . . . . . . 27

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Chapter Deux

Programmation linéaire

2.1 Exemple introductif.

Une usine fabrique 2 types de produits P1 et P2 en utilisant un certain nombre de ressources


: équipement, main d’oeuvre, matières premiéres. Ces besoins sont indiqués dans le tableau
ci-dessous. Par ailleurs, chaque ressource est disponible en quantité limitée
P1 P2 Disponibilité
Équipement 3 9 81
Main d’oeuvre 4 5 55
Matière première 2 1 20
Les deux produits P1 et P2 rapportent à la vente respectivement des bénéfices de 6 euros et 4
euros par unité. Quelles quantités de produits P1 et P2 (valeurs non-nécessairement entières)
doit produire l’usine afin de maximiser le bénéfice total venant de la vente des 2 produits?

2.2 Définition et présentation

Un programme linéaire est un problème qui consiste à minimiser ou à maximiser une quantité
( qui peut-être traduite par une fonction linéaire) encore appelée fonction-objectif dont les
variables vérifient des contraintes pouvant être traduites par des inéquations affines.

Une application affine est toute application de la forme:

f (X) = c1 x1 + c2 x2 + · · · + cn xn = C T X (2.1)

où X = (x1 , · · · xn )T ∈ Rn et C = (c1 , · · · cn )T ∈ Rn .

Une inéquation affine est de forme:

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Définition et présentation 5

a1 x 1 + a2 x 2 + · · · + an x n ≤ b (2.2)

ou

a1 x 1 + a2 x 2 + · · · + an x n ≥ b (2.3)

qu’on peut écrire sous la forme

aX ≤ b ou aX ≥ b

avec

a = (a1 , · · · an )T ∈ Rn et

Tout programme linéaire se présente généralement sous une des deux formes suivantes:

(PL): Max(Z = C T X) (PL): Min( Z = C T X)


 
Ainq X ≤ binq Ainq X ≤ binq

 


 


 

sc  Aeq X = beq ou sc  Aeq X = beq

 

X ∈ Rn X ∈ Rn

 

 

Ainq X ≤ binq (2.4)

est un système d’inéquations de n inconnus et m1 inéquations. Donc Ainq est une matrice de
type m1 × n.

Aeq X = beq (2.5)

est un système d’équations de n inconnus et m2 équations. Donc Aeq est une matrice de type
m2 × n.

le système (2.4) peut se ramener sous la forme développée suivante:

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Modelisation de Quelques problèmes classiques par un PL. 6


a11 x1 + · · · + a1n ≤ b1






.. .
. ≤ .. (2.6)



am1 x1 + · · · + amn ≤ bm


et le système (2.5) peut se ramener sous la forme développée suivante:


a11 x1 + · · · + a1n = b1






.. .
. = .. (2.7)



am1 x1 + · · · + amn = bm


Les programmes linéaires modelisent plusieurs problèmes concrèts.

2.3 Modelisation de Quelques problèmes classiques par


un PL.

2.3.1 Problème de transport.

On doit transporter une quantité de bien de chaque entrepôt vers des clients. Connaissant le
coût de transport unitaire du bien de chaque entrepôt vers chaque client, on désire connaître
la quantité optimale que chaque entrepôt doit envoyer à chaque client de sorte que le coût
de transport global soit minimisé.

Exemple 2.1. (Problème de transport) Voyons un exemple de ce problème présenté sous


forme de tableau.

C1 C2 Disponibilités
S1 8 7 80
S2 10 3 50
Demandes 60 70

Désignons par:
x et y les quantité que l’entrepôt S1 doit envoyer respectivement aux clients C1 et C2

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Modelisation de Quelques problèmes classiques par un PL. 7

z et t les quantité que l’entrepôt S2 doit envoyer respectivement aux clients C1 et C2

La fonction de coût à minimiser est: f (x, y, z, t) = 8x + 7y + 10z + 3t

En nous basant sur l’hypothèse que toutes les demandes doivent-être satisfaites on obtient
les contraintes suivantes: x + y = 80, z + t = 50; x + z = 60 et y + t = 70 Le programme est
sous la forme:

(PL): Min( Z = 8x + 7y + 10z + 3t)






 x + y = 80


z + t = 50







sc  x + z = 60 (2.8)


y + t = 70







(x, y, z, t) ∈ R4+


Ici on a seulement les contraintes d’égalité.

2.3.2 Problème d’affectation.

Il s’agit d’affecter un certain nombre de tâches à des ouvriers de sorte à minimiser le coût
global d’exécution des tâches. Chaque tâche doit-être exécutée par un seul ouvrier et chaque
ouvrier doit exécuter une seule tâche.

Exemple 2.2. (Problèmes d’affectation)

Un exemple de problème d’affectation se présente par le tableau suivant:

O1 O2
T1 98 65
T2 60 60

Les variables ici sont des variables de décision. C’est-à-dire des variables succeptibles de
prendre les valeurs 0 ou 1.

Pour la tâche T1 on a x11 et x12 et pour la tâche T2 on a x21 et x22 .

Le coût de réalisation est f (x11 , x12 , x21 , x22 ) = 98x11 + 65x12 + 60x21 + 60x22

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Modelisation de Quelques problèmes classiques par un PL. 8

Les contraintes sont défies par: x11 + x12 = 1; x21 + x22 = 1; x11 + x21 = 1 et x12 + x22 = 1

(PL): Min( Z = 98x11 + 65x12 + 60x21 + 60x22 )






 x11 + x12 = 1


x21 + x22 = 1







sc x11 + x21 = 1 (2.9)



x12 + x22 = 1







(x11 , x12 , x21 , x22 ) ∈ {0; 1}4


2.3.3 Gestion de production.

Exemple 2.3. Une société produit de la peinture d’intérieur et d’extérieur à partir de deux
produits de base A et B. La production d’une tonne de la peinture d’extérieur nécessite 6
unités de A et 1 unité de B. Une tonne de peinture d’intérieur nécessite 4 unités de A et 2
unités de B.

Les disponibilités des produits A et B sont respectivement de 24 et 6 unités.

Une tonne de la peinture d’extérieur donne un profit de 5000 eet celle de la peinture
d’intérieur donne 4000e

On désigne par:
x la quantité en tonne de peinture d’extérieur
y la quantité en tonne de peinture d’intérieur.

La fonction de bénéfice est donnée par:


f (x, y) = 5000x + 4000y.

Les contraintes de disponibilités sur les produits A et B se traduisent par:


6x + 4y ≤ 24 (Pour A)
x + 2y ≤ 6 (Pour B).

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Modelisation de Quelques problèmes classiques par un PL. 9

(PL): Min( Z = 5000x + 4000y)



6x + 4y ≤ 24


(2.10)




sc x + 2y ≤ 6



 (x, y) ∈ R2+

2.3.4 Problème de sac à dos

L’énoncé de ce fameux problème est simple : « Étant donné n objets possédant chacun un
poids pi et une valeur vi et étant donné un poids maximum P pour le sac, quels objets faut-il
mettre dans le sac de manière à maximiser la valeur totale sans dépasser le poids maximal
autorisé pour le sac?»

Exemple 2.4. (Problème de sac à dos)


Pour quatre objets (n = 4) et un sac à dos d’un poids maximal de 30 kg (P = 30), nous
avons par exemple les données suivantes:

Objet i 1 2 3 4
Valeur vi 7 4 3 3
Poids pi 13 12 8 10

En résumé, pour modeliser un problème par un programme linéaire:

1. On identifie les potentielles variables (les valeurs recherchées).

2. On exprime l’objectif (fonction coût, fonction économique, fonction bénéfice ou fonction


perte, etc.).

3. On exprime en suite les contraintes liées aux variables (les limites et utilisation des
ressources, etc.).

4. On présente le problème sous la forme d’un programme linéaire.

Exercice 2.5. Modéliser le problème de l’exemple introductif.

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Les différentes formes d’un PL. 10

2.4 Les différentes formes d’un PL.

2.4.1 Forme canonique mixte

Un programme linéaire est sous la forme canonique mixte s’il s’écrit sous la forme suivante.

n
(PL): Max(Z = C T X = ci x i )
X

 i=1

Ainq X ≤ binq






sc Aeq X = beq



X ∈ Rn


2.4.2 Forme canonique pure

Un programme linéaire est sous la forme canonique pure s’il s’écrit sous la forme suivante.

n
n
(PL): Max(Z = C T X = ci x i )
X
(PL): Max(Z = C X = ci x i )
X
T
i=1
 i=1  n
≤ bj ; ∀ 1 ≤ j ≤ m
X
AX ≤ b a ji xi

C’est-à-dire

 

sc sc i=1
X ∈ Rn+ xi ≥ 0, ∀ 1 ≤ i ≤ n

 

Avec
 
 a11 ··· a1n 
 .. .. .. 

A=  . . . , X = (x1 , · · · , xn )T ∈ Rn+ , b = (x1 , · · · , xm )T ∈ Rm et

 
 
am1 · · · amn
C = (c1 , · · · , cn )T ∈ Rn+

Toutes les contraintes sont des contraintes d’inégalités.

2.4.3 Forme standard.

Un programme linéaire est sous la forme standard s’il s’écrit sous la forme suivante.

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Les différentes formes d’un PL. 11

n
n
(PL): Max(Z = C T X = ci x i )
X
(PL): Max(Z = C X = ci x i )
X
T
i=1
 i=1  n
= bj ; ∀ 1 ≤ j ≤ m
X
AX = b a ji xi

C’est-à-dire

 

sc sc i=1
X ∈ Rn+ xi ≥ 0, ∀ 1 ≤ i ≤ n

 

2.4.4 Forme standard en forme canonique.

Un programme linéaire sous forme standard peut-être transformé en un programme linéaire


sous forme canonique.
n
En effet chaque contrainte d’égalité aji xi = bj se transforme en double inégalités par:
X

i=1

 n
X
≤ bj

n



 aji xi
aji xi = bj ⇔  (2.11)
X
i=1
Xn
i=1  

 aji xi ≥ bj
i=1
 n
X
≤ bj




 aji xi
⇔ i=1
n
X (2.12)
− aji xi ≤ −bj





i=1

Ainsi on obtient:
n
(PL): Max(Z = C X = ci x i )
X
T
(PL): Max(Z = C T X)
 i=1     
A b
AX = b

 X ≤
sc −A −b



sc
X≥0

X∈ Rn+

 

   
En posant A
−A
= A0 et b
−b
= b0 , on obtient la forme canonique pure.

2.4.5 Variable d’écart et forme standard

Proposition 2.6. Pour tout inéquation de la forme

a1 x1 + a2 x2 + · · · + an xn ≤ b (2.13)

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Les différentes formes d’un PL. 12

il existe un nombre réel positif e tel que

a1 x 1 + a2 x 2 + · · · + an x n + e = b (2.14)

e est appelé variable d’écart.

Proposition 2.7. Pour tout inéquation de la forme

a1 x 1 + a2 x 2 + · · · + an x n ≥ b (2.15)

il existe un nombre réel positif e tel que

a1 x 1 + a2 x 2 + · · · + an x n − e = b (2.16)

e est appelé variable d’écart.

En utilisant les propositions 2.6 et 2.7 tout programme linéaire sous la forme canonique
peut-être transformé en une forme standard par l’introduction des variables d’écart.

n
(PL): Max(Z = C T X = ci x i )
X
(PL): Max(Z = C T X)
i=1 
AX + E = b
 
AX ≤ b

sc



sc
X ∈ Rn+ , E ∈ Rm

X ∈ Rn+

+

E = (e1 , e2 , · · · , em ) est le vecteur des variables d’écart.

De manière analogue

n
(PL): Min(Z = C T X = ci x i )
X
(PL): Min(Z = C T X)
i=1 
AX − E = b
 
AX ≥ b

sc



sc
X ∈ Rn+ , E ∈ Rm

X ∈ Rn+

+

Exercice 2.8. Ecrire les programmes linéaires suivants sous la forme standard

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Résolution graphique d’un (PL) 13

(PL): Max(Z = 3x1 + 4x2


 (PL): Min(Z = 2x1 + 3x2 + x3 )

 x1 + 2x2 ≤ 12 
x1 − 2x2 + 3x3 ≥ 15

 

 

2x1 + 3x2 ≤ 19

 

 
sc ⇔ sc x1 + x2 + x3 ≥ 5
3x1 + 2x2 ≤ 12

 

 
x1 , x2 , x3 ≥ 0

 

 
X1 ≥ 0, x2 ≥ 0


2.4.6 Admissibilité et contrainte saturée.

Un élément X de Rn est admissible (ou réalisable) pour un progamme linéaire (PL) s’il vérifie
toutes les contraintes du problème. C’est-à-dire que X est solution de toutes équations et
inéquations dans (PL). L’ensemble de tous les points admissibles de (PL) est appelé ensemble
admissible.

Un élément X ∗ = (x∗1 , · · · , x∗n ) admissible pour un programme linéaire (PL) sature une
contraite d’inégalité a1 x1 + · · · + an xn ≤ b si

a1 x∗1 + · · · + an x∗n = b

On dit aussi que la contrainte est active pour X ∗

2.5 Résolution graphique d’un (PL)

La méthode graphique pour résoudre les PLs est valables pour les PLs à deux variables. Le
principa se présente comme suit:

1. On considère chaque inéquation comme une équation.

2. On construit dans un repère orthogonal la droite de chaque équation.

3. On détermine l’ensemble solution associé à chaque inéquation. L’intersection de tout


ces ensembles de solution détermine le domaine admissible.
On peut choisir de hachurer la partie non solution.

4. On associe à la fonction-objectif une droite (D) d’équation C T X = 0 puis on construit


(D).

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Résolution graphique d’un (PL) 14

5. Détermination de solution optimale.

(a) Si le problème est de type maximisation, on construit la droite parallèle la plus


éloigner possible de (D) passant par au moins un points de l’ensemble admissi-
ble. L’intersection de cette droite avec l’ensemble admissible donne les solutions
optimales du problème. Si on obtient un seul point, alors le problème admet seule
solution.

(b) Pour un problème de minimisation, on construit la droite parallèle la plus proche


possible de (D) passant par au moins un points de l’ensemble admissible. L’intersection
de cette droite avec l’ensemble admissible donne les solutions optimales du prob-
lème. Si on obtient un seul point, alors le problème admet seule solution optimale.

Sans construit les parallèles à la droite (D), on peut aussi projeter orthogonalement
les sommets du domaine admissible sur la droite (D).

Résoudre graphiquement les PLs suivants:

(P1): Max(Z = 5x1 + 7x2 (P2): Min(Z = 20x1 + 10x2 )


 



 x1 + x2 ≤ 4 


 x1 + 2x2 ≤ 40

 

3x1 + 8x2 ≤ 24 3x1 + x2 ≥ 30

 

 
sc et sc
10x1 + 7x2 ≤ 35 4x1 + 3x2 ≥ 60

 


 


 

X1 ≥ 0, x2 ≥ 0 x1 , x2 ≥ 0

 

 

(PL): Max(Z = 3x1 + 4x2



4x1 + 2x2 ≤ 40






sc  2x1 + 3x2 ≤ 90


X1 ≥ 0, x2 ≥ 0


2.5.1 Solution de base.

On considère un problème sous forme standard (P). On appelle solution réalisable de (P)
tout vecteur x qui satisfait les contraintes de (P). C’est-à-dire que Ax = b et x ≥ 0.

Soit B ⊂ {1, · · · , n} un sous-ensemble d’indices avec card(B) = m tel que les colonnes
Aj , j ∈ B, de A sont linéairement indépendantes. Autrement dit, la matrice carrée AB

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Résolution graphique d’un (PL) 15

formée des colonnes Aj , j ∈ B, est inversible. On dit que l’ensemble B des indices est une
base.

• Les variables xB = (xj , j ∈ B) sont appelées variables de base.

• Les variables xH = (xj , j ∈ B) sont appelées variables hors-base.

Sous l’hypothèse de rang plein, il existe toujours une base non vide quitte à réorganiser
Ax = b en obtenant la décomposition suivante:

A = (AB |AH ) où AH est la matrice formée des colonnes Aj , j < B de même x = (xB |xH ) et
le système Ax = b est équivalent à AB xB + AH xH = b.

Par la relation précédente et du fait que la matrice AB est inversible, on peut fixer les
variables hors-base et les variables de base sont alors complètement déterminées par

xB = A−1
B (b − AH xH )

Définition 2.9. (Solution de base )


On dit que x = (xB |xH ) est solution de base associée à la base B si xH = 0( vecteur nul)

Proposition 2.10. (solutions de base réalisables)


Si x = (xB |xH ) est solution de base réalisable, on a:

xB = A−1
B b et xH = 0

Proposition 2.11. (Propriétés géométriques des solutions de base réalisables)


On note DR = x ∈ Rn /Ax = b, x ≥ 0(vecteur nul) l’ensemble des solutions réalisables d’un
PL sous forme standard.

Commençons par rappeler les notions de polyèdre et d’ensemble convexe:


• Un polyèdre Q de Rn est défini par Q = {x ∈ Rn /Ax ≤ b} où A est une matrice m × n.
• Un ensemble E est dit convexe si ∀x, y ∈ E, λx + (1 − λ)y ∈ E pour tout 0 ≤ λ ≤ 1.

Theorem 2.12. x est une solution de base réalisable si et seulement si x est un sommet de
DR .

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Résolution graphique d’un (PL) 16

On a vu sur l’exemple de l’introduction (dans la résolution graphique) que la solution était


atteinte sur un sommet de DR et correspond donc à une solution de base.

Le résultat général s’énonce ainsi:

Theorem 2.13. L’optimum de la fonction objectif F sur DR , s’il existe, est atteint en au
moins un sommet de DR .

Pour résoudre un PL sous forme standard, il suffit de se restreindre aux solutions de base
réalisables (les sommets de DR ). Tout se passe donc avec les solutions de base.

L’ensemble DR n’est pas nécessairement borné. En fait pour un PL, seulement trois situations
peuvent se produire:

• DR = φ(ensemble vide ): le PL n’a pas de solution.

• DR , φ mais la fonction objectif F n’est pas majorée sur DR : le maximum de F vaut


+∞. Si DR est borné, ce cas est exclu.

• DR , φ et la fonction objectif F est majorée sur DR : le PL admet une solution optimale


(non nécessairement unique).

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Chapter Trois

Méthode de simplexe pour la


résolution d’un PL

La méthode du simplexe est due ‘a G. Dantzig (1947). Elle comporte 2 phases.

• Phase 1 ( Initialisation): Trouver une solution de base réalisable (ou bien détecter
l’impossibilité).

Pour les problèmes définis sous la forme canonique, une base évidente est déterminée
par les indices des variables d’écart. Les variables d’écart deviennent les variables
duales.

• Phase 2 ( Progression): On passe d’un sommet ‘a un sommet voisin pour augmenter


la fonction objectif (ou bien on détecte une fonction objectif F non majorée).

Les différentes étapes de la phase 2 sont:

1. Présenter le premier tableau de simplexe

Variables de Base x1 ··· xn e1 ··· em b


e1 a11 ··· a1n 1 ··· 0 b1
.. .. .. .. .. ..
. . . . . .
em am1 ··· amn 0 ··· 1 bm
-Z c1 ··· cm 0 ··· 0 0

Table 3.1: 1er tableau de simplexe

2. Détermination du pivot On considère le vecteur L des coûts réduits ou ( coûts margin-


aux)

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
CHAPTER 3. MÉTHODE DE SIMPLEXE POUR LA RÉSOLUTION D’UN PL 18

(a) Si Lj ≤ 0, ∀j alors la solution courante est optimale et le processus s’arrête. Sinon


on fait ce qui suit.

(b) Détermination de la variable entrante.


Identifier le grand coût marginal positif Le . La variable correspondante xe est la
variable entrante.

(c) Détermination de la variable sortante.

i. On considère la colonne de la variable entrante.


ii. Calculer les quotients qj = bi
aie
pour les aie strictement positifs.
iii. Déterminer le minimum qs des quotients calculés. La variable de base xs
correspondante est la variable sortante.

L’intersection de la ligne sortante et de la colonne entrante donne le pivot p.

Une fois le pivot est déterminé, on peut passer remplissage du nouveau tableau.

3. Passage au nouveau tableau.

(a) La ligne du pivot est divisée par le pivot p.

(b) la colonne du pivot est remplie de zéro (0) sauf le pivot.

(c) On remplit les autres cellules par la méthode des rectangle suivante:
Soit d l’ancienne valeur de la cellule, a de la cellule d’intersection de sa colonne
avec la ligne du pivot et b la valeur de la cellule d’intersection de sa ligne avec la
colonne du pivot. On a:

ab
d0 = d −
p
(d) Retour à l’étape 2.

3.0.1 Finitude du simplexe.

A chaque étape de l’algorithme du simplexe (en phase 2), on peut distinguer des cas remar-
quables qui conduisent tous à l’arrêt de l’algorithme.

1. Si les coûts réduits LH < 0, alors la solution de base réalisable courante est l’unique
optimum.

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
CHAPTER 3. MÉTHODE DE SIMPLEXE POUR LA RÉSOLUTION D’UN PL 19

2. Si les coûts réduits LH ≤ 0, alors il y a deux cas remarquables:

(a) Si (LH )e=0 et xe > 0, alors l’optimum n’est pas unique.

(b) Si (LH )e=0 et xe = 0, alors l’optimum est unique (a priori). Dans ce cas, la base
est dite dégénérée c’est-à-dire qu’il existe une variable de base nulle.

Exercice 3.1. Une boulangerie industrielle produit du pain, de la brioche et des croissants.
Pour cela,elle utilise du beurre, de la farine et de la levure, dont les quantités sont précisées
dans le tableau ci-dessous:

Farine Beurre Levure


Pain 2 0 2
Brioche 2 2 3
Croissants 4 6 6

Les quantités de farine, beurre et levure journalières sont respectivement de 22, 20 et 34


unités. Enfin, les bénéfices journaliers de la vente d’une unité de pain, brioche et croissant
sont respectivement de 30, 40 et 40 francs. On souhaite établir un planning de production
maximisant le bénéfice.

1. Traduire le problème sous la forme d’un programme linéaire (PL).

2. Résoudre (PL) par la méthode du simplexe.

3. Écrire le programme dual (D) de (PL).

4. Déduire la solution de (D) à partir du tableau final de (PL).

5. Combien d’unités de farine faut-il vendre pour avoir un bénéfice maximal? Justifie.

6. La boulangerie décide d’épuiser toutes ses disponibilités journalières. En utilisant la


méthode des deux phases, vérifie si cette décision pourra être réalisée.

Exercice 3.2. Une manufacture de piles désire ajouter deux nouveaux produits à son cata-
logue: la Everlast III et la Xeros dry-cells. La Everlast III contient 2g de Cadmium et 4g de
Nickel, alors que la Xeros nécessite 3g de Nickel et 4g de Zinc en poudre. La quantité totale
de Cadmium disponible sur le marché est de une tonne, celle de Nickel est de trois tonnes.

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
CHAPTER 3. MÉTHODE DE SIMPLEXE POUR LA RÉSOLUTION D’UN PL 20

Le Zinc est en quantité illimitée et sa pulvérisation est une formalité. La production de 1000
Everlast III demande 2 heures sur une Presse Glunt II et celle de 1000 Xeros dry-cells de-
mande 3 heures. La presse est disponible 2400 heures cette année. La compagnie escompte
un bénéfice net de 1000 euros par millier d’Everlast et de 1200 euros par millier de Xeros.

1. Traduire par un programme linéaire en forme canonique.

2. Résoudre le problème par une méthode graphique.

3. interpréte les résultats obtenus.

Exercice 3.3. Une entreprise pharmaceutique fabrique trois types de médicaments: des som-
nifères, des euphorisants et des analgésiques, dont les bénéfices de production escomptés sont
respectivement de 20, 20 et 10 milliers d’euros par kilo. Pour fabriquer chacun de ces médica-
ments, trois matières premières sont utilisées: de la caféïne, de la valériane et de l a mor-
phine. Les quantités nécessaires de ces produits pour fabriquer un kilo de médicaments sont
résumées dans le tableau suivant:

somnifère euphorisants analgésiques


Caféïne 0 2 4
Valériane 4 0 0
Morphine 4 1 4

Par ailleurs les quantités de caféïne, valériane et morphine sont limitées par leur production
à respectivement 2, 4 et 2 unités par jour.

Le but de l’exercice est de planifier les quantités de médicaments à produire afin de maximiser
le bénéfice quotidien.

1. Modéliser le problème sous forme d’un programme linéaire.

2. Résoudre celui-ci par l’algorithme du simplexe.

3. Justifier l’optimalité de la solution obtenue en se servant uniquement du dictionnaire


final fourni par l’algorithme de la question précédente.

Exercice 3.4. Une usine fabrique des portes, des tables et des chaises à l’aide de deux types
de machines A et B. Chaque produit passe obligatoirement par les deux machines.

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
La dualité 21

Pour produire:

- une porte, il faut 1.5 unité de madrier, 1 heure de machine A et 1 heure de machine B;

- une chaise, il faut 1 unité de madrier, 2 heures de machine A et 1 heure de machine B;

- une table, il faut 1 unité de madrier 1 heure de machine A et 2 heures de machine B.

L’entreprise réalise un bénéfice de 3 euros sur une porte, 3 euros par chaise et 4 euros par
table. Les deux machines sont disponibles 12 heures au maximum par jour. L’entreprise reçoit
au maximum 10 unités de madrier par jour.

1. Modéliser le problème à l’aide d’un tableau.

2. Modéliser le problème par un programme linéaire qu’on notera (P).

3. Peut-on résoudre le problème par la méthode graphique?

4. Écrire la forme standard puis dresser le premier de simplexe du problème (P).

5. Achever la résolution du problème (P).

6. L’entreprise décide d’augmenter de 2 heures le temps de travail de la machine A en


supportant un sur-coût de 2 euros. Étudier la pertinence de cette décision.

3.1 La dualité

Soit le problème linénaire suivant:


n
(PL): Max(Z = C T X = ci x i )
X

 n i=1
X
a ij xi ≤ bj ∀ j



sc i=1

xi ≥ 0 ∀ i


on peut considérer qu’il concerne une entreprise E 1 fabricant n biens j, j ∈ {1, · · · , n} et


faisant intervenir m ressources i, i ∈ {1, · · · , m}. La question que peut se poser l’entreprise
est la suivante: Etant donnée la disponibilité bi pour chaque ressource i et le profit unitaire
cj pour chacun des biens j, quel doit être le niveau de production de chaque bien j pour que

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
La dualité 22

la quantité de bien i consommée reste inférieure à la disponibilité bi et que le profit total


soit maximal?

Supposons qu’une autre entreprise E2 , en rupture de stock, désire racheter les ressources de
la première, le problème qu’elle va se poser et le suivant:
Etant donné un prix unitaire cj pour chacun n biens j et une disponibilité bi pour chacune
des m ressources i, quel doit être le prix unitaire minimum d’achat yi de chaque ressource
i pour que la valeur totale des ressources consommées par chaque bien j soit supérieure ou
égale à cj (pour que cela reste intéressant pour l’entreprise E1 et que le prix total d’achat
des ressources disponible soit minimum?

Ce deuxième problème constitue le problème dual du premier, il peut se mettre sous la forme:

Proposition 3.5. Le dual du dual est le primal.

Théorème 3.6. Soit X une solution réalisable d’un (PL) sous forme canonique mixte et Y
une solution réalisable du problème dual (PLD). Alors:

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Analyse de sensibilité 23

• F (X) ≤ G(Y )

• Si F (x) = G(y) alors x et y sont des solutions optimales de (PL) et (PLD) respective-
ment.

Théorème 3.7. Théorème fort de dualité

Si le problème primal (PL) admet une solution réalisable optimale X ∗ alors le problème dual
(PLD) admet lui aussi une solution réalisable optimale Y ∗ et on a

F (X ∗ ) = G(X ∗ ).

Théorème 3.8. Etant donnés un problème primal (PL) et son dual (PLD), une et une seule
des trois situations suivantes peut se produire.

• les deux problèmes possèdent chacun des solutions optimales (à l’optimum, les co^uts
sont égaux).

• un des problèmes possède une solution réalisable avec un optimum infini, l’autre n’a
pas de solution.

• aucun des deux problèmes ne possède de solution réalisable.

Théorème 3.9. Soient X et Y des solutions réalisables respectivement du problème primal


(PL) et du problème dual (PLD). Alors X et Y sont des solutions réalisables optimales si et
seulement si les conditions d’optimalité primal-dual (COPD) suivantes sont vérifiées:

• Si une contrainte est satisfaite en tant qu’inégalité stricte dans (PL) (resp. dans (PLD))
alors la variable correspondante de (PLD) (resp. de (PL)) est nulle.

• Si la valeur d’une variable dans (PL) ou (PLD) est strictement positive alors la con-
trainte correspondante de l’autre programme est une égalité.

3.2 Analyse de sensibilité

L’analyse optimale permet de déterminer des intervalles de variations des données pour
lesquels la base optimale B n’est pas modifiée. Elle permet de déterminer la sensibilité de
(PL) par rapport aux données. Une faible variation des données entraîne-t-elle un changement
important de la solution optimale?

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Analyse de sensibilité 24

3.2.1 Analyse post-optimale de l’objectif

On regarde l’influence des coefficients de la fonction objectif sur l’optimum. On considère un


(PL) sous forme standard qui admet une base optimale B c’est-à-dire un (PL) pour lequel
l’algorithme du simplexe se termine normalement. On se base généralement sur la condition
d’optimalité

LTH = CH
T
− CBT AH ≤ 0 (3.1)

Tous les coûts r

3.2.2 Analyse post-optimale du second membre des contraintes

On examine à présent l’influence du second membre des contraintes sur la solution de base
optimale.

Soit une base optimale B. A l’optimum, une condition de faisabilité est satisfaite.

XB = A−1
B b ≥ 0 (3.2)

Pour déterminer l’influence d’un coefficient du second membre sur la solution optimale:

• On remplace ce coefficient par un paramètre (ou on ajoute un paramètre au coefficient).


On obtient ainsi un second membre d.

• On calcule alors la solution de base xB = A−1


B d et on impose la condition d’admissibilité.

On obtient de cette façon une condition sur le paramètre introduit.

Cette condition est une condition nécessaire pour que la base optimale B soit inchangée.

En revanche, les valeurs de la solution de base xB changent, mais xB est toujours une solution
de base réalisable optimale car on maintient les coûts réduits LH ≤ 0 inchangés

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
Chapter Quatre

Programmation linéaire en nombres


entiers

Considérons notre exemple introductif en ajoutant la condition supplémentaire que les pro-
duits sont indivisibles. Donc une solution optimale de ce problème doit être en nombres
entiers. Le problème ainsi posé est donc un programme linéaire en nombres entiers.

(PLNE): Max(Z = 6x1 + 4x2 )






 2x1 + x2 ≤ 20


4x1 + 5x2 ≤ 55



sc
3x1 + 9x2 ≤ 81







x1 , x2 ∈ N

Le problème initial (PL) dont les variables x1 et x2 peuvent prendre toutes les valeurs de R+
est appelé problème relaxé ou une relaxation de (PLNE).

4.0.1 Premières méthodes de résolution

Méthode d’énumération

On énumère toutes les solutions réalisables puis on détermine le ou les solution(s) optimale(s).

Le cas de notre exemple:

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
CHAPTER 4. PROGRAMMATION LINÉAIRE EN NOMBRES ENTIERS 26

Les inconvénients ou limites:

Même si l’ensemble des solutions est fini, il peut être beaucoup trop grand

Par exemple ici, l’ensemble des solutions était décrit par 3 contraintes, et il y a plus de 70
solutions à évaluer. Il aurait pu être encore beaucoup plus grand, même avec 3 contraintes,
si les données avaient été différentes.

Exercice 4.1. Résoudre le problème suivant par la méthode d’énumération.

(PLNE): Max(Z = 6x + 4y)






 2x + 3y ≤ 7


x + 3y ≤ 6



sc
x+y ≤3







x, y ∈ N

Méthode heuristique

Une méthode heuristique cherche une bonne solution en se basant sur le bon sens.

En considérant le problème de production de deux produits P1 et P2 , comme le produit P1


rapporte plus que le produit P2 , une méthode heuristique cherche à maximiser la production
de P1 quitte à compléter avec une quantité de P2 .

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
CHAPTER 4. PROGRAMMATION LINÉAIRE EN NOMBRES ENTIERS 27

Ce qui nous conduit à la solution (x, y) = (10, 0) avec un bénéfice Z= 60.

Inconvénient: aucune garantie que c’est la solution optimale

Remarque 4.2. Toute solution réalisable du problème fournit une borne inférieure de (PLNE).

4.0.2 Méthode de relaxation

Une méthode de relaxation consiste à relaxer le problème (PLNE) afin de trouver une solution
approchée.

Pour un PLNE dont les variables appartiennent à N le problème relaxé peut être défini avec
des contraintes de positivité du type x ≥ 0.

Pour un PLNE dont les variables sont binaires (x ∈ {0, 1}), une relaxation peut-être définie
par 0 ≤ x ≤ 1 ou x(1 − x) = 0

Proposition 4.3. 1. Toute méthode de relaxation fournie une borne supérieure à la so-
lution optimale d’un PLNE de type maximisation.

2. Toute méthode de relaxation fournie une borne inférieure à la solution optimale d’un
problème PLNE de type minimisation.

3. Si la solution de la relaxation linéaire du programme entier est entière, alors elle est
optimale pour le problème entier.

4.0.3 Méthode des arrondies

Elle consiste à arrondir une solution fractionnaire donnée par une méthode de relaxation.
Elle permet parfois d’obtenir une bonne solution réalisable du problème entier, mais souvent
les solutions arrondies ne sont pas réalisables.

4.0.4 Algorithme de Branch and Bound

Idée: énumération implicite des solutions où on tente d’éviter l’énumération exhaustive en


faisant usage de bornes (estimations de la valeur d’une solution optimale) pour des sous-
ensembles de solutions: si l’estimation montre que ce sous-ensemble ne contient pas de

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com
CHAPTER 4. PROGRAMMATION LINÉAIRE EN NOMBRES ENTIERS 28

meilleures solutions que celle que nous connaissons déjà, il n’est pas nécessaire d’énumérer
ce sous-ensemble.

Voyons un cas sur un problème à variables binaires(le problème de sac à dos).

(PLNE): Max(Z = 7x1 + 4x2 + 3x3 + 3x4 )




 13x1 + 12x2 + 8x3 + 10x4 ≤ 30
sc
x1 , x2 , x3 , x4 ∈ {0, 1}

Etant donné que chaque variable est susceptible de prendre deux valeurs possibles 0 ou 1,
on n’a pas besoin d’une solution de départ donnée par une méthode de relaxation.

La méthode Bransh and Bund va nous permettre d’énumérer intelligemment toutes les so-
lutions possibles. En pratique, seules les solutions potentiellement de bonne qualité seront
énumérées, les solutions ne pouvant pas conduire à améliorer la solution courante ne sont pas
explorées. Pour représenter l’algorithme, nous utilisons un « arbre de recherche » constitué:

1. de nœuds ou sommets, où un nœud représente une étape de construction de la solution

2. d’arcs pour indiquer certains choix faits pour construire la solution.

Dans notre exemple, les nœuds représentent une étape où un certain nombre d’objets auront
été mis dans le sac, d’autres laissés en dehors du sac, et d’autres objets pour lesquels aucune
décision n’a encore été prise. Chaque arc indique l’action de mettre un objet dans le sac
ou au contraire de ne pas le mettre dans le sac. La figure suivante représente une partie de
l’arbre de recherche.

La Recherche Opérationnelle Jean KOUDI ©IFRI 2022-2023


et ses applications jeankoudi@imsp-uac.org/jeankoudi1@gmail.com

Vous aimerez peut-être aussi