Vous êtes sur la page 1sur 24

UNIVERSIT PARIS OUEST NANTERRE LA DFENSE

U.F.R. SEGMI Anne universitaire 2013 2014


Master dconomie Cours de M. Desgraupes
Mthodes Numriques
Document 6 : Corrig des exercices doptimisation dynamique
Mthode de Bellman 1
Exercice 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Exercice 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Exercice 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Exercice 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Exercice 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Exercice 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Exercice 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Exercice 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Exercice 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Mthode de Bellman
Corrig ex. 1 : Dveloppement dune zone de stockage
On utilise comme variable dtat x
i
la capacit de stockage installe au dbut de la
priode i.
Ltat initial et ltat nal sont imposs comme ceci :
_
x
0
= 3
x
5
= 11
Les contraintes de capacit contenues dans le premier tableau scrivent :
_

_
x
1
4
x
2
5
x
3
8
x
4
10
Dautre part, on ne construit pas de rservoir de taille suprieure 5, ce qui signie
que laccroissement de capacit entre une priode i et la priode suivante i + 1 est
ncessairement compris entre 0 et 5. Do le contrainte :
0 x
i+1
x
i
5
La capacit installe gnre des cots de stockage tandis que toute extension de
capacit correspond des cots de construction. Il faut trouver le meilleur compromis
entre cots de stockage et cots de construction.
1
Remarque importante : si, une priode donne, la capacit installe permet de
couvrir la capacit requise la priode suivante, on ne construira aucun rservoir. En
effet, une construction de rservoir aurait pour effet daugmenter la capacit alors quon
nen a pas besoin et cela dclencherait donc, en plus du cot de la construction, des
cots de stockage superus.
On calcule les ensembles V
i+1
(x
i
) qui reprsentent les valeurs possibles de la va-
riable dtat x
i+1
partir dune valeur donne de la variable x
i
.
Ltat initial est x
0
= 3. On dtermine donc lensemble V
1
(3) qui contient les
valeurs possibles de x
1
. Comme on a la contrainte x
1
4, on doit obligatoirement
tendre la capacit (on ne peut pas la laisser 3), autrement dit on doit construire un
rservoir. Selon le type de rservoir choisi (capacit 1, 2, 3, 4 ou 5), la capacit sera
porte respectivement 4, 5, 6, 7 ou 8. Donc :
V
1
(3) = {4, 5, 6, 7, 8}
Ltat x
1
est donc susceptible de valoir 4, 5, 6, 7 ou 8. Pour chacune de ces valeurs,
on doit maintenant dterminer lensemble V
2
correspondant, cest--dire les valeurs de
x
2
possibles partir de la valeur de x
1
considre. Avec le mme raisonnement que
prcdemment on trouve facilement :
V
2
(4) = {5, 6, 7, 8, 9}
Pour lensemble V
2
(5), il faut tenir compte de la remarque importante mentionne
prcdemment. La contrainte sur x
2
exige que x
2
5, autrement dit, qu la deuxime
priode, on ait une capacit dau moins 5. Or si x
1
= 5, cette condition est dj ralise
ds la premire priode et il ny a donc aucune extension de capacit ncessaire. Cela
se traduit par :
V
2
(5) = {5}
Ce raisonnement est valable pour les autres valeurs de x
1
, et on obtient de mme :
V
2
(6) = {6}
V
2
(7) = {7}
V
2
(8) = {8}
On voit par ces ensembles V
2
que les valeurs possibles de x
2
sont nalement 5, 6,
7, 8 et 9.
Les ensembles suivants sont obtenus par les mmes raisonnements. Du fait quon a
une contrainte x
3
8, les ensembles V
3
sont :
V
3
(5) = {8, 9, 10}
V
3
(6) = {8, 9, 10, 11}
V
3
(7) = {8, 9, 10, 11}
V
3
(8) = {8}
V
3
(9) = {9}
Noter quaucune valeur suprieure 11 nest admise puisque ltat nal est impos
cette valeur.
2
On voit par ces ensembles V
3
que les valeurs possibles de x
4
sont nalement 8, 9,
10 et 11. Les ensembles V
4
sont :
V
4
(8) = {10, 11}
V
4
(9) = {10, 11}
V
4
(10) = {10}
V
4
(11) = {11}
Les ensembles V
i
trduisent les contraintes du programme doptimisation. Calculons
maintenant la fonction objectif et pour commencer les fonctions de cot des dcisions.
La fonction f
i
(x
i
, x
i+1
) reprsente le cot de passage de ltat x
i
ltat x
i+1
. Il
comporte
les cots de stockage gaux 2 par unit de stockage installe, donc ici 2x
i
;
les cots de construction reprsents par la fonction c donne dans le deuxime
tableau de lexercice. Si on fait passer la capacit de x
i
x
i+1
, cest que lon
construit un rservoir de taille x
i+1
x
i
. Cela correspond un cot de construc-
tion de c(x
i+1
x
i
).
On obtient nalement :
f
i
(x
i
, x
i+1
) = 2x
i
+ c(x
i+1
x
i
) (1)
Rsolution par lalgorithme de programmation dynamique
On va construire par rcurrence les fonctions F

j
(x
j
) reprsentant les cots des
sous-politiques optimales faisant passer de ltat initial ltat x
j
.
Ltat initial tant impos, la fonction F

1
est simplement :
F

1
(x
1
) = f
0
(x
0
, x
1
)
= f
0
(3, x
1
)
= 2 3 + c(x
1
3)
On trouve donc, en remplaant x
1
par ses valeurs possibles et compte-tenu des
valeurs de la fonction c :
_

_
F

1
(4) = 26
F

1
(5) = 42
F

1
(6) = 56
F

1
(7) = 69
F

1
(8) = 81
La fonction F

2
est dnie par la formule de rcurrence :
F

2
(x
2
) = min
x
1
{F

1
(x
1
) + f
1
(x
1
, x
2
)} (2)
Ici la minimisation se fait sur toutes les valeurs possibles de x
1
. Dautre part, les
valeurs possibles pour x
2
sont 5, 6, 7, 8 et 9. On doit donc calculer F

2
pour ces valeurs.
Par exemple, calculons F

2
(5). On doit dterminer quelles sont les valeurs de x
1
qui sont susceptibles de conduire la valeur x
2
= 5. Ces valeurs sont lues dans les en-
sembles V
i
calculs prcdemment. On voit que seules les valeurs x
1
= 4 et x
1
= 5
3
la premire priode sont susceptibles de conduire la valeur x
2
= 5 la deuxime p-
riode. On calcule donc la quantit {F

1
(x
1
) + f
1
(x
1
, x
2
)} de la formule de rcurrence
(2) pour ces deux valeurs. On trouve respectivement :
_
F

1
(4) + f
1
(4, 5) = 26 + 4 2 + 20 = 54
F

1
(5) + f
1
(5, 5) = 42 + 5 2 + 0 = 52
La formule de rcurrence consiste prendre le minimumde ces quantits. La plus petite
valeur est 52 et on obtient donc F

2
(5) = 52. On retient que cest la valeur x
1
= 5 qui
a conduit ce minimum.
On calcule de la mme manire la fonction F

2
pour les valeurs 6, 7, 8 et 9. On
trouve :
_

_
F

2
(6) = 68 pour x
1
= 6
F

2
(7) = 83 pour x
1
= 7
F

2
(8) = 97 pour x
1
= 4 ou 8
F

2
(9) = 109 pour x
1
= 4
La fonction F

3
est dnie par la formule de rcurrence :
F

3
(x
3
) = min
x
2
{F

2
(x
2
) + f
2
(x
2
, x
3
)} (3)
En procdant comme ltape prcdente, on trouve :
_

_
F

3
(8) = 112 pour x
2
= 5
F

3
(9) = 125 pour x
2
= 5
F

3
(10) = 137 pour x
2
= 5
F

3
(11) = 155 pour x
2
= 6
Enn la fonction F

4
est dnie par la formule de rcurrence :
F

4
(x
4
) = min
x
3
{F

3
(x
3
) + f
3
(x
3
, x
4
)} (4)
On trouve :
_
F

4
(10) = 157 pour x
3
= 10
F

4
(11) = 177 pour x
3
= 11
Ltat nal tant impos (x
5
= 11), on doit seulement calculer
F

5
(11) = min
x
4
{F

4
(x
4
) + f
4
(x
4
, 11)} .
On trouve :
F

5
(11) = 197 pour x
4
= 10
Tous les calculs sont rsums dans le tableau suivant :
4
F

1
F

2
x
1
F

3
x
2
F

4
x
3
F

5
x
4
3
4 26
5 42 52 5
6 56 68 6
7 69 83 7
8 81 97 4 ou 8 112 5
9 109 4 125 5
10 137 5 157 10
11 155 6 177 11 197 10
On reconstitue la solution optimale en partant de la dernire valeur trouve. La
politique optimale, cest--dire la moins coteuse, a un cot de 197 qui correspond
x
4
= 10. On regarde alors la valeur F

4
(10) : cest le cot de la sous-politique optimale
conduisant de ltat initial ltat x
4
= 10. Sa valeur est 157 et elle est ralise pour
x
3
= 10. On regarde ensuite la valeur F

3
(10) qui est le cot de la sous-politique
optimale conduisant de ltat initial ltat x
3
= 10. Sa valeur est 137 et elle est
ralise pour x
2
= 5. La valeur F

2
(5) = 52 est ralise pour x
1
= 5. On a donc
reconstitu la succession des tats optimaux :
_

_
x

0
= 3
x

1
= 5
x

2
= 5
x

3
= 10
x

4
= 10
x

5
= 11
On construit donc un rservoir de taille 2 por passer de la priode 0 la priode 1, puis
un rservoir de taille 5 pour passer de la priode 2 la priode 3 et enn un rservoir
de taille 1 pour passer de la priode 4 la priode 5.
5
Corrig ex. 2 : Allocation de ressource
Note : ce problme a dj t trait dans le cours de
programmation convexe en utilisant les mthodes de La-
grange et de Kuhn-Tucker.
Cas 1
Dans le cas o la ressource doit tre compltement puise, le problme peut tre
formul sous la forme :
_

_
Max
_
f
1
(x
1
) + f
2
(x
2
) + f
3
(x
3
)
_
x
1
+ x
2
+ x
3
= d
x
1
, x
2
, x
3
0
On va procder par rcurrence en appliquant le principe de Bellman. La fonction
F

1
(X) mesure la cot dune allocation dune quantit X la premire activit. Cest
en fait ce que mesure la fonction f
1
. On a donc
F

1
(X) = f
1
(X).
Si on dispose dune quantit X de ressource (avec 0 X d), la fonction F

2
(X)
mesure le cot de la meilleure politique pour rpartir cette quantit entre les activits 1
et 2. Elle est dnie par la formule de rcurrence :
F

2
(X) = max
x
2
{F

1
(x
1
) + f
2
(x
2
)} (5)
o la maximisation est faite sur toutes les valeurs possibles de x
2
: ce sont les valeurs
telles que x
1
+ x
2
= X. On peut donc rcrire la fonction F

2
(X) comme ceci :
F

2
(X) = max
x
2
{F

1
(X x
2
) + f
2
(x
2
)} (6)
En remplaant F

1
= f
1
et f
2
par leurs dnitions, on calcule lexpression maxi-
miser :
F

1
(X x
2
) + f
2
(x
2
) = f

1
(X x
2
) + f
2
(x
2
)
= 8(X x
2
) (X x
2
)
2
+ 8x
2
2x
2
2
= 8X X
2
+ 2Xx
2
3x
2
2
Il sagit dune expression de degr 2 maximiser en x
2
(X est considr comme
xe). On cherche donc o sa drive sannule :
2X 6x
2
= 0
ce qui conduit x
2
=
X
3
. On interprte ce rsultat en disant que lorsquon doit rpartir
une quantit X entre les activits 1 et 2, 1/3 de X est affect lactivit 2 et donc les
6
2/3 restants sont affects lactivit 1. La valeur F

2
(X) est la valeur loptimum de
lexpression prcdente :
F

2
(X) = 8X X
2
+ 2X
X
3
3
_
X
3
_
2
= 8X
2
3
X
2
On calcule ensuite la fonction F

3
(X) par la formule de rcurrence analogue (6) :
F

3
(X) = max
x
3
{F

2
(X x
3
) + f
3
(x
3
)} (7)
Lexpression est maximiser pour les valeurs possibles de x
3
, cest--dire les valeurs
comprises entre 0 et X. En remplaant F

2
et f
3
par leurs dnitions, on calcule :
F

2
(X x
3
) + f
3
(x
3
) = 8(X x
3
)
2
3
(X x
3
)
2
+ 8x
3
3x
2
3
= 8X
2
3
X
2
+
4
3
Xx
3

11
3
x
2
3
Il sagit encore dune expression de degr 2 maximiser en x
3
(X est considr
comme xe). On cherche donc o sa drive sannule :
4
3
X
22
3
x
3
= 0
ce qui conduit x
3
=
2
11
X. On interprte ce rsultat en disant que, lorsquon doit
rpartir une quantit X entre les diverses activits, 2/11 de X sont affects lactivit
3. Par consquent, il reste les 9/11 de X rpartir entre les deux premires activits, et
on a dj vu que, dans ce cas, les 2/3 de la quantit sont affects lactivit 1 et le tiers
restant lactivit 2. Par consquent :
_

_
x
1
=
2
3
9
11
X =
6
11
X
x
2
=
1
3
9
11
X =
3
11
X
x
3
=
2
11
X
La valeur F

3
(X) est la valeur loptimum de lexpression prcdente :
F

3
(X) = 8X
2
3
X
2
+
4
3
X
2
11
X
11
3
_
2
11
X
_
2
= 8X
6
11
X
2
Comme la ressource doit tre utilise intgralement, on a X = d et le calcul est
termin. La solution est :
_

_
x

1
=
6
11
d
x

2
=
3
11
d
x

3
=
2
11
d
et la valeur loptimum est 8d
6
11
d
2
.
7
Cas 2
On considre maintenant que la ressource nest pas toujours utilise intgralement
et que le reliquat est revendu un prix p. Le problme se formule de la manire sui-
vante :
_

_
Max
_
f
1
(x
1
) + f
2
(x
2
) + f
3
(x
3
) + p x
4
_
x
1
+ x
2
+ x
3
+ x
4
= d
x
1
, x
2
, x
3
, x
4
0
La variable x
4
reprsente le reliquat, cest--dire la quantit de ressource qui nest
pas affecte aux trois activits. Tous les calculs prcdents restent valables et on consi-
dre simplement quon a ajout une activit supplmentaire qui est la revente de lex-
cdent ventuel.
On ajoute donc une tape lalgorithme de programmation dynamique en calculant
maintenant F

4
(X) par la formule de rcurrence :
F

4
(X) = max
x
4
{F

3
(X x
4
) + p x
4
} (8)
En remplaant F

3
par son expression, on calcule :
F

3
(X x
4
) + p x
4
= 8(X x
4
)
6
11
(X x
4
)
2
+ p x
4
Pour maximiser cette expression, on annule sa drive par rapport x
4
:
8 +
12
11
(X x
4
) + p = 0
ce qui conduit nalement
x
4
= X
11
12
(8 p).
La fonction F

4
(X) est la valeur loptimum. On calcule
F

4
(X) =
11
12
(8 p)
2
+ pX
Sachant que X = d, on reconstitue la solution. On a
x
4
= d
11
12
(8 p)
donc d x
4
=
11
12
(8 p) est la quantit rpartir entre les trois premires activits.
On a vu au cas prcdent quelle tait la meilleure faon de faire cette rpartition : 6/11
sur lactivit 1, 3/11 sur lactivit 2 et 2/11 sur lactivit 3. On obtient donc :
_

_
x
1
=
6
11
11
12
(8 p) =
1
2
(8 p)
x
2
=
3
11
11
12
(8 p) =
1
4
(8 p)
x
3
=
2
11
11
12
(8 p) =
1
6
(8 p)
Discussion
Pour que la solution trouve soit acceptable, il faut vrier que les valeurs trou-
ves pour x
1
, x
2
, x
3
, x
4
sont bien positives. Cela impose des conditions sur p. On se
reportera la rsolution de cet exercice dans le corrig des exercices de programmation
convexe. On y trouvera aussi la comparaison des deux stratgies.
8
Corrig ex. 3 : Rpartition dinvestissement
On calcule les tables des fonctions F

i
reprsentant les cots des sous-politiques
optimales. On a au dpart :
F

1
(X) = f
1
(X).
Ensuite les fonctions F

2
, F

3
, F

4
sont dnies par les formules de rcurrence :
F

2
(X) = max
0x
2
X
{F

1
(X x
2
) + f
2
(x
2
)}
F

3
(X) = max
0x
3
X
{F

2
(X x
3
) + f
3
(x
3
)}
F

4
(X) = max
0x
4
X
{F

3
(X x
4
) + f
4
(x
4
)}
Par exemple, calculons F

2
(2). Les valeurs de x
2
possibles sont 0, 1 et 2 puisque
0 x
2
X = 2. On doit donc calculer la quantit (F

1
(2 x
2
) + f
2
(x
2
) pour ces
trois valeurs et trouver celle que est maximale. On a :
_

_
pour x
2
= 0 f

1
(2 0) + f
2
(0) = 0.9 + 0 = 0.9
pour x
2
= 1 f

1
(2 1) + f
2
(1) = 0.6 + 0.55 = 1.15
pour x
2
= 2 f

1
(2 2) + f
2
(2) = 0 + 0.75 = 0.75
La valeur optimale est 1.15 et est obtenue pour x
2
= 1. Donc F

2
(2) = 1.15.
On procde de la mme manire pour toutes les autres valeurs. Les rsultats sont
indiqus dans le tableau suivant :
f
1
f
2
F

2
x
2
f
3
F

3
x
3
f
4
F

4
x
4
0 0 0 0 0 0 0 0 0 0 0
1 0,6 0,55 0,6 0 0,4 0,6 0 0,45 0,6 0
2 0,9 0,75 1,15 1 0,5 1,15 0 0,95 1,15 0
3 1,3 1,2 1,45 1 0,9 1,55 1 1,2 1,6 1
4 1,6 1,4 1,85 1 1,1 1,85 0,1 1,6 2,1 2
On reconstruit la solution partir de la dernire valeur du tableau : x
4
= 2. Sur un
total de 4 millions, il reste 4 2 = 2 pour les autres variables. On regarde F

3
(2) qui
correspond x
3
= 0. Donc rien nest affect au troisime type dinvestissement et il
reste toujours 2 0 = 2 millions pour les investissements 1 et 2. On regarde F

2
(2) qui
correspond x
2
= 1 et par consquent x
1
= 1.
La solution est nalement
_

_
x

1
= 1
x

2
= 1
x

3
= 0
x

4
= 2
f

= 2, 1
9
Corrig ex. 4 : Plan de fabrication
On calcule les tables des fonctions F

i
reprsentant les cots des sous-politiques
optimales. On a au dpart :
F

1
(X) = f
1
(X).
Ensuite les fonctions F

2
, F

3
sont dnies par les formules de rcurrence :
F

2
(X) = max
0x
2
X
{F

1
(X x
2
) + f
2
(x
2
)}
F

3
(X) = max
0x
3
X
{F

2
(X x
3
) + f
3
(x
3
)}
Les rsultats sont indiqus dans le tableau suivant :
f
1
f
2
F

2
x
2
f
3
F

3
x
3
0 -500 -300 -800 0 -100 -900 0
1 500 650 200 0 950 150 1
2 1400 1550 1150 1 1850 1150 1
3 2150 2250 2050 1,2 2100 1
4 2850 2950 2 3000 1,2
5 3500 3700 2 3900 1,2
On a intrt fabriquer 5 sries de machines. On reconstruit donc la solution
partir de la dernire valeur du tableau qui correspond F

3
(5) : elle est ralise pour
x
3
= 1 ou x
3
= 2.
Dans le cas o x
3
= 1. On fabriquera une srie de type C et il reste 4 sries pour
les autres types. On regarde F

2
(4) qui correspond x
2
= 2. On fabriquera 2 sries de
type B et par consquent il reste x
1
= 2.
On procde de la mme manire partir de x
3
= 2. On fabriquera dans ce cas
deux sries de type C et il reste 3 sries pour les autres types. On regarde F

2
(3) qui
correspond x
2
= 1 ou x
2
= 2. On fabriquera 1 ou 2 sries de type B et par consquent
il reste x
1
= 2 ou x
1
= 1 respectivement.
On trouve en dnitive trois solutions :
_

_
S

1
= (2, 2, 1)
S

2
= (2, 1, 2)
S

3
= (1, 2, 2)
La valeur loptimum pour ces solutions est f

= 3900.
10
Corrig ex. 5 : Programmation en avenir incertain
On note v
j
le nombre de pices de rechange de type j qui seront ncessaires pendant
la dure de la mission et x
j
le nombre de pices qui seront emportes au dpart.
Ce problme contient une unique contrainte de capacit qui exprime le fait que le
sous-marin dispose dun volume limit b pour stocker les pices. Chaque pice de type
j occupe un volume a
j
et la contrainte scrit :
3

j=1
a
j
x
j
b
Le nombre v
j
de pices de rechange de type j qui seront ncessaires est une variable
alatoire qui suit une loi de Poisson de paramtre
j
. La probabilit dutiliser v
j
pices
scrit donc :
p
j
(v
j
) = e

v
j
j
v
j
!
.
Le paramtre
j
reprsente la fois lesprance et la variance de la variable v
j
(cest
une proprit de la loi de Poisson).
On va prendre comme fonction objectif lesprance du cot dacheminement de
pices supplmentaires. Si le nombre de pices ncessaires v
j
est suprieur au nombre
de pices embarques au dpart, il y a, pour chaque pice supplmentaire, un cot
dacheminement
j
. On obtient un cot total dacheminement pour les pices de type
j gal
j
(v
j
x
j
). Mais v
j
est une variable alatoire dont on ne connat pas par
avance la valeur : on doit donc calculer lesprance du cot. Celle-ci scrit :

v
j
=x
j
+1

j
(v
j
x
j
) p
j
(v
j
)
Cette somme commence lindice v
j
= x
j
+1 puisquil ny a de cot dacheminement
que si v
j
excde x
j
.
Finalement la fonction objectif est la somme des esprances correspondant cha-
cun des trois types de pices dtaches :
f =
3

j=1

j

_
_

v
j
=x
j
+1
(v
j
x
j
) p
j
(v
j
)
_
_
(9)
Calcul de la fonction objectif
On va calculer explicitement la somme innie qui gure dans lquation (9). Pour
commencer, on remarque que :
v
j
p
j
(v
j
) = v
j
e

v
j
j
v
j
!
=
j
e

v
j
1
j
(v
j
1)!
=
j
p
j
(v
j
1) (10)
11
On obtient donc :

v
j
=x
j
(v
j
x
j
) p
j
(v
j
) =

v
j
=x
j
v
j
p
j
(v
j
) x
j

v
j
=x
j
p
j
(v
j
)
=

v
j
=x
j

j
p
j
(v
j
1) x
j

v
j
=x
j
p
j
(v
j
)
=
j

v
j
=x
j
p
j
(v
j
1) x
j

v
j
=x
j
p
j
(v
j
)
(11)
Posons G
j
(x
j
) =

v
j
=x
j
p
j
(v
j
). Lquation (11) scrit alors simplement :

v
j
=x
j
(v
j
x
j
) p
j
(v
j
) =
j
G
j
(x
j
1) x
j
G
j
(x
j
) (12)
La fonction de cot pour les pices de type j est donc :
f
j
(x
j
) =
j
[
j
G
j
(x
j
1) x
j
G
j
(x
j
)] (13)
En remplaant dans lquation (9), on obtient la fonction objectif :
f =
3

j=1
f
j
(x
j
) =
3

j=1

j
[
j
G
j
(x
j
1) x
j
G
j
(x
j
)] (14)
Les fonctions G
j
sont faciles calculer car elles sont la somme des probabilits
depuis lindice x
j
jusqu linni. Or la somme totale des probabilits est gale 1. On
obtient donc :
G
j
(x
j
) = 1
x
j
1

v
j
=0
p
j
(v
j
) = 1 R
j
(x
j
1) (15)
o R
j
dsigne la fonction de rpartition de la distribution de Poisson de paramtre
j
.
Rsolution par programmation dynamique
Le programme doptimisation est
_

_
Min
3

j=1
f
j
(x
j
)
3

j=1
a
j
x
j
b
x
j
0
Cest une exemple typique de problme qui se rsout par programmation dyna-
mique puisque le fonction objectif est une somme de fonctions de cots qui peuvent
tre interprtes comme des cots de dcisions.
Les fonctions F

k
de cot des sous-politiques sont dnies par :
F

k
(X) = Min
k

j=1

j
[
j
G
j
(x
j
1) x
j
G
j
(x
j
)] .
12
Calcul de la fonction F

1
On a par dnition :
F

1
(X) = Min
1
[
1
G
1
(x
1
1) x
1
G
1
(x
1
)] .
La minimisation porte sur les x
1
possibles. Si on dispose dun volume X pour les
pices de type 1 qui occupent un volume unitaire de a
1
, on a
0 x
1

X
a
1
.
Pour minimiser les cots dacheminement, il faut embarquer le plus de pices pos-
sible au dpart. Il faut donc que x
1
soit maximal et par consquent x
1
=
X
a
1
.
Numriquement, a
1
= 1,
1
= 800 et
1
= 4. On obtient donc :
F

1
(X) = 800 [4G
1
(X 1) XG
1
(X)]
avec x
1
= X.
La table suivante donne les valeurs de la fonction de rpartition R
1
de la loi de
Poisson (avec
1
= 4), de la fonction G
1
et de la fonction F

1
pour les valeurs de X
variant de 0 10 (volume total).
X R
1
G
1
F

1
x
1
0 0,0183 1 3200 0
1 0,0915 0,9816 2414,6525 1
2 0,2381 0,9084 1687,9150 2
3 0,4334 0,7618 1078,3977 3
4 0,6288 0,5665 625,1738 4
5 0,7851 0,3711 328,2433 5
6 0,8893 0,2148 156,3476 6
7 0,9488 0,1106 67,8084 7
8 0,9786 0,0511 26,9015 8
9 0,9918 0,0213 9,8108 9
10 0,9971 0,0081 3,3050 10
Calcul de la fonction F

2
La relation de rcurrence rsultant du principe de Bellman scrit :
F

2
(X) = min
x
2
F

1
(X a
2
x
2
) + f
2
(x
2
) (16)
o la minimisation se fait parmi toutes les valeurs possibles de x
2
. Or, si on dispose
dun volume X et que les pices de type 2 occupent un volume unitaire a
2
, on a la
contrainte a
2
x
2
X. Donc les valeurs possibles de x
2
sont :
0 x
2

X
a
2
.
Lespace restant X a
2
x
2
sera consacr aux pices de type 1 : a
1
x
1
= X a
2
x
2
.
13
En remplaant f
2
par sa dnition, on obtient :
F

2
(X) = min
0x
2

X
a
2
_
F

1
(X a
2
x
2
) +
2
[
2
G
2
(x
2
1) x
2
G
2
(x
2
)]
_
(17)
Numriquement, a
2
= 2,
2
= 600 et
2
= 2. On trouve donc :
F

2
(X) = min
0x
2

X
2
_
F

1
(X 2x
2
) + 600 [2G
2
(x
2
1) x
2
G
2
(x
2
)]
_
(18)
Il faut faire le calcul pour toutes les valeurs de X de 0 10. Montrons, titre
dexemple, comment calculer F

2
(8). Si X = 8, x
2
peut prendre les valeurs de 0
4. On doit donc estimer la quantit entre accolades dans lquation prcdente pour
chacune des ces valeurs de x
2
et ensuite dterminer laquelle est la plus petite :
_

_
si x
2
= 0, F

1
(8) + 600 2 = 26.90 + 1200 = 1226.90
si x
2
= 1, F

1
(6) + 600 [2G
2
(0) 1G
2
(1)] = 156.35 + 681.20 = 837.55
si x
2
= 2, F

1
(4) + 600 [2G
2
(1) 2G
2
(2)] = 625.18 + 324.80 = 949.98
si x
2
= 3, F

1
(2) + 600 [2G
2
(2) 3G
2
(3)] = 1687.91 + 130.81 = 1818.72
si x
2
= 4, F

1
(0) + 600 [2G
2
(3) 4G
2
(4)] = 3200 + 45.08 = 3245.08
La valeur minimale est 837.55 et elle est obtenue pour x
2
= 1.
Les autres calculs se font de manire analogue. La table suivante donne les valeurs
de la fonction de rpartition R
2
de la loi de Poisson (avec
2
= 2), de la fonction G
2
et de la fonction F

2
pour les valeurs de X variant de 0 10.
X R
2
G
2
F

2
x
2
0 0,1353 1 4400 0
1 0,4060 0,8646 3614.65 0
2 0,6766 0,5939 2887,92 0
3 0,8571 0,3233 2278.40 0
4 0,9473 0,1428 1825,17 0
5 0,9834 0,0526 1528.24 0
6 0,9954 0,0165 1306,38 1
7 0,9989 0,0045 1009.44 1
8 0,9997 0,0010 837,55 1
9 0,9999 0,0002 653.05 2
10 1 0 481,15 2
Calcul de la fonction F

3
La relation de rcurrence rsultant du principe de Bellman scrit :
F

3
(X) = min
x
3
F

2
(X a
3
x
3
) + f
3
(x
3
) (19)
o la minimisation se fait parmi toutes les valeurs possibles de x
3
. Or, si on dispose
dun volume X et que les pices de type 3 occupent un volume unitaire a
3
, on a la
contrainte a
3
x
3
X. Donc les valeurs possibles de x
3
sont :
0 x
3

X
a
3
.
14
Lespace restant X a
3
x
3
sera consacr aux pices de type 1 et 2 considres
globalement.
En remplaant f
3
par sa dnition, on obtient :
F

3
(X) = min
0x
3

X
a
3
_
F

2
(X a
3
x
3
) +
3
[
3
G
3
(x
3
1) x
3
G
3
(x
3
)]
_
(20)
Numriquement, a
3
= 2,
3
= 1300 et
3
= 1. On trouve donc :
F

3
(X) = min
0x
3

X
2
_
F

2
(X 3x
3
) + 1300 [G
3
(x
3
1) x
3
G
3
(x
3
)]
_
(21)
La table suivante donne les valeurs de la fonction de rpartition R
3
de la loi de
Poisson (avec
3
= 1), de la fonction G
3
et de la fonction F

3
pour les valeurs de X
variant de 0 10. On pourrait en fait se contenter de calculer F

3
(10).
X R
3
G
3
F

3
x
3
0 0,3678 1 5700 0
1 0,7357 0,6321 4914.65 0
2 0,9196 0,2642 4187.92 0
3 0,9810 0,0803 3578.40 0
4 0,9963 0,0189 3125.17 0
5 0,9994 0,0036 2756.64 1
6 0,9999 0,0005 2303.42 1
7 0,9999 0 2006.49 1
8 0,9999 0 1784.62 1
9 0,9999 0 1487.69 1
10 0,9999 0 1315.79 1
Reconstitution de la solution
On sintresse F

3
(10) = 1315.79. Elle est obtenue pour x
3
= 1. Il reste donc
10 2 1 = 8 mtres cubes. On cherche donc la valeur de F

2
(8) = 837, 55. Elle est
obtenue pour x
2
= 1. Il reste donc maintenant 821 = 6 mtres cubes. On cherche
alors la valeur de F

1
(6) = 156, 3476. Elle est obtenue pour x
1
= 6.
La solution est nalement
_

_
x

1
= 6
x

2
= 1
x

3
= 1
f

= 1315.79
15
Corrig ex. 6 : Fabrication et stockage
On introduit les variables suivantes :
x
i
est le nombre de lots fabriqus en dbut de mois i ;
y
i
est le nombre de lots en stock la n du mois i 1 ;
d
i
est la demande satisfaire pour le mois i.
On a la relation suivante entre ces variables :
y
i
+ x
i
d
i
= y
i+1
Elle exprime le fait que le nombre y
i+1
de lots en stock la n du mois i est le nombre
de lots en stock la n du mois prcdent augment du nombre de lots fabriqus en
dbut de mois et diminu du nombre de lots livrs pour satisfaire la demande. Cette
relation peut aussi scrire :
y
i
+ x
i
y
i+1
= d
i
(22)
Ltat initial et ltat nal du stock sont imposs :
_
y
1
= 0
y
8
= 0
On convient de poser :

i
=
_
0 si x
i
= 0
1 si x
i
> 0
Les fonctions de cot des dcisions seront notes f
i
(x
i
, y
i
) = 300
i
+2y
i
. La fonction
objectif est donc
f =
7

i=1
f
i
(x
i
, y
i
).
Avec cette notation, le programme scrit de la manire suivante :
_

_
Min
7

i=1
300
i
+
7

i=1
2y
i
y
i
+ x
i
y
i+1
= d
i
1 i 7
x
i
0, y
i
0
Dans les contraintes, la variable x
i
apparat comme une variable dcart par rapport
lingalit
y
i
y
i+1
d
i
.
Si on adoptait une mthode de type simplexe, la situation de dpart consisterait
prendre les x
i
comme variables de base avec la valeur d
i
et mettre les variables
y
i
hors-base, ce qui correspondrait une absence de stocks et impliquerait quil y ait
une fabrication lance au dbut de chaque mois. Ce nest sans doute pas une solution
optimale.
On remarque que les variables x
i
et y
i
ne peuvent pas tre simultanment nulles
car autrement la contrainte deviendrait y
i+1
= d
i
, ce qui est impossible car y
i
doit
tre positive ou nulle pour tout i.
16
Dun autre ct, les variables x
i
et y
i
ne peuvent pas tre simultanment diffrentes
de 0 car cela reviendrait cumuler la fois des frais de stockage et des frais de fabri-
cation. Le principe est que, si on fait du stock, cest pour couvrir la demande du mois
qui vient et viter des fabrications. On a donc, pour tout i, la relation :
x
i
y
i
= 0
Lorsque y
i
= 0, il ny a rien en stock et il faut imprativement lancer une production.
Lorsque x
i
= 0, on ne lance pas de production et il faut que le stock satisfasse la
demande.
Rsolution par programmation dynamique
Si X est ltat du stock la n du mois k (autrement dit si y
k+1
= X), il tait donc
de X + d
k
x
k
la n du mois prcdent, cest--dire
y
k
= X + d
k
x
k
.
La relation de rcurrence de la programmation dynamique scrit :
F

k
(X) = min
x
k
_
f
k
(x
k
, y
k
) + F

k1
(y
k
)

= min
x
k
_
f
k
(x
k
, X + d
k
x
k
) + F

k1
(X + d
k
x
k
)
(23)
Chaque fonction F

k
(X) reprsente le cot de la sous-politique optimale conduisant
la situation y
k+1
= X ltape dindice k.
Puisque x
k
y
k
= 0, il y a seulement deux cas possibles dans la minimisation de la
relation (23) :
x
k
= 0 et donc y
k
= X + d
k
;
y
k
= 0 et donc x
k
= X + d
k
.
En dnitive, la minimisation ne porte que sur deux valeurs comparer :
F

k
(X) = Min
_
f
k
(0, X + d
k
) + F

k1
(X + d
k
) ; f
k
(X + d
k
, 0) + F

k1
(0)
_
(24)
Calcul de la fonction F

2
Au dpart, il ny a rien en stock et il faut donc lancer une fabrication pour couvrir
la premire demande d
1
. On a donc :
F

1
(X) = f
1
(X + d
1
, 0) = 300
Au cours de cette fabrication, on peut envisager de fabriquer plus et danticiper la
demande pour les mois qui suivent. On peut donc fabriquer les lots en quantits d
1
,
d
1
+ d
2
, d
1
+ d
2
+ d
3
, etc. Par consquent, la quantit en stock la n du mois 1 est
susceptible de valoir 0, d
2
, d
2
+ d
3
, etc. jusqu d
2
+ d
3
+ + d
7
.
Pour le calcul de la fonction F

2
, la relation (24) scrit :
F

2
(X) = Min
_
f
2
(0, X + d
2
) + 300 ; f
2
(X + d
2
, 0) + 300
_
(25)
17
Les valeurs de X pour lesquels il faut calculer F

2
sont les valeurs possibles du stock
en n de mois 2, savoir 0, d
3
, d
3
+ d
4
, etc. jusqu d
3
+ d
4
+ + d
7
. On trouve :
F

2
(0) = Min
_
2 125 + 300 ; 300 + 300
_
= 550
car d
2
= 125. Ce minimum correspond x
2
= 0. Ensuite :
F

2
(d
3
) = Min
_
2 (125 + 140) + 300 ; 300 + 300
_
= 600
Ce minimum correspond y
2
= 0. Pour toutes les valeurs X au-del de d
3
, on aura
aussi F

2
(X) = 600 puisque le premier terme de la minimisation ne fait quaugmenter
et est dj suprieur 600.
Calcul de la fonction F

3
La fonction F

3
se calcule, en appliquant la relation (24), par la formule suivante :
F

3
(X) = Min
_
f
3
(0, X + d
3
) + F

2
(X + d
3
) ; f
3
(X + d
3
, 0) + F

2
(0)
_
(26)
Les valeurs possibles pour X sont 0, d
4
, d
4
+ d
5
, etc. jusqu d
4
+ d
5
+ + d
7
. On
trouve :
F

3
(0) = Min
_
2 140 + 600 ; 300 + 550
_
= 850
Cette valeur correspond y
3
= 0. Ensuite :
F

3
(d
4
) = Min
_
2 (140 + 100) + 600 ; 300 + 550
_
= 850
Pour toutes les valeurs X au-del de d
4
, on aura aussi F

3
(X) = 850 puisque le premier
terme de la minimisation ne fait quaugmenter et est dj suprieur 850.
Calcul de la fonction F

4
La relation de rcurrence scrit :
F

4
(X) = Min
_
f
4
(0, X + d
4
) + F

3
(X + d
4
) ; f
4
(X + d
4
, 0) + F

3
(0)
_
(27)
Les valeurs possibles pour X sont 0, d
5
, d
5
+ d
6
et d
5
+ d
6
+ d
7
. On trouve :
F

4
(0) = Min
_
2 100 + 850 ; 300 + 850
_
= 1050
Cette valeur correspond x
4
= 0. Ensuite :
F

4
(d
5
) = Min
_
2 (100 + 40) + 850 ; 300 + 850
_
= 1130
Cette valeur correspond aussi x
4
= 0.
F

4
(d
5
+ d
6
) = Min
_
2 (100 + 40 + 60) + 850 ; 300 + 850
_
= 1150
Cette valeur correspond y
4
= 0. De mme F

4
(d
5
+ d
6
+ d
7
) = 1150.
18
Calcul de la fonction F

5
La relation de rcurrence scrit :
F

5
(X) = Min
_
f
5
(0, X + d
5
) + F

4
(X + d
5
) ; f
5
(X + d
5
, 0) + F

4
(0)
_
(28)
Les valeurs possibles pour X sont 0, d
6
et d
6
+ d
7
. On trouve :
F

5
(0) = Min
_
2 40 + 1130 ; 300 + 1050
_
= 1210
Cette valeur correspond x
5
= 0. Ensuite :
F

5
(d
6
) = Min
_
2 (40 + 60) + 1130 ; 300 + 1050
_
= 1330
Cette valeur correspond aussi x
5
= 0. Ensuite :
F

5
(d
6
+ d
7
) = Min
_
2 (40 + 60 + 130) + 1130 ; 300 + 1050
_
= 1350
Cette valeur correspond y
5
= 0.
Calcul de la fonction F

6
La relation de rcurrence scrit :
F

6
(X) = Min
_
f
6
(0, X + d
6
) + F

5
(X + d
6
) ; f
6
(X + d
6
, 0) + F

5
(0)
_
(29)
Les valeurs possibles pour X sont 0 et d
7
. On trouve :
F

6
(0) = Min
_
2 60 + 1350 ; 300 + 1230
_
= 1470
Cette valeur correspond x
6
= 0. Ensuite :
F

6
(d
7
) = Min
_
2 (60 + 130) + 1350 ; 300 + 1230
_
= 1530
Cette valeur correspond y
6
= 0.
Calcul de la fonction F

7
Puisquil ne doit rester aucun stock en n de priode, on doit seulement calculer
F

7
(0) :
F

7
(0) = Min
_
f
7
(0, d
7
) + F

6
(d
7
) ; f
7
(d
7
, 0) + F

6
(0)
_
= Min
_
2 130 + 1530 ; 300 + 1470
_
= 1770
(30)
Cette valeur correspond y
7
= 0.
19
Reconstitution de la solution
En remontant les calculs prcdents, on reconstitue la solution du problme compte-
tenu des relations suivantes :
_
si y
i
= 0 x
i
= y
i+1
+ d
i
si x
i
= 0 y
i
= y
i+1
+ d
i
On a y
8
= 0. Ensuite on regarde la valeur F

7
(0) qui est obtenue pour y
7
= 0 : par
consquent x
7
= d
7
= 130. Cela signie quil ny a rien en stock la n du mois 6 et
quon doit donc fabriquer 130 lots pour satisfaire la demande du mois 7.
Ensuite on regarde la valeur F

6
(0) qui reprsente le cot de la sous-politique op-
timale que conduit y
7
= 0. Elle est obtenue pour x
6
= 0, ce qui implique que
y
6
= y
7
+ d
6
= d
6
= 60. On compte donc sur la prsence de 60 lots en stock.
On regarde alors la valeur F

5
(d
6
) qui reprsente le cot de la sous-politique opti-
male que conduit y
6
= d
6
= 60. Elle est obtenue pour x
5
= 0, ce qui implique que
y
5
= y
6
+ d
5
= 60 + 40 = 100.
On regarde alors la valeur F

4
(d
6
+ d
5
) qui reprsente le cot de la sous-politique
optimale que conduit y
5
= d
6
+ d
5
= 100. Elle est obtenue pour y
4
= 0, ce qui
implique que x
4
= y
5
+ d
4
= 100 + 100 = 200. Cette production de 205 lots couvre
les priodes 4, 5 et 6.
Ensuite on regarde la valeur F

3
(0) qui reprsente le cot de la sous-politique op-
timale que conduit y
4
= 0. Elle est obtenue pour y
3
= 0, ce qui implique que
x
3
= y
4
+ d
3
= d
3
= 140.
On regarde la valeur F

2
(0) qui reprsente le cot de la sous-politique optimale que
conduit y
3
= 0. Elle est obtenue pour x
2
= 0, ce qui implique que y
2
= y
3
+ d
2
=
d
2
= 125.
Enn y
1
= 0 implique que x
1
= y
2
+ d
1
= 125 + 90 = 215.
En rsum, on a les valeurs suivantes :
i x
i
y
i
1 215 0
2 0 125
3 140 0
4 200 0
5 0 100
6 0 60
7 130 0
8 0 0
On voit que quatre productions ont t lances aux mois 1, 3, 4 et 7. En particulier
la production initiale couvre la demande des mois 1 et 2, et la production du mois 4
couvre la demande des mois 4, 5 et 6.
On retrouve bien le cot optimal trouv : le lancement des quatre productions cote
4 300 = 1200 tandis quil y a (125 +100 +60) lots stocks pendant un mois, ce qui
cote 2 (125 + 100 + 60) = 570. Au total 1200 + 570 = 1770. Cest la valeur de
F

7
(0).
20
Corrig ex. 7 : Rpartition de tches
On calcule les tables des fonctions F

i
reprsentant les cots des sous-politiques
optimales. On a au dpart :
F

1
(X) = f
1
(X).
Ensuite les fonctions F

2
, F

3
, F

4
sont dnies par les formules de rcurrence :
F

2
(X) = max
0x
2
X
{F

1
(X x
2
) + f
2
(x
2
)}
F

3
(X) = max
0x
3
X
{F

2
(X x
3
) + f
3
(x
3
)}
F

4
(X) = max
0x
4
X
{F

3
(X x
4
) + f
4
(x
4
)}
Les rsultats sont indiqus dans le tableau suivant :
f
1
f
2
F

2
x
2
f
3
F

3
x
3
f
4
F

4
x
4
0 0 0 0 0 0 0 0 0 0 0
1 26 23 26 0 16 26 0 19 26 0
2 39 36 49 1 32 49 0 36 49 0
3 48 44 62 1,2 48 65 1 47 68 1
4 54 49 75 2 64 81 2 56 85 2
On reconstruit la solution partir de la dernire valeur du tableau : x
4
= 2. Il reste
4 2 = 2 pour les autres variables. On regarde F

3
(2) qui correspond x
3
= 0. Il
reste toujours 2 0 = 2. On regarde F

2
(2) qui correspond x
2
= 1 et par consquent
x
1
= 1.
La solution est nalement
_

_
x

1
= 1
x

2
= 1
x

3
= 0
x

4
= 2
f

= 85
21
Corrig ex. 8 : Chargement optimal
Aliment 1 Aliment 2 Aliment 3
poids unitaire en kg 7 5 2
valeur nutritive 15 10 4
Le problme consiste maximiser la valeur nutritive (fonction objectif) en ne d-
passant pas le poids autoris (contrainte). Si on dsigne par x
1
, x
2
et x
3
les quantits
respectives des trois aliments, on peut formuler le programme de la manire suivante :
_

_
Max (15x
1
+ 10x
2
+ 4x
3
)
7x
1
+ 5x
2
+ 2x
3
16
x
1
, x
2
, x
3
0
x
1
, x
2
et x
3
sont des nombres entiers. La contrainte impose donc que x
1
2,
x
2
3 et x
3
8.
On va calculer les tables des fonctions F

i
reprsentant les cots des sous-politiques
optimales. Elles sont fonction du volume disponible. La fonction F

1
(X) reprsentera
la valeur nutritive optimale si on dispose de X kilos. Le nombre de lots daliment 1 est
gal E[X/7] o E dsigne la fonction partie entire. La valeur nutritive correspon-
dante sera :
F

1
(X) = 15E[X/7].
Si on dispose de strictement moins de 7 kilos, on ne peut emporter aucun lot daliment
1 et la valeur nutritive est nulle. Si on a entre 7 et 13 kilos de libres, on peut emporter
1 lot. Entre 14 et 16 kilos, on peut emporter 2 lots.
Pour un poids X disponible, le nombre de lots daliment 2 est au plus gal
E[X/5]. La fonction F

2
est dnie par la formule de rcurrence :
F

2
(X) = max
0x
2
E[X/5]
{F

1
(X 5x
2
) + f
2
(x
2
)}
o f
2
(x
2
) = 10x
2
. Elle mesure la rpartition optimale de la place en kilos X entre
les deux premiers types daliments. En effet, si on dispose de X kilos, une fraction x
2
correspond au nombre de lots daliment 2 : ils psent 5x
2
kilos et le reste X 5x
2
est
le poids restant pour les lots daliment 1.
Si X < 5, on ne peut pas emporter daliment 2, donc x
2
= 0 et les X kilos sont
disponibles pour laliment 1 et x
1
= 0 aussi. On a alors F

2
= 0.
Si 5 X < 10, on peut envisager x
2
= 0 ou x
2
= 1. Dans le cas o x
2
= 0, les X
kilos vont laliment 1 et la valeur nutritive est F

1
(X). Dans le cas o x
2
= 1, il reste
X5 kilos pour laliment 1 et la valeur nutritive est F

1
(X5) +10. Pour maximiser,
on doit donc comparer F

1
(X) et F

1
(X 5) + 10 : si X = 5, 6, on a F

1
(X) = 0 et
F

1
(X 5) + 10 = 10 et le maximum est 10 ; si X = 7, 8, 9, on a F

1
(X) = 15 et
F

1
(X 5) + 10 = 10 et le maximum est 15.
Si 10 X < 15, on peut envisager x
2
= 0 ou x
2
= 1 ou x
2
= 2. Dans le cas o
x
2
= 0, les X kilos vont laliment 1 et la valeur nutritive est F

1
(X). Dans le cas o
x
2
= 1, il reste X 5 kilos pour laliment 1 et la valeur nutritive est F

1
(X 5) +10.
Dans le cas o x
2
= 2, il reste X 2 5 kilos pour laliment 1 et la valeur nutritive
22
est F

1
(X 10) + 20. Pour maximiser, on doit donc comparer ces trois valeurs : si
X = 5, 6, on a F

1
(X) = 0 et F

1
(X 5) + 10 = 10 et le maximum est 10 ; si
X = 7, 8, 9, on a F

1
(X) = 15 et F

1
(X 5) + 10 = 10 et le maximum est 15.
Enn si 15 X 16, on peut envisager x
2
= 0, 1, 2, 3. Les valeurs nutritives
obtenues sont respectivement de 30 + 0, 15 + 10, 20 + 0 et 30 + 0. Le maximum est
30, obtenu de deux manires diffrentes (x
2
= 0 ou x
2
= 3).
Pour un poids X disponible, le nombre de lots daliment 2 est au plus gal E[X/2]
et la fonction F

3
est dnie par la formule de rcurrence :
F

3
(X) = max
0x
3
E[X/2]
{F

2
(X 2x
3
) + f
3
(x
3
)}
o f
3
(x
3
) = 4x
3
.
Si X 1, on ne peut pas emporter daliment 3, donc x
3
= 0 et les X kilos sont
disponibles pour les aliments 1 et 2. On a alors une valeur nutritive qui vaut F

2
(X).
Si 2 X 3, on peut envisager x
3
= 0 ou x
3
= 1. Dans le cas o x
3
= 0,
les X kilos vont aux aliments 1 et 2 et la valeur nutritive est F

2
(X) = 0. Dans le
cas o x
3
= 1, il reste X 2 kilos pour les aliments 1 et 2 et la valeur nutritive est
F

2
(X 2) + 4 = 4. On doit comparer ces deux valeurs.
On poursuit le raisonnement de manire similaire jusqu X = 16. Les rsultats
sont rassembls dans le tableau suivant
1
:
X F

1
x
1
F

2
x
2
F

3
x
3
0 0 x
1
= 0 0 x
2
= 0 0 x
3
= 0
1 0 x
1
= 0 0 x
2
= 0 0 x
3
= 0
2 0 x
1
= 0 0 x
2
= 0 4 x
3
= 1
3 0 x
1
= 0 0 x
2
= 0 4 x
3
= 1
4 0 x
1
= 0 0 x
2
= 0 8 x
3
= 2
5 0 x
1
= 0 10 x
2
= 1 10 x
3
= 0
6 0 x
1
= 0 10 x
2
= 1 12 x
3
= 3
7 15 x
1
= 1 15 x
2
= 0 15 x
3
= 0
8 15 x
1
= 1 15 x
2
= 0 16 x
3
= 4
9 15 x
1
= 1 15 x
2
= 0 19 x
3
= 1
10 15 x
1
= 1 20 x
2
= 2 20 x
3
= 0, 5
11 15 x
1
= 1 20 x
2
= 2 23 x
3
= 2
12 15 x
1
= 1 25 x
2
= 1 25 x
3
= 0
13 15 x
1
= 1 25 x
2
= 1 27 x
3
= 3
14 30 x
1
= 2 30 x
2
= 0 30 x
3
= 0
15 30 x
1
= 2 30 x
2
= 0, 3 31 x
3
= 4
16 30 x
1
= 2 30 x
2
= 0, 3 34 x
3
= 1
La valeur optimale est 34 obtenue pour x
3
= 1. Cela signie quon emporte seule-
ment un lot de laliment 3. Dans ce cas, il reste 14 kilos disponibles. On regarde alors la
valeur de F

2
(14) = 30 obtenue pour x
2
= 0, ce qui signie quon nemporte aucun lot
1. Pour la fonction F

3
, on pourrait en fait se contenter de calculer F

3
(16).
23
daliment 2. Les 14 kilos sont disponibles pour laliment 1 : F

1
(14) = 30 est obtenu
pour x
1
= 2.
La solution est nalement
_

_
x

1
= 2
x

2
= 0
x

3
= 1
f

= 34
Corrig ex. 9 : Politique de vente
On calcule les tables des fonctions F

i
reprsentant les cots des sous-politiques
optimales. On a au dpart :
F

1
(X) = f
1
(X).
Ensuite les fonctions F

2
, F

3
sont dnies par les formules de rcurrence :
F

2
(X) = max
0x
2
X
{F

1
(X x
2
) + f
2
(x
2
)}
F

3
(X) = max
0x
3
X
{F

2
(X x
3
) + f
3
(x
3
)}
Les rsultats sont indiqus dans le tableau suivant :
f
1
f
2
F

2
x
2
f
3
F

3
x
3
1 19 20 39 0 30 69 0
2 20 21 40 0,1 32 71 1
3 24 25 44 0,2 34 74 0
4 29 30 49 0,3 39 79 0
5 33 33 53 0 45 84 4
6 36 37 56 0,5 51 90 5
7 42 41 62 0 55 94 6
La solution est nalement
_

_
x

1
= 0
x

2
= 0
x

3
= 6
f

= 94
24

Vous aimerez peut-être aussi