Quantum-Inspired Bee Colony Algorithm

To enhance the performance of the artificial bee colony optimization by integrating the quantum computing model into bee colony optimization, we present a quantum-inspired bee colony optimization algorithm. In our method, the bees are encoded with the qubits described on the Bloch sphere. The classical bee colony algorithm is used to compute the rotation axes and rotation angles. The Pauli matrices are used to construct the rotation matrices. The evolutionary search is achieved by rotating the qubit about the rotation axis to the target qubit on the Bloch sphere. By measuring with the Pauli matrices, the Bloch coordinates of qubit can be obtained, and the optimization solutions can be presented through the solution space transformation. The proposed method can simultaneously adjust two parameters of a qubit and automatically achieve the best match between two adjustment quantities, which may accelerate the optimization process. The experimental results show that the proposed method is obviously superior to the classical one for some benchmark functions.


Introduction
Artificial bee colony algorithm is proposed as an intelligent optimization algorithm which attempts to simulate bee colony to search food sources by scholars from Turkey in 2005 [1].Compared with genetic algorithm, particle swarm optimization and other intelligent algorithm, the outstanding advantage of this algorithm is synchronously to perform the global and local search in each of iterations, which avoids the premature convergence greatly and increases the probability of obtaining the optimal solution.At present, this algorithm has already been successfully applied to numerical optimization [2]- [4], neural network design [5], digital filter design [6], and network reconfiguration in distributed system [7], construction of the minimum spanning tree [8] and many other fields.However, the progress has been slow in the algorithm improvement.For the design of the control parameters, Ding Haijun et al. present an improved artificial bee colony algorithm for the solution to TSP problem [9].Kang Fei et al. propose a cultural annealing artificial bee colony algorithm [10].Duan Haibin et al. present a new algorithm with application of the combination of artificial bee colony algorithm and quantum evolutionary algorithm [11].
As a new computing model, quantum computing catches wide attention of international and domestic academics for its polymorphism, superposition and concurrency.At present, the fusion with genetic algorithm, immune optimization, paticle swarm optimization and other intelligent optimization model is successfully applied.In the real quantum system, the qubits are described on the Bloch sphere with two adjustable parameters.However, in the existing quantum intelligent optimization algorithms, individuals are encoded by qubits described by unit circle with a single adjustable parameter.Evolutionary mechanism adopts quantum rotation gates and quantum non-gates, and it essentially rotates qubits about circle center, which only changes one parameter of qubits as well.Therefore quantum properties have not been fully reflected.Although Ref. [12] presents a quantum genetic algorithm based on the Bloch coordinates of qubit, however, this algorithm does not consider the match between two adjustment quantities, which means it doesn't go along the shortest path when the current qubit moves towards the target qubit.As a result, the optimization performance is influenced.
This paper proposes a new individual coding evolutionary mechanism, which is different from the coding of quantum genetic algorithm in Ref. [12].In this paper, we directly use qubits described on the Bloch sphere to code (not the qubits coordinates).The evolutionary search is achieved by rotating the qubit about the rotation axis on the Bloch sphere.This method can automatically achieve the best match between two adjustment quantities of bee colony individual qubits.For the design of quantum-inspired bee colony algorithm, we elaborate design principle and implementation programs of the algorithm.Taking benchmark functions extremum optimization as example, it shows that the proposed method obviously outperforms the classical one by comparison.

Bee Colony Algorithm
Assuming the number of bees is s N , and the number of employed bees and onlooker bees are e N and u N , respectively.Individual dimension is D , and individual searching space is The employed bee colony is ( ) and its initial the n-th generation colony is ( ) , respectively.The objective function is : f S R + → .Taking minimum optimization as example, the artificial bee colony algorithm can be described as follows: (a) Randomly generating s N solutions, where the i-th solution i X is written as: ) ( ) where , and k i ≠ , and j i ϕ is a random number in the range (0, 1); (c) We use greedy selection operator to select the better ones in i V and i X for the next generation.This operator is denoted as 2 : s T S S → , and its probability distribution is written as: (d) Using the strategy of roulette, randomly select an employed bee, and search a new position in its neighborhood.This operator is written as 1 : e N s T S S → , and its probability distribution is written as: (e) Let best f denote the minimum objective function value, and the corresponding individual be ( ) . We initialize the employed bee if its searching time Bas reach to the threshold value Limit and it does not find a better position; (f) If algorithm meet the stopping criteria, it outputs best f and the corresponding individual ( ) , , , D x x x  , else go back to (b).

Quantum-Inspired Bee Colony Algorithm
This paper studies a new method of quantum-inspired searching with the fusion of bee algorithm.This method is named quantum-inspired bee colony algorithm (QIBC).

Description of Qubits on the Bloch Sphere
During the quantum computing, a qubit is a two-level quantum system which could be described in two-dimension complex Hilbert space.Based on principle of superposition, a qubit can be defined as: where 0 π θ ≤ ≤ and 0 2π φ ≤ ≤ .Owing to the continuity of θ and ϕ , a qubit can be in infinitely many different states and described by a point on the Bloch sphere.As shown in Figure 1.

The Rotation of Qubits about the Axis
In this paper, we create a search mechanism on the Bloch sphere which is used to rotate the qubit about the rotation axis to the target qubit on the Bloch sphere.The rotation can simultaneously change two parameters of a qubit, and automatically achieve the best match between two adjustment quantities, thus we can enhance the performance of optimization.The key to the above rotation is the design of rotation axis.The design method given by this paper can be expressed as the follows [13] [14].
Assuming , , denote two points on the Bloch sphere respectively, the rotation axis axis R about which P rotates to Q along the shortest path is the vector product of P and Q, namely,   Based on the principle of quantum computing, the rotation matrix makes the qubit rotate about a rotation axis along the unit vector , , with radian of rotation δ , and it's defined by ( ) ( ) where I is the unit matrix, and , , x y z σ σ σ are Pauli matrices [15].
Therefore, on the Bloch sphere, the rotation matrix that rotates the ( ) ϕ can be described as follows: The rotation operation is given by where t is iteration step.

QIBC Coding Method
In QIBC, the individual coding adopts qubit based on the Bloch sphere.Let s N denote population size, D denote the number of variables, and (0) 0 , 0 , , 0 where 1, 2, , s i N =  .

The Projection Measurement of Qubits
On the basis of the principle of quantum computing, by applying Pauli matrices to ϕ , we can get the Bloch coordinates of ϕ .The qubits projection measurement is denoted by the following equations: where 1, 2, , In QIBC, each qubit are regarded as three paratactic genes, each one contains three paratactic gene chains, and each of gene chains represents an optimization solution.Therefore, each entity represents three optimization solutions at the same time.

The Solution Space Transformation
In QIBC, three optimization solutions given by each entity can be expressed by Bloch coordinates.Because the value of coordinate is in (−1, 1), we must map it to solutions to the problems.Assuming the j-th variable is Min , Max  , the solution transformation can be expressed as the following three equations: , , , ,

Onlooker Bee Search
It is similar with employed bee search.First, we calculate selective probability of each employed bee with the equation as follows: ( ) ( ) ( ) To each onlooker bee, first, we select employed bee i p according to the roulette method, and in its neighborhood we search for new position ˆi p in the same method as the employed bee search.If ˆi p is better than i p , set î i = p p , and set the number of searches 0 Bas = .If Bas is less than threshold Limit , set 1 Bas Bas = + , otherwise, we initialize i p and set 0 Bas = .

Algorithm Termination Criterion
To this algorithm, the termination criterion is the number of iterations.Whether it meets the pre-set accuracy or not, the algorithm will stop when the limited number of iterations reaches.

Analysis of Experimental Results
Taking functions extremum optimization as example, by comparing with bee colony [1], Bloch quantum genetic algorithm [12], elite genetic algorithm, quantum delta potential-based particle swarm optimization [16], we verify the superiority of QIBC.All of algorithms use Matlab R2009a to implement on the computer (P-II 2.0 GHz) with 1.0 G memory.

Benchmark Functions
To verify the superiority of QIBC, the following ten Benchmark functions are used in this experiment.All of ten functions are for the minimum optimization, and * X is the minimum extreme value point. (1) , sin 50 1 g x y x y x y ( ) ( )

Parameters Setting
For convenient comparison, based on the complexity of benchmark functions, we set up precision thresholds ε for each function.Only when optimization effect is less than the thresholds, the algorithm is call converges.In this experiment, the precision thresholds are set as follows.for 1 6 , f f , 1.0 ε = ; for 2 f 10 ε = ; for 3 f , .If the algorithm converges, the current optimization steps are called the number of iteration.If not, the number of iteration is equal to the pre-set limited number of iterations.
The dimensions of ten functions are set to 30 D = , and population sizes of five algorithms are equal to 40.For QIBC and BC, we have 20 e N = , 20 u N = , 50 Limit = .For BQGA, on the basis of Ref. [12], the initial value of rotation angle is 0.05π , and the mutation probability is 10 -3 .For QDPSO, based on Ref. [16], the control parameter is 1.2 λ = . For EGA, the crossover probability is 0.8, the mutation probability is 0.01.The limited number of iterations of five algorithms is 4 10 G = .

Comparison and Analysis of Simulation
To enhance the objectivity of comparisons, each algorithm independently runs 50 times, and we have comparisons of statistical results.The average time for each of iteration are shown in Table 1.To make comparisons be sufficient, besides showing the average results, the best and the worst ones are also are given.Comparison of the number of iterations, average iterations, and optimization results are shown in Table 2.
From Table 1, for the running time, we rank five algorithms in descending order as QIBC, BQGA, BC, EGA, QDPSO.The reason is that, in QIBC and BQGA, we use coding mechanism of qubit with three chains.During each iteration, each entity respectively do updating, solution to space transformation, calculating value of benchmark functions etc. and these operations take a long time.QIBC is longer than BQGA because QIBC needs the projection measurement, design of rotation axis and rotation matrices, and its calculating quantity is larger.
In Table 2, for the ability of optimization, obviously, QIBC is better than QIBC, BQGA is better than EGA.QDPSO is worse than QIBC, but it's better than BQGA, and it's similar to BC.For the optimization performance of five algorithms, we rank them in descending order as QIBC, BC, QDPSO, BQGA, EGA.
For the above results, we present the following analysis.Firstly, we introduce the coding mechanism of qubit with three chains, and it effectively enhances the ergodicity of algorithm to solution space.Based on the geometric properties of the Bloch sphere, this mechanism can enlarge the number of global optimal solutions and the probability of attaining global optimal solutions.That is the reason why these two algorithms are better than their classical ones respectively.Secondly, QIBC has a better performance of optimization than BQGA, because they adjust qubit in the different ways.
In BQGA, qubits are updated by directly adjusting θ and ϕ with the same adjustment amount (namely θ ϕ ∆ = ∆ ).Obviously, in this method, it is hard to close to target qubits along the shortest path, because there must be some matching relation between θ ∆ and ϕ ∆ when it's along the shortest path.But this matching relation is hard to be expressed clearly by analytic equations.In QIBC, we adjust qubit in indirect method.Namely, we rotate qubit to target qubit about the rotation axis on the Bloch sphere, and obviously, this path is It's also worth pointing out that, although the QIBC has better optimizing performance, the complexity of this algorithm is obviously higher than classical ones.Comparing with classical ones, the QIBC needs some extra operations, such as calculating rotation axis, rotation angel, rotation matrices and the solution to space transformation.Considering run time and optimizing performance, QIBC earns better optimizing efficiency by sacrificing running time, which is the same as No Free Lunch.For many off-line optimizing tasks which may ignore running time, the QIBC has wide application prospects.
We need investigate and study the influence after dimensions and parameters change.3.
As the results are shown, for the high-dimensional optimization problems, the proposed algorithm also shows its better performance than classical ones.

Conclusion
We present a quantum-inspired bee colony optimization algorithm.In proposed method, the bees are encoded with the qubits described on the Bloch sphere.The population evolutionary is achieved by rotating the qubit about the rotation axis on the Bloch sphere.The experimental results show that, the method of qubits coding on the Bloch sphere and the method of bee updating which can achieve the best match between two adjustment quantities of qubit parameters by rotating about the rotation axis, can truly enhances the performance of the intelligent optimization algorithm.
For the employed bee i X in the current generation, the new position in its neighborhood can be obtained from the following equation: As shown inFigure 2.

Figure 1 .
Figure 1.A qubit description on the Bloch sphere.

Figure 2
Figure 2 Rotation axis of qubit on the Bloch sphere.

10 −
. The QIBC and the BC run 10 times respectively.Optimization results is shown in Table

Table 1 .
Comparison of average time for each iteration (unit: second).

Table 2 .
Comparison of optimization results in five algorithms.

Table 3 .
Comparison of optimization results in QIBC and BC.Although it does't adjust two parameters of qubit directly, it achieves the best match between θ ∆ and ϕ ∆ automatically and accurately.Hence, this method has better optimizing efficiency than classical ones.