Vous êtes sur la page 1sur 53

Cours de recherche opérationnelle

NAKELSE Pascal & NAKELSE Tebila Victor

Mai 2020
Sommaire

0.1 Présentation de la recherche opérationnelle (RO) . . . . . . . . . . . 1


0.2 Objectifs et contenu du cours . . . . . . . . . . . . . . . . . . . . . . 2

1 La programmation linéaire 3
1.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Mise en équation d’un problème de programmation linéaire . . . . . . 3
1.3 Méthodes de résolution des problèmes linéaires . . . . . . . . . . . . . 5

2 Dualité et analyse postoptimale en programmation linéaire 21


2.1 Dualité en programmation linéaire . . . . . . . . . . . . . . . . . . . 21
2.2 Analyse postoptimale en programmation linéaire . . . . . . . . . . . . 25

3 Utilisation du Solveur en RO 32
3.1 Résolution d’un problème linéaire avec le Solveur d’EXCEL . . . . . . 32
3.2 Les rapports du solveur . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 Application : Effet de publicité . . . . . . . . . . . . . . . . . . . . . 37

4 Théorie de l’ordonnancement 39
4.1 Définition et domaine d’application . . . . . . . . . . . . . . . . . . . 39
4.2 Problème classique : la gestion d’un projet . . . . . . . . . . . . . . . 40
4.3 Les méthodes d’ordonnancement . . . . . . . . . . . . . . . . . . . . . 42
4.4 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Bibliographie 48

i
Introduction générale

0.1 Présentation de la recherche opérationnelle


(RO)

0.1.1 Définition de la RO
Il existe plusieurs définitions de la recherche opérationnelle, mais pour notre
part nous retiendrons essentiellement deux :
1. La Recherche Opérationnelle (RO) est « l’ensemble des méthodes qui per-
mettent, par des moyens mathématiques, d’apporter une solution optimale
à un problème donné ».
2. Selon Robert FAURE (1918-1982), la recherche opérationnelle se définit
comme l’ensemble des méthodes et techniques rationnelles d’analyse et
de synthèse des phénomènes d’organisation utilisables pour élaborer de
meilleures décisions.

0.1.2 Origines recherche opérationnelle


La recherche opérationnelle (RO) a commencé juste avant la seconde guerre
mondiale avec la constitution d’équipes de chercheurs en vue d’étudier les problèmes
stratégiques et tactiques engagées dans les opérations militaires. L’objectif était de
trouver la meilleure allocation des ressources militaires limitées à travers l’usage de
techniques quantitatives
À la suite des succès obtenus dans le domaine militaire, la RO a été appliquée à
des problèmes de nature opérationnelle que ce soit dans l’industrie ou dans le secteur
public. Le champ d’application de la RO s’est ensuite élargi à des domaines comme
l’économie, la finance, le marketing et la planification d’entreprise et ce, grâce au
développement des moyens de calcul informatiques et bien entendu des méthodes de
solution (algorithmes de résolution).

1
Recherche opérationnelle

0.2 Objectifs et contenu du cours

0.2.1 Objectifs du cours


Le cours vise à présenter aux étudiants l’importance de la recherche opération-
nelle dans la formulation et la recherche de solution aux problèmes rencontrés en
administration, en gestion etc. De façon spécifique, l’objectif poursuivi est de fournir
des éléments aux étudiants pour :
— apprendre à construire des modèles mathématiques ;
— maı̂triser l’algorithme du simplexe ;
— maitriser la théorie d’ordonnancement ;
— maı̂triser un logiciel d’optimisation (Le Solveur d’EXCEL).

0.2.2 Contenu du cours


Le cours est constitué de quatre (04) chapitres.
— la programmation linéaire ;
— la dualité et l’analyse postoptimale en programmation linéaire
— l’utilisation du Solveur d’EXCEL pour la résolution de problèmes linéaires
— la théorie de l’ordonnancement ;

NAKELSE Pascal 2 Année académique 2019-2020


Chapitre 1

La programmation linéaire

1.1 Généralités
Programmation linéaire sous domaine de la recherche opérationnelle. Comme
son nom l’indique, la programmation linéaire fait référence aux problèmes
linéaires,c’est-à-dire les problèmes où la fonction objectif et les contraintes sont pu-
rement linéaires.
Dans ce chapitre, nous allons énoncer les étapes de formulation des problèmes
linéaires, c’est à dire des problèmes où l’on veut maximiser ou minimiser une fonction
à plusieurs variables sous certaines contraintes.

1.2 Mise en équation d’un problème de program-


mation linéaire
Nous prenons un exemple tiré de Hillier et Lieberman. Il s’agit d’une entreprise
de fabrication de châssis qui envisage la production de deux nouveaux modèles au
moyen des capacités résiduelles de ses trois ateliers. Il s’agit respectivement d’un
châssis en aluminium et d’un châssis en bois. Le premier produit nécessite le passage
dans le premier atelier pour fabriquer le cadre en aluminium et dans le troisième
atelier où le verre est monté sur le châssis. Tandis que le second produit nécessite
le passage dans le deuxième atelier pour fabriquer le cadre en bois et dans le troi-
sième atelier où le verre est monté sur le châssis. Les marges unitaires, les temps
de fabrication de chacun des produits dans chacun des ateliers ainsi que les capa-
cité hebdomadaires résiduelles de ces ateliers sont donnés au tableau 1. La question

3
Recherche opérationnelle

qui se pose est la suivante : combien faut-il produire de châssis de chaque type par
semaine pour maximiser le profit net ?

Produit 1 Produit 2 capacité disponible


(Heures/produit) (Heure/produit) (Heures/semaine)
Atelier 1 1 0 4
Atelier 2 0 2 12
Atelier 3 3 2 18
Marge 3F 5F

La formulation d’un tel problème d’optimisation se fait en trois étapes :

1. choix des variables du modèle ou de décision,


2. formulation de l’objectif ou de la fonction économique,
3. formulation des contraintes.

1.2.1 Choix des variables du modèle


Définition 1.1 : On appelle variable toute quantité utile à la résolution du
problème dont le modèle doit déterminer la valeur.
Cette définition permet de différencier les variables des paramètres, qui sont
des données qui peuvent varier, par exemple d’une période à l’autre. Ici les quantités
que le modèle doit déterminer sont les quantités de châssis à produire par semaine :

Soit x1 = nombre de châssis de type 1 produits par semaine,


Soit x2 = nombre de châssis de type 2 produits par semaine.

1.2.2 Déclaration et définition de la fonction économique du


problème (ou fonction objectif )
Définition 1.2 : On appelle fonction objectif ou fonction économique
d’un problème d’optimisation le critère de choix entre les diverses solutions pos-
sibles..
Ici l’entreprise désire maximiser son profit net. Soit Z le profit net de l’entre-
prise. On a que :

maxZ = 3x1 + 5x2

NAKELSE Pascal 4 Année académique 2019-2020


que le modèle doit déterminer sont les productions de chassis par semaine :
x1 = nombre de chassis de type 1 produits par semaine,
x2 = nombre de chassis de type 2 produits par semaine.
Recherche opérationnelle
1.2.2 Expression de l’objectif

Définition
1.2.3 1.2 On appelle
Expression desfonction objectif d’un problème d’optimisation le cri-
contraintes
tère de choix entre les diverses solutions possibles.
Définition 1.3 : On appelle contraintes du problème toutes les relations
Ici l’entreprise désire maximiser son profit net qui s’exprime comme suit :
limitant le choix des valeurs possibles des variables
max z = 3x1 + 5x2
Ces relations peuvent être de simples bornes sur les variables. Par exemple, les
quantités
1.2.3 produites ne peuvent
Expression être négatives. Mathématiquement :
des contraintes

Définition 1.3 On appelle contraintes


x1 , x2du
≥ problème
0 toutes les relations limitant
le choix des valeurs possibles des variables.

Elles
Ces peuvent
relations être plus
peuvent êtrecomplexes
de simplescomme
bornes les
surcontrainte de capacité
les variables. de produc-
Par exemple, les
tion.quantité
Le temps produites ne peuvent1 être
pour assembler négatives.
châssis de typeMathématiquement
1 dans l’atelier 1 :est de 1 heure où
x1 , x2 ≥ 0. de capacité de l’atelier 1 :
il reste 4 heures disponibles. D’où la contrainte

Elles peuvent être plus complexes comme les contrainte de capacité de produc-
x1 ≤ 4
tion. Le temps pour assembler 1 chassis de type 1 dans l’atelier 1 est de 1 heure
où il reste 4 heures disponibles. D’où la contrainte de capacité de l’atelier 1 :
Semblablement, on peut écrire les contraintes de capacité des 2 autres ateliers :
x1 ≤ 4
2x2 ≤ 12 de capacité des 2 autres ateliers :
Semblablement, on peut écrire les contraintes
2x22 ≤≤1812
3x1 +2x
3x1 + 2x2 ≤ 18
Il est alors très utile de reprendre sous une forme condensée la formulation
complèteIl du
est problème.
alors très utile de obtient
Ici, on reprendre
la sous une forme
formulation condensée
suivante : la formulation
complète du problème. Ici, on obtient la formulation suivante :
max z = 
3 x 1 + 5 x2

 x1
 ≤ 4



 2x2 ≤ 12
 (1.1)
s.c.q. 
3x1 + 2x2 ≤ 18




 x1 ≥ 0


x2 ≥ 0

1.3 Méthodes de résolution des problèmes li-


néaires
Il existe plusieurs méthodes de résolution des problèmes linéaires. Cette section
se réserve de présenter les deux principales méthodes :
— méthode graphique ;
— l’algorithme de simplexe.

NAKELSE Pascal 5 Année académique 2019-2020


Recherche opérationnelle
12 Chapitre 1. La programmation linéaire.

1.3.1
1.3 Résolution graphique
Résolution graphique
Comme annoncée dans l’introduction, dans le cas de deux variables de décision,
Comme annoncé dans l’introduction, dans le cas de deux variables de décision,
un problème linéaire
un problème peut
linéaire peutêtre
êtrerésolu
résolu de manièrepurement
de manière purementgraphique
graphique
en en suivant
suivant le le
processus
processus en trois
en trois étapessuivant
étapes suivant: :

1.
1. représentation graphique de
représentation graphique delalarégion
régionréalisable;
réalisable ;
2.
2. représentation de ;l’objectif,
de l’objectif
représentation graphique
3. détermination graphique du point optimal.
3. détermination graphique du point optimal.

1.3.1.1 Représentation graphique de la région réalisable


1.3.1 Représentation graphique de la région réalisable
Définition 2.3 : On appelle région réalisable, l’ensemble des valeurs de va-
Définition 1.4 On appelle région réalisable, l’ensemble des valeurs de variables
riables de décision
de décision qui satisfont
qui satisfont toutestoutes les contraintes.
les contraintes.
Dans le cas de l’exemple, c’est l’ensemble des points (x1 , x2 ) satisfaisant les
Dans ledecas
inégalités de l’exemple, c’est l’ensemble des points (x1 , x2 ) satisfaisant les
(1.1).
inégalités de (1.1). une inégalité telle que 3x + 2x ≤ 18 correspond à un demi
Graphiquement 1 2
Graphiquement uneobtenue
inégalité
entelle que 3x 1 + 2x2 ≤ 18 correspond (3xà1 un demi-
plan limité par la droite prenant l’inéquation à l’égalité + 2x 2 ≤ 18)
plan limité par la droite obtenue en prenant l’inéquation à l’égalité (ici 3x1 +2x2 =
lorsqu’on fait l’intersection
18). Lorsque des cinq demi-plan
l’on fait l’intersection correspondant
des cinq demi-plans aux cinq
correspondant auxinégalités
cinq
suivantes : suivantes :
inégalités,



 x1 ≤ 4 (1)



 2x2 ≤ 12 (2)


3x1 + 2x2 ≤ 18 (3)




 x1 ≥ 0 (4)


x2 ≥ 0 (5)

on obtient le polygone hachuré à la figure 1.1. En économie, cet ensemble réalisable


est encore
1.3.1.2 appelé l’ensemble
Représentation de production.
graphique de la fonction objectif

On voit ici clairement que le système est sous-déterminé. On va devoir choisir


1.3.2 Représentation graphique de l’objectif
entre ces différents plans de production. Pour ce faire, on va représenter graphique-
mentOndes
voitlignes
ici clairement que le
d’isovaleur desystème est sous-déterminé.
la fonction objectif : On va devoir choisir entre
ces différents plans de production. Pour ce faire, on va représenter graphiquement
z = 3x + 5x2
des lignes1 d’isovaleur de la fonction objectif :

z = 3x1 + 5x2 .

NAKELSE Pascal 6 Année académique 2019-2020


Section 1.3. Résolution graphique 13
Recherche opérationnelle
x2
Section 1.3. Résolution graphique
(4) 13
10
x2
8 (1)
(4)
106 (2)

8 (1)
4
(2)
6
2 (3)
(5)
4
0 2 4 6 8 x1
2 (3)
Figure 1.1: Ensemble de production.
(5)
0 2 4 6 8 x1
En effet, on remarquera que l’expression de la fonction objectif fait intervenir trois
Figure 1.1: Ensemble de production.
variables et ne peut donc être représentée que dans l’espace. Pour se ramener dans
En effet, on remarquera que l’expression de la fonction objectif fait intervenir
le plan, on va considérer des valeurs successives de l’objectif :
troisEnvariables
effet, on remarquera
et ne peut quedoncl’expression de la fonction
être représentée que dans objectif fait intervenir
l’espace. trois
Pour se ramener
variables et ne peut donc être représentéez = k.
que dans l’espace.
dans le plan, on va considérer des valeurs successives de l’objectif : Pour se ramener dans
le plan, on va considérer des valeurs successives de l’objectif :
Cez=quik correspond
i.e 3x1 + 5x 2 = k
graphiquement à des droites parallèles
Ce qui correspond graphiquementz à=des k. droites parallèles
3x1 + 5x2 = k.
CeLes
quipoints d’unegraphiquement
correspond de ces droitesà sont donc leparallèles
des droites lieu de tous les points donnant la
même Les pointsdu
valeur d’une de (d’où
profit ces droites
le nom sontd’isovaleur
donc le lieudedelatous les points
fonction donnantCeci
objectif). la même
est fait
valeur suivante
à la figure du profit (d’où
où l’onle anom de3x 1 + z5x
droite
représente = k.
d’isovaleur
=2 10, 20 et de36.la fonction objectif). Ceci
est fait à la figure 1.2 où l’on a représenté z = 10, 20 et 36.
Les points d’une de ces droites sont donc le lieu de tous les points donnant la même
valeur du profit (d’où le nom x2 de droite d’isovaleur de la fonction objectif). Ceci
est fait à la figure 1.2 où l’on a représenté z = 10, 20 et 36.
10
x2 8
(2, 6)
106

84
(2, 6) (4 , 3)
62
z = 36
4
0 2 (4 , 3) 6 8 x1
z = 10 z =z20
2 = 36

Figure
0 21.2: Droites
6 d’isoprofit.
8 x1
z = 10 z = 20
1.3.1.3 Détermination graphique de l’optimum
Figure 1.2: Droites d’isoprofit.
L’optimum sera déterminé graphiquement comme plan de production situé sur
la droite d’isoprofit la plus élevée, c’est à celle qui donne le profit le plus élevé. On
voit à la figure ci-déçu qu’il s’agit du point
x∗ = (0, 0)

NAKELSE Pascal 7 Année académique 2019-2020


Recherche opérationnelle

Justifions ce choix. Comme on maximise le profit on a intérêt à prendre la


droite d’isovaleur la plus élevée possible. Bien sûr, il faut que le plan de production
soit encore réalisable : autrement dit, il faut se restreindre à la région réalisable.
— Pour maximiser l’objectif, il faut prendre la droite d’isovaleur de l’objectif
qui touche encore la région réalisable et qui donne la plus grande valeur a
l’objectif.
— On constate que la solution optimale est à un sommet de la région réalisable.
On peut alors se demander si la solution optimale sera toujours à un sommet
de la région réalisable. En fait, lorsque la ligne d’iso-marge est parallèle à
un coté du polygone, on a que tout le côté du polygone est optimal. Par
exemple, si l’objectif avait été z = 3x1 + 5x2 tout le segment entre (2, 6) et
(4, 3) aurait été optimum.
— Même si tout un côté du polygone est optimal, on peut toujours choisir
une solution optimale correspondant à un sommet. En conclusion, on peut
voir qu’il suffit d’évaluer la valeur de l’objectif en chacun des sommets pour
déterminer l’optimum d’un problème linéaire. Mais on peut aller plus loin
encore pour limiter le nombre de sommets à examiner en se basant sur la
quatrième observation suivante.
— Le long d’un côté du polygone, la valeur de l’objectif peut être soit
constante, soit strictement croissante, soit strictement décroissante. On
peut donc suggérer l’algorithme suivant :
i. choisir comme point de départ un sommet x∗ de la région réalisable ;
ii. Déterminer les côtés passant par ce sommet x∗ . Trouver un côté le long
duquel z croı̂t. S’il n’y en n’a pas, STOP : le x∗ courant est optimal ;
iii. Déterminer le sommet y ∗ à l’autre bout du côté et poser x = y. Retour en
ii.

1.3.2 Exercices d’application


Exercice 1.1 : problème d’allocation de ressources
Une entreprise produit des câbles de cuivre de 5 et 10 mm de diamètre sur une
seule ligne de production imposant les contraintes suivantes :
— Le cuivre disponible permet de produire 21000 mètres de câble de 5 mm de
diamètre par semaine ;
— un mètre de câble de 10 mm de diamètre nécessite 4 fois plus de cuivre
qu’un mètre de câble de 5 mm de diamètre ;

NAKELSE Pascal 8 Année académique 2019-2020


Recherche opérationnelle

Section 1.2. Un simple exemple 11


De plus, ayant une bonne connaissance de la demande, la production hebdo-
madaire demodèle
que le câble de
doit5 déterminer
mm est limitée à productions
sont les 15000 mètres
de et la production
chassis de: câble de
par semaine
10 mm ne doit pas dépasser les 40% de la production totale. Les câbles sont vendus
x1 = nombre de chassis de type 1 produits par semaine,
respectivement x10F=et 40F
nombrele mètre.
de chassis de type 2 produits par semaine.
2
Formuler le programme linéaire correspondant au problème posé(choix des va-
riables, expression
1.2.2 des contraintes
Expression et de l’objectif).
de l’objectif
Exercice 1.2 : problème de production
Définition 1.2 On appelle fonction objectif d’un problème d’optimisation le cri-
Unedefirme
tère choixfabrique
entre les deux produits
diverses 1 etpossibles.
solutions 2 à l’aide de trois matières premières I,
II et III selon le mode décrit dans le tableau ci-dessous :
Ici l’entreprise désire maximiser son profit net qui s’exprime comme suit :
max
1 z2= 3x 1 + 5x2
Quantités disponibles
I 2 1 8
1.2.3 Expression
II des contraintes
1 2 7
0 1 du problème 3toutes les relations limitant
IIIOn appelle contraintes
Définition 1.3
le choix des valeurs
Profit possibles
unitairedes4 variables.
5

Ces relationsestpeuvent
L’objectif être de simples
de déterminer un plan bornes sur les variables.
de production Par le
qui maximise exemple, les
profit global.
quantité produites ne peuvent être négatives. Mathématiquement :
On vous demande alors de définir :
x1 , x2 ≥ 0.
1. les variables du modèle ; les différentes contraintes ; la fonction objectif ;
Elles peuvent être plus complexes comme les contrainte de capacité de produc-
2. Déterminer graphiquement le plan de production qui maximise le profit.
tion. Le temps pour assembler 1 chassis de type 1 dans l’atelier 1 est de 1 heure
où il reste 4 heures disponibles. D’où la contrainte de capacité de l’atelier 1 :
1.3.3 Algorithme du Simplexe
x1 ≤ 4
Semblablement,
1.3.3.1 Principe on depeut écrire les contraintes de capacité des 2 autres ateliers :
l’algorithme
2x2 ≤ 12
Le principe de l’algorithme de simplexe consiste à déterminer une solution
3x1 + 2x2 ≤ 18
optimale d’un problème en allant de sommet en sommet adjacent. Rappelons la
Il estdealors
formulation très utile
l’exemple de reprendre
introductif : sous une forme condensée la formulation
complète du problème. Ici, on obtient la formulation suivante :
max z = 
3 x 1 + 5 x2

 x1
 ≤ 4



 2x2 ≤ 12
 (1.1)
s.c.q. 
3x1 + 2x2 ≤ 18




 x1 ≥ 0


x2 ≥ 0

dont la représentation graphique est donnée par la figure ci-dessous.

NAKELSE Pascal 9 Année académique 2019-2020


Ce qui correspond graphiquement à des droites parallèles

3x1 + 5x2 = k.

Les points d’une de ces droites sont donc


Recherche le lieu de tous les points donnant la même
opérationnelle
valeur du profit (d’où le nom de droite d’isovaleur de la fonction objectif). Ceci
est fait à la figure 1.2 où l’on a représenté z = 10, 20 et 36.
x2

10

8
(2, 6)
6

4
(4 , 3)
2 z = 36

0 2 6 8 x1
z = 10 z = 20

Figure 1.2: Droites d’isoprofit.


Partant du point (0,0), l’algorithme va déterminer une arête le long de laquelle
l’objectif s’accroı̂t : par exemple, l’arête en direction de (0,6). Ensuite, on va aller
jusqu’au bout de cette arête : c’est-à-dire au sommet (0,6). Et le processus continue
de manière itérative. On détermine une arête le long de laquelle l’objectif s’accroı̂t :
l’arête en direction de (2,6). On va jusqu’au bout de l’arête et l’a on constate que
tout mouvement, en arrière vers (0,6) ou en avant vers (4,3), conduit à diminuer
l’objectif. On est donc à l’optimum.

1.3.3.2 Formes canoniques d’un programme linéaire

La forme canonique d’un programme linéaire dans l’espace des variables ori-
ginales avait été illustrée par l’exemple introductif. Observons qu’il est toujours
possible de transformer une contrainte inégalité générale en une contrainte d’égalité
par ajout d’une variable à laquelle on impose d’être non négative. Considérons, par
exemple, la contrainte
3x1 + 2x2 ≤ 18
Imposer que le membre de gauche soit inférieur ou égal au membre de droite,
revient à dire qu’il faudrait ajouter une quantité non négative au membre de gauche
pour qu’il y ait égalité :
3x1 + 2x2 + x3 = 18
Avec la condition que : x3 ≥ 0
Définition 1.4 La variable d’écart est la quantité qui, ajoutée au membre
de gauche d’une contrainte, permet de transformer la contrainte en égalité.
Appliquons ceci au problème ci-déçu. On obtient le problème sous forme stan-
dard suivant :

NAKELSE Pascal 10 Année académique 2019-2020


x3 ≥ 0.

Définition 2.1 La variable d’écart est la quantité qui, ajoutée au membre de


gauche d’une contrainte, permet de transformer la contrainte en égalité.
Recherche opérationnelle
Appliquons ceci au problème (2.1). On obtient le problème sous forme standard
avec égalités suivant :

max z = 3x1 + 5x2




 x1 +x3 = 4



 2x2 +x4 = 12 (2.2)
s.c.q. 



3x1 +2x2 +x5 = 18


x1 , x2 , x3 , x4 , x5 ≥ 0

Remarquons qu’il y a équivalence totale entre les deux formes. En effet,


Remarquons
d’une part, toute qu’il y a équivalence
solution parfaite
réalisable du entre
problème lespeut
(2.1) deuxêtre
formes. En effet,
augmentée d’une
en une
part,solution
toute solution
réalisableréalisable du problème
pour le problème (2.2). précédent peutréalisable
Toute solution être augmentée en une
du problème
(2.2)réalisable
solution peut être tronquée
pour le en une solution
problème sousréalisable pour le problème
forme standard. (2.1). Comme,
Toute solution réalisable
d’autre part, les fonctions objectifs sont identiques, on a bien équivalence entre les
du problème sous forme standard peut être tronquée en une solution réalisable pour
deux problèmes.
le problème précédent. Comme, d’autre part, les fonctions objectifs sont identiques,
on a bien équivalence entre les deux problèmes.
Section 2.3. Notion de solution de base 19

1.3.3.3 Notion de solution de base


2.3 Notion de solution de base
On remarquera que les égalités du problème forment un système de m = 3
On remarquera
égalités enque
n +les
m égalités
= 2 + 3 du= 5problème (2.2)
inconnues. forment
Donc un système
la valeur de n = de m =3
2 variables peut être
égalités en n + m = 2 + 3 = 5 inconnues. Donc la valeur de n = 2 variables peut
fixée arbitrairement. Par exemple, dans le système d’égalités.
être fixée arbitrairement. Par exemple, dans le système d’égalités :






x1 +x3 = 4

2x2 +x4 = 12 (2.3)





 3x1 +2x2 +x5 = 18

les deux variables x1 et x2 peuvent être fixées à zéro. On dit qu’elles sont mises
hors base. les deux variables x1 et x2 peuvent être fixées à zéro. On dit qu’elles sont mises
hors base.
Définition 2.2 On appelle variables hors base (v.h.b.) les n variables de Rn+m
Définition
fixées à zéro. 1.5 :restantes
Les m variables On appelle variablesvariables
sont appelées hors base
de (v.h.b.) les n variables de
base (v.b.).
Rn+m fixées à zéro. Les m variables restantes sont appelées variables de base (v.b.).
Dans l’exemple, les variables de base sont donc x3 , x4 et x5 dont on peut lire
Dans
la valeur dans l’exemple,
(2.3) : les variables de base sont donc x3 , x4 et x5 dont on peut lire
la valeur dans (2.3) :
x = 4
x3 = 4 x4 = 12 x5 = 18 3
x4 = 12
Définition 1.6 On appelle solution de base une solution où en ayant choisi
x5 = 18
n variables hors base, on obtient une solution unique en résolvant les m contraintes
d’égalités
Définition obtenues
2.3 On appelleensolution
ajoutant
deles variables
base d’écart.
une solution où en ayant choisi n
variables hors base, on obtient
Définition 1.7 Onuneappelle
solutionsolution
unique enderésolvant les m contraintes
base réalisable une solution de base
d’égalités obtenues en ajoutant les variables d’écart.
qui, en plus, vérifie les contraintes de positivité.
Dans
Définition 2.4 Onl’exemple, la solution
appelle solution de base
de base suivante
réalisable une:solution de base qui,
en plus, vérifie les contraintes de positivité.
NAKELSE Pascal 11 Année académique 2019-2020

Dans l’exemple, la solution de base suivante :


Recherche opérationnelle

x1 = 0, x2 = 0 variables hors base


x3 = 4, x4 = 12, x5 = 18 variables de base
est réalisable car toutes les variables de base sont positives. Le lien entre l’al-
gèbre et la géométrie est alors donné par la propriété suivante.
20 Chapitre 2. Algorithme du Simplexe.
Propriété 1.1 :La notion géométrique de sommet du polygone correspond à
la notionNous
algébrique de solution
avons déjà annoncédeque
base réalisable. du Simplexe revient à aller de
l’algorithme
Nous avons
sommet déjà annoncé
en sommet adjacent.que l’algorithme
Interprété du Simplexe
algébriquement, celarevient
revient àà aller de som-
considérer
met un
en passage
sommetd’une solution
adjacent. de base réalisable
Interprété à une autrecela
algébriquement, solution de base
revient réalisable. un
à considérer
La notion d’adjacence doit être étendue aux solutions de base.
passage d’une solution de base réalisable à une autre solution de base réalisable. La
notion d’adjacence
Définition doitappelle
2.5 On être étendue auxdesolutions
solutions de base.deux solutions de base
base adjacentes
dont les variables de base sont les mêmes sauf
Définition 1.8 : On appelle solutions de base une qui est de base dans
adjacentes deuxlasolutions
première de
base et hors base dans la seconde.
base dont les variables de base sont les mêmes sauf une qui est de base dans la
Dans base
première l’exemple,
et horslesbase
deuxdans
solutions de base suivantes sont adjacentes :
la seconde.
Dans l’exemple, les deux solutions
x1 = 0,de base
x1 =suivantes
0, sont adjacentes :
x1 = 0, x1 = 0 x2 = 0, x2 = 6,
x2 = 0, x2 = 6 x3 = 4, x3 = 4,
x3 = 4, x3 = 4 x4 = 12, x4 = 0,
x4 = 12, x4 = 0 x5 = 18, x5 = 6
x5 elles
car = 18,nexdiffèrent
5 = 6 que par une seule variable hors base.
car elles ne diffèrent que par une seule variable hors base.
Propriété 2.2 La notion géométrique de sommets adjacents correspond à la no-
Propriété 1.2 : La notion géométrique de sommets adjacents correspond à la
tion algébrique de solutions de base réalisables adjacentes.
notion algébrique de solutions de base réalisables adjacentes.

2.4 Initialisation de l’algorithme


1.3.3.4 Initialisation de l’algorithme
LaLaquestion
questionquiqui
se pose est : “Comment
se pose choisir le
est : ”Comment point de
choisir le départ
point ?”deSidépart
le problème
?” Si le
est mis sous forme d’inégalités du type ≤ avec des membres de droite tous positif,
problème est mis sous forme d’inégalité du type ≤ 0. avec des membres de droite
il suffit de prendre l’origine comme point de départ :
tous positif, il suffit de prendre l’origine comme point de départ : (x1 , x2 ) = (0, 0)
(x1 , x2 ) = (0, 0)
En termes algébriques, toutes les variables originales sont mises hors base.
En termes algébriques,
Automatiquement ,dans letoutes les variables
système d’égalitésoriginales
: sont mises hors base. Auto-
matiquement , dans le système d’égalités :



 x1 +x3 = 4

2x2 +x4 = 12 ,


3x1 +2x2 +x5 = 18
on lit la valeur des variables de base :
on lit la valeur des variables de x 3 =: 4
base
x4 = 12
x5 = 18
NAKELSE Pascal 12 Année académique 2019-2020
Recherche opérationnelle

x3 = 4
x4 = 12
x5 = 18

1.3.3.5 Une itération simplexe

Pour rappel, le principe de l’algorithme du Simplexe consiste à se déplacer de


sommet en sommet adjacent de façon à améliorer la fonction objectif. On va donc
se déplacer à partir de notre solution de base de départ vers une solution de base
réalisable en suivant une arête le long de laquelle l’objectif s’accroı̂t.

Choix de la direction

La question qui se pose est alors : comment choisir la direction ? Remarquez


qu’algébriquement, cette question se formule de manière équivalente par : quelle
variable hors base va entrer en base ?
Le critère de sélection de la variable entrante est de prendre la variable hors
base qui fournit le plus fort taux d’augmentation de la fonction objectif :
z = 3x1 + 5x2
Pour une augmentation unitaire de x1 , z augmente de 3. Pour une augmenta-
tion unitaire de x2 , z augmente de 5.
Ainsi le critère de choix de la variable entrante est la suivante : on choisit la
variable avec le coefficient objectif le plus élevé.
NB : Remarquez que pour pouvoir appliquer ce critère simple (choisir la va-
riable de coefficient objectif le plus élevé), la fonction objectif z doit être exprimée
en fonction des seules variables hors base.

Choix de la variable sortante

La question qui se pose est : quand s’arrêter le long de la direction ? Géomé-


triquement, on se dirige sur l’axe x2 et on s’arrête en (6,0), à la première contrainte
rencontrée. Algébriquement, on constate qu’en ce point la variable d’écart x4 s’an-
nule et aller au delà conduirait à la rendre négative. On va donc pousser x2 le plus
loin possible, tant que les variables de base restent non négatives.
Le critère de sélection de la variable sortante est donc le suivant : prendre
comme variable sortante la première variable de base à s’annuler.
En maintenant x1 hors base dans (2.3), on obtient la variation des variables de
base en fonction de x2 :
x3 = 4 ≥ 0

NAKELSE Pascal 13 Année académique 2019-2020


22 Chapitre 2. Algorithme du Simplexe.
Recherche opérationnelle

x4 = 12 − 2x2 ≥ 0
x4 = 12 − 2x2 ≥ 0 x5 = 18 − 2x2 ≥ 0
5 = 18 :− 2x2 ≥ 0
ouxencore
où encore : 12
x2 ≤ = 612 x2 ≤=6
2 2
x2 ≤ = 918 18
2 x2 ≤ =9
2
On en conclut que la variable sortante est x4 , c’est-à-dire la première qui s’an-
On en
nule (pour = 6). que la variable sortante est x4 , c’est-à-dire la première qui
x2 conclut
s’annule (pour xgénérale,
De manière 2 = 6). on calcul le minimum du rapport du coefficient du
membreDe manière
de droitegénérale, on calcul ledeminimum
sur le coefficient du rapport
la variable dudans
entrante coefficient du membre
la même ligne lorsque
de droite sur le coefficient de la variable entrante dans la même ligne lorsque
celui-ci est positif.
celui-ci La variable
est positif. sortante
La variable est est
sortante celle dont
celle ononlitlitlalavaleur
dont valeurdans
dans la
la ligne
où celigne
minimum se produit.
où ce minimum se produit.
Calcul du nouveau sommet
2.5.3 Calcul du nouveau sommet
La question qui se pose est : comment calculer la nouvelle solution de base ?
LaOn va y répondre
question en utilisant
qui se pose la résolution
est : comment calculerde
la systèmes. Plus précisément,
nouvelle solution de base ? on va
calculerOn
la va
nouvelle solution
y répondre de baselaen
en utilisant explicitant
résolution le systèmePlus
de systèmes. ci-dessous en fonction
précisément, on
des va calculer variables
nouvelles la nouvelledesolution
base. de base en explicitant le système (2.3) en fonction
des nouvelles variables de base.
Ceci peut être fait au moyen de deux types d’opérations qui ne modifient pas
Ceci peut être fait au moyen de deux types d’opérations qui ne modifient pas
l’ensemble des solutions d’un système d’équations :
l’ensemble des solutions d’un système d’équations :
1. multiplier une égalité par une constante non nulle ;
1. Multiplier une égalité par une constante non nulle;
2. Additionner un multiple d’une équation à une autre équation.
2. Additionner un multiple d’une équation à une autre équation.
Appliquons ceci à l’exemple. Ajoutons au système de départ en première ligne
Appliquons
la définition ceci à l’exemple.
de la fonction objectif Ajoutons
: au système de départ (2.3) en première
ligne la définition de la fonction objectif :

z −3x1 −5x2 = 0 (0)


x1 +x3 = 4 (1)
2x2 +x4 = 12 (2)
3x1 +2x2 +x5 = 18 (3)

Donc x2 remplace x4 comme variable de base. On veut donc expliciter x2 dans


la Donc x2 remplace
contrainte x4 etcomme
(2) en lieu variable
place de decebase.
x4 . Pour faire,On veut: donc expliciter x2 en
il faut
fonction dans la contrainte (2) en lieu et place de x4 . Pour ce faire, il faut :

1. Amener un 1 comme coefficient de x2 dans (2). Autrement dit, la nouvelle


contrainte notée (2’) est l’ancienne (2) multipliée par 1/2 :

(20 ) = (2) × 1/2

NAKELSE Pascal 14 Année académique 2019-2020


Section 2.5. Une itération Simplexe 23

1. Amener un 1 comme coefficient de x2 dans (2). Autrement dit, la nouvelle


contrainte notée (2’) est l’ancienne (2) multipliée par 1/2 :
Recherche opérationnelle
1
(2 ) = (2) ×
2
2. Éliminer
2. Eliminer x2 des
x2 des autresautres équations.
équations. Ceci Ceci en retranchant
en retranchant à la contrainte
à la contrainte (3) la (3) la
contrainte
contrainte (2) et(2)enetajoutant
en ajoutant à l’objectif
à l’objectif (0)fois
(0) cinq cinq
la fois la nouvelle
nouvelle contrainte
contrainte
(2’)(2’)
: :

(3 ) = (3) − (2)


(30 ) = (2) − (2) (00 ) = 0 + (5) × (20 )
(0 ) = (0) + 5 × (2 )
Le nouveau système est donc le suivant :
Le nouveau système est donc le suivant :

z −3x1 + 52 x4 = 30 (0 )
x1 +x3 = 4 (1)
x2 + 12 x4 = 6 (2 )
3x1 −x4 +x5 = 6 (3 )

où l’on peut lire directement (en se souvenant que x1 et x4 sont hors base
où
doncl’on peut :lire directement (en se souvenant que x1 et x4 sont hors base donc
nulles)
nulles) :
z = 30
x3 = 4
z = 30
x2 = 6
x2
x5 = 6
x3
On en déduit la valeur de la nouvelle xsolution
5
de base :

(x1 , x2 , x3 , x4 , x5 ) = (0, 6, 4, 0, 6)
On en déduit la valeur de la nouvelle solution de base :
qui,donne
(x x , x la
, xnouvelle valeur
, x )=(0, 6, 4,de l’objectif :
0, 6)
1 2 3 4 5

qui donne la nouvelle valeur de zl’objectif


= 30. :
z = 30
Remarquez que les opérations d’élimination de x2 des lignes autres que la
Remarquez que les opérations d’élimination de x2 des lignes autres que la
deuxième se font obligatoirement en retranchant à chacune de ces lignes un mul-
deuxième
tiple de la deuxième ligne. Toute autre opération détruirait les ces
se font obligatoirement en retranchant à chacune de lignesde
colonnes unlamultiple
matrice
de identité dans
la deuxième le système
ligne. résultant
Toute autre comme détruirait
opération on peut le constater en essayant,
les colonnes de la matrice
par exemple, de faire :
identité dans le système résultant comme on peut le constater en essayant, par
(3 ) = −1 × (3) + (2).
exemple, de faire :
(30 ) = −1 × (3) + (2)
Nous allons maintenant voir une autre façon de présenter les mêmes calculs. Il
s’agit de la présentation du Simplexe en tableaux.

1.3.3.6 Tableau Simplexe

On effectue généralement les calculs sur le tableau des coefficients qui porte le
nom de tableau Simplexe. Mais il faut bien garder à l’esprit que ce tableau et les

NAKELSE Pascal 15 Année académique 2019-2020


Recherche opérationnelle

opérations que l’on va y effectuer ne sont qu’une traduction des opérations sur le
système d’équations algébriques correspondantes.
Définition 1.9 : Un tableau Simplexe est constitué des coefficients des
équations algébriques sans le nom des variables. On aura donc :

1. les coefficients de la fonction objectif ;


2. les coefficients des variables dans le membre de gauche des contraintes ;
3. les coefficients du membre de droite.

où l’on sépare les coefficients de objectif des contraintes d’une barre horizontale
et les
26 coefficients du membre de gauche des contraintes
Chapitre des coefficients
2. Algorithme du membre
du Simplexe.
de droite
26 par une barre verticale. Chapitre 2. Algorithme du Simplexe.
ParPar exemple,
exemple, le système
le système de départ
de départ : :
Par exemple, le système de départ :
z −3x1 −5x2 = 0
x11 −5x2 +x3
z −3x = 04
x1 2x2 +x3 +x4 = 124
3x1 +2x
2x22 +x4 +x5 = 18
12

se met sous la forme du 3x 1 +2x


tableau suivant
2 : +x5 = 18

sese met
met sous
sous la forme
la forme du tableau
du tableau suivant :
z x1suivant
x2 x: 3 x4 x5
z1 −3
x1 −5
x2 x03 x04 x05 0
01 −31 −50 01 0 0 40
0 01 20 01 10 0 124
0 03 2 0 10 01 18
12

où l’on a ajouté au dessus du 0 tableau


3 le2 nom 1 18 pour voir à quelle variable
0 des0variables
correspond chaque colonne du tableau.
où l’on a ajouté au dessus du tableau le nom des variables pour voir à quelle variable
Plusieurschaque
correspond caractéristiques
colonne du d’un tableau sont à remarquer.
tableau.
Plusieurs caractéristiques du tableau sont à remarquer.
Plusieurs caractéristiques d’un tableaudesont à remarquer.
—• Tout d’abordles
Tout d’abord lesvaleurs
valeursdudumembre
membre de droite
droite donnent
donnent les valeurs
les valeurs courantes
courantes
des variables de base.
• des
Toutvariables
d’abord les de valeurs
base. du membre de droite donnent les valeurs courantes
—• Ensuite
des la première
variables
Ensuite la première
de base. lignedonne
ligne donnel’opposé
l’opposé desdes coefficients
coefficients objectif.
objectif.
—• Enfin,
Ensuitele dernier coefficient première ligne
desdonne la valeur courante de l’ob-
Enfin, leladernier
première ligne donne
coefficient l’opposé
première ligne coefficients
donne objectif.
la valeur courante de
jectif.
l’objectif.
• Enfin, le dernier coefficient première ligne donne la valeur courante de
— On identifie des variables de base à une colonne de coefficient de la matrice
• l’objectif.
On identifie des variables de base à une colonne de coefficient de la matrice
identité etààun
identité et uncoefficient
coefficientobjectif
objectif nul.
nul.
• On identifie des variables de base à une colonne de coefficient de la matrice
Onidentité et àlaun
en déduit
NAKELSE Pascal
coefficient
solution objectif
courante : 16nul. Année académique 2019-2020

On en déduit la solution
(x1 , x2courante
, x3 , x4 , x: 5 ) = (0, 0, 4, 12, 18)
Recherche opérationnelle

On en déduit la solution courante :


(x1 , x2 , x3 , x4 , x5 ) = (0, 0, 4, 12, 18)
Section 2.6. Tableau
A la première Simplexe
itération, et pivotage
on sélectionne comme variable entrante la variable 27 x2
Section 2.6.
de coefficient Tableau
le plus Simplexe
négatif dans la et pivotage
ligne objectif. On indique ceci dans le tableau27
enen
encadrant
encadrant la colonne de la
la colonne devariable entrant
la variable que l’on
entrant appelle
que l’on la colonne
appelle pivotpivot
la colonne : :
en encadrant la colonne de la variable entrant que l’on appelle la colonne pivot :
z x1 x 2 x 3 x 4 x 5
1z −3 x2 x03 x04 x05 0
x1 −5

01 −3
1 −5
0 10 00 00 40
00 01 20 01 10 00 124
00 30 22 00 01 10 18
12
0 3 2 0 0 1 18
On sélectionne la variable sortante comme étant la variable de base qui s’annule
laOnOn sélectionne
première.
sélectionne lalavariable
variablesortante
Mathématiquement, sortante comme
celacomme
revient à étant
la la
calculer
étant variable
le de de
minimum
variable basebase
duqui qui
rapport s’annule
du
s’annule
coefficient
la première.
la première. du Mathématiquement,
membre de droite cela
Mathématiquement, decela
chaque
revientcontrainte
revient ààcalculer surleleminimum
calculer coefficientdu
minimum correspon-
du rapport
rapport du du
dant de
coefficientla colonne
du membre pivot lorsque
de droite ce dernier
de chaque est strictement
contrainte positif :
surlelecoefficient
coefficientcorrespondant
correspon-
coefficient du membre de droite de chaque contrainte sur
dant de la colonne pivot lorsque ce  dernier est  strictement positif :
de la colonne pivot lorsque ce dernier 12 18
 12 18 min −,est strictement
,  = 6. positif :
min 2 , 2 = 6 212 218
min −, , = 6.
DansDansle lecascas
oùoù
le le
coefficient
coefficient dans
dansla la 2 2 entrante
colonne
colonne entranteest est
négatif ou nul,
négatif la ligne
ou nul, la ligne
n’entre
Dans pas
casen compte dans le calcul du minimum. La variable sortante est alors la
n’entre pasle en où
comptele coefficient dans la
dans le calcul ducolonne
minimum. entrante est négatif
La variable ou nul,
sortante la ligne
est alors la
variable de base dont la valeur se lit dans la ligne où le minimum
n’entre pas en compte dans le calcul du minimum. La variable sortante est alors la se produit : ici,
variable de de
ilvariable
s’agit base dont la valeur se lit dans la variable
ligne oùxle . minimum sealors
produit : ici, il
delabase
deuxième
dont laligne et se
valeur donc de la
lit dans la ligne où 4le On encadrese
minimum la ligne
produit : ici,
s’agitil de
où la deuxième
le minimum
s’agit ligne ligne
se produit.
de la deuxième et Cette
donc de lade
et ligne
donc variable
reçoit le nom
la variable x4 . de
On encadre
x4 .ligne pivotalors
On encadre la ligne
: alors la ligneoù le
où le minimum
minimum se produit. se Cette
produit. Cette
ligne lignelereçoit
reçoit nom ledenom ligne depivot
ligne :pivot :
z x1 x 2 x 3 x 4 x 5
1z −3
x1 −5
x2 x03 x04 x05 0

01 −3
1 −5
0 10 00 00 40
00 01 20 01 10 00 124
00 30 22 00 01 10 18
12
0 3 2 0 0 1 18
Définition 2.7 On appelle élément pivot le coefficient situé à l’intersection de la
colonne pivot
Définition 2.7et On
de la ligne pivot.
appelle élément pivot le coefficient situé à l’intersection de la
colonne pivot1.9
Définition et de
: Onla ligne
appellepivot.
élément pivot le coefficient situé à l’intersection de
C’est donc le centre de la croix ainsi formée par la ligne et la colonne pivot.
la colonne pivot et de la ligne pivot.
C’est
Le donc le centre
pas suivant de de la croix Simplexe
l’itération ainsi formée par laàligne
consiste et la colonne
déterminer pivot.som-
le nouveau
C’est donc le centre de la croix ainsi formée par la ligne et la colonne pivot. Le
met :Lececi
pasensuivant
exprimant x2 dans laSimplexe
de l’itération deuxièmeconsiste
équation en lieu et place
à déterminer de x4 . Ceci
le nouveau som-
pas peut
suivant
être de
faitl’itération
par deux Simplexe
types consiste
d’opérations : à déterminer le nouveau
met : ceci en exprimant x2 dans la deuxième équation en lieu et place de x4 . Ceci sommet : ceci
en exprimant x2 par
peut être fait dans la types
deux deuxième équation: en lieu et place de x4 . Ceci peut être
d’opérations
fait par deux types d’opérations :

NAKELSE Pascal 17 Année académique 2019-2020


Recherche opérationnelle

28 Chapitre 2. Algorithme du Simplexe.


281. Amener un coefficient 1 à la place du Chapitre
pivot en 2. divisant
Algorithme du Simplexe.
la ligne pivot par le
28 1. Amener un coefficient 1 à la placeChapitre 2. Algorithme du Simplexe.
du pivot en divisant la ligne pivot par le
pivot :
1. pivot
Amener : un coefficient 1 à la place du pivot en divisant la ligne pivot par le
pivot : un coefficient z1 à x
1. Amener la1 placex2 du x3pivot x4enxdivisant
5 la ligne pivot par le
pivot :
1z −3 x1 −5 x2 x03 x04 x05 0
z x1 x 2 x 3 x 4 x 5
01 −3 1 −5 0 10 00 00 40
1 −3 −5 0 0 0 0
00 01 10 01 1/20 00 64
0 1 0 1 0 0 4
00 30 21 00 1/2 0 10 186
0 0 1 0 1/2 0 6
0 3 2 0 0 1 18
2. Eliminer x2 des autres0équations 3 en
2 0 retranchant
0 1 chaque18 fois un multiple de
la nouvelle
Eliminerx2xdes
2. 2.Éliminer ligne
2 des
pivot :
autreséquations
autres équationsen en retranchant
retranchant chaquechaquefois foisun
unmultiple
multipledede
la nouvelle
2.laEliminer
nouvelle ligne
x2ligne
des pivot:équations
autres
pivot : en retranchant chaque fois un multiple de
la nouvelle ligne pivot z: x1 x2 x3 x4 x5
1z −3 x1 x02 x03 5/2 x4 x05 30
z x1 x2 x3 x 4 x5
01 −3 1 00 10 5/2 0 00 30 4
1 −3 0 0 5/2 0 30
00 01 10 01 1/20 00 64
0 1 0 1 0 0 4
00 30 01 00 −1 1/2 10 66
0 0 1 0 1/2 0 6
0 3 0 0 −1 1 6
La nouvelle solution de base et 0 la nouvelle
3 0 valeur 0 −1 de l’objectif
1 6 sont respectivement :
La nouvelle solution de base et la nouvelle valeur de l’objectif sont respectivement :
(x1 , xde2, x 3 , x4et, x5la) nouvelle
= (0, 6, 4, 0, 6)de l’objectif sont respec-
La3.nouvelle
La nouvellesolution solution
de base et base
la nouvelle valeur de valeur
l’objectif sont respectivement :
tivement : (x1 , x2 ,(x x13,, x
x24,, x
x35,)x=4 , (0,
xz5 )6,=4,
= 0,30.(0,
6) 6, 4, 0, 6)
(x1 , x2 , x3 , x4 , x5 )z == (0, 30.6, 4, 0, 6)
z = 30.
Effectuons maintenant la deuxième zitération = 30.de l’algorithme du Simplexe. Le
premier pas
Effectuons
Effectuons de la deuxième itération
maintenantlaladeuxième
maintenant consiste
deuxièmeitération à déterminer
itération la variable
de l’algorithme
de l’algorithme du entrante.
duSimplexe. Il Le
Simplexe.Le
s’agit
premier de x 1 , la
pas
Effectuons variable
demaintenant delacoefficient
la deuxième leitération
itération consiste
deuxième plus négatif dans lalaligne
à déterminer
de l’algorithme duobjectif.
variable D’où
entrante.
Simplexe. LeIl
premier pas
las’agit
sélection de la deuxième itération consiste à déterminer la variable entrante. Il
premier depasx1de, lala
de colonne
lavariable
deuxième pivot
de suivante
coefficient
itération le: plusà négatif
consiste déterminerdanslalavariable
ligne objectif.
entrante.D’où
Il
s’agits’agit
ladesélection
xde1 , la
x1 ,variable
de de de
la colonne
la variable coefficient
pivot le le
suivante
coefficient plus: négatif
plus négatifdans
dans la
la ligne
ligne objectif. D’où la
objectif. D’où
sélection de la colonne
la sélection de la colonnepivot zpivot
suivante x2: x3: x4 x5
x1suivante
1z −3 x1 x02 x03 5/2 x4 x05 30
z x1 x 2 x 3 x 4 x 5
01 −3 1 00 10 5/2 0 00 30 4
1 −3 0 0 5/2 0 30
00 01 10 01 1/20 00 64
0 1 0 1 0 0 4
00 30 01 00 −1 1/2 10 66
0 0 1 0 1/2 0 6
0 3 0 0 −1 1 6
Le second pas de l’itération 0 3 consiste
0 0 à −1 déterminer
1 6 la variable sortante. On
calcul Lelesecond
minimum pasduderapport des coefficients
l’itération consiste à du membre de
déterminer la droite
variablesur le coefficient
sortante. On
calcul le minimum
Le second pas dedu l’itération
rapport desconsiste coefficients du membreladevariable
à déterminer droite sur le coefficient
sortante. On
calcul le minimum du rapport des coefficients du membre de droite sur le coefficient
Le second pas de l’itération consiste à déterminer la variable sortante. On calcul
le minimum du rapport des coefficients du membre de droite sur le coefficient

NAKELSE Pascal 18 Année académique 2019-2020


Recherche
Section 2.6. Tableau Simplexe opérationnelle
et pivotage 29
Section 2.6. Tableau Simplexe et pivotage 29
correspondant de la colonne entrante lorsque celui-ci est strictement positif :
correspondant de la colonne entrante  lorsque
 celui-ci est strictement positif :
 4 6de la colonne entrante
correspondant 4lorsque 6 celui-ci est strictement positif :
min = 1 , 3 min  , −,  = 2.
14 36
Le minimum se produit min
dans la , −,
dernière = 2. où l’on lit la valeur de x5 qui
ligne
Le minimum se produit dans la dernière 1 ligne 3 où l’on lit la valeur de x5 qui sort
sortdonc
donc
Le dedebase.
minimumbase. OnOn
se encadre
encadre
produit la
la ligne
la ligne
dans pivotpivot
dernière : ligne: où l’on lit la valeur de x qui sort
5
donc de base. On encadre la ligne pivot :
z x1 x2 x3 x4 x5
z1 −3
x1 x02 x03 5/2
x4 x05 30
10 −31 00 01 5/20 00 304

00 10 01 10 1/20 00 46
00 03 10 00 1/2
−1 01 66
0 3 0 0 −1 1 6
Le dernier pas de l’itération Simplexe consiste à déterminer la nouvelle so-
lution de base au moyen des deuxSimplexe
types d’opérations élémentaires sur le tableau
LeLedernier
dernier pasde
pas del’itération
l’itération consisteà àdéterminer
Simplexe consiste déterminerlalanouvelle
nouvelle so-
solution
Simplexe :
lution de base au moyen des deux types d’opérations élémentaires sur le tableau
de base au moyen des deux types d’opérations élémentaires sur le tableau Simplexe :
Simplexe :
1. Amener un 1 en position pivot;
1. Amener un 1 en position pivot ;
1.
2. Amener
Eliminerunx11des
en autres
position pivot;
contraintes.
2. Éliminer x1 des autres contraintes.
Le 2. Eliminer
résultat x1 deux
de ces des autres
types contraintes.
d’opérations est le suivant :
Le résultat de ces deux types d’opérations est le suivant :
Le résultat de ces deux types d’opérations est le suivant :
z x1 x2 x3 x4 x5
z1 x01 x02 x03 x4
3/2 x15 36
10 00 00 01 3/2
1/3 −1/31 362
00 00 10 01 1/3 −1/30
1/2 26
00 01 10 00 −1/3
1/2 1/30 62
0 −1/3
La nouvelle solution de0base1 et la0 nouvelle valeur 1/3 2
de l’objectif valent :
La nouvelle solution de(xbase
1 , x2 ,etx3
la, xnouvelle valeur
4 , x5 ) = de2,l’objectif
(2, 6, 0, 0) valent :
La nouvelle solution(xde1 , xbase
2 , x3 ,et
x4la z) = 36.
, x5nouvelle (2,valeur
6, 2, 0,de0)l’objectif valent :
z = 36.
Si maintenant, on prolonge
(x1, x2, parx3, lax4,troisième
x5) = (2,itération,
6, 2, 0, 0) on constate que lors du
premier pas de celle-ci, c’est-à-dire lors
Si maintenant, on prolonge par laztroisième de la sélection
itération, de on
la variable entrante,
constate que il
lors du
n’y a aucun = 36.
premier pas candidat.
de celle-ci,Onc’est-à-dire
arrête l’algorithme
lors de la: sélection
la solution decourante est entrante,
la variable optimaleil:
n’ySiamaintenant,
aucun candidat. On arrête par
on prolonge x∗1la troisième
l’algorithme
= 2 : la solution
itération, courante est optimale
on constate que lors: du

premier pas de celle-ci, c’est-à-dire lors x21 de= la62sélection de la variable entrante, il n’y
a aucun candidat. On arrête l’algorithme xz ∗2 =: la636.
solution courante est optimale :
z ∗ = 36.
x∗1 = 2
x∗2 = 6
z ∗ = 36.

NAKELSE Pascal 19 Année académique 2019-2020


Recherche opérationnelle

1.3.3.7 Exercices d’application

Exercice 1.3
Résoudre le problème de l’Exercice 1.2 en utilisant la méthode Simplexe.
Exercice 1.4
Soit le problème linéaire suivant :

M axz = 5x1 + 4x2 + 3x3




 2x1 + 3x2 + x3 ≤ 5


 4x + x + 2x ≤ 11
1 2 3
s.c

 3x1 + 4x2 + 2x3 ≤ 8



x1 ,x2 ,x3 ≥ 0

a) Sous quelle forme ce problème se présente-t-il ? mettez le sous l’autre forme.


b) Résoudre le problème par le méthode de simplexe.

NAKELSE Pascal 20 Année académique 2019-2020


Chapitre 2

Dualité et analyse postoptimale en


programmation linéaire

2.1 Dualité en programmation linéaire


Dans cette, nous allons montrer qu’à tout problème de programmation linéaire
(que nous appellerons problème primal), on peut associer un autre problème linéaire :
il s’agit du problème dual.

2.1.1 Formulation
Tout programme linéaire possède un programme linéaire dual. Une des moti-
vations à cette notion de ”dual” a été de situer l’optimum d’un programme linéaire
(trouver un majorant de la fonction objective pour un problème de maximisation
et un minorant pour un problème de minimisation). Reprenons notre exemple du
problème de production :


 maxz = 4x1 + 5x2




 2x1 + x2 ≤ 8

(P ) x1 + 2x2 ≤ 7



 x2 ≤ 3



 x ,x ≥ 0
1 2

Supposons que le prix de la matière première i soit yi . On sera tenté de ne pas


produire du produit 1 si 2y1 + y2 ≥ 4

21
Recherche opérationnelle

. De manière analogue, on sera tenté de ne pas produire du produit 2 si y1 +


2y2 + y3 ≥ 5
On a naturellement y1 > 0 et y2 > 0.
La personne intéressée par l’achat des matières premières a pour objectif bien
évidemment de minimiser le coût de cette transaction, i.e. 8y1 + 7y2
Ceci nous amène à considérer un nouveau programme linéaire appelé dual de
(P) (noté (D)).


 min w =8y1 + 7y2 + 3y3


 2y + y ≥ 4
1 2
(D)
 y1 + 2y2 + y3 ≥ 5




y1 ≥ 0 , y2 ≥ 0 , y3 ≥ 0

Théorie

Définition 2.1 : Le dual du programme linéaire (P)


 P
n

 cj xj = z(max)

j=1
(P ) = Pn


 aij xj ≤ bi , i = 1...m; xj ≥ 0∀j
j=1

est le programme linéaire :


 m
 P

 aijyi ≥ cj , j = 1...n; yi ≥ 0∀i
i=1
(D) = Pm


 bi yi = w(min)
i=1

(P) s’appelle problème primal.


Remarques :
— Le dual d’un problème de maximisation est un problème de minimisation.
— Il y a autant de variables dans l’un qu’il y a de contraintes dans l’autre.
— Les coefficients dans la fonction objective de l’un sont les seconds membres
des contraintes de l’autre.
— Si x est une solution réalisable de (P) et si y est une solution réalisable
de (D) alors on a la relation suivante au niveau des valeurs des fonctions
objectives :

NAKELSE Pascal 22 Année académique 2019-2020


Recherche opérationnelle

j=n i=m
X X
z(x) = cj x j ≤ bi yi = w(y)(∗)
j=1 i=1

en effet :
j=n j=n i=m i=m Xj=n i=m
X X X X X
cj x j ≤ ( aij yi )xj = ( aij xj )yi ≤ bi yi
j=1 j=1 i=1 i=1 j=1 i=1

Conséquence :
Si on arrive à trouver une solution réalisable de (P) et une solution réalisable
de (D) telle que la relation (*) soit une égalité, alors ces deux solutions seront
nécessairement optimales (pour leurs programmes linéaires respectifs).

Théorème de la dualité

Si le primal 

 Ax ≤ b

x≥0


 cx = z(max)

admet une solution optimale x* alors son dual




 yA ≥ c

y≥0


 yb = w(min)

2.1.2 Interprétation des variables duales


L’interprétation des variables duales sera illustrée sur le problème de détermi-
nation d’un plan de production optimal suivant :
 P
n

 aij xj ≤ bi , i = 1...m; xj ≥ 0∀j

j=1
(P ) = Pn


 cj xj = z(max)
j=1

où :
— xj= niveau de production du produit j (i.e. le nombre d’unités du produit
j fabriquées).

NAKELSE Pascal 23 Année académique 2019-2020


Recherche opérationnelle

— aij = consommation de la ressource i par unité de produit j (i.e. le nombre


d’unités de la ressource i nécessaires à la fabrication d’une unité de produit
j).
— cj=profit unitaire du produit j (en H/unité de produit j).
Commençons par déterminer l’unité des variables duales. Pour cela, considérons
les contraintes du dual hormis les contraintes de non-négativité des variables :

i=m
X
aij yi ≥ cj
i=1

La variable yi s’exprime en H/ unité de la ressource i ; c’est en quelque sorte


la valeur unitaire de la ressource i.
Théorème : Si (P) a au moins une solution optimale de base non dégénérée
alors : ∃ε > 0 tel que si |ti|< ε alors le problème ∀i
 P
n

 aij xj ≤ bi + ti , i = 1...m; xj ≥ 0∀j

j=1
 P
n

 cj xj = z(max)
j=1

admet une solution optimale et son optimum, i.e. la valeur à l’optimum de sa


fonction objective, est égal à
Pm
z ∗ + yi ∗ ti , où z∗ représente l’optimum de (P) et y∗ la solution optimale
i=1
du dual de (P).
Remarque :
La variable yi ∗ peut donc être interprétée comme le profit marginal de la res-
source i ou encore comme la valeur marginale de la ressource i.

Exemple

Un forestier possède 100 ha de bois dur. Il a deux options :

1. Couper le bois dur et laisser régénérer, ce qui coûte 10F/ha et génère des
recettes de 50F/ha.
2. Couper le bois et planter des pins, ce qui coûte 50F/ha et génère des recettes
de 120F/ha. Le budget dont dispose le forestier est de 4000F. Il s’agit
donc pour le forestier de prendre une décision optimale, i.e. de déterminer
la superficie sur laquelle il va appliquer l’option 1 et celle sur laquelle il

NAKELSE Pascal 24 Année académique 2019-2020


Recherche opérationnelle

va appliquer l’option 2 de manière à maximiser son profit espéré. Si on


appelle xi la superficie sur laquelle l’option i est appliquée (i = 1, 2, alors
le problème revient à résoudre le programme linéaire ci-dessous :



 z = (max)40x1 + 70x2


 x + x ≤ 100
1 2
(P )

 10x1 + 50x2 ≤ 4000



xi ≥ 0i = 1, 2

dont la solution optimale est x∗=(25,75) et l’optimum est z∗=6250.


Le forestier se pose la question suivante : devrait-il emprunter de l’argent ou
investir son capital ailleurs ? La solution optimale du dual est y∗=(32.5,0.75). En
vertu du théorème précédent, le forestier aura intérêt à accroı̂tre son capital (en
empruntant) si le taux d’intérêt est inférieur ou égal à 75% et à investir ailleurs si
le profit est supérieur ou égal à 75%.

2.2 Analyse postoptimale en programmation li-


néaire

2.2.1 Introduction
Dans cette section, nous allons voir comment va varier la valeur optimale de
l’objectif d’un programme linéaire lorsque l’on modifie certains coefficients du pro-
blème (coefficients objectif ou du membre de droite). C’est l’objet de ce que l’on
appelle l’analyse postoptimale.
Pour voir l’effet de tels changements de données, une solution naive consiste ‘ a
appliquer le Simplexe au nouveau problème et bien sûr on peut en déduire l’effet sur
l’objectif. Mais nous allons voir dans ce chapitre que, si la base optimale ne change
pas, on peut prédire sans aucun nouveau calcul l’effet de variation des données sur la
fonction objectif en exploitant simplement le tableau Simplexe optimal du problème
original.
Nous allons d’abord envisager le cas de la variation des coefficients du membre
de droite des contraintes. Nous allons voir que la variation de la va- leur optimale de
l’objectif d’un programme linéaire en fonction des coefficients du membre de droite
est donnée par la valeur des ”prix cachés” que l’on peut lire dans la ligne objectif du

NAKELSE Pascal 25 Année académique 2019-2020


x1 = nombre de chassis de type 1 produits par semaine,
x2 = nombre de chassis de type 2 produits par semaine.

1.2.2 Expression de l’objectif


Recherche opérationnelle
Définition 1.2 On appelle fonction objectif d’un problème d’optimisation le cri-
tère de choix entre les diverses solutions possibles.
tableau Simplexe final. Nous verrons comment déterminer le domaine de validité de
Ici l’entreprise
ces prix cachés. désire maximiser son profit net qui s’exprime comme suit :
Nous verrons ensuite, le casmax z=
de la 3x1 + 5xdes
variation 2 coefficients de la fonction ob-

jectif. Ici, nous verrons que le taux de variation de l’objectif est donné par la valeur
1.2.3 Expression
des variables des
à l’optimum. Icicontraintes
aussi, il y a un un domaine de validité pour ces valeurs
optimales des variables
Définition : elles contraintes
1.3 On appelle restent valables tant quetoutes
du problème la base
les optimale ne change
relations limitant
pas. le choix des valeurs possibles des variables.

Ces relations peuvent être de simples bornes sur les variables. Par exemple, les
Section
2.2.2 2.6.
Variation
quantité Tableau
produites Simplexe
nepar êtreetnégatives.
rapport
peuvent pivotage
au second membres
Mathématiquement : 29

x1 , x2 ≥ :0.Si on augmente la capacité disponible


La question qui se pose est ici la suivante
correspondant de la colonne entrante lorsque celui-ci est strictement positif :
d’une ressource, quel être
Elles peuvent est l’impact sur la4valeur
plus complexes comme 6 optimale de lade
 les contrainte fonction
capacitéobjectif ? Pour
de produc-
tion. Le temps pour assembler min ,
1 chassis−, de = 2.
des variations de membre de droite 3 type 1faibles
suffisamment
1 dans l’atelier 1 estlademême
pour que 1 heure
base
où il reste 4 heures disponibles. D’où la contrainte de capacité de l’atelier 1 :
resteLeoptimale,
minimumon se peut
produitrépondre
dans la àdernière
cette question
ligne oùen exploitant
l’on de x5 quiSimplexe
le tableau
lit la valeur sort
donc de
optimal de la
base. On encadre
manière suivantela ligne
: x1: ≤ 4
pivot
Le prix caché on
Semblablement, peutyi∗zécrire
(noté ) mesure l’augmentation
x1 lesx2contraintes de la des
x3 x4 dexcapacité
5
fonction objectif
2 autres atelierssi:l’on accroit
d’une unité la capacité disponible2x(bi). ≤Dans120 le30tableau Simplexe optimal, le prix
1 −3 0 0 2 5/2

caché yi est le coefficient de 3x la 1variable
+ 2x2 d’écart
≤ 18 de la contrainte dans la ligne objectif.
0 1
Nous allons illustrer ceci sur sur l’exemple0 1 0 0 introductif
4 du chapitre 1 dont
Il est alors très utile 0de reprendre sous une forme condensée la formulation
l’énoncé est rappelé ci-dessous. 0 1 0 1/2 0 6
complète du problème. Ici, on obtient la formulation suivante :
0 3 0 0 −1 1 6
max z =  3 x 1 + 5 x2
Le dernier pas de l’itération Simplexe



x1 consiste ≤ 4
à déterminer la nouvelle so-


lution de base au moyen des deux  types 2x ≤
d’opérations
2 12
élémentaires sur le tableau
(1.1)
Simplexe : s.c.q. 
3x1 + 2x2 ≤ 18




 x1 ≥ 0
1. Amener un 1 en position pivot; 

x2 ≥ 0
2. Eliminer x1 des autres contraintes.

LeConsidérons le deux
résultat de ces tableau final
types qui a été est
d’opérations déterminé au: chapitre 1.
le suivant

z x1 x2 x3 x4 x5
1 0 0 0 3/2 1 36
0 0 0 1 1/3 −1/3 2
0 0 1 0 1/2 0 6
0 1 0 0 −1/3 1/3 2
La nouvelle solution de base et la nouvelle valeur de l’objectif valent :
Comme x3 , x4 et x(x5 sont
, x , les
x , variables
x , x ) =d’écart
(2, 6, des
2, 0,contraintes
0) de capacité des
1 2 3 4 5
trois ateliers, on en déduit les valeurs desz prix
= cachés
36. suivants :

Si Pascal
NAKELSE maintenant, on prolonge par la troisième
26 itération, onAnnée
constate que lors
académique du
2019-2020
premier pas de celle-ci, c’est-à-dire lors de la sélection de la variable entrante, il
n’y a aucun candidat. On arrête l’algorithme : la solution courante est optimale :

Recherche opérationnelle

y1∗ = 0, y2∗ = 32 , y3∗ = 1


Ce résultat peut être démontré mathématiquement. Mais, plutôt que d’en don-
ner une démonstration formelle, nous allons l’illustrer graphiquement. Considérons
0
tout d’abord une augmentation de capacité du premier atelier de b1 = 4 à b1 = 5.

x1 = 4
x2
(3) (1)

x1 = 5
9 (1’)

x1 = 6
z = 3x1 + 5x2

6 (2,6)
(1”)
(2)

0
0 2 5 6 8 x1

Figure 4.1: Augmentation de capacité du premier atelier


On peut voir à la figure ci-dessus que le nouveau point optimal reste le même
0∗ On peut voir à la figure 4.1 que le nouveau point optimal reste le même
x = x∗ = (2, 6).
∗ 0
= x∗optimale
En conséquence de quoi, laxvaleur = (2, 6). de l’objectif ne change pas : Z ∗ =
Z ∗ = 36
En conséquence de quoi, la valeur optimale de l’objectif ne change pas :
D’où une variation nulle de l’objectif, ce qui était bien prédit par la valeur nulle
du prix caché y ∗ : z ∗ = z ∗ = 36
1
0∗
∆Zune
D’où =Z − Z ∗ nulle
variation = 0 =dey1∗l’objectif, ce qui était bien prédit par la valeur nulle

du Le caché y1peut
prixrésultat : aussi être interprété e dans l’autre sens : y1∗ est la perte de
∆z = z ∗ − z ∗ = 0 = y1∗ .
profit si on diminue d’une unité la capacité du premier atelier.
Le résultat peutetaussi
Remarquons, ceci être
est interprété
l’objet de dans l’autredesens
l’analyse : y1∗ est la
sensibilité perte
qu’il y de profitlimite
a une
de si on diminue
validité d’une prix
de chaque la capacité du premier atelier.
unité caché.
Remarquons,
En effet, danset le
ceci
casestdel’objet de l’analyse
la première de sensibilité
ressource, qu’il
si l’effet y a une
d’une limite
augmentation
de validité de chaque prix caché.
de b1 sera nul sur la valeur optimum de l’objectif quel que soit b1 ≥ 4, il n’en va
En effet, dans le cas de la première ressource, si l’effet d’une augmentation de
pasb de même d’une diminution. En effet, en dessous de b1 = 2, la solution optimale
1 sera nul sur la valeur optimum de l’objectif quel que soit b1 ≥ 4, il n’en va pas
va dechanger. On adiminution.
même d’une donc déterminé le domaine
En effet, en dessousdedevalidité
b1 = 2, de y1∗ = 0.optimale
la solution Il s’agit de

va changer.
l’intervalle : b1 On ∞], déterminé le domaine de validité de y1 = 0. Il s’agit de
∈ [2a ,donc
l’intervalle :
Considérons maintenant une variation de la capacité du deuxième atelier.
b1 ∈ [2, +∞].

Considérons maintenant une variation de la capacité du deuxième atelier.


NAKELSE Pascal 27 Année académique 2019-2020
Recherche opérationnelle

x2
(3)

z = 3x1 + 5x2 9 2x2 = 18


(2”)
(5/3, 13/2)
2x2 = 13
6 2x2 = 12 (2’)
(2)

0
0 2 5 6 8 x1
(1)
Figure 4.2: Augmentation de la capacité du deuxième atelier
Une augmentation de capacité du deuxième atelier de b2 = 12 à b2 = 13 donne
Une augmentation
un déplacement de capacité
du point optimaldu(voir
deuxième
figureatelier
ci dessus) 12 àleb2nouveau
de b2 =vers = 13 donne
point :
0 ∗ un déplacement

du point optimal (voir figure 4.2) vers le nouveau point :
x = x = (5/3, 13/2).
∗
En conséquence de quoi, laxnouvelle
= (5/3,valeur
13/2).de l’objectif est donnée par : Z 0 ∗ =
37,En
5. conséquence de quoi, la nouvelle valeur de l’objectif est donnée par :
D’où une variation nulle de l’objectif, ce5qui était bien prédit par la valeur nulle
z ∗ = 37,
du prix caché y2∗ :
D’où un accroissement
0 de l’objectif égal à la valeur du deuxième prix caché :
∆Z = Z ∗ − Z ∗ = 37, 5 − 36 = 23 = y2∗
3
Pour le deuxième∆zatelier,= z ∗ −auz ∗delà= 37,de5 −b2 36
= =18, la ∗
= ysolution
2.
optimale reste en
2
(0, 9). Le prix caché y2∗ change : y2∗ = 0. De même, une diminution en deçà de b2 = 6
va changer Pour leledeuxième atelier,
prix caché. On en au delà
déduit de ble2 = 18, la solution
domaine optimale
de validité de yreste en (0,9).
2 = 3/2. Il s’agit
Le prix caché y2∗ change :
de l’intervalle :b2 ∈ [6 , 18]. y2∗ = 0.
Enfin, considérons une augmentation de capacité du troisième atelier de b3 = 18
De même, une diminution en deçà de b2 = 6 va changer le prix caché. On en
à bdéduit
3 = 19.leComme
domaineon depeut le voir
validité de y2à∗ =la 3/2.
figureIl ci-dessous, cela donne
s’agit de l’intervalle : un déplacement
du point optimal vers x∗ = (7/3, 6). En conséquence de quoi, la nouvelle valeur de
0
b2 ∈ [6, 18].
l’objectif vaut : Z ∗ = 37.
Enfin,une
D’où considérons
variationune augmentation
nulle de l’objectif, de ce
capacité du troisième
qui était atelier
bien prédit pardela bvaleur
3 = 18nulle


du prixb = 19. Comme
3 caché y ∗ : on peut le voir à la figure 4.3, cela donne un déplacement du
3
point optimal 0
vers :
∆Z = Z ∗ − Z ∗ = 37 − 36 =x1∗==y(7/3, ∗
3 = 6).

Page 31 / 39
NAKELSE Pascal 28 Année académique 2019-2020
z ∗ = 37

D’où une augmentation d’objectif égale à la valeur du troisième prix caché :


Recherche opérationnelle
∆z = z ∗ − z ∗ = 37 − 36 = 1 = y3∗ .

3x1 + 2x2 = 24
(3”)
x2
3x1 + 2x2 = 18
(3) 9
z = 3x1 + 5x2 (7/3, 6)
(4,6)
6
(2)

0
0 2 5 6 8 x1
(1)

(3’) 3x1 + 2x2 = 19

Figure 4.3: Variation de capacité de l’atelier 3


Le résultat peut aussi être interprété dans l’autre sens : y3∗ est la perte de profit
si on diminue d’une unité la capacité du troisième atelier. Pour le troisième atelier,
Le résultat peut aussi être interprété dans l’autre sens : y3∗ est la perte de profit

au delà
si onde b3 = 24,
diminue d’unela unité
solution optimale
la capacité reste en (4,6).Le
du troisième atelier. prix caché y3 change :
y3∗ = 0. Pour
De même, une diminution
le troisième en deçà
atelier, au delà de b3 =de 24,
b3 = 12 va changer
la solution optimale lereste
prix encaché.
(4,6).On

Le prixlecaché
en déduit y3 change
domaine :
de validité de y3∗ = 1. Il s’agit de l’intervalle :b3 ∈ [12 , 24].
y ∗ = 0.
Ces informations sont données dans3 le rapport de sensibilité du solveur d’Excel
De même,
que nous verronsune
audiminution
chapitre 3.enRemarquons = 12 va changer
deçà de b3 finalement le aprix
que l’on caché.une
toujours Onvaleur
en

déduit le domaine de validité de y3 = 1. Il s’agit de l’intervalle :
nulle du prix caché pour une contrainte non liante. Une contrainte non liante est une
contrainte où la variable d’écart est bnon 3 ∈ [12, 24].
nulle. Par exemple, la première contrainte
x1 ≤ 4.
a un prix caché nul. Ceci a une interprétation économique. La ressource n’est
pas entièrement utilisée : il ne sert donc ‘ a rien d’augmenter son stock disponible.

Page 32 / 39
2.2.3 Variation des coefficients objectifs
La question qui se pose ici est la suivante :Si on augmente le prix de vente
unitaire ou si l’on diminue le cout unitaire de production, quel est l’impact sur la
valeur de l’objectif ?
On peut prédire cette variation de l’objectif pour autant que la solution op-
timale optimale ne change pas. En effet, pour de faibles variations de coefficients

NAKELSE Pascal 29 Année académique 2019-2020


Recherche opérationnelle

objectif la solution optimale ne change pas. Seul le profit optimal change. On peut
montrer le résultat suivant.
La valeur de la j ème variable à l’optimum (notée x∗j ) mesure l’augmentation de la
fonction objectif si l’on accroit d’une unité la marge unitaire cj .
Dans le cas de l’exemple illustré à la figure ci-dessous, les augmentations de
profit pour une augmentation unitaire de la marge des produits valent respective-
ment :x∗1 = 2; x∗2 = 6
En effet, si le profit passe de :M axz = 3x1 + 5x2 à la forme suivante (augmen-
tation de la marge de x1 ) :M axz 0 = 4x1 + 5x2 on peut voir graphiquement que le
changement de pente n’est pas suffisant pour changer de point optimum. Autrement
dit,(x∗1 = 2; x∗2 = 6) = (2, 6). Donc la solution optimale reste identique.
Seul le profit augmente :z 0 = 4 × 2 + 5 × 6 = 38.
On a donc une augmentation de profit :∆z = z 0 − z = 38 − 36 = 2 = x∗1 .
De manière semblable, si le profit passe de M axz = 3x1 + 5x2 à la forme
suivante (augmentation de la marge de x2 ) :M axz 0 = 3x1 + 6x2 . on peut voir que le
changement de pente n’est pas suffisant pour changer de point optimum. Autrement
dit (x∗1 = 2; x∗2 = 6) = (2, 6)
Donc la solution optimale reste identique. Seul le profit augmente :z 0 = 3 × 2 +
6 × 6 = 42.
On a donc une augmentation de profit :∆z = z 0 − z = 42 − 36 = 6 = x∗2

x2

10

8
(2, 6)
6
z  = 4x 1 + 5x 2 = 38
4 z = 3x1 + 5x2 = 36

0 2 4 6 8 10 12 x1
z = 7, 5x1 + 5x 2 = 45

Figure 4.4: Analyse de sensibilité de c1

On a donc une augmentation de profit :


∆z = z  − z = 38 − 36 = 2
NAKELSE Pascal 30 Année académique 2019-2020
précisément égale à la valeur de
x∗1 = 2.
Recherche opérationnelle

2.2.4 Analyse de sensibilité aux coefficients objectif


Considérons maintenant la question l’analyse de sensibilité. Nous allons à nou-
veau l’illustrer sur le même exemple. Initialement : z = 3x1 + 5x2 .
On veut déterminer l’intervalle de variation maximum de c1 autour de 3 tel
que la base optimale ne change pas.
A la figure ci-dessus, on constate que le coefficient c1 peut descendre jusqu’à
ce que l’objectif z = c1 x1 + 5x2 soit parallèle au segment 2x2 = 12.
c’est à-dire lorsque c1 = 0. Le coefficient c1 peut augmenter jusqu’à ce que
l’objectif z = c1 x1 + 5x2 soit parallèle au segment 3x1 + 2x2 = 18.
Ceci se produit lorsqu’il y a égalité des pentes : −c5 1 = −3
2
c’est-à-dire lorsque
15
c1 = 2
.
La réponse à la question de l’analyse de sensibilité est donc la suivante. Tant
15
que c1 ∈ [0 , 2
]
on a la même base optimale et la même solution optimale.
Effectuons l’analyse de sensibilité pour le second coefficient de la fonction ob-
jectif. Celui-ci peut décroitre jusqu’à ce que l’objectif z = 3x1 + c2 x2 soit parallèle
au segment 3x1 + 2x2 = 18.
Ceci se produit lorsqu’il y a égalité des pentes : −3
c2
= −3
2
c’est-à-dire lorsque
c2 = 2. Dans l’autre sens, c2 peut augmenter jusqu’à ce que l’objectif z = 3x1 + c2 x2
soit parallèle au segment 2x2 = 12. Ceci ne se produit jamais. On en conclut que tant
que : c2 ∈ [2 , ∞] on a la même base optimale et donc la même solution optimale.

NAKELSE Pascal 31 Année académique 2019-2020


Chapitre 3

Utilisation du Solveur en RO

Introduction
Il existe plusieurs logiciels d’optimisation comme GAMS, LINGO, le Solveur
d’EXCEL. Dans ce cours nous présenterons le Solveur EXCEL. Le Solveur d’EX-
CEL est un résolveur d’équation ainsi qu’un optimiseur exploitant les techniques
de la programmation linéaire, de la programmation en nombres entiers et de la pro-
grammation non linéaire. En plus du Solveur nous présenterons le logiciel MS-project
qui est un outil très utilisé dans le suivi des projets.

3.1 Résolution d’un problème linéaire avec le Sol-


veur d’EXCEL
Comme nous l’avons dit EXCEL dispose d’un Solveur permettant de résoudre
des problèmes linéaires et non linéaire.

3.1.1 Présentation du modèle


Illustrons ceci sur l’exemple de l’entreprise de fabrication de châssis . Pour
rappel, ce problème s’énonce ainsi : l’entreprise de fabrication de châssis envisage la
mise en production de deux nouveaux modèles (le châssis en aluminium et le châssis
en bois) au moyen des capacités résiduelles de ses trois ateliers : à savoir l’atelier
1 où sont fabriqués les cadres en aluminium, l’atelier 2 où sont fabriqués les cadres
en bois et l’atelier 3 où le montage du verre sur le châssis est réalisé pour les deux
types de châssis.

32
entiers et de la programmation non linéaire.
Illustrons ceci sur l’exemple de l’entreprise de fabrication de chassis tiré
de [6]. Pour rappel, ce problème s’énonce ainsi : l’entreprise de fabrication de
chassis envisage la mise en production de deux nouveaux modèles (le chassis en
aluminium et le chassis en bois) Recherche opérationnelle
au moyen des capacités résiduelles de ses trois
ateliers : à savoir l’atelier 1 où sont fabriqués les cadres en aluminium, l’atelier
2 où sont fabriqués les cadres en bois et l’atelier 3 où le montage du verre sur le
chassis est réalisé
Le nombre pour les
d’heures deux typespar
nécessaires de produit
chassis. et le nombre d’heures encore dis-
Lepar
ponibles nombre d’heures
semaine sontnécessaires
donnés dansparle
produit et leci-dessous
tableau nombre d’heures
: encore dispo-
nibles par semaine sont donnés au tableau 6.1.

Atelier Chassis Chassis Capacité


aluminium bois disponible
1 1h 0h 4 h/semaine
2 0h 2h 12 h/semaine
3 3h 2h 18 h/semaine

Tableau 6.1: Temps nécessaires et capacités résiduelles


Les marges unitaires sont de 3F pour le châssis en aluminium et de 5F pour
le châssis
Lesen bois. unitaires
marges On se posesontladequestion
3 $ poursuivante : combien
le chassis produire
en aluminium et dede5 $châssis
pour de
le chassis en bois.
chaque type par semaine pour maximiser le profit net ?
LaOnformulation
se pose la question suivante :est
de ce problème combien produire de chassis
particulièrement simple.de
Enchaque type
posant x1 , le
par semaine pour maximiser le profit net ?
nombre de châssis en aluminium fabriqués par semaine et x2 , le nombre de châssis
en bois fabriqués par semaine, on obtient la formulation suivante :
65

3.1.2 Résolution du problème


Nous allons maintenant résoudre le problème au moyen du Solveur d’Excel.
La première chose à faire est de rentrer les données numériques du problème et
les formules de calcul de la fonction objectif ainsi que du membre de gauche des
contraintes. Pour la clarté du modèle, il est indispensable de mettre également des
commentaires. Comme le problème est linéaire, on peut rentrer, les coefficients nu-
mériques sous forme d’une matrice. On remarquera au tableau ci-dessous que les
coefficients d’une même équation ainsi que sa formule de calcul ont été rangés
dans une même ligne qui contient comme commentaire le nom de l’équation (Atelier
1, Atelier 2, . . . ). De même, les coefficients se rapportant une même variable ont été
rangé en colonne sous le nom de la variable (x1 , x2 ). Remarquez ici, pour comprendre
les formules, que l’on a choisi de placer la valeur de x1 en cellule $B2$C$2 tandis
que celle de x2 est placée en cellule $C$2. Il reste maintenant à indiquer à Excel, où
se trouvent les variables, la fonction objectif, le membre de gauche, de droite et le
sens des contraintes. Ceci peut être mis en uvre en Excel de la manière suivante :

NAKELSE Pascal 33 Année académique 2019-2020


Nous allons maintenant résoudre le problème au moyen du solveur d’Excel.
La première chose à faire est de rentrer les données numériques du problème et
les formules de calcul de la fonction objectif ainsi que du membre de gauche des
contraintes. Pour la clarté duRecherche
modèle, il opérationnelle
est indispensable de mettre également des
commentaires. Comme le problème est linéaire, on peut rentrer, les coefficients
numériques sous forme d’une matrice. On remarquera au tableau 6.2 que les

A B C D E
1 x1 x2 b
2
3 Profit : 3 5 =B3*$B$2+C3*$C$2
4 Atelier 1 : 1 0 =B4*$B$2+C4*$C$2 4
5 Atelier 2 : 0 2 =B5*$B$2+C5*$C$2 12
6 Atelier 3 : 3 2 =B6*$B$2+C6*$C$2 18
7 x1 positif : 1 0 =B7*$B$2+C7*$C$2 0
8 x2 positif : 0 1 =B8*$B$2+C8*$C$2 0

Tableau 6.2: Exemple de problème linéaire


1. Dans le menu sélection, choisir le sous-menu Solveur ;
coefficients d’une même équation ainsi que sa formule de calcul ont été rangés dans
2. Dans la zone Cellule a définir, mettre la référence de la cellule de calcul de
une même ligne qui contient comme commentaire le nom de l’équation (Atelier
l’objectif
1, Atelier 2, . . .(ici
). De$D$3).
même, les coefficients se rapportant à une même variable
ont3.étéDans
rangélaenzone
colonne sous
égale, le nom
choisir de la
Max ouvariable (x1 , x2Dans
Min (Max). ). Remarquez ici, pour va-
la zone Cellules
comprendre les formules, que l’on a choisi de placer la valeur de x1 en cellule
riables, mettre les références de la cellule contenant les variables (ici $B$2 :
$B$2$ tandis que celle de x2 est placée en cellule $C$2.
$C$2) ;
Il reste maintenant à indiquer à Excel, où se trouvent les variables, la fonction
objectif,
4. Dans le membre
la zonedecontrainte,
gauche, de droite
choisiretajouter
le sens des
unecontraintes.
contrainte Ceci peut être
et pour chaque
mis encontrainte
œuvre en :Excel 4.0 de la manière suivante :
— Dans la zone cellule, mettre la référence de la cellule contenant la formule
de calcul du membre de gauche (par exemple, pour l’atelier 1 $D$4) ;
— Dans la zone relation, mettre le sens de la contrainte (par exemple, pour
l’atelier 1 : <=) ;
— Dans la zone contrainte, mettre la référence de la cellule contenant le
membre de droite (par exemple, pour l’atelier 1 : $E$4).
5. Dans l’option, choisir Modèle supposé linéaire ;
6. Lancer la commande résoudre.
On obtient alors le modèle illustré par la copie d’écran de la figure suivante :

Plusieurs remarques sur les particularités d’Excel s’imposent ici :

NAKELSE Pascal 34 Année académique 2019-2020


Recherche opérationnelle

1. Pour modifier le modèle on peut utiliser :


— la commande supprimer la contrainte ;
— la commande modifier la contrainte.
2. Il est important de bien choisir le nom de la contrainte et le nom des
variables pour une présentation claire du rapport (voir à la section suivante
comment Excel détermine le nom des variables et des contraintes).
3. La solution est mise dans les cellules variables.
4. Les contraintes de positivité des variables doivent être entrées explicite-
ment, ceci contrairement à la convention de beaucoup d’optimisateur qui
considèrent par défaut des variables non négatives. Remarquez que l’on
peut directement entrer la contrainte sous la forme suivante :
$B$2 : $C$2 >= 0
5. Seules les variables non calculées (les variables indépendantes du modèle)
doivent être rentrées dans la section variables. Ainsi, si l’on avait calculé
dans une cellule le nombre d’heures passées dans l’atelier 1, cette cellule
contiendrait une variable (au sens mathématique du terme) mais ne de-
vrait pas être rentrée dans les cellules variables pour Excel, sans quoi Excel
considérerait qu’il s’agit d’une variable indépendante et effacerait sa for-
mule de calcul.
6. Si le modèle est linéaire (contraintes linéaires et fonction objectif linéaire),
on a tout intérêt à sélectionner l’option modèle supposé linéaire, ce qui
déclenchera l’algorithme du Simplexe plutôt qu’un algorithme général de
programmation non linéaire.
7. Remarquez enfin que on peut rentrer d’une seule commande tout un groupe
de contraintes ayant le même sens. Ainsi, dans l’exemple, on aurait pu
rentrer les trois contraintes de capacités par la commande suivante :
$D$4 :$D$6 <= $E$4 :$E$6

La solution du solveur correspond bien à celle déterminée précédemment, à


savoir :

x∗1 = 2
x∗2 = 26
z ∗ = 36

NAKELSE Pascal 35 Année académique 2019-2020


Recherche opérationnelle

3.2 Les rapports du solveur


Lorsque le solveur a terminé, qu’il ait trouvé la solution optimale ou non, la
boı̂te de dialogue illustrée à la figure suivante :

Elle laisse le choix entre garder dans les cellules variables la solution obtenue
par le solveur soit rétablir la solution initiale (généralement zéro partout). Cette
boı̂te permet également de générer trois types de rapport : le rapport des réponses,
Microsoft Excel 12.0 Rapport des réponses
le rapport de sensibilité
Feuille: et le rapport des limites.
[Classeur1]Feuil1
Date du rapport: 06/09/2010 00:27:48
3.2.1 Le rapport des réponses
Cellule cible (Max)
Cellule Nom Valeur initiale Valeur finale
$D$3 Profit 0 36

Cellules variables
Cellule Nom Valeur initiale Valeur finale
$B$2 X1 0 2
$C$2 X2 0 6

Contraintes
Cellule Nom Valeur Formule État Marge
$D$4 Atelier 1 2 $D$4<=$E$4 Non lié 2
$D$5 Atelier 2 12 $D$5<=$E$5 Lié 0
$D$6 Atelier 3 18 $D$6<=$E$6 Lié 0
$D$7 X1 (positif) 2 $D$7>=$E$7 Non lié 2
$D$8 X2 (positif) 6 $D$8>=$E$8 Non lié 6

Le rapport des réponses fournit :


— la référence de la cellule, le nom, la valeur initiale et finale de l’objectif ;
— la référence de la cellule, le nom, la valeur initiale et finale des variables ;
— les informations sur les contraintes : la référence de la cellule, le nom, la
valeur finale du membre de gauche, la formule de calcul, son statut (active
ou non), ainsi que la marge (valeur de la variable d’écart).

NAKELSE Pascal 36 Année académique 2019-2020


Recherche opérationnelle

Remarquez que pour déterminer le nom, Excel fait, dans chaque cas, la conca-
ténation du premier commentaire rencontré dans la même ligne que la cellule et du
premier commentaire rencontré dans la même colonne que la cellule.

3.2.2 Rapport de sensibilité

Cellules variables
Finale Réduit Objectif Admissible Admissible
Cellule Nom Valeur Coût Coefficient Augmentation Réduction
$B$2 X1 2 0 3 4,5 3
$C$2 X2 6 0 5 1E+30 3

Contraintes
Finale Ombre Contrainte Admissible Admissible
Cellule Nom Valeur Coût à droite Augmentation Réduction
$D$4 Atelier 1 2 0 4 1E+30 2
$D$5 Atelier 2 12 1,5 12 6 6
$D$6 Atelier 3 18 1 18 6 6
$D$7 X1 (positif) 2 0 0 2 1E+30
$D$8 X2 (positif) 6 0 0 6 1E+30

Le rapport de sensibilité fournit :


— les informations sur les variables : la référence de la cellule, le nom et la
valeur finale de la variable, le coût réduit, le coefficient dans la fonction
objectif, l’accroissement et la diminution maximale de ce coefficient avant
qu’une variable ne change de valeur.
— les informations sur les contraintes : la référence de la cellule, le nom et la
valeur finale du membre de gauche de la contrainte, le prix dual, la valeur du
membre de droite, l’augmentation et la diminution maximum de ce membre
de droite telle que la base optimale reste la même.

3.3 Application : Effet de publicité


Une firme fabrique et met sur le marché 2 produits A et B. Le prix de vente
unitaire et les ressources nécessaires pour fabriquer une unité sont données ci-dessus.
Chaque semaine, la société peut se

NAKELSE Pascal 37 Année académique 2019-2020


Tableau 6.4: plans de coupe

(c) Donner la solution du solveur d’Excel.

6.3. Effet de la publicité. Recherche


Une firme fabrique et met sur le marché 2 produits A
opérationnelle
et B. Le prix de vente unitaire et les ressources nécessaires pour fabriquer
une unité sont données au tableau 6.5. Chaque semaine, la société peut se

Produit A Produit B
Prix de vente 60 $ 41 $
Matériau requis 2 unités 1 unité
Main-d’œuvre 0,75 heure 0,5 heure
Usinage 1,5 heure 0,8 heure

Tableau 6.5: Prix unitaires et quantités de facteurs


procurer 400 unités du matériau requis au coût de 4,75$ l’unité. Au service de la
procurer 400 unités du matériau requis au coût de 4,75 $ l’unité. Au service
société se trouvent 4 employés qui travaillent chacun 40 heures semaine et dont les
de la société se trouvent 4 employés qui travaillent chacun 40 heures semaine
salaires sont fixesles(indépendant
et dont du volume
salaires sont fixes de production).
(indépendant du volume Les heures supplémen-
de production). Les
taires sont heures supplémentaires
payées 15$ de l’heure. sontMais
payées 15 $ de l’heure.
la direction a promisMais la direction
de ne a
jamais exiger
promis de ne jamais exiger plus de 35 heures supplémentaires par semaine.
plus de 35 heures supplémentaires par semaine. L’usinage se fait sur deux machines,
L’usinage se fait sur deux machines, disponibles chacune à raison de 160
disponibles chacune
heures à raison La
par semaine. de demande
160 heures de par
basesemaine. Laestdemande
du produit de base
au maximum de du
produit est 50 au maximum
unités par semainede 50 unités
pour A et par
de 60semaine pourB.AOn
unités pour et peut
de 60 unitésdespour
insérer
B. On peut publicités
insérerdans la presse locale.
des publicités dans On estime locale.
la presse que chaque $ de publicité
On estime investi$ de
que chaque
pour A augmente sa demande maximum de 8 unités et chaque $ investi pour
publicité Binvesti
augmentepoursaAdemande
augmente de sa demande
4 unités. maximum
Le budget de 8 maximum
publicité unités et est
chaque
de $
investi pour65 $Bpar
augmente
semaine.sa demande de 4 unités. Le budget publicité maximum est
de 65 $ par semaine.
(a) Formuler le problème de la maximisation du revenu net (choix des
variables,
1. Formuler expression
le problème de lademaximisation
l’objectif et des
du contraintes).
revenu net (choix des variables,
(b) Résoudre
expression au moyenetdudes
de l’objectif solveur d’Excel.
contraintes).
(c) Les ouvriers estiment que le prix de 15 $ n’est pas une compensation
2. Résoudre au moyen du Solveur d’Excel.
financière suffisante. Ils exigent une augmentation de 10 $ par heure.
3. Les ouvriers estiment
Faut-il accéder quedemande
à leur le prix ?de 15$ n’est pas une compensation fi-
nancière suffisante. Ils exigent une augmentation de 10$ par heure. Faut-il
accéder à leur demande ?
4. Quel serait le revenu net que tirerait la société de 10$ de dépenses supplé-
mentaires en publicité chaque semaine ?

NAKELSE Pascal 38 Année académique 2019-2020


Chapitre 4

Théorie de l’ordonnancement

La théorie de l’ordonnancement est une branche de la recherche opérationnelle


qui s’intéresse au calcul de dates d’exécution optimales de tâches. Pour cela, il est très
souvent nécessaire d’affecter en même temps les ressources nécessaires à l’exécution
de ces tâches. Un problème d’ordonnancement peut être considéré comme un sous-
problème de planification dans lequel il s’agit de décider de l’exécution opérationnelle
des tâches planifiées.

4.1 Définition et domaine d’application

4.1.1 Définition
Un problème d’ordonnancement consiste à organiser dans le temps la réalisa-
tion de tâches, compte tenu de contraintes temporelles (délais, contraintes d’enchaı̂-
nement) et de contraintes portant sur la disponibilité des ressources requises.
En production (manufacturière, de biens, de service), on peut le présenter
comme un problème où il faut réaliser le déclenchement et le contrôle de l’avancement
d’un ensemble de commandes à travers les différents centres composant le système.
Un ordonnancement constitue une solution au problème d’ordonnancement. Il
est défini par le planning d’exécution des tâches (ordre et calendrier) et d’allocation
des ressources et vise à satisfaire un ou plusieurs objectifs. Un ordonnancement est
très souvent représenté par un diagramme de Gantt.

4.1.2 Domaines d’application


L’ordonnancement s’applique à plusieurs domaines dont les principaux sont :

39
Recherche opérationnelle

— Projet (gestion des projets) ;


— Administration (gestion des ressources humaines, les emplois du temps) ;
— Production (les atelier de production) ;
— Informatique (exécution des programmes, optimisation des codes)

4.2 Problème classique : la gestion d’un projet


La réalisation d’un projet nécessite souvent une succession de tâches auxquelles
s’attachent certaines contraintes :
— de temps : délais à respecter pour l’exécution des tâches ;
— d’antériorité : certaines tâches doivent s’exécuter avant d’autres ;
— de production : temps d’occupation du matériel ou des hommes qui l’uti-
lisent.
Les techniques d’ordonnancement dans le cadre de la gestion d’un projet ont
pour objectif de répondre au 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 :
— La planification : qui 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 : qui consiste à la mise en ?uvre des différentes opérations dé-
finies dans la phase de planification.
— Le contrôle : qui consiste à effectuer une comparaison entre planification et
exécution, soit au niveau des coûts, soit au niveau des dates de réalisation.

4.2.1 Notions de base


Il s’agira ici de définir les dates de début au plus tard et les dates de fin au
plutôt d’une tache donnée. On définira également les différentes marges.

4.2.1.1 Dates au plus tôt (Dto)

Il s’agit ici de calculer à quelles dates, au plus tôt, peuvent être réalisées les
différentes tâches du projet.
À partir de la tâche de début, calculer de la gauche vers la droite (calcul dit
”aller”) les dates au plus tôt de début (Dto) et de fin (F to) de chaque tâche en
partant de zéro (ou de la date de début du projet). Ce calcul donne un délai de
réalisation du projet. Ainsi on a :

NAKELSE Pascal 40 Année académique 2019-2020


Recherche opérationnelle

— La date de fin au plus tôt = la durée de la tâche + sa date de début au


plus tôt ;
— la date de début au plus tôt d’une tâche = la plus grande des dates de fin
au plus tôt des tâches qui la précèdent.

4.2.1.2 Dates au plus tard (Dta)

Il s’agit ici de calculer à quelles dates, au plus tard, peuvent être complétées
les différentes tâches du projet sans remettre en cause la date de fin du projet. Ce
calcul prend comme hypothèse que le délai de réalisation du projet obtenu par le
calcul aller est acceptable.
À partir de la fin, Il s’agit donc d’effectuer sur le réseau, le calcul dit retour
(de droite vers gauche) pour déterminer les dates au plus tard de début (Dta) et
de fin (F ta) de chaque tâche. Ainsi on a :
— Date de fin au plus tard d’une tâche = la plus petite des dates de début au
plus tard des tâches qui lui succèdent.
— Date de début au plus tard = la durée de la tâche - sa date de fin au plus
tard.
Avec les calculs précédents, nous avons déterminé quatre dates pour chaque
tâche DT o, F T o, DT a et F T a. Il est à noter que le modèle peut être simplifié avec
seulement 2 dates : F T o et F T a puisque le DT o d’une tâche = le F T o de la tâche
qui la précède. Dans le même ordre d’idée, le DT a d’une tâche = le F T a de la tâche
qui la précède.

4.2.1.3 Calcul des marges temporelles

Chaque tâche a une durée maximum disponible = Fin tard (F T a) - Début tôt
(DT o).
Une tâche est critique si elle utilise cette durée maximum disponible, car elle
n’a aucune marge temporelle pour absorber un éventuel retard.
On associera donc à chaque tâche les marges qu’elle a sur les chemins qu’elle
compose. On distingue 2 types de marge :

Marge libre La marge libre correspond à la plage de temps ou délai dans laquelle
peut se déplacer librement la tache sans retarder aucune autre tache subséquente
(ie sans modifier, aucune des dates de début au plutôt des taches immédiatement
postérieures )

NAKELSE Pascal 41 Année académique 2019-2020


Recherche opérationnelle

L’exécution des activités relève souvent de responsabilité différente, connaitre


alors la marge libre est très capitale dans la bonne conduite du projet car, elle
représente donc la latitude dont dispose le responsable d’une activité pour ne pas
affecter le plan de travail des autres responsables.

Technique de calcul La plus petite des Dto des taches immédiatement


suivante-la F to de la tache considéré
NB : La marge libre d’une tache est toujours inférieure ou égale a la marge
totale

Marge totale La marge totale représente la plage de temps maximum (ou délai
maximum) dans laquelle peut se déplacer la tache sans pour autant modifier la date
de fin du projet. Elle s’obtient en faisant l’opération suivante :
La F ta-la F to de la tache considérée.

4.3 Les méthodes d’ordonnancement


Il existe plusieurs méthodes d’ordonnancement, nous en étudierons deux : le
PERT et la méthode MPM(Méthode des potentiels Métra).

4.3.1 Diagramme de PERT


4.3.1.1 Définition

Le graphique PERT (PERT : initiales de Program (ou Project) permet de


visualiser la dépendance des tâches et de procéder à leur ordonnancement. On utilise
un graphe de dépendances. Pour chaque tâche, on indique une date de début et de fin
au plus tôt et au plus tard. Le diagramme permet de déterminer le chemin critique
qui conditionne la durée minimale du projet.
Cet outil fournit une méthode permettant d’optimiser et de planifier l’ordon-
nancement de tâches. Il est utilisé dans la gestion de projet. Son but est de trouver
la meilleure organisation possible pour qu’un projet soit terminé dans les meilleurs
délais, et d’identifier les tâches critiques, c’est-à-dire les tâches qui ne doivent souffrir
aucun retard sous peine de retarder l’ensemble du projet.
Cette méthode d’organisation est sans doute l’une des plus exigeantes en ri-
gueur mais aussi l’une des plus puissantes ; c’est grâce à de telles méthodes qu’il a

NAKELSE Pascal 42 Année académique 2019-2020


Laréalisation
La réalisationd'un
d'unprojet
projetnécessite
nécessitesouvent
souventune unesuccession
successionde detâches
tâchesauxquelles
auxquelless'attachent
s'attachentcertaines
certainescontraintes
contraintes: :

La de temps
réalisation: délais
d'un à respecter
projet pour
nécessite l'exécution
souvent
 de temps : délais à respecter pour l'exécution des tâches ;une des tâches
succession ;
de tâches auxquelles s'attachent certaines contraintes :
 d'antériorité
de temps : : certaines
délais à tâches
respecter doivent
pour s'exécuter
l'exécution des
 d'antériorité : certaines tâches doivent s'exécuter avant d'autres ; avant
tâchesd'autres
; ;
dede production:: certaines
d'antériorité
production :temps
tempsd'occupation
d'occupation
tâches doivent dudumatériel
matérielou
s'exécuter ou deshommes
avant
des hommes
d'autresqui;quil'utilisent.
l'utilisent.
Les techniques
de d'ordonnancement
production : temps dans
d'occupation le cadre
du de
matériel la
Les techniques d'ordonnancement dans le cadre de la gestion d'un projet ont gestion
ou des d'un
hommes projet
qui ontpour
pourobjectif
l'utilisent. objectifde derépondre
répondreau aumieux
mieux
aux
Les besoins
techniques exprimés par
d'ordonnancementun client,
aux besoins exprimés par un client, au meilleur au
dans meilleur
le cadre coût
de la et dans
gestion les
d'un
coût etopérationnelle
Recherche meilleurs
projet délais,
ont en
pour tenant
objectif compte
de des
répondre
dans les meilleurs délais, en tenant compte des diérentes diérentes
au mieux
contraintes.
aux besoins L'ordonnancement
exprimés par un se déroule
client, au en trois
meilleur
contraintes. L'ordonnancement se déroule en trois étapes : étapes
coût et :
dans les meilleurs délais, en tenant compte des diérentes
LaLaplanication
planication
contraintes. : :qui
L'ordonnancement quivise
viseàseàdéterminer
déterminer
déroule lesdiérentes
en les
trois diérentes opérationsààréaliser,
étapes : opérations réaliser,les
lesdates
datescorrespondantes,
correspondantes,etetlesles
moyens
moyens
La matériels
planication : et humains
qui vise à à y aecter.
déterminer
matériels et humains à y aecter. les diérentes opérations à réaliser, les dates correspondantes, et les
 L'exécution
moyens
été : qui
matériels
possible de consiste
et humainsà
construire la àmise
y
en en oeuvre
aecter.
2 ans des
seulement diérentes
une opérations
machine dénies
aussi dans la
gigantesque
 L'exécution : qui consiste à la mise en oeuvre des diérentes opérations dénies dans la phase de planication. phase de
que planication.
le
LeLe contrôle: :qui
L'exécution
contrôle : qui
transatlantique
consiste
consisteàààeectuer
quiconsiste
Queen
eectuer
la mise une
Mary II.
une
en comparaison
oeuvre entreplanication
des diérentes
comparaison entre planication
opérations et etexécution,
exécution,
dénies soit
dans soit
la auniveau
phase
au niveau descoûts,
coûts,
de planication.
des
soit
soit
Le au niveau
contrôle : des
qui dates
consiste de
à réalisation.
eectuer
au niveau des dates de réalisation. une comparaison entre planication et exécution, soit au niveau des coûts,
Il existe
soitplusieurs
au niveauméthodes
des datesd'ordonnancement,
de réalisation. nous en étudierons deux : le
Il existe plusieurs méthodes d'ordonnancement, nous en étudierons deux : le PERT et la méthode MPM(MéthodePERT et la méthode MPM(Méthode
des
des potentiels
Il existe Métra).
plusieurs
potentiels méthodes d'ordonnancement, nous en étudierons deux : le PERT et la méthode MPM(Méthode
Métra).
4.3.1.2
des potentiels Métra).
Principe
1.1 Diagramme de PERT
1.1 Diagramme de PERT
Le PERT (Program of Evaluation and Review Technique ) est une méthode
1.1 Diagramme de PERT
LePERT
Le (ProgramofofEvaluation
PERT(Program EvaluationandandReview
ReviewTechnique
Technique) )est
estune
uneméthde
méthdeconsistant
consistantààprésenter
présentersous
sousforme
formedede
consistant à présenter sous forme de graphe plusieurs tâches nécessaires à l’obtention
graphe
Le plusieurs
PERT ( Program
tâches of Evaluation
nécessaires à and Review
l'obtention Technique
d'un produit ) ni.
est Un
une graphe
méthde de PERT
consistantest
à composé
présenter
graphe plusieurs tâches nécessaires à l'obtention d'un produit ni. Un graphe de PERT est composé d'étapes et ded'étapes
sous et
forme de
tâches
graphe
tâches : :plusieurs
d’un tâches
produit nécessaires
fini. Un à
graphe l'obtention
de PERT d'un produit
est ni.
composé Un graphe
d’étapes de
et PERT
de est
tâches composé
: d'étapes et de

tâchesUne
: tâche
 Une tâche est représentée par une èche
 Une tâche —estest
représentée
Une parreprésentée
tâche est
représentée
une èche
par une èche par une flèche

Une
Uneétape
étapeest
estreprésentée
représentéepar
parun
unrond
rondcontenant
contenantlelenuméro
numérode
del'étape,
l'étape,sasadate
datede
dedébut
débutauauplus
plustôt
tôtetetsasadate
date
de
de
Unedébut

étape
début au plus
Une
au est tard
étape:
représentée
plus tard : est représentée par un rond contenant le numéro de l’étape, sa
par un rond contenant le numéro de l'étape, sa date de début au plus tôt et sa date
de début au plus tard :
date de début au plus tôt et sa date de début au plus tard :

Toute tâcheaaToute
Toutetâche une
tâche
uneétape
étapede
a uneetétape
dedébut
début de début
uneétape
et une étape n: et
den
de : une étape de fin :
Toute tâche a une étape de début et une étape de n :

Graphes

On peut avoir deux tâches simultanées : et deux étapes convergentes :


On peut avoir deux tâches simultanées : et deux étapes convergentes :

22 A.Fredet
A. Fredet
2 A. Fredet

Dénition 1.1 Le chemin critique est la chaîne des tâches la plus longue, partant du début et aboutissant à la n.
L'addition de toutes les durées des tâches situées sur le chemin critiques donne le délai de réalisation du projet.
Définition 1 :Le chemin critique est la chaı̂ne des tâches la plus longue,
Exemple 1.1 Onduveut
partant représenter
début les informations
et aboutissant suivantes
à la fin. dans undegraphe
L’addition toutesde les
PERT : des tâches
durées
situées sur le chemin critiquesTâches A B Cdu projet.
donne le délai de réalisation D E
Tâches précédentes - - A A,B C,D
Durée minimale d'éxécution du projet 2 4 4 5 6
NAKELSE Pascal 43 Année académique 2019-2020
et donner le chemin critique pour ce projet.
On commence par ordonner les tâches :
Recherche opérationnelle

Exemple 1 : On veut représenter les informations suivantes dans un graphe


de PERT :

Dénition 1.1 Le chemin critique est la chaîne des tâches la plus longue, partant du début et aboutissant à la n.
L'addition de toutes les durées des tâches situées sur le chemin critiques
Tâches A donne
B leCdélai D
de réalisation
E du projet.
Exemple 1.1 On veut représenter
Tâches les informations suivantes dans un -graphe
précédentes - deAPERT
A, : B C,D
Durée minimale d’exécution
Tâches du projet A2 B 4 C 4 D 5 E 6
Tâches précédentes - - A A,B C,D
et donner le chemin critique pour ce projet. On commence par ordonner les tâches :
Durée minimale d'éxécution du projet 2 4 4 5 6
et donner le chemin critique pour ce projet.
On commence par ordonner les tâches :Niveau 0 Niveau 1 Niveau 2
Niveau
A, B 0 NiveauC, D 1 NiveauE 2
A, B C, D E
On ordonne les tâches, en plaçant les dates de début au plus tôt :
On ordonne les tâches, en placant les dates de début au plus tôt :

On complète avec les dates de début au plus tard, et on en déduit le chemin critique
On complète avec les dates de début au plus tard, et on en déduit le chemin
Graphes
critique

3 A. Fredet

Exercice 1.1 Représentez les informations suivantes dans un graphe de PERT :


44
Tâches
NAKELSE Pascal
A B C D E F
Année académique 2019-2020
G H I J K L
Tâches précédentes - A A B B C,I E,F - H H I K,J
Durée minimale d'éxécution du projet 3 1 5 6 4 2 9 5 8 2 3 7
Recherche opérationnelle

Exercice 1 : Représentez les informations suivantes dans un graphe de PERT :

Tâches A B C D E F G H I J K L
Tâches précédentes - A A B B C, I E, F - H H I K, J
Durée minimale d’exécution 3 1 5 6 4 2 9 5 8 2 3 7

Donnez le chemin critique pour ce projet.

4.3.2 Méthode MPM


Sur un diagramme de PERT, les activités sont sur les flèches, et les ronds re-
présentent les étapes. Il faut parfois ajouter une tâche active pour mettre en évidence
des relations entre deux étapes. La méthode MPM nous permet d’éviter ce problème.
Sur un diagramme MPM, les activités sont dans les carrés et la flèche représente son
aboutissement, celle qui entre indique la fin de l’activité, celle qui sort indique le
début de l’autre activité. Chaque tâche est renseignée par la date à laquelle elle peut
commencer (date au plus tôt) et celle à laquelle, elle doit se terminer (date au plus
tard). À chaque arc est associé une valeur numérique, qui représente soit une durée
d’opération, soit un délai
Exemple 2 : On veut représenter les informations suivantes dans un dia-
gramme MPM :

Tâches A B C D E
Tâches précédentes - - A A, B C,D
Durée minimale d’exécution du projet 2 4 4 5 6

et donner le chemin critique pour ce projet.On commence par ordonner les tâches :

Niveau 0 Niveau 1 Niveau 2


A, B C, D E

On ordonne les tâches, en plaçant les dates de début au plus tôt :

NAKELSE Pascal 45 Année académique 2019-2020


Graphes
Recherche opérationnelle

Graphes

On complète avec les dates de début au plus tard, et on en déduit le chemin critique
On complète avec les dates de début au plus tard, et on en déduit le chemin
critique
On complète avec les dates de début au plus tard, et on en déduit le chemin critique

1.3 Marges

Dénition 1.2 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 estMarges
1.3 obtenue , en faisant pour chaque tâche, la diérence entre la date au plus tard de début d'une tâche et la
date au 4.4tôt. LaApplication
plus
Dénition 1.2 marge totale sur une tâche est le retard que l'on peut prendre dans la réalisation de cette tâche
sans retarder
Dénition 1.3Unl'ensemble
La margedulibre
projet.
sur une tâche est le retard que l'on peut prendre dans la réalisation d'une tâche sans
Elle est obtenue , en faisant
projet a pour
retarder la date de début au plus chaque
ététôt de touttâche,
décomposé enlatâche
autre 8diérence
tâches entre
A,
qui suit. B, la
C,date au F,
D, E, plusG,tard
H de début
dont les d'une tâche et la
durées
date au plus tôt.
connues (sauf pour G et les contraintes d’antériorité sont précisées dans le tableau
Dénition
1.4 1.3 La marge
Applications
ci-dessous : libre sur une tâche est le retard que l'on peut prendre dans la réalisation d'une tâche sans
retarder la date de début au plus tôt de tout autre tâche qui suit.
Exercice 1.2 Un projet a été décomposé en 8 tâches A, B, C, D, E, F, G, H dont les durées connues (sauf pour G
) et les contraintesTâches
d'antériorité sont préciséesAdansBle tableau
C D ci-dessous
E: F G H
1.4 Applications
Tâches
Tâches antérieure - A - B - C AD A,E B F B GE, FH C, F
Exercice 1.2 Un projet aDuré
été décomposé
(en jours)en 8 tâches
26 25 A, B,40C, D,
17 E, F,
8 G, 14
H dont
X les durées
4 connues (sauf pour G
) et les contraintesDurée
d'antériorité sont précisées dans le tableau ci-dessous
Tâches antérieures - - - A A,B B E,F C,F 4
(en jour) 26 25 40 17 8 : 14 X
1. Donnez les graphes PERTTâches A B C D
et MPM correspondant. E F G H
1. Donnez Duréles (en jours)
graphes PERT26et 25MPM 40 correspondant.
17
Par la suite, vous utiliserez au choix l'un des deux graphes. 8 14 Par
X la suite,
4 vous utili-
Tâches antérieures - -
serez au choix l’un des deux graphes. - A A,B B E,F C,F
1. Donnez les graphes PERT et MPM correspondant. 5 A. Fredet
Par la suite, vous utiliserez au choix l'un des deux graphes.
NAKELSE Pascal 46 Année académique 2019-2020
5 A. Fredet
Recherche opérationnelle

2. Indiquez, sur le graphe choisi, les dates de début au plus tôt des tâches D,
E, F, G et H.
3. Déterminez la durée minimale d’exécution du projet et le chemin critique
dans chacun des cas suivants :
(a) Hypothèse 1 : X = 4 ;
(b) Hypothèse 2 : X = 6 ;
(c) Hypothèse 3 : X = 9.
4. On estime que les trois hypothèses précédentes ont les probabilités respec-
tives :
(a) p4 = P(X = 4) = 0,3 ;
(b) p6 = P(X = 6) = 0,6 ;
(c) p9 = P(X = 9) = 0,1.

Calculez l’espérance mathématique de la durée minimale d’exécution du projet.

NAKELSE Pascal 47 Année académique 2019-2020


Bibliographie

[1] Christelle GUERET, Christian PRINS, Marc SEVAUX, , « Programmation li-


néaire » Eyrolles, Paris, 2000 ;
[2] Y. NORBERT, R. OUELLET et R. PARENT, , Gaëtan Morin Editeur, « La
recherche opérationnelle » Montréal-Paris, 1995 ;
[3] CSIMMONARD Michel, , « La programmation linéaire » , Dunod 1972 ;
[4] R. Favre, B. Lemaire, C. Picouleau, « Précis de recherche opérationnelle » ,
5ème édition Dunod, 2000.

48
Table des matières

0.1 Présentation de la recherche opérationnelle (RO) . . . . . . . . . . . 1


0.1.1 Définition de la RO . . . . . . . . . . . . . . . . . . . . . . . . 1
0.1.2 Origines recherche opérationnelle . . . . . . . . . . . . . . . . 1
0.2 Objectifs et contenu du cours . . . . . . . . . . . . . . . . . . . . . . 2
0.2.1 Objectifs du cours . . . . . . . . . . . . . . . . . . . . . . . . 2
0.2.2 Contenu du cours . . . . . . . . . . . . . . . . . . . . . . . . . 2

1 La programmation linéaire 3
1.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Mise en équation d’un problème de programmation linéaire . . . . . . 3
1.2.1 Choix des variables du modèle . . . . . . . . . . . . . . . . . . 4
1.2.2 Déclaration et définition de la fonction économique du pro-
blème (ou fonction objectif) . . . . . . . . . . . . . . . . . . . 4
1.2.3 Expression des contraintes . . . . . . . . . . . . . . . . . . . . 5
1.3 Méthodes de résolution des problèmes linéaires . . . . . . . . . . . . . 5
1.3.1 Résolution graphique . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1.1 Représentation graphique de la région réalisable . . . 6
1.3.1.2 Représentation graphique de la fonction objectif . . . 6
1.3.1.3 Détermination graphique de l’optimum . . . . . . . . 7
1.3.2 Exercices d’application . . . . . . . . . . . . . . . . . . . . . . 8
1.3.3 Algorithme du Simplexe . . . . . . . . . . . . . . . . . . . . . 9
1.3.3.1 Principe de l’algorithme . . . . . . . . . . . . . . . . 9
1.3.3.2 Formes canoniques d’un programme linéaire . . . . . 10
1.3.3.3 Notion de solution de base . . . . . . . . . . . . . . . 11
1.3.3.4 Initialisation de l’algorithme . . . . . . . . . . . . . . 12
1.3.3.5 Une itération simplexe . . . . . . . . . . . . . . . . . 13
1.3.3.6 Tableau Simplexe . . . . . . . . . . . . . . . . . . . . 15
1.3.3.7 Exercices d’application . . . . . . . . . . . . . . . . . 20

49
Recherche opérationnelle

2 Dualité et analyse postoptimale en programmation linéaire 21


2.1 Dualité en programmation linéaire . . . . . . . . . . . . . . . . . . . 21
2.1.1 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.2 Interprétation des variables duales . . . . . . . . . . . . . . . . 23
2.2 Analyse postoptimale en programmation linéaire . . . . . . . . . . . . 25
2.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.2 Variation par rapport au second membres . . . . . . . . . . . 26
2.2.3 Variation des coefficients objectifs . . . . . . . . . . . . . . . . 29
2.2.4 Analyse de sensibilité aux coefficients objectif . . . . . . . . . 31

3 Utilisation du Solveur en RO 32
3.1 Résolution d’un problème linéaire avec le Solveur d’EXCEL . . . . . . 32
3.1.1 Présentation du modèle . . . . . . . . . . . . . . . . . . . . . 32
3.1.2 Résolution du problème . . . . . . . . . . . . . . . . . . . . . 33
3.2 Les rapports du solveur . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.1 Le rapport des réponses . . . . . . . . . . . . . . . . . . . . . 36
3.2.2 Rapport de sensibilité . . . . . . . . . . . . . . . . . . . . . . 37
3.3 Application : Effet de publicité . . . . . . . . . . . . . . . . . . . . . 37

4 Théorie de l’ordonnancement 39
4.1 Définition et domaine d’application . . . . . . . . . . . . . . . . . . . 39
4.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.1.2 Domaines d’application . . . . . . . . . . . . . . . . . . . . . . 39
4.2 Problème classique : la gestion d’un projet . . . . . . . . . . . . . . . 40
4.2.1 Notions de base . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2.1.1 Dates au plus tôt (Dto) . . . . . . . . . . . . . . . . 40
4.2.1.2 Dates au plus tard (Dta) . . . . . . . . . . . . . . . 41
4.2.1.3 Calcul des marges temporelles . . . . . . . . . . . . . 41
4.3 Les méthodes d’ordonnancement . . . . . . . . . . . . . . . . . . . . . 42
4.3.1 Diagramme de PERT . . . . . . . . . . . . . . . . . . . . . . . 42
4.3.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3.1.2 Principe . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.2 Méthode MPM . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.4 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Bibliographie 48

NAKELSE Pascal 50 Année académique 2019-2020


Recherche opérationnelle

NAKELSE Pascal 51 Année académique 2019-2020

Vous aimerez peut-être aussi