Presolve Reductions in Mixed Integer Programming

2020 ◽  
Vol 32 (2) ◽  
pp. 473-506 ◽  
Author(s):  
Tobias Achterberg ◽  
Robert E. Bixby ◽  
Zonghao Gu ◽  
Edward Rothberg ◽  
Dieter Weninger

Mixed integer programming has become a very powerful tool for modeling and solving real-world planning and scheduling problems, with the breadth of applications appearing to be almost unlimited. A critical component in the solution of these mixed integer programs is a set of routines commonly referred to as presolve. Presolve can be viewed as a collection of preprocessing techniques that reduce the size of and, more importantly, improve the “strength” of the given model formulation, that is, the degree to which the constraints of the formulation accurately describe the underlying polyhedron of integer-feasible solutions. As our computational results will show, presolve is a key factor in the speed with which we can solve mixed integer programs and is often the difference between a model being intractable and solvable, in some cases easily solvable. In this paper we describe the presolve functionality in the Gurobi commercial mixed integer programming code. This includes an overview, or taxonomy of the different methods that are employed, as well as more-detailed descriptions of several of the techniques, with some of them appearing, to our knowledge, for the first time in the literature.

2013 ◽  
Vol 437 ◽  
pp. 748-751
Author(s):  
Chi Yang Tsai ◽  
Yi Chen Wang

This research considers the problem of scheduling jobs on unrelated parallel machines with inserted idle times to minimize the earliness and tardiness. The aims at investigating how particular objective value can be improved by allowing machine idle time and how quality solutions can be more effectively obtained. Two mixed-integer programming formulations combining with three dispatching rules are developed to solve such scheduling problems. They can easy provide the optimal solution to problem involving about nine jobs and four machines. From the results of experiments, it is found that: (1) the inserted idle times decreases objective values more effectively; (2) three dispatching rules are very competitive in terms of efficiency and quality of solutions.


Author(s):  
Jakob Witzig ◽  
Ambros Gleixner

Two essential ingredients of modern mixed-integer programming solvers are diving heuristics, which simulate a partial depth-first search in a branch-and-bound tree, and conflict analysis, which learns valid constraints from infeasible subproblems. So far, these techniques have mostly been studied independently: primal heuristics for finding high-quality feasible solutions early during the solving process and conflict analysis for fathoming nodes of the search tree and improving the dual bound. In this paper, we pose the question of whether and how the orthogonal goals of proving infeasibility and generating improving solutions can be pursued in a combined manner such that a state-of-the-art solver can benefit. To do so, we integrate both concepts in two different ways. First, we develop a diving heuristic that simultaneously targets the generation of valid conflict constraints from the Farkas dual and the generation of improving solutions. We show that, in the primal, this is equivalent to the optimistic strategy of diving toward the best bound with respect to the objective function. Second, we use information derived from conflict analysis to enhance the search of a diving heuristic akin to classic coefficient diving. In a detailed computational study, both methods are evaluated on the basis of an implementation in the source-open-solver SCIP. The experimental results underline the potential of combining both diving heuristics and conflict analysis. Summary of Contribution. This original article concerns the advancement of exact general-purpose algorithms for solving one of the largest and most prominent problem classes in optimization, mixed-integer linear programs. It demonstrates how methods for conflict analysis that learn from infeasible subproblems can be combined successfully with diving heuristics that aim at finding primal solutions. For two newly designed diving heuristics, this paper features a thoroughly computational study regarding their impact on the overall performance of a state-of-the-art MIP solver.


Sign in / Sign up

Export Citation Format

Share Document