Elsevier

Swarm and Evolutionary Computation

Volume 44, February 2019, Pages 622-635
Swarm and Evolutionary Computation

An artificial bee colony algorithm with a Modified Choice Function for the traveling salesman problem

https://doi.org/10.1016/j.swevo.2018.08.004Get rights and content

Abstract

The Artificial Bee Colony (ABC) algorithm is a swarm intelligence approach which has initially been proposed to solve optimisation of mathematical test functions with a unique neighbourhood search mechanism. This neighbourhood search mechanism could not be directly applied to combinatorial discrete optimisation problems. In order to tackle combinatorial discrete optimisation problems, the employed and onlooker bees need to be equipped with problem-specific perturbative heuristics. However, a large variety of problem-specific heuristics are available, and it is not an easy task to select an appropriate heuristic for a specific problem. In this paper, a hyper-heuristic method, namely a Modified Choice Function (MCF), is applied such that it can regulate the selection of the neighbourhood search heuristics adopted by the employed and onlooker bees automatically. The Lin-Kernighan (LK) local search strategy is integrated to improve the performance of the proposed model. To demonstrate the effectiveness of the proposed model, 64 Traveling Salesman Problem (TSP) instances available in TSPLIB are evaluated. On average, the proposed model solves the 64 instances to 0.055% from the known optimum within approximately 2.7 min. A performance comparison with other state-of-the-art algorithms further indicates the effectiveness of the proposed model.

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)):vij=xij+ϕ(xijxkj)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)

  • K.Z. Zamli et al.

    A tabu search hyper-heuristic strategy for t-way test suite generation

    Appl. Soft Comput.

    (2016)
  • J. Lin et al.

    A backtracking search hyper-heuristic for the distributed assembly flow-shop scheduling problem

    Swarm Evolut. Comput.

    (Oct 2017)
  • S.S. Choong et al.

    Automatic design of hyper-heuristic based on reinforcement learning

    Inf. Sci.

    (2018)
  • G. Laporte

    The traveling salesman problem: an overview of exact and approximate algorithms

    Eur. J. Oper. Res.

    (1992)
  • H. Ismkhan

    Effective heuristics for ant colony optimization to handle large-scale problems

    Swarm Evolut. Comput.

    (2017)
  • I.D.I.D. Ariyasingha et al.

    Performance analysis of the multi-objective ant colony optimization algorithms for the traveling salesman problem

    Swarm Evolut. Comput.

    (2015)
  • E. Osaba et al.

    An improved discrete bat algorithm for symmetric and asymmetric traveling salesman problems

    Eng. Appl. Artif. Intell.

    (2016)
  • M. Mahi et al.

    A new hybrid method based on particle swarm optimization, ant colony optimization and 3-opt algorithms for traveling salesman problem

    Appl. Soft Comput.

    (2015)
  • Y. Marinakis et al.

    Honey bees mating optimization algorithm for the Euclidean traveling salesman problem

    Inf. Sci.

    (2011)
  • Y. Zhong et al.

    Hybrid discrete artificial bee colony algorithm with threshold acceptance criterion for traveling salesman problem

    Inf. Sci.

    (2017)
  • M. Nawaz et al.

    A heuristic algorithm for the m-machine, n-job flow-shop sequencing problem

    Omega

    (1983/01/01/1983)
  • M. Avci et al.

    A multi-start iterated local search algorithm for the generalized quadratic multiple knapsack problem

    Comput. Oper. Res.

    (2017)
  • C. Blum et al.

    Swarm intelligence in optimization

  • J. Kennedy

    Particle swarm optimization

  • M. Dorigo et al.

    Ant colony optimization

    Comput. Intell. Magazine, IEEE

    (2006)
  • X.-S. Yang

    A new metaheuristic bat-inspired algorithm

  • X.-S. Yang

    Firefly algorithm, stochastic test functions and design optimisation

    Int. J. Bio-Inspired Comput.

    (2010)
  • A.H. Gandomi et al.

    Cuckoo search algorithm: a metaheuristic approach to solve structural optimization problems

    Eng. Comput.

    (2013)
  • D. Karaboga

    An Idea Based on Honey Bee Swarm for Numerical Optimization

    (2005)
  • L.P. Wong et al.

    A bee colony optimization algorithm for traveling salesman problem

  • T.A.S. Masutti et al.

    TSPoptBees: a bee-inspired algorithm to solve the traveling salesman problem

  • M.S. Kıran et al.

    The analysis of peculiar control parameters of artificial bee colony algorithm on the numerical optimization problems

    J. Comput. Commun.

    (2014)
  • X. Li et al.

    Search experience-based search adaptation in artificial bee colony algorithm

  • B. Jayalakshmi et al.

    A hybrid artificial bee colony algorithm for the p-median problem with positive/negative weights

    OPSEARCH

    (March 01 2017)
  • M. Basti et al.

    An artificial bee colony algorithm for the p-median facility location problem

    Int. J. Metaheuristics (IJMHeur)

    (2015)
  • B. Jayalakshmi et al.

    A swarm intelligence approach for the p-median problem

    Int. J. Metaheuristics (IJMHeur)

    (2016)
  • A. Singh et al.

    An artificial bee colony algorithm for the minimum routing cost spanning tree problem

    Soft Comput.

    (2011)
  • A.K. Alshamiri et al.

    Artificial bee colony algorithm for clustering: an extreme learning approach

    Soft Comput.

    (2016)
  • V.R. Dokku et al.

    An artificial bee colony algorithm for the minimum average routing path clustering problem in multi-hop underwater sensor networks

  • M.S. Kiran et al.

    Artificial bee colony algorithm for solving uncapacitated facility location problems

  • M.S. Kıran et al.

    XOR-based artificial bee colony algorithm for binary optimization

    Turk. J. Electr. Eng. Comput. Sci.

    (2013)
  • S. Sabet et al.

    A novel artificial bee colony algorithm for the knapsack problem

  • S. Pulikanti et al.

    An artificial bee colony algorithm for the quadratic knapsack problem

  • S. Sundar et al.

    An artificial bee colony algorithm for the 0–1 multidimensional knapsack problem

  • A.S. Bhagade et al.

    Artificial bee colony (ABC) algorithm for vehicle routing optimization problem

    Int. J. Soft Comput. Eng.

    (2012)
  • M.S. Kıran et al.

    The analysis of discrete artificial bee colony algorithm with neighborhood operator on traveling salesman problem

    Neural Comput. Appl.

    (2013)
  • H.E. Kocer et al.

    An improved artificial bee colony algorithm with local search for traveling salesman problem

    Cybern. Syst.

    (2014)
  • E.K. Burke et al.

    Hyper-heuristics: a survey of the state of the art

    J. Oper. Res. Soc.

    (2013)
  • J. Denzinger et al.

    High Performance ATP Systems by Combining Several AI Methods

    (1996)
  • E.K. Burke et al.

    A classification of hyper-heuristic approaches

  • Cited by (0)

    View full text