Abstract:
Cloud Manufacturing (CMfg) is a new popular and centralized management and serviceoriented business model that enables ondemand access to a shared collection of diversified and distributed manufacturing resources. In the CMfg, selecting the best combination of services to perform a customer’s requests is the most important problem. To solve this problem, this paper proposes an ensemble optimization approach (EOA) which combines other optimization methods in a flexible and extensible way. To validate the performance of the EOA, several test case are conducted. Computational results show that the EOA can find better solutions compared with other optimization algorithms such as genetic algorithm, particle swarm optimization, and social spider optimization.
Keywords: cloud manufacturing (CMfg); service quality; service selection and scheduling
CMfg is a customercentred manufacturing model that enables ondemand access to a shared collection of diversified and distributed manufacturing resources to form temporary, reconfigurable production lines which enhance efficiency, reduce product lifecycle costs, and allow for optimal resource loading in response to the variabledemand, and customergenerated tasking (Greer et al. 2013). CMfg was proposed to share and provide ondemand networked manufacturing services for users to satisfy specific manufacturing task needs (Tao et al. 2010).
The CMfg makes use of service computing and manufacturing enabling technologies to transform manufacturing resources and capabilities into manufacturing services, which can be managed and operated in an intelligent and unified way to enable full sharing and circulation of manufacturing resources and capabilities (Li et al. 2012). In CMfg, the dispersed and diverse manufacturing resources from different enterprises can be encapsulated into cloud services for more efficient and effective integration (Li et al. 2016). Providing more efficient and better valueadded services is depend on how existing manufacturing resources should be composed altogether and this is the most important problem in CMfg. So high efficiency manufacturing processes depend on highly dynamic composition of largescale manufacturing resources.(Tao et al. 2014)
The main players in CMfg are divided into three categories: 1. Customers who give their requests to the system, 2. CMfg system which is responsible for finding the best combination of services (COS) for customer requests, and assigns tasks to the providers 3. Providers that provide system services and perform assigned tasks.
The CMfg system can intelligently analyze users’ requests and search suitable, available resources to meet their demands. Since there are different services in the CMfg system to perform a single request, selecting the best combination of services (SBCOS) to respond to a user’s request is a complex problem.
This paper tries to solve the SBCOS problems in CMfg with an ensemble optimization approach (EOA). In this approach three methods are used i.e. genetic algorithm (GA), particle swarm optimization (PSO) and social spider optimization (SSO).
The main idea of this approach is using different optimization methods and combining their results to find a better solution. In the EOA each optimization algorithm is used as a black box and their internal structures do not matter. Combining different algorithms means combining various features and methods to get more power in the search of the problem space. The EOA uses a special operator to aggregate the results of other algorithms and this operator can use different methods for this purpose. The EOA is flexible and expandable.
The rest of this paper is organized as follows: Section 2 reviews the related research work. Section 3 describes the service selection mechanism in the CMfg system and provides a mathematical model of the problem. Section 4 presents the new optimization approach to service composition in cloud manufacturing, and introduces the components of this approach. Section 5 presents the results of simulation experiments, and associated analysis. And finally, section 6 concludes this paper and discussions on future research.
Nomenclature  
CMfg  Cloud Manufacturing  TCT  Total Completion Time  
EOA  Ensemble Optimization Approach  TMT  Total Manufacturing Time  
QoS  Quality of Service  TLT  Total Logistic Time  
COS  Combination Of Services  TWT  Total Waiting Time  
SBCOS  Selecting the Best Combination of Services  MTi  manufacturing time of ith subtask 

Req  customer’s request  LTSi,Si+1  logistic time between Si,Si+1 

STi  i th subtask 
WTSi  waiting time of Si 

n  number of subtasks  TC  Total Cost  
Pn  number of manufacturing units  TMC  Total Manufacturing Cost  
PL  location of service provider  TLC  Total Logistic Cost  
PDi,i+1  distance between provider iand i+1 
LCSi,Si+1  logistic cost between Si,Si+1 

ReqW  the volume of material displaced for a given request  MCSi  manufacturing cost of Si 

PTi  Type of ith manufacturing unit 
SA  System Availability  
PFi  free time of ith manufacturing unit 
FPQ  Final Product Quality  
PMCi  manufacturing cost for unit weight  PRi  pass rate promised by ith provider 

PMTi  manufacturing time for unit weight  x  a criterion  
PLCi  logistic cost for unit weight and unit distance  Q(x)  criterion value  
PLTi  logistic time for unit distance  SQ(x)  scaled criterion  
PRi  the pass rate promised by provider  Wx  weight of criterion x 

CSFSTi  candidate services set for subtask i 
Si  i th service in a route 

CSFSTin  total number of services in CSFSTi 
2 Related works
This study focuses on QoSbased composition in the complex CMfg environment. In recent years, QoSbased composition of service selection and scheduling in CMfg have been widely researched. Tao et al. (2010) developed a parallel intelligent algorithm for service composition, and optimalselection in the CMfg system, and considered some criteria such as time, cost, maintainability and function similarity. Zhou and Yao (2017) focused on time, cost, availably and reliability as fitness criteria but they remarked that the QoS model of COS is extensible. Liu et al. (2017) proposed a new multitask scheduling approach to cloud manufacturing and used a criterion called workload. In this research, the components of the CMfg system are expressed separately and QoSbased criteria such as time, cost, reliability along with system performance criteria such as total completion time and service utilization have been taken into consideration. Zhou et al. (2018) focus on diverse task scheduling for individualized requirements, and aim to address their scheduling issue in CMfg. They considered time, cost and quality results as QoS criteria. Cao et al. (2016) discussed a service selection and scheduling strategy in cloud manufacturing for a single task. They used a fuzzy decisionmaking theory to transform QoS values into relative superiority degrees, and used a weighted method that its weight was calculated through analytic hierarchical process (AHP).
Another point that has recently been taken into account is granularity of services in a service combination. Wu et al. (2016) formulated a QoSaware multigranularity service composition model and used a concept called GCS to create coarsegrained components form finegrained services. Wu et al. (2018) in continuing their research proposed a Vickrey–Clarke–Groves auctionbased approach for multigranularity service composition in order to overcome the shortcomings of existing approaches, e.g., unpredictability in service pricing, and lack of economic efficiency. They considered finegrained services as candidates for composition as well as coarsegrained ones.
SBCOS is an optimization problem and various methods have been used to solve it. Cao et al. (2016) repurposed the ant colony optimization (ACO) for the established service selection and scheduling model, and added a selection mechanism to ACO to enhance its validity. Zhou and Yao (2017) proposed a hybrid artificial bee colony algorithm for optimal service selection and used a QoSbased model. Lin et al. (2017) presented a genetic algorithm (GA) based method and proposed new ideas such as enhancements and local search for solving computing resource allocation problems in a cloud manufacturing system. Laili et al. (2013) proposed a ranking chaos algorithm for dual scheduling of cloud service and computing resources in a private cloud. Tao et al. (2008, 2010) proposed a particle swarm optimization (PSO) based resource service composition and optimalselection method. Cuevas et al. (2013) proposed the SSO algorithm. This algorithm is based on the simulation of the cooperative behavior of socialspiders. The SSO algorithm has much better performance than other optimization algorithms and its remarkable performance is associated with two different reasons: (1) their operators allow a better particle distribution in the search space, increasing the algorithm’s ability to find the global optima; and (2) the division of the population into different individual types, provides the use of different rates between exploration and exploitation during the evolution process. In this article, the SSO algorithm is used as a part of the EOA to solve SBCOS problem. This is the first time that the SSO is used in service composition problem in cloud manufacturing.
Although many efforts have been made to solve the SBCOS problem, none of these efforts and algorithms use the capabilities of each other, and the proposed approaches are not extensible.
The EOA is designed for solving the abovementioned issues. This approach combines different optimization algorithms and the final result is the aggregated results of all combined algorithms.
3 Mechanism description and mathematical model
3.1 The service selection mechanism
As mentioned in the first section, there are three categories of players in the CMfg: 1.Customers 2.CMfg system 3.Providers. The role of these players in the CMfg is shown in (Figure1).
In this image, dotted lines are used to display the paths of data transmission and solid lines are used to display the paths of materials and products logistics.
Figure 1. Schematic diagram of the CMfg
The customer submits his/her request (denoted by Req) to the CMfg system. To complete each request a sequence of subtasks (denoted by ST) must be performed. In other words, each request consists of a set of consecutive subtasks. There are four subtask structures in CMfg: sequence, parallel, selective, and circular. But only is the sequence structure considered in this study for the sake of convenience. So
Req={ST1→ ST2→ ST3→ … → STi}where
Reqis submitted request by customers,
STiis the
ith subtask in the subtask sequence and
i∈{1,2,3,…,n}where
nis the total number of subtasks in a request.
The CMfg system has three main processes. First, the customer’s request is processed and decomposed, and the sequence of subtasks are created. Before the second process begins a subprocess is performed. In this subprocess the CMfg system takes manufacturing units information from each provider. This information contains provider’s general information such as the number of manufacturing units (
Pn), the location of the provider (
PL) and the manufacturing units pieces of information. Based on
PL, the provider’s distances (
PDi,i+1is the distance between provider
iand
i+1) are calculated. To simplify, the volume of material displaced for a given request is assumed constant (denoted by
ReqW)
For
ith manufacturing unit of each provider, information such as type (
PTi), free time (
PFi), manufacturing cost for unit weight (
PMCi), manufacturing time for unit weight (
PMTi), logistic cost for unit weight and unit distance (
PLCi), logistic time for unit distance (
PLTi) and the pass rate promised by provider (
PRi) are determined.
After the preparation, the data is entered into the second process. In this process the CMfg system tries to find the most appropriate service for each subtask based on subtasks data, and provider’s data. There is a set of candidate services that can perform each subtasks (candidate services set for subtask
idenoted by
CSFSTi).
If the total number of services in
CSFSTidenoted by
CSFSTin, there are
∏i=1n CSFSTinroutes to perform a request (as shown in Figure2).
Figure 2. Several routes to complete a request
After the previous process is completed, the third process creates a service sequence based on subtasks sequence and found services. The information such as the sequence of services, and assigned subtasks is then given to providers. Based on this information, each provider knows its tasks and the providers sequence in the logistic phase.
This study is only about the second process, and assumes that other processes are done correctly.
3.2 Mathematical model
As shown in (Figure2) there are several routes to respond to a request and the CMfg system should select the best one for solving SBCOS problem.
A route contains
nservices. If each service in a route is denoted by S, a route can be represented as:
Route={S1,S2,…,Sn}
Where for each
i ∈1,2,…,nthen
Si∈{servicei,1 , servicei,2,…,servicei,CSFSTin}.
3.2.1 Optimization criteria
In this study, four criteria show the quality of a route. These optimization criteria can be extended and changed.
1) Total Completion Time (TCT): This criterion calculated by Eq.1:
TCT=TMT+TLT+TWT  (1) 
Where TMT is total manufacturing time, TLT is total logistic time and TWT is total waiting time that are calculated by Eq.2 to 4:
TMT= ∑i=1nMTi  (2) 
TLT=LTStartPoint , S1+∑i=1n1LTSi,Si+1 +LT(Sn,EndPoint)  (3) 
TWT=∑i=1nWTSi  (4) 
In the above equations the manufacturing time of
ith subtask is
MTi=PMTi*ReqW, the logistic time between
Si,Si+1is
LTSi,Si+1=PLTi*PDi,i+1,
StartPointis the raw material supplier’s location,
EndPointis the customer’s location and
WTSiis the waiting time of
Si.
2) Total Cost (TC): TC can be calculated by Eq.5:
TC=TMC+TLC  (5) 
Where TMC is total manufacturing cost and TLC is total logistic cost that are calculated by Eq.6 and Eq.7:
TMC=∑i=1nMCSi  (6) 
TLC=LCStartPoint , S1+∑i=1n1LCSi,Si+1 +LC(Sn,EndPoint)  (7) 
Where the manufacturing cost of
Siis
MCSi=PMCi*ReqWand the logistic cost between
Si,Si+1is
LCSi,Si+1=PLCi*ReqW*PDi,i+1.
To calculate
LCStartPoint , S1and
LC(Sn,EndPoint)the raw materials supplier’s location and the customer’s location should be known. The CMfg system can obtain this information through the supplier and the customer.
3) System Availability (SA): This criterion is calculated using
PFi(free time of a provider’s
ith manufacturing unit). In the second process of the CMfg system only services that have free time are considered. Therefore SA of a route is the number of successful attempts to find the route services divided by total number of attempts.
4) Final Product Quality (FPQ): FPQ can be calculated by Eq.8:
FPQ=∑i=1nPRi  (8) 
Where
PRiis the pass rate promised by each provider in a route for its
ith manufacturing unit.
3.2.2 Scaling and aggregation of optimization criteria
In this paper, the simple additive weighting (SAW) technique is used to calculate the fitness of a route. This technique has two step: scaling values and aggregate scaled values. With reference to (Zeng et al. 2004), Eq.9 is used to scale positive criteria (SA and FPQ) and Eq.10 is used to scale negative criteria (TCT and TC):
SQx=QxminQxmaxQxminQx,ifmaxQ(x)≠minQ(x)1,ifmaxQ(x)=minQ(x)  (9) 
SQx=maxQ(x)Q(x)maxQxminQx,ifmaxQ(x)≠minQ(x)1,ifmaxQ(x)=minQ(x)  (10) 
Where
xis a criterion,
Q(x)is a criterion value,
min Q(x)is minimum value of
x,
max Q(x)is maximum value of
xand
SQ(x)is the scaled criterion.
After scaling the values, Eq.11 is used to aggregate them and to calculate fitness of a route:
Fitness=∑x ∈ TCT,TC,SA,FPQ(Wx*SQx)  (11) 
Subject to : ∑Wx=1 
Where
Wxis the weight of criterion
xwhich is based on user’s preferences.
4 Ensemble optimization approach
The SBCOS is an NPhard problem, and various optimization methods are used to solve it. What has been neglected so far is the simultaneous use of various algorithms, regardless of their structures. This means regardless of the method and operators of an optimization algorithm, use it as a black box and let it compensate other algorithm’s defects. The EOA is presented based on this idea.
The EOA use different optimization methods, and combine their results to find a better answer. The EOA is flexible and expandable but just for testing and comparison purpose, three algorithms are used as the EOA’s black box blocks.
4.1 Sample black box algorithms
To test the EOA, three algorithms (GA, PSO and SSO) are used as its black box. Flow charts of these algorithms are shown in (Figure3).
GAs are stochastic search techniques that are inspired by the principles of evolution and heredity (Holland 1992). GAs have been proven to be a very robust algorithm for solving NPhard global optimization problems, including scheduling problems (Lin and Chong 2017). GA is a populationbased algorithm and has two main operators: Crossover that exchanges subparts of two solutions, and mutation operator that randomly changes the allele values of some locations in the solutions (Mitchell 1998).
In PSO a number of simple entities (the particles) are placed in the search space of some problem, and each evaluates the fitness function at its current location. Each particle then determines its movement through the search space by combining some aspect of the history of its own current and best (bestfitness) locations with those of one or more members of the swarm, with some random perturbations (Poli et al. 2007).
The SSO algorithm is based on the simulation of the cooperative behavior of socialspiders. In this algorithm, individuals emulate a group of spiders which interact with each other based on the biological laws of the cooperative colony. The algorithm considers two different search agents (spiders): males and females. Depending on the sex, each individual is conducted by a set of different evolutionary operators which mimic the different cooperative behaviors assumed in the colony (Cuevas et al. 2016). In this algorithm information is shared between individuals by a method called vibration. This algorithm has three operators: Male, female and mutation operators.
Figure 3. Flow chart of GA, PSO and SSO
4.2 Ensemble approach
As mentioned above, each optimization algorithm is used as a black box in the EOA and their internal structures do not matter. The algorithm flow chart of the EOA is illustrated in (Figure4).
In this algorithm, a new operator is presented to aggregate the black box results. This operator is another flexible point of the EOA. Different methods can be used to aggregate the results of the black box such as selecting the answer with maximum fitness (denoted by Max Ensemble), applying roulette wheel method to the black box results, and creating a new child as the final outcome (denoted by Child Ensemble), using the results as a primitive population, and applying one or more optimization algorithms on this population (the SSO is used for this purpose so this method is called SSO Ensemble), and so on.
The EOA method helps different optimization algorithms produce better results with each other. Tanks to parallelization techniques, the speed of this algorithm will be the same as the speed of the slowest black box, and not slower than that. So the speed of the EOA is acceptable. Other comparisons are discussed in detail in the next section.
Figure 4. The algorithm flow chart of the EOA
5. Experiments and discussions
5.1 Experiment setup
As mentioned earlier, GA, PSO and SSO are used as the EOA black boxes. Some of the general parameters are selected based on reference (Zhou and Yao 2017), and all the special parameters of GA, PSO and SSO are selected based on references (Wang et al. 2015), (Tao et al. 2010) and (Cuevas et al. 2016) respectively. All the parameters are shown in (Table 1).
The experimental environment is Python 3.6 for 64bit windows 10 operation system, on an Intel(R) Core i5 2.40 GHz processor and 8GB RAM.
The NumPy library is used to implement the algorithms and perform the experiments. NumPy is a library for the Python, adding support to large, multidimensional arrays and matrices, along with a large collection of highlevel mathematical functions to operate on these arrays.
With the aim of repeatability of the experiments, the random seed attribute of NumPy library is used. This attribute guarantees the repeatability of the tests with the same results.
Table 1. The parameters of algorithms
5.2 Experiment results
To evaluate the performance of the proposed algorithm, it is compared with several other methods. The following test cases were performed for this purpose. Due to the randomness of these algorithms, the experiments for each test case are performed to run 20 times to make a fair comparison.
Test case1) Compare the performance of the three EOA approaches (Max Ensemble, SSO Ensemble and Child Ensemble) with GA, PSO and SSO algorithms.
For this experiment a small problem space is used in which
n =10and for each
i∈1,2,…,nthen
CSFSTin=100. The results shown in (Table 2).
Table 2. Test case 1 results
The results showed that the SSO Ensemble has the highest mean and the least standard deviation for 20 times the test. The better performance of the SSO Ensemble is because this algorithm finds better starting points, and then starts the SSO algorithm with these initial solutions. The Child Ensemble presented the worst results because this approach increased the randomness of the results using the roulette wheel method. Based on the results of this test case, the rest of the experiments were performed using the SSO Ensemble as the selected Ensemble Method.
Test case 2) Compare the performance of the best obtained Ensemble method (SSO Ensemble) with the GA, PSO and SSO algorithms in different sizes of the problem spaces.
The size of the SBCOS problem space has two important dimensions: Ⅰ) the total number of subtasks for each request (
n) and Ⅱ) the total number of services in candidate service set (
CSFSTin). Three different sizes are selected as the size of the problem space (Table 3). The results of this test case are illustrated in (Figure 5 and Figure 6).
Table 3. Sizes of the problem spaces
Figure 5. Comparison of the SSO Ensemble to GA, PSO and SSO algorithm in the different sizes of the problem space
Figure 6. Comparison of the intermediate results for 20 times of running the algorithms
According to the results, SSO Ensemble has the biggest fitness mean in all three situations. When the problem space gets bigger, the fitness value of the best solution is reduced for all algorithms. Another point that can be drawn from these graphs is that the solution with the greatest fitness always belongs to SSO Ensemble, exclusively or collectively.
Test case 3) Compare the performance of the algorithms with different user’s QoS preferences.
User’s preferences are one of the most important factors in calculating the fitness value. Based on reference (Zhou and Yao 2017) 10 sets of user’s preferences are used to compare the fitness value of SSO Ensemble, GA, PSO and SSO algorithms (Table 4). The results of this test case are illustrated in (Figure 7).
Table 4. User’s QoS preferences
Figure 7. Comparison of the algorithms using different user’s preferences
In every ten cases, the highest average fitness value belonged to SSO Ensemble algorithm. So this algorithm is very effective against changing user’s preferences. The oscillations of the obtained values indicate that the user’s preferences have a great influence on the final results.
Test case 4) Compare the minimum, average, and maximum solution fitness values of the algorithms in 100 runs.
(Figure 8) shows the comparison of the algorithms based on solutions with the minimum, average and maximum fitness value in 100 runs of the test. The GA and PSO have a large range of variations compared with the SSO and SSO Ensemble. In all three situations, the solution obtained by the SSO Ensemble is better than the other algorithms.
Figure 8. Comparison of solutions with the minimum, average and maximum fitness value in 100 runs
6. Conclusions and future works
This paper analyzed model features and service composition mechanism in the CMfg, then presented a detailed mathematical model. Since the most important problem in the CMfg is selecting the best combination of services to perform customer’s requests and the solution space for this problem is too big, SBCOS becomes a complex problem. To solve SBCOS problem, this study proposed an ensemble optimization approach in which other optimization algorithms are involved and their results are combined to find a better solution. In the EOA, the internal structure of these algorithms do not matter and they are used as the black boxes.
Several test cases with different parameters were considered. The results indicate that the EOA is a better approach than other optimization algorithms in achieving a better solution to SBCOS problem. The EOA is flexible and extensible so it can be used as a reference framework to develop new ideas on the combination of optimization algorithms.
To complete this approach some improvements can be done. The authors suggest that more criteria be used in the fitness function and more algorithms be used as the black boxes. Other methods should also be tested for aggregation operator to find the best one.
In the cloud manufacturing environment, tasks will arrive continuously. How to schedule these kinds of tasks is an important issue in the CMfg. In our future work, we will explore models and approaches for the dynamic cloud manufacturing environment and we will study online scheduling in the CMfg to answer this problem.
7. Acknowledgment
The authors would like to thank the editors and the anonymous reviewers for their valuable comments that helped us improve this paper.
8 References
Cao, Y., Wang, S., Kang, L. and Gao, Y., 2016. A TQCSbased service selection and scheduling strategy in cloud manufacturing. The International Journal of Advanced Manufacturing Technology, 82(14), pp.235251.
Cuevas, E., Cienfuegos, M., Zaldívar, D. and PérezCisneros, M., 2013. A swarm optimization algorithm inspired in the behavior of the socialspider. Expert Systems with Applications, 40(16), pp.63746384.
Cuevas, E., Cortés, M.A.D. and Navarro, D.A.O., 2016. A Swarm Global Optimization Algorithm Inspired in the Behavior of the SocialSpider. In Advances of Evolutionary Computation: Methods and Operators (pp. 933). Springer, Cham.
Holland, J.H., 1992. Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control, and artificial intelligence. MIT press.
Laili, Y., Tao, F., Zhang, L., Cheng, Y., Luo, Y. and Sarker, B.R., 2013. A ranking chaos algorithm for dual scheduling of cloud service and computing resource in private cloud. Computers in Industry, 64(4), pp.448463.
Li, B.H., Zhang, L., Ren, L., Chai, X.D., Tao, F., Wang, Y.Z., Yin, C., Huang, P., Zhao, X.P. and Zhou, Z.D., 2012. Typical characteristics, technologies and applications of cloud manufacturing. Computer Integrated Manufacturing Systems, 18(7), pp.13451356.
Li, H., Chan, K.C., Liang, M. and Luo, X., 2016. Composition of resourceservice chain for cloud manufacturing. IEEE Transactions on Industrial Informatics, 12(1), pp.211219.
Lin, Y.K. and Chong, C.S., 2017. Fast GAbased project scheduling for computing resources allocation in a cloud manufacturing system. Journal of Intelligent Manufacturing, 28(5), pp.11891201.
Liu, Y., Xu, X., Zhang, L., Wang, L. and Zhong, R.Y., 2017. Workloadbased multitask scheduling in cloud manufacturing. Robotics and ComputerIntegrated Manufacturing, 45, pp.320.
Mitchell, M., 1998. An introduction to genetic algorithms. MIT press.
Poli, R., Kennedy, J. and Blackwell, T., 2007. Particle swarm optimization. Swarm intelligence, 1(1), pp.3357.
Tao, F., LaiLi, Y., Xu, L. and Zhang, L., 2013. FCPACORM: a parallel method for service composition optimalselection in cloud manufacturing system. IEEE Transactions on Industrial Informatics, 9(4), pp.20232033.
Tao, F., Zhao, D., Hu, Y. and Zhou, Z., 2008. Resource service composition and its optimalselection based on particle swarm optimization in manufacturing grid system. IEEE Transactions on industrial informatics, 4(4), pp.315327.
Tao, F., Zhao, D., Yefa, H. and Zhou, Z., 2010. Correlationaware resource service composition and optimalselection in manufacturing grid. European Journal of Operational Research, 201(1), pp.129143.
Tao, F., Zuo, Y., Da Xu, L. and Zhang, L., 2014. IoTbased intelligent perception and access of manufacturing resource toward cloud manufacturing. IEEE Trans. Industrial Informatics, 10(2), pp.15471557.
Wang, D., Yang, Y. and Mi, Z., 2015. A geneticbased approach to web service composition in geodistributed cloud environment. Computers & Electrical Engineering, 43, pp.129141.
Wu, D., Greer, M.J., Rosen, D.W. and Schaefer, D., 2013, June. Cloud manufacturing: drivers, current status, and future trends. In ASME 2013 International Manufacturing Science and Engineering Conference collocated with the 41st North American Manufacturing Research Conference (pp. V002T02A003V002T02A003). American Society of Mechanical Engineers.
Wu, Q., Ishikawa, F., Zhu, Q. and Shin, D.H., 2016. QoSaware multigranularity service composition: Modeling and optimization. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 46(11), pp.15651577.
Wu, Q., Zhou, M., Zhu, Q. and Xia, Y., 2018. VCG auctionbased dynamic pricing for multigranularity service composition. IEEE Transactions on Automation Science and Engineering, 15(2), pp.796805.
Zeng, L., Benatallah, B., Ngu, A.H., Dumas, M., Kalagnanam, J. and Chang, H., 2004. QoSaware middleware for web services composition. IEEE Transactions on software engineering, 30(5), pp.311327.
Zhou, J. and Yao, X., 2017. A hybrid artificial bee colony algorithm for optimal selection of QoSbased cloud manufacturing service composition. The International Journal of Advanced Manufacturing Technology, 88(912), pp.33713387.
Zhou, L., Zhang, L., Zhao, C., Laili, Y. and Xu, L., 2018. Diverse task scheduling for individualized requirements in cloud manufacturing. Enterprise Information Systems, 12(3), pp.300318.
 Figure 1. Schematic diagram of the CMfg
 Figure 2. Several routes to complete a request
 Figure 3. Flow chart of GA, PSO and SSO
 Figure 4. The algorithm flow chart of EOA
 Figure 5. Comparison of the SSO Ensemble to GA, PSO and SSO algorithm in the different sizes of the problem space
 Figure 6. Comparison of the intermediate results for 20 times run the algorithms
 Figure 7. Comparison of the algorithms using different user preferences
 Figure 8. Comparison of solutions with the minimum, average and maximum fitness value in 100 runs