Vous êtes sur la page 1sur 59

UNIVERSITÉ OUAGA 3S

==========
COURS DE RECHERCHE
OPÉRATIONNELLE
==========
MASTER I MaISN
==============
Année Universitaire 2022-2023
==========

Dispensé par: Dr Abdoulaye COMPAORÉ


Maître-Assistant en Mathématiques Appliquées;
Spécialité: Optimisation et Recherche Opérationnelle
Université Norbert Zongo

22 mars 2023
Table des matières

1 Notion de programmation linéaire 3


1.1 Rappels sur l’analyse convexe . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Ensembles convexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Fonctions convexes . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Concepts de base de la programmation linéaire . . . . . . . . . . . . . 5
1.4 Modélisation d’un programme linéaire . . . . . . . . . . . . . . . . . . 6
1.4.1 Quelques exemples de problèmes dont la modélisation conduit
à un programme linéaire . . . . . . . . . . . . . . . . . . . . . 6
1.4.2 Les étapes de la modélisation . . . . . . . . . . . . . . . . . . 7
1.4.3 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Forme canonique et standard d’un programme linéaire . . . . . . . . 8
1.5.1 Forme générale . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5.2 Forme canonique . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.3 Forme standard . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.4 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 Propriétés fondamentales de la programmation linéaire . . . . . . . . 10
1.6.1 Caractérisation des solutions admissibles . . . . . . . . . . . . 10
1.6.2 Caractérisation géométrique des solutions optimales . . . . . . 11
1.7 Méthode graphique de résolution d’un programme linéaire . . . . . . 12
1.7.1 Cas où D est un polytope . . . . . . . . . . . . . . . . . . . . 12
1.7.2 Cas où D est un polyèdre convexe, non vide mais borné. . . . 12
1.7.3 Cas où D = ∅, le problème n’a pas de solution optimale . . . . 13

2 Méthode simplexe de résolution d’un programme linéaire 14


2.1 Forme équivalente et tableau simplexe . . . . . . . . . . . . . . . . . 14
2.2 Propriétés fondamentale de la programmation linéaire . . . . . . . . . 16
2.2.1 Caractérisation de l’absence de solution optimale finie . . . . . 16
2.2.2 Amélioration d’une solution de base admissible . . . . . . . . 16
2.2.3 Test d’arrêt : obtention d’une solution de base optimale . . . . 17
2.3 Changement de base . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4 Algorithme simplexe . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6 Méthode des variables artificielles . . . . . . . . . . . . . . . . . . . . 20
2.6.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6.2 Contraintes du problème P a . . . . . . . . . . . . . . . . . . . 21
2.7 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Dr. A. COMPAORÉ Cours de R.O UO3S


TABLE DES MATIÈRES ii

2.8 Problème dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23


2.8.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.8.2 Le théorème de la dualité . . . . . . . . . . . . . . . . . . . . 24
2.8.3 Illustration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.8.4 Conditions d’optimalité . . . . . . . . . . . . . . . . . . . . . . 25
2.8.5 Proposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.8.6 Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.9 Problème 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.10 Problème 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.11 Problème 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.12 Problème 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.13 Problème 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.14 Problème 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.15 Problème 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.16 Problème 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3 Problèmes d’ordonnancement 30
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2 Méthode MPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3 Construction des niveaux dans la méthode MPM . . . . . . . . . . . 32
3.4 Vocabulaire et notations . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.1 Durée du Projet . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.2 Chemin critique . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.3 Marges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.4 Date de début de tâche . . . . . . . . . . . . . . . . . . . . . . 33
3.5 La méthode PERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.5.1 Principe de la représentation . . . . . . . . . . . . . . . . . . . 34
3.6 Travaux dirigés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.7 Ordonnancement en présence de durées aléatoires . . . . . . . . . . . 38
3.7.1 Estimation des moyennes et variances des durées . . . . . . . . 38
3.7.2 Estimation de la distribution de la durée d’exécution du projet 39
3.8 Analyse des ressources . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.8.1 Modélisation générale du problème RCPSP . . . . . . . . . . . 40
3.8.2 Algorithme de résolution de cas des ressources renouvelables . 42
3.8.3 Algorithme de résolution de cas des ressources consommables . 42
3.9 Analyse des couts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.9.1 Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.9.2 Diminution du cout total d’un ordonnancement sans variation
de durée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.9.3 Accélération d’un ordonnancement au moindre cout . . . . . . 44

4 Programmation linéaire multiobjectif 46


4.1 Concepts de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.1.1 Relation de dominance et solutions efficaces . . . . . . . . . . 47
4.1.2 Point idéal, nadir et matrice des gains . . . . . . . . . . . . . 48
4.2 Notions de fonctions scalarisantes . . . . . . . . . . . . . . . . . . . . 49

Dr. A. COMPAORÉ Cours de R.O UO3S


TABLE DES MATIÈRES iii

4.2.1 Paramètres de préférence . . . . . . . . . . . . . . . . . . . . . 49


4.2.2 Fonctions scalarisantes . . . . . . . . . . . . . . . . . . . . . . 50
4.2.3 Théorèmes de caractérisation des solutions efficaces . . . . . . 51

5 Analyse multicritère 53

6 Gestion de Stocks 54

Dr. A. COMPAORÉ Cours de R.O UO3S


C’est quoi la Recherche
Opérationnelle ?

La recherche opérationnelle (R.O.) est un processus d’aide à la décision qui per-


met de trouver une solution optimale (si elle existe) grâce à la modélisation mathé-
matique. La R.O. "moderne" 1 connaît ses premières applications publiées et bien
exploitées à partir de la deuxième guerre mondiale.
En effet, en 1940 Sir P. Blackett est appelé par l’état major britannique pour diri-
ger la première équipe de R.O., pour l’optimisation des problèmes d’implantation
des radars de surveillance. L’expression "Recherche Opérationnelle" ou en anglais
"Operations Research" (notamment aux USA) ou encore "Operational Research" a
donc une signification d’origine militaire : "O" pour Opérations militaires et "R"
pour Recherches.
En 1947, G. B. Dantzig propose et diffuse la méthode du simplexe qui permet de
résoudre les problèmes de programmation linéaire . Aujourd’hui on trouve plusieurs
réseaux ou associations des chercheurs en R.O. qui promeuvent la recherche et l’ap-
plication de la R.O. comme outils incontournables pour l’aide à la décision. Parmi
ces réseaux et associations nous citons : "International Federation of Operational
Research Societies (IFORS)", "Institut For Operations Research and Management
Science (INFORMS)", "Association of the European Operational Research Socie-
ties (EURO)", la Société britannique de R.O. (O.R.S), l’Association Française de
R.O. (ROADEF), l’Association Belge de R.O. (ORBEL), le Réseau de l’Ouest et
du Centre de l’Afrique pour la R.O. (ROCARO) , les Sociétés Sud Africaine, Maro-
caine, Égyptienne de R.0., etc.
Par la mathématisation et l’analyse des situations (de l’organisation du monde réel)
aussi complexes qu’elles soient, la R.O. constitue une science pour l’aide à la décision
et le management. Elle fournit, grâce à l’amélioration des techniques et moyens de
calcul informatique, des outils efficaces incluant les méthodes de la simulation infor-
matique, de l’optimisation, des probabilités et statistiques pour l’aide à la décision.
Elle tente de définir quelles sont les meilleures stratégies de décision en tenant compte
des facteurs importants. Elle permet de mesurer les risques de certaines alternatives
de décision et permet d’implémenter des systèmes automatiques et interactifs d’aide
à la décision comme l’intelligence artificielle ou les systèmes interactifs d’aide à la
décision. Les domaines de la R.O. sont très diversifiés puisque l’objet même de la
R.O. consiste à résoudre scientifiquement les problèmes d’optimisation liés aux or-
1. P. Chrétienne, 2èmes rencontres des Sciences et Technologies de l’Information du 24 au 26
octobre 2005 ISIMA, CLERMONT-FERRAND

Dr. A. COMPAORÉ Cours de R.O UO3S


TABLE DES MATIÈRES 2

ganisations du monde réel. Elle comprend donc toutes les approches scientifiques
pouvant aider à mathématiser une situation réelle de décision.
On trouve des applications de la R.O. dans les organisations du monde réel comme
l’optimisation dans les télécommunications, l’affectation et la localisation des res-
sources, la gestion des horaires du personnel et l’élaboration d’emplois du temps, le
choix du meilleur partenariat, l’analyse des performances, l’évaluation des politiques
publiques, la théorie du choix social, l’ordonnancement des employés, la localisation
de nouveaux centres de soins de santé, la stratégie d’intervention pour les préven-
tions, l’implantation de nouvelles écoles, la planification et l’ordonnancement de
tâches, la gestion de stocks et de la production, la planification pour l’industrie,
l’optimisation des transports et de la chaîne logistique, la gestion du trafic aérien ou
ferroviaire, l’intelligence artificielle, etc.

Dr. A. COMPAORÉ Cours de R.O UO3S


Chapitre 1

Notion de programmation linéaire

1.1 Rappels sur l’analyse convexe


Les ensembles convexes et les fonctions convexes jouent un rôle important dans
l’étude de l’optimisation linéaire et non linéaire. Nous introduisons les concepts et
les résultats des ensembles convexes et des fonctions convexes.

1.2 Ensembles convexes


Définition 1.2.1. Soit S ⊂ Rn . Si pour tout x1 , x2 ∈ S, on a

αx1 + (1 − α)x2 ∈ S, ∀α ∈ [0, 1], (1.1)

alors S est dit ensemble convexe.

Cette définition indique, en géométrie, que pour deux points quelconques x1 , x2 ∈


S, le segment de droite joignant x1 et x2 est entièrement contenu dans S. Elle in-
dique également que S est connectée par un chemin, c’est-à-dire que deux points
arbitraires de S peuvent être reliés par un chemin continu.

On peut montrer par induction que l’ensemble S ∈ Rn est convexe si et seulement


si pour tout x1 , x2 , · · · , xm ∈ S,
m
X
αi xi ∈ S, (1.2)
i=1

m
X
où αi = 1, αi ≥ 0, i = 1, · · · , m.
i=1

Dr. A. COMPAORÉ Cours de R.O UO3S


1.2 Ensembles convexes 4

Figure 1.1: Ensemble Convexe et Ensemble non Convexe.

Dans (1.2.1), x = αx1 + (1 − α)x2 où α ∈ [0, 1] est appelée combinaison convexe


m
X
de x1 et x2 . Dans (1.2), x = αi xi est appelée combinaison convexe de x1 , · · · , xm
i=1
m
X
où αi = 1, αi ≥ 0, i = 1, · · · , m.
i=1

Définition 1.2.2. L’hyperplan H = {x ∈ Rn |pT x = α} est un ensemble convexe,


où p ∈ Rn est un vecteur non nul appelé vecteur normal à l’hyperplan, et α est un
scalaire.

Remarque 1.2.1. De façons similaire, les demi espaces fermés H − = {x ∈ Rn |pT x ≤


β} et H + = {x ∈ Rn |pT x ≥ β} sont des ensembles convexes fermés. Les demi es-
paces ouverts (H̊)− = {x ∈ Rn |pT x < β} et (H̊)+ = {x ∈ Rn |pT x > β} sont des
ensembles convexes ouverts.

Une intersection finie de demi espaces fermés

S = {x ∈ Rn | pTi x ≤ βi , i = 1, · · · , m},

est appelée un ensemble polyédrique, où pi est un vecteur no nul, βi est un scalaire.


Le polyédrique est un ensemble convexe.

Puisqu’une égalité peut être représentée par deux inégalités, les ensembles sui-
vants suivants sont des exemples d’ensembles polyédriques :

S = {x ∈ Rn | Ax = b, x ≥ 0},

S = {x ∈ Rn | Ax ≥ 0, x ≥ 0}.

Théorème 1.2.1. Soient S1 et S2 deux ensembles convexes dans Rn . Alors


1. S1 ∩ S2 est convexe ;
2. S1 ± S2 = {x1 ± x2 | x1 ∈ S1 , x2 ∈ S2 } est convexe.

Théorème 1.2.2. Soit S ⊂ Rn un ensemble convexe. Alors


1. l’intérieur int(S) de S est un ensemble convexe ;
2. la fermeture S̄ de S est un ensemble convexe.

Dr. A. COMPAORÉ Cours de R.O UO3S


1.3 Concepts de base de la programmation linéaire 5

1.2.1 Fonctions convexes


Définition 1.2.3. On dit qu’une fonction f : Rn −→ R définie sur un convexe S,
est convexe, si elle vérifie :

∀x ∈ S, ∀y ∈ S, ∀λ ∈ [0, 1] : f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y),

f est dit strictement convexe si l’inégalité stricte est toujours vérifiée pour x 6= y et
λ ∈]0, 1[.

Théorème 1.2.3. Une combinaison linéaire ‘{a} coefficients positifs de fonctions


convexes est une fonction convexe.

1.3 Concepts de base de la programmation linéaire


Un problème de programmation linéaire consiste à minimiser (ou à maximiser)
une fonction linéaire sous contraintes linéaires ; il s’agit donc d’un programme ma-
thématique de la forme :
n
X
max(min) z = cj x j
 j=1
n
!
 X ≤
tij xj bi ; i = 1, p




(1.3)


 j=1

n
S.t : X

 tij xj = bi i = p + 1, m



 j=1

 xj ≥ 0; j = 1, q

où tij , bi , cj sont des constantes connues et les contraintes xj ≥ 0, j = 1, n sont


appelées contraintes de non-négativité.

Définition 1.3.1. On dit qu’un problème de programmation mathématique est convexe


s’il consiste à minimiser une fonction convexe (resp. maximiser une fonction concave)
sur un domaine convexe.

La résolution d’un problème du type (1.3) vise à déterminer l’allocation optimale


(c’est-à-dire la meilleure combinaison possible) de ressources limitées pour atteindre
certains objectifs. Les allocations doivent donc minimiser ou maximiser une fonction
dite objectif. En économie, ces fonctions sont par exemple le profit ou le coût.

Exemple 1.3.1.

max z = x1 + 2x2 fonction objectif



 x1 + 4x2 ≤ 5
 contrainte
S.t : 3x1 + 7x2 ≥ 2; contrainte

 x ;x ≥ 0
1 2 contraintes de non négativité
(1.4)

Dr. A. COMPAORÉ Cours de R.O UO3S


1.4 Modélisation d’un programme linéaire 6

1.4 Modélisation d’un programme linéaire


La programmation linéaire modélise beaucoup de problèmes économiques, de
gestion de productions, de distributions, de télécommunications, etc.

1.4.1 Quelques exemples de problèmes dont la modélisation


conduit à un programme linéaire
Exemple 1.4.1. Il s’agit d’un exemple de production dans lequel une entreprise
fabrique des chaises et des tables à l’aide de deux machines A et B. Chaque produit
passe obligatoirement par les deux machines. Pour produire une chaise, il faut 2
heures de machine A et 1 heure de machine B. Pour produire une table, il faut 1
heure de machine A et 2 heures de machine B. L’entreprise réalise un bénéfice de 3
euros sur chaque chaise et de 4 euros sur chaque table. Les deux machines A et B
sont disponibles 12 heures par jour au maximum.
Le problème consiste à savoir combien de chaises et de tables il faut
fabriquer pour maximiser le bénéfice.
Le tableau suivant montre :
1. le nombre d’heures nécessaires pour produire chaque table et chaque chaise
par machine ;
2. le nombre total des heures disponibles ;
3. le profit pour chaque unité de chaise et de table produite.

Machine Chaise Table Disponibilité


A 2 1 12
B 1 2 12
Bénéfice par unité 3 4

Exemple 1.4.2. Voyons à présent un cas où la fonction objectif doit être minimisée.
Une compagnie possède deux mines de charbon A et B. La mine A produit quoti-
diennement 1 tonne de charbon de qualité supérieure, 1 tonne de qualité moyenne
et 6 tonnes de qualité inférieure. La mine B produit par jour 2, 4 et 3 tonnes de
chacune des trois qualités. La compagnie doit produire au moins 90 tonnes de char-
bon de qualité supérieure, 120 tonnes de qualité moyenne et 180 tonnes de qualité
inférieure.
Sachant que le coût de production journalier est le même dans chaque mine, soit
1000, quel est le nombre de jours de production dans la mine A et dans la mine B
qui minimisent le coût de production de la compagnie ?

Exemple 1.4.3. Un épicier possède 450 kg de cacahuètes et 300 kg de noix en stock.


Il vend à ses clients trois mélanges différents : le premier, qui ne contient que des
cacahuètes, est vendu au prix de 25 Fr le kilo. Le deuxième mélange est composé
de deux tiers de cacahuètes et d’un tiers de noix ; il est vendu au prix de 40 Fr le
kilo. Le troisième mélange contient un quart de cacahuètes et trois quarts de noix ;
son prix est de 50 Fr le kilo. L’épicier aimerait savoir combien de kilos de chaque
mélange il doit vendre pour maximiser son chiffre d’affaires.

Dr. A. COMPAORÉ Cours de R.O UO3S


1.4 Modélisation d’un programme linéaire 7

1.4.2 Les étapes de la modélisation


La modélisation d’un problème de problème de programmation linéaire peut se
faire en trois grandes étapes comme suit :
Étape 1 : choix des variables. Cette étape consiste à choisir les variables du
problème. On appelle variable toute quantité utile à la résolution du problème
dont le modèle doit déterminer la valeur. Il faut distinguer les variables des
paramètres, qui sont des données qui peuvent varier, par exemple d’une pé-
riode à l’autre ou d’un scénario à l’autre.
Étape 2 : expression de l’objectif. Cette étape consiste à formuler mathé-
matiquement l’objectif. On appelle fonction objectif d’un problème d’optimi-
sation le critère de choix entre les divers solutions possibles.
Étape 3 : expression des contraintes. Cette étape est la formulation des contraintes
du problème. On appelle contraintes du problème toutes les relation limi-
tant le choix des valeurs possibles des variables. Ces relation peuvent être
de simples bornes sur les variables. Par exemple, les quantités produites
ne peuvent être négatives. Elles peuvent être plus complexes comme les
contraintes de capacité de production.

1.4.3 Application
Formulons mathématiquement l’exemple 1.2.1, nous avons :
Étape 1 : Notons respectivement par x1 et x2 le nombre de chaises et de tables
qui doit être produit par jour.
Étape 2 : Le bénéfice pour une chaise étant de 3 euros et celui pour une table
de 4 euros, le bénéfice journalier est donc donné par la fonction objectif :

z = 3x1 + 4x2 (1.5)

qu’il s’agit de maximiser.


Étape 3 : Puisque le temps où les machines peuvent fonctionner est limité, on
ne peut pas accroître la production indéfiniment. Les machines A et B ne
peuvent pas fonctionner plus de 12 heures par jour. On sait que pour produire
une chaise, il faut 2 heures de machine A alors que pour une table il n’en faut
qu’une. La contrainte concernant la machine A est donc :

2x1 + 1x2 ≤ 12. (1.6)

De même, une chaise requiert 1 heure de machine B, tandis qu’une table


en demande 2. La contrainte concernant la machine B, avec la même durée
maximale de 12 heures par jour, est donnée par :

1x1 + 2x2 ≤ 12 (1.7)

De plus, comme on ne peut pas produire de quantités négatives, il faut ajouter


encore deux contraintes de non-négativité :

x1 ≥ 0 (1.8)

Dr. A. COMPAORÉ Cours de R.O UO3S


1.5 Forme canonique et standard d’un programme linéaire 8

et
x2 ≥ 0 (1.9)

Le problème consiste donc à trouver les valeurs des variables x1 et x2 qui maximisent
le bénéfice journalier (1.3) tout en satisfaisant les contraintes (1.4) à (1.7).
En résumé, le problème s’écrit sous la forme :
max z = 3x1 + 4x2


 2x1 + x2 ≤ 12

 x + 2x ≤ 12;
1 2 (1.10)
S.C :

 x 1 ≥ 0

x2 ≥ 0

1.5 Forme canonique et standard d’un programme


linéaire
1.5.1 Forme générale
Considérons la forme générale d’un problème de programmation linéaire sui-
vante : n
X
max(min) z = cj x j
 j=1
n
!
 X ≤
tij xj bi ; i = 1, p




(1.11)


 j=1

n
S.t : X

 tij xj = bi i = p + 1, m



 j=1

 xj ≥ 0; j = 1, n
Adoptons les notations suivantes :
x = (x1 , · · · , xn ) vecteur colonne (n × 1)
c = (c1 , · · · , cn ) vecteur ligne (1 × n)
b = (b1 , · · · , bm ) vecteur colonne (m × 1)
T = (tij , i = 1, · · · , m; j = 1, · · · , n) vecteur colonne (m × n)
τi = (ti1 , · · · , tin ) vecteur ligne (1 × n) de la matrice T
tj = (t1j , · · · , tmj ) vecteur colonne (m × 1) de la matrice T
La forme générale ci-dessus s’écrit comme suit :
max(min) z = cx
 !
 ≤
 τi x bi ; i = 1, p




(1.12)
S.t :

 τ i x = bi i = p + 1, m

 xj ≥ 0;

j = 1, q

Dr. A. COMPAORÉ Cours de R.O UO3S


1.5 Forme canonique et standard d’un programme linéaire 9

1.5.2 Forme canonique


Pour transformer la forme générale en forme canonique, toutes les contraintes
doivent être ramenées en des contraintes d’inégalités de même nature. Notons que
pour les contraintes de la forme
 
τi x = bi on pose τi x ≥ bi et − τi x ≥ −bi .

La forme canonique est donc


min z = cx
(
T x ≥ b; (1.13)
S.t :
x ≥ 0.

Notons que maximiser une fonction objectif z revient à minimiser la fonction −z.

1.5.3 Forme standard


Pour obtenir la forme standard, toutes les contraintes d’inégalités sont mises sous
forme d’égalité par l’introduction de variables d’écart non négatives. Par exemple
pour :
τi x ≥ bi ⇐⇒ τi x − xei = bi avec xei ≥ 0;
τi x ≤ bi ⇐⇒ τi x + xei = bi avec xei ≥ 0.
En notation vectorielle, la forme standard est donc :
min z = cx
(
T x = b; (1.14)
S.t :
x ≥ 0.

1.5.4 Exemple
Exemple 1.5.1. Soit le problème sous sa forme générale :
max x1 − 4x2


 x1 ≤ 7;

 3x − 2x
1 2 ≥ 4;
S.t :

 x 1 + x 2 = 5;

x 1 ; x2 ≥ 0.

La forme canonique et la standard sont respectivement :


min −x + 4x2
 1

 −x1 ≥ −7;

 3x1 − 2x2 ≥ 4;



S.t : x 1 + x2 ≥ 5;




 −x1 − x2 ≥ −5;

 x1 ; x2 ≥ 0.

Dr. A. COMPAORÉ Cours de R.O UO3S


1.6 Propriétés fondamentales de la programmation linéaire 10

min −x1 + 4x2


x1 + xe1


 = 7;
 3x − 2x − xe

= 4;
1 2 2
S.t :

 x1 + x2 = 5;

x1 ; x2 ; xe1 ; xe2 ≥ 0.

1.6 Propriétés fondamentales de la programmation


linéaire
Reprenons la formulation d’un problème de programmation linéaire suivante :
max(min) z = cx

 τi x ≥ bi ; i = 1, p

(1.15)
S.t : τi x = bi i = p + 1, m
 x ≥ 0; i = 1, n

i

Une solution du problème est par définition une valeur des variables permettant de
vérifier les contraintes réelles des variables ; une solution admissible est une solu-
tion qui vérifie également les contraintes de non-négativité ; l’ensemble des solutions
admissibles -noté D- est donc
D = {x ∈ Rn | τi x ≥ bi , i = 1, · · · , p; τi x = bi , i = p + 1, · · · , m; x ≥ 0}.
Une solution optimale du problème est par définition une solution admissible qui
minimise la fonction objectif z :
x∗ solution optimale ⇐⇒ x∗ ∈ D et cx∗ ≤ cx; ∀x ∈ D.
Deux espaces peuvent être associés au problème. Le plus important est l’espace des
décisions : c’est un espace à n dimensions muni du repère euclidien orthonormé des
variables (x1 , · · · , xn ).
Cet espace permettra de représenter l’ensemble D et de caractériser la (les) fonc-
tion(s) optimale(s).
Par ailleurs, l’espace des contraintes est un espace à m dimensions muni d’un
repère euclidien orthonormé (e1 , · · · , em ). Il permet de représenter les vecteurs τi et
b, et jouera un rôle important dans l’étude de la dualité(voir chapitre 3.)

1.6.1 Caractérisation des solutions admissibles


L’ensemble D des solutions admissibles d’un problème de programmation linéaire
est soit
X un polytope ;
X un polyèdre convexe, non vide mais non borné ;
X un ensemble vide.
Exemple 1.6.1. Les exemples suivants illustrent à deux dimensions les trois situa-
tions citées ci-dessus :

Dr. A. COMPAORÉ Cours de R.O UO3S


1.6 Propriétés fondamentales de la programmation linéaire 11

1. solutions admissibles dans un polytope




 x1 + x 2 ≤8

 −2x + 3x
1 2 ≤6

 x1 − x2 ≤2

x1 ; x2 ≥0

2. solutions admissible dans un polyèdre convexe, non vide mais non borné ;


 x1 + x2 ≥8

 −2x + 3x ≥ 6
1 2

 x1 − x2 ≤2

x1 ; x2 ≥0

3. un ensemble vide 

 x1 + x2 ≤8

 −2x + 3x
1 2 ≥6

 x1 − x2 ≥2

x1 ; x 2 ≥0

Définition 1.6.1. On appelle point extrême d’un polytope ou d’un polyèdre convexe
X, tout point x ∈ X qui ne peut pas être exprimé comme combinaison convexe
d’autres points y ∈ X, (y 6= x)
Théorème 1.6.1. L’ensemble (polytope ou polyèdre) convexe D a un nombre fini
de points points extrêmes.
Théorème 1.6.2. Tout point d’un polyèdre convexe D ⊂ Rn est une combinaison
convexe des points extrêmes de D.

1.6.2 Caractérisation géométrique des solutions optimales


Théorème 1.6.3. l’optimum de z, fonction linéaire, sur D ⊂ Rn , polyèdre convexe,
est atteint en au moins un point extrême. S’il est atteint en plusieurs points extrêmes,
il est atteint en tout point , combinaison convexe de ces points extrêmes.
Démonstration.
Soient y 1 , y 2 , · · · , y K les points extrêmes de D. Posons z ∗ = min {z(y k )} et mon-
k=1,··· ,K
trons que z ∗ est le minimum de z sur D.
En utilisant le Théorème 1.6.1, tout x ∈ D peut se mettre sous la forme :
K
X X
x= λk y k , (λk ≥ 0, λk = 1)
k=1

K
X
alors z(x) = λk z(y k ) (linéarité de z ) d’où :
k=1

K
X

z(x) ≥ z λk = z ∗ .
k=1

Dr. A. COMPAORÉ Cours de R.O UO3S


1.7 Méthode graphique de résolution d’un programme linéaire 12

Donc z ∗ est le minimum de z sur D et il est atteint en au moins un point extrême. La


deuxième partie de la proposition découle directement de la linéarité de la fonction
z.

Remarque 1.6.1.

a) Si D est un polytope
1. soit la solution optimale est unique et est située en un sommet de D
2. soit il existe une infinité de solutions optimales qui sont les points d’une
face de D, ces solutions optimales sont donc combinaison convexe d’un
nombre fini de sommet.
b) Si D est polyèdre convexe, non vide mais non borné, en plus des situations
décrites ci-dessus, il est possible que le problème n’ait pas optimale à distance
finie ; il existe alors une solution admissible (à l’infini) telle que z = −∞.
c) Si D = ∅, le problème n’a pas de solution optimale.

Théorème 1.6.4. Pour un programme convexe, tout optimum local est optimum
global.

1.7 Méthode graphique de résolution d’un programme


linéaire
1.7.1 Cas où D est un polytope
Si z est considéré comme un paramètre dans l’expression z = cx, celle-ci dé-
finit une famille d’hyperplans parallèles dans l’espace des décisions, chacun d’eux
correspondent à une valeur de z. Lorsque cette valeur varie, l’hyperplan z = cx se
déplace parallèlement ; il faut donc déterminer la plus petite valeur de z telle que
l’hyperplan ait une intersection non vide avec D. Dès lors, soit c’est un sommet de
D qui correspond à une face (de dimension non nulle) du polytope et tous les points
admissibles de cet hyperplan -c’est-à-dire les points de cette face- constituent des
solutions optimales ; il y en a donc une infinité.

Exemple 1.7.1. L’exemple suivant donne une solution unique optimale

max z = 6x1 + 5x2




 x1 + x2 ≤8

 −2x + 3x
1 2 ≤6
S.t :

 x1 − x2 ≤2

x1 ; x2 ≥ 0.

1.7.2 Cas où D est un polyèdre convexe, non vide mais borné.


La situation spécifique de ce cas découle de la possibilité que l’hyperplan z = cx
se déplace indéfiniment (z −→ −∞) tout en ayant des points d’intersection avec D

Dr. A. COMPAORÉ Cours de R.O UO3S


1.7 Méthode graphique de résolution d’un programme linéaire 13

Exemple 1.7.2. Le programme linéaire suivant donne une infinité de solution op-
timales
max z = 5x1 + 5x2


 x1 + x2 ≤8

 −2x + 3x
1 2 ≤6
S.t :

 x1 − x2 ≤2

x1 ; x2 ≥ 0.

1.7.3 Cas où D = ∅, le problème n’a pas de solution optimale


Exemple 1.7.3. Le programme linéaire suivant n’a pas de solution optimale finie

max z = 6x1 + 5x2




 x1 + x2 ≥8

 −2x + 3x
1 2 ≤6
S.t :

 x1 − x2 ≤2

x1 ; x2 ≥ 0.

Dr. A. COMPAORÉ Cours de R.O UO3S


Chapitre 2

Méthode simplexe de résolution d’un


programme linéaire

Lorsque la taille des variables d’un problème de programmation linéaire est


grande (par exemple ≥ 3), les méthodes graphique de résolution deviennent très
compliqué à exécuter. La méthode simplexe que nous décrirons dans ce chapitre
permet donc de résoudre un programme linéaire quelque soit le nombre de variable
du problème.
Soit le problème de programmation linéaire sous la forme standard suivant :

z ∗ = min z = cx
(
Tx = b
S.t :
x ≥ 0.

Avec T (m × n), x(n × 1), c(1 × n), b(m × 1). Dans un premier temps, les deux hypo-
thèses suivantes sont introduites :
H1 : rang(T ) = m(< n) : le système est non redondant
H2 : il existe une base B admissible initiale

Théorème 2.0.1. L’ensemble des points extrêmes d’un polytope D = {x ∈ Rn :


T x = b, x ≥ 0} correspond à l’ensemble des solutions de base réalisable.

2.1 Forme équivalente et tableau simplexe


Lorsqu’une base B est disponible, on peut transformer le problème sous la forme

z ∗ = min z = cB xB + cR xR
(
BxB + RxR = b (2.1)
S.t :
x ≥ 0.

en séparant indice de base et hors base :

cB (1 × m), cR (1 × n − m), B(m × m), R(m × n − m), xB (m × 1), xR (n − m × 1)

Dr. A. COMPAORÉ Cours de R.O UO3S


2.1 Forme équivalente et tableau simplexe 15

!
xB
T = (B, R), x = , c = (cB , cR )
xR
et avec
xB = (xi , i ∈ I), m variables de base
xR = (xj , j ∈ J), n − m variables hors base
La solution admissible initiale vaut :
xB = B −1 b ≥ 0 (par hypothèse H2)
xR = 0

En multipliant la contrainte de (2.1) par B −1 , nous obtenons

xB + B −1 RxR = B −1 b

et donc, en remplaçant xB

z = cB B −1 b − (cB B −1 R − cR )xR .

Adoptons les notations suivantes pour la suite du cours :


(aij , i ∈ I, j ∈ J) = A = B −1 R de dimension (m × n − m)
−1
B tj = aj , j ∈ J, j e vecteur colonne de A
a0 = (ai0 , i ∈ I) = B −1 b de dimension (m × 1)
−1
α0 = (a0j , j ∈ J) = cB B R − cR de dimension (1 × n − m)
( par conséquent cB B −1 − cj = a0j ).
Le problème, mis sous sa forme équivalente, s’écrit maintenant
X
min z = a00 − a0j xj
 Xj∈J
 xi + aij xj = ai0 (2.2)
S.t : j∈J
x ≥ 0.

Ou en notation vectorielle,
z = a00 − α0 xR
xB + AxR = a0
x ≥ 0.
Les cœfficients de cette forme équivalente constituent le tableau simplexe (à m + 1
lignes et à n − m + 1 colonnes), que l’on peut donc associer à chaque solution de
base.
xj , j ∈ J( variables hors base)
z a00 a0j
xi ∈ I
( variables ai0 aij
de base)

Dr. A. COMPAORÉ Cours de R.O UO3S


2.2 Propriétés fondamentale de la programmation linéaire 16

Dans la première colonne du tableau, nous avons :

a00 la valeur actuelle de la fonction économique


ai0 la valeur de la variable de base xi , i ∈ I.

Les variables xj , j ∈ J, hors base sont par définition égales à zéro ; quand la solution
de base est admissible (supposé ici), toutes les valeurs ai0 , i ∈ I, sont non négatives.
Les coefficient aij du tableau simplexe sont les coefficient de la combinaison linéaire
des vecteurs de base ti , i ∈ I qui exprime de manière unique le vecteur hors base tj

Exemple 2.1.1. Trouver le tableau simplexe du programme linéaire suivant :

max z = 63x1 + 32x2 + 52, 5x3



 40x1 + 50x2 + 20x3 ≤ 350

S.t : 3x1 + x2 + 5x3 ≤ 34

 x ,x ,x
1 2 3 ≥ 0.

On présentera la matrice de la forme standard, les variable de base et variables hors


base ainsi que les matrices de base et hors base. On donnera la valeur correspondante
à chaque variable.

2.2 Propriétés fondamentale de la programmation


linéaire
2.2.1 Caractérisation de l’absence de solution optimale finie
Soit une solution de base admissible ; s’il existe k ∈ J tel que

a0k > 0
aik ≤ 0, ∀i ∈ I,

la fonction économique z peut prendre une valeur aussi petite que l’on veut, c’est-
à-dire qu’il n’y a pas de solution optimale finie.
Cette absence de solution optimale finie se caractérise donc au niveau du tableau
simplexe par la situation suivante :

a0j > 0

ai0 ≥ 0 aij ≤ 0

2.2.2 Amélioration d’une solution de base admissible


Soit une solution de base admissible et supposons que ∀k ∈ J tel que a0k > 0, il
existe au moins un indice i ∈ I pour lequel aik > 0.

Dr. A. COMPAORÉ Cours de R.O UO3S


2.3 Changement de base 17

Définissons l’indice l par la relation


al0 a 
i0
= min .
alk i|aik >0 aik
Si on remplace dans la base le vecteur de base tl par le vecteur hors base tk , on
obtient une nouvelle base correspondant à une solution de base admissible meilleur
-ou aussi bonne- que la précédente du point de vue de la fonction économique.
Cette propriété qui servira de base à une itération de l’algorithme simplexe, se
caractérise donc au niveau du tableau simplexe par la situation

k
>0
..
←− .
ai0
⇐= ( calcul de ) ←−
aik ≥0 >0
←− ..
.

2.2.3 Test d’arrêt : obtention d’une solution de base optimale


Soit une solution de base admissible. Une condition suffisante, et nécessaire si le
problème est non dégénéré, pour que cette solution soit optimale, est que ∀j ∈ J on
ait a0j ≤ 0.
L’obtention d’une solution de base optimale finie se caractérise donc au niveau
du tableau simplexe par la situation

≤0

≥0 .

2.3 Changement de base


Dans la procédure de changement de base, la nouvelle base B ∗ ne diffère de
l’ancienne base B que par un seul vecteur :

I∗ = I − l + k
J∗ = J + l − k

X xk , k ∈ J, est la variable hors base qui devient variable de base


X xl , l ∈ I, est la variable de base qui devient variable hors base.
On parlera de la variable xk qui rentre dans la base et de la variable xl qui sort de
la base.
La poursuite de la procédure itérative nécessite de réécrire le problème sous la forme
équivalente, autrement dit de recalculer le tableau simplexe, correspondant à la

Dr. A. COMPAORÉ Cours de R.O UO3S


2.3 Changement de base 18

nouvelle base B ∗ .
Le cœfficient alk est appelé le pivot du changement de base (par référence à la
méthode de Gauss de résolution d’un système linéaire). L’équation
X
xl + alk xj = al0
j∈J

devient
1 X alj al0
xl + xl + xj = ;
alk j∈J−k
a lk a lk

on obtient alors pour i ∈ I − l


aik X  aik alj  aik al0
xi − xk + aij − xj = ai0 −
alk j∈J−k
alk alk

et
a0k al0 a0k X  a0k alk 
z = a00 − + xl − a0j − xj .
alk alk j∈J−k
a lk

Les formules de changement de base suivantes permettent de calculer aisément le


nouveau tableau simplexe à partir de l’ancien :
aik alj
a∗ij = aij − i 6= k; j 6= l
alk
alj
a∗kj = j 6= l
alk
a ik (2.3)
a∗il = − i 6= k
alk
1
a∗lk =
alk
Ainsi, une fois déterminée les variables xk et xl rentrant et sortant de la base -et
donc le pivot alk - il suffit d’appliquer à l’ancien tableau simplexe les quartes règles
suivantes pour obtenir le nouveau tableau simplexe.

Règles de changement de base


X Remplacer le pivot par son inverse
X Diviser les autres éléments de la ligne du pivot par le pivot
X Diviser les autres éléments de la colonne du pivot par le pivot et changer de
signe
X Pour les autres éléments , on applique la règle dite du rectangle :
aij −→ aik
aik alj
↓ ↑ : aij −→ aij − (2.4)
alk
alj ←− alk
Notons que la ligne α0 (cœfficient de z) et la colonne a0 (terme indépendants) se
transforment de la même façon que les autres éléments du tableau simplexe.
Remarquons également que cette règle du rectangle implique :
X si ∃i ∈ I | aik = 0 : les cœfficients aij , ∀j 6= k ne sont pas modifiés
X si ∃j ∈ J | alj = 0 : les cœfficients aij , ∀i 6= l ne sont pas modifiés.

Dr. A. COMPAORÉ Cours de R.O UO3S


2.4 Algorithme simplexe 19

2.4 Algorithme simplexe


Avant de décrire complètement l’algorithme simplexe, il reste à déterminer quelle
variable xk choisir pour rentrer dans la base, parmi les variables telles que a0j > 0, j ∈
J.
Choisir n’importe laquelle suffirait à la convergence de l’algorithme, mais n’optimi-
serait pas l’efficacité de l’algorithme. La règle communément admise est de choisir
une variable xk qui assure, pour un déplacement unitaire, la plus forte diminution ;
autrement dit, choisir xk telle que
a0k = max (a0j ).
j∈J|a0j >0

Soit un problème de P.L (de minimisation), les étapes de l’algorithme simplexe


sont les suivantes :
X Écrire le problème sous forme standard.
X Déterminer un base B initiale correspondant à une solution de base admis-
sible.
Mettre le problème sous sa forme équivalente et écrire le tableau simplexe.
Soit I l’ensemble des indices des variables de base et J celui des indices des
variables hors base.
X Tester les a0j :
a) si a0j ≤ 0∀j ∈ J, la solution considérée est optimale. STOP ;
b) si ∃j ∈ J | a0j > 0 et aij ≤ 0∀i ∈ I, il n’y a pas de solution optimale finie
et la valeur de la fonction objectif n’est pas bornée : z ∗ = −∞. STOP
c) autrement, effectuer un changement de base.
X Changement de base :
a) déterminer l’indice k de la variable qui entre dans la base :
a0k = max a0j > 0
j∈J

b) déterminer l’indice l de la variable qui sort de la base :


al0 a 
i0
= min
alk i∈I|aik >0 aik
c) calculer le nouveau tableau simplexe en appliquant les formules de chan-
geant de base.
Remarque 2.4.1. Dans le cas d’une maximisation, il n’est pas nécessaire de trans-
former la fonction objectif pour se ramener à une minimisation (max z = min −z) ;
pour appliquer l’algorithme au problème de maximisation, il suffit d’inverser le rai-
sonnement fait sur le signe des cœfficients de la fonction z.
Plus précisément, dans le cas d’une maximisation, l’algorithme reste valable moyen-
nant les trois modifications suivantes relatives au signe des a0j
X La solution considérée est optimale si a0j ≥ 0∀j ∈ J.
X il n’y a pas de solution optimale finie si ∃j ∈ J | a0j < 0 et aij ≤ 0∀i ∈ I
X détermination de l’indice k : a0k = min a0j < 0
j∈J

Dr. A. COMPAORÉ Cours de R.O UO3S


2.5 Exercices 20

2.5 Exercices
Utiliser la méthode simplexe pour résoudre les problèmes suivants :
1.
max z = 6x1 + 5x2


 x1 + x2 ≤8

 −2x + 3x
1 2 ≤6
S.t :

 x1 − x2 ≤2

x1 , x2 ≥ 0.

2.
min z = −3x1 + 5x2

 −2x1 + 3x2 ≤ 6

S.t : x1 − 4x2 ≤2

 x ,x
1 2 ≥ 0.
3.
max z = 63x1 + 32x2 + 52, 5x3

 40x1 + 50x2 + 20x3 ≤ 350

S.t : 3x1 + x2 + 5x3 ≤ 34

 x ,x ,x
1 2 3 ≥ 0.
4. Modéliser le problème de l’exemple 1.2.3 (page 2 chapitre 1) et le résoudre.

2.6 Méthode des variables artificielles


2.6.1 Principe
Dans cette section, les hypothèses H1 et H2 sont éliminées.
Soit le problème sous forme standard

z∗ = min z = cx
(
T x = b; (2.5)
S.t : (P )
x ≥ 0.

et supposons (ce qui n’est pas restrictif) que b ≥ 0.


La méthode des variables artificielle a pour but de générer une base admissible -s’il
en existe une- ou de mettre en évidence l’impossibilité du problème.
Le principe de la méthode des variables artificielle est illustrée comme suit :
à partir du problème (P), un nouveau problème (P a ) ; P augmenté ; est créé artifi-
ciellement. Les éléments artificiels introduits sont tels que le problème P a satisfera
les deux hypothèses H1 et H2 ; il sera donc possible d’appliquer à P a l’algorithme
simplexe. De la conclusion obtenue pour le problème P a (z ∗a −→ −∞ ou obtention
d’une solution optimale finie), il faudra déduire la conclusion relative au problème
P (z ∗ −→ −∞ ou obtention d’une solution optimale finie ou problème impossible).

Dr. A. COMPAORÉ Cours de R.O UO3S


2.6 Méthode des variables artificielles 21

2.6.2 Contraintes du problème P a


Une nouvelle variable artificielle xai non négative est ajoutée au premier membre
de chaque contrainte :
n
X
tij xj + xai = bi , i = 1, · · · , m
j=1
xj ≥ 0, j = 1, · · · , n
xai ≥ 0, i = 1, · · · , m

ou vectoriellement :
T x + Ixa = b
x ≥ 0
xa ≥ 0
où I représente la matrice identité (m × m).
Ce nouveau système linéaire de contraintes est non redondant (r(T, I) = m) et de
plus il existe une solution de base admissible initiale (xa = b ≥ 0, variable de base ;
x = 0, variable hors base).
Les deux hypothèses H1 et H2 sont ainsi vérifiées et par conséquent, il est possible
d’appliquer l’algorithme simplexe pour chercher l’optimum d’une fonction linéaire
sous ces contraintes.
Pour obtenir une solution du problème initiale, il est nécessaire que les variables
artificielles soient nulles.
C’est pourquoi dans la fonction économique, on pénalise l’introduction de variables
artificielles de la manière suivante :
n
X m
X
min z a = cj x j + M xai
j=1 i=1

où M représente une constante symbolique aussi grande que l’on veut. Cette méthode
est parfois dénommée "Big M method ".
La présence de ce cœfficient M va induire que pour diminuer z a , l’algorithme va
tenter prioritairement d’annuler les variables artificielles.
L’algorithme simplexe peut donc s’appliquer à ce nouveau problème -le problème
augmenté- :
m
X
z ∗a a
= min z = cx + M xai
i=1
(P a ) : T x + Ixa = b ( avec b ≥ 0)
x ≥ 0
xa ≥ 0

Étant donné que M est aussi grand que l’on veut, les variables artificielles vont être
éliminées de la base en premier lieu.
Deux cas cas peuvent se présenter.

Dr. A. COMPAORÉ Cours de R.O UO3S


2.7 Exercices 22

1. L’algorithme montre que le problème P a ne possède pas de solution optimale


finie : z ∗a = −∞.
2. Dans ce cas, les variables artificielles sont nécessairement toutes nulles et le
problème initial P est lui aussi non borné : z ∗ = −∞.
a) Si, dans cette solution, il existe encore des variables artificielles non nulles,
ceci indique -par un raisonnement par l’absurde- qu’il est impossible d’an-
nuler toutes les variables artificielles et que le problème P est dès lors
impossible.
b) Si, dans cette solution, toutes les variables artificielles sont nulles, cette
solution est une solution de base admissible optimale du problème P .

Remarque 2.6.1. a) Pour traiter un problème de maximisation, le problème


P a à considérer est bien évidement
m
X
a
max z = cx − M xai
i=1
(P a ) : T x + Ixa = b ( avec b ≥ 0)
x ≥ 0
xa ≥ 0

b) Quand une variable artificielle est sortie de la base, il est certain qu’elle n’y
rentrera plus ; la colonne correspondante du tableau simplexe devient superflue
et peut être supprimée.
c) Les cœfficient a0j relatifs au problème P a sont de la forme
(1) (2)
a0j = a0j + M a0j ;

dans les tableaux simplexes, il peut être commode d’écrire les cœfficients a0j
(2) (1)
en deux lignes, contenant respectivement les termes a0j et a0j . Tant que
l’annulation de toutes les variables artificielles n’est pas terminée -ce sont les
(2)
cœfficients aoj - proportionnels au "big M" -qui déterminent le signe des a0j
et donc la variable xk rentrant dans la base est déterminée par
(2) (2)
a0k = max a0j .
j∈J

Les formules de changement de base sont ensuite appliquées aux deux lignes.
(2)
Dès lors que toutes les variables artificielles sont nulles, les cœfficients a0j
(1)
sont tous nuls et l’algorithme simplexe s’applique aux cœfficients a0j .

2.7 Exercices
Résoudre les problèmes suivants :

Dr. A. COMPAORÉ Cours de R.O UO3S


2.8 Problème dual 23

1.
max z = 6x1 + 5x2


 x1 + x2 ≥8

 −2x + 3x
1 2 ≤6
S.t :

 x1 − x2 ≤2

x 1 ; x2 ≥ 0.

2.
max z = 6x1 + 5x2


 x1 + x2 ≤8

 −2x + 3x
1 2 ≥6
S.t :

 x1 − x2 ≥2

x1 ; x2 ≥ 0.

3.
max z = 10x1 + 9x2 + 7x3


 2x1 + 3x2 + 5x3 ≥ 450

 4x + 9x + 10x
1 2 3 ≤ 1200
S.t :

 3x1 + 2x2 + 6x3 ≤ 600

x1 ; x2 , x3 ≥ 0.

2.8 Problème dual


2.8.1 Définition
Définition 2.8.1. A tout programme linéaire initial est appelé primal et correspond
un programme linéaire appelé dual. En effet si le primal est de la forme :
max
( z = cx min
( z = cx
Ax ≤ b Ax ≥ b
ou
x≥0 x≥0

alors le dual est la forme respectivement


min w =t by
( max t
( t w = t by
t
Ay ≥t c Ay ≤ c
ou
y≥0 y≥0

avec :
t
 A est la transposée de la matrice A du primal
t
 c est la transposée de la matrice c du primal
t
 b est la transposée de la matrice b du primal
 y est la matrice des variables dual.

Remarque 2.8.1. Nous pouvons représenter un problème primal et son dual associé
dans un tableau que l’on doit à A. W. Tucker.

Dr. A. COMPAORÉ Cours de R.O UO3S


2.8 Problème dual 24

x1 x2 . . . xn
y1 a11 a12 . . . a1n ≤ b1
y1 a21 a22 . . . a2n ≤ b2
. . . . . . . .
. . . . . . . .
y1 am1 am2 . . . a1 ≤ bm
≥ c1 ≥ c2 . . . ≥ cn
Le problème primal se lit dans le sens de ligne, tandis que le problème dual se lit
dans le sens des colonnes.
Le sens économique des variable duales, encore appelées prix fantôme, est qu’elle
correspondent à l’augmentation de la ressource correspondante lorsque celle aug-
mente d’une unité. Autrement dit, elles permettent de mesurer l’incidence de cha-
cune des ressources sur le profit. En particulier, lorsque la fonction objectif est à
maximiser, la variable yi mesure le changement marginal de z = cx par rapport à bi .

Remarque 2.8.2. Pour résoudre un problème de minimisation nous allons utiliser


son problème dual qui est un problème de maximisation.

2.8.2 Le théorème de la dualité


Il n’est aucunement restrictif de supposer que le primal est mis sous la forme
standard.

Proposition 2.8.1. En général les deux programmes utilisent les mêmes données
et présentent les mêmes caractéristiques.
Primal Dual
m contraintes m variables
n variables n contraintes
contraintes du type ≤ ou ≥ contraintes du type ≥ ou ≤
problème max ou min problème min ou max
écriture en ligne écriture en colonne

Théorème 2.8.1. Si le problème primal admet une solution, le dual en admet éga-
lement et le maximum de l’un est égale au minimum de l’autre.

2.8.3 Illustration
Énoncé
Considérons le problème précédent :

maxz = 30x1 + 50x2


 3x1 + 6x2
 ≤ 3000 ;

 3x + x
1 2 ≤ 1500 ;
S.C

 7x1 + 6x2 ≤ 4200.

x1 ≥ 0, x2 ≥ 0.

Dr. A. COMPAORÉ Cours de R.O UO3S


2.8 Problème dual 25

son dual est le suivant :

min z =3000y1 + 1500y2 + 4200y3


 3y1 + 3y2 + 7y3
 ≥ 30 ;
S.C 6y1 + y2 + 6y3 ≥ 50 ;

 y ≥ 0, y ≥ 0, y ≥ 0.
1 2 3

Interprétation du dual
Supposons dans notre problème qu’une autre entreprise veut fournir les matières
premières pour la fabrication des produits P et Q. La société α achète les matières
premières A, B et C respectifs aux prix y1 , y2 et y3 la tonne. Ainsi la société α va
chercher à minimiser le coût total d’acquisition de ces matières premières a savoir :

w = 3000y1 + 1500y2 + 4200y3

L’entreprise α ne pourra accepter que si les prix proposés lui procurent un résultat
au moins égal à ce que lui rapporte la fabrication d’un produit et P et Q :

3y1 + 3y2 + 7y3 ≥ 30


6y1 + y2 + 6y3 ≥ 50

Exercice 2.8.1. Résoudre l’exemple du spécialiste en médecine en utilisant la mé-


thode du dual.

2.8.4 Conditions d’optimalité


2.8.5 Proposition
Proposition 2.8.2. :
 Si la ie variable est non nulle à l’optimum du primal, alors la ie contrainte
est saturée à l’optimum du dual.
 Si la ie contrainte est saturée à l’optimum du primal, alors la ie variable est
nulle à l’optimum du dual.

2.8.6 Résumé
Le primal et le dual sont liées par les relations suivantes :
 Si le primal est un problème de maximisation le dual est un problème de
minimisation et vise versa ;
 La matrice des coefficients de l’un est la transposée des coefficients de l’autre ;
 Les coefficients de la fonction économique du primal sont les second membre
des contraintes du dual ;
 Les seconds membres des contraintes du primal sont les coefficient de la fonc-
tion économique du dual ;
 A l’optimum, la fonction économique du primal et du dual ont la même valeur
(z = w) ;

Dr. A. COMPAORÉ Cours de R.O UO3S


2.9 Problème 1 26

 Si, à l’optimum, une contrainte du primal n’est pas saturée, alors la variable
duale correspondante est nulle ;
 Si la valeur optimale d’une variable d’un programme linéaire n’est pas nulle,
alors la contrainte duale correspondante est saturée pour la solution optimale.

Travaux dirigés
2.9 Problème 1
Vous vous rendez au village et vous trouvez votre tante qui tisse des pagnes
traditionnels pour vendre. Dans la causerie, elle vous révèle qu’il y a seulement deux
types de pagne qui sont les plus vendus. Le premier type qui est composé de fil
blancs et noirs, et le second de fil blanc, noir et bleu.
Elle vous dit que ses capacités financières ne lui permettent d’acheter que 800
rouleaux de fil blanc, 700 rouleaux de fil noir et 300 rouleaux de fil bleu. La vente
d’un pagne du premier type lui rapporte 4 000 FCA et 5 000 FCA pour celle du
second type.
Elle ajoute aussi que pour la confection d’un pagne du premier type, elle utilise
deux rouleaux de fil blanc et un rouleau de fil noir. Celle du second type utilise un
rouleau de fil blanc, deux rouleaux de fil noir et un rouleau de fil bleu. Elle vous dit
qu’il y a longtemps qu’elle fait ce métier mais qu’elle ne s’en sort pas. Pourtant elle
vend tout ce qu’elle confectionne.
Sachant que vous avez suivi un cours sur la programmation linéaire, aidez votre
tante.
NB : vous utiliserez la résolution graphique en expliquant toutes les étapes.

2.10 Problème 2
Le directeur d’un lycée souhaite renouveler le matériel de son établissement. Il a
besoin au minimum de
- 90 instruments complets de géométrie ,
- 240 tables bancs de deux places,
- 240 tables bancs de trois places.
Une premières entreprise de vente lui propose un lot A comprenant 2 instruments
complets de géométrie, 4 tables bancs de deux places et 8 tables bancs de trois places
pour 120 000 FCA. Une deuxième entreprise vend pour 240 000 FCA un lot B de 3
instruments complets de géométrie, 12 tables bancs de deux places et 6 tables bancs
de trois places.
Pour répondre à ses besoins, le directeur achète x lots A et y lots B.

Trouver le programme optimal de ce problème et le résoudre.

Dr. A. COMPAORÉ Cours de R.O UO3S


2.11 Problème 3 27

2.11 Problème 3
Un ébéniste fabrique des bureaux sous forme standard ou luxe. Des études de
marché ont montré que pour l’année à venir, les possibilités de vente s’élèvent à
300 unités pour le modèle luxe et à 400 unités pour le modèle standard. L’approvi-
sionnement en bois est suffisant pour fabriquer annuellement 500 bureaux quel que
soit le type. Par ailleurs, le temps de fabrication d’un modèle luxe est le double de
celui d’un bureau de modèle standard. La capacité annuelle de fabrication est telle
que, si tous les bureaux fabriqués étaient de type standard, on pourrait en fabriquer
700 au maximum. La vente d’un bureau sous le modèle luxe conduit à une marge
unitaire sur coût variable égale à 7, celle d’un bureau de type standard égale à 5. On
se propose de rechercher le programme annuel de fabrication conduisant au profit
global maximum.
1. Donner le programme linéaire correspondant au problème.
2. Trouver la solution par la méthode graphique.

2.12 Problème 4
La société Bonvin, S.A., qui pratique le négoce en vins propose à sa clientèle
deux vins de table : l’un est dénommé ”Extra”, l’autre ”Supérieur”. Ces produits sont
obtenus par coupage de crus issus de diverses régions : un vin de l’Hérault, un vin
du Bordelais et un vin d’Italie. Les coupages sont réalisés selon les proportions fixes
suivantes :
Vin ”Extra” Vin ”Supérieur”
Vin de l’Hérault 0,5 0,2
Vin du Bordelais 0,3 0,6
Vin d’Italie 0,2 0,2
Total 1 1
Après les vendanges, la société dispose en stock dans ses cuves des quantités suivantes
de crus d’origine :
Vin de l’Hérault .. 13600 hectolitres
Vin du Bordelais .. 12000 hectolitres
Vin d’Italie ... 10400 hectolitres
Ces quantités constituent les ressources disponibles pour la production de l’année à
venir. En outre, compte tenu des capacités techniques de mise en bouteille existantes,
cette production ne peut pas dépasser 36000 hectolitres au total dans l’année. L’ac-
tivité de cette entreprise comporte des coûts qui ont été classés en deux catégories :
— Une partie est considérée comme fixe ; elle correspond aux approvisionne-
ments, puisque ceux-ci sont déja constitués, ainsi qu’aux frais de personnel.
Ces coûts s’élèvent à 12000000 euros pour l’année.
— L’autre partie correspond aux frais de mise en bouteille, d’emballage et de
commercialisation. Cette seconde partie est proportionnelle aux quantités
produites : soit 100 euros par hectolitre de vin quelle que soit la qualité
de celui-ci.

Dr. A. COMPAORÉ Cours de R.O UO3S


2.13 Problème 5 28

Une étude de marché révèle que celui-ci ne saurait absorber plus de 20000 hectolitres
de vin ”Extra” à 500 euros par hectolitre, et 16000 hectolitres de vin ”Supérieur” à
600 euros l’hectolitre.
Le problème de cette entreprise peut être formulé ainsi :
Quelles quantités faut-il produire de vin ”Extra” et ”Supérieur” afin de rendre maxi-
mum le bénéfice total sachant que Bonvin s’est engagée à fournir à sa clientèle :
— au moins 15000 hectolitres de vin ”Extra”,
— et au moins 5000 hectolitres de vin ”supérieur” ?

2.13 Problème 5
Il reste à un chimiste 1 kg de MNA et 2 kg de PCS. En mélangeant convenable-
ment ces deux matières, il peut fabriquer trois produits (X,Y,Z).
Les proportions par unité de produit sont de 5 MNA et 1 PCS pour X, 1 MNA et 1
PCS pour Y et 1 MNA et 3 PCS pour Z. Ces produits sont vendus respectivement
10 euros, 6 euros et 12 euros le kg.

Trouver la production qui maximise la recette.

2.14 Problème 6
Une société de tri de déchets et recyclage de papier peut se fournir en déchets
auprès de deux villes. Son rôle consiste à séparer les listes d’ordinateur et les jour-
naux. La répartition entre ménages et sociétés est différente d’une ville à l’autre
expliquant un pourcentage différent de listes d’ordinateur et de journaux dans les
déchets. Ces pourcentages ainsi que la quantité maximum de déchets que peuvent
fournir par an ces deux villes sont reprises au tableau suivant : la société offre aux
villes un prix de 35 euros par tonne de déchet. Elle doit décider du montant optimal
de déchets à acheter à chaque ville pour minimiser son coût d’achat. Pour couvrir
ses frais fixes, la société doit au moins collecter 1500 tonnes de listing d’ordinateur
par an. La société ne désire pas collecter plus de 6000 tonnes de journaux par an.
Listes(%) Journaux (%) Offre (Tonnes par an)
Ville 1 5 20 10000
Ville 2 15 30 20000

Combien la société doit-elle acheter de déchets par an à chacune des villes ?


1. Formuler mathématiquement le problème.
2. Déterminer graphiquement le plan d’achat optimal et en déduire le coût
d’achat minimum.

2.15 Problème 7
On désire déterminer la composition, à coût minimal, d’un aliment pour bétail
qui est obtenu en mélangeant au plus trois produits bruts : orge, arachide, sésame.

Dr. A. COMPAORÉ Cours de R.O UO3S


2.16 Problème 8 29

L’aliment ainsi conditionné devra comporter au moins 22% de protéines et 3, 4% de


graisses, pour se conformer aux exigences de la clientèle. On a indiqué ci-dessous les
pourcentages de protéines et de graisses contenus, respectivement, dans l’orge, les
arachides et le sésame, ainsi que le coût par tonne de chacun des produits bruts :

1 2 3
Produit brut orge arachide sésame pourcentage requis
pourcentage de protéines 12% 52% 42% 22%
pourcentage de graisses 2% 2% 10% 3, 6%
coût par tonne 25 41 39

1. On notera xj (j = 1, 2, 3) la fraction de tonne de produit brut j contenu dans


une tonne d’aliment. Formuler le problème algébriquement et le résoudre avec
le simplexe
2. Montrer qu’il est possible de réduire la dimension du problème. Le résoudre
géométriquement.

2.16 Problème 8
Un pays désire accroître son potentiel d’armement ; il veut quérir au moins 100
000 fusils 200 000 grenades défensives et offensives, une centaine de chars, 400 mi-
trailleuses lourdes et autant de bazookas. Il s’adresse pour ce faire à des marchands
d’armes qui récupèrent les matériels utilisés ou non sur tous les champs de bataille.
Ces marchands proposent 3 types de lots :

Lot 1 Lot 2 Lot 3


fusils 500 300 800
grenades 1000 2000 1500
chars 10 20 15
mitrailleuses 100 80 200
bazookas 80 120 150
coût des lots 10 M F 12 M F 15 M F

Le pays en question va donc essayer de minimiser le coût de l’armement supplémen-


taire qu’il veut acheter.
1. Écrire le problème sous forme d’un programme linéaire et le résoudre avec le
simplexe.
2. Écrire le programme dual et le résoudre.
3. Quelle est l’interprétation économique du dual ?

Dr. A. COMPAORÉ Cours de R.O UO3S


Chapitre 3

Problèmes d’ordonnancement

3.1 Introduction
L’ordonnancement est une activité que tout le monde pratique et bien souvent
sans s’en rendre compte. Faire couler le café le matin pendant que l’on prend une
douche est un exemple très simple mais qui met en évidence que l’organisation
dans le temps des tâches permet de gagner du temps. Ce temps gagné peut, en
revanche, s’avérer très précieux puisque pour une entreprise il peut représenter de
la productivité et donc de l’ argent. La réalisation d’un projet de grande envergure
comme la construction d’un bateau, ou d’un aéroport nécessite en générale une
succession des tâches auxquelles s’attachent certaines contraintes tels que :
 de temps
 d’antériorité
 de production

Définition 3.1.1. Ordonnancer c’est programmer dans le temps l’exécution d’une


réalisation décomposable en tâches, en attribuant des ressources à ces tâches et en
fixant en particulier leurs dates de début d’exécution tout en respectant des contraintes
données.

Les techniques d’ordonnancement dans le cadre de la gestion d’un projet ont


pour objectif de répondre aux mieux aux besoins exprimés par un client, au meilleur
coût et dans les meilleurs délais, en tenant compte des différentes contraintes. L’or-
donnancement se déroule en trois étapes à savoir :
 La planification : Elle vise à déterminer les différentes opérations à réaliser,
les dates correspondantes et les moyens matériels et humains à y affecter.
 L’exécution : Elle consiste à la mis en œuvre des différentes opérations définies
dans la phase de planification.
 Le contrôle : Il consiste à effectuer une comparaison entre la planification et
l’exécution, soit au niveau des coûts, soit au niveau des dates de réalisation.

Les méthodes d’ordonnancement les plus connues et les plus utilisée sont MPM ;
PERT et GANTT :

Dr. A. COMPAORÉ Cours de R.O UO3S


3.2 Méthode MPM 31

 Méthode des Potentiels Métra ;


 Program Research Technic.
 diagramme de Gantt.

Ainsi les objectifs de ce chapitre sont entre autres :


 Savoir définir et déterminer la durée d’exécution d’un projet ;
 Savoir définir et déterminer le chemin critique pour un projet ;
 Déterminer les marges libres et/ou totales pour l’exécution des taches d’un
projet ;
 Savoir représenter les étapes de réalisation d’un projet suivant les diagrammes
MPM, PERT et de Gantt ;
NB : En ordonnancement les sommets du graphe correspond à des tâches.

3.2 Méthode MPM


Le principe de la méthode est de réduire la durée totale d’un projet par une ana-
lyse détaillée des tâches et de leur enchaînement. On étudie les délais sans prendre
en compte les charges. Avec la méthode MPM, le graphe (sans boucle) valué corres-
pondant au problème est construit en considérant
1. chaque tâche comme un sommet
2. un arc défini une relation d’antériorité, c-à-d. que chaque arc représente une
contrainte de succession ;
3. la valeur de l’arc définie le temps minimum séparant deux tâches successives,
c-à-d. que l’on inscrit sur cet arc une valeur numérique, appelée potentiel, qui
est le délai minimum, après le début de la tâche notée à l’extrémité initiale
de l’arc, au bout duquel peut démarrer la tâche notée à l’extrémité finale de
l’arc.
4. chaque tâche(ou sommet du graphe) est symbolisée par un rectangle dans
lequel seront indiqués l’action à effectuer et le temps estimé de réalisation de
cette tâche, la date de début et de fin
Pour construire le graphe selon MPM les sommets sont disposés de la gauche vers la
droite selon le niveau croissant comme en théorie des graphes. A la différence chaque
sommet est consigné dans un rectangle où figure deux autres informations à savoir
la date de début au plus tôt de la tâche et la date de début au plus tard de la tâche.
Soit X un des sommets du graphe alors X sera représenté comme suit :

Figure 3.1: Représentation d’un sommet avec MPM

Dr. A. COMPAORÉ Cours de R.O UO3S


3.3 Construction des niveaux dans la méthode MPM 32

La construction du graphe MPM se fait en suivant les étapes suivantes :


1. établir la liste des tâches,
2. déterminer les antériorités,
3. déterminer les niveaux d’exécution ou rang des tâches,
4. supprimer les redondances,
5. construire le réseau,
6. calculer la durée du projet, les dates de début et de fin des tâches, déterminer
le chemin critique et mettre en évidence les marges
De plus, pour cette méthode on introduit deux tâches fictives nommées début où
commencent les tâches sans précédent et Fin où aboutissent les tâches sans tâches
sans suivante.

Exemple 3.2.1. Considérons le graphe des prérequis suivant :


Tâches Prérequis Durée(jours)
A - 4
B - 2
C A 1
D A, B 1
E A 2
F C, B, A 2
G D, F, C, A 2
H E, A 10
I G 4
J H, I, A 1

Représenter ce graphe selon la méthode MPM

3.3 Construction des niveaux dans la méthode MPM


On appelle sommet de niveau zéro, un sommet x sans prédécesseur. On note N0 .
Les autres niveaux se déterminent comme suit :
1. Construire le dictionnaire de précédence ;
2. Déterminer le niveau zéro N0 , ce sont les sommets sans prédécesseurs. On
barre ensuite tous les sommets de niveau zéro dans le tableau.
3. Déterminer le niveau k; Nk ; k > 0, les sommets de niveau k sont ceux non
encore barrés et n’ayant que des prédécesseurs barrés. On barre ensuite tous
les sommets de niveau k du tableau. On passe à l’étape k + 1 et on arrête la
procédure lorsqu’il n’y a plus de sommets. Si ça ne marche pas c’est qu’il y a
un cycle.

Dr. A. COMPAORÉ Cours de R.O UO3S


3.4 Vocabulaire et notations 33

3.4 Vocabulaire et notations


3.4.1 Durée du Projet
Définition 3.4.1. La durée d’un projet ou encore la durée minimum de réalisa-
tion d’un projet est égale à la longueur du chemin le plus long en terme de temps
d’exécution des tâches entre une tâche de niveau 0 et la tâche de niveau maximum.

3.4.2 Chemin critique


Définition 3.4.2. On appelle chemin critique le chemin le plus long en terme de
temps d’exécution des tâches entre une tâche de niveau 0 et tâche de niveau maxi-
mum.

Remarque 3.4.1. :
— Tous les sommets de ce chemin critique sont appelés tâches critiques.
— Tout retard pris dans l’exécution d’une tache critique retard la date de fin du
projet.

Remarque 3.4.2. Dans un diagramme M P M pour les tâches critiques la date de


début au plus tôt coïncide avec la date de début au plus tard.

3.4.3 Marges
Définition 3.4.3. On appelle marge pour une tâche dans le réalisation d’un projet
le retard que l’on peut accuser sans affecter la date de début des tâches suivantes
ou/et la date de fin du projet.

Selon l’impact de ce retard sur la réalisation du projet on distingue deux types


de marges : les marges libres et les marges totales. Mais avant définir ces notions
qu’est ce que la date de début d’une tâche ?

3.4.4 Date de début de tâche


Pour chaque sommet on distingue deux dates une date de début au plus tôt
et une date de début au plus tard.

Définition 3.4.4. La date de début au plus tôt d’une tâche X est noté t(X) est
obtenue en cumulant la durée des tâches précédentes sur la séquence (chemin) la
plus longue.
On initialise à 0 pour les sommets sans précédents et pour chaque sommet (on
le fait par ordre croissant), X on a :
n o
t(X) = max t(Y ) + lY,X ; Y ∈ P (X)

Définition 3.4.5. La date au plus tard une tâche X est noté t∗ (X) est la date à la
quelle doit être exécutée la tâche X sans remettre en cause la durée optimale de fin
de projet.

Dr. A. COMPAORÉ Cours de R.O UO3S


3.5 La méthode PERT 34

On initialise pour le sommet “Fin” de tel sorte que la date de début au plus tôt
soit égale à la date de début au plus tôt soit égale à la date de début au plus tard, au-
trement dit t(F in) = t∗ (F in) et on détermine les t∗ (X) suivant l’ordre décroissante
des niveaux en utilisant la formule :
n o
t∗ (X) = min t∗ (Y ) − lX,Y ; Y ∈ S(X)

Marges totales
Définition 3.4.6. La marge totale sur une tâche est le retard que l’on peut prendre
dans la réalisation de cette tâche sans retarder l’ensemble du projet.
Elle est notée Mt et définie pour chaque tâche X par :

Mt (X) = t∗ (X) − t(X)

Remarque 3.4.3. Pour chaque tâche du chemin critique la marge totale est nulle.

Marges libres
Définition 3.4.7. La marge libre sur une tâche est le retard que l’on peut prendre
dans la réalisation de cette tâche sans retarder la date de début au plus tôt de tout
autre tâche qui suit.
Elle est noté ML et définie pour chaque tâche X par :
n o
ML (X) = min t(Y ) − t(X) − lX,Y ; Y ∈ S(X)

Remarque 3.4.4. Il faut noter que la marge libre d’une tache critique est aussi
nulle et de façon générale elle est inférieure ou égale à la marge totale.

Exemple 3.4.1. Pour l’exemple précédent déterminer le chemin critique, la durée


d’exécution minimale du projet et les marges pour chaque tâches.

3.5 La méthode PERT


3.5.1 Principe de la représentation
L’ensemble du projet est représenté par un graphe dans lequel :
— chaque arc représente une tâche,
— la longueur de cet arc est la durée de cette tâche,
— chaque sommet correspond à une étape entre tâches.
Ainsi, le schéma suivant, habituellement utilisé pour les graphes PERT,
signifie donc que

Dr. A. COMPAORÉ Cours de R.O UO3S


3.6 Travaux dirigés 35

3.6 Travaux dirigés


Exercice 3.6.1. La modélisation d’un problème a conduit à la résolution d’un pro-
blème d’ordonnancement définie par le dictionnaire suivant :
Tâches Durée(jrs) Prérequis
Tâches Durée(jrs) Prérequis A 2 -
B 5 A
A 6 -
C 10 A
B 3 -
D 10 A
C 6 -
E 2 D
D 2 B
F 2 B
E 4 B
G 2 E, F
F 3 A, D
H 3 C, E, F
G 1 F, E, C
I 2 G, H
J 15 I

1. Déterminer leurs graphes par la méthode MPM.


2. Quelle est la durée minimal d’exécution de ces projets. Et préciser le chemin
critique.
3. Déterminer les différentes marges associées à chaque sommet.
Exercice 3.6.2. Nous souhaitons mener à bien le développement d’un nouveau pro-
duit, depuis sa production jusqu’au rapport de projet menant à sa vente. Nous avons
la liste des activités reprises dans le tableau ci-dessous.

Activité Description Tâches préalables Durée (mois)


A Conception du produit − 5
B Recherche de marché − 1
C Analyse de production A 2
D Prototype A 3
E Brochure de vente A 2
F Anayse de coût C 3
G Test de produit D 4
H Entraînement de vente B, E 2
I Tarification H 1
J Rapport de projet F, G, I 1

1. Quelle est la durée minimal d’exécution du projet. Et préciser le chemin cri-


tique.
2. Déterminer les différentes marges associées à chaque tâche.
Exercice 3.6.3 (Équipement d’un ensemble minier).
L’équipement d’un ensemble minier comporte les tâches suivantes dont la durée est
exprimée en trimestres.

Dr. A. COMPAORÉ Cours de R.O UO3S


3.6 Travaux dirigés 36

No tâche durée préalables


1 Commande d’une piste 6 −
2 Construction d’un port provisoire 3 −
3 Commande de matériel portuaire 2 −
4 Pose d’une voie ferrée 4 2
5 Construction d’une cité administrative 7 2
6 Construction du port définitif 2 2
7 Construction de l’installation minière 4 1 et 4
8 Équipement portuaire définitif 3 3 et 6
1. Construire le graphe relatif à la méthode du potentiel.
2. Calculer les dates de début au plus tôt, les dates de début au plus tard. Dé-
terminer le chemin critique.
3. Comment modifier le graphe si, on veut que la tâche 7 ne commence pas avant
8 trimestres ? Recalculer les dates de début au plus tôt, les dates de début au
plus tard.
4. Comment modifier le graphe si on veut en plus que la tâche 8 ne commence
pas après 4 trimestres ? Dites si le problème reste soluble.
Exercice 3.6.4 (Construction d’un bâtiment).
Considérons les différentes tâches à effectuer pour construire un bâtiment. Elles sont
reprises ci-dessous.
No tâche durée préalables
1 fondations 6 −
2 murs 10 1
3 plomberie intérieure 5 2
4 électricité 7 2
5 toit 6 2
6 plomberie extérieure 4 5
7 menuiserie 8 3 et 4
8 sols 4 7
9 peinture intérieure 5 7
10 finitions intérieures 6 8 et 9
11 peinture extérieure 9 6
12 finitions extérieures 2 11
1. Tracez le graphe relatif à la méthode du potentiel.
2. Calculez les dates de début au plus tôt, les marges et déterminez le(s) che-
min(s) critique(s).
3. Les tâches 9 (peinture intérieure) et 11 (peinture extérieure) doivent être
disjointes car effectuées par les mêmes ouvriers. Comment résoudre cette dis-
jonction ? La date de fin des travaux est-elle affectée ?

Dr. A. COMPAORÉ Cours de R.O UO3S


3.6 Travaux dirigés 37

Exercice 3.6.5. Une entreprise décide de commercialiser un nouveau produit. La


planification de ce lancement fait apparaître les tâches reprises au tableau ci après
avec leur durée (en semaines) et leurs préalables.

No tâche durée préalables


1 Sélection des équipements 1 −
2 Choix de la méthode de production 2 1
3 Procédures de contrôle de qualité 2 2
4 Choix des matières premières 2 1
5 Réception des équipements 7 1
6 Commande des matières premières 1 4
7 Réception des matières premières 3 6
8 Essais de production 2 5, 3 et 7
9 Première fourniture aux magasins 6 8 et 11
10 Conception du conditionnement 4 1
11 Production du conditionnement 5 10
12 Réunion des vendeurs 1 11
13 Formation des vendeurs 1 12

1. Tracer le graphe correspondant à la méthode PERT.


2. Calculez les dates de début au plus tôt, au plus tard, les marges et le chemin
critique.
3. L’entreprise voudrait réduire la durée totale d’exécution des travaux. Pour
cela, il est possible de réduire la durée des tâches 5 et 11 de une ou deux
semaines au prix d’un coût supplémentaire de 100 000 euros par semaine de
réduction pour la tâche 5 et de 200 000 euros par semaine pour la tâche 11.
De combien peut-on réduire la durée totale des travaux et à quel coût ?

Exercice 3.6.6. Une importante société de magasins alimentaires à grande surface


diversifie son activité en créant des commerces dans les petites villes. La société crée
le fonds de commerce qui est ensuite géré de façon autonome par un commerçant
franchisé. la société réalise une étude d’implantation puis elle installe le commerce.
Les tâches à exécuter sont résumer dans le tableau suivant :

Dr. A. COMPAORÉ Cours de R.O UO3S


3.7 Ordonnancement en présence de durées aléatoires 38

Tâches Durée(jrs) Pré-requis


A : Recherche d’un local 52 -
B : Recherche d’un franchisé 47 -
C : Constitution du dossier du franchisé 17 A, B
D : Constitution du dossier pour la chambre de commerce 12 A, B
E : Formation du franchisé 32 B
F : Aménagement, plâtrerie, peinture du magasin 22 A
G : Réfection façade, enseigne 10 A
H : Équipement chambre froide 10 A, F
I : Équipement rayonnage 7 A, F
J : Implantation du magasin 8 A, B, E, F, G, H, I
K : Tirage des feuilles publicitaires 8 A, B, D
L : Distribution des feuilles publicitaires 4 A, B, D, K
M : Envoie des invitation pour l’inauguration 8 A, B, D
N : Inauguration du magasin 3 Toutes

1. Représenter son graphe selon la méthode MPM.


2. Déterminer le chemin critique et le temps minimal de réalisation du projet.
3. Déterminer les marges totales et marges libres des tâches non critiques.
4. Quel peut-être l’impact, sur le délai de réalisation du projet, d’un retard :
(a) de dix jours dans la construction du dossier de franchisé,
(b) de cinq jours dans la formation du franchisé,
(c) de cinq jours dans l’équipement rayonnage
5. Des moyens supplémentaires pourront être mis en œuvre pour accélérer l’amé-
nagement, la plâtrerie la peinture du magasin et gagner ainsi 10 jours. Quelles
en seront les conséquences sur le délai de réalisation du projet ainsi que sur
le chemin critique.

3.7 Ordonnancement en présence de durées aléa-


toires
Dans les paragraphes précédents, nous avons supposée que les durées des taches
étaient déterministes et connues. En pratique, ce n’est évidement pas toujours le
cas car ces durées peuvent être des variables aléatoires de distribution inconnues.
Bien sur, si la variation de ces durées aléatoires est faible, l’approximation par des
durées déterministes est réaliste, mais dans le cas contraire, elle ne l’est pas. De plus,
souvent l’absence de données statistiques sur les durées rend difficile l’ajustement
statistique de leur distribution de probabilité. Dans les sous sections qui vont suivre,
nous allons aborder ce type d’ordonnancement.

3.7.1 Estimation des moyennes et variances des durées


Trois questions sont posées aux responsables des entreprises chargées des taches
pour obtenir d’eux trois estimations :
— une borne inférieure di de la durée di de la tache i qui est donc une estimation
optimiste ;

Dr. A. COMPAORÉ Cours de R.O UO3S


3.7 Ordonnancement en présence de durées aléatoires 39

— une borne supérieure di de la durée di de la tache i qui est donc une estimation
pessimiste ;
— la durée mi la plus probable de di , autrement dit une estimation du mode de
la distribution de probabilité de la durée de la tache i.
A partir de ces trois données, il convient d’estimer la moyenne E(di ) et la variance
σ 2 (di ) de la durée di .
Pour ce faire, l’approche proposée dans PERT formule deux hypothèses H1 et H2 :
H1 : l’étendue de la distribution de di est approximativement 6σ(di ), de
sorte que l’estimation de σ 2 (di ) vaut
1 2
b2 (di ) =
σ (di − di ) . (3.1)
6
La justification de cette hypothèse est qu’elle est vérifiée pour de nombreuses
distributions de probabilité, en particulier pour une distribution normale.
H2 : la distribution de di est approximativement une distribution beta
dont les deux paramètres sont fixés arbitrairement, de sorte que l’estimation
de E(di ) vaut
b i ) = 1 (4mi + di + di ).
E(d (3.2)
6
La justification de cette hypothèse réside dans la généralité de la distribution
beta et dans la constation pratique que les durées des taches ont souvent une
fonction de densité de la forme de celle de cette distribution.

3.7.2 Estimation de la distribution de la durée d’exécution


du projet
L’objectif est d’estimer la moyenne et la variance de la durée D d’exécution du
projet, autrement dit la moyenne et la variance de la longueur d’un chemin critique.
Pour obtenir ce résultat, la méthode PERT formule trois hypothèses supplémentaires
H3 , H4 et H5 , mais d’une autre nature que les deux premiers.

H3 : les durées des taches sont des variables aléatoires stochastiquement


indépendantes.
H4 :Il existe un chemin critique dont l’espérance mathématique est toujours
supérieure ou égale à celle de tout autre chemin reliant l’étape DÉBUT à
l’étape FIN.
H5 : le nombre de taches de ce chemin critique est suffisamment grand.
Remarque 3.7.1. Les trois hypothèses sont sujettes à caution vu leur caractère
restrictif. En particulier l’hypothèse H4 risque d’être non satisfaite si le graphe-
événement est fort maillé. Mais si un tel chemin critique, l’hypothèse H3 permet
de déterminer l’approximation E(D)b de l’espérance mathématiques et σ b2 (D) de la
variance de la longueur D de ce chemin comme la somme des espérances mathéma-
tiques et des variances des durées des taches qui le composent ; ensuite, grâce au théo-
rème central limite, l’hypothèse H5 permet d’approximer la distribution de la probabi-
lité de la durée D d’exécution du projet par la distribution normale N (E(D),
b b2 (D)).
σ

Dr. A. COMPAORÉ Cours de R.O UO3S


3.8 Analyse des ressources 40

Ainsi, en supposant toutes ces hypothèses satisfaites, il sera finalement possible d’éva-
luer la probabilité que la durée d’exécution du projet dépasse un certain seuil.

3.8 Analyse des ressources


Soit un problème d’ordonnancement de projet avec contraintes temporelles entre
les tâches, mais pour lequel on suppose que l’exécution des taches nécessite l’utilisa-
tion de ressources (ou moyens). Ces problemes sont connus sous le sigle RCPSP(Resource
Constrained Project Scheduilng Problems).

3.8.1 Modélisation générale du problème RCPSP


Les ressources peuvent être de deux types : les ressources renouvelables ("re-
newal") et les ressources non renouvelables ("non renewal") ou consommables. Les
deux types de ressources peuvent être présentes simultanément dans le problème
("doubly constrained ressources").

Définition 3.8.1. Une ressource renouvelable est un moyen que l’on retrouve iden-
tique à lui même après chacune des utilisations.

Exemple 3.8.1. Il peut s’agir de machines ou de main d’œuvre plus ou moins


spécialisée.

Définition 3.8.2. Une ressource consommable est un moyen qui diminue au fur et
a mesure de son utilisation.

Exemple 3.8.2. Il peut s’agir de matière première ou de l’argent.

Remarque 3.8.1. Une ressource consommable est gérée comme un stock, en ce sens
que des quantités de cette ressource sont disponibles, à certains instants.

Notations
— Soit R un ensemble de ressources renouvelables ; Qrt représente la capacité
de la ressource r ∈ R disponible à la période t.
— Soit C un ensemble de ressources consommables ; nous supposerons pour
chaque ressource c ∈ C que la quantité maximale pouvant être consommée est
constante et vaut Qc à chaque période de temps. Nous supposerons- de ma-
nière non restrictive- que la consommation d’une ressource non renouvelable
est due au moment de la fin de l’exécution d’une tache.
— Soit un ensemble de taches j = 1, · · · , J à effectuer ; la tache j peut être
exécutée selon Mj modes.
Si le mode m ∈ {1, · · · , Mj } est utilisé pour la réalisation de la tache j, sa
durée d’exécution est notée pjm et elle correspond à une utilisation qjmr de la
ressource r ∈ R durant toute son exécution et une consommation qj mc de la
ressource c ∈ C à la fin de son exécution.

Dr. A. COMPAORÉ Cours de R.O UO3S


3.8 Analyse des ressources 41

— Soit 0 et J + 1, les taches fictives début et fin du projet. Par similarité -mais
cette hypothèse peut être relaxé- nous supposerons que seules des contraintes
de postériorité stricte existent entre les taches et soit Γ−1 (j) l’ensemble des
taches prédécesseurs de j.

Préliminaires
Pour la formulation ci-dessous, il convient de déterminer préalablement :
X EFj , j ∈ {1, · · · , J + 1}, une borne inférieure de la fin au plus tôt de la tache
j. Ces dates peuvent être calculées en utilisant les plus petites durées des
taches - soit min pjm - et en résolvant le problème PSP correspondant
m∈{1,··· ,Mj }
sans s’occuper des contraintes de ressources.
X T une borne supérieure de la fin du projet pouvant être calculée soit par une
heuristique, soit en sommant les durées maximales de toutes les taches.
X LFj , j ∈ {1, · · · , J + 1}, une borne supérieure de la fin au plus tard de la
tache j.

Variables
Introduisons les variables binaires :
X xjmt = 1 si la tache j ∈ {1, · · · , J} est exécutée en le mode m ∈ {1, · · · , Mj }
et se termine à la période t ∈ {1, · · · , T } ; et xjmt = 0 sinon.
X x(J+1)1t = 1 si la tache J +1 se termine à la période t ∈ {1, · · · , T }, autrement
dit si le projet se termine en t ; et x(J+1)1t = 0 sinon.
Une formulation possible est alors le programme linéaire en variables binaires sui-
vant :
LFJ+1
X
min z= tx(J+1)1t
t=EFJ+1
Mj LFj

 X X
xjmt = 1 j = 1, · · · , J + 1






 m=1 t=EFj


 Mi X LFi Mj LFj
 X X X
tximt ≤ (t − pjm )xjmt j = 1, · · · , J + 1, i ∈ Γ−1 (j)






 m=1 t=EFi m=1 t=EFj
S.c : Mj
J X t+pjm −1
X X



 qjmr xjmr ≤ Qrt r ∈ R, t = 1 · · · , T
j=1 m=1 τ =t





 Mj
J+1 X LFj
 X X



 qjmc xjmt ≤ Qc c∈C
j=1 m=1

 tt=EFj

xjmt∈{0,1} ; j = 1, · · · , J + 1 m = 1, · · · , Mj ; t = 1, · · · , T.

(3.3)
dans cette modélisation :
X la fonction objectif exprime la minimisation de la durée d’exécution du projet,
X les contraintes de la première ligne du système affectent un seul mode et une
seule date de fin à chaque tache ;

Dr. A. COMPAORÉ Cours de R.O UO3S


3.9 Analyse des couts 42

X les contraintes de la deuxième ligne du système sont les contraintes de précé-


dence entre les taches ;
X les contraintes de la troisième ligne du système sont les contraintes de res-
sources renouvelables ; en effet, pour qu’une tache j nécessite une telle res-
source à l’instant t, il faut que sa date de fin appartienne à l’ensemble
{t, · · · , t + pjm − 1} ;
X les contraintes de la quatrième ligne du système sont les contraintes de res-
sources consommables.

Remarque 3.8.2. De très nombreuses variantes de cette formulation sont possibles.


Elles peuvent être étendues par exemple au cas o‘u les taches peuvent être interrom-
pues ; à la prise en compte d’autres contraintes de précédences généralisées, à la prise
en compte d’autres fonctions objectifs telles que la minimisation du cout du projet,
voire même à une optimisation multiobjectif ou encore à la présence d’incertitudes,
par exemple des durées d’exécution aléatoires.
Plusieurs heuristiques sont proposées pour la résolution de (3.3) dans les cas de
présences de ressources renouvelables ou pour les cas de présences de ressources
consommables.

3.8.2 Algorithme de résolution de cas des ressources renou-


velables
3.8.3 Algorithme de résolution de cas des ressources consom-
mables

3.9 Analyse des couts


3.9.1 Modélisation
Une autre manière de tenir compte des moyens à mettre en œuvre pour réaliser
une tache est associer un cout de réalisation à chaque tache : plus de moyens mis en
œuvre correspond à un cout plus élevé mais à une durée d’exécution plus courte.
Ainsi à la réalisation d’une tache i correspond un cout ci qui est une fonction dé-
croissante (généralement convexe) de la durée di :

ci = f (di ), di ≤ di ≤ di

Dr. A. COMPAORÉ Cours de R.O UO3S


3.9 Analyse des couts 43

𝑐𝑖

𝑑𝑖 𝑑̅𝑖 𝑑𝑖

Figure 3.2: Cout d’une tache en fonction de sa durée

De manière équivalente, en posant

ci = f (θi ), 0 ≤ θi ≤ θi = di − di

où θi = di − di représente la diminution de la durée d’exécution de la tache i par


rapport à la durée di considérée comme normale et ci est le cout supplémentaire
induit par θi par rapport au cout f (di ).
Souvent l’on considère une variable discrète des durées :
à la durée di = dki (ou à θi = θik ) k = 1, · · · , Ki correspond un cout ci = cki .

Remarque 3.9.1. Dans ce cours, nous ne considérerons que des contraintes de


postériorité stricte : j ∈ Γ(i) si j est une tache qui ne peut débuté que si la tache i
est terminée.

A l’aide d’un modèle de programmation mathématique, il est possible de résoudre


le problème suivant :
"determiner l’ordonnancement de cout minimal dont la durée est inférieure ou égale
à λ”.
Si nous notons xi (i = 1, · · · , n) l’instant de début de la tache i (l’instant x0 = 0
correspond à l’origine des temps (tache "debut" de durée nulle) et xn+1 l’instant de
fin du projet (tache "fin" de durée nulle)) ;
et si λ est la durée maximale d’exécution souhaitée pour le projet,

Dr. A. COMPAORÉ Cours de R.O UO3S


3.9 Analyse des couts 44

le problème s’écrit, avec les variables xi et θi


n
X
min z= f (θi )
 i=1
xi + di − θi ≤ xj i = 0, · · · , n; j ∈ Γ(i)
(3.4)



 xn+1 ≥ λ
S.t :


 0 ≤ θi ≤ θi
x0 = 0; xi ≥ 0 i = 0, · · · , n

Remarque 3.9.2. Si les fonctions de cout f (.) sont linéaires, il s’agit d’un problème
de programmation linéaire. Dans le cas où les variations de thetai sont discrètes, ce
problème est alors alors en variables mixtes.
Les valeurs possibles pour λ sont celles comprises entre la durée minimale du projet
quand di = di ∀i et cette même durée quand di = di ∀i.
Si λ est considéré comme un paramètre, le problème est un problème de programma-
tion linéaire est paramétrique.

3.9.2 Diminution du cout total d’un ordonnancement sans


variation de durée
Étant donné un ordonnancement initial, il convient d’établir un autre ordonnan-
cement de même durée mais de cout inférieur.
La méthode proposée est une heuristique ; son principe est élémentaire :
X calculer les marges libres des taches ;
X augmenter les durées des taches dont la marge libre est positive ; l’augmen-
tation est la plus grande possible mais inférieure ou égale à la valeur de la
marge libre.
Ce principe ne conduit pas toujours à solution optimale étant donné
X qu’il serait souhaitable aussi d’allonger les taches non critiques, mais dont
la marge libre est nulle. Ceci se révélerait cependant plus complexe puisque
l’augmentation de la durée d’une telle tache aurait des conséquences sur les
taches suivantes ;
X qu’il peut exister un ordonnancement fort différent qui correspond à une durée
du projet mais à un cout inférieur.

3.9.3 Accélération d’un ordonnancement au moindre cout


Étant donné un ordonnancement initial, il convient d’établir un autre ordonnan-
cement de durée inférieur (par exemple d’une unité) en augmentant le moins possible
le cout total du projet.
Le principe de l’heuristique présentée est simple :
X calculer les marges totales des taches ;
X dans chacun des chemins critiques, diminuer d’une unité la durée d’une tache ;
choisir les taches critiques qui occasionnent la plus la plus faible augmentation
de cout.

Dr. A. COMPAORÉ Cours de R.O UO3S


3.9 Analyse des couts 45

Il convient donc bien de diminuer la durée de chaque chemin critique, leur nombre
pouvant augmenter quand la durée d’exécution du projet diminue.

Travaux Dirigés

Dr. A. COMPAORÉ Cours de R.O UO3S


Chapitre 4

Programmation linéaire multiobjectif

4.1 Concepts de base


Définition 4.1.1. La programmation linéaire multiobjectif est la recherche d’une
ou de plusieurs solutions qui correspondent à une minimisation et/ou maximisation
simultanée de plusieurs fonctions objectifs linéaire qui satisfont à un certain nombre
de contraintes. Mathématiquement, elle se formule comme suit :
n
X
min f1 (x) = c1j xj ;
j=1
n
X
min f2 (x) = c2j xj ;
j=1
.. ..
. . (4.1)
n
X
min fp (x) = cpj xj ;
 j=1
n
 X
 aij xj ≤ bi ; i = 1, · · · , m
S.C : j=1

xj ≥ 0 ; j = 1, · · · , n.

n
nX o
Désignons par D = aij xj ≤ bi ; i = 1, · · · , m avec xj ≥ 0 l’ensemble des
j=1
solutions admissibles. Le but que l’on se fixe dans la résolution d’un tel problème
est de minimiser ”au mieux” les différents objectifs. Pour cela, la tâche consiste
à déterminer un ou plusieurs bons compromis, c’est-à-dire des solutions x ∈ D
correspondant à la préférence globale du décideur. Car, en général, ces fonctions
objectifs sont conflictuelles et donc il n’y a pas de solution(s) optimale(s) mais des
solutions de meilleurs compromis.

Remarque 4.1.1. Lorsque le problème de programmation linéaire multiobjectif est


à variables discrètes, on parlera de problème de programmation linéaire multiobjectif
en nombres entiers et de problème programmation linéaire multiobjectif combinatoire
lorsque les variables sont binaires.

Dr. A. COMPAORÉ Cours de R.O UO3S


4.1 Concepts de base 47

La résolution d’un problème programmation linéaire multiobjectif donne une


multitude de solutions et seul un nombre restreint de ces solutions va nous intéresser.
Pour qu’une solution soit intéressante, il faut qu’il existe une relation de dominance
entre la solution considérée et les autres solutions.

4.1.1 Relation de dominance et solutions efficaces


Notons ZD l’ensemble des points de l’espace Rp des objectifs correspondants aux
images des points admissibles de D.
Définition 4.1.2.

1. Un point f ∈ ZD domine un point f 0 ∈ ZD si et seulement si


(
fk ≤ fk0 ; k = 1, · · · , p
(4.2)
et ∃i ∈ {1, · · · , p} | fi < fi0 .

2. Un point f ∈ ZD est non dominé s’il n’existe aucun point f 0 ∈ ZD qui le


domine.
Notons f = (f1 , · · · , fp ). Nous avons :
Définition 4.1.3.
Une solution x ∈ D est dite efficace (ou Pareto optimale) si le point f (x) est non
dominé.
Un point f ∈ ZD est non dominé dans l’espace des objectifs(une solution x ∈ D
est efficace dans l’espace des solutions ) si le cône ayant ce point (cette solution)
comme sommet et formé par les axes (hyperplans) fk , ne contient aucun autre point
de ZD (solution admissible de D).

Remarque 4.1.2.

1. L’ensemble des solutions efficaces d’un problème MOLP ne contient jamais


de point isolé. En particulier, deux sommets efficaces de D peuvent toujours
être reliés par un ensemble d’arêtes dont tous les points sont des solutions effi-
caces. Par contre, une face du polyèdre D peut posséder une arête de solutions
efficaces sans que tous ces points correspondent à des solutions efficaces.
2. La relation de dominance peut être définie différemment par
f ∈ ZD domine f 0 ∈ ZD ⇐⇒ fk < fk0 , ∀k; (4.3)
un point est dit faiblement non dominé si
il n’existe aucun f 0 ∈ ZD tel que fk0 < fk ∀k. (4.4)
Une solution x ∈ D est dit faiblement efficace si le point f (x) est faiblement
non dominé.
3. Une solution efficace est nécessairement faiblement efficace mais l’inverse
n’est pas vrai.

Dr. A. COMPAORÉ Cours de R.O UO3S


4.1 Concepts de base 48

4.1.2 Point idéal, nadir et matrice des gains


Définition 4.1.4 (Point idéal).
Les coordonnées du point idéal sont obtenues en optimisant chaque fonction objectif
séparément, c’est le point de Rp de coordonnée

Mk = min fk (x) k = 1, · · · , p. (4.5)


x∈D

Définition 4.1.5 (Matrice des gains ).


Soit xe(l) une solution optimale non nécessairement unique du critère fl ; notons fkl =
(l)
x ). La matrice (p × p) formée des éléments fkl est appelée matrice des gains.
fk (e
Mk = fkk apparaissent sur la diagonale de cette matrice.

Définition 4.1.6 (Point nadir ).


Le point nadir est le point de Rp de coordonnées :

n = (n1 , · · · , np )
où (4.6)
nk = min flk ; k = 1, · · · , p.
l=1,··· ,p

En effet, les coordonnées du point nadir correspondent aux pires valeurs obtenues
par chaque fonction objectif lorsque l’on restreint l’espace des solutions à la surface
de compromis. Ce point sert à restreindre l’espace de recherche et il est utilisé dans
certaines méthodes d’optimisation interactives.
Notons que si la matrice des gains n’est pas univoquement déterminée, notam-
ment en cas de non unicité de l’une des solutions optimales, alors le point nadir
dépend de la matrice choisie.

Définition 4.1.7 (point anti-idéal).


Le point anti-idéal est le point de Rp de coordonnées

m = (m1 , · · · , mp )
où (4.7)
mk = max fk (x); k = 1, · · · , p.
x∈D

Ce point anti-idéal sert aussi à restreindre l’espace de recherche. De même, la


connaissance du point idéal et du point anti-idéal fournit respectivement une indi-
cation sur la borne inférieure et la borne supérieure de l’intervalle de variation de la
fonction objectif

Remarque 4.1.3.
Dans les méthodes multicritères, l’intervalle [Mk , mk ] est souvent utilisé pour mesu-
rer la variation des valeurs du critère fk sur l’ensemble des solutions efficaces.

Dr. A. COMPAORÉ Cours de R.O UO3S


4.2 Notions de fonctions scalarisantes 49

Exercice 4.1.1. Considérons le problème de programmation linéaire bi-objectif sui-


vant :
min f1 (x) = 3x1 − x2 ;
min f2 (x) = −x1 + 3x2 ;


 4x1 + 3x2 ≥ 12


 x1 + 3x2 ≥ 6
(4.8)



 x −x ≤2
1 2
S.C :

 −x1 + x2 ≤ 3

x1 + x2 ≤ 8





x1 ≥ 0 x2 ≥ 0

1. Représenter l’espace des décisions.


2. Déterminer les coordonnées du point idéal.
3. Déterminer la matrice des gains.
4. Déterminer les coordonnées du point nadir.
5. Déterminer les coordonnées du point anti-idéal.
6. Représenter l’espace ZD .

4.2 Notions de fonctions scalarisantes


4.2.1 Paramètres de préférence
Pour sélectionner une solution de "meilleur compromis", il faut une informa-
tion relative à la structure de préférence du décideur. Pareille information s’obtient
souvent de manière progressive à travers d’un dialogue avec le décideur. Elle peut
parfois se traduire en terme de paramètres de préférence. Les plus courants sont :
X les poids λk (k = 1, · · · , p) qui reflètent l’importance relative de chaque critère
p
X
ou objectif (le plus souvent ils sont normés : λk = 1, λk ≥ 0) ;
k=1
X les taux de substitution qui traduisent l’idée de compensation entre une perte
sur un critère et un gain sur un autre ;
X les points de référence qui représentent des points de Rp dont les coordonnées
sont les valeurs souhaitables (qu’il faut tenter d’atteindre) ou non (dont il
faut tenter de s’écarter) des différents critères ;
X les niveaux de réservation correspondent à des exigences minimales imposées
sur les valeurs de l’un ou de l’autre critère.
Les méthodes multiobjectif font appel le plus souvent à l’un ou l’autre de ces types de
paramètres de préférence. À titre d’exemple, les niveaux de réservation permettent
généralement de limiter une zone d’intérêt à l’intérieur de ZD . Les poids, les taux
de substitution ou les points de référence servent en général à agréger les différents
critères en une fonction unique. Ces fonctions d’agrégation sont appelées fonctions
scalarisantes.

Dr. A. COMPAORÉ Cours de R.O UO3S


4.2 Notions de fonctions scalarisantes 50

4.2.2 Fonctions scalarisantes


Les fonctions scalarisantes ont le plus souvent un rôle technique, interne à la
méthode en passant du multiobjectif au mono objectif tout en permettant de générer
une solution admissible. Il est important de ne pas les confondre avec des fonctions
d’utilité qui sont des fonctions définies dans l’espace des critères.
Idéalement, une fonction scalarisante doit être telle que :
X son optimisation conduit toujours à déterminer une solution efficace ;
X toute solution efficace correspond à son optimisation pour certaines valeurs
des paramètres de préférence.
Les fonctions scalarisantes ci-dessous sont les plus utilisées. Elles utilisent toutes des
poids λk comme paramètres de référence, et pour les deux dernières, un point de
référence f défini par les coordonnées f k = Mk − εk ; k = 1, · · · , p où εk est une
valeur positive arbitrairement petite :
X la somme pondérée
p
X
s1 (f, λ) = λk f k ; (4.9)
k=1

X la distance pondérée de Tchebytchev

s2 (f, λ, f ) = max (λk |fk − f k |); (4.10)


k=1,··· ,p

X la somme pondérée augmentée de Tchebytchev


p
X
s3 (f, λ, f ) = max (λk |fk − f k |) + ρ( |fk − f k |); ρ > 0. (4.11)
k=1,··· ,p
k=1

La minimisation d’une distance de Tchebytchev conduit à un problème de type


” min max ” : p
X
min max (λk |fk − f k |) + ρ( |fk − f k |). (4.12)
x∈D k=1,··· ,p
k=1

Par introduction d’une variable supplémentaire - soit δ - il peut s’écrire de manière


équivalente sous la forme d’un problème de programmation mathématique comme
suit : p
 X 
min δ − ρ |fk − f k |
k=1
( (4.13)
λk (fk (x) − f k ) ≤ δ; k = 1, · · · , p,
S.C
x ∈ D.

Exercice 4.2.1. Considérons le problème de programmation linéaire bi-objectif sui-

Dr. A. COMPAORÉ Cours de R.O UO3S


4.2 Notions de fonctions scalarisantes 51

vant :
min f1 (x) = 3x1 − x2 ;
min f2 (x) = −x1 + 3x2 ;


 4x1 + 3x2 ≥ 12

 x1 + 3x2
 ≥6
(4.14)



 x −x
1 2 ≤2
S.C :
 −x1 + x2
 ≤3

x1 + x2 ≤8





x1 ≥ 0 x2 ≥ 0

Déterminer s1 (f, λ), s2 (f, λ) et s3 (f, λ).

4.2.3 Théorèmes de caractérisation des solutions efficaces


Les fonctions scalarisantes ci-dessus permettent de caractériser, entièrement ou
partiellement, l’ensemble des solutions efficaces. Ce sont davantage des caractérisa-
tions théoriques car leur mise en œuvre conduit à la résolution de problèmes multi-
paramétriques, peu aisés à traiter si le nombre de paramètres (égal au nombre de
critères) est élevé.
Notons : p
n X o
Λ = λk | λk = 1 et λk > 0, k = 1 · · · , p .
k=1

Théorème 4.2.1 (Théorème de Geofrrion ).

Soit le problème paramétrique

min s1 (f (x), λ) (P1 ) (4.15)


x∈D

avec λ ∈ Λ.
a) Si x est solution optimale de (P1 ), x est solution efficace.
b) Si x est solution efficace et que ZD est un ensemble convexe, il existe λ ∈ Λ
tel que x soit une solution optimale de (P1 ).

Si les poids λk n’étaient pas tous strictement positifs, la condition (a) n’assure-
rait que la faible efficacité de x dans le cas où x n’est pas solution optimale unique.

Dans la situation du problème MOLP, l’ensemble ZD est convexe ; la résolution


du problème paramétrique permet donc de déterminer l’ensemble de toutes les so-
lutions efficaces.
Notons cependant qu’en présence de variables discrètes dans le problème linéaire,
ZD n’est plus convexe ; dès lors, la résolution du problème paramétrique ne permet
de générer qu’un sous-ensemble des solutions efficaces.

Dr. A. COMPAORÉ Cours de R.O UO3S


4.2 Notions de fonctions scalarisantes 52

Exercice 4.2.2. Considérons le problème de programmation linéaire bi-objectif sui-


vant :
min f1 (x) = 3x1 − x2 ;
min f2 (x) = −x1 + 3x2 ;


 4x1 + 3x2 ≥ 12


 x1 + 3x2 ≥ 6
(4.16)



 x −x ≤2
1 2
S.C :

 −x1 + x2 ≤ 3

x1 + x2 ≤ 8





x1 ≥ 0 x2 ≥ 0

Déterminer les solution faiblement efficaces et les solutions efficaces.

Travaux dirigés

Dr. A. COMPAORÉ Cours de R.O UO3S


Chapitre 5

Analyse multicritère

Dr. A. COMPAORÉ Cours de R.O UO3S


Chapitre 6

Gestion de Stocks

Dr. A. COMPAORÉ Cours de R.O UO3S


Bibliographie

[1] Frederick S. Hillier, Gerarld J. Lieberman : Iintroduction to Operations Research ;


Seventh Edition. ISBN 2-88074-570-5. 2001
c The McGraw Companies
[2] R. Faure : Précis de Recherche Opérationnelle : Méthodes et Exercices d’applica-
tion, Dunod, 1968
[3] Jacques Teghem : Programmation linéaire, Edition de l’université de Bruxelles
2003.
[4] Jacques Teghem : Recherche Opérationnelle, Tome 2, Ellipse 2013.
[5] Michel Minoux : Programmation mathématiques : Théories et algorithmes, Tome
1, Dunod, 1983.
[6] Yann Collette et Patrick Siarry : Optimisation Multiobjectif. ÉDITIONS EY-
ROLLES 2002 ; 61, Bld Saint-Germain 75240 Paris Cedex 05 www.editions-
eyrolles.com.

Dr. A. COMPAORÉ Cours de R.O UO3S

Vous aimerez peut-être aussi