You are on page 1of 10

Cours Outils de Planification de Rseau

par Albert RATSIRANTO ESPA- I5TCO Programmation dynamique 1


PRSENTATION DE LA PROGRAMMATION DYNAMIQUE

Parmi les outils de la Recherche Oprationnelle ce document prsente une introduction
la Programmation dynamique . Il sagit dun des outils de base de lIngnieur lorsquil doit
chercher des solutions un problme dont la rsolution peut se dcomposer en une suite de
prises de dcisions lmentaires, cest--dire portant sur une rptition de problmes simples
mais toujours de mme nature. Ces prises de dcision sont chelonnes dans le temps soit de
manire naturelle (quand le temps intervient explicitement dans lnonc du problme rsoudre) soit par des
artifices (quand un des lments du problme rsoudre peut tre assimil une sorte de temps ) : dans ce
dernier cas on parle de problme dcompos par artifice .

Le contenu du document a t tir principalement partir du chapitre 2 du document
[4]. Toutefois certaines mthodes de rsolution ou des explications ont t tires de louvrage de
synthse [3]. Dans [2] figurent plusieurs algorithmes apparents des questions voques dans
la thorie de la programmation dynamique. Le document [1] prsente des problmes dont la
rsolution fait appel la Recherche Oprationnelle, ainsi que divers programmes en FORTRAN
(qui tait le langage de programmation scientifique par excellence au moment de lcriture de louvrage). Cependant
ladaptation de ces programmes aux langages informatiques rcents ne prsente pas de difficult
majeure (noubliez cependant pas quil y a parfois des astuces de programmation dont lexplication vient du fait que les
ordinateurs de lpoque utilisaient des cartes perfores et que la mmoire centrale ntait aussi disponible
quactuellement !).

Note pour les informaticiens
Malgr (peut-tre) la complexit des notations mathmatiques la programmation
dynamique se prte assez lutilisation actuelle des objets dans les logiciels informatiques. La
prsentation faite dans le prsent document peut, de ce fait, se programmer assez facilement si
le langage utilis accepte, comme en Pascal, les passages de paramtres du type procedure .
1. EXEMPLES DE PROBLMES RSOUDRE
Les deux exemples donns ci-aprs mettent en uvre un choix de dcision qui utilisera
deux principes fondamentaux de la programmation dynamique :
1. une phase donne du processus de dcision on prend une dcision sur un seul lment parmi ceux
sur lesquels les dcisions devraient globalement se porter ;
2. le mcanisme de prise de dcision sera tel que les dcisions futures (postrieures la dcision prise
une phase donne) dpendront uniquement de la dcision qui a t prise ainsi que de la situation
au moment de la prise de dcision (on dira que les tats futurs ne dpendront que de la dcision prise et de ltat
au moment de la prise de dcision {voir, dans les exemples fournis, comment sont dfinis les tats.}).

1.1 Problme de fabrication [4]
Sur une priode de 3 mois une usine doit fabriquer au total 4 exemplaires dun certain
matriel. Les cots de fabrication dpendent du moment o la fabrication est ralise.
Les cots de fabrication de 0, 1, 2, 3 ou 4 exemplaires du matriel sont donns, mois par
mois, dans un tableau 3x4 : C[m,x] = cot de fabrication de (x) exemplaire(s) de matriel pendant
le mois (m) : par exemple C[2,0] = 10 indique que la fabrication de 0 exemplaire au mois 2 cote
10, tandis que C[2,3]=19 indique que la fabrication de 3 exemplaires au mois 2 cote 19.

Problme rsoudre :
Combien dexemplaires X
m
de matriel doit-on fabriquer au cours de chaque mois (m) sachant quil
faut fabriquer 4 exemplaires la fin du 3 mois ? La fabrication doit schelonner mois par mois
afin de minimiser le cot total des fabrications.
***

Cours Outils de Planification de Rseau
par Albert RATSIRANTO ESPA- I5TCO Programmation dynamique 2

Dans le langage de la Recherche Oprationnelle on formulera ce problme de la faon
suivante :
On dfinit une fonction conomique F. Cette fonction sera F = le cot total des
fabrications ;
On dfinit les variables du problme. Ces variables seront les X
m
;
On dfinit les contraintes. La premire contrainte, formule directement dans
lnonc du problme est : la somme des variables doit tre gale 4 . Dautres
contraintes sont implicitement imposes : les variables doivent tre des nombres
entiers positifs ou nuls .

Le problme est : Minimiser la fonction conomique sous les contraintes indiques
pour les variables .
Les valeurs optimales X
m
-
, si elles existent, donnent lchelonnement de la fabrication
qui minimisera son cot total.
***

Mathmatiquement le problme rsoudre scrit :
Les variables du problme sont les X
m
.
Minimiser F = C|m, X
m
]
3
m=1
(Minimiser le cot total des fabrications)
avec X
m
= 4
3
m=1
(il faut fabriquer au total 4 exemplaires sur 3 mois)
X
m
u ; X
m
N (les quantits sont des nombres entiers positifs ou nuls)

(1.1)
(1.2)
(1.3)


On pourrait procder comme suit pour rsoudre ce problme.
A la phase (m) du processus de dcision il faut dcider du nombre (x) dexemplaires
fabriquer pendant le mois (m).

1. On dfinit un tat E pour le problme. chaque phase donne (= au moment o une
dcision doit tre prise [= dbut dun mois]) du processus de dcision ltat est dfinit comme
suit : ltat E prend la valeur (n) si le nombre dexemplaires fabriqus est gal
(n) .
2. Dans la phase n (m) du processus de dcision il faut dcider, conformment la
dfinition de ltat (voir le point 1), quel est le nombre dexemplaires fabriquer
pendant le mois (m). Juste avant le moment de la prise de dcision (fin du mois m-1) le
nombre dexemplaires fabriqus tait E
m-1
= X

m-1
=1
(=total des exemplaires fabriqus
jusqu la fin du mois (m-1)).
3. Au dbut du mois (m) il faut prendre une dcision
x
= fabriquer (x=X
m
) exemplaires
(x= 0, 1, 2, 3 ou 4) pendant ce mois. Toutes les valeurs de X
m
(=x) ne sont pas acceptables
car il faut tenir compte des contraintes telles que (1.2), (1.3). Notamment : X
m
+
X

m-1
=1
4.
4. Limpact de chaque dcision consiste en :
un changement dtat : E
m
= [nouvel tat aprs la prise de dcision (= nombre total
dexemplaires qui seront fabriqus jusqu la fin du mois (m))] = [ tat antrieur (avant la prise de
dcision), soit E
m-1
] + x (+x car la dcision est de fabriquer (x)exemplaires pendant le mois (m)
venir, do la valeur du nouvel tat.).
et une variation de la valeur prise par la fonction conomique (= laugmentation
supplmentaire du cot total (F) des fabrications, due la dcision prise. ).

Globalement limpact de la dcision (ou sa qualit ) est mesur par une fonction de retour
r
m
(E
m-1
, x) : cette fonction dpend de la phase (m), de ltat E
m-1
au moment de la prise
de dcision et de la dcision (x) qui a t prise.

Dans le cas prsent limpact de chaque dcision (modification de la fonction objectif) est mesur
par : r
m
(E
m-1
, x)= C[m, x]. Ici la fonction conomique sexprime par une somme de
fonctions de retour.
Cours Outils de Planification de Rseau
par Albert RATSIRANTO ESPA- I5TCO Programmation dynamique 3

5. Le mcanisme de prise de dcision respecte les principes de la programmation
dynamique indiqus au dbut de cette section : si on suppose quune certaine
dcision (= une valeur de (x)) est prise la phase (m) du processus de dcision alors les
tats futurs, partir de la phase (m+1), ne dpendent plus que de ltat aprs la
prise de dcision dans la phase (m) (une fois que la dcision de fabriquer (x) exemplaires est prise
pour le mois (m) alors il y aura E
m
= E
m-1
+ x exemplaires qui seront supposs avoir t fabriqus la fin
du mois (m). Les variations futures de la fonction conomique (= cot total des fabrications) ne dpendront
plus que des cots des exemplaires encore fabriquer, et dont la quantit sera dcide lors des phases
futures du processus de dcision (donc pour les mois suprieurs (m)), et non plus des exemplaires dj
dcids avant ou pendant la phase (m) en cours).
6. Et le processus de dcision doit maintenant se rpter. Pour la phase suivante,
concernant le mois (m + 1) : Faire m+1 m puis revenir au point n 2 du processus.

1.2 Problme du sac dos (knapsack) [2], [4]
Un alpiniste doit mettre des provisions dans son sac dos avant une ascension. Compte
tenu des contraintes lies son projet le poids de son sac dos ne doit pas dpasser P=12 kg ; de
plus il peut y mettre, par exemple, Q=4 types diffrents daliments prconiss par les rgles de
son mtier. Toutefois lalpiniste souhaite maximiser lapport nergtique du contenu de son sac
dos sachant que pour chaque type (i) daliment il en connat le poids P
i
(par exemple : si lalpiniste peut
prendre des conserves de sardines lhuile alors il sait quune boite de sardines lhuile pse A=0,125 kg) et lapport
nergtique par unit de poids E
i
(par exemple : une boite de sardines lhuile apporte E=6 000 calories/kg).

Problme rsoudre :
Lalpiniste doit choisir la quantit A

de chaque aliment n (i) mettre dans le sac dos


pour maximiser lapport nergtique total F, sachant que son sac dos ne doit pas peser plus de
12 kg.

Mathmatiquement ce problme scrit :
Les variables du problme sont les A

.
Maximiser F = A

=1
(Maximiser lapport nergtique total)
avec A

P
I
12
Q
=1
(le poids total ne doit pas dpasser 12 kg)
A

u ; A

N (les quantits sont des nombres entiers positifs ou nuls)



(1.4)
(1.5)
(1.6)

Dans cet exemple la fonction conomique F est indique dans (1.4), tandis que (1.5) et
(1.6) indiquent les contraintes.
***
Le problme est : Maximiser la fonction conomique sous les contraintes indiques
pour les variables .
Les valeurs optimales A

-
, si elles existent, donnent la composition idale du sac dos qui
maximisera lapport nergtique des aliments quil contient tout en respectant la contrainte sur
le poids.
***

On pourrait procder comme suit pour rsoudre le problme.
A la phase (i) de son processus de dcision lalpiniste choisit les aliments du type (i).

1. chaque phase donne du processus de dcision (= au moment de dcider quelle quantit dun certain aliment
doit tre mise dans le sac dos) l tat E du problme est dfini comme suit : ltat E prend la valeur
(p) si le poids du sac dos de lalpiniste pse (p) .
2. A chaque phase (i) du processus de dcision lalpiniste choisit la quantit A

pour laliment n i.
Supposons que lalpiniste ait termin la phase (i-1) du processus de dcision. A ce moment
lalpiniste a donc dj choisi (i-1) aliments et ltat (=poids du sac dos avant la prise de dcision) est
E
I-1
=.
3. Lalpiniste doit prendre une dcision concernant la quantit A

de laliment n (i).

Cours Outils de Planification de Rseau
par Albert RATSIRANTO ESPA- I5TCO Programmation dynamique 4

4. Limpact de la dcision consiste en :
un changement dtat : E

= [nouvel tat aprs la prise de dcision] = [tat antrieur


E
-1
] + A

. P

(ajouter le poids du nouvel aliment choisi, do la valeur du nouvel tat.).


et une modification (+A

. E

) sur la fonction conomique (augmentation de lapport


nergtique total (F)).

Globalement cet impact est mesur par une fonction de retour r

(E
-1
, x) qui dpend de la phase (i),
de ltat E
i-1
au moment de la prise de dcision et de la dcision (x) qui a t prise. Dans le cas prsent
limpact de la dcision (modification de la fonction conomique) est mesur par : r

(E
-1
, x)= A

. Ici aussi la
fonction conomique sexprime, comme au 1.1, par une somme de fonctions de retour.

5. Le mcanisme de prise de dcision respecte les principes de la programmation dynamique indiqus
au dbut de cette section : si on suppose quune dcision (choisir une quantit A

) est prise pour


laliment n(i) alors les tats futurs, concernant les aliments n (u) , u > i, ne dpendent plus que de
ltat aprs la (i)-me dcision (une fois que les aliments n 1 (i) ont t choisis alors le poids futur du sac dos ne
dpendra plus que des autres aliments ; les variations futures de la fonction conomique (= apport nergtique total des
aliments) ne dpendront plus que des autres aliments, dont la quantit sera dcide lors dune phase future du processus de
dcision, et non plus des aliments dj choisis avant ou pendant la phase (i) en cours.).
6. Et le processus de dcision doit maintenant se rpter. Pour la phase suivante, concernant
laliment n (i + 1) : Faire i+1 i puis revenir au point n 2 du processus.

*
* *
Avec les 2 exemples ci-dessus le processus de dcision fait apparatre les lments
communs suivants :
Le mcanisme de prise de dcision respecte les principes de la programmation dynamique qui ont
t indiqus au dbut de cette section ;
Lobjectif des dcisions prendre est indiqu par loptimisation dune fonction conomique.
A un moment on prend une dcision sur un seul des lments du problme (que faut-il fabriquer
pour un mois donn, quelle quantit faut-il prendre pour un aliment donn) ;
Limpact dune dcision peut tre mesur par une fonction de retour;
Il y a une relation simple entre la fonction conomique et les fonctions de retour.
Le processus de dcision se rpte dans le temps soit naturellement (exemple du 1.1) soit par
artifice (exemple du 1.2 o le temps serait le numro de laliment sur lequel la dcision est
prise). Le cas du 1.2 est celui dun problme dcompos par artifice .


2. FORMALISATION MATHMATIQUE
2.1 Systme squentiel
Soit un problme doptimisation avec contraintes et supposons que le processus de
dcision (= le mcanisme de rsolution) possde les caractristiques particulires suivantes:
Lors dune dcision on choisit une valeur particulire une variable du problme. La valeur choisie
pour une variable est mmorise dans une composante dun vecteur de dcision X. Une dcision
est donc rsume par le choix dun vecteur de dcision.
Lensemble des vecteurs de dcision qui respectent les contraintes du problme est nomm
espace des dcisions ;
On suppose que la rsolution du problme mette en uvre un processus de dcision par phases
(cf. plus bas) : lors dune phase (i) donne la dcision concerne la valeur donner pour une seule
variable ; ce qui signifie que, parmi tous les vecteurs de dcision autoriss pendant la phase (i), on
en choisisse un et cest ce vecteur que lon note X
I
= vecteur de dcision choisi la phase (i) ;
On dfinit l tat E du problme comme tant une description caractrisant lensemble des
vecteurs de dcision connus une phase (i) donne dfinissent. Ltat caractrise ainsi le monde
dcrit par le problme doptimisation rsoudre (Par exemple on dirait tat initial = la situation o tous les
vecteurs de dcision ont leurs composantes toutes gales 0) ;
Cours Outils de Planification de Rseau
par Albert RATSIRANTO ESPA- I5TCO Programmation dynamique 5
Les tats sont numrots E
0
, E
1
, E
2
, , E
n
. Par convention E
0
est ltat initial , E
n
est ltat
final . (Il y a des cas o le nombre dtats peut tre infini.).
Quand une dcision est prise, une phase donne, alors un nouveau vecteur de dcision est
choisi : de ce fait il y aura une transition (= changement dtat) : partir de ltat en cours (au moment de
la prise de dcision) la dcision qui est prise (= choix dun vecteur de dcision) mne un autre tat (qui
dpend de la dcision prise, cest--dire du nouveau vecteur de dcision) ;
Les rgles guidant les diffrentes transitions sont dfinies, pour chaque phase (i), par une fonction
de transfert t

: E

= t

(E
-1
, X

), ce qui signifie que ltat de sortie E

dpend de ltat en vigueur


avant la prise de dcision (E
-1
) et de la dcision prise (X

) . Suivant le principe de la
programmation dynamique on suppose donc que les dcisions possibles, une phase (i) donne,
ne dpendent que de ltat E
-1
lentre de cette phase ;
Limpact de la prise dune dcision X

peut tre mesur par une fonction de retour r

qui indique la
qualit de la dcision qui a t prise. La fonction de retour est une fonction variable relle dont
les paramtres sont ltat au moment de la prise de dcision et la dcision proprement dite :

r

(E
-1
, X

) (2.1)


***
Processus de dcision par phases signifie :
1. A la phase 1 une dcision est prise pour choisir un vecteur de dcision X
1
, do les diffrents tats
possibles E
1
la phase 1 : chaque vecteur de dcision, pour cette phase, mne de ltat initial
vers un certain tat de sortie E
1
;
2. A une phase (i) chaque dcision prise mne de ltat E
-1
, en vigueur au dbut de la phase (i), vers
diffrents tats de sortie E

, o chaque tat dpend du vecteur de dcision X

choisi pour cette


phase (i) ;
3. Il ne se passe rien entre la fin de la phase (i) et le dbut de la phase (i+1) : on dit que ltat de
sortie de la phase (i) est ltat dentre de la phase (i+1) .
***
Un systme squentiel est caractris par ses fonctions de transfert et ses fonctions de
retour pour chaque phase (i) du processus de dcision :





Dcision X
i

Retour = r
i
(E
i-1
,X
i
)
tat de sortie
E
i
= t
i
(E
i-1
,X
i
)

tat dentre
E
i-1

Phase i
de prise de
dcision
Mesure de limpact de la dcision

Cours Outils de Planification de Rseau
par Albert RATSIRANTO ESPA- I5TCO Programmation dynamique 6

2.2 Thorme doptimalit
Le thorme doptimalit est nonc ci-aprs. Il fait appel aux notions de fonction
sparable et fonction dcomposable qui sont dfinies plus bas.
(Ce qui suit est tir, presque mot pour mot, de [4])
Le thorme :

Pour toute fonction relle f des variables relles u, v, w
qui est dcomposable
avec f(u,v,w) g(u,h(v,w))
on a :

0PT
u,,w
(u, :, w) = 0PT
u,,w
g(u, b(:, w)) = 0PT
u
g|u, 0PT
,w
b(:, w)] (2.2)

Ce thorme ramne le calcul dun optimum dpendant de trois variables, deux calculs
doptimum successifs ; loptimisation finale se faisant sur la seule premire variable.
Le thorme ci-dessus demeure valable (cf. [4]) mme si les variables v et/ou w
dpendent de u.
*
* *
Dfinition 1 : Fonction sparable
Soit une fonction relle f de trois variables relles u, v et w . Par dfinition cette fonction
est sparable si et seulement sil existe deux fonctions relles g et h, de deux variables relles,
telles que lon puisse crire :
u, v, w : f(u,v,w) = g(u,h(v,w))

En particulier une fonction Z = combinaison linaire est sparable :
f(u,v,w) = A.u + B.v + C.w A.u + (B.v + C.w) g(u,h(v,w))
avec : h(x,y) = B.x + C.y et g(x,y) = A.x + y

Dfinition 2 : Fonction dcomposable
Si :
une fonction f est sparable en g et h,
et si, de plus, g est une fonction monotone non dcroissante par rapport sa
seconde variable
alors f est dite dcomposable.

Par exemple une fonction Z = combinaison linaire , telle quelle est exprime
prcdemment, est sparable en g et h. Puisque g(x,y) A.x + y est monotone non dcroissante
par rapport la seconde variable (y) alors Z remplit galement la condition de sparabilit.

Donc une fonction Z prenant la forme dune combinaison linaire est dcomposable. Ce
rsultat est trs souvent utilis pour la programmation dynamique. (cf. ***).

2.3 Utilisation du thorme doptimalit pour la programmation dynamique
La programmation dynamique sapplique dans le cas o la fonction conomique,
sexprimant par lintermdiaire des fonctions de retour (cf. 2.1), est une fonction dcomposable
(Par exemple quand la fonction conomique prend la forme dune combinaison linaire cf. 2.2). Le thorme
doptimalit exploite le fait que la fonction conomique soit dcomposable : il sensuivra une
simplification des optimisations.
*
* *

Cours Outils de Planification de Rseau
par Albert RATSIRANTO ESPA- I5TCO Programmation dynamique 7
Quand le problme analys peut tre formul sous la forme dun systme squentiel (cf.
2.1) on rappelle quon rsout un tel problme phase par phase.

A une phase (i) :
1. ltat du systme, avant une prise de dcision, est E
-1
;
2. la dcision prise se traduit par le choix dun vecteur de dcision X

;
3. chaque dcision envisage pendant la phase (i) se traduira par une transition, partir
de ltat E
-1
avant la prise de dcision, vers un nouvel tat (E

= t

(E
-1
, X

) qui
dpendra de ltat en cours E
-1
et de la dcision X

envisage (cf. fonctions de transition


dtats) ;
4. limpact de la dcision (=X

) sera une modification de la valeur de la fonction


conomique. La valeur de cet impact est mesure par la fonction de retour
r

(E
-1
, X

) pour cette phase.



Si Z est la fonction conomique du problme elle sexprimera donc sous la forme dune
certaine fonction R dont les variables seront les fonctions de retour. Si le problme comporte (Q)
phases et si les vecteurs de dcision (X
1
, X
2
, , X

, , X
q
) expriment la suite des dcisions prises
chaque phase alors on pourra exprimer la fonction conomique sous la forme suivante :

Z R[r
1
(E
0
, X
1
), r
2
(E
1
, X
2
), .. , r

(E
-1
, X

), . . , r

(E
q-1
, X
q
) ] (2.3)

Pour chaque phase (i) successive la fonction de transfert (cf. point 3 ci-dessus et 2.1) t


indiquent les diffrents tats qui sont obtenus chaque fois quune dcision X

est prise :

E

= t

(E
-1
, X

) i, i = 1,2,..,q

***
Si la fonction R est dcomposable (cf. 2.2) alors on pourra dcomposer R par rapport
sa premire variable, ce qui donne :

Z R
1
[r
1
(E
0
, X
1
), R'
1
| r
2
(E
1
, X
2
), .. , r

(E
-1
, X

), . . , r

(E
q-1
, X
q
) ]]

Par le thorme doptimalit on aura alors :
0PT
X
1
,X
2
,,X
i
,,X
q
Z = 0PT
X
1
R
1
[r
1
(E
0
, X
1
), 0PT R
i
1
| ]
X
2
,,X
i
,,X
q
] (2.4)

Loptimisation sur Q variables est alors simplifie en :
1. une optimisation sur (Q-1) variables (cest loptimisation de R), qui donne une valeur
Z2 ;
2. une optimisation de R
1
[*,Z2] o (cf. 2.4) R
1
est une fonction du seul vecteur X
1
car la
valeur Z2 prcdente y joue simplement le rle de paramtre.

Ainsi de suite : si R
i
1
est dcomposable en R
2
, R
i
2
on rpte de nouveau une
dcomposition telle que (2.4). A chaque fois la seconde optimisation en R porte sur un
nombre de variables infrieur dune unit au nombre de variables lors de la dcomposition
prcdente. A la Q-me dcomposition loptimisation portera uniquement sur la dernire
variable X
q
.

On obtiendra alors une nouvelle expression de (2.4) dans chaque optimisation ne
portera que sur une seule variable de dcision seulement:

0PT
X
1
,X
2
,,X
i
,,X
q
Z =
0PT
X
1
R
1
[r
1
(E
0
, X
1
), 0PT
X
2
R
2
|r
2
(E
1
, X
2
), , 0PT
X
q
R
q
|r
q
(E
q-1
, X
q
)]]]

]
avec les contraintes :
E

= t

(E
-1
, X

) i, i = 1,2,..,q




(2.5)

Cours Outils de Planification de Rseau
par Albert RATSIRANTO ESPA- I5TCO Programmation dynamique 8
2.4 Graphe de dcision et rsolution du problme
La partie la plus interne de (2.5) consiste chercher loptimum Z
q
de la dernire
fonction de retour R
q
, optimum chercher par rapport au dernier vecteur de dcision X
q
et de
ltat E
q-1
avant cette dernire dcision (ici cet tat sert seulement de paramtre pour la
fonction R
q
). On obtient donc Z
q
Z
q
(E
q-1
), optimum qui ne dpend plus de X
q
. Cet optimum
dpend plutt de E
q-2
et de la dcision X
q-1
qui sera prise partir de cet tat [ puisque E
q-1
=
t
q-1
(E
q-2
, X
q-1
)].
Ainsi, en traitant la prochaine optimisation trouver dans (2.5) on aura rsoudre :

0PT
X
q-1
R
q-1
|r
q-1
(E
q-2
, X
q-1
), Z
q
(E
q-1
)]
= 0PT
X
q-1
R
q-1
|r
q-1
(E
q-2
, X
q-1
), Z
q
(t
q-1
(E
q-2
, X
q-1
) )]


(2.6)


On voit que, de nouveau, ltat E
q-2
sert de paramtre dans le cadre de la recherche de
loptimisation : dans les deux termes de la fonction R
q-1
loptimisation chercher ne porte
finalement que sur la dcision X
q-1
.
En rptant cette dmarche pour les fonctions R

successives, correspondant des


phases (i) variant de (Q-1) 1, on aboutit chercher un optimum o ltat initial E
0
servira de
paramtre. Sil ny a quun tat initial admissible alors on aura obtenu loptimum global, sinon il
faudra chercher loptimisation globale en analysant tous les tats initiaux possibles.
***
Notons E
0
-
ltat initial qui fournit loptimum global de (2.3), (2.5),(2.6). Soit Z
1
= Z
1
(E
0
-
)
la valeur de cet optimum.
On identifie la dcision optimale X
1
-
travers (2.6). Chercher X
1
qui permet dobtenir :
Z
1
= R
1
|r
1
(E
0
-
, X
1
), Z
2
(t
1
(E
0
-
, X
1
) )]
Sil y a plusieurs vecteurs X
1
qui vrifient cette relation il faut en choisir un : on
identifie ainsi une dcision optimale X
1
-
, ainsi que ltat optimal E
1
-
que la dcision X
1
-
permet
datteindre partir de E
0
-
. Continuer ainsi jusqu lidentification dune dcision dinale
aboutissant ltat final.

On aboutit la conclusion suivante, qui est la base de la programmation dynamique :
une phase donne du processus de dcision on ne cherche quune optimisation par
rapport UNE dcision (celle associe la phase). Les valeurs, sur lesquelles loptimisation est
rechercher, sont fournies par les fonctions de retour pour chaque phase. La valeur optimale
ainsi obtenue pour chaque phase est paramtre par les seuls tats dentre admissibles pour
cette phase.

Quand loptimisation permet datteindre un tat initial et si plusieurs tats initiaux sont
possibles alors chaque optimum sera paramtr par un tat initial. Lexamen des divers optima
permettre de choisir UN tat initial qui fournira loptimum global recherch. Il faut ensuite
remonter progressivement les tats jusqu atteindre ltat final. A chaque itration (i) la
dcision optimale raliser sera identifie en examinant, parmi les dcisions (X) possibles partir
dun tat (E) donn, quelle est celle dont [la valeur (R) de la fonction de retour , combine avec la
valeur optimale Z

associe ltat (E)] permet datteindre un tat (E) suivant, avec la valeur
optimale Z
+1
(E

i
) associe cet tat (E): une telle dcision sera la prochaine dcision optimale
et ltat (E) quelle permet datteindre sera le prochain tat optimal.

Plus prcisment litration (i) il faudra rechercher X

tel que :
Z

= R

|r

(E
-1
-
, X

), Z
+1
(t

(E
-1
-
, X

) )]

*
* *

Cours Outils de Planification de Rseau
par Albert RATSIRANTO ESPA- I5TCO Programmation dynamique 9
Lexploitation pratique de la formule (2.5) se fait par lintermdiaire du graphe de
dcision du problme rsoudre.


Le graphe de dcision est construit de la manire suivante:

Les sommets reprsentent les tats du problme. Les sommets sont classs par niveau : chaque
niveau (i) on regroupe les sommets correspondants aux tats de sortie admissibles pour la phase
de dcision n (i) ;
Un arc traduit chaque fonction de transition entre tats. Considrons un nud qui reprsente un
tat possible E
u
lentre de la phase (i). Si une dcision X

tait prise, alors que ltat est E


u,

alors cette dcision provoquerait une transition, partir de ltat E
u
, vers un certain tat E

[qui
sera connu par lintermdiaire de la fonction de transition : E

= t

(E
u
, X

) ]. Dans le graphe de
dcision on ajoutera donc un arc tat E
u
tat E

;
La valeur V associe chaque arc traduit limpact de la dcision X

symbolise par larc : V est donc


la valeur donne par la fonction de retour V = r

(E
u
, X

).

***
A la dernire phase les vecteurs de dcision X
q
admissibles doivent, entre autres,
respecter la contrainte suivante : la dcision X
q
doit provoquer une transition, de ltat E
q-1
vers
un tat final qui est spcifi dans le cadre du problme rsoudre. Cette contrainte limite
donc fortement lespace des dcisions X
q
oJmissiblcs. Sur le graphe de dcision cela signifie
que les derniers arcs doivent aboutir ltat final .

***
Dans lvaluation de la fonction conomique la contribution des fonctions de retour se
fait par lintermdiaire des fonctions g et h de cette fonction conomique et on suppose que
cette fonction est dcomposable en (g,h).

Daprs la formulation des optimisations, telle que (2.6), on constate que loptimum est
toujours rechercher, en fonction des dcisions, en utilisant les valeurs dune fonction de
retour. Or daprs la construction du graphe de dcision cest la valeur de cette fonction de
retour, pour une dcision donne, qui est justement la valeur associe larc symbolisant la
dcision ; les sommets des arcs du graphe de dcision sont galement les sommets indiqus par
les fonctions de transfert.

Le graphe de dcision contient donc symboliquement la majeure partie des informations
relatives au problme traiter en utilisant la programmation dynamique. Cependant les critres
permettant de caractriser les oprations doptimisation ne figurent videmment pas dans le
graphe de dcision -en particulier la formulation de la fonction conomique, par rapport aux
fonctions de retour, telle quelle est faite en (2.3).

Dans le cas o la fonction conomique Z prend la forme dune combinaison linaire alors
le couple (g,h) associ Z induit la ralisation dadditions (cf. 2.2 Dfinition 2). Dans ces conditions
la composition des optima successifs, telle quelle est formule par (2.6) se traduira par une suite
dadditions de ces valeurs optimales le long des arcs du graphe de dcision. Par consquent la
formule (2.6) traduit simplement une recherche de chemins optimaux dans le graphe des
dcisions.
***
Il faudra donc identifier les arcs optimaux, au sens du couple de fonctions (g,h) associ
la fonction conomique et suivant loprateur OPT utiliser. Daprs la construction (2.6) cette
identification commence par le sommet tat final car cest cette optimisation qui est la partie
la plus interne de (2.6).

Cours Outils de Planification de Rseau
par Albert RATSIRANTO ESPA- I5TCO Programmation dynamique 10
Si la fonction conomique est une combinaison linaire et si OPT est une minimisation
alors il faudra identifier les arcs qui, en partant de ltat initial, aboutissent ltat final et sont
optimaux dans le sens des plus courts chemins.

Remarques
1. Le fait de regrouper les sommets par niveaux , correspondant aux phases des prises de dcision, facilite la mise en uvre
des algorithmes de recherche des chemins optimaux ainsi que lidentification des dcisions optimales.

2. On peut approfondir, et gnraliser linterprtation de la formule (2.6) par lintermdiaire des graphes (voir notamment dans
[2] le chapitre traitant de Algbre des chemins ).

Mise jour le 15/09/2010



Bibliographie succinte.

[1] R. FAURE: Prcis de recherche oprationnelle (1980) , ditions Dunod
[2] M. GONDRAN, M. MINOUX: Graphes et algorithmes (1979) , ditions Eyrolles
[3] M. MINOUX: Programmation mathmatique Thories et algorithmes (1987) , Collection
technique et scientifique des Tlcommunications, ditions Dunod
[4] J.L LAURIERE : lments de programmation dynamique (1979) , ditions Gauthier-Villars.

You might also like