## Section: Scientific Foundations

### Introduction

*Combinatorial optimization* is the field of discrete
optimization problems. In many applications, the most important
decisions (control variables) are discrete in nature. Binary
variables model on/off decisions to buy, invest, hire, send a
vehicle, or enforce a precedence. Integer variables model
indivisible quantities. Extra variables can represent continuous
adjustments or amounts. This results in models known as
*mixed integer programs* (MIP), where the relationships between variables
and input parameters are expressed as linear constraints and the
goal is defined as a linear objective function. MIPs are among the
most widely used modeling tools. They allow a fair description of
reality; they are versatile; they can handle many non-linearities
(and even non-convexities) in the cost function and in the
constraints; they are also well-suited for global optimization.
However useful they may be, these models are notoriously difficult
to solve: good quality estimations of the optimal value (bounds) are
required to prune enumeration-based global-optimization algorithms
whose complexity is exponential. In the standard approach to
solving an MIP is so-called *branch-and-bound algorithm* : (i)
one solves the linear programming (LP) relaxation using the simplex
method; (ii) if the LP solution is not integer, one adds a
disjunctive constraint on a factional component (rounding it up or
down) that defines two sub-problems; (iii) one applies this
procedure recursively, thus defining a binary enumeration tree that
can be pruned by comparing the local LP bound to the best known
integer solution. State-of-the-art MIP solvers – such as the
commercial solvers CPLEX of Ilog or Dash-Optimization's Xpress-mp –
are remarkably effective. But many real-life applications remain
beyond their scope, and the scientific community is actively seeking
to extend the capabilities of MIP solvers. Developments made in the
context of specific applications often become generic tools over
time and see their way into commercial software.

The most effective solution schemes are a complex blend of techniques: cutting planes to better approximate the convex hull of feasible (integer) solutions and hence provide better LP bounds, Lagrangian decomposition methods to produce alternative powerful relaxations, constraint programming to actively reduce the solution domain through logical implications, heuristics and meta-heuristics (greedy, local improvement, or randomized partial search procedures) to produce good candidate solutions, and specialized branch-and-bound or dynamic programming enumeration schemes to find a global optimum. The real challenge is to integrate the most efficient methods into one global system. Another key to further progress is the development of stronger problem formulations whose relaxations provide approximations that enable enhanced truncation of enumerative solution schemes. Tighter formulations are also much more likely to yield good quality approximate solutions through rounding techniques. With properly chosen formulations, exact optimization tools can be competitive with other methods (such as meta-heuristics) in constructing good approximate solutions within limited computational time, and of course has the important advantage of being able to provide a performance guarantee through the relaxation bounds.

Our project brings together researchers with expertise mathematical programming (polyhedral approaches, Dantzig-Wolfe decomposition, quadratic programming, non-linear integer programing, stochastic programming, and dynamic programming), graph theory (characterization of graph properties, combinatorial algorithms) and constraint programming in the aim of producing better quality formulations and developing new methods to exploit these formulations. These new results are then applied to find high quality solutions for practical combinatorial problems such as routing, network design, planning, scheduling, cutting and packing problems.