Multi-Objective Optimization of Service Selection and Scheduling in Cloud Manufacturing Considering Environmental Sustainability

: Cloud manufacturing is an emerging service-oriented paradigm that works by taking advantage of distributed manufacturing resources and capabilities to collaboratively perform a manufacturing task, with the consideration of QoS (Quality of Service) requirements such as cost, time and quality. Incorporating environmental concerns and sustainability into cloud manufacturing to produce a much greener product has become an urgent issue since there is ﬁerce market competition and an increasing environment consciousness from customers. In this paper, we present a multi-objective optimization approach to selecting and scheduling cloud manufacturing services from the viewpoints of the economy and environment including carbon emissions and water resource. Subject to the carbon cap regulation, a multi-objective model for a cloud manufacturing task is built with the aim of minimizing total costs, carbon emissions, and water resource use. Transportation mode selections and carbon emissions from both cloud manufacturing services and transportation activities are taken into account in this model. The ε -constraint method is employed to obtain the exact Pareto front of optimal solutions. A case study from automobile cloud manufacturing is used to illustrate the e ﬀ ectiveness of the presented approach. Numerical experiments are conducted to compare the presented approach and the simple additive weighting method. The results show that the presented ε -constraint method can obtain a better and more diverse Pareto set of solutions and that it can solve the models in a reasonable time.


Introduction
With the development of modern information technology, fierce market competition, and diverse customer needs, cloud manufacturing has emerged as a convenient manufacturing mode for organizing global manufacturing resources and capabilities to perform a specific manufacturing task by means of cloud computing [1]. Cloud manufacturing can be regarded as a specific kind of SaaS (Software as a Service), i.e., manufacturing as a service, and users can use cloud manufacturing services based on a pay-as-you-go mode [2]. Under the paradigm of cloud manufacturing, enterprises encapsulate their manufacturing resources into cloud manufacturing services with standard information description, namely, virtualization of manufacturing resources [1,2]. Then, the manufacturing services are published on a cloud manufacturing platform. Once a user submits the request for a manufacturing task, the cloud platform performs service discovery, service matching, and service selection and scheduling such that the user requirements for QoS (Quality of Service) like cost and due date are satisfied. A vast number of studies on cloud manufacturing have been carried out during recent years [3,4] on issues

Literature Review
The studies on cloud manufacturing mainly include service discovery, service matching, and service selection and scheduling. Below, the literatures about the three aspects are elaborated. For a comprehensive review, readers can be referred to the literatures in [3,14].
Due to a vast number of enterprises involved in a cloud manufacturing platform, a mechanism of dynamically discovering the encapsulated services is needed to match the services with the submitted subtasks. Although there is ambiguity between service discovery and service matching and the two terms are used interchangeably in some literature, we distinguish the two. Service discovery is the means of dynamically discovering the cloud manufacturing services in terms of the functions that a subtask requires, whereas service matching means matching a service to a subtask in terms of non-function attributes. To discover the cloud manufacturing services dynamically, formal representation of functions and inputs and outputs of services are requisite, considering various slight variations in the information representation provided by various services. A knowledge representation such as ontology acts as one of the main means to formalize the functions and inputs and outputs of a service. Wang et al. (2014) proposed a modeling framework of cloud manufacturing tasks using ontology to formally express the classification of the manufacturing tasks and modeling requirements [5].  implemented a proactive service discovery by using OWL (Ontology Web Language) to represent function attributes of services [6]. With regard to service matching, it aims to find suitable services from the discovered candidate service with the same functions by comparing their non-functional attributes, such as product quality and delivery time.  developed a two-side matching model for non-function attributes of services such as product quality and supply capacity using dual hesitant fuzzy sets [8]. Tao et al. (2009) presented a framework for integrating service search and service matching by considering similarity degrees between services and subtasks. The similarity degree is calculated by summing the basic similarities in function, input and output, and other non-functional attributes [9]. Liu and Chen (2019) proposed an approach to recommending cloud manufacturing services by clustering and similarity-based recommending. The similarity degree takes into account both task similarity and QoS similarity [10].
After service discovery and matching is finished, a number of legitimate cloud manufacturing services are available, and they differ in QoS requirements such as costs, prices, and time. Consequently, how to select the services, assign the services to the subtasks, and schedule them in a timely manner to satisfy the QoS requirements of user tasks becomes a challenging problem [4]. Due to the fact that a cloud manufacturing task (i.e., a user) generally has various service requirements like due date, cost, reliability, and reputation, service selecting and scheduling is regarded as a multi-objective optimization problem in which it is impossible to achieve all optimal results simultaneously in multiple objectives, and an improvement in one objective may lead to the deterioration in another objective. To solve the multi-objective problem, the main methods in existing studies include the simple additive weighting (SAW) method [11] and meta-heuristics algorithms, like the genetic algorithm (GA) [20] and ant colony optimization (ACO) [21]. The studies mainly differ in the chosen criteria for measuring QoS, like cost, time, reputation, energy usage, and pass rate. Akbaripour employed SAW to solve the multi-objective manufacturing service selection problem with a pre-determined weight for each objective, and an exact mathematical programming solver GAMS was used to obtain optimal results [11]. Aghamohammadzadeh et al. (2019) presented an approach to composing and selecting cloud service providers in a cloud manufacturing environment by using cloud-entropy, an index for measuring the complexity of the composed cloud services, and other objectives like cost and time [20]. They solved the multi-objective optimization model using Non-dominated sorting genetic algorithm II (NSGA_II). Li et al. (2018) considered multi-task scheduling in cloud manufacturing services by optimizing multiple objectives including makespan, time, and quality of service such that the dependencies among subtasks of a task were observed [22]. Moreover, both ACO and NSGA_II were employed to solve the multi-objective model, and the experiments showed that ACO can obtain a more diverse set of Pareto solution, thus offering more selection alternatives for customers. Zhang et al. (2019) constructed a comprehensive cloud manufacturing platform for injection molding, and the optimal service selections were derived using GA [23].
However, logistics and transportation as important activities in cloud manufacturing are ignored in the literature until recently [4,11,14]. Lartigau et al. (2015) proposed to take into account the transportation activities between physical locations of cloud services when composing a cloud manufacturing task [21]. Liu et al. (2016) proposed a multi-task cloud manufacturing model for assigning multiple tasks to cloud manufacturing services including logistic time by satisfying the QoS Sustainability 2020, 12, 7733 4 of 19 requirements for tasks [24]. Zhou et al. (2020) investigated a logistics scheduling problem for cloud services to reduce the average delivery time from manufacturers to customers [25].
It becomes gradually recognized that cloud manufacturing should increase its sustainability by reducing its environmental impacts, reducing its waste, and reusing and recycling renewable resources [16]. Nevertheless, there exist a significant gap between cloud manufacturing and sustainable manufacturing. The only paper considering carbon emissions in cloud manufacturing is that by He et al. (2019) [26]. Our study is different from their studies, which only address carbon emissions in manufacturing activities, because we further take into account carbon emissions in transportation activities between cloud manufacturing services, namely carbon footprint from manufacturing to transportation. Moreover, we give a hard carbon emission cap, i.e., carbon cap regulation, for total carbon emissions when selecting, composing, and scheduling cloud manufacturing services. The reason is that an increasing number of countries around the world have imposed carbon emission regulations like carbon caps and carbon taxes [17] since the Paris Agreement. Therefore, it is instructive to consider carbon regulations in the studies on cloud manufacturing. To keep cloud manufacturing environmentally friendly and sustainable, minimization of water resource usage in cloud manufacturing tasks is taken into account in our study.

Problem Description
A cloud manufacturing framework consists of a central cloud manufacturing platform, small and medium-sized enterprises (SMEs) offering various cloud manufacturing services, and manufacturing task requests from users, as shown in Figure 1. An enterprise encapsulates its manufacturing services or capabilities, registers them to the cloud manufacturing platform, and then publishes them. All registered and published services are put into the service pool managed by the platform. Once a user submits its manufacturing task to the platform, the task is decomposed into a set of the subtasks with precedence relations. The platform is responsible for discovering and matching candidate manufacturing services for the corresponding subtasks. Then, the services are selected from the candidate service set and assigned to the subtasks. The start and end time of each subtask are determined and scheduled according to the user's required due date. It is assumed that a task has been decomposed into the subtasks and that services can be discovered and matched in accordance with the well-known method mentioned in the literature. Therefore, our study only focuses on the service selection and scheduling problem.  [26]. Our study is different from their studies, which only address carbon emissions in manufacturing activities, because we further take into account carbon emissions in transportation activities between cloud manufacturing services, namely carbon footprint from manufacturing to transportation. Moreover, we give a hard carbon emission cap, i.e., carbon cap regulation, for total carbon emissions when selecting, composing, and scheduling cloud manufacturing services. The reason is that an increasing number of countries around the world have imposed carbon emission regulations like carbon caps and carbon taxes [17] since the Paris Agreement. Therefore, it is instructive to consider carbon regulations in the studies on cloud manufacturing. To keep cloud manufacturing environmentally friendly and sustainable, minimization of water resource usage in cloud manufacturing tasks is taken into account in our study.

Problem Description
A cloud manufacturing framework consists of a central cloud manufacturing platform, small and medium-sized enterprises (SMEs) offering various cloud manufacturing services, and manufacturing task requests from users, as shown in Figure 1. An enterprise encapsulates its manufacturing services or capabilities, registers them to the cloud manufacturing platform, and then publishes them. All registered and published services are put into the service pool managed by the platform. Once a user submits its manufacturing task to the platform, the task is decomposed into a set of the subtasks with precedence relations. The platform is responsible for discovering and matching candidate manufacturing services for the corresponding subtasks. Then, the services are selected from the candidate service set and assigned to the subtasks. The start and end time of each subtask are determined and scheduled according to the user's required due date. It is assumed that a task has been decomposed into the subtasks and that services can be discovered and matched in accordance with the well-known method mentioned in the literature. Therefore, our study only focuses on the service selection and scheduling problem. Suppose a manufacturing task TA is submitted to the cloud manufacturing platform and is decomposed into a set of the subtasks ST i (i = 1, 2, · · · , I), namely, TA = {ST 1 , ST 2 , · · · , ST i , · · · }. An enterprise SME j (j = 1, 2, · · · , J) can provide several cloud manufacturing services MS = MS j1 , MS j2 , · · · , MS jk , · · · where MS jk represents kth manufacturing service by the jth enterprise. The transportation activities and between SMEs are considered, and there exist several transportation modes m (m = 1, 2, . . . .) for transporting a product from one service site to another site. For example, land transportation and air transportation have different transportation costs and per-unit carbon emissions. Although air transportation has relatively higher transportation costs and carbon emissions when compared to land transportation, it offers much shorter transportation time. The carbon footprint from manufacturing to transportation is also taken into account. It is required by the user that the total carbon emissions for the configured cloud services cannot exceed the carbon allowance e cap , which is specified according to an annual plan for total carbon amount for this enterprise. The aim of this study is to select and assign the cloud manufacturing services to the subtasks with the multiple objectives of minimizing total cost, carbon emissions, and water usage.

Assumptions
(1) The task has been decomposed into the subtasks.
(2) Service discovery and matching has been carried out beforehand.
(3) A subtask cannot be interrupted once it begins to execute. (4) Carbon cap (i.e., limitation) is known and given by the user according to a yearly planning for the reduction of CO 2 emissions. (5) Each cloud manufacturing service provides its environment and resource data in its service description, such as CO 2 emissions in manufacturing activities and water usage in production processes. (6) We focus on discrete cloud manufacturing tasks where CO 2 emissions by electricity account for most of greenhouse gas emissions, although in continuous cloud manufacturing such as biomass products, other greenhouse gases such as NO 2 and Sulfur dioxide should be dealt with.

Decision Variables
Three types of decisions needs to be made in the service selection and scheduling problem in cloud manufacturing. The variable x ijk represents task assignment decisions and is defined as: The logistic decisions for transportation means are denoted by the variable y m ijk,lpk which is defined as follows: 1, i f transportation model m is selected f or shippping between service MS jk o f subtask i and service MS pk o f subtask l 0, Otherwise The scheduling decisions determine the start time of each subtask such that the delivery date can be met. The variable T i defines the start time of each subtask in the problem, namely,

Objectives
(1) Total cost The total cost consists of service costs, setup costs of cloud manufacturing services, and transportation costs between two consecutive manufacturing services. The service cost and setup cost of a cloud manufacturing service is formulated as: where SC ijk and PC ijk represent service cost and setup cost of cloud manufacturing service MS jk , respectively, and BAT is batch of the manufacturing. The transportation cost between two consecutive manufacturing services MS jk and MS pk is calculated as: where Dist jp , CT m , and W i are the geographical distance between enterprise j and enterprise p, unit transportation cost, weight of transported semi-product or product for subtask i, respectively. y m ijk,lpk denotes transportation model m is selected for shipment between service MS jk of subtask i and MS pk of subtask l. Therefore, the total cost (TOC) in cloud manufacturing is formulated as: where PR is the set of a pair of subtasks with immediate precedence relations.
(2) Total carbon emissions The total carbon emissions in cloud manufacturing include the CO 2 emissions in manufacturing services and those in transportation activities between them. The CO 2 emissions of a manufacturing service MS jk in processing, cutting, and forming material can be calculated as: where em ijk represents per-unit carbons emission for manufacturing activities MS jk performing subtask i, and BAT is the batch of manufacturing. The CO 2 emissions by transportation activity between two manufacturing services are formulated as: where et m represent per-unit carbons emissions by transportation activity with transportation mode m. Consequently, the total carbon emissions (TCE) are calculated as: (3) Water resource The manufacturing processes within a cloud manufacturing services need to consume a lot of water in processing, lubricating, and cooling activities. The total amount of water usage (TAW) in cloud manufacturing amounts to: where WA ijk denotes the amount of water consumed by service MS jk to perform subtask i.

(4) Multi-objective optimization
With the three objective expressions for total cost, total carbon emissions, and total water usage, the multi-objective optimization for sustainable cloud manufacturing can be formulated as: Minimize f 1 : TOC Minimize f 2 : TCE Minimize f 3 : TAW Before conducting multi-objective optimization, some constraints need to be considered in this study.

Constraints
(1) Subtask assignment constraint A subtask is only assigned to a cloud manufacturing service to carry out the manufacturing task. The assignment constraints are formulated as follows: (2) Precedence constraint The tasks with the precedence relations must be scheduled such that a succeeding task can only be executed if all its proceeding tasks have been finished and the corresponding semi-finished product has been shipped. The precedence constraint is described as: ijk,pj k y m ijk,pj k ∀p, ∀i ∈ PRE(p) where ST ijk is the service time of service MS jk w.r.t. subtask ST i and PRE is the set of all preceding task of the task p. (3) Time window constraint We consider in this study that a cloud manufacturing service can specify its service time window by the start and end time of the service to avoid waiting and time conflicts between customers, owing to the fact that a cloud service could serve multiple customers. Consequently, a subtask can only be assigned to a service if its start time and finish time fall in the time window. The constraints can be represented as: where SOT i jk and EOT jk are the start time and end time of a time window by cloud service MS jk .
(4) Service quality constraint Service quality is calculated by considering average pass rate for the selected cloud manufacturing services. It should satisfy the minimal pass rate specified by a user task.
where Q ijk is the service quality of service MS jk w.r.t. subtask ST i .

(5) Due date constraint
The finish time of the final subtask must satisfy the delivery time of a user task. The constraint is elaborated as follows: (12) where T N represents the start time of the final subtask. T max is the due date for the submitted user task.

(6) Carbon cap regulation
The carbon cap regulation enforces that the total amount of CO 2 emission must not exceed a specified carbon allowance. The constraint is described as follows: (7) Budget constraint The service cost of composite services can be less than or equal to the budget specified by a user task. The budget constraint is formulated as: (8) Logical constraint Generally there exist logical constraints between decision variables. The logical constraints between transportation decisions and subtask assignment decisions should be imposed to ensure that a transportation mode can only be selected if the corresponding services are assigned to the two consecutive subtasks. Due to the non-linear term, i.e., multiplication of two decision variables, in this formula, a linearization technique must be adopted in this study to ensure that mathematical programming can be used to solve the mathematical model. An auxiliary binary variable z rkk is introduced and defined below.

Multi-Objective Optimization Model
With decision variables and constraints defined above, the multi-objective optimization model for service selection and scheduling in cloud manufacturing is formulated as: where the objectives TOC, TCE, and TAW represent total cost, total carbon emissions, and total amount of water usage, respectively, as defined in Equations (4)-(6).

Solution Algorithm for Multi-Objective Optimization
The aim of multi-objective optimization is to obtain Pareto-optimal solutions for the concerned problem, owing to the nonexistence of a solution that has all optimal values in every objective for the minimization problem. A Pareto-optimal solution set is defined to be the set of all non-dominated solutions. A solution x is called non-dominated (for minimization problem), if it satisfies the following inequalities: where f i (x) is the ith objective function to be optimized. In other words, a solution is a non-dominated one if it is not much worse in all objectives and has one better value in at least one objective than all other solutions.
There exist several limited studies on cloud manufacturing which apply a pre-determined additive weighting method (SAW) for multi-objective optimization. The advantage of the Pareto-optimal based method is that decision makers can dynamically make optimal polices according to the real situation without a pre-determined weight. In this study, we employ the ε-constraint method [19] to obtain exact Pareto-optimal solutions, which differs from NSGA-II with approximate Pareto-optimal methods.
In the ε-constraint method, one of multiple objectives is selected as the main objective to be optimized, and other objectives are transformed into the constraints with corresponding ε as the upper bounds of the constraints. As a consequence, a multiple objective optimization problem can be handled by iteratively solving a serial of single-objective optimization problems by varying the values of ε such that the optimal Pareto-front can be derived. With the ε-constraint method, the model (MO − SSS) for service selection and scheduling in this study can be converted to a single objective optimization problem with other objectives moving down to constraints. The transformed model is formulated as the model MO − SSS(ε): MO − SSS(ε) : where the optimized objective is f 1 , i.e., total cost, and the objectives f 2 and f 3 , i.e., total carbon emissions and water resource, are converted as corresponding constraints with specified upper bounds ε 1 and ε 2 , respectively. By varying the values of ε 1 and ε 2 according to a step size, a serial of single-objective optimization problems can be solved, and thus the optimal Pareto front can be obtained.
To determine the range of the value of ε 2 and ε 3 , the ideal points and nadir points of the objectives f 2 and f 3 should be obtained, and they correspond to the minimal values and maximal values of f 2 and f 3 , respectively. The ideal points of f 1 , f 2 and f 3 , i.e., f I 1 , f I 2 and f I 3 , can be derived by solving the following linear programming problems: Similarly, by adding the constraints restricting other objectives equal to their ideal points, the nadir points of f 2 and f 3 , i.e., f N 2 and f N 3 , can be obtained by solving the following linear programming problems: (N1) : , can be determined. The complete ε-constraint algorithm for solving service selection and scheduling in cloud manufacturing is described as follows (Algorithm 1): Algorithm 1. The ε-constraint algorithm for solving multi-objective optimization Step 1. Obtain the ideal points of the objectives f 2 and f 3 by solving the models M1-M3.
Step 2. Obtain the nadir points of the objectives f 2 and f 3 by solving the models N1-N3.
Step 3. Set the step size ∆ as an initial value. Initialize the set of Pareto-optimal set Ω = φ.
As described above, the algorithm begins with obtaining ideal points and nadir points of each objective, respectively. The step size ∆ should be set and initialized. When ε 2 and ε 3 are less than or equal to their nadir values (i.e., upper bounds for the minimization problem), new constraints, i.e., ε-constraints, are added and thus the model MO − SSS(ε) is derived. By solving this model, its optimal objective f 1 (ε) can be obtained and the expressions f 2 (ε), f 3 (ε) can be calculated. A triple tuple ( f 1 (ε), f 2 (ε), f 3 (ε)) is added to the Pareto-optimal set Ω. Then the step size is updated and the process iterates until the corresponding condition does not hold. Finally, the Pareto-optimal set Ω, i.e., Pareto front, is derived.

Case Study for a Small Example
To verify the effectiveness of the suggested models and solution algorithms, the production of automobile engine parts including valve (VAL), Exhaust Gas Re-circulation (EGR) passage, crankcase (CRK), gear housing (GHS), and oil pan (OIP) from reference [27] is used an example. The manufacturing task is decomposed into five subtasks. Overall, the task has a sequential structure. SMEs offer cloud manufacturing services for performing corresponding subtasks. It is possible that a subtask may be performed by the services of several SMEs with differentiated QoS, and a SME offers several cloud manufacturing services for different subtasks. Table 1 shows the data about SMEs and their cloud services, including the manufacturing cost, time, pass rate, CO 2 emissions, water usage, and time windows of each service. As shown in the table, 13 enterprises can offer one or two cloud manufacturing services with specified service data for corresponding subtasks. For example, SME3 offers two cloud manufacturing services for the subtasks EGR and GHS, respectively. The geographical distances between enterprises are shown in Table A1 (see Appendix A). Other parameters for the manufacturing example include cost budget, delivery deadline, quality level, and carbon emission factors and are listed in Table 2. Two kinds of transportation models, i.e., m = 2, such as land and air transportation are assumed in the example.
With the data as an input, the multi-objective model for cloud manufacturing, i.e., MO − SSS(ε) in (22), is solved using the ε-constraints method, and the model is programmed in Cplex C++ 12.7.0 with the computational time 817.69 s. The optimization results, including all Pareto-optimal solutions, are shown in Table 3. For example, the solution R4 indicates that the objective values for cost, carbon emissions, and water usage are 265,341, 14,683.7, and 1212, respectively, if the five subtasks are assigned to SME7, SME3, SME4, SME13, and SME12, respectively, and the transportation mode 2 is selected from SME7 to SME3, and mode 1 is used for shipping between other SMEs. There are 18 non-dominated solutions, as shown in Table 3, and decision makers can select one of the solutions as their decisions according to their preference with regards to economic, environmental, and water resources. One can selects the solution R1 if the minimal cost is preferably considered, whereas the solution R7 should be adopted if the decision makers focus on the least CO 2 emissions for cloud manufacturing. Figure 2 graphically displays the scheduling results for the two candidate solutions, namely solution R1 with the minimal cost and solution R7 with the least CO 2 emissions.

Comparison with the Weighted Sum Approach
To investigate with the effectiveness of the presented approach, the ε-constraints method is compared with simple additive weighting (SAW) approach. SAW is to assign a weight to each objective such that a multi-objective optimization problem can be converted into a single objective   (m = 1, 2) {0.0006, 0.0008} Table 3. Optimal service selections.

Comparison with the Weighted Sum Approach
To investigate with the effectiveness of the presented approach, the ε-constraints method is compared with simple additive weighting (SAW) approach. SAW is to assign a weight to each objective such that a multi-objective optimization problem can be converted into a single objective one. For cloud manufacturing, multi-objective optimization for service selection and scheduling with SAW approach is represented below.
(MO − SAW) : Minimize where f 1 , f 2 , f 3 are the normalized objectives for cost, carbon emissions, and water usage, respectively.
They are defined as f f = of the objective f r , respectively. w 1 , w 2 , and w 3 are corresponding weights for these three objectives.
The decision variables are the same with the model in (21). The process of solving the multi-objective optimization model by the simple additive weighting (SAW) method is depicted in Figure 3. The process begins with the initialization of the weights, i.e., w 1 = w 2 = 0, w 3 = 1. During each iteration, the weights are updated by increasing or decreasing a step size and the model is then solved by the commercial solver Cplex 12.7.0. The optimal solution is added to the Pareto set. When one of weights is larger than 1, the process ends and the Pareto-optimal set is obtained. For the small cloud manufacturing example mentioned above, the Pareto-optimal solutions by SAW with equal step size of weights are listed in Table 4. The coverage ratio is defined as N w /N ε , where N w is the number of the Pareto-optimal solutions by SAW and N ε is that of the Pareto-optimal solutions by the ε-constraints method. As shown in the table, the Pareto-optimal solutions by SAW can only obtain seven solutions, i.e., (R1, R2, R7, R8, R11, R14, R18). By contrast, the ε-constraints method can derive all 18 solution from R1 to R18, which have been shown in Table 3. The maximal coverage ratio achieves its maximal value of 38.89% even if step size of the weights becomes smaller than 0.01. Figure 4 graphically shows all Pareto fronts, i.e., Pareto-optimal points, by both the ε-constraints and SAW. Obviously, the ε-constraint approach finds all eighteen solutions and SAW can obtain only seven solutions of these solutions. Therefore, the ε-constraints method can achieve more Pareto-optimal points and more diverse Pareto distributions than the simple weighted sum approach. The process of solving the multi-objective optimization model by the simple additive weighting (SAW) method is depicted in Figure 3. The process begins with the initialization of the weights, i.e., = = 0, = 1. During each iteration, the weights are updated by increasing or decreasing a step size and the model is then solved by the commercial solver Cplex 12.7.0. The optimal solution is added to the Pareto set. When one of weights is larger than 1, the process ends and the Pareto-optimal set is obtained. For the small cloud manufacturing example mentioned above, the Pareto-optimal solutions by SAW with equal step size of weights are listed in Table 4. The coverage ratio is defined as ⁄ , where is the number of the Pareto-optimal solutions by SAW and is that of the Pareto-optimal solutions by the ε-constraints method. As shown in the table, the Pareto-optimal solutions by SAW can only obtain seven solutions, i.e., (R1, R2, R7, R8, R11, R14, R18). By contrast, the ε-constraints method can derive all 18 solution from R1 to R18, which have been shown in Table  3. The maximal coverage ratio achieves its maximal value of 38.89% even if step size of the weights becomes smaller than 0.01. Figure 4 graphically shows all Pareto fronts, i.e., Pareto-optimal points, by both the ε-constraints and SAW. Obviously, the -constraint approach finds all eighteen solutions and SAW can obtain only seven solutions of these solutions. Therefore, the -constraints method can achieve more Pareto-optimal points and more diverse Pareto distributions than the simple weighted sum approach.    To investigate the effectiveness and efficiency of the presented approach under medium-sized or larger-sized cases, numerical experiments are conducted to compare the -constraint method and SAW. Each case is denoted by case ID, namely * * , where , , represent the numbers of subtasks, SMEs, and services offered by a SME, respectively. We assume that the number of available cloud services provided by a SME is the same for all SMEs. By generating the numbers randomly, we can obtain the same case ID with different case data. Service costs and transportation cost per unit obey uniform distributions U[50, 1000] and U[0.005, 0.02], respectively. Carbon emissions and water usage are subject to normal distribution N [10,48] and N[0.5, 6.5], respectively. For each case, 10 experiments are randomly generated and the average coverage ratio and computational times are derived based on the 10 experiments. Table 5 lists the experimental results for the -constraint method and SAW with different scales of cases. The number of subtask varies from 5 to 20, and the number of SMEs takes a value from 10 to 20. For possible cloud services that a SME could provide, the value varies from 2 to 4 since in reality a SME only focuses one or several core services. It can be seen from the table that the coverage ratio by SAW is only 24.7~68.4% of that derived by theconstraint method, whatever the step size of weight update is. Consequently, the -constraint method can obtain more Pareto-optimal points than SAW within a reasonable time for most of the cases. However, the computational results cannot be solved within 3600 s. when the numbers of both subtask and SMEs are equal to or greater than 20. Therefore, there is a potential improvement in applying multi-objective evolutionary algorithms such as NSGA-II in solving the large-sized problems. To investigate the effectiveness and efficiency of the presented approach under medium-sized or larger-sized cases, numerical experiments are conducted to compare the ε-constraint method and SAW. Each case is denoted by case ID, namely I * J * K, where I, J, K represent the numbers of subtasks, SMEs, and services offered by a SME, respectively. We assume that the number of available cloud services provided by a SME is the same for all SMEs. By generating the numbers randomly, we can obtain the same case ID with different case data. Service costs and transportation cost per unit obey uniform distributions U[50, 1000] and U[0.005, 0.02], respectively. Carbon emissions and water usage are subject to normal distribution N [10,48] and N[0.5, 6.5], respectively. For each case, 10 experiments are randomly generated and the average coverage ratio and computational times are derived based on the 10 experiments. Table 5 lists the experimental results for the ε-constraint method and SAW with different scales of cases. The number of subtask varies from 5 to 20, and the number of SMEs takes a value from 10 to 20. For possible cloud services that a SME could provide, the value varies from 2 to 4 since in reality a SME only focuses one or several core services. It can be seen from the table that the coverage ratio by SAW is only 24.7~68.4% of that derived by the ε-constraint method, whatever the step size of weight update is. Consequently, the ε-constraint method can obtain more Pareto-optimal points than SAW within a reasonable time for most of the cases. However, the computational results cannot be solved within 3600 s. when the numbers of both subtask and SMEs are equal to or greater than 20. Therefore, there is a potential improvement in applying multi-objective evolutionary algorithms such as NSGA-II in solving the large-sized problems.

Conclusions
For service selection and scheduling in cloud manufacturing, an exact approach for solving multi-objective optimization is proposed in this study with the consideration of the sustainability of cloud manufacturing. Especially, the carbon emissions of both cloud manufacturing services and transportation activities are taken into account in the optimization model. Furthermore, we consider the decisions on transportation modes since in fact several transportation models such as highway, land, air transportation, and third-party logistics are available for cloud service enterprises, which has an effect on the quality of manufacturing services. Additionally, water usage, a large quantity of which may be consumed in manufacturing processes, is incorporated into the optimization model to keep cloud manufacturing resource conservative. The multi-objective model is solved with the ε-constraint approach, which can generate an exact Pareto front for the concerned problem and achieve much better and diverse Pareto solutions than the simple weighted sum approach. Experimental results show that it is effective and efficient for small or medium-size problem instances and can solve them in a reasonable time. Nevertheless, for large-scale problems, applying meta-heuristic algorithms such as NSGA-II should be addressed in further study.
Another research direction which is worth exploring is the uncertainty in service time and transportation time of a cloud service when the selection and scheduling in cloud manufacturing is addressed.