A solution clustering based guidance mechanism for parallel cooperative metaheuristic. Jianyong Jin Molde University College, Specialized University in Logistics Arne Løkketangen Molde University College, Specialized University in Logistics
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
A solution clustering based guidance mechanism for parallel cooperativemetaheuristic
2. Cooperative search framework
3. Guidance mechanism
4. Heuristic search threads
5. Some computational results
• The quality of a metaheuristic is largely a result of the interplay between intensification and diversification.
• Intensification drives the search to intensively investigate the vicinity of previously found good solutions.
• Diversification encourages searching in the unexplored search space. (Glover and Laguna, 1997).
To perform intensification/diversification, it would be beneficial to have some search history knowledge which refers to:
• How search effort has been consumed.
• Which region has been intensively searched and which has not.
• What kinds of solutions have been
found in a certain search region.
The focus of this work:
• Cluster solutions found into groups according to their similarities.
• Use solution clusters to represent search regions which have been explored.
• Use the attributes of the solutions in a cluster to estimate how promising a search region may be.
• Use cluster knowledge to guide the search towards the promising or less explored regions.
The capacitated vehicle routing problem (CVRP) is used to examine the effectiveness of the algorithm.
To solve CVRP is to
determine a set of
vehicle routes which
demands and minimize
the cost of delivery.
• Multiple Tabu search threads work in parallel.
• Search threads exchange solutions with the pool.
• Solution pool manages the solutions, does the clustering and identifies features.
• Each search thread exchanges solutions with the pool periodically, they decide when to exchange solution on their own, the exchange is asynchronous.
The definition of the cluster:
• A cluster is a collection of solutions which share a certain number of solution elements (edges for CVRP) in common.
• A cluster is used to approximately represent a search region.
• The number of solutions a cluster contains can indicate how thoroughly a search region has been explored.
• The quality of the solutions a cluster contains can indicate how promising a search region may be.
The components of a cluster:
• Feasible solution list,
• Infeasible solution list,
• Accumulative edge frequency list,
• Average feasible solution value,
• Average infeasible solution value,
• Feasible solution counter,
• Infeasible solution counter,
• Cluster ID.
The similarity measure:
: the number feasible solutions in a cluster in which edge (i j) occurs, this number is countered and saved in the accumulativeedge frequency list.
: 1 if edge (i j) occurs in solution s, 0 otherwise.
FSC: Feasible solution counter, the number of feasible solutions that have been put into a cluster.
: the number of edges included in solution s.
The clustering approach:
When a solution enters the pool,
1) it will be added into an existing cluster if the similarity is bigger than the minimum requirement,
2) create a new cluster if the solution does not satisfy the similarity requirement to any existing cluster or there is no existing cluster.
Only feasible solutions are used to update accumulative edge frequency.
TS threads for Intensification
• Only receive solutions from the cluster with the lowest average feasible solution value.
• Use smaller Tabu tenure.
• Use 3 TS threads among every
7 search threads.
TS threads for Diversification
• Receive solutions only from clusters which have been less explored (the number of feasible solutions a cluster contains is below a threshold).
• Use bigger Tabu tenure.
• Use 4 TS threads among every
7 search threads.
Evolvement of the focus of TS threads:
• During the beginning of the search, intensification and diversification mechanism is not active.
• When there are more than one clusters, intensification threads will always focus on the cluster with the lowest average feasible solution value.
• When the number of solutions in a cluster exceeds a threshold, the cluster will be ignored by diversification threads.
Features of the TS threads:
• Use multiple neighborhood structures,
Tabu search procedure:
1: Construct a feasible starting solution.
2: Initialization (best sol, current sol, Tabu list, penalty multipliers).
3: While termination conditions not met do
4: Randomly select a neighborhood.
5: Generate and evaluate neighboring solutions.
6: Select and perform the best non-tabu move.
7: Set the attributes of reverse moves as tabu.
8: Refine the routes modified.
9: Update best found solutions.
10: If communication, exchange solution and re-initialize the search.
11: end while
12: Print best found solution.
Inter-route neighborhood structures :
Reinsertion: move a node to another route.
2-opt*: swap the head/tail parts of two routes.
CROSS-exchange: swap two segments between two routes.
Neighbors generation and evaluation:
Reinsertion: for a customer node i, move i to the position after one of its K nearest nodes (node j). Node i and j are not in the same route.
2-opt*: for a customer node i, connect i with one of its K nearest nodes (node j), connect the nodes right after i and j.
i, j are in two different routes.
Cross-exchange: exchange route segments containing less than 4 nodes for pairs of routes. Among new edges, at least one node is connected to one of its K nearest nodes.
Augmented objective function: F(s) = C(s)+αQ(s)+βD(s),
Four types of implementation of reinsertion:
Purpose. Increase the possibilities of modifying the route structure that is far from the depot.
Theme: Divide customer nodes equally into groups according to their distance to the depot, generate neighbors for each group separately, Select and perform a move for each group at every iteration.
Sorted node list:
Four types of implementation of reinsertion:
Intra-route neighborhood structures:
Reinsertion: move a node to another position.
2-opt: remove and add two edges.
The two neighborhoods are implemented as local search procedures. For improving a route, 2-opt is used first, then reinsertion.
TS threads for diversification: 14
TS threads for intensification: 9
Solution pool: 1
Benchmark set 1
Benchmark set 2
• The computational experiments show that the suggested metaheuristic is effective and competitive.
• The guidance mechanism can improve the performance of the algorithm.
• The clustering approach can provide insight regarding how the search effort have been consumed.
• The potential of the cluster knowledge seems not fully utilized.