This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

[1]\fnmYingtao \surWu

[1]\orgdivCollege of Computer Science and Technology, \orgnameChina University of Petroleum (East China), \orgaddress\cityQingdao, \postcode266580, \stateShandong, \countryChina 2]\orgdivCollege of Information Engineering, \orgnameYangzhou University,\orgaddress\cityYangzhou, \postcode225127, \stateJiangsu, \countryChina 3]\orgdivSchool of Electro-Mechanical Engineering, \orgnameXidian University,\orgaddress\city Xi’an, \postcode710071, \stateShanxi, \countryChina 4]\orgdivSchool of Computer Science and Engineering, College of Engineering, \orgnameNanyang Technological University,\orgaddress\postcode 639798, \countrySingapore 5]\orgdivState Key Laboratory of Industrial Control Technology, \orgnameZhejiang University, \orgaddress \cityHangzhou, \postcode310027, \stateZhejiang, \countryChina 6]\orgdivInstitute of Cyber-Systems and Control, \orgnameZhejiang University, \orgaddress \cityHangzhou, \postcode310027, \stateZhejiang, \countryChina 7]\orgdivInstitute of Complexity Science, School of Automation, \orgnameQingdao University, \orgaddress \cityQingdao, \postcode266071, \stateShandong, \countryChina 8]\orgnameShandong Key Laboratory of Industrial Control Technology, \orgaddress \cityQingdao, \postcode266071, \stateShandong, \countryChina

Multi-service collaboration and composition of cloud manufacturing customized production based on problem decomposition

\fnmHao \surYue [email protected]    [email protected]    \fnmMin \surWang [email protected]    \fnmHesuan \surHu [email protected]    \fnmWeimin \surWu [email protected]    \fnmJihui \surZhang [email protected] * [ [ [ [ [ [ [
Abstract

Cloud manufacturing system is a service-oriented and knowledge-based one, which can provide solutions for the large-scale customized production. The service resource allocation is the primary factor that restricts the production time and cost in the cloud manufacturing customized production (CMCP). In order to improve the efficiency and reduce the cost in CMCP, we propose a new framework which considers the collaboration among services with the same functionality. A mathematical evaluation formulation for the service composition and service usage scheme is constructed with the following critical indexes: completion time, cost, and number of selected services. Subsequently, a problem decomposition based genetic algorithm is designed to obtain the optimal service compositions with service usage schemes. A smart clothing customization case is illustrated so as to show the effectiveness and efficiency of the method proposed in this paper. Finally, the results of simulation experiments and comparisons show that these solutions obtained by our method are with the minimum time, a lower cost, and the fewer selected services.

keywords:
Cloud manufacturing\cdotService composition\cdotPersonalized customization\cdotProblem decomposition\cdotResource allocation

1 Introduction

Cloud manufacturing (CMfg) refers to a service-oriented networked manufacturing model that manages decentralized and virtualized manufacturing resources, capabilities, and knowledge to provide on-demand manufacturing cloud services to customers [1, 2]. With the widespread application of cutting-edge technologies like industrial internet of things (IoT), cyber-physical systems, and cloud computing, the traditional manufacturing model is transforming into a smart manufacturing model[3]. As an emerging manufacturing paradigm, CMfg is able to handle more complex manufacturing requests to satisfy multi-objective demands than the traditional manufacturing modes. CMfg is progressively becoming an important means of upgrading and transforming the manufacturing industry. On the CMfg service platform, customers’ demands evolve from simple needs to personalized requirements with multi-dimensional aspects such as product configuration, attributes, quality, service features, timelines, and so on. Distributed resource integration and integrated resource distribution are all reflected in CMfg. The CMfg service model can integrate distributed manufacturing resources and overcome traditional manufacturing limitations of providing only a single service. In addition, the CMfg service model can redistribute integrated manufacturing resources and improve the efficiency of resource utilization. CMfg services combine advanced computing, intelligent optimization, virtualization, embeddedness, the IoT, and other high-performance technologies to optimize industrial structures and rationalize resource utilization[4, 5]. For example, virtualization technologies construct virtual manufacturing environments to simulate system resources and capabilities, reducing wastage during manufacturing [6]. There are many production management strategies that can improve the efficiency of CMfg, such as capturing resource states, optimizing production decisions through intelligent algorithms, delivering timely and accurate instructions [7], and enabling real-time scheduling [5] and logistics synchronization.

Cloud manufacturing customized production (CMCP) is the concept of providing products and services tailored to customers’ individual requirements [2, 8]. In the traditional manufacturing model, customized production often faces challenges such as uncontrollable production costs, unpredictable delivery dates, and unguaranteed product quality. However, CMfg has brought a turnaround to the development of customized manufacturing. Customized production in CMfg represents an intelligent manufacturing model where customers participate in the entire service lifecycle, including product customization, design, development, manufacturing, and logistics [8]. The CMfg platform can serve as a center for a product development, resource scheduling and management, product trading, and progress monitoring. It provides a strong guarantee for the implementation of customized manufacturing.

For example, China Changan Automobile Group has built an online platform using bill of materials management and product data management to enable personalized customization of automobiles [9]. By integrating dozens of manufacturing bases and factories worldwide, the production cycle is effectively shortened and the indirect inventory is reduced. For personalized vehicle customization, the shortest lead time from customer order to receipt of the complete vehicle is reduced to 7 days, and over 15,000 personalized configurations are made available to customers. MindSphere is a cloud-based IoT operating system from Siemens that helps customers to source, transport, store, analyze, and manufacture [10]. The platform provides an open application programming interface for selecting applications that analyze factory data and intelligently control production. Established by Haier, COSMOPlat is an industrial internet platform with four architectural layers: resources, platform, applications, and models [11]. The platform layer consists of seven modules: user interaction customization, marketing, open design, purchasing, intelligent production, intelligent logistics, and intelligent service. Users can participate in design, procurement, manufacturing, and logistics. They can directly experience the production process. It creates a trinity of users, enterprises, and resources. These examples show architectural designs for CMfg customized services.

Service composition optimal selection (SCOS) is the selection of a series of cloud services from candidate service sets to accomplish complex tasks according to certain processes and rules[12]. That is the paramount issue for CMfg. In the face of diversified user demands, the premise of SCOS is to accurately analyze different situations and problems in multitask requests [13]. The key to service composition is to select the best service to meet user requirements from massive and aggregated candidate services [8]. The cloud service composition can be described as four basic structures: sequential, parallel, selective, and circular. A sequential structure refers to a unidirectional sequential dependency among sub-tasks, where each sub-task starts after the completion of the preceding sub-task. Parallel, selective, and circular structures can be converted into sequential structures by mature modern technologies [14].

Compared with ordinary production in CMfg, customized production focuses not only on the manufacturing process but also on the customized design of the product. The output of the customized design phase is usually digital rather than physical. These digital products can be effectively managed by a cloud platform and delivered to subsequent services in real time. It opens up more possibilities for the service composition of customized production. For example, in the sequential structure, multiple cloud services with identical functionality collaborate to perform a sub-task, where the next sub-task starts after the previous one starts, not after the previous one finishes. Meanwhile, events such as cloud service outages or the release of busy cloud services are possible in real-world production scenarios. All of this complicates an already complex situation of the SCOS problem for customized production. Although the number of services in the cloud service pool is very large, it is still difficult to satisfy customized production tasks well.

Based on the virtualization model of cloud service, some traditional intelligent optimization algorithms, such as ant colony optimization (ACO) [15], gray wolf optimizer (GWO) [16], particle swarm optimization (PSO) [17], and genetic algorithm (GA) [18], are widely used and well studied for solving the SCOS problem [19]. However, almost all of these traditional intelligent algorithms have their respective limitations. Specifically, ACO is more commonly used for path optimization, GWO has high convergence and search efficiency, but poor stability, PSO is more suitable for continuous variable optimization, and for GA, the solution space becomes very large when the dimensionality of the independent variables is high. In CMfg, the SCOS usually has a large and irregular solution space when the production is complex and on a large-scale. This makes it difficult to find the optimal solution, and causes the conventional intelligent optimization algorithms to converge inefficiently and easily fall into a local optimum. The SCOS for customized production is more complex than its counterpart for an ordinary case. There is a lack of research on customized production SCOS in CMfg. As a consequence, it is imperative to design a highly efficient intelligent algorithm to solve the customized production SCOS problem.

Considering the above problems and situations, this paper focuses on CMfg services for customized production, especially together with the collaboration of multiple services on the same sub-task. A framework for customized production on the CMfg system is proposed. We develop an improved GA for the customized production. Experiments show the effectiveness and efficiency of the our method. Specially, the main contributions are as follows.

1) A framework for the CMCP is proposed in order to allow multiple services to collaborate on the same sub-task.

2) A mathematical evaluation formulation is constructed in the proposed framework to search for the optimal service composition and service usage scheme.

3) A problem decomposition based GA is designed to obtain the optimal service composition and service usage scheme.

The remaining sections are organized as follows: Section 2 reviews related work. Section 3 introduces the CMfg service system, the proposed customized production framework, and the optimization goal. The problem decomposition based GA is presented in Section 4. Section 5 gives experimental simulation results. Section 6 compares the difference between our method and some existing studies. Finally, Section 7 concludes this paper.

2 Related work

In recent years, much effort has been put into developing and implementing methods for solving CMfg SCOS. Many improved intelligent algorithms are applied to large-scale SCOS problems due to their effectiveness, simplicity, and generality [20].

By combining multiple service quality metrics into one through specified weights, most of the earlier research focused on single-objective optimization. For example, Li et al. [21] proposed an extended Gale-Shapley algorithm-based approach that can effectively generate multiple quality of service (QoS)-aware service compositions. Ding et al. [19] designed a niching behavior-based gravitational search algorithm to address manufacturing SCOS problem. Additionally, some hybrid algorithms were proposed. Bouzary and Chen [22] proposed a new hybrid approach based on the developed gray wolf optimizer algorithm and evolutionary operators of the GA. Liu et al. [23] proposed a novel hybrid algorithm to address the personalized recommendation for manufacturing service composition.

Recently, several researchers have studied optimization methods for CMfg SCOS from a multi-objective perspective [24]. These methods are not limited to QoS or ordinary SCOS. In [17], a PSO-based multi-objective algorithm was proposed to include more feasible service composition candidates. The nondominated sorting genetic algorithm II (NSGA-II) [25] is a promising multi-objective algorithm, which was used in the reference [2] because of its good global exploration performance and strong stability. However, the NSGA-II for large-scale problems may get trapped in a local optimum. Seghir [26] proposed a fuzzy discrete multi-objective artificial bee colony approach to solving the multi-objective QoS-driven web service composition problem. Yaghoubi and Maroosi [27] proposed an improved multi-verse optimization algorithm for web service composition to improve QoS while satisfying the service level agreement.

For the purpose of energy conservation, an energy-aware service composition mechanism was proposed in [28] to minimize the energy consumption of mobile cloud providers and a hybrid shuffled frog leaping algorithm and genetic algorithm were used to optimize mobile cloud service composition. In addition, Yang et al. [29] presented an enhanced multi-objective gray wolf optimizer for the multi-objective SCOS in CMfg, where both the QoS and the energy consumption are considered from the perspective of sustainable manufacturing.

To efficiently solve the robust SCOS problem, a guiding artificial bee colony-gray wolf optimization algorithm with three improvement strategies was proposed in [30]. Gao et al. [12] developed a strengthened multi-objective gray wolf optimizer to solve the bi-objective SCOS problem which considers both robustness and QoS.

For the SCOS in uncertain environments, Zhang et al. [31] proposed a new genetic based hyper-heuristic algorithm with adjustable chromosome length for the multitask-oriented manufacturing service composition model. The hybrid algorithm consists of a clustering-based collaborative filtering algorithm and an improved personalization-oriented third generation non-dominated sorting genetic algorithm.

The above research results from the existing literature have made great progress in solving the SCOS problem. Mass personalization are also feasible [32, 33, 34]. Kang et al. [35] investigated the 3D printing service allocation problem with optimization-based and real-time allocation strategies. Aheleroff et al. [36] addressed mass personalization as part of manufacturing to meet unique and complex requirements on a large scale by harnessing Industry 4.0 technologies. Wang et al. [2] established a CMfg service model based on rewritable Petri nets to describe and analyze the reconfiguration process of the CMCP. Additionally, a CMfg resource allocation strategy with service collaboration in mind is established. However, there has been no improvement in the intelligent algorithm that is used in the strategy for the CMCP. In summary, the algorithm for the CMCP is limited and few studies consider multi-service collaboration with the same functionality in CMfg.

In view of the above discussion, this paper designs a CMCP framework with collaboration among similar services to increase productivity, and proposes an improved algorithm to obtain the service compositions and the associated service usage schemes.

3 Proposed framework and evaluation formulation for CMCP

In this section, the CMfg service system is introduced. Then, the framework with service collaboration for CMCP is proposed. Finally, the evaluation formulation of service composition and service usage scheme is presented.

3.1 Cloud manufacturing service system

As shown in Fig. 1, the CMfg service system consists of three roles: provider, cloud service center, and user. A system includes multiple providers, which provide physical manufacturing resources and capabilities to the cloud service center. Manufacturing resources include soft, hard, and human resources [37]. Manufacturing capabilities are expressed by combinations of manufacturing resources. Manufacturing capabilities reflect the ability to complete a manufacturing task supported by related manufacturing resources. Cloud service center encapsulates resources and capabilities of providers into cloud services, and then efficiently manages and operates cloud services. Different providers with different manufacturing resources and capabilities may offer some cloud services with identical functionality and different QoS, including time, cost, etc.

Refer to caption
Figure 1: CMfg service system consisting of three roles

Cloud services are delivered to users on demands. Users consume different services as needed with the support of the cloud service center. Knowledge enables virtual access to manufacturing resources and capabilities through service-oriented encapsulation and categorization, along with efficient management and intelligent search of cloud services. In addition, for special cases or simple manufacturing tasks, users can directly request services from providers, while the latter can directly offer services to the former.

3.2 The proposed framework for cloud manufacturing customized production

Definition 1 [2] (Order) An order in CMfg is a four-tuple O=(id,type,O=(id,type, quantity)quant\!\!\>it\!\!\>y), where idid represents the id of order, typetype represents the type of products, and quantityquant\!\!\>it\!\!\>y represents the quantity of products.

The design phases of customized production output digital intermediate products instead of physical products. These digital products can be efficiently managed through the cloud service center and delivered to be processed by subsequent services in real time. This opens up more possibilities for the service composition of customized production. As shown in Fig. LABEL:fig:Fig.3, the customized production framework with service collaboration in mind consists of three layers. The first layer is the user layer, which collects customization requirements and generates orders. An order is considered as one task. The middle layer is the cloud service center layer, which receives the user orders, decomposes the tasks into sub-tasks, and matches the sub-tasks with the candidate services to generate service compositions as well as service usage schemes. The bottom layer is the service application layer, which performs product design and manufacturing to meet the customization requirements. For ease of being understood, the following concepts are described:

1) Task decomposition: A task, denoted by TaskTask, can be decomposed into multiple sub-tasks STST. That is, Task={ST1,ST2,,STi,,STI}Task=\{{ST}_{1},\ {ST}_{2},\>\cdots,\ {ST}_{\!i},\>\cdots,\ {ST}_{\!I}\}.

2) Service matching: Each sub-task STi{ST}_{\!i} corresponds to a candidate service set CSSi{CSS}_{i} containing services with identical functionality but different costs and times of a single use. That is, CSSi={CSi,1,CSi,2,,CSi,j,,CSi,J}{CSS}_{i}=\{{CS}_{i,1},\ {CS}_{i,2},\>\cdots,\ {CS}_{i,j},\>\cdots,\ {CS}_{i,\,J}\} where CSi,j{CS}_{i,j} denotes a candidate service, j=1, 2,,Jj=1,\ 2,\>\cdots,\ J.

3) Collaboration: Services can collaborate on a sub-task. The framework allows services with the same functionality to collaborate.

4) Service composition: For each sub-task STi{ST}_{\!i} and the corresponding candidate service set CSSi{CSS}_{i}, i=1, 2,,Ii=1,\ 2,\>\cdots,\ I, there exists a selected service set SSSi={CSi,k,,CSi,m,,CSi,n}{SSS}_{i}=\{{CS}_{i,k},\>\cdots,\ {CS}_{i,m},\>\cdots,\ {CS}_{i,n}\}, where SSSi{SSS}_{i} is a non-empty subset of CSSi{CSS}_{i}. A service composition can be denoted as a set {SSS1,SSS2,,SSSi,,SSSI}\{{SSS}_{1},\ {SSS}_{2},\>\cdots,\ {SSS}_{i},\>\cdots,\ {SSS}_{I}\}.

5) Service usage scheme: The services in SSSi{SSS}_{i} for the sub-task STi{ST}_{\!i} have the same functionality, i=1, 2,,Ii=1,\ 2,\>\cdots,\ I. The service usage scheme indicates how many times each of these services will be used.

6) Optimization: When conducting a service composition and its usage scheme, there are always some constraints such as time, cost, and limited resources. Under various constraints, in order to satisfy the requirements as much as possible, the service composition and service usage scheme should be optimal.

Compared with general frameworks for cloud service composition such as those presented in [15] and [22], the framework proposed in this paper allows multiple services with the same functionality to collaborate on the same sub-task. As a consequence, our proposed framework lays a solid foundation for improving productivity and reducing resource idleness.

3.3 Optimal service composition and service usage scheme

The optimal CMCP service composition and the associated service usage scheme should be of high efficiency and low consumption, and use a minimal amount of service resources. Therefore, the optimization goal consists of three objectives: the minimum total completion time, the lowest total production cost, and the minimum number of selected services. The total completion time (resp., total production cost) refers to the total time (resp., cost) required to complete a task. The number of selected services indicates how many services are selected to complete a task.

For example, there is a simple custom order with the quantityquant\!\!\>it\!\!\>y equal to 10. The order is treated as a production task, which contains two sub-tasks: design sub-task STd{ST}_{d} and manufacturing sub-task STm{ST}_{m}. There are two candidate services CSd,1{CS}_{d,1} and CSd,2{CS}_{d,2} for STd{ST}_{d}, and two candidate services CSm,1{CS}_{m,1} and CSm,2{CS}_{m,2} for STm{ST}_{m}. Assume that the four services are with the same time of a single use. The service CSd,1{CS}_{d,1} (resp., CSm,1{CS}_{m,1}) has a lower cost per use than the service CSd,2{CS}_{d,2} (resp., CSm,2{CS}_{m,2}). There are the following nine service compositions for this task: {CSd,1,CSm,1}\{{CS}_{d,1},\ {CS}_{m,1}\}, {CSd,1,CSm,2}\{{CS}_{d,1},\ {CS}_{m,2}\}, {CSd,2,CSm,1}\{{CS}_{d,2},\ {CS}_{m,1}\}, {CSd,2,CSm,2}\{{CS}_{d,2},\ {CS}_{m,2}\}, {CSd,1,CSm,1,CSm,2}\{{CS}_{d,1},\ {CS}_{m,1},\ {CS}_{m,2}\}, {CSd,2,CSm,1,CSm,2}\{{CS}_{d,2},\ {CS}_{m,1},\ {CS}_{m,2}\}, {CSd,1,CSd,2,CSm,1}\{{CS}_{d,1},\ {CS}_{d,2},\ {CS}_{m,1}\}, {CSd,1,\{{CS}_{d,1}, CSd,2,CSm,2}\ {CS}_{d,2},\ {CS}_{m,2}\}, and {CSd,1,CSd,2,CSm,1,CSm,2}\{{CS}_{d,1},\ {CS}_{d,2},\ {CS}_{m,1},\ {CS}_{m,2}\}. Each service composition has one or more usage schemes. A complete customized production solution consists of a service composition and a service usage schemes. To minimize the total production cost and the number of selected services, the service composition {CSd,1,CSm,1}\{{CS}_{d,1},\ {CS}_{m,1}\} would be selected, and services CSd,1{CS}_{d,1} and CSm,1{CS}_{m,1} should be used 10 times each. To minimize the total completion time of the task, the service composition {CSd,1,CSd,2,CSm,1,CSm,2}\{{CS}_{d,1},\ {CS}_{d,2},\ {CS}_{m,1},\ {CS}_{m,2}\} should be selected, and each service would be used 5 times.

For a large-scale task, it is difficult to compute the total completion time accurately. In the sequel, a fast recursive approach is proposed to approximate the total completion time. Meanwhile, the formulas for calculating the total production cost and the number of selected services are also given. We assume that several services with the same functionality are selected for sub-task STi{ST}_{\!i}, and the set SSSi{SSS}_{i} contains selected services for STi{ST}_{\!i}, i=1, 2,,Ii=1,\ 2,\>\cdots,\ I. The theoretical minimum completion time of STi{ST}_{\!i} is denoted by Timei{Time}_{i}. The cumulative usage time of the service CSi,j{CS}_{i,j} in SSSi{SSS}_{i}, j{1, 2,,J}j\in\{1,\ 2,\>\cdots,\ J\}, is denoted as follows:

Time(CSi,j)=k=1Ktimek,\displaystyle\textrm{Time}({CS}_{i,j})=\sum_{k=1}^{K}{time}_{k}, (1)

where KK is the usage number of CSi,j{CS}_{i,j} and timek{time}_{k} is the kkth usage time of CSi,j{CS}_{i,j}, k=1, 2,,Kk=1,\ 2,\>\cdots,\ K.

For each i{1, 2,,I}i\in\{1,\ 2,\>\cdots,\ I\}, let LCSi{LCS}_{i} represent the selected service with the longest cumulative usage time in SSSi{SSS}_{i}. The maximum time of a single use for service LCSi{LCS}_{i} is denoted by UTi{UT}_{i}. The cumulative usage time of LCSi{LCS}_{i} is denoted as:

LTi=Time(LCSi).\displaystyle\ {LT}_{i}=\textrm{Time}({LCS}_{i}). (2)

The sub-tasks are executed sequentially. The theoretical minimum completion time Timei{Time}_{i} of STi{ST}_{\!i} is determined by Timei1{Time}_{i-1}, UTi1{UT}_{i-1}, LTi{LT}_{i} and UTi{UT}_{i}, as follows:

Timei={LT1,ifi=1,max(LTi,Timei1UTi1+UTi),ifi1,\displaystyle\begin{split}{Time}_{i}=&\begin{cases}{LT}_{1},\!\!\!\!\!\!&\textrm{if}\ i=1,\!\!\!\!\!\!\!\!\\ \max({LT}_{i},\ {Time}_{i-1}-{UT}_{i-1}+{UT}_{i}),\!\!\!\!\!\!\!&\textrm{if}\ i\neq 1,\!\!\!\!\!\!\!\!\\ \end{cases}\\ \end{split} (3)

where LTi{LT}_{i} is calculated using Eq. (2), i=1, 2,,Ii=1,\ 2,\>\cdots,\ I.

The cost of completing sub-task STi{ST}_{\!i} is :

Cost(STi)=CSi,jSSSicost(CSi,j),\displaystyle\ \textrm{Cost}\left({ST}_{\!i}\right)=\sum_{{CS}_{i,j}\in{SSS}_{i}}{\textrm{cost}({CS}_{i,j})}, (4)

where cost(CSi,j)({CS}_{i,j})\ represents total cost of using the service CSi,j{CS}_{i,j}.

The number of selected services in SSSi{SSS}_{i} is:

Num(STi)=num(SSSi),\displaystyle\ \textrm{Num}\left({ST}_{\!i}\right)=\textrm{num}({SSS}_{i}), (5)

where num(SSSi)({SSS}_{i}) represents the number of selected services in the set SSSi{SSS}_{i}.

Recall that Task={ST1,ST2,,STi,,STI}Task=\{{ST}_{1},\ {ST}_{2},\>\cdots,\ {ST}_{\!i},\>\cdots,\ {ST}_{\!I}\}. For TaskTask, let Timetotal{Time}_{total} represent its total completion time, Costtotal{Cost}_{total} be the total production cost, and Numtotal{Num}_{total} indicate the number of services selected for TaskTask. We have:

MinimizeTimetotal=TimeI+i=1I1UTi,\displaystyle\ \textrm{Minimize}\ {Time}_{total}={Time}_{I}+\sum_{i=1}^{I-1}{UT}_{i}, (6)
MinimizeCosttotal=i=1ICost(STi),\displaystyle\ \textrm{Minimize}\ {Cost}_{total}=\sum_{i=1}^{I}{\textrm{Cost}\left({ST}_{\!i}\right)}, (7)
MinimizeNumtotal=i=1INum(STi),\displaystyle\ \textrm{Minimize}\ {Num}_{total}=\sum_{i=1}^{I}{\textrm{Num}\left({ST}_{\!i}\right)}, (8)

where TimeI{Time}_{I}, Cost(STi)\left({ST}_{\!i}\right), and Num(STi)({ST}_{\!i}) are calculated using Eqs. (3-5), respectively.

4 Intelligent algorithm for SCOS in CMCP

In this section, a problem decomposition based genetic algorithm (PDGA) is proposed to obtain the optimal CMCP service compositions and the associated service usage schemes.

4.1 Problem decomposition and encoding

The problem decomposition can reduce the difficulty of solving complex problems by decomposing them into multiple parts. More precisely, a problem is decomposed into several parts and each part is optimized separately. Let OO represent an order. We assume that the production task of OO contains II sub-tasks {ST1,ST2,,STi,,STI}\{{ST}_{1},\ {ST}_{2},\>\cdots,\ {ST}_{\!i},\>\cdots,\ {ST}_{\!I}\} with STi{ST}_{\!i} being the iith sub-task. As shown in Fig. 3, a service composition and its usage scheme for OO can be encoded as a chromosome set XOX_{O} with its size equal to the number of sub-tasks. The set XO={XO1,XO2,,XOi,,XOI}X_{O}=\{X_{O}^{1},\ X_{O}^{2},\>\cdots,\ X_{O}^{i},\>\cdots,\ X_{O}^{I}\} is a complete solution, and any chromosome in XOX_{O} is a partial solution corresponding to a sub-task. For each sub-task, a population will be generated to find the optimal partial solution. Thus, the complex problem of finding the optimal service composition and usage scheme for a task is decomposed into sub-problems of finding service composition and usage scheme for each sub-task.

Refer to caption
Figure 3: Encoding for a task

For each i{1, 2,,I}i\in\{1,\ 2,\>\cdots,\ I\}, a chromosome XOiX_{O}^{i} with respect to sub-task STi{ST}_{\!i} for order OO satisfies the following conditions:

1) XOiX_{O}^{i} is a non-zero vector with non-negative integer components. Assume that there are JJ candidate services for the sub-task STi{ST}_{\!i}. Then, the dimension of XOiX_{O}^{i} is JJ, that is, XOi=[xOi,1,xOi,2,,xOi,j,,xOi,J]X_{O}^{i}=[x_{O}^{i,1},\ x_{O}^{i,2},\>\cdots,\ x_{O}^{i,j},\>\cdots,\ x_{O}^{i,\,J}].

2) The component xOi,j0x_{O}^{i,j}\geq 0 in XOiX_{O}^{i} corresponds to the jjth candidate service CSi,j{CS}_{i,j}, j=1, 2,,Jj=1,\ 2,\>\cdots,\ J. If xOi,jx_{O}^{i,j} is equal to zero, then CSi,j{CS}_{i,j} will not be selected; otherwise, CSi,j{CS}_{i,j} will be selected and used. Furthermore, the usage number of CSi,j{CS}_{i,j} is equal to xOi,jx_{O}^{i,j}.

3) j=1JxOi,j=quantity\sum_{j=1}^{J}x_{O}^{i,j}=quant\!\!\>it\!\!\>y, where quantityquant\!\!\>it\!\!\>y indicates how many products are in the order OO.

4) Additional restrictions. For example, if a candidate service can only be used a maximum of 20 times, then the corresponding component cannot be greater than 20.

4.2 Algorithm overview

The basic process of the problem decomposition based genetic algorithm (PDGA) is shown in Algorithm  1. First, the service composition and associated service usage scheme can be encoded as a set of chromosomes by the problem decomposition. For each chromosome, create a population to search for the necessary individuals. Then, combine individuals from multiple populations to obtain the solutions that are the optimal service compositions and associated service usage schemes. In addition, the elite selection, the fast non-dominated sorting method, and the crowding distance assignment are used during the population iterations. Specifically, elite selection helps to maintain the best individuals. Fast non-dominated sorting method is used to quickly find superior individuals in populations. Crowding distance assignment improves the search capability of the algorithm.

Algorithm 1:  Problem decomposition based genetic algorithm (PDGA)
1:iteration number GG, population size SizeSize, sub-task sequence SequenceSequence, simulated binary crossover factor etac{eta}_{c}, crossover probability cc, polynomial mutation factor etam{eta}_{m}, mutation probability mm, search limit LimitLimit.
2:optimal service compositions and service usage schemes SolutionsSolut\!\!\>\!\!\>\,ions.
3:Pops[]Pops[\,]\Leftarrow\emptyset ; /* Pops[]Pops[\,] is the sequence of populations.*/
4:Solutions[]Solut\!\!\>\!\!\>\,ions[\,]\Leftarrow\emptyset ; /* Solutions[]Solut\!\!\>\!\!\>\,ions[\,] is the set of solutions.*/
5:index0index\Leftarrow 0 ; /* indexindex is used to guide the populations iteration.*/
6:for each sub-task STi{ST}_{\!i} in SequenceSequence do
7:     Pops[i]Pops[i]\Leftarrow Generate the initial population with SizeSize
8:     for STi{ST}_{\!i} ; /* Randomize initial populations.*/
9:end for
10:for (g=0g=0 ; g<Gg<G ; g++g++do
11:     Solutions[g]Solut\!\!\>\!\!\>\,ions[g] and indexindex\Leftarrow Complete solution gene-
12:    ration(Pops[],Pops[\,],\, LimitLimit) ; /* This function is Algorithm
13:    3 presented in Section 4.4.*/
14:     Pops[]Pops[\,]\Leftarrow Iteration(Pops[],index,etac,etam,prc,Pops[\,],\,index,\,{eta}_{c},\,{eta}_{m},\,{pr}_{c},
15:    prm{pr}_{m}) ; /* This function is Algorithm  4 presented in
16:    Section 4.5.*/
17:end for
18:Solutions[]Solut\!\!\>\!\!\>\,ions[\,]\Leftarrow Optimal solution selection(Solutions[]Solut\!\!\>\!\!\>\,ions[\,]) ; 
19:/* This function is Algorithm  5 presented in Section 4.6.*/
20:Output Solutions[]Solut\!\!\>\!\!\>\,ions[\,].

4.3 Stratified sequencing approach and search bootstrap function

Usually, it is necessary to solicit the opinions of users and the advice of experts before searching for the optimal cloud service composition. Based on the results of the solicitation, multiple service indexes are combined by weighted sum approaches to obtain the final evaluation index: quality of service (QoS). However, it is not easy to determine the weights of each index in the task [20]. Opinions and advice are highly dependent on personal experience, and the solicitation process takes additional time and cost. Thus, the stratified sequencing approach is used to prioritize the following three objectives (as previously presented in Section 3.3): 1) the primary objective is the minimum total completion time; 2) the secondary objective is the lowest total production cost; and 3) the final objective is the minimum number of selected services. The efficiency of the solution search is also improved by the stratified sequencing approach.

However, the stratified sequencing approach may lead the PDGA to focus too much on reducing total completion time at the expense of other objectives. This does not necessarily correspond to actual demands. Thus, a search bootstrap function is designed in the PDGA to obtain more diverse solutions. The specific pseudo-code of the function is shown in Algorithm  2. A search limit, denoted by LimitLimit, is set by the user requirements for the objective of total completion time. This limit is used in the search bootstrap function. As the total completion time of a solution approaches this limit, Algorithm  1 will focus on reducing the total production cost and the number of selected services.

Algorithm 2:  Search bootstrap function
1:population PopPop, search limit LimitLimit.
2:individual IndividualIndividual, theoretical minimum completion time timetime.
3:IndividualIndividual\Leftarrow\>null, timetime\Leftarrow\>null ; /* Initialization.*/
4:timetime[][\,]\Leftarrow\emptyset ; /* timetime[][\,] is the sequence of theoretical minimum completion times of individuals in PopPop.*/
5:for (j=0j=0 ; j<j< length(PopPop) ; j++j++do
6:     time[j]t\!\!\>\!\!\>\,\,ime[j]\Leftarrow calculate the theoretical minimum comple-
7:    tion time of individuals in Pop[j]Pop[j] by Eq.(3) ;
8:end for
9:MintimeMintime\Leftarrow min(time[]time[\,]) ;
10:if MintimeLimitMintime\geq Limit then
11:     IndividualPop[time.Individual\Leftarrow Pop[time.index(Mintime)](Mintime)] ; /*The ind-
12:    ex of MintimeMintime in timetime[][\,] is time.time.index(Mintime)(Mintime).*/
13:     timeMintimetime\Leftarrow Mintime ;
14:else
15:     MintimeMintime\Leftarrow\infty ;
16:     for timetime in time[]time[\,] do
17:         if timeLimittime\geq Limit & timeMintimetime\leq Mintime then
18:              MintimetimeMintime\Leftarrow time ;
19:         end if
20:     end for
21:     if MintimeMintime\neq\infty then
22:         IndividualPop[time.Individual\Leftarrow Pop[time.index(Mintime)](Mintime)] ;
23:         timeMintimetime\Leftarrow Mintime ;
24:     else
25:         Maxtimemax(time[])Maxtime\Leftarrow max(time[\,]) ;
26:         IndividualPop[time.Individual\Leftarrow Pop[time.index(Maxtime)](Maxtime)] ;
27:         timeMaxtimetime\Leftarrow Maxtime ;
28:     end if
29:end if
30:Output IndividualIndividual and timetime.

4.4 Complete solution generation

Definition 2 [38] (Non-dominated solution) Let X1X_{1} and X2X_{2} be two solutions in the current solution set. Solution X2X_{2} is dominated by solution X1X_{1} if all objective values of X1X_{1} are not worse than the corresponding objective values of X2X_{2}, and one or more objectives of X1X_{1} are better than the corresponding objective values of X2X_{2}. Solution X1X_{1} is a non-dominated solution if X1X_{1} is not dominated by any other solution in the current solution set.

Note that a non-dominated solution does not necessarily perform better in all objectives than any other solutions. It only means that there is no other solution that performs better in all objectives than the non-dominated solution X1X_{1}. For example, there is a solution set {X1\{X_{1}, X2X_{2}, X3X_{3}}. For two objectives (e.g., the cost and the number of services required), X1=(3,2)X_{1}=(3,2), X2=(3,3)X_{2}=(3,3), and X3=(2,3)X_{3}=(2,3). The solution X2X_{2} is dominated by either of solutions X1X_{1} and X3X_{3}. The solution X1X_{1} (resp., X3X_{3}) is not dominated by solution X3X_{3} (resp., X1X_{1}). As a consequence, solutions X1X_{1} and X3X_{3} are non-dominated solutions in the solution set.

For each sub-task, a population is created to search for the optimal partial solutions so as to generate complete solutions. The process is as follows. First, in each population, select an individual using the search bootstrap function (i.e. Algorithm  2). Second, among these individuals, select the one with the longest theoretical minimum completion time, denoted by XiX_{i}, i{1, 2,,I}i\in\{1,\ 2,\>\cdots,\ I\}. That is, ii indicates that XiX_{i} is from the iith population for STi{ST}_{\!i}. The theoretical minimum completion time of XiX_{i} is denoted by MaxTMaxT. Third, in each population except the iith population, calculate the dominance relationship between any two individuals by the fast non-dominated sorting method using Eqs. (3-5). Fourth, search for a particular individual having the lowest cost, the fewest number of selected services, and the theoretical minimum completion time less than MaxTMaxT. Finally, combine these individuals with XiX_{i} to form a complete solution, and calculate the total completion time, the total production cost, and the number of selected services of the complete solution by Eqs. (6-8).

The specific pseudo-code of the complete solution generation is shown in Algorithm  3, where the variable indexindex is used to guide the population iteration operation. Specifically, the value of indexindex is equal to ii, which indicates that the individual XiX_{i} with the theoretical minimum completion time MaxTMaxT is from the iith population for STi{ST}_{\!i}.

Algorithm 3:  Complete solution generation
1:population sequence Pops[]Pops[\,], search limit LimitLimit.
2:complete solution solutionsolut\!\!\>\!\!\>\,ion, index indexindex.
3:solutionsolut\!\!\>\!\!\>\,ion\Leftarrow\emptyset, indexindex\Leftarrow null, individual[]individual[\,]\Leftarrow\emptyset, time[]time[\,]\Leftarrow\emptyset, j0j\Leftarrow 0 ; /* Initialization.*/
4:for PopPop in Pops[]Pops[\,] do
5:     individual[j]individual[j] and time[j]time[j]\Leftarrow Search bootstrap func-
6:   tion(Pop,LimitPop,Limit) ; /* This function is Algorithm  2
7:   presented in Section 4.3.*/
8:     if time[j]>MaxTtime[j]>MaxT then
9:         MaxTtime[j]MaxT\Leftarrow time[j] ;
10:         indexjindex\Leftarrow j ;
11:     end if
12:     j++j++ ;
13:end for
14:for (m=0m=0 ; m<jm<j ; m++m++do
15:     if mindexm\neq index then
16:         SmallPopSmallPop\Leftarrow Select the individuals with the theo-
17:   retical minimum completion time (calculated by
18:   Eq. (3)) less than MaxTMaxT in Pops[m]Pops[m] ;
19:         Individual[m]Individual[m]\Leftarrow Select the individual with the
20:   lowest cost and fewer number of selected services
21:   in SmallPopSmallPop ;
22:     end if
23:end for
24:solutionIndividual[]solut\!\!\>\!\!\>\,ion\Leftarrow Individual[\,] ;
25:Output solutionsolut\!\!\>\!\!\>\,ion and indexindex.

4.5 Iteration

After generating a complete solution, all populations are iterated once. Simulated binary crossover and polynomial mutation are used in each iteration. We assume that there are two arbitrary paternal individuals whose respective genes at a particular position are x1x_{1} and x2x_{2}. After the simulated binary crossover, the offspring genes are c1c_{1} and c2c_{2} as follows:

{c1=0.5(x1+x2)0.5β(x1x2),c2=0.5(x1+x2)+0.5β(x1x2),\displaystyle\begin{split}\begin{cases}c_{1}=0.5\ast(x_{1}+x_{2})-0.5\ast\beta\ast(x_{1}-x_{2}),\\ c_{2}=0.5\ast(x_{1}+x_{2})+0.5\ast\beta\ast(x_{1}-x_{2}),\\ \end{cases}\end{split} (9)

where β\beta is the spread factor that represents a ratio difference between parent and offspring individuals. The factor β\beta is calculated as follows through a random value rr in the range [0,1].

β={(2r)11+ηc,ifr0.5,(122r)11+ηc,ifr>0.5,\displaystyle\begin{split}\beta=\begin{cases}(2r)^{\tfrac{1}{1+\eta_{c}}},&\textrm{if}\ r\leq 0.5,\\ \left(\dfrac{1}{2-2r}\right)^{\tfrac{1}{1+\eta_{c}}},&\textrm{if}\ r>0.5,\end{cases}\end{split} (10)

where ηc\eta_{c} is the spread factor distribution index as a custom parameter. The larger the value of ηc\eta_{c}, the more similar the offspring individuals are to the parent individuals.

For a gene xx, the gene m=x+δ(ul)m=x+\delta\ast(u-l) is obtained by the polynomial mutation of xx, where uu is the upper bound of xx, ll is the lower bound of xx, and δ\delta is the perturbation factor calculated as follows through a random value rr in the range [0,1].

δ={[2r+(12r)(1δ1)1+ηm]11+ηm1,ifr0.5,1[22r+(2r1)(1δ2)1+ηm]1(1+ηm),ifr>0.5,\displaystyle\begin{split}\delta=\begin{cases}{\left[2r+(1-2r){(1-\delta_{1})}^{1+\eta_{m}}\right]}^{\tfrac{1}{1+\eta_{m}}-1},\quad\quad\;\;\,\,\,\textrm{if}\ r\leq 0.5,\\ 1-{\left[2-2r+(2r-1){(1-\delta_{2})}^{1+\eta_{m}}\right]}^{\tfrac{1}{(1+\eta_{m})}},\textrm{if}\ r>0.5,\end{cases}\vspace{-1em}\end{split} (11)

where δ1=(xl)/(ul)\delta_{1}=(x-l)/(u-l), δ2=(ux)/(ul)\delta_{2}=(u-x)/(u-l), and ηm\eta_{m} is the perturbation factor distribution index as a custom parameter. The larger the value of ηm\eta_{m}, the greater the degree of mutation.

Suppose there are II populations, each with size SizeSize. The specific iteration process is as follows. First, cross-mutate each of the II populations by Eqs. (9-11) to obtain II offspring populations of size SizeSize. Second, according to elite selection, combine each offspring population with its corresponding parent to constitute II current populations of size 2Size2\ast Size. Third, calculate fitness values for individuals in the current populations using Eqs. (3-5). For the individuals in the iith population (where ii equals to indexindex output by Algorithm  3), the fitness includes the theoretical minimum completion time calculated by Eq. (3), the cost calculated by Eq. (4), and the number of selected services calculated by Eq. (5). Fitness for other populations includes the cost calculated by Eq. (4) and the number of selected services calculated by Eq. (5). Finally, for each current population, use the fast non-dominated sorting method with crowding distance assignment to select individuals so as to obtain a new population of size SizeSize. The specific pseudo-code of the above iteration is shown in Algorithm  4.

4.6 Optimal complete solution selection

Instead of updating the maintenance of the complete solution set during the iteration of approach execution, we choose to filter it at the end, in order to reduce the computational cost. When the maximum number of iterations is reached, a fast non-dominated sorting is performed on all complete solutions to select and output optimal solutions (specifically, non-dominated solutions). After that, the PDGA is finished. The specific pseudo-code of the optimal solution selection is shown in Algorithm  5.

Algorithm 4:  Iteration
1:population sequence Pops[]Pops[\,], population size SizeSize, index indexindex, simulated binary crossover factor etac{eta}_{c}, crossover probability cc, polynomial mutation factor etam{eta}_{m}, mutation probability mm.
2:population sequence Pops[]Pops[\,].
3:j0j\Leftarrow 0 ;  /* Initialization.*/
4:for PopPop in Pops[]Pops[\,] do
5:     OsPopOsPop\Leftarrow Generate the offspring population of PopPop
6:     by Eqs. (9-11) using etac{eta}_{c}, prc{pr}_{c}, etam{eta}_{m}, prm{pr}_{m}, and SizeSize ;
7:     PopPopOsPopPop\Leftarrow Pop\cup OsPop ;
8:     if jindexj\neq index then
9:         Frank[]Frank[\,]\Leftarrow Fast-non-dominated-sort(PopPop) by
10:   CostCost and NumNum ; /*CostCost is the cost of the individual
11:   and NumNum is the number of selected services in the
12:   individual.*/
13:     else
14:         Frank[]Frank[\,]\Leftarrow Fast-non-dominated-sort(PopPop) by
15:   Time,Cost,Time,Cost, and NumNum ; /*TimeTime, Cost,Cost, and NumNum are
16:   calculated by Eqs. (3-5).*/
17:     end if
18:     NewPopNewPop\Leftarrow\emptyset and k0k\Leftarrow 0 ;
19:     while (|NewPop|+|Frank[k]|Size|NewPop|+|Frank[k]|\leq Sizedo
20:         NewPopNewPopFrank[k]NewPop\Leftarrow NewPop\cup Frank[k] ; /*Retain the go-
21:   od individuals.*/
22:         k++k++ ;
23:     end while
24:     DistanceDistance\Leftarrow Crowding-distance-assignment
25:    (Frank[k]Frank[k]) ;
26:     Sort(Frank[k]Frank[k]) by DistanceDistance ; /* Descending order*/
27:     NewPopNewPopFrank[k][0:(SizeNewPop\Leftarrow NewPop\cup Frank[k][0:(Size-
28:    |NewPop|)]|NewPop|)] ; /*Retain the first (Size|NewPop|Size-|NewPop|)
29:    individuals in Frank[k]Frank[k].*/
30:     Pops[j]NewPopPops[j]\Leftarrow NewPop ;
31:     j++j++ ;
32:end for
33:Output Pops[]Pops[\,].
Algorithm 5:  Optimal solution selection
1:the set of complete solutions Solutions[]Solut\!\!\>\!\!\>\,ions[\,].
2:optimal solutions OptimalSolutions[]O\!\!\>\!\!\>\,ptimalSolut\!\!\>\!\!\>\,ions[\,].
3:OptimalSolutions[]O\!\!\>\!\!\>\,ptimalSolut\!\!\>\!\!\>\,ions[\,]\Leftarrow\emptyset ;  /* Initialization.*/
4:Frank[]Frank[\,]\Leftarrow Fast-non-dominated-sort(Solutions[]Solut\!\!\>\!\!\>\,ions[\,]) by
5:Timetotal{Time}_{total}, Costtotal{Cost}_{total}, and Numtotal{Num}_{total} ; /*Timetotal{Time}_{total}, Costtotal{Cost}_{total},
6:and Numtotal{Num}_{total} are calculated by Eqs. (6-8).*/
7:OptimalSolutions[]Frank[0]O\!\!\>\!\!\>\,ptimalSolut\!\!\>\!\!\>\,ions[\,]\Leftarrow Frank[0] ;
8:Output OptimalSolutions[]O\!\!\>\!\!\>\,ptimalSolut\!\!\>\!\!\>\,ions[\,].

5 Case study

Refer to caption
Figure 4: Process of the CMfg clothing customization production
Table 1: The expected output of each sub-task
  Sub-task ST1{ST}_{1} ST2{ST}_{2} ST3{ST}_{3}
Output Body data and customization needs Clothes design data Clothes design data with (a)
  Sub-task ST4{ST}_{4} ST5{ST}_{5} ST6{ST}_{6}
Output Clothes design data with (a) and (b) Clothes design data with (a), (b), and (c) Clothing
 
00footnotetext: (a) loose quantity data (b) CAD drawing data (c) clothes layout data

In this section, we apply the PDGA to a CMfg clothing customization production system which is modified from [2] and whose entire process is shown in Fig. 4. First, the user data is collected by the data collection sub-task ST1{ST}_{1}, which includes the body measurements and the personalized demands. Second, the process enters the automated design phase, including the clothes design sub-task ST2{ST}_{2}, the loose quantity sub-task ST3{ST}_{3}, and the CAD drawing sub-task ST4{ST}_{4}. Then, the process proceeds to the clothes layout sub-task ST5{ST}_{5}, followed by the manufacturing sub-task ST6{ST}_{6} which includes tailoring, sewing, ironing, quality inspection, and packaging. Table 1 shows the expected output for each sub-task.

Table 2: Parameters of experimentation
  Sub-task ST1{ST}_{1} ST2{ST}_{2} ST3{ST}_{3}
Candidate service CS1,1{CS}_{1,1} CS1,2{CS}_{1,2} CS1,3{CS}_{1,3} CS2,1{CS}_{2,1} CS2,2{CS}_{2,2} CS3,1{CS}_{3,1} CS3,3{CS}_{3,3}
Time 1 0.8 1.1 10 15 3 2
Cost 1 1.2 0.9 12 10 1 1.5
  Sub-task ST3{ST}_{3} ST5{ST}_{5} ST6{ST}_{6}
Candidate service CS4,1{CS}_{4,1} CS4,2{CS}_{4,2} CS4,3{CS}_{4,3} CS5,1{CS}_{5,1} CS5,2{CS}_{5,2} CS6,1{CS}_{6,1} CS6,2{CS}_{6,2}
Time 25 28 22 6 8 50 45
Cost 2 1.6 2.4 2 1.6 15 18
 

Table 2 describes the candidate services for each sub-task. It also provides the time and cost metrics for a single use of each candidate service.

As shown in Fig. 5, for the clothing customization example, the completion time Time1{Time}_{1} of the first sub-task ST1{ST}_{1} is equal to the cumulative usage time LT1{LT}_{1} of LCS1{LCS}_{1}. For the other sub-tasks STi{ST}_{\!i}, the completion time Timei{Time}_{i} is equal to max(LTi,Timei1UTi1+UTi)\max({LT}_{i},\ {Time}_{i-1}-{UT}_{i-1}+{UT}_{i}), i=2, 3,, 6i=2,\ 3,\>\cdots,\ 6. Using Eq. (6), the total completion time Timetotal=Time6+i=15UTi{Time}_{total}={Time}_{6}+\sum_{i=1}^{5}{UT}_{i}.

Refer to caption
Figure 5: Gantt chart of the CMfg clothing customization production

To verify the effectiveness of the method developed in the present work, we conduct experiments using the PDGA presented in Section 4 and the multi-objective optimization genetic algorithm NSGA-II. The number of iterations is set to 100 (resp., 200) for the PDGA (resp., NSGA-II). Both NSGA-II and PDGA include elite selection. Therefore, the crossover and mutation probabilities are set to 100% for a better search efficiency. The spread factor distribution index ηc\eta_{c} (resp., perturbation factor distribution index ηm\eta_{m}) is set to 0.1 (resp., 0.01). The product quantity in the order is set to 1000. Some specific settings for the experiments are shown in Table 3. Both algorithms are implemented in Python3 and tested on a computer with a 2.20 GHz Intel Core i7 8750H CPU and 8.0 GB of RAM running 64-bit Windows 10 operating system.

Table 3: Some specific settings for the experiments
  Execution 1 2 3 4 5 6 7
Algorithm NSGA-II PDGA PDGA PDGA PDGA PDGA PDGA
Iteration number 200 100 100 100 100 100 100
LimitLimit - 0 24000 26000 28000 30000 32000
  Execution 8 9 10 11 12 13 14
Algorithm PDGA PDGA PDGA PDGA PDGA PDGA PDGA
Iteration number 100 100 100 100 100 100 100
LimitLimit 34000 36000 38000 40000 42000 44000 46000
 
Figure 6: Total completion time and total production cost of solutions

Each execution of the experiment produces a set of non-dominated solutions. Fig. 6 where each point represents a solution, shows the total completion time and the total production cost of the solutions obtained by each execution. Table 4 shows the number of solutions obtained by each execution. It is easy to see that the solutions produced by the PDGA are denser compared with those by NSGA-II, due to the stratified sequencing approach strategy used in the PDGA. The strategy allows the PDGA to better search for optimal solutions. Clearly, the solutions produced by the PDGA are better in both aspects of total completion time and total production cost than those by the NSGA-II.

Table 4: The number of solutions in each execution
  Execution 1 2 3 4 5 6 7
Algorithm NSGA-II PDGA PDGA PDGA PDGA PDGA PDGA
Number of solutions 21 3 20 23 13 10 8
  Execution 8 9 10 11 12 13 14
Algorithm PDGA PDGA PDGA PDGA PDGA PDGA PDGA
Number of solutions 7 8 9 6 10 6 11
 

Fig. 7 shows the average number of selected services in the solutions obtained by each execution. The algorithm employed in the first execution is the NSGA-II, which is used for comparative purposes. The others are the PDGA with different values of LimitLimit. Clearly, the solutions obtained by the PDGA are with fewer selected services than those obtained by the NSGA-II. The results indicate that the solutions with respect to the PDGA need fewer service resources compared with those of NSGA-II. This empirical evidence points to the efficiency of our method.

Fig. 8 shows the time consumption of each execution. The first execution employs the NSGA-II, which is again used for comparative purposes. The other executions are of the PDGA with different values of LimitLimit. To ensure the data accuracy, we calculated the average computation time. The results indicate that the PDGA finds better solutions in less time than the NSGA-II.

In summary, the PDGA produces better solutions in less time compared with the NSGA-II. Additionally, the PDGA can be configured with different LimitLimit values based on completion time requirements, resulting in solutions that address user demands more effectively.

Figure 7: Average number of selected services
Figure 8: Time consumption of each execution

6 Comparison

This section aims to compare the difference between our work and some representative studies for optimal CMfg service composition selection. The mass comparisons are shown in Table 5.

Table 5: Comparison of methods of handling the SCOS
Work (a) (b) (c) (d) (e)
[15]
Ordinary production
Single service
(f)
Yes No
[39]
Ordinary production
Single service
(f)
Yes No
[19]
Ordinary production
Single service
(f)
Yes No
[2]
Customized production
Multiple services (g) No No
Ours
Customized production
Multiple services (g) No Yes
\botrule
00footnotetext: (a) For what problem? (b) Single service or multiple services for each sub-task? (c) What is the type of optimization? (d) Is additional weight needed? (e) Does the optimization consider the objective of using fewer service resources? (f) Converting multi-objective optimization to single-objective optimization (g) Multi-objective optimization

In particular, the present work is different from [15], [39], and [19] since there is no inclusion between the problem classes studied by them and ours. Compared with the previous work of Wang et al. [2], the present work considers not only the collaboration among services with the same functionality, but also the amount of service resources. Additionally, the method developed in the present work can quickly find the optimal service compositions and usage schemes. In contrast, the optimization of service composition is not addressed in the reference [2].

7 Conclusion and future work

For the cloud manufacturing (CMfg) service system that handles personalized requirements, this paper proposed a framework with collaboration among similar services to improve the efficiency and reduce the cost of the cloud manufacturing customized production (CMCP). Then, the optimal service composition and service usage scheme of CMCP is presented. Finally, a problem decomposition based genetic algorithm using the stratified sequencing approach was proposed to achieve the optimization of the CMCP. The results show that the solution obtained by this algorithm has the shortest total completion time and lower total production cost, and requires fewer services.

In the future, the dependency among services and the uncertainty of service delivery in CMfg service systems as well as the multi-order problem will be addressed to study the CMCP. In addition, we plan to develop a method to calculate quickly and accurately the time required for mass customization production, taking into account multiple services with the same functionality working together.

Acknowledgement This work was supported by the National Natural Science Foundation of China [grant number 62072260].

Authorship contribution Hao Yue contributed to main idea, formal analysis, methodology, literature search, data analysis, figures, and writing—original draft preparation—review & editing. Yingtao Wu contributed to main idea, data analysis, figures, and writing—review & editing. Min Wang contributed to funding acquisition, supervision, writing—review & editing. Hesuan Hu contributed to writing—review & editing. Weimin Wu contributed to validation, visualization, writing—review & editing. Jihui Zhang contributed to funding acquisition, resources. Provide the same order of author in both the system and the manuscript file and the meta-data.

Funding National Natural Science Foundation of China [grant number 62072260]

Data availability Data and materials are available on request from the authors.

Declarations

Ethical approval Not applicable.

Consent to participate Not applicable.

Consent to publish All authors have agreed for authorship, read, and approved the manuscript, and given consent for submission and subsequent publication of the manuscript. The authors guarantee that the contribution to the work has not been previously published elsewhere.

Competing interests The authors declare no competing interests.

References

  • \bibcommenthead
  • Wang et al [2022a] Wang W, Zhang Y, Gu J, et al (2022a) A proactive manufacturing resources assignment method based on production performance prediction for the smart factory. IEEE Transactions on Industrial Informatics 18(1):46–55. 10.1109/tii.2021.3073404
  • Wang et al [2022b] Wang M, Pang S, Yu S, et al (2022b) An optimal production scheme for reconfigurable cloud manufacturing service system. IEEE Transactions on Industrial Informatics 18(12):9037–9046. 10.1109/tii.2022.3169979
  • Zhang et al [2018] Zhang Y, Zhu Z, Lv J (2018) CPS-based smart control model for shopfloor material handling. IEEE Transactions on Industrial Informatics 14(4):1764–1775. 10.1109/tii.2017.2759319
  • Pan et al [2022] Pan Q, Gao L, Wang L (2022) An effective cooperative co-evolutionary algorithm for distributed flowshop group scheduling problems. IEEE Transactions on Cybernetics 52(7):5999–6012. 10.1109/TCYB.2020.3041494
  • Qu et al [2016] Qu T, Lei S, Wang Z, et al (2016) IoT-based real-time production logistics synchronization system under smart cloud manufacturing. International Journal of Advanced Manufacturing Technology 84(1-4):147–164. 10.1007/s00170-015-7220-1
  • Zhong et al [2017] Zhong R, Xu X, Klotz E, et al (2017) Intelligent manufacturing in the context of Industry 4.0: A review. Engineering 3(5):616–630. 10.1016/j.Eng.2017.05.015
  • Hu et al [2020] Hu H, Jia X, He Q, et al (2020) Deep reinforcement learning based AGVs real-time scheduling with mixed rule for flexible shop floor in Industry 4.0. Computers & Industrial Engineering 149:106749. 10.1016/j.cie.2020.106749
  • Lu and Xu [2019] Lu Y, Xu X (2019) Cloud-based manufacturing equipment and big data analytics to enable on-demand manufacturing services. Robotics and Computer-Integrated Manufacturing 57:92–102. 10.1016/j.rcim.2018.11.006
  • China Changan Automobile Group [2024] China Changan Automobile Group (2024) Changan Mall https://mall.changan.com.cn/
  • Siemens Aktiengesellschaft [2024] Siemens Aktiengesellschaft (2024) MindSphere https://www.siemens.com/mindsphere
  • Haier Group [2024] Haier Group (2024) COSMOPlat https://www.cosmoplat.com/
  • Gao et al [2022] Gao Y, Yang B, Wang S, et al (2022) Bi-objective service composition and optimal selection for cloud manufacturing with QoS and robustness criteria. Applied Soft Computing 128:109530. 10.1016/j.asoc.2022.109530
  • Yuan et al [2020] Yuan M, Zhou Z, Cai X, et al (2020) Service composition model and method in cloud manufacturing. Robotics and Computer-Integrated Manufacturing 61:101840. 10.1016/j.rcim.2019.101840
  • Zhou and Yao [2017a] Zhou J, Yao X (2017a) DE-caABC: Differential evolution enhanced context-aware artificial bee colony algorithm for service composition and optimal selection in cloud manufacturing. International Journal of Advanced Manufacturing Technology 90(1-4):1085–1103. 10.1007/s00170-016-9455-x
  • Zhou and Yao [2017b] Zhou J, Yao X (2017b) A hybrid artificial bee colony algorithm for optimal selection of QoS-based cloud manufacturing service composition. International Journal of Advanced Manufacturing Technology 88(9-12):3371–3387. 10.1007/s00170-016-9034-1
  • Yang et al [2019] Yang Y, Yang B, Wang S, et al (2019) An improved grey wolf optimizer algorithm for energy-aware service composition in cloud manufacturing. International Journal of Advanced Manufacturing Technology 105(7-8):3079–3091. 10.1007/s00170-019-04449-9
  • Zhang et al [2019] Zhang C, Ning J, Wu J, et al (2019) A multi-objective optimization method for service composition problem with sharing property. Swarm and Evolutionary Computation 49:266–276. 10.1016/j.swevo.2019.06.004
  • Karimi et al [2017] Karimi M, Isazadeh A, Rahmani A (2017) QoS-aware service composition in cloud computing using data mining techniques and genetic algorithm. Journal of Supercomputing 73(4):1387–1415. 10.1007/s11227-016-1814-8
  • Ding et al [2020] Ding T, Yan G, Lei Y, et al (2020) A niching behaviour-based algorithm for multi-level manufacturing service composition optimal-selection. Journal of Ambient Intelligence and Humanized Computing 11:1177–1189. 10.1007/s12652-019-01250-0
  • Thakur et al [2022] Thakur N, Singh A, Sangal A (2022) Cloud services selection: A systematic review and future research directions. Computer Science Review 46:100514. https://doi.org/10.1016/j.cosrev.2022.100514
  • Li et al [2020] Li F, Zhang L, Liu Y, et al (2020) QoS-aware service composition in cloud manufacturing: A gale-shapley algorithm-based approach. IEEE Transactions on Systems Man Cybernetics-Systems 50(7):2386–2397. 10.1109/tsmc.2018.2814686
  • Bouzary and Chen [2019] Bouzary H, Chen F (2019) A hybrid grey wolf optimizer algorithm with evolutionary operators for optimal QoS-aware service composition and optimal selection in cloud manufacturing. International Journal of Advanced Manufacturing Technology 101(9-12):2771–2784. 10.1007/s00170-018-3028-0
  • Liu et al [2021] Liu Z, Wang L, Li X, et al (2021) A multi-attribute personalized recommendation method for manufacturing service composition with combining collaborative filtering and genetic algorithm. Journal of Manufacturing Systems 58:348–364. 10.1016/j.jmsy.2020.12.019
  • Liu et al [2019] Liu Z, Wang Z, Yang C (2019) Multi-objective resource optimization scheduling based on iterative double auction in cloud manufacturing. Advances in Manufacturing 7(4):374–388. 10.1007/s40436-019-00281-2
  • Deb et al [2002] Deb K, Pratap A, Agarwal S, et al (2002) A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation 6(2):182–197. 10.1109/4235.996017
  • Seghir [2021] Seghir F (2021) FDMOABC: Fuzzy discrete multi-objective artificial bee colony approach for solving the non-deterministic QoS-driven web service composition problem. Expert Systems with Applications 167:114413. 10.1016/j.eswa.2020.114413
  • Yaghoubi and Maroosi [2020] Yaghoubi M, Maroosi A (2020) Simulation and modeling of an improved multi-verse optimization algorithm for QoS-aware web service composition with service level agreements in the cloud environments. Simulation Modelling Practice and Theory 103:102090. 10.1016/j.simpat.2020.102090
  • Ibrahim et al [2020] Ibrahim G, Rashid T, Akinsolu M (2020) An energy efficient service composition mechanism using a hybrid meta-heuristic algorithm in a mobile cloud environment. Journal of Parallel and Distributed Computing 143:77–87. 10.1016/j.jpdc.2020.05.002
  • Yang et al [2020] Yang Y, Yang B, Wang S, et al (2020) An enhanced multi-objective grey wolf optimizer for service composition in cloud manufacturing. Applied Soft Computing 87:106003. 10.1016/j.asoc.2019.106003
  • Yang et al [2022] Yang B, Wang S, Li S, et al (2022) A robust service composition and optimal selection method for cloud manufacturing. International Journal of Production Research 60(4):1134–1152. 10.1080/00207543.2020.1852481
  • Zhang et al [2021] Zhang S, Xu Y, Zhang W (2021) Multitask-oriented manufacturing service composition in an uncertain environment using a hyper-heuristic algorithm. Journal of Manufacturing Systems 60:138–151. 10.1016/j.jmsy.2021.05.012
  • Xiong et al [2018] Xiong G, Wang F, Nyberg T, et al (2018) From mind to products: Towards social manufacturing and service. IEEE-CAA Journal of Automatica Sinica 5(1):47–57. 10.1109/jas.2017.7510742
  • Huo et al [2021] Huo Y, Xiong J, You Q, et al (2021) A personalized method of cloud manufacturing service customization. International Journal of Computer Integrated Manufacturing 34(4):440–454. 10.1080/0951192x.2021.1885064
  • Tao et al [2022] Tao F, Zhang Y, Cheng Y, et al (2022) Digital twin and blockchain enhanced smart manufacturing service collaboration and management. Journal of Manufacturing Systems 62:903–914. 10.1016/j.jmsy.2020.11.008
  • Kang et al [2023] Kang K, Tan B, Zhong R (2023) Cloud-based 3D printing service allocation models for mass customization. International Journal of Advanced Manufacturing Technology 126(5-6):2129–2145. 10.1007/s00170-023-11221-7
  • Aheleroff et al [2021] Aheleroff S, Mostashiri N, Xu X, et al (2021) Mass personalisation as a service in Industry 4.0: A resilient response case study. Advanced Engineering Informatics 50:101438. 10.1016/j.aei.2021.101438
  • Huang et al [2014] Huang B, Li C, Tao F (2014) A chaos control optimal algorithm for QoS-based service composition selection in cloud manufacturing system. Enterprise Information Systems 8(4):445–463. 10.1080/17517575.2013.792396
  • Tirkolaee et al [2022] Tirkolaee E, Goli A, Ghasemi P, et al (2022) Designing a sustainable closed-loop supply chain network of face masks during the COVID-19 pandemic: Pareto-based algorithms. Journal of Cleaner Production 333:130056. 10.1016/j.jclepro.2021.130056
  • Que et al [2018] Que Y, Zhong W, Chen H, et al (2018) Improved adaptive immune genetic algorithm for optimal QoS-aware service composition selection in cloud manufacturing. International Journal of Advanced Manufacturing Technology 96(9-12):4455–4465. 10.1007/s00170-018-1925-x