Vous êtes sur la page 1sur 54

Programmation linéaire : Par N.

MEDDAH, MCB en mathématiques appliquées

CHAPITRE 1

Modélisation d’un programme linéaire (PL)

La programmation linéaire est un problème d’optimisation mathématique qui consiste à trouver


l’optimum (maximum ou minimum) d’une fonction à n variables 1 2
x , x ,… , x
n , liées tous par m

contraintes gi ( X )=0 ou gi ( X )≥0 . Notons qu’un programme linéaire peut être ramené à un
problème d’optimisation combinatoire.
I. Etapes de modélisation d’un programme linéaire (PL)

La formalisation mathématique d’un problème concret est une tâche délicate mais essentielle car elle
conditionne la découverte ultérieure de la bonne solution. Elle comporte les mêmes phases quelles
que soient les techniques requises ultérieurement pour le traitement (programmation linéaire ou
programmation non linéaire) : Généralement il y a trois é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
x ,y
représenter sous forme symbolique (exp. 1 1 ).
2. Identifier les restrictions (les contraintes) du problème qui s’expriment en général par des
relations entre les variables et qui se représentent sous forme d’un système d’équations ou
d’iné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. Spécifier si le critère de sélection est à maximiser ou à minimiser.
II. Présentation théorique

Un programme linéaire consiste à trouver le maximum ou le minimum d’une forme linéaire dite
fonction objectif 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 :

x , x ,… , x
Soient n variables de décision 1 2 n l’hypothèse que les variables de décision sont positives

implique que x 1≥0 , x 2 ≥0 ,…, x n ≥0 .


La fonction objectif est une forme linéaire en fonction des variables de décision de type
Z =c 1 x1 + c 2 x 2 +…+c n x n où les coefficients c ,…,c doivent avoir une valeur bien déterminée
1 n
(avec certitude) et peuvent être positifs, négatifs ou nuls. Par exemple le coefficient ci peut
représenter un profit unitaire lié à la production d’une unité supplémentaire du bien xi, ainsi la valeur
de Z est le profit total lié à la production des différents biens en quantités égales à
x 1 , x 2 ,…, x n .

Supposons que ces variables de décision doivent vérifier un système d’équations linéaires définis
par m inégalités :

1
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

{a1 x1+a12x2+…+a1nxn≥b1¿{a21x1+a2 x2+…+a2nxn≥b2¿{ ⋮¿ ¿


où les coefficients m 1 mn et 1 a , …, a b , …,b
m doivent avoir une valeur bien déterminée (avec
certitude) et peuvent être positifs, négatifs ou nuls. Le paramètre bi représente la quantité de matière
première disponible dont le bien xi utilise une quantité égale à aij xi .

En suivant les étapes de formulation ci-dessus, on peut représenter le PL comme suit :

III.
{max c1x+c2x+…cnx¿{a1x+a12x+…a1nx≥b1¿{a21x+a2x+…a2nx≥b2¿{ ⋮¿{am1x+am2x+…amnx≥bm¿
Exemples de modélisations

Plusieurs problèmes de divers domaines sont représentés ou approximés par des modèles de PL.
L’utilisation de ces techniques de modélisation s’est renforcée encore après avoir construit des
algorithmes et des logiciels capables de résoudre de plus larges problèmes avec autant de variables
de décision que de contraintes.

La tâche de formulation demande généralement une certaine expertise et connaissance du problème


pour pouvoir relever facilement les différentes composantes du problème et ainsi donner un
programme qui modélise au mieux la situation réelle. Dans ce qui suit, on présentera quelques
exemples de formulation en programme linéaire liés à différents problèmes de décision.

2
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Exemple 1: 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.

Modélisation du problème en un PL

Le problème de médecine présente certaines ressemblances avec le problème de l’agriculture, dans


les deux cas c’est un problème d’allocation de ressources.
 Les variables de décision qui représentent des valeurs inconnues par le décideur qui est dans ce
cas le spécialiste en médecine sont :
- x1 : le nombre de pilules de petite taille à prescrire.
- x2 : le nombre de pilules de grande taille à prescrire.

On vérifie bien que les variables de décision x1 et x2 sont positives : x 1≥0 , x 2 ≥0 .


 Les contraintes imposées par le problème sur les valeurs possibles de x1 et x2 sont :
- La prescription doit contenir des pilules avec au moins 12 grains d’aspirine. Sachant qu’une
petite pilule contient 2 grains d’aspirine et qu’une grande pilule contient un seul grain d’aspirine,
on obtient la contrainte suivante : 2 x 1 +x 2 ≥12 .
- De la même façon que pour l’aspirine, la prescription du spécialiste en médecine doit contenir au
moins 74 grains de bicarbonate. Ainsi la contrainte suivante doit être satisfaite : 5 x1 +8 x2 ≥74 .
- Finalement la contrainte imposée par le fait que la prescription doit contenir au moins 24 grains
de codéine est : x 1 +6 x 2≥24 .
 Identification de la fonction objectif. On remarque qu’il y a plusieurs couples de solutions
( x1 , x2 ) qui peuvent satisfaire les contraintes spécifiées à l’étape 2. La prescription doit
contenir le minimum possible de pilules. Donc le critère de sélection de la quantité de pilules à
prescrire est celle qui minimise le nombre total des pilules
Z =x1 + x2 .

Le programme linéaire qui modélise ce problème médical est donc le suivant :

{min x1+2¿{2x1+2≥12¿{5x1+8x2≥74¿{ x1+6x2≥24 ¿


3
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

4
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Exemple 2 : Problème de production

Exemple 2.1. 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 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 .
Le produit P1 donne un profit unitaire de 900 dinars et le produit P2 un profit unitaire de 1000 dinars.
Dans ces conditions, combien doit-on fabriquer mensuellement de produits P1 et P2 pour avoir un
profit total maximum ?

Modélisation en un PL :

 Les variables de décisions sont :


- x1 : le nombre d’unités du produit P1 à fabriquer
- x2 : le nombre d’unités du produit P2 à fabriquer
 Les contraintes outre les contraintes de non-négativité sont :
- 11 x 1 + 9 x 2 ≤9900 pour la machine M
1

- 7 x1 +12 x 2 ≤8400 pour la machine M


2

- 6 x 1 +16 x 2≤9600 pour la machine M


3

 Le profit à maximiser est : Z =900 x1 + 1000 x 2


Le programme linéaire résultant est :

{ m a x 9 0 x 1 + 1 0 x 2 ¿ { 1 x 1 + 9 x 2 ≤ 9 0 ¿ { 7 x 1 + 1 2 x 2 ≤ 8 40 ¿ { 6 x 1 + 16 x 2 ≤ 96 0 ¿
5
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Exemple 2.2. Un constructeur automobile a la possibilité de produire des voitures, des camionnettes
et des vélos. Chaque voiture, camionnette et vélo vendue, rapporte un profit de 3000 u.m, 2000 u.m
et 500 u.m respectivement. L’usine est constituée de 3 ateliers : découpage des tôles, assemblage et
finition intérieure. Chaque atelier fonctionne 8 heures par jour. Le tableau suivant montre le temps
(en minutes) nécessaire dans chaque atelier à la production de chaque véhicule.

Découpage Assemblage Finition


Voiture 2 5 7
Camionnette 4 7 2
Vélo 0.5 1 0

Avant d’être livrés aux différents concessionnaires de la marque, les véhicules sont entreposés, en
fin de journée, dans un hangar pouvant recevoir l’équivalent de 200 voitures. Une camionnette
occupe 5 fois plus de place qu’un vélo et une voiture 3 fois plus de place qu’un vélo. Suite à des
commandes importantes provenant de différentes sociétés de transport, l’entreprise est dans
l’obligation de produire un minimum de 30 camionnettes par jour. Donner le programme linéaire
correspondant à ce problème.

Modélisation en un PL :

 Les variables de décision du problème sont :


- x1 : le nombre de voitures à produire par jour.
- x2 : le nombre de camionnettes à produire par jour.
- x2 : le nombre de vélos à produire par jour.

 Les contraintes de non-négativité sont vérifiées.


 Les contraintes du problème sont :
- Temps de découpage par jour : 2 x 1 +4 x 2 +0 . 5 x 3 ≤8×60
- Temps d’assemblage par jour : 5 x 1 +7 x 2 + x 3 ≤8×60
- Temps de finition par jour : 7 x1 +2 x 2 ≤8×60
- Contrainte sur l’espace dans l’hangar : 3 x 1 +5 x 2 +x 3 ≤3×200
- Le nombre minimum de camionnettes à produire par jour : x 2≥30
 La fonction objectif à maximiser est : Z =3000 x 1 +2000 x 2 +500 x 3 .

Le programme linéaire résultant est :

6
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

{max(30x1+20x2+50x3)¿{ 2x1+420.5x3≤480¿{ 5x1+72x3≤480¿{ 7x1+22≤480¿{ 3x1+52x3≤60¿{ x2≥30¿


Exemple 3: 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 et 1.7 Kg de D.
L’aliment M coûte 10 u.m le Kg et N coûte 4 u.m 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 ?

Modélisation en un PL :

On peut résumer toutes les données du problème dans le tableau suivant :

M N Quantités prescrites
A 0.1 0 0.4
B 0 0.1 0.6
C 0.1 0.2 2
D 0.2 0.1 1.7
Coût 10 4
Ce genre de tableau peut aider à mieux analyser le problème et ainsi formuler le programme linéaire
correspondant.

 Les variables de décision sont :


- x1 : la quantité d’aliments M à utiliser pour l’alimentation des deux bestiaux
- x2 : la quantité d’aliments N à utiliser pour l’alimentation des deux bestiaux
Les contraintes de non-négativité sont x 1≥0 , x 2 ≥0 .

 Le choix de cette quantité est contraint à la présence dans l’alimentation du composant
- A : 0 .1 x 1≥0. 4 ⇒ x1 ≥4
- B : 0 .1 x 2≥0. 6 ⇒ x 2 ≥6
- C : 0 .1 x 1 +0 . 2 x 2 ≥2 ⇒ x 1 +2 x 2 ≥20

- D : 0 .2 x 1 +0 . 1 x 2 ≥1. 7 ⇒ 2 x 1 +x 2≥17

7
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

 La fonction objectif est une fonction coût : Z =10 x 1 + 4 x 2 .


Le programme linéaire est un programme de minimisation :

{min10x1+42¿{x1 ≥4¿{ x2≥6¿{x1+22≥0¿{2x1+2≥17¿


Exemple 4 : 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 u.m 75 u.m 30 u.m 15 u.m
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 800 u.m 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 u.m;
3. Au moins 3 spots publicitaires seront assurés 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.

Modélisation en un PL :

 Les variables de décision du problème sont :


- x1 : le nombre de spots publicitaires dans la télévision locale
- x2 : le nombre de spots publicitaires dans la télévision par satellite
- x3 : le nombre de spots publicitaires dans la radio
- x4 : le nombre d’affiches publicitaires dans les journaux
 Les contraintes de non-négativité sont vérifiées.

 Les contraintes du problème sont :


- Coût total de la compagne publicitaire :
40 x 1 +75 x 2 +30 x 3 +15 x 4 ≤800
- Nombre de clients femmes potentiels par publicité :
300 x1 +400 x 2 +200 x 3 +100 x 4 ≥2000

8
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

 Contraintes de la télévision : 40 x 1 +75 x 2≤500 , x 1≥3 et x 2≥2


 Contraintes sur le nombre de publicités dans la radio et dans les journaux :
5≤x 3 ≤10 et 5≤x 4 ≤10 .

 La fonction objectif à maximiser représente le nombre de clients potentiels par publicité


Z =400 x 1 +900 x 2 +500 x 3 +200 x 4 .

Le programme linéaire résultant est :

m{ax401+9x2503+2x4¿{401+75x23314≤80¿{3x1+402231x4≥0¿{4x1+752 ≤50¿{ x1≥3 22¿{ x3≥5 3≤10¿{ x4≥5¿ 4≤10¿

9
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Exemple 5 : Problème du transport

Une entreprise stock un produit dans trois dépôts A 1, A2 et A3. Les quantités stockées sont
respectivement a1, a2 et a3. Les dépôts doivent alimenter 4 magasins B1, B2, B3 et B4. La quantité du
produit nécessaire au point de vente Bj : j=1, …,4 est bj. Si cij est le coût unitaire de transport du
produit de dépôt Ai vers le point de vente Bj, comment l’entreprise doit-elle répartir les stocks du
produit entre les points de vente ?
Modélisation en un PL :

Une condition nécessaire pour que ce problème possède une solution est que l’offre soit au mois
∑ a i ¿ ∑j b j
égale à la demande d’où : i .
 Les variables de décision du problème sont :
xij : quantité du produit acheminée depuis le dépôt Ai au point de vente Bj.
 Les contraintes de non-négativité sont vérifiées.
 Les contraintes du problème sont :

- La quantité acheminée de dépôt Ai vers le point de vente Bj ne dépasse pas la quantité


4

∑x ij
¿ ai
disponible, d’où j =1 pour i=1,…,3.
3

∑ x ¿ bj
ij
- La quantité acheminée doit satisfaire la demande d’où i=1 pour j=1,…,4.
3 4
Z ( min)=∑ ∑ c ij x ij
 Fonction objectif : le coût de transport à minimiser, donc i=1 j =1 , d’où le
problème peut s’écrire sous la forme suivante :

{{ {
34 4 3
min∑∑ cijxij¿ ∑ xij≤ai pour i=1,. .,3¿ ∑ xij≥bj pour j=1,. ,4¿ ¿
i=1 j=1 j=1 i=1

10
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Exemple 6 : Problème du sac à dos

Considérons n objets, notés i=1,...,n, apportant chacun un bénéfice ci et possédant un poids ai. On
veut ranger ces objets dans un sac que l'on veut au maximum de poids b. Le problème de sac-à-dos
(knapsack) consiste à choisir les objets à prendre parmi les n objets de manière à avoir un bénéfice
maximal et respecter la contrainte du poids à ne pas dépasser. Chaque objet i, i∈{1,...,n}, doit être
sélectionné au moins pi fois et au plus qi fois. Ce problème se rencontre bien entendu dès que l'on
part en randonnée en voulant emmener le plus possible d'objets utiles (nourriture, boissons,...). Ce
problème est plus fréquemment utilisé pour remplir les camions de transport, les avions ou bateaux
de fret et même pour gérer la mémoire d'un microprocesseur.

Modélisation en un PL :

La formulation en un problème linéaire en nombres entiers du problème de sac-à-dos est très simple.
On utilise pour chaque objet i∈ { 1,...,n } , une variable entière xi correspondant au nombre de fois où
l'objet i est choisi. Le problème du sac-à-dos est donc équivalent au programme en nombres entiers
suivant.

{{
n n
max∑ cixi ¿ ∑ ai xi≤b, (1)¿{ pi≤xi≤qi , pour i=1,. .,n ¿ ¿
i=1 i=1
La contrainte (1) est dite contrainte de sac-à-dos. Elle est l'unique contrainte de ce programme
linéaire en nombres entiers qui est un problème difficile algorithmiquement à résoudre.

11
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Exemple 7 : Problème du voyageur de commerce :

On considère un ensemble de n villes et les distances c ij qui les séparent. Le problème du voyageur
de commerce consiste à déterminer le tour le plus court possible passant exactement une fois par
chaque ville et revenant au lieu de départ (cycle Hamiltonien).

Modélisation en un PL :

Il y a n villes et nous notons cij la distance entre la ville i et la ville j. Pour modéliser le problème du
voyageur de commerce, nous utilisons les variables suivantes :

xij=¿ {1 si le voyageur va de i vers j¿¿¿¿ ,


Alors le problème du voyageur de commerce peut être modélisé comme suit :

{{ { { {
nn n n
min∑ cijxij¿ ∑xij=1, ∀j ¿ ∑xij=1, ∀i ¿ ∑ xij≤|S−1 ∀S⊂{1,. n} et2≤|S≤n−1¿ ∑ xij≥1 ∀S⊂{1,. n} etφ≠S {1,. n} ¿
j=1i=1 i=1 j=1 i∈S j∈S i ∈S j ∉S
La première contrainte dit qu’il entre exactement 1 fois dans chaque ville, tandis que la deuxième dit
qu’il sort exactement 1 fois de chaque ville. Ceci n’est pas suffisant, car on pourrait aboutir ainsi à
plusieurs petits tours, donc il reste à éliminer les sous-tours en mettant soit les troisièmes contraintes
(élimination de sous-tours) soit les quatrièmes contraintes (connexité).

12
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

CHAPITRE 2

Résolution graphique d’un problème linéaire

Après avoir illustré par des exemples, comment un problème pratique peut être modélisé par un
programme linéaire, l’étape qui va suivre sera certainement celle de la résolution de ce problème
mathématique. La méthode graphique est l’une des premières méthodes utilisées à ce sujet.

Si on parle de résolution graphique alors on doit se limiter à une représentation à deux variables et
au plus à trois variables. Ceci indique que dans cette section on examinera seulement les
programmes linéaires à deux variables de décision.

Nous allons décrire cette méthode à travers trois exemples représentatifs, ayant chacun deux
variables structurelles. La résolution d'un (PL) par la méthode graphique se fait selon une démarche
commune, celle-ci peut être résumée en quatre directives :

1. Schématiser le domaine réalisable dans un repère orthonormé.


2. Dans le même repère, représenter l'hyperplan Δ0 : Z(x)=0. Noter que tout hyperplan Δr
d'équation Z(x)=r, r∈ℝ, est parallèle à Δ0.
3. Si le (PL) considéré est de type maximisation ( resp. minimisation), indiquer, par une flèche,
le sens de déplacement parallèle de Δr qui fait augmenter ( resp. diminuer) r, et ceci est défini
par le vecteur gradient de la fonction Z.
4. Déterminer la droite Δrmax la plus éloignée (dans le sens de la flèche) de Δ 0 et qui coupe le
domaine réalisable D. Tout point de Δ rmax∩D est une solution optimale. Si une telle droite
Δrmax n'existe pas, cela veut dire que l'optimum est infini.

I. Quelques résultats sur la convexité des ensembles

Définition : Un ensemble E non vide est dit convexe si et seulement si pour tout élément x et y de E
et pour tout λ ∈ [ 0,1 ] , λx+( 1− λ) y ∈ E .

Exemples :

 Le disque est un ensemble convexe :


 Le rectangle est un ensemble convexe :
 La roue n’est pas un ensemble convexe : la combinaison linéaire de n’importe quel couple de
points n’appartient pas au cercle.
 Un demi-plan est un ensemble convexe.
 L’intersection d’un nombre fini d’ensembles convexes est convexe.
 La réunion d’un nombre fini d’ensembles convexes n’est pas forcement convexe.
13
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Définitions :

* L’ensemble D des solutions réalisables est appelé un polyèdre convexe.


* Un point extrême d’un polyèdre convexe D est un point qui ne peut être exprimé comme
combinaison convexe d’autres points de D.

Théorème : L’ensemble des points extrêmes du polyèdre D, correspond à l’ensemble des solutions
de base réalisables.

Théorème : L’optimum de la fonction objectif sur D, s’il en existe, est atteint en au moins un point
extrême du polyèdre D.

L’ensemble D des solutions réalisables d’un programme linéaire (PL) n’est pas nécessairement
borné. En fait pour un PL, trois situations peuvent se produire :

1. D =∅ : le PL n’a pas de solution.


2. D ≠∅; mais la fonction objectif Z n’est pas majorée sur D : le maximum de F vaut +∞. Si D est
borné, ce cas est exclu.
3. D ≠∅; et la fonction objectif Z est majorée sur D : le PL admet une solution optimale (non
nécessairement unique).

II. Exemples résolus par voie graphique :

Dans ce qui suit les flèches en bleu représentent la direction de vecteur gradient (vecteur
d’augmentation ou de diminution) de la fonction objectif.

Exemple 1:

Prenons l’exemple 1 relatif au problème de médecine. Le programme linéaire est le suivant :

m{ in x1+ 2¿{ 2x1+ 2 ≥12¿{ 5x2+8x2≥74¿{ x1+6x2≥24 ¿


Un bon choix se base sur une lecture des différents paramètres du programme linéaire. Dans notre
cas, on ne peut qualifier de bon, le choix de 20 comme unité dans les deux axes. Parmi les solutions
possibles d’un problème, il y a ceux qui vont satisfaire toutes les contraintes du programme, appelés

14
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

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.

Revenons à notre exemple du problème de médecine. Une des contraintes de ce problème est celle
relative au grain d’aspirine : 2 x 1 + x 2 ≥12 . L’ensemble des solutions qui vérifient cette inégalité
est le même que celui qui vérifie 2 x 1 + x 2 =12 et 2 x 1 + x 2 > 12.

L’ensemble des solutions qui correspond à l’équation est l’ensemble des points de la droite l définie
par x 2=−2 x 1 +12 . Cette droite admet une valeur de la pente égale –2 et intercepte l’axe des
ordonnées en 12 (voir figure ci-dessus).

L’inégalité 2 x 1 + x 2 > 12 correspond à un demi-plan limité par la droite x 2=−2 x 1 +12 . Or cette
droite divise le plan en deux demi-plans ouverts donc quel est le demi-plan à choisir ?

Pour ce faire, il suffit de prendre un point de l’un des demi-plans (c’est à dire n’appartenant pas à la
droite x 2=−2 x 1 +12 ) et voir s’il vérifie l’inégalité 2 x 1 + x 2 > 12. Par exemple le point de
coordonnées (0,0) ne vérifie pas l’inégalité 2 x 1 + x 2 >12 donc le demi-plan π1 au-dessus de la
droite est celui recherché (voir figure ci-dessus).

L’espace blanc représente le demi-plan fermé des solutions qui vérifient la contrainte 2 x 1 +x 2 >12 .
Si on fait de même pour les deux autres contraintes du problème (voir figures ci-dessous), on obtient
les deux autres demi-plans π2 et π3 relatifs aux solutions vérifiant respectivement les contraintes
5 x1 + 8 x2 >74 et x 1 +6 x 2 >24 .

15
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Une solution possible du problème est dite réalisable si et seulement si elle vérifie toutes les
contraintes, c’est à dire si elle appartient aux trois demi-plans relatifs à chaque contrainte du
programme linéaire, en d’autre terme à π 1 ∩ π 2∩ π 3 plus les contraintes de positivité (voir figure).

Proposition : L’ensemble des solutions réalisables (non vide) est convexe (l’intersection d’un
nombre fini de demi-plans).

Soit Z la valeur de la fonction objectif du problème de médecine Z =x1 + x2 . Pour Z=0, la fonction
objectif est représentée de la manière suivante :

Pour Z=6, c’est à dire que le nombre de pilules à prescrire est égal à 6 pilules. La fonction objectif
est représentée comme suit :

16
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Chaque point du segment qui relie les points (6,0) à (0,6) représente des solutions qui engendrent
une prescription avec 6 pilules des deux tailles.

On peut tracer une infinité de droites qui représentent les différentes valeurs de la fonction objectif,
toutes ces droites ont le même coefficient directeur (-1). Par suite elles sont parallèles entre elles. De
plus on peut diminuer la valeur de Z indéfiniment dans le sens indiqué dans la figure ci-dessous.

Le problème est de connaître qu’elle est la droite qui correspond à la valeur minimal de la fonction
objectif ?

17
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Recherche de la solution optimale

a. Résolution graphique

Si nous retraçons l’ensemble des droites parallèles relatives à différentes valeurs de la fonction
objectif sur la figure qui représente l’ensemble des solutions réalisables, on peut localiser la solution
optimale. Elle correspond à la solution réalisable qui intercepte la droite à la plus petite valeur de Z.

Dans notre exemple, la solution optimale est l’intersection des deux droites d’équations 2 x 1 +x 2 =12
et 5 x1 +8 x2 =74 . Une évaluation des coordonnées de ce point revient à résoudre le système linéaire
suivant :

{2 x1+x2=12 ¿ ¿¿¿
Elle correspond d’après le graphique au point (2,8). Donc la prescription optimale est de 2 pilules de
petite taille et 8 pilules de grande taille. Le nombre de pilules (la valeur de la fonction objectif) est
égal à 10.

b. Résolution par énumération :

On remarque que la solution optimale du problème de médecine 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 objectif.

18
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Dans le problème de médecine, l’ensemble des solutions réalisables de base présente 4 points
extrêmes A(0,12), B(2,8), C(126/11,23/11) et D(24,0). La valeur de la fonction objectif associée
respectivement à A, B, C et D est 12, 10, 149/11 et 24. On vérifie bien que B est la solution optimale
du problème avec une valeur optimale égale à 10.

Exemple 2:

Soit à résoudre le problème suivant:

{Z(max)=120 x1+10 0x2¿{ 3x1+4x2≤160¿{ 6x2+3x2≤180 ¿ ¿


Les inconnues x1 et x2 sont appelées variables d'activité (variables de décision)
Les contraintes économiques et de signe sont représentées graphiquement par des demi-plans dont
l'intersection est un ensemble convexe (c.à.d. tout segment de droite dont les extrémités
appartiennent à l'ensemble est entièrement inclus dans cet ensemble). Les solutions, si elles existent
appartiennent donc à cet ensemble appelé région des solutions admissibles.

19
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Il s'agit donc de chercher à l'intérieur de ce domaine, le couple ( x1, x2) maximisant la fonction
objectif.

Or l'équation   1200 x 1 + 1000 x 2 =Z 0 est représentée par une droite de pente constante -1,2 dont tous
les points (x1, x2) fournissent la même valeur Z0 pour la fonction économique.
En particulier, la droite 1200 x 1 + 1000 x 2 =0 passe par l'origine et donne une valeur nulle à la
fonction économique. …………………………………………………………………………………

Pour augmenter la valeur de Z0 et donc la fonction économique, il suffit d'éloigner de l'origine (dans
le quart de plan x1 ≥ 0 ; x2 ≥0) la droite de pente -1,2.………………………………………….
Pour respecter les contraintes, cette droite sera déplacée jusqu'à l'extrême limite où il n'y aura plus
qu'un point d'intersection (éventuellement un segment) avec la région des solutions admissibles. 

On remarquera que la solution optimale se trouve nécessairement sur le pourtour de la région des
solutions admissibles. La solution se trouvant sur les deux droites d'équation
3 x1 +4 x 2 =160 et
6 x 1 +3 x 2=180 .

La résolution de ce système conduit à la solution x1 =16 , x2 = 28, d'où Z = 47200.

20
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Exemple 3 :

Soit à résoudre le problème de la programmation linéaire suivant :

{Z(max)=3x1+2x2¿{ x1+x2≤80¿{2x1+x2≤10 ¿ ¿
Le programme est de dimension deux, donc, on peut le résoudre graphiquement :

a. Résolution graphique :

Dans notre exemple, la solution optimale est l’intersection des deux droites d’équations x1+x2 = 80
et 2x1+x2 = 100. Une évaluation des coordonnées de ce point revient à résoudre le système linéaire
suivant :

x1+x2=80

2x1+x2=100.

21
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Elle correspond d’après le graphique au point (20,60). Donc Le meilleur plan de production est : 20
unités de produit de 1ier type et 60 unités de produit de 2ème type. Le coût de production
correspondant (la valeur de la fonction objectif) est égal à 180 unités monétaires.

b. Résolution par énumération :

Le sommet (0,80) donne une valeur égale à : 3×0+2×80=160,

Le sommet (20,60) donne une valeur égale à : 3×20+2×60=180,

Le sommet (50,0) donne une valeur égale à : 3×50+2×0=150,

Le sommet (0,0) donne une valeur égale à : 3×0+2×0=0,

Le meilleur plan de production est donc : 20 soldats et 60 trains.

Exemple 4 : (Problème avec solution non bornée ou infinie)

Soit à résoudre le programme irrégulier linéaire suivant :

{Z(max)=-2x1+3x2¿{ x1 ≤5 (1)¿{ 2x1−3x2≤6 (2)¿ ¿


Le programme est de dimension deux, donc on peut le résoudre graphiquement :

Il est clair qu’on peut augmenter la valeur de la fonction objectif dans la direction des flèches
indéfiniment (sens de vecteur gradient de la fonction objectif), donc la solution est non bornée
(l’infinie).
22
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

III. Exemples irréguliers :

Dans cette partie on donne quelques exemples de résolution graphique de problèmes linéaires
relatifs au différents cas possibles (le domaine gris représente l’ensemble de solutions réalisables).

1. Problème impossible

{min(3x1+2x2)¿{ x1+2x2≤2 (1)¿{ 2x1+4x2≥8 (2)¿ ¿

L’espace des solutions réalisables est vide, il est l’intersection des deux zones grises de la figure ci-
dessus

2. Problème à solutions multiples

{max(1+3x2)¿{ 2x1+6x2≤30 (1)¿{ x1≤10 (2)¿{ x2≤4 (3)¿


23
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

L’ensemble des points décrit par le segment [AB] représente les solutions optimales du problème
linéaire.

3. Problème de dégénérescence

{max(1+x2)¿{ 3x1+2x2≤40 (1)¿{ x1≤10 (2)¿{ x2≤5 (3)¿


La solution optimale B(10,5) est dite dégénérée si trois contraintes concourent en ce point.

Le cas de dégénérescence sera détaillé dans le Chapitre 4.

24
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

CHAPITRE 3

Notions préliminaires et Dualité en programmation linéaire

I. Notions préliminaires de programmation linéaire

1. Forme canonique et forme standard d’un programme linéaire (PL)

On dit qu’un programme linéaire est écrit sous forme canonique si le domaine des solutions
réalisables est défini par un système d'inéquations linéaires, Si par contre, en dehors des contraintes
de non-négativité toutes les contraintes sont des égalités, on dit que le programme linéaire, est mis
sous forme standard. On peut toujours mettre un programme linéaire quelconque sous forme
standard en ajoutant des variables supplémentaires appelées variables d'écart.

Forme canonique de maximisation Forme standard

{ m ax C X ¿ { A X ≤ b ; ¿ ¿ {max CX¿{AX=b;¿ ¿
Forme canonique de minimisation Forme standard

{min CX¿{AX≥b;¿ ¿ {min CX¿{AX=b;¿ ¿


Exemple 1: Soit le programme linéaire (P) suivant

(P)≡¿{max(3x1+2x2)¿{ x1+x2≤80¿{ 2x1+x2≤10 ¿ ¿


En introduisant les variables d'écart x3 ≥ 0 et x4 ≥ 0 dans la première et la deuxième contrainte on
met le problème sous la forme équivalente (P') , dite forme standard du problème (P) :

(P')≡¿{max(3x1+2x2)¿{ x1+x2+x3 =80¿{ 2x1+x2 +x4=10 ¿ ¿


25
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Notons que les problèmes de minimisation et de maximisation sont en fait équivalents puisque :
min D f ( x )=−max D (−f ( x )) .
Exemple 2 : Mettre sous forme canonique puis sous forme standard le problème linéaire suivant :

{max( 1+x2)¿{ 2x1+x2≤1¿{ x1+2x2=2 ¿ ' '' ' ''


Forme canonique de maximisation : On pose que x 2=x 2 −x 2 avec x 2 , x 2 ≥0 .

{{{{ '' '' ' ' ' '


max( 1+x2− 2)¿ 2x1+ 2−x2≤1¿ x1+2x2−2x2≤2¿ −x1 2x2+2x2≤−2 ¿
' '' ' ''
Forme standard : On pose que x 2=x 2 −x 2 avec x 2 , x 2 ≥0 .

{ { { '' '' ''


max( 1+x2−x2)¿ 2x1+x2−x2+x3=1¿ x1+2x2-2x2=2 ¿
Exemple 3 : Mettre sous forme canonique puis sous forme standard le problème linéaire suivant :

{min x1−x2+x3−x4¿{ x1+x2−x3≤1¿{ x1+x2−x4≥3 ¿


' ' ' ''
Forme canonique de minimisation : On pose que x 3=−x3 avec x 3≥0 et x 4 =x 4 −x 4 avec
' ''
x 4 , x 4 ≥0 .

26
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

{ { { ''' ' ''


min x1−x2−x3−x4+x4¿ -x1−x2−x3≥−1¿ x1+x2−x4+x4≥3 ¿ ¿
' ' ' '' ' ''
Forme standard : On pose toujours que x 3=−x3 avec x 3≥0 et x 4 =x 4 −x 4 avec x 4 , x 4 ≥0 .

{ { { ''' ' ''


min x1−x2−x3−x4+x4¿ x1+x2+x3+x5=1¿ x1+x2−x4+x4−x6=3 ¿
2. Résolution d’un système linéaire

Un système de m équations à n inconnues 1 2


x ,x ,..., x
n s’écrit sous forme matricielle : AX = b où A
est une matrice comportant m lignes et n colonnes, X est le vecteur colonne dont les composantes
sont les xi et b, le second membre, est aussi un vecteur colonne avec n composantes. Le vecteur X
est appelé solution du système. Soit la m×(n+1)-matrice Ab, matrice formée par A à laquelle b est
accolé. A est dite de plein rang si rang(A)=m.

Théorème : Etant donné un système linéaire AX = b, b ≠ 0, trois cas sont possible :

1) Le système est de plein rang, dans ce cas l’ensemble des solutions {X | AX = b} n’est pas vide,
la solution est unique si et seulement si m=n, et une infinité de solution si m<n.
2) Le système n’est pas de plein rang, et le système AX = b est incompatible, donc pas de
solution.
3) Le système n’est pas de plein rang, et le système AX = b est redondant et en enlevant la
redondance on retourne au cas 1).

27
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Exemple 1 : Soit le système d'équations suivant :

(S1)≡¿{ x1+2x2+x3=7 ¿ {2x1−x2+2x3=6 ¿ ¿ ¿ ⇒


AX=¿ ( 1 2 1¿)( 2 -1 2¿) ¿ ¿¿
¿
Il est clair que A est de plein rang (rang A=3) et le système est de Cramer, possède donc une
solution unique X=A-1b. Vérifions ça par le résultat précédent en échelonnant la matrice Ab.

( ) ( ) ( ) ( )
1 2 1 7 1 2 1 7 1 2 1 7 1 2 1 7
2 −1 2 6 0 −5 0 −8 0 −5 0 −8 0 1 0 8 /5
1 1 3 12 ⇒ 0 −1 2 5 ⇒ 0 0 2 35/5 ⇒ 0 0 1 33/10

Ceci implique que le système (S 1 ) possède une solution unique : x1 = 0.5, x2 = 1.6 et x3 = 3.3

Exemple 2 : Soit le système d'équations suivant :

(S2)≡¿{ x1+2x2+x3+x4=7 ¿{2x1−x2+2x3+2x4=6 ¿ ¿ AX=¿(1 2 1 1¿)(2 -1 2 2¿ )¿ ¿¿


⇒ ¿
Il est clair que A est de plein rang (rang A=3=min(3,4)) et que le rang(Ab)=3 en échelonnant la
matrice Ab.

( ) ( )( )
1 2 1 1 7 1 2 1 1 7 1 2 1 1 7
2 −1 2 2 6 ⇒ 0 −5 0 0 −8 ⇒ 0 −5 0 0 −8
1 1 3 −1 12 0 −1 2 −2 5 0 0 2 −2 33/5

( )
1 2 1 1 7
⇒ 0 −5 0 0 −8
0 0 1 −1 33/10

28
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Donc il est clair que le rang(Ab)=rang(A)=3 avec m<n, donc le système (S 2 ) possède une infinité
de solutions. Si x4 =0, alors ; x1 = 0.5, x2 = 1.6 et x3 =3.3 et en changeant la valeur de x4 on aura
une infinité de solutions.

Exemple 3 :

(S3)≡¿{ x1+3x2+x3=5¿{2x1−x2−x3=−3¿{ 4x1+2x2+x3=7 ¿ ¿ ⇒


AX=¿(1 3 1¿) (2 -1 -1¿)(4 2 1¿)¿¿¿
¿
Il est clair que A n’est pas de plein rang (rang A=3=min(3,4)) et que le rang(Ab)=4 en échelonnant
la matrice Ab. D’où le système est incompatible.

( )( )( )
1 3 1 5 1 3 1 5 1 3 1 5
2 −1 −1 −3 0 −7 −3 −13 0 −7 −3 −13
4 2 1 7 0 −10 −3 −13 0 0 9 /7 39/7
5 −2 4 −4 ⇒ 0 −17 −1 −29 ⇒ 0 0 44 /7 18/7

Donc d’après l’échelonnement de Gauss, on a :

(9/7)×z = 39/7, ce qui implique que z = 39/9, et que (44/7)×z =18/7, ce qui implique que z =18/44,
et ceci est impossible. Donc le système (S 3 ) est incompatible (pas de solution).

3. Bases, bases réalisables et solutions de base d’un PL

Définition 1 : Etant donné le système linéaire {AX=b, X≥0}, où A est une matrice m×n de rang égal
à m tel que m ≤ n. Soit N={1,2,…,n} ; I={j1,j2,…,jm} : I⊆N. A cet ensemble d’indices correspond
une matrice carrée régulière (m×m) extraite de A notée AI=(aj1,…,ajm). L’ensemble I est dit une base
si AI est non singulière c-à-d déterminant de AI est différent de 0.

Les éléments de I sont les indices de base.

Les éléments de J=N-I sont les indices hors base.

Etant donnée une base I, en réordonnant les colonnes de A, on peut écrire A=( AI, AJ) ; ceci est
équivalent à dire que :

AX=b → (AI ,AJ)(XI,XJ)t = b

→ (AI)XI+( AJ)XJ = b
29
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

→ XI+( AI)-1(AJ)XJ = (AI)-1b

→ XI = (AI)-1b-(AI)-1(AJ)XJ

X* = (XI,XJ)t est dit solution de base si elle vérifie AX *=b et X*=(XI=(AI)-1b, XJ=0)t. Si en plus XI≥0,
alors X* est une solution de base réalisable.

Remarque: Si A est du rang m, le nombre de solutions de bases réalisables est au plus égal à

m
C n =n !/( n−m)! .

30
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Exemple 1 : Déterminer les bases et les bases réalisables du système d’inéquations suivant :

( 1 1 1 0¿ ) ¿
{x1+x2+x3 =6¿{ x2 +x4=3 ¿ ¿ ⇒
AX=¿
¿
¿¿
A I =¿ (1 1¿) ¿ ¿¿ X I =( A I ) b=¿ (1 - 1 ¿ ) ¿ ¿ ¿
−1
1) Pour I={1,2}, ¿ on a ¿
D,’où I est une base réalisable.

A I =¿ (1 1¿ ) ¿ ¿¿
2) Pour I={1,3}, ¿ on a, det( A I )=0 , d’où I n’est pas une base.

A I =¿ (1 0¿ ) ¿ ¿¿ X I =( A I )−1 b=¿ (1 0 ¿ ) ¿ ¿ ¿
3) Pour I={1,4}, ¿ on a ¿
D’où, I est une base réalisable.

A I =¿ (1 1¿) ¿ ¿¿ X I =( A I ) b=¿ ( 0 1 ¿ ) ¿ ¿ ¿
−1
4) Pour I={2,3}, ¿ on a ¿
D’où, I est une base réalisable.

A I =¿ (1 0¿) ¿ ¿¿ X I =( A I ) b=¿ ( 1 0 ¿ ) ¿ ¿¿
−1
5) Pour I={2,4}, ¿ on a ¿
D’où, I n’est pas une base réalisable.

A I =¿ (1 0¿ ) ¿ ¿¿ X I =( A I )−1 b=¿ (1 0 ¿ ) ¿ ¿ ¿
6) Pour I={3,4}, ¿ on a ¿
Donc, I est une base réalisable.

31
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

On récapitule,

Sommet (x1, x2, x3, x4) I base Nature de base


(3, 3) (3, 3, 0, 0) {1,2} {a1,a2} base réalisable
/ / {1,3} {a1,a3} n’est pas une base
(6, 0) (6, 0, 3, 0) {1,4} {a1,a4} base réalisable
(0, 3) (0, 3, 3, 0) {2,3} {a2,a3} base réalisable
(0, 6) (0, 6, 0, -3) {2,4} {a2,a4} base non réalisable
(0, 0) (0, 0, 6, 3) {3,4} {a3,a4} base réalisable

Pour les bases non réalisables, les sommets correspondant n’appartiennent pas au domaine des
solutions réalisables.

Exemple 2 : Etant donné le système des inégalités linéaires suivant :

{x1 ≤6¿{x1/4+x2≤6¿{3x1+2x2≤2 ¿ , en rajoutant des variables d’écarts aux différentes inégalités, on aura :

(AX=¿ 1 0 1 0 0¿)(1/4 1 0 1 0¿)¿¿


{x1 +x3 =6¿{x1/4+x2 +x4 =6¿{3x1+2x2 +x5=2 ¿ ⇒ ¿
Après le calcul de toutes les solutions de base associées aux différentes bases on aura le tableau
suivant :

Sommet (x1, x2) (x1, x2, x3, x4, x5) I base


(4, 5) (4, 5, 2, 0, 0) {1,2,3} {a1,a2,a3}
(6, 2) (6, 2, 0, 2.5, 0) {1,2,4} {a1,a2,a4}
(6, 0) (6, 0, 0, 4.5, 4) {1,4,5} {a1,a4,a5}
(0, 6) (0, 6, 6, 0, 10) {2,3,5} {a2,a3,a5}
(0, 0) (0, 0, 6, 6, 22) {3,4,5} {a3,a4,a5}

32
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

3
On a le nombre total de solutions de base est C5 =10 , or on a déterminé uniquement 5, les 5 autres
choix de bases ne conduisent pas à des solutions réalisables.

4. Forme standard d’un PL par rapport à une base :

Soit le programme linéaire (P) suivant :

(P)≡¿{Z(max)=CX¿ { AX=b¿¿¿
−1 −1
X I =( A I ) b−( A I ) ( A J ) X J , et
D’après ce qui précède et pour une base I, on a : AX =b ⇒

CX=C I X I +C J X J
=C I ( A I )−1 b−C I ( A I )−1 ( A J ) X J +C J X J
=Πb+(C J −ΠA J )X J

−1
Π=C I ( A I )
où est dit vecteur multiplicateur.

Donc on peut réécrire le PL (P) sous la forme :

(P )≡¿{Z(max)=Πb+(CJ−ΠAJ)XJ )¿{ XI+(AI) (AJ)XJ=(AI) b ¿ ¿


S −1 −1
, dite forme standard de (P) par rapport à la base I.

33
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Exemple : Soit le programme linéaire (P) suivant :

(P)≡¿{Z(max)=2x1+x2+6x3−2x4+5x5¿{ x1+x2+3x3−x4+4x5=4¿{ x2+2x3+x4+2x5=3 ¿ ¿


Ecrire (P) sous forme standard par rapport à la base I ={1, 2 }.

Il est clair que l’ensemble des indices des variables est N={1, 2, 3, 4, 5} et AI = (a1, a 2).

A I =¿ (1 1¿) ¿ ¿¿
Comme la matrice ¿ est inversible, alors on peut écrire le système sous la forme
suivante :

(1 1 ¿) ¿ ¿ ¿
¿
En multipliant ce dernier système par (AI)-1, matrice inverse de la matrice (AI), on aura :

( x1 ¿) ¿ ¿ ¿
¿

Après le calcul, on aura :


{x1=1−x3+2x4−2x5 ¿ ¿¿¿ .

En remplaçant ces deux expressions de x1 et x2 dans la fonction objectif on aura :


Z ( max)=2 x 3 +x 4 −x 5 +5 .

S
D’où la forme standard ( P ) de ( P) par rapport à la base {1,2} est :

34
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

(P )≡¿{Z(max)=2x3+x4−x5+5¿{x1=1−x3+2x4−2x5¿{x2=3−2x3−x4−2x5¿ ¿
S

S
Il est clair que le PL ( P ) possède x1=1 et x₂=3 comme solution de base réalisable associée à la
base {1,2} et Z(x1=1, x₂=3)=5.

Théorème d’optimalité : Etant donné un programme linéaire écrit sous forme standard
relativement à une base I. Si le vecteur coût C est négatif (i.e. (C J - ᴫ AJ) ≤ 0), alors la solution de
base réalisable correspondante à la base I est optimale (i.e. X J*=(AI)-1b et XJ*=0) et la valeur de la
fonction objectif correspondante est Z*=ᴫb.

Remarque : Si le programme linéaire est de minimisation, alors le critère d’optimalité est

(CJ - ᴫAJ) ≥ 0.

Remarque : Si pour une base donnée I, la solution de base réalisable correspondante est optimale,
alors la base I est dite base optimale.

Remarque : La solution (x1=1, x₂=3) de base réalisable associée à la base {1,2} de PL (P s)


précédent n’est pas optimale car il existe dans la fonction objectif, des c j ≥ 0 : pour j∈J (J est
l’ensemble des indices hors base).

II. Notion de dualité en programmation linéaire

La dualité est un concept fondamental en programmation linéaire et conduit à un résultat de grande


portée théorique et pratique.

1. Dual d’un problème de la PL :

Définition : Soit donné un PL mis sous sa forme canonique :

(P)≡¿{Z(max)=CX¿ { AX≤b¿¿¿
Avec : X est un vecteur colonne de Rn , C est un vecteur ligne de Rn ,
b est un vecteur colonne de Rm; A : m×n.

35
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

On lui associe un autre problème de la PL (D) dit dual de (P) ((P) est dit primal).

(D)≡¿{W(min)=Yb¿{ YA≥C,¿ ¿ ; avec Y∈Rm : vecteur ligne des variables duales.

2. Définition du dual dans le cas général

Primal (Dual) Dual (Primal)


Fonction objective (max) | Fonction objective (min)
ième contrainte ≥ ième variable ≤ 0
ième contrainte ≤ ième variable ≥ 0
ième contrainte = ième variable qcq
ième variable ≥ 0 jème contrainte ≥
jème variable ≤ 0 jème contrainte ≤
jème variable qcq jème contrainte =

Remarque : Le dual du dual est le primal.


Preuve : En effet, on peut réécrire le dual (D) sous cette forme :

(D)≡¿{W(min)=Yb ¿ { YA≥C¿¿ ¿ , ceci implique que :


(D)≡¿{−W(max)=Y(−b)=−b Y ¿ {−A Y ≤−C ¿ ¿ ¿
tt tt t

Donc le dual de (D) est :

(D(D) ≡¿{Z'(min)=X (−C )=−CX ¿ { X (−A )≥−b , ¿ ¿


t t t t t


(D( D) ≡(P)≡¿{Z(max)= CX¿ { AX≤b, ¿ ¿¿¿
Théorème de dualité : Soit le problème linéaire suivant :

36
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

(P)≡¿{Z(max)=CX¿{ AX=b, ¿ ¿
Son dual est le programme linéaire suivant :

(D)≡¿{W(min)=Yb ¿{ YA≥C,¿ ¿
Exemple : Soit le PL Primal suivant :

(P)≡¿{Z(max)= 4x1+6x2+20x3+17x4¿{ x1+x3+2x4≤10¿{ x2+2x3+x4≤4 ¿ ¿


Son dual est le PL suivant :

(D)≡¿{W(min)=10y1+4y2¿{y1 ≥4¿{ y2≥6¿{y1+2y2≥20¿{2y1+ 2≥17 ¿


Proposition : Etant donné deux PLs duaux (P) et (D). Pour toute solution réalisable X de (P) et pour
toute solution réalisable Y de (D) on a CX≤ Yb.

Peuve : On a X≥0, Y≥ 0, AX≤b et YA ≥C, d’où CX ≤ YAX ≤ Yb et donc CX ≤ Yb.

Proposition : Soient X et Y deux solutions réalisables de (P) et (D), respectivement. Si CX=Yb,


alors X et Y sont optimales de (P) et (D), respectivement.
Proposition : Etant donnés deux programmes linéaires duaux. On a toujours l’un des trois cas
exclusifs :

1) Les deux programmes ont des solutions optimales finies X* et Y* telles que CX*=Y*b.
2) L’un des deux problèmes n’a pas de solutions réalisables et l’autre a des solutions réalisables
mais pas de solutions optimales finies (i.e non bornée).
37
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

3) Aucun des deux n’a de solutions réalisables.

38
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Exemples :

Cas 1 : Soient les deux problèmes duaux suivants :

(Primal) (Dual)

¿ ¿
{ 1
(P)≡¿{Z(max)= x1+x2¿{ -x1+x2 =1¿ x1− x2 =0¿ ¿
2 { 1
(D)≡¿{W(min)= y1¿{ −y1+y2≥1¿ y1− y2≥1¿ ¿
2
On a X*=( x 1 , x 2 )=(1,2) est réalisable avec Z*=3, et Y*=(y1, y2)=(3,4) est réalisable avec W*=3. Ces
¿ ¿ ¿
deux solutions sont optimales de (P) et (D) respectivement (car on a CX*= x 1 + x 2 =3=Y*b= y 1 =3).

Cas 2 : Soient les deux problèmes duaux suivants :

(Primal) (Dual)

(P)≡¿{Z(max)= -x1+x2¿{ -x1+x2 =1¿{ x1−x2 =0 ¿ ¿ (D)≡¿{W(min)= y1¿{ −y1+y2≥−1¿{ y1−y2≥1 ¿


Il est clair que le primal n’a pas de solutions réalisables et le dual a une infinité de solutions
réalisables : En effet y1-y2=1. Si y1 =d, alors y2=d-1. Si d→-∞, alors W* =y1→-∞, et on obtient un W
aussi négatif que l’on veut (W non bornée).
Cas 3 : Soient les deux problèmes duaux suivants :

(Primal) (Dual)

(P)≡¿{Z(max)= x1+x2¿{ -x1+x2 =1¿{ x1−x2 =0 ¿ ¿ (D)≡¿{W(min)= y1¿{ −y1+y2≥1¿{ y1−y2≥1 ¿


(P) ne possède pas de solutions (D) ne possède pas de solutions
39
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Nous allons maintenant donner une condition nécessaire et suffisante pour que deux solutions
réalisables X et Y soient optimales. Cette condition sera utilisée dans certaines techniques de
résolution de problèmes de programmation linéaire (méthode primal-dual). Etant données les deux
PLs duaux suivants :

(P)≡¿{Z(max)=CX¿{ AX≤b, ¿ ¿ (D)≡¿{W(min)=Yb ¿{ YA≥C,¿ ¿


Théorème faible des écarts complémentaires (E.C) : Soient X et Y deux solutions réalisables de
(P) et (D) respectivement. X et Y sont optimales si et seulement si :
n
y i (b i−∑ a ij x j )=0 ,
j=1 pour i=1,..,m.
Et
m
( ∑ a ij y j −c j )x j =0 ,
i=1 pour j=1,...,n.

Exemple : Soient les deux PLs duaux suivants :

(Primal) (Dual)

(P)≡¿{Z(max)= 4x1+6x2+20x3+17x4¿{ x1+x3+2x4≤10¿{ x2+2x3+x4≤4 ¿ ¿ (D)≡¿{W(min)=10y1+4y2¿{ 1 ≥4¿{ y2≥6¿{y1+2y2≥20¿{ y1+ 2≥17 ¿


Après la résolution des deux PLs on aura, les solutions optimales : X*= (2,0,0,4) et Y*= (4,9) de (P)
et (D), respectivement, avec Z*= W*=76. On peut vérifier les conditions du théorème des E.C :
n
(b i−∑ a ij x j )>0 , ¿
Si j=1
y
alors i
=0,
n
¿ (b i−∑ a ij x j )=0 ,
Si
y i >0 , alors j=1
m
(∑ a ij y j −c j )>0 , ¿
Si i=1
x =0 ,
alors j
40
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

m
¿ (∑ a ij y j −c j )=0 ,
Si
x j >0 , alors i=1

Pour le PL (D) la troisième contrainte y 1 +2 y 2 ≥20 , correspond à la variable x3 dans (P). On peut
¿
¿ ¿
x =0, et c’est
vérifier facilement que y 1 +2 y 2 =4+2(9)=22>20 , Ceci implique forcement que 3
¿
x
le cas car 3
=0 .

41
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

CHAPITRE 4

Résolution d’un problème de la programmation linéaire

II. Méthode du simplexe 

On a présenté dans le chapitre précédent une procédure graphique pour résoudre un programme
linéaire à deux variables. Par contre, dans la plupart des problèmes réels, on a plus que deux
variables à déterminer. Nous décrivons ici une procédure algébrique pour résoudre les programmes
linéaires avec plus que deux variables. Cette méthode a été développée par G. B DANDZIG aux
États unis en 1947, et est appelée méthode du simplexe. L’idée de base de l’algorithme du simplexe
consiste à partir d’un point extrême X0 de l’ensemble D des solutions réalisables à se déplacer vers
un point extrême X1, où la valeur de Z(X1) est meilleure. On suppose dans l’algorithme du simplexe
qu’on a une solution réalisable de base de départ. Dans cette section, la méthode de simplexe est
présentée pour les problèmes de maximisation

(P)≡¿{Z(max )=CX¿ { AX≤b¿¿¿


1. Algorithme du simplexe

(0) Mettre le PL sous sa forme standard par rapport à une base réalisable I.
(1) Déterminer les coefficients des variables hors base de la fonction objectif et poser
cs=maxj∊J{cj}.

i) Si cs ≤0, stop la solution de base correspondante est optimale.


ii) Si cs >0, aller en (2).

(2) Examiner la colonne As.

i) Si {i / Ais >0}=Ø, stop le PL na pas de solution finie.


ii) Si {i / Ais >0}≠Ø, alors soit K={k /( bk/Aks)=min( bi/Ais) pour i=1,…,m}.

Choisir r∊K et mettre à nouveau le PL sous forme standard par rapport à la nouvelle
base I=I-{r}+{s} et aller en (1).

Remarque : Pour un problème de minimisation, l’étape (1) de l’algorithme de simplexe devient :

42
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

(1) Déterminer les coefficients des variables hors base de la fonction objectif et poser
cs=minj∊J{cj}.

(i) Si cs ≥0, stop la solution de base correspondante est optimale.


(ii) Si cs <0, aller en (2).

2. Illustration de la méthode du simplexe sur des exemples

Exemple 1 : Soit le programme linéaire suivant :

(P)≡¿{Z(max)= x1+2x2¿{ -3x1+2x2≤2¿{ -x1+2x2≤4¿{ x1+ 2≤5 ¿ , sa forme standard est:


(P)≡¿{Z(max)= x1+2x2¿{ -3x1+2x2+ 3 =2¿{ -x1+2x2 +x4 =4¿{ x1+ 2 +x5=5 ¿
S

Il est clair que {3,4,5} forme une base réalisable de départ (ce qui est en bleu dans le tableau), d’où
les variables hors base x1 =x₂=0 et x3=2, x4=4, x5 =5 et Z*=0. La solution (0, 0, 2, 4, 5) n’est pas
optimale car d’après le théorème d’optimalité il existe au moins un élément dans le vecteur (C J -
ᴫAJ) qui est positif (on a le c1=1 et le c2=2).

VB x1 x₂ x3 x4 x5 b k=cp/Lp
x3 -3 2 1 0 0 2 2/2=1 2ème étape :
Lp ligne pivot
x4 -1 2 0 1 0 4 4/2=2
x5 1 1 0 0 1 5 5/1=5
-Z 1 2 0 0 0 0

1ère étape : Cp colonne pivot


colonne pivot

Variable entrante (colonne pivot) : On a max (coeff (Z))=2>0, donc x2 est la variable entrante.
Variable sortante (ligne pivot) : On a min(k>0), min(1, 2, 5)=1, donc x3 est la variable sortante.
Lp∩Cp = l’élément pivot=2.

On met à nouveau le PL sous forme standard par rapport à la nouvelle base {2, 4, 5}, on aura le
tableau suivant :
Cp

VB x1 x₂ x3 x4 x5 b k=cp/Lp
x2 -3/2 1 ½ 0 0 1
43 Lp
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

x4 2 0 -1 1 0 2 2/2=1
x5 5/2 0 -½ 0 1 4 4/(5/2)=8/5
-Z 4 0 -1 0 0 -2
La solution (0, 1, 0, 2, 4) n’est pas optimale car d’après le théorème d’optimalité il existe au moins
un élément dans le vecteur (C j −ΠA j ) qui est positif (on a uniquement le 4). Donc on cherche
d’avoir une solution de base réalisable meilleure.

Variable entrante (colonne pivot) : On a max (coeff (Z))=4>0, donc x1 est la variable entrante.
Variable sortante (ligne pivot) : On a min (k>0), min (1, 8/5)=1, donc x4 est la variable sortante.
Lp∩Cp = l’élément pivot=2.

On met à nouveau le PL sous forme standard par rapport à la base {2, 1, 5}, on aura le tableau
suivant :

VB x1 x2 x3 x4 x5 b k=cp/Lp
x2 0 1 -¼ ¾ 0 5/2
x1 1 0 -½ ½ 0 1
x5 0 0 ¾ -5/4 1 3/2 (3/2)/(3/4)=2
-Z 0 0 1 -2 0 -4

x2 0 1 0 ⅓ ⅓ 3
x1 1 0 0 -⅓ -⅔ 2
x3 0 0 1 -5/3 4/3 2
-Z 0 0 0 -1/3 -4/3 -8

Il est clair d’après le tableau final que tous les cj : j ∈J sont négatifs, alors la solution actuelle est
¿
optimale avec Z =8 et x 1=2, x 2=3 .

44
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Exemple 2 (Cas de dégénérescence) : On considère le programme linéaire ( P) suivant :

(P)≡¿{Z(max)=10 x1+120 x2¿{10x1+5x2≤20 ¿{ 2x1+3x2≤60¿{ x1 ≤18¿{ x2≤20 ¿


Sa forme standard est :

(P)≡¿{Z(max)=10 x1+120x2¿{10x1+52x3 =20¿{ 2x1+32 +x4 =60¿{ x1 +x5 =18¿{ x2 +x6=20 ¿


S

Il est clair que I={4,5,6} est une base réalisable. Donc l'algorithme du simplexe s'applique avec une
( x1 , x 2 , x 3 , x 4 , x 5 , x 6 )=(0,0,0 , 60 ,18 , 20 )
solution de base de départ .

Somme V x1 x2 x3 x4 x x b
t B 5 6
x3 10 5 1 0 0 0 200
x4 2 3 0 1 0 0 60
O  x5 1 0 0 0 1 0 18
x6 0 1 0 0 0 1 20
-Z 1000 120 0 0 0 0 0
0

x3 20/3 0 1 −5/3 0 0 100

A x2 2/3 1 0 1/3 0 0 20

x5 1 0 0 0 1 0 18

45
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

x6 −2/3 0 0 −1/3 0 1 0

-Z 200 0 0 −400 0 0 −24000

x1 1 0 3/20 −1/4 0 0 15

B x2 0 0 −1/10 1/2 0 0 10

x5 0 0 −3/20 1/4 1 0 3

x6 0 0 1/10 −1/2 0 1 10

-Z 0 0 −30 −350 0 0 −27000

¿
I = {3,2,5,6 }
Pour ce problème la base correspondant au sommet A, est une base dégénérée, mais la
solution optimale correspondant au sommet B, n’est pas dégénérée par le fait qu’on a pu enlever la
dégénérescence dans la dernière itération du simplexe.

Interprétation graphique

46
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

3. Résumé de la procédure de la méthode du simplexe

Dans le cas d'un problème de maximisation sous contraintes  et avec un second membre positif :
Etapes Justification
1. Formuler un programme linéaire pour le Pour obtenir une représentation mathématique du
problème réel. problème
2. Vérifier que le second membre du Ceci est nécessaire pour obtenir comme variable
programme linéaire est positif de base initiale l’origine
3. Ecrire le programme linéaire sous une Mettre toutes les contraintes sous forme d’égalité
forme standard
4. Construire le premier tableau de simplexe Ce tableau correspond à la solution initiale de
base
5. Choisir comme variable entrante dans la La valeur de cj-zj indique la quantité
base celle qui admet le plus grand effet net d’augmentation de la fonction objectif si on
positif cj-zj. augmente la valeur de xj d’une unité.
6. Choisir la variable sortante de la base celle La plus petite valeur de bi/aij indique le nombre
qui admet le plus petit ratio supérieur à zéro. maximal d’unité de xj qu’on peut introduire avant
que la variable de base de l’ième ligne ne soit
égale à zéro.
7. Construire le nouveau tableau en utilisant la Cette règle nous permet entre autre de calculer les
règle de pivot valeurs des nouvelles variables de décision
8. Faire le test d’optimalité. Si Si (cj-zj)  0 alors on n’a pas d’intérêt à faire
(cj-zj)  0 pour toutes les variables (hors base), entrer dans la base aucune de ces variables. Une
la solution obtenue est donc optimale. Sinon telle introduction engendra une diminution de la
retourner à l’étape 5. fonction objectif.

47
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

III. Méthode des deux phases :

1. Initialisation à la méthode des deux phases

L’application de la méthode du simplexe nécessite la connaissance d’une solution de base


réalisable ce qui n’est pas toujours évident. La méthode des deux phases consiste à créer
artificiellement une solution de base réalisable initiale.

Soit (P) un PL écrit sous sa forme standard. On associe à (P) le programme auxiliaire (PA)
suivant :

(P)≡¿{Z(max)=CX¿{ AX=b, ¿ ¿ (PA)≡¿{Z(max)=CX¿ { AX+IV=b, X≥0,V≥0, ¿ ¿ ¿


Tels que : I : est la matrice d’identité et V : est le vecteur des variables artificielles vi.

Théorème : Soit (X*,V*) une solution réalisable de base optimale de (PA) : Si ψ*=0, alors X* est une
solution réalisable de base pour (P).

Lemme : Soit (X*,V*) une solution optimale de (PA). Si ψ *>0, alors le PL (P) n’admet pas de
solutions réalisables.

Théorème : Etant donné un programme linéaire (P), alors :


- S’il admet une solution réalisable, alors il admet une solution réalisable de base.
- S’il admet une solution optimale, alors il admet une solution optimale de base.
- S’il admet une solution réalisable et si la fonction objectif est bornée, alors il admet une
solution optimale de base.

48
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

Méthode des deux phases : Soit le PL suivant :


(P)≡¿{Z(max)=CX¿ { AX≤b¿¿¿
Phase 1 :

- Mettre le PL (P) sous sa forme standard.


- Multiplier par (-1) les équations dont les bi<0.
- Associer à (P) le problème auxiliaire (PA) en ajoutant un minimum de variables artificielles.
- Ecrire PA sous sa forme standard par rapport à une base réalisable.
- Appliquer l’algorithme du simplexe au (PA) en supprimant les variables artificielles.
- Soit ψ le minimum de la fonction objectif de (PA).
Cas 1 : Si ψ >0, alors le domaine des solutions réalisables de P, D(P) est vide et le PL (P)
n’admet pas de solution.
Cas 2 : Si ψ =0, alors faire sortir les variables artificielles de la base en appliquant la
procédure suivante :

Soit vr une variable artificielle de base. Effectuer un pivotage faisant sortir le vr et entrant une
variable xi.

Phase 2 :

Appliquer l’algorithme du simplexe à (P) sous sa forme obtenue à la fin de la première phase.

2. Illustration de la méthode sur des exemples

Exemple 1 : Soit le programme linéaire suivant :

(P)≡¿{Z(max)= x1+2x2¿{ 3x1+x2−x3 =6¿{ x1+3x2 +x4=10 ¿


Phase 1 : On associe à (P) son problème auxiliaire (PA) suivant :

49
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

(PA)≡¿{Z(max)=x1+2x2¿{3x1+x2−x3 +ν=6¿{x1+3x2 +x4=10¿{ψ(min)=ν¿ ¿ (PA)≡¿{3x1+ 2−x3 +ν=6¿{x1+3x2 +x4=10¿{x1+2x2−Z=0¿{-3x1−x2+ 3−ψ=−6 ¿


, implique que

On applique l’algorithme du simplexe version minimum pour le (PA), on aura :

VB x1 x2 x3 x4 v b
v 3 1 -1 0 1 6
x4 1 3 0 1 0 10
-Z 1 2 0 0 0 0
-ψ -3 -1 1 0 0 -6

x1 1 1/3 -1/3 0 1/3 2


x4 0 8/3 1/3 1 -1/3 8
-Z 0 5/3 1/3 0 -1/3 -2
-ψ 0 0 0 0 1 0

On a d’après le tableau final, ψ*=0, d’où la solution de base actuelle (x1, x2 ,x3, x4) = (2,0,0,8) est
optimale pour le PL (PA) et est réalisable pour le PL (P), mais elle n’est pas optimale, car les
coefficients de la fonction Z sont positifs.

Phase 2 : On réapplique l’algorithme du simplexe à (P) sous sa forme obtenue à la fin de la phase 1,
on aura :

VB x1 x2 x3 x4 b
x1 1 1/3 -1/3 0 2
x4 0 8/3 1/3 1 8
-Z 0 5/3 1/3 0 -2

x1 1 0 -3/8 -1/8 1

50
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

x2 0 1 1/8 3/8 3
-Z 0 0 1/8 -5/8 -7

x1 1 3 0 1 10
x3 0 8 1 3 24
-Z 0 -1 0 -1 -10

D’où la solution optimale est X*= (10,0,24,0) et Z*=10.

Exemple 2 : Soit le programme linéaire suivant :

(P)≡¿{Z(max)= 2x1+x2¿{ x1+x2+x3 =1¿{ x2+x3=1 ¿ ¿


Phase 1 : On associe à (P) son problème auxiliaire (PA) suivant :

(PA)≡¿{x1+x2+x3+ν1=1¿{x2+x3+ν2=1¿{2x1+x2−Z=0¿{ψ(min)=ν1+v2¿ ¿ {x1+2 x3+ν1=1¿{x2+3 ν2=1¿{2x1+2−Z=0¿{−x1−2x2−2x3−ψ=−2 ¿


On applique l’algorithme du simplexe pour le (PA), on aura :

VB x1 x2 x3 v1 v2 b
v1 1 1 1 1 0 1
v2 0 1 1 0 1 1
-Z 2 1 0 0 0 0
-ψ -1 -2 -2 0 0 -2

x2 1 1 1 / 0 1
Oter la variable
artificielle de la
51 base optimale
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

v2 -1 0 0 / 1 0
-Z 1 0 -1 / 0 -1
-ψ 1 0 0 / 0 0

x2 0 1 1 / / 1
x1 1 0 0 / / 0
-Z 0 0 -1 / / -1
-ψ 0 0 0 / / 0

On a d’après le tableau final ψ*=0, d’où la solution de base actuelle (x1, x2 ,x3) = (0,1,0) est optimale
pour le PL (PA) et est optimale pour le PL (P) (avec Z *=1) car tous les coefficients des variables
hors base de la fonction objectif Z sont négatifs (ie. le vecteur C ≤ 0).

Exemple 3 : Soit le programme linéaire suivant :

(P)≡¿{Z(max)= x1+ 2 x3+ 4¿{ x1+2x2+ 3 =2¿{ x1+ 2 5x3 =12¿{ x1+2x2+6x3+ 4 =13 ¿
Phase 1 : On associe à (P) son problème auxiliaire (PA) suivant :

(PA)≡¿{x1+22 x3+ν1=2¿{x1+2 5x3+ν2=12¿{x1+22+6x3+4=13¿{ -x2−5x3−Z=−13¿{ψ=v1+2 ¿


Et ceci implique que :

52
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

(PA)≡¿{x1+22 x3+ν1=2¿{x1+25x3+ν2=12¿{x1+22 6x3+4=13¿{ -x2−53 Z=−13¿{-2x1−32 6x3−ψ=14 ¿

53
Programmation linéaire : Par N. MEDDAH, MCB en mathématiques appliquées

On applique l’algorithme du simplexe pour le (PA), on aura :

VB x1 x2 x3 x4 v1 v2 b
v1 1 2 1 0 1 0 2
v2 1 1 5 0 0 1 12
x4 1 2 6 1 0 0 13
-Z 0 -1 -5 0 0 0 -13
-ψ -2 -3 -6 0 0 0 -14

x3 2
v2 2
x4 1
-Z -3
-ψ 4 9 0 0 6 0 -2

Il est clair que la solution de base actuelle est optimale pour le PL (PA) (contraintes d’optimalité
sont vérifiées), avec un ψ* >0. Donc le problème (P) n’admet pas de solution réalisable car son
domaine de solutions réalisables D(P) est vide.

54

Vous aimerez peut-être aussi