“…The solving methods are mainly divided into three categories: (1) exact solution algorithms (e.g., mixed integer programming [13], dynamic programming [14], and branch and bound algorithm [15]); (2) heuristic algorithms (e.g., a priority-based heuristic [3], an ejection-chain heuristic [11], and a Lagrangian heuristic [16]); (3) metaheuristic algorithms (e.g., simulated annealing [12], tabu search [12,17], and genetic algorithm [18]). The performance of these solving methods is measured through the instances with varied size and complexity.…”