Section: Scientific Foundations
Mathematical programming based heuristics
A heuristic is an algorithm that attempts to build a “good” primal feasible solution to a combinatorial optimization problem with no a priori guarantee on its maximum deviation from optimality. Exact optimization approaches can also serve to build good approximate solutions for complex combinatorial problems, either (i) by truncating an exact algorithm, or (ii) by constructing solution from the relaxation on which the exact approach relies, or (iii) by using exact solvers as subroutines in building heuristic solutions. Point (i) is common practice, even in commercial MIP solvers: one sets a time limit (or another bound on the number of algorithmic steps) or a threshold deviation from optimality. However, the implementation strategies are typically different if the aim is to get quickly good primal solution rather than solving the problem exactly. Point (ii) is key to our project. The chances are that starting from the solution to a stronger relaxation of a problem (i.e. a better formulation), one gets better primal solution in the end. The techniques to build the primal solutions range from greedy constructive procedures, to rounding techniques, using the relaxed solution as a target, or simply exploiting dual information to price choices. Point (iii) is the idea of “MIPPING” questions [78] , i.e. to set intermediate questions, such as finding the best solution in the neighborhood of the current solution, as a mathematical program that can be solved with an MIP solver or another combinatorial algorithm. Even though the initial problem might be much too hard for exact methods, the subquestions that arise during its heuristic solution might be within the scope of exact solvers. There too it is important to have a good formulation of the “mipped” question. This points to potential collaboration with other INRIA research teams who develop meta-heuristic approaches (DOLPHIN and TAO).
Heuristics based on exact methods have found a new breath in the recent literature, in part due to the progress of exact commercial solvers. The latest developments are the Large Scale Neighborhood Search (an exponential size neighborhood can be explored in a local search procedure, provided that an efficient/polynomial algorithm exists to search it – Ahuja et al. 2002 [48] ), the Relaxation Induced Neighborhood Search (the components of the LP solution that are close to the best known integer solution are rounded and the residual problem is then solved as an MIP of smaller size – Danna et al. (2005) [68] ) and the feasibility pump algorithm (the rounded LP solutions defines a target that might be infeasible; the LP is re-optimized with the objective of minimizing the distance to that target; the process iterates in hope of finding good integer solutions – Fischetti et al., 2003, 2005 [79] , [78] ).