To enhance the performance of quantum-behaved PSO, some improvements are proposed. First, an encoding method based on the Bloch sphere is presented. In this method, each particle carries three groups of Bloch coordinates of qubits, and these coordinates are actually the approximate solutions. The particles are updated by rotating qubits about an axis on the Bloch sphere, which can simultaneously adjust two parameters of qubits, and can automatically achieve the best matching of two adjustments. The optimization process is employed in the n-dimensional space [-1, 1]n, so this approach fits to many optimization problems. The experimental results show that this algorithm is superior to the original quantum-behaved PSO.
The particle swarm optimization (PSO) algorithm is a global search strategy that can efficiently handle arbitrary optimization problems. In 1995, Kennedy and Eberhart introduced the PSO method for the first time [
Quantum PSO (QPSO) is based on quantum mechanics. A quantum-inspired version of the classical PSO algorithm was first proposed in [
In order to enhance the optimization ability of QPSO by integrating quantum computation, we propose an improved quantum-behaved particle swarm optimization algorithm. In our algorithm, all particles are encoded by qubits described on the Bloch sphere. The three-dimensional Cartesian coordinates of qubits can be obtained from projective measurement. Since each qubit has three coordinate values, each particle has three locations. Each of the locations represents an optimization solution, which accelerates the search process by expanding the search scope of each variable from an interval on the number axis to an area of the Bloch sphere. The delta potential well is used to establish the search mechanism. Pauli matrices are used to perform the projective measurement, establish the rotation matrices and achieve qubits rotating about the rotation axis. The experimental results show that the proposed algorithm is superior to the original one in optimization ability.
In quantum mechanics, the dynamic behavior of a particle complies with the following Schrodinger equation
where
In Schrodinger’s equation, the unknown is the wave function
The potential energy distribution function of the delta potential well can be expressed as
where
Substituting Equation (2) into Equation (1), we can obtain a particle’s wave function,
where
Therefore, a particle’s probability density function can be written as
To increase the probability of a particles moving towards the potential well’s center, Equation (4) must satisfy the following relationship,
From Equations (4) and (5), the characteristic length, L, must satisfy
In the potential well, the dynamic behavior of the particles obeys the Schrodinger equation, in that the particles’ locations are random at any time. However, the particles in classical PSO obey Newtonian mechanics, where the particles must have definite locations at any time. This contradiction can be satisfactorily resolved by means of the collapse of the wave function and the Monte Carlo method. We first take a random number u in the
range (0,1) and let
Using Equations (6) and (7), we can derive that
The above formula is the iterative equation of QPSO [
In this section, we propose a Bloch sphere-based quantum-behaved particle swarm optimization algorithm called BQPSO.
In quantum computing, a qubit is a two-level quantum system, described by a two-dimensional complex Hilbert space. From the superposition principles, any state of the qubit may be written as
where
Therefore, unlike the classical bit, which can only equal 0 or 1, the qubit resides in a vector space parameterized by the continuous variables
The optimization is performed in
In BQPSO, all particles are encoded by qubits described on the Bloch sphere. Set the swarm size to m, and the space dimension to n. Then the i-th particle is encoded as
where
From the principles of quantum computing, the coordinates x, y, and z of a qubit on the Bloch sphere can be measured by the Pauli operators written as
Let
In BQPSO, the Bloch coordinates of each qubit are regarded as three paratactic location components, each particle contains three paratactic locations, and each location represents an optimization solution. Therefore, in
the unit space
In BQPSO, each particle contains 3n Bloch coordinates of n qubits that can be transformed from the unit space
where
By substituting the three solutions
In BQPSO, we search on the Bloch sphere. That is, we rotate the qubit around an axis towards the target qubit. This rotation can simultaneously change two parameters
For the i-th particle, let
where m denotes the number of particles, r denotes a random number uniformly distributed in (0, 1), and k denotes the iterative step.
Let O denote the center of the Bloch sphere and
Let the qubit corresponding to the point
To achieve this rotation, it is crucial to determine the rotation axis, as it can directly impact the convergence speed and efficiency of algorithm. According to the definition of the vector product, the rotation axis of rotating
From the principles of quantum computing, the rotation matrix about the axis
and the rotation operation can be written as
where
Many benchmark numerical functions are commonly used to evaluate and compare optimization algorithms. In this section, the performance of the proposed BQPSO algorithm is evaluated on 8 standard, unconstrained, single-objective benchmark functions with different characteristics, taken from [
1)
2)
3)
4)
5)
6)
7)
8)
For all problems, the following parameters are used unless a change is mentioned. Population size: NP = 100 when D = 30 and NP = 80 when D = 20, the precision of a desired solution value to reach (VTR): VTR = 10 − 5
(i.e.
for
To minimize the effect of the stochastic nature of the algorithms, 50 independent runs on 8 functions are performed and the reported indexes for each function are the average over 50 trials. If an algorithm finds the global minima with predefined precision within the preset MNFE the algorithm is said to have succeeded. Otherwise it fails. All of the algorithms were implemented in standard Matlab 7.0 and the experiments were executed on a P-II 2.0 GHz machine with 1.0 GB RAM, under the WIN-XP platform.
Five performance criteria were selected from [
Error: The error of a solution
NFE: When the VTR was reached, the number of function evaluations (NFE) was recorded. If the VTR was not reached within the preset MNFE then the NFE is equal to MNFE. The average (mean) and standard deviation (std dev) of the 50 NFE values were calculated.
Number of successful runs (SR): The number of successful runs was recorded when the VTR was reached before the MNFE was satisfied.
Running time (time (s)): Running time indicates the average time over one function evaluation.
In this section, we compare our approach with the classical QPSO of [
From
F | D | MNFE | BQPSO | QPSO | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Mean | Std dev | SR | Time (s) | mean | Std dev | SR | Time (s) | |||
f1 | 30 | 20,000 | 0.079 73 | 0.317 86 | 49 | 0.037 47 | 23.0011 | 452.679 | 1 | 0.00184 |
20 | 20,000 | 0.239 19 | 0.914 67 | 47 | 0.016 71 | 3.01441 | 7.96305 | 6 | 0.00155 | |
f2 | 30 | 20,000 | 38.9119 | 503.099 | 50 | 0.037 11 | 222.619 | 206.335 | 0 | 0.00263 |
20 | 20,000 | 28.2399 | 331.000 | 50 | 0.016 35 | 120.592 | 3215.47 | 11 | 0.00170 | |
f3 | 30 | 20,000 | 0.089 91 | 0.039 48 | 40 | 0.037 43 | 621.143 | 178731.2 | 0 | 0.00242 |
20 | 20,000 | 2.9E−09 | 1.1E−18 | 50 | 0.016 46 | 8.49475 | 81.7811 | 4 | 0.00179 | |
f4 | 30 | 20,000 | −28.169 | 0.322 38 | 50 | 0.031 39 | −10.971 | 0.57122 | 0 | 0.00485 |
20 | 20,000 | −18.866 | 0.180 42 | 50 | 0.016 60 | −9.1920 | 0.43015 | 15 | 0.00270 | |
f5 | 30 | 20,000 | 141.237 | 70671.1 | 37 | 0.053 73 | 260.084 | 7081.92 | 3 | 0.01753 |
20 | 20,000 | 31.1062 | 935.123 | 48 | 0.029 56 | 102.068 | 1255.77 | 21 | 0.00709 | |
f6 | 32 | 20,000 | 1.3E−07 | 1.0E−15 | 50 | 0.033 22 | 3.9E−04 | 4.0E−08 | 0 | 0.00316 |
24 | 20,000 | 3.8E−08 | 8.7E−17 | 50 | 0.016 64 | 7.0E−05 | 1.8E−09 | 4 | 0.00236 | |
f7 | 30 | 20,000 | 7.680 00 | 10.8751 | 36 | 0.036 97 | 21.9300 | 57.9156 | 0 | 0.00296 |
20 | 20,000 | 4.020 00 | 3.203 67 | 50 | 0.016 67 | 8.33940 | 6.03014 | 37 | 0.00222 | |
f8 | 30 | 20,000 | 0.324 16 | 0.454 06 | 30 | 0.446 92 | 28.6777 | 5.51655 | 0 | 0.03800 |
20 | 20,000 | 0.100 63 | 0.164 75 | 46 | 0.267 24 | 14.4137 | 2.11969 | 0 | 0.02871 |
F | D | MNFE | BQPSO | QPSO | ||||
---|---|---|---|---|---|---|---|---|
Mean | Std dev | SR | mean | Std dev | SR | |||
f1 | 30 | 20,000 | 11934.64 | 7.47E+06 | 49 | 19960.84 | 76 675.279 | 1 |
20 | 20,000 | 12701.46 | 8.35E+06 | 47 | 19326.60 | 4.37E+06 | 6 | |
f2 | 30 | 20,000 | 312.8400 | 1.66E+06 | 50 | 20,000 | 0 | 0 |
20 | 20,000 | 211.1400 | 1.10E+06 | 50 | 18154.64 | 1.47E+07 | 11 | |
f3 | 30 | 20,000 | 17096.88 | 7.55E+06 | 40 | 20,000 | 0 | 0 |
20 | 20,000 | 5943.780 | 3.57E+06 | 50 | 18899.44 | 1.44E+07 | 4 | |
f4 | 30 | 20,000 | 66.940 00 | 2.77E+02 | 50 | 20,000 | 0 | 0 |
20 | 20,000 | 20.720 00 | 71.51184 | 50 | 16553.88 | 3.61E+07 | 15 | |
f5 | 30 | 20,000 | 7698.440 | 6.30E+07 | 37 | 19005.04 | 1.62E+07 | 3 |
20 | 20,000 | 2725.600 | 2.35E+07 | 48 | 13830.72 | 6.76E+07 | 21 | |
f6 | 32 | 20,000 | 4284.480 | 1.85E+05 | 50 | 20,000 | 0 | 0 |
24 | 20,000 | 2765.020 | 8.39E+04 | 50 | 19435.52 | 6.83E+06 | 4 | |
f7 | 30 | 20,000 | 13906.26 | 2.97E+07 | 36 | 20,000 | 0 | 0 |
20 | 20,000 | 4580.540 | 1.20E+07 | 50 | 11246.08 | 4.78E+07 | 37 | |
f8 | 30 | 20,000 | 15620.80 | 2.44E+07 | 30 | 20,000 | 0 | 0 |
20 | 20,000 | 8842.720 | 2.54E+07 | 46 | 20,000 | 0 | 0 |
for 8 functions. Especially, for
In
It can be concluded that the overall performance of BQPSO is better than that of QPSO for all 8 functions. The improvement based on quantum computing can accelerate the classical QPSO algorithm and significantly reduce the NFE to reach the VTR for all of the test functions.
In this subsection, we compare BQPSO with other state-of-art algorithms to demonstrate its accuracy and performance. These algorithms include a genetic algorithm with elitist strategy (called GA), a differential evolution algorithm (called DE), and a bee colony algorithm (called BC). The BQPSO’s control parameter was
We have taken
From
F | D | MNFE | BQPSO | GA | DE | BC | ||||
---|---|---|---|---|---|---|---|---|---|---|
Mean | SR | Mean | SR | Mean | SR | Mean | SR | |||
f1 | 30 | 20,000 | 0.07973 | 49 | 227.4855 | 0 | 3.1071 | 0 | 6.0792 | 0 |
20 | 20,000 | 0.23919 | 47 | 172.8114 | 0 | 1.7693 | 0 | 7.9874 | 0 | |
f2 | 30 | 20,000 | 38.9119 | 50 | 52.4963 | 50 | 60.8792 | 50 | 42.2418 | 50 |
20 | 20,000 | 28.2399 | 50 | 35.5755 | 50 | 49.0714 | 50 | 42.6962 | 50 | |
f3 | 30 | 20,000 | 0.08991 | 40 | 8.9E+03 | 0 | 1.0330 | 10 | 125.5168 | 0 |
20 | 20,000 | 2.9E?09 | 50 | 1.3E+03 | 0 | 3.3E−04 | 50 | 1.5107 | 3 | |
f4 | 30 | 20,000 | ?28.169 | 50 | ?9.255 | 0 | ?17.060 | 0 | ?21.941 | 45 |
20 | 20,000 | ?18.866 | 50 | ?6.771 | 0 | ?14.574 | 0 | ?13.133 | 0 | |
f5 | 30 | 20,000 | 141.237 | 37 | 4.9E+05 | 0 | 282.0958 | 3 | 393.2102 | 18 |
20 | 20,000 | 31.1062 | 48 | 765.4107 | 4 | 111.5074 | 17 | 147.4145 | 34 | |
f6 | 32 | 20,000 | 1.3E−07 | 50 | 0.4800 | 0 | 8.3E−05 | 40 | 8.8E−04 | 0 |
24 | 20,000 | 3.8E−08 | 50 | 0.1171 | 0 | 2.9E−06 | 48 | 9.1E−04 | 0 | |
f7 | 30 | 20,000 | 7.68000 | 36 | 18.3473 | 0 | 80.1740 | 0 | 18.3369 | 1 |
20 | 20,000 | 4.02000 | 50 | 8.5440 | 35 | 25.8359 | 0 | 13.2798 | 7 | |
f8 | 30 | 20,000 | 0.32416 | 30 | 4.5371 | 0 | 3.2423 | 0 | 6.4422 | 0 |
20 | 20,000 | 0.10063 | 46 | 1.8608 | 0 | 1.1100 | 1 | 1.3450 | 0 |
F | D | BQPSO | GA | DE | BC | ||||
---|---|---|---|---|---|---|---|---|---|
Mean | Std dev | Mean | Std dev | Mean | Std dev | Mean | Std dev | ||
f1 | 30 | 11,935 | 7.47E+6 | 20,000 | 0 | 20,000 | 0 | 20,000 | 0 |
20 | 12,701 | 8.35E+6 | 20,000 | 0 | 20,000 | 0 | 20,000 | 0 | |
f2 | 30 | 312.8 | 1.66E+6 | 9081.5 | 4.52E+6 | 843.38 | 2.31E+5 | 8218.5 | 2.79E+4 |
20 | 211.1 | 1.10E+6 | 6253.8 | 3.21E+6 | 678.78 | 2.54E+5 | 8308.8 | 2.11E+4 | |
f3 | 30 | 17,097 | 7.55E+6 | 20,000 | 0 | 18,723 | 1.16E+7 | 20,000 | 0 |
20 | 5943.8 | 3.57E+6 | 20,000 | 0 | 10,728 | 9.15E+6 | 19,445 | 6.22E+6 | |
f4 | 30 | 66.94 | 2.77E+2 | 20,000 | 0 | 20,000 | 0 | 16,330 | 5.35E+6 |
20 | 20.72 | 71.5118 | 20,000 | 0 | 20,000 | 0 | 20,000 | 0 | |
f5 | 30 | 7698.4 | 6.30E+7 | 20,000 | 0 | 18,838 | 2.16E+7 | 19,182 | 1.50E+6 |
20 | 2725.6 | 2.35E+7 | 19,821 | 6.43E+5 | 14,268 | 6.91E+7 | 17,735 | 4.74E+6 | |
f6 | 32 | 4284.5 | 1.85E+5 | 20,000 | 0 | 17,350 | 4.77E+6 | 20,000 | 0 |
24 | 2765.0 | 8.39E+4 | 20,000 | 0 | 15,148 | 8.71E+6 | 20,000 | 0 | |
f7 | 30 | 13,906 | 2.97E+7 | 20,000 | 0 | 20,000 | 0 | 19,998 | 158.42 |
20 | 4580.5 | 1.20E+7 | 15,816 | 1.28E+7 | 20,000 | 0 | 19,977 | 4045.6 | |
f8 | 30 | 15,621 | 2.44E+7 | 20,000 | 0 | 20,000 | 0 | 20,000 | 0 |
20 | 8842.7 | 2.54E+7 | 20,000 | 0 | 19,606 | 7.77E+6 | 20,000 | 0 |
three algorithms. The DE algorithm performed well on average. It obtained the best results among the three algorithms for some benchmark functions, but it did not successfully optimize the functions f2, f4, and f7, because it got trapped in a local optimum. The BC achieved the best results among the three algorithms for the 30-dimensional functions f2, f4, and f7. The GA achieved the best results among three algorithms for the 20-dimensional functions f2 and f7. The DE achieved the best results among three algorithms for the 20-dimensional function f4. According to the experimental results, the algorithms can be ordered by optimizing performance from high to low as BQPSO , DE , BC, GA. This demonstrates the superiority of BQPSO.
These results can be easily explained as follows. First, In BQPSO, two parameters
This paper presents an improved quantum-behaved particle swarm optimization algorithm. Unlike the classical QPSO, in our approach the particles are encoded by qubits described on the Bloch sphere. In this kind of coding method, each particle contains three groups of Bloch coordinates of qubits, and all three groups of coordinates are regarded as the approximate solutions describing the optimization result. As three solutions are synchronously updated in each optimization step (with the same swarm size as QPSO), our encoding method can extend the search range and accelerate the optimization process. In our approach, the particles are updated by rotating qubits through an angle about an axis on the Bloch sphere, and the rotation angles of qubits are computed according to the iteration equation of the classical QPSO. This kind of updating approach can simultaneously adjust two parameters of qubits, and can automatically achieve the best matching of two adjustments. The experimental results reveal that the proposed approach can enhance the optimization ability of the classical quantum-behaved particle swarm optimization algorithms, and for high dimensional optimization the enhancement effect is remarkable. In addition, our approach adapts quicker than the classical QPSO when the control parameter changes. Further research will focus on enhancing the computational efficiency of BQPSO without reducing the optimization performance.