Programmation Linéaire
Programmation Linéaire
• Quelques exemples
• Formalisation
• Résolution de problèmes par voie graphique
• Résolution de problèmes par méthode du simplexe
Problème de production (pb1)
• Un fabricant produit deux types de yaourts à la fraise A et B à partir de
Fraise, de Lait et de Sucre. Chaque yaourt doit respecter les proportions
suivantes de matières premières.
• Les matières premières sont en quantité limitée : 800 kilos de Fraises, 700
kilos de Lait et 300 kilos de sucre. La vente des yaourts A rapportent 4 DA
par kilo et les yaourts B 5 DA.
Problème de planification (pb2)
• Planifier la production d’articles à moindre coût pour les 4 prochains
mois.
• Production maximale normale : 1200 articles / mois Production
maximale en heure sup : 400 articles / mois Surcoût heures sup : 7 DA
/ article Stockage : 3 DA / article / mois
Comment résoudre de tels problèmes?
Généralement pour résoudre ce type de problèmes on approche sur trois
étapes principales :
Contraintes :
Disponibilité de chacune des ressources:
2x1 + x2 ≤ 800
x1 + 2x2 ≤ 700
x2 ≤ 300
Préliminaires:
e d’inéquat Système d’inéquations
ions linéaires
linéaires
it ion: On appelle syst èm e de m inéquat ions linéaires à n inconnues
un syst ème de la forme :
$
’’ a11 x 1 ` a12 x 2 ` a13 x 3 ` ¨ ¨ ¨ ` a1n x n ď b1
’’
’& a21 x 1 ` a22 x 2 ` a23 x 3 ` ¨ ¨ ¨ ` a2n x n ď b2
a31 x 1 ` a32 x 2 ` a33 x 3 ` ¨ ¨ ¨ ` a3n x n ď b3
’’ ..
’’ .
’%
am 1 x 1 ` am 2 x 2 ` am 3 x 3 ` ¨ ¨ ¨ ` am n x n ď bm
où x j est une variable dans la colonne j , aij est le coefficient de la
variable x j sur la ligne i, bi est la const ante de la ligne i, n est le
nombre d’inconnues et m est le nombre d’inéquat ions.
Modélisation Formelle
Formellement, on peut définir un problème comme suit :
• Les matières premières sont en quantité limitée : 800 kilos de Fraises, 700
kilos de Lait et 300 kilos de sucre. La vente des yaourts A rapportent 4 DA
par kilo et les yaourts B 5 DA.
Exemple 1: Formalisation(pb1)
Contraintes :
Disponibilité de chacune des ressources:
x1 + x2 ≤ 400
2x1 + x2 ≤ 600
Positivité des variables: x1 , x2 ≥ 0.
Exemple 2 : Formalisation (pb3)
• Le problème se traduit alors sous la forme suivante :
Exemple 3: Problème de production (pb4)
La direction d’une usine de meubles a constaté qu’il y a des temps morts dans
chacun des départements de l’usine. Pour remédier à cette situation, elle
décide d’utiliser ces temps morts pour fabriquer deux nouveaux modèles de
bureaux, x1 et x2. Les temps de réalisation pour chacun de ces modèles dans les
ateliers de sciage, d’assemblage et de sablage ainsi que les temps libres dans
chacun de ces ateliers sont donnés dans le tableau ci-dessous.
Ces temps représentent le nombre d’heures
nécessaires à un homme pour effectuer le
travail. Les profits que la compagnie peut
réaliser pour chacun de ces modèles sont de
3000 DA pour x1 et de 2000 DA pour x2. La
direction désire déterminer combien de
bureaux de chaque modèle elle doit fabriquer
Modélisation : Problème de production
(pb4)
Variables : x1 et x2 sont les quantités des deux modèles de bureaux fabriqués
(x1,x2 ∈R).
Fonction objectif à maximiser : La fonction objectif Z correspond au
bénéfice total: Z=3000x1+2000x2. On cherche donc max Z=3000x1+2000x2.
Contraintes :
Disponibilité de chacune des ressources:
x1 + 2x2 ≤ 20
2x1 + x2 ≤ 22
x1 + x2 ≤ 12
Exemple 3 : Formalisation (pb4)
• Le problème se traduit alors sous la forme suivante:
Comment résoudre de tels problèmes?
Généralement pour résoudre ce type de problèmes on approche sur trois
étapes principales :
Résolution par la
Résolution par Résolution par la
méthode du
voie graphique dualité
simplexe
Résolution de problèmes par
voie graphique
Résolution de problèmes par voie
graphique
• La résolution graphique de problèmes de programmation linéaire ne
peut concerner que des problèmes avec deux et trois variables
(même ce dernier cas est à éviter), où le processus de résolution
s’applique en deux étapes :
Préliminaires:
a1 x 1 ` a2 xSolution
2 ` a3 x 3 ` ¨ ¨d’une inéquation
¨ ` an x n ď b
linéaire (1)
et nous ut iliserons cet t e forme dans t outes les définit ions.
a1 x 1 ` a2 x 2 ` a 3 x 3 ` ¨ ¨ ¨ ` a n x n ď b
´ 1 linéaire
1 2 (2)
3 4 5 x 1
´ 1
REMARQUE
ions: Pour dét erminer l’ensemble-solution d’une inéquat ion linéaire à
deux inconnues, on commence par t racer la droit e-front ière, puis
à l’aide d’un couple, on dét ermine par subst it ut ion de quel côt é de
la front ière sont les couples qui sat isfont à l’inéquat ion. Lorsque l’in-
équat ion ne comport e qu’une inégalit é st rict e < ou > la frontière
ne fait pas part ie de l’ensemble-solut ion de l’inéquat ion.
e 1: Ainsi le couple
ÉSOLUTION p´ 2 ; 3q est D’INÉQUATIONS
DE SYSTÈMES une solut ion de l’inéquat ion 2x
À 2 OU 1 ` 3x 2 ď 9
3 VARIABLES
puisque : 2 ¨ p´ 2q` 3 ¨ 3 ď 9 est une inégalit é vraie.
Ce n’est pas la seule solution de cet t e inéquat ion ; les couples p0 ; 0q,
5
p1 ; 2q, p3 ; 1q sont également des solut ions.
L’ensemble des solutions de cett e inéquat ion est un demi-plan dans
le syst ème d’axes Ox 1 x 2 . La front ière de ce demi-plan est la droit e
2x 1 ` 3x 2 “ 9
x2
3
p1 ; 2q, p3 ; 1q sont également des solut ions.
Préliminaires:
L’ensemble des solutionsSolution d’une
de cet t e inéquat ion est inéquation
un demi-plan dans
le syst ème d’axes Ox 1 x 2 . La front ière de ce demi-plan est la droit e
2x 1 linéaire
` 3x 2 “ 9 [Exemple deux variables] (2)
x2
3
2x 1 ` 3x 2 ą 9
2
1
2x 1 ` 3x 2 ă 9
´ 1 1 2 3 4 5 x1
´ 1
Préliminaires: Solution d’une inéquation
LUT ION DE SYST ÈMES D’INÉQUAT IONS À 2 OU 3 VARIABLES 7
linéaire [Exemple trois variables]
Lorsque l’inéquat ion comport e t rois inconnues, la front ière est un
plan. Ainsi la front ière de l’inéquat ion :
a1 x 1 ` a 2 x 2 ` a 3 x 3 ď b
; 0q
CHAP
est un plan coupant les axes IT point
aux RE 2.s RÉSOLUTION
représent ant leDE SYSTÈMES
t riplet :
p0 ; b{a 2 ; 0q
est un plan coupant
x2
Lorsqu’on représent e un t el plan, il est d’usage de représent er les
t race s du plan sur les plans du syst ème d’axes. On ne donne enpb{a1
fait qu’une part ie du plan puisque
pb{a 1 ; 0celui-ci
; 0q s’ét end à l’infini.
x1
plus représent
l’espace er l’ensemble-solut
en deux demi-espaces. ion graphiquement
L’un ; cependant
de ces demi-espaces en ,union
les
définit
avec laions seront t oujours posées à part ir d’une
des systèmes d’inéqua-
tions
Domaine des solutions réalisables (1)
front ière forme
à ninconnues.
inconnues.
l’ensemble-solut ion inéquat ion linéaire
à t rois
REMARQUE
it ion: L’ensemble-solution d’une inéquat ion de la forme :
Lorsque l’inéquation comporte plus de t rois inconnues, on ne peut
plus représent era1l’ensemble-solut
x 1 ` a2 x 2 ` a3 x 3ion
` ¨graphiquement
¨ ¨ ` an x n ď b ; cependant , les
définit ions seront t oujours posées à part ir des syst èmes d’inéqua-
t ions
est à n inconnues.
appelé dem i-espace ferm é.
it ion: Si
L’ensemble-solut
l’inéquat ion estiondéfinie
d’une par inéquat
uneion de laé forme
inégalit st rict e: (< ), le demi-
espace est dit ouvert . La front ière de ce demi-espace est l’ensemble-
a1 x 1 ` linéaire
solut ion de l’équation a2 x 2 ` :a3 x 3 ` ¨ ¨ ¨ ` an x n ď b
Si l’inéquat
Cet ion estiondéfinie
ensemble-solut par une
est appelé un hyperplan rict e n(<
inégalit é st de . ), le demi-
OLUTION DE SYSTÈMES D’INÉQUATIONS À 2 OU 3 VARIABLES 9
Domaine des solutions réalisables (2)
t ion: Un n-t uplet pk 1 ; k 2 ; k 3 ; . . . ; k n q est une solut ion d’un syst èm e
de m inéquat ions à n inconnues s’il est solut ion de chacune
des inéquat ions du syst ème, c’est -à-dire si chacune des inégalit és
suivant es est vérifiée :
$
’’ a11 k 1 ` a12 k 2 ` a13 k 3 ` ¨ ¨ ¨ ` a1n k n ď b1
’’
’& a21 k 1 ` a22 k 2 ` a23 k 3 ` ¨ ¨ ¨ ` a2n k n ď b2
a31 k 1 ` a32 k 2 ` a33 k 3 ` ¨ ¨ ¨ ` a3n k n ď b3
’’ ..
’’ .
’%
am 1 k 1 ` am 2 k 2 ` am 3 k 3 ` ¨ ¨ ¨ ` am n k n ď bm
L’ensemble-solut ion d’un système d’inéquat ions linéaires est l’in-
t ersection des ensembles-solutions de chacune des inéquat ions du
syst ème.
’’ x 1 ` x 2 ` 2x 3 ď 8
& convexe.
x 1 ` 2x 2 ` x 3 ď 8
e) b)
’’ Domaine
L’intersection
2x 1 ` x 2 ` xdedes solutions
deux
3 ď 8
réalisables
ou de plusieurs (3) est
ensembles convexes
% un
où ensemble convexe.
[Ensembles
x i ě 0 pour i “ 1; 2; 3 convexes]
REMARQUE
ns: L’ensemble-solution d’un système d’inéquations linéaires à 2 (ou 3)
inconnues forme un polygone (ou un polyèdre) convexe.
es convexes
on: On dit qu’un ensemble de points est convexe si pour tout e paire
de point s P et Q de l’ensemble, le segment de droit e joignant P et
Q est entièrement contenu dans l’ensemble.
ttion:
ion: On
On dit
dit qu’un ensemble de
qu’un ensemble de point
pointss est
est convexe
convexe sisi pour
pour ttoute
out e paire
paire
de point s P et Q de l’ensemble, le segment de droit e joignant P et
Q
Domaine
de point s P et Q de des solutions
l’ensemble, réalisables
le segment (4)
de droit e joignant P et
Q est
est ent
ent ièrement
ièrement cont enu
cont enu dans
dans l’ensemble.
[Ensembles convexes] (Exemple)
l’ensemble.
Le
Le troisième
troisième ensemble n’est pas
ensemble n’est pas convexe,
convexe, car
car on
on peut
peut trouver
trouver deux
deux
point
point ss P
P et
et QQ dans l’ensemble, ttel
dans l’ensemble, el que
que le
le segment
segment joignant
joignant ces
cesdeux
deux
point
point ss n’est
n’est pas entièrement
pas ent contenu
ièrement cont enu dans
dans l’ensemble.
l’ensemble.
La solution graphique
• Les matières premières sont en quantité limitée : 800 kilos de Fraises, 700
kilos de Lait et 300 kilos de sucre. La vente des yaourts A rapportent 4 DA
par kilo et les yaourts B 5 DA.
Modélisation : Problème de production
(pb1)
Variables : x1 et x2 sont les quantités des produits A et B fabriqués (x1,x2 ∈R).
Contraintes :
Disponibilité de chacune des ressources:
2x1 + x2 ≤ 800
x1 + 2x2 ≤ 700
x2 ≤ 300
Formalisation(pb1)
Région réalisable :
Ensemble des solutions réalisables.
Problème de production (pb1) : Solution
graphique(2)
x1 +2
x2 =7
00
Problème de production (pb1) : Solution
graphique(3)
2x 1
+x 2
=8
00 x2=300
x1 +2
x2 =7
00
2x 1
1+
5x
+x 2
2=
22
=80
00 x2=300
0
La solution optimale
(300,200)
x1 +
2x
2 =7
00
Problème de fabrication (pb3) (Exemple2):
Résolution graphique
On considère le cas d’un fabricant d’automobiles qui propose deux modèles à
la vente, des grosses voitures et des petites voitures. Les voitures de ce
fabricant sont tellement à la mode qu’il est certain de vendre tout ce qu’il
parvient à produire, au moins au prix catalogue actuel de 1,6 million de dinars
pour les grosses voitures, et 1.0 million de dinars pour les petites voitures.
Son problème vient de l'approvisionnement limité de deux matières
premières. La construction d'une petite voiture nécessite l'emploi d'une unité
de caoutchouc et d'une unité d’acier, tandis que celle d'une grosse voiture
nécessite une unité de caoutchouc, mais deux unités d'acier. Sachant que son
stock de caoutchouc est de 400 unités et son stock d'acier de 600 unités, la
question est combien doit-il produire de petites et de grosses voitures au
moyen de ces stocks afin de maximiser son chiffre d'affaires ?
Modélisation : Problème de production
(pb3)
Variables : x1 et x2 sont les quantités des voitures petites et grosses fabriqués
(x1,x2 ∈R).
Fonction objectif à maximiser : La fonction objectif Z correspond au
bénéfice total: Z=1.6x1+1.0x2. On cherche donc max Z=1.6x1+1.0x2.
Contraintes :
Disponibilité de chacune des ressources :
x1 + x2 ≤ 400
2x1 + x2 ≤ 600
Positivité des variables: x1 , x2 ≥ 0.
Formalisation (pb3)
• Le problème se traduit alors sous la forme canonique suivante :
Problème de fabrication(pb3) : Solution graphique
2x 1
+x 2
x1 +
=6
x2 =
0
40
0
0 La solution optimale
(200,200) 1.6x1+x2=520
Exemple 3: Problème de production (pb4)
La direction d’une usine de meubles a constaté qu’il y a des temps morts dans
chacun des départements de l’usine. Pour remédier à cette situation, elle
décide d’utiliser ces temps morts pour fabriquer deux nouveaux modèles de
bureaux, x1 et x2. Les temps de réalisation pour chacun de ces modèles dans les
ateliers de sciage, d’assemblage et de sablage ainsi que les temps libres dans
chacun de ces ateliers sont donnés dans le tableau ci-dessous.
Ces temps représentent le nombre d’heures
nécessaires à un homme pour effectuer le
travail. Les profits que la compagnie peut
réaliser pour chacun de ces modèles sont de
3000 DA pour x1 et de 2000 DA pour x2. La
direction désire déterminer combien de
bureaux de chaque modèle elle doit fabriquer
Modélisation : Problème de production
(pb4)
Variables : x1 et x2 sont les quantités des deux modèles de bureaux fabriqués
(x1,x2 ∈R).
Fonction objectif à maximiser : La fonction objectif Z correspond au
bénéfice total: Z=3000x1+2000x2. On cherche donc max Z=3000x1+2000x2.
Contraintes :
Disponibilité de chacune des ressources :
x1 + 2x2 ≤ 20
2x1 + x2 ≤ 22
x1 + x2 ≤ 12
Positivité des variables: x1 , x2 ≥ 0.
Exemple 3 : Formalisation (pb4)
• Le problème se traduit alors sous la forme canonique suivante:
Problème de fabrication(pb4) : Solution graphique
2x 1
+x 2
=2
x1
2
+x
2 =1 La solution optimale
2
x1+2x2=20
(10,2)
Exemple 3: Problème de production (pb5)
Une usine fabrique 2 produits P1 et P2 nécessitant des ressources
d’équipement, de main d’oeuvre et de matières premières disponibles en
quantité limitée.
Contraintes :
Disponibilité de chacune des ressources :
3x1 + 9x2 ≤ 81
4x1 + 5x2 ≤ 55
2x1 + x2 ≤ 20
Positivité des variables: x1 , x2 ≥ 0.
Problème de fabrication(pb5) : Solution graphique
2x 1
4x La solution optimale
+x 2
1 +5
x
=20
2 =5
5
3x +
(8
1 9x
.3
2 =81
33
,4
.3
33
)
Exemple 3: Problème de composition (pb6)
L’intendant d’un lycée doit composer un menu qui doit contenir un
minimum d’ éléments nutritifs et qui doit être le moins coûteux possible.
On se limite à une situation simple, deux denrées alimentaires
principales D1, D2 et trois éléments nutritifs, les vitamines V, les calories
C et les protéines P. Le tableau suivant indique le nombre d’éléments
nutritifs par unité d’aliment :
Le menu doit comporter au minimum 5 unités de V,
4 unités de C, 6 unités de P. Les coûts unitaires sont
20 DA pour D1, 25 DA pour D2. Un menu contenant
x1 unités de D1, x2 unités de D2.
Modélisation : Problème de composition
(pb6)
Variables : x1 et x2 sont les quantités des unités de D1 et D2 (x1,x2 ∈R).
Contraintes :
Disponibilité de chacune des ressources :
x1 + 5x2 ≥ 5
x1 + 2x2 ≥ 4
3x1 + x2 ≥ 6
Positivité des variables: x1 , x2 ≥ 0.
Problème de composition (pb6) : Solution
graphique
La solution optimale
(1.6,1.2)
Z=20x1+25x2=62
Résolution de problèmes à trois variables
(pb7) par voie graphique [Exemple]
10 x2
1010 120
x1 120 x 1 120
nomique.
x3 x3
plan :
60 2x 1 ` 1,5x 2 ` x 3 “ 60 60
50 50
x1
50
30 30
10 10 10 10
x2
10 40 50 100 10 4
x3
60 60
50
x1 x1
50
30 (20,60,0)
10 10
x2 x2
100 10 40 50 100
• Éviter la résolution graphique pour trois variables?
Un peu d’histoire
• Les calculs qui sont effectués sont des calculs sur les lignes du tableau.
Variables 𝑥 1 𝑥 2 𝑒1 𝑒2 𝑒 3 𝑏𝑖
( 𝑒1
𝑒2
𝑒3
𝑐𝑖
2 1
1 2
0 1
4 5
1
0
0
0
0
1
0
0
0 800
0 700
1 300
0 0
)
Principe de l’algorithme
• A chaque étape de l’algorithme, on choisit une variable hors base que
l’on appelle variable entrante et une variable en base que l’on appelle
variable sortante afin d’améliorer la solution précédente.
¨ Ó Ó ˛
5/ 3 0 1 -4/ 3 0 1’000 1’000/ (5/ 3) = 600
˚ 1/ 3 1 0 1/ 3 0 800 ‹ 800/ (1/ 3) = 2’400
˚ ‹
˝ 4/ 3 0 0 -2/ 3 1 1’000 ‚ 1’000/ (4/ 3) = 750
60 0 0 -40 0 -96’000
Le plus petit rapport étant sur la première ligne, notre pivot sera
Matrice du programme de base no3(2)
EffectuonsMatrice
à nouveaudulesprogramme
opérations surde
les base
lignes no3(3)
afin d’annuler les
re
autres éléments de la 1 colonne :
¨ ˛
1 0 3/ 5 -4/ 5 0 600
L 2 ´ 1{3L 1 Ñ L 2 ˚˚ 0 1 -1/ 5 3/ 5 0 600 ‹‹
L 3 ´ 4{3L 1 Ñ L 3 ˝ 0 0 -4/ 5 2/ 5 1 200 ‚
L 4 ´ 60L 1 Ñ L 4 0 0 -36 8 0 -132’000
¨ ˛
L 1 ` 4{5L 3 Ñ L 1 1 0 -1 0 2 1’000
L 2 ´ 3{5L 3 Ñ L 2 ˚˚ 0 1 1 0 -3/ 2 300 ‹‹
˝ 0 0 -2 1 5/ 2 500 ‚
L 4 ´ 8L 3 Ñ L 4 0 0 -20 0 -20 -136’000
1
Solution
2x 1 ` 3x 2 ă 9
Exe rc ic e s ´1 1 2 3 4 5 x1 17
´ 1donc le quintuplet :
La solution optimale est
La solution optimale est donc le quintuple :
Pour déterminer l’ensemble-solution (x1 ;x2 ;x3 ;x4 ;x5 ) = (1000; d’une inéquation linéaire à
300;0;500;0)
deux
q u i c o rinconnues,
r e s p o n d a` u n b on
e´ n e´ ficommence
c e m a x i m u m dpar
e 1 3 6tracer
0 0 0 e n plar o ddroite-frontière,
u i s a n t 1 0 0 0 u n i t e´ s d e puis
E le c -1 0 0 ,
à300
l’aide
unitésd’un couple,aveconundétermine
de Elec-200 temps mort depar 500substitution
heures à l’atelierde de quel côté de
vérification.
Résumé(1)
En résumé, pour résoudre matriciellement un problème de maximisation,
les étapes sont :
5) Répéter les quatre premières étapes jusqu’à ce que tous les éléments de
la dernière ligne soient non positifs.
6) Les colonnes ne contenant qu’un seul élément non nul sont celles
correspondant aux variables dans le programme ; la valeur de ces
variables est donnée dans la dernière colonne, les variables hors
programme étant nulles.