Université de
Nouakchott
Al Aasriya
Institut
Universitaire
Professionnel
Recherche Opérationnelle
1439 H
Enseignant-chercheurs :
Pr. Mohamed-Aly LOULY
Février 2018
Dr. Elkhomeini MOULAYE ELY
Dr. Mohamed SIDI
2
LE COURS
Volume d’enseignement : 52 heures
Evaluation : Devoir + Projet + Examen
Reference :
C. Prins et M. Sevaux. Programmation Linéaire avec
Excel. Editions Eyrolles, 2011.
3
PLAN
1. Introduction a l’Optimisation Combinatoire
Voyageur du Commerce
Bin packing
2. La Programmation Linéaire
Modélisation linéaire
Programme Linéaire
Résolution graphique
Résolution algébrique
Algorithme du Simplexe forme tableau
Cas spéciaux pour l’algorithme du Simplexe
Dualité
Sensibilité
3. Le Solveur d’Excel
4. Modélisation linéaire des problèmes d’optimisation dans les graphes
5. Applications de la modélisation linéaire
4 1. O PTIMISATION C OMBINATOIRE
C’est la recherche de la meilleure décision parmi un ensemble fini
d’alternative.
Bien que fini, cet ensemble est généralement de cardinal
exponentiel, ce qui rend impossible l’énumération complète.
Exemples :
1. Le problème du voyageur de commerce
2. Le problème de bin packing
5 LE BIN PACKING
Ranger un ensemble de n objets en utilisant le nombre minimum
de conteneurs.
Même s’il n’y a que 2 conteneurs, on aura a travailler sur les
sous-ensembles d’objets, dont le nombre est 2n sous-ensembles!
6 LE BIN PACKING
Exemples d’applications du bin packing :
1. Rangement d'objets dans des conteneurs
(camions, boîtes, palettes, etc.).
2. découpe de câbles et de matières premières.
3. Placement dans un entrepôt.
7 LE BIN PACKING
Temps approximatif d’énumération des sous-ensembles avec une vitesse 1GHz
n 2n Secondes Jours Années Milliards
d’années
10 1024 10-6 10-11 3 x 10-14 3 x 10-23
30 109 1 10-5 3 x 10-8 3 x 10-17
50 1015 106 13 0,03 3 x 10-11
70 1021 1012 107 37436 3,7 x 10-5
90 1027 1018 1013 3,9 x 1010 39,3
L'âge de l’univers : 13,7 milliards d’années !!!
8 V OYAGEUR DE COMMERCE
Trouver la meilleure tournée ➔ n! alternatives
Attention, pour n > 3 : n! > 2n
9 V OYAGEUR DE COMMERCE
Exemples d’applications du TSP et ses extensions :
1. Optimisation du transport des camions, bus,
bateaux et avions.
2. Ordonnancement des activités d’un poste de
travail.
3. Fabrication des cartes perforées. (Ordre de
fonctionnement de la perceuse)
10 2. P ROGRAMMATION LINÉAIRE
La modélisation linéaire
Ciment 1 Ciment 2 Temps disponible
par jour
Profit par tonne 50 $ 70 $
Durée de calcination par 20 min 30 min 6h
tonne dans le four
Durée de broyage par 40 min 30 min 8h
tonne dans l’atelier
Planification de la production quotidienne de la cimenterie :
Combien produire de chaque ciment chaque jour ?
11 P ROGRAMME LINÉAIRE
x1 : quantité du ciment 1
x2 : quantité du ciment 2
Une fonction-objectif linéaire
Des contraintes linéaires
12 S OLUTIONS D ’ UN PL
(x1, x2) = (10, 10) : solution non réalisable de ce PL.
(x1, x2) = (1, 1) : solution réalisable, mais non optimale.
(x1, x2) = (6, 8) : solution optimale.
13 F ORME G ÉNÉRALE D ’ UN PL
14 F ORME CANONIQUE D ’ UN PL
15 C ANONIQUE VERS STANDARD
Ajout des variables d’écart
16 F ORME STANDARD D ’ UN PL
17 S TANDARD VERS CANONIQUE
Dédoublement des contraintes
18 I NTERPRÉTATION ÉCONOMIQUE
• Un acteur économique exerce n activités avec des
intensités xj a déterminer. Ces activités utilisent m
ressources.
• On connait la quantité aij de la ressource i nécessaire pour
exercer l’activité j avec l’intensité 1.
• On connait le profit ou le cout cj pour une intensité 1 de
l’activité j.
• On veut trouver les intensités des activités, compatibles
avec les ressources, pour maximiser le profit ou minimiser
le cout.
19 R ÉSOLUTION GRAPHIQUE
• Un polyèdre est l’ensemble des solutions d’un
système fini d’inégalités linéaires, c’est-à-dire :
où A est une matrice m x n
• Un polyèdre borné est appelé polytope.
• Un polyèdre P ainsi défini est convexe, c.-à-d. que chaque
fois qu'on y prend deux points A et B, le segment [A, B] qui
les joint y est entièrement contenu.
20 R ÉSOLUTION GRAPHIQUE
Exemple de polyèdres bornés dans R3 : les 5 solides de Platon. Ce sont
des polyèdres convexes réguliers avec 4, 6, 8, 12 et 20 faces identiques.
Attention
Le nombre de sommets d’un polyèdre de Rn peut être exponentiel !
21 R ÉSOLUTION GRAPHIQUE
Le polygone le plus simple : triangle (Simplexe a 2 dimensions)
A (0, 6)
Domaine des
solutions réalisables
Direction
du max
Si le PL admet une
solution optimale, alors
elle est atteinte sur un
B (6, 0)
sommet. O (0, 0)
22 R ÉSOLUTION GRAPHIQUE
Le cas général à deux variables : un polygone convexe
A (0, 6)
Direction
C (3, 3) du max
D (0, 3)
B (6, 0)
O (0, 0)
Le cas général à n variables : un polyèdre convexe
23 R ÉSOLUTION GRAPHIQUE
Le cas général à deux variables : un polygone convexe
A (0, 6)
Direction
C (3, 3) du max
D (0, 3)
B (6, 0)
O (0, 0)
Le cas général à n variables : un polyèdre convexe
24 R ÉSOLUTION GRAPHIQUE
Cas spécial : un domaine non borné et pas de maximum
Direction
On peut indéfiniment augmenter du max
la fonction-objectif sans violer
les contraintes. Il n’y a donc pas
de solution optimale. En effet,
peut toujours augmenter x1.
25 R ÉSOLUTION GRAPHIQUE
Cas spécial : existence d’un maximum sur un domaine non borné
Direction
du max
La direction de la maximisation
est bornée.
26 R ÉSOLUTION GRAPHIQUE
Cas spécial : le domaine des solutions réalisables est vide.
Il n’y a pas de solution qui satisfait toutes les contraintes.
27 R ÉSOLUTION GRAPHIQUE
Cas spécial : plusieurs solutions optimales
Solutions
(3, 3) optimales
(6, 0)
Il existe toujours un sommet optimal dans ce cas
28 R ÉSOLUTION GRAPHIQUE
L’exemple de la cimenterie
(6, 8)
29 R ÉSOLUTION GRAPHIQUE
Résoudre les PLs suivants avec la méthode graphique
PL 1 PL 2 PL 3
30 R ÉSOLUTION A LGÉBRIQUE
• Pour résoudre des problèmes de programmation
linéaire ayant un nombre de variables supérieur à trois
nous devons obligatoirement faire appel à une autre
méthode de résolution que celle graphique.
• Vous découvrirez dans cette section la méthode
algébrique qui permettra d’étudier les différentes
étapes à franchir pour arriver à une solution optimale.
31 R ÉSOLUTION A LGÉBRIQUE
• Cette résolution utilise la forme standard Ax = b
• La matrice A est une matrice de taille m x n avec
rang(A)=m ≤ n
• Rappel
• rang (A) = nombre maximal de lignes de A
linéairement indépendantes (nombre
maximal de colonnes linéairement
indépendantes)
32 R ANG ET S OLUTION
Sous l’hypothèse de rang plein
• Le système Ax = b admet toujours des
solutions
• Si m < n, le système Ax = b admet une
infinité de solutions
• Si m = n, alors il n’ y a rien à maximiser car
la solution x est unique et vaut A־¹ b.
33 R ANG ET S OLUTION
• Si rang(A) < m, on peut toujours éliminer les équations
redondantes et réécrire le problème sous la forme A’x=b’ avec A’
de rang plein inferieur a m. On peut donc toujours supposer A de
rang plein.
• On appelle solution réalisable de P tout vecteur x ≥ 0 qui satisfait
les contraintes Ax=b.
• Il y a au plus solutions réalisables. C’est le nombre des choix
possibles de m variables de base parmi les n possibles. Pour 400
variables et 100 contraintes cela est de l’ordre d’un google 10100.
C’est plus que le nombre des atomes de l’univers 1080.
34 B ASE ET S OLUTIONS DE BASE
• On appelle base de A , ou matrice de base, toute sous
matrice carrée inversible B, m x m de A
• Les variables xB =(xj; i élément de B) sont appelées variables de
base.
• Les variables xN =(xj; j n’est pas un élément de B) sont appelées
variables hors-base
• Soit B une base de A
• On partitionne A sous la forme suivante : A = [B N]
• Pour simplifier la présentation, les m premières colonnes constituent
la base
• On partitionne de la même manière les vecteurs x et c
• X = (xB, ,xN ) T et c = (cB, ,cN )T
35 B ASE ET S OLUTIONS DE BASE
• Supposons qu’on a:
• Comme:
• Et:
• Alors on note par :
•
• et
36 B ASE ET S OLUTIONS DE BASE
• Le programme linéaire (P) s’écrit alors sous la forme
• C’est la forme standard par rapport à la base B
• On dit que est solution associée à la base B si
• Si est une solution de base réalisable alors
et
37 S OLUTION O PTIMALE
• Théorème
• L’ensemble des points extrêmes du polytope,
correspond à l’ensemble des solutions de base
réalisables
• Théorème
• Si CN ≤ 0 alors la solution de base réalisable
correspondante est une solution optimale du
programme linéaire.
38 E XEMPLE D ’ APPLICATION
• Considérons le programme linéaire (PL) ci-dessous :
• Déterminer toutes les solutions de base réalisables SBR
• Donner la solution de base optimale
39 E XEMPLE D ’ APPLICATION
• La matrice A est définie par :
• Les bases réalisables sont
• La première base réalisable
B1
•
B2
•
• n’est pas une base car les colonnes ne sont pas linéairement
indépendantes (det = 0)
• La deuxième base réalisable
O (0, 0)
•
•
40 E XEMPLE D ’ APPLICATION
• La troisième base réalisable
•
• B4
• La quatrième base n’est pas réalisable
B3 B1
•
•
B5 B2
• La cinquième base réalisable
•
41 E XEMPLE D ’ APPLICATION
• Vu que et donc, on a
pour (x =(0,0)) :
N
• La première base : et La base optimale
• La deuxième base : et
• La troisième base : et
• La cinquième base : et
42 L A MÉTHODE DU S IMPLEXE
• Publié par Dantzig en 1949.
• Fonctionne sur la forme standard du PL.
• Un algorithme itératif qui améliore la fonction-objectif à
chaque itération en passant d’un sommet à un meilleur
sommet voisin.
• L’algorithme du simplexe est très efficace en pratique et son
temps de calcul empirique est linéaire avec un nombre
d’itérations généralement entre 2m et 3m.
• Il est cependant théoriquement exponentiel dans le pire
cas, alors que le PL est d’une complexité polynomial.
43 LA MÉTHODE DU S IMPLEXE
A (0, 6, 0, -3)
C (3, 3, 0, 0)
D (0, 3, 3, 0)
B (6, 0, 0, 3)
O (0, 0, 6, 3)
• Chaque sommet est une solution basique SB qui contient au
moins (n-m) zéros, représentant les variables non-basiques.
• Une SB est réalisable (SBR) si toutes ses valeurs sont positives.
• La SB initiale la plus évidente est celle pour laquelle les variables
initiales sont nulles, mais cette SB n’est pas toujours une SBR.
44 LA MÉTHODE DU S IMPLEXE
C (3, 3, 0, 0)
D (0, 3, 3, 0)
O (0, 0, 6, 3)
B (6, 0, 0, 3)
• On commence par la base évidente formée par les variables
d’écart x3 et x4.
• La fonction z et les variables de base sont réécrites en
fonctions des variables hors base x1 et x2.
• La SBR initiale est obtenue en mettant les variables hors base
a zéro : SBR0 = (0, 0, 6, 3) et z = 0.
45 LA MÉTHODE DU S IMPLEXE
• Pour aller d’une SBR0 à une nouvelle SBR1, une
variable entre dans la base et une variable en sort.
• La variable entrante augmente sa valeur et la
variable sortante devient égale a zéro. Cette
opération de pivotage peut se voir comme un zéro
qui se déplace dans la solution.
• Géométriquement, on de déplace d’un sommet du
polyèdre vers un sommet adjacent.
46 LA MÉTHODE DU S IMPLEXE
• La variable entrante est celle qui donne le profit unitaire
maximal dans l’expression de la fonction-objectif z, ici x2.
• La variable sortante est le première qui s’annule en
augmentant la valeur de la variable entrante, ici x4.
• La fonction z et les nouvelles variables de base x2 et x3 sont
alors réécrites en fonctions des variables hors base x1 et x4.
• La nouvelle SBR est obtenue en mettant les nouvelles
variables hors base a zéro : SBR1 = (0, 3, 3, 0) et z = 6.
47 LA MÉTHODE DU S IMPLEXE
• A la nouvelle itération, la variable entrante est x1 car c’est la
seule qui a un profit unitaire strictement positif.
• La variable sortante est x3 qui s’annule quand x1 devient 3.
• La nouvelle SBR est : SBR2 = (3, 3, 0, 0) et z = 9.
• C’est la solution optimale car toutes la variables hors bases
ont un profit unitaire négatif.
48 LE TABLEAU DU S IMPLEXE
Tableau correspondant a la SBR0
Base X1 X2 X3 X4 b
X3 1 1 1 0 6
Variable sortante X4 0 1 0 1 3
Profit C 1 2 0 0 Z=0
Variable
entrante
49 LE TABLEAU DU S IMPLEXE
Base X1 X2 X3 X4 b
X3 1 1 1 0 6
X4 0 1 0 1 3
Profit C 1 2 0 0 Z=0
Base X1 X2 X3 X4 b
X3 1 0 1 -1 3
X2 0 1 0 1 3
Profit C 1 0 0 -2 Z=6
50 LE TABLEAU DU S IMPLEXE
Base X1 X2 X3 X4 b
X3 1 0 1 -1 3
X2 0 1 0 1 3
Profit C 1 0 0 -2 Z=6
Base X1 X2 X3 X4 b
X1 1 0 1 -1 3
X2 0 1 0 1 3
Profit C 0 0 -1 -1 Z=9
51 R ÉSOLUTION GRAPHIQUE
Résoudre le PL de la cimenterie et les PLs suivants avec
l’algorithme du Simplexe sous forme de tableau.
PL 1 PL 2 PL 3
52
S IMPLEXE DEUX PHASES
Solution initiale artificielle
▪ Une solution de base admissible n’est pas toujours connue a priori.
▪ Certains problèmes n’admettent pas de solution admissible, donc
il est impossible de trouver une base de départ.
▪ La méthode des deux phases va permettre de déterminer une
base admissible ou prouver que le problème est impossible.
53
S IMPLEXE DEUX PHASES
Soit le PL suivant :
Introduction des variables d’écarts :
54
S IMPLEXE DEUX PHASES
➢ Pas de base admissible "triviale".
➢ On voudrait voir apparaître une matrice identité.
➢ Introduction de variables artificielles.
Introduction des variables artificielles:
❖ R1, R2 et x4 peuvent être utilisées comme base de départ admissible.
❖ Base pour le système de départ si R1 = R2 = 0 (hors base).
❖ Réécrire l’objectif en fonction des variables hors base !
55 S IMPLEXE DEUX PHASES
Problème d’origine après introduction des variables d’écart
56 S IMPLEXE DEUX PHASES
Introduction des variables artificielles :
57
S IMPLEXE DEUX PHASES
Exemple d’application :
Problème de Départ
Introduction des variables d’écarts
Base évidente X3 et X4 non réalisable !
58
S IMPLEXE DEUX PHASES
Exemple d’application :
Problème avec variables artificielles
Une nouvelle base réalisable évidente : x4; x5
On utilise Simplexe et si x5 = 0 alors optimum du problème de
départ.
59
S IMPLEXE DEUX PHASES
Exemple d’application :
Assurer que X5 =0 !
60
S IMPLEXE DEUX PHASES
Exemple d’application :
Expression en fonction de variables hors bases
Résolution : faire entrer x2 et sortir x5
Variables en base : x2; x4
=) x5 = 0 (x1 = 0; x2 = 19/3 ; x3 = 0; x4 = 20/3 )
C’est une solution réalisable du problème d’origine
61
S IMPLEXE DEUX PHASES
Exemple d’application :
Dernière itération du Simplexe
X5=0 Retour au Problème
d’origine.
62
D UALITÉ
A tout programme linéaire appelé PRIMAL correspond un programme
linéaire appelé DUAL obtenu de la manière suivante:
PRIMAL DUAL
m contraintes d'infériorité n contraintes de supériorité
n variables d'activité n variables d'écart
m variables d'écart m variables d'activité
écriture en ligne écriture en colonne
Exemple
PRIMAL DUAL
3 x1 + 4 x2 ≤ 160 3 y1 + 6 y2 ≥ 1200
6 x1 + 3 x2 ≤ 180 4 y1 + 3 y2 ≥ 1000
Max z = 1200 x1 + 1000 x2 Min w = 160 y1 + 180 y2
x1 ≥ 0 ; x2 ≥ 0 y1 ≥ 0 ; y2 ≥ 0
63
D UALITÉ
Exemple
Utilité : Un PL avec dix variables et deux contraintes ne peut pas être résolu
graphiquement, tendis que cela n’est pas de problème pour son dual à deux
variables et dix contraintes.
64 FABRICATION D ’ UN ACIER
Une entreprise reçoit une demande de 5 tonnes d’acier
avec les caractéristiques suivantes :
Elément Pourcentage Pourcentage
chimique minimal maximal
Carbone 2 3
Cuivre 0,4 0,6
Manganèse 1,2 1,65
65 FABRICATION D ’ UN ACIER
Matière première %C % Cu % Mn Stock Cout
(kg) (Euro/Kg)
Fer 1 2.5 0 1,3 4 000 1,20
Fer 2 3 0 0,8 3 000 1,50
Fer 3 0 0,3 0 6 000 0,90
Cuivre 1 0 90 0 5 000 1,30
Cuivre 2 0 96 4 2 000 1,45
Aluminium 1 0 0,4 1,2 3 000 1,20
Aluminium 2 0 0,6 0 2 500 1
Déterminer la composition de l’acier a fabriquer.
66 FABRICATION D ’ UN ACIER
xi : la quantité utilisée de la matière première i
Fonction-objectif :
Satisfaction de la demande :
67 FABRICATION D ’ UN ACIER
Pourcentage de carbone :
Pourcentage de cuivre :
Pourcentage de Manganèse :
68 FABRICATION D ’ UN ACIER
Disponibilité des stocks :
Positivité des variables :
69
P RODUCTION D ’ ALIMENTS
POUR BÉTAIL
Une entreprise fabrique 2 aliments pour bétail (granulés et Farine) a partir
de 3 matières premières (avoine, maïs et mélasse). L’avoine et le maïs sont
broyés avant d’être mélangés avec la mélasse. Les granulés sont ensuite
obtenus par granulation et la farine est obtenu par tamisage.
Nutriment Avoine Maïs Mélasse Teneur
souhaitée
Protéines 13,6 4,1 5 ≥ 9,5
Lipides 7,1 2,4 0,3 ≥2
Glucides 7 3,7 25 ≤6
70
P RODUCTION D ’ ALIMENTS
POUR BÉTAIL
La demande est de 9 tonnes de granulées et 12 tonnes de farine.
Matières premières Avoine Maïs Mélasse
Quantité disponible en kg 11 900 23 500 750
Prix d’achat en euros/kg 0,8 1 0,75
Opération Broyage Mélange Granulation Tamisage
Coût en euros/kg 1,5 0,3 2,5 1
71
P RODUCTION D ’ ALIMENTS
POUR BÉTAIL
Xi,j : la quantité de la matière première j utilisée pour fabriquer l’aliment i.
Fonction-objectif :
Satisfaction de la demande :
72
P RODUCTION D ’ ALIMENTS
POUR BÉTAIL
Pourcentage de protéines :
Pourcentage de lipides :
Pourcentage de glucides :
73
P RODUCTION D ’ ALIMENTS
POUR BÉTAIL
Disponibilité des stocks :
Positivité des variables :
74
P LANIFICATION DE
PRODUCTION DE BICYCLETTES
La capacité de production durant les heures normales est de
30 milles bicyclettes par mois. On peut produire plus durant
les heures supplémentaires, mais le cout de production d’une
bicyclette passe de 130 euros a 160 euros. Le stock initial est
de 2 milles bicyclettes. Le cout de stockage d’une bicyclette
est de 20 euros par mois. Les prévisions de ventes de l’année
prochaine sont :
Mois 1 2 3 4 5 6 7 8 9 10 11 12
Demande 30 15 15 25 33 40 45 45 26 14 25 30
75
P LANIFICATION DE
PRODUCTION DE BICYCLETTES
xni : la quantité produite durant les heures normales du mois i.
xsi : la quantité produite durant les heures supplémentaires du mois i.
si : la quantité stockée a la fin du mois i.
Fonction-objectif :
76
P LANIFICATION DE
PRODUCTION DE BICYCLETTES
Contraintes d’équilibre des stocks
77
P LANIFICATION DE
PRODUCTION DE BICYCLETTES
Capacité de production :
Positivité des variables :
78
P LANIFICATION DE
PRODUCTION DES VERRES
Une entreprise produit 6 types de verres de table par lot de
1000. Les demandes en nombre de lots pour les 12 semaines
a venir est la suivante :
1 2 3 4 5 6 7 8 9 10 11 12
V1 20 22 18 35 17 19 23 20 29 30 28 32
V2 17 19 23 20 11 10 12 34 21 23 30 12
V3 18 35 17 10 9 21 23 15 10 0 13 17
V4 31 45 24 38 41 20 19 37 28 12 30 37
V5 23 20 23 16 10 22 18 30 28 7 15 10
V6 22 18 20 19 18 35 0 28 12 30 21 23
79
P LANIFICATION DE
PRODUCTION DES VERRES
Une entreprise produit 6 types de verres de table par lot de
1000. Les demandes en nombre de lots pour les 12 semaines
a venir est la suivante :
Cout de Cout de Stock Stock Temps Temps Casiers
production stockage initial final min travail machine stockage
V1 100 25 50 10 3 2 4
V2 80 28 20 10 3 1 5
V3 110 25 0 10 3 4 5
V4 90 27 15 10 2 8 6
V5 200 10 0 10 4 11 4
V6 140 20 10 10 4 9 9
80
P LANIFICATION DE
PRODUCTION DES VERRES
Qi,j : la quantité du produit i fabriquée durant la période j.
Si,j : la quantité du produit i stockée a la fin de la période j.
Fonction-objectif :
81
P LANIFICATION DE
PRODUCTION DES VERRES
Contraintes d’équilibre des stocks du produit i
82
P LANIFICATION DE
PRODUCTION DES VERRES
Capacité de production et de stockage durant la période j :