To enhance the optimization performance of differential evolution algorithm, by studying the implementation mechanism of differential evolution algorithm, a new idea of incorporating differential strategy and rotation of qubits in the Bloch sphere is proposed in this paper. In the proposed approach, the individuals are encoded by qubits described on Bloch sphere, and the rotation angles of qubits in current individual are obtained by differential strategy. The axis of rotation is designed by using vector product theory, and the rotation matrixes are constructed by using Pauli matrixes. Taking the corresponding qubits in current best individual as targets, the qubits in current individual are rotated to the target qubits about the rotation axis on the Bloch sphere. The Hadamard gates are used to mutate individuals. The simulation results of optimizing the minimum value of functions indicate that, for an iterative step, the average time of the proposed approach is 13 times as long as that of the classical differential evolution algorithm. When the same limited steps are applied in two approaches, the average optimization result of the proposed approach is 0.3 times as great as that of the classical differential evolution algorithm; when the same running time is applied in two approaches, the average optimization result of the proposed approach is 0.4 times as great as that of the classical differential evolution algorithm. These results suggest that the proposed approach is inefficient in computational ability; however, it is obviously efficient in optimization ability, and the overall optimization performance is better than that of the classical differential evolution algorithm.
Differential evolution algorithm is a bionic intelligent optimization method proposed by American scholar Storn and Price in 1995. This algorithm simulated the “survival of the fittest” natural evolution law. In 2004, Price and others published the first monograph of the algorithm, which has become a classic in the field of DE algorithm [
Quantum computing is a new computing model derived from quantum mechanics. At present, in the aspect of integrating particle swarm optimization, the basic theory and the applied research are mature. Sun Jun simulated the particles’ movement to the lowest energy point in the quantum potential well, by which they firstly put forward quantum behavior particle swarm algorithm [
Based on the above consideration, this article selected the differential evolution algorithm as the entry point, and presented the Bloch quantum-inspired differential evolution algorithm, which is called BQDE for short. This algorithm used the qubit described by the Bloch sphere (not its Bloch coordinate) to encode the individuals directly, used the qubit vector product to build the rotation axis, and used the quantum computing principle to construct the rotation matrix. On the Bloch sphere, it realized the individual’s evolution by the qubit’s pivoting, and used Hadamard gate to achieve individual’s evolution to increase the diversity of the species. This method can simultaneously adjust two parameters of the qubit in the best matching mode. Taking typical function extremum for example, the simulation result shows that the optimization ability of this algorithm is obviously better than that of the common differential evolution algorithm.
The remainder of the paper is structured as follows. Section 2 gives a brief survey on Common Differential Evolution (CDE) Algorithm. Section 3 describes the basic principle of BQDE algorithm. In Section 4, we test our algorithm using 8 benchmark functions and also compare our results with CDE. Section 5 contains the conclusions.
Let NP denote the population size, D denote the dimension of the feasible solution space, and
population in the tth generation. The initial population is
For any target vector in the parent population
where
Differential evolution algorithm (DE) generated the new crossover vector
where rand is the random number between
Differential evolution algorithm adopted the greedy choice strategy. The new individual
By the selecting operation, differential evolution algorithm makes the individuals in the child population are always better than that in the parent population. This can make the population always evolve in the direction of the optimal solution.
In the quantum computation, qubit has two ground states:
where
Since
Now every point on the Bloch sphere
BQDE algorithm encodes individuals by the qubits described based on the Bloch sphere. Let NP denote the population size, D denote the dimension of optimization space, and
where
According to the principles of Quantum computing, we can acquire the Bloch coordinate
The projection measurement calculation formula of qubit
In BQDE, three optimal solutions made by each individual were expressed by Bloch coordinates. Since the Bloch coordinates
where
In BQDE, we will establish the searching mechanism relay on the Bloch sphere, which can make the qubit revolve around a certain axis towards the target bit. Set t-th generation’s optimal individual as
where
Taking
to
In order to rotate
On the Bloch sphere, set
Set the Bloch coordinates of
According to the method above, the axis of rotating
where
According to the quantum computing principle, the rotation matrix made the qubit revolve about the unit vector axis
where
Thus, on the Bloch sphere, the rotation matrix that made the current bit
The rotate operation made the current bit
where
BQDE adopted the same crossover strategy as CDE does. With help of the recombination of the qubit before and after the individual’s evolution, the new crossover individual
where rand is the random between
BQDE adopted the same selection strategy with CDE, which is the Greedy Selection Mode. The new individual
where
Use the following eight standard test functions to verify the performance of BQDE, and compared with CDE. All eight functions are minimum optimization, which
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
Precision threshold
Error E: the error definition of a optimized solution
Iterative steps (IS): the iterative steps when the algorithm reaches convergence. If the algorithm is not convergence, set IS = MIS.
Running time (RT): the average time of executing an iteration.
In the CDE algorithms, the range of the scale factor
Considering the large amount of calculation of the BQDE, we found that the running time of which are about 10 to 20 times to CDE after a lot of simulations. To enhance the credibility of the performance of BQDE, it is necessary to make comparison in the same period of time. Thus, the maximum iteration step is MIS = 104 for BQDE, and is MIS = 104 and MIS =
The other parameter settings of two algorithms are as follows: Population size
To reflect the superiority of the proposed algorithm and deduce the randomness of it, each function would be optimized 50 times independently by BQDE and CDE. Choose the following items from the 50 optimization results as the comparison index. These items are as follows: the Mean and the standard deviation (STD) of the error E, the Mean and the standard deviation (STD) of the iteration steps, the number of convergence (NC) and the running time (RT).
The two algorithms were implemented on the computer with 2.0 GHz CPU and 1.0 G RAM, using Matlab7.0 simulation software. The result contrasts of the average error, the standard deviation of error, the number of convergence, and the running time are shown in
The experimental results show that for the contrast of every index, BQDE is obviously superior to CDE not
No. | BQDE | CDE | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MIS | Mean | STD | NC | RT (s) | MIS | Mean | STD | NC | RT | MIS | Mean | STD | NC | ||
f1 | 104 | 91.4859 | 138.257 | 30 | 0.03972 | 104 | 127.182 | 300.426 | 0 | 0.0019 | 2 × 105 | 94.4472 | 193.021 | 0 | |
f2 | 104 | 6.76337 | 145.692 | 24 | 0.03594 | 104 | 59.2505 | 284.889 | 0 | 0.0020 | 2 × 105 | 58.6117 | 272.423 | 0 | |
f3 | 104 | 30.4253 | 230.262 | 50 | 0.03590 | 104 | 110.433 | 706.128 | 11 | 0.0022 | 2 × 105 | 54.3473 | 290.958 | 50 | |
f4 | 104 | 0.09968 | 0.11824 | 38 | 0.03688 | 104 | 7.04951 | 6.93309 | 0 | 0.0027 | 2 × 105 | 6.53958 | 3.77035 | 0 | |
f5 | 104 | 3.67919 | 1.40779 | 50 | 0.03607 | 104 | 13.2842 | 2.44684 | 0 | 0.0030 | 2 × 105 | 10.0863 | 1.73833 | 20 | |
f6 | 104 | 7.80975 | 103.729 | 29 | 0.03793 | 104 | 22.9041 | 226.671 | 0 | 0.0039 | 2 × 105 | 15.2807 | 199.598 | 2 | |
f7 | 104 | 24.0999 | 130.613 | 50 | 0.03639 | 104 | 89.6964 | 239.823 | 42 | 0.0027 | 2 × 105 | 44.2251 | 142.486 | 50 | |
f8 | 104 | 0.18443 | 0.12594 | 31 | 0.44852 | 104 | 0.50029 | 0.55184 | 4 | 0.0345 | 2 × 105 | 0.47342 | 0.43005 | 8 |
No. | BQDE | CDE | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MIS | Mean | STD | NC | MIS | Mean | STD | NC | MIS | Mean | STD | NC | ||
f1 | 104 | 6430.56 | 9.7 × 106 | 30 | 104 | 104 | 0 | 0 | 2 × 105 | 2 × 105 | 0 | 0 | |
f2 | 104 | 7396.28 | 9.3 × 106 | 24 | 104 | 104 | 0 | 0 | 2 × 105 | 2 × 105 | 0 | 0 | |
f3 | 104 | 136.320 | 3.1 × 103 | 50 | 104 | 9600 | 1.3 × 106 | 11 | 2 × 105 | 2 × 104 | 2 × 108 | 50 | |
f4 | 104 | 3711.78 | 1.5 × 107 | 38 | 104 | 104 | 0 | 0 | 2 × 105 | 2 × 105 | 0 | 0 | |
f5 | 104 | 865.300 | 8.9 × 105 | 50 | 104 | 104 | 0 | 0 | 2 × 105 | 1.7 × 105 | 2.7 × 109 | 20 | |
f6 | 104 | 4958.24 | 1.9 × 107 | 29 | 104 | 104 | 0 | 0 | 2 × 105 | 1.9 × 105 | 1.6 × 109 | 2 | |
f7 | 104 | 285.300 | 2.9 × 104 | 50 | 104 | 5500 | 8.3 × 106 | 42 | 2 × 105 | 5.9 × 103 | 1.8 × 107 | 50 | |
f8 | 104 | 5178.96 | 1.5 × 107 | 31 | 104 | 8500 | 1.2 × 107 | 4 | 2 × 105 | 1.8 × 105 | 2.9 × 109 | 8 |
only when the iteration steps of two algorithms are the same, but also when the optimization times of two are same. For the experimental results above, we can analysis as follows.
First, BQDE adopted the same DE strategy with CDE so that it obtains the advantages CDE. Second, BQDE coding scheme shows that every individual can give three optimal solutions simultaneously. And the three optimal solutions would be updated with each iteration step. This effectively enhanced the ergodicity of solution space. Third, BQDE adopted a qubit update method that the qubit rotate on the Bloch sphere about an axis. These methods not only can adjust the two parameters of qubits simultaneously, but also can achieve the best match between the two parameters so that to enhance the efficiency of optimization. Besides, it’s worth pointing out, the computing efficiency of BQDE is pretty low since BQDE involves many matrix operations (such as construct the axis of rotation, revolve operation, projection measurement). As the experiment results show, BQDE’s running time is 10 to 20 times of CDE’s. According to the No Free Lunch Theorem, BQDE gained the performance improvement in expense of scarifying the computing efficiency. BQDE is also obviously better than CDE when comparing with the same period of time (at this time, CDE’s iteration steps is 20 times of BQDE’s). These experimental results show that the CDE’s performance cannot be apparently improved only by extending the iteration step. Therefore the introduction of quantum computing mechanism indeed is an effective way to improve the performance of CDE optimization.
This paper proposed a quantum inspired differential evolution algorithm. Different from the existing improved method, this method adopted qubit encoding mechanism. For CDE, every dimension variable’s search range of each individual is an internal. While in the proposed algorithm, the variable’s search ranges of every dimension are the Bloch sphere in the three-dimensional space. This algorithm can search the optimized solution on three coordinate axes simultaneously relying on qubit’s pivoting, which can improve the efficiency of optimization. Moreover, the algorithm’s searching range on three coordinate axes is the closed interval
This work was supported by the National Natural Science Foundation of China (Grant No. 61170132).