# Multi-Objective Task Scheduling of Circuit Repair

^{1}

^{2}

^{*}

## Abstract

**:**

## 1. Introduction

- (1)
- The proposal of three rest strategies, considering, for the first time, the flexible rest of the repair teams in circuit repair.
- (2)
- Research that is compatible with traversal and non-traversal task scheduling.
- (3)
- Distinguishing the repairable status of different demand points, compatible with the repair, to a certain status, in a situation involving a single faulty piece of equipment and in a system composed of multiple pieces of equipment.
- (4)
- The multi-layer coding method is adopted and three multi-objective hybrid genetic algorithms are designed, which are compatible with the task scheduling of a single repair team and multiple repair teams. The hybrid algorithms have good solution qualities and convergence speeds.
- (5)
- The current evaluation indicators of multi-objective algorithms are mostly used to evaluate the quality of the solution. We propose that the indicator area can be used to evaluate the convergence speed of multi-objective algorithms.

## 2. Related Work

#### 2.1. Task Scheduling of Circuit Repair

#### 2.2. Multi-Objective Intelligent Optimization Algorithms

#### 2.3. Work on Evaluation Indicators

## 3. Basic Description

#### 3.1. Problem Description

#### 3.2. Basic Assumptions

- (1)
- The focus was on solutions to static problems, so, the ideal driving speed of repair teams was assumed to remain unchanged (adjusted by the route parameters ${o}_{ij}$).
- (2)
- It was assumed that the workload of demand points was divided reasonably. If a certain demand point had a large workload, it could be regarded as multiple demand points at the same location.
- (3)
- It was assumed that the degree of importance had been evaluated when the equipment, or its system, was repaired to a certain status.
- (4)
- It was assumed that geographic information had been measured, including the risk factors among demand points, the route parameters, etc.
- (5)
- For convenience, this article regarded the attenuation of the work efficiency of repair teams, during work, and the improvement of work efficiency, during transition and rest, as a linear function of time.
- (6)
- The strategy of rest before repair was adopted. This strategy allows repair teams to adjust the rest duration according to their own conditions.

- (a)
- Rest before repair: The repair teams could rest before repair at a certain demand point. If the risk factor of this demand point was larger, this strategy was not reasonable but if the risk factor of the previous demand point was larger, this strategy was reasonable.
- (b)
- Rest after repair: The repair teams could rest after repair at a certain demand point. If the risk factor of this demand point was larger, the strategy was not reasonable but if the risk factor of the next demand point was larger, the strategy was reasonable.
- (c)
- Rest before and after repair: The repair teams could rest before and after repair at a certain demand point. As the number of demand points increased, this strategy led to an increase in the amount of computation, but it allowed for more flexible rest.

## 4. Model

## 5. Methods

- (1)
- (2)
- Once the order of the demand points, the repair status, and the tasks allocation are provided, by optimizing the rest duration there is at least one local optimal solution with high-benefits or low-risks. However, it is difficult to use traditional algorithms to solve the optimization problem of multimodal functions [38].
- (3)
- Traditional optimization algorithms often use weighted methods to convert multi-objective problems into single-objective problems [39], or use fuzzy optimization to solve them [40]. However, these algorithms have problems, such as difficulty in determining parameters, and cannot effectively solve multi-objective problems.

#### 5.1. Encoding and Decoding

#### 5.1.1. Encoding

#### 5.1.2. Decoding

#### 5.2. Operator Design

#### 5.2.1. Genetic Algorithm (GA)

**1. Selection:**Use a binary tournament strategy to select better individuals in the population for getting the mating Pool.

**Explanation:**It is easy to operate and avoids falling into a local optimal solution.

**2. Crossover:**

**(1) Cross repair order:**According to the crossover probability Pc, randomly exchange a certain piece of the code in the two chromosomes. After exchanging each point, process repeated code in each chromosome. Perform corresponding operations on the corresponding points of the repair status and rest duration code.

**Explanation:**The repairable status and workload of each demand point are inconsistent, so the repair status and rest duration should be operated accordingly.

**(2) Cross rest duration:**According to the crossover probability Pc, randomly select the point i to perform random weight = rand crossover on the two chromosomes ChromA and ChromB:

**Explanation:**This improves global search capabilities of GA and also avoids frequent handling of out-of-bounds for repair teams’ maximum rest duration caused by crossover.

**Note:**Only here the meaning of the symbols A, B, i are inconsistent with the above.

**3. Mutation**:

**(1) Mutate repair order:**According to the mutation probability Pm, randomly select two points in a chromosome for exchange. Perform corresponding operations on the corresponding points of the repair status and rest duration code.

**Explanation:**The repairable status and workload of each demand point are inconsistent, so the repair status and rest duration should be operated accordingly.

**(2) Mutate repair status:**According to the mutation probability Pm, randomly select the repairable status for mutation point by point.

**Explanation:**The repairable status of each demand point is inconsistent. The crossover inevitably produces a large number of invalid solutions. For convenience, only mutation is considered.

**(3) Mutate rest duration:**According to the mutation probability Pm, randomly select the values in (0, max_t) for mutation point by point.

**Explanation:**Mutating with the values in (0, max_t) avoids frequent handling of out-of-bounds for repair teams’ maximum rest duration caused by mutation.

**(4) Mutate grouping position:**According to the mutation probability Pm, randomly select m−1 integers in the interval [2, n] and sort them from small to large for mutation on the entire code of the grouping position.

**Explanation:**The crossover of the grouping position code inevitably destroys the order of the grouping position from small to large, or generates repeated grouping positions. This produces an invalid solution. Therefore, for convenience, only use the mutation on the entire code of the grouping position.

Operator 1.1: GA1 | |

INPUT: | Parent with the size of pop_Parent |

OUTPUT: | Son with the size of pop_Parent |

Step 1: | Get a mating Pool with the size of pop_Pool from the Parent by Selection. |

Step 2: | Randomly select two chromosomes from the Pool to cross repair order, mutate repair status, cross rest duration, and mutate grouping position. If a feasible solution is generated, add it to the Son_c population until its size is Pc × pop_Parent. |

Step 3: | Randomly select a chromosome from the Pool to mutate repair order, mutate repair status, mutate rest duration, and mutate grouping position. If a feasible solution is generated, add it to the Son_m population until its size is Pm × pop_Parent. |

Step 4: | Combine the Son_c and Son_m to get Son = [Son_c; Son_m]. |

Operator 1.2: GA2 | |

INPUT: | Parent with the size of 2 |

OUTPUT: | Son with the size of 2 |

Ifrand<Pc | Select these two chromosomes from the Parent to cross repair order, mutate repair status, cross rest duration, and mutate grouping position. If a feasible solution is generated, add it to the Son population until its size is 2. |

Else | Randomly select a chromosome from the Parent to mutate repair order, mutate repair status, mutate rest duration, and mutate grouping position. If a feasible solution is generated, add it to the Son population until its size is 2. |

#### 5.2.2. The 2-Optimization Algorithm (2-Opt)

**1. Reversal-1:**Randomly select a piece of code from the chromosome repair order code for reversal. Perform the corresponding operation on the corresponding points of the repair status and rest duration code.

**2. Reversal-2:**Randomly select a piece of code from the chromosome repair order code for reversal. Perform the corresponding operation on the corresponding points of the repair status code.

**Explanation:**Since the rest duration is affected by the work efficiency of repair teams, the professional coefficients of the repair teams and the risk factors of demand points, two reversal operators are used to generate two new individuals.

Operator 2: 2-Opt | |

INPUT: | Son with the size of pop_Son |

OUTPUT: | Son with the size of pop_Son |

For each individual in the population, perform 2-Opt by Reversal-1 and Reversal-2 respectively to generate two new individuals. If there is a feasible solution in the new individuals and it dominates the original individual, the original individual is replaced by the best. |

#### 5.2.3. Differential Evolution Algorithm (DE)

**1. Initialization:**Use the population truncation strategy in the multi-objective optimization algorithms to select a sub-population and optimize the rest duration code. MOEA/D has no population truncation strategy and so it prefers non-dominant individuals. In order to respect the purpose of MOEA/D to pursue a uniform distribution of the solution set, the dominant individuals are randomly selected to fill the sub-population until its size is pop_DE.)

**Explanation:**In order to reduce the amount of computation, only perform DE on the better sub-population in the population.

**2. Mutation and Crossover:**Use the mutation and crossover of DE/rand/1/bin.

**Explanation:**The “rand” is adopted instead of the “best” because the rest duration is affected by factors such as the work efficiency of the repair teams and the risk factors of demand points.

**3. Boundary processing:**If the rest duration is greater than $max\_{t}_{r}$, it will be replaced by a random value in $(0,max\_{t}_{r})$.

**Explanation:**It improves the local search ability of DE and ensures that new individuals generated are feasible solutions.

**4. Selection operator:**If the new individual is a feasible solution and dominates the original individual, the original individual is replaced.

**Explanation:**The idea of the greedy algorithm drives the algorithm to choose a better solution.

Operator 3: DE | |

INPUT: | Parent with the size of pop_Parent |

OUTPUT: | Parent with the size of pop_Parent |

Step 1: | Select a f1 sub-population with the size of pop_DE from the Parent by the Initialization. |

Step 2: | Perform Crossover, Mutation and Boundary processing in the rest duration coding part of f1 to generate a new f2 sub-population. |

Step 3: | If an individual in f2 is feasible and dominates the corresponding individual in f1, replace it in f1 with it in f2. |

Step 4: | If the iteration termination condition is satisfied, output the new Parent. Otherwise go to Step 2 to continue the iteration. |

#### 5.3. Algorithms Process

Algorithm 1: N2D | |

INPUT: | pop_GA, termination condition |

OUTPUT: | Approximate Pareto optimal solution set |

Step 1: | Initialization parameters. |

Step 2: | Randomly generate a feasible solution set with the size of pop_GA to get Parent. Calculate the objective function value. Perform fast-non-dominated-sort and crowding-distance-assignment. |

Step 3: | Generate Son = GA1(Parent) with the size of pop_GA by GA1. Calculate the objective function value. |

Step 4: | Update Son = 2-Opt(Son) by 2-Opt. Calculate the objective function value. |

Step 5: | Combine Parent and Son to get Combine = [Parent; Son]. Perform fast-non-dominated-sort and crowding-distance-assignment. |

Step 6: | Select a new Parent with the size of pop_GA from Combine by the elite strategy. Perform fast-non-dominated-sort and crowding-distance-assignment. |

Step 7: | Determine whether to perform DE. If so, Parent = DE(Parent). Perform fast-non-dominated-sort and crowding-distance-assignment. Otherwise, go to Step 8. |

Step 8: | If the termination condition is satisfied, output the non-dominated solution set in Parent. Otherwise, go to Step 3 to continue the iteration. |

Algorithm 2: S2D (In this article, Parent corresponds to $\overline{{P}_{t}}$ in the original algorithm. Son corresponds to ${P}_{t}$ in the original algorithm.) | |

INPUT: | pop_GA, termination condition |

OUTPUT: | Approximate Pareto optimal solution set |

Step 1: | Initialization parameters. |

Step 2: | Randomly generate a feasible solution set with the size of pop_GA to get Parent. Calculate the objective function value. Calculate the fitness function. |

Step 3: | Generate Son = GA1(Parent) with the size of pop_GA by GA1. Calculate the objective function value. |

Step 4: | Update Son = 2-Opt(Son) by 2-Opt. Calculate the objective function value. |

Step 5: | Combine Parent and Son to get Combine = [Parent; Son]. Calculate the fitness function. |

Step 6: | Select a new Parent with the size of pop_GA from Combine by the environmental selection. Calculate the fitness function. |

Step 7: | Determine whether to perform DE. If so, Parent = DE(Parent). Calculate the fitness function. Otherwise, go to Step 8. |

Step 8: | If the termination condition is satisfied, output the non-dominated solution set in Parent. Otherwise, go to Step 3 to continue the iteration. |

Algorithm 3: M2D (Archive corresponds to EP in the original algorithm. 1_Son corresponds to y′ in the original algorithm.) | |

INPUT: | pop_GA, termination condition |

OUTPUT: | Approximate Pareto optimal solution set |

Step 1: | Initialization parameters. For each individual, randomly generate weights and find neighbors with the size of pop_Neighbor according to Euclidean distance. |

Step 2: | Randomly generate a feasible solution set with the size of pop_GA to get Parent. Calculate the objective function value. Find the maximum value of each objective function value to get vector z. |

Step 3: | Store non-dominated individuals in Parent to get Archive. |

Step 4: | Perform the following for each individual in Parent: Randomly select two neighbors to get Neighbor = [Neighbor1; Neighbor2]. Generate Son = GA2(Neighbor) with the size of 2 by GA2. Update Son = 2-Opt(Son) by 2-Opt. Calculate the objective function value. Select a non-dominated individual 1_Son in Son. Update z. Calculate ${g}^{te}$ and update neighbors. |

Step 5: | Determine whether to perform DE. If so, Parent = DE(Parent). Update z. Otherwise, go to Step 6. |

Step 6: | Select the non-dominated individual Nd from Parent. Combine Nd and the original Archive to get Combine = [Archive; Nd]. |

Step 7: | Select the non-dominated individuals from the Combine to get the Archive. If its size pop_Archive > pop_GA, some individuals will be randomly discarded to make pop_Archive = pop_GA. |

Step 8: | If the termination condition is satisfied, output the Archive. Otherwise, go toStep 4 to continue the iteration. |

#### 5.4. Algorithm Scientificity

## 6. Evaluation Indicators

#### 6.1. Algorithms’ Solution Quality

- (1)
- It is NP-hard. The intelligent optimization algorithms used involve continuous coding. so even a larger population and more iterations could only obtain an approximate Pareto optimal solution set.
- (2)
- It is a multi-objective optimization problem, involving preference, and is dynamic and multimodal at the same time.

#### 6.2. Algorithms’ Solution Efficiency

**Definition:**

**Supplement:**

- (1)
- The benefit and risk are not less than 0, and the point (0, 0) must belong to the true Pareto optimal solution set. Therefore, this point was selected as a reference point to be added to the approximate Pareto optimal solution set.
- (2)
- The work efficiency of m repair teams is not greater than $\underset{r\in R}{\mathrm{max}}{\widehat{\upsilon}}_{r}$. The risk factors of routes or demand points are not greater than 1. The deadline for circuit repair is ${T}^{pause}$. Therefore, $md=m\times 1\times \underset{r\in R}{\mathrm{max}}{\widehat{\upsilon}}_{r}\times {T}^{pause}$ was selected as the upper bound of risk.
- (3)
- This area was used to evaluate the 2-objective optimization algorithm. If the area was generalized to a hypervolume, it could be used to evaluate multi-objective optimization algorithms.

**Properties:**From the analysis in 5.4, it could be seen that the approximate Pareto optimal solution set converged to the real Pareto optimal solution set. Therefore, the area also converged. From the definition, the following properties were clearly established:

- (1)
- The faster the area changed with the number of iterations, the faster the algorithm converged;
- (2)
- The larger the area was, the closer the approximate Pareto optimal surface was to the real Pareto optimal surface, and the better the quality of the solution set was;
- (3)
- The larger the area was, the better the spread of the solution set on the other side of the reference point (0, 0) was;
- (4)
- We drew a curve, which was generated by the area changing with the number of iterations. The smaller the number and degree of curve mutation, the denser the distribution of the solution set in the approximate Pareto optimal surface was. Figure 3 shows why the smoothness of the curve was destroyed.

## 7. Computational Experiments

#### 7.1. Parameter Settings

- (1)
- GA: The number of iterations was 600, the population size was 200, the mating pool size was 100, the crossover probability was 0.9, the mutation probability was 0.1, and the number of neighbors was 20.
- (2)
- DE: The number of iterations was 10, the population size was 100, the mutation operator was 0.5, and the crossover operator was 0.1.

- (1)
- The initial positions of the repair teams and the demand points, the upper limits of the time windows, and the importance degree penalty coefficients were taken from the literature [2]. We assumed that all faults had occurred, that is, the lower limits of the time windows were 0. The deadline was pointed out by the decision makers. In order to reflect the lack of time, this article took the deadline to be equal to 410 min, which was less than the upper limit of the time windows of 5 demand points in the 20 demand points.
- (2)

#### 7.2. Experimental Results and Analysis

- (1)
- NSGA-II was better than SPEA2 by 70%, SPEA2 was better than MOEA/D by 70%, and MOEA/D was better than NSGA-II by 10%.
- (2)
- N2D was better than S2D by 70%, S2D was better than M2D by 80%, and M2D was better than N2D by 10%.
- (3)
- N2D was better than NSGA-II by 80%, S2D was better than SPEA2 by 60%, and M2D was better than MOEA/D by 60%.

- (1)
- NSGA-II was better than SPEA2 by 80%, SPEA2 was better than MOEA/D by 100%, and MOEA/D was better than NSGA-II by 0%.
- (2)
- N2D was better than S2D by 60%, S2D was better than M2D by 100%, and M2D was better than N2D by 0%.
- (3)
- N2D was better than NSGA-II by 0%, S2D was better than SPEA2 by 0%, M2D was better than MOEA/D by 10%.

- (1)
- NSGA-II was better than SPEA2 by 50%, SPEA2 was better than MOEA/D by 100%, and MOEA/D was better than NSGA-II by 0%.
- (2)
- N2D was better than S2D by 30%, S2D was better than M2D by 100%, and M2D was better than N2D by 0%.
- (3)
- N2D was better than NSGA-II by 100%, S2D was better than SPEA2 by 100%, M2D was better than MOEA/D by 100%.

- (1)
- The convergence speed of the algorithms can be seen from Figure 5a. NSGA-II was not much different from SPEA2, but both were better than MOEA/D. N2D was not much different from S2D, but both were better than M2D.
- (2)
- The distribution of the solution sets can be seen from Figure 5b–d. NSGA-II was not much different from SPEA2, but both were better than MOEA/D. N2D was not much different from S2D, but both were better than M2D. N2D, S2D and M2D were better than NSGA-II, SPEA2 and MOEA/D.

- (1)
- Overall, the stability of NSGA-II, SPEA2 and MOEA/D on these indicators decreased, in turn. The stability of N2D, S2D and M2D on the indicators decreased, in turn.
- (2)
- The stabilities of N2D, S2D and M2D on the indicators were not worse than those of NSGA-II, SPEA2 and MOEA/D, respectively.

## 8. Conclusions and Outlook

- (1)
- Various repair teams have different personnel and equipment. There may be differences in the reliability of repairing a certain demand point to the same status. This data could be collected, evaluated, and incorporated into existing literature models and algorithms.
- (2)
- The current parameters are single. Different time windows for various repair statuses, different penalty coefficients for the importance degrees of various demand points, different routes selection or inconsistent detour coefficients, due to different thrust-to-weight ratios of heterogeneous vehicles, and different detour coefficients of asymmetric routes could be collected and evaluated. These data could be integrated into existing literature models and algorithms.

## Author Contributions

## Funding

## Institutional Review Board Statement

## Informed Consent Statement

## Data Availability Statement

## Acknowledgments

## Conflicts of Interest

## References

- Liu, Y.; Chen, C.L.; Zan, X.; Chen, W.L.; Zhang, L.J. Multi-objective dynamic scheduling with accompanying repair tasks under complex constraints. Acta Armamentarii
**2019**, 40, 621–628. [Google Scholar] - Liu, Y.; Jia, J.; Zhang, Z.Q.; Jin, F. Multi-objective dynamic scheduling of circuit repair based on improved NSGA-II. Conf. Ser. Mater. Sci. Eng.
**2021**, 1043, 022011. [Google Scholar] [CrossRef] - Zhang, J. An Improved Genetic Algorithm with 2-Opt Local Search for the Traveling Salesman Problem. International Conference on Application of Intelligent Systems in Multi-Modal Information Analytics; Springer: Cham, Switzerland, 2021; pp. 404–409. [Google Scholar]
- Verma, S.; Pant, M.; Snasel, V. A comprehensive review on NSGA-II for multi-objective combinatorial optimization problems. IEEE Access
**2021**, 9, 57757–57797. [Google Scholar] [CrossRef] - Quenum, J.G. Distributed Optimisation of Perfect Preventive Maintenance and Component Replacement Schedules Using SPEA2. In Intelligent Computing and Optimization, Proceedings of the 3rd International Conference on Intelligent Computing and Optimization 2020 (ICO 2020); Springer Nature: Berlin, Germany, 2021; Volume 1324, p. 297. [Google Scholar]
- Pang, L.M.; Ishibuchi, H.; Shang, K. Using a Genetic Algorithm-Based Hyper-Heuristic to Tune MOEA/D for a Set of Various Test Problems. In IEEE Congress on Evolutionary Computation (CEC); IEEE: Piscataway, NJ, USA, 2021; pp. 1486–1494. [Google Scholar]
- Huang, Y.Y.; Pan, Q.K.; Gao, L.; Miao, Z.H.; Peng, C. A two-phase evolutionary algorithm for multi-objective distributed assembly permutation flowshop scheduling problem. Swarm Evol. Comput.
**2022**, 74, 101128. [Google Scholar] [CrossRef] - Chiu, C.C.; Lai, C.M. Multi-objective missile boat scheduling problem using an integrated approach of NSGA-II, MOEAD, and data envelopment analysis. Appl. Soft Comput.
**2022**, 127, 109353. [Google Scholar] [CrossRef] - Zitzler, E.; Deb, K.; Thiele, L. Comparison of multi-objective evolutionary algorithms: Empirical results. Evol. Comput.
**2000**, 8, 173–195. [Google Scholar] [CrossRef] [Green Version] - Wen, X.Y.; Lian, X.N.; Qian, Y.J.; Zhang, Y.Y.; Wang, H.Q.; Li, H. Dynamic scheduling method for integrated process planning and scheduling problem with machine fault. Robot. Comput.-Integr. Manuf.
**2022**, 77, 102334. [Google Scholar] [CrossRef] - Dong, C.; Zhou, L. Optimization Algorithm for Freight Car Transportation Scheduling Optimization Based on Process Scheduling Optimization. In Cloud Computing and Security; Springer: Cham, Switzerland, 2018; pp. 528–538. [Google Scholar]
- Tian, Y.; Xiong, T.F.; Liu, Z.Y.; Mei, Y.; Wan, L. Multi-objective multi-skill resource-constrained project scheduling problem with skill switches: Model and evolutionary approaches. Comput. Ind. Eng.
**2022**, 167, 107897. [Google Scholar] [CrossRef] - Zhu, L.; Lin, J.; Li, Y.Y.; Wang, Z.J. A decomposition-based multi-objective genetic programming hyper-heuristic approach for the multi-skill resource constrained project scheduling problem. Knowl.-Based Syst.
**2021**, 225, 107099. [Google Scholar] [CrossRef] - An, Y.J.; Chen, X.H.; Li, Y.H.; Zhang, J.; Jiang, J.W. Flexible job-shop scheduling and heterogeneous repairman assignment with maintenance time window and employee timetable constraints. Expert Syst. Appl.
**2021**, 186, 115693. [Google Scholar] [CrossRef] - Gong, G.L.; Deng, Q.W.; Gong, X.R.; Huang, D. A non-dominated ensemble fitness ranking algorithm for multi-objective flexible job-shop scheduling problem considering worker flexibility and green factors. Knowl.-Based Syst.
**2021**, 231, 107430. [Google Scholar] [CrossRef] - de Oliveira, S.M.; Bezerra, L.C.T.; Stützle, T.; Dorigo, M.; Wanner, E.F.; de Souza, S.R. A computational study on ant colony optimization for the traveling salesman problem with dynamic demands. Comput. Oper. Res.
**2021**, 135, 105359. [Google Scholar] [CrossRef] - He, P.F.; Hao, J.K. Hybrid search with neighborhood reduction for the multiple traveling salesman problem. Comput. Oper. Res.
**2022**, 142, 105726. [Google Scholar] [CrossRef] - Altabeeb, A.M.; Mohsen, A.M.; Abualigah, L.; Ghallab, A. Solving capacitated vehicle routing problem using cooperative firefly algorithm. Appl. Soft Comput.
**2021**, 108, 107403. [Google Scholar] [CrossRef] - Pan, B.B.; Zhang, Z.Z.; Lim, A. Multi-trip time-dependent vehicle routing problem with time windows. Eur. J. Oper. Res.
**2021**, 291, 218–231. [Google Scholar] [CrossRef] - Vincent, F.T.; Jewpanya, P.; Perwira Redi, A.A.N.; Tsao, Y.C. Adaptive neighborhood simulated annealing for the heterogeneous fleet vehicle routing problem with multiple cross-docks. Comput. Oper. Res.
**2021**, 129, 105205. [Google Scholar] - Pan, W.X.; Liu, S.Q. Deep reinforcement learning for the dynamic and uncertain vehicle routing problem. Appl. Intell.
**2022**, 1–18. [Google Scholar] [CrossRef] - Cai, J.Q.; Peng, Z.H.; Ding, S.X.; Sun, J.B. Problem-specific multi-objective invasive weed optimization algorithm for reconnaissance mission scheduling problem. Comput. Ind. Eng.
**2021**, 157, 107345. [Google Scholar] [CrossRef] - Chen, L.Z.; Liu, W.L.; Zhong, J.H. An efficient multi-objective ant colony optimization for task allocation of heterogeneous unmanned aerial vehicles. J. Comput. Sci.
**2022**, 58, 101545. [Google Scholar] [CrossRef] - Liu, Y.; Chen, C.L.; Chen, W.L.; Guo, Y.M. Multi-objective dynamic scheduling of fixed-point repairing tasks based on pareto improved VNS-MMAS. Syst. Eng. Electron.
**2020**, 42, 356–364. [Google Scholar] - Zeedan, M.; Attiya, G.; EI-Fishawy, N. Enhanced hybrid multi-objective workflow scheduling approach based artificial bee colony in cloud computing. Computing
**2022**, 1–31. [Google Scholar] [CrossRef] - Qin, S.; Pi, D.C.; Shao, Z.S.; Xu, Y. Hybrid collaborative multiobjective fruit fly optimization algorithm for scheduling workflow in cloud environment. Swarm Evol. Comput.
**2022**, 68, 101008. [Google Scholar] [CrossRef] - Chen, R.H.; Yang, B.L.; Wang, S.; Cheng, Q.Q. An effective multipopulation grey wolf optimizer based on reinforcement learning for flow shop scheduling problem with multi-machine collaboration. Comput. Ind. Eng.
**2021**, 162, 107738. [Google Scholar] [CrossRef] - Sanaj, M.S.; Joe Prathap, P.M. Nature inspired chaotic squirrel search algorithm (CSSA) for multi objective task scheduling in an iaas cloud computing atmosphere. Eng. Sci. Technol. Int. J.
**2020**, 23, 891–902. [Google Scholar] [CrossRef] - Srichandan, S.; Kumar, T.A.; Bibhudatta, S. Task scheduling for cloud computing using multi-objective hybrid bacteria foraging algorithm. Future Comput. Inform. J.
**2018**, 3, 210–230. [Google Scholar] [CrossRef] - Tan, W.H.; Yuan, X.F.; Huang, G.M.; Liu, Z.X. Low-carbon joint scheduling in flexible open-shop environment with constrained automatic guided vehicle by multi-objective particle swarm optimization. Appl. Soft Comput.
**2021**, 111, 107695. [Google Scholar] [CrossRef] - Xu, X.; Xu, G.X.; Chen, J.W.; Liu, Z.; Chen, X.B.; Zhang, Y.; Fang, J.G.; Gao, Y.K. Multi-objective design optimization using hybrid search algorithms with interval uncertainty for thin-walled structures. Thin-Walled Struct.
**2022**, 175, 109218. [Google Scholar] [CrossRef] - Zhang, W.Q.; Yang, D.J.; Zhang, G.H.; Gen, M. Hybrid multi-objective evolutionary algorithm with fast sampling strategy-based global search and route sequence difference-based local search for VRPTW. Expert Syst. Appl.
**2020**, 145, 113151. [Google Scholar] [CrossRef] - Wang, Y.L.; Limmer, S.; Olhofer, M.; Emmerich, M.; Bäck, T. Automatic preference based multi-objective evolutionary algorithm on vehicle fleet maintenance scheduling optimization. Swarm Evol. Comput.
**2021**, 65, 100933. [Google Scholar] [CrossRef] - Azzouz, R.; Bechikh, S.; Ben Said, L.; Bechikh, S.; Datta, R.; Gupta, A. (Eds.) Dynamic Multi-objective Optimization Using Evolutionary Algorithms: A Survey; Springer: Cham, Switzerland, 2017; pp. 31–70. [Google Scholar]
- Liang, J.; Guo, Q.Q.; Yue, C.T.; Qu, B.Y.; Yu, K.J. A self-organizing multi-objective particle swarm optimization algorithm for multimodal multi-objective problems. Int. Conf. Swarm Intell.
**2018**, Volume 10941, 550–560. [Google Scholar] - de Jonge, D.; Bistaffa, F.; Levy, J. Multi-objective vehicle routing with automated negotiation. Appl. Intell.
**2022**, 52, 16916–16939. [Google Scholar] [CrossRef] - Mor, B.; Shabtay, D.; Yedidsion, L. Heuristic algorithms for solving a set of NP-hard single-machine scheduling problems with resource-dependent processing times. Comput. Ind. Eng.
**2021**, 153, 107024. [Google Scholar] [CrossRef] - Cuevas, E.; G’alvez, J.; Toski, M.; Avila, K. Evolutionary-mean shift algorithm for dynamic multimodal function optimization. Appl. Soft Comput.
**2021**, 113, 107880. [Google Scholar] [CrossRef] - Kumar, R.; Singh, S.J.; Bilga, P.S.; Singh, J.; Singh, S.; Scutaru, M.L.; Pruncu, C.I. Revealing the benefits of entropy weights method for multi-objective optimization in machining operations: A critical review. J. Mater. Res. Technol.
**2021**, 10, 1471–1492. [Google Scholar] [CrossRef] - Mirzaie, N.; Banihabib, M.E.; Randhir, T.O.; Shahdany, S.M.H. Fuzzy particle swarm optimization for conjunctive use of groundwater and reclaimed wastewater under uncertainty. Agric. Water Manag.
**2021**, 256, 107116. [Google Scholar] [CrossRef] - He, L.J.; Cao, Y.L.; Li, W.F.; Cao, J.J.; Zhong, L.C. Optimization of energy-efficient open shop scheduling with an adaptive multi-objective differential evolution algorithm. Appl. Soft Comput.
**2022**, 118, 108459. [Google Scholar] [CrossRef] - Yin, X.F.; Li, P.K. An exact schema theorem for adaptive genetic algorithm and its application to machine cell formation. Expert Syst. Appl.
**2011**, 38, 8538–8552. [Google Scholar] [CrossRef] - Fogel, D.B. Evolutionary Algorithms in Theory and Practice; John Wiley Sons Inc.: New York, NY, USA, 1997. [Google Scholar]
- Rudolph, G. Evolutionary search for minimal elements in partially ordered finite sets. Int. Conf. Evol. Program.
**1998**, volume 1447, 345–353. [Google Scholar] - Leno, I.J.; Sankar, S.S.; Ponnambalam, S.G. Mip model and elitist strategy hybrid ga-sa algorithm for layout design. J. Intell. Manuf.
**2018**, 29, 369–387. [Google Scholar] [CrossRef]

**Figure 4.**The mean of the data in Table 4.

**Figure 5.**A simulation of case 1 as an example to show the convergence speed of the algorithms and the distribution of the solution sets (Task scheduling information and initial population settings were consistent). (

**a**) The convergence speed of the algorithms; (

**b**) The distribution of the sets solved by NSGA-II and N2D; (

**c**) The distribution of the sets solved by SPEA2 and S2D; (

**d**) The distribution of the sets solved by MOEA/D and M2D.

**Figure 6.**Case 1 as an example to show the boxplots on the indicators of the algorithms. (

**a**) The boxplots on S; (

**b**) The boxplots on ${M}_{3}^{*}$; (

**c**) The boxplots on area.

Symbol | Description | Symbol | Description |
---|---|---|---|

$I,(i,j\in I)$ | Set of demand points | ${\tau}_{ri}\in \{0,1\}$ | ${\tau}_{ri}=\left\{\begin{array}{l}1,\hspace{1em}r\hspace{1em}\mathrm{repairs}i\\ 0,\hspace{1em}else\end{array}\right.$ |

$\left|I\right|=n$ | Number of demand points | ${\xi}_{rij}\in \{0,1\}$ | ${\xi}_{rij}=\left\{\begin{array}{l}1,\hspace{1em}r\mathrm{transfers}\hspace{1em}\mathrm{from}i\mathrm{to}j\\ 0,\hspace{1em}else\end{array}\right.$ |

$R,(r\in R)$ | Set of repair teams | ${T}_{ri}^{g},{\upsilon}_{ri}^{g}$ | The moment and work efficiency when $r$ arrives at $i$ |

$\left|R\right|=m$ | Number of repair teams | ${T}_{ri}^{h},{\upsilon}_{ri}^{h}$ | The moment and work efficiency when $r$ starts repairing $i$ |

${v}_{r}$ | Ideal driving speed for $r$ | ${T}_{ri}^{h},{\upsilon}_{ri}^{h}$ | The moment and work efficiency when $r$ leaves $i$ |

${s}_{ij}$ | Route length between $i$ and $j$ | ${A}_{i}$ | Time window penalty coefficient of $i$ |

${o}_{ij},({o}_{ij}\ne {o}_{ji})$ | Influence parameters of driving speed between $i$ and $j$ | $\begin{array}{l}{T}^{pause}-{T}_{ri}^{f},\\ ({\tau}_{ri}=1)\end{array}$ | The second operation time of $i$ being repaired |

$\frac{{s}_{ij}}{{v}_{r}\cdot {o}_{ij}}=\frac{{S}_{ij}}{{v}_{r}}$ | The time it takes for $r$ to leave $i$ to $j$ | ${\widehat{\upsilon}}_{r}$ | Optimal work efficiency for $r$ (It reflects the quality of the repair team $r$) |

${d}_{ij}(i\ne j)$ | The risk factor of the route between $i$ and $j$ (It comprehensively reflects the probability of being hit and the degree of damage.) | ${\upsilon}_{r}(t)\in (0,{\widehat{\upsilon}}_{r})$ | The current work efficiency of $r$ |

${d}_{ii}$ | The risk factor of demand point $i$ | ${\alpha}_{r},({\alpha}_{r}<0)$ | The attenuation factor of $r$ work efficiency during repair |

$k$ | The repairable status of the demand points (Generally, the $k$ status of different demand points are different.) | ${\beta}_{r},({\beta}_{r}>0)$ | The improvement factor of $r$ work efficiency during transition |

${w}_{ik}$ | The workload of $i$ repaired to $k$ | ${\gamma}_{r},({\gamma}_{r}>{\beta}_{r})$ | The improvement factor of $r$ work efficiency during resting |

${\delta}_{ik}$ | The importance degree of $i$ repaired to $k$ | ${c}_{rik}$ | The professional coefficient of $r$ repair $i$ to $k$ |

${\eta}_{ik}$ | The importance degree of $i$ repaired to $k$ with time window | ${t}_{rik}$ | The time it takes for $r$ to repair $i$ to $k$ |

${p}_{ik}^{1}$ | The usage rate of $i$ repaired to $k$ | ${a}_{ri}$ | The time it takes for $r$ to rest at $i$ |

${p}_{ik}^{2}$ | The reliability of $i$ repaired to $k$ | $\mathrm{max}\_{t}_{r}=\frac{{\widehat{\upsilon}}_{r}}{{\gamma}_{r}}$ | Maximum rest duration for $r$ |

$\begin{array}{l}{p}_{ik}=\dots \\ {p}_{ik}^{1}\cdot {p}_{ik}^{2}\end{array}$ | The total usage rate of $i$ repaired to $k$ | $\begin{array}{l}\mathrm{max}\_t=\dots \\ \frac{\underset{r\in R}{\mathrm{max}}{\widehat{\upsilon}}_{r}}{\underset{r\in R}{\mathrm{min}}{\gamma}_{r}}\end{array}$ | The maximum rest duration of all repair teams |

${T}^{pasue}$ | Deadline for circuit repair | $ear{n}_{r}$ | Repair benefits created by $r$ |

$[{T}_{i}^{low},{T}_{i}^{up}]$ | Best duration for $i$ repaired (time window) | $dange{r}_{r}$ | Risks taken by $r$ |

$i$ | $k$ | ${w}_{ik}(\times {10}^{2})$ | ${\delta}_{ik}(\times {10}^{-1})$ | ${p}_{ik}$ | $i$ | $k$ | ${w}_{ik}(\times {10}^{2})$ | ${\delta}_{ik}(\times {10}^{-1})$ | ${p}_{ik}$ |

01 | 1, 2, 3 | 0.9, 1.4, 1.6 | 3.7, 4.0, 4.8 | 0.7, 0.8, 0.9 | 11 | 1, 2 | 1.4, 2.0 | 4.1, 5.5 | 0.8, 0.9 |

02 | 1, 2 | 1.1, 2.0 | 5.2, 6.7 | 0.7, 0.8 | 12 | 1, 2, 3 | 2.4, 3.0, 3.2 | 5.2, 6.5, 6.7 | 0.7, 0.8, 0.7 |

03 | 1, 2 | 1.0, 1.8 | 5.5, 8.2 | 0.8, 0.7 | 13 | 1, 2 | 1.2, 1.8 | 3.7, 4.8 | 0.7, 0.7 |

04 | 1, 2 | 1.8, 2.5 | 5.2, 6.7 | 0.7, 0.8 | 14 | 1, 2 | 1.3, 2.0 | 5.2, 6.7 | 0.7, 0.9 |

05 | 1, 2, 3 | 1.6, 1.8, 2.4 | 6.6, 7.0, 7.4 | 0.8, 0.8, 0.9 | 15 | 1, 2 | 1.6, 2.3 | 5.5, 8.2 | 0.9, 0.6 |

06 | 1, 2 | 2.1, 3.2 | 3.8, 5.2 | 0.7, 0.8 | 16 | 1, 2, 3 | 1.8, 2.0, 2.6 | 5.2, 6.0, 6.7 | 0.4, 0.5, 0.9 |

07 | 1, 2 | 1.5, 2.2 | 3.2, 4.8 | 0.7, 0.8 | 17 | 1, 2 | 1.0, 1.8 | 6.6, 7.4 | 0.7, 0.9 |

08 | 1, 2, 3 | 1.2, 1.8, 2.0 | 3.9, 4.2, 5.9 | 0.7, 0.8, 0.8 | 18 | 1, 2 | 1.7, 2.5 | 3.8, 5.2 | 0.8, 0.8 |

09 | 1, 2 | 1.6, 2.8 | 4.1, 5.5 | 0.8, 0.9 | 19 | 1, 2, 3 | 1.6, 1.8, 2.4 | 3.2, 4.0, 4.8 | 0.6, 0.5, 0.8 |

10 | 1, 2 | 1.5, 2.4 | 3.6, 4.4 | 0.7, 0.9 | 20 | 1, 2 | 2.0, 2.8 | 3.9, 5.9 | 0.7, 0.6 |

$r$ | ${v}_{r}$ (km/h) | ${\widehat{\upsilon}}_{r}$($\frac{\mathrm{WorkLoad}}{\mathrm{min}}$) | ${\upsilon}_{r}^{0}$($\frac{\mathrm{WorkLoad}}{\mathrm{min}}$) | ${\alpha}_{r}$($\Delta {\upsilon}_{r}/\mathrm{min}$) | ${\beta}_{r}$($\Delta {\upsilon}_{r}/\mathrm{min}$) | ${\gamma}_{r}$($\Delta {\upsilon}_{r}/\mathrm{min}$) |

1 | 20 | 25 | 25 | −0.08 | 0.20 | 0.40 |

2 | 28 | 20 | 20 | −0.12 | 0.14 | 0.30 |

3 | 25 | 22 | 22 | −0.10 | 0.18 | 0.35 |

case 1 | case 2 | case 3 | case 4 |

$\left(\begin{array}{cccccc}/& 3& 10& 0& 0& 0\\ 7& /& 10& 0& 0& 1\\ 0& 0& /& 0& 0& 0\\ 10& 10& 10& /& 8& 8\\ 10& 10& 10& 2& /& 3\\ 10& 9& 10& 2& 7& /\end{array}\right)$ | $\left(\begin{array}{cccccc}/& 5& 10& 0& 1& 5\\ 5& /& 10& 0& 0& 3\\ 0& 0& /& 0& 0& 1\\ 10& 10& 10& /& 10& 10\\ 9& 10& 10& 0& /& 10\\ 5& 7& 9& 0& 0& /\end{array}\right)$ | $\left(\begin{array}{cccccc}/& 2& 10& 0& 0& 3\\ 8& /& 9& 0& 0& 3\\ 0& 1& /& 0& 0& 1\\ 10& 10& 10& /& 1& 3\\ 10& 10& 10& 9& /& 4\\ 7& 7& 9& 7& 6& /\end{array}\right)$ | $\left(\begin{array}{cccccc}/& 5& 4& 0& 0& 0\\ 5& /& 3& 0& 0& 1\\ 6& 7& /& 0& 0& 6\\ 10& 10& 10& /& 2& 10\\ 10& 10& 10& 8& /& 10\\ 10& 9& 4& 0& 0& /\end{array}\right)$ |

case 5 | case 6 | case 7 | case 8 |

$\left(\begin{array}{cccccc}/& 5& 7& 0& 0& 7\\ 5& /& 8& 0& 0& 6\\ 3& 2& /& 1& 0& 2\\ 10& 10& 9& /& 7& 8\\ 10& 10& 10& 3& /& 10\\ 3& 4& 8& 2& 0& /\end{array}\right)$ | $\left(\begin{array}{cccccc}/& 4& 8& 0& 0& 3\\ 6& /& 7& 0& 0& 4\\ 2& 3& /& 0& 0& 2\\ 10& 10& 10& /& 3& 10\\ 10& 10& 10& 7& /& 10\\ 7& 6& 8& 0& 0& /\end{array}\right)$ | $\left(\begin{array}{cccccc}/& 6& 9& 0& 0& 1\\ 4& /& 10& 0& 0& 3\\ 1& 0& /& 0& 0& 0\\ 10& 10& 10& /& 5& 8\\ 10& 10& 10& 5& /& 7\\ 9& 7& 10& 2& 3& /\end{array}\right)$ | $\left(\begin{array}{cccccc}/& 3& 10& 0& 1& 4\\ 7& /& 9& 0& 0& 3\\ 0& 1& /& 0& 0& 0\\ 10& 10& 10& /& 4& 10\\ 9& 10& 10& 6& /& 10\\ 6& 7& 10& 0& 0& /\end{array}\right)$ |

case 9 | case 10 | ||

$\left(\begin{array}{cccccc}/& 4& 7& 0& 1& 2\\ 6& /& 8& 0& 0& 0\\ 3& 2& /& 0& 0& 0\\ 10& 10& 10& /& 7& 9\\ 9& 10& 10& 3& /& 8\\ 8& 10& 10& 1& 2& /\end{array}\right)$ | $\left(\begin{array}{cccccc}/& 4& 9& 0& 0& 0\\ 6& /& 10& 0& 0& 0\\ 1& 0& /& 0& 0& 0\\ 10& 10& 10& /& 5& 10\\ 10& 10& 10& 5& /& 8\\ 10& 10& 10& 0& 2& /\end{array}\right)$ |

Case 1 | Case 2 | Case 3 | Case 4 | Case 5 | Case 6 | Case 7 | Case 8 | Case 9 | Case 10 | |
---|---|---|---|---|---|---|---|---|---|---|

NSGA-II | 2.12 | 2.47 | 2.22 | 2.38 | 2.65 | 2.17 | 2.13 | 2.93 | 2.23 | 2.22 |

SPEA2 | 2.28 | 2.51 | 3.53 | 2.22 | 1.63 | 3.98 | 2.41 | 3.11 | 1.96 | 2.76 |

MOEAD | 2.80 | 2.18 | 2.29 | 4.39 | 5.73 | 4.93 | 3.70 | 3.53 | 3.43 | 2.26 |

N2D | 1.72 | 1.60 | 2.17 | 1.50 | 3.47 | 2.89 | 1.84 | 1.77 | 1.79 | 1.99 |

S2D | 1.90 | 2.92 | 1.32 | 1.89 | 2.09 | 2.25 | 2.11 | 2.09 | 2.82 | 3.08 |

M2D | 1.88 | 1.36 | 4.58 | 3.58 | 4.35 | 3.00 | 5.98 | 3.17 | 4.26 | 3.09 |

Case 1 | Case 2 | Case 3 | Case 4 | Case 5 | Case 6 | Case 7 | Case 8 | Case 9 | Case 10 | |
---|---|---|---|---|---|---|---|---|---|---|

NSGA-II | 8.13 | 8.45 | 8.22 | 8.70 | 8.49 | 8.58 | 8.83 | 8.88 | 8.19 | 8.47 |

SPEA2 | 8.18 | 7.93 | 8.65 | 8.26 | 8.15 | 8.53 | 8.59 | 8.74 | 7.70 | 8.45 |

MOEAD | 6.98 | 7.31 | 7.87 | 6.40 | 7.34 | 7.95 | 7.78 | 7.70 | 6.82 | 7.08 |

N2D | 7.35 | 7.63 | 7.80 | 7.61 | 7.54 | 7.52 | 8.11 | 7.63 | 7.41 | 7.46 |

S2D | 7.22 | 7.86 | 7.71 | 7.44 | 7.50 | 7.79 | 7.82 | 7.62 | 7.43 | 7.59 |

M2D | 6.45 | 5.93 | 7.10 | 7.07 | 6.84 | 6.76 | 6.86 | 6.88 | 6.77 | 6.89 |

Case 1 | Case 2 | Case 3 | Case 4 | Case 5 | Case 6 | Case 7 | Case 8 | Case 9 | Case 10 | |
---|---|---|---|---|---|---|---|---|---|---|

NSGA-II | 7.81 | 7.58 | 7.30 | 7.63 | 7.59 | 7.64 | 7.52 | 7.65 | 7.52 | 7.45 |

SPEA2 | 7.74 | 7.72 | 7.39 | 7.58 | 7.41 | 7.66 | 7.49 | 7.73 | 7.20 | 7.56 |

MOEAD | 6.45 | 6.22 | 6.02 | 6.18 | 6.10 | 6.81 | 6.79 | 6.67 | 6.57 | 6.58 |

N2D | 8.66 | 8.91 | 8.55 | 8.52 | 8.59 | 8.65 | 8.47 | 8.68 | 8.69 | 8.49 |

S2D | 8.71 | 8.67 | 8.59 | 8.62 | 8.38 | 8.77 | 8.65 | 8.75 | 8.63 | 8.51 |

M2D | 7.73 | 7.61 | 7.32 | 7.49 | 6.66 | 7.06 | 7.51 | 7.11 | 7.24 | 7.51 |

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |

© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Liu, S.; Qi, X.; Liu, L.
Multi-Objective Task Scheduling of Circuit Repair. *Axioms* **2022**, *11*, 714.
https://doi.org/10.3390/axioms11120714

**AMA Style**

Liu S, Qi X, Liu L.
Multi-Objective Task Scheduling of Circuit Repair. *Axioms*. 2022; 11(12):714.
https://doi.org/10.3390/axioms11120714

**Chicago/Turabian Style**

Liu, Shengyu, Xiaogang Qi, and Lifang Liu.
2022. "Multi-Objective Task Scheduling of Circuit Repair" *Axioms* 11, no. 12: 714.
https://doi.org/10.3390/axioms11120714