Projet : Résolution d’un problème de gestion de stock par programmation dynamique et apprentissage par renforcement
Master M2 MIASHS | Enseignant: Stéphane Chrétien
Objectif général¶
Ce projet a pour objectif de mettre en œuvre l’apprentissage par renforcement sur un problème classique de gestion de stock stochastique déjà programmé ici. La mission consistera à implémenter, analyser et comparer :
Les itérations de Bellman sur un modèle connu (avec dynamique de transition exacte),
La méthode REINFORCE appliquée au même problème, sans connaissance du modèle (mais en supposant que la réalité est le modèle inconnu qui est déjà programmé).
Contexte¶
On considère un système de gestion de stock discret dans lequel :
Le stock maximal est noté ,
La demande à chaque période est une variable aléatoire suivant une loi donnée,
L’action correspond à la quantité commandée,
Les coûts comprennent un coût de stockage, un coût de commande et éventuellement un coût de rupture.
L’objectif est de déterminer une politique optimale stationnaire minimisant le coût total espéré à horizon infini avec un facteur d’actualisation .
Partie 1 — Programmation dynamique¶
1. Implémentation de l’équation d’optimalité de Bellman¶
Pour une politique donnée , l’équation de Bellman est
où :
est le stock avant commande,
est la quantité commandée,
est la récompense aléatoire pour l’action , en fonction de la demande
est le facteur d’actualisation,
la transition dépend des événements , et de la demande aléatoire . Notez que encode l’impact aléatoire de la demande, donc pas besoin d’écrire
La version stationnaire de l’équation d’optimalité de Bellman à horizon infini est :
où :
est le stock avant commande,
est la quantité commandée,
est la récompense aléatoire pour l’action , en fonction de la demande .
est le facteur d’actualisation,
la transition dépend des événements , et de la demande aléatoire .
2. Itérations de Bellman¶
Implémentez l’algorithme d’itérations de Bellman pour un horizon infini :
Initialisez pour tout en choisissant une politique de votre choix puis en résolvant l’équation de Bellman associée à cette politique.
Répétez la mise à jour :
jusqu’à convergence de ,
En déduire la politique optimale .
3. Visualisation des politiques¶
Reproduisez la figure finale du notebook de base et ajoutez la politique optimale trouvée par itérations de Bellman sur la même figure, afin de comparer visuellement les différentes stratégies.
Partie 2 — Méthode REINFORCE¶
Dans cette partie, on suppose que la dynamique du système est inconnue. L’objectif est d’apprendre une politique paramétrique à partir de trajectoires simulées, sans utiliser les probabilités de transition suivies en réalité par le vrai modèle.
1. Implémentation de REINFORCE¶
L’algorithme REINFORCE (Williams, 1992) repose sur une mise à jour du gradient de politique à partir du retour total observé à chaque instant .
Pour chaque trajectoire générée par la politique courante :
on définit pour tout le retour (return) à partir de :
où :
est la récompense (ou le coût négatif) observée à l’étape ,
est le facteur d’actualisation,
représente la somme des récompenses futures actualisées à partir de .
La mise à jour des paramètres de la politique s’écrit alors :
où est le taux d’apprentissage. L’espérance de cette mise à jour est proportionnelle au gradient du rendement moyen, ce qui garantit (sous certaines hypothèses) une amélioration progressive de la politique.
2. Expérimentation¶
Faire un test avec 1000 pas de gradients et un qui marche bien à découvrir en essayant plusieurs valeurs. N’oubliez pas de re-générer à chaque itération de la méthode du gradient avec la nouvelle politique obtenue.
Si vous générez plusieurs trajectoires, comment les combiner pour avoir un meilleur estimateur de ? Entraînez la politique pour différents nombres de trajectoires simulées (par exemple : 100, 1000, 5000),
Comparez la politique apprise avec :
Les politiques naives du notebook fourni.
La politique optimale obtenue par les itérations de Bellman.
3. Analyse comparative¶
Présentez vos résultats sous forme de graphiques (valeurs d’état, coûts moyens, politiques apprises) et commentez :
la convergence de la méthode REINFORCE,
l’effet du nombre de trajectoires sur la stabilité et la qualité de la politique,
les différences entre approche « modèle connu » (Bellman) et approche « sans modèle » (REINFORCE).