This section discusses the overview of generic social spider optimization algorithm, the dynamic opposite learning concept and the formulation of the proposed algorithm.
Overview of social spider optimization algorithm
SSO algorithm mimics the foraging actions of vibration sense. The source of food is another social spider or prey on the web. The direction of the food source is erudite using vibration sense. The spider denotes a feasible solution in the SSO algorithm, and the web indicates search space. SSO consists of male and female agents; the female numeral individual is more significant than the male individual. The numeral female individual (Nf) and male individuals (Nm) are calculated using
$${N}_f= Floor\left[\left(0.9-\mathit{\operatorname{rand}}.\textrm{0.25}\right). Np\right]$$
(14)
where rand denotes the arbitrary function within the range of [0,1]; Np denotes the numeral populations; each spider receives weight Wi in population, Φ using fitness calculation. The weight was calculated using
$${W}_i=\frac{fit\left(\Phi \right)-{worst}_{\Phi}}{best_{\Phi}-{worst}_{\Phi}}$$
(16)
The vibration sense Va, b on the web received by spider a and sent by spider b. da, b is the Euclidean distance, which can be calculated using
$${V}_{a,b}={W}_i.{e}^{-{d}_{a,b}^2}$$
(17)
The cooperative behaviour of female agents is calculated using
$${f}_i\left(t+1\right)=\left\{\begin{array}{c}{f}_i(t)+x.{V}_{i,c}.\left({\Phi}_c-{f}_i(t)\right)+y.{V}_{i,d}.\left({\Phi}_d-{f}_i(t)\right)\\ {}+z.\left(\mathit{\operatorname{rand}}-\frac{1}{2}\right){r}_l<\gamma \\ {}{f}_i(t)-x.{V}_{i,c}.\left({\Phi}_c-{f}_i(t)\right)-y.{V}_{i,d}.\left({\Phi}_d-{f}_i(t)\right)\\ {}+z.\left(\mathit{\operatorname{rand}}-\frac{1}{2}\right){r}_l\ge \gamma \end{array}\right.$$
(18)
where x, y, z, rl, rand are arbitrary values between [0,1], γ is the threshold value, t is the iteration number for nearest spider c, d. The cooperative behaviour of male agents is calculated using
$${m}_i\left(o+1\right)=\left\{\begin{array}{c}{m}_i(o)+x.{V}_{i,f}.\left({\Phi}_f-{m}_i(o)\right)++z.\left(\mathit{\operatorname{rand}}-\frac{1}{2}\right)\\ {} if\ {W}_{N_{f+i}}>{W}_{N_{f+m}}\\ {}{m}_i(o)+x.\left(\frac{\sum_{e=1}^{N_m}{m}_e(o).{W}_{N_{f+h}}}{\sum_{e=1}^{N_m}.{W}_{N_{f+h}}}-{m}_i(o)\right)\\ {} if\ {W}_{N_{f+i}}\le {W}_{N_{f+m}}\end{array}\right.$$
(19)
where, \(\frac{\sum_{e=1}^{N_m}{m}_e(o).{W}_{N_{f+h}}}{\sum_{e=1}^{N_m}.{W}_{N_{f+h}}}\) denotes the weighted mean for the male population.
The dominant male and female agents are used for mating within radius r can be calculated using
$$r=\frac{\sum_{j=1}^n\left({ub}_j^{high}-{lb}_j^{low}\right)}{2.n}$$
(20)
where \({ub}_j^{high}\) and \({lb}_j^{low}\) are the upper and lower confines of the problem. The SSO algorithm is presented in algorithm 1.
Dynamic opposite learning method
The dynamic opposite learning method (DOL) is an extension of the opposition-based learning (OBL) method that is proposed by Xu et al. [37]. However, the OBL method can improve the quality of the algorithm towards optimal concerning the exploration of search space. But, determining the opposite position from the current situation is imminent. DOL is familiarized to advance the solution quality by eliminating the local optimal struck to eradicate the issue. The DOL is moreover similar to OBL by changing the opposite number Xo with Xro (i.e., Xro = rand . Xo, rand ∈ [0, 1]). The stable pursuit region can be modified into an unstable pursuit region trademarking the active change concerning arbitrary number.
Assumption
Let α denoted as the lower bound of the individual, λ denotes the upper bound of the individual. For instance, Xro, α and λ consist of two cases, namely Xro ∈ [α, λ] and Xro ∉ [α, λ]. The individual Xro, Xo and X consist of three associations such as 1) Xro between Xo and X 2) Xro is larger than Xo and 3) Xro is minimum than X.
The dynamic opposite number Xdo can be regenerated when Xdo ∉ [α, λ]. At the same time, if Xro is exceed the upper and lower bound due to the below Eq. (21).
$${X}_{do}=\left\{\begin{array}{cc}X+{r}_1.\left({X}_{ro}-X\right)& if\ {X}_{ro}>\lambda \\ {}X+{r}_2.\left({X}_{ro}-X\right)& if\ {X}_{ro}<\alpha \end{array}\right\}$$
(21)
The mathematical model of DOL concerning the dynamic opposite number and the active opposite point is expressed as follows.
Dynamic opposite value
It is considered to determine the step-by-step process of DOL. The mathematical model of Xdo can be expressed in Eq. (22).
$${X}_{do}=X+z.{r}_1.\left({r}_2.{X}_o-X\right)$$
(22)
$${X}_o=\lambda +\alpha -X$$
(23)
where, r1 and r2 denoted as arbitrary values with the bound of [0,1]; z indicates the learning weight value; X represented as the actual number with the range of [α, λ].
Dynamic opposite point: The expansion of positive contradictory value in the various dimensional search point. The mathematical model of the active opposite end can be expressed in Eq. (24).
$${X}_{do,j}={X}_j+z.{r}_3.\left({r}_4.{X}_{o,j}-{X}_j\right),j=1,2,\dots, D$$
(24)
$${X}_{o,j}={\lambda}_j+{\alpha}_j-{X}_j$$
(25)
where, D determines the D-dimensional space that incorporates various possible individuals; X specifies the present individual with D-dimensional space (i.e., X = {X1, X2, …, XD} are limited to upper (i.e., λ = {λ1, λ2, …, λD} and lower α = {α1, α2, …, αD} bound; r3 and r4 are indicates the arbitrary values with the range of [0,1].
The DOL method is incorporated into the beginning and rehearsal of the SSO population. In the initialization process, the opposite population Φdo is generated by the population Φ (i.e., Φdo ∪ Φ). Then, the fitness of the population Φdo ∪ Φ is computed and picks the half set of individuals to the population ΦS. In the generation process, if the hopping process gratifies, it produces the Φdo by ΦS and process the whole population as Φdo ∪ ΦS, then compute the fitness of Φdo ∪ ΦS and repeat the process until the process completes. If the solution of Φdo, ΦS and Φ exceeds the boundary, then regenerate the individual within the upper and lower limit.
DOL-based SSO algorithm
In this part, we proposed a novel variant of SSO, namely DOLSSO, to enhance the standard SSO algorithm to handle the precocity that constantly riddles several optimization techniques.
Population initialization based on DOL
The opposite solutions based on DOL are generated from the set of the first half of present individuals. The DOL population is processed with the SSO population initialization method. The mathematical model is expressed as follows.
$${\Phi}_{ij}^{do}={\Phi}_{ij}+{r}_{1,i}.\left({r}_{2,i}.\left({\lambda}_j+{\alpha}_j-{\Phi}_{ij}\right)-{\Phi}_{ij}\right)$$
(26)
where, Φij indicates the jth dimension of ith the solution in population created by SSO, r1, i and r2, i are two arbitrary values within the range of [0,1], λj and αj specifies the upper and lower boundary of jth dimension of ith solution \({\Phi}_{ij}^{do}\), determines the opposite individual of Φij. The DOL population initialization \({\Phi}_{ij}^{do}\) should satisfy the boundary region as per Eq. (27).
$${\Phi}_{ij}^{do}= RN, if\ {\Phi}_{ij}^{do}<{\alpha}_j\Big\Vert {\Phi}_{ij}^{do}>{\lambda}_j$$
(27)
where RN indicates the arbitrary values within the limit of [αj, λj].
Generation hopping based on DOL
DOL iteration hopping is analogous to the DOL population initialization process. This DOL iteration hopping strategy can be processed into whole generation to aid the algorithm to eradicate from local optimal struck. The hopping rate of the DOL method is represented by δ ∈ [0, 1] to determine the probability of the technique according to the hop rate. If the arbitrary value produced is minimal than the hopping rate factor δ, DOL process the hopping action. The mathematical model of the hopping process is expressed as follows.
$${\Phi}_{ij}^{do}={\Phi}_{ij}+z.\kern0.5em {r}_{3,i}.\left({r}_{4,i}.\left({\lambda}_j+{\alpha}_j-{\Phi}_{ij}\right)-{\Phi}_{ij}\right)$$
(28)
where z denotes the learning weight that differs concerning various scenarios and conditions, r3, i and r4, i are the two arbitrary values within the range of [0,1].
DOLSSO algorithm
As discussed earlier, DOLSSO is the modified version of SSO that includes the DOL method in standard SSO. The SSO algorithm is given in algorithm 1, and the DOL method is discussed in Dynamic opposite learning method section. The procedure of DOLSSO is presented in algorithm 2, and the workflow of DOLSSO is sketched in Fig. 2.
Decoding and encoding for JSP
A wide variety of strategies are available to encode and decode the JSP. Gao et al. [38] introduced one of the most popular strategies, including server selection and process ordering vectors. Although the strategy provides better results for some scenarios, its representation of individuals increases memory utilisation. In this work, we utilized the encoding and decoding strategy from the reference [37].
Exploration and exploitation analysis
We utilized the hopping rate factor (δ) in the proposed system to trade off the exploration and exploitation process. The individual that satisfies the hopping element then the current individual will undergo the exploration process using the DOL method. Otherwise, the individual utilizes the SSO method to exploit the search space. Therefore, we use δ with the fixed values of 0.5 to determine the solution update process. The DOLSSO algorithm initiates with a set of random solutions. At each generation, search individuals update their positions concerning randomly selected search agents, or the best individual found so far. Depending on the hopping factor δ, the proposed algorithm can switch between the exploration and exploitation processes. Finally, the DOLSSO is terminated by the fulfilment of a stop criterion.