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.
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 [
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. [
This paper proposes a new individual coding evolutionary mechanism, which is different from the coding of quantum genetic algorithm in Ref. [
Assuming the number of bees is
(a) Randomly generating
where
(b) For the employed bee
where
(c) We use greedy selection operator to select the better ones in
(d) Using the strategy of roulette, randomly select an employed bee, and search a new position in its neighborhood. This operator is written as
(e) Let
(f) If algorithm meet the stopping criteria, it outputs
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).
During the quantum computing, a qubit is a two-level quantum system which could be described in two-dimen- sion complex Hilbert space. Based on principle of superposition, a qubit can be defined as:
where
Owing to the continuity of
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 [
Assuming
Based on the principle of quantum computing, the rotation matrix makes the qubit rotate about a rotation axis
along the unit vector
where I is the unit matrix, and
Therefore, on the Bloch sphere, the rotation matrix that rotates the
The rotation operation is given by
where t is iteration step.
In QIBC, the individual coding adopts qubit based on the Bloch sphere. Let
note the number of variables, and
itialization, the i-th individual can be coded as follows:
where
On the basis of the principle of quantum computing, by applying Pauli matrices to
where
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.
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
where
Taking minimum optimization as example, according to the value of target function, we rank the optimized population in descending order, and select the first
where,
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
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.
Taking functions extremum optimization as example, by comparing with bee colony [
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
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
For convenient comparison, based on the complexity of benchmark functions, we set up precision thresholds
The dimensions of ten functions are set to
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
From
No. | QIBC | BC | BQGA | QDPSO | EGA |
---|---|---|---|---|---|
f1 | 0.0281 | 0.0038 | 0.0216 | 0.0016 | 0.0026 |
f2 | 0.0219 | 0.0016 | 0.0095 | 0.0005 | 0.0015 |
f3 | 0.0223 | 0.0018 | 0.0100 | 0.0006 | 0.0015 |
f4 | 0.0218 | 0.0016 | 0.0103 | 0.0005 | 0.0014 |
f5 | 0.0221 | 0.0017 | 0.0098 | 0.0006 | 0.0014 |
f6 | 0.0596 | 0.0102 | 0.0429 | 0.0040 | 0.0126 |
f7 | 0.0245 | 0.0023 | 0.0270 | 0.0010 | 0.0011 |
f8 | 0.0222 | 0.0018 | 0.0104 | 0.0006 | 0.0015 |
f9 | 0.0176 | 0.0046 | 0.0116 | 0.0005 | 0.0003 |
f10 | 0.0183 | 0.0050 | 0.0178 | 0.0007 | 0.0005 |
No. | Algorithm | Convergence Number | Average Iteration | Average Results | The Worst Result | The Best Results |
---|---|---|---|---|---|---|
f1 | QIBC | 50 | 3083 | 0.1577 | 0.5737 | 0.0313 |
BC | 0 | 10,000 | 349.70 | 1075.1 | 29.904 | |
BQGA | 0 | 10,000 | 131.59 | 246.14 | 36.583 | |
QDPSO | 21 | 7190 | 17.893 | 414.60 | 2.22e−6 | |
EGA | 0 | 10,000 | 456.36 | 887.14 | 227.14 | |
f2 | QIBC | 37 | 4643 | 9.4221 | 80.358 | 0.0444 |
BC | 23 | 6250 | 52.786 | 914.20 | 0.0699 | |
BQGA | 0 | 10,000 | 1046 | 6992 | 138.01 | |
QDPSO | 32 | 5076 | 12.440 | 72.776 | 0.0024 | |
EGA | 0 | 10,000 | 2654.1 | 12,494 | 301.56 | |
f3 | QIBC | 48 | 5050 | 1.18e−6 | 2.10e−5 | 4.74e−10 |
BC | 45 | 8016 | 1.36e−6 | 3.32e−5 | 9.61e−10 | |
BQGA | 0 | 10,000 | 187.72 | 792.30 | 21.370 | |
QDPSO | 47 | 6471 | 2.17e−4 | 0.0107 | 5.2e−75 | |
EGA | 0 | 10,000 | 1504.8 | 8057.3 | 219.92 | |
f4 | QIBC | 47 | 5685 | 3.53e−11 | 6.29e−10 | 4.17e−14 |
BC | 35 | 7210 | 7.84e−10 | 1.85e−08 | 5.59e−14 | |
BQGA | 0 | 10,000 | 15.894 | 20.742 | 10.280 | |
QDPSO | 6 | 9730 | 16.377 | 20.005 | 3.81e−14 | |
EGA | 0 | 10,000 | 19.287 | 21.047 | 3.9204 | |
f5 | QIBC | 41 | 3561 | 68.415 | 398.62 | 2.4709 |
BC | 10 | 9028 | 245.01 | 663.55 | 488.40 | |
BQGA | 0 | 10,000 | 5427 | 12,981 | 435.03 | |
QDPSO | 6 | 9061 | 827.33 | 2992.8 | 3.2900 | |
EGA | 0 | 10,000 | 6581.4 | 9429.7 | 4487.2 |
f6 | QIBC | 49 | 2467 | 0.1926 | 8.9054 | 1.25e−09 |
---|---|---|---|---|---|---|
BC | 28 | 5838 | 17.966 | 106.97 | 3.47e−08 | |
BQGA | 0 | 10,000 | 491.21 | 829.02 | 196.59 | |
QDPSO | 0 | 10,000 | 171.47 | 351.05 | 8.8842 | |
EGA | 0 | 10,000 | 22,127 | 355,958 | 978.91 | |
f7 | QIBC | 49 | 5763 | 3.39e−09 | 1.69e−07 | 0 |
BC | 36 | 8354 | 3.67e−08 | 1.45e−6 | 1.49e−10 | |
BQGA | 0 | 10,000 | 110.73 | 169.67 | 32.058 | |
QDPSO | 32 | 8640 | 0.4312 | 9.2145 | 2.42e−19 | |
EGA | 0 | 10,000 | 164.55 | 231.46 | 93.272 | |
f8 | QIBC | 50 | 5454 | 1412 | 5700 | 61.335 |
BC | 0 | 10,000 | 50,112 | 69,884 | 33,193 | |
BQGA | 0 | 10,000 | 4910.5 | 12,882 | 1006.1 | |
QDPSO | 50 | 7392 | 2003 | 5300 | 200.81 | |
EGA | 0 | 10,000 | 7843.8 | 38,137 | 4291.6 | |
f9 | QIBC | 50 | 2162 | 8.65e−17 | 3.33e−15 | 0 |
BC | 36 | 3424 | 0.0033 | 0.0221 | 0 | |
BQGA | 12 | 7780 | 0.0239 | 0.1275 | 0 | |
QDPSO | 29 | 5040 | 0.0062 | 0.5136 | 0 | |
EGA | 0 | 10,000 | 3.1224 | 7.3366 | 1.6101 | |
f10 | QIBC | 50 | 2606 | 1.13e−14 | 1.13e−13 | 0 |
BC | 49 | 6290 | 4.03e−12 | 1.89e−10 | 0 | |
BQGA | 0 | 10,000 | 172.42 | 416.64 | 26.023 | |
QDPSO | 6 | 9284 | 7.3553 | 15.882 | 0 | |
EGA | 0 | 10,000 | 822.60 | 1298.1 | 455.30 |
larger.
In
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
Function | Algorithm | Convergence Number | Average Number | Average Results | The Worst Result | The Best Result |
---|---|---|---|---|---|---|
f9 | QIBC | 10 | 6267 | 1.11e−16 | 6.66e−16 | 0 |
BC | 0 | 10,000 | 1.23e−07 | 6.80e−07 | 1.5e−08 | |
f10 | QIBC | 7 | 9065 | 4.14e−08 | 4.02e−07 | 3.4e−13 |
BC | 2 | 9758 | 3.17e−07 | 1.90e−06 | 2.4e−11 |
the shortest. Although it does’t adjust two parameters of qubit directly, it achieves the best match between
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. Taking
As the results are shown, for the high-dimensional optimization problems, the proposed algorithm also shows its better performance than classical ones.
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.
This work was supported by the Natural Science Foundation of Heilongjiang Province, China (Grant No. F2015021), the Youth Foundation of Northeast Petroleum University (Grant No. 2013NQ119) and the Science Technology Research Project of Heilongjiang Educational Committee of China (Grant No. 12541059).
GuoruiLi,MuSun,PanchiLi, (2015) Quantum-Inspired Bee Colony Algorithm. Open Journal of Optimization,04,51-60. doi: 10.4236/ojop.2015.43007