Académique Documents
Professionnel Documents
Culture Documents
Recherche Opérationnelle
Travaux dirigés - Dossier 1
Exercice 2 Pour nourrir ses oiseaux, un éleveur peut utiliser soit des graines de sarrasin, soit
des graines de tournesol. Le tableau suivant donne, en fonction des graines utilisées, les apports en
grammes de graisse, de protéines et de fibres.
Sarrasin Tournesol
Graisse 0,1 0,2
Protéine 0,3 0,3
Fibres 0,4 0,3
Coût 12 10
L’éleveur doit subvenir aux besoins journaliers de ses oiseaux qui sont de 30 grammes de graisses, 60
grammes de protéines et 65 grammes de fibres.
Travail à faire :
1. Ecrire le programme linéaire associé à ce problème. Préciser la démarche de la modélisation.
2. Déterminer les quantités optimales de graines de façon à satisfaire aux besoins journaliers et ce pour
un coût total minimal. Utiliser la méthode du simplexe puis la méthode graphique.
3. Ecrire le dual associé à ce programme. Le résoudre à l’aide des relations d’exclusion.
2. Déterminer les quantités optimales de graines de façon à satisfaire aux besoins journaliers et ce pour
un coût total minimal. Utiliser la méthode du simplexe puis la méthode graphique.
2-a) Résolution graphique
Cette méthode, adaptée à la résolution des problèmes à deux variables, se déroule ainsi : -
détermination du polygone des solutions possibles : intersection des demi - plans représentant
les contraintes techniques. L’ensemble des points de ce polygone vérifie le système des contraintes
techniques et forme l’ensemble des solutions possibles. Quant à la solution optimale, elle se situe
sur la frontière du polygone et correspond à un sommet ;
- détermination de la solution optimale en substituant progressivement dans la fonction économique
et en calculant les valeurs de cette dernière pour les coordonnées des différents sommets du polygone
(méthode énumérative).
Représentation graphique :
Le polygone des solutions possibles est l’intersection des demi- plans représentant les contraintes tech-
niques :
Les contraintes sont d’abord exprimées sous forme d’égalités. Ainsi :
La droite correspondant à la première contrainte D1 : 0, 1x1 + 0, 2x2 = 30 passe par les 2 points
(0, 150) et (300, 0). Cette droite coupe le plan en deux demi- plans. Nous retenons le demi- plan
supérieur qui vérifie la contrainte.
La droite correspondant à la deuxième contrainte : D2 : 0, 3x1 + 0, 3x2 = 60 passe par les 2
points (0, 200) et (200, 0). Nous retenons le demi- plan supérieur qui vérifie la contrainte.
La droite correspondant à la troisième contrainte : D3 : 0, 4x1 + 0, 3x2 = 65 passe par les 2 points
(0, 3 ) et ( 325
650
2 , 0). Nous retenons le demi- plan supérieur qui vérifie la contrainte.
L’intersection des 3 demi–plan donne le polygone des solutions possibles délimité par les sommets
3 ), B = D2 ∩ D3 = (50, 150), C = D1 ∩ D2 = (100, 100)etD(300, 0) (surface coloriée non bornée).
A(0, 650
Sommet Valeur de Z
A(0, 650
3 ) 3 ≃ 2166, 67
Z = 12.0 + 10. 650
B(50, 150) Z = 12.50 + 10.150 = 2100
C(100, 100) Z = 12.100 + 10.100 = 2200
D(300, 0) Z = 12.300 + 10.0 = 3600
Donc pour minimiser le coût, l’éleveur doit acheter 50 unités de mesure de sarrasin
et 150 unités de mesure de tournesol, ce qui donne un coût total minimal égal à 2100.
(Solution optimale unique).
2-b) Résolution par les tableaux de simplexe
On écrit d’abord le programme sous la forme standard. On introduit à cet effet, trois variables
d’écart non négatives e1 , e2 et e3 [une variable d’écart par contrainte]. Ces variables ont un coeffi-
cient économique nul, donc n’influencent pas la fonction–objectif : elles correspondent à des niveaux
d’activités fictives. On introduit également trois variables arificielles a1 , a2 et a3 (une vavriable artifi-
cielle par contrainte). Ce qui donne la forme standard du problème :
Exercice 3 Une manufacture, qui fabrique et vend 3 produits, utilise 3 ressources pour cette
production : services techniques (ST), main d’oeuvre (MO) et services administratifs (SA).
Le tableau suivant indique le nombre d’heures requises pour fabriquer une unité de chaque produit;
La dernière colonne donne le profit unitaire (en DH/unité) asssocié aux différents produits; Quant à la
dernière ligne elle précise le nombre d’heures disponibles de chacune des ressources.
xi ≥ 0, ∀i
2. Déterminer et décrire le plan de production optimal. Existe-il un autre plan de production assurant
le même profit?
Il s’agit de résoudre le PL obtenu et de discuter de la question de l’unicité de solution.
Ecrivons d’abord la forme standard (PL=), en introduisant les variables d’écart ei :
Dans le tableau initial, nous prendrons comme base V B = {e1 , e2 , e3 }, et comme variables hors base
le reste des variables V HB = {x1 , x2 , x3 }.
HH
H Cj
H 10 6 4 0 0 0 Valeurs
Base HH
H
coef. var. x1 x2 x3 e1 e2 e3
0 e1 1 1 1 1 0 0 100
(T1 )
0 e2 10 4 5 0 1 0 600
0 e3 2 2 6 0 0 1 300
Zj 0 0 0 0 0 0 0
Cj − Z j 10 6 4 0 0 0 —–
* Le tableau de simplexe (T1 ) n’est pas optimal puisque le coût marginal d’une VHB est strictement
positif : Cj − Zj (x1 ) = 10, par exemple; (critère pour un problème de maximisation)
* la variable entrante est x1 car max{10, 6, 4} = 10; (problème de maximisation)
100 600 300
* la variable sortante est e2 car min{ , , } = 60;
1 |{z}
|{z} 10 |{z}
2
100 60 150
Pivot : p = 10
−1 p −2 p
Selon la méthode de Pivot : Lp → 1 p
10 L , L1 → 1
10 L + L , L2 → 2
10 L + L . (Voir cours,
vidéo 4)
Le tableau (T3 ) est optimal puisque tous les coûts marginaux des VHB sont négatifs. La solution
optimale est atteinte au point (100/3, 200/3, 0), avec Zmax = 2200/3.
Donc, la valeur maximale du profit global est de (2200/3) DH. Elle est réalisée en produisant
(100/3) unités du produit P1 et (200/3) unités de P2 . (rien pour P3 ).
Ce plan de production optimal est unique puisque dans le tableau optimal (T3 ), les coûts marginaux
des VHB sont tous strictement négatifs.
O B1 E A2
x1 0 0 95/3 55
x2 0 90 175/3 0
Z ′ = 10x1 + 6x2 0 540 2000/3 550
4. Ecrire le programme dual du PL initial et en donner une solution par le théorème des relations
d’exclusion. Interpréter
1 1 1
Dans le primal, la matrice des coefficients techniques est donnée par : A = 10 4 5. Sa matrice
2 2 6
1 10 2
t
transposée est égale à : A = 1 4 2.
1 5 6
Le programme dual s’écrit donc :
• Rappelons que le programme primal possède une solution unique donnée, selon le tableau optimal
(T3 ), par : (x1 , x2 , x3 ) = (100/3, 200/3, 0) et (e1 , e2 , e3 ) = (0, 0, 100) avec Zmax = 2200/3.
Donc, selon le théorème de dualité, le programme dual ci-dessus admet également une solution otimale
2200
finie (p1 , p2 , p3 ) verifiant W (p1 , p2 , p3 ) = Zmax = .
3
• En appliquant les relations d’exclusion, on obtient :
⋆ x1 = 100/3 ̸= 0 ⇒ la 1ere contrainte dans le dual est saturée : p1 + 10p2 + 2p3 = 10 ;
⋆ x2 = 200/3 ̸= 0 ⇒ la 2e contrainte dans le dual est saturée : p1 + 4p2 + 2p3 = 6;
Interprétation : Lorsqu’à l’optimum, le profit global est réalisé pour une production (non nulle) en
un produit Pi , alors le prix payé pour la consommation équivalente en les différentes ressource pour
chaque unité de production doit être égal au profit attendu. Autrement dit : p1 + 10p2 + 2p3 = 10 et
p1 + 4p2 + 2p3 = 6.
⋆ e3 = 100 ̸= 0 (la 3e contrainte dans le primal n’est pas saturée en (100/3, 200/3, 0) ⇒ la 3e variable
de décision dans le dual est nulle : p3 = 0.
Interprétation : A l’optimum, la resource en service administratif n’est pas pleinement utilisée (e3 ̸=
0). La quantité disponible en cette resource est donc inutilement elevée. Son prix unitaire est par
conséquent nul (p3 = 0).
En conclusion, la résolution du système linéaire formé des 3 équations obtenues :
p1 + 10p2 + 2p3 = 10
p1 + 4p2 + 2p3 = 6
p3 = 0
Exercice 4 On suppose que la modélisation d’un projet aboutit au programme linéaire suivant :
HH
H H Cj 12 6 0 0 0 M Valeurs
Base HHH
coef. var. x1 x e1 e2 e3 a
2
0 e1 -1 2 1 0 0 0 15
(T1 )
0 e2 0 1 0 1 0 0 14
M a 1 1 0 0 -1 1 18
Zj M M 0 0 -M M 18M
Cj − Z j 12-M 6-M 0 0 M 0 —–
* Le tableau de simplexe (T1 ) n’est pas optimal puisque le coût marginal Cj − Zj (x1 ) = 6 − M < 0,
(Problème de minimisation);
* la variable entrante est x1 car min{(12 − M ), (6 − M )} = 6 − M ; (Problème de minimisation)
2 , 1 , 1 }=
* la variable sortante est e1 car min{ 15 14 18 15
2 ;
Pivot : p = 2
−1 p
Selon la méthode de Pivot : Lp → 12 Lp , L1 → 2 L + L1 .
2. Ecrire le programme dual et en donner une solution optimale à l’aide des relations d’exclusion.
Afin de bien écrire le dual pour un problème de minimisation, on rend d’abord toutes les inégalités
des contraintes techniques sous la forme ” ≥ ” .
Ici les 1ère et 2e contraintes deviendront : x1 − 2x2 ≥ −15 et −x2 ≥ −14 .
1 −2
La matrice des coefficients techniques s’écrit donc : A = 0 −1.
1 1
!
1 0 1
Sa matrice transposée est égale à : t A = .
−2 −1 1
Le programme dual s’écrit donc :
Max W = −15p1 − 14p2 + 18p3
s.c. pi ≥ 0, ∀i
p1 + p3 ≤ 12
−2p1 − p2 + p3 ≤ 6
⋆ Rappelons que le programme primal possède une solution unique donnée, selon le tableau optimal
(T3 ), par : (x1 , x2 ) = (7, 11) et (e1 , e2 , e3 ) = (0, 3, 0) avec Zmin = 150.
Donc, selon le théorème de dualité, le programme dual ci-dessus admet également une solution optimale
finie (p1 , p2 , p3 ) verifiant W (p1 , p2 , p3 ) = Zmin = 150.
⋆ En appliquant les relations d’exclusion, on obtient :
x1 = 7 ̸= 0 ⇒ la 1ere contrainte dans le dual est saturée : p1 + p3 = 12 ;
x2 = 11 ̸= 0 ⇒ la 2e contrainte dans le dual est saturée : −2p1 − p2 + p3 = 6;
e2 = 3 ̸= 0 (la 3e contrainte dans le primal n’est pas saturée en (7, 11)) ⇒ la 2e variable de décision
dans le dual est nulle : p2 = 0.
En résolvant le système linéaire formé des 3 équations obtenues
p1 + p3 = 12
−2p1 − p2 + p3 = 6
p2 =0
on obtient : p1 = 2, p2 = 0, p3 = 10.
Vérification du théorème de la dualité :
En effet :
15
D1 : − x1 + 2x2 = 15 → A1 (5, 10) B1 (0, )
2
D2 : x2 = 14 → B2 (0, 14)
D3 : x1 + x2 = 18 → A3 (18, 0) B3 (0, 18)
(
−x1 + 2x2 = 15
Les coordonnées du point F = D1 ∩ D3 sont obtenues par . Donc F (7, 11).
x1 + x2 = 18
(
−x1 + 2x2 = 15
De même pour le point G = D1 ∩ D2 , on résout . Par conséquent G(13, 14).
x2 = 14
Enfin, il nous reste de comparer les valeurs de Z sur les 3 sommets :
A3 F G
x1 18 7 13
x2 0 11 14
Z = 12x1 + 6x2 216 150 240
En conclusion, on retrouve la solution unique du programme linéaire atteinte au point F (7, 11) avec
Zmin = Z(7, 11) = 150.