Partie 1 : Programmation Dynamique (1 séance - 1 projet) Nous présentons l'outil flexible de la programmation dynamique pour la gestion de chaîne de Markov. L'un des exemples d'applications les plus courants est le problème de gestion de stock. Cette partie ne comporte qu'une séance en présentiel mais est complété par un projet en binôme à rendre à la fin du cours et de temps de support dédié par les enseignants. Le projet propose de chercher une stratégie optimale de jeu de société. Il s'agit ainsi de s'attaquer à un problème bien défini mais complexe qui demandera de faire des hypothèses simplificatrices. Partie 2 : Analyse Convexe (4 séances - 2 DM) Nous présentons les outils basiques de l'analyse convexe qui nous permettent d'arriver aux conditions d'optimalité du premier ordre (dit de Karush-Kuhn-Tucker) pour un problème d'optimisation différentiable. Nous étudions ensuite le concept de problème dual et appliquons cela aux problèmes conique du second ordre (SOCP). Partie 3 : Algorithmes du XXème siècle (3 séances - 1 TP) Nous présentons le principe des algorithmes d'optimisation à direction de descente en exposant les plus classiques : algorithme du gradient, gradient conjugué, Newton, quasi-Newton. Ces algorithmes sont aujourd'hui utilisés dans de nombreux codes informatiques avec lesquels de futurs ingénieurs peuvent avoir à interagir. L'étude théorique des algorithmes est complétée d'une mise en pratique par un TP informatique noté. Partie 4 : Algorithmes du XXIème siècle (3 séances) Dans cette dernière partie nous présentons des méthodes plus récentes. Nous verrons le principe de la méthode des points intérieurs, une des méthodes phares pour l'optimisation linéaire et plus largement conique. Nous terminons par une introduction à l'algorithme du gradient stochastique, qui est l'algorithme utilisé pour entraîner les méthodes d'apprentissage statistique. |