Introduction à la Programmation Stochastique
Ce support contient les diapositives de cours, les documents de base, les notes de référence et les scripts de code pour un cours de niveau universitaire sur la programmation stochastique. La programmation stochastique est un cadre de modélisation mathématique essentiel pour l'optimisation sous incertitude.
Les principaux concepts abordés incluent la prise de décision séquentielle (modèles à deux étapes et multi-étapes), la génération de nombres aléatoires, les contraintes en probabilité, ainsi que les méthodes de résolution et d'approximation (méthode en L, SDDP, SAA, descente de gradient stochastique, etc.).
🔗 Consulter l'intégralité du code et des ressources sur le dépôt GitHub (fbastin/SP_Introduction)
Chapitres et Supports de Cours (PDF)
Vous pouvez consulter directement les documents PDF associés sur le dépôt :
- 01. Introduction (Motivation, optimisation stochastique vs déterministe)
- 02. Random Numbers (Nombres aléatoires, LCG, méthodes d'inversion)
- 03. Two-stage stochastic programming (Programmation à deux étapes, EVPI & VSS)
- 04. L-Shaped method (Méthode de Benders, coupes d'optimalité)
- 05. Chance-constrained programming (Contraintes en probabilité)
- 06. Multistage (Modèles multi-étapes, arbres de scénarios)
- 07. SDDP (Stochastic Dual Dynamic Programming)
- 08. Lagrangian (Relaxation Lagrangienne, décomposition)
- 09. SAA (Sample Average Approximation)
- 10. Adaptive Monte Carlo (Réduction de variance, importance sampling)
- 11. Stochastic gradient descent (Descente de gradient stochastique)
- 12. Discrete event simulation (Simulation à événements discrets)
Annexes et compléments
- Background : KKT (Conditions d'optimalité de Karush-Kuhn-Tucker)
- Background : LP (Bases de la Programmation Linéaire)
- Plan détaillé du cours