In the QPSO algorithm,
is a parameter named ’contract expansion’ coefficient [
31] in updating the average optimal position of particles through quantum potential energy, which is concerned with the convergence of the QPSO algorithm. Therefore, for the MSSQ problem, we propose an IQPSO algorithm. In IQPSO, as the number of iteration steps increases, we adaptively adjust
according to the iterations to improve the performance of the QPSO algorithm.
5.1. Proposed IQPSO Algorithm
In the
N-dimensional target search space, the IQPSO algorithm
consists of
o particle swarms, which represents the possible suboptimal mobile charging sequence of MSSQ problem. At the
k step, the position of the
i-th particle is
. In IQPSO algorithm, the particle does not have velocity vector, and the best position of the personal particle
i is expressed as
. At the
k step, the
of the
i-the particle is
where
. The position with the largest
searched in particle represents personal experience represented by
, and set
changing with particle optimization process. At the
k step, the global best position of the population
is
where
is subscript of the global optimal particle position in the population. The global best position should be calculated before each update of the particle’s position. Thus, only the
of the current personal position of each particle needs to be compared with the global best position, if the
is better, update the
. To get the evolution equation of particles, the following settings are needed
The IQPSO algorithm assumes that there is a one-dimensional potential well at the local attraction of each dimension and that every particle in the group has quantum behavior. Luo et al. [
32] demonstrated that the interaction of individual and public search of each particle is pulled towards its local attractor
to ensure convergence. The probability density function of each particle flight position can be derived from the Schrodinger equation. The next step of the IQPSO iteration is described
where
is delta potential well characteristic length, the average position of all the particles is expressed as
, defined as
,
, where
is a parameter named the ‘contraction-expansion’ coefficient [
31]. It is the only parameter need to be set artificially, which is concerned with the convergence performance of the algorithm.
The improved methods for
include the fixed value and linear variation methods. In this paper, we adaptively adjust
according to the iterative steps within the upper and lower bounds to ensure that the algorithm obtains better global and local search ability in the whole iteration. When
, IQPSO can achieve better global convergence; when
, IQPSO is difficult to converge. So
is choosen, the adaptive formula of
with the number of iteration steps is
where
K is the maximum iterative step size,
is the adaptive adjustment coefficient, which is formulated as
In addition, different from the traditional way of closest integer and binary conversion, we use the swap operator in [
31] to optimize the mobile charging sequence in this paper.
The swap operator () is defined as , , which can swap the node and node in . So, , is a new mobile charging sequence, ⊕ is the function of changing to via . Multiple compose a subset of swap operators (), where , w is the number of .
If
and
act successively on the
to get another
, we can combine the SSO1 and SSO2 to get a new one, which is
, where ⊗ means merging two SSO. At this time,
. The subset with the least swap operators is named the subset of the basic swap operator (
). Based on the above, the changes of
can be extended. We assume
, the
is expected to find, which can change charging sequence from
to
. ⊙ means the function of finding
from
to
. Applying the
algorithm to IQPSO, (
10) is updated as
For the MSSQ problem, the execution process of the IQPSO algorithm is as follows: (1) initialize parameters such as particle swarm
o, the maximum number of iterations
K and minimum error
of algorithm termination; (2) calculate the
of each particle and set it as the personal best value to find the current best position
of each particle; (3) according to
get the global best position
; (4) update the current
and
by comparing with the historical information; (5) update particles’ positions; (6) repeat 2–5 until
is met or
; (7) output global best
and
. The pseudocode is shown in Algorithm 2.
Algorithm 2 IQPSO algorithm for the MSSQ. |
- Require:
, D, , , , , , o, K, - Ensure:
optimal
and - 1:
fordo - 2:
for do - 3:
Initialize positions randomly - 4:
Update the according to the and via ( 8) - 5:
end for - 6:
Update the global best position via ( 9) - 7:
To get the evolution equation of particles from ( 14) - 8:
From ( 12) to ( 13), adaptively choosing according to the iteration steps - 9:
Calculate the new position of particles according to ( 11) - 10:
if then - 11:
Break - 12:
end if - 13:
end for - 14:
|
5.2. Iqpso Convergence Analysis
The principle of the IQPSO algorithm is the same as that of QPSO; therefore, the proof of the convergence of QPSO is given in [
31], and we will not repeat it here. In this part, we analyze the computational complexity of IQPSO.
Theorem 2. The computational complexity of IQPSO is .
Proof. The calculation of within a charging cycle needs to be for the charge of N nodes. The time complexity of the IQPSO is . The IQPSO takes times to traverse the largest of all particles in the inner, while the loop needs to be executed o times. Since the outer loop requires at most K iterations, the computational complexity of IQPSO is . □
In addition, we used Matlab2021b simulation software to verify the IQPSO algorithm convergence. The simulation settings in this paper are based on [
33], and the specific parameters are shown in
Table 1.
As shown in
Figure 2a, the x-axis is the number of iteration steps and the y-axis represents the performance index. The IQPSO is proved to be convergent, converging to the maximum
value of 58.69 in about 12 steps. The maximum
value of the QPSO is 58.63 in about 19 steps; therefore, the convergence performance of IQPSO is better than that of QPSO. Similarly, as shown in
Figure 2b, IQPSO before iterating 12 steps has a large error fluctuation to increase the iteration step size and thus converges to the maximum
faster.
In order to make our conclusion more convincing, we have performed 20 comparison simulations, and the results are shown in the following
Table 2 and
Table 3. The position distribution and initial residual energy of 80 nodes in 20 simulations are randomly set; therefore, the results are different each time. Finally, we averaged the results of 20 comparison simulations to obtain the performance indexes (60.25 and 59.16) and the convergence steps (12 and 17.6) of the IQPSO and QPSO algorithms, respectively. It is clear that the IQPSO is better than QPSO in convergence performance, especially for the convergence speed.