A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming

Similar documents
Branch-and-Cut and GRASP with Hybrid Local Search for the Multi-Level Capacitated Minimum Spanning Tree Problem

Graph Coloring via Constraint Programming-based Column Generation

Computational Integer Programming. Lecture 12: Branch and Cut. Dr. Ted Ralphs

3 No-Wait Job Shops with Variable Processing Times

Welcome to the Webinar. What s New in Gurobi 7.5

Noncommercial Software for Mixed-Integer Linear Programming

A. Atamturk. G.L. Nemhauser. M.W.P. Savelsbergh. Georgia Institute of Technology. School of Industrial and Systems Engineering.

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

3 INTEGER LINEAR PROGRAMMING

Limited Memory Rank-1 Cuts for Vehicle Routing Problems

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL

Outline. Modeling. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Models Lecture 5 Mixed Integer Programming Models and Exercises

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs

A Branch-and-Cut Algorithm for the Partition Coloring Problem

The MIP-Solving-Framework SCIP

Integer and Combinatorial Optimization: Clustering Problems

A hard integer program made easy by lexicography

Conflict Analysis in Mixed Integer Programming

Unit.9 Integer Programming

Wireless frequency auctions: Mixed Integer Programs and Dantzig-Wolfe decomposition

M2 ORO: Advanced Integer Programming. Part IV. Solving MILP (1) easy IP. Outline. Sophie Demassey. October 10, 2011

A LOWER BOUND FOR THE QAP BASED ON GRAPH THEORY AND LINEAR PROGRAMMING

Cover Inequalities. As mentioned above, the cover inequalities were first presented in the context of the 0-1 KP. The 0-1 KP takes the following form:

Minimum Weight Constrained Forest Problems. Problem Definition

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen

Experiments On General Disjunctions

Linear Programming. Course review MS-E2140. v. 1.1

Column Generation Method for an Agent Scheduling Problem

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem

Stable sets, corner polyhedra and the Chvátal closure

Martin W.P. Savelsbergh. Georgia Institute of Technology. School of Industrial and Systems Engineering

Two models of the capacitated vehicle routing problem

A Nonlinear Presolve Algorithm in AIMMS

α Coverage to Extend Network Lifetime on Wireless Sensor Networks

Solving lexicographic multiobjective MIPs with Branch-Cut-Price

Mathematical and Algorithmic Foundations Linear Programming and Matchings

A Relative Neighbourhood GRASP for the SONET Ring Assignment Problem

Algorithms II MIP Details

SAS/OR 14.1 User s Guide: Mathematical Programming. The Mixed Integer Linear Programming Solver

sbb COIN-OR Simple Branch-and-Cut

SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Algorithms for Integer Programming

An ejection chain method and a branch and price algorithm applied to the instances of the first international nurse rostering competition, 2010

2 XHSTT format XHSTT format was proposed by Post et al. [6] to specify timetabling problems. It is split into four main entities: Times Set of timeslo

Solutions to Assignment# 4

Automatic Scheduling of Hypermedia Documents with Elastic Times

The Mixed Integer Linear Programming Solver

SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING

Exploiting Degeneracy in MIP

A Note on the Separation of Subtour Elimination Constraints in Asymmetric Routing Problems

Using the OPTMODEL Procedure in SAS/OR to Solve Complex Problems. Rob Pratt, Senior R&D Manager, SAS/OR

Discrete Optimization with Decision Diagrams

A Computational Study of Bi-directional Dynamic Programming for the Traveling Salesman Problem with Time Windows

Motivation for Heuristics

Using Multiple Machines to Solve Models Faster with Gurobi 6.0

In this lecture, we ll look at applications of duality to three problems:

BiMuSA: An implementation for biobjective multiple sequence alignment problems

Fundamentals of Integer Programming

George Reloaded. M. Monaci (University of Padova, Italy) joint work with M. Fischetti. MIP Workshop, July 2010

Heuristics in MILP. Group 1 D. Assouline, N. Molyneaux, B. Morén. Supervisors: Michel Bierlaire, Andrea Lodi. Zinal 2017 Winter School

lpsymphony - Integer Linear Programming in R

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

Recursive column generation for the Tactical Berth Allocation Problem

Solving problems on graph algorithms

Towards Efficient Higher-Order Semidefinite Relaxations for Max-Cut

Math Models of OR: The Simplex Algorithm: Practical Considerations

TIM 206 Lecture Notes Integer Programming

Variable Neighborhood Search for Solving the Balanced Location Problem

On step fixed-charge hub location problem

How to use your favorite MIP Solver: modeling, solving, cannibalizing. Andrea Lodi University of Bologna, Italy

An Integer Programming Approach to Packing Lightpaths on WDM Networks 파장분할다중화망의광경로패킹에대한정수계획해법. 1. Introduction

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

Decision Problems. Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not.

AN EXACT ALGORITHM FOR A LOCATION-ROUTING PROBLEM. Martine Labbé 1, Inmaculada Rodríguez Martín 2, Juan José Salazar González 2

The Encoding Complexity of Network Coding

Applied Mixed Integer Programming: Beyond 'The Optimum'

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far:

Progress in Linear Programming-Based Algorithms for Integer Programming: An Exposition

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

Solutions for Operations Research Final Exam

On Applying Cutting Planes in DLL-Based Algorithms for Pseudo-Boolean Optimization

State-of-the-Optimization using Xpress-MP v2006

Separation Algorithms for 0-1 Knapsack Polytopes

Restrict-and-relax search for 0-1 mixed-integer programs

Integer Programming Chapter 9

Lookahead Branching for Mixed Integer Programming

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

5.3 Cutting plane methods and Gomory fractional cuts

What's New in Gurobi 7.0

Stable sets, corner polyhedra and the Chvátal closure

Branch-price-and-cut for vehicle routing. Guy Desaulniers

The Gurobi Optimizer. Bob Bixby

Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX)

The mixed vertex packing problem

Approximation Algorithms

Lagrangian Relaxation as a solution approach to solving the Survivable Multi-Hour Network Design Problem

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

Transcription:

A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming Samuel Souza Brito and Haroldo Gambini Santos 1 Dep. de Computação, Universidade Federal de Ouro Preto - UFOP Marcus Poggi 2 Dep. de Informática, Pontifícia Universidade Católica do Rio de Janeiro Abstract This work explores the fast creation of densely populated conflict graphs at the root node of the search tree for integer programs. We show that not only the Generalized Upper Bound (GUB) constraints are useful for the fast detection of cliques: these can also be quickly detected in less structured constraints in O(n log n). Routines for the aggressive separation and lifting of cliques and odd-holes are proposed. Improved bounds and a faster convergence to strong bounds were observed when comparing to the default separation routines found in the current version of the COmputation INfrastructure for Operations Research (COIN-OR) Branch and Cut solver. Keywords: odd-holes conflict graphs, integer programming, cutting planes, cliques, 1 Email: {samuelsouza,haroldo}@iceb.ufop.br 2 Email: poggi@inf.puc-rio.br

1 Introduction A conflict graph (CG) represents logical relations between binary variables. CGs are typically constructed using probing techniques [8] based on constraints analysis. On this work we propose an approach to speed up the creation of dense conflict graphs at the root node. Exact separation routines are employed to discover violated cliques and odd-holes, which are lifted in subsequent steps. In Section 2 we formally explain our approach to speedup the detection of logical implications; in Section 3 we present the cut separation and lifting routines; in Section 4 computational experiments are presented and finally, in Section 5 we conclude and discuss the results of this work. 2 Conflict Graphs in Integer Programming A conflict graph represents logical relations between binary variables. Vertices represent variables and their complements, and edges indicate that two variables represented by the vertices must not be set to specific values without violating one or more constraints. Given an Integer Program (IP), a conflict graph can be constructed using probing techniques based on feasibility considerations [1], checking the impact of fixing pairs of variables to different combinations of values. First, consider that each constraint i {1,..., m} can be written as j N a ij x j b i, where N = {1,..., n} is the index set of binary variables x, a ij is the coefficient for variable x j at constraint i and b i is the right-hand side of constraint i. Suppose we are analyzing two particular variables x j and x k with respect to constraint i. Consider that these variables are assigned with values u and v, respectively. Consider also that N i = {j N : a ij < 0}. Then, L x j=u, x k =v i = a il + a ij u + a ik v, is a lower bound for the value on the left-hand l N i \{j,k} side of the constraint i, considering the assignments x j = u and x k = v. If L x j=u, x k =v i > b i, a conflict is detected for these assignments. Performing these steps considering each pair of variables in each constraint, leads to the creation of a conflict graph in O(m n 2 ), where m is the number of constraints and n is the number of binary variables of the problem. Nevertheless, for some constraint types a large number of conflicts can be quickly discovered such as the Generalized Upper Bound constraints ( x j 1). The j N

following paragraphs describe the developed approach, which allows to detect cliques in individual constraints faster than O(n 2 ). Notations y ik and c ik are used to indicate the variable with the k-th smallest coefficient in constraint i and its coefficient. Constants n i and S i denote the number of non-zero variables and the sum of all negative coefficients of constraint i. Conflicting variables can be detected just by traversing constraints with variables sorted in non-decreasing order of their coefficients. Thus, conflicts in these constraints are discovered in O(n log n). At first, consider that at a given position k the summation of negative coefficients excluding the pair of variables at positions k and k+1 in constraint i is: D i [y ik, y ik+1 ] = S i min(0, c ik) min(0, c ik+1 ). Thus, the lower bound for the LHS of constraint i when variables with the k th and (k + 1) th smallest coefficients are fixed at one is: LHS i [y ik = 1, y ik+1 = 1] = D i [y ik, y ik+1 ] + c ik + c ik+1. Since this lower bound is monotonically non-decreasing as k increases, if LHS i [y ik = 1, y ik+1 = 1] > b i, then there is a clique involving the activation of all variables from position k until position n i. Moreover, we can discard the existence of such cliques by checking if LHS i [y ini 1 = 1, y ini = 1] b i. Analogously, cliques involving complements of variables from positions n i until k (i.e. traversing constraint i in non-increasing order) can be obtained or discarded by calculating the limit incurred from positions k and k 1: LHS i [y ik = 0, y ik 1 = 0] = D i [y ik, y ik 1 ]. When the detected clique does not involve all variables of the analyzed constraint, a binary search is performed for each variable outside of the clique. Given a variable y io outside of the clique detected in i, binary search returns the first variable y il that has conflict with y io. Thus, all variables from position l to n i have conflict with y io, forming another clique. The developed approach can detect all conflicts involving original variables and also all cliques involving complements of variables. Conflicts involving both original and complements of variables are not discovered. 3 Cutting Planes Linear programming relaxations can be significantly strengthened by the inclusion of inequalities derived from the Set Packing Polytope [6]. A clique inequality for a set C of conflicting variables has the form j C x j 1 and an odd-hole

inequality with conflicting variables C can be defined as x j C 1. 2 j C Our proposed clique separation routine has two main components. The first of them is a module to separate all violated cliques in the conflict subgraph induced by variables with fractional values at linear relaxation of root node. This module uses an improved version of the (exact) Bron-Kerbosch algorithm [3] that implements an optimized pivoting rule [2] to speed up the discovery of maximal cliques with large weight. The second component is a (heuristic) lifting module that considers the original conflict graph and iteratively tries to insert inactive variables, which are previously sorted in nondecreasing order of reduced cost. The developed odd-hole separation routine is the same used in [6]. The main idea is to construct an auxiliary bipartite graph from the original one and to search for shortest paths. We also heuristically lift the generated odd-holes, using strategy which is similar to used in the clique lifting. Iteratively, inactive variables previously sorted in non-decreasing order of reduced cost are selected and analyzed to be inserted in the generated odd-hole. A lifted odd-hole for variables C and a wheel center W can be written as: C 1 x j + x j 2 j W j C C 1. 2 4 Experimental Results Our code was written using the open source COIN-OR [5] CLP libraries to solve linear programs and the CGL library was used to compare with our cut generation routines. All experiments ran on a computer with an Intel Core i7 3.6GHz processor and 32GB of RAM. The first set of instances is the benchmark set of from MIPLIB 2010 [4], containing 87 instances. The second set of instances (INRC) comes from an IP formulation used to solve the Nurse Rostering Problem [7] of the International Nurse Rostering Competition, containing 60 instances. Characteristics of each problem set are presented in Table 1: columns (n), rows (m), non-zeros (nz). The notation (v,v,ṽ) indicates minimum, maximum and average values. The first experiment compares the construction of conflict graphs using pairwise detection (P D), which only detects cliques quickly in GUB constraints (conflicts in the remaining constraints are discovering by pairwise inspection), and our approach (F CG). Results are presented in Table 2:

number of edges ( E ) and total time in seconds spent in the construction of conflicts graphs for all instances of each set (T ime(sec)). Table 1 Characteristics of instance sets. Inst. Set Problem Sizes ( 10 3 ) n/n/ñ m/m/ m nz/nz/ nz MIPLIB 0.1/164.6/13.7 0.1/624.2/32.1 0.7/27678.7/515.9 INRC 9.8/63.6/29.7 3/29.2/11.7 201.1/1068.1/534.8 Inst. Set Table 2 Comparison between pairwise detection and our approach. PD FCG E / E / Ẽ ( 103 ) Time (sec) E / E / Ẽ ( 103 ) Time (sec) MIPLIB 0/11396,11/480,82 173,37 0/11396,11/477,71 23,91 INRC 2470,14/12807,28/6346,36 370,4 2469,70/12803,68/6344,88 369,99 The second experiment compares the cut generation routine of COIN-OR CGL (CGL) and our cut generation routines with (LNPSEP) and without lifting module (NPSEP). Figure 1 shows the average gap closed improvement for each instance set. After removing infeasible instances and instances where neither our code or CGL found any violated inequality, there were left 18 instances of MIPLIB and 60 of INRC set. The time limit was fixed in 150 seconds. While remarkable improvements in terms of bounds were obtained in the INRC instances (from 76.56% with CGL to 84.76% with LNPSEP), which have a large number of dense set partitioning and packing constraints, a modest improvement occurred in MIPLIB instances. The average gap closed for these instances was improved from 67.32%, obtained with CGL, to 68.83%, obtained with LNPSEP within the time limit imposed. 5 Conclusions We developed an approach for fast creation of densely CGs using the detection of cliques in less structured constraints. A speedup of up to 7 times was obtained in the overall time to create an initial conflict graph. We also proposed and implemented a cut separation procedure. Experiments show that our cut generator can produce significantly better dual bounds than COIN- OR CGL, specially in restricted execution times. The source code of this work

70 MIPLIB 85 INRC average gap closed (%) 65 60 55 50 45 40 LNPSEP 35 NPSEP 30 CGL 0 20 40 60 80 100 120 140 time (sec) average gap closed (%) 80 75 70 65 60 55 LNPSEP 50 NPSEP 45 CGL 0 20 40 60 80 100 120 140 time (sec) Figure 1. Dual bound improvement using LNPSEP, NPSEP and CGL routines. and detailed results of all experiments can be found on the project web page: https://github.com/hgs/npsep/wiki. References [1] Atamtürk, A., G. L. Nemhauser and M. W. Savelsbergh, Conflict graphs in solving integer programming problems, European Journal of Operational Research 121 (2000), pp. 40 55. [2] Brito, S. and H. G. Santos, Pivoting in the Bron-Kerbosch algorithm for maximum-weight clique detection (in portuguese)., in: Anais do XLIII Simpósio Brasileiro de Pesquisa Operacional, 2011, pp. 3052 3059. [3] Bron, C. and J. Kerbosch, Algorithm 457: finding all cliques of an undirected graph, Commun. ACM 16 (1973), pp. 575 577. [4] Koch, T., T. Achterberg and E. Andersen, MIPLIB 2010, Mathematical Programming Computation 3 (2011), pp. 103 163. [5] Lougee-Heimer, R., The Common Optimization INterface for Operations Research, IBM Journal of Research and Development 47 (2003), pp. 57 66. [6] Rebennack, S., Stable set problem: Branch & cut algorithms stable set problem: Branch & cut algorithms, in: C. A. Floudas and P. M. Pardalos, editors, Encyclopedia of Optimization, Springer US, 2009 pp. 3676 3688. [7] Santos, H. G., T. A. Toffolo, R. A. Gomes and S. Ribas, Integer programming techniques for the nurse rostering problem, Annals of Operations Research (2014). [8] Savelsbergh, M. W. P., Preprocessing and probing techniques for mixed integer programming problems, ORSA Journal on Computing 6 (1994), pp. 445 454.