Vous êtes sur la page 1sur 18

Chapitre 6

Programmation linéaire

Position du problème

La programmation linéaire est un des domaines les plus utilisés de la RO. Elle permet de
traiter un vaste ensemble de problèmes d’optimisation dans des contextes divers comme la
gestion de stocks, flux de transport, distribution de tâches à des personnels, recherche de plans
de fabrication etc. . . La modélisation de ces problèmes débouche sur des équations ou
inéquations linéaires (exprimant les différentes contraintes) dont on cherche les solutions
permettant d’optimiser une fonction économique elle-même linéaire. De plus on supposera
que les variables considérées sont astreintes à être positives (contraintes de positivité). On
appelle une telle formulation un programme linéaire (PL).

Présentation d’un exemple

Un agriculteur peut utiliser 2 types d'engrais X et Y, pour fertiliser ses terres : il sait que
celles-ci requièrent, par hectare et par an, au moins 60 kg de potasse, 120 kg de calcium et 90
kg de nitrates. Les deux types d'engrais coûtent le même prix au poids; Ils contiennent, en
plus d'un produit neutre :
pour X : 1 kg de potasse, 3 kg de calcium et 3 kg de nitrates;
pour Y : 2 kg de potasse, 2 kg de calcium et 1 kg de nitrates.
Comment l'agriculteur peut-il fertiliser ses cultures au moindre coût ? Il s'agit d'un problème à
2 inconnues x et y (nombres positifs), représentant les quantités d'engrais de types X et Y à
acheter par hectare et par an.
Les contraintes imposées sur la fertilisation d'un hectare peuvent s'écrire
1x+ 2y ≥ 60
3x+ 2y ≥ 120
3x +y ≥90
Le problème consiste à trouver x et y de façon à minimiser la fonction objectif Z=x+y (le coût
étant proportionnel à la quantité d'engrais achetée par hectare et par an).
D'une manière générale, un problème de programmation linéaire simple consiste à déterminer
les valeurs numériques de n variables x1, x2,…, xn satisfaisant m contraintes de façon à
maximiser (ou à minimiser) une quantité Z qui est elle-même une fonction linéaire. On
obtient ainsi les deux formulations suivantes:

Max (z) =∑ j=1,n cj xj Min (z) =∑ j=1,n cj xj


∑ j=1,n aij xj ≤ bi, i ∈ {1, . . . ,m} ∑ j=1,n aij xj ≥ bi, i ∈ {1, . . . ,m}
xj ≥ 0, pour j ∈ {1, . . . , n} xj ≥ 0, pour j ∈ {1, . . . , n}

1
Remarque
On peut toujours se ramener à un problème de maximisation. En effet, minimiser la fonction
économique z revient à maximiser −z : on remplace ci par −ci.
Les contraintes xj ≥ 0, pour j ∈ {1, . . . , n} sont appelées contraintes de positivité. On peut
toujours se ramener à ce cas en introduisant de nouvelles variables : Si xj≤ 0, on pose = xj
tel que ≥ 0. Si xj est de signe quelconque, on introduit deux variables et ≥ 0, tel que
xj=

Ecriture matricielle d’un PL


Soit le problème linéaire « » :


Soit la matrice ∈ représentant les coefficients des contraintes

A=

Posons respectivement ∈ le vecteur des solutions et ∈ le vecteur des coefficients


de la fonction objectif, et enfin ∈ le vecteur second membre :
, ,

La formulation du PL « » se résume donc à: ∈

Forme standard et forme canonique d’un PL

On dit qu’un PL est mis sous forme standard « FS », si toutes ses contraintes (en dehors des
contraintes de positivité) sont des égalités. Il est donc de la forme :

Max (Z) = c1x1+ c2x2+…+ cnxn


a11x1 + a12x2 + ….a1nxn= b1
a21x1 + a22x2 + ….a2nxn = b2

am1x1 + am2x2 + ….amnxn = bm


xj ≥ 0, pour j ∈ {1, 2,…,n}

L’écriture matricielle de la forme standard est :

On peut toujours mettre un PL sous forme standard en introduisant des variables


supplémentaires positives appelées variables d’écart. Les variables initiales sont appelées les
variables de décision (notons qu’avec l’ajout des variables d’écart, on a toujours n ≥ m).

2
Exemple
Min (Z)= 5x1+ 3x2 Min (Z)= 5x1+ 3x2
x1 - x2 ≥ 2 FS x1 - x2 – x3=2
2x1 + 3x2 ≤ 4 2x1 + 3x2 + x4 = 4
-x1 + 6x2 =10 -x1 + 6x2 =10
x1≥ 0 ; x2≥ 0 x1≥ 0 ; x2≥ 0 ; x3≥ 0 ; x4≥ 0
x1 et x2 sont des variables de décision, x3 et x4 sont des variables d’écart.

Un Pl est dit sous forme canonique s’il s’écrit :

Remarque
La forme canonique imposent en plus des contraintes de positivité que le second membre soit
positif (ie. bi ≥ 0 ∈ ). Si dans un PL un ou plusieurs bi sont négatif, il suffit de
multiplier la ième contrainte par . NB : Contrairement à la forme standard, la forme
canoniquen’est pas toujours obtenue directement en multipliant les contraintes de type ≥ par
-1.

Définitions et propositions

Soit P le problème linéaire définit par :

L’ensemble Dr ={x≥0 tel que Ax≤b}s’il existe est un polyèdre convexe (un polyèdre Q de Rn
est un ensemble défini par ∈

Solution réalisable

On appelle ainsi toute solution de P satisfaisant toutes les contraintes (y compris donc les
contraintes de positivité). x ∈Dr
Point extrême (sommet)

Un point x∈ Dr est un point extrême ou un sommet si et seulement si il ne peut pas s’écrire


comme combinaison convexe de points de Dr. Autrement dit, il n’existe pas ∈
tel que ∈

Base, Variables de base

Soit un PL écrit sous sa forme standard et un ensemble de m indices ( =


m) tel que les colonnes ∈ sont linéairement indépendantes. Autrement dit, la
matrice carrée AB formée des colonnes ∈ , est inversible. On dit dans ce cas que
l'ensemble des indices ∈ forment une base ou alors B est une base.
- Les variables xB = (xj ; j ∈B) sont appelées variables de base.
- Les variables xH = (xj ; j B) sont appelées variables hors-base.

3
Solution de base

Soit B une base relative au système linéaire de . On appelle solution de base de


(relativement à la base B), toute solution X vérifiant le système comportant
variables de base ( ∈ telles que les (n – m) variables restantes ( ∈ soient nulles.
Remarque : On peut toujours écrire en décomposant par blocs :

A = (AB/ AH) où AH est la matrice formée des colonnes Aj ; j B; X=

Le système Ax = b est alors équivalent à AB XB + AH XH = b

On dit alors que X = est une solution de base associée à la base B si x H = 0.

Une solution de base doit donc avoir au plus variables non nulles ou encore (en d’autres
termes) au moins variables nulles.

Solution de base réalisable


Toute solution de base qui satisfait aux contraintes d’un PL. Autrement dit, x H = 0 et
xB = . On déduit facilement qu’une solution de base X = est réalisable si et
seulement si x B = ≥ 0.
Une solution de base est dite dégénérée si le vecteur x B = possède des composantes
nulles.

Remarque : Il y a au plus solutions de base (toutes ne sont pas réalisables). Notons aussi
que dans un PL écrit sous forme canonique, une solution de base réalisable évidente est

Elle est obtenue en mettant sous forme standard le PL, en

ajoutant des variables d’écart. Les variables d’écart sont ainsi les variables de base et les
variables de décision sont les variables hors base. La matrice B est alors la matrice identité Im.
La fonction objectif dans ce cas (forme canonique) s’écrit en fonction des variables hors base.
Remarque importante :Pour mettre un problème sous forme canonique, il faut donc mettre
en évidence la matrice identité Im comme base, avoir le second membre positif et écrire la
fonction objectif en fonction des variables hors base.
Exemple
Soit le problème linéaire suivant:

4
On peut montrer facilement que la solution définie par:
est une solution de base réalisable. En effet,
1. Elle est réalisable puisqu’elle vérifie les contraintes du problème.

2. En posant , les variables de base sont ;

Déterminant de 1≠0 donc est inversible.

3. De plus, les variables hors base sont nulles. . possède donc n-m

variables nulles.
Cependant la solution réalisable n’est pas une

solution de base réalisable. En effet, cette solution possède une seule variable nulle, alors que
toute solution de base du PL précédent doit contenir au moins deux variables nulles.

Proposition1.
x est une solution de base réalisable, alors x est un point extrême de Dr.

Solution optimale
Une solution réalisable est optimale si pour tout ∈
NB : Dans le cas d’un problème de minimisation, le sens de l’inégalité est inversée bien sur.

Proposition2. Une solution optimale si elle existe est atteinte en au moins une qui est de base
réalisable (donc en un point extrême de ).
La proposition précédente stipule que si la solution optimale (fini) existe, alors elle doit être
forcément un des sommets (point extrême) du polyèdre convexe des solutions réalisables. Ce
résultat (non démontré dans ce cours) est très important et est la base de l’algorithme du
simplexe qui sera étudié dans la suite de ce chapitre.
Résultat : Soient un PL à résoudre et l’ensemble de ses solutions réalisables.
Trois situations sont possibles :
Le problème P n’a pas de solution
2. on a alors deux sous cas :

Résolution graphique d’un PL

Lorsque (n le nombre de variables et m le nombre de contraintes), le problème se


prête à une résolution graphique. Dans le cas particulier où n=2, l’espace des décisions est le
plan ( ). L’ensemble des solutions réalisables, dans le cas d’un problème borné, constitue

5
un polygone convexe. Dans le cas général, si le PL a des solutions, il en existe toujours au
moins une qui est de base, c’est un sommet (ou point extrême) du polygone. Il suffit de
chercher la position de la droite Z = c1x1 + c2x2 pour laquelle Z a une valeur extrémale, et le
sommet (ou l'arête) du polygone des solutions pour laquelle cette valeur est atteinte. Dans le
cas général, l’ensemble des solutions réalisables d’un PL détermine dans l’espace des
décisions (Rn) un ensemble convexe appelé domaine réalisable, qui est :
– soit l’ensemble vide (contraintes contradictoires),
– soit un ensemble polyédrique convexe non borné,
– soit un polyèdre convexe.
Exemples

Faire une résolution graphique des problèmes linéaires suivants :

1. Problème borné à solution unique

Max(z) = x1 + 3x2

2. Problème borné avec infinité de solutions

Max(z) = x1 + x2

3. Problème non borné sans solution


Max(z) = x1 + x2

4. Problème non borné avec une solution finie unique


Max(z) = −3x1 + 4x2

Pour l’exemple de l’introduction, nous obtenons la représentation géométrique suivante. Le


domaine des solutions réalisables est le domaine hachuré. En traçant la droite représentant la
fonction objectif initialisée à la valeur 90 par exemple, et en la faisant déplacer parallèlement
vers le bas car il s’agit d’un problème de minimisation (on parle ici de faisceau de droites de

6
la fonction objectif), le dernier point rencontré dans l’ensemble des solutions réalisable
est la solution optimale de P. La valeur optimale de la fonction objectif est

Algorithme du simplexe

L’algorithme du simplexe a été mis au point par George Dantzig en 1947. Il consiste à
améliorer progressivement une solution de base (correspondant à l'une des extrémités du
polyèdre), en se déplaçant le long des arêtes du polyèdre des solutions réalisables.
L’algorithme s’arrête après un nombre fini d’itérations quand il n’est plus possible
d’améliorer la solution de base actuelle. La solution optimale est alors atteinte si elle existe
bien sur. Une itération de l’algorithme consiste à passer d’un sommet du polyèdre à un
sommet voisin. Cependant pour pouvoir démarrer l’algorithme du simplexe, nous devons
disposer d’une solution de base réalisable de départ. Nous verrons dans les sections qui
suivent comment obtenir une solution de base réalisable de départ. D’autre part, l’algorithme
du simplexe permet aussi de détecter un problème qui ne contient pas de solution ou qui n’est
pas borné (l’optimum tend vers ). Nous expliquons graphiquement la démarche de
l’algorithme du simplexe à travers l’exemple de l’introduction.

7
Dans l'exemple ci-dessus, on peut partir de la solution correspondant au point A
correspondant à = 0, 3 + = 90. En posant =3 + - 90, on peut exprimer la
fonction objectif Z sous la forme : , et les contraintes sous la forme

On peut faire diminuer Z en gardant u à zéro, et en augmentant de 20 (quantité maximale


respectant les contraintes): on obtient ainsi la solution B, correspondant à
En posant , on peut exprimer Z sous la forme
et les contraintes sous la forme On peut faire
diminuer Z en gardant à zéro, et en augmentant de la valeur maximale respectant les
contraintes, c'est-à-dire de 15 : on obtient ainsi la solution C, correspondant à
. En posant , on peut exprimer Z sous la forme
, et les contraintes sous la forme . On ne peut faire
diminuer Z; le point C correspond donc à la solution optimale. D'une manière générale,
l'algorithme du simplexe consiste à améliorer une solution de base non dégénérée ( pas de
variable de base nulle) en augmentant une et une seule des valeurs associées aux variables
hors base (ce qui revient à faire entrer dans la base l'une de ces variables), et en mettant à zéro

8
une variable de base (ce qui revient à la faire sortir de la base). On poursuit cette amélioration
jusqu'à obtention de la solution optimale.
Nous constatons donc qu’une étape (itération) de l’algorithme du simplexe consiste à passer
d’une solution de base réalisable (point extrême) à une autre de meilleur coût, ce qui
correspond concrètement à faire sortir une variable de la base et faire entrer une autre à sa
place. L’algorithme s’arrête quand nous nous pouvons plus améliorer la fonction objectif.
Nous devons donc décrire ces trois critères pour un problème de maximisation dans les
paragraphes suivants :
Critère d’entrée d’une variable en base
Parmi les variables candidates à entrer en base (coefficient ), nous choisissons celle qui
a le coefficient dans la fonction objectif le plus grand puisqu’il s’agit de maximiser la fonction
objectif. La variable qui entre en base vérifie donc : = .

Rappelons que nous notons par H l’ensemble des indices hors base. La colonne est appelé
colonne pivot.
Critère de sortie d’une variable de la base
Parmi les variables candidates à sortir de la base (coefficient ), nous choisissons la
variable la première qui s’annule quand on augmente la valeur de la variable hors base
tel que toutes les autres variables de base restent positives (la nouvelle solution e base reste

réalisable). La variable qui sort de la base vérifie donc :

La ligne est appelé ligne pivot et le coefficient est appelé pivot.


Critère d’arrêt de l’algorithme
Les coefficients pour ∈ (j hors base) sont appelés les coûts réduits et sont calculés de la
manière suivante : tel que = est appelé le vecteur des multiplicateurs
du simplexe. Lorsque les coûts réduits sont tous négatifs ou nuls ( ∈ , le
maximum de Z est atteint. C’est le critère d’optimalité. En effet, la fonction objectif ne peut
être augmentée dans ce cas. NB : Dans le cas d’un problème de minimisation, le critère
d’arrêt correspond à ∈
Méthode des tableaux

Dans la méthode dite « des tableaux de simplexe », on présente à la fois les données du
problème, et la solution en cours d'optimisation, sous forme d'un tableau. dans lequel les
lignes correspondent aux équations : = bi, i ∈ {1, . . . ,m}
la dernière ligne du tableau correspondant à la fonction objectif: Z = ∑ j=1,m+n cj xj +c

9
Dans la première colonne à gauche nous trouvons les variables de base, et dans la dernière
colonne à droite le second membre .

Var de base ..… ….. b

….. …..

Z ….. …..

On suppose que les variables x1, . . . , xn sont hors base.


La solution à optimiser correspond aux valeurs pour les variables hors base, xi = bi
pour les variables de base, et .

Si xi est une variable de base, alors on doit avoir aii =1, et aij =0 pour toute variable de base
xj ≠ xi c'est-à-dire que l'équation associée à xi permet d'exprimer xi en fonction des variables
hors base :
De même, si est une variable de base, on doit avoir cj = 0, de façon que la fonction objectif
s'exprime en fonction des variables hors base :
Z=

Si tous les coefficients sont négatifs, le maximum est atteint: en effet, du fait des
contraintes xj≥0, ne peut dépasser la valeur c.
Sinon, il est possible d'améliorer la solution en faisant entrer dans la base une variable hors
base xe (on choisira celle qui correspond au plus grand des coefficients positifs).
On obtient une nouvelle solution de base en faisant sortir de la base l'un des xs : pour que les
contraintes soient respectées, on doit choisir s de façon que le quotient bs / asr soit minimal
parmi les bi/air (tq air 0) positifs.

L’équation + xe + ∑ (xj hb j≠r) asj xj =bs permet d'exprimer xe en fonction des


nouvelles variables hors base: = (1/ ase ) (- xs - ∑ (xj hb j≠r) asj xj + bs )

En remplaçant par cette expression dans les équations associées aux lignes du tableau,
nous obtenons les équations correspondant à la nouvelle base :
∑ (xj hb ) aij xj + xi = bi

Z = ∑ (xj hb ) xj +c

Les étapes principales de l’algorithme du simplexe dans le cas d’un problème de


maximisation sont résumées dans ce qui suit :

10
Etape 0. Initialisation : Mettre le problème sous forme canonique (Exprimer la fonction objectif
(économique) en fonction des variables hors base). Mettre en évidence une solution de base réalisable
de départ. Construire le premier tableau du simplexe
Etape 1. Test d’optimalité
Si tous les coefficients de Z (les coûts réduits) sont négatifs, alors Terminé ; la solution de base
actuelle est optimale.
Sinon
Etape 2. Choix de la variable entrante en base
- Choisir la variable hors base dont le coût réduit est positif et est le plus grand.
=

Etape 3. Choix de la variable sortante de la base
- Choisir la variable qui sort de la base celle qui vérifie
Etape 4. Opération pivot
Remplacer les par . Remplacer les par

Retour à étape 1

Exemple

La résolution de l'exemple du chapitre par la méthode des tableaux commence par mettre le
PL sous forme standard en introduisant des variables d’écart , avec

et la fonction économique à maximiser. La solution de base non dégénérée


correspond à la base En remplaçant y par
On obtient :

Remarque: Le but de cette transformation est d’obtenir une solution de base de départ
réalisable (condition initiale de l’algorithme du simplexe). Cette solution est
0,90,0,60,120) Les variables de base sont . Les autres variables sont bien sur
hors base donc nulles.
On construit le premier tableau de simplexe correspondant à cette solution de base réalisable :

x y u v w b
W 5 0 -2 0 1 120
V 3 0 -2 1 0 60
y 3 1 -1 0 0 90
Z 2 0 -1 0 0 -90

11
Nous avons le seul coefficient de Z positif, donc la variable entre en base. Pour savoir
quelle est la variable qui sort de la base, nous calculons le minimum des rapports (

. . La variable qui entre en base est donc Le pivot est

(en rouge dans le tableau précédent). Nous construisons maintenant le deuxième tableau de

simplexe en remplaçant les par . Remplacer les par

x y u v w b
W 0 0 4/3 -5/3 1 20
x 1 0 -2/3 1/3 0 20
y 0 1 1 -1 0 30
Z 0 0 1/3 -2/3 0 -50

En utilisant les mêmes règles pour le choix de la variable qui entre en base et celle qui sort de
la base, entre dans la base, et en sort (c’est indiqué dans le deuxième tableau par des
flèches), nous obtenons le troisième tableau de simplexe suivant :

x y u v w b
u 0 0 1 -5/4 3/4 15
x 1 0 0 -1/2 1/2 30
y 0 1 0 1/4 -3/4 15
Z 0 0 0 -1/4 -1/4 -45

Les coefficients cj sont tous deux négatifs : le maximum est atteint. On retrouve ainsi la
solution .

Problème de dégénérescence (cyclage)

Un problème linéaire est dit dégénéré si une ou plusieurs variable(s) de base sont nulles.
Partant d’une telle base, la fonction objectif peut ne plus croître à chaque itération (rester
constante). Un phénomène de cyclage peut apparaître dans cette situation: retomber sur une
base (et donc un sommet) déjà visitée dans les itérations précédentes. Il existe plusieurs
méthodes remédiant à ce problème. La plus fiable est celle utilisant la règle de Bland donnée
dans le théorème suivant :

Théorème (Règle de Bland)

Il ne peut y avoir cyclage lorsqu’à toute itération effectuée à partir d’un tableau dégénéré, on
choisit les variables entrantes et sortantes comme celles de plus petit indice parmi les
candidats possibles.

12
Obtention d’une base réalisable de départ

Si le problème initial n’est pas sous la forme canonique, même en introduisant des variables
d’écart, nous n’obtiendrons pas aisément une solution de base de départ: en effet, certaines
des variables introduites figureront avec le coefficient −1 du fait du changement du sens de
l’inégalité dans la contrainte correspondante. G. Dantzig et d’autres chercheurs de RAND
Corporation ont mis au point la méthode de deux phases dans le but est de répondre à ce
problème. Elle consiste à introduire de nouvelles variables , dites variables artificielles qui
figureront provisoirement dans la formulation du PL jusqu’à l’obtention, si possible, d’une
base de départ avec les variables initiales. Un problème dit problème auxiliaire est alors défini
par ces nouvelles contraintes avec comme fonction objectif à maximiser égale à
(k étant le nombre des variables artificielles introduites). La première phase de cette méthode
consiste à appliquer l’algorithme du simplexe au problème auxiliaire jusqu’à faire sortir toutes
les variables artificielles de la base et annuler les coefficients de la fonction objectif La
deuxième phase consiste à appliquer l’algorithme du simplexe au problème linéaire obtenu à
partir de la première phase (en oubliant et les variables artificielles . La figure suivante
illustre les étapes de cette méthode.

Début
Initialisation
Mettre le PL sous forme standard. Rendre positif le second membre .
Introduire les variables artificielles nécessaires dans les contraintes (de telle sorte à
avoir la base : pour chaque contrainte parmi les
contraintes nécessitant l’introduction d’une variable artificielle.
Phase 1
Résoudre le problème auxiliaire
étant le vecteur des variables artificielles.
Phase 2
Si ∈ =0 (toutes les variables artificielles sont sorties de la base)
Alors résoudre le PL initial en prenant comme solution d base de départ la
solution obtenue à l’issue de la première phase.
Sinon le PL n’a pas de solution réalisable
Fin

Remarques

1. Nous n’introduisons que le nombre nécessaire de variables artificielles (≤ m), c’est à


dire dans les contraintes qui le nécessitent.
2. Lorsqu’une variable artificielle sort de base, cette sortie est définitive et on la raye de
la liste des variables.
3. Le premier tableau du simplexe de la deuxième phase est identique au dernier tableau
de la première phase.

13
4. Si à l’issue de la première phase, nous ne pouvons pas avoir une solution de base
réalisable (une ou plusieurs variables artificielles ne sont pas sorties de la base et les
coefficients sont tous nuls), alors le PL initial n’a pas de solution réalisable
( . On dit aussi que les contraintes sont contradictoires
Exemple
On veut résoudre le PL suivant :
max(z) = 5x1 + 7x2

On introduit les variables d’écart x3, x4, x5 ≥ 0 ce qui conduit à :

max(z) = 5x1 + 7x2

Les deux premières équations nécessitent l’introduction de deux variables artificielles


, nous obtenons le problème auxiliaire à résoudre suivant :
max(ψ) = − −

Première phase
x1 x2 x3 x4 x5 y1 y2 b
y1 1 1 -1 0 0 1 0 6
y2 1 0 0 -1 0 0 1 4
x5 0 1 0 0 1 0 0 3
ψ 2 1 -1 -1 0 0 0 10
Z 5 7 0 0 0 0 0 0

Remarque : Nous avons inclus la fonction objectif Z du problème initiale dans le tableau
pour ne pas recalculer les coefficients de Z en fonction des variables hors base à la fin de la
première phase.

y2 sort et x1 entre en base, on élimine y2 du problème :

14
x1 x2 x3 x4 x5 y1 b
y1 0 1 -1 0 0 1 2
x1 1 0 0 -1 0 0 4
x5 0 1 0 0 1 0 3
ψ 0 1 -1 1 0 0 2
Z 0 7 0 5 0 0 -20

y1 sort et x2 entre en base, on élimine y1 ce qui achève la première phase :

x1 x2 x3 x4 x5 b
x2 0 1 -1 1 0 2
x1 1 0 0 -1 0 4
x3 0 0 1 -1 1 1
ψ 0 0 0 0 0 0
Z 0 0 7 -2 0 -34

Une solution de base réalisable est donc : X = (x1, x2, x3, x4, x5) = (4, 2, 1, 0, 0).

Deuxième phase

Le PL se formule sous la forme équivalente suivante :


max(z) = 5x1 + 7x2= 7 x3 - 2 x4

x3 entre en base et x5 sort en sort. Nous obtenons le tableau suivant dans lequel le seul
coefficient de la fonction objectif positif est or la colonne de x4 ne comporte que des
nombres ≤ 0, le problème est dans ce cas non borné.

x1 x2 x3 x4 x5 b
x2 0 1 0 0 1 3
x1 1 0 0 -1 0 4
t1 0 0 1 -1 1 1
Z 0 0 0 5 -7 -41
.

Cas particulier de problèmes linéaires

Problème non borné

Un problème borné est un PL dont l’optimum tend vers l’infini. Le domaine des solutions
réalisables est dans ce cas non borné. Attention, ceci ne veut pas dire que l’optimum d’un

15
problème dont l’ensemble des solutions réalisables est non borné, tend toujours vers l’infini.
Le problème suivant en est un contre exemple :
Max(z) = −3x1 + 4x2

En effet, nous pouvons facilement vérifier graphiquement que ce PL possède un domaine de


solutions réalisables non borné avec une solution optimale finie unique.
Un problème non borné peut être détecté lors de l’application de l’algorithme du simplexe, les
coefficients de la colonne (de la matrice des contraintes) correspondant à la variable
candidate à entrer en base sont tous négatifs ou nuls. C’est le cas de l’exemple précédent.

Problème contradictoire

Un problème contradictoire est un PL qui ne possède pas de solution réalisable ( Les


contraintes du PL sont dans ce cas contradictoires. Nous avons vu dans la méthode des deux
phases qu’un problème qui ne possède pas une solution de base réalisable de départ évidente,
et au bout de la première phase (les sont tous nuls) une ou plusieurs variables artificielles
ne sont pas sorties de la base, alors le PL initiale ne possède pas de solution réalisable. Nous
pouvons montrer facilement que le PL suivant est contradictoire. En effet, à partir de la
troisième équation, nous avons , en remplaçant cette valeur dans la deuxième
inéquation, nous obtenons , ce qui est contradictoire avec la première inéquation
.

Nous pouvons vérifier graphiquement, ou en utilisant l’algorithme des deux phases que le PL
précédent est sans solution réalisable.

Problème avec une infinité de solutions

C’est un problème dont le nombre de solutions optimales (finies) est infini. Ça peut être un
segment de droite par exemple. Le domaine des solutions réalisable peut être borné ou non.
Nous reconnaissons ce type de problème lorsqu’en appliquant le simplexe, dans le dernier
tableau, une variable hors base possède un coefficient nul dans la fonction objectif. Si nous
effectuons une itération supplémentaire, nous obtenons une autre solution optimale. Dans ce
cas, toute combinaison convexe de ces deux solutions est aussi une solution optimale. Le PL
suivant est un exemple de ce type de problème :
Max(z) = x1 + x2

16
Nous remarquons facilement que si nous faisons une résolution graphique du PL précédent, la
droite délimitant le demi-plan correspondant à la première contrainte est parallèle au
faisceaux de droites représentant la fonction objectif. Les solutions optimales sont tous les
points du segment de droite appartenant à l’ensemble des solutions réalisables.

Exercices

Exercice 1

Une entreprise fabrique deux produits qu’elle désire vendre à un autre pays. Le produit A
rapporte 400DA/kg et le produit B rapporte 600DA/kg.
Ayant des moyens financiers limités, la société ne peut utiliser qu’un seul avion. Celui-ci ne
peut transporter que 50000 DA et à un volume de 2000 m3.
Le produit A a un volume de 0.032 m3 par KG ; Le produit B a un volume de 0.1 m3 par kg.
Formuler ce problème algébriquement

Exercice 2

Une entreprise fabrique trois produits A, B et C. Chaque produit nécessite de la matière


première et de la main d’œuvre. Ces ressources sont disponibles en quantités limitées. Les
quantités de ressources nécessaires pour la production d’une unité de chaque bien sont
données dans le tableau suivant:

Produit Matière première Main d’œuvre


A 4 kg 2 heures
B 2 kg 0.5 heure
C 1 kg 3 heures

Le profit unitaire pour les produits A, B et C est respectivement 60 DA, 20 DA et 40 DA. On


dispose chaque semaine de 6000 kg de matières premières et de 4000 heures de main
d’œuvre. Par ailleurs, la capacité d’entreposage est de 2500 unités par semaine tous produits
confondus.
1/ Formuler ce problème algébriquement

Exercice 3

Un éleveur désire acheter une tonne d’un aliment pour bétail qui est obtenu en mélangeant
trois produits bruts : orge, arachide et sésame. L’aliment ainsi conditionné devra comporter au
moins 22 % de protéine et 3.6 % de graisse, pour se conformer aux normes internationales. Il
s’agit de déterminer la composition à coût minimal de cet aliment.
Le tableau ci-dessous indique les pourcentages de protéines et de graisse contenus,
respectivement dans l’orge, l’arachide et le sésame, ainsi que le coût par tonne de chacun des
produits bruts.

orge arachide sésame Pourcentage requis


Pourcentage
12 52 42 22
De protéine
Pourcentage
2 2 10 3.6
De graisse
Coût par tonne 25 41 39

17
1/ Formuler le problème algébriquement
2/ Montrer qu’il est possible de réduire la dimension du problème, puis résoudre
géométriquement le problème obtenu.

Exercice 4
Résoudre graphiquement les PL suivants :

Exercice5

Considérons le problème linéaire suivant:

1/ Peut-on résoudre le problème précédent avec la méthode du simplexe. Justifier votre


réponse.
2/ Faire une résolution graphique.
3/ Que pouvez vous conclure.

Exercice 6

Résoudre le PL suivant en utilisant la méthode des deux phases pour trouver une première
solution de base réalisable.

Exercice 7

Considérons le problème linéaire suivant:

1/ Peut-on obtenir une solution de base réalisable avec la méthode du simplexe des deux
phases. Justifier votre réponse.
2/ Faire une résolution graphique.
3/ Que pouvez vous conclure.

18

Vous aimerez peut-être aussi