Multi-Objective Cloud Manufacturing Service Selection and Scheduling with Di ﬀ erent Objective Priorities

: In recent years, with the support of new information technology and national policies, cloud manufacturing (CMfg) has developed rapidly in China. About CMfg, scholars have conducted extensive and in-depth research, among which multi-objective service selection and scheduling (SSS) attracts increasing attention. Generally, the objectives of the SSS problem involve several aspects, such as time, cost, environment and quality. In order to select an optimal solution, the preference of a decision maker (DM) becomes key information. As one kind of typical preference information, objective priorities are less considered in current studies. So, in this paper, a multi-objective model is ﬁrst constructed for the SSS with di ﬀ erent objective priorities. Then, a two-phase method based on the order of priority satisfaction (TP-OPS) is designed to solve this problem. Finally, computational experiments are conducted for problems with di ﬀ erent services and tasks / subtasks, as well as di ﬀ erent preference information. The results show that the proposed TP-OPS method can achieve a balance between the maximum comprehensive satisfaction and satisfaction di ﬀ erences, which is conducive to the sustainable development of CMfg. In addition, the proposed method allows the preference information to be gradually clariﬁed, which has the advantage of providing convenience to DM.


Introduction
In recent years, information technologies have been widely used in manufacturing companies, and their impacts on the manufacturing industry become more apparent than ever before [1][2][3]. In order to promote manufacturing informationization, major manufacturing countries in the world have issued relevant policies, which provide an unprecedented opportunity for the sustainable development of the manufacturing industry. As a new manufacturing model supported by information technology, cloud manufacturing (CMfg) is rapidly developing in China [4,5]. Through CMfg platforms, manufacturing resources distributed throughout this country are integrated and packaged into various services. At the same time, a variety of manufacturing requirements are published onto the platforms by clients. These requirements are usually personalized products that need multiple services to work together [6]. Therefore, how to select and schedule these services to meet the requirements of different clients becomes an important issue.
At present, scholars have built various characteristic models for CMfg service selection and scheduling (SSS) problems [7] (or service composition [8], task scheduling [9,10] and service sharing [11,12]). Tao et.al. have done a detailed overview on the CMfg service management [13]. One multiple subtasks, for example, task could be decomposed into subtasks, so it's subtask set is expressed as , , ⋯ , , , ⋯ , , . In the SSS process, each subtask is assigned to one available service by , , and , , , both of which can only be 0 or 1. Firstly, the value of , , is determined in service discovery and matching process, then treated as a known parameter in SSS process. If service , has the ability to perform subtask , , then , , 1; otherwise , , 0.
Secondly, we need to select the value of , , in SSS process. If subtask , is indeed assigned to service , , then , , 1; otherwise , , 0. For instance in Figure 1, , , is used to determine whether service , is capable of executing subtask , , and , , is used to determine whether subtask , is allocated to service , . Based on these two factors, we classify the SSS problem into different types, as shown in Table 1. For each kind of preference information, we intend to consider a different operation mode. In previous work, we considered linguistic terms and system-centered mode. While in this paper, different objective priorities and client-centered mode are taken into account. When DM believes that the objective has priority, it is not appropriate to find the Pareto solution set, because it will cost a lot. So, scholars try different methods to get an optimal solution with objective priorities. For example: Khorram and Nozari [34] considered a problem with 3 objectives, each objective function has different priority. We use to reperesent the th objective function,    Different values of x i,h j,k represent different SSS schemes. As two important factors affecting the results of SSS, DM's preferences and platform's operational mode are considered in our studies. Based on these two factors, we classify the SSS problem into different types, as shown in Table 1. For each kind of preference information, we intend to consider a different operation mode. In previous work, we considered linguistic terms and system-centered mode. While in this paper, different objective priorities and client-centered mode are taken into account.
When DM believes that the objective has priority, it is not appropriate to find the Pareto solution set, because it will cost a lot. So, scholars try different methods to get an optimal solution with objective priorities. For example: Khorram and Nozari [34] considered a problem with 3 objectives, each objective function has different priority. We use f g to reperesent the gth objective function, then f 1 has the first priority and f 2 has the second priority. The priority relationship in their exaple could be expressed as: Priority level 1: f 1 ; Priority level 2: f 2 ; Priority level 3: f 3 .
In the SSS problem, there are also some situations where some objectives are more important than others. For example, for industries with serious environmental impacts, environmental objectives are more important than cost and time objectives; for urgent tasks, time objectives are more important than cost objectives. Priority is a common type of DM's preference. According to the objective priorities, an optimal service selection and scheduling scheme can be obtained. For the convenience of modeling, the number of priority level is expressed by the parameter L. Here, we consider a three-level priority, i.e., L = 3. Then, the key becomes how to choose the most preferred solution, which optimizes multiple objectives in collaboration, while reflecting the relative importance based on priority.

The Multi-Objective Service Selection and Scheduling Model and Solution Methods
Based on the problem description described in the previous section, the proposed multi-objective SSS model and optimization method are presented in the following subsections.

Model Formulation
Before modeling, some important notations are shown in Table 2. Logistics cost for unit weight and unit distance.
In SSS problems, some basic constraints need to be subjected to. First of all, this paper considers the case where a subtask can only be assigned to one service. Then, the constraint can be expressed as: Second, task ST j,k can be assigned to service SE i,h , only if service SE i,h is able to perform subtask ST j,k . This constraint can avoid illogical arrangements, and be expressed as: In addition, x i,h j,k is a logical variable, and could only be 0 or 1.
x i,h j,k ∈ {0, 1}, ∀j = 1, · · · , N; i = 1, · · · , M; k = 1, · · · , K j ; h = 1, · · · , H i Different from previous studies, our objective functions are client-centered. In this mode, it is suitable to use the pay-per-use method to meet the needs of clients and improve their satisfaction. In order to promote the sustainability of CMfg, the average satisfaction of clients with the time, cost quality and environmental cost of their tasks are considered in this paper, expressed as U t , U c , U q , U ec . Therefore, multiple objectives are as follows: where, µ t j , µ c j , µ q j , µ ec j are respectively the satisfaction of the client (task) j. Satisfaction of the clients are all calculated based on the limits given by clients, shown as: where t max j , t min j , c max j , c min j , q max j , q min j , ec max j , ec min j are the upper and lower limits of time, cost, quality, and environmental cost given by clients. They are the upper and lower limits of time, cost, quality, and environmental cost given by the user. For example, the completion period given by client j is t max j , and the ideal completion time is t min j . Client j is most dissatisfied when the actual completion time t j exceeds t max j , and most satisfied when t j is less than t max j . Detailed calculations of t j , c j , q j and ec j , are shown in our previous paper [26]. The above objectives (4)-(7) need to be maximized, and the following equation is introduced to indicate the satisfaction of DM with each objective.
where, f min g and f max g are obtained directly by DM or solving each objective. Then the objective function becomes: When DM has priority requirements for each objective, the multi-objective optimization problem is expressed as: max where P l represents the set of objectives with priority l. In Equation (14), if P f g = l, then f g ∈ P l . P l has higher priority than P l+1 , for l = 1, · · · , L. Usually, this kind of problem is solved by lexicographic optimization. However, considering its low computation efficiency, some researchers simplified the original optimization problem. Chen and Tsai [29] proposed that objectives with high priority have high satisfactions. According to their ideas, the priority order could be expressed as: where P f g < P f g mean that the priority level of the jth objective is higher than the j'th.
Then they transformed the objective function (14) into the following problem by FGP method: However, Equation (15) narrows the scope of feasible solutions and is not conducive to optimization. Therefore, in order to avoid this situation, ε is introduced to relax the comparison relationship: only when ε ≥ 0, the result meets the priority requirement. In order to make the method more suitable for real decision making, Li and Hu [30] proposed a two-step interactive satisfactory method. We combine it with genetic algorithm and introduce into the SSS problem. GA algorithm is widely used in various types of scheduling problems and has strong applicability. While GA is not necessary, other intelligent algorithms may get better results. On the basis of previous research, we introduce the order of priority satisfaction, and propose a two-phase method based on the order of priority satisfaction (TP-OPS). In phase 1, comprehensive satisfaction λ is maximized.
Phase 1: where, the decision variable is x i,h j,k . We define the optimal solution λ * as the maximum comprehensive satisfaction. µ f g ≥ λ * ·∆δ (19) where ∆δ (0 ≤ ∆δ ≤ 1) is used to relax λ * , which in turn expands the search space. Then, the model in phase 2 is built as: where x i,h j,k and ε are the decision variables. Maximizing ε means to maximize satisfaction differences of different objectives.
To illustrate the principle of TP-OPS approach, a simple two-objective example is constructed as follows.
Suppose that f 2 has a higher priority than f 1 , expressed as: Priority level 1: f 2 Priority level 2: f 1 According to Equation (17), we can get that: With this example, the priciple of TP-OPS method is shown in Figure 2. As can be seen from Figure 2a, the optimal solution found in phase 1 of maximizing λ is very close to the straight line µ f 1 = µ f 2 , that is, the difference of objective satisfaction is very small. If DM is not satisfied with this optimal solution, then set a new ∆δ and maximize ε, as shown in Figure 2b. The optimal solution found at this time deviates from the straight line µ f 1 = µ f 2 along the Pareto front. If DM still feels that the difference in satisfaction is small, then he could choose a smaller ∆δ and look for a larger ε. In Figure 2c, the optimal solution is further shifted to the left and further away from the straight line µ f 1 = µ f 2 . By repeating 2 and 3 in this figure, DM can find a final optimal solution. By objective priorities, TP-OPS does not need to preserve a complete set of Pareto solutions in the calculation process, which is helpful to improve the computational efficiency. If we deal with more objectives, this effect will be more obvious.
In Figure 2c, the optimal solution is further shifted to the left and further away from the straight line . By repeating ② and ③ in this figure, DM can find a final optimal solution. By objective priorities, TP-OPS does not need to preserve a complete set of Pareto solutions in the calculation process, which is helpful to improve the computational efficiency. If we deal with more objectives, this effect will be more obvious.
Repeat Repeat

Different SSS Methods
As mentioned earlier, the tasks that this paper focuses on are all complex tasks. Each complex task must be decomposed into a few simple subtasks that can be executed by existing resource services. The SSS model described in Section 3.1 considers not only DM's priority preferences, but also the optimization of all tasks from a client-centered perspective. In order to solve the proposed model, we developed the TP-OPS method. In this subsection, the detailed steps will be introduced, while two other methods, the max-min method and the FGP method, will also be introduced for comparison. Figure 3 shows the framework of the three methods.
(1) Max-min method The max-min method is a conservative method, taking into account the objective of lowest satisfaction. The objective of this method can be expressed by maxmin µ f g or Equation (18). So phase 1 of TP-OPS method is also called Max-min method. However, objective priorities are not considered in this method, which results in that constraint (15) is not necessarily satisfied. We implement this method directly with GA algorithm, and the encoding rules are introduced later.
(2) FGP method The FGP method is advantageous to consider from the whole point of view, and its objective is expressed in Equation (16). Unlike the Max-min method, this method maximizes the total satisfaction of the objectives, and makes the objective which is easy to improve the satisfaction better satisfied. In addition, DM's preference is taken into account, and only solutions satisfying priority satisfaction are selected. Similarly, this method is also implemented by GA algorithm, except that only solutions satisfying constraint (15) would be used to compute TS value.
(3) TP-OPS method The TP-OPS method decomposes the original problem into two sub-problems, corresponding to two phases respectively. The pseudo codes of the TP-OPS method is shown in Tables 3 and 4. In Phase 1, first, DM chooses a minimum λ 0 as the criterion for saving the feasible solution. Then, Max-min method is performed. In particular, each chromosome that meets λ Ka > λ 0 and µ Ka f g > µ Ka f g encountered during the iteration will be stored in the set S, and the corresponding satisfaction µ Ka f g will also be stored in the set UF. Every chromosomes in S corresponds to a feasible solution that satisfies constraint (15). If λ 0 is set to a smaller value, then the more chromosomes are saved, the more storage space is occupied. Finally, phase 1 outputs the maximum comprehensive satisfaction λ * , the feasible solution set S and the corresponding satisfaction set UF.    Set Na = 0; S = ∅; Na max ; Ka max ; λ 0 ; UF = ∅ 3.
While Ka < Ka max do 9.

7.
For every Ch Kc ⊂ S do 8.
Read µ Kc f g from UF;
In phase 2, first, λ * , S and UF are imputed. In addition, DM chooses the criterion of satisfaction difference ε s , and change amount H of ∆δ in each iteration. Secondly, all individuals satisfying µ Kc f g > λ * · ∆δ are selected from S to calculate their ε Kc . When ε > ε s , the difference in satisfaction of different priority targets reaches the set value, and we believe that we have found a satisfactory solution approved by the decision maker. If ε < ε s , then ∆δ is reduced by H, expanding the searched space until a satisfactory solution is found ε * > ε s or the maximum number of iterations is reached Nc > Nc max . Finally, Phase 2 outputs the satisfaction difference ε * and the corresponding chromosome Ch * .

The GA Algorithm
All three methods are based on a GA algorithm, and multi-layer integer coding rules are adopted to encode chromosomes. When the total number of tasks is N and the number of subtasks of task T j is K j , the length of individual is 2 N j=1 K j . Among them, the first half of the chromosome represents the service order of all tasks in the enterprise, and the second half represents the enterprise services matched by each subtask. For example: 1 3 3 4 2 2 1 4 2 3 1 4 2 5 6 3  (23) This individual (23) expresses a service order of 4 tasks on 3 enterprises, where each task has 2 subtasks and each enterprise has 2 services. In individual (23), the first 8 bits indicate the order of the task, which is task 1-3-3-4-2-2-1-4; Bits 9 to 16 represent the services, which is 2-3-1-4-2-5-6-3. For easy representation in figures, we also use 302 to represent ST 3,2 , and the same is true for other subtasks. Then the order 1-3-3-4-2-2-1-4 indicates that the sequence of task execution is 101-301-302-401-201-202-102-402, shown in Figure 4.  For the Max-min method and phase 1 of TP-OPS method, the fitness is: where and are respectively and for individual . For the FGP method, the fitness is: where and are, respectively, and for individual .
Roulette is used to select chromosomes with better fitness. The probability that an individual is selected is: where indicates the probability that individual is selected in each selection and is used to simplify expressions of Equation (27).
The integer crossover method is used for crossover operations. First, two chromosomes are randomly selected from the population, and the first ∑ bits of each chromosome are taken out, and then the intersection positions are randomly selected. After the crossover, the subtasks of some tasks are redundant or missing. Therefore, it is necessary to adjust the redundant subtasks to the missing subtasks and adjust the corresponding services. The crossover operation is shown in Figure  5. For the Max-min method and phase 1 of TP-OPS method, the fitness is: where λ Ka and µ Ka f g are respectively λ and µ f g for individual Ka.
For the FGP method, the fitness is: where TS Ka and µ Ka f g are, respectively, TS and µ f g for individual Ka.
Roulette is used to select chromosomes with better fitness. The probability that an individual is selected is: where pi(Ka) indicates the probability that individual Ka is selected in each selection and Fit(Ka) is used to simplify expressions of Equation (27).
The integer crossover method is used for crossover operations. First, two chromosomes are randomly selected from the population, and the first N j=1 K j bits of each chromosome are taken out, and then the intersection positions are randomly selected. After the crossover, the subtasks of some tasks are redundant or missing. Therefore, it is necessary to adjust the redundant subtasks to the missing subtasks and adjust the corresponding services. The crossover operation is shown in Figure 5. randomly selected from the population, and the first ∑ bits of each chromosome are taken out, and then the intersection positions are randomly selected. After the crossover, the subtasks of some tasks are redundant or missing. Therefore, it is necessary to adjust the redundant subtasks to the missing subtasks and adjust the corresponding services. The crossover operation is shown in Figure  5. 2  1  3  1  3  2  2  3  6  1  5  4   3  1  3  2  2  1  3  5  1  6  4  2   3  1  3  2  3  2  3  5  1  6  5  4  1  2   2  1  3  1  2  1  2  3  6  1  4 After crossover ②Adustment Figure 5. The crossover operation.
The mutation operator first randomly selects an individual from the population, then randomly selects two mutation bits, and finally exchanges the two subtasks and the corresponding service numbers in the individual. If the modified chromosome does not meet the requirements, adjustments are performed on it. The mutation operation is shown in Figure 6. The mutation operator first randomly selects an individual from the population, then randomly selects two mutation bits, and finally exchanges the two subtasks and the corresponding service numbers in the individual. If the modified chromosome does not meet the requirements, adjustments are performed on it. The mutation operation is shown in Figure 6.

Computational Experiments and Results
In this section, a small-scale example is first used to illustrate the effect of the proposed method. Then a number of computational experiments with problems of various sizes are designed to demonstrate its effectiveness and efficiency. At last, performance stability of the proposed method is tested.

A Small-Scale Example
A small-scale SSS problem on a client-centered CMfg platform is built as an example. In this example, we considered 3 enterprises on the platform, each offering two types of services for clients to choose from. At the same time, 4 tasks are accepted, and each task is decomposed into four subtasks that are executed in sequence. The detail parameters of this example are shown in Tables 5 and 6. Table 5 presents the information about tasks and services, such as: alternative services, time, cost, quality, environmental cost and weight of product. For example, the subtask 3 of task 3 could be executed on service , , , , , . If subtask , is assigned to service , , then The measurement unit of time is days, and the unit of cost is US dollar. Table 5. Task and service information.

Computational Experiments and Results
In this section, a small-scale example is first used to illustrate the effect of the proposed method. Then a number of computational experiments with problems of various sizes are designed to demonstrate its effectiveness and efficiency. At last, performance stability of the proposed method is tested.

A Small-Scale Example
A small-scale SSS problem on a client-centered CMfg platform is built as an example. In this example, we considered 3 enterprises on the platform, each offering two types of services for clients to choose from. At the same time, 4 tasks are accepted, and each task is decomposed into four subtasks that are executed in sequence. The detail parameters of this example are shown in Tables 5 and 6. Table 5 presents the information about tasks and services, such as: alternative services, time, cost, quality, environmental cost and weight of product. For example, the subtask 3 of task 3 could be executed on service SE 2,2 , SE 3,1 , SE 3,2 . If subtask ST 3,3 is assigned to service SE 2,2 , then st 2,2 3,3 = 1, sc 2,2 3,3 = 47, q 2,2 3,3 = 0.26, ec 2,2 3,3 = 7, we 2,2 3,3 = 27. The measurement unit of time is days, and the unit of cost is US dollar.  The distance between enterprises is shown in Table 6. For example, d 2,3 = 190. The logistics time parameter α = 0.08, the logistics cost parameter β = 0.005. The measure ment unit for distande is kilometer. DM considers the four objectives shown in Equations (4)- (7) and each objective has different priority. The priority order of the four objectives is 3-1-2-2, which means that: Priority level 1: f 2 , Priority level 2: f 3 and f 4 , Priority level 3: f 1 . According to Equation (15), the priority relationship can be expressed as To verify the effectiveness of the TP-OPS method, two other methods (the max-min method and the FGP method) are adopted for comparison. Then, this example is solved by three methods. In the TP-OPS method, ∆δ in Equation (20) is set as 0.9. The max-min method is actually the phase 1 in the TP-OPS method, see Equation (18). The FGP method is to solve Equation (16). In particular, ε is not considered in the max-min method and the FGP method. In order to make a comparative analysis, the optimal µ f g obtained by these two methods is introduced into Equation (29) to obtain the corresponding ε, which is then compared with the result of the TP-OPS method. Figure 7 is the Gantt chart of the results for this example found by the three methods. It can be observed that the completion time found by three methods is different. Different methods get different solutions mainly for two reasons. First, FPG method and TP-OPS method consider objective priorities, while max-min method does not. Second, the selection criteria of the optimal solutions of the three methods are different. In this example, the objective about time f 1 is the least important. The max-min method does not take into account the different priorities of the objectives, so the corresponding completion time is shorter than the TP-OPS method and the FGP method. Therefore, compared with max-min method, the solutions obtained by FGP method and TP-OPS method can better ensure that important objectives are preferentially satisfied.
In addition, satisfaction µ f g , priority variable ε and total satisfaction TS = G g=1 µ f g of the above three schemes were calculated separately and shown in Figure 8. From this figure, we can see ε = −0.054 < 0 in (a), which means that the satisfactions does not meet priority order 3-1-2-2, and TS = 2.641 in (a) is the largest of all methods. In Equation (16), the objective function of the FGP method is to maximize TS. However due to the priority requirement, TS = 2.469 in (c) is less than TS = 2.641 in (a). Compared with (a) and (c), ε = 0.032 in (b) achieves the maximization of differences in satisfaction between objectives with different priority. Therefore, the results of both TP-OPS method and FGP method can satisfy the priority constraint, but the max-min method could not. In addition, in the case of fixed ∆δ = 0.9, TP-OPS method can obtain ε larger than FGP method. If iterated, TP-OPS method may also achieve a larger ε. When DM wants ε to be larger, then TP-OPS method will be more suitable.
In the above result of the TP-OPS method, ∆δ = 0.9. By gradually reducing ∆δ, different results are obtained by the TP-OPS method and shown in Table 7. It can be found that as ∆δ becomes smaller, ε gradually increases, which indicates that the difference in satisfaction between objectives with different priorities is becoming more and more obvious.
When DM considers different priority orders, the satisfactions will also be different. The results found by the TP-OPS method with six different sets of priority orders are shown in Table 8. It can be found that with the change of preference, satisfaction also changes.
From this example, it can be seen that the TP-OPS method has higher flexibility compared to the other two methods. It is still necessary to investigate the performance of problems of different scales; a more detailed analysis is provided in the next section. other two methods. It is still necessary to investigate the performance of problems of different scales; a more detailed analysis is provided in the next section.

Data Generation
The number of services, tasks, and subtasks are selected from three sets, namely 9,12,15 , 6,11,16 and 8,13,18 . Then 3 27 combinations of problem sizes could be generated, and we chose 9 of them for the experiment, i.e., 9s6t8st, 9s11t13st, 9s16t18st, 12s6t8st, 12s11t13st, 12s16t13st, 15s11t8st, 15s11t13st, 15s16t18st. For each of these combinations, one set of data is randomly generated, in which each parameter is uniform distributed. Their range is shown in Table 9. These parameters represent service time ( ), service cost ( ), service quality ( ), environmental cost ( ), weight of product ( ), distance between enterprises ( , ) and priority level of objectives ( ) in turn.

Define GA in Full Term
In this study, we selected 50 individuals per generation, performed 100 iterations with a crossover probability of 0.8 and a mutation probability of 0.1, which has been used in our previous research on SSS problem. For each selected question, statistical results for ten runs were obtained and shown in the following subsection for each method. For the TP-OPS method, two cases (Δ 0.9 and Δ 0.7) are considered to preliminarily observe the effect of Δ on results. All algorithms are implemented in Matlab software.

Test Results
The following performance indicators are considered: 1,2, ⋯ , : the minimum satisfaction of all objectives, representing the optimization of the least important objectives. The mean and standard deviation of for 10 runs are denoted as and . : priority variable, which means the difference in satisfaction between objectives with different priority. The mean and standard deviation of for 10 runs is denoted as ̅ and .
∑ : total satisfaction, which means the optimization of all objectives. The mean and standard deviation of for ten runs is denoted as and .

Data Generation
The number of services, tasks, and subtasks are selected from three sets, namely {9, 12, 15}, {6, 11, 16} and {8, 13, 18}. Then 3 3 = 27 combinations of problem sizes could be generated, and we chose 9 of them for the experiment, i.e., 9s6t8st, 9s11t13st, 9s16t18st, 12s6t8st, 12s11t13st, 12s16t13st, 15s11t8st, 15s11t13st, 15s16t18st. For each of these combinations, one set of data is randomly generated, in which each parameter is uniform distributed. Their range is shown in Table 9. These parameters represent service time (st), service cost (sc), service quality (q), environmental cost (ec), weight of product (we), distance between enterprises (d i,i ) and priority level of objectives (P f g ) in turn.

Define GA in Full Term
In this study, we selected 50 individuals per generation, performed 100 iterations with a crossover probability of 0.8 and a mutation probability of 0.1, which has been used in our previous research on SSS problem. For each selected question, statistical results for ten runs were obtained and shown in the following subsection for each method. For the TP-OPS method, two cases (∆δ = 0.9 and ∆δ = 0.7) are considered to preliminarily observe the effect of ∆δ on results. All algorithms are implemented in Matlab software.

Test Results
The following performance indicators are considered: µ min = min µ f g (g = 1, 2, · · · , G): the minimum satisfaction of all objectives, representing the optimization of the least important objectives. The mean and standard deviation of µ min for 10 runs are denoted as µ min and S µ min . ε: priority variable, which means the difference in satisfaction between objectives with different priority. The mean and standard deviation of ε for 10 runs is denoted as ε and S ε . TS = G g=1 u f g : total satisfaction, which means the optimization of all objectives. The mean and standard deviation of TS for ten runs is denoted as TS and S TS .
NFS: the number of times that a feasible solution satisfying priority constraints is found in 10 runs. For example, If the optimal solution found by the max-min method satisfies constraint (15) in a certain run, then NFS = NFS + 1, otherwise, it is not included in NFS. Similarly, if ε > 0, it also means that constraint (15) is satisfied and counted in NFS.
NFS for 10 runs obtained by different methods are shown in Table 10. For the max-min method, the optimal solution can only satisfy priority constraint (15) by a small random probability, so most ε obtained by Equation (29) is less than 0. For the TP-OPS method, when ∆δ = 0.9, the search space is not large enough, resulting in NFS < 10. When ∆δ = 0.7, feasible solutions are found for each run, and NFS = 10. For the FGP method, feasible solutions are found for each run and each combination. Therefore, both TP-OPS method and FGP method can meet the requirements in finding feasible solutions satisfying priority constraints. But TP-OPS method may need to reduce ∆δ in phase 2, for example ∆δ changes from 0.9 to 0.7 in Table 10. It needs to be noted that statistical results refer to the feasible solutions counted in NFS.  The mean and standard deviation of µ min for 10 runs obtained by three method are summarized in Table 11. It can be seen from the table that for any combination, µ min of TP-OPS method is less than that of the max-min method. The objectives of the max-min method and phase 1 of TP-OPS method are both to maximize µ min , so µ min of the max-min method is the limit value of TP-OPS method. For the FGP method, µ min is smaller than that of the max-min method, but this gap seems to remain within a certain level, because too small µ min is not conducive to maximize TS.  Table 12 shows the results of ε and S ε for the three methods, in which "-" means all ε < 0. It can be seen that for different combinations, ε of the max-min method is the smallest due to the neglect of priority. For the TP-OPS method, the limitation of search space leads to smaller ε when ∆δ = 0.9. By adjusting ∆δ to 0.7, the broader search space also makes ε larger. For the FGP method, ε is sometimes larger than TP-OPS ∆δ = 0.7 (such as: combination 9s11t13st), and sometimes smaller than TP-OPS ∆δ = 0.9 (such as: combination 9s6t8st). This instability is not conducive to DM's judgment on the appropriateness of the current result. In terms of TS, the FGP method has an advantage because its objective function is to maximize TS. For three methods, TS and S TS are summarized in Table 13. It can be seen from this table that for most combinations, TS of FGP method is still the largest of the three methods, although an exception has occurred for combination 12s6t8st. This phenomenon that TS of FPG method is smaller than the max-min method in some individual case (which can also be seen in Figure 8) is mainly due to the influence of the constraint (15). Both TP-OPS method and the max-min method focus on maximizing µ min without paying attention to the highest priority objective, so it is not easy to make individual satisfaction particularly high like FGP method shown in Figure 3c. In addition, compared to the max-min method, TP-OPS method performs the optimization of phase 2 according to Equation (20), which further affects TS.  Figure 9 shows the mean CPU time for 10 runs obtained by different methods. It can be seen that the CPU time of three methods is affected by the scale of the problem. The larger the scale, the more time it takes. Here, t 0.7 p2 and t 0.9 p2 indicate the time consumed by phase 2 when ∆δ = 0.7 and ∆δ = 0.9 respectively. Then it can be seen from Figure 9 that in all combinations, t 0.7 p2 and t 0.9 p2 both are much smaller than the time of the max-min method.  The effects of on results is tested on a selected data set, i.e., 12t11s18st. For each different from 0.95 to 0.7, TP-OPS method runs 10 times. Table 14 shows the mean of performance indicators found with different   . As can be seen from this table that as becomes smaller, the satisfactions of high priority objectives ( and ) tend to increase, while the satisfaction of low priority objective ( ) gradually decreases. This leads to the gradual increase of . However, with the change of , has no obvious change trend and is relatively stable in a certain range. In addition, the smaller the , the larger the . The effects of on results is also tested on the selected data set (i.e., 12t11s18st), and six priority orders are considered. For each priority order, TP-OPS method also runs ten times. The following can be found in Table 15. ̅ is relative larger when there are more low priority objectives (cases 1 and 6) than when there are more high priority objectives (cases 2 and 5). A smaller mean of represents an increase in the probability that 0. is affected not only by its own priority , but also by priorities of other objective. For example, 2 in case 2 and 3 in case 3, however 0.446 0.461.  The effects of ∆δ on results is tested on a selected data set, i.e., 12t11s18st. For each different ∆δ from 0.95 to 0.7, TP-OPS method runs 10 times. Table 14 shows the mean of performance indicators found with different ∆δ. As can be seen from this table that as ∆δ becomes smaller, the satisfactions of high priority objectives (u f 2 and u f 4 ) tend to increase, while the satisfaction of low priority objective (u f 3 ) gradually decreases. This leads to the gradual increase of ε. However, with the change of ∆δ, TS has no obvious change trend and is relatively stable in a certain range. In addition, the smaller the ∆δ, the larger the NFS. The effects of P f g on results is also tested on the selected data set (i.e., 12t11s18st), and six priority orders are considered. For each priority order, TP-OPS method also runs ten times. The following can be found in Table 15. ε is relative larger when there are more low priority objectives (cases 1 and 6) than when there are more high priority objectives (cases 2 and 5). A smaller mean of ε represents an increase in the probability that ε < 0. u f g is affected not only by its own priority P f g , but also by priorities of other objective. For example, P( f 1 ) = 2 in case 2 and P( f 1 ) = 3 in case 3, however 0.446 < 0.461.

Applicability of Different Methods
In order to test the applicability of different methods, we increase the number of services, tasks and subtasks in this section. In addition, different number of objectives and priority levels are also considered.

Different Scales of Services and Tasks/Subtasks
In this subsection, the number of services increases from [9,12,15] to [300, 600, 900], the number of tasks from [6,11,16] to [16,30,50], and the number of subtasks from [8,13,18] to [18,50]. The ranges of other parameters follow the data in Table 9. Each dataset is also tested 10 times. The averages of µ min , ε, TS, CPU time for 10 runs are computed respectively, and the test results of different methods are summarized in Table 16. From this table, it can be seen that: when the number of services increases from 300 to 900, both µ min and TS have an increasing trend, which shows that the more services, the better the clients' needs can be met. When the number of services remains at 900 and the number of tasks/subtasks increases, µ min and TS have a tendency to decrease, which shows that clients' satisfaction will also be reduced if resources are limited. In addition, some of the statistical results also have some deviations from this trend, mainly due to the random generation of data. For large-scale problems, the TP method can still obtain reasonable results. From the perspective of ε, the max-min method can hardly produce solutions satisfying priority constraints for larger-scale problems, while TP-OPS method can still get reasonable results. The CPU time of all methods increases with the number of services and tasks/subtasks, as shown in Figure 10. As can be seen from the figure, the change in CPU time caused by the increase in the number of services from 300 to 900 is much smaller than the increase in the number of tasks and subtasks from 16t18st to 50t50st. Faced with the task flow of additional tasks in and released products out in dynamic market, this paper chooses to treat a decision period as static, so fast decision-making is very important. For FGP method, If DM is not satisfied with the results, recalculation will consume a lot of time. Compared with the FGP method, the TP-OPS method has advantages, and only requires less time to adjust ∆δ.

Different Number of Objectives and Priority Levels
For most multi-objective optimization problems in manufacturing, the number of objectives is usually between 2 and 4. In the previous small-scale example and computational experiments, four objectives and three priority levels were considered, i.e., the number of objectives 4, the number of priority levels 3. Therefore, further experiments are necessary to test the effects of different and on the results. In this subsection, we chose the common situation, where ∈ 2, 3, 4 , ∈ 2, 3, 4 , . Combination 18s4t15st is selected for the experiment, and other parameters are the same as Table 9. The test results are summarized in Table 17 and it can be seen that the TP-OPS method is applicable for these selected and , and the conclusions drawn in the previous sections are still valid. It can also be found that the larger and , the smaller and ̅ are. In this paper, we do not consider 4, mainly for two reasons. On the one hand, this situation rarely occurs in the actual manufacturing process. On the other hand, if and ̅ become too small, the effect of any optimization method will not be obvious. Therefore, the TP-OPS method is suitable for multiobjective optimization problem which need to achieve the optimization of all objectives, while maximizing the difference in optimization effects among objectives of different importance.

Conclusions
This paper proposes a two-phase method based on the order of priority satisfaction (TP-OPS) for the service selection and scheduling problem with different objective priorities in cloud manufacturing. In the proposed method, the order of priority satisfaction is introduced to represent priority requirements of different objectives. As a very convenient method, the TP-OPS only requires decision maker to judge whether the current solution is satisfactory and give the parameters for the

Different Number of Objectives and Priority Levels
For most multi-objective optimization problems in manufacturing, the number of objectives is usually between 2 and 4. In the previous small-scale example and computational experiments, four objectives and three priority levels were considered, i.e., the number of objectives G = 4, the number of priority levels L = 3. Therefore, further experiments are necessary to test the effects of different G and L on the results. In this subsection, we chose the common situation, where G ∈ [2, 3,4], L ∈ [2, 3,4], L ≤ G. Combination 18s4t15st is selected for the experiment, and other parameters are the same as Table 9. The test results are summarized in Table 17 and it can be seen that the TP-OPS method is applicable for these selected G and L, and the conclusions drawn in the previous sections are still valid. It can also be found that the larger G and L, the smaller µ min and ε are. In this paper, we do not consider G > 4, mainly for two reasons. On the one hand, this situation rarely occurs in the actual manufacturing process. On the other hand, if µ min and ε become too small, the effect of any optimization method will not be obvious. Therefore, the TP-OPS method is suitable for multi-objective optimization problem which need to achieve the optimization of all objectives, while maximizing the difference in optimization effects among objectives of different importance.

Conclusions
This paper proposes a two-phase method based on the order of priority satisfaction (TP-OPS) for the service selection and scheduling problem with different objective priorities in cloud manufacturing. In the proposed method, the order of priority satisfaction is introduced to represent priority requirements of different objectives. As a very convenient method, the TP-OPS only requires decision maker to judge whether the current solution is satisfactory and give the parameters for the next optimization decision. By relaxing the maximum comprehensive satisfaction, the difference between satisfaction of objectives with different priority is gradually expanded. Furthermore, TP-OPS method can achieve a balance between the improvement of maximum comprehensive satisfaction and the control of satisfaction differences. In addition, just a short time is needed to find a new solution after adjusting the parameters, which saves a lot of time for the decision process of large-scale problems. and the method could be applied to small and medium-sized market environments. The TP-OPS proposed in this paper can be applied to many kinds of cloud platforms, such as automobile manufacturing, clothing customization, aerospace and so on. The decision-maker can select a satisfactory solution only by determining objective priorities according to the status of resources and tasks on the platform.
Further research can consider the following two directions. First, other types of satisfaction could be taken into account. For the simplification of calculation, this paper considers that all satisfactions of clients are linear. However, in reality, many clients' satisfactions show curves or discount forms. Therefore, how to coordinate these different types of clients has become a meaningful research direction. In addition, dynamic and static combination approaches should be designed to adapt to rapid changes in the market. This paper considers the market as static within a certain decision period. However, when faced with the flow of additional tasks in and released products out, centralized optimization and rapid response are essential. So dynamic and static combination approaches will also become a very important research direction.

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