In nature, some groups of animals often migrate to different locations as per the seasons by following social hierarchy amongst them. Foraging, exploiting and hunting behaviors of a group of animals are the major motivational factors in developing the Pathfinder Algorithm (PFA) [39]. Also, playing a lead role in a swarm for successful hunting and consequently influencing the other individuals to follow it, are the features of the computational process of PFA. The proposed PFA saves the best position achieved so far as the position of pathfinder and it never gets lost. The pathfinder is skilled to explore and exploit the hunt or food source. Different individuals follow the pathfinder and collaborate with their neighbor, so they can explore and exploit the objective in search space. The controlling parameters can keep the PFA from the possibility of local optima. Hence, PFA can be solved optimization problems effectively. In this section, the mathematical model involved for initialization, iteration and stopping phases of PFA are covered.
Mathematical model of PFA
In an \(n\)-dimensional search space, an individual animal from a swarm equal to the number of search variables is located in a best hunting area for a prey in a time is treated as leader and named as pathfinder. This stage is similar to finding the initial best fitness value among all solutions obtained using the initial population at the initialization stage of any HSA. The initial population is generated using Eq. (18), in which \(x_{i\left( 0 \right)}\) is position vector of individual animal \(i\) at initial stage, d is the dimension of search space, Lb and Ub are the lower and upper boundaries of the variables in the optimization problem.
$$x_{i\left( 0 \right)} \left( t \right) = L_{b} + \left( {U_{b} - L_{b} } \right) \cdot *rand\left( {1, d} \right)$$
(18)
Now the behavior of all other followers w.r.t change in their position and time is modeled as given in Eq. (19).
$$x_{i\left( k \right)} \left( {t + \Delta t} \right) = x_{i\left( 0 \right)} \left( t \right) \cdot \vec{a} + f_{ij} + f_{p} + \nu_{v}$$
(19)
where \(t\) is time, \(x_{i\left( 0 \right)}\) and \(x_{i\left( k \right)}\) is the position vector of individual animals \(i\) at initial stage and at iteration \(k\) respectively; the \(\vec{a}\) is the unit vector of zero angle, \(f_{ij}\) is the interaction between a pair of neighbors \(i\) and \(j\); \(f_{p}\) is the global best so far or pathfinder fitness; and \(\nu_{v}\) is the vibration vector.
Simultaneously the position pathfinder is updated by using Eq. (20).
$$x_{p\left( k \right)} \left( {t + \Delta t} \right) = x_{p\left( 0 \right)} \left( t \right) + \Delta x_{P} + \nu_{f}$$
(20)
\(x_{p\left( 0 \right)}\) and \(x_{p\left( k \right)}\) is position vector of pathfinder \(p\) at initial stage and at iteration \(k\) respectively; \(\Delta x_{P}\) is position change by pathfinder and \(\nu_{f}\) is vector of fluctuation rate.
By modifying Eqs. (19) and (20) to Eqs. (21) and (22) for solving an optimization problem, the following equations are proposed for collective movement of swam.
$$x_{i} \left( {k + 1} \right) = x_{i} \left( k \right) + \alpha r_{1} \cdot \left[ {x_{j} \left( k \right) - x_{i} \left( k \right)} \right] + \beta r_{2} \cdot \left[ {x_{p} \left( k \right) - x_{i} \left( k \right)} \right] + \nu_{v} ,\quad i \ge 2$$
(21)
$$x_{p} \left( {k + 1} \right) = x_{p} \left( k \right) + 2r_{3} \cdot \left[ {x_{p} \left( k \right) - x_{p} \left( {k - 1} \right)} \right] + \nu_{f}$$
(22)
$$\nu_{v} = \left( {1 - \frac{k}{{k_{\hbox{max} } }}} \right) \cdot u_{1} \cdot D_{ij} ,\,\,D_{ij} = \left\| {x_{i} - x_{j} } \right\|\quad {\text{and}}\quad \nu_{f} = u_{2} \cdot e^{{\left( {\frac{ - 2k}{{k_{\hbox{max} } }}} \right)}}$$
(23)
where \(r_{1}\), \(r_{2}\) and \(r_{3}\) are uniformly distributed random numbers in [0, 1]; \(u_{1}\) and \(u_{2}\) are the random vectors in the range of [− 1, 1]; \(\alpha\) is the interaction coefficient for defining the magnitude of interaction with a neighbor, \(\beta\) is the attraction coefficient for setting the random distance for an individual with group, preferably with pathfinder, \(k_{\hbox{max} }\) is maximum number of iteration. The range of \(\alpha\) and \(\beta\) is [1, 2]. In specific, \(\nu_{v}\) and \(\nu_{f}\) are generated in each iteration for random walk in multi-dimension for each animal in the group. The more understanding on swam movements w.r.t. changes of \(\alpha\),\(\beta\), \(u_{1}\) and \(u_{2}\) in PFA is illustrated in [34].
Implementation procedure of PFA for solving optimal I-PV configuration
The solution methodology of PFA for solving the optimal I-PV configuration considering resilience and radiality constraints is followed in the following sequential steps.
Initialization of animal swarm
In the PFA, a population of animal swarm is represented by \(X = \left[ {x_{1} ,x_{2} , \ldots ,x_{d} } \right]^{T}\), where \(x_{i}\), \(i \in \left\{ {1,2, \ldots ,d} \right\}\) represents a possible solution vector and it is consider in optimal I-PV configuration problem as follows:
$$x_{i} = \left[ {l_{PV,1} ,l_{PV,2} , \ldots ,l_{{PV,n_{PV} }} ,P_{PV,1} ,P_{PV,2} , \ldots ,P_{{PV,n_{PV} }} ,l_{IPV,1} ,l_{IPV,2} , \ldots ,l_{{IPV,n_{IPV} }} ,o_{br,1} ,o_{br,2} , \ldots ,o_{{br,n_{IPV} }} } \right]$$
(24)
where \(l_{PV,i}\), \(P_{PV,i}\), \(l_{IPV,i}\) and \(o_{br,i}\), respectively, represent the locations for PV system on main feeder, the size of PV system,, the locations on lateral feeders for interconnection and the branches for opening towards radiality constraint. \(n_{PV}\) and \(n_{IPV}\), respectively, the number of PV locations on main feeder and the number of buses on lateral feeders for I-PV configuration. In this paper, \(n_{PV}\) is fixed and it is 1 and whereas \(n_{IPV}\) is chosen differently in different case studies.
In the PFA, the animal swarm initiates randomly within specified lower and upper bounds and thus the possible solution variables are generated as follows:
$$l_{PV,i} = round\left[ {l_{PV,\hbox{min} } + \left( {l_{PV,\hbox{max} } - l_{PV,\hbox{min} } } \right) \cdot *rand\left( {1, n_{PV} } \right)} \right]\quad i \in \left\{ {1,2, \ldots ,n_{PV} } \right\}$$
(25)
$$l_{IPV,i} = round\left[ {l_{IPV,\hbox{min} } + \left( {l_{IPV,\hbox{max} } - l_{IPV,\hbox{min} } } \right) \cdot *rand\left( {1, n_{IPV} } \right)} \right]\quad i \in \left\{ {1,2, \ldots ,n_{IPV} } \right\}$$
(26)
$$O_{br,i} = round\left[ {o_{br,\hbox{min} } + \left( {o_{br,\hbox{max} } - o_{br,\hbox{min} } } \right) \cdot *rand\left( {1, n_{IPV} } \right)} \right]\quad i \in \left\{ {1,2, \ldots ,n_{IPV} } \right\}$$
(27)
$$P_{PV,i} = \left[ {P_{PV,\hbox{min} } + \left( {P_{PV,\hbox{max} } - P_{PV,\hbox{min} } } \right) \cdot *rand\left( {1, n_{PV} } \right)} \right]\quad i \in \left\{ {1,2, \ldots ,n_{PV} } \right\}$$
(28)
Here the continuous variables for locations (i.e., \(l_{PV,i}\) and \(l_{IPV,i}\)) and branch numbers (i.e., \(o_{br,i}\)) are rounded for discrete variables as observed in Eqs. (25)–(27) and used in the moving functions.
Cost function
In the PFA, the randomly generated positions of each animal are evaluated by a cost function as defined in Eq. (29).
$$CF_{T} = OF + k_{v} \sum\limits_{i = 1}^{{n_{b} }} {\left( {\left| {V_{{\left( {\lim } \right)}} } \right| - \left| {V_{\left( i \right)} } \right|} \right)^{2} + k_{i} \sum\limits_{i = 1}^{{n_{br} }} {\left( {\left| {I_{{\left( {\lim } \right)}} } \right| - \left| {I_{\left( i \right)} } \right|} \right)^{2} } }$$
(29)
where \(k_{v}\) and \(k_{i}\) are penalty factors for maintaining bus voltage magnitudes, \(\left| {V_{\left( i \right)} } \right|\) and branch currents, \(\left| {I_{\left( i \right)} } \right|\) within specified limits as given in Eqs. (9) and (10), respectively.
In each iteration, the solution vector generated by the PFA can change the values of bus voltage magnitudes and branch currents and subsequently the cost function evaluates by adjusting dependent variable to its violated limit as given by general way in Eq. (30).
$$v_{\lim } = \left\{ {\begin{array}{*{20}l} {v_{\hbox{max} } } \hfill & {\quad \forall \left( {v > v_{\hbox{max} } } \right)} \hfill \\ {v_{\hbox{min} } } \hfill & {\quad \forall \left( {v < v_{\hbox{min} } } \right)} \hfill \\ v \hfill & {\quad \forall \left( {v_{\hbox{min} } \le v \le v_{\hbox{max} } } \right)} \hfill \\ \end{array} } \right.$$
(30)
The complete solution methodology of PFA for obtaining the optimal I-PV configuration considering radiality constraint for improving resilience is given as a flowchart in Fig. 3.