# A New Manufacturing Service Selection and Composition Method Using Improved Flower Pollination Algorithm

Authors: Wenyu Zhang; Yushu Yang; Shuai Zhang; Dejian Yu; Yangbing Xu
Journal: Mathematical Problems in Engineering
 (2016)

---

## Abstract

With an increasing number of manufacturing services, the means by which to select and compose these manufacturing services have become a challenging problem. It can be regarded as a multiobjective optimization problem that involves a variety of conflicting quality of service (QoS) attributes. In this study, a multiobjective optimization model of manufacturing service composition is presented that is based on QoS and an environmental index. Next, the skyline operator is applied to reduce the solution space. And then a new method called improved Flower Pollination Algorithm (FPA) is proposed for solving the problem of manufacturing service selection and composition. The improved FPA enhances the performance of basic FPA by combining the latter with crossover and mutation operators of the Differential Evolution (DE) algorithm. Finally, a case study is conducted to compare the proposed method with other evolutionary algorithms, including the Genetic Algorithm, DE, basic FPA, and extended FPA. The experimental results reveal that the proposed method performs best at solving the problem of manufacturing service selection and composition.


---

## Body

## 1. Introduction

With the rapid development of the Internet and associated information technology, many traditional manufacturing industries have changed the ways by which they provide products and services. Suppliers increasingly encapsulate their production capacities into services and upload them to shared network platforms. In general, user requirements are extremely complex and cannot be satisfied by a single manufacturing service. Therefore, to meet such increasingly complex requirements, appropriate candidate services must be chosen from a service set for each subtask and combined to form a composite service. The optimal composite manufacturing service is then identified from all the possible solutions and used to perform the multiobjective task [1]. As an increasing number of manufacturing services become available, the manner in which to select and compose them appropriately is a challenging problem. This is referred to as a multiobjective manufacturing grid resource service composition and optimal-selection problem [1].As for the background of manufacturing service selection and composition, the concept of cloud manufacturing, as a new manufacturing paradigm, was proposed by Zhang et al. [2] and has attracted considerable attention from experts and scholars in the field of manufacturing service. Tao et al. [3] presented the classification of manufacturing resource and service and proposed a five-layered structure (i.e., resource layer, perception layer, network layer, service layer, and application layer) toward cloud manufacturing.With the rapid increase in the number of web services having the same functional attributes, selecting an appropriate candidate service based on nonfunctional attributes such as quality of service (QoS) has become an equally challenging task that has also attracted considerable attention [4]. As with web services, each manufacturing service has functional and nonfunctional attributes [5]. Regarding nonfunctional attributes, QoS has become crucial in evaluating the overall performance of manufacturing service composition. Time, cost, reliability, and availability are four representative QoS properties that are frequently employed by researchers. Tao et al. [6] presented a QoS description supporting resource service correlation. They also described the basic resource service composite modes (RSCM) for composite resource service and the methods to translate a complicated RSCM into a simple sequence RSCM.However, it is worth noting that, unlike typical web service composition, additional restrictions on manufacturing service composition exist [7]. For example, manufacturing enterprises belong to the entity enterprises that often produce considerable amount of contamination in the course of providing services. Therefore, from the perspective of green manufacturing [7], an environmental index (i.e., carbon emission) must be factored into the evaluation system to measure the overall performance of a manufacturing service composition. In addition, as the number of candidate services increases, the solution space becomes so large that finding the optimal solution is difficult. Thus, some researchers have proposed using the skyline operator [8] for service composition and have advanced the concept of skyline service [9, 10] to limit the size of the solution space and improve the combined utility of composite solutions.Even after applying of the skyline operator, selecting an optimal composite solution remains time-consuming. Although many evolutionary algorithms, like Genetic Algorithm (GA), Particle Swarm Optimization (PSO) algorithm, and Differential Evolution (DE) algorithm, have been proposed to solve this problem, room remains for improvement. The Flower Pollination Algorithm (FPA) was first proposed by Yang [11] in 2012 as a new metaheuristic algorithm. It has been applied to many fields and has been shown to perform well, especially at solving optimization problems.In this study, a novel and efficient method is proposed that employs not only the skyline operator but also the improved FPA (IFPA) to solve the problem of QoS-based manufacturing service selection and composition. The use of the skyline operator means that only those services that belong to the skyline service set are valid candidate services [9]. In this study, the differences between our proposed IFPA and basic FPA are the following three points. First, a grouping strategy and elite replacement strategy are used to improve the convergence speed of FPA. Second, we not only use the adaptive parameter to adjust dynamically the switch probability between global and local pollination but also employ an adaptive scaling factor to control the step size of the global search. Third, we introduce crossover and mutation operators of the DE algorithm into the local search of FPA to improve its performance.The rest of this paper is organized as follows. Related studies about manufacturing service composition and the development of relevant evolutionary algorithms are discussed in Section2. Section 3 provides a description of the model that is established in this study and definitions of skyline service. The basic FPA and its improvements are introduced in Section 4. Section 5 offers a case study and several comparative experiments used to illustrate the practicality and effectiveness of the proposed method. A conclusion that outlines the authors’ main contributions and that describes future research is provided in Section 6.


## 2. Related Work

### 2.1. Manufacturing Service Selection and Composition

With the rapid development of cloud computing and the advent of big data, the problem of optimizing composite services is causing increasing concern in the manufacturing industry. A composite service is the result of aggregating multiple services into one, and its aim is to execute functions of greater complexity than those that can be performed by a single service [12].To evaluate the overall performance of service composition, Zeng et al. [13] set QoS attributes as the main measurement, including execution price, execution time, reputation, reliability, and availability, which were widely accepted and applied. To obtain high quality of service composition, they also introduced a middleware platform to express user satisfaction as utility functions. Tao et al. [14] presented different aggregation formulations for four different structures of service composition, including sequence, parallel, selective and cycle. In addition, the correlation of service composition was taken into consideration. To minimize implementation time and cost and to maximize reliability, an improved Particle Swarm Optimization (PSO) algorithm was introduced as the key technology. Considering the heterogeneous QoS values and homogeneous resources in manufacturing service, Zheng et al. [15] took the dynamic customer requirements into account by introducing the fuzzy theory and presented the way of calculating fuzzy QoS value and selecting the best services considering design preference. Hao et al. [16] pointed out that, in order to obtain the best service composition solution, user QoS constraints need to be relaxed rather than overlooked, so they proposed a novel QoS model and computational framework. Tao et al. [17] made an overview about manufacturing service management and analyzed the future research directions of manufacturing service composition and optimization.However, most of the aforementioned studies only focus on the general QoS attributes and ignore the importance of environmental protection, which has become one of the most important attributes in the process of selecting manufacturing service [7, 17]. Therefore, an environmental index such as carbon emission is added in this paper as a soft constraint to measure the overall performance of manufacturing service composition.As a multiobjective optimization problem, its solution space is very large and the objectives of manufacturing service composition are in conflict with each other. Thus, Alrifai et al. [18] first introduced the skyline operator [8] into service composition to reduce the number of candidate services. They also proposed the definition of skyline service to improve the efficiency of service selection. Skyline service has been widely used by scholars and become an active research area [10, 12]. In view of its good performance, the proposed method in this paper incorporates the skyline service concept in the model to limit the size of the solution space and improve the overall quality of the optimal manufacturing service composition solution.


### 2.2. The Development of Evolutionary Algorithms in Manufacturing Service Composition

In order to solve the problem of service composition, experts and scholars have used a variety of evolutionary algorithms. For example, in the authors’ previous work [19], the extended GA was employed to solve the problem of manufacturing resource composition, treating the overall utility of multiple objectives as the metric of the composite solution. Li et al. [4] employed a multipopulation GA to solve the problem of QoS-oriented web service composition for the Internet of Things. Tao et al. [1] presented the concept of multiobjective manufacturing grid resource service composition and optimization problem and used the PSO algorithm to solve it. They not only introduced the basic resource service composite modes (RSCM) and the principles to translate a complicated RSCM into a simple sequence but also used the extended PSO algorithm to improve the quality of the optimal solution. Pop et al. [20] introduced a modified DE algorithm with a new genome-encoding method to solve the problem of service composition. Wei and Liu [21] introduced the Ant Colony Optimization (ACO) algorithm into the cloud manufacturing resource allocation model. Wang et al. [22] proposed a new optimization algorithm called the culture max-min ant system, which not only established a novel comprehensive model including both generic and domain QoS but also combined the Culture Algorithm (CA) and the ACO algorithm into a new approach. Lartigau et al. [7] applied an adapted Artificial Bee Colony (ABC) optimization algorithm to the cloud manufacturing service composition model, which not only included QoS attributes but also took the geoperspective transportation into consideration.Although many conventional evolutionary algorithms have been used in service composition, each has its own deficiencies, for example, converging too easily to local optimum or premature convergence. In order to obtain better optimization solutions, a variety of emerging algorithms have been proposed. For example, inspired by the biological process of flower pollination, Yang [11] first proposed FPA in 2012 and proved that it was more efficient in solving optimization problems than both the GA and PSO.As a novel and effective metaheuristic algorithm, FPA has been used in many fields. Abdelaziz and Ali [23] used it in a multimachine power system to seek the optimal parameters of static VAR compensator damping controller. Abdelaziz et al. [24] also used FPA to solve the problem of economic load dispatch and combined economic emission dispatch problems. To solve sizing optimization problem of truss structures, Bekdaş et al. [25] used FPA to minimize the weight of truss structures. To obtain feasible optimized designs, they added an iterative constraint handling strategy into the FPA search engine. El-henawy and Ismail [26] extended the basic FPA by combining it with chaotic search to solve large integer programming problems. Wang et al. [27] applied FPA with bee pollinator in the field of cluster analysis to make up for deficiencies in the k-means method. By comparing it with other algorithms such as GA, they proved the better accuracy and higher level of stability of their proposed method. In order to solve the problem of multilevel image thresholding, Ouadfel and Taleb-Ahmed [28] applied FPA to search for the best values from a given number of thresholds with the purpose of maximizing the objective function. To apply the FPA to solve the antenna positioning problem, Dahi et al. [29] proposed four binary variants of the FPA by applying the principal mapping techniques. In addition, to study the applicability of this new metaheuristic algorithm in real-world applications, Draa [30] reviewed the performance of FPA in terms of both qualitative and quantitative aspects, and then he summarized the defects of the basic FPA by comparing it with state-of-the-art algorithms and pointed out the extension and application directions of FPA.However, even though FPA research is expanding, to the best of our knowledge, it has seldom been used to solve the optimization problem of service composition, let alone be applied in the field of manufacturing service selection and composition. Therefore, in this study, FPA is applied to solve the manufacturing service selection and composition problem by improving the standard FPA in combination with DE. The experimental results show that the proposed IFPA can obtain better optimal solutions than other algorithms such as GA [4], DE [31], basic FPA [11], and even extended FPA (EFPA) [32].


## 2.1. Manufacturing Service Selection and Composition

With the rapid development of cloud computing and the advent of big data, the problem of optimizing composite services is causing increasing concern in the manufacturing industry. A composite service is the result of aggregating multiple services into one, and its aim is to execute functions of greater complexity than those that can be performed by a single service [12].To evaluate the overall performance of service composition, Zeng et al. [13] set QoS attributes as the main measurement, including execution price, execution time, reputation, reliability, and availability, which were widely accepted and applied. To obtain high quality of service composition, they also introduced a middleware platform to express user satisfaction as utility functions. Tao et al. [14] presented different aggregation formulations for four different structures of service composition, including sequence, parallel, selective and cycle. In addition, the correlation of service composition was taken into consideration. To minimize implementation time and cost and to maximize reliability, an improved Particle Swarm Optimization (PSO) algorithm was introduced as the key technology. Considering the heterogeneous QoS values and homogeneous resources in manufacturing service, Zheng et al. [15] took the dynamic customer requirements into account by introducing the fuzzy theory and presented the way of calculating fuzzy QoS value and selecting the best services considering design preference. Hao et al. [16] pointed out that, in order to obtain the best service composition solution, user QoS constraints need to be relaxed rather than overlooked, so they proposed a novel QoS model and computational framework. Tao et al. [17] made an overview about manufacturing service management and analyzed the future research directions of manufacturing service composition and optimization.However, most of the aforementioned studies only focus on the general QoS attributes and ignore the importance of environmental protection, which has become one of the most important attributes in the process of selecting manufacturing service [7, 17]. Therefore, an environmental index such as carbon emission is added in this paper as a soft constraint to measure the overall performance of manufacturing service composition.As a multiobjective optimization problem, its solution space is very large and the objectives of manufacturing service composition are in conflict with each other. Thus, Alrifai et al. [18] first introduced the skyline operator [8] into service composition to reduce the number of candidate services. They also proposed the definition of skyline service to improve the efficiency of service selection. Skyline service has been widely used by scholars and become an active research area [10, 12]. In view of its good performance, the proposed method in this paper incorporates the skyline service concept in the model to limit the size of the solution space and improve the overall quality of the optimal manufacturing service composition solution.


## 2.2. The Development of Evolutionary Algorithms in Manufacturing Service Composition

In order to solve the problem of service composition, experts and scholars have used a variety of evolutionary algorithms. For example, in the authors’ previous work [19], the extended GA was employed to solve the problem of manufacturing resource composition, treating the overall utility of multiple objectives as the metric of the composite solution. Li et al. [4] employed a multipopulation GA to solve the problem of QoS-oriented web service composition for the Internet of Things. Tao et al. [1] presented the concept of multiobjective manufacturing grid resource service composition and optimization problem and used the PSO algorithm to solve it. They not only introduced the basic resource service composite modes (RSCM) and the principles to translate a complicated RSCM into a simple sequence but also used the extended PSO algorithm to improve the quality of the optimal solution. Pop et al. [20] introduced a modified DE algorithm with a new genome-encoding method to solve the problem of service composition. Wei and Liu [21] introduced the Ant Colony Optimization (ACO) algorithm into the cloud manufacturing resource allocation model. Wang et al. [22] proposed a new optimization algorithm called the culture max-min ant system, which not only established a novel comprehensive model including both generic and domain QoS but also combined the Culture Algorithm (CA) and the ACO algorithm into a new approach. Lartigau et al. [7] applied an adapted Artificial Bee Colony (ABC) optimization algorithm to the cloud manufacturing service composition model, which not only included QoS attributes but also took the geoperspective transportation into consideration.Although many conventional evolutionary algorithms have been used in service composition, each has its own deficiencies, for example, converging too easily to local optimum or premature convergence. In order to obtain better optimization solutions, a variety of emerging algorithms have been proposed. For example, inspired by the biological process of flower pollination, Yang [11] first proposed FPA in 2012 and proved that it was more efficient in solving optimization problems than both the GA and PSO.As a novel and effective metaheuristic algorithm, FPA has been used in many fields. Abdelaziz and Ali [23] used it in a multimachine power system to seek the optimal parameters of static VAR compensator damping controller. Abdelaziz et al. [24] also used FPA to solve the problem of economic load dispatch and combined economic emission dispatch problems. To solve sizing optimization problem of truss structures, Bekdaş et al. [25] used FPA to minimize the weight of truss structures. To obtain feasible optimized designs, they added an iterative constraint handling strategy into the FPA search engine. El-henawy and Ismail [26] extended the basic FPA by combining it with chaotic search to solve large integer programming problems. Wang et al. [27] applied FPA with bee pollinator in the field of cluster analysis to make up for deficiencies in the k-means method. By comparing it with other algorithms such as GA, they proved the better accuracy and higher level of stability of their proposed method. In order to solve the problem of multilevel image thresholding, Ouadfel and Taleb-Ahmed [28] applied FPA to search for the best values from a given number of thresholds with the purpose of maximizing the objective function. To apply the FPA to solve the antenna positioning problem, Dahi et al. [29] proposed four binary variants of the FPA by applying the principal mapping techniques. In addition, to study the applicability of this new metaheuristic algorithm in real-world applications, Draa [30] reviewed the performance of FPA in terms of both qualitative and quantitative aspects, and then he summarized the defects of the basic FPA by comparing it with state-of-the-art algorithms and pointed out the extension and application directions of FPA.However, even though FPA research is expanding, to the best of our knowledge, it has seldom been used to solve the optimization problem of service composition, let alone be applied in the field of manufacturing service selection and composition. Therefore, in this study, FPA is applied to solve the manufacturing service selection and composition problem by improving the standard FPA in combination with DE. The experimental results show that the proposed IFPA can obtain better optimal solutions than other algorithms such as GA [4], DE [31], basic FPA [11], and even extended FPA (EFPA) [32].


## 3. Model of Manufacturing Service Composition Problem

### 3.1. Notations in Manufacturing Service Composition Model

To solve the manufacturing service composition problem and translate it into a mathematical model, we use the following notations to better illustrate the model of manufacturing service composition:T: execution time of the candidate serviceC: execution cost of the candidate serviceAva: availability of the candidate serviceRel: reliability of the candidate servicem: the number of subtasks in each basic structureMSi: the selected manufacturing service realizing ith subtask, i=1,2,…,mT(seq): the total execution time in the sequence structureC(seq): the total execution cost in the sequence structureAva(seq): the total availability in the sequence structureRel(seq): the total reliability in the sequence structureEc(MSi): the processed carbon emission value of ith manufacturing serviceEc∗: a soft constraint about carbon emission that is provided by usersθi: real carbon emission value of ith candidate service.


### 3.2. The Calculation of QoS Properties

In this study, the four representative QoS properties of execution cost(C), execution time (T), reliability (Rel), and availability (Ava) are employed as criteria for manufacturing service performance evaluation [13, 33].As there are various metrics for different QoS attributes, in order to ensure the accuracy of assessment results, all the QoS attributes need to be normalized and converted into the same order of magnitude before they are employed in the final QoS aggregation formula. It has been well recognized that service quality is negatively correlated with cost and time, but it has a positive correlation with reliability and availability. Therefore, each QoS attribute is classified as being either positive attribute or negative attribute. The corresponding calculation formulas are as follows [5]:(1)qnor=q-qminqmax-qminifqmax≠qmin1ifqmax=qminpositive  attribute,(2)qnor=qmax-qqmax-qminifqmax≠qmin1ifqmax≠qminnegative  attribute.Here,q is kth true attribute value of a manufacturing service and qnor represents the corresponding normalized value. qmax represents the maximal value of kth QoS attribute for manufacturing services in the same candidate service set, that is, qmax=max⁡{q1,q2,…}; qmin stands for the minimal value of kth QoS attribute for manufacturing service, that is, qmin=min⁡{q1,q2,…}.In general, manufacturing service composition includes four basic structures: sequence, parallel, selective, and cycle structures. There are different aggregation methods for each structure. The aggregation formulas are defined in [13]. For example, the following are the calculation formulas for the sequence structure:(3)Tseq=∑i=1mTMSi,Cseq=∑i=1mCMSi,Relseq=∏i=1mRelMSi,Avaseq=∏i=1mAvaMSi.In order to use a unified standard to measure the overall performance of manufacturing service composition, the multiple objectives need to be transformed into a single one by assigning different weights to each attribute according to the different preferences of users. The final QoS evaluation value of manufacturing service composition can be calculated according to the following equation:(4)fQoS=w1T+w2C+w3Rel+w4Ava,where w1, w2, w3, and w4 sum to 1 and represent the respective weights of the four attributes, including total time (T), total cost (C), total reliability (Rel), and total availability (Ava), of manufacturing service composition.


### 3.3. The Calculation of Environmental Index

In addition to the basic QoS indicators, the proposed model contains an environmental indicator. Customers generally consider the QoS performance of manufacturing service composition to be more important than its environmental performance, and therefore they have different expectations of them. For that reason, the constraints proposed by customers can be divided into two types: rigid constraints and soft constraints. QoS constraints are defined as being rigid ones that must be satisfied, whereas environmental indices are defined as soft constraints that do not have to be satisfied strictly [22].In the present paper, the authors regard carbon emission as an environmental protection index. As with manufacturing tasks, customers impose their own soft constraints that should be satisfied as far as possible. For each candidate manufacturing serviceMSi, the deviation value between its carbon emission and soft constraint is calculated according to the following equation [22]:(5)EcMSi=θi-Ec∗Ec∗×β,β=0,ifθisatisfyEc∗1,ifθido  not  satisfyEc∗,where Ec(MSi) is the deviation carbon emission value, θi is the real value (i.e., carbon emission value) provided by suppliers, and Ec∗ is a soft constraint about carbon emission that is provided by users. From the above equation, it is clear that β is a binary index. If carbon emission meets the user requirement for environmental protection, then β=0; otherwise, β=1. It is well known that the smaller the deviation value, the higher the environmental indicator. Thus, the deviation value is a negative attribute, and its standardized formula is defined in (2) too. The aggregation formulas of deviation value about carbon emission are similar to the aggregation formula of execution cost, so we omitted them here.


### 3.4. The Comprehensive Utility of a Manufacturing Service Composition

Based on the above description, the final objective function of manufacturing service composition is defined as(6)max⁡FMSC=λ1fQoS+λ2fEc,where F(MSC) is the comprehensive utility of a manufacturing service composition, f(QoS) represents the final QoS evaluation, and f(Ec) represents the final carbon emission value of manufacturing service composition. Terms λ1 and λ2 sum to 1 and represent the weights of QoS and environmental index in a manufacturing service composition solution, respectively. In this model, the goal is to obtain the maximum value of the comprehensive utility, and this comprehensive utility be regarded as the fitness value in the experiment section of this paper.


### 3.5. The Introduction of Skyline Service

Before the new evolutionary algorithm is carried out to solve the problem of manufacturing service composition, the skyline service is introduced to reduce the number of candidate manufacturing services and improve the quality of optimal solution. The concept of skyline service, which was based on dominance relationship, was first proposed by Alrifai et al. [18]. The following is a detailed description of the related definitions [9].Definition 1 (dominance).
One assumes that there are two vectorsX1=(x11,x12,…,x1d) and X2=(x21,x22,…,x2d) in d-dimensional space. If the following two conditions are satisfied, one says that X1 dominates X2. Firstly, each dimension in X1 is greater than or equal to the corresponding in X2. Secondly, at least one dimension in X1 is strictly greater than the corresponding in X2. The two conditions can be expressed mathematically as follows [34]:(7)if∀i∈1,2,…,d,x1i≥x2i,∃j∈1,2,…,d,x1i>x2i.Otherwise, if either of the two conditions is not satisfied, then X1 does not dominate X2.Definition 2 (skyline service).
For two manufacturing servicesMS1 and MS2, if all the QoS attributes of MS1 are better than or equal to the corresponding ones of MS2, and at least one attribute of MS1 performs strictly better than the corresponding attribute of MS2, then MS1 dominates MS2, which is denoted as MS1≺MS2 [34]. That is to say, MS1 is better than MS2. A skyline service refers to such a service that is not dominated by any other services.
The application of skyline operator can limit the size of the solution space of manufacturing service composition because the process of choosing skyline service eliminates those other services that could not possibly be selected as the final manufacturing service composition.


## 3.1. Notations in Manufacturing Service Composition Model

To solve the manufacturing service composition problem and translate it into a mathematical model, we use the following notations to better illustrate the model of manufacturing service composition:T: execution time of the candidate serviceC: execution cost of the candidate serviceAva: availability of the candidate serviceRel: reliability of the candidate servicem: the number of subtasks in each basic structureMSi: the selected manufacturing service realizing ith subtask, i=1,2,…,mT(seq): the total execution time in the sequence structureC(seq): the total execution cost in the sequence structureAva(seq): the total availability in the sequence structureRel(seq): the total reliability in the sequence structureEc(MSi): the processed carbon emission value of ith manufacturing serviceEc∗: a soft constraint about carbon emission that is provided by usersθi: real carbon emission value of ith candidate service.


## 3.2. The Calculation of QoS Properties

In this study, the four representative QoS properties of execution cost(C), execution time (T), reliability (Rel), and availability (Ava) are employed as criteria for manufacturing service performance evaluation [13, 33].As there are various metrics for different QoS attributes, in order to ensure the accuracy of assessment results, all the QoS attributes need to be normalized and converted into the same order of magnitude before they are employed in the final QoS aggregation formula. It has been well recognized that service quality is negatively correlated with cost and time, but it has a positive correlation with reliability and availability. Therefore, each QoS attribute is classified as being either positive attribute or negative attribute. The corresponding calculation formulas are as follows [5]:(1)qnor=q-qminqmax-qminifqmax≠qmin1ifqmax=qminpositive  attribute,(2)qnor=qmax-qqmax-qminifqmax≠qmin1ifqmax≠qminnegative  attribute.Here,q is kth true attribute value of a manufacturing service and qnor represents the corresponding normalized value. qmax represents the maximal value of kth QoS attribute for manufacturing services in the same candidate service set, that is, qmax=max⁡{q1,q2,…}; qmin stands for the minimal value of kth QoS attribute for manufacturing service, that is, qmin=min⁡{q1,q2,…}.In general, manufacturing service composition includes four basic structures: sequence, parallel, selective, and cycle structures. There are different aggregation methods for each structure. The aggregation formulas are defined in [13]. For example, the following are the calculation formulas for the sequence structure:(3)Tseq=∑i=1mTMSi,Cseq=∑i=1mCMSi,Relseq=∏i=1mRelMSi,Avaseq=∏i=1mAvaMSi.In order to use a unified standard to measure the overall performance of manufacturing service composition, the multiple objectives need to be transformed into a single one by assigning different weights to each attribute according to the different preferences of users. The final QoS evaluation value of manufacturing service composition can be calculated according to the following equation:(4)fQoS=w1T+w2C+w3Rel+w4Ava,where w1, w2, w3, and w4 sum to 1 and represent the respective weights of the four attributes, including total time (T), total cost (C), total reliability (Rel), and total availability (Ava), of manufacturing service composition.


## 3.3. The Calculation of Environmental Index

In addition to the basic QoS indicators, the proposed model contains an environmental indicator. Customers generally consider the QoS performance of manufacturing service composition to be more important than its environmental performance, and therefore they have different expectations of them. For that reason, the constraints proposed by customers can be divided into two types: rigid constraints and soft constraints. QoS constraints are defined as being rigid ones that must be satisfied, whereas environmental indices are defined as soft constraints that do not have to be satisfied strictly [22].In the present paper, the authors regard carbon emission as an environmental protection index. As with manufacturing tasks, customers impose their own soft constraints that should be satisfied as far as possible. For each candidate manufacturing serviceMSi, the deviation value between its carbon emission and soft constraint is calculated according to the following equation [22]:(5)EcMSi=θi-Ec∗Ec∗×β,β=0,ifθisatisfyEc∗1,ifθido  not  satisfyEc∗,where Ec(MSi) is the deviation carbon emission value, θi is the real value (i.e., carbon emission value) provided by suppliers, and Ec∗ is a soft constraint about carbon emission that is provided by users. From the above equation, it is clear that β is a binary index. If carbon emission meets the user requirement for environmental protection, then β=0; otherwise, β=1. It is well known that the smaller the deviation value, the higher the environmental indicator. Thus, the deviation value is a negative attribute, and its standardized formula is defined in (2) too. The aggregation formulas of deviation value about carbon emission are similar to the aggregation formula of execution cost, so we omitted them here.


## 3.4. The Comprehensive Utility of a Manufacturing Service Composition

Based on the above description, the final objective function of manufacturing service composition is defined as(6)max⁡FMSC=λ1fQoS+λ2fEc,where F(MSC) is the comprehensive utility of a manufacturing service composition, f(QoS) represents the final QoS evaluation, and f(Ec) represents the final carbon emission value of manufacturing service composition. Terms λ1 and λ2 sum to 1 and represent the weights of QoS and environmental index in a manufacturing service composition solution, respectively. In this model, the goal is to obtain the maximum value of the comprehensive utility, and this comprehensive utility be regarded as the fitness value in the experiment section of this paper.


## 3.5. The Introduction of Skyline Service

Before the new evolutionary algorithm is carried out to solve the problem of manufacturing service composition, the skyline service is introduced to reduce the number of candidate manufacturing services and improve the quality of optimal solution. The concept of skyline service, which was based on dominance relationship, was first proposed by Alrifai et al. [18]. The following is a detailed description of the related definitions [9].Definition 1 (dominance).
One assumes that there are two vectorsX1=(x11,x12,…,x1d) and X2=(x21,x22,…,x2d) in d-dimensional space. If the following two conditions are satisfied, one says that X1 dominates X2. Firstly, each dimension in X1 is greater than or equal to the corresponding in X2. Secondly, at least one dimension in X1 is strictly greater than the corresponding in X2. The two conditions can be expressed mathematically as follows [34]:(7)if∀i∈1,2,…,d,x1i≥x2i,∃j∈1,2,…,d,x1i>x2i.Otherwise, if either of the two conditions is not satisfied, then X1 does not dominate X2.Definition 2 (skyline service).
For two manufacturing servicesMS1 and MS2, if all the QoS attributes of MS1 are better than or equal to the corresponding ones of MS2, and at least one attribute of MS1 performs strictly better than the corresponding attribute of MS2, then MS1 dominates MS2, which is denoted as MS1≺MS2 [34]. That is to say, MS1 is better than MS2. A skyline service refers to such a service that is not dominated by any other services.
The application of skyline operator can limit the size of the solution space of manufacturing service composition because the process of choosing skyline service eliminates those other services that could not possibly be selected as the final manufacturing service composition.


## 4. Improved Flower Pollination Algorithm

### 4.1. Introduction to the Standard FPA

FPA is a novel bionic evolutionary algorithm that was first proposed by Yang in 2012 [11]. The inspiration for FPA comes from the natural pollination process that takes place in flowering plants. In FPA, each flower stands for a feasible solution and the objective function value in Section 3.3 is regarded as the fitness value. To mimic the pollination process, there are two different pollination methods for each flower to choose: global or local pollination with switch probability p. The specific process is described as follows.For each individual, there is a random number rand. Ifrand<p, then global pollination should be carried out. In the global pollination process, each flower updates its position according to the following equation [11]: (8)Xit+1=Xit+γLλXbestt-Xit,where Xit and Xit+1 are the old and new positions of ith flower, respectively, Xbestt is the best flower at current iteration t, which has the best fitness value in the whole population, and γ is the scaling factor that controls the step size of global pollination. Parameter L, the Lévy flight, is used as the strength of pollination in the basic FPA, and the step size L(λ) obeys the Lévy distribution: (9)L~λΓλsin⁡πλ/2π1s1+λ,s≫s0>0,where Γ(λ) is the standard gamma function and λ is from 0.3 to 1.99 [35]. In the basic FPA, Yang [11] set the distribution factor λ as 1.5. This distribution is valid when large step s is bigger than 0.Ifrand>p, the local pollination process should be carried out. Flower Xit obtains its new position Xit+1 according to the difference between its old position and the position of two neighboring flowers Xpt and Xqt. This process is considered as local search, and the updating equation [11] is defined as(10)Xit+1=Xit+rXpt-Xqt,where r is drawn from a uniform distribution [0,1], and it is considered as a local random walk.After pollination is completed, the new individuals update their positions by comparing fitness values. If the fitness ofXit+1 is better than that of Xit, the new position of ith flower will be replaced by Xit+1. Otherwise, ith flower remains at Xit.


### 4.2. Improvements of IFPA Compared with the Standard FPA

Like many other evolutionary algorithms, basic FPA suffers from premature convergence and can easily fall into local optimum. In order to overcome these shortcomings, the authors propose an IFPA to extend the standard FPA in three aspects. Firstly, the whole population is divided into different groups on average, and an elite replacement strategy is introduced to replace the worst individual in each group. Secondly, the switch probabilityp and scaling parameter γ are adapted dynamically with the iterative process rather than remaining fixed like the basic FPA. This modification increases not only the global search ability but also the local search ability of basic FPA. Thirdly, in order to enhance its local search ability and obtain better optimal solution, the local search method is combined with the mutation and crossover operators of DE.


#### 4.2.1. Grouping Strategy and Elite Replacement Strategy

In the original FPA, flowers search for the optimal solution in a single population only. This method may take a relatively long time and its global search ability is insufficient. Based on this idea and inspired by [32], the authors introduce a parallel grouping strategy to solve this problem effectively. Before starting the iteration, the whole population is divided into three different groups on average according to their fitness values. The detailed operation steps are described as follows. Firstly, the fitness is calculated and ranked. Secondly, the whole population is divided into three groups on average according to their fitness. The first group consists of individuals with the best fitness, the third group consists of individuals with the worst fitness, and the remaining individuals belong to the second group. The iterative process is carried out in each group concurrently.In addition, in order to improve the FPA convergence and the optimal solution quality, an elite replacement strategy is introduced. From each group, the best individual is selected as an elite individual. That is to say, after global and local pollination, the worst individual is replaced with the elite individual in each group. If there are duplicate individuals, then the duplicate one can be modified by selecting one dimension randomly to carry out mutation before starting the next iteration. In each group, FPA is carried out concurrently in the same way. Before executing the next generation, these groups are combined into a single population.


#### 4.2.2. Adaptive Switch Probability and Scaling Factor

In standard FPA, Yang [11] set the switch probability p as 0.8. However, a fixed switch probability is insufficient. In order to retain a balance between global and local pollination in FPA, the switch probability is generated dynamically according to the fitness value of the current generation, which is represented by the objective function. The adaptive switch probability is obtained according to the following equation: (11)p=emax⁡f-min⁡f/max⁡f,where max⁡f and min⁡f are the maximum and minimum fitness values, respectively, of an individual in the current iteration.For the same reason, in order to escape local optimum and avoid premature convergence in global pollination, the scaling factorγ is also generated dynamically according to the number of iterations. The calculation of scaling factor depends on the following formula: (12)γ=max⁡iter-tmax⁡iter×0.3+0.2,where max⁡iter represents the maximum iterations and t is the current iterations. According to this formula, the value of scaling factor γ ranges from 0.2 to 0.5, and its value decreases with the increase of iterations.


#### 4.2.3. Modified Local Pollination Process by Combining with DE Algorithm

In the local pollination process ofXi, the individuals Xp and Xq are selected randomly except for the rule that Xp and Xq should differ from the objective individual Xi. However, this method is not sufficiently far-sighted and there is no direction of evolution to follow, which may lead the algorithm to fall into local convergence. In order to avoid this, the local search method is modified by combining it with DE. The detailed steps are as follows.Firstly, the DE mutation operator [31] is applied in local search. For Xit, a new mutated individual Vit will be generated according to the following equation: (13)Vit=Xbestt+rXpt-Xqt,where Xbestt is the best individual in current generation t in the whole population, Xpt and Xqt are different from Xit and belong to the same group with Xi, and r is a random number that is drawn from a uniform distribution [0,1].Secondly, the crossover operator [31] is also introduced after mutation. The two-point crossover operator can be carried out as: (14)Xi,jt+1=Vi,jt,ifl≤j≤hXi,jt,elsei=1,2,…,n;j=1,2,…,d.Here, Xi,j is jth dimension of ith individual Xi; l and h are generated randomly from [1,d]. The mutated individual Vi obtained by mutation operator changes its location according the above equation. This modification not only increases the local search ability but also improves the population diversity to avoid local optimal.The pseudocode of improved FPA is summarized in Pseudocode1.Pseudocode 1:Pseudocode of improved FPA.
(1)Initialize(t=0) Objectivemax⁡f(x) Set parameters: population sizeN, maximum iterations max⁡iter and λ Randomly generate an initial population ofN flowers X(t)=(X1t,X2t,…,XNt) (2)Repeat(t=1 to max⁡iter) while(t<max⁡iter) Find the best individualXbest in current population Divide the whole population into three grous Define a switch probabilityp via p=e(max⁡f-min⁡f)/max⁡f fori=1:N ifrand<p Generate a step sizeL(λ) Define a scaling factorγ via γ=(max⁡iter-t/max⁡iter)×0.3+0.2 Generate a step sizeL that obeys a Levy distribution Do global pollination viaXit+1=Xit+γL(λ)(Xbestt-Xit) else Do local pollination viaXit+1=Xit+r(Xpt-Xqt) Execute crossover operation and find outXit+1 end if Evaluate new individual If new individual is better, update its location end for Carry out elite replacement strategy Combine these three groups into one population Update the best individualXbest end while (3)Output Output the best individualXbest


### 4.3. Representation Scheme of IFPA in Multiobjective Manufacturing Service Composition

In order to solve the problem of multiobjective manufacturing service composition with IFPA, the representation scheme should be solved first. In this paper, population individuals are referred to as flowers. Each flower represents one possible solution of manufacturing service composition; it hasN dimensions that stand for the number of subtasks. We use real encoding in this manuscript, with all numbers as integers. For example, a flower X=(3,4,2,5,1,7) that contains six dimensions represents a manufacturing service composition solution that comprises six subtasks. The first dimension (value = 3) instructs the first subtask to select its third candidate service. The second dimension (value = 4) instructs the second subtask to select its fourth candidate service and so on for the remaining dimensions. In this paper, we use manufacturing service selection (MSS) to represent the candidate service in each service set, and MSSnm stands for nth subtask selecting mth candidate service. Thus, the corresponding composition solution with this pollen can be expressed as (MSS13,MSS24,MSS32,MSS45,MSS51,MSS67).


### 4.4. The Procedure of Using IFPA for Solving Multiobjective Manufacturing Service Composition Problems

The whole procedure of the proposed algorithm is described as follows.Step 1 (selecting skyline services).
Firstly, specific user requirements are identified, including constraint conditions and preferences. Secondly, skyline services are selected according to the aforementioned definitions in Section3.4 before IFPA is carried out.Step 2 (initializing).
Firstly, the parameters of the proposed method are set, including initial population size, maximum iterations, and number of groups. In addition,λ=1.5 is set in the Lévy flight. Secondly, an original population from the skyline service set is initialized.Step 3 (grouping strategy).
Firstly, the fitness of each individual is calculated and ranked, and the population is divided into three groups according to Section4.2.1. Then, the global optimal individual Xbest and the elite individual in each group are selected. The iterative process is carried out in all groups concurrently.Step 4 (identifying the switch probability).
For each generation, its switch probabilityp is calculated according to (11). A random number rand for each individual is generated and then compared with p to determine the pollination method.Step 5 (global pollination).
Ifrand<p, then global pollination is chosen. The corresponding calculations are given in (8), (9), and (12).Step 6 (local pollination).
Ifrand>p, then local pollination is chosen. The corresponding calculations are given in (13) and (14).Step 7 (updating locations).
After completion of global and local pollination, the location of each individual is updated. Iff(Xit+1)>f(Xit), then ith individual updates its location; otherwise, it remains at old location.Step 8 (elite replacement strategy).
After location updating is finished, the elite replacement strategy is employed to replace the worst individual in each group according to Section4.2.1.Step 9 (merging).
When all groups have finished the pollination process, the three groups are combined into a single population, and then the current best solutionXbest is updated.Step 10 (stopping iteration).
In general, there are two termination conditions for an evolutionary algorithm with an optimization problem: maximum iterations and fitness value. If either of the conditions is satisfied, then the iteration terminates and the best solutionXbest is outputted; otherwise return to Step 3 and repeat until a termination condition is satisfied.The flow chart of the proposed method is shown in Figure1.Figure 1
Flow chart of proposed method.


## 4.1. Introduction to the Standard FPA

FPA is a novel bionic evolutionary algorithm that was first proposed by Yang in 2012 [11]. The inspiration for FPA comes from the natural pollination process that takes place in flowering plants. In FPA, each flower stands for a feasible solution and the objective function value in Section 3.3 is regarded as the fitness value. To mimic the pollination process, there are two different pollination methods for each flower to choose: global or local pollination with switch probability p. The specific process is described as follows.For each individual, there is a random number rand. Ifrand<p, then global pollination should be carried out. In the global pollination process, each flower updates its position according to the following equation [11]: (8)Xit+1=Xit+γLλXbestt-Xit,where Xit and Xit+1 are the old and new positions of ith flower, respectively, Xbestt is the best flower at current iteration t, which has the best fitness value in the whole population, and γ is the scaling factor that controls the step size of global pollination. Parameter L, the Lévy flight, is used as the strength of pollination in the basic FPA, and the step size L(λ) obeys the Lévy distribution: (9)L~λΓλsin⁡πλ/2π1s1+λ,s≫s0>0,where Γ(λ) is the standard gamma function and λ is from 0.3 to 1.99 [35]. In the basic FPA, Yang [11] set the distribution factor λ as 1.5. This distribution is valid when large step s is bigger than 0.Ifrand>p, the local pollination process should be carried out. Flower Xit obtains its new position Xit+1 according to the difference between its old position and the position of two neighboring flowers Xpt and Xqt. This process is considered as local search, and the updating equation [11] is defined as(10)Xit+1=Xit+rXpt-Xqt,where r is drawn from a uniform distribution [0,1], and it is considered as a local random walk.After pollination is completed, the new individuals update their positions by comparing fitness values. If the fitness ofXit+1 is better than that of Xit, the new position of ith flower will be replaced by Xit+1. Otherwise, ith flower remains at Xit.


## 4.2. Improvements of IFPA Compared with the Standard FPA

Like many other evolutionary algorithms, basic FPA suffers from premature convergence and can easily fall into local optimum. In order to overcome these shortcomings, the authors propose an IFPA to extend the standard FPA in three aspects. Firstly, the whole population is divided into different groups on average, and an elite replacement strategy is introduced to replace the worst individual in each group. Secondly, the switch probabilityp and scaling parameter γ are adapted dynamically with the iterative process rather than remaining fixed like the basic FPA. This modification increases not only the global search ability but also the local search ability of basic FPA. Thirdly, in order to enhance its local search ability and obtain better optimal solution, the local search method is combined with the mutation and crossover operators of DE.


### 4.2.1. Grouping Strategy and Elite Replacement Strategy

In the original FPA, flowers search for the optimal solution in a single population only. This method may take a relatively long time and its global search ability is insufficient. Based on this idea and inspired by [32], the authors introduce a parallel grouping strategy to solve this problem effectively. Before starting the iteration, the whole population is divided into three different groups on average according to their fitness values. The detailed operation steps are described as follows. Firstly, the fitness is calculated and ranked. Secondly, the whole population is divided into three groups on average according to their fitness. The first group consists of individuals with the best fitness, the third group consists of individuals with the worst fitness, and the remaining individuals belong to the second group. The iterative process is carried out in each group concurrently.In addition, in order to improve the FPA convergence and the optimal solution quality, an elite replacement strategy is introduced. From each group, the best individual is selected as an elite individual. That is to say, after global and local pollination, the worst individual is replaced with the elite individual in each group. If there are duplicate individuals, then the duplicate one can be modified by selecting one dimension randomly to carry out mutation before starting the next iteration. In each group, FPA is carried out concurrently in the same way. Before executing the next generation, these groups are combined into a single population.


### 4.2.2. Adaptive Switch Probability and Scaling Factor

In standard FPA, Yang [11] set the switch probability p as 0.8. However, a fixed switch probability is insufficient. In order to retain a balance between global and local pollination in FPA, the switch probability is generated dynamically according to the fitness value of the current generation, which is represented by the objective function. The adaptive switch probability is obtained according to the following equation: (11)p=emax⁡f-min⁡f/max⁡f,where max⁡f and min⁡f are the maximum and minimum fitness values, respectively, of an individual in the current iteration.For the same reason, in order to escape local optimum and avoid premature convergence in global pollination, the scaling factorγ is also generated dynamically according to the number of iterations. The calculation of scaling factor depends on the following formula: (12)γ=max⁡iter-tmax⁡iter×0.3+0.2,where max⁡iter represents the maximum iterations and t is the current iterations. According to this formula, the value of scaling factor γ ranges from 0.2 to 0.5, and its value decreases with the increase of iterations.


### 4.2.3. Modified Local Pollination Process by Combining with DE Algorithm

In the local pollination process ofXi, the individuals Xp and Xq are selected randomly except for the rule that Xp and Xq should differ from the objective individual Xi. However, this method is not sufficiently far-sighted and there is no direction of evolution to follow, which may lead the algorithm to fall into local convergence. In order to avoid this, the local search method is modified by combining it with DE. The detailed steps are as follows.Firstly, the DE mutation operator [31] is applied in local search. For Xit, a new mutated individual Vit will be generated according to the following equation: (13)Vit=Xbestt+rXpt-Xqt,where Xbestt is the best individual in current generation t in the whole population, Xpt and Xqt are different from Xit and belong to the same group with Xi, and r is a random number that is drawn from a uniform distribution [0,1].Secondly, the crossover operator [31] is also introduced after mutation. The two-point crossover operator can be carried out as: (14)Xi,jt+1=Vi,jt,ifl≤j≤hXi,jt,elsei=1,2,…,n;j=1,2,…,d.Here, Xi,j is jth dimension of ith individual Xi; l and h are generated randomly from [1,d]. The mutated individual Vi obtained by mutation operator changes its location according the above equation. This modification not only increases the local search ability but also improves the population diversity to avoid local optimal.The pseudocode of improved FPA is summarized in Pseudocode1.Pseudocode 1:Pseudocode of improved FPA.
(1)Initialize(t=0) Objectivemax⁡f(x) Set parameters: population sizeN, maximum iterations max⁡iter and λ Randomly generate an initial population ofN flowers X(t)=(X1t,X2t,…,XNt) (2)Repeat(t=1 to max⁡iter) while(t<max⁡iter) Find the best individualXbest in current population Divide the whole population into three grous Define a switch probabilityp via p=e(max⁡f-min⁡f)/max⁡f fori=1:N ifrand<p Generate a step sizeL(λ) Define a scaling factorγ via γ=(max⁡iter-t/max⁡iter)×0.3+0.2 Generate a step sizeL that obeys a Levy distribution Do global pollination viaXit+1=Xit+γL(λ)(Xbestt-Xit) else Do local pollination viaXit+1=Xit+r(Xpt-Xqt) Execute crossover operation and find outXit+1 end if Evaluate new individual If new individual is better, update its location end for Carry out elite replacement strategy Combine these three groups into one population Update the best individualXbest end while (3)Output Output the best individualXbest


## 4.2.1. Grouping Strategy and Elite Replacement Strategy

In the original FPA, flowers search for the optimal solution in a single population only. This method may take a relatively long time and its global search ability is insufficient. Based on this idea and inspired by [32], the authors introduce a parallel grouping strategy to solve this problem effectively. Before starting the iteration, the whole population is divided into three different groups on average according to their fitness values. The detailed operation steps are described as follows. Firstly, the fitness is calculated and ranked. Secondly, the whole population is divided into three groups on average according to their fitness. The first group consists of individuals with the best fitness, the third group consists of individuals with the worst fitness, and the remaining individuals belong to the second group. The iterative process is carried out in each group concurrently.In addition, in order to improve the FPA convergence and the optimal solution quality, an elite replacement strategy is introduced. From each group, the best individual is selected as an elite individual. That is to say, after global and local pollination, the worst individual is replaced with the elite individual in each group. If there are duplicate individuals, then the duplicate one can be modified by selecting one dimension randomly to carry out mutation before starting the next iteration. In each group, FPA is carried out concurrently in the same way. Before executing the next generation, these groups are combined into a single population.


## 4.2.2. Adaptive Switch Probability and Scaling Factor

In standard FPA, Yang [11] set the switch probability p as 0.8. However, a fixed switch probability is insufficient. In order to retain a balance between global and local pollination in FPA, the switch probability is generated dynamically according to the fitness value of the current generation, which is represented by the objective function. The adaptive switch probability is obtained according to the following equation: (11)p=emax⁡f-min⁡f/max⁡f,where max⁡f and min⁡f are the maximum and minimum fitness values, respectively, of an individual in the current iteration.For the same reason, in order to escape local optimum and avoid premature convergence in global pollination, the scaling factorγ is also generated dynamically according to the number of iterations. The calculation of scaling factor depends on the following formula: (12)γ=max⁡iter-tmax⁡iter×0.3+0.2,where max⁡iter represents the maximum iterations and t is the current iterations. According to this formula, the value of scaling factor γ ranges from 0.2 to 0.5, and its value decreases with the increase of iterations.


## 4.2.3. Modified Local Pollination Process by Combining with DE Algorithm

In the local pollination process ofXi, the individuals Xp and Xq are selected randomly except for the rule that Xp and Xq should differ from the objective individual Xi. However, this method is not sufficiently far-sighted and there is no direction of evolution to follow, which may lead the algorithm to fall into local convergence. In order to avoid this, the local search method is modified by combining it with DE. The detailed steps are as follows.Firstly, the DE mutation operator [31] is applied in local search. For Xit, a new mutated individual Vit will be generated according to the following equation: (13)Vit=Xbestt+rXpt-Xqt,where Xbestt is the best individual in current generation t in the whole population, Xpt and Xqt are different from Xit and belong to the same group with Xi, and r is a random number that is drawn from a uniform distribution [0,1].Secondly, the crossover operator [31] is also introduced after mutation. The two-point crossover operator can be carried out as: (14)Xi,jt+1=Vi,jt,ifl≤j≤hXi,jt,elsei=1,2,…,n;j=1,2,…,d.Here, Xi,j is jth dimension of ith individual Xi; l and h are generated randomly from [1,d]. The mutated individual Vi obtained by mutation operator changes its location according the above equation. This modification not only increases the local search ability but also improves the population diversity to avoid local optimal.The pseudocode of improved FPA is summarized in Pseudocode1.Pseudocode 1:Pseudocode of improved FPA.
(1)Initialize(t=0) Objectivemax⁡f(x) Set parameters: population sizeN, maximum iterations max⁡iter and λ Randomly generate an initial population ofN flowers X(t)=(X1t,X2t,…,XNt) (2)Repeat(t=1 to max⁡iter) while(t<max⁡iter) Find the best individualXbest in current population Divide the whole population into three grous Define a switch probabilityp via p=e(max⁡f-min⁡f)/max⁡f fori=1:N ifrand<p Generate a step sizeL(λ) Define a scaling factorγ via γ=(max⁡iter-t/max⁡iter)×0.3+0.2 Generate a step sizeL that obeys a Levy distribution Do global pollination viaXit+1=Xit+γL(λ)(Xbestt-Xit) else Do local pollination viaXit+1=Xit+r(Xpt-Xqt) Execute crossover operation and find outXit+1 end if Evaluate new individual If new individual is better, update its location end for Carry out elite replacement strategy Combine these three groups into one population Update the best individualXbest end while (3)Output Output the best individualXbest


## 4.3. Representation Scheme of IFPA in Multiobjective Manufacturing Service Composition

In order to solve the problem of multiobjective manufacturing service composition with IFPA, the representation scheme should be solved first. In this paper, population individuals are referred to as flowers. Each flower represents one possible solution of manufacturing service composition; it hasN dimensions that stand for the number of subtasks. We use real encoding in this manuscript, with all numbers as integers. For example, a flower X=(3,4,2,5,1,7) that contains six dimensions represents a manufacturing service composition solution that comprises six subtasks. The first dimension (value = 3) instructs the first subtask to select its third candidate service. The second dimension (value = 4) instructs the second subtask to select its fourth candidate service and so on for the remaining dimensions. In this paper, we use manufacturing service selection (MSS) to represent the candidate service in each service set, and MSSnm stands for nth subtask selecting mth candidate service. Thus, the corresponding composition solution with this pollen can be expressed as (MSS13,MSS24,MSS32,MSS45,MSS51,MSS67).


## 4.4. The Procedure of Using IFPA for Solving Multiobjective Manufacturing Service Composition Problems

The whole procedure of the proposed algorithm is described as follows.Step 1 (selecting skyline services).
Firstly, specific user requirements are identified, including constraint conditions and preferences. Secondly, skyline services are selected according to the aforementioned definitions in Section3.4 before IFPA is carried out.Step 2 (initializing).
Firstly, the parameters of the proposed method are set, including initial population size, maximum iterations, and number of groups. In addition,λ=1.5 is set in the Lévy flight. Secondly, an original population from the skyline service set is initialized.Step 3 (grouping strategy).
Firstly, the fitness of each individual is calculated and ranked, and the population is divided into three groups according to Section4.2.1. Then, the global optimal individual Xbest and the elite individual in each group are selected. The iterative process is carried out in all groups concurrently.Step 4 (identifying the switch probability).
For each generation, its switch probabilityp is calculated according to (11). A random number rand for each individual is generated and then compared with p to determine the pollination method.Step 5 (global pollination).
Ifrand<p, then global pollination is chosen. The corresponding calculations are given in (8), (9), and (12).Step 6 (local pollination).
Ifrand>p, then local pollination is chosen. The corresponding calculations are given in (13) and (14).Step 7 (updating locations).
After completion of global and local pollination, the location of each individual is updated. Iff(Xit+1)>f(Xit), then ith individual updates its location; otherwise, it remains at old location.Step 8 (elite replacement strategy).
After location updating is finished, the elite replacement strategy is employed to replace the worst individual in each group according to Section4.2.1.Step 9 (merging).
When all groups have finished the pollination process, the three groups are combined into a single population, and then the current best solutionXbest is updated.Step 10 (stopping iteration).
In general, there are two termination conditions for an evolutionary algorithm with an optimization problem: maximum iterations and fitness value. If either of the conditions is satisfied, then the iteration terminates and the best solutionXbest is outputted; otherwise return to Step 3 and repeat until a termination condition is satisfied.The flow chart of the proposed method is shown in Figure1.Figure 1
Flow chart of proposed method.


## 5. Experimental Simulation and Comparison

In order to verify the practicality and effectiveness of the IFPA, the proposed method is used to solve an illustrated problem in manufacturing service composition. A variety of comparative experiments with GA [4], DE [31], basic FPA [11], and extended FPA (EFPA) [32] were carried out to illustrate the superiority of the proposed method. All the experiments were carried out using a personal computer with Windows 7, an Intel Core 3-GHz CPU, and 2 GB of memory. All of the algorithms were programmed in C#.


### 5.1. Experimental Design

A case study of manufacturing service composition with six subtasks was designed to illustrate the practicality and effectiveness of the proposed method. Although the example is relatively simple, it includes all the four structures of manufacturing service composition, as shown in Figure2. The final fitness function of this model can be referred to Section 3.Figure 2
Case study of manufacturing service composition.The selection probabilities of subtasks 2 and 3 are 0.4 and 0.6, respectively. The cycle time of subtask 6 is five. The weight of each QoS attribute is set as 0.25, and the weights of QoS and Ec are 0.6 and 0.4, respectively. Each manufacturing service has four QoS attributes (time, cost, reliability, and availability) and one environmental index (carbon emission). The maximum iterations are 50. There are two termination conditions: either it reaches the maximum number of iterations or it converges such that the successive difference in final average fitness is less than 0.001 for three consecutive generations of individuals [19].


### 5.2. The Practicality of IFPA

In order to verify the practicality of IFPA, the illustrative example shown in Section5.3 is assigned with the practical manufacturing data. The partial candidate manufacturing service and corresponding attribute values are shown in Table 1. The final constraint conditions of the whole service composition are Total Time < 32 hrs, Total Cost < $210, and Total Ec∗<3. There are 15 candidate services in each manufacturing service set for each subtask. As for the proposed IFPA, the initial population size is 20. Figure 3 records the evolutionary tracks of the proposed method, including the best and average fitness values in each generation. Here, the horizontal axis represents iteration number and the vertical axis denotes the fitness of each generation. As shown in Figure 3, the IFPA stopped at the maximum iterations. And the optimal fitness value at the 50th iteration was 5.81; the best individual was X=(7,1,7,1,2,5). This means that the optimal service composition solution is (MSS17,MSS21,MSS37,MSS41,MSS52,MSS65). Thus, it can be concluded that the proposed approach can find the relative optimal solution and converges acceptably well.Table 1
The partial candidate manufacturing services and corresponding attribute values.
Subtask Candidate manufacturing service Cost(0,50) Time(0,10) Reliability(0.6,1) Availability(0.4,1) Carbon emission(0,5) Subtask1 MSS11 33.00 2.99 0.99 0.48 3.57 MSS12 7.75 6.19 0.64 0.42 2.86 MSS13 32.51 9.39 0.70 0.95 1.54  Subtask2 MSS21 29.04 4.18 0.60 0.64 0.87 MSS22 3.79 7.38 0.65 0.57 3.69 MSS23 28.54 0.58 0.70 0.51 1.48  Subtask3 MSS31 0.32 2.17 0.96 0.86 4.35 MSS32 25.08 5.37 0.61 0.79 2.37 MSS33 49.83 8.56 0.66 0.73 0.65  Subtask4 MSS41 21.61 0.15 0.92 0.48 2.95 MSS42 46.36 3.35 0.97 0.42 0.29 MSS43 21.11 6.55 0.62 0.95 4.45  Subtask5 MSS51 42.89 8.14 0.88 0.70 3.67 MSS52 17.65 1.34 0.93 0.64 1.28 MSS53 42.40 4.54 0.98 0.57 2.36  Subtask6 MSS61 39.43 2.93 0.79 0.99 4.32 MSS62 38.93 9.33 0.89 0.86 0.57 MSS63 13.68 2.53 0.94 0.79 3.75Figure 3
Evolutionary tracks of the proposed method.In order to test the efficiency and superiority of the proposed method, IFPA is compared with other algorithms, including GA, DE, basic FPA, and EFPA, to solve the same problem described above. Figure4 shows the different evolutionary tracks of these algorithms, and the orange dots represent the iterative termination points. In order to ensure the objectivity of the experiment, different weight combinations are taken into account, including not only the weight of cost, time, reliability, and availability but also the weight of QoS and environment index. From this figure, two results can be obtained. Firstly, the fitness values obtained from the proposed method are higher than those obtained by the other algorithms in most cases. In other words, the proposed method can obtain better solutions even in comparison with EFPA. Secondly, the proposed method converges faster than the other algorithms. It illustrates that the proposed algorithm has a strong search ability and fast convergence speed. Hence, it is an effective method to solve the problem of manufacturing service composition even under different weight combinations in the final objective function.Figure 4
Evolutionary tracks of different algorithms with different weight combinations.
(a)
w 1 = 0.25, w2=0.25, w3=0.25, w4=0.25, and λ1=0.6, λ2=0.4 (b)
w 1 = 0.3, w2=0.3, w3=0.2, w4=0.2, and λ1=0.7, λ2=0.3 (c)
w 1 = 0.4, w2=0.1, w3=0.3, w4=0.2, and λ1=0.8, λ2=0.2


### 5.3. The Effectiveness of IFPA

In order to test the effectiveness and stability of the proposed method, the fitness values of the best manufacturing service composition solution in different algorithms are compared by changing the values of QoS properties and environmental index of candidate services, the number of candidate services in each service set, and the initial population size. In these experiments, the value ranges of QoS properties and environmental index are Cost = 0–50, Time = 0–10, Rel = 0.6–1, Ava = 0.4–1, andθ = 0–5. The final constraint conditions of the whole service composition are the same as Section 5.2.The results shown in Figure5 indicate that most often the proposed method obtains the best solutions with the highest fitness values under different number of candidate services in each service set. In the same way, Figure 6 shows that when the initial population size changes, the results obtained by the proposed method are better than those of the other methods in most cases. In order to ensure the objectivity of the experiment, different weight combinations are taken into account, including not only the weight of execution cost, execution time, reliability, and availability but also the weight of QoS and environment index.Figure 5
Performance of different algorithms under different number of candidate services with different weight combinations.
(a)
w 1 = 0.25, w2=0.25, w3=0.25, w4=0.25, and λ1=0.6, λ2=0.4 (b)
w 1 = 0.3, w2=0.3, w3=0.2, w4=0.2, and λ1=0.7, λ2=0.3 (c)
w 1 = 0.4, w2=0.1, w3=0.3, w4=0.2, and λ1=0.8, λ2=0.2Figure 6
Performance of different algorithms under different initial population sizes with different weight combinations.
(a)
w 1 = 0.25, w2=0.25, w3=0.25, w4=0.25, and λ1=0.6, λ2=0.4 (b)
w 1 = 0.3, w2=0.3, w3=0.2, w4=0.2, and λ1=0.7, λ2=0.3 (c)
w 1 = 0.4, w2=0.1, w3=0.3, w4=0.2, and λ1=0.8, λ2=0.2Based on all the experimental results, it is concluded that the proposed method searches better and converges faster than the other algorithms evaluated in this paper, even under different weight combinations in the final objective function. The proposed method performs better in terms of both effectiveness and efficiency than the baseline algorithms of GA, DE, FPA, and EFPA in solving the problem of manufacturing service selection and composition.


## 5.1. Experimental Design

A case study of manufacturing service composition with six subtasks was designed to illustrate the practicality and effectiveness of the proposed method. Although the example is relatively simple, it includes all the four structures of manufacturing service composition, as shown in Figure2. The final fitness function of this model can be referred to Section 3.Figure 2
Case study of manufacturing service composition.The selection probabilities of subtasks 2 and 3 are 0.4 and 0.6, respectively. The cycle time of subtask 6 is five. The weight of each QoS attribute is set as 0.25, and the weights of QoS and Ec are 0.6 and 0.4, respectively. Each manufacturing service has four QoS attributes (time, cost, reliability, and availability) and one environmental index (carbon emission). The maximum iterations are 50. There are two termination conditions: either it reaches the maximum number of iterations or it converges such that the successive difference in final average fitness is less than 0.001 for three consecutive generations of individuals [19].


## 5.2. The Practicality of IFPA

In order to verify the practicality of IFPA, the illustrative example shown in Section5.3 is assigned with the practical manufacturing data. The partial candidate manufacturing service and corresponding attribute values are shown in Table 1. The final constraint conditions of the whole service composition are Total Time < 32 hrs, Total Cost < $210, and Total Ec∗<3. There are 15 candidate services in each manufacturing service set for each subtask. As for the proposed IFPA, the initial population size is 20. Figure 3 records the evolutionary tracks of the proposed method, including the best and average fitness values in each generation. Here, the horizontal axis represents iteration number and the vertical axis denotes the fitness of each generation. As shown in Figure 3, the IFPA stopped at the maximum iterations. And the optimal fitness value at the 50th iteration was 5.81; the best individual was X=(7,1,7,1,2,5). This means that the optimal service composition solution is (MSS17,MSS21,MSS37,MSS41,MSS52,MSS65). Thus, it can be concluded that the proposed approach can find the relative optimal solution and converges acceptably well.Table 1
The partial candidate manufacturing services and corresponding attribute values.
Subtask Candidate manufacturing service Cost(0,50) Time(0,10) Reliability(0.6,1) Availability(0.4,1) Carbon emission(0,5) Subtask1 MSS11 33.00 2.99 0.99 0.48 3.57 MSS12 7.75 6.19 0.64 0.42 2.86 MSS13 32.51 9.39 0.70 0.95 1.54  Subtask2 MSS21 29.04 4.18 0.60 0.64 0.87 MSS22 3.79 7.38 0.65 0.57 3.69 MSS23 28.54 0.58 0.70 0.51 1.48  Subtask3 MSS31 0.32 2.17 0.96 0.86 4.35 MSS32 25.08 5.37 0.61 0.79 2.37 MSS33 49.83 8.56 0.66 0.73 0.65  Subtask4 MSS41 21.61 0.15 0.92 0.48 2.95 MSS42 46.36 3.35 0.97 0.42 0.29 MSS43 21.11 6.55 0.62 0.95 4.45  Subtask5 MSS51 42.89 8.14 0.88 0.70 3.67 MSS52 17.65 1.34 0.93 0.64 1.28 MSS53 42.40 4.54 0.98 0.57 2.36  Subtask6 MSS61 39.43 2.93 0.79 0.99 4.32 MSS62 38.93 9.33 0.89 0.86 0.57 MSS63 13.68 2.53 0.94 0.79 3.75Figure 3
Evolutionary tracks of the proposed method.In order to test the efficiency and superiority of the proposed method, IFPA is compared with other algorithms, including GA, DE, basic FPA, and EFPA, to solve the same problem described above. Figure4 shows the different evolutionary tracks of these algorithms, and the orange dots represent the iterative termination points. In order to ensure the objectivity of the experiment, different weight combinations are taken into account, including not only the weight of cost, time, reliability, and availability but also the weight of QoS and environment index. From this figure, two results can be obtained. Firstly, the fitness values obtained from the proposed method are higher than those obtained by the other algorithms in most cases. In other words, the proposed method can obtain better solutions even in comparison with EFPA. Secondly, the proposed method converges faster than the other algorithms. It illustrates that the proposed algorithm has a strong search ability and fast convergence speed. Hence, it is an effective method to solve the problem of manufacturing service composition even under different weight combinations in the final objective function.Figure 4
Evolutionary tracks of different algorithms with different weight combinations.
(a)
w 1 = 0.25, w2=0.25, w3=0.25, w4=0.25, and λ1=0.6, λ2=0.4 (b)
w 1 = 0.3, w2=0.3, w3=0.2, w4=0.2, and λ1=0.7, λ2=0.3 (c)
w 1 = 0.4, w2=0.1, w3=0.3, w4=0.2, and λ1=0.8, λ2=0.2


## 5.3. The Effectiveness of IFPA

In order to test the effectiveness and stability of the proposed method, the fitness values of the best manufacturing service composition solution in different algorithms are compared by changing the values of QoS properties and environmental index of candidate services, the number of candidate services in each service set, and the initial population size. In these experiments, the value ranges of QoS properties and environmental index are Cost = 0–50, Time = 0–10, Rel = 0.6–1, Ava = 0.4–1, andθ = 0–5. The final constraint conditions of the whole service composition are the same as Section 5.2.The results shown in Figure5 indicate that most often the proposed method obtains the best solutions with the highest fitness values under different number of candidate services in each service set. In the same way, Figure 6 shows that when the initial population size changes, the results obtained by the proposed method are better than those of the other methods in most cases. In order to ensure the objectivity of the experiment, different weight combinations are taken into account, including not only the weight of execution cost, execution time, reliability, and availability but also the weight of QoS and environment index.Figure 5
Performance of different algorithms under different number of candidate services with different weight combinations.
(a)
w 1 = 0.25, w2=0.25, w3=0.25, w4=0.25, and λ1=0.6, λ2=0.4 (b)
w 1 = 0.3, w2=0.3, w3=0.2, w4=0.2, and λ1=0.7, λ2=0.3 (c)
w 1 = 0.4, w2=0.1, w3=0.3, w4=0.2, and λ1=0.8, λ2=0.2Figure 6
Performance of different algorithms under different initial population sizes with different weight combinations.
(a)
w 1 = 0.25, w2=0.25, w3=0.25, w4=0.25, and λ1=0.6, λ2=0.4 (b)
w 1 = 0.3, w2=0.3, w3=0.2, w4=0.2, and λ1=0.7, λ2=0.3 (c)
w 1 = 0.4, w2=0.1, w3=0.3, w4=0.2, and λ1=0.8, λ2=0.2Based on all the experimental results, it is concluded that the proposed method searches better and converges faster than the other algorithms evaluated in this paper, even under different weight combinations in the final objective function. The proposed method performs better in terms of both effectiveness and efficiency than the baseline algorithms of GA, DE, FPA, and EFPA in solving the problem of manufacturing service selection and composition.


## 6. Conclusions

In this study, a new method called IFPA was proposed to solve the problem of manufacturing service selection and composition based on QoS and an environmental index. The main contributions of this paper are as follows:(i)
The concept of skyline service is introduced in the manufacturing service composition model. The skyline operator can not only reduce the search space but also improve the quality of final optimal solutions.(ii)
Three improvements were made to the basic FPA to produce the IFPA. First, a grouping strategy and elite replacement strategy were employed to improve the convergence speed of FPA. Second, two adaptive parameters were used to adjust the switch probability and control the step size of the global search. Third, the mutation and crossover operators of the DE algorithm were integrated with the local search of FPA to improve the performance of FPA.In this study, a multiobjective problem was transformed into a single objective problem. Nevertheless deficiencies exist that must be addressed. In a future study, the Pareto-optimal method can be considered to solve a real multiobjective problem instead of simply transforming it into a single objective problem. In addition, the authors will attempt to combine FPA with other evolutionary algorithms to improve the performance of basic FPA in order to solve the problem of manufacturing service composition.



---

*Source: 7343794-2016-12-20.xml*