Vous êtes sur la page 1sur 8

Chap.

: Programmation linéaire
1. La programmation linéaire
La programmation linéaire (P.L.) est un processus d’aide à la décision qui permet de trouver une
solution optimale (si elle existe) grâce à la modélisation mathématique.
La modélisation mathématique peut se décliner en plusieurs types d’optimisation : la
programmation linéaire, la programmation non linéaire, le contrôle optimal… Nous traiterons ici la
programmation linéaire. On aborde dans ce cours la programmation linéaire appliquée à l’économie
et la gestion avec le but :
 De modéliser un problème économique en un problème de programmation linéaire ;
 D’optimiser une fonction sous contraintes ;
 D’interpréter en terme économique les résultats fournis par la programmation linéaire.
Un modèle est une représentation de la réalité qui capture « l’essence » de la réalité, i.e. l’angle qui
nous intéresse. La programmation linéaire est un outil qui permet de résoudre les cas les plus
simples. Le but essentiel est d’introduire le principe de modélisation et le rôle de la programmation
mathématique. Dans la réalité, la programmation mathématique utilisée est souvent plus complexe
que la programmation linéaire (programmation non linéaire, programmation probabiliste, contrôle
optimal) et les calculs se font informatiquement.
Formulation d’un problème de programmation linéaire (P.L.) :
En P.L. la fonction à optimiser et les contraintes à respecter sont linéaires (variables au premier
degré). La forme canonique générale d’un problème de P.L. est la suivante :
n
Min ou Max  z    c j x j (1)
j 1

t
j 1
ij xj  d i i  1,..., p (2)

t
j 1
ij xj  di i  p  1,..., m (3)

xj  0 j  1,...q (4)

xj signe quelconque j  q  1,..., n (5)

Avec c j , t i j , d i constantes et x j variables.


n
La fonction z   c j x j s’appelle la fonction économique ou fonction objective ou critère.
i 1

Les inéquations (2) et équations (3) sont les contraintes réelles.


Les inéquations (4) sont les contraintes de non négativité.
La fonction à optimiser peut être soit une fonction à minimiser, soit une fonction à maximiser. On
présente ici les cas généraux de minimisation et de maximisation avec l’interprétation économique
de chaque élément du programme.
Exercice : Montrer que toutes les contraintes peuvent se mettre sous la forme (2) ou (3) seulement.

1/8
1.2.1 Minimisation d’un coût sous des obligations de fonctionnement
n
min z    c j x j
j 1

t
j 1
ij xj  d i i  1,..., m

xj  0 j  1,..., n
1. Première interprétation :
i : bien produit
j : activité
d i : demande de bien i à satisfaire
t ij : taux de production du bien i par l’activité j

c j : coût unitaire de l’activité j

x j : niveau de l’activité j
2. Deuxième interprétation :
i : activité
j : bien consommé (matière premières)
d i : niveau minimum de fonctionnement de l’activité i
t ij : taux de fonctionnement de l’activité i pour la consommation du bien j

c j : coût unitaire du bien j

x j : quantité consommée de bien j

1.2.2 Maximisation d’un gain sous des contraintes de capacité


n
max z    c j x j
j 1

t
j 1
ij xj  d i i  1,..., m

xj  0 j  1,..., n
1. Première interprétation :
i : bien consommé et j : activité
d i : quantité disponible de bien i
t ij : taux d’utilisation du bien i par l’activité j

c j : gain unitaire de l’activité j

x j : niveau de l’activité j

2/8
2. Deuxième interprétation :
i : activité
j : bien produit
d i : capacité maximum de fonctionnement de l’activité i
t ij : taux de fonctionnement de l’activité i pour la production du bien j

c j : gain unitaire du bien j

x j : quantité produite de bien j

1.3 Caractérisation des solutions admissibles


 Une solution est admissible ou réalisable si elle satisfait toutes les contraintes.
 La région admissible est l’ensemble IP des solutions admissibles ou réalisables.
 Une solution optimale est une solution admissible qui optimise la fonction d’optimisation.
Définition (contrainte saturée ou serrée ou active)
Une contrainte d’inégalité est dite saturée (ou serrée) pour une solution si elle est vérifiée avec le
signe d’égalité et non saturée (ou non serrée) si elle est vérifiée avec le signe d’inégalité stricte.

Définition : Un polyèdre convexe est l’intersection (éventuellement vide) d’un nombre fini de
demi-espaces fermés et/ou d’hyperplans.

Théorème 1 : L’ensemble des solutions IP admissibles d’un problème de programmation linéaire


est soit :
 un ensemble vide, (c’est-à-dire que le problème est mal posé et n’a pas de solution)
 un polyèdre convexe, non vide borné ou non.
1.4.Caractérisation géométrique des solutions optimales
Théorème 2 :
1. Si l’ensemble des solutions IP est un polyèdre convexe non vide :
 Soit la solution optimale est unique et est située en un sommet de IP ;
 Soit il existe une infinité de solutions optimales qui sont les points d’une face de IP ; ces
solutions optimales sont donc combinaisons convexes d’un nombre fini de sommets.
2. Si IP est un ensemble vide, le problème n’a pas de solution optimale.
1.5. Résolution graphique d’un P.L.
La résolution graphique d’un programme linéaire ne peut se faire que pour la dimension 2 (et
éventuellement 3). Elle est donc peu efficace mais permet de bien comprendre le rôle de la
programmation linéaire. Les étapes sont :
1. Tracer le domaine des solutions admissibles en traçant les droites frontières puis en
hachurant les demi-plans non solution ;
2. La solution optimale est située en au moins un sommet du polyèdre des solutions
admissibles ou réalisable IP.
3. Si IP est vide alors le problème n’a pas de solution.

3/8
2. Dualité
A chaque contrainte, on peut associer un nombre positif appelé « prix dual ». Les prix duaux
permettent de localier les modes d’extension les plus profitables.
Définition : (Les prix duaux comme accroissement marginaux de la fonction économique)
Le prix dual associé à la contrainte i est la variation de la fonction économique pour une variation
unitaire du second membre de la contrainte i .
Localisation de la marge et du profit sur les facteurs fixes
On considère ici un problème de maximisation de marge sur coût variable. Les prix duaux sont
donc la contribution marginale apportée par une extension de capacité.
En terme de profit, pour savoir si une extension est profitable, il faut comparer le prix dual de la
contrainte i à son prix d’usage unitaire, i.e. l’accroissement des coûts fixes (équipements,…)
nécessaires pour l’extension d’une unité de la contrainte correspondante. On rappelle que cette règle
de décision n’est valable que localement, dans le domaine de validité de l’extension. On a alors la
règle de décision :
Profit = Prix dual – Prix d’usage > 0 l’extension est profitable.
Profit = Prix dual – Prix d’usage ≤ 0 l’extension n’est pas profitable.
Définition : (Primal – dual)
On considère le problème de maximisation suivant sous sa forme canonique:
n
(P) : max z    c j x j
j 1

t
j 1
ij x j  di i  1,..., m

xj  0 j  1,..., n
On appelle programme dual (canonique) de (P) le programme linéaire suivant :
m
(D) : min z '   d i y i
i 1

t i 1
ji yi  cj j  1,..., n

yi  0 i  1,..., m
Les formes matricielles des programmes (P) et (D) s’écrivent respectivement :
Primal :
(P) : max z   c.x (1)
T .x  d (2)
x0 (3)
Dual : (D) : min z '  y.d (4)
t
T . y t c (5)
y0 (6)

4/8
Règles de détermination du dual en fonction du primal et vice versa :
Les observations suivantes permettent d’obtenir le dual connaissant le primal et vice versa.
1°) Les programmes (P) et (D) sont dits primal et dual et vice versa.
2°) Si (P) est à maximiser alors (D) est à minimiser et vice versa.
3°) Les inégalités de (P) et (D) sont de sens opposés.
4°) Les seconds membres de (P) sont les coefficients de la fonction économique de (D) et vice versa
5°) Les coefficients des lignes des contraintes de (P) sont les coefficients des colonnes des
contraintes de (D) et vice versa.
6°) Il y a autant de variables duales dans (D) que de contraintes dans le primal (P) et vice versa.

Théorème (relations de complémentarité)


- Si le primal (P) admet une solution optimale alors le dual (D) admet une solution optimale et vice
versa et dans ce cas on a :

Valeur optimale du primal = Valeur optimale du dual.

- Soient x et y deux solutions optimales du primal (P) et du dual (D) respectivement. Alors on a les
relations de complémentarité suivantes (RC) :

y Tx  d   0 et c  yT x  0 (RC)

Autrement dit :

1°) Toutes les variables duales (respectivement primales) associées à des contraintes non saturées
du primal (respectivement du dual) sont nulles.

2°) Les autres variables duales (respectivement primales) associées à des contraintes saturées du
primal (respectivement du dual) saturent les contraintes du dual (respectivement du primal)
auxquelles elles sont associées.

Remarque

Ce théorème permet de résoudre le problème dual (D) connaissant la solution optimale du primal
(P) et vice versa.

5/8
Exercice (optimisation de production)
La société APIC fabrique trois produits A, B et C dont les caractéristiques sont les suivantes :
A B C
Marges sur coût variables 100 300 360
Atelier (Capacité 8 500) 2 4 6
Ventes maximales 1000 1000 500
On note x, y et z les quantités de A, B et C respectivement qui optimise la marge M.
1°) Ecrire la forme canonique (P) du programme linéaire qui optimise cette fabrication.
2°) Résoudre économiquement ce programme.
3°) Ecrire le dual de (P) et déterminer les prix duax.
4°) Une augmentation des ventes du produit A est-elle opportune ?
5°) 5.1 Sachant que le prix d’usage unitaire de l’atelier est de 49, une extension de l’atelier est-elle
profitable?
5.2 Plus généralement quel devrait être le prix d’usage unitaire de l’atelier pour qu’une extension de
l’atelier soit profitable?
6°) La société APIC souhaite faire passer à 1001 et 501 les ventes des produits B et C
respectivement. Sachant que les prix d'usage sont respectivement de α et β, quel conseil donnez-
vous à la société APIC?
7°) Confirmer les résultats économiques trouvés en 2).

6/8
3. Algorithme du simplexe (ou méthode de Dantzig)
La solution optimale, si elle existe, se trouve sur l’un des sommets de l’ensemble des solutions
admissibles.
Lorsque l’on est en dimension supérieure à 2, la méthode graphique n’est plus adaptée. On a
recours à la méthode dite du simplexe. On a besoin au préalable d’écrire notre problème sous forme
standard.
La forme standard
Toutes les contraintes d’inégalité sont mises sous forme d’égalité par l’introduction de variables
d’écart toutes positives (autant de variables d’écart que de contraintes). On obtient sous la forme
matricielle le programme standard :
max z  cx (1)
( PS) Ax  d (2)
x0 (3)
où Am  n , c1  n , x1  n , d m  1 . (PS) est appelé programme standard.
On suppose le système Ax  d non redondant.
Remarque :
n n
1°) la contrainte (i) t
j 1
ij x j  d i a pour forme standard t
j 1
ij x j + ei = di où ei est la

variable d’écart associée à la contrainte (i). 


n n
2°) la contrainte (i) tij x j ≥
j 1
d i a pour forme standard t
j 1
ij x j - ei = di où ei est la

variable d’écart associée à la contrainte (i). 


Définition : une contrainte d’inégalité est saturée si et seulement si la variable d’écart associée est
égale à zéro.

Théorème 3.1 : Le problème de P.L. étant mis sous forme standard, chaque sommet du polyèdre IP
des solutions admissibles correspond à une et une seule solution de base admissible et inversement.
On pourrait donc calculer la fonction économique pour tous les sommets à partir de la forme
algébrique et trouver la solution optimale du problème, même si la dimension est supérieure à 2.
Mais le nombre de calcul associé explose rapidement. L’algorithme du simplexe permet de
diminuer fortement le nombre de calcul.
Remarque : simplexe désigne un polyèdre convexe de IRn possédant n  1 sommets.
Algorithme du simplexe (cas de maximisation)

Idée : L’algorithme du simplexe consiste à passer d‘un sommet initial du polyèdre des solutions
réalisables (ou admissibles) vers un sommet adjacent tout en ayant soin :

- de ne pas diminuer la valeur de la fonction économique,


- de garder les variables en base positives.
L’algorithme du simplexe contient donc deux phases :

7/8
Phase 1 : procédure d’initialisation
Soit la solution initiale est évidente (notre cas ici), soit on applique la méthode des variables
artificielles, (non abordée dans le cadre de ce cours).
Phase 2 : procédure itérative
 Une variable en base à toutes ces coordonnées nulles sauf une seule égale à 1 au rang de la
variable. Les autres variables sont dites hors base.
 Pour passer d’un sommet de l’ensemble des solutions réalisables à un sommet adjacent cela
se fait par l’échange d’une variable hors base et d’une variable en base.
 La variable hors base qui rentre dans la base est celle qui donne la meilleure amélioration de
la fonction économique, c’est donc celle qui a le plus grand coefficient de marge (j)
strictement positif (j  0) (1er critère de Dantzig).
x
 La variable qui sort est celle qui possède le plus petit rapport strictement positif ( i  0) (2e
x ij
critère de Dantzig).
 Les règles pratiques de transformation des tableaux successifs du simplexe :

- On repère (en encerclant) le pivot = x ij où i est déterminer par le deuxième critère et j par
le premier critère.
- on divise les valeurs de la ligne du pivot par le pivot
- l‘indice i qui sort de la base (colonne de gauche) devient l’indice j qui entre dans la base.
- Toutes les lignes du tableau ayant un zéro (0) dans la colonne du pivot ne sont pas
modifiées.
- Les autres lignes du tableau (ayant un élément différent de zér0) sont modifiées comme
suit :
* On multiplie la nouvelle ligne du pivot par l‘élément différent de zéro et on la soustrait de la
ligne à modifiée ;
* Cette opération s’applique également à la ligne de la fonction économique toute fois dans la
colonne solution on effectue une addition au lieu d’une soustraction.
Remarque : 1°) Le tableau du simplexe est optimal dès l’or que tous les coefficients de la fonction
économique sont inférieurs ou égaux à zéro (j  0).
2°) On modifiera alors toujours en priorité la ligne de la fonction économique.
Théorème 3.2
Soient ei ; i =1 ; …. ; m les variables d’écart associées aux contraintes du primal
et yi ; i =1 ; …. ; m les variables duales associées respectivement à ces mêmes
contraintes du primal.
Alors dans le tableau optimal du simplexe on a :
1°) yi = - ei ; i = 1 ; …. ; m,
2°) Valeur optimale du dual = Valeur optimale du primal,
3°) Et vice versa.
Remarque : dans certain cas où l’on connait la réponse à l’avance on ne respectera pas le 1er critère
de Dantzig.

8/8

Vous aimerez peut-être aussi