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 (*N*_{f}) and male individuals (*N*_{m}) 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 *W*_{i} 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 *V*_{a, b} on the web received by spider *a* and sent by spider b. *d*_{a, 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*, *r*_{l}, *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 *X*_{o} with *X*_{ro} (i.e., *X*_{ro} = *rand* . *X*_{o}, *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, *X*_{ro}, *α* and *λ* consist of two cases, namely *X*_{ro} ∈ [*α*, *λ*] and *X*_{ro} ∉ [*α*, *λ*]. The individual *X*_{ro}, *X*_{o} and *X* consist of three associations such as 1) *X*_{ro} between *X*_{o} and *X* 2) *X*_{ro} is larger than *X*_{o} and 3) *X*_{ro} is minimum than *X*.

The dynamic opposite number *X*_{do} can be regenerated when *X*_{do} ∉ [*α*, *λ*]. At the same time, if *X*_{ro} 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 *X*_{do} 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, *r*_{1} and *r*_{2} 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* = {*X*_{1}, *X*_{2}, …, *X*_{D}} are limited to upper (i.e., *λ* = {*λ*_{1}, *λ*_{2}, …, *λ*_{D}} and lower *α* = {*α*_{1}, *α*_{2}, …, *α*_{D}} bound; *r*_{3} and *r*_{4} 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 *j*^{th} dimension of *i*^{th} the solution in population created by SSO, *r*_{1, i} and *r*_{2, i} are two arbitrary values within the range of [0,1], *λ*_{j} and *α*_{j} specifies the upper and lower boundary of *j*^{th} dimension of *i*^{th} 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, *r*_{3, i} and *r*_{4, 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.