La programmation mathématique (PM) est un langage formel pour définir et resoudre un problème d'optimisation. Un programme mathématique est constitué de paramètres (l'input du problème), variables de décision (l'output), une ou plusieurs fonctions objectifs, et zéro ou plusieurs contraintes qui peuvent être données sous forme explicite ou implicite (par exemple, contraintes d'intégralité sur les variables). Les objectifs et les contraintes explicites sont éxprimés comme des fonctions des paramètres et des variables de décision. Il existe une grande variété de "solveurs génériques" pour les programmes mathématiques, de telle sorte qu'obtenir la solution du problème se réduit à soumettre le programme à un solveur. Ainsi, la PM réduit les difficultés algorithmiques de l'optimisation à des difficultés de modélisation.

La PM est fortement utilisée dans des milieux industriels: production, logistique, gestion des ressources (humaines, financières, énergétiques et autres), télécommunications, etc., ainsi que dans les milieux de l'Information Technology de pointe: Google, Microsoft, Yahoo, Huawei embauchent plusieurs chercheurs en PM, et IBM en hébèrge une équipe entière!

Ce paradigme de programmation donne lieu à une famille d'algorithmes complexes et puissants, qui incluent le calcul des solutions de problèmes d'optimisation (grâce à la PM) parmi leurs "instructions élémentaires". Celui-ci donne lieu à pratiquement toutes les approches en Machine Learning (ML) les plus modernes, du clustering jusqu'au traitement automatique du langage naturel. 

Modalités d'évaluation: soit un projet, soit un examen oral.

Langue du cours: Français & Anglais.

Credits ECTS: 4

---

Mathematical Programming (MP) is a formal language for defining and solving optimization problems. A mathematical program consists of parameters (the input), decision variables (the output), one or more objective functions, and zero or more constraints given in either explicit or implicit (e.g. integrality constraints on the decision variables) form. Objectives and explicit constraints are expressed as functions of parameters adn variables. Mathematical programs can be passed to one of many existing "generic solvers", which provide the solution. Thus, MP shifts algorithmic and implementation difficulties in optimization to modelling issues.

MP is very much present in industry: production, logistics, resource management (whether the resources be human, financial, energetic or others), telecommunications, etc. MP can also be found in hi-tech IT firms: Google, Microsoft, Yahoo, Huawei currently employ many mathematical programmers. IBM actually has a whole MP team!

This programming paradigm gives rise to a family of complex and powerful algorithms, including the solution of whole optimization problems (by means of MP) as "elementary steps". This paradigm is at the basis of the vast majority of modern Machine Learning (ML) techniques, from clustering to natural language processing.

Course evaluation: either a project or an oral exam.

Language: French and English

ECTS Credits: 4