ChapX Programmation Lineaire E16
ChapX Programmation Lineaire E16
ChapX Programmation Lineaire E16
L’objectif du présent chapitre est de voir comment on peut résoudre des problèmes où on veut
maximiser ou minimiser une fonction qui dépendant de plusieurs variables qui sont soumises à
plusieurs contraintes.
Recherche opérationnelle : (aussi appelée aide à la décision) peut être définie comme l'ensemble des
méthodes et techniques rationnelles orientées vers la recherche de la meilleure façon d'opérer des choix
en vue d'aboutir au meilleur résultat possible.
Optimisation : recherche du maximum (ou du minimum) d’une fonction ainsi que des valeurs des
variables qui maximisent (ou minimisent) la fonction.
Exercices
Où sont les maximums et minimums (absolus) de ces fonctions?
y x3 3x 2 x 2 3x avec 0 x 4 y 2x avec 0 x 1 x1 2 x2 20
une variable indépendante une variable indépendante, 2 x x 22
fonction linéaire (droite) z 20 x1 30 x2 avec 1 2
x1 x2 12
x1 0, x2 0
deux variables indépendantes,
fonction linéaire (plan)
Programmation linéaire (ou optimisation linéaire) : branche des mathématiques qui s’intéresse à
l’optimisation de fonctions linéaires comportant plusieurs variables indépendantes soumises à des
contraintes pouvant être représentées à l’aide d’équations ou d’inéquations linéaires.
Fonction économique : fonction qui traduit ce que l’on veut maximiser ou minimiser (très souvent de
l’argent, mais pas toujours).
Rappel :
Une fonction linéaire à plusieurs variables peut être traduit par une équation de la forme :
y a1 x1 a2 x2 ... an xn
où y est la variable dépendante,
a1 , a2 ,..., an sont des coefficients constants réels,
x1 , x2 ,..., xn sont des variables indépendantes.
Exercices
Parmi ces fonctions, indiquez lesquelles correspondent à une fonction linéaire ?
Question 1
A : y x 3 3x 2 x 2 3x B: y 3x C: P x 2 D: M sin t cos t
Question 2
A : y ln x B: P 4 x 7 y 3z 9w C: P e x +1000 D: P 4 x 7 y
Question 3
A : y log 2 x B: y x 5 C: P 3x1 45x2 0,78x3 D: M xyz x 3z
Remarque : une fonction linéaire peut être représentée par une droite, un plan, un ‘’hyper-plan’’, etc.
Le directeur d’une manufacture de meubles décide de fabriquer deux nouveaux modèles de tables ;
le modèle « régulier » et le modèle « chic ». Le modèle « régulier » requière 1 heure de sciage, 2
heures d’assemblage et 1 heure de finition. Le modèle « chic » nécessite 2 heures de sciage, 1 heure
d’assemblage et 1 heure de finition. La manufacture dispose quotidiennement de 20 heures à
l’atelier de sciage, de 22 heures à l’atelier d’assemblage et de 12 heures à l’atelier de finition. Les
profits que la compagnie peut réaliser pour chacun des modèles sont de 20$ pour le modèle
« régulier » et de 30$ pour le modèle « chic ». Le directeur désire déterminer le nombre de tables de
chaque modèle qu’il doit fabriquer par jour pour obtenir un profit maximal.
Solution : ce problème est assez simple puisqu’il ne contient que 2 variables de décisions. Nous allons
utiliser la méthode graphique. Voici les étapes à suivre.
x1 2 x2 20 (sciage)
Droite frontière D1 : x1 2 x2 20
Truc pour la tracer :
trouver 2 points x1 0 x2 10
x2 0 x1 20
(0,10) et (20,0)
0
10
Si la valeur optimale d’une fonction économique d’un problème de programmation linéaire existe, alors
cette valeur est atteinte à au moins un des sommets du polygone convexe délimitant le domaine
réalisable.
Reprenons le même problème que dans le dernier exemple pour vérifier que nous arrivons à la même
solution en appliquant la méthode du simplexe. Les trois premières étapes sont identiques à la méthode
graphique.
3. Définir les contraintes à l’aide d’inéquations linéaires. Ne pas oublier les contraintes de
non-négativité. La fonction économique et ses contraintes ainsi définies constituent la
forme canonique du problème.
x1 2 x2 20
2 x x 22
1 2
x1 x2 12
x1 0, x2 0
4. Traduire toutes les inéquations en équations en ajoutant des variables d’écart aux
contraintes. La nouvelle formulation du problème est appelée forme standard.
e1 : variable d’écart de la contrainte 1, explication :
ce qu’il manque à ________ pour atteindre 20
Forme Forme standard
canonique
x1 2 x2 20 x1 2 x2 e1 20
2 x x 22 2 x x 22
1 2 1 2
x1 x2 12 x1 x2 12
x1 0, x2 0 20 x1 30 x2 P 0
P 20 x1 30 x2
Chapitre X : programmation linéaire, page 6
« Méthode de Gauss modifiée »
1 2 1 0 0 0 20
2 1 0 1 0 0 22
1 1 0 0 1 0 12
20
30 0 0 0 1
0
7. Déterminer la ligne du pivot. Pour ce faire, diviser chaque élément de la dernière colonne
(sauf le dernier élément) par les éléments correspondant de la colonne du pivot. La ligne où
le résultat de la division est le plus petit sans être négatif est la ligne du pivot.
L’idée : si toutes les variables étaient = 0 sauf x2, quelle ligne serait la plus contraignante pour x2 ?
C’est la ligne du pivot.
9. Annuler tous les éléments de la colonne du pivot sauf le pivot lui-même en faisant des
opérations élémentaires de lignes de la forme
a Li b L p Li (ligne du pivot toujours en 2e)
0
ligne
du
pivot
11. Encadrer les pivots, ce sont les éléments qui sont les seuls à être non nuls dans leur
colonne.
L’idée : les variables dont la colonne n’a pas de pivot sont des variables libres. L’algorithme garantie
qu’en fixant ces variables libres = 0, la solution obtenue est la solution qui maximise P.
12. Rendre tous les pivots unitaires en multipliant leur ligne par une constante appropriée au
besoin. Rendre le coefficient de la fonction économique à 1 en multipliant la dernière
ligne par une constante appropriée.
(Remarque : cette étape est facultative lorsqu’on travaille à la main. Elle est utile lorsqu’on programme
l’algorithme à l’ordinateur.)
13. Déterminer la solution optimale. Pour ce faire, poser toutes les variables libres égales à 0.
Les variables libres sont celles dont la colonne ne contient pas de pivot.
(Si l’étape 12 a été effectuée, la réponse se trouve dans la colonne de droite.)
4. Forme standard : traduire toutes les inéquations en équations en ajoutant des variables
d’écart aux contraintes. La nouvelle formulation du problème est appelée forme standard.
9. Annuler tous les éléments de la colonne du pivot sauf le pivot lui-même en faisant
des opérations élémentaires de lignes de la forme a Li b L p Li
0
ligne
du
pivot
10. Répéter les étapes 6,7,8 et 9 jusqu’à ce que tous les éléments de la dernière ligne soient négatifs
ou nuls.
11. Encadrer les pivots, ce sont les éléments qui sont les seuls à être non nuls dans leur colonne.
12. (FACULTATIF)Rendre tous les pivots unitaires en multipliant leur ligne par une constante
appropriée au besoin. Rendre le coefficient de la fonction économique à 1 en multipliant la
dernière ligne par une constante appropriée.
13. Déterminer la solution optimale. Pour ce faire, poser toutes les variables libres égales à 0. Les
variables libres sont celles dont la colonne ne contient pas de pivot.
Exercice 1
Problème : On cherche à maximiser z 8x1 12 x2 9 x3 soumise aux contraintes
4 x1 4 x2 x3 24
4 x 12 x 9 x 72
1 2 3
4 x1 3 x3 24
x1 0, x2 0, x3 0
Trouver la forme standard, poser le problème sous forme matricielle et trouver le premier pivot.
Exercice 2
Problème : On cherche à maximiser z 3x1 3x2 soumise aux contraintes
x1 4 x2 12
2 x x 10
1 2
x1 0
x2 0
Trouver la forme standard, poser le problème sous forme matricielle et trouver le premier pivot.
Exercice 4
Voici la matrice finale d’un problème à 3 variables de décision après avoir appliqué la méthode du
simplexe. Trouver la solution optimale si les variables sont x1 x2 et x3 la fonction économique est z.
1 0 0 0,6667 -0,333 0 0 160
0 1 1 -0,333 0,6667 0 0 160
0 0 1 -0,167 -0,167 0,5 0 80
0 0 0 -3,333 -3,333 0 -1 -3200
2 1 1 1 0 0 0 480
0 3 3 -1 2 0 0 480
0 1 5 -1 0 2 0 480
0 5 5 -5 0 0 -1 -2400
2 x1 x2 x3 480
x 2 x 2 x 480
1
z 10 x1 10 x2 10 x3 avec
2 3
x1 x2 3x3 480
x1 0, x2 0, x3 0
Réponse : La solution optimale est atteinte à (160; 160; 0). Le profit est alors de 3 200$.
Remarque: en faisant un choix de pivot différent, on peut trouver le même profit à (160; 80; 80) et
(160; 96; 64).
x1 4 x2 12
2 x x 10
1 2
1. Maximiser z 3x1 3x2 , sujette aux contraintes suivantes :
x1 0
x2 0
a) Par la méthode graphique
b) Par la méthode du simplexe.
x1 x2 13
5 x 2 x 50
1 2
RÉPONSES
1. Z=18 à (4,2)
2. Z=96 à (0,12)
3. Z=3400 à (10,2)
4. Z=396 à (4,5)
5. Z=130 à (20,60,0)
Les exercices surlignés sont une présélection pour faire un survol complet de la matière en peu
d’exercices. Je vous recommande de faire la présélection d’abord, puis de compléter les autres exercices
ensuite.
Exercices tirés de :
AMYOTTE, Luc. Introduction à l’algèbre linéaire et à ses applications, Quatrième édition, ERPI,
2015. 540 p.
Chapitre Exercices
Algorithme du simplexe (sans contexte)
Voir p.14 des notes de cours # 1, 2, 3, 4, 5