Performance Optimization for a Class of Petri Nets

Petri nets (PNs) are widely used to model flexible manufacturing systems (FMSs). This paper deals with the performance optimization of FMSs modeled by Petri nets that aim to maximize the system’s performance under a given budget by optimizing both quantities and types of resources, such as sensors and devices. Such an optimization problem is challenging since it is nonlinear; hence, a globally optimal solution is hard to achieve. Here, we developed a genetic algorithm combined with mixed-integer linear programming (MILP) to solve the problem. In this approach, a set of candidate resource allocation strategies, i.e., the choices of the number of resources, are first generated by using MILP. Then, the choices of the type and the cycle time of the resources are evaluated by MILP; the promising ones are used to spawn the next generation of candidate strategies. The effectiveness and efficiency of the developed methodology are illustrated by simulation studies.


Introduction
Performance optimization in flexible manufacturing systems has received great attention in recent decades [1]. Such automated systems with synchronization, concurrency, and time delay can usually be modeled by timed marked graphs (TMGs), an important subclass of PNs that are proven to be useful in modeling manufacturing systems, queue systems, and railway transportation systems [2][3][4][5][6][7][8][9][10]. The performance of a system modeled with TMGs is usually characterized by the cycle time that represents the normalized time for one cycle of production. This issue was first studied in ordinary TMG (i.e., TMGs in which the weights on the arcs are unitary). In the literature, ordinary TMGs are simply called "TMGs" by omitting the term "ordinary". The cycle time can be obtained by exploring the periodic dynamic evolution of a TMG [11]. On the other hand, the exact cycle time of a TMG can also be computed analytically by using the linear programming technique [12]. Algebraic approaches based on (max,+) or (min,+) algebra have also been applied for computing the cycle time of TMGs [13]. Based on these results, various methods have been developed for the performance optimization problems in TMGs, i.e., to minimize the total cost of the system's resources (machines, devices, tasks, etc.) without compromising the desired level of throughput. The optimization targets include the initial resource allocation [14][15][16][17][18][19][20] and the server-type selection under a given budget [21][22][23].
Timed weighted marked graphs (TWMGs) are more general than ordinary TMGs and are useful in modeling systems with batch processes (i.e., instead of processing tasks one by one, they wait until a batch of tasks are available and process them simultaneously) [24,25]. Nevertheless, obtaining the exact cycle time of a TWMG is much more complicated than that of a TMG. In [26], the authors prove that for a given TWMG, the optimization of the server type is NP-hard. A widely used method for computing the cycle time of a TWMG is to first transform it into an equivalent TMG [27,28] followed by the linear programming technique in [12]. However, such a transformation is computationally heavy, initially marking-dependent, and usually yields a TMG much larger than the original TWMG. To overcome such a problem, in [29], a method is proposed to transform a TWMG (with an undetermined initial marking) into an equivalent parametric TMG so that the scale of the corresponding linear programming remains solvable. Some approximation methods [30] are also developed to estimate the upper bound of the cycle time of a TWMG. A linearization method for TWMGs to obtain linear representation in (min,+) was developed [31]. Based on the obtained linear model, the performance of the TWMGs can be analyzed.
The performance optimization problem in TWMGs is also more complex than that of TMGs. Relatively few works have been conducted on the performance optimization of TWMGs in the literature. Since the equivalent TMG classes of a TWMG is finite, by solving a mixed-integer linear programming problem (MILPP) for each equivalent TMG class, a globally optimal initial marking can be obtained [32,33]. Nevertheless, the computational load of this precise algorithm is unsatisfactory, since the number of equivalent TMG classes is exponential in the number of places in the corresponding TWMG. Therefore, people turn to hybrid algorithms, such as heuristics combined with simulation and MILPPs, which are fast and provide near-optimal solutions [34][35][36]. In [34], a TWMG is initialized with a sufficiently large initial marking so that the performance requirement is satisfied. Then, a greedy algorithm is applied to decrease the total cost in which tokens are iteratively removed until the cycle time reaches a lower bound threshold. A heuristic method combined with integer linear programming was proposed in [35]. However, both heuristics in [34,35] rely on the detection of the so-called critical places and, hence, a time-consuming simulation of the TWMG has to be performed in each iteration. This method is further improved in [36] in which the critical places are determined by linear programming, which greatly improves the efficiency of the heuristic algorithm. Computational efficient solutions for the performance optimization of TWMGs are still missing.
In practice, the execution time of a process may vary when different types of resources (machine, robot, transporting vehicle, etc.) are deployed. Therefore, the optimization of the types and quantities of resources, (so that the performances are maximized) has also received considerable attention in different areas, such as manufacturing systems [37][38][39] and enterprise systems [40]. However, as far as we know, no work has been done on such a problem in TWMGs. Solving this problem is challenging since it is a nonlinear quadratic optimization (which we will see in Section 3) and, thus, a globally optimal solution is hard to achieve. The search space for selecting the types and quantities of resources is quite huge even though the system size is small.
In this paper, we explore the performance optimization problem in TWMGs where both quantities and types of resources are simultaneously optimized. The exact value of the cycle time of TWMGs is efficiently evaluated by using linear algebraic methods. Precisely speaking, our aim is to minimize the cycle time of a given TWMG subject to a given budget limit, while both quantities and types of resources are variables.
The main contribution of this work is summarized as follows. We developed a hybrid method that is a genetic heuristic combined with MILP. Initially, a set of candidate resource allocation strategies, i.e., the choices of the number of resources, are first generated by solving a MILPP. Then, among all of the possible types of resources whose numbers grow exponentially with respect to the system size, we originally developed a MILPP to determine the optimal one. This was done by transforming the determined TWMG of the candidate strategy into an equivalent TMG with parametric firing delays. In the latter, a MILPP was applied to compute its cycle time and the gross cost (scored as fitness). The promising strategies, i.e., those with high fitness, were used to spawn the next generation of candidate strategies. The procedure above was repeated for a pre-set number of generations, and eventually, a near-optimal resource allocation strategy was obtained. Simulation results show that the developed approach can provide a good trade-off between the near-optimality of the solution and the computational load. This paper is structured as follows. The basic concepts used in this paper are discussed in Section 2. Section 3 formulates the performance optimization problem studied in this paper. In Section 4, a genetic algorithm-based approach is presented. Simulation studies are investigated in Section 5. Conclusions and future work are presented in Section 6.

Generalities
A PN is a 4-tuple N = (P, T, Pre, Post), where P is a set of n places; T is a set of m transitions; Pre : P × T → N and Post : P × T → N are the pre-and postincidence functions that specify the arcs, respectively, and are also denoted by matrices in N n×m , where N = {0, 1, 2, . . .}; C = Post − Pre ∈ Z n×m is the incidence matrix, where Z = {0, ±1, ±2, . . .}. A PN is said to be ordinary when all of its arc weights are unitary, i.e., Pre, Post ∈ {0, 1} n×m .
The set of output (resp., input ) places of transition t i ∈ T is defined as t The notions for • p and p • are analogously defined.
A marking is a mapping M : P → N that assigns to each place of a PN a non-negative integer number of tokens, which is also described as an n-component vector M ∈ N n . The number of tokens of place p at marking M is denoted by M(p). A Petri net system N, M 0 is a net N with an initial marking M 0 .
A weighted marked graph (WMG) is a PN in which each place has exactly one input and one output transition. A marked graph (MG) is a WMG whose weights on arcs are unitary. A WMG is neutral if for each elementary circuit γ it holds that ∏ p j ∈γ Post(p j , • p j ) = 1. In the rest of this paper, we limit our study to neutral and strongly connected WMGs.

Timed Petri Nets
In the literature, two types of timed Petri nets (TPNs) [41] are mainly studied, namely transition-timed PNs (TTPNs) and place-timed PNs (PTPNs) [42]. A transition-timed Petri net is a pair is an m-component vector, called the firing delay vector of N d , which assigns a non-negative rational value to each transition to represent its firing delay, where Q denotes the set of rational numbers. For a PTPN, a non-negative rational duration δ(p) is assigned to each place p to represent the residual time that a token must spend in p before it becomes available for its output transitions.
Given a TTPN N d = (N, δ), the enabling degree of a transition t logically enabled at a marking M, denoted as en(M, t), is the largest integer r, such that r · Pre(·, t) ≤ M. The TTPNs considered in this paper follow the so-called infinite server semantics [42]. In plain words, each transition represents an operation that can be executed as many times as the number of available servers, i.e., each enabled transition can fire as many times as its enabling degree.
A TTPN (N, δ) is called a TWMG if net N is a weighted marked graph. A TWMG system is a triple G = N, δ, M 0 , where (N, δ) is a TWMG and M 0 is an initial marking.

Cycle Time of TWMGs
The cycle time of a TWMG system G = N, δ, M 0 , denoted by χ(G), is the average period to fire one time the minimal T-semiflow x = [x 1 , . . . , x m ] [28,34]. The steady evolution of a strongly connected TWMG system is repetitive. Let f i denote the firing frequency of transition t i during the repetitive period. Then, the cycle time of a TWMG system G = N, δ, M 0 can be defined as: We denote by χ γ (G) the cycle time of elementary circuit γ and by the critical time. For a TMG system, the cycle time is equal to the critical time, i.e., However, for a TWMG system, reference [35] shows that the cycle time is greater than or equal to the critical time, i.e., The cycle time of a TWMG can be determined by the simulation. The work of [12,30] provides a lower bound and an upper bound of the cycle times that are easy to compute. However, in general, such approximations may be far from the actual cycle time and, hence, cannot be used as guidelines for performance optimization. On the other hand, a TWMG system G = N, δ, M can be transformed into an equivalent place-timed marked graphs (PTMGs) systemĜ = N ,δ,M as shown in Algorithm 1, which describes the same behavior, transition firing language, and cycle time [28]. Then, the cycle time χ(G) of the original TWMG system can be obtained by solving the following linear programming problem (LPP) for the equivalent PTMG systemĜ [12,33]: is the visit ratio vector, and D p ∈ Nn ×n is a diagonal matrix such that Note that t in(p j ) , t out(p j ) , · , and · in Algorithm 1 represent the unique input transition of place p j , the unique output transition of place p j , the floor operator, and the ceiling operator, respectively. [12].

Algorithm 1 Transformation of a TWMG into a PTMG
Input: A TWMG system G = N, δ, M and the minimal T-semiflow x = (x 1 , . . . , x m ) T of net N; Output: An equivalent PTMG systemĜ = N ,δ,M such that χ(Ĝ) = χ(G); for each transition t i ∈ T do delete t i and its corresponding arcs; add end for for each place p j ∈ P begin do delete p j and its corresponding arcs; let a := 0, s : s := s + 1 end if until a ≥ x in(p j ) end for

Problem Statement
In a TWMG that models a practical system, each transition t i models an operation performed by machines, robots, etc., which we call the servers. A server is modeled by a server place p s i self-looped with t i . We consider the performance optimization problem in TWMGs where both quantities and types of servers are variables to be simultaneously optimized. Precisely speaking: • For each transition, t i with k i ∈ N >0 choices of server types, we use a k i -component binary vector Moreover, to ensure that the operation is consistent, we require that-among all of the k i types of servers of transition t i -only one type can be selected, i.e., For each transition t i , different servers have different performances (i.e., the firing delay) and costs. We use δ(t i , j) and λ(t i , j) (j ∈ {1, . . . , k i }) to denote the firing delay and the unit cost of server type j, respectively. We denote the firing delay vector of transition t i and the unit cost vector of transition t i by δ( For each transition t i , we use M(p s i ) to denote the server quantity of it, i.e., the number of servers to equip. Then, to represent the server quantity of all servers in the gross TWMG system. Therefore, the firing delay δ(t i ) and the unit cost λ(t i ) of transition t i are determined by the following equation: Moreover, the choices of server types and quantities must be subject to a given budget limit R ∈ R. Then, we can formulate the performance optimization problem as the following.
Problem 1 (Performance optimization problem). Given a TWMG model N, a budget R ∈ R, a unit cost vector λ(t i ), and a firing delay vector δ(t i ), determine a server-type selection , the performance is maximized).
In plain words, solving Problem 1 is equivalent to solving the following optimization problem min χ(G) T is the firing delay vector of the TWMG. However, we note that solving this problem is challenging since it is a quadratic optimization: in general, a globally optimal solution is hard to achieve. Therefore, in the next section, we develop a hybrid method composed of genetic heuristics and MILP. The following example will be used as a running example in the sequel of this paper. Example 1. Consider the TWMG model N depicted in Figure 1 that represents a cyclic manufacturing system. It is composed of two different operations performed by machines MA 1 and MA 2 , respectively. Transitions t 1 and t 2 represent the operation performed by machines MA 1 and MA 2 , respectively. Place p 1 is an idle place that represents the raw material to proceed, place p 2 is an activity place that represents the manufacturing process, and places p s 1 and p s 2 are the server places corresponding to t 1 and t 2 , respectively. Tokens in places p s 1 and p s 2 represent the numbers of machines MA 1 and MA 2 , respectively. Initially, there are one hundred raw materials to be proceeded, i.e., M(p 1 ) = 100, and no semi-products are being produced, i.e., M(p 2 ) = 0. Assume that we have k 1 = 3, k 2 = 2, i.e., transition t 1 has three choices of server types and transition t 2 has two choices. The firing delay and the unit cost of each type choice are listed in Table 1.
The performance optimization problem (11) is to determine the quantities of servers of transitions M = [M(p s 1 ), M(p s 2 )] T and the server-type selections subject to a given budget R so that the cycle time of the system is minimized.

Genetic MILP Approach for Performance Optimization in TWMGs
Due to the existence of weights on arcs of the TWMGs and the nonlinear constraint (11a), it is quite difficult to find an analytical approach to solve problem (11). Hence, in this section, we develop a hybrid method composed of genetic heuristics and mixed-integer linear programming, which makes the problem solvable.
As mentioned before, a possible server allocation strategy consists of two parts (M, Z) where M characterizes the choice of the quantity while Z = (Z 1 , . . . , Z m ) characterizes the choice of the server type. In our method, the two parts are optimized in an alternative manner. For small systems, it could be possible to enumerate the server type Z first and determine the quantity M subsequently. However, it is not possible for practical systems even with medium sizes. In addition, it was shown in [33] that for a TWMG whose server type Z is given, the optimal quantity M can be obtained by transforming it into a finite number of equivalent PTMG classes and solving a MILPP for each equivalent class. The computational cost of this approach is high since the number of equivalent PTMG classes increases exponentially w.r.t. the number of places of the original TWMG. In practice, it is inefficient to solve the performance optimization in TWMGs by exploring all the equivalent PTMGs.
In this paper, the quantity-component M, i.e., the initial token distribution for server places in the TWMG, is first treated as a chromosome in the genetic heuristics. Then, among all the possible server types Z whose number grows exponentially with respect to the system size, we originally develop a MILPP to determine the optimal one. Therefore, the computational cost can be reduced significantly compared with the existing methods in [33]. Moreover, the result from the MILPP is also used to score the chromosome, i.e., the fitness of the quantity-component M, which provides a guideline for generating the next generation of candidate chromosomes. This alternated optimization is done when a pre-given number (Ge) that represents the maximum number of generation is reached. The main steps of the approach are sketched in the flow chart in Figure 2.
In the following subsections, we will discuss the main elements of the developed approach:

Coding and Decoding
A server allocation strategy (i.e., server quantity) M can be coded as a chromosome Chm that is an m-dimensional nonnegative integer vector such that Chm = [e 1 , e 2 , . . . , e m ] T = M, (12) where e i represents the quantities of servers of transition t i , i.e., the number of tokens in the server place p s i . For instance, the chromosome of the TWMG model N depicted in Figure 1 can be expressed as Chm = [e 1 , e 2 ] T , where e 1 = M(p s 1 ) and e 2 = M(p 2 1 ). Therefore, we can decode Chm into a marking M Chm = [4, 0, e 1 , e 2 ] T of the TWMG model.

Population Generation and Feasibility Screening
In each iteration in the genetic algorithm, a set of candidate chromosomes are generated from promising ones in the previous generation. However, not all of the newly generated chromosomes-in our case the initial server distribution-are feasible. For example, some initial server distribution may result in the system eventually dying. Hence, a pre-screening step is performed to remove such unfeasible chromosomes from the pool of candidates.
First, a marking M Chm that is decoded by a chromosome Chm should guarantee the liveness of a TWMG. A TWMG is live if and only if each elementary circuit is live [24]. Hence, a feasible chromosome necessarily satisfies the following condition: where y is the minimal T-semiflow corresponding to γ and M T is a marking restricted to γ. On the other hand, a chromosome Chm is feasible only if there exists at least one server-type selection Z i = [Z i (1), . . . , Z i (k i )] for every transition t i ∈ T, such that the total cost of servers does not beyond the budget R. This indicates that the following constraint is necessarily feasible: Combining the results in (13) and (14), both the liveness and feasibility of a chromosome Chm can be guaranteed by the following constraints: where M Chm is a marking decoded from chromosome Chm.

Objective Function and Fitness Score: A MILPP Approach
Given a chromosome Chm and its decoded marking M Chm of a TWMG model N, we aim to determine the optimal server-type selection Z = (Z 1 , . . . , Z m ), such that the cycle time χ(G) of the TWMG system G = N, δ, M Chm is minimized while the cost of the servers corresponding to (M, Z) do not exceed the budget R.
As we discussed in Section 2.3, a TWMG system G = N, δ, M Chm with a known initial marking M Chm can be transformed into an equivalent PTMG systemĜ = N ,δ,M Chm with the same cycle time. Hence, the cycle time χ(G) of G can be obtained by solv-ing LPP (2) for its equivalent PTMG systemĜ. Note that here the firing delay vector δ = [δ(t 1 ), . . . , δ(t m )] T of G is dependent on the server-type selection Z which is undetermined yet. Hence, the firing delays in the corresponding equivalent PTMG systemĜ δ = [δ(p 1 ), . . . ,δ(pn)] is also to be determined. Now we show such an optimal server-type selection can be obtained by solving a MILPP for the equivalent PTMG. Proposition 1. Given a performance optimization problem (11) for a TWMG system G whose equivalent PTMG system isĜ, let (χ (Ĝ), α, λ, δ,δ, D p , Z i ) be the optimal solution of the following MILPP: Then, Z i (i = 1, . . . , m) is an optimal server-type selection of problem (11) with respect to a given server quantity M = Chm.
Proof. Constraint (16b) ensures that the choice of server types subject to server quantity M = Chm does not exceed the budget R. Constraints (16c), (16d), and (16e) jointly enforce Equation (10). Combining the results in Equations (2) and (6), constraint (16f) ensures the correctness of the firing delay equivalence between the original TWMG and the PTMG. According to the results in [12,33], constraint (16a) can provide an optimal solution for performance optimization ifĈ and M Chm are given. Therefore, Z i (i = 1, . . . , m) is an optimal server-type selection of problem (11) restricted to a given server quantity M = Chm.
Given a chromosome Chm, the cycle time χ(Ĝ) in the optimal solution of MILPP (16) is denoted as F(M Chm ) = χ * . Let N i denote the pool of chromosomes in the i-th iteration, i.e., the i-th generation, we define the minimum and maximum objective functions (i.e., cycle time) of the population in the current generation, respectively. Then, the fitness of a chromosome Chm is defined as  Let R = 100 be the budget limit. According to Proposition 1, a MILPP can be established as shown in Equation (18). By solving MILPP (18), we obtain Z = (Z 1 , Z 2 ) where Z 1 = [0, 1, 0] T and Z 2 = [0, 1] T . Thus, to optimize the performance of the PTMG (which is equal to that of the original TWMG), transition t 1 should be equipped with the second type of server while transition t 2 should be equipped with the second type. The optimal cycle time χ(G) = χ(Ĝ) = 7.2 of the TWMG system G = N, , δ, M Chm . Finally, the objective function of chromosome Chm = [4,5] T is F(Chm) = 7.2, and its fitness can be computed according to Equation (17).

The Overall Genetic Algorithm
Now we are ready to introduce the overall genetic algorithm in our approach.

Selection
The purpose of the selection operation is to save chromosomes with higher fitness values in the parent population and to eliminate chromosomes with low fitness values. The selection rule we used here combines the classical roulette wheel selection [43] (also called the proportional selection, which ensures the diversity of genes inherited by the next generation) and the optimal retention [43] (that can effectively retain the optimal individual of each generation). In a roulette selection, the probability of each chromosome Chm to be selected is proportional to its fitness value f itness(Chm). In generation i with population N i , the probability of selecting a chromosome Chm is given by: Note that it may eliminate chromosomes with large fitness values during the roulette wheel selection operation. Therefore, we retain the chromosome with the highest fitness value through the optimal retention method before the roulette wheel selection operation.

Crossover
In the genetic algorithm, new chromosomes are generated through the crossover operation by exchanging gene segments from two parent chromosomes to find better offspring. In the literature, several crossover operations have been proposed, such as single-point crossover, multi-point crossover, and uniform crossover [43]. In this paper, we used a single-point crossover operation for the genetic algorithm.

Mutation
The mutation operation is to randomly-usually with a pre-set probability-perturb one or several genes of a chromosome. The mutation operation is of great significance in the genetic algorithm to maintain population diversity, prevent falling into the local optimal solution, and enrich the gene pool. The mutation operation uses site mutation, i.e., one or more genes of a chromosome are randomly selected and changed with a mutation probability. In this paper, we use the single-point mutation operation, i.e., at most one gene in each chromosome is mutated for each operation.
Note that during the crossover operation and mutation operation, a newly generated chromosome Chm may not always satisfy the constraints in Equation (15), i.e., the TWMG may not be live at the decoded marking M Chm , or the total cost of servers corresponding to M Chm exceeds the budget. In such a case, the chromosome that leads to an infeasible solution is immediately discarded, and a fully randomized chromosome, which satisfies the constraint (15) is added to the pool.
The entire hybrid method that combines genetic heuristics with MILP is presented as Algorithm 2, whose inputs are: a TWMG model N, the budget R, the unit cost vector λ(t i ), the firing delay vector δ(t i ), the population size N p (i.e., N ), the maximum number of generations Ge, the crossover probability P c , and the mutation probability P m . Calculate f itness(Chm k j ) according to Equation (17); end for Let j * = arg max

Illustrative Examples
In this section, the developed approach in Section 4 is illustrated by investigating the TWMG model discussed in Example 1 and a real flexible manufacturing system. The algorithms are implemented by MATLAB 2017 with YALMIP R20181012 subroutines on a computer installed Windows 10 operating system with CPU Intel Core i5 at 3.0 GHz and RAM 8 GB.

First Example
Example 3. Let us continue Example 1 and assume that the upper bound on the cost of servers is R = 100. Parameters in the developed approach are set as the population size N p = 10, the crossover probability P c = 0.7, and the mutation probability P m = 0.1.
In Table 2, we show the best solution (i.e., the minimal cycle time), the worst solution (i.e., the maximal cycle time), the average solution, and the average CPU time for the developed approach (i.e., genetic MILP) by testing a different maximum number of generations Ge. For each generation, we executed the developed approach ten times. An optimal/suboptimal solution is found as follows: which means that the optimal quantity of server of t 1 and t 2 are 2 and 14, respectively, while the third type of server of t 1 and the first type of server of t 2 are selected. By enumerating all possible server-type selections and server quantities, we found that the solutions obtained by the proposed approach are optimal. In addition, we also implemented the developed approach without MILP (i.e., genetic in Table 2), which means that both quantities and types of servers are generated by the genetic algorithm. It can be observed that the qualities of the solutions are improved by using the MILP we developed.

Approaches Genetic MILP Genetic
Maximal number of generation Ge

Application to a Real Flexible Manufacturing System
In this subsection, we apply the developed approach to a hydraulic torque converter production line that is taken from [36]. The hydraulic torque converter is assembled with four different products as shown in Table 3. The production process of these products include 25 operations operated on 17 different machines (denoted by MA 1 , . . . , MA 17 ). We mention that the turbine is also assembled by two different products. Note that some machines are shared by one or more production lines, such as MA 1 , MA 3 , MA 4 , and MA 6 . The TWMG model is shown in Figure 4, which has 25 transitions and 54 places. It is composed of three different types of elementary circuits, i.e., process circuits that represent the manufacturing process, server circuits that represent the usage of machines, and mixed circuits that consist of both process circuits and server circuits. Tokens in places p 1 , p 8 , p 13 , p 20 , and p 24 represent the raw materials for each production line that are assumed to be 1000, i.e., M(p j ) = 1000 (j = 1,8,13,20,24).
In Table 4, we present the unit costs of servers and the firing delays of the corresponding transitions. The budget is set to R = 300. Simulation results for different cases are presented in Table 5. Parameters in the developed approach are the same as in Example 3.
For all of the cases, we execute each approach ten times. Since the best solution for the maximum number of generations Ge = 5 is identical to the solution obtained for generation Ge = 10, there is no need to test more generations for the genetic MILP approach. An optimal/suboptimal solution is found by the developed approach with the cycle time χ(G) = 68, and the server-type selection and server quantity are as follows: 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1 Table 5. Simulation results of the developed approach for the flexible manufacturing system.

Approaches Genetic MILP Genetic
Maximal number of generation Ge

Conclusions
In this paper, we study the performance optimization for a class of PNs to maximize the throughput of the system subject to a given budget, while both quantities and typesof servers are decision variables. A genetic algorithm combined with mixed-integer linear programming was originally developed to obtain a near-optimal solution. The developed approach is based on linear programming techniques and provides an efficient solution for solving the performance optimization problem where both quantities and types of resources are simultaneously optimized. Our future work will focus on exploring an analytical solution for the considered optimization problem. On the other hand, we will consider improving the efficiency of the developed approach by using some advanced hybrid methods [44].

Acknowledgments:
The authors express their gratitude to every reviewer of this paper.

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations
The following abbreviations are used in this manuscript: