Optimisation problems occur in almost all areas of science and engineering, from telecommunication and medicine to finance. In computer science, optimisation leads to rigorous ways of formulating, analysing and solving efficiently different problems e.g. compiler problems, decision control systems, future networks, uncertainty and randomness.
Optimisation problems can be stated as follows : given a set of variables taking values in some given domains (either discrete or continuous) and a set of constraints, find an assignment of values to variables that minimises some objective functions. Optimisation is tremendously useful in real life applications such as routing, scheduling, computational biology, etc. People working in the area of optimisation either focuses on building efficient models of real life problems or on specific techniques that improve the performance of solvers. Optimisation is a multidisciplinary research area that uses techniques from algorithmic, applied mathematics, probability theory, stochastic processes, graph theory, and artificial intelligence...
A non-exhaustive list of topics where Digiteo teams are involved : Algorithms and complexity algorithmic questions are mostly focused on complexity issues (is the problem NP-Hard ?) and on approximability issues i.e. design of polynomial algorithms with performance guarantees.
- Efficient algorithms for computing Nash equilibriums.
- Randomized algorithms.
- New approximation approaches e.g. Fixed Parameter tractability algorithms.
Combinatorial optimisation and mathematical programming
Applied mathematicians have heavily contributed to the efficiency of mixed integer programming solvers. Over the last two decades the introduction of efficient cuts, that remove regions of the search space that do not contain optimal solutions, has made it possible to solve large problems.
- Semidefinite programming.
- Interior Point Methods.
- Column Generation and Polyhedral Methods.
- Convex optimisation.
Stochastic combinatorial optimization for solving new problems where a subset of parameters is randomly distributed and the variables are integer. The challenge of this recent area in optimisation is to solve real life problems where uncertainty is embedded in the original problem.
- Chance constraint programming.
- Multistage stochastic combinatorial optimisation problems.
- Stochastic gradient methods.
- Stochastic evolutionary Algorithms.
One of the key ideas of constraint programming is that constraints can be used "actively" to reduce the computational effort required to solve combinatorial problems. Constraints are thus not only used to test the validity of a solution, as in conventional programming languages, but also in an active mode to remove values from the domains, deduce new constraints, and detect inconsistencies. Constraint programming solvers have shown to be extremely efficient on some combinatorial problems such as scheduling.
- Integration with other optimisation approaches.
Evolutionary computation are adapted to global optimisation, to multi-criteria optimisation, and to ill-posed optimisation problems, such as those involved in machine learning, data mining, identification, optimal policies, and inverse problems.
- Machine learning.
- Evolutionary computation.
Graph theory is a basic theory and important tool in computer science. Classical fundamental problems of cycles and colourings in graph theory and also many related problems are studied. Digiteo Partners research work is very often related to the following themes :
- Hamiltonicity, colouring.
- Dominating cycle, connectivity.
- Partition, decomposition.
- Applications to sensor networks.
Chair and optimisation seminars
A senior chair is funded by Digiteo. Professor Pierre Hansen from HEC Montreal and GERAD is working on different topics of combinatorial optimisation. A semiannual workshop called OPTIMEO is organised alternatively by Digiteo partners.