## 4 The DABC Algorithm for an EAHFSP
### Scout Bee Phase
```
1:\(N\), \(\xi\)
2:\(x_{i}\), \(1\leq i\leq N\)
3: calculate the diversity of food sources \(D=\gamma/N\)
4:if\(D<\xi\)then
5: set \(\Psi=\varnothing\)
6:for\(x_{i}\in sub_{1}\cup sub_{2}\)do
7:for\(x_{k}\in sub_{1}\cup sub_{2}\)do
8: compute the similarity \(\Delta_{ij}\) between food sources \(x_{i}\) and \(x_{j}\)
9:if\(\Delta_{ij}\
eq 0\), then
10:\(\Psi=\Psi\cup x_{i}\cup x_{j}\)
11:endif
12:endfor
13:for each \(x_{i}\in\Psi\), do
14: conduct neighborhood search on \(x_{i}\) for \(R^{\prime}\) times, generate a new solution \(x_{i}{}^{\prime}\)
15:if\(x_{i}{}^{\prime}\) is not dominated by, then
16: update \(x_{i}\) with \(x_{j}{}^{\prime}\)
17:endif
18:endfor
19:endif
```

**Algorithm 5** Diversity control strategy

As shown in Algorithm 5, the number of independent individuals is important to compute the diversity of food sources and determine whether to conduct the diversity enhancement strategy. When the diversity of food sources is lower than a threshold value, the use of a diversity control strategy can increase the diversity gradually, which means larger differences among food sources and a greater probability of generating new solutions. Thus, a diversity control strategy is beneficial to maintain the diversity of food sources and avoid falling into stagnation. ### Algorithm Description

The steps of the DABC are given in Algorithm 6 and a flowchart is shown in Figure 4, where the number of iterations is also provided. The features of the DABC are concluded as follows: Diversified search strategies are provided for employed bees and the suitable search strategy is adaptively selected according to the rank value of food sources; a novel probability selection method in the onlooker bee phase is designed to control the selection pressure, and different neighborhood search times are conducted on the selected food source. A diversity control strategy is applied to improve the diversity of food sources and avoid falling into prematurity. ## 5 Computational Results

Numerical experiments based on 44 extended benchmark instances from the literature and a real case are executed to evaluate the performance of the DABC algorithm for the

Figure 4: A flowchart showing the DABC. considered EAHFSP. All experiments are compiled with MATLAB and run on 4.0 G RAM 2.0 GHz CPU PC. ### Test Instances and Comparative Algorithms

As stated above, EAHFSPs are rarely investigated, and there are no existing benchmark instances, so we extend the benchmark instances of AHFSPs [21] by adding energy consumption information from the manufacturing and assembly stage. The test set consists of 44 randomly generated instances based on \(w=\{20,30,40,50,60,70,80,90,100,110,120\}\) and \(m=\{2,4,6,8\}\). The parallel machines at each stage \(S_{j}\) and components needed for each product \(N_{k}\) are from the literature [21]. \(\eta_{ij}\in[10,20]\), \(v_{l}=\{1.0,1.3,1.55,1.8,2.0\}\), and \(A_{k}\in[10,20]\). The added energy consumption information is as follows: \(E_{ijl}=\zeta\times v_{l}^{2}\), \(SE_{ij}=1\), \(AE_{k}\in[3,5]\), and \(ASE=[1,2]\). Two metrics \(IGD\) and \(c\) are utilized to test the algorithm performance in this study. Metric \(IGD\)[49] is often used to evaluate the convergence of algorithms and the distribution of non-dominated solutions, which is a comprehensive performance metric. It is the minimum distance between each point in a reference set \(\Delta^{*}\) and points in a non-dominated set \(\Delta_{l}\) gained by a certain algorithm. \[IGD(\Delta_{l},\Delta^{*})=\frac{|\sum_{\delta\leq\Delta^{*}}d(\delta,\Delta_{ l})|}{|\Delta^{*}|} \tag{20}\]

where \(d(\delta,\Delta_{l})\) is the minimum distance between point \(\delta\) in a reference set \(\Delta^{*}\) and points in a non-dominated set \(\Delta_{l}\) gained by a certain algorithm, and \(|\Delta^{*}|\) represents the number of non-dominated solutions on the Pareto front. The smaller the \(IGD\), the better the convergence and distribution quality. Metric \(c\)[50] is often utilized to evaluate the mutual coverage of two algorithms.