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

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

Algorithms for the Bin Packing Problem with Conflicts

CS 331: Artificial Intelligence Local Search 1. Tough real-world problems

A Hybrid Improvement Heuristic for the Bin Packing Problem

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen

Algorithm Design Methods. Some Methods Not Covered

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

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

A simulated annealing algorithm for the vehicle routing problem with time windows and synchronization constraints

Research Incubator: Combinatorial Optimization. Dr. Lixin Tao December 9, 2003

Optimization Techniques for Design Space Exploration

Algorithms for Integer Programming

Methods and Models for Combinatorial Optimization Heuristis for Combinatorial Optimization

Task Allocation for Minimizing Programs Completion Time in Multicomputer Systems

Hardware-Software Codesign

Term Paper for EE 680 Computer Aided Design of Digital Systems I Timber Wolf Algorithm for Placement. Imran M. Rizvi John Antony K.

Non-deterministic Search techniques. Emma Hart

Algorithm Design (4) Metaheuristics

Simulated Annealing. G5BAIM: Artificial Intelligence Methods. Graham Kendall. 15 Feb 09 1

A new Optimization Algorithm for the Design of Integrated Circuits

Fundamentals of Integer Programming

5.3 Cutting plane methods and Gomory fractional cuts

A Hybrid Searching Method for the Unrelated Parallel Machine Scheduling Problem

Column Generation Based Primal Heuristics

Single machine sequencing, Earliness/ tardiness, Idle. Insert: Simulated Annealing and Branch-and-Bound

Parallel Branch & Bound

A Tabu Search Heuristic for the Generalized Traveling Salesman Problem

DOCUMENT DE TRAVAIL

ACO and other (meta)heuristics for CO

Column Generation and its applications

3 No-Wait Job Shops with Variable Processing Times

Heuristic Optimization Introduction and Simple Heuristics

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

Plowing with Precedence

Introduction to Artificial Intelligence 2 nd semester 2016/2017. Chapter 4: Beyond Classical Search

An Improved Hybrid Genetic Algorithm for the Generalized Assignment Problem

GRASP with evolutionary path-relinking for the antibandwidth problem

A Firework Algorithm for Solving Capacitated Vehicle Routing Problem

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

α Coverage to Extend Network Lifetime on Wireless Sensor Networks

A Course on Meta-Heuristic Search Methods for Combinatorial Optimization Problems

Hardware/Software Codesign

Constructive and destructive algorithms

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

An Integrated Design Algorithm for Detailed Layouts Based on the Contour Distance

3. Genetic local search for Earth observation satellites operations scheduling

A Tabu Search solution algorithm

Optimization Approaches for Solving Chance Constrained Stochastic Orienteering Problems

Improved K-Means Algorithm for Capacitated Clustering Problem

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

An ILS Algorithm for the Team Orienteering Problem with Variable Profit

Using Decomposition Techniques for Solving Large-Scale Capacitated Hub Location Problems with Single Assignment

APPROXIMATION ALGORITHMS FOR GEOMETRIC PROBLEMS

Open Vehicle Routing Problem Optimization under Realistic Assumptions

Resource Constrained Project Scheduling. Reservations and Timetabling

Variable Neighborhood Search for the Dial-a-Ride Problem

A Kruskal-Based Heuristic for the Rooted Delay-Constrained Minimum Spanning Tree Problem

Graph Coloring via Constraint Programming-based Column Generation

SPATIAL OPTIMIZATION METHODS

Theorem 2.9: nearest addition algorithm

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)

Solving Capacitated P-Median Problem by Hybrid K-Means Clustering and Fixed Neighborhood Search algorithm

A SIMULATED ANNEALING ALGORITHM FOR SOME CLASS OF DISCRETE-CONTINUOUS SCHEDULING PROBLEMS. Joanna Józefowska, Marek Mika and Jan Węglarz

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

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

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

Genetic Algorithms and Genetic Programming Lecture 13

Optimal Cutting Problem

Local search. Heuristic algorithms. Giovanni Righini. University of Milan Department of Computer Science (Crema)

A Non-exact Approach and Experiment Studies on the Combinatorial Auction Problem

COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS

Pre-requisite Material for Course Heuristics and Approximation Algorithms

Introduction (7.1) Genetic Algorithms (GA) (7.2) Simulated Annealing (SA) (7.3) Random Search (7.4) Downhill Simplex Search (DSS) (7.

Uninformed Search Methods. Informed Search Methods. Midterm Exam 3/13/18. Thursday, March 15, 7:30 9:30 p.m. room 125 Ag Hall

The ILP approach to the layered graph drawing. Ago Kuusik

Robust Partitioned Scheduling for Real-Time Multiprocessor Systems

Simplicial Global Optimization

A Randomized Algorithm for Minimizing User Disturbance Due to Changes in Cellular Technology

Modeling and Solving Location Routing and Scheduling Problems

Parallel Computing in Combinatorial Optimization

Place and Route for FPGAs

Packing Virtual Machines onto Servers

A tabu search based memetic algorithm for the max-mean dispersion problem

Improving Packing Algorithms for Server Consolidation

Local search heuristic for multiple knapsack problem

Introduction to Optimization

A List Heuristic for Vertex Cover

A Binary Integer Linear Programming-Based Approach for Solving the Allocation Problem in Multiprocessor Partitioned Scheduling

REM WORKING PAPER SERIES. Iterated Local Search Algorithm for the Vehicle Routing Problem with Backhauls and Soft Time Windows.

The Size Robust Multiple Knapsack Problem

A Parallel Architecture for the Generalized Traveling Salesman Problem

An evolutionary algorithm for the one-dimensional cutting stock. problem

Conflict Graphs for Combinatorial Optimization Problems

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

Artificial Intelligence

mywbut.com Informed Search Strategies-II

Instituto Nacional de Pesquisas Espaciais - INPE/LAC Av. dos Astronautas, 1758 Jd. da Granja. CEP São José dos Campos S.P.

An Overview of Search Algorithms With a Focus in Simulated Annealing

Transcription:

Solving the Maximum Cardinality Bin Packing Problem with a Weight Annealing-Based Algorithm Kok-Hua Loh Nanyang Technological University Bruce Golden University of Maryland Edward Wasil American University 11 th INFORMS Computing Society Conference January 2009

Outline of Presentation Maximum Cardinality Bin Packing Problem (MCBPP) Weight Annealing Solving the MCBPP with Weight Annealing Computational Results Conclusions 1

Maximum Cardinality Bin Packing Problem Problem statement Assign a subset of n items with sizes t i to a fixed number of m bins of identical capacity c Maximize the number of items assigned Formulation maximize x (1) subject to n m i= 1 j= 1 n i= 1 j= 1 ij t x c j {1,..., m} m i ij x 1 i {1,..., n} ij x = 0 or 1 i {1,..., n}, j {1,..., m} ij where x ij = 1 if item i is assigned to bin j and 0 otherwise 2

Maximal Cardinality Bin Packing Problem Practical applications Computing (Labbé, Laporte, and Martello 2003) Assign variable-length records to a fixed amount of storage Maximize the number of records stored in fast memory to ensure a minimum access time to the records Managing real-time multi-processors (Coffman, Leung, and Ting 1978) Maximize the number of completed tasks with varying job durations before a given deadline Computer design (Ferreira, Martin, and Weismantel 1996) Designing processors for mainframe computers Layout of electronic circuits 3

Weight Annealing Allow a greedy heuristic to escape from a poor local optimum by changing the problem landscape and making use of the history of each optimization run Ninio and Schneider (2005) Elidan et al. (2002) Assign different weights to different parts of the solution space to guide the computational effort to poorly solved regions Allow both uphill and downhill moves Track changes in objective function value, as well as how well every region is being solved 4

Weight Annealing Ninio and Schneider (2005) provide an outline of weight annealing Step 1. Start with an initial configuration from a greedy heuristic solution using the original problem landscape Step 2. Determine a new set of weights based on the previous optimization run and insight into the problem Step 3. Perform a new run of the greedy heuristic using the new weights Step 4. Return to Step 2 until a stopping criterion is met Ninio and Schneider (2005) applied weight annealing to the TSP Five problems with 127 to 1379 nodes Results competitive with simulated annealing 5

One-Dimensional Bin Packing Problem (1BP) Pack a set of N = {1, 2,, n} items, each with size t i, i =1, 2,, n, into identical bins, each with capacity C Minimize the number of bins without violating the capacity constraints Large literature on solving this NP-hard problem Loh, Golden, and Wasil (2008) 6

Outline of Weight Annealing Algorithm Construct an initial solution using first-fit decreasing procedure Compute and assign weights to items to distort sizes according to the packing solutions of individual bins Perform local search by swapping items between all pairs of bins Carry out re-weighting based on the result of the previous optimization run Reduce weight distortion according to a cooling schedule 7

Neighborhood Search for Bin Packing Problem From a current solution, obtain the next solution by swapping items between bins with the following objective function (Fleszar and Hindi 2002) p = i= 1 Maximize f ( l ) i 2 q i = l t bin load i i p q t j i j= 1 j = number of bins = number of items in bin i = size of item j 2 2 f = (5 + 3) + 2 = 68 f = + + = new 2 (5 3 2) 100 8

Neighborhood Search for Bin Packing Problem Swap schemes Swap items between two bins Carry out Swap (1,0), Swap (1,1), Swap (1,2), Swap (2,2) for all pairs of bins Swap (1,0) (Fleszar and Hindi 2002) Bin α Bin β 2 2 f = (1 + 3 + 4) + (4 + 4) = 128 f = + + + + = new Bin α Bin β 2 2 (3 4) (1 4 4) 130 Need to evaluate only the change in the objective function value f = ( l t ) + ( l + t ) l l 2 2 2 2 α j β j α β 9

Neighborhood Search for Bin Packing Problem Swap (1,1) (f = 162) ( f new = 164) Swap (1,2) (f = 162) ( f new = 164) 10

Weight Annealing for Bin Packing Problem Weight of item i w i = 1 + K r i residual capacity C li ri = C C = capacity l = load of bin i i An item in a not-so-well-packed bin, with large r i, will have its size distorted by a large amount No size distortions for items in fully packed bins K controls the size distortion, given a fixed r i 11

Weight Annealing for Bin Packing Problem Weight annealing allows downhill moves in a maximization problem Example C = 200, K= 0.5, w i 200 li = 1+ 0.5 200 w = 1.025 w = 1.087 1 2 Transformed space f = 70126.3 Original space f = 63325 Transformed space f new = 70132.2 Original space f new = 63125 Transformed space - uphill move Original space - downhill move 12

Bounds for MCBPP We use the three upper bounds on the optimal number of items developed by Labbé, Laporte, and Martello (2003): U 0, U 1, and U 2. We use the two lower bounds on the minimal number of bins developed by Martello and Toth (1990): L 2 and L 3. 13

Outline of Weight Annealing Algorithm (WAMC) Arrange items in the order of non-decreasing size Compute a priori upper bound on the optimal number of items (U*). U* = Update ordered list by removing item i with size t i for which i >U* (Optimal solution z* is obtained by selecting the first z* smallest items) Improve the upper bound U* Find lower bound on the minimum number of bins required (L 3 ) If L 3 > m, reduce U* by 1. Update ordered list by removing item i with size t i for which i >U* Iterate until L 3 = m Find feasible packing solution for the ordered list with the weight annealing algorithm for 1BP Output results { U 0 U 1 U 2} min,,. 14

WAMC for the MCBPP Step 0. Initialization Parameters are K (scaling parameter), nloop1, nloop2, T (temperature), and Tred. Set K = 0.05, nloop1 = 20, nloop2 = 50, T = 1, and Tred = 0.95. Inputs are number of items (n), the item size ordered list, bin capacity (c), and number of bins (m). Step 1. Compute the upper bound U* = min U 0, U 1, U 2. Step 2. Set n = U*. Remove item i >U* from the ordered list. Step 3. Improve the upper bound. While (L 3 > m) do{ U* = U* - 1. Remove item i >U* from the ordered list. Compute L 3. } Step 4. For j = 1 to nloop1 Step 4.1 Construct initial solution with the ordered list and modified FFD algorithm. Step 4.2 Improve the current solution. Set T = 1. { } Compute residual capacity r i of bin i. 15

WAMC for the MCBPP Step 4. (continued) For k =1 to nloop2 Compute weights w T i = (1+ K r i ) T. Do for all pairs of bins{ Perform Swap (1,0) Evaluate feasibility and f (1,0). If f (1,0) 0 Move the item. Exit Swap (1,0) and, Exit j loop and k loop if m is reached. Exit Swap (1,0) if no feasible move with f (1,0) 0 is found. Perform Swap (1,1); Swap (1,2); Swap (2,2). T: = T Tred End of k loop End of j loop Step 5. Outputs are the number of bins used and the final distribution of items. 16

Test Problems Labbé, Laporte, and Martello (2003) 180 combinations of three parameters number of bins m = 2, 3, 5, 10, 15, 20 capacity c = 100, 120, 150, 200, 300, 400, 500, 600, 700, 800 size interval [t min, 99]; t min = 1, 20, 50 Total of 180 10 = 1800 randomly generated instances Peeters and Degraeve (2006) 270 combinations of three parameters capacity c = 1000, 1200, 1500, 2000, 3000, 4000, 5000, 6000, 7000, 8000 size interval [t min, 999]; t min = 1, 20, 50 desired number of items n = 100,150, 200, 250,300,350, 400, 450,500 m = n ( t + 999) / 2c Total of 270 10 = 2700 randomly generated instances min 17

Solution Procedures for MCBPP Enumeration algorithm (LLM) by Labbé, Laporte, and Martello (2003) Compute a priori upper bounds Embed the upper bounds into an enumeration algorithm Branch-and-price algorithm (BP) by Peeters and Degraeve (2006) Compute a priori and LP upper bounds Solve the problem with heuristics in a branch-and-price framework 18

Computational Results Results on the test problems of Labbé, Laporte, and Martello (2003) Generated 1800 problems for testing on WAMC LLM and BP used different sets of 1800 problems Number of instances solved to optimality BP 1800 WAMC 1793 LLM 1759 Average running time BP < 0.01 sec (500 MHz Intel Pentium III) WAMC 0.03 sec (3 GHz Intel Pentium IV ) LLM 3.16 sec (Digital VaxStation 3100) 19

Computational Results Generated 2700 problems for testing on WAMC; BP used a different set of 2700 problems Computational Results Solution Procedures Number of Instances Solved to Optimality Average Running Time (sec) WAMC 2665 0.20 BP 2519 2.85 WAMC outperformed BP BP had difficulties solving instances with Large bin capacities (5000-8000) Large number of items (350-500) WAMC solved all instances with bin capacities WAMC was faster 2000 20

Computational Results Bin Capacity Desired 1000 1200 1500 2000 3000 Number of items BP WA BP WA BP WA BP WA BP WA 100 30 30 30 30 30 27 30 30 30 30 150 30 30 30 29 30 29 30 30 30 30 200 30 28 30 28 30 29 30 30 30 30 250 30 29 30 29 30 29 30 30 30 30 300 30 29 30 28 30 28 30 30 30 30 350 30 29 30 28 30 30 30 30 30 30 400 30 28 30 30 30 28 30 30 30 30 450 30 29 30 27 30 26 30 30 29 30 500 30 29 30 30 30 29 30 30 29 30 Total 270 261 270 259 270 255 270 270 268 270 21

Computational Results Bin Capacity Desired 4000 5000 6000 7000 8000 Number of items BP WA BP WA BP WA BP WA BP WA 100 30 30 30 30 30 30 30 30 30 30 150 30 30 30 30 30 30 30 30 30 30 200 30 30 30 30 30 30 30 30 30 30 250 30 30 30 30 30 30 30 30 30 30 300 30 30 21 30 23 30 23 30 30 30 350 30 30 20 30 20 30 20 30 29 30 400 30 30 20 30 20 30 20 30 20 30 450 30 30 20 30 20 30 20 30 19 30 500 27 30 20 30 20 30 20 30 19 30 Total 267 270 221 270 223 270 223 270 237 270 22

Conclusions WAMC is easy to understand and simple to code Weight annealing has wide applicability(1bp, 2BP) WAMC produced high-quality solutions to the maximum cardinality bin packing problem WAMC solved 99% (4458/4500) of the test instances to optimality with an average time of a few tenths of a second WAMC is a promising approach that deserves further computational study 23