Binary variable

Continuous variable

Particle position

x ∗ = { y }

First stage: x = { P h u , P b e s s , α , β }

Second stage: x = { θ , ϕ }

Velocity update

V i k + 1 = ϕ ⋅ w k ⋅ v i k + c 1 ⋅ r 1 ⋅ ( P b e s t − x i k ) + c 2 ⋅ r 2 ⋅ ( G b e s t − x i k )

where k is the iteration number. i is the particle number. x is the particle position. v is the particle velocity. P b e s s and G b e s t are the personal and global bests, respectively. c 1 and c 2 are the acceleration coefficients. r 1 and r 2 are the random numbers between 0 and 1.

The time-varying inertia weight is w k = w m a x − k w m a x − w m i n k m a x and ϕ = 2 | 2 − C 0 − C 0 2 − 4 C 0 | .

where w m i n and w m a x are the minimum and maximum values of the inertia weight, respectively. k m a x is the maximum iteration. C 0 is a constant coefficient, where C 0 = c 1 + c 2 and C 0 > 4 .

Particle update

x i j k = { 1         if   u i j k < s i j k 0     if   u i j k ≥ s i j k

where u i j k is a random number between 0 and 1, and s i j k is the sigmoid function ( s i j k = 1 1 + e − v i j k ).

x i k + 1 = x i k + v i k + 1