Vous êtes sur la page 1sur 50

Recherche Opérationnelle:

Programme Linéaire: Formulation, modélisation


& Résolution graphique

Version 1 - 2014
Programmation linéaire: Formulation
Les étapes de formulation d’un PL

Généralement il y a quatre étapes à suivre pour pouvoir construire le modèle


d'un programme linéaire :

1. Identifier les variables du problème à valeur non connues (variable de


décision) et les représenter sous forme symbolique (exp. x1, y1 ).

2. Identifier les restrictions (les contraintes) du problème et les exprimer par


un système d’équations linéaires.

3. Identifier l’objectif ou le critère de sélection et le représenter sous une


forme linéaire en fonction des variables de décision.

4. Spécifier si le critère de sélection est à maximiser ou à minimiser.

RO 1
Programmation linéaire: Formulation
Formulation théorique

Un programme linéaire (PL) est un problème d’optimisation qui consiste à


maximiser ou à minimiser une fonction objectif linéaire de n variables de
décision en satisfaisant certaines équations et inégalités dites contraintes.

En langage mathématique, on décrira de tels modèles de la manière suivante :

RO 2
Programmation linéaire: Formulation
Formulation théorique

Un programme linéaire (PL) est un problème d’optimisation qui consiste à


maximiser ou à minimiser une fonction objectif linéaire de n variables de
décision en satisfaisant certaines équations et inégalités dites contraintes.

En langage mathématique, on décrira de tels modèles de la manière suivante :

max ou min  c1 x1  c2 x2    c N xN


sous les contraintes a11x1  a12 x2    a1N x N  b1
a21x1  a22 x2    a2 N x N  b2

aM 1 x1  aM 2 x2    aMN x N  bN
x1  0, x2  0, , x N  0

RO 3
Programmation linéaire: Formulation
Formulation théorique

max ou min  c1 x1  c2 x2    c N xN


sous les contraintes a11x1  a12 x2    a1N x N  b1
a21x1  a22 x2    a2 N x N  b2

aM 1 x1  aM 2 x2    aMN x N  bN
x1  0, x2  0, , x N  0

1. Les variables de décision du problème sont positives et ils prennent des


valeurs fractionnaires. Si elle est violée: Programmation en nombres
entiers

RO 4
Programmation linéaire: Formulation
Formulation théorique

max ou min  c1 x1  c2 x2    c N xN


sous les contraintes a11x1  a12 x2    a1N x N  b1
a21x1  a22 x2    a2 N x N  b2

aM 1 x1  aM 2 x2    aMN x N  bN
x1  0, x2  0, , x N  0

2. Le critère de sélection de la meilleure décision est décrit par une


fonction linéaire de ces variables. La fonction qui représente le critère
de sélection est dite fonction ˝objectif˝ (ou fonction coût).

RO 5
Programmation linéaire: Formulation
Formulation théorique

max ou min  c1 x1  c2 x2    c N xN


sous les contraintes a11x1  a12 x2    a1N x N  b1
a21x1  a22 x2    a2 N x N  b2

aM 1 x1  aM 2 x2    aMN x N  bN
x1  0, x2  0, , x N  0

3. Les restrictions relatives aux variables de décision peuvent être


exprimées par un ensemble d’équations linéaires. Ces équations
forment l’ensemble des contraintes.

RO 6
Programmation linéaire: Formulation
Formulation théorique

max ou min  c1 x1  c2 x2    c N xN


sous les contraintes a11x1  a12 x2    a1N x N  b1
a21x1  a22 x2    a2 N x N  b2

aM 1 x1  aM 2 x2    aMN x N  bN
x1  0, x2  0, , x N  0

4. La contribution de chaque variable est indépendante de la valeur des


autres variables et est proportionnelle à leur valeur. Si elle est violée:
Programmation non linéaire

RO 7
Programmation linéaire: Formulation
Formulation théorique

max ou min  c1 x1  c2 x2    c N xN


sous les contraintes a11x1  a12 x2    a1N x N  b1
a21x1  a22 x2    a2 N x N  b2

aM 1 x1  aM 2 x2    aMN x N  bN
x1  0, x2  0, , x N  0

5. Les paramètres du problème en dehors des variables de décisions ont


une valeur connue avec certitude. Si elle est violée Programmation
stochastique

RO 8
Programmation linéaire: Formulation
Formulation théorique

• Forme canonique
max c T x
s.c Ax  b
x0
• Forme standard
max c T x
s.c Ax  b
x0
Avec :
• x est le vecteur des inconnues, de dimension n.
• A est la matrice des contraintes, de dimension m×n.
• b est le terme constant, de dimension m.
• c est le gradient de la fonction objectif de dimension n .
RO 9
Programmation linéaire: Formulation
TERMINOLOGIE DU MODÈLE

max c T x
s.c Ax  b
x0
• Activités
– Ensemble des actes et opérations à effectuer
– j = 1,…n activités
• Ressources
– Moyens disponibles pour effectuer les activités
– bi, i = 1,…m ressources
• Quantité requise de ressource
– Quantité unitaire de ressources consommées pour chaque activité aij
• Niveau activation
– Quantité de ressources affectée à une activité
– xj = niveau d’activation de l’activité j
• Coût ou profit
– Mesure de performance de l’allocation des ressources aux activités cj
RO 10
Programmation linéaire: Terminologie
max cT x
s.c Ax  b
x0
l  xu
• x1,…xn : variables de décisions
• La fonction linéaire à optimiser cTx est la fonction objectif ou fonction coût.
• Les contraintes prennent la forme d’équations et d’inéquations linéaires.
• Les contraintes de la forme l ≤ x ≤ u sont appelées des contraintes de
bornes. Elles se résument souvent à des contraintes de non-négativité x ≥ 0
• Si le vecteur x satisfait toutes les contraintes, x est une solution admissible.
• L’ensemble de toutes les solutions admissibles est domaine admissible D.
• Une solution admissible x* qui maximise la fonction objectif (i.e. cT x* ≥ cT x
pour tout x admissible) est la solution optimale.
• La valeur d’une solution est la valeur de la fonction objectif en cette
solution.
RO 11
Programmation linéaire: Terminologie

max c T x
s.c Ax  b
x0
l  xu
• Solution réalisable
– Solution où toutes les contraintes du modèle sont satisfaites
• Zone de solution
– Ensemble de toutes les solutions réalisables
• Solution optimale
– Solution réalisable où la fonction objectif atteint la meilleure valeur,
maximum ou minimum
– Plusieurs solutions optimales possibles

RO 12
Programmation linéaire: Formulation
Autres formes d’un programme linéaire
 Un programme linéaire peut se mettre sous de multiples formes, toutes
équivalentes: minimisation maximisation : min f(x) = −max (−f(x))

RO 13
Programmation linéaire: Formulation
Autres formes d’un programme linéaire
 Un programme linéaire peut se mettre sous de multiples formes, toutes
équivalentes: minimisation maximisation : min f(x) = −max (−f(x))
 On peut changer le sens de l’inégalité, ou passer le terme constant de gauche
à droite: Ax  b   Ax  b

RO 14
Programmation linéaire: Formulation
Autres formes d’un programme linéaire
 Un programme linéaire peut se mettre sous de multiples formes, toutes
équivalentes: minimisation maximisation : min f(x) = −max (−f(x))
 On peut changer le sens de l’inégalité, ou passer le terme constant de gauche
à droite: Ax  b   Ax  b
 On peut remplacer les inégalités par des égalités en introduisant des
variables d’écart toutes positives :
Ax  b  0  Ax  b  y  0 , y  0

RO 15
Programmation linéaire: Formulation
Autres formes d’un programme linéaire
 Un programme linéaire peut se mettre sous de multiples formes, toutes
équivalentes: minimisation maximisation : min f(x) = −max (−f(x))
 On peut changer le sens de l’inégalité, ou passer le terme constant de gauche
à droite: Ax  b   Ax  b
 On peut remplacer les inégalités par des égalités en introduisant des
variables d’écart toutes positives :
Ax  b  0  Ax  b  y  0 , y  0
 On peut passer de l’égalités à des inégalités:
 Ax  b  Ax  b
Ax  b   
 Ax  b  Ax  b

RO 16
Programmation linéaire: Formulation
Autres formes d’un programme linéaire
 Un programme linéaire peut se mettre sous de multiples formes, toutes
équivalentes: minimisation maximisation : min f(x) = −max (−f(x))
 On peut changer le sens de l’inégalité, ou passer le terme constant de gauche
à droite: Ax  b   Ax  b
 On peut remplacer les inégalités par des égalités en introduisant des
variables d’écart toutes positives :
Ax  b  0  Ax  b  y  0 , y  0
 On peut passer de l’égalités à des inégalités:
 Ax  b  Ax  b
Ax  b   
 Ax  b  Ax  b
 Tout nombre réel peut être écrit comme la différence de deux nombres
positives:
x : x1  x2 ; x1 , x2  0

RO 17
Programmation linéaire: Formulation
Autres formes d’un programme linéaire
 Un programme linéaire peut se mettre sous de multiples formes, toutes
équivalentes: minimisation maximisation : min f(x) = −max (−f(x))
 On peut changer le sens de l’inégalité, ou passer le terme constant de gauche
à droite: Ax  b   Ax  b
 On peut remplacer les inégalités par des égalités en introduisant des
variables d’écart toutes positives :
Ax  b  0  Ax  b  y  0 , y  0
 On peut passer de l’égalités à des inégalités:
 Ax  b  Ax  b
Ax  b   
 Ax  b  Ax  b
 Tout nombre réel peut être écrit comme la différence de deux nombres
positives:
x : x1  x2 ; x1 , x2  0
 On peut enfin transposer le programme : Ax  b  0  xT AT  bT  0

RO 16
Programmation linéaire: Formulation
Exemple de mise sous forme canonique

PL initial min z  3 x1  4 x2
s.c. x1  x2  6
x1  2 x2  4
x1  
x2  0
PL canonique équivalent

RO 17
Programmation linéaire: Formulation
Exemple de mise sous forme canonique

PL initial min z  3 x1  4 x2
s.c. x1  x2  6
x1  2 x2  4
x1  
x2  0

PL canonique équivalent
 max 3 x1'  3 x1''  4 x2
s.c. x1'  x1''  x2  6
 x1'  x1''  x2  6
 x1'  x1''  2 x2  4
x1' , x1'' , x2  0

RO 17
Programmation linéaire: Exemple de modélisation
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 21 000 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.
De plus, ayant une bonne connaissance de la demande, la production
hebdomadaire de câble de 5 mm est limitée à 15 000 mètres et la production
de câble de 10 mm ne doit pas dépasser les 40% de la production totale.
Les câbles sont vendus respectivement 50 Dh et 200 Dh le mètre.

Que doit produire l’entreprise afin de maximiser


son chiffre d’affaires hebdomadaire ?

RO 18
Programmation linéaire: Exemple de modélisation
Problème d’allocation de ressources
Définissons les deux variables de décision
• x1 : le nombre de mètres de câble de 5 mm de diamètre à produire chaque
semaine,
• x2 : le nombre de mètres de câble de 10 mm de diamètre à produire
chaque semaine.
Le chiffre d’affaires associé à une production (x1, x2) est:
z = 50 x1 + 200 x2.
Il ne faut pas dépasser les capacités de production:
x1 + 4x2 ≤ 21 000
et satisfaire les contraintes de demande:
x2 ≤ 4/10 (x1 + x2) et x1 ≤ 15 000
Finalement on ne peut pas produire des quantités négatives:
x1 ≥ 0, x2 ≥ 0.
RO 19
Programmation linéaire: Exemple de modélisation
Problème d’allocation de ressources
Modèle
Pour maximiser le chiffre d’affaires de la vente, il faut déterminer les
valeurs x1 et x2 solution du programme linéaire
Max z = 50 x1 + 200 x2
s.c. x1 + 4 x2 ≤ 21000
−4 x1 + 6 x2 ≤ 0
x1 ≤ 15000
x1 , x2 ≥ 0
 x1 
Notation matricielle: c  50 200 , x   
 x2 
max c T x
 1 4  21000 
s.c Ax  b    
A    4 6 et b 0 
x0  1 0  15000 
   
RO 20
Programmation linéaire: Exemple de modélisation
Problème de recouvrement

Données : Les demandes journalières en chauffeurs dans une entreprise de


transport

Lu Ma Me Je Ve Sa Di
13 18 21 16 12 25 9

Les chauffeurs travaillent cinq jours d’affilée (et peuvent donc avoir leurs
deux jours adjacents de congé n’importe quand dans la semaine).
Objectifs : Déterminer les effectifs formant les sept équipes possibles de
chauffeurs de manière à :
• couvrir tous les besoins,
• engager un nombre minimum de chauffeurs.

RO 21
Programmation linéaire: Exemple de modélisation
Problème de recouvrement

Modélisation:
Variables de décision : On associe une variable de décision à chacune des
sept équipes possibles
• x1 : nombre de chauffeurs dans l’équipe du lundi (repos le samedi et le
dimanche),
• x2 : nombre de chauffeurs dans l’équipe du mardi,
• ...
• x7 : nombre de chauffeurs dans l’équipe du dimanche.
Fonction objectif : On veut minimiser le nombre total de chauffeurs
engagés
z = x1 + x2 + x3 + x4 + x 5 + x6 + x7

RO 22
Programmation linéaire: Exemple de modélisation
Problème de recouvrement
Contraintes : Le nombre de chauffeurs présents chaque jour doit être suffisant
x1 + x4 + x5 + x6 + x7 ≥ 13 (Lundi)
x1 + x2 + x5 + x6 + x7 ≥ 18 (Mardi)
x1 + x2 + x3 + x6 + x7 ≥ 21 (Mercredi)
x1 + x2 + x3 + x4 + x7 ≥ 16 (Jeudi)
x1 + x2 + x3 + x4 + x5 ≥ 12 (Vendredi)
x2 + x3 + x4 + x5 + x6 ≥ 25 (Samedi)
x3 + x4 + x5 + x6 + x7 ≥ 9 (Dimanche)
Contraintes de bornes : Le nombre de chauffeurs dans chaque équipe doit non
seulement être non négatif mais également entier !
x1 , x2 , x3 , x4 , x5 , x6 , x7 ≥ 0 et entiers
Ce problème n’est pas un PL mais un programme linéaire en nombres entiers
(PLNE) !
RO 23
Programmation linéaire: Exercices de modélisation
Problème d’agriculture

Un agriculteur veut allouer 150 hectares de surface irrigable entre culture de


tomates et celles de piments. Il dispose de 480 heures de main d’œuvre et de
440 m3 d’eau.
•Un hectare de tomates demande 1 heure de main d’œuvre, 4 m3 d’eau et
donne un bénéfice net de 100 dirhams.
•Un hectare de piments demande 4 heures de main d’œuvre, 2 m3 d’eau
et donne un bénéfice net de 200 dirhams.
Le bureau du périmètre irrigué veut protéger le prix des tomates et ne lui
permet pas de cultiver plus de 90 hectares de tomates.
Quelle est la meilleure allocation de ses ressources ?

RO 24
Programmation linéaire: Exercices de modélisation
Problème d’agriculture
Formulation du problème en un PL :
Etape 1 : Identification des variables de décision :
 x1 : la surface allouée à la culture des tomates x1  0
 x2 : la surface allouée à la culture des piments x2  0

Etape 2 : Identification des contraintes :


 Terrain : x1  x2  150
.

 Eau : 4 x1  2 x2  440
 Main d’œuvre : x1  4 x2  480
 Culture de la tomate : x1  90

Etape 3 : Identification de la fonction « coût »

z  100 x1  200 x2

RO 25
Programmation linéaire: Exercices de modélisation
Sélection de Médias
Une entreprise désire effectuer une campagne publicitaire dans la télévision,
la radio et les journaux pour un produit lancé récemment sur le marché. Le
but de la campagne est d’attirer le maximum possible de clients. Les résultats
d’une étude de marché sont donnés par le tableau suivant :
Télévision Radio Journaux
Locale Par satellite
Coût d’une publicité 40 Dh 75 Dh 30 Dh 15 Dh
Nombre de client potentiel par publicité 400 900 500 200
Nombre de client potentiel femme par publicité 300 400 200 100
Pour la campagne, on prévoit de ne pas payer plus que 800Dh pour toute la
campagne et on demande que ces objectifs soient atteints :
1. Au minimum 2000 femmes regardent, entendent ou lisent la publicité ;
2. La campagne publicitaire dans la télévision ne doit pas dépasser 500 Dh ;
3. Au moins 3 spots publicitaires seront assurer par la télévision locale et au
moins de deux spots par la télévision par satellite.
4. Le nombre des publicités dans la radio ou dans les journaux sont pour
chacun entre 5 et 10.
RO 26
Programmation linéaire: Exercices de modélisation
Problème de production
Pour fabriquer deux produits P1 et P2 on doit effectuer des opérations sur
trois machines M1, M2 et M3, successivement mais dans un ordre quelconque.
Les temps unitaires d’exécution sont donnés par le tableau suivant :
M1 M2 M3
P1 11 mn 7 mn 6 mn
P2 9 mn 12 mn 16 mn
On supposera que les machines n’ont pas de temps d’inactivité. La
disponibilité pour chaque machine sont :
165 heures (9900 minutes) pour la machine M1 ;
140 heures (8400 minutes) pour la machine M2 ;
160 heures (9600 minutes) pour la machine M3 .
Le produit P1 donne un profit unitaire de 900 Dh et le produit P2 un profit
unitaire de 1000 Dh.
Dans ces conditions, combien doit-on fabriquer mensuellement de produits
P1 et P2 pour avoir un profit total maximum ?
RO 27
Programmation linéaire: Exercices de modélisation
Problème de mélange
Un industriel veut produire un alliage Z à 30% de plomb, 30% de zinc et 40%
d’étain. Supposons qu’il puisse se procurer sur le marché des alliages A, B, C,
D, E, F, G, H, I dont les compositions et les prix respectifs sont donnés dans le
tableau suivant :

Compositions des A B C D E F G H I Alliage à


alliages (en %) fabriquer
Plomb 10 10 40 60 30 30 30 50 20 30
Zinc 10 30 50 30 30 40 20 40 30 30
Etain 80 60 10 10 40 30 50 10 50 40
Coût au Kilo 4.1 4.3 5.8 6 7.6 7.5 7.3 6.9 7.3

Combien doit-il acheter de chaque alliages A, B, C, D, E, F, G, H et I pour


obtenir au prix de revient minimum un 1 Kg de l’alliage Z ?

RO 28
Programmation linéaire: Exercices de modélisation
Problème de médecine

Un spécialiste en médecine a fabriqué un médicament (des pilules) pour


guérir les sujets atteints d’un rhume.
Ces pilules sont fabriquées selon deux formats :
• Petite taille : elle contient 2 grains d’aspirine, 5 grains de bicarbonate et
1 grain de codéine.
• Grande taille : elle contient 1 grain d’aspirine, 8 grains de bicarbonate et
6 grains de codéine.
Pour guérir la maladie, le sujet a besoin de 12 grains d’aspirine, 74 grains de
bicarbonate et 24 grains de codéine.
Déterminer le nombre de pilules minimales à prescrire au sujet pour qu’il soit
guérit.

RO 30
Programmation linéaire: Exercices de modélisation
Problème d’alimentation

On se propose de réaliser une alimentation économique pour des bestiaux,


qui contient obligatoirement 4 sortes de composants nutritifs, A, B, C et D.
L’industrie alimentaire produit précisément deux aliments M et N qui
contiennent ces composants :
• 1 Kg d’aliment M contient 100 g de A, 100 g de C, 200 g de D ;
• 1 Kg d’aliment N contient 100 g de B, 200 g de C, 100 g de D.
Un animal doit consommer par jour au moins : 0.4 Kg de A ; 0.6 Kg de B ; 2
Kg de C ; 1.7 Kg de D.
L’aliment M coûte 10 DT le Kg et N coûte 4 DT le Kg.
Quelles quantités d’aliments M et N doit-on utiliser par jour et par animal
pour réaliser l’alimentation la moins coûteuse ?

RO 31
Programmation linéaire: Résolution Graphique

• Valable que pour les problèmes à 2 variables de décision.


• Le nombre de contraintes est quelconque.
• Repose sur une représentation des contraintes dans un plan.

Les étapes sont:


1. Tracer le domaine des solutions admissibles

2. Tracer les droites isocoût, i.e. les droites unissant les plans de
production conduisant au même coût.

3. L’optimum est alors la solution réalisable située sur la droite isocoût


la plus haute

RO 32
Programmation linéaire: Résolution Graphique

Interprétation géométrique
• L’ensemble des solutions d’une inéquation correspond à un demi-plan.
• L’ensemble des solutions d’une équation correspond à une droite.
• L’ensemble des solutions d’un système d’équations et d’inéquations
correspond à l’intersection des demi-plans et des droites associés à chaque
élément du système.
• Cette intersection, appelée domaine admissible, définit une région
polygonale.
• Les lignes de niveau de la fonction objectif sont des droites parallèles.
• Il existe des solutions admissibles de valeur z si la ligne de niveau associée à
cette valeur intersecte le domaine admissible D du problème.
• Pour déterminer la valeur maximale atteignable par une solution admissible,
il suffit de faire glisser le plus loin possible une ligne de niveau de la fonction
objectif, dans le sens du gradient, jusqu’à ce qu’elle touche encore tout juste D.
• Les points de contact ainsi obtenus correspondent aux solutions optimales.

RO 33
Programmation linéaire: Résolution Graphique
Résultat d’une optimisation linéaire
Le domaine admissible d’un PL peut être
• vide. Dans un tel cas le problème est sans solution admissible:
contraintes contradictoires (et ne possède évidemment pas de solution
optimale).
• borné (et non vide). Le problème possède toujours au moins une
solution optimale, quelle que soit la fonction objectif.
• non borné. Dans ce cas, selon la fonction objectif choisie,
 Si Min: il y a une solution finie (des solutions optimales) ;
 Si Max: il peut exister des solutions admissibles de valeur
arbitrairement grande (ou petite). Dans un tel cas le PL n’admet pas
de solution optimale finie et est dit non borné.
Questions:
• Donner un exemple de programme linéaire qui n’a pas de solution.
• Proposer un PL qui a des solutions, mais pas de solution optimale.
• Proposer un PL qui a plusieurs solutions optimales.
RO 34
Programmation linéaire: Résolution Graphique
Problème de production

Une entreprise fabrique 2 produits X et Y. Pour sa conception, chaque produit


fini nécessite 3 produits intermédiaires A, B et C.
• Pour fabriquer un produit X, on a besoin de 2 produits A, de 2 produits
B et de 1 produit C,
• pour fabriquer un produit Y, on a besoin de 3 produits A, de 1 produit
B et de 3 produits C.
En outre, l'entreprise dispose d'une quantité limitée de produits A, B et C :
• Elle a 180 produits A, 120 produits B et 150 produits C.
Sachant que le prix de revient de X est 3 Dh et que celui de Y est de 4 Dh,
combien de produits X et Y faut-il fabriquer pour maximiser le profit ?

RO 35
Programmation linéaire: Résolution Graphique
modélisation
Soit x et y les quantités de produits X et Y fabriqués.
La quantité totale de produits A utilisée est 2x + 3y. Cette quantité ne doit pas
dépasser 180, d'où la première contrainte.
2x + 3y ≤ 180
De même, pour les produits B et C, on obtient:
2x + y ≤ 120
x + 3y ≤ 150
Bien entendu, les quantités x et y sont positives: x, y ≥ 0
Enfin, on tente de maximiser le profit qui est le total des bénéfices sur la vente
des produits X plus celui des produits Y: max: 3x + 4y. Le programme linéaire
est donc le suivant :
max: z = 3x + 4y
s.c.: 2x + 3y ≤ 180
2x + y ≤ 120
x + 3y ≤ 150
x,y≥0
RO 36
Programmation linéaire: Résolution Graphique
max: z = 3x + 4y
s.c.: 2x + 3y ≤ 180 (A)
2x + y ≤ 120 (B)
x + 3y ≤ 150 (C)
x,y≥0 y
120

60 (B)
Les solutions admissibles b
sont représentées par la 50 c
zone rouge (a,b,c,d,e). (A)d
(C)
Ce sont les solutions qui
satisfont les contraintes. e x
a 90 150
60

RO 37
Programmation linéaire: Résolution Graphique
Solution graphique
z = 3x + 4y. y
Pour z = 0, on a la droite D1,
Pour z = 120, on a la droite D2,
Et pour z = 180, on a une autre
droite D3,
b
On remarque que les droites 50 c
D1, D2 et D3 sont parallèles et
on s'aperçoit facilement qu'en d
déplaçant la droite vers le D3
D2
haut on augmente le profit z. x
e
a D
1 60
On s’arrête lorsqu’il y a un minimum de points communs avec la surface
colorée. Le point restant ici est d. Il représente la solution pour laquelle le
profit est maximum.

RO 38
Programmation linéaire: Résolution Graphique
Solution graphique
y
Finalement pour trouver les
coordonnées du point d, qui
est l’intersection des deux
droites (A) et (B), il suffit de (B)
résoudre le système :
b (A) z =255
2 x  3 y  180 50 c

 2 x  y  120 d

e x
a
60

La solution du problème est de produire 45 produits X et 30 produits Y


pour obtenir le profit maximum de z = 3x + 4y = 255 Dh.

RO 39
Programmation linéaire: Résolution Graphique
Exemple 1

max z  25 x1  30 x2 x2
s.c. 7 x1  10 x2  56000
0  x1  6000 x1 = 6000
0  x2  4000 6000 x2 = 1400

4500 192000

7 x1  10 x2  56000 3000 Solution


optimale
0  x1  6000 1500
0  x2  4000 D
x1
z  25x1  30 x2 0 1500 3000 4500 6000 7500 9000

RO 40
Programmation linéaire: Résolution Graphique
Exemple 2
Représenter graphiquement les contraintes et visualiser l’ensemble des
solutions. Identifier une solution optimale.
min z   x1  x2 x2

s.c. x1  2 x2  3
3
2 x1  x2  3
x1 , x2  0
c=(1,1)T

 max w  x1  x2  1.5


w=2→z=-2

x1  2 x2  3
2 x1  x2  3 x1
1.5 3
x1 , x2  0 w=0 w=1

RO 41
Programmation linéaire: Exercice de résolution
Problème de production
Une usine fabrique 2 sortes de produits p1 et p2 à l’aide de 2 machines m1 et
m2 :
p1 p2
m1 30 20 minutes
m2 40 10
m1 disponible 6000 min/mois
m2 disponible 4000 min/mois
1 p1 fabriqué rapporte 400 €
1 p2 fabriqué rapporte 200 €

On veut un plan de fabrication mensuelle qui maximise le profit


Soient :
• x1 le nombre d'unités de p1 produits
• x2 le nombre d'unités de p2 produits
RO 42
Programmation linéaire: Exercice de résolution
Solution du problème de production
max z  400 x1  200 x2
Mise en équation du problème :
s.c. 30 x1  20 x2  6000
40 x1  10 x2  4000
Solution graphique x1  0; x2  0
• Les points à l’intérieur de OABC satisfont les
contraintes
x2
D  x1 , x2  / 400 x1  200 x2  :
Famille des droites
parallèles
40 x1  10 x2  4000 • C’est celle qui passe par B qui aura la plus grande
valeur pour le profit

A 400 x1  200 x2   • Pour trouver les coordonnées de B il faut


B résoudre le système:
30 x1  20 x2  6000

40 x1  10 x2  4000
30 x1  20 x2  6000

O C x1 Plan de production optimal : il faut produire


40 unités de p1 et 240 unités de p2 et z*=64000

RO 43
Programmation linéaire: Résolution Graphique
Exemples triviaux
1. Une entreprise gagne 5Dh chaque fois qu’elle vend 1 litre de produit chimique.
Elle désire maximiser son profit.

Profit (Dh)

1 Litres
• Observations :
– Fonction objectif linéaire
– Pas de contraintes
– Solution infinie
• Commentaire : La solution est toujours infinie lorsque la fonction objectif est
linéaire et qu’il n’y a pas de contraintes

RO 44
Programmation linéaire: Exemples triviaux
2. Un laboratoire achète 30Dh le litre de produit chimique. Il dispose d’un budget de
1000Dh. Quelle quantité maximale peut-il acheter ?

Coût (Dh)

300

10 Litres
• Observations :
– Réponse évidente : 1000 / 30 litres
– Bien que l’on puisse dépenser 1000Dh ou moins, on dépense exactement
1000Dh
• Commentaires :
– Si la fonction objectif et les contraintes sont linéaires, il y a au moins une
contrainte active à la solution
– La contrainte g(x) ≤ 0 est dite active en x* ssi g(x*)=0
RO 45
Programmation linéaire: Exemples triviaux
3. Un laboratoire achète 30Dh le litre de produit chimique. Il dispose d’un budget de
1000Dh et doit en acheter au minimum 40 litres. Quelle quantité maximale peut-
il acheter ?

Coût (Dh)

300

10 40 Litres
• Observations :
– Problème impossible
– Contraintes incompatibles
• Commentaire :
– La solution peut ne pas exister. On dit que le problème ne possède pas
de solution admissible.

RO 47
Programmation linéaire: Exemples triviaux
4. Un laboratoire achète 3$ un microprocesseur. Il dispose d’un budget de 10$.
Quelle quantité maximale peut-il acheter ?

Coût ($)

1 10/3 Microprocesseurs
• Observations :
– Impossible d’acheter des parties de microprocesseurs
– Malgré que la fonction objectif et les contraintes soient linéaires, le
budget ne sera pas totalement dépensé
• Commentaire :
– Lorsque les variables sont entières, les résultats théoriques peuvent être
différents
RO 48

Vous aimerez peut-être aussi