An Algorithm for Mapping the Asymmetric Multiple Traveling Salesman Problem onto Colored Petri Nets

The Multiple Traveling Salesman Problem is an extension of the famous Traveling Salesman Problem. Finding an optimal solution to the Multiple Traveling Salesman Problem (mTSP) is a difficult task as it belongs to the class of NP-hard problems. The problem becomes more complicated when the cost matrix is not symmetric. In such cases, finding even a feasible solution to the problem becomes a challenging task. In this paper, an algorithm is presented that uses Colored Petri Nets (CPN)—a mathematical modeling language—to represent the Multiple Traveling Salesman Problem. The proposed algorithm maps any given mTSP onto a CPN. The transformed model in CPN guarantees a feasible solution to the mTSP with asymmetric cost matrix. The model is simulated in CPNTools to measure two optimization objectives: the maximum time a salesman takes in a feasible solution and the collective time taken by all salesmen. The transformed model is also formally verified through reachability analysis to ensure that it is correct and is terminating.


Introduction
The Multiple Traveling Salesman Problem (mTSP) [1] is a natural extension of the well-known Traveling Salesman Problem (TSP) [2].TSP requires a salesman to find the shortest route through the given cities under the constraint that each city could be visited only once.In a classical TSP there is only one salesman, that is, m = 1, whereas in mTSP we have m > 1, which means more than one salesman is involved.
The Multiple-Traveling Salesman Problem belongs to the class of NP-hard problems, which suggests that no polynomial time algorithm exists for finding its optimal solution.However, in many applications, because of the problem complexity and added constraints, finding even a feasible solution becomes a challenging task.Moreover, in some other cases, because of the inherent nature of the problem, finding a feasible solution alone is sufficient.
One of the fundamental and practical constraints that is observed in solving a mTSP is the difference in cost (time, distance, fuel consumption, and so forth) between any two cities.In real life, it is very often the case that the cost of going from city A to city B is not necessarily the same as going from city B to city A. Such a problem is referred to as an Asymmetric Multiple Traveling Salesman Problem.Depending on the application, a Multiple Traveling Salesman Problem may require achieving a single optimization objective or multiple optimization objectives.These optimization objectives may require a quantity to be minimized (such as time, distance, cost, penalty, number of salesmen) or to be maximized (profit, load, and so forth).
There are many practical applications of mTSP, including bus scheduling, mission planning, crew scheduling, and print press scheduling.mTSP is also closely related to some other known optimization problems like the Vehicle Routing Problem (VRP) and Job Scheduling; as such, a solution to mTSP can be used to answer these problems as well.
In this paper, Colored Petri Nets (CPN)-a formal mathematical modeling language-is used to model the asymmetric Multiple Traveling Salesman Problem.The presented transformation of mTSP to CPN always guarantees a feasible solution and is flexible enough to solve the mTSP problem with either an asymmetric or a symmetric cost matrix.In addition, it can also be used to solve Traveling Salesman Problem (TSP), which is a special instance of mTSP with m = 1.
The paper first presents a mechanism to map the concepts of city, depo, salesman, and time from Multiple Traveling Salesman Problem onto the constructs of place and transition in a Colored Petri Net.Employing these mappings, an algorithm is then presented which transforms any given asymmetric Multiple Traveling Salesman Problem into a Colored Petri Net model.The transformed model in CPN is simulated in CPNTools [3] to calculate different optimization objectives and is formally verified through reachability analysis to ensure that various properties hold true for the complete state space of the model.
The rest of the paper is organized as follows.Section 2 discusses the technical background and the existing literature.The proposed mapping is described in Section 3 while a case study based on the proposed mapping is presented in Section 4 along with the formal technique of verification.A qualitative comparison of the proposed algorithm with other approaches is presented in Section 5 and finally, Section 6 concludes the paper and provides the future research directions.

Colored Petri Nets
Colored Petri Net (CPN) is a mathematical modeling language developed by Kurt Jensen [4] for the design and analysis of complex systems.CPN is an extension of Petri Nets [5] which was invented by Carl Adam Petri with the concepts of color, time and hierarchy.
In a CPN, the state of a system, being modeled, is represented with an ellipse and called a place.An activity, on the other hand, is represented by a rectangle and is called a transition.A directed arc connects a place and a transition such that a set of places, transitions, and arcs form mutually disjoint sets.Unlike Petri Nets, a place in CPN holds tokens that have different types of values, which allows modeling of complex systems.CPN incorporates a mathematical formalism that allows one to verify and validate the structural and behavioral properties of the modeled system.
To understand a CPN, consider a simple traffic light signal.At any given instance, the traffic light can be in one of the three states: red, orange, or green.The signal changes its state after a fixed specified time.A Colored Petri Net model of this traffic light system is shown in Figure 1.The three states of the system, red, orange, and green are represented by places R, O, and G, respectively.The actions of going from state red to orange, from state orange to state green, and from state green to state red are represented by transitions Tro, Tog, and Tgr, respectively.There are many practical applications of mTSP, including bus scheduling, mission planning, crew scheduling, and print press scheduling.mTSP is also closely related to some other known optimization problems like the Vehicle Routing Problem (VRP) and Job Scheduling; as such, a solution to mTSP can be used to answer these problems as well.
In this paper, Colored Petri Nets (CPN)-a formal mathematical modeling language-is used to model the asymmetric Multiple Traveling Salesman Problem.The presented transformation of mTSP to CPN always guarantees a feasible solution and is flexible enough to solve the mTSP problem with either an asymmetric or a symmetric cost matrix.In addition, it can also handle cases in which not all cities are directly connected to each other.Furthermore, it can also be used to solve TSP Traveling, which is a special instance of mTSP with m = 1.
The paper first presents a mechanism to map the concepts of city, depo, salesman, and time from Multiple Traveling Salesman Problem onto the constructs of place and transition in a Colored Petri Net.Employing these mappings, an algorithm is then presented which transforms any given asymmetric Multiple Traveling Salesman Problem into a Colored Petri Net model.The transformed model in CPN is simulated in CPNTools to calculate different optimization objectives.
The rest of the paper is organized as follows.Section 2 discusses the technical background and the existing literature.The proposed mapping is described in Section 3, while a case study based on the proposed mapping is presented in Section 4. Finally, Section 5 concludes the paper and provides the future research directions.

Colored Petri Nets
Colored Petri Net (CPNs) is a mathematical modeling language developed by Kurt Jensen [3] for the design and analysis of complex systems.CPN is an extension of Petri Nets [4], which was invented by Carl Adam Petri with the concepts of color, time and hierarchy.
In a CPN, the state of a system being modeled is represented with an ellipse and called a place.An activity, on the other hand, is represented by a rectangle and is called a transition.A directed arc connects a place and a transition such that a set of places, transitions, and arcs form mutually disjoint sets.Unlike Petri Nets, a place in CPN holds tokens that have different types of values, which allows modeling of complex systems.CPN incorporates a mathematical formalism that allows one to verify and validate the structural and behavioral properties of the modeled system.
To understand a CPN, consider a simple traffic light signal.At any given instance, the traffic light can be in one of the three states: red, orange, or green.The signal changes its state after a fixed specified time.A Colored Petri Net model of this traffic light system is shown in Figure 1.The three states of the system, red, orange, and green are represented by places R, O, and G, respectively.The actions of going from state red to orange, from state orange to state green, and from state green to state red are represented by transitions Tro, Tog, and Tgr, respectively.The temporal characteristics of the system are modeled with delays on the transitions.The value of 20 on transition Tro in Figure 2 suggests that the traffic light will change its state from red to orange after 20 time units.Similarly, the values of 5 and 15 on transitions Tog and Tgr reflect the time units require to change from state orange to green and from stage green to red, respectively.
The presence of a single token at place R in Figure 2 shows that the traffic light is currently in the state red.When all the input places of a transition have at least a single token, the transition is said to be enabled and ready to fire.The firing of a transition signifies that the event represented by The temporal characteristics of the system are modeled with delays on the transitions.The value of 20 on transition Tro in Figure 2 suggests that after 20 time units the traffic light will be in the orange state.Similarly, the values of 5 and 15 on transitions Tog and Tgr reflect the time delays which the traffic light will experience to be in the green and the red state, respectively.
The presence of a single token at place R in Figure 2 shows that the traffic light is currently in the state red.In the absence of expressions on the input arcs of a transition and guard expression, a transition is said to be enabled and ready to fire when all the input places have at least a single token available in them.The firing of a transition signifies that the event represented by that transition has taken place.A transition, when fired, takes token(s) from its input place(s) and produces token(s) for the output place(s).
As seen in Figure 2, transition Tro is enabled and is ready to fire.Once it fires, it consumes the token from place R and produces a token for place O as shown in Figure 3.This suggests that the traffic light has changed its state from red to orange.The token at place O shows that the traffic light is now in the state orange and it has changed its state after 20 time units.that transition has taken place.A transition, when fired, takes token(s) from its input place(s) and produces token(s) for the output place(s).As seen in Figure 2, transition Tro is enabled and is ready to fire.Once it fires, it consumes the token from place R and produces a token for place O, as shown in Figure 3.This suggests that the traffic light has changed its state from red to orange.The token at place O shows that the traffic light is now in the state orange and it has changed its state after 20 time units.

Literature Review
Several algorithms have been proposed for solving the Multiple Traveling Salesman Problem.These solutions have been proposed from three different approaches, namely (1) exact solutions, (2) using heuristics, and (3) transformation to TSP.
An earlier work on presenting an exact solution to mTSP is that of Laporte and Nobert [5], whose solution is based on the relaxation of a few constraints of the original problem.Kara and Bektas [6] proposed an integer linear programming-based solution addressing sub-tour elimination constraints (SEC), whereas Kulkarni and Bhave [7] proposed different SECs to provide a solution to the Vehicle Routing Problem (VRP)-a special case of mTSP.A branch and bound algorithm is proposed by Ali and Kennington [8] that provides a solution to the asymmetric case of mTSP.
In large-scale problems where it is difficult to find an optimal solution, heuristic-based algorithms are used to provide a sub-optimal solution.The heuristic-based algorithms to solve the Multiple Traveling Salesman Problem include the Evolutionary Algorithm [9], Genetic Algorithm [10], Tabu Search [11], Simulated Annealing [12], and Neural Networks [13].
Another approach to solving the Multiple Traveling Salesman Problem is to transform it into a simple Traveling Salesman Problem, solving the transformed problem with the available algorithms, thus addressing the original problem.The work presented by Hong and Padberg [14], Rao [15], and Jonker and Volgenant [16] proposes the transformation of symmetric mTSP to symmetric TSP, whereas the transformation suggested by Bellmore and Hong [17] converts the asymmetric mTSP to an asymmetric TSP.
Colored Petri Nets have been used extensively in the modeling and analysis of systems from various domains.Wu [18] modeled manufacturing systems with CPN and analyze them to find the conditions required to avoid deadlock during its operation.Piera et al. [19] modeled a logistic and manufacturing system through CPN and performed simulation analysis to improve the system's performance.Zaitsev [20] used CPN to model a switched Local Area Network and estimated its buffer size and response time through simulation.Aalst [21] suggested a transformation of scheduling that transition has taken place.A transition, when fired, takes token(s) from its input place(s) and produces token(s) for the output place(s).As seen in Figure 2, transition Tro is enabled and is ready to fire.Once it fires, it consumes the token from place R and produces a token for place O, as shown in Figure 3.This suggests that the traffic light has changed its state from red to orange.The token at place O shows that the traffic light is now in the state orange and it has changed its state after 20 time units.

Literature Review
Several algorithms have been proposed for solving the Multiple Traveling Salesman Problem.These solutions have been proposed from three different approaches, namely (1) exact solutions, (2) using heuristics, and (3) transformation to TSP.
An earlier work on presenting an exact solution to mTSP is that of Laporte and Nobert [5], whose solution is based on the relaxation of a few constraints of the original problem.Kara and Bektas [6] proposed an integer linear programming-based solution addressing sub-tour elimination constraints (SEC), whereas Kulkarni and Bhave [7] proposed different SECs to provide a solution to the Vehicle Routing Problem (VRP)-a special case of mTSP.A branch and bound algorithm is proposed by Ali and Kennington [8] that provides a solution to the asymmetric case of mTSP.
In large-scale problems where it is difficult to find an optimal solution, heuristic-based algorithms are used to provide a sub-optimal solution.The heuristic-based algorithms to solve the Multiple Traveling Salesman Problem include the Evolutionary Algorithm [9], Genetic Algorithm [10], Tabu Search [11], Simulated Annealing [12], and Neural Networks [13].
Another approach to solving the Multiple Traveling Salesman Problem is to transform it into a simple Traveling Salesman Problem, solving the transformed problem with the available algorithms, thus addressing the original problem.The work presented by Hong and Padberg [14], Rao [15], and Jonker and Volgenant [16] proposes the transformation of symmetric mTSP to symmetric TSP, whereas the transformation suggested by Bellmore and Hong [17] converts the asymmetric mTSP to an asymmetric TSP.
Colored Petri Nets have been used extensively in the modeling and analysis of systems from various domains.Wu [18] modeled manufacturing systems with CPN and analyze them to find the conditions required to avoid deadlock during its operation.Piera et al. [19] modeled a logistic and manufacturing system through CPN and performed simulation analysis to improve the system's performance.Zaitsev [20] used CPN to model a switched Local Area Network and estimated its buffer size and response time through simulation.Aalst [21] suggested a transformation of scheduling problems to Timed Petri Nets and used analysis techniques to find conflicting and redundant To verify if a particular property holds true in the complete state space of a model, the reachability graph of a CPN is analyzed.The nodes in the graph correspond to the reachable markings of the CPN model and its edges correspond to the transitions of the CPN model from one marking to another.Table 1 presents the fundamental properties of a CPN model that can be verified through reachability analysis along with a brief description [6].

Boundedness
It ensures that a place does not contain more tokens then its defined capacity.

Terminating
It ensures that the model is terminating Dead Transition It ensures that all the functionality of the system being modeled is used in principle

Liveness
It ensures that a functionality of the modeled system can always be used again.It is mutually exclusive with the Terminating property The reachability analysis report of the traffic light signal CPN (Figure 2) is summarized in Table 2.The report was generated in CPNTools [3] which automatically analyzes the reachability graph of a CPN model.The values of 1 and 0 for the upper and lower bounds signify the maximum and the minimum number of tokens that each place will have.The absence of dead marking reflects that the traffic light system is a continuous and ongoing system.The lack of a dead transition ensures that all the features of a traffic light system are used and since all transitions are live it also ensures that all the functionalities can be used again.

Literature Review
Several algorithms have been proposed for solving the Multiple Traveling Salesman Problem.These solutions have been proposed from three different approaches, namely (1) exact solutions, (2) using heuristics, and (3) transformation to TSP.
An earlier work on presenting an exact solution to mTSP is that of Laporte and Nobert [7] whose solution is based on the relaxation of a few constraints of the original problem.Kara and Bektas [8] proposed an integer linear programming-based solution addressing sub-tour elimination constraints (SEC), whereas Kulkarni and Bhave [9] proposed different SECs to provide a solution to the Vehicle Routing Problem (VRP)-a special case of mTSP.A branch and bound algorithm is proposed by Ali and Kennington [10] that provides a solution to the asymmetric case of mTSP.
In large-scale problems where it is difficult to find an optimal solution, heuristic-based algorithms are used to provide a sub-optimal solution.The heuristic-based algorithms to solve the Multiple Traveling Salesman Problem include the Evolutionary Algorithm [11], Genetic Algorithm [12], Tabu Search [13], Simulated Annealing [14], and Neural Networks [15].A hybrid approach that uses the Genetic Algorithm (GA) and the Gravitational Emulation Local Search (GELS) algorithm is proposed by Hosseinabadi et al. [16] that addresses the complex situations of mTSP.
Another approach to solving the Multiple Traveling Salesman Problem is to transform it into a simple Traveling Salesman Problem, solving the transformed problem with the available algorithms, thus addressing the original problem.The work presented by Hong and Padberg [17], Rao [18], and Jonker and Volgenant [19] proposes the transformation of symmetric mTSP to symmetric TSP whereas the transformation suggested by Bellmore and Hong [20] converts the asymmetric mTSP to an asymmetric TSP.
Colored Petri Nets have been used extensively in the modeling and analysis of systems from various domains.Wu [21] modeled manufacturing systems with CPN and analyze them to find the conditions required to avoid deadlock during its operation.Piera et al. [22] modeled a logistic and manufacturing system through CPN and performed simulation analysis to improve the system's performance.Zaitsev [23] used CPN to model a switched Local Area Network and estimated its buffer size and response time through simulation.Aalst [24] suggested a transformation of scheduling problems to Timed Petri Nets and used analysis techniques to find conflicting and redundant scheduling precedence, and to put a lower and upper bound on the time required to finish tasks.A class of Petri Nets known as the Stochastic Petri Nets (SPNs) has been used to propose efficient scheduling mechanism for grid-based systems [25] and for optimizing the execution time for tasks in such systems [26].

Proposed Mapping
To transform a Multiple Traveling Salesman Problem (mTSP) onto the Colored Petri Net (CPN), the following mechanism is suggested to map the concepts of a city, a depo, a salesman and time from mTSP to the notations of place and transition from CPN.
By defining the Multiple Traveling Salesman Problem (mTSP) as a tuple {m, C, X, W}, where The salesmen are not required to return to the depo after visiting the cities the concepts of city, depo, salesman, and time are mapped onto the places and transitions as follows

Mapping City
A city C can have three possible states: ( 1) not yet visited, (2) being visited, and (3) visited.For these three states, two events are identified: (1) when a salesman arrives at the city C and (2) when the salesman departs from the city.These three states and two events are mapped onto the places and the transitions as shown in Figure 4.The places Pnv, Piv, and Pv corresponds to the states of a city whereas the transitions Ts and Tc correspond to the arrival and the departure of the salesman, respectively.Initially, the place Pnv contains a single token which means that the city has not yet been visited.
To transform a Multiple Traveling Salesman Problem (mTSP) onto the Colored Petri Net (CPN), the following mechanism is suggested to map the concepts of a city, a depo, a salesman and time from mTSP to the notations of place and transition from CPN.
By defining the Multiple Traveling Salesman Problem (mTSP) as a tuple {m, C, X, W}, where • m = number of salesmen, and m>1 • C = list of cities with C1, C2, C3, …, Cn • X = starting point or depo • W = cost matrix with Wij representing the time required to travel from city Ci to city Cj, for i, j = 1, 2, 3, …, n and with the following assumptions • All salesmen start their tour from depot X • The salesmen are not required to return to the depo after visiting the cities the concepts of city, depo, salesman, and time are mapped onto the places and transitions as follows.

Mapping City
A city C can have three possible states: ( 1) not yet visited, (2) being visited, and (3) visited.For these three states, two events are identified: (1) when a salesman arrives at the city C and (2) when the salesman departs from the city.These three states and two events are mapped onto the places and the transitions as shown in Figure 4.The places Pnv, Piv, and Pv corresponds to the states of a city, whereas the transitions Ts and Tc correspond to the arrival and the departure of the salesman, respectively.Initially, the place Pnv contains a single token which means that the city has not yet been visited.

Mapping Depo and Number of Salesman
The place, X, from which a salesman starts its tour-also knowns as the depo-is modeled with a single place d as shown in Figure 5.The place d is connected to the place Pnv through the transition Ts for each city that has a route defined from the depo to that city.The number of salesmen, m, is modeled through the initial marking on the place d.In Figure 5, the number of tokens at place d is 3, which means that the number of salesmen is three.

Mapping Depo and Number of Salesman
The place, X, from which a salesman starts its tour-also knowns as the depo-is modeled with a single place d as shown in Figure 5.The place d is connected to the place Pnv through the transition Ts for each city that has a route defined from the depo to that city.The number of salesman, m, is modeled through the initial marking on the place d.In Figure 5, the number of tokens at place d is 3, which means that the number of salesmen is three.
the following mechanism is suggested to map the concepts of a city, a depo, a salesman and time from mTSP to the notations of place and transition from CPN.
By defining the Multiple Traveling Salesman Problem (mTSP) as a tuple {m, C, X, W}, where • m = number of salesmen, and m>1 • C = list of cities with C1, C2, C3, …, Cn • X = starting point or depo • W = cost matrix with Wij representing the time required to travel from city Ci to city Cj, for i, j = 1, 2, 3, …, n and with the following assumptions • All salesmen start their tour from depot X • The salesmen are not required to return to the depo after visiting the cities the concepts of city, depo, salesman, and time are mapped onto the places and transitions as follows.

Mapping City
A city C can have three possible states: ( 1) not yet visited, (2) being visited, and (3) visited.For these three states, two events are identified: (1) when a salesman arrives at the city C and (2) when the salesman departs from the city.These three states and two events are mapped onto the places and the transitions as shown in Figure 4.The places Pnv, Piv, and Pv corresponds to the states of a city, whereas the transitions Ts and Tc correspond to the arrival and the departure of the salesman, respectively.Initially, the place Pnv contains a single token which means that the city has not yet been visited.

Mapping Depo and Number of Salesman
The place, X, from which a salesman starts its tour-also knowns as the depo-is modeled with a single place d as shown in Figure 5.The place d is connected to the place Pnv through the transition Ts for each city that has a route defined from the depo to that city.The number of salesmen, m, is modeled through the initial marking on the place d.In Figure 5, the number of tokens at place d is 3, which means that the number of salesmen is three.

Mapping Time and Routes between Cities
The route from one city to the other city is mapped by connecting the place Pv of the first city with the place Piv of the second city through a transition T. The time to reach any city from depo X is mapped by the inscription on the arc connecting the transition Ts and the Piv of that city, whereas, the time required to go from one city to the other is mapped by writing an inscription on the arc connecting the transition T with the place Piv of the destination city.
As shown in Figure 6, the place Pv of City A is connected to the place Piv of City B through the transition Tab.This suggests that a route for the salesman is available from City A to City B. The inscription 5 on the arc, connecting the transition Ts with the place Piv of City A, illustrates the time a salesman would take to reach City A from the depo X.Similarly, the inscription of 7 on the arc connecting the transition Tab with the place Piv of City B illustrate the time a salesman would take to reach City B from City A.

Mapping Time and Routes between Cities
The route from one city to the other city is mapped by connecting the place Pv of the first city with the place Piv of the second city through a transition T. The time to reach any city from depo X is mapped by the inscription on the arc connecting the transition Ts and the Piv of that city, whereas the time required to go from one city to the other is mapped by writing an inscription on the arc connecting the transition T with the place Piv of the destination city.
As shown in Figure 6, the place Pv of City A is connected to the place Piv of City B through the transition Tab.This suggests that a route for the salesman is available from City A to City B. The inscription 5 on the arc, connecting the transition Ts with the place Piv of City A, illustrates the time a salesman would take to reach City A from the depo X.Similarly, the inscription of 7 on the arc connecting the transition Tab with the place Piv of City B illustrate the time a salesman would take to reach City B from City A. The complete mapping of various mTSP concepts to CPN constructs is formally presented in Table 1.The algorithm presented in Table 1 can transform any given mTSP into a CPN.

Case Study
To explain the working of the algorithm, presented in Table 1, three different cases are presented in this section.The first two cases address the Multiple Traveling Salesman Problem (mTSP), whereas the third and the last case address the Traveling Salesman Problem (TSP)-a special case of the Multiple Traveling Salesman Problem.The mTSP involves five cities and three salesmen, whereas the TSP involves three cities and a single salesman.The transformed CPN model from each case is A flowchart of the proposed algorithm is shown in Figure 7 while the complete mapping of various mTSP concepts to CPN constructs is formally presented in Table 3.The algorithm presented in Table 3 can transform any given mTSP into a CPN.A flowchart of the proposed algorithm is shown in Figure 7 while the complete mapping of various mTSP concepts to CPN constructs is formally presented in Table 3.The algorithm presented in Table 3 can transform any given mTSP into a CPN.

Steps Description
Step 1 Create place d with an initial marking m.

Step 2 a
For each city create three places: Pnv, Piv and Pv.

Step 2 b
Set initial marking for each Pnv as 1.
Step 2 c For each city C, connect places Pnv and Piv through transition Ts and places Piv and Pv through transition Tc.
Step 3 a For each route defined from depo X to a city C, connect place d and place Piv of the city C through transition Ts.
Step 3 b Place an inscription on the arc connecting the transition Ts and the place Piv equals to the time taken to go from the depo to the city.
Step 4 a For each route defined from City(i) to City(j), connect the place Pv(i) and Piv(j) through transition Tij.
Step 4 b Place an inscription on the arc connecting Transition Tij and the place Piv(j) equal to the time required to go from City(i) to City(j).

Step 4 c
Connect place Pnv(j) and transition Tij with an arc

Case Study
To explain the working of the algorithm, presented in Table 3, three different cases are presented in this section.The first two cases address the Multiple Traveling Salesman Problem (mTSP), whereas the third and the last case address the Traveling Salesman Problem (TSP)-a special case of the Multiple Traveling Salesman Problem.The mTSP involves five cities and three salesmen, whereas the TSP involves three cities and a single salesman.The transformed CPN model from each case is simulated in CPNTools [26], an open-source tool to create, simulate and analyze Colored Petri Nets.Two optimization objectives are evaluated for the case studies: (a) minimizing the sum of traveling time over all salesmen (miniSUM) and (b) minimizing the maximum time of a single salesman over all salesmen (miniMAX) [27].

Case One: mTSP with Symmetric Cost Matrix
In the first case all cities are connected to each other and the time to move from city A to city B is same as the time to move from city B to city A. The cost matrix used in this case is shown in Table 4.In the first step, the depo and the number of salesmen are transformed as shown in Figure 8.
Algorithms 2018, 11, x FOR PEER REVIEW 7 of 14 Step 3 b Place an inscription on the arc connecting the transition Ts and the place Piv equals to the time taken to go from the depo to the city.
Step 4 a For each route defined from City(i) to City(j), connect the place Pv(i) and Piv(j) through transition Tij.
Step 4 b Place an inscription on the arc connecting Transition Tij and the place Piv(j) equal to the time required to go from City(i) to City(j).

Step 4 c
Connect place Pnv(j) and transition Tij with an arc

Case Study
To explain the working of the algorithm, presented in Table 3, three different cases are presented in this section.The first two cases address the Multiple Traveling Salesman Problem (mTSP), whereas the third and the last case address the Traveling Salesman Problem (TSP)-a special case of the Multiple Traveling Salesman Problem.The mTSP involves five cities and three salesmen, whereas the TSP involves three cities and a single salesman.The transformed CPN model from each case is simulated in CPNTools [26], an open-source tool to create, simulate and analyze Colored Petri Nets.Two optimization objectives are evaluated for the case studies: (a) minimizing the sum of traveling time over all salesmen (miniSUM) and (b) minimizing the maximum time of a single salesman over all salesmen (miniMAX) [27].

Case One: mTSP with Symmetric Cost Matrix
In the first case all cities are connected to each other and the time to move from city A to city B is same as the time to move from city B to city A. The cost matrix used in this case is shown in Table 4.In the first step, the depo and the number of salesmen are transformed as shown in Figure 8.In the second step, five cities are transformed as shown in Figure 9.In the second step, five cities are transformed as shown in Figure 9.In the third step, the routes between the depo and the cities along with the time are transformed as shown in Figure 10.Finally, in the last step, the routes between the cities, along with the time, are transformed as shown in Figure 11.In the third step, the routes between the depo and the cities along with the time are transformed as shown in Figure 10.Finally, in the last step, the routes between the cities, along with the time, are transformed as shown in Figure 10.Finally, in the last step, the routes between the cities, along with the time, are transformed as shown in Figure 11.Finally, in the last step, the routes between the cities, along with the time, are transformed as shown in Figure 10.

Case B: Asymmetric Cost Matrix and not all Cities Connected
The second case is similar to the previous case regarding the asymmetric cost matrix, but this case assumes that not all cities are connected to each other.It can be seen from the cost matrix shown in Table 3 that the times for moving directly from city A to city C and for moving directly from city

Case B: mTSP with Asymmetric Cost Matrix
The second case is similar to the previous case regarding the complete connectivity between the cities but this case assumes that the cost of going from the first city to the second is not necessarily same as the cost of going from the second city to the first.It can be seen from the cost matrix shown in Table 5 that the cost of going from city A to city D is 8 units but the cost of going from city D to the city A is 9 units.As was the case in the previous scenario, the first step is to create the depo and the number of salesmen as shown in Figure 12.B to city E are not defined.This reflects that a direct route from city A to city C and from city B to city E is not present.As was the case in the previous scenario, the first step is to create the depo and the number of salesmen as shown in Figure 11.In the second step, the five cities are transformed as shown in Figure 12.In the second step, the five cities are transformed as shown in Figure 13.In the second step, the five cities are transformed as shown in Figure 12.In the third step, the routes between the depo and the cities along with the time are transformed as shown in Figure 13.In the third step, the routes between the depo and the cities along with the time are transformed as shown in Figure 14.In the final step, only the routes that exist between the cities along with the time are transformed, as shown in Figure 14.Since there is no direct route from city A to city C, or from city B to city E, the respective transitions Tac and Tbe are not created.In the final step, only the routes that exist between the cities along with the time are transformed as shown in Figure 15.Since there is no direct route from city A to city C, or from city B to city E, the respective transitions Tac and Tbe are not created.In the final step, only the routes that exist between the cities along with the time are transformed, as shown in Figure 14.Since there is no direct route from city A to city C, or from city B to city E, the respective transitions Tac and Tbe are not created.

Case C: Symmetric Cost Matrix and a Single Salesman
In the third and final case, it is assumed that the cost matrix is symmetric and only one salesman is involved.This is a special case of mTSP in which m = 1 and is also known as a Traveling Salesman

Case C: TSP with Symmetric Cost Matrix
In the third and final case, it is assumed that the cost matrix is symmetric and only one salesman is involved.This is a special case of mTSP in which m = 1 and is also known as a Traveling Salesman Problem.The cost matrix for this case is presented in Table 6 and the transformed model based on the algorithm from Table 1 is shown in Figure 16.Problem.The cost matrix for this case is presented in Table 4 and the transformed model based on the algorithm from Table 1 is shown in Figure 15.

Simulation Results
The transformed CPN models of all three cases are simulated in CPNTools and the results are summarized in Table 5.The table presents the simulation results for the two optimization objectives, namely, the miniSUM and the miniMAX.

Simulation Results
The transformed CPN models of all three cases are simulated in CPNTools and the results are summarized in Table 7.The table presents the simulation results for the two optimization objectives, namely, the miniSUM and the miniMAX.The simulation was run ten times for each of the three cases.The minimum sum of time over the three salesmen (miniSUM) achieved both with symmetric cost matrix in case A and with asymmetric cost matrix in case B is 18 time units.The minimum of the maximum time of a single salesman over the three salesmen (miniMAX) achieved with symmetric cost matrix (case A) is 8 time units and it is 7 time units when the cost matrix is asymmetric (case B).
In case C, where there is only a single salesman, the objective function of the minimum sum of time over all the salesmen (miniSUM) is not applicable.For the objective function of the minimum of a maximum time of a single salesman over the three salesmen (miniMAX), the value achieved is 15 time units.
It must be noted that during a simulation in CPNTools, when there are more than one enabled transitions, each enabled transition is assigned an equal probability of being fired.Hence, the solution, which is generated after each simulation run, is a random solution from all the possible solutions.CPNTools do provide the tools to collect data from simulation which can be used for statistical studies and calculating different performance related measures.

Reachability Analysis
The reachability graphs, which represent the state space of CPN models, are analyzed in this section to verify various properties.For the transformed mTSP model into CPN, the property of interest is the liveness property.Under the liveness property, the absence of dead transitions signifies that all the functionality that is being modeled is used while the presence of dead markings signifies that the model is not stuck in an infinite sequence of steps and terminates after a finite sequence of steps.
CPNTools provide support to automatically generate and analyze the reachability graph of the CPN model.Table 8 presents a part of the state space report generated by CPNTools for all the three transformed models of mTSP.It can be seen that, in all the three cases, there are no dead transitions and there are dead markings under the liveness property.This verfies that all the cities are visited by the salesmen and the tour lengths are finite.

Comparison with Other Approaches
A qualitative comparison of the proposed algorithm with other approaches discussed earlier is summarized in Table 9.The parameters used for evaluation are (a) type of cost matrix, and (b) ability to address the TSP-the special case of mTSP.It can be seen from Table 9, for the evaluation parameter A-the type of cost matrix, the existing approaches do address both the symmetric and the asymmetric nature of the cost matrix.It can be concluded that if a solution could solve an asymmetric mTSP, then it can also be used to solve the symmetric mTSP.
For the evaluation parameter B-the ability to address TSP, both the exact based solutions and the transformations could also solve the TSP as it is a specific case of mTSP.However, the heuristics-based solutions, in general, and GA-based solutions, in particular, would require a different representation of chromosome for solving the TSP.
The proposed algorithm provides a feasible solution to the mTSP with either asymmetric or symmetric cost matrix.The proposed algorithm can also be used to transform and solve the Traveling Salesman Problem, which is a specific instance of mTSP.It must be noted that the real utility of the proposed mapping schemes comes into play as constraints are added to mTSP and finding even a feasible solution becomes a complicated task.

Conclusion and Future Direction
This paper presented an algorithm to transform a given asymmetric Multiple Traveling Salesman Problem onto Colored Petri Nets.The transformed model in CPN guarantees a feasible solution to the original mTSP problem.This paper also discusses the mechanism for mapping different concepts of depo, city, salesman, and time from mTSP onto the constructs of place and transition in CPN.
The mapped CPN models were simulated in CPNTools which is an open-source tool for creating, analyzing and simulating CPN models.The simulation results obtained were used to measure the minimum sum of traveling time over all the salesmen and the minimum time taken by a single salesman over all the salesmen.The proposed mapping has a limitation that as the number of cities increase, the corresponding transformation and modeling in CPN will get laborious and time consuming.To verify that the transformed model is correct and terminating, the reachability analysis of the model was performed in CPNTools which verified that the desired properties hold true.
In the future, the presented work will be extended to address other types of cost matrix incorporating distance, effort, and fuel.Efforts will also be made to solve variations of the mTSP with additional constraints.In addition, the simulation results will be used to measure other optimization

Figure 1 .
Figure 1.CPN Model of a Traffic Light System.

Figure 1 .
Figure 1.CPN Model of a Traffic Light System.

Figure 2 .
Figure 2. CPN Model of a Traffic Light System with Temporal Behavior.

Figure 3 .
Figure 3. CPN Model of Traffic Light after Firing of Transition Tro.

Figure 2 .
Figure 2. CPN Model of a Traffic Light System with Temporal Behavior.

Figure 2 .
Figure 2. CPN Model of a Traffic Light System with Temporal Behavior.

Figure 3 .
Figure 3. CPN Model of Traffic Light after Firing of Transition Tro.

Figure 3 .
Figure 3. CPN Model of Traffic Light after Firing of Transition Tro.

•
m = number of salesmen, and m > 1 • C = list of cities with C1, C2, C3, . . ., Cn • X = starting point or depo • W = cost matrix with Wij representing the time required to travel from city Ci to city Cj, for i,j = 1,2,3, . . ., n and with the following assumptions • All salesmen start their tour from depot X •

Figure 4 .
Figure 4. CPN Model of a City.

Figure 5 .
Figure 5. CPN model of a depo, two cities and three salesmen.

Figure 4 .
Figure 4. CPN Model of a City.

Figure 4 .
Figure 4. CPN Model of a City.

Figure 5 .
Figure 5. CPN model of a depo, two cities and three salesmen.

Figure 5 .
Figure 5. CPN model of a depo, two cities and three salesmen.

Figure 6 .
Figure 6.CPN model of a Multiple Traveling Salesman Problem.

Table 1 .
Algorithm to map mTSP onto CPN.Steps Description Step 1 Create place d with an initial marking m.Step 2 a For each city create three places: Pnv, Piv and Pv.Step 2 b Set initial marking for each Pnv as 1.Step 2 c For each city C, connect places Pnv and Piv through transition Ts and places Piv and Pv through transition Tc.Step 3 a For each route defined from depo X to a city C, connect place d and place Piv of the city C through transition Ts.Step 3 b Place an inscription on the arc connecting the transition Ts and the place Piv equals to the time taken to go from the depo to the city.Step 4 a For each route defined from City(i) to City(j), connect the place Pv(i) and Piv(j) through transition Tij.Step 4 b Place an inscription on the arc connecting Transition Tij and the place Piv(j) equal to the time required to go from City(i) to City(j).Step 4 c Connect place Pnv(j) and transition Tij with an arc

Figure 6 .
Figure 6.CPN model of a Multiple Traveling Salesman Problem.

Figure 7 .
Figure 7. Flowchart of the Proposed Algorithm.

Table 3 .
Algorithm to map mTSP onto CPN.Steps Description Step 1 Create place d with an initial marking m.Step 2 a For each city create three places: Pnv, Piv and Pv.Step 2 b Set initial marking for each Pnv as 1.For each city C, connect places Pnv and Piv through transition Ts and places Piv and

Figure 7 .
Figure 7. Flowchart of the Proposed Algorithm.

Figure 9 .
Figure 9. Depo with three salesmen and five cities.

Figure 9 .
Figure 9. Depo with three salesmen and five cities.

Figure 10 .
Figure 10.mTSP involving five connected cities, a depo and three salesmen with asymmetric cost matrix.

Figure 11 .
Figure 11.mTSP involving five connected cities, a depo and three salesmen with symmetric cost matrix.

Figure 12 .
Figure 12.Depo with three salesmen and five cities.

Figure 13 .
Figure 13.Depo with three salesmen and five cities.

Figure 14 .
Figure 14.mTSP involving five partially connected cities, a depo and three salesmen with asymmetric cost matrix.

Figure 15 .
Figure 15.mTSP involving five connected cities, a depo and three salesmen with asymmetric cost matrix.

Figure 16 .
Figure 16.TSP involving three cities with symmetric cost matrix.

Table 2 .
Reachability Analysis Report for the Traffic Light Signal.

Table 3 .
Algorithm to map mTSP onto CPN.

Table 4 .
Symmetric Cost Matrix for mTSP with five cities.

Table 4 .
Symmetric Cost Matrix for mTSP with five cities.

Table 5 .
Asymmetric cost matrix for mTSP with five cities.

Table 3 .
Asymmetric cost Matrix and partially connected cities.

Table 6 .
Symmetric cost matrix for three cities.

Table 8 .
Part of State Space Report.

Table 9 .
Qualitative Comparison of the Proposed Algorithm with Other Approaches.