Variable Neighborhood Search for Bin Packing Problem Borislav Nikolić, Hazem Ismail Abdel Aziz Ali,...

Post on 14-Jan-2016

219 views 0 download

Tags:

Transcript of Variable Neighborhood Search for Bin Packing Problem Borislav Nikolić, Hazem Ismail Abdel Aziz Ali,...

Variable Neighborhood Search for Bin Packing Problem

Borislav Nikolić, Hazem Ismail Abdel Aziz Ali, Kostiantyn Berezovskyi, Ricardo Garibay Martinez, Muhammad Ali Awan

2

The Outline• Introduction– Heuristics– Local search– Metaheuristics

• Variable Neighborhood Search (VNS)– Overview– Basic Algorithim

• Scientific Paper on VNS– Scope– Minimum Bin Slack (MBS)– VNS for Bin Packing Problem (BPP)– The experiment and Results.

3

Heuristics

• Techniques for speeding up the process• Applicable where exhaustive search is an overkill• But why? • Used for NP-Hard problems (TSP, BPP, AVS, …)• Easy implementation• Can lead towards optimal solution• But …

Space constraints Time constaints

4

Local search

• Assumes initial solution as fixed point• Generates the neighborhood and compares• If better ->• Else finished!

• Looks perfect• But …

5

Local search

• Unfavorable solution space• Practically locked within initial solution• Local optimum can be actually a very bad one• Highly dependent on solution space• Can be solved with some “tricks”• Deliberately accept worse result to escape• Looks like a gambling decision

6

Metaheuristics

• Way to tackle aforementioned problems• Combination of techniques• For better exploration of solution space• But doesn’t guarantee optimality either!• More complex implementation• Criticized in the no free lunch theorems*• Yet, highly used

* “No free lunch theorems for optimization” – Wolpert & Macready

7

Metaheuristics

Examples:• Greedy Randomized Adaptive Search

Procedure (GRASP) • Simulated Annealing (SA)• TABU Search (TS)• Ant colony optimisation• Variable Neighborhood Search (VNS)

8

VNS - Overview• Relatively young metaheuristic (1995)• Systematically change the neighborhood• Based on three facts:

A local minimum w.r.t. one neighborhood structure is not necessary so with another

A global minimum is local minimum w.r.t. all possible neighborhood structures

For many problems local minima w.r.t. one or several neighborhoods are close to each other

N. Mladenović – A variable neighborhood algorithm – a new metaheuristic for combinatorial optimization N. Mladenović & P.Hansen – Variable neighborhood search

9

- list of possible neighborhoods

VNS – Basic Algorithim),...,1(, maxkkN k

• Of course, for local search• Initialization (initial solution and stopping cond.)• Repeat until stopping condition

k = 1 Repeat until

Shaking – Generate random point at k-th neighborhood Local search – find local optimum Move or not

1max k

10

VNS – Basic Algorithim

• Stopping conditions (CPU time, # of iterations, …)• Random points to avoid cycling (determinism)• Can be easily improved• Parallelized local search (1CPU = 1 neighborhood)• Hybrids (VNS & Tabu, VNS & GRASP, …)• Simplicity, precision, efficiency, robustness

Best improvement

11

Variations and descendents of VNS• Variable neighborhood descent (VND)• Reduced VNS (RVNS)• Skewed VNS (SVNS)• General VNS (GVNS)• VN Decomposition Search (VNDS)• Parallel VNS (PVNS)• Primal Dual VNS (P-D VNS)• Reactive VNS• Backward-Forward VNS• Best improvement VNS• Exterior point VNS• VN Simplex Search (VNSS)• VN Branching . . . .

12

Scientific Paper on VNS

New heuristics for one-dimensional bin packingBy

Krysztof Fleszar, Khalil S. HindiDepartment of Systems Engineering, Brunel University

Published in 2000, often cited

Work at the American University of Beirut Also work as consultants in industry More then 10 cooperative papers Scheduling, packing & cutting problems

13

Scope

• Presents new heuristic for solving 1D bin-packing

• Combination of MBS and VNS• Effective and computationaly efficient• Remarkable performance on benchmarks• Next slides explains:– MBS algorithim– VNS for BPP– Experiments platform and Results

14

MBS

• Small elements finer grained and used early• Stops search only on slack = 0• Odd bins and even elements -> big problem•

'n'Z - Non-increasing list of remaining elements

- Number of remaining elementsit - Size of i-th element)(As - Remaining slack in bin A

• Can be easily modified (MBS’)• Use non-increasing order to stop search• • Outperforms FFD and BFD

15

VNS for BPP

• OK, MBS for Initial solution, but what after?• Just a little bit formal:• Definition of possible “moves” (perturbations)

Transfers Swaps

• Shaking: k-th neighborhood – performing k random moves Element can be moved only once per neighborhood All moves are treated as equal, without analyzing Of course, there is no point to swap elements of the same size!

m

lxf1

2))(()(max

16

VNS for BPP

• OK, next is local search• Metric for finding a local optimum

Transfers Swaps

• Always chooses move with the greatest value

2222 )()(])([])([ lltltlf ii 2222 )()(])([])([ llttlttlf jiji

0.50.2

0.4

0.5 0.3

0.20.3

0.50.2

0.4

0.5 0.3

0.20.3

24.06.05.0)4.05.0()4.06.0( 2222 f

15.05.07.0)2.03.06.0()3.02.07.0( 2222 f

17

VNS for BPP

• Steepest descent approach• Might not always be the best idea!• But let’s analyze performance• In near-optimal solution very few “moves”• Recall: - max # of neighbors visited• Tradeoff - computation time vs good optimum• Good experimental results with = 20

maxk

maxk

18

The experiment & the results

• Borland Pascal on Pentium II 400MHz• Problem classes:

U class – uniform distribution (20, 100) into bins of 150 T class – “triplets” of elements from (25, 50) into bins of 100 B class – divided in B1, B2, B3 problems, computationally very hard

B1 – 704/720 solved optimally, items from (50, 500) B2 – 477/480 solved optimally, items from (50, 500) B3 – uniform distribution (20k, 35k) into bins of 100k, 3/10 solved optimally

• For 4 problems, better solutions were found• But not proved to be optimal!

19

The experiment & the results

Algorithm hits inferior abs.dev.av abs.dev.max rel.dev.av rel.dev.max time av. time max.

MBS 678 692 1.02 9 1.42 16.67 0.05 8.99

MBS’ 1051 319 0.38 9 0.61 14.29 0.02 4.57

VNS 1248 122 0.09 2 0.18 5.00 0.09 4.57

MBS’+VNS 1329 41 0.03 2 0.04 2.94 0.14 5.05

• MBS’ + VNS vs the rest

• Robustness test with different random seed• In 1340/1370 the same solution in all 10 runs• In remaining 30 the difference was always 1 bin

20

Conclusions

• VNS very powerful tool• Can be easily implemented• Can be easily adapted for different problems• Increasing is not always fruitful• Combined with MBS’ gives great results• Practical complexity < theoretical complexity

maxk

21