# Product Service Scheduling Problem with Service Matching Based on Tabu Search Method

Authors: Liu Cheng Hao; Wang Yan Hong; Qiu Jia Wei; Dong Wei Zhao; Shan Rui
Journal: Journal of Advanced Transportation
 (2020)

---

## Abstract

This paper considers the product service scheduling problem with service matching. This problem is a complex scheduling problem that integrates multiple traveling salesman problem (MTSP) and multiple service types. To solve the problem, a tabu search method was presented. With the objective of minimizing the total of engineers’ travel distances, total of the customer penalty values, and makespan, an optimization model of this problem is established. The historical search solutions are taken as tabu object, and limiting the quantity of search neighborhood solution is taken as the aspiration level. At last, the adaptability, validity, and stability of the model are verified by an example.


---

## Body

## 1. Introduction

With the continuous development of industrial technology, the scale of production is constantly expanding, which leads to homogenizing of products. In the fierce market competition, manufacturing enterprises cannot profit only by selling products. Product service systems that integrate product and service could meet customers’ individualized and diversified requirements more comprehensively. Service scheduling problem is an important part of product service integration. The product service scheduling problem with service matching is a multicomplex scheduling problem with the integration of multiple traveling salesman problem and multiple service types. In 2000, the concept of field-workforce scheduling was presented by Lesaint et al. Field-workforce scheduling is about sending the right engineer to the right customer at the right place at the right time with the right equipment at any time and in any operational environment [1].Traditional multiple traveling salesmen problem mainly considered routing optimization. So far, many scholars have used different methods to solve it. Wacholder et al. [2] developed an efficient neural network algorithm for solving MTSP. Samerkae et al. [3] introduced a new algorithm in competition-based network to solve the Min-Max MTSP, which needs the maximum distance among all salesmen to be minimum. Ombuki et al. [4] represented the Vehicle Routing Problem with Time Windows as a multiobjective problem and presented a genetic algorithm solution using the Pareto ranking technique. Singh and Baghel [5] proposed a new grouping genetic algorithm based approach for MTSP. Kivelevitch et al. [6] described a market-based solution to the problem of assigning mobile agents to tasks and considered both the classical MTSP, in which the sum of all tour lengths is minimized, and the Min-Max MTSP, in which the longest tour is minimized. Kai et al. [7] used a modified NSGA-II algorithm to solve resource service scheduling with three objectives: comprehensive customer satisfaction degree, resource utility efficiency, and product service cost. Changdar et al. [8] presented a genetic-ant colony optimization algorithm to solve a solid MTSP in fuzzy rough environment. Yongzhen et al. [9] considered the MTSP with the Min-Max objective, which includes more than one salesman to serve a set of cities while minimizing the maximum distance traveled by any salesman and proposed a novel memetic algorithm, which integrates with a sequential variable neighborhood descent that is a powerful local search procedure to exhaustively search the areas near the high-quality solutions. Bellenguez-Morineau and Néron [10] and Caramia and Giordani [11] considered matching assignment of service types but did not consider route optimization problem. Yousefikhoshbakht et al. [12] presented a new modified version of the ant colony optimization mixed with insert, swap, and 2-opt algorithm called NMACO for solving MTSP, which utilizes an effective criterion for escaping from the local optimum points. Singh and Aslam Lodhi [13] made the attempt to show how genetic algorithm can be applied to the MTSP with ability constraint and compared MTSP in terms of distance and iteration by considering several set of cities. Yuan et al. [14] proposed a new crossover operator called two-part chromosome crossover for solving MTSP using a genetic algorithm for near-optimal solutions. Ponraj and Amalanathan [15] solved optimizing multiple traveling salesman problem considering the road capacity. Chen [16] presented a new algorithm, named EDAMLA, which is based on self-guided genetic algorithm with a minimum loading assignment rule to solve MTSP. Bolañosa et al. [17] proposed a nondominated sorting genetic algorithm (NSGA-II) to solve a multiobjective version of the multiple traveling salesman problem. Kota and Jarmai [18] described a single-phase algorithm for the fixed destination multidepot multiple traveling salesman problem with multiple tours. Shabanpour et al. [19] proposed a new combinatorial algorithm named CGA-MTSP for solving MTSP problem, which is a combination of genetic algorithm and clustering technique. Kalmár-Nagy et al. [20] described a variant of the classical multiple traveling salesmen problem. Xinye et al. [21] proposed a biobjective ant colony optimization based memetic algorithm to solve MTSP.Tabu search method has many advantages such as being easy to understand, being easy to achieve, wide range of application, strong ability of local development, and fast convergence speed. We proposed a tabu search method for product service scheduling problem with service matching. Tabu search method has been widely used in many fields. Castelino et al. [22] presented the application of a tabu search algorithm for solving the frequency assignment problem. Alcaide et al. [23] proposed a tabu search algorithm for the solution of the problem, which uses simple fist scheduling algorithms to build the starting solutions. Ponnambalam et al. [24] considered the tabu search technique to solve job shop scheduling problems. Girard et al. [25] presented a fast tabu search method for the design of access tree networks. Alvarez-Valdfes et al. [26] dealt with the problem of assigning teachers to courses in a secondary school. Shin et al. [27] modified the original tabu search method to be suitable for the scheduling problem that schedules some jobs to a single machine in order to minimize the maximum lateness of the jobs. Alvarez-Valdes et al. [28] presented a new heuristic algorithm for the pallet loading problem, the problem of packing the maximum number of identical rectangular boxes onto a rectangular pallet. Saidi-Mehrabad and Fattahi [][][29] presented a tabu search algorithm that solves the flexible job shop scheduling problem to minimize the makespan time. Özcan and Toklu [30] presented a tabu search algorithm for two-sided assembly line balancing. Kailiang et al. [31] considered the problem of scheduling some jobs with arbitrary release dates and due dates on a single machine, where job-processing times can be controlled by the allocation of a common resource, and the operation is modelled by a nonlinear convex resource consumption function. Liao and Huang [32] proposed two Tabu search based algorithms to solve the complicated nonpermutation flow shop problems. Abdelaziz et al. [33] used a modified Tabu Search algorithm to reconfigure distribution systems so that active power losses are globally minimized with turning on/off sectionalizing switches. Shiguemotoa and Armentano [34] proposed a tabu search procedure for solving the problem of optimally coordinating a production-distribution system over a multiperiod finite horizon, where a facility production produces several items that are distributed to a set of customers by a fleet of homogeneous vehicles. Bolduc et al. [35] proposed a tabu search heuristic for the split delivery Vehicle Routing Problem with Production and Demand Calendars. Armentano et al. [36] proposed two tabu search variants for minimizing production and inventory costs at the plant, inventory costs at the customers, and distribution costs. Liao and Huang [37] proposed a heuristic based on tabu search technique and compared the proposed heuristic with a heuristic based on mixed integer linear programming. Kil-Woong [38] proposed a routing optimization algorithm to efficiently determine an optimal path from a source to a destination in mobile ad-hoc networks. Kasperski et al. [39] dealt with the strongly NP-hard Min-Max regret version of the minimum spanning tree problem with interval costs. Lamghari and Dimitrakopoulos [40] presented a metaheuristic solution approach based on tabu search for the open-pit mine production scheduling problem with metal uncertainty. González et al. [41] tackled the job shop scheduling problem with sequence-dependent setup times and maximum lateness minimization by means of a tabu search algorithm. Gallego et al. [42] developed search mechanisms, based on the tabu search methodology, for the maximally diverse grouping problem, including a strategic oscillation that enables search paths to cross a feasibility boundary. Koutsoukis et al. [43] introduced a recursive tabu search method to solve the optimal phasor measurement units placement problem. Nguyen et al. [44] proposed a tabu search metaheuristic for the time-dependent multizone multitrip Vehicle Routing Problem with Time Windows. Ho and Szeto [45] presented an iterated tabu search heuristic to solve the static bike repositioning problem. Junior et al. [46] presented a multiobjective tabu search algorithm to solve the multistage planning problem of a distribution system formulated as a multiobjective dynamic mixed integer nonlinear programming problem. Liu et al. [47] proposed a tabu search method combined with different local search schemes including both feasible and infeasible local searches. Yao et al. [48] employed the tabu search algorithm to optimize the Support Vector Machine parameters to accurately detect incidents in expressways. Li et al. [49] developed a tabu search to produce high-quality solutions of the dynamic lot sizing problem with product returns and remanufacturing. Buyang et al. [50] presented a tabu search algorithm for a new problem class called cohesive clustering, which arises in a variety of business applications. Alshibli et al. [51] used tabu search to obtain the optimal solution for disassembly sequencing.The rest of this paper is organized as follows. In Section2, the mathematical formulation of product service scheduling problem with service matching is presented. Section 3 describes the tabu search method in detail. Section 4 demonstrates the application of tabu search method to a case of product service scheduling problem with matching, and finally conclusions are summarized in Section 5.


## 2. Problem Description and Formulation

### 2.1. Problem Description

Product service scheduling problem with service matching could be understood abstractly as a graph model as follows [52].Road networkG =(C, A), customer nodes set C = {1, 2, …, c}, A is the set of all possible path, and (i, j) ∈ A is the path from customer or engineer i to customer j. B is the set of the all engineers’ nodes; N = B ∪ C is the set of all nodes [52]. The service type set Z = {1, 2, …, z} and there are two kinds of service types in this paper.There aree engineers in the enterprise, so set E = {1, 2, …, e}. Each engineer has different service capabilities of different service types. The time required for engineer k's service type z is Tkz. Each customer only needs one type service. stjz indicates the logical value of service type z required by customer z. When stjz is 1, the service type that represents customer j needs is z; otherwise it is 0.The time to start serving customerj is Sj. Ck is the time when engineer k ends all services. Different customers have different weights. The weight of customer j is Wj and the penalty value of customer j is Sj · Wj.t
ij is the time required from customer i to customer j, which is a known constant. taik is the time when engineer k arrives at customer i.x
ijk indicates whether engineer k goes through (i, j). If engineer k goes to customer j via customer i, xijk = 1; else xijk = 0.


### 2.2. Objective

The engineers’ walking total distance should be as short as possible.(1)f1=min∑j∈Ci∈Nk∈Etij·xijk,i≠j.In order to maximize customer satisfaction, minimizing the total penalty value will be needed.(2)f2=min∑j∈Ci∈Nk∈ESj·Wj·xijk,i≠j.In order to balance the working strength of each engineer and make all engineers finish their work as early as possible, minimizing the whole time of maintenance service will be needed.(3)f3=minmaxCk∀k∈E.


### 2.3. Constraints

Each customer must and will only be served once and can only be served by one engineer.(4)∑j∈Ck∈Exijk=1,∀i∈N.After engineerk serves customer p, he must leave from customer p when he takes over new tasks.(5)∑i∈Nxipk−∑j∈Cxpjk=0,∀p∈C,∀k∈E.If engineerk serves customer i and then serves customer j, and the service type needed by customer i is z, then(6)Sj=Si+Tkz·stjz+tij,∀j∈C,∀i∈N,∀k∈E,∀z∈Z.Starting time(7)tahk=0,∀b∈B,∀k∈E.The time when engineerk ends all the maintenance services(8)Ck=∑j∈Ci∈Nz∈Ztij+Tkz·stjz·xijk,i≠j,j≠0,∀k∈E.Decision variables are(9)xijk∈0,1,∀i∈N,∀j∈C,∀k∈E.


## 2.1. Problem Description

Product service scheduling problem with service matching could be understood abstractly as a graph model as follows [52].Road networkG =(C, A), customer nodes set C = {1, 2, …, c}, A is the set of all possible path, and (i, j) ∈ A is the path from customer or engineer i to customer j. B is the set of the all engineers’ nodes; N = B ∪ C is the set of all nodes [52]. The service type set Z = {1, 2, …, z} and there are two kinds of service types in this paper.There aree engineers in the enterprise, so set E = {1, 2, …, e}. Each engineer has different service capabilities of different service types. The time required for engineer k's service type z is Tkz. Each customer only needs one type service. stjz indicates the logical value of service type z required by customer z. When stjz is 1, the service type that represents customer j needs is z; otherwise it is 0.The time to start serving customerj is Sj. Ck is the time when engineer k ends all services. Different customers have different weights. The weight of customer j is Wj and the penalty value of customer j is Sj · Wj.t
ij is the time required from customer i to customer j, which is a known constant. taik is the time when engineer k arrives at customer i.x
ijk indicates whether engineer k goes through (i, j). If engineer k goes to customer j via customer i, xijk = 1; else xijk = 0.


## 2.2. Objective

The engineers’ walking total distance should be as short as possible.(1)f1=min∑j∈Ci∈Nk∈Etij·xijk,i≠j.In order to maximize customer satisfaction, minimizing the total penalty value will be needed.(2)f2=min∑j∈Ci∈Nk∈ESj·Wj·xijk,i≠j.In order to balance the working strength of each engineer and make all engineers finish their work as early as possible, minimizing the whole time of maintenance service will be needed.(3)f3=minmaxCk∀k∈E.


## 2.3. Constraints

Each customer must and will only be served once and can only be served by one engineer.(4)∑j∈Ck∈Exijk=1,∀i∈N.After engineerk serves customer p, he must leave from customer p when he takes over new tasks.(5)∑i∈Nxipk−∑j∈Cxpjk=0,∀p∈C,∀k∈E.If engineerk serves customer i and then serves customer j, and the service type needed by customer i is z, then(6)Sj=Si+Tkz·stjz+tij,∀j∈C,∀i∈N,∀k∈E,∀z∈Z.Starting time(7)tahk=0,∀b∈B,∀k∈E.The time when engineerk ends all the maintenance services(8)Ck=∑j∈Ci∈Nz∈Ztij+Tkz·stjz·xijk,i≠j,j≠0,∀k∈E.Decision variables are(9)xijk∈0,1,∀i∈N,∀j∈C,∀k∈E.


## 3. Tabu Search Method

### 3.1. The Steps of Method

The tabu search method is used in this paper to solve the mathematical model of technical service scheduling with service matching.The merged objective function is(10)f=∑j∈Ci∈Nk∈Etij·xijk+∑j∈Ci∈Nk∈ESj·Wj·xijk+maxCk∀k∈E,i≠j.In this method,H is the current solution. NG, which is a simple and easy-to-operate limited maximum iteration step, is used as the stopping rule. In order to avoid trapping in the local optimum, this method gives the number n of limiting search neighborhood solutions; that is, when n neighborhood solutions of the current solution are searched but no neighborhood solution better than the current solution is found, the optimal solution of the N neighborhood solutions is assigned to the current solution. To avoid loops, the method needs to put the history current solution in the tabu table. This method takes the historical current solution as a tabu object; that is, after moving to the current solution, the current solution is stored in the tabu table.NG and n are given. The current solution and the current optimal solution are default to the initial solution, i.e., H=O, opt=O. The tabu table T is empty. Iteration index k and neighborhood solution search index i are 0.The initial solutionO is obtained by uniformly assigning customers to engineers. For example, when two engineers serve four customers, the initial solutions are c1e1, c2e2, c3e1, and c4e2.Flow chart of tabu search method is as shown in Figure1.Figure 1
Flow chart of tabu search method.


## 3.1. The Steps of Method

The tabu search method is used in this paper to solve the mathematical model of technical service scheduling with service matching.The merged objective function is(10)f=∑j∈Ci∈Nk∈Etij·xijk+∑j∈Ci∈Nk∈ESj·Wj·xijk+maxCk∀k∈E,i≠j.In this method,H is the current solution. NG, which is a simple and easy-to-operate limited maximum iteration step, is used as the stopping rule. In order to avoid trapping in the local optimum, this method gives the number n of limiting search neighborhood solutions; that is, when n neighborhood solutions of the current solution are searched but no neighborhood solution better than the current solution is found, the optimal solution of the N neighborhood solutions is assigned to the current solution. To avoid loops, the method needs to put the history current solution in the tabu table. This method takes the historical current solution as a tabu object; that is, after moving to the current solution, the current solution is stored in the tabu table.NG and n are given. The current solution and the current optimal solution are default to the initial solution, i.e., H=O, opt=O. The tabu table T is empty. Iteration index k and neighborhood solution search index i are 0.The initial solutionO is obtained by uniformly assigning customers to engineers. For example, when two engineers serve four customers, the initial solutions are c1e1, c2e2, c3e1, and c4e2.Flow chart of tabu search method is as shown in Figure1.Figure 1
Flow chart of tabu search method.


## 4. Simulation Results and Analyses

### 4.1. Operating Environment

We implement method by programming with C++. The details of the operating environment are given as follows:CPU: Intel(R) Core(TM) i5-3337U CPU@1.80 GHzMemory: 4.00 GBKernel: two coresCompiler: Microsoft Visual C++ 6.0Operation system: 64-bit Windows 7, flagship edition


### 4.2. Simulation Result

Suppose that a manufacturing company has three engineers and now there are nine customers needed to be served. Distances between engineers and customers and between customers and customers are shown in Table1. Service hours of different engineers serving different customers are shown in Table 2. Customer weights and service times and service types required by customers are shown in Table 3. The adaptive values of initial solutions and parameter settings are shown in Table 4.Table 1
Distances between engineer and customer and between customer and customer (h).
c
1
c
2
c
3
c
4
c
5
c
6
c
7
c
8
c
9
e
1
1
5
3
3
3
5
3
1
5
e
2
5
1
3
1
1
4
3
5
5
e
3
3
5
1
2
2
5
1
1
1
c
1
0
2
4
4
5
1
2
4
2
c
2
2
0
3
2
2
3
3
3
4
c
3
4
3
0
4
4
2
1
2
1
c
4
4
2
4
0
4
3
4
3
3
c
5
5
2
4
4
0
5
1
3
4
c
6
1
3
2
3
5
0
1
5
4
c
7
2
3
1
4
1
1
0
1
4
c
8
4
3
2
3
3
5
1
0
2
c
9
2
4
1
3
4
4
4
2
0Table 2
Service time and service type customers need.
st
e
1
e
2
e
3
c
1
c
2
c
3
c
4
c
5
c
6
c
7
c
8
c
9
1
5
1
4
0
0
0
0
1
0
1
1
1
2
1
4
3
1
1
1
1
0
1
0
0
0Table 3
Customers’ weights.
c
1
2
3
4
5
6
7
8
9
Weight
2
1
2
1
1
2
2
1
2Table 4
Parameter settings and value of adaption of initial solution.
NG
n
f(O)
70
10
128The final adaptive values of the tabu search method and the objective function of the optimal solution for this example are shown in Table5. The convergence curve of method search is shown in Figure 2. The Gantt diagram of the optimal solution obtained is shown in Figure 3.Table 5
Results of example.
f(H)
f(opt)
f
1(opt)
f
2(opt)
f
3(opt)
112
85
12
58
15Figure 2
Search convergent curve of method.Figure 3
Gantt chart of optimal solution of tabu search method.


### 4.3. Comparison of the Results

The results of the example show that it is difficult to get a better solution after a certain number of iterations. A better initial solution should be chosen and selection strategy and aspiration level should be set to be more reasonable. In this study, we choose to simply limit the number of iterations and the number of search neighborhood solutions, and the tabu length increases with the number of iterations.In order to validate the effectiveness of this method, three scales of problems, 72×160 (primary case), 135×300 (intermediate case), and 360×800 (advanced case), are also considered in this study [53]. Distances between engineers and customers, distances between customers and customers, and service time are randomly obtained in [1, 5]. Customers’ weights are randomly obtained in [1, 2]. The parameters are set as in Table 6, and the calculations are as in Table 7.Table 6
Parameter settings.
NG
n
100
20Table 7
Calculation results of tabu search method under different cases.
No.
Primary case
Intermediate case
Advanced case
f(O)
f(H)
f(opt)
f(O)
f(H)
f(opt)
f(O)
f(H)
f(opt)
1
2186
1269
1269
3999
3064
3064
10795
9679
9679
2
2323
1495
1495
3876
2856
2849
10599
9434
9434
3
2221
1354
1354
4036
3062
3062
10649
9631
9631
4
2028
1298
1298
3929
3007
3007
10793
9645
9645
5
1939
1232
1230
4004
3050
3050
10680
9584
9584As can be seen from Table7, tabu search method performs very well in whatever solving small-, medium-, or large-scale problems. Because the number of iterations and the number of search constraints of neighborhood solutions are set higher, better solutions can be obtained. In this study, the historical search solution was set as tabu object, and the desire level was set as the number of limiting neighborhood solutions. Tabu objects and aspiration levels are both easy to understand and easy to apply.


### 4.4. Comparison with Simulated Annealing Algorithm

Simulated annealing mainly focuses on global searching [53]. In this part, we compare the tabu search method with simulated annealing algorithm. After that, the further discussion of the two methods is proposed. The searching processes are shown in Figures 4–6.Figure 4
Comparison with simulated annealing algorithm under the primary case.Figure 5
Comparison with simulated annealing algorithm under the intermediate case.Figure 6
Comparison with simulated annealing algorithm under the advanced case.In simulated annealing algorithm, we set original temperature to 100, final temperature to 10, and cooling temperature function tot = t/(1 + 0.005t) [53]. In Figures 4–6, tabu search method performs much better than simulated annealing algorithm under all three cases. Under the three cases, simulated annealing algorithm was trapped in the local optimal solution, while tabu search method could find the global optimal solution. This is because simulated annealing algorithm searches under certain probability. Therefore, simulated annealing algorithm has little chance to obtain the global optimum. The search efficiency of tabu search method is very high. So the tabu search method is the better option.


## 4.1. Operating Environment

We implement method by programming with C++. The details of the operating environment are given as follows:CPU: Intel(R) Core(TM) i5-3337U CPU@1.80 GHzMemory: 4.00 GBKernel: two coresCompiler: Microsoft Visual C++ 6.0Operation system: 64-bit Windows 7, flagship edition


## 4.2. Simulation Result

Suppose that a manufacturing company has three engineers and now there are nine customers needed to be served. Distances between engineers and customers and between customers and customers are shown in Table1. Service hours of different engineers serving different customers are shown in Table 2. Customer weights and service times and service types required by customers are shown in Table 3. The adaptive values of initial solutions and parameter settings are shown in Table 4.Table 1
Distances between engineer and customer and between customer and customer (h).
c
1
c
2
c
3
c
4
c
5
c
6
c
7
c
8
c
9
e
1
1
5
3
3
3
5
3
1
5
e
2
5
1
3
1
1
4
3
5
5
e
3
3
5
1
2
2
5
1
1
1
c
1
0
2
4
4
5
1
2
4
2
c
2
2
0
3
2
2
3
3
3
4
c
3
4
3
0
4
4
2
1
2
1
c
4
4
2
4
0
4
3
4
3
3
c
5
5
2
4
4
0
5
1
3
4
c
6
1
3
2
3
5
0
1
5
4
c
7
2
3
1
4
1
1
0
1
4
c
8
4
3
2
3
3
5
1
0
2
c
9
2
4
1
3
4
4
4
2
0Table 2
Service time and service type customers need.
st
e
1
e
2
e
3
c
1
c
2
c
3
c
4
c
5
c
6
c
7
c
8
c
9
1
5
1
4
0
0
0
0
1
0
1
1
1
2
1
4
3
1
1
1
1
0
1
0
0
0Table 3
Customers’ weights.
c
1
2
3
4
5
6
7
8
9
Weight
2
1
2
1
1
2
2
1
2Table 4
Parameter settings and value of adaption of initial solution.
NG
n
f(O)
70
10
128The final adaptive values of the tabu search method and the objective function of the optimal solution for this example are shown in Table5. The convergence curve of method search is shown in Figure 2. The Gantt diagram of the optimal solution obtained is shown in Figure 3.Table 5
Results of example.
f(H)
f(opt)
f
1(opt)
f
2(opt)
f
3(opt)
112
85
12
58
15Figure 2
Search convergent curve of method.Figure 3
Gantt chart of optimal solution of tabu search method.


## 4.3. Comparison of the Results

The results of the example show that it is difficult to get a better solution after a certain number of iterations. A better initial solution should be chosen and selection strategy and aspiration level should be set to be more reasonable. In this study, we choose to simply limit the number of iterations and the number of search neighborhood solutions, and the tabu length increases with the number of iterations.In order to validate the effectiveness of this method, three scales of problems, 72×160 (primary case), 135×300 (intermediate case), and 360×800 (advanced case), are also considered in this study [53]. Distances between engineers and customers, distances between customers and customers, and service time are randomly obtained in [1, 5]. Customers’ weights are randomly obtained in [1, 2]. The parameters are set as in Table 6, and the calculations are as in Table 7.Table 6
Parameter settings.
NG
n
100
20Table 7
Calculation results of tabu search method under different cases.
No.
Primary case
Intermediate case
Advanced case
f(O)
f(H)
f(opt)
f(O)
f(H)
f(opt)
f(O)
f(H)
f(opt)
1
2186
1269
1269
3999
3064
3064
10795
9679
9679
2
2323
1495
1495
3876
2856
2849
10599
9434
9434
3
2221
1354
1354
4036
3062
3062
10649
9631
9631
4
2028
1298
1298
3929
3007
3007
10793
9645
9645
5
1939
1232
1230
4004
3050
3050
10680
9584
9584As can be seen from Table7, tabu search method performs very well in whatever solving small-, medium-, or large-scale problems. Because the number of iterations and the number of search constraints of neighborhood solutions are set higher, better solutions can be obtained. In this study, the historical search solution was set as tabu object, and the desire level was set as the number of limiting neighborhood solutions. Tabu objects and aspiration levels are both easy to understand and easy to apply.


## 4.4. Comparison with Simulated Annealing Algorithm

Simulated annealing mainly focuses on global searching [53]. In this part, we compare the tabu search method with simulated annealing algorithm. After that, the further discussion of the two methods is proposed. The searching processes are shown in Figures 4–6.Figure 4
Comparison with simulated annealing algorithm under the primary case.Figure 5
Comparison with simulated annealing algorithm under the intermediate case.Figure 6
Comparison with simulated annealing algorithm under the advanced case.In simulated annealing algorithm, we set original temperature to 100, final temperature to 10, and cooling temperature function tot = t/(1 + 0.005t) [53]. In Figures 4–6, tabu search method performs much better than simulated annealing algorithm under all three cases. Under the three cases, simulated annealing algorithm was trapped in the local optimal solution, while tabu search method could find the global optimal solution. This is because simulated annealing algorithm searches under certain probability. Therefore, simulated annealing algorithm has little chance to obtain the global optimum. The search efficiency of tabu search method is very high. So the tabu search method is the better option.


## 5. Discussion and Conclusion

The results show that it is difficult to get a better solution after a certain number of iterations. Tabu search method and analog degradation method both depend heavily on the performance of the initial solution. So a better initial solution should be chosen and tabu strategy and desire level should be set to be more reasonable. In this study, we choose to simply limit the number of iterations and the number of search neighborhood solutions, and the tabu length increases with the number of iterations.Multicustomer product service scheduling problem with service matching is a complex multiple traveling salesman problem. Service matching needs to be considered in this problem; that is, different types of services required by different customers are different, and different engineers have different service capabilities for different types of services. This study also considered minimizing distance, waiting time, and completion time of weighted customers as optimization objectives. Further studies can consider adding time windows and other constraints.Tabu search method is used to solve multicustomer product service scheduling problem with service matching in this paper. The biggest characteristic of tabu search method is that it can accept inferior solutions, so that it can avoid falling into local optimum. Therefore, the tabu search method cannot take local optimum as the stopping rule. It needs to set the number of iterations or other stopping rules. The two core problems of tabu search method are setting tabu strategy and desire level, so solving these two problems can easily achieve global optimization.



---

*Source: 5748680-2020-02-01.xml*