Different Local Search Algorithms in STAGE for Solving Bin Packing Problem Gholamreza Haffari Sharif University of Technology
Overview Combinatorial Optimization Problems and State Spaces STAGE Algorithm Local Search Algorithms Results Conclusion and Future works
Optimization Problems Objective function: F(x 1, x 2, …, x n ) Find vector X=(x 1, x 2, …, x n ) which minimizes (maximizes) F Constraints: g 1 (X) 0 g 2 (X) 0. g m (X) 0
Combinatorial Optimization Problems (COP) Special kind of Optimization Problems which are Discrete Most of the COPs are NP-Hard, I.e. there is not any polynomial time algorithm for solving them.
Satisfiability SAT: Given a formula in propositional calculus, is there an assignment to its variables making it true? f(x 1, x 2,.., x n ) Problem is NP-Complete. (Cook 1971)
Bin Packing Problem (BPP) Given a list (a 1, a 2, …) of items, each of which has a size s(a i )>0, and a bin Capacity C, what is the minimum number of bins for packing items? Problem is NP-Complete (Garey and Johnson 1979)
An Example of BPP a 1 a 2 a 3 a 4 b 1 b 2 b 3 b 4 Objects list: a 1, a 2, …, a n Bin’s capacity (b j ) is C Objective function: m a i < C, a i b j, 1 j m
Definition of State in BPP A particular permutation of items in the object list is called state. b 1 b 2 b 3 b 4 a 1 a 2 a 3 a 4 Greedy Algorithm
State Space of BPP a 1, a 2, a 3, a 4 a 2, a 4, a 3, a 1 a 1, a 4, a 2, a 3... a 1, a 2, a 4, a 3...
A Local Search Algorithm 1) s 0 : a random start state 2) for i = 0 to + - generate new solutions set S from the current - generate new solutions set S from the current solution s i solution s i - decide whether s i+1 = s’ S or s i - decide whether s i+1 = s’ S or s i - if a stopping condition is satisfied - if a stopping condition is satisfied return the best solution found return the best solution found
Local Optimum Solutions The quality of a local optimum resulted from a local search process depends on a starting state.
Multi-Start LSA Runs the base local search algorithms from different starting states and returns the best result found. Is it possible to choose a promising new starting state?
Other Features of a State Other features of a state can help the search process. (Boyan 1998)
Previous Experiences There is a relationship among local optima of a COP, so previously found local optima can help to locate more promising start states.
Core ideas Using an Evaluation Function to predict the eventual outcome of doing a local search from a state. The EF is a function of some features of a state. The EF is retrained gradually.
STAGE Algorithm Uses an Evaluation Function to locate a good start state. Does local search. Retrains EF with the new generated search trajectory Learning Phase Execution Phase
Evaluation Function StateFeaturesEFPrediction EF can be used by another local search algorithm for finding a good new starting point. Applying EF on a state
Diagram of STAGE (Boyan 98)
Analysis of STAGE What is the effect of using different local search algorithms? Local search algorithms: Best Improvement Hill Climbing (BIHC) First Improvement Hill Climbing (FIHC) Stochastic Hill Climbing (STHC)
Best Improvement HC Generates all of the neighboring states, and then selects the best one. …
First Improvement HC Generates neighboring states systematically, and then selects the first good one
Stochastic HC Stochastically generates some of the neighboring states, and then selects the best one. The size of the set containing neighbors is called PATIENCE.
Different LSAs Different LSAs for solving U250_00 instance
Different LSAs, bounded steps
Some Results The higher the accuracy in choosing the next state, the better the quality of the final solution, by comparing STHC1 and STHC2 (PATIENCE1=350, PATIENCE2=700) Deep paces result in higher quality and faster solutions, by comparing BIHC and others.
Different LSAs, bounded moves
Some Results It is better to search the solution space randomly rather than systematically, by comparing STHC and others.
Future works Using other learning structures in STAGE Verifying these results on another problem (for example Graph Coloring) Using other LSA, such as Simulated Annealing.
Questions