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

Similar documents
Motivation for Heuristics

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

Applied Mixed Integer Programming: Beyond 'The Optimum'

The Gurobi Optimizer. Bob Bixby

Pivot and Gomory Cut. A MIP Feasibility Heuristic NSERC

Primal Heuristics in SCIP

The Gurobi Solver V1.0

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

Column Generation Based Primal Heuristics

The MIP-Solving-Framework SCIP

A Parallel Macro Partitioning Framework for Solving Mixed Integer Programs

Primal Heuristics for Branch-and-Price Algorithms

On Mixed-Integer (Linear) Programming and its connection with Data Science

Algorithms II MIP Details

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

Exploiting Degeneracy in MIP

Repairing MIP infeasibility through Local Branching

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

Alternating Criteria Search: A Parallel Large Neighborhood Search Algorithm for Mixed Integer Programs

A Feasibility Pump heuristic for general Mixed-Integer Problems

Fundamentals of Integer Programming

February 19, Integer programming. Outline. Problem formulation. Branch-andbound

15.083J Integer Programming and Combinatorial Optimization Fall Enumerative Methods

Active-Constraint Variable Ordering for Faster Feasibility of Mixed Integer Linear Programs

Experiments On General Disjunctions

3 INTEGER LINEAR PROGRAMMING

Randomized Rounding: A Primal Heuristic for General Mixed Integer Programming Problems

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

Integer Programming Chapter 9

Branch-and-cut implementation of Benders decomposition Matteo Fischetti, University of Padova

Comparisons of Commercial MIP Solvers and an Adaptive Memory (Tabu Search) Procedure for a Class of 0-1 Integer Programming Problems

Exact Algorithms for Mixed-Integer Bilevel Linear Programming

Implementing a B&C algorithm for Mixed-Integer Bilevel Linear Programming

Modern Benders (in a nutshell)

Multi-objective Optimization

The University of Jordan Department of Mathematics. Branch and Cut

A hard integer program made easy by lexicography

A Local Branching Heuristic for Mixed-Integer Programs with 2-Level Variables, with an Application to a Telecommunication Network Design Problem

Exact solutions to mixed-integer linear programming problems

Column Generation based Primal Heuristics

lpsymphony - Integer Linear Programming in R

The feasibility pump. Matteo Fischetti Fred Glover Andrea Lodi. 1. Introduction

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

In this paper we address the problem of finding a feasible solution of a generic MIP problem of the form

Penalty Alternating Direction Methods for Mixed- Integer Optimization: A New View on Feasibility Pumps

DETERMINISTIC OPERATIONS RESEARCH

Improving the heuristic performance of Benders decomposition

RENS. The optimal rounding. Timo Berthold

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

2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2

Primal Heuristics for Mixed Integer Programs with a Staircase Structure

Optimization Methods in Management Science

Metaheuristic Optimization with Evolver, Genocop and OptQuest

Escaping Local Optima: Genetic Algorithm

Noncommercial Software for Mixed-Integer Linear Programming

A LARGE SCALE INTEGER AND COMBINATORIAL OPTIMIZER

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

THE Multiconstrained 0 1 Knapsack Problem (MKP) is

Bi-Objective Optimization for Scheduling in Heterogeneous Computing Systems

9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)

Benders in a nutshell Matteo Fischetti, University of Padova

Algorithms for Decision Support. Integer linear programming models

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

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

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

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

Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University

Stochastic Separable Mixed-Integer Nonlinear Programming via Nonconvex Generalized Benders Decomposition

Pure Cutting Plane Methods for ILP: a computational perspective

Advanced Use of GAMS Solver Links

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

OPTIMIZAÇÃO E DECISÃO 09/10

A hybrid Evolutionary Algorithm for the Dynamic Resource Constrained Task Scheduling Problem

Global Solution of Mixed-Integer Dynamic Optimization Problems

The goal of this paper is to develop models and methods that use complementary

Comparisons of Commercial MIP Solvers and an Adaptive Memory (Tabu Search) Procedure for a Class of 0 1 Integer Programming Problems

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

Discrete Optimization with Decision Diagrams

Cutting Planes for Some Nonconvex Combinatorial Optimization Problems

Received: 27 October 2008 / Accepted: 1 September 2009 / Published online: 17 September 2009 Springer and Mathematical Programming Society 2009

An Improved Hybrid Genetic Algorithm for the Generalized Assignment Problem

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

Improving CP-based Local Branching via Sliced Neighborhood Search

Outline of the module

Linear & Integer Programming: A Decade of Computation

Local Search (Greedy Descent): Maintain an assignment of a value to each variable. Repeat:

Algorithms for the Bin Packing Problem with Conflicts

SCIP Workshop 2014, Berlin, September 30, Introduction to SCIP

Machine Learning for Software Engineering

Gomory Reloaded. Matteo Fischetti, DEI, University of Padova (joint work with Domenico Salvagnin) 1 MIP 2010

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

A Local Dominance Procedure for Mixed-Integer Linear Programming

Primal Heuristics for Branch-and-Price

Primal Heuristics for Branch-and-Price: the assets of diving methods

Hybrid Constraint Programming and Metaheuristic methods for Large Scale Optimization Problems

Improved Gomory Cuts for Primal Cutting Plane Algorithms

Discrete (and Continuous) Optimization WI4 131

Integer Programming as Projection

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Transcription:

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

Primal heuristics Original paper: Fischetti, M. and Lodi, A. (2011). Heuristics in mixed integer programming. Wiley Encyclopedia of Operations Research and Management Science LP-based heuristics Feasibility pump Pivoting methods Rounding and diving OCTANE MILP-based heuristics Local branching RINS Evolutionary algorithms 1 / 23

Pivoting methods 1 Pivoting methods 2 Relaxation Induced Neighborhood Search (RINS) 3 An evolutionary algorithm within MILP 4 Conclusion 2 / 23

Pivoting methods Pivoting Methods Balas, E. and Martin, C. H. (1980). Pivot and complement a heuristic for 0-1 programming. Management Science MILP with binary and continuous variables, no integer variables MILP formulation min x c T x s. t. Ax b x j binary, j B x j continuous, j C 3 / 23

Pivoting methods Pivoting Methods Given a solution to the LP-relaxation Non-basic variables: at lower or upper bound, x i = l i or x i = u i Basic variables: between lower and upper bound, l i < x i < u i (nondegeneracy) Binary variables Either on lower or on upper bound If all binary variables are non-basic, solution is feasible Pivoting methods tries to pivot binary variables out of basis 4 / 23

Pivoting methods Pivoting Methods - Pivot steps Pivot types 1 Pivot binary basic variable out of basis, maintaining primal feasibility. 2 Reduce the binary infeasibility i B min{x i x i, x i x i } 3 Pivot binary basic variable out of basis, allowing primal infeasibility. 5 / 23

Pivoting methods Pivoting Methods - Extension Pivot and shift - integer variables and improving solution Combined with local branching Combined with tabu search Pivot, cut, and dive Pivot and Gomory cut 6 / 23

Relaxation Induced Neighborhood Search (RINS) 1 Pivoting methods 2 Relaxation Induced Neighborhood Search (RINS) 3 An evolutionary algorithm within MILP 4 Conclusion 7 / 23

Relaxation Induced Neighborhood Search (RINS) Relaxation Induced Neighborhood Search (RINS) Part of the MILP-based heuristics. Improvement heuristic: start with reference feasible solution x of an MILP, and try to find a better one. Main idea: Uses the local neighborhood search principle, using information from the LP relaxation solution to build the neighborhood. Observation: often the incumbent solution x of an MILP and the optimal LP-relaxation x have a few of variables set to the same values. These values form a partial solution of good objective value. Neighborhood exploration is then formulated as a sub-milp. 8 / 23

Relaxation Induced Neighborhood Search (RINS) RINS algorithm At each node of the branch-and-cut tree, we have the incumbent x, and x from the LP-relaxation at the node, and do the following: 1 Fix the integer variables that have the same value in x and x ; 2 Set an objective cutoff based on the objective value of the current incumbent; 3 Solve the associated sub-milp on the remaining variables (a simplified and smaller in size MILP!); 4 If incumbent solution is improved, x is updated in the rest of the tree. Sub-MILP in RINS min x c T x s. t. Ax b c T x (1 ɛ) c T x for some ɛ > 0 x j = x j j I, with x j = x j x j integer, j I 9 / 23

Relaxation Induced Neighborhood Search (RINS) RINS in practice Each sub-milp might be large and difficult to solve: the neighborhood exploration if often truncated, by setting a limited number of nodes nl. RINS can be invoked at every node of the branch-and-cut tree: very suitable for integration within solvers. (The LP relaxation is potentially different at each node, so neighborhood diversification is well performed) Yet, neighborhoods from consecutive nodes might be similar: we don t invoke RINS at each node, but every f node (f 1). Another way to control the frequence of RINS use is to impose a minimum ratio of variables mfr to fix allowing to invoke RINS. It is embedded in CPLEX 12.6! 10 / 23

Relaxation Induced Neighborhood Search (RINS) RINS results and discussion (a) Small spread Figure: Taken from [Danna et al., 2005] 1 (b) Large spread 1 Danna, E., Rothberg, E., and Le Pape, C. (2005). Exploring relaxation induced neighborhoods to improve mip solutions. Mathematical Programming, 102(1):71 90 11 / 23

Relaxation Induced Neighborhood Search (RINS) RINS discussion with LB The main difference between Local Branching and RINS is that if the former uses soft-fixing (with addition of a linear inequality), the latter uses hard-fixing (by considering the LP relaxation into account). That constitutes the biggest advantage of RINS: the sub-milp are smaller. Also, RINS can be invoked more often since x changes between the nodes. RINS theoretically leads to faster improvements, but lacks the flexibility of LB... 12 / 23

Relaxation Induced Neighborhood Search (RINS) RINS variants DINS: Distance Induced Neighborhood Search Idea: the most promising solutions are those close to x. The neighborhood is defined by the distance inequality: j I xj xj j I xj xj If xj xj <0.5, xj = x j, otherwise we set the bounds of the variables so that the distance with x cannot increase. RENS: Relaxation Enforced Neighborhood Search Idea: define a reduced MILP as the set of all integer solutions which can be obtained by rounding a relaxed solution x. It is basically a sophisticated rounding heuristic, and does not require an incumbent solution to work with. 13 / 23

An evolutionary algorithm within MILP 1 Pivoting methods 2 Relaxation Induced Neighborhood Search (RINS) 3 An evolutionary algorithm within MILP 4 Conclusion 14 / 23

An evolutionary algorithm within MILP Evolutionary algorithm within MILP Evolutionary algorithms are the parents of genetic algorithms (GA) The four important steps of GA are found in this heuristic: Population: a pool of feasible solutions (hopefully good ones) Combination: take two (or more) solutions and merge into a child Mutation: randomly change part of the solution Selection: procedure for selecting solutions to perform previous actions Unlike DNA, simply changing "bits" of an MILP solution will not generate a new feasible solution need to define a method for adressing this issue 15 / 23

An evolutionary algorithm within MILP Evolutionary algorithm: ensuring feasibility Combination and mutation steps follow a similar procedure: select some variables to change (permute if binary) solve the sub-milp using RINS (or other heuristics) For mutation, an adaptive approach for choosing the fraction of variables to change is given. (a) Combination process (b) Mutation process Figure: Taken from [Rothberg, 2007] 2 2 Rothberg, E. (2007). An evolutionary algorithm for polishing mixed integer programming solutions. INFORMS Journal on Computing, 19(4):534 541 16 / 23

An evolutionary algorithm within MILP Evolutionary algorithm: selection process When selecting solutions for combination & mutation a preference should be given to "good" solutions, but selecting systematically the best solutions will drastically reduce the diversity Suggested selection process: randomly pick first solution from pool, then second solution is selected from sub-pool of better solutions 17 / 23

An evolutionary algorithm within MILP Evolutionary algorithm: results Computationally expensive use for improving already acceptable solution (found with RINS, local branching and guided diving) Compare results from (i) default CPLEX, (2) RINS, local branching and guided diving and (3) polishing (evolutionary algorithm) Figure: Taken from [Rothberg, 2007] 18 / 23

An evolutionary algorithm within MILP Evolutionary algorithm: discussion Improves solutions for some problems, but not all lack of diversity or neighborhood size General framework applicable to many different problems Computationally expensive: solves many (60 for example) sub-milps cannot rely sollely on this Implemented in CPLEX 12.4 (and following) 19 / 23

Conclusion 1 Pivoting methods 2 Relaxation Induced Neighborhood Search (RINS) 3 An evolutionary algorithm within MILP 4 Conclusion 20 / 23

Conclusion Conclusion Various heuristics used for different stages of a problem solving need to choose one/some methods All heuristics have pros and cons, and should be used for an adapted problem. We are just scratching the surface" in terms of all existing heuristics. 21 / 23

Conclusion Thank you for you attention Questions? 22 / 23

Conclusion References Balas, E. and Martin, C. H. (1980). Pivot and complement a heuristic for 0-1 programming. Management Science. Danna, E., Rothberg, E., and Le Pape, C. (2005). Exploring relaxation induced neighborhoods to improve mip solutions. Mathematical Programming, 102(1):71 90. Fischetti, M. and Lodi, A. (2011). Heuristics in mixed integer programming. Wiley Encyclopedia of Operations Research and Management Science. Rothberg, E. (2007). An evolutionary algorithm for polishing mixed integer programming solutions. INFORMS Journal on Computing, 19(4):534 541. 23 / 23