-
Preprocessing and Cutting Planes with Conflict Graphs
Authors:
Samuel S. Brito,
Haroldo G. Santos
Abstract:
This paper addresses the development of conflict graph-based algorithms and data structures into the COIN-OR Branch-and-Cut (CBC) solver, including: $(i)$ an efficient infrastructure for the construction and manipulation of conflict graphs; $(ii)$ a preprocessing routine based on a clique strengthening scheme that can both reduce the number of constraints and produce stronger formulations;…
▽ More
This paper addresses the development of conflict graph-based algorithms and data structures into the COIN-OR Branch-and-Cut (CBC) solver, including: $(i)$ an efficient infrastructure for the construction and manipulation of conflict graphs; $(ii)$ a preprocessing routine based on a clique strengthening scheme that can both reduce the number of constraints and produce stronger formulations; $(iii)$ a clique cut separator capable of obtaining dual bounds at the root node LP relaxation that are $19.65\%$ stronger than those provided by the equivalent cut generator of a state-of-the-art commercial solver, $3.62$ times better than those attained by the clique cut separator of the GLPK solver and $4.22$ times stronger than the dual bounds obtained by the clique separation routine of the COIN-OR Cut Generation Library; and $(iv)$ an odd-cycle cut separator with a new lifting module to produce valid odd-wheel inequalities. The average gap closed by this new version of CBC was up to four times better than its previous version. Moreover, the number of mixed-integer programs solved by CBC in a time limit of three hours was increased by $23.53\%$.
△ Less
Submitted 11 January, 2021; v1 submitted 17 September, 2019;
originally announced September 2019.
-
Strong Bounds for Resource Constrained Project Scheduling: Preprocessing and Cutting Planes
Authors:
Janniele A. S. Araujo,
Haroldo Gambini Santos,
Bernard Gendron,
Sanjay Dominik Jena,
Samuel S. Brito,
Danilo S. Souzaa
Abstract:
Resource Constrained Project Scheduling Problems (RCPSPs) without preemption are well-known NP-hard combinatorial optimization problems. A feasible RCPSP solution consists of a time-ordered schedule of jobs with corresponding execution modes, respecting precedence and resources constraints. In this paper, we propose a cutting plane algorithm to separate five different cut families, as well as a ne…
▽ More
Resource Constrained Project Scheduling Problems (RCPSPs) without preemption are well-known NP-hard combinatorial optimization problems. A feasible RCPSP solution consists of a time-ordered schedule of jobs with corresponding execution modes, respecting precedence and resources constraints. In this paper, we propose a cutting plane algorithm to separate five different cut families, as well as a new preprocessing routine to strengthen resource-related constraints. New lifted versions of the well-known precedence and cover inequalities are employed. At each iteration, a dense conflict graph is built considering feasibility and optimality conditions to separate cliques, odd-holes and strengthened Chvátal-Gomory cuts. The proposed strategies considerably improve the linear relaxation bounds, allowing a state-of-the-art mixed-integer linear programming solver to find provably optimal solutions for 754 previously open instances of different variants of the RCPSPs, which was not possible using the original linear programming formulations.
△ Less
Submitted 6 September, 2019;
originally announced September 2019.
-
Optimal Decision Trees for the Algorithm Selection Problem: Integer Programming Based Approaches
Authors:
Matheus Guedes Vilas Boas,
Haroldo Gambini Santos,
Luiz Henrique de Campos Merschmann,
Greet Vanden Berghe
Abstract:
Even though it is well known that for most relevant computational problems different algorithms may perform better on different classes of problem instances, most researchers still focus on determining a single best algorithmic configuration based on aggregate results such as the average. In this paper, we propose Integer Programming based approaches to build decision trees for the Algorithm Selec…
▽ More
Even though it is well known that for most relevant computational problems different algorithms may perform better on different classes of problem instances, most researchers still focus on determining a single best algorithmic configuration based on aggregate results such as the average. In this paper, we propose Integer Programming based approaches to build decision trees for the Algorithm Selection Problem. These techniques allow automate three crucial decisions: (i) discerning the most important problem features to determine problem classes; (ii) grouping the problems into classes and (iii) select the best algorithm configuration for each class. To evaluate this new approach, extensive computational experiments were executed using the linear programming algorithms implemented in the COIN-OR Branch & Cut solver across a comprehensive set of instances, including all MIPLIB benchmark instances. The results exceeded our expectations. While selecting the single best parameter setting across all instances decreased the total running time by 22%, our approach decreased the total running time by 40% on average across 10-fold cross validation experiments. These results indicate that our method generalizes quite well and does not overfit.
△ Less
Submitted 24 September, 2019; v1 submitted 3 July, 2019;
originally announced July 2019.
-
Generic CP-Supported CMSA for Binary Integer Linear Programs
Authors:
Christian Blum,
Haroldo Gambini Santos
Abstract:
Construct, Merge, Solve and Adapt (CMSA) is a general hybrid metaheuristic for solving combinatorial optimization problems. At each iteration, CMSA (1) constructs feasible solutions to the tackled problem instance in a probabilistic way and (2) solves a reduced problem instance (if possible) to optimality. The construction of feasible solutions is hereby problem-specific, usually involving a fast…
▽ More
Construct, Merge, Solve and Adapt (CMSA) is a general hybrid metaheuristic for solving combinatorial optimization problems. At each iteration, CMSA (1) constructs feasible solutions to the tackled problem instance in a probabilistic way and (2) solves a reduced problem instance (if possible) to optimality. The construction of feasible solutions is hereby problem-specific, usually involving a fast greedy heuristic. The goal of this paper is to design a problem-agnostic CMSA variant whose exclusive input is an integer linear program (ILP). In order to reduce the complexity of this task, the current study is restricted to binary ILPs. In addition to a basic problem-agnostic CMSA variant, we also present an extended version that makes use of a constraint propagation engine for constructing solutions. The results show that our technique is able to match the upper bounds of the standalone application of CPLEX in the context of rather easy-to-solve instances, while it generally outperforms the standalone application of CPLEX in the context of hard instances. Moreover, the results indicate that the support of the constraint propagation engine is useful in the context of problems for which finding feasible solutions is rather difficult.
△ Less
Submitted 30 May, 2018;
originally announced May 2018.