Chapitre 02
Chapitre 02
Chapitre 02
ܼ = ߙ ݔ+ ߚݕ
Avec : x≥0, y≥0 (les contraintes de non – négativité), et vérifiant un ensemble de contraintes
de la forme :
Tout élément (x, y) vérifiant les contraintes est appelé programme admissible. Le problème
est d’abord formalisé sous la forme canonique, les contraintes sont des inéquations.
Où les coefficients ߙ, ߚdoivent avoir une valeur bien déterminée (avec certitude) et
peuvent être positifs, négatifs ou nuls. Par exemple le coefficient ߙpeut représenter un profit
unitaire lié à la production d’une unité supplémentaire du bien ܣainsi la valeur de z est le profit
total lié à la production des différents biens. Supposons que ces variables de décision doivent vérifier
un système d’équations linéaires définis par les inégalités suivantes :
Où les coefficients doivent avoir une valeur bien déterminée (avec certitude) et peuvent
être positifs, négatifs ou nuls.
M1 M2 M3
A 11 mn 7 mn 6 mn
B 9 mn 12 mn 16 n
On supposera que les machines n’ont pas de temps d’inactivité. La disponibilité pour chaque
machine est :
165 heures (9900 minutes) pour la machine M1 ;
140 heures (8400 minutes) pour la machine M2 ;
160 heures (9600 minutes) pour la machine M3.
Formulation en un PL :
Les variables de décisions sont :
x : le nombre d’unités du produit A à fabriquer
y : le nombre d’unités du produit B à fabriquer
Les contraintes outre les contraintes de non-négativité sont :
11 ݔ+ 9 ≤ݕ9900 pour la machine M1
7 ݔ+ 12 ≤ݕ8400pour la machine M2
6 ݔ+ 16 ≤ݕ9600pour la machine M3
Le profit à maximiser est : ܼ = 900 ݔ+ 100ݕ
≥ ݔ0݁ ≥ ݕݐ0
11 ݔ+ 9 ≤ݕ9900
ܿݏ݁ݐ݊݅ܽݎݐ݊൞
7 ݔ+ 12 ≤ݕ8400
6 ݔ+ 16 ≤ݕ9600
La figure 1 aide à comprendre le principe de la résolution dans le cas simplifié où il n'y aurait que
deux variables réelles x et y (représentées par les deux axes) et deux contraintes représentées par deux
droites. La forme standard du programme aurait donc deux variables d'écart e1et e2 en plus des variables
réelles, soit quatre variables en tout. Les axes et les droites des contraintes délimitent le polygone (en blanc)
représentant l'ensemble des solutions possibles. Figure 1
15
Les intersections entre deux droites ou axes (petits cercles) représentent chacune une
solution de base pour laquelle deux variables (réelles ou d'écart), dites variables hors base, sont
égales à zéro et les deux autres variables, dites variables de base, sont positives. Il y a
nécessairement une solution de base qui est optimale. La solution de base initiale est à l'origine des
axes. Pour cette solution de base, ce sont les variables réelles x et y qui sont nulles (hors base) et les
variables d'écart e1et e2 qui sont positives (variables de base). La fonction économique Z égale zéro,
comme les variables réelles. L'algorithme passe successivement d'une solution de base à l'autre en
augmentant la valeur de la fonction économique jusqu'à ce qu'elle ne puisse plus être améliorée.
Parmi les solutions possibles d’un problème, il y a ceux qui vont satisfaire toutes les
contraintes du programme, appelés solutions réalisables, et ceux qui vont satisfaire une partie ou
aucune de ces contraintes, appelés solutions non réalisables. Une représentation graphique des
inégalités (des contraintes) va nous permettre de déterminer l’ensemble des solutions réalisables.
Figure 2
≥ ݔ0, ≥ ݕ0
൝ + 2 ≤ ݕ18
6ݔ
2 ݔ+ 4 ≤ ݕ16
Déterminer sur le graphique l’ensemble des programmes admissibles (sans oublier les
contraintes de positivité), on obtient la portion hachurée (OCBA).
Déterminer la droite parallèle à Δ et la plus éloignée de l’origine O et coupant la
portion hachurée, cette droite est celle qui passe par le point B. voir figure 3
On remarque que la solution optimale du problème est un point extrême qui se trouve sur 16
le bord de l’ensemble des solutions. Une telle solution est dite solution réalisable de base. On peut
admettre le résultat suivant : " Si un programme linéaire admet une solution optimale alors il existe
une solution réalisable de base pour laquelle la fonction objectif atteint la valeur optimale ". Une
méthode de résolution du programme linéaire consiste donc à déterminer les solutions réalisables de
base (les points d’intersection des droites qui forment les contraintes) et à calculer pour chaque
point la valeur de la fonction objectif. La solution du programme linéaire est la solution à qui on
associe la valeur optimale de la fonction objective. Dans le problème de médecine, l’ensemble des
solutions réalisables de base présente 4 points extrêmes A (3, 0), B (2, 3), C(0, 4) et O (0,0). La
valeur de la fonction objective associée respectivement à A, B, C et O est 102, 152, 112 et 0. On vérifie
bien que B est la solution optimale du problème.
Exemple :On remarque que la solution optimale du problème est un point extrême qui se
trouve sur le bord de l’ensemble des solutions. Une telle solution est dite solution réalisable de base.
On peut admettre le résultat suivant : " Si un programme linéaire admet une solution optimale
alors il existe une solution réalisable de base pour laquelle la fonction objectif atteint la valeur
optimale ". Une méthode de résolution du programme linéaire consiste donc à déterminer les
solutions réalisables de base (les points d’intersection des droites qui forment les contraintes) et à
calculer pour chaque point la valeur de la fonction objectif. La solution du programme linéaire est
la solution à qui on associe la valeur optimale de la fonction objective. Dans le problème de
médecine, l’ensemble des solutions réalisables de base présente 4 points extrêmes A (3, 0), B (2, 3), C
(0, 4) et O (0, 0). La valeur de la fonction objective associée respectivement à A, B, C et O est 102,
152, 112 et 0. On vérifie bien que B est la solution optimale du problème.
Coordonnées
Sommets ݔ ݕ Valeurs
O 0 0 0
A 3 0 102
B 2 3 152
C 0 4 112
Exemple : Farid est gérant d'un magasin, il s'interroge sur le linéaire développé (nombre
de mètres de présentation en rayon) à attribuer à deux de produits particulières : A et B. Pour
l'ensemble du rayon A/B, le linéaire développé disponible est actuellement de 70 mètres. Les chiffres
du rayon pour le mois passé donnent les indications suivantes :
Fonction économique : Quel est le problème de Farid ? II cherche à répartir les 70 mètres
linéaires développés dont il dispose entre les deux produits, de sorte qu'il réalise une marge
maximum.
Soit x le nombre de mètres linéaires qu'il convient d'attribuer à A. 17
Soit y le nombre de mètres linéaires qu'IL convient à attribuer à B.
La marge totale peut être alors définie par la relation : Z = 80 x + 60 y. Cette relation
constitue la fonction économique à maximiser.
Contrainte liée au budget de publicité : Le coût par mètre linéaire pour A s'élève à 12.
Donc, pour x mètres, le coût s'établit à 12 x. Le coût par mètre linéaire pour B s'élève à 8. Pour y
mètres, le coût s'établit à 8 y. Soit un coût total de : 12 x + 8 y. Ce coût total ne doit pas dépasser
600 (contrainte budgétaire). La contrainte peut alors s'écrire : 12 x + 8 y < 600.
A B
Coût par mètre linéaire 10 04
Coût pour x mètre linéaire 10 x
Coût pour y mètre linéaire 04 y
Coût total 10x + 04 y
Le budget total disponible ne peut dépasser 380. La contrainte peut alors s'exprimer ainsi:
10 x + 4 y < 380.
Contraintes liées au linéaire disponible : Farid ne pourra pas attribuer un linéaire supérieur
à ce dont il dispose (70 mètres). Ce que l'on peut exprimer par : x + y ≤ 70.
En regroupant l'ensemble des données relatives au problème de Farid, nous pouvons établir
le programme linéaire suivant :
≥ ݔ0, ≥ ݕ0
⎧ 12 ݔ+ 8 ≤ ݕ600
⎪
10 ݔ+ 4 ≤ ݕ380
⎨ ݔ+ ≤ ݕ70
⎪
⎩ = ܼݔܽ ܯ80 ݔ+ 60ݕ
Toutes les valeurs de x et y situées au-delà des points A et B ne sont pas solutions du
programme linéaire car ne respectent pas la contrainte 12 x + 8 y s 600.Les valeurs de x et y situées
au-delà des points C et D sont à éliminer car ne satisfont pas à la contrainte 10 x + 4y s 380.
Les valeurs de x et y situées au-delà des points E et F ne sont pas solutions du programme
linéaire, car ne respectent pas la contrainte : x + y = 70.
Si l'on reporte dans le même repère toutes les représentations des différentes contraintes, on
détermine un espace des valeurs x et y solutions acceptables du programme linéaire. Soit OEGHD,
l'espace des solutions acceptables pour le programme linéaire. Figure 4
C'est au point G que Δ sort complètement du domaine des solutions acceptables. Il suffit
ensuite de lire les coordonnées du point G pour trouver la solution (xG, yG) du programmé linéaire.
Dans notre exemple, G a pour coordonnées : xG =10 et yG= 60. Pour ces valeurs particulières,
la fonction économique Zest maximum : Z = 80 x 10 + 60 x 60.
Remarque : il n'est pas toujours facile de déterminer par lecture graphique la solution du
programme. Ces coordonnées seront alors déterminées par le calcul. Ainsi dans notre exemple, le
point G est le point d'intersection des droites Dl et D3; ses coordonnées vérifient à la fois l'équation
de Dl et l'équation de D3. Il suffit de résoudre le système d'équations suivantes pour trouver xG et yG:
D1: 12x + 8y = 600
D3 :x + y = 70
Par ailleurs, faire glisser une règle parallèlement à la droite Δ n'est pas toujours source de
précision. On peut calculer la valeur de la fonction économique à chacun des points limites de
l'espace des solutions et retenir le point pour lequel la fonction économique est optimale. Dans notre
exemple, on peut se demander si la droite Δ ne sort pas l'espace des solutions acceptables au point
H (de coordonnées xH = 20 et yH = 45). Il suffit alors de calculer la valeur de Z au point H, soit : Z= 80 19
x 20 + 60 x 45 = 4300.
À ce point, la marge obtenue est inférieure à celle dégagée au point G. On montre ainsi que
le point solution est effectivement le point G. On peut aussi proposer un tableau de calcul
systématique de la valeur de Z à chacun des points du polygone des programmes admissibles. Dans
notre exemple, on obtient :
Points O E G H D
࢞ 0 0 10 20 38
࢟ 0 70 60 45 0
Z 0 4200 4400 4300 3040
Règles de transformation du tableau d'une solution de base pour obtenir une meilleure
solution de base : les transformations du tableau consistent à faire entrer une à une dans la base
tout ou partie des variables réelles qui deviendront ainsi positives ce qui accroît progressivement la
valeur de la fonction économique Z. Elles remplacent tout ou partie des variables' d'écart qui
sortent une à une de la base.
Variable entrant dans la base : Désignons les indices de lignes par ݅et les indices de colonnes
par݆.La variable xj* entrant dans la base pour devenir positive est celle pour laquelle le coefficient z i
(dans une colonne j) est le plus grand. C'est ainsi que l'on a le plus de chance d'arriver rapidement à
la valeur maximale de Z puisque le coefficient z1 représente l'accroissement de Z pour une variation
d'une unité de xr
Variable sortant de la base : La variable ei* sortant de la base pour devenir hors base (et
donc nulle) est celle pour laquelle (sur une ligne i) le rapport Ri = bi / a i,j* est le plus petit sans être
négatif. Cette règle a pour effet de garantir qu'aucune variable ne puisse être rendue négative par
la transformation. Les contraintes de non-négativité sont ainsi respectées. Le nom de la variable x i*
entrée dans la base remplace le nom de la variable ei*sortie de la base comme titre de la ligne i*.
Pivot : L'élément ai*,j* situé à l'intersection de la colonne xj* (variable entrant) et de la ligne
ei* (variable sortant) est appelée pivot.
Transformation des autres lignes du tableau : chaque élément ai,j se transforme en a’ i,j =
ai,j – (ai,j*/pivot) ai*,j*.
Après transformation, la colonne d'une variable de base comprend un I (là où était le pivot)
et tous les autres éléments de la colonne sont des zéros. Les lignes dont l'élément ai,j* (sur la colonne
de la variable entrant) vaut zéro ne sont pas modifiées par la transformation. Les colonnes dont
l'élément ai*,j (sur la ligne de la variable sortant) vaut zéro ne sont pas modifiées par la
transformation.
Première étape : écrire le problème sous forme standard. On modifie la forme canonique
du problème en introduisant des variables d’écart positives ou nulles permettant d’écrire les
contraintes sous forme d’égalités.
La marge sur la vente d’une unité de bien A est de 540, et la marge sur la vente d’une
unité de bien B est de 280. Déterminer les quantités x et y de biens A et B qu’ils doivent produire
quotidiennement pour obtenir la marge maximale.
Production
ݔunités de bien A ݕunités de bien B Somme
Aziz 6x 2y 6 x + 2 y (heures de travail)
Bilal 2x 4y 2 x + 4 y (heures de travail)
Compte tenu de temps disponible de chacun d’eux, on obtient les contraintes suivantes :
La forme standard : 21
Déterminer le maximum de Z = 540 x + 280 y + 0݁ଵ+ 0݁ଶ
Avec : ≥ ݔ0 , ≥ ݕ0, ݁ଵ ≥ 0, ݁ଶ ≥ 0
Les variables d’écarts donnent le nombre d’heures inutilisées par chacun des ouvriers.
Second critère de Dantzig : Pour chaque équation, on calcule le rapport : Second membre/
Coefficient de la variable entrante, le plus petit rapport détermine la variable sortante.
1 1
ݔ+ ൬ ൰ ݕ+ ൬ ൰݁ଵ = 3
൞ 3 6
10 1
൬ ൰ ݕ− ൬ ൰݁ଵ + ݁ଶ = 10
3 3
Exprimons à nouveau les variables dans la base et Z en fonction des variables hors base.
1 3
= ݕ− ൬ ൰݁ଵ + ( )݁ଶ = 3
10 10
1 1
ݔ+ ൬ ൰݁ଵ − ൬ ൰݁ଶ = 2
൞ 5 10
1 3
ݕ− ൬ ൰݁ଵ + ( )݁ଶ = 3
10 10
Dans l'expression de Z, les variables sont toutes affectées de coefficients négatifs ou nuls. Il
n'est plus possible d'augmenter la valeur de Z.
Lorsque, dans l'expression de Z en fonction des variables hors base, toutes les variables sont
affectées de coefficients négatifs ou nuls, on a atteint le maximum.
Dans ce dernier tableau, les coefficients de la fonction économique sont tous négatifs ou
nuls, on sait donc que l'on a atteint le maximum. Le tableau 3 correspond à la dernière forme du
problème obtenue lors de la résolution algébrique :
Lecture des tableaux successifs : Les variables hors base ont toujours la valeur 0.La valeur
des variables dans la base se lit directement dans la colonne « seconds membres » du tableau
considéré. La valeur de Z pour chaque programme admissible est l'opposé du nombre encadré sur
la ligne de Z.
Si Aziz et Bilal produisent 3 unités de A et 0 unité de B, Albert occupe toutes ses heures de
travail, Bernard dispose encore de 10 heures disponibles, et la marge est de 1620.
Les prix de vente de ces deux produits s'élèvent respectivement à 790 le m 3 pour le produit
A et 1840 le m3 pour le produit B. La direction se fixe comme objectif la maximisation la marge sur
coûts variables totale. Les capacités de chaque atelier sont limitées à :
800 unités d'oeuvre pour l'atelier 1, 25
Questions :
1) Écrire le programme linéaire sous forme canonique.
2) Présenter le premier tableau selon la méthode de Dantzig. Effectuer la première
transformation.
3) Si la dernière matrice est la suivante,
࢞ ࢟ Seconds
membres
ݔ 1 0 0 3/19 853/2 850/19
݁ଵ 0 0 1 1/19 -285/2 315/19
ݕ 0 1 0 4/19 -1137/2 2350/19
Coefficients économiques 0 0 0 -60/19 -17005/2 -557750/19
Exemple : Reprenons le cas des deux ouvriers complémentaires, Aziz et Bilal. Une
entreprise Edésire les embaucher. Elle emploierait Aziz 18 heures par jour et Bilal 16 heures. Cela
leur rapporterait : u Dh de l'heure pour Aziz et v Dh de l'heure pour Bilal. Déterminer u et v tels
que le coût soit minimal pour l'entreprise et l'offre globalement acceptable pour les ouvriers (qui
cesseraient de produire A et B). Pour une journée de travail, le coût pour l'entreprise sera z = 18 u +
16 v qu'il faut donc minimiser. Pour les deux ouvriers :
produire I unité de A rapportait 540, or cela demandait 6 h d'Aziz et 2 h de Bilal.
S'ils consacraient ces heures à l'entreprise E (au lieu de produire le bien A) cela leur
rapporterait globalement 6u + 2v. On doit donc avoir : 6u + 2v ≥540. Et de même :
2u + 4v ≥280.
Le Problème à résoudre est donc le suivant : Minimiser z = 18u + 16v. Avec : u > 0, v >0
Sous les contraintes :
6 ݑ+ 2 ≥ ݒ540
ቄ
2 ݑ+ 4 ≥ ݒ280
A: Résolution graphique :
Représenter dans le plan l'ensemble des programmes admissibles.
Tracer la droite (Δ) d'équation ߙu + ߚv = 0 (elle passe par l'origine).
Déterminer la droite parallèle à (Δ) la plus proche de l'origine 0 du repère, mais
cou= pant l'ensemble des programmes admissibles en un point au moins. En ce point
Z est minimum.
Traçons les droites :
(D1) d'équation : 6 u + 2 v = 540
(D2) d'équation : 2 u + 4 v = 280
(Δ) d'équation : 18 u + 16 v = 0
Parmi les droites parallèles à (Δ) et coupant cette portion de plan, la plus proche de 0 est 26
celle qui passe par le point noté P sur la figure. On sait que z est minimum en ce point. On peut
déterminer les coordonnées de P graphiquement ou en résolvant le système :
6 ݑ+ 2 = ݒ540
ቄ
2 ݑ+ 4 = ݒ280
Problème 1 Problème 2
Maximum Z = 540 x + 280 y Minimum Z = 18 u + 16 v
࢞ ≥ et ࢟ ≥ ࢛ ≥ et ≥ ݒ0
Sous les contraintes : Sous les contraintes :
࢞ + ࢟ ≤ ૡ 6 ݑ+ 2 ≥ ݒ540
ቄ
࢞ + ࢟ ≤ 2 ݑ+ 4 ≥ ݒ280
2 -Théorèmes généraux : l'intérêt du passage au dual est de pouvoir, dans certains cas,
résoudre le problème dual à partir de la solution du problème primal, et ce grâce aux théorèmes
suivants.
6 ݑ+ 2 = ݒ540
ቄ
2 ݑ+ 4 = ݒ280
3 : Méthode du simplexe :Telle que nous l'avons exposée plus haut, cette technique ne
convient pas a priori les problèmes de minimisation, ne serait-ce que du fait que l'on part du
programme lequel toutes les variables réelles sont nulles. Or ce dernier n'est en général pas un
programme admissible. Par exemple dans le problème 2, u = 0, v = 0 ne vérifient pas les contraintes.
Il est possible cependant d'adapter l'algorithme de Dantzig aux problèmes de minimisation.
, , ,
P1 =
, −, −,
/ ൮ ൲ = P1 A1 = A2
, −, −, ૠ
−/
൮ ൲ − − −ૡ
−/
−/
P2 = − ૡ
− −
−, /, ൮ ൲ = P2 A2 = A3
ૠ −
/, − − −
൮ ൲ −ૡ
−, /,
−/,