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.