Slime Mould Algorithm



Slime mould algorithm (SMA) is a population-based optimization technique, which is proposed based on the oscillation style of slime mould in nature. The SMA has a unique mathematical model that simulates positive and negative feedbacks of the propagation wave of slime mould. It has a dynamic structure with a stable balance between global and local search drifts.

Logic of search
Without having any brain or neurons, slime moulds, Physarum_polycephalum, are extraordinarily intelligent, capable of solving difficult computational problems with extreme efficiency. This single-celled amoeba is able to memorize, make some motion decisions and contribute to changes, and all these can impact on our thinking to intelligent behaviour. This organism can optimize the form of its network by more time as it takes in info.



Approach food
To model the approaching manner of slime mould in the mathematical model of SMA, as a mathematical equation, the next rule is developed to make the start to contraction mode:

$$ X_{t+1}=\left\{\begin{matrix} X_{b}(t)+v_{b}.\left ( W.X_{A}(t)-X_{B}(t) \right ) & r<p \\ v_{c}.X_{t} & r\geq p \end{matrix}\right.$$                     (1)

where $$v_{b}$$ is a parameter with a interval of $$[-a,a]$$, $$v_{c}$$ decreases linearly from one to zero. $$t$$ denotes the current iteration, $$X_{b}$$ shows the individual position with the highest odor concentration currently explored, $$X$$ is the location vector of slime mould, $$X_{A}$$ and $$X_{B}$$ are two individuals, that we randomly selected from the current population, $$W$$ is the weight of slime mould. The equation of $$p$$ is as follows:

$$ p= \tanh \left |S(i)-DF| \right.$$                                                                            (2)

where $$\in{1,2,\cdots,n}$$, $$S(i)$$ is the fitness of $$X$$, $${DF}$$ is the best fitness attained in all iterations.

The formula of $$v_{b}$$ can be expressed as follows:

$$ v_{b}=[-a,a]$$                                                                                            (3)

$$ a= \arctan h \left ( -\left ( \frac{t}{max_t} \right )+1 \right ) $$                                                      (4)

The formula of $$W$$ can be expressed as follows:

$$ W(SmellIndex(i))=\left \{ \begin{matrix} 1+r \log ((b_F-S(i))/(b_F-w_F)+1) & condition \\ 1-r \log ((b_F-S(i))/(b_F-w_F)+1) & others \end{matrix} \right.$$                   (5)

$$ SmellIndex=sort(S)$$                                                                        (6)

where $$condition$$ show that $$S(i)$$ ranks first half of the swarm, $$r$$ is the random value in the limit of [0,1], $$b_F$$ is the best fitness attained in the current loop, $$w_F$$ is the worst fitness value attained in the iterative procedure, $$SmellIndex$$ is the sequence of fitness values sorted (ascends in the minimum value case).

Wrap food
The mathematical rule for the update on the location of slime mould is as follows:

$$ X^{*}=\left\{\begin{matrix} rand (UB-LB)+LB & rand<z  \\ X_b (t)+v_b(WX_A(t)-X_B (t)) & r<p\\ v_c X(t) & r\geq p \end{matrix}\right.$$                             (7)

where $$LB$$ and $$UB$$ denote the lower and upper limits of the feature range, rand and $$r$$ is the random value in [0. 1].

Oscillation
The value of $$v_b$$ oscillates in a random manner between $$[-a,a]$$ and gradually approaches zero with more iterations. The value of $$v_c$$ oscillates among [-1, 1] and converges to zero eventually.

The SMA algorithm

 * Inputs: The population size $$ N $$ and maximum number of iterations$$max_t$$


 * Outputs: The best solution Initialize the the positions of slime mould $$X_{i}(i=1,2,\ldots,n)$$
 * Calculate the fitness of all slime mould Calculate the $$W$$ by Eq. (5)
 * Update $$p$$, $$v_b$$, $$v_c$$;
 * Update positions by Eq. (7)
 * Return bestFitness and $$X_{b}$$

Application areas
Until now, the SMA has solved several real-world optimization problems in science and industry better than many competitive algorithms.


 * The SMA has been used to optimize the Artificial Neural Network Model for Prediction of Urban Stochastic Water Demand
 * The SMA has been employed to estimate the solar photovoltaic cell parameters
 * The SMA integrated with other population-based solver to overcome ISP for COVID-19 chest X-ray images
 * In another experiment, results show that SMA can solve some problems in optimal model parameters of solar PV panels.
 * In a study, SMA integrated with chaos solved an SVR-based prediction approach that is presented based on the the K-means clustering.