Lors de la résolution (numérique, par itération de fonction de valeur), un problème de programmation dynamique en temps discret, tel que
$$ V_1 (a) = \ max_ {c} \ u (c) + \ dfrac {1} {1+ \ rho} V_0 (a ') $$
nous maximisons par rapport à la variable de contrôle et obtenons une condition de premier ordre que nous réintroduisons dans l'équation fonctionnelle présentée ci-dessus. Le résultat de cette étape, $ V (a) _1 $, sera ensuite utilisé sur le RHS d’une seconde itération
$$ V_2 (a) = \ max_ {c} \ u (c) + \ dfrac {1} {1+ \ rho} V_1 (a ') $$
et nous répétons ce processus jusqu’à ce que $ V (a) _n-V (a) _ {n + 1} & lt; \ epsilon $.
Ma question est la suivante: comment la mise à jour de la fonction de valeur fonctionne-t-elle en temps continu? J'ai travaillé sur un papier qui utilise une programmation dynamique en temps continu, donc l'équation de Bellman se présente comme suit
$$ \ rho V_n (a) = \ max_ {c} \ u (c) + \ dfrac {\ partial V_n (a)} {\ partial a} da_t \ quad (*) $$
où l'équation de transition est représentée par $ da_t $. D'après ce que j'ai vu, la mise à jour de la fonction value se fait en calculant $ \ Delta $:
$$ \ Delta = \ u (c (a ^ *)) + \ dfrac {\ partiel V_n (a)} {\ partiel a} da_t (a ^ *) - \ rho V_n (a) $$
où $ u (c (a ^ *)) $ et $ da_t (a ^ *) $ représentent l'équation de contrôle et de transition en tant que fonctions de la politique optimale. Autrement dit, nous maximisons le RHS comme dans l'exemple précédent (le cas de temps discret), mais nous soustrayons ensuite $ \ rho V (a) $ des deux côtés. Ensuite, la mise à jour de la fonction de valeur se fait comme suit:
$$ V_ {n + 1} (a) = V_n (a) + \ Delta $$
Comment cela peut-il être ainsi? J'aurais pensé que j'utiliserais simplement la RHS maximisée de (*) et me connecterais à une nouvelle itération. Comment se fait-il que l'autre méthode soit la bonne?
Réponses:
Vous effectuez une itération vers un point fixe, vous voulez donc parvenir à une situation où le fait de brancher votre valeur itérée actuelle se produit lui-même. Maintenant, en utilisant votre notation, on nous dit que nous devrions calculer
$$ V_ {n + 1} (a) = V_n (a) + \ Delta $$
où
$$ \ Delta = \ u (c (a ^ *)) + \ dfrac {\ partiel V_n (a)} {\ partiel a} da_t (a ^ *) - \ rho V_n (a) $$
Insérez le second dans le premier pour voir quelle est la règle d'itération:
$$ V_ {n + 1} (a) = V_n (a) + \ u (c (a ^ *)) + \ dfrac {\ partiel V_n (a)} {\ partiel a} da_t (a ^ *) - \ rho V_n (a) $$
Lorsque vous atteignez un point où
$$ V_ {n + 1} (a) = V_n (a) $$
(ou $ \ epsilon $ -so)
Cela voudra dire
$$ \ rho V_n (a) = \ u (c (a ^ *)) + \ dfrac {\ partial V_n (a)} {\ partial a} da_t (a ^ *) $$
c'est ce que vous devez satisfaire.
Certaines étoiles, etc., devront peut-être être ajustées dans ce qui précède, pour une notation parfaitement cohérente.
la source