Algorithms for the Bin Packing Problem with Conflicts

Similar documents
A Branch-and-Bound Algorithm for the Knapsack Problem with Conflict Graph

Conflict Graphs for Combinatorial Optimization Problems

Graph Coloring via Constraint Programming-based Column Generation

Algorithm Design Methods. Some Methods Not Covered

Solving the Maximum Cardinality Bin Packing Problem with a Weight Annealing-Based Algorithm

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen

Fundamentals of Integer Programming

T S 2 P ACK: A Two-Level Tabu Search for the Three-dimensional Bin Packing Problem

Bin Packing with Conflicts: a Generic Branch-and-Price Algorithm

Local search heuristic for multiple knapsack problem

GRASP with evolutionary path-relinking for the antibandwidth problem

Column Generation Based Primal Heuristics

Search Algorithms. IE 496 Lecture 17

Optimal Sequential Multi-Way Number Partitioning

Improved Bin Completion for Optimal Bin Packing and Number Partitioning

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

An Improved Hybrid Genetic Algorithm for the Generalized Assignment Problem

A List Heuristic for Vertex Cover

A Row-and-Column Generation Method to a Batch Machine Scheduling Problem

Pseudo-polynomial formulations for bin packing and cutting stock problems

The Size Robust Multiple Knapsack Problem

The Maximum Clique Problem

Approximation Basics

A hybrid improvement heuristic for the bin-packing problem and its application to the multiprocessor scheduling problem

A Hybrid Improvement Heuristic for the Bin Packing Problem

European Journal of Operational Research

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

Heuristic Algorithms for the Fixed-Charge Multiple Knapsack Problem

General Methods and Search Algorithms

Exact Solution of the Robust Knapsack Problem

A heuristic for the periodic rural postman problem

11. APPROXIMATION ALGORITHMS

Approximation Algorithms

A Branch-and-Cut Algorithm for the Double Traveling Salesman Problem with Multiple Stacks

3 INTEGER LINEAR PROGRAMMING

Exact Solution of the Robust Knapsack Problem

Approximation Algorithms

Branch-and-bound: an example

Algorithms for Integer Programming

LOCAL SEARCH FOR THE MINIMUM FUNDAMENTAL CYCLE BASIS PROBLEM

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

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

Algorithm Design and Analysis

Coping with the Limitations of Algorithm Power Exact Solution Strategies Backtracking Backtracking : A Scenario

Theorem 2.9: nearest addition algorithm

Distributed Code Assignment in Multihop Radio Networks: Object-Oriented Software Simulations

GC-HDCN: A Novel Wireless Resource Allocation Algorithm in Hybrid Data Center Networks

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

Two models of the capacitated vehicle routing problem

Approximation Algorithms

The Knapsack Problem with Conflict Graphs

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

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

GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI

Column Generation and its applications

Mathematical and Algorithmic Foundations Linear Programming and Matchings

A Tabu Search Heuristic for the Generalized Traveling Salesman Problem

Introduction to Combinatorial Algorithms

A 2-APPROXIMATION ALGORITHM FOR THE MINIMUM KNAPSACK PROBLEM WITH A FORCING GRAPH. Yotaro Takazawa Shinji Mizuno Tokyo Institute of Technology

Weight Annealing Heuristics for Solving the Two-Dimensional Bin Packing Problem

5.3 Cutting plane methods and Gomory fractional cuts

Outline of the talk. Local search meta-heuristics for combinatorial problems. Constraint Satisfaction Problems. The n-queens problem

Variable Neighborhood Search for solving Bandwidth Coloring Problem

Dynamic programming for the orienteering problem with time windows

Integer Programming. Xi Chen. Department of Management Science and Engineering International Business School Beijing Foreign Studies University

ACO and other (meta)heuristics for CO

A Relative Neighbourhood GRASP for the SONET Ring Assignment Problem

Hybrid Constraint Programming and Metaheuristic methods for Large Scale Optimization Problems

Reduction and Exact Algorithms for the Disjunctively Constrained Knapsack Problem

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

15.083J Integer Programming and Combinatorial Optimization Fall Enumerative Methods

Design and Analysis of Algorithms

6. Algorithm Design Techniques

Polynomial-Time Approximation Algorithms

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem

Column Generation: Cutting Stock

On Covering a Graph Optimally with Induced Subgraphs

Finding irreducible infeasible sets in inconsistent constraint satisfaction problems. Alain Hertz

Example: Map coloring

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

A Hybrid Recursive Multi-Way Number Partitioning Algorithm

An exact approach for the vehicle routing problem with two-dimensional loading constraints

COMP Analysis of Algorithms & Data Structures

7KH9HKLFOH5RXWLQJSUREOHP

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

HEURISTIC ALGORITHMS FOR THE GENERALIZED MINIMUM SPANNING TREE PROBLEM

Local Algorithms for Sparse Spanning Graphs

1 Unweighted Set Cover

3 No-Wait Job Shops with Variable Processing Times

Anale. Seria Informatică. Vol. X fasc Annals. Computer Science Series. 10 th Tome 1 st Fasc. 2012

An Ant Colony Optimization Meta-Heuristic for Subset Selection Problems

An Improved Algorithm for Matching Large Graphs

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

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.

5 (Monday, 08/14/2017)

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

Introduction to Algorithms. Lecture 24. Prof. Patrick Jaillet

Manpower Planning: Task Scheduling. Anders Høeg Dohn

Maximum Betweenness Centrality: Approximability and Tractable Cases

Accelerating Column Generation for a Survivable Network Design Problem

Transcription:

Algorithms for the Bin Packing Problem with Conflicts Albert E. Fernandes Muritiba *, Manuel Iori, Enrico Malaguti*, Paolo Toth* *Dipartimento di Elettronica, Informatica e Sistemistica, Università degli Studi di Bologna, Italy Dipartimento di Scienze e Metodi dell'ingegneria, Università degli Studi di Modena e Reggio Emilia, Italy

Outline Problem Definition LB UB Branch & Price An overall Algorithm Computational Experiments Conclusions

Bin Packing Problem with Conflicts (BPPC) We are given a set V of n items, where each item i has an associated positive weight w i, and n identical bins of capacity C. In addition, we are given an undirected graph G=(V,E) representing the conflicts between items. The problem is to assign all items to the minimum number of bins without exceeding C and in such a way that no bin contains conflicting items. 1 1 3 1 3 C = 6 The BPPC is NP Hard: very famous special cases: E(G) =0, Bin Packing Problem (BPP) C =, Vertex Coloring Problem (VCP)

Set Covering Formulation for the BPPC I = family of all the maximal subsets of V representing feasible bins Binary variables: 1 if bin I I is used x I = { 0 otherwise x min I: v I I x I I I x I 1 v V { 0,1 } I I (1) () (3)

Literature PTAS, special cases, complexity results: H.L. Bodlaender and K. Jansen. On the complexity of scheduling incompatible jobs with unit times. (1993) P. Hansen, A. Hertz, and J. Kuplinsky. Bounded vertex colorings of graphs. (1993) K. Jansen and S. Oehring. Approximation algorithms for time constrained scheduling. (1997) K. Jansen. An approximation scheme for bin packing with conflicts. (1999) U. Pferschy and J. Schauer. The Knapsack Problem with Conflict Graphs. (008, available at optimization online) Computational paper: M. Gendreau, G. Laporte, and F. Semet. Heuristics and lower bounds for the bin packing problem with conficts. (004)

Bounding Procedures: BPP Dual feasible functions (Fekete and Schepers 001) (include the continuous relaxation bound and the bound by Martello and Toth 1990 as special cases)

Bounding Procedures: VCP The cardinality of any clique of the incompatibility graph G represents a LB for the problem. A fast greedy algorithm (Johnson 1974) can be used to compute a maximal clique K of G(V,E): Given an ordering of the vertices, consider the candidate vertices W. Set W=V, K= 0 and iteratively: Choose the vertex v of W of maximum degree and add it to the current clique K. Remove v and all vertices not adjacent to the clique from W. Gendreau, Laporte and Semet (004) proposed to consider G (V,E ) with E = E U {(i,j): w i +w j >C} and to compute K of G.

Bounding Procedures: VCP 1 1 7 4 K 8 C = 9 E E \E Problem: heavy vertices systematically have a high degree in G =(V, E ).

Bounding Procedures: VCP A different idea: compute a maximal clique K of G=(V,E) through Johnson algorithm. Then, consider G (V,E ) and expand K to K (possibly different from K ) in G. On average, K > K. 1 1 7 4 K K 8 C = 9 E E \E

Bounding Procedures: constrained packing lower bound LB cp Proposed by Gendreau, Laporte and Semet (004). Compute a maximal clique K of G by means of Johnson algorithm; A bin is used for each of the clique items, and then the largest amount of items that can fit in these bins are inserted, possibly in a fractional way, but by satisfying weight and compatibility constraints. For items which cannot fit, new bins are used; We propose to improve the maximal clique computation procedure: compute K on graph G and then expand it to K on G =(V,E ); on average this improves the bound.

Bounding Procedures: Matching 1 1 5 5 5 C = 10 3 bins are needed, but all previous bounds would say that suffice. We propose the following matching based LB match : Select (in a greedy fashion) a maximal inclusion subset S of items such that at most can fit into one bin. Let M be a maximum cardinality matching of S on the complement of graph G (compatibility graph). LB match = M + ( S M ) = S M 1 bin for each matched pair 1 bin for singles

Greedy Heuristics: GLS Gendreau, Laporte and Semet (004) propose a set of greedy heuristics: Some are generalizations of the well known heuristics for the BPP, where items are ordered by non increasing weight and then inserted into bins: First Fit Decreasing, Best Fit Decreasing, Next Fit Decreasing Others integrate procedures for the BPP and VCP in more complex algorithms. We improve these algorithms by considering orderings of the items based on a surrogate weight, which considers also the degree of the items in G: w' i = a wi C + (1 δ ( i) a) E with 0 a 1

Evolutionary Algorithm Inspired from the Evolutionary Algorithm proposed by M., Monaci and Toth for the VCP (008) begin Initialize the pool with poolsize solutions while not (problem is solved or timelimit) do Randomly choose two solutions s 1, s from the pool Apply the cross over to (s 1, s ) and generate s 3 Improve s 3 through the Tabu Search procedure for L iterations Replace the worst solution in the pool with s 3 end

Tabu Search procedure Solution of the BPPC: partition of the items set V into subsets whose weights do not exceed C and do not contain conflicting items (independent sets). Impasse Class Neighborhood (VCP, Morgenstern 1996): a target k is required for the number of bins to be used. A solution s is a partition of V in k+1 bins in which all bins except possibly the last one are feasible. Making the bin k+1 empty gives a feasible solution using k bins.

Tabu Search procedure (ctd.) To move from a solution s to a neighbor solution s : randomly choose an unassigned item v (in bin k+1); assign v to a bin k, and move all items w of this bin, which are conflicting with v, to bin k+1; continue moving items to bin k+1 until the capacity constraint is not satisfied. 1 1 1 w 1 v 1 w 1 v 1 w 1 C = 4 v v

Set Covering Formulation for the BPPC I = family of all the subsets of V representing feasible bins ={ Binary variables: 1 if bin I I is used x I 0 otherwise min z = x (6) I I I s.t. (7) I: v I x I x I 1 v V { 0,1 } I I (8) Solve the LP relaxation of Model (6) (8), get z*. A valid lower bound is LB SC = z *

Set Covering Formulation for the BPPC: column generation Model (6) (8) has an exponential number of variables, thus to solve it we have to use column generation techniques, i.e. to solve a Knapsack Problem with Conflicts (slave problem) to determine the bin of maximum reduced profit: max i V z z i i + i V w z i z j i π z i 1 i C i, j : ( i, j) E (10) (11) (1) { 0,1 } i V (13) Where π i are the optimal values of the dual variables corresponding to (7)

Set Covering Formulation for the BPPC: column generation In order to solve the Knapsack Problem with Conflicts (slave model (10) (13)) we use a greedy algorithm: items are considered according to different orderings, and inserted into the knapsack (bin) if they fit. If the greedy algorithm cannot find a positive reduced profit column (bin), we solve model (10) (13) with Cplex. In order to speed up the computation: we initialize the set of columns with very good columns from heuristic solutions; when solving model (10) (13) with Cplex, we stop as soon as a positive reduced profit column is found; we replace the incompatibility constraints (1) by a set of stronger clique constraints.

Set Covering Formulation for the BPPC: a Branch&Price algorithm If the solution of the continuous relaxation of model (6) (8) is not integer, we embed the column generation algorithm in a branching scheme, thus obtaining a Branch&Price algorithm. We branch on the variables, and choose as branching one the most fractional one (experimentally, faster than branching on the edges) We first set the branching variables to 1 and then to 0. We adopt a Depth First strategy.

An overall 4 Phases algorithm We combined in an overall algorithm for BPPC the most effective (according to computational evidence) procedures presented so far. The algorithm starts with fast procedures and, if the problem is not solved, moves to more effective (and time consuming) ones: I Phase initial LB: DFF and CP improved in the clique computation; initial UB: improved heuristics. If UB=LB stop. II Phase Evolutionary Algorithm with a given time limit (if the problem is solved for a value of k>lb, we set k=k 1 and iterate). If UB=LB stop. III Phase solve the continuous relaxation of the set covering formulation SC, thus improving LB (and possibly obtaining the optimal solution if the solution of the SC relaxation is integer). If UB=LB stop IV Phase Apply the Branch & Price algorithm.

Computational Experiments All our programs were written in C and tested on a Pentium IV at 3GHz with GB RAM, under Linux operating system. We compare our results with those obtained by Gendreau, Laporte and Semet (004). They considered 8 classes of instances from Falkenauer (1996), each class containing 10 BPP instances. By adding, for the instances of each class, random incompatibility graphs with densities varying from 0 to 0.9, they obtained 800 instances (100 for each class). We generate 800 instances according to their description, and re implemented their algorithms in order to have a fair (within the limits of our implementation) comparison. instances are available at www.or.deis.unibo.it

Computational Experiments When needed, we apply the Evolutionary Algorithm with a time limit of 10 seconds, and we give to the B&P a time limit of 10 hours. We initialize the pool of columns of the SC formulation with all the columns corresponding to the feasible solutions found by the greedy heuristics and the Evolutionary Algorithm. This speeds up the computation of a factor.

Computational Experiments: ratio UB/LB 1,045 1,04 1,035 1,03 1,05 1,0 GLS FIMT I Phase 1,015 1,01 1,005 1 1 3 4 5 6 7 8 GLS /800 optimal solutions;.9 s average computing time FIMT (I Phase) 364/800 optimal solutions; 0.5 s average computing time

Computational Experiments: ratio UB/LB 1,045 1,04 1,035 1,03 1,05 1,0 GLS FIMT I Phase FIMT II Phase 1,015 1,01 1,005 1 1 3 4 5 6 7 8 GLS /800 optimal solutions;.9 s avg. computing time FIMT (I Phase) 364/800 optimal solutions; 0.5 s avg. computing time FIMT (II Phase) 499/800 optimal solutions; 55.0 s avg. computing time

Computational Experiments: ratio UB/LB 1,045 1,04 1,035 1,03 1,05 1,0 GLS FIMT I Phase FIMT II Phase FIMT III Phase 1,015 1,01 1,005 1 1 3 4 5 6 7 8 GLS /800 optimal solutions;.9 s avg. computing time FIMT (I Phase) 364/800 optimal solutions; 0.5 s avg. computing time FIMT (II Phase) 499/800 optimal solutions; 55.0 s avg. computing time FIMT (III Phase) 60/800 optimal solutions; 60.6 s avg. computing time

Computational Experiments: ratio UB/LB 1,007 1,006 1,005 1,004 1,003 FIMT III Phase FIMT IV Phase 1,00 1,001 1 1 3 4 5 6 7 8 FIMT (III Phase) 60/800 optimal solutions; 60.6 s avg. computing time FIMT (IV Phase) 780/800 optimal solutions; 1361.1 s avg. computing time (790/800 with a special set up of the parameters)

To conclude We presented new lower and upper bounds for the BPPC problem, exploiting the double nature of the problem (combination of VCP and BPP). We proposed an algorithm which integrates fast lower bound computations, heuristics and metaheuristics. Solutions generated during the computation are used to initialize the pool of a Branch & Price algorithm. Computational experiments show that the new approach improves on previously proposed approaches: in comparable computing time, we can solve 364 (versus ) instances over 800. With larger computing time, we can solve 780 of 800 instances of the considered set. Thank you for your attention