An artificial bee colony algorithm with a Modified Choice Function for the traveling salesman problem
Introduction
A computational optimisation methodology involves finding feasible solutions from a finite set of solutions, and identifying only the optimal solution(s). Swarm intelligence algorithms constitute a sub-class of computational optimisation methodology [1]. Swarm intelligence algorithms are developed based on emergence of collective behaviours pertaining to a population of interacting individuals in adapting to the local and/or global environments. Examples of swarm intelligence algorithms include Particle Swarm Optimisation (PSO) [2], Ant Colony Optimisation (ACO) [3], Bat Algorithm (BA) [4], Firefly Algorithm (FA) [5], Cuckoo Search Algorithm (CSA) [6], and bee-inspired algorithms [[7], [8], [9]].
Bees are highly organised social insects. Their survival relies on assigning an important task to each bee in a cooperative mode. The tasks include reproduction, foraging, and constructing hive. Within these tasks, foraging is one of the most important tasks, because the bee colony must ensure an undisrupted supply of food to survive. The food foraging behaviours of bees can be computationally realised as algorithmic tools to solve various optimisation problems.
The Artificial Bee Colony (ABC) algorithm is one of the popular bee-inspired algorithms. Proposed by Karaboga [7], it is inspired by the foraging behaviours of honey bees in a colony. In the ABC algorithm, a food source represents a possible solution to the optimisation problem in the search space, and the nectar amount of the food source represents the fitness of that solution. The ABC algorithm defines three types of bees: employed bees, onlooker bees, and scout bees. An employed bee looks for new food sources around the neighbourhood of the food source that it has previously visited. An onlooker bee observes dances and selects a food source to visit. It tends to select good food sources from those found by the employed bees. A scout bee searches for new food sources randomly.
The mechanism of the ABC algorithm is as follows. The employed bees first perform a neighbourhood search nearby the food source in their memory (i.e. solution). Then, they go back to the hive and perform dances. The dances inform the onlooker bees about the fitness of each solution. Each onlooker bee observes and selects a food source to perform another neighbourhood search based on a probability proportional to the food source fitness (i.e. a roulette wheel selection). The onlooker bees tend to select good food sources from those found by the employed bees. The employed and onlooker bees perform neighbourhood search by perturbing an existing solution to produce a new solution. A greedy approach is applied to decide whether to accept the newly perturbed solution. If a solution could not be improved after a pre-determined number of trails (denoted as the limit), it is abandoned. The employed bee associated to that non-improving solution (i.e. local optimum) is abandoned, and it becomes a scout bee. The scout bee explores the search space at random and looks for a new solution.
This ABC algorithm has been used to solve optimisation of mathematical test functions [7]. Promising results have been reported by using a number of ABC variants [[10], [11], [12]]. To find the optimum solution of the mathematical test functions, the neighbourhood search performed by the employed and onlooker bees is formulated as follows (Eq. (1)):in which xi is the solution associated to the i-th employed bee, xij is j-th element (i.e. dimension) of solution xi, vi is the new solution produced based on xi, vij is j-th element of solution vi, j is a random integer between 1 and dim (the dimensionality of the problem), ϕ is a random real number between −1 and 1, and k is a random integer between 1 and n (the number of employed bees).
In recent years, the ABC algorithm has been modified to solve combinatorial discrete optimisation problems, such as quadratic assignment problem [13], p-median problem [[14], [15], [16]], minimum spanning tree problem [[17], [18], [19]], clustering problem [[20], [21], [22]], uncapacitated facility location problem [[23], [24], [25]], Knapsack Problem (KP) [[26], [27], [28]], Job Shop Scheduling Problem (JSSP) [[29], [30], [31]], Vehicle Routing Problem (VRP) [32,33], and Traveling Salesman Problem (TSP) [34,35]. However, Eq. (1) cannot be directly applied when solving this set of problems. The employed and onlooker bees are prescribed with a perturbative heuristic (or a set of perturbative heuristics) to generate new solutions. These heuristics are problem-specific, for instance, the neighbourhood search heuristics for TSP include insertion mutation, swap mutation, random 2-opt, etc. In view of the availability of a large variety of problem-specific heuristics, the key question concerning the selection of a particular heuristic has been posed in the literature in recent years. This leads to the motivation of using hyper-heuristics for tackling such problem, which is the focus of our research in improving the ABC algorithm.
A hyper-heuristic is a high-level automated methodology for selecting or generating a set of heuristics [36]. The term “hyper-heuristic” was coined by Denzinger et al. [37]. There are two main hyper-heuristic categories, i.e. selection hyper-heuristic and generation hyper-heuristic [38]. These two categories can be defined as ‘heuristics to select heuristics’ and ‘heuristics to generate heuristics’, respectively [36]. Both selection and generation hyper-heuristics can be further divided into two categories based on the nature of the heuristics to be selected or generated [38], namely either constructive or perturbative hyper-heuristics. A constructive hyper-heuristic incrementally builds a complete solution from scratch. On the other hand, a perturbative hyper-heuristic iteratively improves an existing solution by performing its perturbative mechanisms. The heuristics to be selected or generated in a hyper-heuristic model are known as the low-level heuristics (LLHs).
A typical selection hyper-heuristic model consists of two levels [36]. The low level contains a problem representation, evaluation function(s), and a set of problem specific LLHs. The high level manages which LLH to use for producing a new solution(s), and then decides whether to accept the solution(s). Therefore, the high-level heuristic performs two separate tasks i.e. (i) LLH selection and (ii) move acceptance [39]. The LLH selection method is a strategy to select an appropriate LLH from a set of available alternatives during the search process. The available LLH selection methods include simple random [40], choice function [[41], [42], [43]], tabu search [44], harmony search [45], backtracking search algorithm [46], and a set of reinforcement learning variants [47,48]. The move acceptance method decides whether to accept the new solution generated by the selected LLH. Examples of move acceptance methods include Only Improvement [49], All Moves [43], Simulated Annealing [50], Late Acceptance [40], and some variants of threshold-based acceptance.
Striking a balance between intensification and diversification is important for a hyper-heuristic [36,51]. Intensification encourages a hyper-heuristic to focus on the promising LLHs, which leads to a good performance. On the other hand, diversification serves as a forgive-and-forget policy which encourages attempts on those rarely used LLHs. Both intensification and diversification are crucial components as the capability of an LLH varies during different phases of the search process [52,53]. An LLH with a good performance in one phase should not dominate the subsequent search process, while a poor performance in one phase should not lead to a permanent discrimination of an LLH in the later phases. In this study, an LLH selection method which is based on a choice function, namely the Modified Choice Function (MCF) [42], is integrated with the ABC algorithm. Specifically, MCF is used to select the neighbourhood search heuristic deployed by the employed and onlooker bees. The reason of choosing MCF is because it is able to adaptively control the weights of its intensification and diversification components during different phases of the search process. Besides that, to enhance the performance of the proposed MCF-ABC model, it is integrated with the Lin-Kernighan (LK) local search strategy [54]. The proposed model is denoted as MCF-ABC. It is tested using benchmark TSP instances provided in TSPLIB [55].
This article starts with a description of the related work in Section 2. Section 3 presents the proposed MCF-ABC model. The results and findings including performance comparison are presented in Section 4. Finally, concluding remarks are presented in Section 5.
Section snippets
Related work
This section describes the related work of the study. Section 2.1 focuses on the applications of bee-inspired algorithms to solve TSP (or variants of TSP). Section 2.2 reviews some hyper-heuristic models which are based on a choice function. Section 2.3 introduces some local-search-based strategies for combinatorial optimisation problems.
The proposed model
The pseudo code of a classical discrete ABC model [34,85] is shown in Algorithm I. The model consists of four phases: initialisation, employed bee phase, onlooker bee phase, and scout bee phase. In the initialisation phase, the maximum iteration (maxIteration), population size (popSize), the maximum number of trails of a solution (limit), and an LLH to be used for the neighbourhood search by the employed and onlooker bees (llhx) are pre-determined. Then, the solution associated to each food
Results and discussion
The experimental setting, experimental results, and comparison studies are presented in this section.
Conclusions
The Artificial Bee Colony (ABC) algorithm is a swarm-intelligence-based model for solving various optimisation problems. One of the crucial components of ABC is the neighbourhood search, which is performed by the employed and onlooker bees. When ABC is used to solve combinatorial discrete optimisation problems, single or multiple problem-specific perturbative heuristics are adopted as the neighbourhood search mechanism of the employed and onlooker bees. When there are multiple neighbourhood
Acknowledgement
The authors gratefully acknowledge the support of the Research University Grant of Universiti Sains Malaysia (Grant No: 1001/PKOMP/814274) for this research. Also, the first author acknowledges the Ministry of Higher Education of Malaysia for the MyPhD scholarship to study for the PhD degree at the Universiti Sains Malaysia (USM).
References (123)
- et al.
Artificial bee colony algorithm with variable search strategy for continuous optimization
Inf. Sci.
(2015) - et al.
Chaos driven discrete artificial bee algorithm for location and assignment optimisation problems
Swarm Evolut. Comput.
(2015) An artificial bee colony algorithm for the leaf-constrained minimum spanning tree problem
Appl. Soft Comput.
(2009)- et al.
A swarm intelligence approach to the quadratic minimum spanning tree problem
Inf. Sci.
(2010) - et al.
Dynamic clustering with improved binary artificial bee colony algorithm
Appl. Soft Comput.
(2015) The continuous artificial bee colony algorithm for binary optimization
Appl. Soft Comput.
(2015)- et al.
A hybrid artificial bee colony algorithm for the job shop scheduling problem
Int. J. Prod. Econ.
(2013) - et al.
Job shop scheduling with the best-so-far ABC
Eng. Appl. Artif. Intell.
(2012) - et al.
A metaheuristic for the fixed job scheduling problem under spread time constraints
Comput. Oper. Res.
(2010) - et al.
Solving the multi-objective vehicle routing problem with soft time windows with the help of bees
Swarm Evolut. Comput.
(2015)