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

- Profesor: Liberti Leo