Académique Documents
Professionnel Documents
Culture Documents
Formulation
dun programme
linaire (PL)
I. Introduction
Limportance de loptimisation et la ncessit dun outil simple pour modliser
des problmes de dcision que soit conomique, militaire ou autres on fait de la
programmation linaire un des champs de recherche les plus actifs au milieu du
sicle prcdent. Les premiers travaux1 (1947) sont celle de George B. Dantzig
et ses associs du dpartement des forces de lair des Etats Unis dAmrique.
Les problmes de programmations linaires sont gnralement lis des
problmes dallocations de ressources limites, de la meilleure faon possible,
afin de maximiser un profit ou de minimiser un cot. Le terme meilleur fait
rfrence la possibilit davoir un ensemble de dcisions possibles qui
ralisent la mme satisfaction ou le mme profit. Ces dcisions sont en gnral
le rsultat dun problme mathmatique.
De nombreux mathmaticiens, parmis eux le Russe L. V. Kantorovich, se sont penchs sur le problme de
programmation linaire avant 1947.
1
Ces hypothses rsument celles qui ont t donn par G. B. Dantzig : La proportionnalit, La non-ngativit,
ladditivit et la linarit de la fonction objectif
2
La fonction objectif est une forme linaire en fonction des variables de dcision
de type
z c1 x1 c2 x2 c N x N
o les coefficients c1,,cN doivent avoir une valeur bien dtermine (avec
certitude) et peuvent tre positifs, ngatifs ou nuls. Par exemple le coefficient ci
peut reprsenter un profit unitaire li la production dune unit supplmentaire
du bien xi, ainsi la valeur de z est le profit total li la production des diffrents
biens en quantits gales x1 , x 2 , , x N .
Supposons que ces variables de dcision doivent vrifier un systme dquations
linaires dfinis par M ingalits
a11 x1 a12 x2 a1N x N b1
a21 x1 a22 x2 a2 N x N b2
aM 1 x1 aM 2 x2 aMN x N bM
o les coefficients a1M,, aMN et b1,, bM doivent avoir une valeur bien
dtermine (avec certitude) et peuvent tre positifs, ngatifs ou nuls. Le
paramtre bj reprsente la quantit de matire premire disponible dont le bien x i
utilise une quantit gale aij xi .
En suivant les tapes de formulation ci-dessus, on peut reprsenter le PL comme
suit :
Max c1 x1 c2 x2 c N x N
s.c
aM 1 x1 aM 2 x2 aMN x N bN
x1 0, x2 0, , x N 0
V. Exemples de formulations
Limit au dpart aux problmes industriels et militaires, de nos jours plusieurs
problmes de divers domaines sont reprsents ou approxims par des modles
de PL. Lutilisation de ces techniques de modlisation sest renforce encore
aprs avoir construit des algorithmes et des logiciels capables de rsoudre de
plus larges problmes avec autant de variables de dcision que de contraintes.
La tche de formulation demande gnralement une certaine expertise et
connaissance du problme pour pouvoir relever facilement les diffrentes
composantes du problme et ainsi donner un programme qui modlise au mieux
Formulation du problme en un PL :
Etape 1 : Identification des variables de dcision. Les deux activits que
lagriculteur doit dterminer sont les surfaces allouer pour la culture de
tomates et de piments :
x1 : la surface alloue la culture des tomates
x2 : la surface alloue la culture des piments
On vrifie bien que les variables de dcision x1 et x2 sont positives :
x1 0, x2 0 .
Etape 2 : Identification des contraintes. Dans ce problme les contraintes
reprsentent la disponibilit des facteurs de production :
Terrain : lagriculteur dispose de 150 hectares de terrain, ainsi la contrainte
lie la limitation de la surface de terrain est x1 x2 150
Eau : la culture dun hectare de tomates demande 4 m3 deau et celle dun
hectare de piments demande 2m3 mais lagriculteur ne dispose que de 440m3.
La contrainte qui exprime les limitations des ressources en eau est
4 x1 2 x2 440 .
Main duvre : Les 480 heures de main duvre seront dpartager (pas
ncessairement en totalit) ente la culture des tomates et celles des piments.
Sachant quun hectare de tomates demande une heure de main duvre et un
hectare de piments demande 4 heures de main duvre alors la contrainte
reprsentant les limitations des ressources humaines est x1 4 x 2 480
100 x1 200 x2
s.c.
x1 x2 150
4 x1 2 x2 440
x1 4 x2 480
x1
90
x1 0, x2 0
x1 x2
s.c.
2 x1 x2 12
5 x1 8 x2 74
x1 6 x2 24
x1 0, x2 0
900 x1 1000 x2
s.c.
11x1 9 x2 9900
7 x1 12 x2 8400
6 x1 16 x2 9600
x1 0, x2 0
Formulation en un PL :
6
Min
x1 4
s.c.
x2 6
x1 2 x2 20
2 x1 x2 17
x1 0, x2 0
Alliage
fabriquer
Plomb
Zinc
Etain
Cot au Kilo
10
10
80
4.1
10
30
60
4.3
40 60 30
50 30 30
10 10 40
5.8 6 7.6
30
40
30
7.5
30
20
50
7.3
50
40
10
6.9
20
30
50
7.3
30
30
40
0.1 x A 0.3 x B 0.5 x C 0.3 x D 0.3 x E 0.4 x F 0.2 x G 0.4 x H 0.3 x I 0.3
0.8 x A 0.6 x B 0.1 xC 0.1 xD 0.4 x E 0.3 xF 0.5 xG 0.1 x H 0.5 xI 0.4
La fonction objectif dans cet exemple reprsente le cot dachat des diffrents
alliages A, B, C, D, E, F, G, H et I. Donc lexpression de la fonction objectif est
la suivante :
z 4.1 x A 4.3 x B 5.8 xC 6 x D 7.6 x E 7.5 x F 7.3 xG 6.9 x H 7.3 x I
s.c.
x A x B xC x D x E x F xG x H x I 1
0.1 x A 0.1 x B 0.4 xC 0.6 x D 0.3 x E 0.3 x F 0.3 xG 0.5 x H 0.2 x I 0.3
0.1 x A 0.3 x B 0.5 xC 0.3 x D 0.3 x E 0.4 x F 0.2 xG 0.4 x H 0.3 x I 0.3
0.8 x A 0.6 x B 0.1 xC 0.1 x D 0.4 x E 0.3 x F 0.5 xG 0.1 x H 0.5 x I 0.4
x A , x B , xC , x D , x E , x F xG , x H , x I 0
Exemple 6 :
Slection de Mdias
Tlvision
Locale
Par
satellite
40 DT
75 DT
400
900
300
400
Radio
Journaux
30 DT
500
15 DT
200
200
100
Pour la campagne, on prvoit de ne pas payer plus que 800DT 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 tlvision ne doit pas dpasser
500 DT ;
3. Au moins 3 spots publicitaires seront assurer par la tlvision locale et au
moins de deux spots par la tlvision par satellite.
4. Le nombre des publicits dans la radio ou dans les journaux sont pour chacun
entre 5 et 10.
Formulation en un PL :
Les variables de dcision du problme sont
x1 : le nombre de spots publicitaires dans la tlvision locale
x2 : le nombre de spots publicitaires dans la tlvision par satellite
x3 : le nombre de spots publicitaires dans la radio
x4 : le nombre daffiches publicitaires dans les journaux
Les contraintes de non-ngativit sont vrifies.
Les contraintes du problme sont :
Cot total de la compagne publicitaire : 40 x1 75 x 2 30 x3 15 x 4 800
Nombre de clients femmes potentiels par publicit :
300 x1 400 x 2 200 x3 100 x 4 2000
Max
s.c.
40 x1 75 x2 30 x3 15 x4 800
30 x1 40 x2 20 x3 10 x4 2000
40 x1 75 x2
500
3
x1
x2
x3
x3
10
x4
x4
10
x1 0, x2 0, x3 0, x4 0
CHAPITRE 2
11
Formulation
dun programme
linaire (PL)
I. Introduction
Aprs avoir illustrer par des exemples, comment un problme pratique peut tre
modlis par un programme linaire, ltape qui va suivre sera certainement
celle de la rsolution de ce problme mathmatique. La mthode graphique est
lune des premires mthodes utilises ce sujet.
Si on parle de rsolution graphique alors on doit se limiter une reprsentation
deux variables et au plus trois variables. Ceci indique que dans ce chapitre on
examinera seulement les programmes linaires deux variables de dcision.
12
Min
x1 x2
s.c.
2 x1 x2 12
5 x1 8 x2 74
x1 6 x2 24
x1 0, x2 0
Un bon choix se base sur une lecture des diffrents paramtres du programme
linaire. Dans notre cas, on ne peut qualifier de bon, le choix de 20 comme
unit dans les deux axes.
Pour lexemple, on peut choisir le systme daxes suivant :
x2
12
6
3
6
12
24
x1
2 x1 x2 12 .
Lensemble des solutions qui vrifient cette ingalit est le mme que celui qui
vrifie 2 x1 x2 12 et 2 x1 x 2 12 .
x2
12
6
3
6
12
24
x1
Lensemble des solutions qui correspond lquation est lensemble des points
de la droite l dfinie par x 2 2 x1 12 . Cette droite admet une valeur de la pente
gale 2 et intercepte laxe des ordonnes en 12 (voir figure ci-dessus).
13
Lingalit
2 x1 x 2 12
x2
12
6
3
6
12
24
x1
Pour ce faire, il suffit de prendre un point de lun des demi-plans (cest dire
nappartenant pas la droite x 2 2 x1 12 ) et voir sil vrifie lingalit
2 x1 x 2 12 . Par exemple le point de coordonnes (0,0) ne vrifie pas lingalit
2 x1 x 2 12 donc le demi-plan 1 au-dessus de la droite est celui recherch (voir
figure ci-dessus).
Lespace hachur reprsente le demi-plan ferm des solutions qui vrifient la
contrainte 2 x1 x 2 12 .
Si on fait de mme pour les deux autres contraintes du problme (voir figures
ci-dessous), on obtient les deux autres demi-plans 2 et 3 relatifs aux solutions
vrifiant respectivement les contraintes 5 x1 8 x2 74 et x1 6 x2 24 .
3
9.25
6
3
4
6
12
24
x1
14,8
24
x1
12
3
6
12
24
x1
Dfinition : Un ensemble E non vide est dit convexe si et seulement si pour tout
lment x et y de E et pour tout [0,1], x + (1-) yE.
14
24
x1
x1 x 2 0
Pour z=6, cest dire que le nombre de pilules prescrire est gale 6 pilules.
La fonction objectif est reprsente comme suit :
x2
12
3
6
24
x1
x1 x 2 6
Chaque point du segment qui relie les points (6,0) (0,6) reprsente des
solutions qui engendrent une prescription avec 6 pilules des deux tailles.
On peut tracer une infinit de droites qui reprsentent les diffrentes valeurs de
la fonction objectif, toutes ces droites ont le mme coefficient directeur (-1). Par
suite elles sont parallles entre elles. De plus on peut diminuer la valeur de z
indfiniment dans le sens indiqu dans la figure ci-dessous.
x2
12
3
x1
6
z 6 z 12
z 18
x1
12
Z=10
Dans notre exemple, la solution optimale est lintersection des deux contraintes
2 x1 x2 12 et 5 x1 8 x2 74 . Une valuation des coordonnes de ce point revient
rsoudre le systme linaire suivant :
2 x1 x2 12
5x1 8x2 74
Elle correspond daprs 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 gale 10.
b. Rsolution par numration :
On remarque que la solution optimale du problme de mdecine est un point
extrme qui se trouve sur le bord de lensemble des solutions. Une telle solution
est dite solution ralisable de base.
On peut admettre le rsultat suivant : Si un programme linaire admet une
solution optimale alors il existe une solution ralisable de base pour laquelle la
fonction objectif atteint la valeur optimale
Une mthode de rsolution du programme linaire consiste donc dterminer
les solutions ralisables de base (les points dintersection des droites qui forment
les contraintes) et calculer pour chaque point la valeur de la fonction objectif.
La solution du programme linaire est la solution qui on associe la valeur
optimale de la fonction objectif.
16
x2
12
A
B
C
6
D
x1
12
Dans le problme de mdecine, lensemble des solutions ralisables de base prsente 4 points extrmes A(0,12), B(2,8), C(23/11,126/11) et
D(24,0). La valeur de la fonction objectif associe respectivement A, B, C et D est 12, 10, 149/11 et 24. On vrifie bien que B est la
solution optimale du problme avec une valeur optimale gale 10.
VI. Exemples
Dans cette section on donne quelques exemples de rsolution graphique de problmes linaires relatifs au diffrents cas possibles :
Problme de maximisation
Max
100 x1 200 x2
s.c.
x1 x2 150
(1)
4 x1 2 x2 440
(2)
x1 4 x2 480
(3)
x1
90
x2
A
(2)
B
110
(4)
Z=0
(4)
30
(3)
D
x1 0, x2 0
(1)
40
x1
- 2 x1 3 x 2
s.c.
x1 5
(1)
2 x1 3 x 2 6
(2)
x2
(2)
x1 0, x 2 0
Z=0
x1
(1)
17
Problme impossible
Min
3 x1 2 x 2
s.c.
x1 2 x 2 2
(1)
2 x1 4 x 2 8
(2)
x2
x1 0, x 2 0
(2)
x1
(1)
Lespace des solutions ralisables est vide, il est lintersection des deux zones
grises de la figure ci-dessus
x1 3 x 2
s.c.
2 x1 6 x 2 30
x2
(1)
x1 10
(2)
x2 4
(3)
(2)
(1)
A
(3)
B
x1 0, x 2 0
10
x1
Z=0
Lensemble des points dcrit par le segment [AB] reprsente les solutions
optimales du problme linaire
Problme de dgnerescence
Max
s.c.
x1 x 2
3 x1 2 x 2 40
x2
(1)
x1 10
(2)
x2 5
(3)
(2)
(1)
B
(3)
x1 0, x 2 0
O
x1
Z=0
18
x1
12
Z=10
(2)
(4)
110
Z=0
30
(3)
D
40
(1)
x1
200
1
100
4
19
50 100
CHAPITRE 3
La Mthode de
Simplexe
I. Introduction
20
ct x
s.c
Axb
X 0
100 x1 200 x2
Max
x1 x2 150
4 x1 2 x2 440
s.c.
x1 4 x2 480
x1
90
x1 0, x2 0
Max c t x
s.c
AxS b
X 0, S 0
Max c1 x1 c2 x2 c N x N
s.c
a11 x1 a12 x2 a1N x N S1 b1
a21 x1 a22 x2 a2 N x N S 2 b2
a M 1 x1 a M 2 x2 a MN x N S M bM
x1 0, x2 0, , x N 0
S1 0, S 2 0, , S M 0
100x1 + 200x2
x1 + x2 + S1 = 150
4x1 + 2x2 + S2 = 440
x1 + 4x2 + S3 = 480(3.4)
x1 + S4 = 90
(3.5)
x1, x2, S1, S2, S3, S4 0
(3.1)
(3.2)
(3.3)
(3.6)
21
L'impact de ces variables d'cart sur la fonction objectif est nulle. Ceci explique
le fait que leur existence soit tout simplement lie une mise en forme du
programme linaire initial. Ces variables d'cart peuvent prendre des valeurs
nonnegatives. Le fait de donner la valeur des variables d'cart a l'optimum donne
une ide du nombre des ressources non utilises.
150
340
-120
-60
Les variables x1, S2, S3 et S4 (non nulles) sont dites variables de base et les
variables S1, x2, (nulles) sont dites variables hors base.
Gnralement, si on a un programme linaire standard constitu de n variables et
m contraintes (n m) alors une solution de base (extrme) est obtenue, en
22
P2/ Les valeurs du second membre des contraintes (les composants du vecteur
b) sont positives.
Alors une solution ralisable de base est obtenue en annulant les (n-m) variables
de dcision et la valeur des variables d'cart est directement donne par le
second membre. La deuxime proprit assure la satisfaction des contraintes de
nonngativit des variables d'cart.
Dans notre exemple, la forme standard du programme linaire vrifie ces deux
proprits.
a. Tableau de simplexe initial
Aprs avoir mis le programme linaire sous une forme qui vrifie les deux
proprits P1 et P2, ltape suivante est de tracer le tableau de simplexe initial.
Le modle gnral des tableaux de simplexe est :
cj coefficient correspond aux variables
variables de base
Qi Valeur des
VB variables de
base
des variables de
base
Ci coefficients
A = (aij)i,j
matrice des coefficients
des contraintes du programme
standard
Dans la premire colonne on trouve les contributions nulles des variables d'cart
qui forment la solution de base initiale.
Exemple :
Question : Quelles sont les contraintes et la fonction objectif du programme
linaire dcrit par le tableau de simplexe suivant :
0
0
S1
S2
150
440
6
x1
4
1
7
x2
2
5
0
S1
1
0
0
S2
0
1
0
0
0
0
S1
S2
S3
S4
150
440
480
90
zj
cj - zj
100
x1
1
4
1
1
0
100
200
x2
1
2
2
0
0
200
0
S1
1
0
0
0
0
0
0
S2
0
1
0
0
0
0
0
S3
0
0
1
0
0
0
0
S4
0
0
0
1
0
0
26
0
0
0
0
S1
S2
S3
S4
100
440
480
90
100
X1
1
4
1
1
0
100
200
x2
1
2
4
0
0
200
0
S1
1
0
0
0
0
0
0
S2
0
1
0
0
0
0
0
S3
0
0
1
0
0
0
0
S4
0
0
0
1
0
0
150
220
120
27
200
x2
0
S1
0
S2
0
S3
0
S4
0
S1
0
S2
200
x2
0
S4
Ce qui reste dterminer sont les coefficients aij de la nouvelle matrice A et les
valeurs Qi des variables de base. Ceci est ralis en utilisant la rgle de pivot :
1. Diviser le ligne de pivot par la valeur de llment de pivot pour trouver la
ligne transforme de la ligne de pivot.
0
0
200
0
S1
S2
x2
S4
120
100
x1
200
x2
0
S1
0
S2
0
S3
0
S4
1/4
-1/4
S1
S2
200
x2
0
0
0
S1
1
0
28
0
S2
0
1
0
S3
0
S4
0
0
200
0
x2
S4
120
1/4
1
0
0
0
0
0
-1/4
0
1
0
0
0
0
S1
S2
x2
S4
150
440
480
90
100
x1
1
4
1
1
200
x2
1
2
4
0
0
S1
1
0
0
0
150 4 480 1
30
4
0
S2
0
1
0
0
100
x1
0
0
200
0
S1
S2
S3
S4
30
120
1/4
0
S3
0
0
1
0
0
S4
0
0
0
1
0
S3
-1/4
0
S4
0
0
0
1
0 4 11
1
4
4
200
x2
0
0
1
0
0
S1
1
0
0
0
0
S2
0
1
0
0
-1/4
0
0
200
0
S1
S2
x2
S4
30
200
120
90
100
x1
3/4
7/2
1/4
1
50
50
200
x2
0
0
1
0
200
0
0
S1
1
0
0
0
0
0
0
S2
0
1
0
0
0
0
0
S3
-1/4
-1/2
1/4
0
50
-50
0
S4
0
0
0
1
0
0
40
400/7
480
90
La variable entrante est x1 ; elle prsente la plus grande valeur cj- zj. Si on calcule
les quotients Qi/ci1, on retrouve que la variable sortante est S1 qui on associe la
plus petite valeur du ratio Q1/c11=40. Llment pivot dans ce tableau est 3/4. La
nouvelle base est compose de x1, S2, x2, S4.
Le tableau de simplexe suivant issu de lapplication de la rgle de pivot est :
30
100
x1
1
0
0
0
200
x2
0
0
1
0
0
S1
4/3
-14/3
-1/3
-4/3
0
S2
0
1
0
0
0
S3
-1/3
2/3
1/3
1/3
0
S4
0
0
0
1
100 x1
40
0
S2
60
200 x2 110
0
S4
50
Cette nouvelle solution
x1 = 40
x2 = 120
S1 = 0
S2 = 60
S3 = 0
S4 = 50
correspond au point B qui est, daprs les rsultats retrouve par la mthode
graphique, la solution optimale du problme. Ainsi, il faut sattendre ce que la
mthode de simplexe reconnaisse cette solution comme tant la solution
optimale.
Ajoutons la ligne relative au calcul de l'effet net dune augmentation unitaire
dune des variables du problme, on a :
100
0
200
0
x1
S2
x2
S4
40
60
110
50
100
x1
1
0
0
0
100
0
200
x2
0
0
1
0
200
0
0
S1
4/3
14/3
-1/3
-4/3
200/3
-100/3
0
S2
0
1
0
0
0
0
0
S3
-1/3
2/3
1/3
1/3
100/3
-100/3
0
S4
0
0
0
1
0
0
Leffet net associ aux variables hors base S1 et S2 est ngatif. Ceci nous oblige
dire que faire entrer une de ces deux variables dans la base va engendrer une
diminution dans la valeur de la fonction objectif. Donc il ny a pas une autre
solution ralisable de base qui peut engendrer un profit meilleur. Par suite cette
dernire solution est la solution optimale. Ce dernier tableau de simplexe est
donc dit tableau optimal.
31
Justification
Pour
obtenir
une
reprsentation
mathmatique du problme
Ceci est ncessaire pour obtenir comme
variable de base initiale lorigine
Mettre toutes les contraintes sous forme
dgalit
Ce tableau correspond la solution initiale
de base
La valeur de cj-zj indique la quantit
daugmentation de la fonction objectif si
on augmente la valeur de xj dune unit.
La plus petite valeur de Qi/aij indique le
nombre maximal dunit de xj quon peut
introduire avant que la variable de base de
lime ligne ne soit gale zro.
7. Construire le nouveau tableau en Cette rgle nous permet entre autre de
utilisant la rgle de pivot
calculer les valeurs des nouvelles variables
de dcision
8. Faire le test doptimalit. Si Si (cj-zj) 0 alors on na pas dintrt
(cj-zj) 0 pour toutes les variables (hors faire entrer dans la base aucune de ces
base), la solution obtenue est donc variables. Une telle introduction engendra
optimale. Sinon retourner ltape 5.
une diminution de la fonction objectif.
VI. Exemple
Rsoudre le programme linaire suivant en utilisant la mthode de simplexe.
Max 3x1 + 2x2
SC
- x1 + 2x2 4
3x1 + 2x2 14
32
x1 + x2 3
x1 0 x2 0
La forme standard du programme linaire s'crit comme suit :
Max 3x1 + 2x2
SC
- x1 + 2x2 + S1 = 4
3x1 + 2x2 + S2 = 4
x1 - x2 + S3 = 3
x1, x2, S1, S2, S30
Tableau de simplexe initial (1re itration)
0
0
0
S1
S2
S3
4
14
3
3
x1
-1
3
(1)
0
3
2
x2
2
2
-1
0
2
0
S1
1
0
0
0
0
0
S2
0
1
0
0
0
0
S3
0
0
1
0
0
-4
14/3
3
La variable entrante est x1 puisquelle prsente le plus grand effet net positif. La
variable sortante est S3 car elle correspond au plus petit quotient positif.
2me itration
0
0
3
S1
S2
x1
7
5
3
3
x1
0
0
1
3
0
2
x2
1
(5)
1
0
2
0
S1
1
0
0
0
0
0
S2
0
1
0
0
0
0
S3
1
-3
1
3
-3
7
1
3
0
2
3
S1
x2
x1
6
1
4
3
x1
0
0
1
3
0
2
x2
0
1
0
2
0
0
S1
1
0
0
0
0
0
S2
-1/5
1/5
1/5
1
-10
0
S3
8/5
-3/5
2/5
0
0
Tous les cj-zj 0 donc le tableau de simplexe est optimal et la solution optimal du
programme linaire est
x1 = 4
x2 = 1
S1 = 6
S2 = 0
S3 = 0
La valeur de la fonction objectif est 14.
Remarque : Leffet net de laugmentation dune unit de la valeur de S3
(variable hors base) est nul. Donc si on introduit S3 dans la base, on ne modifie
pas la valeur de la fonction objectif. Ainsi une autre solution optimale peut tre
trouve pour notre programme linaire. Ceci confirme le rsultat de la mthode
graphique qui indique que ce problme admet un ensemble de solution optimale
dcrit par le segment [BC].
La solution optimale donne par le dernier tableau de simplexe correspond au
point C.
Le tableau du simplexe suivant est :
0
2
3
S3
x2
x1
15/4
13/4
5/2
3
x1
0
0
1
3
0
2
x2
0
1
0
2
0
0
S1
5/8
3/8
-1/4
0
0
0
S2
-1/8
1/8
1/4
1
-1
0
S3
1
0
0
0
0
x2 = 13/4
S1 = 0
S2 = 0
S3 = 15/4
La valeur de la fonction objectif est 14.
CHAPITRE 4
Problmes de
Minimisation et
35
Problmes
Irrguliers
I. Introduction
Dans le chapitre prcdent tous les programmes linaires quon a trait sont du
type : Maximiser une fonction linaire sous contraintes de type infrieur ou
gale (et avec un second membre positif).
Or dans beaucoup de problmes rels, on peut retrouver des contraintes de type
suprieur ou gale et/ou de type gale, ainsi que des problmes o on a
minimiser au lieu de maximiser.
Dans ce chapitre, on tudiera les modifications apporter la mthode du
simplexe pour quelle puisse rsoudre tous ces types de programmes.
36
0
-M
-M
S1
A1
A2
4
60
5
5
x1
-1
(5)
0
6
X2
1
3
1
0
S1
1
0
0
0
S2
0
0
-1
-M
A1
0
1
0
-M
A2
0
0
1
-5M -4M
0
M
-M
-M
5+5 6+4
0
-M
0
0
M
M
0
5
6
0
5
6
S1
x1
x2
S2
x1
x2
8
9
5
5
x1
0
1
0
5
0
6
x2
0
0
1
6
0
0
S1
1
0
0
0
0
0
S2
8/5
3/5
-1
-3
3
5
6
10
5
x1
0
1
0
5
0
6
x2
0
0
1
6
0
0
S1
5/8
-3/8
5/8
15/8
-15/8
0
S2
1
0
0
0
0
5
15
-5
Le tableau ci-dessus est optimal car tous les effets nets sont ngatifs ou nuls.
Donc la solution optimale est :
x1 = 6
x2 = 10
S1 = 0
S2 = 5
39
41
12
37/4
4
Aprs avoir vrifier que le second membre des contraintes est positif, le tableau
suivant rsume les transformations faire subir notre programme linaire
avant de le rsoudre par la mthode de simplexe :
Quand la contrainte
est
Maximisation
Minimisation
Attribuer un coefficient nul pour la variable dcart
Ide type
Ajouter une variable
dcart
II- de type = Attribuer un coefficient -M Attribuer un coefficient M
Ajouter une variable pour variable artificielle
pour la variable artificielle
dcart
et
une
variable artificielle
Attribuer un coefficient nul Attribuer un coefficient nul
III- de type
Ajouter une variable pour la variable dcart et un pour la variable dcart et
artificielle et une coefficient - M pour variable un coefficient M pour
variable artificielle
variable dcart avec artificielle
un signe "-"
Le tableau suivant rsume les tapes de la mthode de simplexe relatif aux
problmes de maximisation et minimisation :
Etape
Maximisation
1
Formuler un programme linaire
pour le problme rel.
2
Vrifier que le second membre du
programme linaire est positif
sinon modifier les contraintes
3
Ecrire le programme linaire sous
une forme standard
4
Construire le premier tableau de
simplexe
5
Choisir comme variable entrante
dans la base celle qui admet le plus
grand effet net positif cj-zj.
6
Choisir la variable sortante de la
base celle qui admet le plus petit
ratio suprieur zro.
7
Construire le nouveau tableau en
utilisant la rgle de pivot
8
Faire le test doptimalit. Si
42
Minimisation
Formuler un programme linaire
pour le problme rel.
Vrifier que le second membre du
programme linaire est positif sinon
modifier les contraintes
Ecrire le programme linaire sous
une forme standard
Construire le premier tableau de
simplexe
Choisir comme variable entrante
dans la base celle qui admet le plus
petit effet net ngatif cj-zj.
Choisir la variable sortante de la
base celle qui admet le plus petit
ratio suprieur zro.
Construire le nouveau tableau en
utilisant la rgle de pivot
Faire le test doptimalit. Si
3x1 + x2 10
x1 , x2 0
En introduisant les variables dcarts et les variables artificielles le programme
scrit:
Max 4x1 + 3x2 - MA1
Sc
x1 + x2 - S1 = 2
3x1 + x2 - S2 + a1 = 10
x1 , x2 , S1 , S2 , A1 0
0
-M
4
-M
S1
a1
x1
a1
2
10
2
5
4
x1
(1)
3
-3M
3M+4
3
x2
1
1
-M
M+3
4
x1
1
0
4
0
3
x2
1
-2
4+2M
-1-2M
0
S1
1
0
0
0
0
S1
1
-3
1+3M
-1-3M
0
S2
0
-1
M
-M
0
S2
0
-1
M
-M
-M
a1
0
1
1
-M-1
2
10/3
-M
a1
0
1
-M
0
Le tableau de simplexe ci-dessus est optimal avec une variable artificielle dans
la base.
Remarque : Un programme de maximisation ou de minimisation avec
seulement des contraintes de type ne peut pas tre impossible (sous
lhypothse que le second membre b est positif). Ceci est d au fait que lors de
la rsolution de ce genre de programme par la mthode de simplexe on n'utilise
pas des variables artificielles. Donc il est impossible de les retrouver dans la
solution optimale.
b. Les problmes solutions multiples
Graphiquement, ce problme est caractris par le fait que la pente de la droite
reprsentant la fonction objectif (z = 0) est gale la pente de lune des
contraintes restrictives. Lorsquon utilise la mthode de simplexe, on identifie ce
problme lorsquun des effets nets (relatif une variable hors base) est nul.
44
-M
0
a1
S2
2
3
1
x1
1
0
-M
1+M
2
x2
(1)
1
-M
2+M
0
S1
-1
0
M
-M
0
S2
0
1
0
0
-M
a1
1
0
-M
0
0
S1
-1
(1)
-2
2
0
S2
0
1
0
0
-2
1
2
0
x2
S2
2
1
1
x1
1
-1
2
-1
2
x2
(1)
0
2
0
45
2
3
1
2
0
0
x1
x2
S1
S2
2
x2
3
0
1
0
1
0
S1
1
-1
0
1
1
-1
0
2
0
2
1
0
0
-2
Le dernier tableau montre que la variable x1 nadmet aucune limite sur sa valeur
de sortie.
d. Les problmes solution dgnre
Graphiquement, on appelle solution dgnre le point o plusieurs contraintes
concourent (un nombre suprieur ou gale trois contraintes). Un programme
linaire est dit dgnre si une ou plusieurs variables dans la base optimale sont
nulles. Dans la rsolution graphique ce problme nest pas difficile rsoudre,
mais avec la mthode de simplexe il peut causer des difficults.
Exemple
Max z = 2x1 + 0 x2 + 3/2 x3
s.c. x1 - x2 2
2x1 + x3 4
x1 + x2 + x3 3
x1, x2, x3 0
La solution optimale de ce problme est :
x1 = 1
x2 = 0
x3 = 2
z =5
2
0
3/2
0
0
0
x1
x2
x3
S1
S2
S3
0
S1
2
1
-1
0
1
0
0
2
0
S2
4
2
8
0
-1
0
0
2
0
S3
3
1
6
0
0
-1
0
3
0
15
-M
-M
-M
M
2
0
3/2
0
0
0
La variable entrante est x1, mais les deux premires contraintes donnent la mme
valeur minimale du ratio. Ceci indique que lorsque x1 passe 2, les variables
dcart S1 et S2 vont sannuler malgr que lun des deux demeure encore dans la
base.
Choisissons arbitrairement de faire sortir de la base la variable dcart S1.
2
x1
1
0
0
2
0
0
3/2
0
0
0
x2
x3
S1
S2
S3
2
x1
2
-1
0
1
0
0
-2
0
S2
0
2
1
-2
1
0
0
0
S3
1
2
1
-1
0
1
1/2
-2
0
2
0
0
2
3/2
-2
0
0
0
x2
3/2
x3
47
0
S1
0
S2
0
S3
2
0
0
x1
x2
S3
2
0
1
1
0
0
2
0
0
1
0
0
0
1/2
0
1/2
0
4
1/2
-1
1/2
0
0
0
1
-1
1
0
0
1
0
1/2
0
-1
0
Ce tableau nest pas optimal, la variable entrante est x3 et la variable sortante est
x2. On remarque aussi que ce passage dune solution une autre ne
saccompagne pas dune augmentation de la valeur de la fonction objectif.
On peut facilement vrifier que nous somme en train de cycler sans atteindre la
solution optimale. Ce genre de cyclage dans la mthode de simplexe est
dangereux et on doit lidentifier avant de commencer rsoudre le problme,
sinon on passera un temps norme sans atteindre la solution optimale.
Pour terminer cette section, il faut noter que ce n'est pas tout problme de
dgnrescence qui peut conduire un cyclage.
Exemple
Max 10 x1 + 9x2
Sc
7/10x1 + x2 630
1/2 x1 +5/6x2 480
x1 + 2/3x2 708
1/10 x1 +1/4x2 135
x1 ,, x2 0
Essayer de rsoudre ce programme par la mthode de simplexe (choisir en cas
de deux quotients gaux, celui qui se trouve dans la ligne suprieure).
CHAPITRE 5
48
Dualit et analyse
de sensibilit
I. Introduction
Dans ce chapitre, on va tudier des notions relatives au programmes linaires
tels que le programme dual, les cots marginaux ainsi que des techniques de
validation de la solution dun programme linaire, cest dire lanalyse de
sensibilit.
Nous allons commencer ce chapitre par donner quelques termes cls du jargon
utilis pour interprter conomiquement les diffrents rsultats du programme
linaire.
x 2 1 3 S1 1 3 S 3 110
S 4 4 3 S1 1 3 S 3 50
50
Si on exprime z en fonction de
systme dquation ci dessus on a
S1
et
S3
100 x1 200 x 2
x1 x 2 153
4 x1 2 x 2 440
x1 4 x 2 480
x1 90
x1 0 , x 2 0
On trouve que la valeur optimale va augmenter de 200 dinars est devient 26 200
dinars.
Exercice : Expliquer graphiquement que si on ajoute des m 3 deau, on aura
aucune amplification dans la fonction objectif.
Remarque : Dans le cas o on diminuerait 60m 3 deau, la solution optimal
devient dgnre.
Les valeurs marginales apportent donc des renseignements conomiques
particulirement intressantes, mais il faut les utiliser avec prudence car leur
domaine de validit est limit.
Par exemple, si on ajoute 30 hectares de terrains aux 150 dj disponibles dans
le problme de lagriculteur, le revenu augmentera de 200 3 3 200dinars .
Ceci nest pas vrai, parce que si on rsout le programme linaire suivant :
Max
S.C
100 x1 200 x 2
x1 x 2 180
4 x1 2 x 2 440
x1 4 x 2 480
x1 90
x1 0 , x 2 0
51
II. Dualit
a. Dfinition
La forme dun programme linaire de type maximisation est
Max
S.C
z ct x
Ax b
x0
PL1
n, m et n , et A une
w bt y
t
A.Y c
y0
z 100 x1 200 x 2
x1 x 2 150
4 x1 2 x 2 440
x1 4 x 2 480
x1 90
x1 0 , x 2 0
y1 0
y2 0
soit
y1
y2
y3
y4
y1 4 y 2 y 3 y 4
y1 2 y 2 4 y 3
Min
S.C
y1 4 y 2 y 3 y 4 100
y1 2 y 2 4 y 3 200
y1 0
y2 0
480
150
y3
y1
100/3
200/3
150
y1
0
1
150
0
440
y2
-2/3
14/3
380
60
480
y3
1
0
480
0
90
y4
-1/3
4/3
40
50
0
L1
1/3
-4/3
-40
40
0
L2
1/3
1/3
-110
110
y3 = 100/3
y4 =
0
L1 =
0
L2 =
0
C1 - z1 = 0
C2- z2 = 60
C3- z3 = 0
C4 - z4= 50
C5 - z5= 40
C6 - z6= 110
w = 26000
C5 - z5 = - 100/3
C6 - z6 =
0
C1 - z1 =
0
C2 - z2 =
0
S1
=
0
S2
=
60
S3
=
0
S4
=
50
x1
=
40
x2
=
110
z
= 260000
xj = 0
xj > 0
Sj = 0
Sj > 0
Primal (Max)
Variables de dcision
C j - zj < 0
C j - zj = 0
variables dcart
C j - zj 0
C j - zj = 0
Dual (Min)
variables dcart
Li = | Cj - zj | 0 Cj - zj = 0
L i = 0 C j - z j = xj
Variables de dcision
yi = | Ci - zj | 0 Cj - zj = 0
yi = 0 et Cj zj = Sj
Min
- Transpose de la matrice des
contraintes (n, m)
54
Nombre de variables
j me variable
j me variable
j me variable qcq IR
Nombre de contraintes
j me contrainte de type
j me contrainte de type
i me contrainte de type =
Exemples
Primal
Max x1 + x2
S.c x1 + x2 3
- x 1 + x2 1
x1 2
x1 0, x2 0
Min - x1 + x2
S.c 2x1 - x2 2
- x1 + 2x2 -2
x1 + x2 5
x1 0, x2 0
Max 2x1 - x2
S.c x1 - x2 = 3
x1 4
x1 0, x2 0
Max 2x1 - x2
S.c x1 - 2x2 2
x1 + x2 = 6
x2 5
x1IR, x2IR
Dual
Min 3y1 + y2 + 2y3
S.c y1 - y2 + y3
y1 + y2 1
y1 0, y2 0, y3 0
Max 2y1 - 2y2 + 5y3
S.c 2y1 - y2 + y3 -1
- y1 + 2y2 + y3 1
y1 0, y2 0, y3 0
Min 3 y1+ 4 y2
S.c y1+ 2 y2 2
- y1 -1
y1IR, y2 0
Min - 2y1 + 6y2 - 5y3
S.c y1 + y2 = 2
- 2y1 + y2+ y3 = -1
y1 0, y2 IR, y3 0
100+
0
200
0
x1
S2
x2
S4
40
60
110
50
0
100+ 20
0
x1
x2
S1
1
0
4/3
0
0
-14/3
0
1
-1/3
0
0
-4/3
100+ 20 (200+4)/3
0
0
0
(200+4)/3
56
S2
0
1
0
0
0
S3
-1/3
2/3
1/3
1/3
(100-)/3
S4
0
0
0
1
0
-100/3
( 20 4 )
3 0 50
50 10
10 0 10
3
Donc la solution optimale est stable et prend la mme valeur (x1,x2)=(40,110)
tant que 50 C1 200
Exercice : Supposons que le coefficient Cj d'une variable hors base dans la
solution optimale, est modifi. Dans quel intervalle, Cj peut-il varier sans que la
base optimale soit modifie ?
(Aide : diffrencier le cas dun programme de maximisation et le cas dun
programme de minimisation).
Solution :
- < Cj zj
cas dun programme de maximisation
zj Cj < -
cas dun programme de minimisation
b. Analyse de sensibilit sur les bj
Dterminer lintervalle pour lequel, la solution optimale reste stable, pour une
variation du second membre de la ime contrainte bi .
Considrons une variation de b1 de 150 150 + .
Sachant que dans le premier tableau de simplexe b1 nest prsent que dans la
premire contrainte. On obtient ainsi une correspondance entre la colonne des
quantits Qi et la colonne de S1.
0
0
0
0
S1
S2
S2
S4
150+1
440+0
480+0
90+0
0+1
100
x1
1
4
1
1
0
100
200
x2
1
2
4
0
0
100
0
S1
1
0
0
0
0
0
0
S2
0
1
0
0
0
0
0
S3
0
0
1
0
0
0
0
S4
0
0
0
1
0
0
100
0
200
0
x1
S2
x2
S4
40+4/3
60-14/3
110-1/3
50-4/3
26000+200/
3
100
x1
1
0
0
0
100
200
x2
0
0
1
0
200
0
S1
4/3
-14/3
-1/3
-4/3
200/3
0
S2
0
1
0
0
0
0
S3
-1/3
2/3
1/3
1/3
100/3
0
S4
0
0
0
1
0
-200/3
-100/3
40 4/ 3 0 1 30
60 14 / 3 0 90 / 7
1
- 30 90/7
110 1/ 3 0 1 330
50 4 / 3 0 1 75/ 2
Donc tant que 120 b1 160,85 la base demeure la mme et la solution
optimale est stable mais elle change en valeur (exemple: pour = 3 le vecteur de
solutions optimale est (x1,x2,S1,S2,S3,S4)=(44,109,0,46,0,46))
Remarque : Daprs le rsultat ci-dessus on peut conclure que le cot marginal
de 200/3 par hectare de la premire ressource nest valide que si la solution de
base demeure stable. Donc si et seulement si 120 b1 160,85. Ceci est appel
le domaine de validit du cot marginal.
Exercice 1:
Sans faire de calcul, de combien peut-on modifier la quantit de m3 deau sans
nuire la solution optimale ? confirmez votre rsultat a l'aide de la mthode
d'analyse de sensibilit expos ci-dessus ?
Exercice 2 :
Dterminer lintervalle dans lequel peut varier b1 et b3 (les ressources en surface
et en main duvre) sans que la base optimale change.
Rponse 2 :
58
40 4/31 1/32 0
60 14/3 2/3 0
1 2
1 0 1/31 1/32 0
50 4/31 1/32 0
41 2 120
7 90
12
1 2 3 0
41 2 150
x1 + (4 + )x2 + S3 =
x2* S2* 60
*
S2 0
60
*
60 x2 0 3 / 2
x*2
ij
Si
x *j
iii) Si xj est une variable hors base (xj = 0). Ceci implique quon ne va pas
produire le produit j
Si ij 0, alors il est encore moins conomique de fabriquer ce produit si le
coefficient technologique aij augmenterait de ij
Si ij 0 , alors la fabrication du produit j peut devenir conomique si on
utilise moins de ressources.
S.c
x1 + x2 + x3 150
4x1 + 2x2 +3x3 440
x1 + 4x2 + 2x3 480
x1 90
x1, x2, x3 0
y1*
200 *
100
,y 2 0 et y*3
,
3
3
donc :
CHAPITRE 6
Logiciel pour la
rsolution des
61
programmes
linaires :
LINDO
(Linear INteractive and Discrete Optimizer)
I. Introduction
Lindo est un logiciel utilis pour rsoudre les modles doptimisation linaires,
entiers et quadratiques. Une des caractristiques de Lindo cest quil offre des
outils qui peuvent aider lanalyse des modles en utilisant la mthode de
Simplexe.
On prsente dans ce chapitre la version tudiant 6.0 (1997). Cette version rsout
des problmes de dimension maximale de 200 variables et de 100 contraintes.
62
Max
s.c.
100 x1 200 x2
x1 x2 150
4 x1 2 x2 440
x1 4 x2 480
x1
90
x1 0, x2 0
Dans tous les modles de Lindo la fonction objectif est dfinie en premire
ligne. Dans notre exemple la fonction objectif est :
Max _ 10 _ x1__20 _ x2
Les tirs bas indique la prsence dun espace obligatoire entre les entres pour
pouvoir les diffrenties.
Il faut noter quon peut remplacer x1 et x2 par nimporte quel mot qui indique
ces deux variables, par exemple, on peut remplacer x1 par "tomates" et x2 par
"piments". Une autre caractristique est que Lindo ne fait pas de diffrence
entre majuscule et minuscule. Pour lui la variable TOMATE est la mme
que la variable tomAtE .
Pour commencer crire les contraintes, il faut introduire la mention subject
to ou tout simplement son abrviation st .
Dans notre exemple les contraintes sont :
63
subject _ to
terrain) x1 _ _ x2_ _ 150
eau) 4 _ x1_ _ 2 _ x2 _ _ 440
Mo) x1 _ _ 4 _ x2_ _ 480
bureau) x1 _ _ 90
On remarque quon peut appeler chaque contrainte par un nom nominatif que
Lindo va utiliser pour afficher les rsultats.
Lcran quon obtient aprs avoir introduit les diffrents paramtres est le
suivant :
Avant que Lindo nous propose un premier rapport sur la solution optimale, il
nous donne ltat du problme exprim par cette fentre :
65
67
a)
b)
c)
d)
e)
f)
g)
68
3. Solve
69
70
71
4. Reports
72
On a choisi ici davoir un rapport graphique sur les valeurs des variables de
dcision ainsi sur les variables duales qui leurs sont associes dans le problme
de lagriculteur. Le rsultat est le tableau suivant :
74
f) Picture : Cette commande permet de crer un texte ou une figure qui illustre
les diffrents paramtres du problme. La fentre de dialogue associe cette
commande est la suivante :
g) Basis Picture : Cette commande affiche dans la fentre rapport une figure
qui reprsente la matrice de base actuelle (relatif la solution trouve en
excutant la commande solve du mme menu). Le rapport quon obtient en
excutant cette commande pour le problme de lagriculteur est :
75
g) Arrange Icons : Cette commande permet darranger les fentres rduites sous
forme dicne.
6. Help
quelques
informations
Exercices
A) Essayer de rsoudre tous les exercices de la srie 1 en utilisant le Logiciel
Lindo.
B) Problmes de transport : Une entreprise approvisionne 4 de ces clients
partir de 3 diffrents dpts. Le chef de cette entreprise veut minimiser le
cot unitaire par unit transporte. Le tableau suivant prsente toutes les
donnes :
78
Cot unitaire
Client 1
Client 2
Client 3
Client 4
Dpt 1
Dpt 2
Dpt 3
Demande du
client
6
4
8
15
2
9
8
17
6
5
1
22
7
3
5
12
79
Capacit du
dpt
30
25
21
CHAPITRE 7
Introduction la
Programmation
Dynamique
I. Introduction
La programmation dynamique est une technique mathmatique qui a pour objet
daider prendre des dcisions squentielles indpendantes les unes des autres.
Contrairement la programmation linaire, il ny a pas un formalisme
mathmatique standard. Cest une approche de rsolution o les quations
doivent tre spcifies selon le problme rsoudre.
Notre expos se base essentiellement sur de nombreux exemples qui illustrent
cette technique.
2
2
5
4
5
4
3
3
4
4
4
6
3
10
3
3
reprsentent les diffrents trajets possibles et les valeurs cij au-dessus des arcs
reprsentent le prix de la police dassurance vie relatif au trajet dcrit par larc.
Le chemin le moins dangereux est celui qui admet la plus petite valeur de la
police dassurance vie
Exemple : Si le voyageur empreinte le trajet 1 2 6 9 10 , le cot total
de la police dassurance est 13
Soit xn (n=1, ..., 4) les variables de dcisions relatives chacune des 4 tapes. Le
chemin suivre par le voyageur est 1 x1 x2 x3 x4 avec x4 = 10.
Soit fn (S, xn) le cot total de la police dassurance vie pour le reste des tapes
sachant que nous somme ltat S de ltape n et que la destination choisie est
xn.
Etant donn S et n, soit x n* la valeur de xn qui minimise fn (S, xn) et soit f n* (S) la
valeur minimale de fn (S, xn). ( f n* (S)= fn (S, xn* )).
Lapproche de la programmation dynamique repose sur lide quun chemin ne
peut tre optimal que si chacune des ses composantes est elle mme optimale.
La dmarche de la programmation dynamique consiste tudier dabord les
sous problmes qui se situent chronologiquement les derniers et sur un principe
de retour en arrire.
Lobjectif est donc de trouver la valeur de f1* (1). Pour lavoir, la programmation
dynamique va essayer dvaluer avec une procdure de chanage en arrire f 4*
(s), f3* (s), f 2* (s) et enfin f1* (1).
A chaque tape, on va essayer dvaluer pour chaque tat s, la valeur de f (S, xn)
pour chaque destination xn possible, puis de retrouver la meilleure destination
*
xn
(celle qui correspond au plus petit cot f(S, xn)) et aussi la valeur de f n* (s).
Etape 4
x4
f4(S, x4))
f 4* (s),
*
x4
3
4
3
4
10
10
S
8
9
Etape 3
81
f3(S, x3)=Csx3+
x3
f 4* (x3)
f3* (s),
*
x3
4(=1+3)
9
6
8(=4+4)
7
7
4
7
6
8
9
8
S
5
6
7
Etape 2
f2(S, x2)=Csx2+
x2
f3* (x2)
f 2* (s)
x1*
11
7
8
11
9
8
12
10
11
11
7
8
5 ou 6
5
5 ou 6
S
2
3
4
Etape 1
f1* (1)
x1*
13
11
112
11
3 ou 4
S
1
82
*
Dans notre exemple la relation est f n* (S)= Min
x n {Csxn + f n 1 (xn)}
La stratgie optimale tant donn que nous sommes ltat S de ltape n,
ncessite de retrouver la valeur de xn qui minimise lexpression ci-dessus.
f n* (S)=
Max
xn
ou
Min
xn
f n*1 (-)
Etape n
fn(S, x1)
X1
tats n+1
f n* (s)
*
xn
S
tats n
le cot ou la
distance
La longueur du
Le meilleur
chemin optimal tat de ltape
partir de S
n+1 le long du
jusqu ltat final
chemin
optimal final
84
Il faut aussi dterminer la nature de lensemble des tats dans chacune des
tapes. Ces tats Sn peuvent tre reprsents par des variables discrtes ou par
des variables continues ou dans certains cas par un vecteur .
tape n
Sn
tape n+1
contribution de xn
Sn+1
85
Etape 8
f8(S, B)
x8
f8* (S)
x*
N
3
2
3
2
B
B
S
1
2
Etape 7
f 7* (s)
*
x7
7
5
-
6
6
7
5
6
1
1
2
S
1
2
3
Etape 6
f 6* (s)
*
x6
12
9
-
8
7
-
11
7
12
8
7
7
1
2
2
3
S
1
2
3
4
Etape 5
f 6* (x6)
f5* (s)
*
x5
16
16
-
11
12
-
8
10
-
11
15
16
11
8
10
15
1
2
3
3
4
S
1
2
3
4
5
86
Etape 4
f5* (x4)
f 4* (s)
*
x4
20 16 - 14 10 - 11 11
- 16
20
16
10
11
16
2
3
3,4
4
S
1
2
3
4
Etape 3
f 4*
(x3)
f3* (s)
*
x3
12
-
12
12
-
16
13
17
12
12
13
2
2
3
S
1
2
3
Etape 2
f3*
(x3)
f 2* (s)
x*
2
15
2
15
16
14
15
14
1,2
3
S
1
2
Etape 1
f 2*
(x1)
f1* (s)
x1*
20
18
18
S
A
87
1
A
A
2
2
2
3
3
3
4
3
3
5
3
4
6
3
3
7
2
2
8
1
1
3
0,8
0,5
0,3
f n* (S)
*
n 1
Min
x n S fn(S,
xn)
n = 1, 2, 3
tape n
tape n+1
88
9
B
B
S- xn
pn(xn)
fn(S, xn) = pn(xn)
f n*1 (S-
xn )
Etape 3
f 3* (S)
*
x3
0,8
0,8
0,8
0,5
0,5
0,3
0,8
0,5
0,3
0
1
2
S
0
1
2
Etape 2
f3*
(x3)
f 2* (S)
x*
2
0,48
0,3
0,18
0,32
0,2
0,16
0,48
0,3
0,16
0
0
2
S
0
1
2
Etape 1
f 2*
(x1)
f1* (S)
x1*
0,064
0,06
0,072
0,06
S
2
Demande
40
20
30
40
30
20
Le magasin achte ces chaussures par lots de 10, 20, 30, 40 ou 50 paires avec un cot de 4$ par paire et des rductions sur les prix dachat.
Quantit
10
20
30
40
50
Solde
4%
5%
10%
20%
25%
f n* (S)= D Min
n S xn
{(xn) +0,2(S+xn-Dn)+
90
f n*1 (S+xn-Dn)}
avec
Etape 6
A la dernire tape le stock restant est nulle donc les tats possibles de
cette tape sont 0, 10, 20.
x6
f 6* (s)
x6*
86
84
0
20
10
0
S6
0
10
20
Etape 5
S6 = S5 + x5 30
f5(s, x5)= (x5) +0,2(S+x5-30)+
x5
10
f 6* (S+x5-30)
f5(s, x5)
20 30 100 50
f5* (s)
x5*
164
142
122
86
50
50
40
30
0
0
S5
0
10
20
30
40
Etape 4
S5 = S4 + x4 - 40
f4(s, x4)= (x4)+0,2(S+x5-30)+
x4
10
f 6* (S+x5-30)
f4(s, x4)
20 30
40
50
f 4* (s)
*
x4
302
282
264
230
196
304
286
252
218
-
302
282
250
218
164
40
30,40
20
10
0
S4
0
10
20
30
40
- 250
- 212 230
164 192 212
282
262
244
210
Etape 3
S4 = S3 + x3 - 30
f3(s, x3)= (x3)+2/3+1/3-30)
(s4)
91
f 4*
x3
10
20
30
40
50
f3* (s)
x3*
302
284
350
332
302
388
370
340
310
420
402
372
342
290
422
392
362
310
-
414
384
323
-
414
384
323
302
284
50
50
50
0
0
S
0
10
20
30
40
Etape 2
S3 = S2 + x3 - 20
x2
f 3* (s3)
50
f 2* (s)
x2*
467
452
-
468
446
414
384
336
50
40
0
10
0
f1* (s)
x1*
606
40
S
0
10
20
30
40
414
386
336
462
434
384
356
500
472
422
394
378
504
454
426
410
-
474
446
430
-
Etape 1
S2 = S1 + x1 40
x1
S
0
606
608
la politique optimale est 40, 50, 0, 40, 50, 0. Le cot est 606.
d. Rsolution d'un programme linaire
La programmation linaire peut tre utiliser pour rsoudre des programmes
linaires de petite taille. On se limite ici des programmes linaires du type
entiers.
Considrons le programme linaire suivant
Max 3x1 + 5x2
S.c
3 x1 + 2 x2 9
4 x1 + 5 x2 11
92
x1 IN , x2 IN
La dcision prendre est de dterminer les valeurs de x1 et x2. On peut assimiler
le problme un programme dynamique deux tapes, o dans un premier
temps, on doit dterminer la valeur de x1, et dans un deuxime temps la valeur
de x2. Reste savoir quels sont les tats relatifs chaque tape ?
Ces tats doivent fournir l'information ncessaire pour aider choisir notre
dcision.
Une simple rflexion nous amne considrer, le nombre de ressources non
utilises dans les contraintes, comme tant des tats possibles.
Un tat est dcrit par un vecteur (R1,R2), o R1 et R2 sont respectivement les
ressources non utilises dans la premire et la deuxime contrainte.
A l'tape 1, l'unique tat possible est S=(9,11).
La structure de base du problme est
tape n
(R1,R2)
tape n+1
(R1- a1n xn , R2- a2nxn )
cn xn
fn((R1,R2), xn) = cn xn +
f n*1 ((R1-
Max
R1
a1n { fn((R1,R2), xn)} pour n=1,2 et
avec f n* (R1,R2) =
R
xn 2
a 2n
xn
f 3* (R1,R2)=0
Etape 2
x2
f2((R1,R2), x2) = 5 x2
0
1
2
f 2* (s)
x2*
10
5
0
2
1
0
S
9,11
6,7
3,3
0
0
0
5
5
-
10
-
93
Etape 1
x1
f1((R1,R2), x1)
0
1
2
f1* (s)
x1*
10
S
9,11
10
3+5=8
Max
S.c
4x1 + 5x2
8 x1 + 5 x2 24
2 x1 + 5 x2 13
x1 IN , x2 IN
La solution optimale est (x1,x2)=(1,2).
Max x1 + 2 x2 + x3
S.c
3 x1 + 2 x2 5
3 x2 + 2 x3 7
x1 IN , x2 IN , x3 IN
La solution optimale est (x1,x2,x3)=(1,1,2).
94