Optimisation différentiable : théorie et pratique
– Rappels de calcul différentiel et introduction à l’analyse convexe
– Exemples industriels et typologie des problèmes d’optimisation
– Notion d’extremum local
– Conditions d’optimalité au premier ordre et second ordre avec ou sans contraintes (égalité et/ou inégalité)
– Algorithmes du gradient, algorithmes de Newton, problèmes de moindres carrés linéaires et non linéaires
Introduction à la programmation linéaire : modélisation par programmation linéaire, algorithme du simplexe, analyse de sensibilité
Modélisation par graphes et description d’algorithmes efficaces pour la recherche de chemins, d’arbres et de flots extrémaux
Applications : problèmes d’affectation, de transport, d’ordonnancement, de planification.
Modélisation stochastique par une chaîne de Markov à temps discret et à temps continu. Calcul de la mesure transitoire et la mesure stationnaire. Applications aux processus de naissances et de mort, files d’attente markoviennes, réseaux de files d’attente
Modélisation par réseaux de Petri et techniques d’analyse associées. Propriétés des réseaux. Application à des protocoles de communication et systèmes réactifs
Introduction au machine learning. Apprentissage supervisé pour problème de classification et de régression. Modèles interprétables et réseaux de neurones
Objectifs
.
A la fin de ce module, l'étudiant devra avoir compris et pourra expliquer (principaux concepts) :
- différentes approches pour analyser et évaluer les performances de systèmes à événements discrets,
- différents types de modélisation adaptées aux problèmes considérés (modèles déterministes ou stochastiques, modèles d'optimisation numérique et combinatoire, modèles concurrents)
- caractéristiques d’un problème d’apprentissage supervisés (jeux de données, classification/régression, processus d’apprentissage, évaluation), et méthodes/algorithmes basiques pour traiter ces problèmes,
- les algorithmes disponibles pour résoudre ces problèmes.
L'étudiant devra être capable de :
Apprendre à modéliser et résoudre des problèmes de recherche opérationnelle (optimisation, programmation linéaire, graphes, processus stochastiques) et des systèmes à évènements discrets. Modéliser systèmes stochastiques tel qu’un réseau de files d'attente par une chaîne de Markov. Calculer ses mesures de performances stationnaires et dimensionner leur capacité.
Modéliser un SED par réseau de Petri, analyser les propriétés du réseau de Petri par différentes méthodes d'analyse (propriétés générales d'accessibilité et propriétés spécifiques au moyen d'observateur).
Mettre en place un processus d’apprentissage à l’aide de librairies Python existantes, et présenter/expliquer les résultats des modèles obtenus.
Pré-requis
Algèbre linéaire - Calcul différentiel - Probabilités - Systèmes dynamiques (notion d'état)- bases en logique propositionnelle et réseaux de Petri.
Évaluation
L’évaluation des acquis d’apprentissage est réalisée en continu tout le long du semestre. En fonction des enseignements, elle peut prendre différentes formes : examen écrit, oral, compte-rendu, rapport écrit, évaluation par les pairs…