21
Research Article A Heuristic Algorithm for Optimal Service Composition in Complex Manufacturing Networks Yinan Wu , 1 Gongzhuang Peng , 2 Hongwei Wang , 3 and Heming Zhang 1 Department of Automation, Tsinghua University, Beijing , China Engineering Research Institute, University of Science and Technology Beijing, Beijing , China ZJU-UIUC Institute, Zhejiang University, Haining, China Correspondence should be addressed to Hongwei Wang; [email protected] Received 28 November 2018; Revised 28 February 2019; Accepted 18 March 2019; Published 1 April 2019 Academic Editor: Michele Scarpiniti Copyright © 2019 Yinan Wu et al. is is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Service composition in a Cloud Manufacturing environment involves the adaptive and optimal assembly of manufacturing services to achieve quick responses to varied manufacturing needs. It is challenged by the inherent heterogeneity and complexity of these services in terms of their diverse and complex functions, qualities of service, execution paths, etc. In this paper, a manufacturing network is constructed to explicitly identify and describe the relationships between individual services based on their attributes. On this basis, the service composition problem can be modeled as a multiple-constrained optimal path (MCOP) selection problem by taking into account different types of composition, namely, sequence, parallel, selection, and cycle. A novel Dual Heuristic Functions based Optimal Service Composition Path algorithm (DHA OSCP) is proposed to solve the NP-Complete MCOP problem, which involves exploiting the backward search procedure with different search targets to obtain two heuristic functions for the forward search procedure. e proposed algorithm is evaluated through a set of computational experiments in which the proposed algorithm and other popular algorithms such as MFPB HOSTP are applied to the same dataset, and the results obtained show that DHA OSCP can efficiently find the optimal service composition path with better Quality of Service (QoS). e viability of DHA OSCP is further proved in a case study of services composition on a Cloud Manufacturing platform. 1. Introduction e rapid development of information technologies such as the Internet of things (IoT) and Cloud Computing has led to substantial changes in the manufacturing industry. To quickly respond to fast-changing market needs and satisfy customers’ diverse requirements in terms of product performance and cost, companies begin to seek ways of sharing resources and fulfill needs through collaboration in a manufacturing network. Among various advanced manufacturing modes, Cloud Manufacturing (CMfg) is one of the most compre- hensive and widely applied [1–4]. In CMfg, different kinds of manufacturing resources are interconnected, virtualized, and encapsulated as Cloud-based services which are man- aged by intelligent CMfg platforms. To deal with complex manufacturing tasks, resources with varied functions and different QoS levels are selected and composed on these platforms. us, service composition has become a key enabling technology in the technical framework for CMfg. Due to the rapid development of CMfg, research work on manufacturing service composition is rapidly increasing [5]. In the process of service composition, functional and nonfunctional attributes are both taken into account to search for the optimal compositions of services for meeting the functional requirements of complex manufacturing tasks with improved satisfaction of the services. Nonfunctional attributes of manufacturing services are usually relative to QoS, such as time latency, price, reliability, availability, and so on. When multiple manufacturing services with the same functional attributes are able to meet the requirements of a manufacturing task, QoS attributes play an important role in resource selection and service composition. Service composition problem (SCP) is one of the most primary and essential problems for optimally manufacturing resources allocating [6]. SCP in CMfg has the characteristics of high heterogeneity and large scale. Traditional service Hindawi Complexity Volume 2019, Article ID 7819523, 20 pages https://doi.org/10.1155/2019/7819523

A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

Research ArticleA Heuristic Algorithm for Optimal Service Composition inComplex Manufacturing Networks

Yinan Wu 1 Gongzhuang Peng 2 Hongwei Wang 3 and Heming Zhang 1

1Department of Automation Tsinghua University Beijing 100084 China2Engineering Research Institute University of Science and Technology Beijing Beijing 100083 China3ZJU-UIUC Institute Zhejiang University 314400 Haining China

Correspondence should be addressed to Hongwei Wang hongweiwangzjueducn

Received 28 November 2018 Revised 28 February 2019 Accepted 18 March 2019 Published 1 April 2019

Academic Editor Michele Scarpiniti

Copyright copy 2019 YinanWu et alThis is an open access article distributed under theCreative CommonsAttribution License whichpermits unrestricted use distribution and reproduction in any medium provided the original work is properly cited

Service composition in a CloudManufacturing environment involves the adaptive and optimal assembly of manufacturing servicesto achieve quick responses to varied manufacturing needs It is challenged by the inherent heterogeneity and complexity of theseservices in terms of their diverse and complex functions qualities of service execution paths etc In this paper a manufacturingnetwork is constructed to explicitly identify and describe the relationships between individual services based on their attributesOn this basis the service composition problem can bemodeled as a multiple-constrained optimal path (MCOP) selection problemby taking into account different types of composition namely sequence parallel selection and cycle A novel Dual HeuristicFunctions based Optimal Service Composition Path algorithm (DHA OSCP) is proposed to solve the NP-Complete MCOPproblem which involves exploiting the backward search procedure with different search targets to obtain two heuristic functionsfor the forward search procedure The proposed algorithm is evaluated through a set of computational experiments in which theproposed algorithm and other popular algorithms such as MFPB HOSTP are applied to the same dataset and the results obtainedshow that DHA OSCP can efficiently find the optimal service composition path with better Quality of Service (QoS) The viabilityof DHA OSCP is further proved in a case study of services composition on a Cloud Manufacturing platform

1 Introduction

The rapid development of information technologies such asthe Internet of things (IoT) and Cloud Computing has led tosubstantial changes in themanufacturing industry To quicklyrespond to fast-changing market needs and satisfy customersrsquodiverse requirements in terms of product performance andcost companies begin to seek ways of sharing resourcesand fulfill needs through collaboration in a manufacturingnetwork Among various advanced manufacturing modesCloud Manufacturing (CMfg) is one of the most compre-hensive and widely applied [1ndash4] In CMfg different kindsof manufacturing resources are interconnected virtualizedand encapsulated as Cloud-based services which are man-aged by intelligent CMfg platforms To deal with complexmanufacturing tasks resources with varied functions anddifferent QoS levels are selected and composed on theseplatforms Thus service composition has become a key

enabling technology in the technical framework for CMfgDue to the rapid development of CMfg research workon manufacturing service composition is rapidly increasing[5] In the process of service composition functional andnonfunctional attributes are both taken into account to searchfor the optimal compositions of services for meeting thefunctional requirements of complex manufacturing taskswith improved satisfaction of the services Nonfunctionalattributes of manufacturing services are usually relative toQoS such as time latency price reliability availability andso on When multiple manufacturing services with the samefunctional attributes are able to meet the requirements of amanufacturing task QoS attributes play an important role inresource selection and service composition

Service composition problem (SCP) is one of the mostprimary and essential problems for optimally manufacturingresources allocating [6] SCP in CMfg has the characteristicsof high heterogeneity and large scale Traditional service

HindawiComplexityVolume 2019 Article ID 7819523 20 pageshttpsdoiorg10115520197819523

2 Complexity

hellip

loop

loop

helliphellip

loop

helliphellip

Subtasks

Candidate service sets

Services

341 342

343

344

345 34H

321 322 middot middot middot 32G2

311 312 middot middot middot 31G1

31C1 32C2

33C3

34C4

35C5

3HCH

3H1 3H2 middot middot middot 3HGH

Figure 1 Framework of a traditional service composition process

composition approaches in CMfg usually use the servicecomposition model of Cloud Computing which are set upbased on the QoS values of service nodes A traditionalservice composition framework is shown in Figure 1 whereST1 ST2 ST119899 is the set of subtasks of manufacturingtask T The service candidate set that are able to executesubtask ST119894 can be represented as SC1198941 SC1198942 SC119894119898Traditional service composition methods focus on selectingappropriate service nodes from each service candidate set toobtain the optimal service composition This idea is based onthe assumption that all manufacturing services in the adja-cent service candidate sets can be composedThis assumptionis reasonable in the case of composition problem in webservices because web services follow the standard accessprotocol (ie SOAP) and registration specifications (ieUDDI) This ensures good compatibility between differentweb services Moreover the cost of transportation betweendifferent web services is negligible compared to the costs ofthese web services However the composition of adjacentmanufacturing services may not be possible in the field ofmanufacturing due to the process constraints partnershipconstraints and other factors If two manufacturing servicesare geographically far apart the logistics costs between themcannot be ignored at all So the manufacturing servicecomposition model should be improved based on Figure 1and take into account the cooperation relationships betweendifferent manufacturing services Moreover traditional ser-vice composition methods have some limitations when thebusiness process is not well predefined [7] As a consequencethe addressing of these problems requires a more accuratemodel and a more efficient algorithm

By taking into account the cooperation relationshipbetween different service nodes a manufacturing servicenetwork model is constructed in this paper In the processof service composition the constraint of each QoS attribute

imposed by a service user is considered and the appropriatemanufacturing services are selected to achieve the bestcomposition performance in terms of QoS To address thisissue the processing method for the complex manufacturingnetwork needs to be put forward first Compared withtraditional processing methods for complex structures theprocessing method proposed in this paper takes into accountnot only the characteristics of a manufacturing service butalso the relationship between different manufacturing ser-vices After the preprocessing of complex structures of themanufacturing network such as parallel structure and cyclicstructure the complex manufacturing network is convertedinto a simple directed graph and then the problem ofmanufacturing service composition can be abstracted as aMulti-Constraint Optimal Path (MCOP) selection problemwhich is NP-Complete [8] Aiming at solving the MCOPselection problem some algorithms have been designedHowever the solution quality and time efficiency of thesealgorithms can be optimized by designing a better heuristicmethod This paper precisely aims to put forward a moreaccurate model and solving the MCOP selection problem ina more efficient way The main contributions of this workinclude the following(1) A more accurate model for manufacturing servicecomposition problem is proposed to effectively describe boththe service nodes and their cooperation relationship based onnetwork architecture(2) A processing method for complex process structures(eg parallel structure and cyclic structure) based on QoSaggregation which canmodel a service composition problemas a standard MCOP formulation(3) A novel Dual Heuristic Functions based Optimal Ser-vice Composition Path algorithm (DHA OSCP) for solvingthe MCOP problem with better solution quality and highertime efficiency

Complexity 3

The rest of this paper is organized as follows Section 2gives a literature review of related work Section 3 detailsthe formulation of the mathematical model for the servicecomposition problems in which the cooperation relation-ships between nodes are taken into account Section 4describes a novel improved algorithm for MCOP selectionproblems based on the service composition model Section 5discusses the experimental results of the DHA-OSCP insolving SCP and compares its performance with those of thepopular algorithms including the H OSTP algorithm and theMFPB HOSTP algorithm Section 6 further demonstratesthe viability of the proposed model and algorithm witha detailed application example of Cloud ManufacturingFinally the conclusions of this work are discussed in Section 7as well as potential future work

2 Related Work

21 CompositionUsingQoS Much research has been done onthe service composition problems and other related problemsin networked manufacturing such as service provider selec-tion methods service network models service compositionalgorithms andmanufacturing resource allocation [6 9] Forexample Wu et al [10] proposed a fuzzy-based decision-making method to find the best service provider Ho et al [11]made a review ofmulticriteria decisionmaking approaches tothe supplier evaluation and selection problem In these meth-ods the supplier selection problem is described as a form ofresource optimal allocation which is restricted to small scaleresource scheduling problems without consideration of theQoS indexes of resources (eg cost reliability and so on)These models and algorithms are not suitable for dynamicand flexible on-demand service composition optimizationproblems Although the construction of a CloudManufactur-ing service composition model can refer to Cloud Computingmodels many changes need to be made by taking account ofthe particular characteristics ofmanufacturing processesTheprevious research on service composition is mostly focusedon the framework indexes and the optimization of composi-tion algorithms According to the specific means of problem-solving the service composition algorithms can be dividedinto two types namely the local optimization approach andthe global optimization approach Specifically the formerchooses services for each subtask obtains the candidatesolution sets and finally gets the local optimal result throughgreedy selection However it has some limitations such as thesatisfaction of the overall QoS constraint processing of non-linear QoS index problems and so on The latter considersthe QoS attributes not only for a single service but also forthe composite service so that they can get the global optimalsolution Global optimization algorithms can be divided intothree categories Non-heuristic (Exact) Algorithms HeuristicAlgorithms and Meta-Heuristic Algorithms Every opti-mization problem can be solved by exhaustive search if thetime consumption and search space are ignored The Non-heuristic (Exact) algorithm is an optimized version of theexhaustive search which can reduce the time consumptionof the algorithm to a large extent Yu et al [12] modeledthe service composition problem as a multichoice knapsack

problem which is multidimensional and multiobjective andobtained the best utility function solution when the globalQoS constraints are satisfied Grabrel et al [13] proposedan algorithm using the dependency graph and 0-1 linearprogramming to solve the optimal composition problem fortransactional web services Yang et al [14] solved the dynamiccomposition problem of web services by proposing a GreedyQuick-hull algorithm

The objective function is designed to guarantee that thesearch direction is a sufficient descent direction per roundof iteration and the optimal solution can be obtained ina relatively short period of time Compared with Exactalgorithms the heuristic function has great advantages inreducing time cost and search space Klein et al [15] putforward the hill-climbing algorithm and proved that it hada lower time complexity compared with the linear integerprogramming Luo et al [16] proposed a heuristic HCEalgorithm for web service composition optimization whichalso satisfied the end to end QoS constraints Rodrigues etal [17] presented an Alowast algorithm which solves the problemof semantic input-output message structure matching forweb service composition In order to satisfy the overall QoSconstraints and reduce the time complexity several heuristicalgorithms [18ndash20] have been proposed to find a near optimalsolution for service composition Heuristic function designis critical to a heuristic search algorithm which has beenextensively researched in the area of heuristic algorithmdevelopment and selection In this paper a novel dualheuristic functions algorithm is designed to solve the servicecomposition problem based on an improved Alowast algorithmin which two different heuristic functions are employed byconsidering both feasibility and quality of the compositionresults at the same time

By generating or selecting a heuristic method the meta-heuristic algorithm is designed to provide a sufficiently goodsolution to a specific optimization problem which is appli-cable to a broad range of problems Some commonly usedmeta-heuristic algorithms have been improved and adjustedto solve the problem of service composition such as particleswarm optimization (PSO) [21 22] simulated annealing(SA) [23] genetic algorithms (GA) [24ndash27] ant colonyoptimization (ACO) [28] and bee colony algorithms (BA)[29 30]The service composition problem can be formulatedas a multiobjective problem and near-optimal solutions canbe obtained by employing the meta-heuristic algorithm Inaddition someothermethods have also been adopted to solvethe problem of service composition For instance Bekkoucheet al [31] described a novel approach based on a HarmonySearch algorithm that addressed functional requirements andnonfunctional requirements simultaneously through a fitnessfunction to select the optimal or near-optimal solution insemantic web service composition Jatoth et al [32] proposeda novel MapReduce-based Evolutionary Algorithm withGuidedMutation that lead to a better Big service compositionwith better solution and execution time Labbaci et al [33]put forward a deep learning approach for dynamic QoS basedservice composition which got promising results comparedwith existing QoS prediction techniques These pieces ofwork have shown that the service composition problem

4 Complexity

is an essential part of the current research on intelligentmanufacturing

Since the CloudManufacturing paradigm entails the pro-vision of cloud services by physical manufacturing resourcesand the transportation of between these resources thecooperation relationship and logistics cost between thesemanufacturing resources need to be considered As suchthe network model proposed in this paper is more appro-priate to describe the manufacturing service compositionproblem compared with those proposed in the existingstudies So far the research of correlation-aware servicecomposition has been focused by only a few studies [34]Unfortunately the solving methods of these studies arelimited to PSO and other meta-heuristic algorithms whichare not intuitive and comprehensive By preprocessing thecomplex manufacturing network the service compositionproblem based on the improved model is converted toan MCOP problem which can be solved by pathfind-ing methods On this basis a heuristic pathfinding algo-rithm for addressing the service composition problemsin manufacturing networks is developed by taking intoaccount both service attributes and the relationships betweenservices

22 Multiple-Constrained Path Selection Method Existingwork has shown that QoS-based service composition can bemodeled as a multiple-constrained optimal path selectionproblem which has been proved to be NP-Complete [9]This model takes into account not only the QoS indexesof manufacturing service nodes but also the cooperativerelationships between different nodes this makes it moresuitable for the actual manufacturing environment Kork-maz et al [8] developed a heuristic H MCOP algorithmfor solving the multiple-constrained optimal path selectionproblem in service invocation Based on this method Liuet al proposed the Heuristic Optimal Social Trust Path(H OSTP) algorithm [35] and the Multiple Foreseen Path-Based Heuristic Optimal Social Trust Path (MFPB HOSTP)algorithm [36] which made a two-way search in the trustnetwork based on Dijkstrarsquos shortest path algorithm [37] toget a near optimal solution These three algorithms will bedescribed in detail in Section 3 of this paper Before H OSTPH-MCOP was one of the most promising algorithms for themultiple-constrained optimal path selection problem due toits outstanding performance in terms of both solution qualityand algorithm efficiency The H OSTP algorithm inheritedthe advantages of the H MCOP algorithm and can achievebetter search results and faster search speed by using a bettersearch strategy Yet there is a problem of QoS imbalance inH OSTP algorithm MFPB HOSTP algorithm can solve thisproblem by calculating the intermediate path but it bringsunbearable time consumption when the imbalance problemoccurs frequently H OSTP and MFPB HOSTP concentrateon the trust network in social networks which unfortunatelyignore the characteristics of manufacturing processes Fora practical manufacturing environment the DHA-HOSCPalgorithm is proposed in this paper which designs twoheuristic functions according to the characteristics of themanufacturing network It achieves better results and lower

time consumption compared with the MFPB HOSTP algo-rithm [36]

3 Modeling of Manufacturing Networks

31 Problem Description In the execution process of manu-facturing services on a CMfg platform the free manufactur-ing resources are encapsulated as services with different levelsof information granularity relative to their manufacturingcapabilities For instance machining has a higher level ofgranularity than cutting and milling Among these servicesthe coarse-grained manufacturing services are composedof fine-grained manufacturing services and there are someatomic services which cannot be further decomposed Man-ufacturing service nodes and their relationships will forma complex network of CMfg services Atomic services arerepresented as nodes in the network which have functionalattributes and nonfunctional attributes The cooperationrelationships between manufacturing service nodes are rep-resented as the edges of the network including the degreeof cooperation intimacy logistics cost and other factorsTo better illustrate the idea the improved model is shownin Figure 2 In this model not all adjacent manufacturingservices can be composed due to uncertain relationshipsbetween different services

The major difference between the manufacturing net-work model and traditional service composition models isin whether the edges (cooperation logistics etc) betweenmanufacturing service providers are considered As opposedto a computer network in which the communication timeand cost between nodes are negligible compared with thenode itself a manufacturing network involves considerablelogistics cost and cooperation relationship between manufac-turing service providersTherefore both the service providersand the relationships between them should be taken intoconsideration in model construction and algorithm develop-ment

To accomplish a complex manufacturing task the de-mand for orchestrating manufacturing services is decom-posed into several atomic tasks each of which can becompleted by a specific atomic service from the candidateset The information about alternative services and theirrelationships is retrieved from the Cloud Manufacturingservice network and is constructed as a subgraph Thus theservice composition problem is transformed into the problemof selecting a path with the highest global utility value underthe condition that the subgraph is covered by this path andthe QoS constraints are satisfied The process of optimal pathselection is illustrated in Figure 3 which can be divided intothree stages

(1) Manufacturing Demand Analysis and Task DecompositionWhen a CMfg platform receives a complex task demand(denoted as T) it first decomposes the complex manufactur-ing task into a combination of atomic tasks according to thespecific requirements andmanufacturing process constraintsThe service composition is usually divided into four typessequence parallelism selection and cycle [38] The overallQoS requirements for a manufacturing task can be denoted

Complexity 5

Parallel Cycle

Virtual start

Virtual end

Subtasks

Optimal service compositionCandidate

sets

341 342

343

346

344

345

Figure 2 Manufacturing service composition model

hellip

loop Subtasks

hellip

Preprocessing

Subnetwork extraction

Start End

extract

Manufacturing network

helliphelliphellip

Start End

helliphelliphellip

Path optimization

341

341 342

342 343

343

344

344

345

34H

34H

345FIIJ

331

331

332

332

3334

3334

335

335

33H

33H

Figure 3 Process of optimal path selection

6 Complexity

as Q(T) = q1(T) q2(T) qn(T) where 119902119894(T) is the ith QoSrequirement and n is the number of QoS indexes

(2) Extraction of Candidate Service Subnetwork The CMfgplatform generates a candidate manufacturing service set foreach atomic manufacturing task by manufacturing resourceselection according to the functional requirements of theatomic manufacturing task The candidate service set can bedenoted as

119862119878 (119879) = 119888119904 (1199051) 119888119904 (1199052) 119888119904 (119905119898)119888119904 (119905119894) = 1199041 (119905119894) 1199042 (119905119894) 119904119899119894 (119905119894) (1)

In the above equation m is the number of atomic manu-facturing tasks and n i is the number of candidate servicesfor atomic manufacturing task i Candidate manufacturingservices for the same atomic manufacturing task have thesame functional properties but their QoS attributes can bedifferent These candidate service nodes and their relation-ships are then extracted from the manufacturing network asa subgraph

(3) Selection of the Optimal Service Path After the previoussteps are completed each of the atomic manufacturing taskshas got a set of services that can potentially meet its specificrequirements The optimal service path selection is thenused to find out the optimal service execution path thatsatisfies the QoS constraints of manufacturing tasks and hasthe best overall utility function This is an MCOP problemwhich has been proved to be NP-complete In the past thesolving method of the manufacturing service compositionis based on the idea of web service composition whichdoes not consider the relationship between different servicenodes According to the location constraints cooperationconstraints process constraints and QoS constraints boththe attributes of the candidate manufacturing service nodesand their relationships are taken into consideration so thatthe actual manufacturing scenario can be better addressedThis paper specifically focuses on the effective model andalgorithm for this step

32 Mathematical Model The optimal service compositionproblem can be modeled as an optimal path selection prob-lem with specific QoS constraints Before the algorithm isdetailed the methods forQoS aggregation network structurepreprocessing and mathematical model formulation need tobe given first

(1) QoS Attributes of Manufacturing Network The QoSattributes in Cloud Computing network usually includesresponse time bandwidth computing overhead and so onHowever in a manufacturing network the QoS attributesthat should be particularly considered are different fromthose of Cloud Computing In a manufacturing network thetime and cost it takes to complete the entire manufacturingprocess are the essential attributes of substantial importanceMoreover the reliability usability credibility and sustain-ability are also important QoS attributes in a manufacturingnetwork In this paper time cost and reliability are applied

in the DHA OSCP algorithm as three representative QoSattributes

(2) QoS Attribute Aggregation Time Time refers to theexecution period from the time when the demands aresubmitted to the platform to the final completion time ofthe manufacturing service It consists of the time of thenodes and the time of the edges For a manufacturing servicenode Time is the sum of online time and offline time (egresource configuration time computing time queue timeand execution time) For the edge of the network timerefers to the logistics time of raw materials and semi-finishedproducts as well as to the delivery time The time attributeneeds to be corrected by the correction factor so as tomodify the evaluation value to indicate the time attributemore accurately The calculation method of time is given by

119879119894119898119890 = 119879119888119900119903119903 times (119879119899119900119889119890 + 119879119890119889119892119890)119879119899119900119889119890 = 119879119903119890119904 + 119879119888119900119898119901119906119905119894119899119892 + 119879119902119906119890119906119890 + 119879119890119909119890119888119906119905119894119900119899119879119890119889119892119890 = 119879119897119900119892119894119904119905119894119888 + 119879119889119890119897119894V119890119903119910

(2)

Costs Costs also includes both the cost of the node and thecost of the edge For a manufacturing service node Costsis the sum of software costs and hardware costs Softwarecosts are composed of computing costs transmission costsand access costs Hardware costs include management costsmaterial costs personnel costs and execution costs For theedge of the network costs refer to the logistics costs of rawmaterials and semifinished products as well as to the deliverycosts The calculation of costs is given by

119862119900119904119905119904 = 119862119899119900119889119890 + 119862119890119889119892119890

119862119899119900119889119890 = 119862119904119900119891119905119908119886119903119890 + 119862ℎ119886119903119889119908119886119903119890

119862119904119900119891119905119908119886119903119890 = 119862119888119900119898119901119906119905119894119899119892 + 119862119905119903119886119899119904119898119894119904119904119894119900119899 + 119862119886119888119888119890119904119904

119862ℎ119886119903119889119908119886119903119890 = 119862119898119886119899119886119892119890119898119890119899119905 + 119862119898119886119905119890119903119894119886119897 + 119862119901119890119903119904119900119899119899119890119897

+ 119862119890119909119890119888119906119905119894119900119899

119862119890119889119892119890 = 119862119897119900119892119894119904119905119894119888 + 119862119889119890119897119894V119890119903119910

(3)

Reliability Reliability represents the possibility that the man-ufacturing service can successfully complete the manufac-turing task under certain QoS constraints Reliability can beexpressed by the ratio of the number of manufacturing taskssuccessfully executed to the total number of tasks received bythe service node Fk indicates the number of manufacturingtasks that the service node k failed in the process of serviceexecution The calculation of reliability is given by

119877119890119897119894119886119887119894119897119894119905119910 = 119865119896119879119900119905119886119897119879119886119904119896119896 (4)

Based on the QoS index aggregation method time and costsare cumulative indexes while reliability is a multiplicativeindex Assume that theQoSmodel containsmmanufacturingservice nodes and nQoS indexesThemodel can be expressed

Complexity 7

1G

n 1

1G

n 2helliphellip

1G

n n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

12

n 1

11

n 1

11

n 212

n 2

12

n n

11

n n

11

n 1

11

n 2helliphellip

11

n n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

11

2 1

11

1 1

11

1 211

2 2

11

2 n

11

1 n

1G

n n1G

nhelliphellip

1G

1 n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

12

n n

11

n n11

n-1 n12

n-1

n-1

n

12

1 n

11

1 n

Figure 4 CubeModel of QoS attributes

by a three-dimensional matrix Each ldquolayerrdquo of the threedimensional matrix represents the adjacency matrix of asingle QoS index of the manufacturing service network Thematrix element aii represents the QoS attributes of node iand aij represent the QoS of the edge from node i to nodejTheQoS 3Dmodel of the manufacturing service network isshown in Figure 4

(3) Preprocessing of Network Structure In different man-ufacturing processes the completion of a manufacturingtask may involve four kinds of process structures namelysequence parallelism selection and cycle In order to applythe heuristic multiconstrained optimal path search methodto solve the manufacturing service composition problemthe parallel structure and the cyclic structure need to bepreprocessed in the manufacturing service network ascribedto the characteristics of Dijkstra algorithm Finally theextracted manufacturing service subnetwork is processedinto a weighted directed acyclic graph from the start point tothe end point and the multiconstraint service compositionproblem is transformed into a multiconstrained optimalpath selection problem Since the service composition modelproposed in this paper considers not only the manufacturingservice itself but also the relationship between manufacturingservices the preprocessing of the network structure alsoneeds to consider the attributes both of nodes and of edgesThe aggregation functions for QoS attributes of different ser-vices composition types are illustrated in Table 1 according tothe recursive characteristics [39] of manufacturing services

(4) e Method of QoS Attributes Aggregation During thesearch process the aggregation method of QoS attributesneeds to be determined to support calculation in the algo-rithm For time and cost the algorithm needs to add themup to get the total time and cost of the existing compositionFor reliability the product of different nodes (edges) isthe reliability of the composition service Therefore theaggregation methods of different nodes and edges in themanufacturing network are shown below

Time Time is a cumulative index Suppose that anoptimal manufacturing path has n candidate then the aggre-gated time can be calculated using (5) which includes theaggregation of service nodes and the aggregation of edges

119860(119879V119904997888rarrV119905) = 119899minus1sum119894=2

119879119894119899119900119889119890 + 119899minus2sum119895=2

119879119895119895+1119890119889119892119890 (5)

Cost Cost is a cumulative indexThe aggregated Costs can becalculated using

119860(119862V119904997888rarrV119905) = 119899minus1sum119894=2

119862119894119899119900119889119890 + 119899minus2sum

119895=2

119862119895119895+1

119890119889119892119890 (6)

Reliability Reliability is a multiplicative index Suppose thatoptimal manufacturing path has n candidate then the aggre-gated reliability can be calculated by

119860(119877V119904997888rarrV119905) = 119899minus1prod119894=2

119877119894119899119900119889119890 times 119899minus1prod119895=2

119877119895119895+1119890119889119892119890 (7)

8 Complexity

Table1Aggregatio

nMetho

dof

DifferentP

rocessStructures

Structure

Time

Cost

Reliability

Parallel

qtim

epar=m

ax(q i(

node))+

max(q j(

edge))

qcost

par=n sum i=

1

q i(nod

e )+m sum i=1

q j(edg

e)qr

eli

par=n prod i=

1

q i(nod

e )timesm prod j=1

q j(edg

e)Selective

qtim

esel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qcost

sel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qreli

sel=n prod i=

1

q i(nod

e )times120596 itimes

m prod j=1

q j(edg

e)times120596 j

Cyclic

qtim

esel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qt

ime

sel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qr

eli

par=120579

times (n prod i=1

q i(nod

e )timesm prod j=1

q j(edg

e ))

Complexity 9

(5) Utility Function In this model the utility functiondescribes the overall performance of the optimal servicecomposition path in different QoS aspects Since differentQoS indexes have different scales the QoS indexes arenormalized in the utility function

The QoS indexes are divided into two kinds positiveindexes and negative indexes Reliability is a positive multi-plicative index while time and costs are negative cumulativeindexes The utility function is calculated by

119880 (119879 119862 119877) = 119908119879 times 119860 (119879V119904997888rarrV119905)119879119888119900119899119904119905119903119886119894119899119904 + 119908119862 times 119860 (119862V119904997888rarrV119905)119862119888119900119899119904119905119903119886119894119899119904+ 119908119877 times ln (119860 (119877V119904997888rarrV119905))

ln (119877119888119900119899119904119905119903119886119894119899119904)(8)

In the equation wT wC wR are the weights of T C Rrespectively with the conditions of wT + wC + wR = 1 and0 lt wTwCwR lt 1(6) Traditional Service Composition Model In the existingstudies the manufacturing service composition problem canbe described as a 0-1 integer constrained multiobjectiveoptimization problem based on the model in Figure 1 Thetraditional service composition model is formulated as

min119880 (119879 119862 119877)0 le 119860 (119879V119904997888rarrV119905) le 1198791198881199001198991199041199051199031198861198941198991199040 le 119860 (119862V119904997888rarrV119905) le 1198621198881199001198991199041199051199031198861198941198991199040 le 119860 (119877V119904997888rarrV119905) le 119877119888119900119899119904119905119903119886119894119899119904

(9)

In these studies this problem is usually solved using meta-heuristic algorithms such as genetic algorithms (GA) particleswarm optimization (PSO) ant colony optimization (ACO)and bee colony algorithms (BA)Thesemethods usually workpretty well

(7) Multiple Constrained Optimization Path Selection ModelIn the improved model (Figure 2) there are more con-straints to ensure the existence of edges between the selectedmanufacturing service nodes In summary the problem ofmanufacturing service composition can be abstracted as amulticonstrained optimization path selection problem andformulated as (10) In (10) m is the number of subtasksdi is the number of candidate services in candidate serviceset j and xij is the decision variable xij equals 1 if the ithmanufacturing service in service candidate j is chosen andotherwise it equals 0

min 119880 (119879 119862 119877)st 0 le 119860 (119879V119904997888rarrV119905) le 119879119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119862V119904997888rarrV119905) le 119862119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119877V119904997888rarrV119905) le 1198771198881199001198991199041199051199031198861198941198991199041198891sum119894=1

1199091198941 = 11198892sum119894=1

1199091198942 = 1 119889119898sum119894=1

119909119894119898 = 1119909119894119895 = 0 119900119903 1

(10)

The meta-heuristic algorithms can also solve the serviceselection problem with multi-QoS constraints and decisionvariable constraints However [40] proved that they have lowefficiencies in finding a near-optimal solution in large-scalenetworks Taking GA as an example with the increase ofnode scale the algorithm takes a very long time to obtainthe near optimal solution and it is often unable to obtain thefeasible solution within the set upper limit of iteration timesCompared with meta-heuristic algorithms the proposedDHA OSCP is a more direct and effective algorithm to solvethis problem This is ascribed to the advantage that theDHA OSCP algorithm can always satisfy the constraints ofdecision variables in the process of execution

4 Service Composition PathSelection Algorithms

In this section some existing approximation algorithms fortheMCOP selection problem are firstly introduced includingH MCOP H OSTP and MFPB HOSTP Then a novel DualHeuristic Functions based Optimal Service CompositionPath algorithm (DHA OSCP) is described in detail

41 Existing Algorithms

(1) H MCOP H MCOP [8] is a heuristic algorithm proposedby Korkmaz and Krunz for the multiplendashconstrained optimalpath selection problem This algorithm first proposed amethod of QoS aggregation which is also the target of thereverse search as shown in

119892120582 (119901) ≜ (1199021 (119901)1198761V119904V119905

)120582 + (1199022 (119901)1198762V119904V119905

)120582 + sdot sdot sdot+ (119902119898 (119901)119876119898

V119904V119905

)120582(11)

H MCOP first adopts Dijkstrarsquos shortest path algorithm tofind the path with the minimum 119892120582(119901) and investigateswhether there exists a feasible path satisfying all QoS con-straints If the 119892120582(119901) of an intermediated node vk is greaterthan m it is proved that there is no feasible path from vk to vt

10 Complexity

If there exists at least one feasible solution then this algorithmwill search the network from vs to vt in order to identify afeasible path with the minimal cost of services

Before the H OSTP algorithm [35] was proposed in 2010H MCOP was one of the most promising algorithms forthe MCOP selection problem It proved to outperform priorexisting algorithms in terms of both efficiency and solutionquality

(2)H OSTP InH OSTP Liu et al first proposed the objectivefunction given in (12) and adopted the backward searchalgorithm to identify whether there was a feasible path withthe minimal 120575 from vt to vs If a feasible solution existsH OSTP then adopts the forward search algorithm to delivera near-optimal solution

120575 (119901) ≜ max 1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

(12)

H OSTP designed a target function 120575(p) which is better thanH MCOP for reverse search and this algorithm can providean optimal service composition path that is no worse thanH MCOP In addition through the reverse search strategyH OSTP can calculate whether the foreseen path is feasiblein advance which reduces the search space of the algorithmand improves the efficiency of the algorithm However thisalgorithm has some shortcomings in balancing different QoSattributes

(3) MFPB HOSTP In order to solve the imbalance prob-lem of H OPTP Liu et al proposed the MFPB HOSTPalgorithm [36] in 2013 In addition to selecting 120575(p) as thetarget to search a network the algorithm also identifies theoptimal paths with the searching target Tmin Cmin andRmax When the imbalance problem occurs MFPB-HOSTPdetermines the QoS index (for example T) that does notsatisfy the constraint Then the algorithm selects the nodeof the Tmin path to replace the node with the best 120575(p)path as the starting point for the next searching stage Atthe same time the algorithm defines the CBLP path sets toprevent the new imbalance problem By this method thealgorithm can get a near-optimal path that is no worse thanH OSTP

TheMFPB HOSTP algorithm inherits a lot of advantagesfromH OSTP and uses the CBLP path sets to solve the imbal-ance problem that best 120575(p) searching may bring Howeverthis algorithmwill incur a large amount of computation whenthere are lots of imbalance problems or complex processes inthe service network

42 e DHA OSCP Algorithm

(1) Overview First of all some definitions are introduced

Definition 1 (feasible heuristic path) In a subnetwork fromvs to vt a Feasible Heuristic Path (FHP) is the path from vt tothe intermediate node vk identified by the Delta BackwardSearch with (13) as the target

120575 (119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )= min(max

119879119887119886119888119896119908119886119903119889V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119887119886119888119896119908119886119903119889V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119887119886119888119896119908119886119903119889V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

)(13)

Definition 2 (utility heuristic path) In a subnetwork from vsto vt a Utility Heuristic Path (UHP) is the path from vt tothe intermediate node vk identified by the utility backwardsearch with (14) as the target

119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119908119879 times 119879119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119862

times 119862119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119877

times ln (119877119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

(14)

Definition 3 (forward path) In a subnetwork from vs to vta Forward Path (FP) is the path from vs node vt identifiedby the forward search The forward path is no worse than theFHP and UHP

Based on the definitions above a novel Dual HeuristicFunctions based Optimal Service Composition Path algo-rithm (DHA OSCP) is proposed in this paper which adoptstwo heuristic functions and the pruning searching strategy toobtain feasible heuristic path (FHP) and utility heuristic path(UHP)

The DHA OSCP algorithm is divided into two partsnamely the backward search process determining twoheuris-tic functions and the forward search process confirmingthe best utility path In the backward search procedure thealgorithm determines the feasible heuristic path (FHP) fromvk to vt (denoted by pbackwardvk997888rarrvt ) by using (12) as the searchtarget Then the algorithm determines the utility heuristicpath (UHP) from vk to vt (denoted by pbackwardutivk997888rarrvt ) with (13)as the search target The overview of DHA OSCP algorithmis shown in Figure 5

(2) Description A more detailed description of the proposedDHA OSCP algorithm is given below The algorithm isdivided into four main steps the pruning of the manufactur-ing service network the feasible backward search the utilitybackward search and the Alowast forward search These partswill be introduced in turn The pseudocode of the proposedDHA OSCP is given in Appendix A

Step 1 (network pruning) Designing appropriate pruningstrategies can effectively reduce the search space and the timecomplexity of the DHA OSCP algorithm without affectingthe quality of the solution The following two strategies areused to prune the manufacturing service network

The first strategy is pruning based on the process flowAccording to the decomposition of themanufacturing servicetask the nodes and the edges of themanufacturing service areextracted so that the manufacturing service network suitable

Complexity 11

Input()

Input the QoS value (TCR) of the nodes and edges ofmanufacturing network

Input the constraints and weights of QoS attributes

Prune()

Pruning the nodes and edges that do not satisfy the QoS constraints

Backward_Search()

Carry out backward search procedure twice with (12) and (13) as the target respectively to obtain feasible

heuristic path (FHP) and utility heuristic path (UHP)

Forward_Search()

Carry out forward search procedure twice with FHP and UHP as the heuristic function to find out whether there

is a better path than FHP and UHP

Output()

Output the near optimal path and the utility value

Figure 5 Overview of DHA OSCP algorithm

for the task is obtained In the manufacturing network theedges caused by other process flows are removed by thepruning strategy

The second strategy is pruning based on QoS constraintsNodes and edges that cannot satisfy QoS constraints areremoved from the network according to (15) where 120574 repre-sents the threshold

min(119879119899119900119889119890119890119889119892119890119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119899119900119889119890119890119889119892119890119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119899119900119889119890119890119889119892119890)ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )) gt 120574 (15)

Step 2 (identification of a feasible backward path withminimal delta) In feasible backward search procedure theDHA OSCP algorithm searches the service network fromvt to intermediate vk to investigate whether there existsa feasible solution in the manufacturing network Feasiblebackward search can define the FHP of each intermediatenode vk which is one of the heuristic functions to supportthe Alowast forward search procedure The pseudocode of DeltaBackward Search is given in Appendix B

eorem 4 In the feasible backward search procedure thesearch process can successfully find a feasible solution if there isat least one feasible solution that exists in the service network

The proof of Theorem 4 is given in Appendix C

Step 3 (identification of a backward path with the best utility)In the utility backward search procedure the DHA OSCPalgorithm searches the service network from V119905 to eachintermediate node V119896 and identifies the best weighted meanpath using a greedy strategy 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 participates in theAlowast forward search procedure as another heuristic functionThe utility backward search procedure needs to be employedto handle the imbalance problems which may occur in theforward search procedure For example the QoS constraintsof the service network are (T le 1C le 1R ge 04) TheQoS values of the paths from V119905 to two intermediate nodesV119894 V119895 are119876119900119878(119901119887119886119888119896119908119886119903119889V119894997888rarrV119905

) = (05 01 09) and119876119900119878(119901119887119886119888119896119908119886119903119889V119895997888rarrV119905) =(045 045 045) Then the feasible backward search proce-

dure will select V119895 as the next node while the utility backwardsearch procedurewill select V119894 as the next nodeObviously thenode V119894 has a larger QoS value to spare so that V119894 is easier toavoid the imbalance problem Therefore choosing the dualheuristic function strategy of FHP and UHP can effectivelyavoid the occurrence of the imbalance problem and generatea chance to deliver a better solutionThe pseudocode of utilitybackward search is given in Appendix D

Step 4 (identification the near-optimal path based on FHPand UHP) The forward search procedure will investigatewhether there is a path 119901119891119900119903119908119886119903119889V119904997888rarrV119905 that is better in quality thanboth 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 and 119901119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119905 The pseudocode of forwardsearch is given in Appendix E In this procedure DHA OSCPsearches the path with the best utility from V119904 to V119905 basedon Alowast algorithm Assume that V119896119891 and V119896119906 are selected asthe intermediate nodes based on FHP and UHP then twoforeseen paths 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areformed According to the feasibility of these two paths DHA-OSCP uses the following strategies to identify the optimalpath

Case 1 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 arefeasible) The DHA-OSCP algorithm calculates the unityvalues of the two foreseen paths and then continues to searchthe network

Case 2 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is feasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 isinfeasible) The forward search procedure based on FHP cancontinue to search The forward search procedure based onUHP will search another neighborhood node of V119904 with thebest utility and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 based on FHP The the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 into consideration

Case 3 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is infeasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905is feasible) The forward search procedure based onUHP can

12 Complexity

Table 2 Complexity analysis of the three algorithms

Algorithm ComplexityH OSTP O(2times(NlogN+E)) [35]MFPB HOSTP O(6times(NlogN+E)+KE) [36]DHA OSCP O(4times(NlogN+E))

continue to search The forward search procedure based onFHP will search another neighborhood node of V119904 with theminimal 120575 and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840

119896119891997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 based on UHP Next the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119891 into consideration

Case 4 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areinfeasible) The algorithm adopts the two processing meth-ods described in Cases 2 and 3 respectively when the cor-responding path is infeasible Then four new foreseen paths119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840119896119891997888rarrV119905

and

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 are formed Then the algorithm movesforward to determine whether these foreseen paths arefeasible and choose the feasible path with higher utilityto continue searching If all of these paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 and V119904997888rarr V119896119891 intoconsideration

(3) Algorithm Complexity Analysis Assume that only threeQoS attributes (ie T C and R) are taken into considerationthe time complexity of these three algorithms is shown inTable 2 where N is the number of nodes in the subnetworkbetween V119904 and V119905 E is the number of the edges in themanufacturing network and K is the hops between V119904 andV119905

Below the detailed analysis of these representations isgiven Specifically H OSTP takes twice as much time asDijkstrarsquos shortest path algorithm As such the time com-plexity of this algorithm is O(2times(N logN + E)) which isequal to O(N logN + E) MFPB HOSTP adopts Dijkstrarsquosshortest path algorithm four times in the Backward Searchprocedure with the time complexity of O(4times(N logN + E))In the Forward Search MFPB HOSTP takes twice as muchtime as Dijkstrarsquos shortest path algorithm which meansthe time complexity for this part is O(2times(N logN + E))Besides the time complexity of finding the feasible foreseenpaths is O(KE) So the time complexity of MFPB HOSTPis O(N logN+KE) DHA OSCP adopts Dijkstrarsquos shortestpath algorithm twice both in the Backward Search procedureand in Forward Search procedure so its time complexity isO(4times(N logN + E)) which is equal to O(N logN + E)

The analysis above is based on the assumption thatonly three QoS attributes are taken into account If M QoSattributes are taken into consideration the time complexity ofMFPB HOSTP will turn into O(Mtimes(N log N + E)+KE) whilethe time complexity of DHA OSCP is still O(N logN + E)meaning that the proposed algorithm is better for large-scaleproblems

5 Computational Experiments and Discussion

In order to evaluate the performance of the proposedDHA OSCP algorithm computational experiments are con-ducted to make various comparisons between DHA OSCPand popular H OSTP and MFPB HOSTP algorithms thathave been proved to be effective for service compositionproblems

The execution time and the quality of the solution areinfluenced by the scale and structure of the network andthe QoS constraints In order to study the performance ofthe proposed heuristic algorithm under varied conditionsthe service networks with different scales and structuresare randomly generated Then the qualities of the solutionsobtained by the three algorithms are compared in detailFigure 6 shows the comparisons of results under variedconditionsThere are 20 groups ofmanufacturing networks inthe experiments and 20 sets of QoS constraints in each groupTherefore the results of 400 groups of experiments are shownin each subgraph of Figure 6 QoS preferences regarding thetask are chosen as 119908119879 = 05 119908119862 = 06 119908119877 = 08 andthe initial QoS constraint values are chosen as Tconstraints =09Cconstraints = 09 Rconstraints = 02 Then the T C areincreased by 001 and the R is reduced by 001

Figure 6 shows that DHA OSCP algorithm has a largerpossibility to find a better solution under different net-work scale and QoS constraints The X-axis and the Y-axis represent different network scales and QoS constraintsrespectively The Z-axis represents the utility values obtainedby the three algorithms Each point in the figure repre-sents the utility value of the optimal path under certainnetwork scale and QoS constraints As shown in the figureif there are no feasible solutions in the network all of thethree algorithms can determine the infeasibility MoreoverDHA OSCP manages to find feasible solutions for all caseswithout a utility value worse than that of H OSTP andobtains better results than H OSTP in 12375 of the totalexperiments (ie 198 of 1600) DHA OSCP also obtainsbetter results than MFPB HOSTP in 10875 of the totalexperiments (ie 174 of 1600)This validates the effectivenessof the DHA OSCP algorithm in finding a near-optimalsolutionThe execution times of the algorithms are influencedby the network scale and the number of hops in the networkAn additional experiment with details below is then designedto compare the utility values and execution times of the threealgorithms

Seven groups of networks are generated with a node sizeof 100 150 200 250 300 350 and 400 respectively For eachgroup of networks 20 sets of QoS constraints are taken and20 networks are generated for each set of the QoS constraintsto carry out the experiment The sum of utility values and

Complexity 13

times H_OSTPMFPB_HOSTP

QoS constraints

Better

Same1

090807060504030201

0

1090807060504030201

0

09

08

07

06

05

04

03

02

01

0

1090807060504030201

020

2018

1816

1614

14121210

10886

64 42 2

2018161412108642

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42 00

0

20181614121086420

20181614121086420

Infeasible

NetworkID

DHA_OSCP

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

Figure 6 Solution quality with different scales of service network

execution time of the 400 experiments are compared for eachnode size The experiment results are shown in Tables 3ndash5

Though the computational experiments were conductedon networks with different scales structures and constraintswe can draw the conclusion that on average DHA OSCPcan get the path with better utility value than that ofMFPB HOSTP at a lower time cost In terms of meanexecution time DHA OSCP can achieve reduction of timecost by 437 503 and 407 respectively for theexamples shown in Tables 3ndash5 Since both DHA OSCP andMFPB HOSTP have measures of addressing the imbalanceproblem at the cost of execution time they achieve muchbetter utility values than those of H OSTP but more exe-cution time is incurred When both quality of result andtime cost are considered DHA OSCP achieves better overallperformance compared with MFPB HOSTP and H OSTPwhich is important for working with manufacturing servicenetworks

Additionally compared with H OSTP the DHA OSCPalgorithm adopts two heuristic functions in the forward

search procedure this turns to ensure that nomatterwhetherimbalanced problems of QoS attributes exist it can alwaysget a near-optimal path that is no worse than the oneobtained using H OSTP Although the execution time ofDHA OSCP is increased due to taking additionalmeasure foraddressing imbalance problems it achieves the same level oftime complexity as that of H OSTP In summary DHA OSCPcan obtain solutions that are much better than H OSTP at areasonable time cost

Both MFPB HOSTP and DHA OSCP can solve theimbalance problem to a great extent Nonetheless the timecomplexity of the DHA OSCP algorithm is lower The timecomplexity of MFPB HOSTP would become intolerable ifthe number of hops in the manufacturing network increasedto a large level Moreover the DHA OSCP algorithm canget a solution with a much better utility value than thatof MFPB HOSTP This is because the forward search pro-cedure adopts UHP as a heuristic function which takesinto account the coefficients of the utility function Thisis a better search strategy compared with MFPB HOSTP

14 Complexity

Table 3 Results of Different Node Size

Node size H OSTP MFPB HOSTP DHA OSCPUtility value Execution time Utility value Execution time Utility value Execution time

100 1510454 121380 1495541 301070 1480524 234170150 1706428 251980 1688756 770790 1654677 529100200 1489640 438350 1471278 949910 1447855 1380930250 1355056 672910 1344681 2189750 1325991 1475550300 1238503 981380 1230763 3219790 1207582 2141920350 1133137 1339490 1127778 4666080 1104149 2923780400 1053334 1775580 1046502 5928810 1031810 3856320

Table 4 Results of Different QoS Constraints

QoS constraints H OSTP MFPB HOSTP DHA OSCPT C R Utility value Execution time Utility value Execution time Utility value Execution time090 090 02 2149406 235230 2148814 644120 2093961 443610094 094 018 1956596 229250 1956285 599620 1884452 420600098 098 016 1790496 231040 1790496 661650 1772467 438820102 102 014 1701983 244250 1701769 723250 1698541 465420104 104 012 1753381 245360 1717547 696620 1701082 466200108 108 010 1995259 247680 1983515 792850 1967191 493220110 110 008 1338181 241440 1333709 749020 1326810 523690112 112 006 1535065 243210 1530866 799630 1495530 519410

Table 5 Results of Different Coefficient

Coefficient H OSTP MFPB HOSTP DHA OSCPwT wC wR Utility value Execution time Utility value Execution time Utility value Execution time01 01 08 1636718 273650 1612995 767250 1585643 55779001 08 01 1938172 251740 1924318 756600 1905009 52143008 01 01 1893298 256050 1876882 762140 1856349 54689003 03 04 2103357 250490 2099200 739410 2088499 52979002 06 02 2116633 249890 2109084 744460 2086980 53881002 02 06 1895776 248760 1888923 740830 1876530 51305001 04 05 1898427 245940 1891458 734170 1880153 52326005 04 01 2148865 251090 2143177 742740 2128045 526320

which uses CBLPs to solve the imbalance problem Withthe above discussions it can be concluded that DHA OSCPoutperforms MFPB HOSTP in terms of solution quality andtime complexity

6 Application to Automobile ManufacturingService Composition

The CASICloud (wwwcasicloudcom) is a CMfg platformfor registering and accessing manufacturing services whichhas a large number of service providers and service usersIn spite of being a popular platform it can only recommenda single manufacturing service provider for a manufactur-ing task and the capability of conducting manufacturingservice composition for complex tasks is missing To verifythe viability of the proposed model and algorithm theyare implemented and integrated into the platform as anadd-on function and are tested using data from service

providers obtained from the CASICloud In this case anautomobile manufacturing process is chosen as an illustrativeexample

Figure 7 shows the graphical interface of the addi-tional function of service composition which also givesdetailed information about the service composition taskfor automobile manufacturing being solved using the pro-posed model and the DHA OSCP algorithm Specifically thetask of automobile manufacturing can be decomposed intofive subtasks namely body stamping body welding bodypainting automobile assembly and automobile test Eachsubtask has a set of candidate manufacturing services thatcan be selected to meet the requirements of the subtaskEach candidate service provider can be abstracted as a nodein the manufacturing network The logistics relationshipbetween service providers is recorded as an edge in themanufacturing network Using the DHA OSCP algorithm anear-optimal solution can be found from the starting nodeof the manufacturing network to the end one The choice

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 2: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

2 Complexity

hellip

loop

loop

helliphellip

loop

helliphellip

Subtasks

Candidate service sets

Services

341 342

343

344

345 34H

321 322 middot middot middot 32G2

311 312 middot middot middot 31G1

31C1 32C2

33C3

34C4

35C5

3HCH

3H1 3H2 middot middot middot 3HGH

Figure 1 Framework of a traditional service composition process

composition approaches in CMfg usually use the servicecomposition model of Cloud Computing which are set upbased on the QoS values of service nodes A traditionalservice composition framework is shown in Figure 1 whereST1 ST2 ST119899 is the set of subtasks of manufacturingtask T The service candidate set that are able to executesubtask ST119894 can be represented as SC1198941 SC1198942 SC119894119898Traditional service composition methods focus on selectingappropriate service nodes from each service candidate set toobtain the optimal service composition This idea is based onthe assumption that all manufacturing services in the adja-cent service candidate sets can be composedThis assumptionis reasonable in the case of composition problem in webservices because web services follow the standard accessprotocol (ie SOAP) and registration specifications (ieUDDI) This ensures good compatibility between differentweb services Moreover the cost of transportation betweendifferent web services is negligible compared to the costs ofthese web services However the composition of adjacentmanufacturing services may not be possible in the field ofmanufacturing due to the process constraints partnershipconstraints and other factors If two manufacturing servicesare geographically far apart the logistics costs between themcannot be ignored at all So the manufacturing servicecomposition model should be improved based on Figure 1and take into account the cooperation relationships betweendifferent manufacturing services Moreover traditional ser-vice composition methods have some limitations when thebusiness process is not well predefined [7] As a consequencethe addressing of these problems requires a more accuratemodel and a more efficient algorithm

By taking into account the cooperation relationshipbetween different service nodes a manufacturing servicenetwork model is constructed in this paper In the processof service composition the constraint of each QoS attribute

imposed by a service user is considered and the appropriatemanufacturing services are selected to achieve the bestcomposition performance in terms of QoS To address thisissue the processing method for the complex manufacturingnetwork needs to be put forward first Compared withtraditional processing methods for complex structures theprocessing method proposed in this paper takes into accountnot only the characteristics of a manufacturing service butalso the relationship between different manufacturing ser-vices After the preprocessing of complex structures of themanufacturing network such as parallel structure and cyclicstructure the complex manufacturing network is convertedinto a simple directed graph and then the problem ofmanufacturing service composition can be abstracted as aMulti-Constraint Optimal Path (MCOP) selection problemwhich is NP-Complete [8] Aiming at solving the MCOPselection problem some algorithms have been designedHowever the solution quality and time efficiency of thesealgorithms can be optimized by designing a better heuristicmethod This paper precisely aims to put forward a moreaccurate model and solving the MCOP selection problem ina more efficient way The main contributions of this workinclude the following(1) A more accurate model for manufacturing servicecomposition problem is proposed to effectively describe boththe service nodes and their cooperation relationship based onnetwork architecture(2) A processing method for complex process structures(eg parallel structure and cyclic structure) based on QoSaggregation which canmodel a service composition problemas a standard MCOP formulation(3) A novel Dual Heuristic Functions based Optimal Ser-vice Composition Path algorithm (DHA OSCP) for solvingthe MCOP problem with better solution quality and highertime efficiency

Complexity 3

The rest of this paper is organized as follows Section 2gives a literature review of related work Section 3 detailsthe formulation of the mathematical model for the servicecomposition problems in which the cooperation relation-ships between nodes are taken into account Section 4describes a novel improved algorithm for MCOP selectionproblems based on the service composition model Section 5discusses the experimental results of the DHA-OSCP insolving SCP and compares its performance with those of thepopular algorithms including the H OSTP algorithm and theMFPB HOSTP algorithm Section 6 further demonstratesthe viability of the proposed model and algorithm witha detailed application example of Cloud ManufacturingFinally the conclusions of this work are discussed in Section 7as well as potential future work

2 Related Work

21 CompositionUsingQoS Much research has been done onthe service composition problems and other related problemsin networked manufacturing such as service provider selec-tion methods service network models service compositionalgorithms andmanufacturing resource allocation [6 9] Forexample Wu et al [10] proposed a fuzzy-based decision-making method to find the best service provider Ho et al [11]made a review ofmulticriteria decisionmaking approaches tothe supplier evaluation and selection problem In these meth-ods the supplier selection problem is described as a form ofresource optimal allocation which is restricted to small scaleresource scheduling problems without consideration of theQoS indexes of resources (eg cost reliability and so on)These models and algorithms are not suitable for dynamicand flexible on-demand service composition optimizationproblems Although the construction of a CloudManufactur-ing service composition model can refer to Cloud Computingmodels many changes need to be made by taking account ofthe particular characteristics ofmanufacturing processesTheprevious research on service composition is mostly focusedon the framework indexes and the optimization of composi-tion algorithms According to the specific means of problem-solving the service composition algorithms can be dividedinto two types namely the local optimization approach andthe global optimization approach Specifically the formerchooses services for each subtask obtains the candidatesolution sets and finally gets the local optimal result throughgreedy selection However it has some limitations such as thesatisfaction of the overall QoS constraint processing of non-linear QoS index problems and so on The latter considersthe QoS attributes not only for a single service but also forthe composite service so that they can get the global optimalsolution Global optimization algorithms can be divided intothree categories Non-heuristic (Exact) Algorithms HeuristicAlgorithms and Meta-Heuristic Algorithms Every opti-mization problem can be solved by exhaustive search if thetime consumption and search space are ignored The Non-heuristic (Exact) algorithm is an optimized version of theexhaustive search which can reduce the time consumptionof the algorithm to a large extent Yu et al [12] modeledthe service composition problem as a multichoice knapsack

problem which is multidimensional and multiobjective andobtained the best utility function solution when the globalQoS constraints are satisfied Grabrel et al [13] proposedan algorithm using the dependency graph and 0-1 linearprogramming to solve the optimal composition problem fortransactional web services Yang et al [14] solved the dynamiccomposition problem of web services by proposing a GreedyQuick-hull algorithm

The objective function is designed to guarantee that thesearch direction is a sufficient descent direction per roundof iteration and the optimal solution can be obtained ina relatively short period of time Compared with Exactalgorithms the heuristic function has great advantages inreducing time cost and search space Klein et al [15] putforward the hill-climbing algorithm and proved that it hada lower time complexity compared with the linear integerprogramming Luo et al [16] proposed a heuristic HCEalgorithm for web service composition optimization whichalso satisfied the end to end QoS constraints Rodrigues etal [17] presented an Alowast algorithm which solves the problemof semantic input-output message structure matching forweb service composition In order to satisfy the overall QoSconstraints and reduce the time complexity several heuristicalgorithms [18ndash20] have been proposed to find a near optimalsolution for service composition Heuristic function designis critical to a heuristic search algorithm which has beenextensively researched in the area of heuristic algorithmdevelopment and selection In this paper a novel dualheuristic functions algorithm is designed to solve the servicecomposition problem based on an improved Alowast algorithmin which two different heuristic functions are employed byconsidering both feasibility and quality of the compositionresults at the same time

By generating or selecting a heuristic method the meta-heuristic algorithm is designed to provide a sufficiently goodsolution to a specific optimization problem which is appli-cable to a broad range of problems Some commonly usedmeta-heuristic algorithms have been improved and adjustedto solve the problem of service composition such as particleswarm optimization (PSO) [21 22] simulated annealing(SA) [23] genetic algorithms (GA) [24ndash27] ant colonyoptimization (ACO) [28] and bee colony algorithms (BA)[29 30]The service composition problem can be formulatedas a multiobjective problem and near-optimal solutions canbe obtained by employing the meta-heuristic algorithm Inaddition someothermethods have also been adopted to solvethe problem of service composition For instance Bekkoucheet al [31] described a novel approach based on a HarmonySearch algorithm that addressed functional requirements andnonfunctional requirements simultaneously through a fitnessfunction to select the optimal or near-optimal solution insemantic web service composition Jatoth et al [32] proposeda novel MapReduce-based Evolutionary Algorithm withGuidedMutation that lead to a better Big service compositionwith better solution and execution time Labbaci et al [33]put forward a deep learning approach for dynamic QoS basedservice composition which got promising results comparedwith existing QoS prediction techniques These pieces ofwork have shown that the service composition problem

4 Complexity

is an essential part of the current research on intelligentmanufacturing

Since the CloudManufacturing paradigm entails the pro-vision of cloud services by physical manufacturing resourcesand the transportation of between these resources thecooperation relationship and logistics cost between thesemanufacturing resources need to be considered As suchthe network model proposed in this paper is more appro-priate to describe the manufacturing service compositionproblem compared with those proposed in the existingstudies So far the research of correlation-aware servicecomposition has been focused by only a few studies [34]Unfortunately the solving methods of these studies arelimited to PSO and other meta-heuristic algorithms whichare not intuitive and comprehensive By preprocessing thecomplex manufacturing network the service compositionproblem based on the improved model is converted toan MCOP problem which can be solved by pathfind-ing methods On this basis a heuristic pathfinding algo-rithm for addressing the service composition problemsin manufacturing networks is developed by taking intoaccount both service attributes and the relationships betweenservices

22 Multiple-Constrained Path Selection Method Existingwork has shown that QoS-based service composition can bemodeled as a multiple-constrained optimal path selectionproblem which has been proved to be NP-Complete [9]This model takes into account not only the QoS indexesof manufacturing service nodes but also the cooperativerelationships between different nodes this makes it moresuitable for the actual manufacturing environment Kork-maz et al [8] developed a heuristic H MCOP algorithmfor solving the multiple-constrained optimal path selectionproblem in service invocation Based on this method Liuet al proposed the Heuristic Optimal Social Trust Path(H OSTP) algorithm [35] and the Multiple Foreseen Path-Based Heuristic Optimal Social Trust Path (MFPB HOSTP)algorithm [36] which made a two-way search in the trustnetwork based on Dijkstrarsquos shortest path algorithm [37] toget a near optimal solution These three algorithms will bedescribed in detail in Section 3 of this paper Before H OSTPH-MCOP was one of the most promising algorithms for themultiple-constrained optimal path selection problem due toits outstanding performance in terms of both solution qualityand algorithm efficiency The H OSTP algorithm inheritedthe advantages of the H MCOP algorithm and can achievebetter search results and faster search speed by using a bettersearch strategy Yet there is a problem of QoS imbalance inH OSTP algorithm MFPB HOSTP algorithm can solve thisproblem by calculating the intermediate path but it bringsunbearable time consumption when the imbalance problemoccurs frequently H OSTP and MFPB HOSTP concentrateon the trust network in social networks which unfortunatelyignore the characteristics of manufacturing processes Fora practical manufacturing environment the DHA-HOSCPalgorithm is proposed in this paper which designs twoheuristic functions according to the characteristics of themanufacturing network It achieves better results and lower

time consumption compared with the MFPB HOSTP algo-rithm [36]

3 Modeling of Manufacturing Networks

31 Problem Description In the execution process of manu-facturing services on a CMfg platform the free manufactur-ing resources are encapsulated as services with different levelsof information granularity relative to their manufacturingcapabilities For instance machining has a higher level ofgranularity than cutting and milling Among these servicesthe coarse-grained manufacturing services are composedof fine-grained manufacturing services and there are someatomic services which cannot be further decomposed Man-ufacturing service nodes and their relationships will forma complex network of CMfg services Atomic services arerepresented as nodes in the network which have functionalattributes and nonfunctional attributes The cooperationrelationships between manufacturing service nodes are rep-resented as the edges of the network including the degreeof cooperation intimacy logistics cost and other factorsTo better illustrate the idea the improved model is shownin Figure 2 In this model not all adjacent manufacturingservices can be composed due to uncertain relationshipsbetween different services

The major difference between the manufacturing net-work model and traditional service composition models isin whether the edges (cooperation logistics etc) betweenmanufacturing service providers are considered As opposedto a computer network in which the communication timeand cost between nodes are negligible compared with thenode itself a manufacturing network involves considerablelogistics cost and cooperation relationship between manufac-turing service providersTherefore both the service providersand the relationships between them should be taken intoconsideration in model construction and algorithm develop-ment

To accomplish a complex manufacturing task the de-mand for orchestrating manufacturing services is decom-posed into several atomic tasks each of which can becompleted by a specific atomic service from the candidateset The information about alternative services and theirrelationships is retrieved from the Cloud Manufacturingservice network and is constructed as a subgraph Thus theservice composition problem is transformed into the problemof selecting a path with the highest global utility value underthe condition that the subgraph is covered by this path andthe QoS constraints are satisfied The process of optimal pathselection is illustrated in Figure 3 which can be divided intothree stages

(1) Manufacturing Demand Analysis and Task DecompositionWhen a CMfg platform receives a complex task demand(denoted as T) it first decomposes the complex manufactur-ing task into a combination of atomic tasks according to thespecific requirements andmanufacturing process constraintsThe service composition is usually divided into four typessequence parallelism selection and cycle [38] The overallQoS requirements for a manufacturing task can be denoted

Complexity 5

Parallel Cycle

Virtual start

Virtual end

Subtasks

Optimal service compositionCandidate

sets

341 342

343

346

344

345

Figure 2 Manufacturing service composition model

hellip

loop Subtasks

hellip

Preprocessing

Subnetwork extraction

Start End

extract

Manufacturing network

helliphelliphellip

Start End

helliphelliphellip

Path optimization

341

341 342

342 343

343

344

344

345

34H

34H

345FIIJ

331

331

332

332

3334

3334

335

335

33H

33H

Figure 3 Process of optimal path selection

6 Complexity

as Q(T) = q1(T) q2(T) qn(T) where 119902119894(T) is the ith QoSrequirement and n is the number of QoS indexes

(2) Extraction of Candidate Service Subnetwork The CMfgplatform generates a candidate manufacturing service set foreach atomic manufacturing task by manufacturing resourceselection according to the functional requirements of theatomic manufacturing task The candidate service set can bedenoted as

119862119878 (119879) = 119888119904 (1199051) 119888119904 (1199052) 119888119904 (119905119898)119888119904 (119905119894) = 1199041 (119905119894) 1199042 (119905119894) 119904119899119894 (119905119894) (1)

In the above equation m is the number of atomic manu-facturing tasks and n i is the number of candidate servicesfor atomic manufacturing task i Candidate manufacturingservices for the same atomic manufacturing task have thesame functional properties but their QoS attributes can bedifferent These candidate service nodes and their relation-ships are then extracted from the manufacturing network asa subgraph

(3) Selection of the Optimal Service Path After the previoussteps are completed each of the atomic manufacturing taskshas got a set of services that can potentially meet its specificrequirements The optimal service path selection is thenused to find out the optimal service execution path thatsatisfies the QoS constraints of manufacturing tasks and hasthe best overall utility function This is an MCOP problemwhich has been proved to be NP-complete In the past thesolving method of the manufacturing service compositionis based on the idea of web service composition whichdoes not consider the relationship between different servicenodes According to the location constraints cooperationconstraints process constraints and QoS constraints boththe attributes of the candidate manufacturing service nodesand their relationships are taken into consideration so thatthe actual manufacturing scenario can be better addressedThis paper specifically focuses on the effective model andalgorithm for this step

32 Mathematical Model The optimal service compositionproblem can be modeled as an optimal path selection prob-lem with specific QoS constraints Before the algorithm isdetailed the methods forQoS aggregation network structurepreprocessing and mathematical model formulation need tobe given first

(1) QoS Attributes of Manufacturing Network The QoSattributes in Cloud Computing network usually includesresponse time bandwidth computing overhead and so onHowever in a manufacturing network the QoS attributesthat should be particularly considered are different fromthose of Cloud Computing In a manufacturing network thetime and cost it takes to complete the entire manufacturingprocess are the essential attributes of substantial importanceMoreover the reliability usability credibility and sustain-ability are also important QoS attributes in a manufacturingnetwork In this paper time cost and reliability are applied

in the DHA OSCP algorithm as three representative QoSattributes

(2) QoS Attribute Aggregation Time Time refers to theexecution period from the time when the demands aresubmitted to the platform to the final completion time ofthe manufacturing service It consists of the time of thenodes and the time of the edges For a manufacturing servicenode Time is the sum of online time and offline time (egresource configuration time computing time queue timeand execution time) For the edge of the network timerefers to the logistics time of raw materials and semi-finishedproducts as well as to the delivery time The time attributeneeds to be corrected by the correction factor so as tomodify the evaluation value to indicate the time attributemore accurately The calculation method of time is given by

119879119894119898119890 = 119879119888119900119903119903 times (119879119899119900119889119890 + 119879119890119889119892119890)119879119899119900119889119890 = 119879119903119890119904 + 119879119888119900119898119901119906119905119894119899119892 + 119879119902119906119890119906119890 + 119879119890119909119890119888119906119905119894119900119899119879119890119889119892119890 = 119879119897119900119892119894119904119905119894119888 + 119879119889119890119897119894V119890119903119910

(2)

Costs Costs also includes both the cost of the node and thecost of the edge For a manufacturing service node Costsis the sum of software costs and hardware costs Softwarecosts are composed of computing costs transmission costsand access costs Hardware costs include management costsmaterial costs personnel costs and execution costs For theedge of the network costs refer to the logistics costs of rawmaterials and semifinished products as well as to the deliverycosts The calculation of costs is given by

119862119900119904119905119904 = 119862119899119900119889119890 + 119862119890119889119892119890

119862119899119900119889119890 = 119862119904119900119891119905119908119886119903119890 + 119862ℎ119886119903119889119908119886119903119890

119862119904119900119891119905119908119886119903119890 = 119862119888119900119898119901119906119905119894119899119892 + 119862119905119903119886119899119904119898119894119904119904119894119900119899 + 119862119886119888119888119890119904119904

119862ℎ119886119903119889119908119886119903119890 = 119862119898119886119899119886119892119890119898119890119899119905 + 119862119898119886119905119890119903119894119886119897 + 119862119901119890119903119904119900119899119899119890119897

+ 119862119890119909119890119888119906119905119894119900119899

119862119890119889119892119890 = 119862119897119900119892119894119904119905119894119888 + 119862119889119890119897119894V119890119903119910

(3)

Reliability Reliability represents the possibility that the man-ufacturing service can successfully complete the manufac-turing task under certain QoS constraints Reliability can beexpressed by the ratio of the number of manufacturing taskssuccessfully executed to the total number of tasks received bythe service node Fk indicates the number of manufacturingtasks that the service node k failed in the process of serviceexecution The calculation of reliability is given by

119877119890119897119894119886119887119894119897119894119905119910 = 119865119896119879119900119905119886119897119879119886119904119896119896 (4)

Based on the QoS index aggregation method time and costsare cumulative indexes while reliability is a multiplicativeindex Assume that theQoSmodel containsmmanufacturingservice nodes and nQoS indexesThemodel can be expressed

Complexity 7

1G

n 1

1G

n 2helliphellip

1G

n n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

12

n 1

11

n 1

11

n 212

n 2

12

n n

11

n n

11

n 1

11

n 2helliphellip

11

n n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

11

2 1

11

1 1

11

1 211

2 2

11

2 n

11

1 n

1G

n n1G

nhelliphellip

1G

1 n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

12

n n

11

n n11

n-1 n12

n-1

n-1

n

12

1 n

11

1 n

Figure 4 CubeModel of QoS attributes

by a three-dimensional matrix Each ldquolayerrdquo of the threedimensional matrix represents the adjacency matrix of asingle QoS index of the manufacturing service network Thematrix element aii represents the QoS attributes of node iand aij represent the QoS of the edge from node i to nodejTheQoS 3Dmodel of the manufacturing service network isshown in Figure 4

(3) Preprocessing of Network Structure In different man-ufacturing processes the completion of a manufacturingtask may involve four kinds of process structures namelysequence parallelism selection and cycle In order to applythe heuristic multiconstrained optimal path search methodto solve the manufacturing service composition problemthe parallel structure and the cyclic structure need to bepreprocessed in the manufacturing service network ascribedto the characteristics of Dijkstra algorithm Finally theextracted manufacturing service subnetwork is processedinto a weighted directed acyclic graph from the start point tothe end point and the multiconstraint service compositionproblem is transformed into a multiconstrained optimalpath selection problem Since the service composition modelproposed in this paper considers not only the manufacturingservice itself but also the relationship between manufacturingservices the preprocessing of the network structure alsoneeds to consider the attributes both of nodes and of edgesThe aggregation functions for QoS attributes of different ser-vices composition types are illustrated in Table 1 according tothe recursive characteristics [39] of manufacturing services

(4) e Method of QoS Attributes Aggregation During thesearch process the aggregation method of QoS attributesneeds to be determined to support calculation in the algo-rithm For time and cost the algorithm needs to add themup to get the total time and cost of the existing compositionFor reliability the product of different nodes (edges) isthe reliability of the composition service Therefore theaggregation methods of different nodes and edges in themanufacturing network are shown below

Time Time is a cumulative index Suppose that anoptimal manufacturing path has n candidate then the aggre-gated time can be calculated using (5) which includes theaggregation of service nodes and the aggregation of edges

119860(119879V119904997888rarrV119905) = 119899minus1sum119894=2

119879119894119899119900119889119890 + 119899minus2sum119895=2

119879119895119895+1119890119889119892119890 (5)

Cost Cost is a cumulative indexThe aggregated Costs can becalculated using

119860(119862V119904997888rarrV119905) = 119899minus1sum119894=2

119862119894119899119900119889119890 + 119899minus2sum

119895=2

119862119895119895+1

119890119889119892119890 (6)

Reliability Reliability is a multiplicative index Suppose thatoptimal manufacturing path has n candidate then the aggre-gated reliability can be calculated by

119860(119877V119904997888rarrV119905) = 119899minus1prod119894=2

119877119894119899119900119889119890 times 119899minus1prod119895=2

119877119895119895+1119890119889119892119890 (7)

8 Complexity

Table1Aggregatio

nMetho

dof

DifferentP

rocessStructures

Structure

Time

Cost

Reliability

Parallel

qtim

epar=m

ax(q i(

node))+

max(q j(

edge))

qcost

par=n sum i=

1

q i(nod

e )+m sum i=1

q j(edg

e)qr

eli

par=n prod i=

1

q i(nod

e )timesm prod j=1

q j(edg

e)Selective

qtim

esel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qcost

sel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qreli

sel=n prod i=

1

q i(nod

e )times120596 itimes

m prod j=1

q j(edg

e)times120596 j

Cyclic

qtim

esel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qt

ime

sel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qr

eli

par=120579

times (n prod i=1

q i(nod

e )timesm prod j=1

q j(edg

e ))

Complexity 9

(5) Utility Function In this model the utility functiondescribes the overall performance of the optimal servicecomposition path in different QoS aspects Since differentQoS indexes have different scales the QoS indexes arenormalized in the utility function

The QoS indexes are divided into two kinds positiveindexes and negative indexes Reliability is a positive multi-plicative index while time and costs are negative cumulativeindexes The utility function is calculated by

119880 (119879 119862 119877) = 119908119879 times 119860 (119879V119904997888rarrV119905)119879119888119900119899119904119905119903119886119894119899119904 + 119908119862 times 119860 (119862V119904997888rarrV119905)119862119888119900119899119904119905119903119886119894119899119904+ 119908119877 times ln (119860 (119877V119904997888rarrV119905))

ln (119877119888119900119899119904119905119903119886119894119899119904)(8)

In the equation wT wC wR are the weights of T C Rrespectively with the conditions of wT + wC + wR = 1 and0 lt wTwCwR lt 1(6) Traditional Service Composition Model In the existingstudies the manufacturing service composition problem canbe described as a 0-1 integer constrained multiobjectiveoptimization problem based on the model in Figure 1 Thetraditional service composition model is formulated as

min119880 (119879 119862 119877)0 le 119860 (119879V119904997888rarrV119905) le 1198791198881199001198991199041199051199031198861198941198991199040 le 119860 (119862V119904997888rarrV119905) le 1198621198881199001198991199041199051199031198861198941198991199040 le 119860 (119877V119904997888rarrV119905) le 119877119888119900119899119904119905119903119886119894119899119904

(9)

In these studies this problem is usually solved using meta-heuristic algorithms such as genetic algorithms (GA) particleswarm optimization (PSO) ant colony optimization (ACO)and bee colony algorithms (BA)Thesemethods usually workpretty well

(7) Multiple Constrained Optimization Path Selection ModelIn the improved model (Figure 2) there are more con-straints to ensure the existence of edges between the selectedmanufacturing service nodes In summary the problem ofmanufacturing service composition can be abstracted as amulticonstrained optimization path selection problem andformulated as (10) In (10) m is the number of subtasksdi is the number of candidate services in candidate serviceset j and xij is the decision variable xij equals 1 if the ithmanufacturing service in service candidate j is chosen andotherwise it equals 0

min 119880 (119879 119862 119877)st 0 le 119860 (119879V119904997888rarrV119905) le 119879119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119862V119904997888rarrV119905) le 119862119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119877V119904997888rarrV119905) le 1198771198881199001198991199041199051199031198861198941198991199041198891sum119894=1

1199091198941 = 11198892sum119894=1

1199091198942 = 1 119889119898sum119894=1

119909119894119898 = 1119909119894119895 = 0 119900119903 1

(10)

The meta-heuristic algorithms can also solve the serviceselection problem with multi-QoS constraints and decisionvariable constraints However [40] proved that they have lowefficiencies in finding a near-optimal solution in large-scalenetworks Taking GA as an example with the increase ofnode scale the algorithm takes a very long time to obtainthe near optimal solution and it is often unable to obtain thefeasible solution within the set upper limit of iteration timesCompared with meta-heuristic algorithms the proposedDHA OSCP is a more direct and effective algorithm to solvethis problem This is ascribed to the advantage that theDHA OSCP algorithm can always satisfy the constraints ofdecision variables in the process of execution

4 Service Composition PathSelection Algorithms

In this section some existing approximation algorithms fortheMCOP selection problem are firstly introduced includingH MCOP H OSTP and MFPB HOSTP Then a novel DualHeuristic Functions based Optimal Service CompositionPath algorithm (DHA OSCP) is described in detail

41 Existing Algorithms

(1) H MCOP H MCOP [8] is a heuristic algorithm proposedby Korkmaz and Krunz for the multiplendashconstrained optimalpath selection problem This algorithm first proposed amethod of QoS aggregation which is also the target of thereverse search as shown in

119892120582 (119901) ≜ (1199021 (119901)1198761V119904V119905

)120582 + (1199022 (119901)1198762V119904V119905

)120582 + sdot sdot sdot+ (119902119898 (119901)119876119898

V119904V119905

)120582(11)

H MCOP first adopts Dijkstrarsquos shortest path algorithm tofind the path with the minimum 119892120582(119901) and investigateswhether there exists a feasible path satisfying all QoS con-straints If the 119892120582(119901) of an intermediated node vk is greaterthan m it is proved that there is no feasible path from vk to vt

10 Complexity

If there exists at least one feasible solution then this algorithmwill search the network from vs to vt in order to identify afeasible path with the minimal cost of services

Before the H OSTP algorithm [35] was proposed in 2010H MCOP was one of the most promising algorithms forthe MCOP selection problem It proved to outperform priorexisting algorithms in terms of both efficiency and solutionquality

(2)H OSTP InH OSTP Liu et al first proposed the objectivefunction given in (12) and adopted the backward searchalgorithm to identify whether there was a feasible path withthe minimal 120575 from vt to vs If a feasible solution existsH OSTP then adopts the forward search algorithm to delivera near-optimal solution

120575 (119901) ≜ max 1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

(12)

H OSTP designed a target function 120575(p) which is better thanH MCOP for reverse search and this algorithm can providean optimal service composition path that is no worse thanH MCOP In addition through the reverse search strategyH OSTP can calculate whether the foreseen path is feasiblein advance which reduces the search space of the algorithmand improves the efficiency of the algorithm However thisalgorithm has some shortcomings in balancing different QoSattributes

(3) MFPB HOSTP In order to solve the imbalance prob-lem of H OPTP Liu et al proposed the MFPB HOSTPalgorithm [36] in 2013 In addition to selecting 120575(p) as thetarget to search a network the algorithm also identifies theoptimal paths with the searching target Tmin Cmin andRmax When the imbalance problem occurs MFPB-HOSTPdetermines the QoS index (for example T) that does notsatisfy the constraint Then the algorithm selects the nodeof the Tmin path to replace the node with the best 120575(p)path as the starting point for the next searching stage Atthe same time the algorithm defines the CBLP path sets toprevent the new imbalance problem By this method thealgorithm can get a near-optimal path that is no worse thanH OSTP

TheMFPB HOSTP algorithm inherits a lot of advantagesfromH OSTP and uses the CBLP path sets to solve the imbal-ance problem that best 120575(p) searching may bring Howeverthis algorithmwill incur a large amount of computation whenthere are lots of imbalance problems or complex processes inthe service network

42 e DHA OSCP Algorithm

(1) Overview First of all some definitions are introduced

Definition 1 (feasible heuristic path) In a subnetwork fromvs to vt a Feasible Heuristic Path (FHP) is the path from vt tothe intermediate node vk identified by the Delta BackwardSearch with (13) as the target

120575 (119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )= min(max

119879119887119886119888119896119908119886119903119889V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119887119886119888119896119908119886119903119889V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119887119886119888119896119908119886119903119889V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

)(13)

Definition 2 (utility heuristic path) In a subnetwork from vsto vt a Utility Heuristic Path (UHP) is the path from vt tothe intermediate node vk identified by the utility backwardsearch with (14) as the target

119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119908119879 times 119879119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119862

times 119862119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119877

times ln (119877119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

(14)

Definition 3 (forward path) In a subnetwork from vs to vta Forward Path (FP) is the path from vs node vt identifiedby the forward search The forward path is no worse than theFHP and UHP

Based on the definitions above a novel Dual HeuristicFunctions based Optimal Service Composition Path algo-rithm (DHA OSCP) is proposed in this paper which adoptstwo heuristic functions and the pruning searching strategy toobtain feasible heuristic path (FHP) and utility heuristic path(UHP)

The DHA OSCP algorithm is divided into two partsnamely the backward search process determining twoheuris-tic functions and the forward search process confirmingthe best utility path In the backward search procedure thealgorithm determines the feasible heuristic path (FHP) fromvk to vt (denoted by pbackwardvk997888rarrvt ) by using (12) as the searchtarget Then the algorithm determines the utility heuristicpath (UHP) from vk to vt (denoted by pbackwardutivk997888rarrvt ) with (13)as the search target The overview of DHA OSCP algorithmis shown in Figure 5

(2) Description A more detailed description of the proposedDHA OSCP algorithm is given below The algorithm isdivided into four main steps the pruning of the manufactur-ing service network the feasible backward search the utilitybackward search and the Alowast forward search These partswill be introduced in turn The pseudocode of the proposedDHA OSCP is given in Appendix A

Step 1 (network pruning) Designing appropriate pruningstrategies can effectively reduce the search space and the timecomplexity of the DHA OSCP algorithm without affectingthe quality of the solution The following two strategies areused to prune the manufacturing service network

The first strategy is pruning based on the process flowAccording to the decomposition of themanufacturing servicetask the nodes and the edges of themanufacturing service areextracted so that the manufacturing service network suitable

Complexity 11

Input()

Input the QoS value (TCR) of the nodes and edges ofmanufacturing network

Input the constraints and weights of QoS attributes

Prune()

Pruning the nodes and edges that do not satisfy the QoS constraints

Backward_Search()

Carry out backward search procedure twice with (12) and (13) as the target respectively to obtain feasible

heuristic path (FHP) and utility heuristic path (UHP)

Forward_Search()

Carry out forward search procedure twice with FHP and UHP as the heuristic function to find out whether there

is a better path than FHP and UHP

Output()

Output the near optimal path and the utility value

Figure 5 Overview of DHA OSCP algorithm

for the task is obtained In the manufacturing network theedges caused by other process flows are removed by thepruning strategy

The second strategy is pruning based on QoS constraintsNodes and edges that cannot satisfy QoS constraints areremoved from the network according to (15) where 120574 repre-sents the threshold

min(119879119899119900119889119890119890119889119892119890119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119899119900119889119890119890119889119892119890119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119899119900119889119890119890119889119892119890)ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )) gt 120574 (15)

Step 2 (identification of a feasible backward path withminimal delta) In feasible backward search procedure theDHA OSCP algorithm searches the service network fromvt to intermediate vk to investigate whether there existsa feasible solution in the manufacturing network Feasiblebackward search can define the FHP of each intermediatenode vk which is one of the heuristic functions to supportthe Alowast forward search procedure The pseudocode of DeltaBackward Search is given in Appendix B

eorem 4 In the feasible backward search procedure thesearch process can successfully find a feasible solution if there isat least one feasible solution that exists in the service network

The proof of Theorem 4 is given in Appendix C

Step 3 (identification of a backward path with the best utility)In the utility backward search procedure the DHA OSCPalgorithm searches the service network from V119905 to eachintermediate node V119896 and identifies the best weighted meanpath using a greedy strategy 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 participates in theAlowast forward search procedure as another heuristic functionThe utility backward search procedure needs to be employedto handle the imbalance problems which may occur in theforward search procedure For example the QoS constraintsof the service network are (T le 1C le 1R ge 04) TheQoS values of the paths from V119905 to two intermediate nodesV119894 V119895 are119876119900119878(119901119887119886119888119896119908119886119903119889V119894997888rarrV119905

) = (05 01 09) and119876119900119878(119901119887119886119888119896119908119886119903119889V119895997888rarrV119905) =(045 045 045) Then the feasible backward search proce-

dure will select V119895 as the next node while the utility backwardsearch procedurewill select V119894 as the next nodeObviously thenode V119894 has a larger QoS value to spare so that V119894 is easier toavoid the imbalance problem Therefore choosing the dualheuristic function strategy of FHP and UHP can effectivelyavoid the occurrence of the imbalance problem and generatea chance to deliver a better solutionThe pseudocode of utilitybackward search is given in Appendix D

Step 4 (identification the near-optimal path based on FHPand UHP) The forward search procedure will investigatewhether there is a path 119901119891119900119903119908119886119903119889V119904997888rarrV119905 that is better in quality thanboth 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 and 119901119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119905 The pseudocode of forwardsearch is given in Appendix E In this procedure DHA OSCPsearches the path with the best utility from V119904 to V119905 basedon Alowast algorithm Assume that V119896119891 and V119896119906 are selected asthe intermediate nodes based on FHP and UHP then twoforeseen paths 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areformed According to the feasibility of these two paths DHA-OSCP uses the following strategies to identify the optimalpath

Case 1 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 arefeasible) The DHA-OSCP algorithm calculates the unityvalues of the two foreseen paths and then continues to searchthe network

Case 2 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is feasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 isinfeasible) The forward search procedure based on FHP cancontinue to search The forward search procedure based onUHP will search another neighborhood node of V119904 with thebest utility and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 based on FHP The the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 into consideration

Case 3 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is infeasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905is feasible) The forward search procedure based onUHP can

12 Complexity

Table 2 Complexity analysis of the three algorithms

Algorithm ComplexityH OSTP O(2times(NlogN+E)) [35]MFPB HOSTP O(6times(NlogN+E)+KE) [36]DHA OSCP O(4times(NlogN+E))

continue to search The forward search procedure based onFHP will search another neighborhood node of V119904 with theminimal 120575 and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840

119896119891997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 based on UHP Next the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119891 into consideration

Case 4 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areinfeasible) The algorithm adopts the two processing meth-ods described in Cases 2 and 3 respectively when the cor-responding path is infeasible Then four new foreseen paths119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840119896119891997888rarrV119905

and

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 are formed Then the algorithm movesforward to determine whether these foreseen paths arefeasible and choose the feasible path with higher utilityto continue searching If all of these paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 and V119904997888rarr V119896119891 intoconsideration

(3) Algorithm Complexity Analysis Assume that only threeQoS attributes (ie T C and R) are taken into considerationthe time complexity of these three algorithms is shown inTable 2 where N is the number of nodes in the subnetworkbetween V119904 and V119905 E is the number of the edges in themanufacturing network and K is the hops between V119904 andV119905

Below the detailed analysis of these representations isgiven Specifically H OSTP takes twice as much time asDijkstrarsquos shortest path algorithm As such the time com-plexity of this algorithm is O(2times(N logN + E)) which isequal to O(N logN + E) MFPB HOSTP adopts Dijkstrarsquosshortest path algorithm four times in the Backward Searchprocedure with the time complexity of O(4times(N logN + E))In the Forward Search MFPB HOSTP takes twice as muchtime as Dijkstrarsquos shortest path algorithm which meansthe time complexity for this part is O(2times(N logN + E))Besides the time complexity of finding the feasible foreseenpaths is O(KE) So the time complexity of MFPB HOSTPis O(N logN+KE) DHA OSCP adopts Dijkstrarsquos shortestpath algorithm twice both in the Backward Search procedureand in Forward Search procedure so its time complexity isO(4times(N logN + E)) which is equal to O(N logN + E)

The analysis above is based on the assumption thatonly three QoS attributes are taken into account If M QoSattributes are taken into consideration the time complexity ofMFPB HOSTP will turn into O(Mtimes(N log N + E)+KE) whilethe time complexity of DHA OSCP is still O(N logN + E)meaning that the proposed algorithm is better for large-scaleproblems

5 Computational Experiments and Discussion

In order to evaluate the performance of the proposedDHA OSCP algorithm computational experiments are con-ducted to make various comparisons between DHA OSCPand popular H OSTP and MFPB HOSTP algorithms thathave been proved to be effective for service compositionproblems

The execution time and the quality of the solution areinfluenced by the scale and structure of the network andthe QoS constraints In order to study the performance ofthe proposed heuristic algorithm under varied conditionsthe service networks with different scales and structuresare randomly generated Then the qualities of the solutionsobtained by the three algorithms are compared in detailFigure 6 shows the comparisons of results under variedconditionsThere are 20 groups ofmanufacturing networks inthe experiments and 20 sets of QoS constraints in each groupTherefore the results of 400 groups of experiments are shownin each subgraph of Figure 6 QoS preferences regarding thetask are chosen as 119908119879 = 05 119908119862 = 06 119908119877 = 08 andthe initial QoS constraint values are chosen as Tconstraints =09Cconstraints = 09 Rconstraints = 02 Then the T C areincreased by 001 and the R is reduced by 001

Figure 6 shows that DHA OSCP algorithm has a largerpossibility to find a better solution under different net-work scale and QoS constraints The X-axis and the Y-axis represent different network scales and QoS constraintsrespectively The Z-axis represents the utility values obtainedby the three algorithms Each point in the figure repre-sents the utility value of the optimal path under certainnetwork scale and QoS constraints As shown in the figureif there are no feasible solutions in the network all of thethree algorithms can determine the infeasibility MoreoverDHA OSCP manages to find feasible solutions for all caseswithout a utility value worse than that of H OSTP andobtains better results than H OSTP in 12375 of the totalexperiments (ie 198 of 1600) DHA OSCP also obtainsbetter results than MFPB HOSTP in 10875 of the totalexperiments (ie 174 of 1600)This validates the effectivenessof the DHA OSCP algorithm in finding a near-optimalsolutionThe execution times of the algorithms are influencedby the network scale and the number of hops in the networkAn additional experiment with details below is then designedto compare the utility values and execution times of the threealgorithms

Seven groups of networks are generated with a node sizeof 100 150 200 250 300 350 and 400 respectively For eachgroup of networks 20 sets of QoS constraints are taken and20 networks are generated for each set of the QoS constraintsto carry out the experiment The sum of utility values and

Complexity 13

times H_OSTPMFPB_HOSTP

QoS constraints

Better

Same1

090807060504030201

0

1090807060504030201

0

09

08

07

06

05

04

03

02

01

0

1090807060504030201

020

2018

1816

1614

14121210

10886

64 42 2

2018161412108642

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42 00

0

20181614121086420

20181614121086420

Infeasible

NetworkID

DHA_OSCP

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

Figure 6 Solution quality with different scales of service network

execution time of the 400 experiments are compared for eachnode size The experiment results are shown in Tables 3ndash5

Though the computational experiments were conductedon networks with different scales structures and constraintswe can draw the conclusion that on average DHA OSCPcan get the path with better utility value than that ofMFPB HOSTP at a lower time cost In terms of meanexecution time DHA OSCP can achieve reduction of timecost by 437 503 and 407 respectively for theexamples shown in Tables 3ndash5 Since both DHA OSCP andMFPB HOSTP have measures of addressing the imbalanceproblem at the cost of execution time they achieve muchbetter utility values than those of H OSTP but more exe-cution time is incurred When both quality of result andtime cost are considered DHA OSCP achieves better overallperformance compared with MFPB HOSTP and H OSTPwhich is important for working with manufacturing servicenetworks

Additionally compared with H OSTP the DHA OSCPalgorithm adopts two heuristic functions in the forward

search procedure this turns to ensure that nomatterwhetherimbalanced problems of QoS attributes exist it can alwaysget a near-optimal path that is no worse than the oneobtained using H OSTP Although the execution time ofDHA OSCP is increased due to taking additionalmeasure foraddressing imbalance problems it achieves the same level oftime complexity as that of H OSTP In summary DHA OSCPcan obtain solutions that are much better than H OSTP at areasonable time cost

Both MFPB HOSTP and DHA OSCP can solve theimbalance problem to a great extent Nonetheless the timecomplexity of the DHA OSCP algorithm is lower The timecomplexity of MFPB HOSTP would become intolerable ifthe number of hops in the manufacturing network increasedto a large level Moreover the DHA OSCP algorithm canget a solution with a much better utility value than thatof MFPB HOSTP This is because the forward search pro-cedure adopts UHP as a heuristic function which takesinto account the coefficients of the utility function Thisis a better search strategy compared with MFPB HOSTP

14 Complexity

Table 3 Results of Different Node Size

Node size H OSTP MFPB HOSTP DHA OSCPUtility value Execution time Utility value Execution time Utility value Execution time

100 1510454 121380 1495541 301070 1480524 234170150 1706428 251980 1688756 770790 1654677 529100200 1489640 438350 1471278 949910 1447855 1380930250 1355056 672910 1344681 2189750 1325991 1475550300 1238503 981380 1230763 3219790 1207582 2141920350 1133137 1339490 1127778 4666080 1104149 2923780400 1053334 1775580 1046502 5928810 1031810 3856320

Table 4 Results of Different QoS Constraints

QoS constraints H OSTP MFPB HOSTP DHA OSCPT C R Utility value Execution time Utility value Execution time Utility value Execution time090 090 02 2149406 235230 2148814 644120 2093961 443610094 094 018 1956596 229250 1956285 599620 1884452 420600098 098 016 1790496 231040 1790496 661650 1772467 438820102 102 014 1701983 244250 1701769 723250 1698541 465420104 104 012 1753381 245360 1717547 696620 1701082 466200108 108 010 1995259 247680 1983515 792850 1967191 493220110 110 008 1338181 241440 1333709 749020 1326810 523690112 112 006 1535065 243210 1530866 799630 1495530 519410

Table 5 Results of Different Coefficient

Coefficient H OSTP MFPB HOSTP DHA OSCPwT wC wR Utility value Execution time Utility value Execution time Utility value Execution time01 01 08 1636718 273650 1612995 767250 1585643 55779001 08 01 1938172 251740 1924318 756600 1905009 52143008 01 01 1893298 256050 1876882 762140 1856349 54689003 03 04 2103357 250490 2099200 739410 2088499 52979002 06 02 2116633 249890 2109084 744460 2086980 53881002 02 06 1895776 248760 1888923 740830 1876530 51305001 04 05 1898427 245940 1891458 734170 1880153 52326005 04 01 2148865 251090 2143177 742740 2128045 526320

which uses CBLPs to solve the imbalance problem Withthe above discussions it can be concluded that DHA OSCPoutperforms MFPB HOSTP in terms of solution quality andtime complexity

6 Application to Automobile ManufacturingService Composition

The CASICloud (wwwcasicloudcom) is a CMfg platformfor registering and accessing manufacturing services whichhas a large number of service providers and service usersIn spite of being a popular platform it can only recommenda single manufacturing service provider for a manufactur-ing task and the capability of conducting manufacturingservice composition for complex tasks is missing To verifythe viability of the proposed model and algorithm theyare implemented and integrated into the platform as anadd-on function and are tested using data from service

providers obtained from the CASICloud In this case anautomobile manufacturing process is chosen as an illustrativeexample

Figure 7 shows the graphical interface of the addi-tional function of service composition which also givesdetailed information about the service composition taskfor automobile manufacturing being solved using the pro-posed model and the DHA OSCP algorithm Specifically thetask of automobile manufacturing can be decomposed intofive subtasks namely body stamping body welding bodypainting automobile assembly and automobile test Eachsubtask has a set of candidate manufacturing services thatcan be selected to meet the requirements of the subtaskEach candidate service provider can be abstracted as a nodein the manufacturing network The logistics relationshipbetween service providers is recorded as an edge in themanufacturing network Using the DHA OSCP algorithm anear-optimal solution can be found from the starting nodeof the manufacturing network to the end one The choice

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 3: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

Complexity 3

The rest of this paper is organized as follows Section 2gives a literature review of related work Section 3 detailsthe formulation of the mathematical model for the servicecomposition problems in which the cooperation relation-ships between nodes are taken into account Section 4describes a novel improved algorithm for MCOP selectionproblems based on the service composition model Section 5discusses the experimental results of the DHA-OSCP insolving SCP and compares its performance with those of thepopular algorithms including the H OSTP algorithm and theMFPB HOSTP algorithm Section 6 further demonstratesthe viability of the proposed model and algorithm witha detailed application example of Cloud ManufacturingFinally the conclusions of this work are discussed in Section 7as well as potential future work

2 Related Work

21 CompositionUsingQoS Much research has been done onthe service composition problems and other related problemsin networked manufacturing such as service provider selec-tion methods service network models service compositionalgorithms andmanufacturing resource allocation [6 9] Forexample Wu et al [10] proposed a fuzzy-based decision-making method to find the best service provider Ho et al [11]made a review ofmulticriteria decisionmaking approaches tothe supplier evaluation and selection problem In these meth-ods the supplier selection problem is described as a form ofresource optimal allocation which is restricted to small scaleresource scheduling problems without consideration of theQoS indexes of resources (eg cost reliability and so on)These models and algorithms are not suitable for dynamicand flexible on-demand service composition optimizationproblems Although the construction of a CloudManufactur-ing service composition model can refer to Cloud Computingmodels many changes need to be made by taking account ofthe particular characteristics ofmanufacturing processesTheprevious research on service composition is mostly focusedon the framework indexes and the optimization of composi-tion algorithms According to the specific means of problem-solving the service composition algorithms can be dividedinto two types namely the local optimization approach andthe global optimization approach Specifically the formerchooses services for each subtask obtains the candidatesolution sets and finally gets the local optimal result throughgreedy selection However it has some limitations such as thesatisfaction of the overall QoS constraint processing of non-linear QoS index problems and so on The latter considersthe QoS attributes not only for a single service but also forthe composite service so that they can get the global optimalsolution Global optimization algorithms can be divided intothree categories Non-heuristic (Exact) Algorithms HeuristicAlgorithms and Meta-Heuristic Algorithms Every opti-mization problem can be solved by exhaustive search if thetime consumption and search space are ignored The Non-heuristic (Exact) algorithm is an optimized version of theexhaustive search which can reduce the time consumptionof the algorithm to a large extent Yu et al [12] modeledthe service composition problem as a multichoice knapsack

problem which is multidimensional and multiobjective andobtained the best utility function solution when the globalQoS constraints are satisfied Grabrel et al [13] proposedan algorithm using the dependency graph and 0-1 linearprogramming to solve the optimal composition problem fortransactional web services Yang et al [14] solved the dynamiccomposition problem of web services by proposing a GreedyQuick-hull algorithm

The objective function is designed to guarantee that thesearch direction is a sufficient descent direction per roundof iteration and the optimal solution can be obtained ina relatively short period of time Compared with Exactalgorithms the heuristic function has great advantages inreducing time cost and search space Klein et al [15] putforward the hill-climbing algorithm and proved that it hada lower time complexity compared with the linear integerprogramming Luo et al [16] proposed a heuristic HCEalgorithm for web service composition optimization whichalso satisfied the end to end QoS constraints Rodrigues etal [17] presented an Alowast algorithm which solves the problemof semantic input-output message structure matching forweb service composition In order to satisfy the overall QoSconstraints and reduce the time complexity several heuristicalgorithms [18ndash20] have been proposed to find a near optimalsolution for service composition Heuristic function designis critical to a heuristic search algorithm which has beenextensively researched in the area of heuristic algorithmdevelopment and selection In this paper a novel dualheuristic functions algorithm is designed to solve the servicecomposition problem based on an improved Alowast algorithmin which two different heuristic functions are employed byconsidering both feasibility and quality of the compositionresults at the same time

By generating or selecting a heuristic method the meta-heuristic algorithm is designed to provide a sufficiently goodsolution to a specific optimization problem which is appli-cable to a broad range of problems Some commonly usedmeta-heuristic algorithms have been improved and adjustedto solve the problem of service composition such as particleswarm optimization (PSO) [21 22] simulated annealing(SA) [23] genetic algorithms (GA) [24ndash27] ant colonyoptimization (ACO) [28] and bee colony algorithms (BA)[29 30]The service composition problem can be formulatedas a multiobjective problem and near-optimal solutions canbe obtained by employing the meta-heuristic algorithm Inaddition someothermethods have also been adopted to solvethe problem of service composition For instance Bekkoucheet al [31] described a novel approach based on a HarmonySearch algorithm that addressed functional requirements andnonfunctional requirements simultaneously through a fitnessfunction to select the optimal or near-optimal solution insemantic web service composition Jatoth et al [32] proposeda novel MapReduce-based Evolutionary Algorithm withGuidedMutation that lead to a better Big service compositionwith better solution and execution time Labbaci et al [33]put forward a deep learning approach for dynamic QoS basedservice composition which got promising results comparedwith existing QoS prediction techniques These pieces ofwork have shown that the service composition problem

4 Complexity

is an essential part of the current research on intelligentmanufacturing

Since the CloudManufacturing paradigm entails the pro-vision of cloud services by physical manufacturing resourcesand the transportation of between these resources thecooperation relationship and logistics cost between thesemanufacturing resources need to be considered As suchthe network model proposed in this paper is more appro-priate to describe the manufacturing service compositionproblem compared with those proposed in the existingstudies So far the research of correlation-aware servicecomposition has been focused by only a few studies [34]Unfortunately the solving methods of these studies arelimited to PSO and other meta-heuristic algorithms whichare not intuitive and comprehensive By preprocessing thecomplex manufacturing network the service compositionproblem based on the improved model is converted toan MCOP problem which can be solved by pathfind-ing methods On this basis a heuristic pathfinding algo-rithm for addressing the service composition problemsin manufacturing networks is developed by taking intoaccount both service attributes and the relationships betweenservices

22 Multiple-Constrained Path Selection Method Existingwork has shown that QoS-based service composition can bemodeled as a multiple-constrained optimal path selectionproblem which has been proved to be NP-Complete [9]This model takes into account not only the QoS indexesof manufacturing service nodes but also the cooperativerelationships between different nodes this makes it moresuitable for the actual manufacturing environment Kork-maz et al [8] developed a heuristic H MCOP algorithmfor solving the multiple-constrained optimal path selectionproblem in service invocation Based on this method Liuet al proposed the Heuristic Optimal Social Trust Path(H OSTP) algorithm [35] and the Multiple Foreseen Path-Based Heuristic Optimal Social Trust Path (MFPB HOSTP)algorithm [36] which made a two-way search in the trustnetwork based on Dijkstrarsquos shortest path algorithm [37] toget a near optimal solution These three algorithms will bedescribed in detail in Section 3 of this paper Before H OSTPH-MCOP was one of the most promising algorithms for themultiple-constrained optimal path selection problem due toits outstanding performance in terms of both solution qualityand algorithm efficiency The H OSTP algorithm inheritedthe advantages of the H MCOP algorithm and can achievebetter search results and faster search speed by using a bettersearch strategy Yet there is a problem of QoS imbalance inH OSTP algorithm MFPB HOSTP algorithm can solve thisproblem by calculating the intermediate path but it bringsunbearable time consumption when the imbalance problemoccurs frequently H OSTP and MFPB HOSTP concentrateon the trust network in social networks which unfortunatelyignore the characteristics of manufacturing processes Fora practical manufacturing environment the DHA-HOSCPalgorithm is proposed in this paper which designs twoheuristic functions according to the characteristics of themanufacturing network It achieves better results and lower

time consumption compared with the MFPB HOSTP algo-rithm [36]

3 Modeling of Manufacturing Networks

31 Problem Description In the execution process of manu-facturing services on a CMfg platform the free manufactur-ing resources are encapsulated as services with different levelsof information granularity relative to their manufacturingcapabilities For instance machining has a higher level ofgranularity than cutting and milling Among these servicesthe coarse-grained manufacturing services are composedof fine-grained manufacturing services and there are someatomic services which cannot be further decomposed Man-ufacturing service nodes and their relationships will forma complex network of CMfg services Atomic services arerepresented as nodes in the network which have functionalattributes and nonfunctional attributes The cooperationrelationships between manufacturing service nodes are rep-resented as the edges of the network including the degreeof cooperation intimacy logistics cost and other factorsTo better illustrate the idea the improved model is shownin Figure 2 In this model not all adjacent manufacturingservices can be composed due to uncertain relationshipsbetween different services

The major difference between the manufacturing net-work model and traditional service composition models isin whether the edges (cooperation logistics etc) betweenmanufacturing service providers are considered As opposedto a computer network in which the communication timeand cost between nodes are negligible compared with thenode itself a manufacturing network involves considerablelogistics cost and cooperation relationship between manufac-turing service providersTherefore both the service providersand the relationships between them should be taken intoconsideration in model construction and algorithm develop-ment

To accomplish a complex manufacturing task the de-mand for orchestrating manufacturing services is decom-posed into several atomic tasks each of which can becompleted by a specific atomic service from the candidateset The information about alternative services and theirrelationships is retrieved from the Cloud Manufacturingservice network and is constructed as a subgraph Thus theservice composition problem is transformed into the problemof selecting a path with the highest global utility value underthe condition that the subgraph is covered by this path andthe QoS constraints are satisfied The process of optimal pathselection is illustrated in Figure 3 which can be divided intothree stages

(1) Manufacturing Demand Analysis and Task DecompositionWhen a CMfg platform receives a complex task demand(denoted as T) it first decomposes the complex manufactur-ing task into a combination of atomic tasks according to thespecific requirements andmanufacturing process constraintsThe service composition is usually divided into four typessequence parallelism selection and cycle [38] The overallQoS requirements for a manufacturing task can be denoted

Complexity 5

Parallel Cycle

Virtual start

Virtual end

Subtasks

Optimal service compositionCandidate

sets

341 342

343

346

344

345

Figure 2 Manufacturing service composition model

hellip

loop Subtasks

hellip

Preprocessing

Subnetwork extraction

Start End

extract

Manufacturing network

helliphelliphellip

Start End

helliphelliphellip

Path optimization

341

341 342

342 343

343

344

344

345

34H

34H

345FIIJ

331

331

332

332

3334

3334

335

335

33H

33H

Figure 3 Process of optimal path selection

6 Complexity

as Q(T) = q1(T) q2(T) qn(T) where 119902119894(T) is the ith QoSrequirement and n is the number of QoS indexes

(2) Extraction of Candidate Service Subnetwork The CMfgplatform generates a candidate manufacturing service set foreach atomic manufacturing task by manufacturing resourceselection according to the functional requirements of theatomic manufacturing task The candidate service set can bedenoted as

119862119878 (119879) = 119888119904 (1199051) 119888119904 (1199052) 119888119904 (119905119898)119888119904 (119905119894) = 1199041 (119905119894) 1199042 (119905119894) 119904119899119894 (119905119894) (1)

In the above equation m is the number of atomic manu-facturing tasks and n i is the number of candidate servicesfor atomic manufacturing task i Candidate manufacturingservices for the same atomic manufacturing task have thesame functional properties but their QoS attributes can bedifferent These candidate service nodes and their relation-ships are then extracted from the manufacturing network asa subgraph

(3) Selection of the Optimal Service Path After the previoussteps are completed each of the atomic manufacturing taskshas got a set of services that can potentially meet its specificrequirements The optimal service path selection is thenused to find out the optimal service execution path thatsatisfies the QoS constraints of manufacturing tasks and hasthe best overall utility function This is an MCOP problemwhich has been proved to be NP-complete In the past thesolving method of the manufacturing service compositionis based on the idea of web service composition whichdoes not consider the relationship between different servicenodes According to the location constraints cooperationconstraints process constraints and QoS constraints boththe attributes of the candidate manufacturing service nodesand their relationships are taken into consideration so thatthe actual manufacturing scenario can be better addressedThis paper specifically focuses on the effective model andalgorithm for this step

32 Mathematical Model The optimal service compositionproblem can be modeled as an optimal path selection prob-lem with specific QoS constraints Before the algorithm isdetailed the methods forQoS aggregation network structurepreprocessing and mathematical model formulation need tobe given first

(1) QoS Attributes of Manufacturing Network The QoSattributes in Cloud Computing network usually includesresponse time bandwidth computing overhead and so onHowever in a manufacturing network the QoS attributesthat should be particularly considered are different fromthose of Cloud Computing In a manufacturing network thetime and cost it takes to complete the entire manufacturingprocess are the essential attributes of substantial importanceMoreover the reliability usability credibility and sustain-ability are also important QoS attributes in a manufacturingnetwork In this paper time cost and reliability are applied

in the DHA OSCP algorithm as three representative QoSattributes

(2) QoS Attribute Aggregation Time Time refers to theexecution period from the time when the demands aresubmitted to the platform to the final completion time ofthe manufacturing service It consists of the time of thenodes and the time of the edges For a manufacturing servicenode Time is the sum of online time and offline time (egresource configuration time computing time queue timeand execution time) For the edge of the network timerefers to the logistics time of raw materials and semi-finishedproducts as well as to the delivery time The time attributeneeds to be corrected by the correction factor so as tomodify the evaluation value to indicate the time attributemore accurately The calculation method of time is given by

119879119894119898119890 = 119879119888119900119903119903 times (119879119899119900119889119890 + 119879119890119889119892119890)119879119899119900119889119890 = 119879119903119890119904 + 119879119888119900119898119901119906119905119894119899119892 + 119879119902119906119890119906119890 + 119879119890119909119890119888119906119905119894119900119899119879119890119889119892119890 = 119879119897119900119892119894119904119905119894119888 + 119879119889119890119897119894V119890119903119910

(2)

Costs Costs also includes both the cost of the node and thecost of the edge For a manufacturing service node Costsis the sum of software costs and hardware costs Softwarecosts are composed of computing costs transmission costsand access costs Hardware costs include management costsmaterial costs personnel costs and execution costs For theedge of the network costs refer to the logistics costs of rawmaterials and semifinished products as well as to the deliverycosts The calculation of costs is given by

119862119900119904119905119904 = 119862119899119900119889119890 + 119862119890119889119892119890

119862119899119900119889119890 = 119862119904119900119891119905119908119886119903119890 + 119862ℎ119886119903119889119908119886119903119890

119862119904119900119891119905119908119886119903119890 = 119862119888119900119898119901119906119905119894119899119892 + 119862119905119903119886119899119904119898119894119904119904119894119900119899 + 119862119886119888119888119890119904119904

119862ℎ119886119903119889119908119886119903119890 = 119862119898119886119899119886119892119890119898119890119899119905 + 119862119898119886119905119890119903119894119886119897 + 119862119901119890119903119904119900119899119899119890119897

+ 119862119890119909119890119888119906119905119894119900119899

119862119890119889119892119890 = 119862119897119900119892119894119904119905119894119888 + 119862119889119890119897119894V119890119903119910

(3)

Reliability Reliability represents the possibility that the man-ufacturing service can successfully complete the manufac-turing task under certain QoS constraints Reliability can beexpressed by the ratio of the number of manufacturing taskssuccessfully executed to the total number of tasks received bythe service node Fk indicates the number of manufacturingtasks that the service node k failed in the process of serviceexecution The calculation of reliability is given by

119877119890119897119894119886119887119894119897119894119905119910 = 119865119896119879119900119905119886119897119879119886119904119896119896 (4)

Based on the QoS index aggregation method time and costsare cumulative indexes while reliability is a multiplicativeindex Assume that theQoSmodel containsmmanufacturingservice nodes and nQoS indexesThemodel can be expressed

Complexity 7

1G

n 1

1G

n 2helliphellip

1G

n n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

12

n 1

11

n 1

11

n 212

n 2

12

n n

11

n n

11

n 1

11

n 2helliphellip

11

n n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

11

2 1

11

1 1

11

1 211

2 2

11

2 n

11

1 n

1G

n n1G

nhelliphellip

1G

1 n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

12

n n

11

n n11

n-1 n12

n-1

n-1

n

12

1 n

11

1 n

Figure 4 CubeModel of QoS attributes

by a three-dimensional matrix Each ldquolayerrdquo of the threedimensional matrix represents the adjacency matrix of asingle QoS index of the manufacturing service network Thematrix element aii represents the QoS attributes of node iand aij represent the QoS of the edge from node i to nodejTheQoS 3Dmodel of the manufacturing service network isshown in Figure 4

(3) Preprocessing of Network Structure In different man-ufacturing processes the completion of a manufacturingtask may involve four kinds of process structures namelysequence parallelism selection and cycle In order to applythe heuristic multiconstrained optimal path search methodto solve the manufacturing service composition problemthe parallel structure and the cyclic structure need to bepreprocessed in the manufacturing service network ascribedto the characteristics of Dijkstra algorithm Finally theextracted manufacturing service subnetwork is processedinto a weighted directed acyclic graph from the start point tothe end point and the multiconstraint service compositionproblem is transformed into a multiconstrained optimalpath selection problem Since the service composition modelproposed in this paper considers not only the manufacturingservice itself but also the relationship between manufacturingservices the preprocessing of the network structure alsoneeds to consider the attributes both of nodes and of edgesThe aggregation functions for QoS attributes of different ser-vices composition types are illustrated in Table 1 according tothe recursive characteristics [39] of manufacturing services

(4) e Method of QoS Attributes Aggregation During thesearch process the aggregation method of QoS attributesneeds to be determined to support calculation in the algo-rithm For time and cost the algorithm needs to add themup to get the total time and cost of the existing compositionFor reliability the product of different nodes (edges) isthe reliability of the composition service Therefore theaggregation methods of different nodes and edges in themanufacturing network are shown below

Time Time is a cumulative index Suppose that anoptimal manufacturing path has n candidate then the aggre-gated time can be calculated using (5) which includes theaggregation of service nodes and the aggregation of edges

119860(119879V119904997888rarrV119905) = 119899minus1sum119894=2

119879119894119899119900119889119890 + 119899minus2sum119895=2

119879119895119895+1119890119889119892119890 (5)

Cost Cost is a cumulative indexThe aggregated Costs can becalculated using

119860(119862V119904997888rarrV119905) = 119899minus1sum119894=2

119862119894119899119900119889119890 + 119899minus2sum

119895=2

119862119895119895+1

119890119889119892119890 (6)

Reliability Reliability is a multiplicative index Suppose thatoptimal manufacturing path has n candidate then the aggre-gated reliability can be calculated by

119860(119877V119904997888rarrV119905) = 119899minus1prod119894=2

119877119894119899119900119889119890 times 119899minus1prod119895=2

119877119895119895+1119890119889119892119890 (7)

8 Complexity

Table1Aggregatio

nMetho

dof

DifferentP

rocessStructures

Structure

Time

Cost

Reliability

Parallel

qtim

epar=m

ax(q i(

node))+

max(q j(

edge))

qcost

par=n sum i=

1

q i(nod

e )+m sum i=1

q j(edg

e)qr

eli

par=n prod i=

1

q i(nod

e )timesm prod j=1

q j(edg

e)Selective

qtim

esel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qcost

sel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qreli

sel=n prod i=

1

q i(nod

e )times120596 itimes

m prod j=1

q j(edg

e)times120596 j

Cyclic

qtim

esel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qt

ime

sel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qr

eli

par=120579

times (n prod i=1

q i(nod

e )timesm prod j=1

q j(edg

e ))

Complexity 9

(5) Utility Function In this model the utility functiondescribes the overall performance of the optimal servicecomposition path in different QoS aspects Since differentQoS indexes have different scales the QoS indexes arenormalized in the utility function

The QoS indexes are divided into two kinds positiveindexes and negative indexes Reliability is a positive multi-plicative index while time and costs are negative cumulativeindexes The utility function is calculated by

119880 (119879 119862 119877) = 119908119879 times 119860 (119879V119904997888rarrV119905)119879119888119900119899119904119905119903119886119894119899119904 + 119908119862 times 119860 (119862V119904997888rarrV119905)119862119888119900119899119904119905119903119886119894119899119904+ 119908119877 times ln (119860 (119877V119904997888rarrV119905))

ln (119877119888119900119899119904119905119903119886119894119899119904)(8)

In the equation wT wC wR are the weights of T C Rrespectively with the conditions of wT + wC + wR = 1 and0 lt wTwCwR lt 1(6) Traditional Service Composition Model In the existingstudies the manufacturing service composition problem canbe described as a 0-1 integer constrained multiobjectiveoptimization problem based on the model in Figure 1 Thetraditional service composition model is formulated as

min119880 (119879 119862 119877)0 le 119860 (119879V119904997888rarrV119905) le 1198791198881199001198991199041199051199031198861198941198991199040 le 119860 (119862V119904997888rarrV119905) le 1198621198881199001198991199041199051199031198861198941198991199040 le 119860 (119877V119904997888rarrV119905) le 119877119888119900119899119904119905119903119886119894119899119904

(9)

In these studies this problem is usually solved using meta-heuristic algorithms such as genetic algorithms (GA) particleswarm optimization (PSO) ant colony optimization (ACO)and bee colony algorithms (BA)Thesemethods usually workpretty well

(7) Multiple Constrained Optimization Path Selection ModelIn the improved model (Figure 2) there are more con-straints to ensure the existence of edges between the selectedmanufacturing service nodes In summary the problem ofmanufacturing service composition can be abstracted as amulticonstrained optimization path selection problem andformulated as (10) In (10) m is the number of subtasksdi is the number of candidate services in candidate serviceset j and xij is the decision variable xij equals 1 if the ithmanufacturing service in service candidate j is chosen andotherwise it equals 0

min 119880 (119879 119862 119877)st 0 le 119860 (119879V119904997888rarrV119905) le 119879119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119862V119904997888rarrV119905) le 119862119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119877V119904997888rarrV119905) le 1198771198881199001198991199041199051199031198861198941198991199041198891sum119894=1

1199091198941 = 11198892sum119894=1

1199091198942 = 1 119889119898sum119894=1

119909119894119898 = 1119909119894119895 = 0 119900119903 1

(10)

The meta-heuristic algorithms can also solve the serviceselection problem with multi-QoS constraints and decisionvariable constraints However [40] proved that they have lowefficiencies in finding a near-optimal solution in large-scalenetworks Taking GA as an example with the increase ofnode scale the algorithm takes a very long time to obtainthe near optimal solution and it is often unable to obtain thefeasible solution within the set upper limit of iteration timesCompared with meta-heuristic algorithms the proposedDHA OSCP is a more direct and effective algorithm to solvethis problem This is ascribed to the advantage that theDHA OSCP algorithm can always satisfy the constraints ofdecision variables in the process of execution

4 Service Composition PathSelection Algorithms

In this section some existing approximation algorithms fortheMCOP selection problem are firstly introduced includingH MCOP H OSTP and MFPB HOSTP Then a novel DualHeuristic Functions based Optimal Service CompositionPath algorithm (DHA OSCP) is described in detail

41 Existing Algorithms

(1) H MCOP H MCOP [8] is a heuristic algorithm proposedby Korkmaz and Krunz for the multiplendashconstrained optimalpath selection problem This algorithm first proposed amethod of QoS aggregation which is also the target of thereverse search as shown in

119892120582 (119901) ≜ (1199021 (119901)1198761V119904V119905

)120582 + (1199022 (119901)1198762V119904V119905

)120582 + sdot sdot sdot+ (119902119898 (119901)119876119898

V119904V119905

)120582(11)

H MCOP first adopts Dijkstrarsquos shortest path algorithm tofind the path with the minimum 119892120582(119901) and investigateswhether there exists a feasible path satisfying all QoS con-straints If the 119892120582(119901) of an intermediated node vk is greaterthan m it is proved that there is no feasible path from vk to vt

10 Complexity

If there exists at least one feasible solution then this algorithmwill search the network from vs to vt in order to identify afeasible path with the minimal cost of services

Before the H OSTP algorithm [35] was proposed in 2010H MCOP was one of the most promising algorithms forthe MCOP selection problem It proved to outperform priorexisting algorithms in terms of both efficiency and solutionquality

(2)H OSTP InH OSTP Liu et al first proposed the objectivefunction given in (12) and adopted the backward searchalgorithm to identify whether there was a feasible path withthe minimal 120575 from vt to vs If a feasible solution existsH OSTP then adopts the forward search algorithm to delivera near-optimal solution

120575 (119901) ≜ max 1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

(12)

H OSTP designed a target function 120575(p) which is better thanH MCOP for reverse search and this algorithm can providean optimal service composition path that is no worse thanH MCOP In addition through the reverse search strategyH OSTP can calculate whether the foreseen path is feasiblein advance which reduces the search space of the algorithmand improves the efficiency of the algorithm However thisalgorithm has some shortcomings in balancing different QoSattributes

(3) MFPB HOSTP In order to solve the imbalance prob-lem of H OPTP Liu et al proposed the MFPB HOSTPalgorithm [36] in 2013 In addition to selecting 120575(p) as thetarget to search a network the algorithm also identifies theoptimal paths with the searching target Tmin Cmin andRmax When the imbalance problem occurs MFPB-HOSTPdetermines the QoS index (for example T) that does notsatisfy the constraint Then the algorithm selects the nodeof the Tmin path to replace the node with the best 120575(p)path as the starting point for the next searching stage Atthe same time the algorithm defines the CBLP path sets toprevent the new imbalance problem By this method thealgorithm can get a near-optimal path that is no worse thanH OSTP

TheMFPB HOSTP algorithm inherits a lot of advantagesfromH OSTP and uses the CBLP path sets to solve the imbal-ance problem that best 120575(p) searching may bring Howeverthis algorithmwill incur a large amount of computation whenthere are lots of imbalance problems or complex processes inthe service network

42 e DHA OSCP Algorithm

(1) Overview First of all some definitions are introduced

Definition 1 (feasible heuristic path) In a subnetwork fromvs to vt a Feasible Heuristic Path (FHP) is the path from vt tothe intermediate node vk identified by the Delta BackwardSearch with (13) as the target

120575 (119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )= min(max

119879119887119886119888119896119908119886119903119889V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119887119886119888119896119908119886119903119889V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119887119886119888119896119908119886119903119889V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

)(13)

Definition 2 (utility heuristic path) In a subnetwork from vsto vt a Utility Heuristic Path (UHP) is the path from vt tothe intermediate node vk identified by the utility backwardsearch with (14) as the target

119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119908119879 times 119879119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119862

times 119862119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119877

times ln (119877119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

(14)

Definition 3 (forward path) In a subnetwork from vs to vta Forward Path (FP) is the path from vs node vt identifiedby the forward search The forward path is no worse than theFHP and UHP

Based on the definitions above a novel Dual HeuristicFunctions based Optimal Service Composition Path algo-rithm (DHA OSCP) is proposed in this paper which adoptstwo heuristic functions and the pruning searching strategy toobtain feasible heuristic path (FHP) and utility heuristic path(UHP)

The DHA OSCP algorithm is divided into two partsnamely the backward search process determining twoheuris-tic functions and the forward search process confirmingthe best utility path In the backward search procedure thealgorithm determines the feasible heuristic path (FHP) fromvk to vt (denoted by pbackwardvk997888rarrvt ) by using (12) as the searchtarget Then the algorithm determines the utility heuristicpath (UHP) from vk to vt (denoted by pbackwardutivk997888rarrvt ) with (13)as the search target The overview of DHA OSCP algorithmis shown in Figure 5

(2) Description A more detailed description of the proposedDHA OSCP algorithm is given below The algorithm isdivided into four main steps the pruning of the manufactur-ing service network the feasible backward search the utilitybackward search and the Alowast forward search These partswill be introduced in turn The pseudocode of the proposedDHA OSCP is given in Appendix A

Step 1 (network pruning) Designing appropriate pruningstrategies can effectively reduce the search space and the timecomplexity of the DHA OSCP algorithm without affectingthe quality of the solution The following two strategies areused to prune the manufacturing service network

The first strategy is pruning based on the process flowAccording to the decomposition of themanufacturing servicetask the nodes and the edges of themanufacturing service areextracted so that the manufacturing service network suitable

Complexity 11

Input()

Input the QoS value (TCR) of the nodes and edges ofmanufacturing network

Input the constraints and weights of QoS attributes

Prune()

Pruning the nodes and edges that do not satisfy the QoS constraints

Backward_Search()

Carry out backward search procedure twice with (12) and (13) as the target respectively to obtain feasible

heuristic path (FHP) and utility heuristic path (UHP)

Forward_Search()

Carry out forward search procedure twice with FHP and UHP as the heuristic function to find out whether there

is a better path than FHP and UHP

Output()

Output the near optimal path and the utility value

Figure 5 Overview of DHA OSCP algorithm

for the task is obtained In the manufacturing network theedges caused by other process flows are removed by thepruning strategy

The second strategy is pruning based on QoS constraintsNodes and edges that cannot satisfy QoS constraints areremoved from the network according to (15) where 120574 repre-sents the threshold

min(119879119899119900119889119890119890119889119892119890119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119899119900119889119890119890119889119892119890119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119899119900119889119890119890119889119892119890)ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )) gt 120574 (15)

Step 2 (identification of a feasible backward path withminimal delta) In feasible backward search procedure theDHA OSCP algorithm searches the service network fromvt to intermediate vk to investigate whether there existsa feasible solution in the manufacturing network Feasiblebackward search can define the FHP of each intermediatenode vk which is one of the heuristic functions to supportthe Alowast forward search procedure The pseudocode of DeltaBackward Search is given in Appendix B

eorem 4 In the feasible backward search procedure thesearch process can successfully find a feasible solution if there isat least one feasible solution that exists in the service network

The proof of Theorem 4 is given in Appendix C

Step 3 (identification of a backward path with the best utility)In the utility backward search procedure the DHA OSCPalgorithm searches the service network from V119905 to eachintermediate node V119896 and identifies the best weighted meanpath using a greedy strategy 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 participates in theAlowast forward search procedure as another heuristic functionThe utility backward search procedure needs to be employedto handle the imbalance problems which may occur in theforward search procedure For example the QoS constraintsof the service network are (T le 1C le 1R ge 04) TheQoS values of the paths from V119905 to two intermediate nodesV119894 V119895 are119876119900119878(119901119887119886119888119896119908119886119903119889V119894997888rarrV119905

) = (05 01 09) and119876119900119878(119901119887119886119888119896119908119886119903119889V119895997888rarrV119905) =(045 045 045) Then the feasible backward search proce-

dure will select V119895 as the next node while the utility backwardsearch procedurewill select V119894 as the next nodeObviously thenode V119894 has a larger QoS value to spare so that V119894 is easier toavoid the imbalance problem Therefore choosing the dualheuristic function strategy of FHP and UHP can effectivelyavoid the occurrence of the imbalance problem and generatea chance to deliver a better solutionThe pseudocode of utilitybackward search is given in Appendix D

Step 4 (identification the near-optimal path based on FHPand UHP) The forward search procedure will investigatewhether there is a path 119901119891119900119903119908119886119903119889V119904997888rarrV119905 that is better in quality thanboth 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 and 119901119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119905 The pseudocode of forwardsearch is given in Appendix E In this procedure DHA OSCPsearches the path with the best utility from V119904 to V119905 basedon Alowast algorithm Assume that V119896119891 and V119896119906 are selected asthe intermediate nodes based on FHP and UHP then twoforeseen paths 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areformed According to the feasibility of these two paths DHA-OSCP uses the following strategies to identify the optimalpath

Case 1 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 arefeasible) The DHA-OSCP algorithm calculates the unityvalues of the two foreseen paths and then continues to searchthe network

Case 2 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is feasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 isinfeasible) The forward search procedure based on FHP cancontinue to search The forward search procedure based onUHP will search another neighborhood node of V119904 with thebest utility and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 based on FHP The the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 into consideration

Case 3 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is infeasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905is feasible) The forward search procedure based onUHP can

12 Complexity

Table 2 Complexity analysis of the three algorithms

Algorithm ComplexityH OSTP O(2times(NlogN+E)) [35]MFPB HOSTP O(6times(NlogN+E)+KE) [36]DHA OSCP O(4times(NlogN+E))

continue to search The forward search procedure based onFHP will search another neighborhood node of V119904 with theminimal 120575 and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840

119896119891997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 based on UHP Next the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119891 into consideration

Case 4 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areinfeasible) The algorithm adopts the two processing meth-ods described in Cases 2 and 3 respectively when the cor-responding path is infeasible Then four new foreseen paths119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840119896119891997888rarrV119905

and

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 are formed Then the algorithm movesforward to determine whether these foreseen paths arefeasible and choose the feasible path with higher utilityto continue searching If all of these paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 and V119904997888rarr V119896119891 intoconsideration

(3) Algorithm Complexity Analysis Assume that only threeQoS attributes (ie T C and R) are taken into considerationthe time complexity of these three algorithms is shown inTable 2 where N is the number of nodes in the subnetworkbetween V119904 and V119905 E is the number of the edges in themanufacturing network and K is the hops between V119904 andV119905

Below the detailed analysis of these representations isgiven Specifically H OSTP takes twice as much time asDijkstrarsquos shortest path algorithm As such the time com-plexity of this algorithm is O(2times(N logN + E)) which isequal to O(N logN + E) MFPB HOSTP adopts Dijkstrarsquosshortest path algorithm four times in the Backward Searchprocedure with the time complexity of O(4times(N logN + E))In the Forward Search MFPB HOSTP takes twice as muchtime as Dijkstrarsquos shortest path algorithm which meansthe time complexity for this part is O(2times(N logN + E))Besides the time complexity of finding the feasible foreseenpaths is O(KE) So the time complexity of MFPB HOSTPis O(N logN+KE) DHA OSCP adopts Dijkstrarsquos shortestpath algorithm twice both in the Backward Search procedureand in Forward Search procedure so its time complexity isO(4times(N logN + E)) which is equal to O(N logN + E)

The analysis above is based on the assumption thatonly three QoS attributes are taken into account If M QoSattributes are taken into consideration the time complexity ofMFPB HOSTP will turn into O(Mtimes(N log N + E)+KE) whilethe time complexity of DHA OSCP is still O(N logN + E)meaning that the proposed algorithm is better for large-scaleproblems

5 Computational Experiments and Discussion

In order to evaluate the performance of the proposedDHA OSCP algorithm computational experiments are con-ducted to make various comparisons between DHA OSCPand popular H OSTP and MFPB HOSTP algorithms thathave been proved to be effective for service compositionproblems

The execution time and the quality of the solution areinfluenced by the scale and structure of the network andthe QoS constraints In order to study the performance ofthe proposed heuristic algorithm under varied conditionsthe service networks with different scales and structuresare randomly generated Then the qualities of the solutionsobtained by the three algorithms are compared in detailFigure 6 shows the comparisons of results under variedconditionsThere are 20 groups ofmanufacturing networks inthe experiments and 20 sets of QoS constraints in each groupTherefore the results of 400 groups of experiments are shownin each subgraph of Figure 6 QoS preferences regarding thetask are chosen as 119908119879 = 05 119908119862 = 06 119908119877 = 08 andthe initial QoS constraint values are chosen as Tconstraints =09Cconstraints = 09 Rconstraints = 02 Then the T C areincreased by 001 and the R is reduced by 001

Figure 6 shows that DHA OSCP algorithm has a largerpossibility to find a better solution under different net-work scale and QoS constraints The X-axis and the Y-axis represent different network scales and QoS constraintsrespectively The Z-axis represents the utility values obtainedby the three algorithms Each point in the figure repre-sents the utility value of the optimal path under certainnetwork scale and QoS constraints As shown in the figureif there are no feasible solutions in the network all of thethree algorithms can determine the infeasibility MoreoverDHA OSCP manages to find feasible solutions for all caseswithout a utility value worse than that of H OSTP andobtains better results than H OSTP in 12375 of the totalexperiments (ie 198 of 1600) DHA OSCP also obtainsbetter results than MFPB HOSTP in 10875 of the totalexperiments (ie 174 of 1600)This validates the effectivenessof the DHA OSCP algorithm in finding a near-optimalsolutionThe execution times of the algorithms are influencedby the network scale and the number of hops in the networkAn additional experiment with details below is then designedto compare the utility values and execution times of the threealgorithms

Seven groups of networks are generated with a node sizeof 100 150 200 250 300 350 and 400 respectively For eachgroup of networks 20 sets of QoS constraints are taken and20 networks are generated for each set of the QoS constraintsto carry out the experiment The sum of utility values and

Complexity 13

times H_OSTPMFPB_HOSTP

QoS constraints

Better

Same1

090807060504030201

0

1090807060504030201

0

09

08

07

06

05

04

03

02

01

0

1090807060504030201

020

2018

1816

1614

14121210

10886

64 42 2

2018161412108642

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42 00

0

20181614121086420

20181614121086420

Infeasible

NetworkID

DHA_OSCP

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

Figure 6 Solution quality with different scales of service network

execution time of the 400 experiments are compared for eachnode size The experiment results are shown in Tables 3ndash5

Though the computational experiments were conductedon networks with different scales structures and constraintswe can draw the conclusion that on average DHA OSCPcan get the path with better utility value than that ofMFPB HOSTP at a lower time cost In terms of meanexecution time DHA OSCP can achieve reduction of timecost by 437 503 and 407 respectively for theexamples shown in Tables 3ndash5 Since both DHA OSCP andMFPB HOSTP have measures of addressing the imbalanceproblem at the cost of execution time they achieve muchbetter utility values than those of H OSTP but more exe-cution time is incurred When both quality of result andtime cost are considered DHA OSCP achieves better overallperformance compared with MFPB HOSTP and H OSTPwhich is important for working with manufacturing servicenetworks

Additionally compared with H OSTP the DHA OSCPalgorithm adopts two heuristic functions in the forward

search procedure this turns to ensure that nomatterwhetherimbalanced problems of QoS attributes exist it can alwaysget a near-optimal path that is no worse than the oneobtained using H OSTP Although the execution time ofDHA OSCP is increased due to taking additionalmeasure foraddressing imbalance problems it achieves the same level oftime complexity as that of H OSTP In summary DHA OSCPcan obtain solutions that are much better than H OSTP at areasonable time cost

Both MFPB HOSTP and DHA OSCP can solve theimbalance problem to a great extent Nonetheless the timecomplexity of the DHA OSCP algorithm is lower The timecomplexity of MFPB HOSTP would become intolerable ifthe number of hops in the manufacturing network increasedto a large level Moreover the DHA OSCP algorithm canget a solution with a much better utility value than thatof MFPB HOSTP This is because the forward search pro-cedure adopts UHP as a heuristic function which takesinto account the coefficients of the utility function Thisis a better search strategy compared with MFPB HOSTP

14 Complexity

Table 3 Results of Different Node Size

Node size H OSTP MFPB HOSTP DHA OSCPUtility value Execution time Utility value Execution time Utility value Execution time

100 1510454 121380 1495541 301070 1480524 234170150 1706428 251980 1688756 770790 1654677 529100200 1489640 438350 1471278 949910 1447855 1380930250 1355056 672910 1344681 2189750 1325991 1475550300 1238503 981380 1230763 3219790 1207582 2141920350 1133137 1339490 1127778 4666080 1104149 2923780400 1053334 1775580 1046502 5928810 1031810 3856320

Table 4 Results of Different QoS Constraints

QoS constraints H OSTP MFPB HOSTP DHA OSCPT C R Utility value Execution time Utility value Execution time Utility value Execution time090 090 02 2149406 235230 2148814 644120 2093961 443610094 094 018 1956596 229250 1956285 599620 1884452 420600098 098 016 1790496 231040 1790496 661650 1772467 438820102 102 014 1701983 244250 1701769 723250 1698541 465420104 104 012 1753381 245360 1717547 696620 1701082 466200108 108 010 1995259 247680 1983515 792850 1967191 493220110 110 008 1338181 241440 1333709 749020 1326810 523690112 112 006 1535065 243210 1530866 799630 1495530 519410

Table 5 Results of Different Coefficient

Coefficient H OSTP MFPB HOSTP DHA OSCPwT wC wR Utility value Execution time Utility value Execution time Utility value Execution time01 01 08 1636718 273650 1612995 767250 1585643 55779001 08 01 1938172 251740 1924318 756600 1905009 52143008 01 01 1893298 256050 1876882 762140 1856349 54689003 03 04 2103357 250490 2099200 739410 2088499 52979002 06 02 2116633 249890 2109084 744460 2086980 53881002 02 06 1895776 248760 1888923 740830 1876530 51305001 04 05 1898427 245940 1891458 734170 1880153 52326005 04 01 2148865 251090 2143177 742740 2128045 526320

which uses CBLPs to solve the imbalance problem Withthe above discussions it can be concluded that DHA OSCPoutperforms MFPB HOSTP in terms of solution quality andtime complexity

6 Application to Automobile ManufacturingService Composition

The CASICloud (wwwcasicloudcom) is a CMfg platformfor registering and accessing manufacturing services whichhas a large number of service providers and service usersIn spite of being a popular platform it can only recommenda single manufacturing service provider for a manufactur-ing task and the capability of conducting manufacturingservice composition for complex tasks is missing To verifythe viability of the proposed model and algorithm theyare implemented and integrated into the platform as anadd-on function and are tested using data from service

providers obtained from the CASICloud In this case anautomobile manufacturing process is chosen as an illustrativeexample

Figure 7 shows the graphical interface of the addi-tional function of service composition which also givesdetailed information about the service composition taskfor automobile manufacturing being solved using the pro-posed model and the DHA OSCP algorithm Specifically thetask of automobile manufacturing can be decomposed intofive subtasks namely body stamping body welding bodypainting automobile assembly and automobile test Eachsubtask has a set of candidate manufacturing services thatcan be selected to meet the requirements of the subtaskEach candidate service provider can be abstracted as a nodein the manufacturing network The logistics relationshipbetween service providers is recorded as an edge in themanufacturing network Using the DHA OSCP algorithm anear-optimal solution can be found from the starting nodeof the manufacturing network to the end one The choice

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 4: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

4 Complexity

is an essential part of the current research on intelligentmanufacturing

Since the CloudManufacturing paradigm entails the pro-vision of cloud services by physical manufacturing resourcesand the transportation of between these resources thecooperation relationship and logistics cost between thesemanufacturing resources need to be considered As suchthe network model proposed in this paper is more appro-priate to describe the manufacturing service compositionproblem compared with those proposed in the existingstudies So far the research of correlation-aware servicecomposition has been focused by only a few studies [34]Unfortunately the solving methods of these studies arelimited to PSO and other meta-heuristic algorithms whichare not intuitive and comprehensive By preprocessing thecomplex manufacturing network the service compositionproblem based on the improved model is converted toan MCOP problem which can be solved by pathfind-ing methods On this basis a heuristic pathfinding algo-rithm for addressing the service composition problemsin manufacturing networks is developed by taking intoaccount both service attributes and the relationships betweenservices

22 Multiple-Constrained Path Selection Method Existingwork has shown that QoS-based service composition can bemodeled as a multiple-constrained optimal path selectionproblem which has been proved to be NP-Complete [9]This model takes into account not only the QoS indexesof manufacturing service nodes but also the cooperativerelationships between different nodes this makes it moresuitable for the actual manufacturing environment Kork-maz et al [8] developed a heuristic H MCOP algorithmfor solving the multiple-constrained optimal path selectionproblem in service invocation Based on this method Liuet al proposed the Heuristic Optimal Social Trust Path(H OSTP) algorithm [35] and the Multiple Foreseen Path-Based Heuristic Optimal Social Trust Path (MFPB HOSTP)algorithm [36] which made a two-way search in the trustnetwork based on Dijkstrarsquos shortest path algorithm [37] toget a near optimal solution These three algorithms will bedescribed in detail in Section 3 of this paper Before H OSTPH-MCOP was one of the most promising algorithms for themultiple-constrained optimal path selection problem due toits outstanding performance in terms of both solution qualityand algorithm efficiency The H OSTP algorithm inheritedthe advantages of the H MCOP algorithm and can achievebetter search results and faster search speed by using a bettersearch strategy Yet there is a problem of QoS imbalance inH OSTP algorithm MFPB HOSTP algorithm can solve thisproblem by calculating the intermediate path but it bringsunbearable time consumption when the imbalance problemoccurs frequently H OSTP and MFPB HOSTP concentrateon the trust network in social networks which unfortunatelyignore the characteristics of manufacturing processes Fora practical manufacturing environment the DHA-HOSCPalgorithm is proposed in this paper which designs twoheuristic functions according to the characteristics of themanufacturing network It achieves better results and lower

time consumption compared with the MFPB HOSTP algo-rithm [36]

3 Modeling of Manufacturing Networks

31 Problem Description In the execution process of manu-facturing services on a CMfg platform the free manufactur-ing resources are encapsulated as services with different levelsof information granularity relative to their manufacturingcapabilities For instance machining has a higher level ofgranularity than cutting and milling Among these servicesthe coarse-grained manufacturing services are composedof fine-grained manufacturing services and there are someatomic services which cannot be further decomposed Man-ufacturing service nodes and their relationships will forma complex network of CMfg services Atomic services arerepresented as nodes in the network which have functionalattributes and nonfunctional attributes The cooperationrelationships between manufacturing service nodes are rep-resented as the edges of the network including the degreeof cooperation intimacy logistics cost and other factorsTo better illustrate the idea the improved model is shownin Figure 2 In this model not all adjacent manufacturingservices can be composed due to uncertain relationshipsbetween different services

The major difference between the manufacturing net-work model and traditional service composition models isin whether the edges (cooperation logistics etc) betweenmanufacturing service providers are considered As opposedto a computer network in which the communication timeand cost between nodes are negligible compared with thenode itself a manufacturing network involves considerablelogistics cost and cooperation relationship between manufac-turing service providersTherefore both the service providersand the relationships between them should be taken intoconsideration in model construction and algorithm develop-ment

To accomplish a complex manufacturing task the de-mand for orchestrating manufacturing services is decom-posed into several atomic tasks each of which can becompleted by a specific atomic service from the candidateset The information about alternative services and theirrelationships is retrieved from the Cloud Manufacturingservice network and is constructed as a subgraph Thus theservice composition problem is transformed into the problemof selecting a path with the highest global utility value underthe condition that the subgraph is covered by this path andthe QoS constraints are satisfied The process of optimal pathselection is illustrated in Figure 3 which can be divided intothree stages

(1) Manufacturing Demand Analysis and Task DecompositionWhen a CMfg platform receives a complex task demand(denoted as T) it first decomposes the complex manufactur-ing task into a combination of atomic tasks according to thespecific requirements andmanufacturing process constraintsThe service composition is usually divided into four typessequence parallelism selection and cycle [38] The overallQoS requirements for a manufacturing task can be denoted

Complexity 5

Parallel Cycle

Virtual start

Virtual end

Subtasks

Optimal service compositionCandidate

sets

341 342

343

346

344

345

Figure 2 Manufacturing service composition model

hellip

loop Subtasks

hellip

Preprocessing

Subnetwork extraction

Start End

extract

Manufacturing network

helliphelliphellip

Start End

helliphelliphellip

Path optimization

341

341 342

342 343

343

344

344

345

34H

34H

345FIIJ

331

331

332

332

3334

3334

335

335

33H

33H

Figure 3 Process of optimal path selection

6 Complexity

as Q(T) = q1(T) q2(T) qn(T) where 119902119894(T) is the ith QoSrequirement and n is the number of QoS indexes

(2) Extraction of Candidate Service Subnetwork The CMfgplatform generates a candidate manufacturing service set foreach atomic manufacturing task by manufacturing resourceselection according to the functional requirements of theatomic manufacturing task The candidate service set can bedenoted as

119862119878 (119879) = 119888119904 (1199051) 119888119904 (1199052) 119888119904 (119905119898)119888119904 (119905119894) = 1199041 (119905119894) 1199042 (119905119894) 119904119899119894 (119905119894) (1)

In the above equation m is the number of atomic manu-facturing tasks and n i is the number of candidate servicesfor atomic manufacturing task i Candidate manufacturingservices for the same atomic manufacturing task have thesame functional properties but their QoS attributes can bedifferent These candidate service nodes and their relation-ships are then extracted from the manufacturing network asa subgraph

(3) Selection of the Optimal Service Path After the previoussteps are completed each of the atomic manufacturing taskshas got a set of services that can potentially meet its specificrequirements The optimal service path selection is thenused to find out the optimal service execution path thatsatisfies the QoS constraints of manufacturing tasks and hasthe best overall utility function This is an MCOP problemwhich has been proved to be NP-complete In the past thesolving method of the manufacturing service compositionis based on the idea of web service composition whichdoes not consider the relationship between different servicenodes According to the location constraints cooperationconstraints process constraints and QoS constraints boththe attributes of the candidate manufacturing service nodesand their relationships are taken into consideration so thatthe actual manufacturing scenario can be better addressedThis paper specifically focuses on the effective model andalgorithm for this step

32 Mathematical Model The optimal service compositionproblem can be modeled as an optimal path selection prob-lem with specific QoS constraints Before the algorithm isdetailed the methods forQoS aggregation network structurepreprocessing and mathematical model formulation need tobe given first

(1) QoS Attributes of Manufacturing Network The QoSattributes in Cloud Computing network usually includesresponse time bandwidth computing overhead and so onHowever in a manufacturing network the QoS attributesthat should be particularly considered are different fromthose of Cloud Computing In a manufacturing network thetime and cost it takes to complete the entire manufacturingprocess are the essential attributes of substantial importanceMoreover the reliability usability credibility and sustain-ability are also important QoS attributes in a manufacturingnetwork In this paper time cost and reliability are applied

in the DHA OSCP algorithm as three representative QoSattributes

(2) QoS Attribute Aggregation Time Time refers to theexecution period from the time when the demands aresubmitted to the platform to the final completion time ofthe manufacturing service It consists of the time of thenodes and the time of the edges For a manufacturing servicenode Time is the sum of online time and offline time (egresource configuration time computing time queue timeand execution time) For the edge of the network timerefers to the logistics time of raw materials and semi-finishedproducts as well as to the delivery time The time attributeneeds to be corrected by the correction factor so as tomodify the evaluation value to indicate the time attributemore accurately The calculation method of time is given by

119879119894119898119890 = 119879119888119900119903119903 times (119879119899119900119889119890 + 119879119890119889119892119890)119879119899119900119889119890 = 119879119903119890119904 + 119879119888119900119898119901119906119905119894119899119892 + 119879119902119906119890119906119890 + 119879119890119909119890119888119906119905119894119900119899119879119890119889119892119890 = 119879119897119900119892119894119904119905119894119888 + 119879119889119890119897119894V119890119903119910

(2)

Costs Costs also includes both the cost of the node and thecost of the edge For a manufacturing service node Costsis the sum of software costs and hardware costs Softwarecosts are composed of computing costs transmission costsand access costs Hardware costs include management costsmaterial costs personnel costs and execution costs For theedge of the network costs refer to the logistics costs of rawmaterials and semifinished products as well as to the deliverycosts The calculation of costs is given by

119862119900119904119905119904 = 119862119899119900119889119890 + 119862119890119889119892119890

119862119899119900119889119890 = 119862119904119900119891119905119908119886119903119890 + 119862ℎ119886119903119889119908119886119903119890

119862119904119900119891119905119908119886119903119890 = 119862119888119900119898119901119906119905119894119899119892 + 119862119905119903119886119899119904119898119894119904119904119894119900119899 + 119862119886119888119888119890119904119904

119862ℎ119886119903119889119908119886119903119890 = 119862119898119886119899119886119892119890119898119890119899119905 + 119862119898119886119905119890119903119894119886119897 + 119862119901119890119903119904119900119899119899119890119897

+ 119862119890119909119890119888119906119905119894119900119899

119862119890119889119892119890 = 119862119897119900119892119894119904119905119894119888 + 119862119889119890119897119894V119890119903119910

(3)

Reliability Reliability represents the possibility that the man-ufacturing service can successfully complete the manufac-turing task under certain QoS constraints Reliability can beexpressed by the ratio of the number of manufacturing taskssuccessfully executed to the total number of tasks received bythe service node Fk indicates the number of manufacturingtasks that the service node k failed in the process of serviceexecution The calculation of reliability is given by

119877119890119897119894119886119887119894119897119894119905119910 = 119865119896119879119900119905119886119897119879119886119904119896119896 (4)

Based on the QoS index aggregation method time and costsare cumulative indexes while reliability is a multiplicativeindex Assume that theQoSmodel containsmmanufacturingservice nodes and nQoS indexesThemodel can be expressed

Complexity 7

1G

n 1

1G

n 2helliphellip

1G

n n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

12

n 1

11

n 1

11

n 212

n 2

12

n n

11

n n

11

n 1

11

n 2helliphellip

11

n n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

11

2 1

11

1 1

11

1 211

2 2

11

2 n

11

1 n

1G

n n1G

nhelliphellip

1G

1 n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

12

n n

11

n n11

n-1 n12

n-1

n-1

n

12

1 n

11

1 n

Figure 4 CubeModel of QoS attributes

by a three-dimensional matrix Each ldquolayerrdquo of the threedimensional matrix represents the adjacency matrix of asingle QoS index of the manufacturing service network Thematrix element aii represents the QoS attributes of node iand aij represent the QoS of the edge from node i to nodejTheQoS 3Dmodel of the manufacturing service network isshown in Figure 4

(3) Preprocessing of Network Structure In different man-ufacturing processes the completion of a manufacturingtask may involve four kinds of process structures namelysequence parallelism selection and cycle In order to applythe heuristic multiconstrained optimal path search methodto solve the manufacturing service composition problemthe parallel structure and the cyclic structure need to bepreprocessed in the manufacturing service network ascribedto the characteristics of Dijkstra algorithm Finally theextracted manufacturing service subnetwork is processedinto a weighted directed acyclic graph from the start point tothe end point and the multiconstraint service compositionproblem is transformed into a multiconstrained optimalpath selection problem Since the service composition modelproposed in this paper considers not only the manufacturingservice itself but also the relationship between manufacturingservices the preprocessing of the network structure alsoneeds to consider the attributes both of nodes and of edgesThe aggregation functions for QoS attributes of different ser-vices composition types are illustrated in Table 1 according tothe recursive characteristics [39] of manufacturing services

(4) e Method of QoS Attributes Aggregation During thesearch process the aggregation method of QoS attributesneeds to be determined to support calculation in the algo-rithm For time and cost the algorithm needs to add themup to get the total time and cost of the existing compositionFor reliability the product of different nodes (edges) isthe reliability of the composition service Therefore theaggregation methods of different nodes and edges in themanufacturing network are shown below

Time Time is a cumulative index Suppose that anoptimal manufacturing path has n candidate then the aggre-gated time can be calculated using (5) which includes theaggregation of service nodes and the aggregation of edges

119860(119879V119904997888rarrV119905) = 119899minus1sum119894=2

119879119894119899119900119889119890 + 119899minus2sum119895=2

119879119895119895+1119890119889119892119890 (5)

Cost Cost is a cumulative indexThe aggregated Costs can becalculated using

119860(119862V119904997888rarrV119905) = 119899minus1sum119894=2

119862119894119899119900119889119890 + 119899minus2sum

119895=2

119862119895119895+1

119890119889119892119890 (6)

Reliability Reliability is a multiplicative index Suppose thatoptimal manufacturing path has n candidate then the aggre-gated reliability can be calculated by

119860(119877V119904997888rarrV119905) = 119899minus1prod119894=2

119877119894119899119900119889119890 times 119899minus1prod119895=2

119877119895119895+1119890119889119892119890 (7)

8 Complexity

Table1Aggregatio

nMetho

dof

DifferentP

rocessStructures

Structure

Time

Cost

Reliability

Parallel

qtim

epar=m

ax(q i(

node))+

max(q j(

edge))

qcost

par=n sum i=

1

q i(nod

e )+m sum i=1

q j(edg

e)qr

eli

par=n prod i=

1

q i(nod

e )timesm prod j=1

q j(edg

e)Selective

qtim

esel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qcost

sel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qreli

sel=n prod i=

1

q i(nod

e )times120596 itimes

m prod j=1

q j(edg

e)times120596 j

Cyclic

qtim

esel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qt

ime

sel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qr

eli

par=120579

times (n prod i=1

q i(nod

e )timesm prod j=1

q j(edg

e ))

Complexity 9

(5) Utility Function In this model the utility functiondescribes the overall performance of the optimal servicecomposition path in different QoS aspects Since differentQoS indexes have different scales the QoS indexes arenormalized in the utility function

The QoS indexes are divided into two kinds positiveindexes and negative indexes Reliability is a positive multi-plicative index while time and costs are negative cumulativeindexes The utility function is calculated by

119880 (119879 119862 119877) = 119908119879 times 119860 (119879V119904997888rarrV119905)119879119888119900119899119904119905119903119886119894119899119904 + 119908119862 times 119860 (119862V119904997888rarrV119905)119862119888119900119899119904119905119903119886119894119899119904+ 119908119877 times ln (119860 (119877V119904997888rarrV119905))

ln (119877119888119900119899119904119905119903119886119894119899119904)(8)

In the equation wT wC wR are the weights of T C Rrespectively with the conditions of wT + wC + wR = 1 and0 lt wTwCwR lt 1(6) Traditional Service Composition Model In the existingstudies the manufacturing service composition problem canbe described as a 0-1 integer constrained multiobjectiveoptimization problem based on the model in Figure 1 Thetraditional service composition model is formulated as

min119880 (119879 119862 119877)0 le 119860 (119879V119904997888rarrV119905) le 1198791198881199001198991199041199051199031198861198941198991199040 le 119860 (119862V119904997888rarrV119905) le 1198621198881199001198991199041199051199031198861198941198991199040 le 119860 (119877V119904997888rarrV119905) le 119877119888119900119899119904119905119903119886119894119899119904

(9)

In these studies this problem is usually solved using meta-heuristic algorithms such as genetic algorithms (GA) particleswarm optimization (PSO) ant colony optimization (ACO)and bee colony algorithms (BA)Thesemethods usually workpretty well

(7) Multiple Constrained Optimization Path Selection ModelIn the improved model (Figure 2) there are more con-straints to ensure the existence of edges between the selectedmanufacturing service nodes In summary the problem ofmanufacturing service composition can be abstracted as amulticonstrained optimization path selection problem andformulated as (10) In (10) m is the number of subtasksdi is the number of candidate services in candidate serviceset j and xij is the decision variable xij equals 1 if the ithmanufacturing service in service candidate j is chosen andotherwise it equals 0

min 119880 (119879 119862 119877)st 0 le 119860 (119879V119904997888rarrV119905) le 119879119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119862V119904997888rarrV119905) le 119862119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119877V119904997888rarrV119905) le 1198771198881199001198991199041199051199031198861198941198991199041198891sum119894=1

1199091198941 = 11198892sum119894=1

1199091198942 = 1 119889119898sum119894=1

119909119894119898 = 1119909119894119895 = 0 119900119903 1

(10)

The meta-heuristic algorithms can also solve the serviceselection problem with multi-QoS constraints and decisionvariable constraints However [40] proved that they have lowefficiencies in finding a near-optimal solution in large-scalenetworks Taking GA as an example with the increase ofnode scale the algorithm takes a very long time to obtainthe near optimal solution and it is often unable to obtain thefeasible solution within the set upper limit of iteration timesCompared with meta-heuristic algorithms the proposedDHA OSCP is a more direct and effective algorithm to solvethis problem This is ascribed to the advantage that theDHA OSCP algorithm can always satisfy the constraints ofdecision variables in the process of execution

4 Service Composition PathSelection Algorithms

In this section some existing approximation algorithms fortheMCOP selection problem are firstly introduced includingH MCOP H OSTP and MFPB HOSTP Then a novel DualHeuristic Functions based Optimal Service CompositionPath algorithm (DHA OSCP) is described in detail

41 Existing Algorithms

(1) H MCOP H MCOP [8] is a heuristic algorithm proposedby Korkmaz and Krunz for the multiplendashconstrained optimalpath selection problem This algorithm first proposed amethod of QoS aggregation which is also the target of thereverse search as shown in

119892120582 (119901) ≜ (1199021 (119901)1198761V119904V119905

)120582 + (1199022 (119901)1198762V119904V119905

)120582 + sdot sdot sdot+ (119902119898 (119901)119876119898

V119904V119905

)120582(11)

H MCOP first adopts Dijkstrarsquos shortest path algorithm tofind the path with the minimum 119892120582(119901) and investigateswhether there exists a feasible path satisfying all QoS con-straints If the 119892120582(119901) of an intermediated node vk is greaterthan m it is proved that there is no feasible path from vk to vt

10 Complexity

If there exists at least one feasible solution then this algorithmwill search the network from vs to vt in order to identify afeasible path with the minimal cost of services

Before the H OSTP algorithm [35] was proposed in 2010H MCOP was one of the most promising algorithms forthe MCOP selection problem It proved to outperform priorexisting algorithms in terms of both efficiency and solutionquality

(2)H OSTP InH OSTP Liu et al first proposed the objectivefunction given in (12) and adopted the backward searchalgorithm to identify whether there was a feasible path withthe minimal 120575 from vt to vs If a feasible solution existsH OSTP then adopts the forward search algorithm to delivera near-optimal solution

120575 (119901) ≜ max 1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

(12)

H OSTP designed a target function 120575(p) which is better thanH MCOP for reverse search and this algorithm can providean optimal service composition path that is no worse thanH MCOP In addition through the reverse search strategyH OSTP can calculate whether the foreseen path is feasiblein advance which reduces the search space of the algorithmand improves the efficiency of the algorithm However thisalgorithm has some shortcomings in balancing different QoSattributes

(3) MFPB HOSTP In order to solve the imbalance prob-lem of H OPTP Liu et al proposed the MFPB HOSTPalgorithm [36] in 2013 In addition to selecting 120575(p) as thetarget to search a network the algorithm also identifies theoptimal paths with the searching target Tmin Cmin andRmax When the imbalance problem occurs MFPB-HOSTPdetermines the QoS index (for example T) that does notsatisfy the constraint Then the algorithm selects the nodeof the Tmin path to replace the node with the best 120575(p)path as the starting point for the next searching stage Atthe same time the algorithm defines the CBLP path sets toprevent the new imbalance problem By this method thealgorithm can get a near-optimal path that is no worse thanH OSTP

TheMFPB HOSTP algorithm inherits a lot of advantagesfromH OSTP and uses the CBLP path sets to solve the imbal-ance problem that best 120575(p) searching may bring Howeverthis algorithmwill incur a large amount of computation whenthere are lots of imbalance problems or complex processes inthe service network

42 e DHA OSCP Algorithm

(1) Overview First of all some definitions are introduced

Definition 1 (feasible heuristic path) In a subnetwork fromvs to vt a Feasible Heuristic Path (FHP) is the path from vt tothe intermediate node vk identified by the Delta BackwardSearch with (13) as the target

120575 (119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )= min(max

119879119887119886119888119896119908119886119903119889V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119887119886119888119896119908119886119903119889V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119887119886119888119896119908119886119903119889V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

)(13)

Definition 2 (utility heuristic path) In a subnetwork from vsto vt a Utility Heuristic Path (UHP) is the path from vt tothe intermediate node vk identified by the utility backwardsearch with (14) as the target

119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119908119879 times 119879119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119862

times 119862119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119877

times ln (119877119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

(14)

Definition 3 (forward path) In a subnetwork from vs to vta Forward Path (FP) is the path from vs node vt identifiedby the forward search The forward path is no worse than theFHP and UHP

Based on the definitions above a novel Dual HeuristicFunctions based Optimal Service Composition Path algo-rithm (DHA OSCP) is proposed in this paper which adoptstwo heuristic functions and the pruning searching strategy toobtain feasible heuristic path (FHP) and utility heuristic path(UHP)

The DHA OSCP algorithm is divided into two partsnamely the backward search process determining twoheuris-tic functions and the forward search process confirmingthe best utility path In the backward search procedure thealgorithm determines the feasible heuristic path (FHP) fromvk to vt (denoted by pbackwardvk997888rarrvt ) by using (12) as the searchtarget Then the algorithm determines the utility heuristicpath (UHP) from vk to vt (denoted by pbackwardutivk997888rarrvt ) with (13)as the search target The overview of DHA OSCP algorithmis shown in Figure 5

(2) Description A more detailed description of the proposedDHA OSCP algorithm is given below The algorithm isdivided into four main steps the pruning of the manufactur-ing service network the feasible backward search the utilitybackward search and the Alowast forward search These partswill be introduced in turn The pseudocode of the proposedDHA OSCP is given in Appendix A

Step 1 (network pruning) Designing appropriate pruningstrategies can effectively reduce the search space and the timecomplexity of the DHA OSCP algorithm without affectingthe quality of the solution The following two strategies areused to prune the manufacturing service network

The first strategy is pruning based on the process flowAccording to the decomposition of themanufacturing servicetask the nodes and the edges of themanufacturing service areextracted so that the manufacturing service network suitable

Complexity 11

Input()

Input the QoS value (TCR) of the nodes and edges ofmanufacturing network

Input the constraints and weights of QoS attributes

Prune()

Pruning the nodes and edges that do not satisfy the QoS constraints

Backward_Search()

Carry out backward search procedure twice with (12) and (13) as the target respectively to obtain feasible

heuristic path (FHP) and utility heuristic path (UHP)

Forward_Search()

Carry out forward search procedure twice with FHP and UHP as the heuristic function to find out whether there

is a better path than FHP and UHP

Output()

Output the near optimal path and the utility value

Figure 5 Overview of DHA OSCP algorithm

for the task is obtained In the manufacturing network theedges caused by other process flows are removed by thepruning strategy

The second strategy is pruning based on QoS constraintsNodes and edges that cannot satisfy QoS constraints areremoved from the network according to (15) where 120574 repre-sents the threshold

min(119879119899119900119889119890119890119889119892119890119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119899119900119889119890119890119889119892119890119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119899119900119889119890119890119889119892119890)ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )) gt 120574 (15)

Step 2 (identification of a feasible backward path withminimal delta) In feasible backward search procedure theDHA OSCP algorithm searches the service network fromvt to intermediate vk to investigate whether there existsa feasible solution in the manufacturing network Feasiblebackward search can define the FHP of each intermediatenode vk which is one of the heuristic functions to supportthe Alowast forward search procedure The pseudocode of DeltaBackward Search is given in Appendix B

eorem 4 In the feasible backward search procedure thesearch process can successfully find a feasible solution if there isat least one feasible solution that exists in the service network

The proof of Theorem 4 is given in Appendix C

Step 3 (identification of a backward path with the best utility)In the utility backward search procedure the DHA OSCPalgorithm searches the service network from V119905 to eachintermediate node V119896 and identifies the best weighted meanpath using a greedy strategy 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 participates in theAlowast forward search procedure as another heuristic functionThe utility backward search procedure needs to be employedto handle the imbalance problems which may occur in theforward search procedure For example the QoS constraintsof the service network are (T le 1C le 1R ge 04) TheQoS values of the paths from V119905 to two intermediate nodesV119894 V119895 are119876119900119878(119901119887119886119888119896119908119886119903119889V119894997888rarrV119905

) = (05 01 09) and119876119900119878(119901119887119886119888119896119908119886119903119889V119895997888rarrV119905) =(045 045 045) Then the feasible backward search proce-

dure will select V119895 as the next node while the utility backwardsearch procedurewill select V119894 as the next nodeObviously thenode V119894 has a larger QoS value to spare so that V119894 is easier toavoid the imbalance problem Therefore choosing the dualheuristic function strategy of FHP and UHP can effectivelyavoid the occurrence of the imbalance problem and generatea chance to deliver a better solutionThe pseudocode of utilitybackward search is given in Appendix D

Step 4 (identification the near-optimal path based on FHPand UHP) The forward search procedure will investigatewhether there is a path 119901119891119900119903119908119886119903119889V119904997888rarrV119905 that is better in quality thanboth 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 and 119901119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119905 The pseudocode of forwardsearch is given in Appendix E In this procedure DHA OSCPsearches the path with the best utility from V119904 to V119905 basedon Alowast algorithm Assume that V119896119891 and V119896119906 are selected asthe intermediate nodes based on FHP and UHP then twoforeseen paths 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areformed According to the feasibility of these two paths DHA-OSCP uses the following strategies to identify the optimalpath

Case 1 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 arefeasible) The DHA-OSCP algorithm calculates the unityvalues of the two foreseen paths and then continues to searchthe network

Case 2 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is feasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 isinfeasible) The forward search procedure based on FHP cancontinue to search The forward search procedure based onUHP will search another neighborhood node of V119904 with thebest utility and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 based on FHP The the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 into consideration

Case 3 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is infeasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905is feasible) The forward search procedure based onUHP can

12 Complexity

Table 2 Complexity analysis of the three algorithms

Algorithm ComplexityH OSTP O(2times(NlogN+E)) [35]MFPB HOSTP O(6times(NlogN+E)+KE) [36]DHA OSCP O(4times(NlogN+E))

continue to search The forward search procedure based onFHP will search another neighborhood node of V119904 with theminimal 120575 and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840

119896119891997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 based on UHP Next the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119891 into consideration

Case 4 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areinfeasible) The algorithm adopts the two processing meth-ods described in Cases 2 and 3 respectively when the cor-responding path is infeasible Then four new foreseen paths119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840119896119891997888rarrV119905

and

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 are formed Then the algorithm movesforward to determine whether these foreseen paths arefeasible and choose the feasible path with higher utilityto continue searching If all of these paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 and V119904997888rarr V119896119891 intoconsideration

(3) Algorithm Complexity Analysis Assume that only threeQoS attributes (ie T C and R) are taken into considerationthe time complexity of these three algorithms is shown inTable 2 where N is the number of nodes in the subnetworkbetween V119904 and V119905 E is the number of the edges in themanufacturing network and K is the hops between V119904 andV119905

Below the detailed analysis of these representations isgiven Specifically H OSTP takes twice as much time asDijkstrarsquos shortest path algorithm As such the time com-plexity of this algorithm is O(2times(N logN + E)) which isequal to O(N logN + E) MFPB HOSTP adopts Dijkstrarsquosshortest path algorithm four times in the Backward Searchprocedure with the time complexity of O(4times(N logN + E))In the Forward Search MFPB HOSTP takes twice as muchtime as Dijkstrarsquos shortest path algorithm which meansthe time complexity for this part is O(2times(N logN + E))Besides the time complexity of finding the feasible foreseenpaths is O(KE) So the time complexity of MFPB HOSTPis O(N logN+KE) DHA OSCP adopts Dijkstrarsquos shortestpath algorithm twice both in the Backward Search procedureand in Forward Search procedure so its time complexity isO(4times(N logN + E)) which is equal to O(N logN + E)

The analysis above is based on the assumption thatonly three QoS attributes are taken into account If M QoSattributes are taken into consideration the time complexity ofMFPB HOSTP will turn into O(Mtimes(N log N + E)+KE) whilethe time complexity of DHA OSCP is still O(N logN + E)meaning that the proposed algorithm is better for large-scaleproblems

5 Computational Experiments and Discussion

In order to evaluate the performance of the proposedDHA OSCP algorithm computational experiments are con-ducted to make various comparisons between DHA OSCPand popular H OSTP and MFPB HOSTP algorithms thathave been proved to be effective for service compositionproblems

The execution time and the quality of the solution areinfluenced by the scale and structure of the network andthe QoS constraints In order to study the performance ofthe proposed heuristic algorithm under varied conditionsthe service networks with different scales and structuresare randomly generated Then the qualities of the solutionsobtained by the three algorithms are compared in detailFigure 6 shows the comparisons of results under variedconditionsThere are 20 groups ofmanufacturing networks inthe experiments and 20 sets of QoS constraints in each groupTherefore the results of 400 groups of experiments are shownin each subgraph of Figure 6 QoS preferences regarding thetask are chosen as 119908119879 = 05 119908119862 = 06 119908119877 = 08 andthe initial QoS constraint values are chosen as Tconstraints =09Cconstraints = 09 Rconstraints = 02 Then the T C areincreased by 001 and the R is reduced by 001

Figure 6 shows that DHA OSCP algorithm has a largerpossibility to find a better solution under different net-work scale and QoS constraints The X-axis and the Y-axis represent different network scales and QoS constraintsrespectively The Z-axis represents the utility values obtainedby the three algorithms Each point in the figure repre-sents the utility value of the optimal path under certainnetwork scale and QoS constraints As shown in the figureif there are no feasible solutions in the network all of thethree algorithms can determine the infeasibility MoreoverDHA OSCP manages to find feasible solutions for all caseswithout a utility value worse than that of H OSTP andobtains better results than H OSTP in 12375 of the totalexperiments (ie 198 of 1600) DHA OSCP also obtainsbetter results than MFPB HOSTP in 10875 of the totalexperiments (ie 174 of 1600)This validates the effectivenessof the DHA OSCP algorithm in finding a near-optimalsolutionThe execution times of the algorithms are influencedby the network scale and the number of hops in the networkAn additional experiment with details below is then designedto compare the utility values and execution times of the threealgorithms

Seven groups of networks are generated with a node sizeof 100 150 200 250 300 350 and 400 respectively For eachgroup of networks 20 sets of QoS constraints are taken and20 networks are generated for each set of the QoS constraintsto carry out the experiment The sum of utility values and

Complexity 13

times H_OSTPMFPB_HOSTP

QoS constraints

Better

Same1

090807060504030201

0

1090807060504030201

0

09

08

07

06

05

04

03

02

01

0

1090807060504030201

020

2018

1816

1614

14121210

10886

64 42 2

2018161412108642

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42 00

0

20181614121086420

20181614121086420

Infeasible

NetworkID

DHA_OSCP

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

Figure 6 Solution quality with different scales of service network

execution time of the 400 experiments are compared for eachnode size The experiment results are shown in Tables 3ndash5

Though the computational experiments were conductedon networks with different scales structures and constraintswe can draw the conclusion that on average DHA OSCPcan get the path with better utility value than that ofMFPB HOSTP at a lower time cost In terms of meanexecution time DHA OSCP can achieve reduction of timecost by 437 503 and 407 respectively for theexamples shown in Tables 3ndash5 Since both DHA OSCP andMFPB HOSTP have measures of addressing the imbalanceproblem at the cost of execution time they achieve muchbetter utility values than those of H OSTP but more exe-cution time is incurred When both quality of result andtime cost are considered DHA OSCP achieves better overallperformance compared with MFPB HOSTP and H OSTPwhich is important for working with manufacturing servicenetworks

Additionally compared with H OSTP the DHA OSCPalgorithm adopts two heuristic functions in the forward

search procedure this turns to ensure that nomatterwhetherimbalanced problems of QoS attributes exist it can alwaysget a near-optimal path that is no worse than the oneobtained using H OSTP Although the execution time ofDHA OSCP is increased due to taking additionalmeasure foraddressing imbalance problems it achieves the same level oftime complexity as that of H OSTP In summary DHA OSCPcan obtain solutions that are much better than H OSTP at areasonable time cost

Both MFPB HOSTP and DHA OSCP can solve theimbalance problem to a great extent Nonetheless the timecomplexity of the DHA OSCP algorithm is lower The timecomplexity of MFPB HOSTP would become intolerable ifthe number of hops in the manufacturing network increasedto a large level Moreover the DHA OSCP algorithm canget a solution with a much better utility value than thatof MFPB HOSTP This is because the forward search pro-cedure adopts UHP as a heuristic function which takesinto account the coefficients of the utility function Thisis a better search strategy compared with MFPB HOSTP

14 Complexity

Table 3 Results of Different Node Size

Node size H OSTP MFPB HOSTP DHA OSCPUtility value Execution time Utility value Execution time Utility value Execution time

100 1510454 121380 1495541 301070 1480524 234170150 1706428 251980 1688756 770790 1654677 529100200 1489640 438350 1471278 949910 1447855 1380930250 1355056 672910 1344681 2189750 1325991 1475550300 1238503 981380 1230763 3219790 1207582 2141920350 1133137 1339490 1127778 4666080 1104149 2923780400 1053334 1775580 1046502 5928810 1031810 3856320

Table 4 Results of Different QoS Constraints

QoS constraints H OSTP MFPB HOSTP DHA OSCPT C R Utility value Execution time Utility value Execution time Utility value Execution time090 090 02 2149406 235230 2148814 644120 2093961 443610094 094 018 1956596 229250 1956285 599620 1884452 420600098 098 016 1790496 231040 1790496 661650 1772467 438820102 102 014 1701983 244250 1701769 723250 1698541 465420104 104 012 1753381 245360 1717547 696620 1701082 466200108 108 010 1995259 247680 1983515 792850 1967191 493220110 110 008 1338181 241440 1333709 749020 1326810 523690112 112 006 1535065 243210 1530866 799630 1495530 519410

Table 5 Results of Different Coefficient

Coefficient H OSTP MFPB HOSTP DHA OSCPwT wC wR Utility value Execution time Utility value Execution time Utility value Execution time01 01 08 1636718 273650 1612995 767250 1585643 55779001 08 01 1938172 251740 1924318 756600 1905009 52143008 01 01 1893298 256050 1876882 762140 1856349 54689003 03 04 2103357 250490 2099200 739410 2088499 52979002 06 02 2116633 249890 2109084 744460 2086980 53881002 02 06 1895776 248760 1888923 740830 1876530 51305001 04 05 1898427 245940 1891458 734170 1880153 52326005 04 01 2148865 251090 2143177 742740 2128045 526320

which uses CBLPs to solve the imbalance problem Withthe above discussions it can be concluded that DHA OSCPoutperforms MFPB HOSTP in terms of solution quality andtime complexity

6 Application to Automobile ManufacturingService Composition

The CASICloud (wwwcasicloudcom) is a CMfg platformfor registering and accessing manufacturing services whichhas a large number of service providers and service usersIn spite of being a popular platform it can only recommenda single manufacturing service provider for a manufactur-ing task and the capability of conducting manufacturingservice composition for complex tasks is missing To verifythe viability of the proposed model and algorithm theyare implemented and integrated into the platform as anadd-on function and are tested using data from service

providers obtained from the CASICloud In this case anautomobile manufacturing process is chosen as an illustrativeexample

Figure 7 shows the graphical interface of the addi-tional function of service composition which also givesdetailed information about the service composition taskfor automobile manufacturing being solved using the pro-posed model and the DHA OSCP algorithm Specifically thetask of automobile manufacturing can be decomposed intofive subtasks namely body stamping body welding bodypainting automobile assembly and automobile test Eachsubtask has a set of candidate manufacturing services thatcan be selected to meet the requirements of the subtaskEach candidate service provider can be abstracted as a nodein the manufacturing network The logistics relationshipbetween service providers is recorded as an edge in themanufacturing network Using the DHA OSCP algorithm anear-optimal solution can be found from the starting nodeof the manufacturing network to the end one The choice

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 5: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

Complexity 5

Parallel Cycle

Virtual start

Virtual end

Subtasks

Optimal service compositionCandidate

sets

341 342

343

346

344

345

Figure 2 Manufacturing service composition model

hellip

loop Subtasks

hellip

Preprocessing

Subnetwork extraction

Start End

extract

Manufacturing network

helliphelliphellip

Start End

helliphelliphellip

Path optimization

341

341 342

342 343

343

344

344

345

34H

34H

345FIIJ

331

331

332

332

3334

3334

335

335

33H

33H

Figure 3 Process of optimal path selection

6 Complexity

as Q(T) = q1(T) q2(T) qn(T) where 119902119894(T) is the ith QoSrequirement and n is the number of QoS indexes

(2) Extraction of Candidate Service Subnetwork The CMfgplatform generates a candidate manufacturing service set foreach atomic manufacturing task by manufacturing resourceselection according to the functional requirements of theatomic manufacturing task The candidate service set can bedenoted as

119862119878 (119879) = 119888119904 (1199051) 119888119904 (1199052) 119888119904 (119905119898)119888119904 (119905119894) = 1199041 (119905119894) 1199042 (119905119894) 119904119899119894 (119905119894) (1)

In the above equation m is the number of atomic manu-facturing tasks and n i is the number of candidate servicesfor atomic manufacturing task i Candidate manufacturingservices for the same atomic manufacturing task have thesame functional properties but their QoS attributes can bedifferent These candidate service nodes and their relation-ships are then extracted from the manufacturing network asa subgraph

(3) Selection of the Optimal Service Path After the previoussteps are completed each of the atomic manufacturing taskshas got a set of services that can potentially meet its specificrequirements The optimal service path selection is thenused to find out the optimal service execution path thatsatisfies the QoS constraints of manufacturing tasks and hasthe best overall utility function This is an MCOP problemwhich has been proved to be NP-complete In the past thesolving method of the manufacturing service compositionis based on the idea of web service composition whichdoes not consider the relationship between different servicenodes According to the location constraints cooperationconstraints process constraints and QoS constraints boththe attributes of the candidate manufacturing service nodesand their relationships are taken into consideration so thatthe actual manufacturing scenario can be better addressedThis paper specifically focuses on the effective model andalgorithm for this step

32 Mathematical Model The optimal service compositionproblem can be modeled as an optimal path selection prob-lem with specific QoS constraints Before the algorithm isdetailed the methods forQoS aggregation network structurepreprocessing and mathematical model formulation need tobe given first

(1) QoS Attributes of Manufacturing Network The QoSattributes in Cloud Computing network usually includesresponse time bandwidth computing overhead and so onHowever in a manufacturing network the QoS attributesthat should be particularly considered are different fromthose of Cloud Computing In a manufacturing network thetime and cost it takes to complete the entire manufacturingprocess are the essential attributes of substantial importanceMoreover the reliability usability credibility and sustain-ability are also important QoS attributes in a manufacturingnetwork In this paper time cost and reliability are applied

in the DHA OSCP algorithm as three representative QoSattributes

(2) QoS Attribute Aggregation Time Time refers to theexecution period from the time when the demands aresubmitted to the platform to the final completion time ofthe manufacturing service It consists of the time of thenodes and the time of the edges For a manufacturing servicenode Time is the sum of online time and offline time (egresource configuration time computing time queue timeand execution time) For the edge of the network timerefers to the logistics time of raw materials and semi-finishedproducts as well as to the delivery time The time attributeneeds to be corrected by the correction factor so as tomodify the evaluation value to indicate the time attributemore accurately The calculation method of time is given by

119879119894119898119890 = 119879119888119900119903119903 times (119879119899119900119889119890 + 119879119890119889119892119890)119879119899119900119889119890 = 119879119903119890119904 + 119879119888119900119898119901119906119905119894119899119892 + 119879119902119906119890119906119890 + 119879119890119909119890119888119906119905119894119900119899119879119890119889119892119890 = 119879119897119900119892119894119904119905119894119888 + 119879119889119890119897119894V119890119903119910

(2)

Costs Costs also includes both the cost of the node and thecost of the edge For a manufacturing service node Costsis the sum of software costs and hardware costs Softwarecosts are composed of computing costs transmission costsand access costs Hardware costs include management costsmaterial costs personnel costs and execution costs For theedge of the network costs refer to the logistics costs of rawmaterials and semifinished products as well as to the deliverycosts The calculation of costs is given by

119862119900119904119905119904 = 119862119899119900119889119890 + 119862119890119889119892119890

119862119899119900119889119890 = 119862119904119900119891119905119908119886119903119890 + 119862ℎ119886119903119889119908119886119903119890

119862119904119900119891119905119908119886119903119890 = 119862119888119900119898119901119906119905119894119899119892 + 119862119905119903119886119899119904119898119894119904119904119894119900119899 + 119862119886119888119888119890119904119904

119862ℎ119886119903119889119908119886119903119890 = 119862119898119886119899119886119892119890119898119890119899119905 + 119862119898119886119905119890119903119894119886119897 + 119862119901119890119903119904119900119899119899119890119897

+ 119862119890119909119890119888119906119905119894119900119899

119862119890119889119892119890 = 119862119897119900119892119894119904119905119894119888 + 119862119889119890119897119894V119890119903119910

(3)

Reliability Reliability represents the possibility that the man-ufacturing service can successfully complete the manufac-turing task under certain QoS constraints Reliability can beexpressed by the ratio of the number of manufacturing taskssuccessfully executed to the total number of tasks received bythe service node Fk indicates the number of manufacturingtasks that the service node k failed in the process of serviceexecution The calculation of reliability is given by

119877119890119897119894119886119887119894119897119894119905119910 = 119865119896119879119900119905119886119897119879119886119904119896119896 (4)

Based on the QoS index aggregation method time and costsare cumulative indexes while reliability is a multiplicativeindex Assume that theQoSmodel containsmmanufacturingservice nodes and nQoS indexesThemodel can be expressed

Complexity 7

1G

n 1

1G

n 2helliphellip

1G

n n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

12

n 1

11

n 1

11

n 212

n 2

12

n n

11

n n

11

n 1

11

n 2helliphellip

11

n n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

11

2 1

11

1 1

11

1 211

2 2

11

2 n

11

1 n

1G

n n1G

nhelliphellip

1G

1 n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

12

n n

11

n n11

n-1 n12

n-1

n-1

n

12

1 n

11

1 n

Figure 4 CubeModel of QoS attributes

by a three-dimensional matrix Each ldquolayerrdquo of the threedimensional matrix represents the adjacency matrix of asingle QoS index of the manufacturing service network Thematrix element aii represents the QoS attributes of node iand aij represent the QoS of the edge from node i to nodejTheQoS 3Dmodel of the manufacturing service network isshown in Figure 4

(3) Preprocessing of Network Structure In different man-ufacturing processes the completion of a manufacturingtask may involve four kinds of process structures namelysequence parallelism selection and cycle In order to applythe heuristic multiconstrained optimal path search methodto solve the manufacturing service composition problemthe parallel structure and the cyclic structure need to bepreprocessed in the manufacturing service network ascribedto the characteristics of Dijkstra algorithm Finally theextracted manufacturing service subnetwork is processedinto a weighted directed acyclic graph from the start point tothe end point and the multiconstraint service compositionproblem is transformed into a multiconstrained optimalpath selection problem Since the service composition modelproposed in this paper considers not only the manufacturingservice itself but also the relationship between manufacturingservices the preprocessing of the network structure alsoneeds to consider the attributes both of nodes and of edgesThe aggregation functions for QoS attributes of different ser-vices composition types are illustrated in Table 1 according tothe recursive characteristics [39] of manufacturing services

(4) e Method of QoS Attributes Aggregation During thesearch process the aggregation method of QoS attributesneeds to be determined to support calculation in the algo-rithm For time and cost the algorithm needs to add themup to get the total time and cost of the existing compositionFor reliability the product of different nodes (edges) isthe reliability of the composition service Therefore theaggregation methods of different nodes and edges in themanufacturing network are shown below

Time Time is a cumulative index Suppose that anoptimal manufacturing path has n candidate then the aggre-gated time can be calculated using (5) which includes theaggregation of service nodes and the aggregation of edges

119860(119879V119904997888rarrV119905) = 119899minus1sum119894=2

119879119894119899119900119889119890 + 119899minus2sum119895=2

119879119895119895+1119890119889119892119890 (5)

Cost Cost is a cumulative indexThe aggregated Costs can becalculated using

119860(119862V119904997888rarrV119905) = 119899minus1sum119894=2

119862119894119899119900119889119890 + 119899minus2sum

119895=2

119862119895119895+1

119890119889119892119890 (6)

Reliability Reliability is a multiplicative index Suppose thatoptimal manufacturing path has n candidate then the aggre-gated reliability can be calculated by

119860(119877V119904997888rarrV119905) = 119899minus1prod119894=2

119877119894119899119900119889119890 times 119899minus1prod119895=2

119877119895119895+1119890119889119892119890 (7)

8 Complexity

Table1Aggregatio

nMetho

dof

DifferentP

rocessStructures

Structure

Time

Cost

Reliability

Parallel

qtim

epar=m

ax(q i(

node))+

max(q j(

edge))

qcost

par=n sum i=

1

q i(nod

e )+m sum i=1

q j(edg

e)qr

eli

par=n prod i=

1

q i(nod

e )timesm prod j=1

q j(edg

e)Selective

qtim

esel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qcost

sel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qreli

sel=n prod i=

1

q i(nod

e )times120596 itimes

m prod j=1

q j(edg

e)times120596 j

Cyclic

qtim

esel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qt

ime

sel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qr

eli

par=120579

times (n prod i=1

q i(nod

e )timesm prod j=1

q j(edg

e ))

Complexity 9

(5) Utility Function In this model the utility functiondescribes the overall performance of the optimal servicecomposition path in different QoS aspects Since differentQoS indexes have different scales the QoS indexes arenormalized in the utility function

The QoS indexes are divided into two kinds positiveindexes and negative indexes Reliability is a positive multi-plicative index while time and costs are negative cumulativeindexes The utility function is calculated by

119880 (119879 119862 119877) = 119908119879 times 119860 (119879V119904997888rarrV119905)119879119888119900119899119904119905119903119886119894119899119904 + 119908119862 times 119860 (119862V119904997888rarrV119905)119862119888119900119899119904119905119903119886119894119899119904+ 119908119877 times ln (119860 (119877V119904997888rarrV119905))

ln (119877119888119900119899119904119905119903119886119894119899119904)(8)

In the equation wT wC wR are the weights of T C Rrespectively with the conditions of wT + wC + wR = 1 and0 lt wTwCwR lt 1(6) Traditional Service Composition Model In the existingstudies the manufacturing service composition problem canbe described as a 0-1 integer constrained multiobjectiveoptimization problem based on the model in Figure 1 Thetraditional service composition model is formulated as

min119880 (119879 119862 119877)0 le 119860 (119879V119904997888rarrV119905) le 1198791198881199001198991199041199051199031198861198941198991199040 le 119860 (119862V119904997888rarrV119905) le 1198621198881199001198991199041199051199031198861198941198991199040 le 119860 (119877V119904997888rarrV119905) le 119877119888119900119899119904119905119903119886119894119899119904

(9)

In these studies this problem is usually solved using meta-heuristic algorithms such as genetic algorithms (GA) particleswarm optimization (PSO) ant colony optimization (ACO)and bee colony algorithms (BA)Thesemethods usually workpretty well

(7) Multiple Constrained Optimization Path Selection ModelIn the improved model (Figure 2) there are more con-straints to ensure the existence of edges between the selectedmanufacturing service nodes In summary the problem ofmanufacturing service composition can be abstracted as amulticonstrained optimization path selection problem andformulated as (10) In (10) m is the number of subtasksdi is the number of candidate services in candidate serviceset j and xij is the decision variable xij equals 1 if the ithmanufacturing service in service candidate j is chosen andotherwise it equals 0

min 119880 (119879 119862 119877)st 0 le 119860 (119879V119904997888rarrV119905) le 119879119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119862V119904997888rarrV119905) le 119862119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119877V119904997888rarrV119905) le 1198771198881199001198991199041199051199031198861198941198991199041198891sum119894=1

1199091198941 = 11198892sum119894=1

1199091198942 = 1 119889119898sum119894=1

119909119894119898 = 1119909119894119895 = 0 119900119903 1

(10)

The meta-heuristic algorithms can also solve the serviceselection problem with multi-QoS constraints and decisionvariable constraints However [40] proved that they have lowefficiencies in finding a near-optimal solution in large-scalenetworks Taking GA as an example with the increase ofnode scale the algorithm takes a very long time to obtainthe near optimal solution and it is often unable to obtain thefeasible solution within the set upper limit of iteration timesCompared with meta-heuristic algorithms the proposedDHA OSCP is a more direct and effective algorithm to solvethis problem This is ascribed to the advantage that theDHA OSCP algorithm can always satisfy the constraints ofdecision variables in the process of execution

4 Service Composition PathSelection Algorithms

In this section some existing approximation algorithms fortheMCOP selection problem are firstly introduced includingH MCOP H OSTP and MFPB HOSTP Then a novel DualHeuristic Functions based Optimal Service CompositionPath algorithm (DHA OSCP) is described in detail

41 Existing Algorithms

(1) H MCOP H MCOP [8] is a heuristic algorithm proposedby Korkmaz and Krunz for the multiplendashconstrained optimalpath selection problem This algorithm first proposed amethod of QoS aggregation which is also the target of thereverse search as shown in

119892120582 (119901) ≜ (1199021 (119901)1198761V119904V119905

)120582 + (1199022 (119901)1198762V119904V119905

)120582 + sdot sdot sdot+ (119902119898 (119901)119876119898

V119904V119905

)120582(11)

H MCOP first adopts Dijkstrarsquos shortest path algorithm tofind the path with the minimum 119892120582(119901) and investigateswhether there exists a feasible path satisfying all QoS con-straints If the 119892120582(119901) of an intermediated node vk is greaterthan m it is proved that there is no feasible path from vk to vt

10 Complexity

If there exists at least one feasible solution then this algorithmwill search the network from vs to vt in order to identify afeasible path with the minimal cost of services

Before the H OSTP algorithm [35] was proposed in 2010H MCOP was one of the most promising algorithms forthe MCOP selection problem It proved to outperform priorexisting algorithms in terms of both efficiency and solutionquality

(2)H OSTP InH OSTP Liu et al first proposed the objectivefunction given in (12) and adopted the backward searchalgorithm to identify whether there was a feasible path withthe minimal 120575 from vt to vs If a feasible solution existsH OSTP then adopts the forward search algorithm to delivera near-optimal solution

120575 (119901) ≜ max 1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

(12)

H OSTP designed a target function 120575(p) which is better thanH MCOP for reverse search and this algorithm can providean optimal service composition path that is no worse thanH MCOP In addition through the reverse search strategyH OSTP can calculate whether the foreseen path is feasiblein advance which reduces the search space of the algorithmand improves the efficiency of the algorithm However thisalgorithm has some shortcomings in balancing different QoSattributes

(3) MFPB HOSTP In order to solve the imbalance prob-lem of H OPTP Liu et al proposed the MFPB HOSTPalgorithm [36] in 2013 In addition to selecting 120575(p) as thetarget to search a network the algorithm also identifies theoptimal paths with the searching target Tmin Cmin andRmax When the imbalance problem occurs MFPB-HOSTPdetermines the QoS index (for example T) that does notsatisfy the constraint Then the algorithm selects the nodeof the Tmin path to replace the node with the best 120575(p)path as the starting point for the next searching stage Atthe same time the algorithm defines the CBLP path sets toprevent the new imbalance problem By this method thealgorithm can get a near-optimal path that is no worse thanH OSTP

TheMFPB HOSTP algorithm inherits a lot of advantagesfromH OSTP and uses the CBLP path sets to solve the imbal-ance problem that best 120575(p) searching may bring Howeverthis algorithmwill incur a large amount of computation whenthere are lots of imbalance problems or complex processes inthe service network

42 e DHA OSCP Algorithm

(1) Overview First of all some definitions are introduced

Definition 1 (feasible heuristic path) In a subnetwork fromvs to vt a Feasible Heuristic Path (FHP) is the path from vt tothe intermediate node vk identified by the Delta BackwardSearch with (13) as the target

120575 (119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )= min(max

119879119887119886119888119896119908119886119903119889V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119887119886119888119896119908119886119903119889V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119887119886119888119896119908119886119903119889V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

)(13)

Definition 2 (utility heuristic path) In a subnetwork from vsto vt a Utility Heuristic Path (UHP) is the path from vt tothe intermediate node vk identified by the utility backwardsearch with (14) as the target

119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119908119879 times 119879119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119862

times 119862119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119877

times ln (119877119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

(14)

Definition 3 (forward path) In a subnetwork from vs to vta Forward Path (FP) is the path from vs node vt identifiedby the forward search The forward path is no worse than theFHP and UHP

Based on the definitions above a novel Dual HeuristicFunctions based Optimal Service Composition Path algo-rithm (DHA OSCP) is proposed in this paper which adoptstwo heuristic functions and the pruning searching strategy toobtain feasible heuristic path (FHP) and utility heuristic path(UHP)

The DHA OSCP algorithm is divided into two partsnamely the backward search process determining twoheuris-tic functions and the forward search process confirmingthe best utility path In the backward search procedure thealgorithm determines the feasible heuristic path (FHP) fromvk to vt (denoted by pbackwardvk997888rarrvt ) by using (12) as the searchtarget Then the algorithm determines the utility heuristicpath (UHP) from vk to vt (denoted by pbackwardutivk997888rarrvt ) with (13)as the search target The overview of DHA OSCP algorithmis shown in Figure 5

(2) Description A more detailed description of the proposedDHA OSCP algorithm is given below The algorithm isdivided into four main steps the pruning of the manufactur-ing service network the feasible backward search the utilitybackward search and the Alowast forward search These partswill be introduced in turn The pseudocode of the proposedDHA OSCP is given in Appendix A

Step 1 (network pruning) Designing appropriate pruningstrategies can effectively reduce the search space and the timecomplexity of the DHA OSCP algorithm without affectingthe quality of the solution The following two strategies areused to prune the manufacturing service network

The first strategy is pruning based on the process flowAccording to the decomposition of themanufacturing servicetask the nodes and the edges of themanufacturing service areextracted so that the manufacturing service network suitable

Complexity 11

Input()

Input the QoS value (TCR) of the nodes and edges ofmanufacturing network

Input the constraints and weights of QoS attributes

Prune()

Pruning the nodes and edges that do not satisfy the QoS constraints

Backward_Search()

Carry out backward search procedure twice with (12) and (13) as the target respectively to obtain feasible

heuristic path (FHP) and utility heuristic path (UHP)

Forward_Search()

Carry out forward search procedure twice with FHP and UHP as the heuristic function to find out whether there

is a better path than FHP and UHP

Output()

Output the near optimal path and the utility value

Figure 5 Overview of DHA OSCP algorithm

for the task is obtained In the manufacturing network theedges caused by other process flows are removed by thepruning strategy

The second strategy is pruning based on QoS constraintsNodes and edges that cannot satisfy QoS constraints areremoved from the network according to (15) where 120574 repre-sents the threshold

min(119879119899119900119889119890119890119889119892119890119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119899119900119889119890119890119889119892119890119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119899119900119889119890119890119889119892119890)ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )) gt 120574 (15)

Step 2 (identification of a feasible backward path withminimal delta) In feasible backward search procedure theDHA OSCP algorithm searches the service network fromvt to intermediate vk to investigate whether there existsa feasible solution in the manufacturing network Feasiblebackward search can define the FHP of each intermediatenode vk which is one of the heuristic functions to supportthe Alowast forward search procedure The pseudocode of DeltaBackward Search is given in Appendix B

eorem 4 In the feasible backward search procedure thesearch process can successfully find a feasible solution if there isat least one feasible solution that exists in the service network

The proof of Theorem 4 is given in Appendix C

Step 3 (identification of a backward path with the best utility)In the utility backward search procedure the DHA OSCPalgorithm searches the service network from V119905 to eachintermediate node V119896 and identifies the best weighted meanpath using a greedy strategy 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 participates in theAlowast forward search procedure as another heuristic functionThe utility backward search procedure needs to be employedto handle the imbalance problems which may occur in theforward search procedure For example the QoS constraintsof the service network are (T le 1C le 1R ge 04) TheQoS values of the paths from V119905 to two intermediate nodesV119894 V119895 are119876119900119878(119901119887119886119888119896119908119886119903119889V119894997888rarrV119905

) = (05 01 09) and119876119900119878(119901119887119886119888119896119908119886119903119889V119895997888rarrV119905) =(045 045 045) Then the feasible backward search proce-

dure will select V119895 as the next node while the utility backwardsearch procedurewill select V119894 as the next nodeObviously thenode V119894 has a larger QoS value to spare so that V119894 is easier toavoid the imbalance problem Therefore choosing the dualheuristic function strategy of FHP and UHP can effectivelyavoid the occurrence of the imbalance problem and generatea chance to deliver a better solutionThe pseudocode of utilitybackward search is given in Appendix D

Step 4 (identification the near-optimal path based on FHPand UHP) The forward search procedure will investigatewhether there is a path 119901119891119900119903119908119886119903119889V119904997888rarrV119905 that is better in quality thanboth 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 and 119901119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119905 The pseudocode of forwardsearch is given in Appendix E In this procedure DHA OSCPsearches the path with the best utility from V119904 to V119905 basedon Alowast algorithm Assume that V119896119891 and V119896119906 are selected asthe intermediate nodes based on FHP and UHP then twoforeseen paths 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areformed According to the feasibility of these two paths DHA-OSCP uses the following strategies to identify the optimalpath

Case 1 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 arefeasible) The DHA-OSCP algorithm calculates the unityvalues of the two foreseen paths and then continues to searchthe network

Case 2 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is feasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 isinfeasible) The forward search procedure based on FHP cancontinue to search The forward search procedure based onUHP will search another neighborhood node of V119904 with thebest utility and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 based on FHP The the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 into consideration

Case 3 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is infeasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905is feasible) The forward search procedure based onUHP can

12 Complexity

Table 2 Complexity analysis of the three algorithms

Algorithm ComplexityH OSTP O(2times(NlogN+E)) [35]MFPB HOSTP O(6times(NlogN+E)+KE) [36]DHA OSCP O(4times(NlogN+E))

continue to search The forward search procedure based onFHP will search another neighborhood node of V119904 with theminimal 120575 and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840

119896119891997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 based on UHP Next the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119891 into consideration

Case 4 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areinfeasible) The algorithm adopts the two processing meth-ods described in Cases 2 and 3 respectively when the cor-responding path is infeasible Then four new foreseen paths119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840119896119891997888rarrV119905

and

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 are formed Then the algorithm movesforward to determine whether these foreseen paths arefeasible and choose the feasible path with higher utilityto continue searching If all of these paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 and V119904997888rarr V119896119891 intoconsideration

(3) Algorithm Complexity Analysis Assume that only threeQoS attributes (ie T C and R) are taken into considerationthe time complexity of these three algorithms is shown inTable 2 where N is the number of nodes in the subnetworkbetween V119904 and V119905 E is the number of the edges in themanufacturing network and K is the hops between V119904 andV119905

Below the detailed analysis of these representations isgiven Specifically H OSTP takes twice as much time asDijkstrarsquos shortest path algorithm As such the time com-plexity of this algorithm is O(2times(N logN + E)) which isequal to O(N logN + E) MFPB HOSTP adopts Dijkstrarsquosshortest path algorithm four times in the Backward Searchprocedure with the time complexity of O(4times(N logN + E))In the Forward Search MFPB HOSTP takes twice as muchtime as Dijkstrarsquos shortest path algorithm which meansthe time complexity for this part is O(2times(N logN + E))Besides the time complexity of finding the feasible foreseenpaths is O(KE) So the time complexity of MFPB HOSTPis O(N logN+KE) DHA OSCP adopts Dijkstrarsquos shortestpath algorithm twice both in the Backward Search procedureand in Forward Search procedure so its time complexity isO(4times(N logN + E)) which is equal to O(N logN + E)

The analysis above is based on the assumption thatonly three QoS attributes are taken into account If M QoSattributes are taken into consideration the time complexity ofMFPB HOSTP will turn into O(Mtimes(N log N + E)+KE) whilethe time complexity of DHA OSCP is still O(N logN + E)meaning that the proposed algorithm is better for large-scaleproblems

5 Computational Experiments and Discussion

In order to evaluate the performance of the proposedDHA OSCP algorithm computational experiments are con-ducted to make various comparisons between DHA OSCPand popular H OSTP and MFPB HOSTP algorithms thathave been proved to be effective for service compositionproblems

The execution time and the quality of the solution areinfluenced by the scale and structure of the network andthe QoS constraints In order to study the performance ofthe proposed heuristic algorithm under varied conditionsthe service networks with different scales and structuresare randomly generated Then the qualities of the solutionsobtained by the three algorithms are compared in detailFigure 6 shows the comparisons of results under variedconditionsThere are 20 groups ofmanufacturing networks inthe experiments and 20 sets of QoS constraints in each groupTherefore the results of 400 groups of experiments are shownin each subgraph of Figure 6 QoS preferences regarding thetask are chosen as 119908119879 = 05 119908119862 = 06 119908119877 = 08 andthe initial QoS constraint values are chosen as Tconstraints =09Cconstraints = 09 Rconstraints = 02 Then the T C areincreased by 001 and the R is reduced by 001

Figure 6 shows that DHA OSCP algorithm has a largerpossibility to find a better solution under different net-work scale and QoS constraints The X-axis and the Y-axis represent different network scales and QoS constraintsrespectively The Z-axis represents the utility values obtainedby the three algorithms Each point in the figure repre-sents the utility value of the optimal path under certainnetwork scale and QoS constraints As shown in the figureif there are no feasible solutions in the network all of thethree algorithms can determine the infeasibility MoreoverDHA OSCP manages to find feasible solutions for all caseswithout a utility value worse than that of H OSTP andobtains better results than H OSTP in 12375 of the totalexperiments (ie 198 of 1600) DHA OSCP also obtainsbetter results than MFPB HOSTP in 10875 of the totalexperiments (ie 174 of 1600)This validates the effectivenessof the DHA OSCP algorithm in finding a near-optimalsolutionThe execution times of the algorithms are influencedby the network scale and the number of hops in the networkAn additional experiment with details below is then designedto compare the utility values and execution times of the threealgorithms

Seven groups of networks are generated with a node sizeof 100 150 200 250 300 350 and 400 respectively For eachgroup of networks 20 sets of QoS constraints are taken and20 networks are generated for each set of the QoS constraintsto carry out the experiment The sum of utility values and

Complexity 13

times H_OSTPMFPB_HOSTP

QoS constraints

Better

Same1

090807060504030201

0

1090807060504030201

0

09

08

07

06

05

04

03

02

01

0

1090807060504030201

020

2018

1816

1614

14121210

10886

64 42 2

2018161412108642

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42 00

0

20181614121086420

20181614121086420

Infeasible

NetworkID

DHA_OSCP

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

Figure 6 Solution quality with different scales of service network

execution time of the 400 experiments are compared for eachnode size The experiment results are shown in Tables 3ndash5

Though the computational experiments were conductedon networks with different scales structures and constraintswe can draw the conclusion that on average DHA OSCPcan get the path with better utility value than that ofMFPB HOSTP at a lower time cost In terms of meanexecution time DHA OSCP can achieve reduction of timecost by 437 503 and 407 respectively for theexamples shown in Tables 3ndash5 Since both DHA OSCP andMFPB HOSTP have measures of addressing the imbalanceproblem at the cost of execution time they achieve muchbetter utility values than those of H OSTP but more exe-cution time is incurred When both quality of result andtime cost are considered DHA OSCP achieves better overallperformance compared with MFPB HOSTP and H OSTPwhich is important for working with manufacturing servicenetworks

Additionally compared with H OSTP the DHA OSCPalgorithm adopts two heuristic functions in the forward

search procedure this turns to ensure that nomatterwhetherimbalanced problems of QoS attributes exist it can alwaysget a near-optimal path that is no worse than the oneobtained using H OSTP Although the execution time ofDHA OSCP is increased due to taking additionalmeasure foraddressing imbalance problems it achieves the same level oftime complexity as that of H OSTP In summary DHA OSCPcan obtain solutions that are much better than H OSTP at areasonable time cost

Both MFPB HOSTP and DHA OSCP can solve theimbalance problem to a great extent Nonetheless the timecomplexity of the DHA OSCP algorithm is lower The timecomplexity of MFPB HOSTP would become intolerable ifthe number of hops in the manufacturing network increasedto a large level Moreover the DHA OSCP algorithm canget a solution with a much better utility value than thatof MFPB HOSTP This is because the forward search pro-cedure adopts UHP as a heuristic function which takesinto account the coefficients of the utility function Thisis a better search strategy compared with MFPB HOSTP

14 Complexity

Table 3 Results of Different Node Size

Node size H OSTP MFPB HOSTP DHA OSCPUtility value Execution time Utility value Execution time Utility value Execution time

100 1510454 121380 1495541 301070 1480524 234170150 1706428 251980 1688756 770790 1654677 529100200 1489640 438350 1471278 949910 1447855 1380930250 1355056 672910 1344681 2189750 1325991 1475550300 1238503 981380 1230763 3219790 1207582 2141920350 1133137 1339490 1127778 4666080 1104149 2923780400 1053334 1775580 1046502 5928810 1031810 3856320

Table 4 Results of Different QoS Constraints

QoS constraints H OSTP MFPB HOSTP DHA OSCPT C R Utility value Execution time Utility value Execution time Utility value Execution time090 090 02 2149406 235230 2148814 644120 2093961 443610094 094 018 1956596 229250 1956285 599620 1884452 420600098 098 016 1790496 231040 1790496 661650 1772467 438820102 102 014 1701983 244250 1701769 723250 1698541 465420104 104 012 1753381 245360 1717547 696620 1701082 466200108 108 010 1995259 247680 1983515 792850 1967191 493220110 110 008 1338181 241440 1333709 749020 1326810 523690112 112 006 1535065 243210 1530866 799630 1495530 519410

Table 5 Results of Different Coefficient

Coefficient H OSTP MFPB HOSTP DHA OSCPwT wC wR Utility value Execution time Utility value Execution time Utility value Execution time01 01 08 1636718 273650 1612995 767250 1585643 55779001 08 01 1938172 251740 1924318 756600 1905009 52143008 01 01 1893298 256050 1876882 762140 1856349 54689003 03 04 2103357 250490 2099200 739410 2088499 52979002 06 02 2116633 249890 2109084 744460 2086980 53881002 02 06 1895776 248760 1888923 740830 1876530 51305001 04 05 1898427 245940 1891458 734170 1880153 52326005 04 01 2148865 251090 2143177 742740 2128045 526320

which uses CBLPs to solve the imbalance problem Withthe above discussions it can be concluded that DHA OSCPoutperforms MFPB HOSTP in terms of solution quality andtime complexity

6 Application to Automobile ManufacturingService Composition

The CASICloud (wwwcasicloudcom) is a CMfg platformfor registering and accessing manufacturing services whichhas a large number of service providers and service usersIn spite of being a popular platform it can only recommenda single manufacturing service provider for a manufactur-ing task and the capability of conducting manufacturingservice composition for complex tasks is missing To verifythe viability of the proposed model and algorithm theyare implemented and integrated into the platform as anadd-on function and are tested using data from service

providers obtained from the CASICloud In this case anautomobile manufacturing process is chosen as an illustrativeexample

Figure 7 shows the graphical interface of the addi-tional function of service composition which also givesdetailed information about the service composition taskfor automobile manufacturing being solved using the pro-posed model and the DHA OSCP algorithm Specifically thetask of automobile manufacturing can be decomposed intofive subtasks namely body stamping body welding bodypainting automobile assembly and automobile test Eachsubtask has a set of candidate manufacturing services thatcan be selected to meet the requirements of the subtaskEach candidate service provider can be abstracted as a nodein the manufacturing network The logistics relationshipbetween service providers is recorded as an edge in themanufacturing network Using the DHA OSCP algorithm anear-optimal solution can be found from the starting nodeof the manufacturing network to the end one The choice

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 6: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

6 Complexity

as Q(T) = q1(T) q2(T) qn(T) where 119902119894(T) is the ith QoSrequirement and n is the number of QoS indexes

(2) Extraction of Candidate Service Subnetwork The CMfgplatform generates a candidate manufacturing service set foreach atomic manufacturing task by manufacturing resourceselection according to the functional requirements of theatomic manufacturing task The candidate service set can bedenoted as

119862119878 (119879) = 119888119904 (1199051) 119888119904 (1199052) 119888119904 (119905119898)119888119904 (119905119894) = 1199041 (119905119894) 1199042 (119905119894) 119904119899119894 (119905119894) (1)

In the above equation m is the number of atomic manu-facturing tasks and n i is the number of candidate servicesfor atomic manufacturing task i Candidate manufacturingservices for the same atomic manufacturing task have thesame functional properties but their QoS attributes can bedifferent These candidate service nodes and their relation-ships are then extracted from the manufacturing network asa subgraph

(3) Selection of the Optimal Service Path After the previoussteps are completed each of the atomic manufacturing taskshas got a set of services that can potentially meet its specificrequirements The optimal service path selection is thenused to find out the optimal service execution path thatsatisfies the QoS constraints of manufacturing tasks and hasthe best overall utility function This is an MCOP problemwhich has been proved to be NP-complete In the past thesolving method of the manufacturing service compositionis based on the idea of web service composition whichdoes not consider the relationship between different servicenodes According to the location constraints cooperationconstraints process constraints and QoS constraints boththe attributes of the candidate manufacturing service nodesand their relationships are taken into consideration so thatthe actual manufacturing scenario can be better addressedThis paper specifically focuses on the effective model andalgorithm for this step

32 Mathematical Model The optimal service compositionproblem can be modeled as an optimal path selection prob-lem with specific QoS constraints Before the algorithm isdetailed the methods forQoS aggregation network structurepreprocessing and mathematical model formulation need tobe given first

(1) QoS Attributes of Manufacturing Network The QoSattributes in Cloud Computing network usually includesresponse time bandwidth computing overhead and so onHowever in a manufacturing network the QoS attributesthat should be particularly considered are different fromthose of Cloud Computing In a manufacturing network thetime and cost it takes to complete the entire manufacturingprocess are the essential attributes of substantial importanceMoreover the reliability usability credibility and sustain-ability are also important QoS attributes in a manufacturingnetwork In this paper time cost and reliability are applied

in the DHA OSCP algorithm as three representative QoSattributes

(2) QoS Attribute Aggregation Time Time refers to theexecution period from the time when the demands aresubmitted to the platform to the final completion time ofthe manufacturing service It consists of the time of thenodes and the time of the edges For a manufacturing servicenode Time is the sum of online time and offline time (egresource configuration time computing time queue timeand execution time) For the edge of the network timerefers to the logistics time of raw materials and semi-finishedproducts as well as to the delivery time The time attributeneeds to be corrected by the correction factor so as tomodify the evaluation value to indicate the time attributemore accurately The calculation method of time is given by

119879119894119898119890 = 119879119888119900119903119903 times (119879119899119900119889119890 + 119879119890119889119892119890)119879119899119900119889119890 = 119879119903119890119904 + 119879119888119900119898119901119906119905119894119899119892 + 119879119902119906119890119906119890 + 119879119890119909119890119888119906119905119894119900119899119879119890119889119892119890 = 119879119897119900119892119894119904119905119894119888 + 119879119889119890119897119894V119890119903119910

(2)

Costs Costs also includes both the cost of the node and thecost of the edge For a manufacturing service node Costsis the sum of software costs and hardware costs Softwarecosts are composed of computing costs transmission costsand access costs Hardware costs include management costsmaterial costs personnel costs and execution costs For theedge of the network costs refer to the logistics costs of rawmaterials and semifinished products as well as to the deliverycosts The calculation of costs is given by

119862119900119904119905119904 = 119862119899119900119889119890 + 119862119890119889119892119890

119862119899119900119889119890 = 119862119904119900119891119905119908119886119903119890 + 119862ℎ119886119903119889119908119886119903119890

119862119904119900119891119905119908119886119903119890 = 119862119888119900119898119901119906119905119894119899119892 + 119862119905119903119886119899119904119898119894119904119904119894119900119899 + 119862119886119888119888119890119904119904

119862ℎ119886119903119889119908119886119903119890 = 119862119898119886119899119886119892119890119898119890119899119905 + 119862119898119886119905119890119903119894119886119897 + 119862119901119890119903119904119900119899119899119890119897

+ 119862119890119909119890119888119906119905119894119900119899

119862119890119889119892119890 = 119862119897119900119892119894119904119905119894119888 + 119862119889119890119897119894V119890119903119910

(3)

Reliability Reliability represents the possibility that the man-ufacturing service can successfully complete the manufac-turing task under certain QoS constraints Reliability can beexpressed by the ratio of the number of manufacturing taskssuccessfully executed to the total number of tasks received bythe service node Fk indicates the number of manufacturingtasks that the service node k failed in the process of serviceexecution The calculation of reliability is given by

119877119890119897119894119886119887119894119897119894119905119910 = 119865119896119879119900119905119886119897119879119886119904119896119896 (4)

Based on the QoS index aggregation method time and costsare cumulative indexes while reliability is a multiplicativeindex Assume that theQoSmodel containsmmanufacturingservice nodes and nQoS indexesThemodel can be expressed

Complexity 7

1G

n 1

1G

n 2helliphellip

1G

n n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

12

n 1

11

n 1

11

n 212

n 2

12

n n

11

n n

11

n 1

11

n 2helliphellip

11

n n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

11

2 1

11

1 1

11

1 211

2 2

11

2 n

11

1 n

1G

n n1G

nhelliphellip

1G

1 n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

12

n n

11

n n11

n-1 n12

n-1

n-1

n

12

1 n

11

1 n

Figure 4 CubeModel of QoS attributes

by a three-dimensional matrix Each ldquolayerrdquo of the threedimensional matrix represents the adjacency matrix of asingle QoS index of the manufacturing service network Thematrix element aii represents the QoS attributes of node iand aij represent the QoS of the edge from node i to nodejTheQoS 3Dmodel of the manufacturing service network isshown in Figure 4

(3) Preprocessing of Network Structure In different man-ufacturing processes the completion of a manufacturingtask may involve four kinds of process structures namelysequence parallelism selection and cycle In order to applythe heuristic multiconstrained optimal path search methodto solve the manufacturing service composition problemthe parallel structure and the cyclic structure need to bepreprocessed in the manufacturing service network ascribedto the characteristics of Dijkstra algorithm Finally theextracted manufacturing service subnetwork is processedinto a weighted directed acyclic graph from the start point tothe end point and the multiconstraint service compositionproblem is transformed into a multiconstrained optimalpath selection problem Since the service composition modelproposed in this paper considers not only the manufacturingservice itself but also the relationship between manufacturingservices the preprocessing of the network structure alsoneeds to consider the attributes both of nodes and of edgesThe aggregation functions for QoS attributes of different ser-vices composition types are illustrated in Table 1 according tothe recursive characteristics [39] of manufacturing services

(4) e Method of QoS Attributes Aggregation During thesearch process the aggregation method of QoS attributesneeds to be determined to support calculation in the algo-rithm For time and cost the algorithm needs to add themup to get the total time and cost of the existing compositionFor reliability the product of different nodes (edges) isthe reliability of the composition service Therefore theaggregation methods of different nodes and edges in themanufacturing network are shown below

Time Time is a cumulative index Suppose that anoptimal manufacturing path has n candidate then the aggre-gated time can be calculated using (5) which includes theaggregation of service nodes and the aggregation of edges

119860(119879V119904997888rarrV119905) = 119899minus1sum119894=2

119879119894119899119900119889119890 + 119899minus2sum119895=2

119879119895119895+1119890119889119892119890 (5)

Cost Cost is a cumulative indexThe aggregated Costs can becalculated using

119860(119862V119904997888rarrV119905) = 119899minus1sum119894=2

119862119894119899119900119889119890 + 119899minus2sum

119895=2

119862119895119895+1

119890119889119892119890 (6)

Reliability Reliability is a multiplicative index Suppose thatoptimal manufacturing path has n candidate then the aggre-gated reliability can be calculated by

119860(119877V119904997888rarrV119905) = 119899minus1prod119894=2

119877119894119899119900119889119890 times 119899minus1prod119895=2

119877119895119895+1119890119889119892119890 (7)

8 Complexity

Table1Aggregatio

nMetho

dof

DifferentP

rocessStructures

Structure

Time

Cost

Reliability

Parallel

qtim

epar=m

ax(q i(

node))+

max(q j(

edge))

qcost

par=n sum i=

1

q i(nod

e )+m sum i=1

q j(edg

e)qr

eli

par=n prod i=

1

q i(nod

e )timesm prod j=1

q j(edg

e)Selective

qtim

esel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qcost

sel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qreli

sel=n prod i=

1

q i(nod

e )times120596 itimes

m prod j=1

q j(edg

e)times120596 j

Cyclic

qtim

esel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qt

ime

sel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qr

eli

par=120579

times (n prod i=1

q i(nod

e )timesm prod j=1

q j(edg

e ))

Complexity 9

(5) Utility Function In this model the utility functiondescribes the overall performance of the optimal servicecomposition path in different QoS aspects Since differentQoS indexes have different scales the QoS indexes arenormalized in the utility function

The QoS indexes are divided into two kinds positiveindexes and negative indexes Reliability is a positive multi-plicative index while time and costs are negative cumulativeindexes The utility function is calculated by

119880 (119879 119862 119877) = 119908119879 times 119860 (119879V119904997888rarrV119905)119879119888119900119899119904119905119903119886119894119899119904 + 119908119862 times 119860 (119862V119904997888rarrV119905)119862119888119900119899119904119905119903119886119894119899119904+ 119908119877 times ln (119860 (119877V119904997888rarrV119905))

ln (119877119888119900119899119904119905119903119886119894119899119904)(8)

In the equation wT wC wR are the weights of T C Rrespectively with the conditions of wT + wC + wR = 1 and0 lt wTwCwR lt 1(6) Traditional Service Composition Model In the existingstudies the manufacturing service composition problem canbe described as a 0-1 integer constrained multiobjectiveoptimization problem based on the model in Figure 1 Thetraditional service composition model is formulated as

min119880 (119879 119862 119877)0 le 119860 (119879V119904997888rarrV119905) le 1198791198881199001198991199041199051199031198861198941198991199040 le 119860 (119862V119904997888rarrV119905) le 1198621198881199001198991199041199051199031198861198941198991199040 le 119860 (119877V119904997888rarrV119905) le 119877119888119900119899119904119905119903119886119894119899119904

(9)

In these studies this problem is usually solved using meta-heuristic algorithms such as genetic algorithms (GA) particleswarm optimization (PSO) ant colony optimization (ACO)and bee colony algorithms (BA)Thesemethods usually workpretty well

(7) Multiple Constrained Optimization Path Selection ModelIn the improved model (Figure 2) there are more con-straints to ensure the existence of edges between the selectedmanufacturing service nodes In summary the problem ofmanufacturing service composition can be abstracted as amulticonstrained optimization path selection problem andformulated as (10) In (10) m is the number of subtasksdi is the number of candidate services in candidate serviceset j and xij is the decision variable xij equals 1 if the ithmanufacturing service in service candidate j is chosen andotherwise it equals 0

min 119880 (119879 119862 119877)st 0 le 119860 (119879V119904997888rarrV119905) le 119879119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119862V119904997888rarrV119905) le 119862119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119877V119904997888rarrV119905) le 1198771198881199001198991199041199051199031198861198941198991199041198891sum119894=1

1199091198941 = 11198892sum119894=1

1199091198942 = 1 119889119898sum119894=1

119909119894119898 = 1119909119894119895 = 0 119900119903 1

(10)

The meta-heuristic algorithms can also solve the serviceselection problem with multi-QoS constraints and decisionvariable constraints However [40] proved that they have lowefficiencies in finding a near-optimal solution in large-scalenetworks Taking GA as an example with the increase ofnode scale the algorithm takes a very long time to obtainthe near optimal solution and it is often unable to obtain thefeasible solution within the set upper limit of iteration timesCompared with meta-heuristic algorithms the proposedDHA OSCP is a more direct and effective algorithm to solvethis problem This is ascribed to the advantage that theDHA OSCP algorithm can always satisfy the constraints ofdecision variables in the process of execution

4 Service Composition PathSelection Algorithms

In this section some existing approximation algorithms fortheMCOP selection problem are firstly introduced includingH MCOP H OSTP and MFPB HOSTP Then a novel DualHeuristic Functions based Optimal Service CompositionPath algorithm (DHA OSCP) is described in detail

41 Existing Algorithms

(1) H MCOP H MCOP [8] is a heuristic algorithm proposedby Korkmaz and Krunz for the multiplendashconstrained optimalpath selection problem This algorithm first proposed amethod of QoS aggregation which is also the target of thereverse search as shown in

119892120582 (119901) ≜ (1199021 (119901)1198761V119904V119905

)120582 + (1199022 (119901)1198762V119904V119905

)120582 + sdot sdot sdot+ (119902119898 (119901)119876119898

V119904V119905

)120582(11)

H MCOP first adopts Dijkstrarsquos shortest path algorithm tofind the path with the minimum 119892120582(119901) and investigateswhether there exists a feasible path satisfying all QoS con-straints If the 119892120582(119901) of an intermediated node vk is greaterthan m it is proved that there is no feasible path from vk to vt

10 Complexity

If there exists at least one feasible solution then this algorithmwill search the network from vs to vt in order to identify afeasible path with the minimal cost of services

Before the H OSTP algorithm [35] was proposed in 2010H MCOP was one of the most promising algorithms forthe MCOP selection problem It proved to outperform priorexisting algorithms in terms of both efficiency and solutionquality

(2)H OSTP InH OSTP Liu et al first proposed the objectivefunction given in (12) and adopted the backward searchalgorithm to identify whether there was a feasible path withthe minimal 120575 from vt to vs If a feasible solution existsH OSTP then adopts the forward search algorithm to delivera near-optimal solution

120575 (119901) ≜ max 1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

(12)

H OSTP designed a target function 120575(p) which is better thanH MCOP for reverse search and this algorithm can providean optimal service composition path that is no worse thanH MCOP In addition through the reverse search strategyH OSTP can calculate whether the foreseen path is feasiblein advance which reduces the search space of the algorithmand improves the efficiency of the algorithm However thisalgorithm has some shortcomings in balancing different QoSattributes

(3) MFPB HOSTP In order to solve the imbalance prob-lem of H OPTP Liu et al proposed the MFPB HOSTPalgorithm [36] in 2013 In addition to selecting 120575(p) as thetarget to search a network the algorithm also identifies theoptimal paths with the searching target Tmin Cmin andRmax When the imbalance problem occurs MFPB-HOSTPdetermines the QoS index (for example T) that does notsatisfy the constraint Then the algorithm selects the nodeof the Tmin path to replace the node with the best 120575(p)path as the starting point for the next searching stage Atthe same time the algorithm defines the CBLP path sets toprevent the new imbalance problem By this method thealgorithm can get a near-optimal path that is no worse thanH OSTP

TheMFPB HOSTP algorithm inherits a lot of advantagesfromH OSTP and uses the CBLP path sets to solve the imbal-ance problem that best 120575(p) searching may bring Howeverthis algorithmwill incur a large amount of computation whenthere are lots of imbalance problems or complex processes inthe service network

42 e DHA OSCP Algorithm

(1) Overview First of all some definitions are introduced

Definition 1 (feasible heuristic path) In a subnetwork fromvs to vt a Feasible Heuristic Path (FHP) is the path from vt tothe intermediate node vk identified by the Delta BackwardSearch with (13) as the target

120575 (119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )= min(max

119879119887119886119888119896119908119886119903119889V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119887119886119888119896119908119886119903119889V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119887119886119888119896119908119886119903119889V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

)(13)

Definition 2 (utility heuristic path) In a subnetwork from vsto vt a Utility Heuristic Path (UHP) is the path from vt tothe intermediate node vk identified by the utility backwardsearch with (14) as the target

119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119908119879 times 119879119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119862

times 119862119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119877

times ln (119877119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

(14)

Definition 3 (forward path) In a subnetwork from vs to vta Forward Path (FP) is the path from vs node vt identifiedby the forward search The forward path is no worse than theFHP and UHP

Based on the definitions above a novel Dual HeuristicFunctions based Optimal Service Composition Path algo-rithm (DHA OSCP) is proposed in this paper which adoptstwo heuristic functions and the pruning searching strategy toobtain feasible heuristic path (FHP) and utility heuristic path(UHP)

The DHA OSCP algorithm is divided into two partsnamely the backward search process determining twoheuris-tic functions and the forward search process confirmingthe best utility path In the backward search procedure thealgorithm determines the feasible heuristic path (FHP) fromvk to vt (denoted by pbackwardvk997888rarrvt ) by using (12) as the searchtarget Then the algorithm determines the utility heuristicpath (UHP) from vk to vt (denoted by pbackwardutivk997888rarrvt ) with (13)as the search target The overview of DHA OSCP algorithmis shown in Figure 5

(2) Description A more detailed description of the proposedDHA OSCP algorithm is given below The algorithm isdivided into four main steps the pruning of the manufactur-ing service network the feasible backward search the utilitybackward search and the Alowast forward search These partswill be introduced in turn The pseudocode of the proposedDHA OSCP is given in Appendix A

Step 1 (network pruning) Designing appropriate pruningstrategies can effectively reduce the search space and the timecomplexity of the DHA OSCP algorithm without affectingthe quality of the solution The following two strategies areused to prune the manufacturing service network

The first strategy is pruning based on the process flowAccording to the decomposition of themanufacturing servicetask the nodes and the edges of themanufacturing service areextracted so that the manufacturing service network suitable

Complexity 11

Input()

Input the QoS value (TCR) of the nodes and edges ofmanufacturing network

Input the constraints and weights of QoS attributes

Prune()

Pruning the nodes and edges that do not satisfy the QoS constraints

Backward_Search()

Carry out backward search procedure twice with (12) and (13) as the target respectively to obtain feasible

heuristic path (FHP) and utility heuristic path (UHP)

Forward_Search()

Carry out forward search procedure twice with FHP and UHP as the heuristic function to find out whether there

is a better path than FHP and UHP

Output()

Output the near optimal path and the utility value

Figure 5 Overview of DHA OSCP algorithm

for the task is obtained In the manufacturing network theedges caused by other process flows are removed by thepruning strategy

The second strategy is pruning based on QoS constraintsNodes and edges that cannot satisfy QoS constraints areremoved from the network according to (15) where 120574 repre-sents the threshold

min(119879119899119900119889119890119890119889119892119890119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119899119900119889119890119890119889119892119890119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119899119900119889119890119890119889119892119890)ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )) gt 120574 (15)

Step 2 (identification of a feasible backward path withminimal delta) In feasible backward search procedure theDHA OSCP algorithm searches the service network fromvt to intermediate vk to investigate whether there existsa feasible solution in the manufacturing network Feasiblebackward search can define the FHP of each intermediatenode vk which is one of the heuristic functions to supportthe Alowast forward search procedure The pseudocode of DeltaBackward Search is given in Appendix B

eorem 4 In the feasible backward search procedure thesearch process can successfully find a feasible solution if there isat least one feasible solution that exists in the service network

The proof of Theorem 4 is given in Appendix C

Step 3 (identification of a backward path with the best utility)In the utility backward search procedure the DHA OSCPalgorithm searches the service network from V119905 to eachintermediate node V119896 and identifies the best weighted meanpath using a greedy strategy 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 participates in theAlowast forward search procedure as another heuristic functionThe utility backward search procedure needs to be employedto handle the imbalance problems which may occur in theforward search procedure For example the QoS constraintsof the service network are (T le 1C le 1R ge 04) TheQoS values of the paths from V119905 to two intermediate nodesV119894 V119895 are119876119900119878(119901119887119886119888119896119908119886119903119889V119894997888rarrV119905

) = (05 01 09) and119876119900119878(119901119887119886119888119896119908119886119903119889V119895997888rarrV119905) =(045 045 045) Then the feasible backward search proce-

dure will select V119895 as the next node while the utility backwardsearch procedurewill select V119894 as the next nodeObviously thenode V119894 has a larger QoS value to spare so that V119894 is easier toavoid the imbalance problem Therefore choosing the dualheuristic function strategy of FHP and UHP can effectivelyavoid the occurrence of the imbalance problem and generatea chance to deliver a better solutionThe pseudocode of utilitybackward search is given in Appendix D

Step 4 (identification the near-optimal path based on FHPand UHP) The forward search procedure will investigatewhether there is a path 119901119891119900119903119908119886119903119889V119904997888rarrV119905 that is better in quality thanboth 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 and 119901119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119905 The pseudocode of forwardsearch is given in Appendix E In this procedure DHA OSCPsearches the path with the best utility from V119904 to V119905 basedon Alowast algorithm Assume that V119896119891 and V119896119906 are selected asthe intermediate nodes based on FHP and UHP then twoforeseen paths 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areformed According to the feasibility of these two paths DHA-OSCP uses the following strategies to identify the optimalpath

Case 1 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 arefeasible) The DHA-OSCP algorithm calculates the unityvalues of the two foreseen paths and then continues to searchthe network

Case 2 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is feasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 isinfeasible) The forward search procedure based on FHP cancontinue to search The forward search procedure based onUHP will search another neighborhood node of V119904 with thebest utility and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 based on FHP The the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 into consideration

Case 3 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is infeasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905is feasible) The forward search procedure based onUHP can

12 Complexity

Table 2 Complexity analysis of the three algorithms

Algorithm ComplexityH OSTP O(2times(NlogN+E)) [35]MFPB HOSTP O(6times(NlogN+E)+KE) [36]DHA OSCP O(4times(NlogN+E))

continue to search The forward search procedure based onFHP will search another neighborhood node of V119904 with theminimal 120575 and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840

119896119891997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 based on UHP Next the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119891 into consideration

Case 4 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areinfeasible) The algorithm adopts the two processing meth-ods described in Cases 2 and 3 respectively when the cor-responding path is infeasible Then four new foreseen paths119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840119896119891997888rarrV119905

and

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 are formed Then the algorithm movesforward to determine whether these foreseen paths arefeasible and choose the feasible path with higher utilityto continue searching If all of these paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 and V119904997888rarr V119896119891 intoconsideration

(3) Algorithm Complexity Analysis Assume that only threeQoS attributes (ie T C and R) are taken into considerationthe time complexity of these three algorithms is shown inTable 2 where N is the number of nodes in the subnetworkbetween V119904 and V119905 E is the number of the edges in themanufacturing network and K is the hops between V119904 andV119905

Below the detailed analysis of these representations isgiven Specifically H OSTP takes twice as much time asDijkstrarsquos shortest path algorithm As such the time com-plexity of this algorithm is O(2times(N logN + E)) which isequal to O(N logN + E) MFPB HOSTP adopts Dijkstrarsquosshortest path algorithm four times in the Backward Searchprocedure with the time complexity of O(4times(N logN + E))In the Forward Search MFPB HOSTP takes twice as muchtime as Dijkstrarsquos shortest path algorithm which meansthe time complexity for this part is O(2times(N logN + E))Besides the time complexity of finding the feasible foreseenpaths is O(KE) So the time complexity of MFPB HOSTPis O(N logN+KE) DHA OSCP adopts Dijkstrarsquos shortestpath algorithm twice both in the Backward Search procedureand in Forward Search procedure so its time complexity isO(4times(N logN + E)) which is equal to O(N logN + E)

The analysis above is based on the assumption thatonly three QoS attributes are taken into account If M QoSattributes are taken into consideration the time complexity ofMFPB HOSTP will turn into O(Mtimes(N log N + E)+KE) whilethe time complexity of DHA OSCP is still O(N logN + E)meaning that the proposed algorithm is better for large-scaleproblems

5 Computational Experiments and Discussion

In order to evaluate the performance of the proposedDHA OSCP algorithm computational experiments are con-ducted to make various comparisons between DHA OSCPand popular H OSTP and MFPB HOSTP algorithms thathave been proved to be effective for service compositionproblems

The execution time and the quality of the solution areinfluenced by the scale and structure of the network andthe QoS constraints In order to study the performance ofthe proposed heuristic algorithm under varied conditionsthe service networks with different scales and structuresare randomly generated Then the qualities of the solutionsobtained by the three algorithms are compared in detailFigure 6 shows the comparisons of results under variedconditionsThere are 20 groups ofmanufacturing networks inthe experiments and 20 sets of QoS constraints in each groupTherefore the results of 400 groups of experiments are shownin each subgraph of Figure 6 QoS preferences regarding thetask are chosen as 119908119879 = 05 119908119862 = 06 119908119877 = 08 andthe initial QoS constraint values are chosen as Tconstraints =09Cconstraints = 09 Rconstraints = 02 Then the T C areincreased by 001 and the R is reduced by 001

Figure 6 shows that DHA OSCP algorithm has a largerpossibility to find a better solution under different net-work scale and QoS constraints The X-axis and the Y-axis represent different network scales and QoS constraintsrespectively The Z-axis represents the utility values obtainedby the three algorithms Each point in the figure repre-sents the utility value of the optimal path under certainnetwork scale and QoS constraints As shown in the figureif there are no feasible solutions in the network all of thethree algorithms can determine the infeasibility MoreoverDHA OSCP manages to find feasible solutions for all caseswithout a utility value worse than that of H OSTP andobtains better results than H OSTP in 12375 of the totalexperiments (ie 198 of 1600) DHA OSCP also obtainsbetter results than MFPB HOSTP in 10875 of the totalexperiments (ie 174 of 1600)This validates the effectivenessof the DHA OSCP algorithm in finding a near-optimalsolutionThe execution times of the algorithms are influencedby the network scale and the number of hops in the networkAn additional experiment with details below is then designedto compare the utility values and execution times of the threealgorithms

Seven groups of networks are generated with a node sizeof 100 150 200 250 300 350 and 400 respectively For eachgroup of networks 20 sets of QoS constraints are taken and20 networks are generated for each set of the QoS constraintsto carry out the experiment The sum of utility values and

Complexity 13

times H_OSTPMFPB_HOSTP

QoS constraints

Better

Same1

090807060504030201

0

1090807060504030201

0

09

08

07

06

05

04

03

02

01

0

1090807060504030201

020

2018

1816

1614

14121210

10886

64 42 2

2018161412108642

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42 00

0

20181614121086420

20181614121086420

Infeasible

NetworkID

DHA_OSCP

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

Figure 6 Solution quality with different scales of service network

execution time of the 400 experiments are compared for eachnode size The experiment results are shown in Tables 3ndash5

Though the computational experiments were conductedon networks with different scales structures and constraintswe can draw the conclusion that on average DHA OSCPcan get the path with better utility value than that ofMFPB HOSTP at a lower time cost In terms of meanexecution time DHA OSCP can achieve reduction of timecost by 437 503 and 407 respectively for theexamples shown in Tables 3ndash5 Since both DHA OSCP andMFPB HOSTP have measures of addressing the imbalanceproblem at the cost of execution time they achieve muchbetter utility values than those of H OSTP but more exe-cution time is incurred When both quality of result andtime cost are considered DHA OSCP achieves better overallperformance compared with MFPB HOSTP and H OSTPwhich is important for working with manufacturing servicenetworks

Additionally compared with H OSTP the DHA OSCPalgorithm adopts two heuristic functions in the forward

search procedure this turns to ensure that nomatterwhetherimbalanced problems of QoS attributes exist it can alwaysget a near-optimal path that is no worse than the oneobtained using H OSTP Although the execution time ofDHA OSCP is increased due to taking additionalmeasure foraddressing imbalance problems it achieves the same level oftime complexity as that of H OSTP In summary DHA OSCPcan obtain solutions that are much better than H OSTP at areasonable time cost

Both MFPB HOSTP and DHA OSCP can solve theimbalance problem to a great extent Nonetheless the timecomplexity of the DHA OSCP algorithm is lower The timecomplexity of MFPB HOSTP would become intolerable ifthe number of hops in the manufacturing network increasedto a large level Moreover the DHA OSCP algorithm canget a solution with a much better utility value than thatof MFPB HOSTP This is because the forward search pro-cedure adopts UHP as a heuristic function which takesinto account the coefficients of the utility function Thisis a better search strategy compared with MFPB HOSTP

14 Complexity

Table 3 Results of Different Node Size

Node size H OSTP MFPB HOSTP DHA OSCPUtility value Execution time Utility value Execution time Utility value Execution time

100 1510454 121380 1495541 301070 1480524 234170150 1706428 251980 1688756 770790 1654677 529100200 1489640 438350 1471278 949910 1447855 1380930250 1355056 672910 1344681 2189750 1325991 1475550300 1238503 981380 1230763 3219790 1207582 2141920350 1133137 1339490 1127778 4666080 1104149 2923780400 1053334 1775580 1046502 5928810 1031810 3856320

Table 4 Results of Different QoS Constraints

QoS constraints H OSTP MFPB HOSTP DHA OSCPT C R Utility value Execution time Utility value Execution time Utility value Execution time090 090 02 2149406 235230 2148814 644120 2093961 443610094 094 018 1956596 229250 1956285 599620 1884452 420600098 098 016 1790496 231040 1790496 661650 1772467 438820102 102 014 1701983 244250 1701769 723250 1698541 465420104 104 012 1753381 245360 1717547 696620 1701082 466200108 108 010 1995259 247680 1983515 792850 1967191 493220110 110 008 1338181 241440 1333709 749020 1326810 523690112 112 006 1535065 243210 1530866 799630 1495530 519410

Table 5 Results of Different Coefficient

Coefficient H OSTP MFPB HOSTP DHA OSCPwT wC wR Utility value Execution time Utility value Execution time Utility value Execution time01 01 08 1636718 273650 1612995 767250 1585643 55779001 08 01 1938172 251740 1924318 756600 1905009 52143008 01 01 1893298 256050 1876882 762140 1856349 54689003 03 04 2103357 250490 2099200 739410 2088499 52979002 06 02 2116633 249890 2109084 744460 2086980 53881002 02 06 1895776 248760 1888923 740830 1876530 51305001 04 05 1898427 245940 1891458 734170 1880153 52326005 04 01 2148865 251090 2143177 742740 2128045 526320

which uses CBLPs to solve the imbalance problem Withthe above discussions it can be concluded that DHA OSCPoutperforms MFPB HOSTP in terms of solution quality andtime complexity

6 Application to Automobile ManufacturingService Composition

The CASICloud (wwwcasicloudcom) is a CMfg platformfor registering and accessing manufacturing services whichhas a large number of service providers and service usersIn spite of being a popular platform it can only recommenda single manufacturing service provider for a manufactur-ing task and the capability of conducting manufacturingservice composition for complex tasks is missing To verifythe viability of the proposed model and algorithm theyare implemented and integrated into the platform as anadd-on function and are tested using data from service

providers obtained from the CASICloud In this case anautomobile manufacturing process is chosen as an illustrativeexample

Figure 7 shows the graphical interface of the addi-tional function of service composition which also givesdetailed information about the service composition taskfor automobile manufacturing being solved using the pro-posed model and the DHA OSCP algorithm Specifically thetask of automobile manufacturing can be decomposed intofive subtasks namely body stamping body welding bodypainting automobile assembly and automobile test Eachsubtask has a set of candidate manufacturing services thatcan be selected to meet the requirements of the subtaskEach candidate service provider can be abstracted as a nodein the manufacturing network The logistics relationshipbetween service providers is recorded as an edge in themanufacturing network Using the DHA OSCP algorithm anear-optimal solution can be found from the starting nodeof the manufacturing network to the end one The choice

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 7: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

Complexity 7

1G

n 1

1G

n 2helliphellip

1G

n n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

12

n 1

11

n 1

11

n 212

n 2

12

n n

11

n n

11

n 1

11

n 2helliphellip

11

n n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

11

2 1

11

1 1

11

1 211

2 2

11

2 n

11

1 n

1G

n n1G

nhelliphellip

1G

1 n

helliphellip

helliphellip

helliphellip

helliphellip helliphellip helliphellip

12

n n

11

n n11

n-1 n12

n-1

n-1

n

12

1 n

11

1 n

Figure 4 CubeModel of QoS attributes

by a three-dimensional matrix Each ldquolayerrdquo of the threedimensional matrix represents the adjacency matrix of asingle QoS index of the manufacturing service network Thematrix element aii represents the QoS attributes of node iand aij represent the QoS of the edge from node i to nodejTheQoS 3Dmodel of the manufacturing service network isshown in Figure 4

(3) Preprocessing of Network Structure In different man-ufacturing processes the completion of a manufacturingtask may involve four kinds of process structures namelysequence parallelism selection and cycle In order to applythe heuristic multiconstrained optimal path search methodto solve the manufacturing service composition problemthe parallel structure and the cyclic structure need to bepreprocessed in the manufacturing service network ascribedto the characteristics of Dijkstra algorithm Finally theextracted manufacturing service subnetwork is processedinto a weighted directed acyclic graph from the start point tothe end point and the multiconstraint service compositionproblem is transformed into a multiconstrained optimalpath selection problem Since the service composition modelproposed in this paper considers not only the manufacturingservice itself but also the relationship between manufacturingservices the preprocessing of the network structure alsoneeds to consider the attributes both of nodes and of edgesThe aggregation functions for QoS attributes of different ser-vices composition types are illustrated in Table 1 according tothe recursive characteristics [39] of manufacturing services

(4) e Method of QoS Attributes Aggregation During thesearch process the aggregation method of QoS attributesneeds to be determined to support calculation in the algo-rithm For time and cost the algorithm needs to add themup to get the total time and cost of the existing compositionFor reliability the product of different nodes (edges) isthe reliability of the composition service Therefore theaggregation methods of different nodes and edges in themanufacturing network are shown below

Time Time is a cumulative index Suppose that anoptimal manufacturing path has n candidate then the aggre-gated time can be calculated using (5) which includes theaggregation of service nodes and the aggregation of edges

119860(119879V119904997888rarrV119905) = 119899minus1sum119894=2

119879119894119899119900119889119890 + 119899minus2sum119895=2

119879119895119895+1119890119889119892119890 (5)

Cost Cost is a cumulative indexThe aggregated Costs can becalculated using

119860(119862V119904997888rarrV119905) = 119899minus1sum119894=2

119862119894119899119900119889119890 + 119899minus2sum

119895=2

119862119895119895+1

119890119889119892119890 (6)

Reliability Reliability is a multiplicative index Suppose thatoptimal manufacturing path has n candidate then the aggre-gated reliability can be calculated by

119860(119877V119904997888rarrV119905) = 119899minus1prod119894=2

119877119894119899119900119889119890 times 119899minus1prod119895=2

119877119895119895+1119890119889119892119890 (7)

8 Complexity

Table1Aggregatio

nMetho

dof

DifferentP

rocessStructures

Structure

Time

Cost

Reliability

Parallel

qtim

epar=m

ax(q i(

node))+

max(q j(

edge))

qcost

par=n sum i=

1

q i(nod

e )+m sum i=1

q j(edg

e)qr

eli

par=n prod i=

1

q i(nod

e )timesm prod j=1

q j(edg

e)Selective

qtim

esel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qcost

sel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qreli

sel=n prod i=

1

q i(nod

e )times120596 itimes

m prod j=1

q j(edg

e)times120596 j

Cyclic

qtim

esel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qt

ime

sel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qr

eli

par=120579

times (n prod i=1

q i(nod

e )timesm prod j=1

q j(edg

e ))

Complexity 9

(5) Utility Function In this model the utility functiondescribes the overall performance of the optimal servicecomposition path in different QoS aspects Since differentQoS indexes have different scales the QoS indexes arenormalized in the utility function

The QoS indexes are divided into two kinds positiveindexes and negative indexes Reliability is a positive multi-plicative index while time and costs are negative cumulativeindexes The utility function is calculated by

119880 (119879 119862 119877) = 119908119879 times 119860 (119879V119904997888rarrV119905)119879119888119900119899119904119905119903119886119894119899119904 + 119908119862 times 119860 (119862V119904997888rarrV119905)119862119888119900119899119904119905119903119886119894119899119904+ 119908119877 times ln (119860 (119877V119904997888rarrV119905))

ln (119877119888119900119899119904119905119903119886119894119899119904)(8)

In the equation wT wC wR are the weights of T C Rrespectively with the conditions of wT + wC + wR = 1 and0 lt wTwCwR lt 1(6) Traditional Service Composition Model In the existingstudies the manufacturing service composition problem canbe described as a 0-1 integer constrained multiobjectiveoptimization problem based on the model in Figure 1 Thetraditional service composition model is formulated as

min119880 (119879 119862 119877)0 le 119860 (119879V119904997888rarrV119905) le 1198791198881199001198991199041199051199031198861198941198991199040 le 119860 (119862V119904997888rarrV119905) le 1198621198881199001198991199041199051199031198861198941198991199040 le 119860 (119877V119904997888rarrV119905) le 119877119888119900119899119904119905119903119886119894119899119904

(9)

In these studies this problem is usually solved using meta-heuristic algorithms such as genetic algorithms (GA) particleswarm optimization (PSO) ant colony optimization (ACO)and bee colony algorithms (BA)Thesemethods usually workpretty well

(7) Multiple Constrained Optimization Path Selection ModelIn the improved model (Figure 2) there are more con-straints to ensure the existence of edges between the selectedmanufacturing service nodes In summary the problem ofmanufacturing service composition can be abstracted as amulticonstrained optimization path selection problem andformulated as (10) In (10) m is the number of subtasksdi is the number of candidate services in candidate serviceset j and xij is the decision variable xij equals 1 if the ithmanufacturing service in service candidate j is chosen andotherwise it equals 0

min 119880 (119879 119862 119877)st 0 le 119860 (119879V119904997888rarrV119905) le 119879119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119862V119904997888rarrV119905) le 119862119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119877V119904997888rarrV119905) le 1198771198881199001198991199041199051199031198861198941198991199041198891sum119894=1

1199091198941 = 11198892sum119894=1

1199091198942 = 1 119889119898sum119894=1

119909119894119898 = 1119909119894119895 = 0 119900119903 1

(10)

The meta-heuristic algorithms can also solve the serviceselection problem with multi-QoS constraints and decisionvariable constraints However [40] proved that they have lowefficiencies in finding a near-optimal solution in large-scalenetworks Taking GA as an example with the increase ofnode scale the algorithm takes a very long time to obtainthe near optimal solution and it is often unable to obtain thefeasible solution within the set upper limit of iteration timesCompared with meta-heuristic algorithms the proposedDHA OSCP is a more direct and effective algorithm to solvethis problem This is ascribed to the advantage that theDHA OSCP algorithm can always satisfy the constraints ofdecision variables in the process of execution

4 Service Composition PathSelection Algorithms

In this section some existing approximation algorithms fortheMCOP selection problem are firstly introduced includingH MCOP H OSTP and MFPB HOSTP Then a novel DualHeuristic Functions based Optimal Service CompositionPath algorithm (DHA OSCP) is described in detail

41 Existing Algorithms

(1) H MCOP H MCOP [8] is a heuristic algorithm proposedby Korkmaz and Krunz for the multiplendashconstrained optimalpath selection problem This algorithm first proposed amethod of QoS aggregation which is also the target of thereverse search as shown in

119892120582 (119901) ≜ (1199021 (119901)1198761V119904V119905

)120582 + (1199022 (119901)1198762V119904V119905

)120582 + sdot sdot sdot+ (119902119898 (119901)119876119898

V119904V119905

)120582(11)

H MCOP first adopts Dijkstrarsquos shortest path algorithm tofind the path with the minimum 119892120582(119901) and investigateswhether there exists a feasible path satisfying all QoS con-straints If the 119892120582(119901) of an intermediated node vk is greaterthan m it is proved that there is no feasible path from vk to vt

10 Complexity

If there exists at least one feasible solution then this algorithmwill search the network from vs to vt in order to identify afeasible path with the minimal cost of services

Before the H OSTP algorithm [35] was proposed in 2010H MCOP was one of the most promising algorithms forthe MCOP selection problem It proved to outperform priorexisting algorithms in terms of both efficiency and solutionquality

(2)H OSTP InH OSTP Liu et al first proposed the objectivefunction given in (12) and adopted the backward searchalgorithm to identify whether there was a feasible path withthe minimal 120575 from vt to vs If a feasible solution existsH OSTP then adopts the forward search algorithm to delivera near-optimal solution

120575 (119901) ≜ max 1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

(12)

H OSTP designed a target function 120575(p) which is better thanH MCOP for reverse search and this algorithm can providean optimal service composition path that is no worse thanH MCOP In addition through the reverse search strategyH OSTP can calculate whether the foreseen path is feasiblein advance which reduces the search space of the algorithmand improves the efficiency of the algorithm However thisalgorithm has some shortcomings in balancing different QoSattributes

(3) MFPB HOSTP In order to solve the imbalance prob-lem of H OPTP Liu et al proposed the MFPB HOSTPalgorithm [36] in 2013 In addition to selecting 120575(p) as thetarget to search a network the algorithm also identifies theoptimal paths with the searching target Tmin Cmin andRmax When the imbalance problem occurs MFPB-HOSTPdetermines the QoS index (for example T) that does notsatisfy the constraint Then the algorithm selects the nodeof the Tmin path to replace the node with the best 120575(p)path as the starting point for the next searching stage Atthe same time the algorithm defines the CBLP path sets toprevent the new imbalance problem By this method thealgorithm can get a near-optimal path that is no worse thanH OSTP

TheMFPB HOSTP algorithm inherits a lot of advantagesfromH OSTP and uses the CBLP path sets to solve the imbal-ance problem that best 120575(p) searching may bring Howeverthis algorithmwill incur a large amount of computation whenthere are lots of imbalance problems or complex processes inthe service network

42 e DHA OSCP Algorithm

(1) Overview First of all some definitions are introduced

Definition 1 (feasible heuristic path) In a subnetwork fromvs to vt a Feasible Heuristic Path (FHP) is the path from vt tothe intermediate node vk identified by the Delta BackwardSearch with (13) as the target

120575 (119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )= min(max

119879119887119886119888119896119908119886119903119889V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119887119886119888119896119908119886119903119889V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119887119886119888119896119908119886119903119889V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

)(13)

Definition 2 (utility heuristic path) In a subnetwork from vsto vt a Utility Heuristic Path (UHP) is the path from vt tothe intermediate node vk identified by the utility backwardsearch with (14) as the target

119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119908119879 times 119879119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119862

times 119862119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119877

times ln (119877119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

(14)

Definition 3 (forward path) In a subnetwork from vs to vta Forward Path (FP) is the path from vs node vt identifiedby the forward search The forward path is no worse than theFHP and UHP

Based on the definitions above a novel Dual HeuristicFunctions based Optimal Service Composition Path algo-rithm (DHA OSCP) is proposed in this paper which adoptstwo heuristic functions and the pruning searching strategy toobtain feasible heuristic path (FHP) and utility heuristic path(UHP)

The DHA OSCP algorithm is divided into two partsnamely the backward search process determining twoheuris-tic functions and the forward search process confirmingthe best utility path In the backward search procedure thealgorithm determines the feasible heuristic path (FHP) fromvk to vt (denoted by pbackwardvk997888rarrvt ) by using (12) as the searchtarget Then the algorithm determines the utility heuristicpath (UHP) from vk to vt (denoted by pbackwardutivk997888rarrvt ) with (13)as the search target The overview of DHA OSCP algorithmis shown in Figure 5

(2) Description A more detailed description of the proposedDHA OSCP algorithm is given below The algorithm isdivided into four main steps the pruning of the manufactur-ing service network the feasible backward search the utilitybackward search and the Alowast forward search These partswill be introduced in turn The pseudocode of the proposedDHA OSCP is given in Appendix A

Step 1 (network pruning) Designing appropriate pruningstrategies can effectively reduce the search space and the timecomplexity of the DHA OSCP algorithm without affectingthe quality of the solution The following two strategies areused to prune the manufacturing service network

The first strategy is pruning based on the process flowAccording to the decomposition of themanufacturing servicetask the nodes and the edges of themanufacturing service areextracted so that the manufacturing service network suitable

Complexity 11

Input()

Input the QoS value (TCR) of the nodes and edges ofmanufacturing network

Input the constraints and weights of QoS attributes

Prune()

Pruning the nodes and edges that do not satisfy the QoS constraints

Backward_Search()

Carry out backward search procedure twice with (12) and (13) as the target respectively to obtain feasible

heuristic path (FHP) and utility heuristic path (UHP)

Forward_Search()

Carry out forward search procedure twice with FHP and UHP as the heuristic function to find out whether there

is a better path than FHP and UHP

Output()

Output the near optimal path and the utility value

Figure 5 Overview of DHA OSCP algorithm

for the task is obtained In the manufacturing network theedges caused by other process flows are removed by thepruning strategy

The second strategy is pruning based on QoS constraintsNodes and edges that cannot satisfy QoS constraints areremoved from the network according to (15) where 120574 repre-sents the threshold

min(119879119899119900119889119890119890119889119892119890119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119899119900119889119890119890119889119892119890119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119899119900119889119890119890119889119892119890)ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )) gt 120574 (15)

Step 2 (identification of a feasible backward path withminimal delta) In feasible backward search procedure theDHA OSCP algorithm searches the service network fromvt to intermediate vk to investigate whether there existsa feasible solution in the manufacturing network Feasiblebackward search can define the FHP of each intermediatenode vk which is one of the heuristic functions to supportthe Alowast forward search procedure The pseudocode of DeltaBackward Search is given in Appendix B

eorem 4 In the feasible backward search procedure thesearch process can successfully find a feasible solution if there isat least one feasible solution that exists in the service network

The proof of Theorem 4 is given in Appendix C

Step 3 (identification of a backward path with the best utility)In the utility backward search procedure the DHA OSCPalgorithm searches the service network from V119905 to eachintermediate node V119896 and identifies the best weighted meanpath using a greedy strategy 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 participates in theAlowast forward search procedure as another heuristic functionThe utility backward search procedure needs to be employedto handle the imbalance problems which may occur in theforward search procedure For example the QoS constraintsof the service network are (T le 1C le 1R ge 04) TheQoS values of the paths from V119905 to two intermediate nodesV119894 V119895 are119876119900119878(119901119887119886119888119896119908119886119903119889V119894997888rarrV119905

) = (05 01 09) and119876119900119878(119901119887119886119888119896119908119886119903119889V119895997888rarrV119905) =(045 045 045) Then the feasible backward search proce-

dure will select V119895 as the next node while the utility backwardsearch procedurewill select V119894 as the next nodeObviously thenode V119894 has a larger QoS value to spare so that V119894 is easier toavoid the imbalance problem Therefore choosing the dualheuristic function strategy of FHP and UHP can effectivelyavoid the occurrence of the imbalance problem and generatea chance to deliver a better solutionThe pseudocode of utilitybackward search is given in Appendix D

Step 4 (identification the near-optimal path based on FHPand UHP) The forward search procedure will investigatewhether there is a path 119901119891119900119903119908119886119903119889V119904997888rarrV119905 that is better in quality thanboth 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 and 119901119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119905 The pseudocode of forwardsearch is given in Appendix E In this procedure DHA OSCPsearches the path with the best utility from V119904 to V119905 basedon Alowast algorithm Assume that V119896119891 and V119896119906 are selected asthe intermediate nodes based on FHP and UHP then twoforeseen paths 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areformed According to the feasibility of these two paths DHA-OSCP uses the following strategies to identify the optimalpath

Case 1 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 arefeasible) The DHA-OSCP algorithm calculates the unityvalues of the two foreseen paths and then continues to searchthe network

Case 2 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is feasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 isinfeasible) The forward search procedure based on FHP cancontinue to search The forward search procedure based onUHP will search another neighborhood node of V119904 with thebest utility and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 based on FHP The the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 into consideration

Case 3 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is infeasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905is feasible) The forward search procedure based onUHP can

12 Complexity

Table 2 Complexity analysis of the three algorithms

Algorithm ComplexityH OSTP O(2times(NlogN+E)) [35]MFPB HOSTP O(6times(NlogN+E)+KE) [36]DHA OSCP O(4times(NlogN+E))

continue to search The forward search procedure based onFHP will search another neighborhood node of V119904 with theminimal 120575 and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840

119896119891997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 based on UHP Next the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119891 into consideration

Case 4 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areinfeasible) The algorithm adopts the two processing meth-ods described in Cases 2 and 3 respectively when the cor-responding path is infeasible Then four new foreseen paths119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840119896119891997888rarrV119905

and

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 are formed Then the algorithm movesforward to determine whether these foreseen paths arefeasible and choose the feasible path with higher utilityto continue searching If all of these paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 and V119904997888rarr V119896119891 intoconsideration

(3) Algorithm Complexity Analysis Assume that only threeQoS attributes (ie T C and R) are taken into considerationthe time complexity of these three algorithms is shown inTable 2 where N is the number of nodes in the subnetworkbetween V119904 and V119905 E is the number of the edges in themanufacturing network and K is the hops between V119904 andV119905

Below the detailed analysis of these representations isgiven Specifically H OSTP takes twice as much time asDijkstrarsquos shortest path algorithm As such the time com-plexity of this algorithm is O(2times(N logN + E)) which isequal to O(N logN + E) MFPB HOSTP adopts Dijkstrarsquosshortest path algorithm four times in the Backward Searchprocedure with the time complexity of O(4times(N logN + E))In the Forward Search MFPB HOSTP takes twice as muchtime as Dijkstrarsquos shortest path algorithm which meansthe time complexity for this part is O(2times(N logN + E))Besides the time complexity of finding the feasible foreseenpaths is O(KE) So the time complexity of MFPB HOSTPis O(N logN+KE) DHA OSCP adopts Dijkstrarsquos shortestpath algorithm twice both in the Backward Search procedureand in Forward Search procedure so its time complexity isO(4times(N logN + E)) which is equal to O(N logN + E)

The analysis above is based on the assumption thatonly three QoS attributes are taken into account If M QoSattributes are taken into consideration the time complexity ofMFPB HOSTP will turn into O(Mtimes(N log N + E)+KE) whilethe time complexity of DHA OSCP is still O(N logN + E)meaning that the proposed algorithm is better for large-scaleproblems

5 Computational Experiments and Discussion

In order to evaluate the performance of the proposedDHA OSCP algorithm computational experiments are con-ducted to make various comparisons between DHA OSCPand popular H OSTP and MFPB HOSTP algorithms thathave been proved to be effective for service compositionproblems

The execution time and the quality of the solution areinfluenced by the scale and structure of the network andthe QoS constraints In order to study the performance ofthe proposed heuristic algorithm under varied conditionsthe service networks with different scales and structuresare randomly generated Then the qualities of the solutionsobtained by the three algorithms are compared in detailFigure 6 shows the comparisons of results under variedconditionsThere are 20 groups ofmanufacturing networks inthe experiments and 20 sets of QoS constraints in each groupTherefore the results of 400 groups of experiments are shownin each subgraph of Figure 6 QoS preferences regarding thetask are chosen as 119908119879 = 05 119908119862 = 06 119908119877 = 08 andthe initial QoS constraint values are chosen as Tconstraints =09Cconstraints = 09 Rconstraints = 02 Then the T C areincreased by 001 and the R is reduced by 001

Figure 6 shows that DHA OSCP algorithm has a largerpossibility to find a better solution under different net-work scale and QoS constraints The X-axis and the Y-axis represent different network scales and QoS constraintsrespectively The Z-axis represents the utility values obtainedby the three algorithms Each point in the figure repre-sents the utility value of the optimal path under certainnetwork scale and QoS constraints As shown in the figureif there are no feasible solutions in the network all of thethree algorithms can determine the infeasibility MoreoverDHA OSCP manages to find feasible solutions for all caseswithout a utility value worse than that of H OSTP andobtains better results than H OSTP in 12375 of the totalexperiments (ie 198 of 1600) DHA OSCP also obtainsbetter results than MFPB HOSTP in 10875 of the totalexperiments (ie 174 of 1600)This validates the effectivenessof the DHA OSCP algorithm in finding a near-optimalsolutionThe execution times of the algorithms are influencedby the network scale and the number of hops in the networkAn additional experiment with details below is then designedto compare the utility values and execution times of the threealgorithms

Seven groups of networks are generated with a node sizeof 100 150 200 250 300 350 and 400 respectively For eachgroup of networks 20 sets of QoS constraints are taken and20 networks are generated for each set of the QoS constraintsto carry out the experiment The sum of utility values and

Complexity 13

times H_OSTPMFPB_HOSTP

QoS constraints

Better

Same1

090807060504030201

0

1090807060504030201

0

09

08

07

06

05

04

03

02

01

0

1090807060504030201

020

2018

1816

1614

14121210

10886

64 42 2

2018161412108642

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42 00

0

20181614121086420

20181614121086420

Infeasible

NetworkID

DHA_OSCP

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

Figure 6 Solution quality with different scales of service network

execution time of the 400 experiments are compared for eachnode size The experiment results are shown in Tables 3ndash5

Though the computational experiments were conductedon networks with different scales structures and constraintswe can draw the conclusion that on average DHA OSCPcan get the path with better utility value than that ofMFPB HOSTP at a lower time cost In terms of meanexecution time DHA OSCP can achieve reduction of timecost by 437 503 and 407 respectively for theexamples shown in Tables 3ndash5 Since both DHA OSCP andMFPB HOSTP have measures of addressing the imbalanceproblem at the cost of execution time they achieve muchbetter utility values than those of H OSTP but more exe-cution time is incurred When both quality of result andtime cost are considered DHA OSCP achieves better overallperformance compared with MFPB HOSTP and H OSTPwhich is important for working with manufacturing servicenetworks

Additionally compared with H OSTP the DHA OSCPalgorithm adopts two heuristic functions in the forward

search procedure this turns to ensure that nomatterwhetherimbalanced problems of QoS attributes exist it can alwaysget a near-optimal path that is no worse than the oneobtained using H OSTP Although the execution time ofDHA OSCP is increased due to taking additionalmeasure foraddressing imbalance problems it achieves the same level oftime complexity as that of H OSTP In summary DHA OSCPcan obtain solutions that are much better than H OSTP at areasonable time cost

Both MFPB HOSTP and DHA OSCP can solve theimbalance problem to a great extent Nonetheless the timecomplexity of the DHA OSCP algorithm is lower The timecomplexity of MFPB HOSTP would become intolerable ifthe number of hops in the manufacturing network increasedto a large level Moreover the DHA OSCP algorithm canget a solution with a much better utility value than thatof MFPB HOSTP This is because the forward search pro-cedure adopts UHP as a heuristic function which takesinto account the coefficients of the utility function Thisis a better search strategy compared with MFPB HOSTP

14 Complexity

Table 3 Results of Different Node Size

Node size H OSTP MFPB HOSTP DHA OSCPUtility value Execution time Utility value Execution time Utility value Execution time

100 1510454 121380 1495541 301070 1480524 234170150 1706428 251980 1688756 770790 1654677 529100200 1489640 438350 1471278 949910 1447855 1380930250 1355056 672910 1344681 2189750 1325991 1475550300 1238503 981380 1230763 3219790 1207582 2141920350 1133137 1339490 1127778 4666080 1104149 2923780400 1053334 1775580 1046502 5928810 1031810 3856320

Table 4 Results of Different QoS Constraints

QoS constraints H OSTP MFPB HOSTP DHA OSCPT C R Utility value Execution time Utility value Execution time Utility value Execution time090 090 02 2149406 235230 2148814 644120 2093961 443610094 094 018 1956596 229250 1956285 599620 1884452 420600098 098 016 1790496 231040 1790496 661650 1772467 438820102 102 014 1701983 244250 1701769 723250 1698541 465420104 104 012 1753381 245360 1717547 696620 1701082 466200108 108 010 1995259 247680 1983515 792850 1967191 493220110 110 008 1338181 241440 1333709 749020 1326810 523690112 112 006 1535065 243210 1530866 799630 1495530 519410

Table 5 Results of Different Coefficient

Coefficient H OSTP MFPB HOSTP DHA OSCPwT wC wR Utility value Execution time Utility value Execution time Utility value Execution time01 01 08 1636718 273650 1612995 767250 1585643 55779001 08 01 1938172 251740 1924318 756600 1905009 52143008 01 01 1893298 256050 1876882 762140 1856349 54689003 03 04 2103357 250490 2099200 739410 2088499 52979002 06 02 2116633 249890 2109084 744460 2086980 53881002 02 06 1895776 248760 1888923 740830 1876530 51305001 04 05 1898427 245940 1891458 734170 1880153 52326005 04 01 2148865 251090 2143177 742740 2128045 526320

which uses CBLPs to solve the imbalance problem Withthe above discussions it can be concluded that DHA OSCPoutperforms MFPB HOSTP in terms of solution quality andtime complexity

6 Application to Automobile ManufacturingService Composition

The CASICloud (wwwcasicloudcom) is a CMfg platformfor registering and accessing manufacturing services whichhas a large number of service providers and service usersIn spite of being a popular platform it can only recommenda single manufacturing service provider for a manufactur-ing task and the capability of conducting manufacturingservice composition for complex tasks is missing To verifythe viability of the proposed model and algorithm theyare implemented and integrated into the platform as anadd-on function and are tested using data from service

providers obtained from the CASICloud In this case anautomobile manufacturing process is chosen as an illustrativeexample

Figure 7 shows the graphical interface of the addi-tional function of service composition which also givesdetailed information about the service composition taskfor automobile manufacturing being solved using the pro-posed model and the DHA OSCP algorithm Specifically thetask of automobile manufacturing can be decomposed intofive subtasks namely body stamping body welding bodypainting automobile assembly and automobile test Eachsubtask has a set of candidate manufacturing services thatcan be selected to meet the requirements of the subtaskEach candidate service provider can be abstracted as a nodein the manufacturing network The logistics relationshipbetween service providers is recorded as an edge in themanufacturing network Using the DHA OSCP algorithm anear-optimal solution can be found from the starting nodeof the manufacturing network to the end one The choice

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 8: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

8 Complexity

Table1Aggregatio

nMetho

dof

DifferentP

rocessStructures

Structure

Time

Cost

Reliability

Parallel

qtim

epar=m

ax(q i(

node))+

max(q j(

edge))

qcost

par=n sum i=

1

q i(nod

e )+m sum i=1

q j(edg

e)qr

eli

par=n prod i=

1

q i(nod

e )timesm prod j=1

q j(edg

e)Selective

qtim

esel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qcost

sel=n sum i=

1

q i(nod

e )times120596 i+

m sum j=1

q j(edg

e)times120596 j

qreli

sel=n prod i=

1

q i(nod

e )times120596 itimes

m prod j=1

q j(edg

e)times120596 j

Cyclic

qtim

esel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qt

ime

sel=120579

times (n sum i=1

q i(nod

e )+m sum j=1

q j(edg

e ))qr

eli

par=120579

times (n prod i=1

q i(nod

e )timesm prod j=1

q j(edg

e ))

Complexity 9

(5) Utility Function In this model the utility functiondescribes the overall performance of the optimal servicecomposition path in different QoS aspects Since differentQoS indexes have different scales the QoS indexes arenormalized in the utility function

The QoS indexes are divided into two kinds positiveindexes and negative indexes Reliability is a positive multi-plicative index while time and costs are negative cumulativeindexes The utility function is calculated by

119880 (119879 119862 119877) = 119908119879 times 119860 (119879V119904997888rarrV119905)119879119888119900119899119904119905119903119886119894119899119904 + 119908119862 times 119860 (119862V119904997888rarrV119905)119862119888119900119899119904119905119903119886119894119899119904+ 119908119877 times ln (119860 (119877V119904997888rarrV119905))

ln (119877119888119900119899119904119905119903119886119894119899119904)(8)

In the equation wT wC wR are the weights of T C Rrespectively with the conditions of wT + wC + wR = 1 and0 lt wTwCwR lt 1(6) Traditional Service Composition Model In the existingstudies the manufacturing service composition problem canbe described as a 0-1 integer constrained multiobjectiveoptimization problem based on the model in Figure 1 Thetraditional service composition model is formulated as

min119880 (119879 119862 119877)0 le 119860 (119879V119904997888rarrV119905) le 1198791198881199001198991199041199051199031198861198941198991199040 le 119860 (119862V119904997888rarrV119905) le 1198621198881199001198991199041199051199031198861198941198991199040 le 119860 (119877V119904997888rarrV119905) le 119877119888119900119899119904119905119903119886119894119899119904

(9)

In these studies this problem is usually solved using meta-heuristic algorithms such as genetic algorithms (GA) particleswarm optimization (PSO) ant colony optimization (ACO)and bee colony algorithms (BA)Thesemethods usually workpretty well

(7) Multiple Constrained Optimization Path Selection ModelIn the improved model (Figure 2) there are more con-straints to ensure the existence of edges between the selectedmanufacturing service nodes In summary the problem ofmanufacturing service composition can be abstracted as amulticonstrained optimization path selection problem andformulated as (10) In (10) m is the number of subtasksdi is the number of candidate services in candidate serviceset j and xij is the decision variable xij equals 1 if the ithmanufacturing service in service candidate j is chosen andotherwise it equals 0

min 119880 (119879 119862 119877)st 0 le 119860 (119879V119904997888rarrV119905) le 119879119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119862V119904997888rarrV119905) le 119862119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119877V119904997888rarrV119905) le 1198771198881199001198991199041199051199031198861198941198991199041198891sum119894=1

1199091198941 = 11198892sum119894=1

1199091198942 = 1 119889119898sum119894=1

119909119894119898 = 1119909119894119895 = 0 119900119903 1

(10)

The meta-heuristic algorithms can also solve the serviceselection problem with multi-QoS constraints and decisionvariable constraints However [40] proved that they have lowefficiencies in finding a near-optimal solution in large-scalenetworks Taking GA as an example with the increase ofnode scale the algorithm takes a very long time to obtainthe near optimal solution and it is often unable to obtain thefeasible solution within the set upper limit of iteration timesCompared with meta-heuristic algorithms the proposedDHA OSCP is a more direct and effective algorithm to solvethis problem This is ascribed to the advantage that theDHA OSCP algorithm can always satisfy the constraints ofdecision variables in the process of execution

4 Service Composition PathSelection Algorithms

In this section some existing approximation algorithms fortheMCOP selection problem are firstly introduced includingH MCOP H OSTP and MFPB HOSTP Then a novel DualHeuristic Functions based Optimal Service CompositionPath algorithm (DHA OSCP) is described in detail

41 Existing Algorithms

(1) H MCOP H MCOP [8] is a heuristic algorithm proposedby Korkmaz and Krunz for the multiplendashconstrained optimalpath selection problem This algorithm first proposed amethod of QoS aggregation which is also the target of thereverse search as shown in

119892120582 (119901) ≜ (1199021 (119901)1198761V119904V119905

)120582 + (1199022 (119901)1198762V119904V119905

)120582 + sdot sdot sdot+ (119902119898 (119901)119876119898

V119904V119905

)120582(11)

H MCOP first adopts Dijkstrarsquos shortest path algorithm tofind the path with the minimum 119892120582(119901) and investigateswhether there exists a feasible path satisfying all QoS con-straints If the 119892120582(119901) of an intermediated node vk is greaterthan m it is proved that there is no feasible path from vk to vt

10 Complexity

If there exists at least one feasible solution then this algorithmwill search the network from vs to vt in order to identify afeasible path with the minimal cost of services

Before the H OSTP algorithm [35] was proposed in 2010H MCOP was one of the most promising algorithms forthe MCOP selection problem It proved to outperform priorexisting algorithms in terms of both efficiency and solutionquality

(2)H OSTP InH OSTP Liu et al first proposed the objectivefunction given in (12) and adopted the backward searchalgorithm to identify whether there was a feasible path withthe minimal 120575 from vt to vs If a feasible solution existsH OSTP then adopts the forward search algorithm to delivera near-optimal solution

120575 (119901) ≜ max 1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

(12)

H OSTP designed a target function 120575(p) which is better thanH MCOP for reverse search and this algorithm can providean optimal service composition path that is no worse thanH MCOP In addition through the reverse search strategyH OSTP can calculate whether the foreseen path is feasiblein advance which reduces the search space of the algorithmand improves the efficiency of the algorithm However thisalgorithm has some shortcomings in balancing different QoSattributes

(3) MFPB HOSTP In order to solve the imbalance prob-lem of H OPTP Liu et al proposed the MFPB HOSTPalgorithm [36] in 2013 In addition to selecting 120575(p) as thetarget to search a network the algorithm also identifies theoptimal paths with the searching target Tmin Cmin andRmax When the imbalance problem occurs MFPB-HOSTPdetermines the QoS index (for example T) that does notsatisfy the constraint Then the algorithm selects the nodeof the Tmin path to replace the node with the best 120575(p)path as the starting point for the next searching stage Atthe same time the algorithm defines the CBLP path sets toprevent the new imbalance problem By this method thealgorithm can get a near-optimal path that is no worse thanH OSTP

TheMFPB HOSTP algorithm inherits a lot of advantagesfromH OSTP and uses the CBLP path sets to solve the imbal-ance problem that best 120575(p) searching may bring Howeverthis algorithmwill incur a large amount of computation whenthere are lots of imbalance problems or complex processes inthe service network

42 e DHA OSCP Algorithm

(1) Overview First of all some definitions are introduced

Definition 1 (feasible heuristic path) In a subnetwork fromvs to vt a Feasible Heuristic Path (FHP) is the path from vt tothe intermediate node vk identified by the Delta BackwardSearch with (13) as the target

120575 (119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )= min(max

119879119887119886119888119896119908119886119903119889V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119887119886119888119896119908119886119903119889V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119887119886119888119896119908119886119903119889V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

)(13)

Definition 2 (utility heuristic path) In a subnetwork from vsto vt a Utility Heuristic Path (UHP) is the path from vt tothe intermediate node vk identified by the utility backwardsearch with (14) as the target

119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119908119879 times 119879119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119862

times 119862119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119877

times ln (119877119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

(14)

Definition 3 (forward path) In a subnetwork from vs to vta Forward Path (FP) is the path from vs node vt identifiedby the forward search The forward path is no worse than theFHP and UHP

Based on the definitions above a novel Dual HeuristicFunctions based Optimal Service Composition Path algo-rithm (DHA OSCP) is proposed in this paper which adoptstwo heuristic functions and the pruning searching strategy toobtain feasible heuristic path (FHP) and utility heuristic path(UHP)

The DHA OSCP algorithm is divided into two partsnamely the backward search process determining twoheuris-tic functions and the forward search process confirmingthe best utility path In the backward search procedure thealgorithm determines the feasible heuristic path (FHP) fromvk to vt (denoted by pbackwardvk997888rarrvt ) by using (12) as the searchtarget Then the algorithm determines the utility heuristicpath (UHP) from vk to vt (denoted by pbackwardutivk997888rarrvt ) with (13)as the search target The overview of DHA OSCP algorithmis shown in Figure 5

(2) Description A more detailed description of the proposedDHA OSCP algorithm is given below The algorithm isdivided into four main steps the pruning of the manufactur-ing service network the feasible backward search the utilitybackward search and the Alowast forward search These partswill be introduced in turn The pseudocode of the proposedDHA OSCP is given in Appendix A

Step 1 (network pruning) Designing appropriate pruningstrategies can effectively reduce the search space and the timecomplexity of the DHA OSCP algorithm without affectingthe quality of the solution The following two strategies areused to prune the manufacturing service network

The first strategy is pruning based on the process flowAccording to the decomposition of themanufacturing servicetask the nodes and the edges of themanufacturing service areextracted so that the manufacturing service network suitable

Complexity 11

Input()

Input the QoS value (TCR) of the nodes and edges ofmanufacturing network

Input the constraints and weights of QoS attributes

Prune()

Pruning the nodes and edges that do not satisfy the QoS constraints

Backward_Search()

Carry out backward search procedure twice with (12) and (13) as the target respectively to obtain feasible

heuristic path (FHP) and utility heuristic path (UHP)

Forward_Search()

Carry out forward search procedure twice with FHP and UHP as the heuristic function to find out whether there

is a better path than FHP and UHP

Output()

Output the near optimal path and the utility value

Figure 5 Overview of DHA OSCP algorithm

for the task is obtained In the manufacturing network theedges caused by other process flows are removed by thepruning strategy

The second strategy is pruning based on QoS constraintsNodes and edges that cannot satisfy QoS constraints areremoved from the network according to (15) where 120574 repre-sents the threshold

min(119879119899119900119889119890119890119889119892119890119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119899119900119889119890119890119889119892119890119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119899119900119889119890119890119889119892119890)ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )) gt 120574 (15)

Step 2 (identification of a feasible backward path withminimal delta) In feasible backward search procedure theDHA OSCP algorithm searches the service network fromvt to intermediate vk to investigate whether there existsa feasible solution in the manufacturing network Feasiblebackward search can define the FHP of each intermediatenode vk which is one of the heuristic functions to supportthe Alowast forward search procedure The pseudocode of DeltaBackward Search is given in Appendix B

eorem 4 In the feasible backward search procedure thesearch process can successfully find a feasible solution if there isat least one feasible solution that exists in the service network

The proof of Theorem 4 is given in Appendix C

Step 3 (identification of a backward path with the best utility)In the utility backward search procedure the DHA OSCPalgorithm searches the service network from V119905 to eachintermediate node V119896 and identifies the best weighted meanpath using a greedy strategy 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 participates in theAlowast forward search procedure as another heuristic functionThe utility backward search procedure needs to be employedto handle the imbalance problems which may occur in theforward search procedure For example the QoS constraintsof the service network are (T le 1C le 1R ge 04) TheQoS values of the paths from V119905 to two intermediate nodesV119894 V119895 are119876119900119878(119901119887119886119888119896119908119886119903119889V119894997888rarrV119905

) = (05 01 09) and119876119900119878(119901119887119886119888119896119908119886119903119889V119895997888rarrV119905) =(045 045 045) Then the feasible backward search proce-

dure will select V119895 as the next node while the utility backwardsearch procedurewill select V119894 as the next nodeObviously thenode V119894 has a larger QoS value to spare so that V119894 is easier toavoid the imbalance problem Therefore choosing the dualheuristic function strategy of FHP and UHP can effectivelyavoid the occurrence of the imbalance problem and generatea chance to deliver a better solutionThe pseudocode of utilitybackward search is given in Appendix D

Step 4 (identification the near-optimal path based on FHPand UHP) The forward search procedure will investigatewhether there is a path 119901119891119900119903119908119886119903119889V119904997888rarrV119905 that is better in quality thanboth 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 and 119901119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119905 The pseudocode of forwardsearch is given in Appendix E In this procedure DHA OSCPsearches the path with the best utility from V119904 to V119905 basedon Alowast algorithm Assume that V119896119891 and V119896119906 are selected asthe intermediate nodes based on FHP and UHP then twoforeseen paths 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areformed According to the feasibility of these two paths DHA-OSCP uses the following strategies to identify the optimalpath

Case 1 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 arefeasible) The DHA-OSCP algorithm calculates the unityvalues of the two foreseen paths and then continues to searchthe network

Case 2 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is feasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 isinfeasible) The forward search procedure based on FHP cancontinue to search The forward search procedure based onUHP will search another neighborhood node of V119904 with thebest utility and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 based on FHP The the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 into consideration

Case 3 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is infeasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905is feasible) The forward search procedure based onUHP can

12 Complexity

Table 2 Complexity analysis of the three algorithms

Algorithm ComplexityH OSTP O(2times(NlogN+E)) [35]MFPB HOSTP O(6times(NlogN+E)+KE) [36]DHA OSCP O(4times(NlogN+E))

continue to search The forward search procedure based onFHP will search another neighborhood node of V119904 with theminimal 120575 and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840

119896119891997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 based on UHP Next the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119891 into consideration

Case 4 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areinfeasible) The algorithm adopts the two processing meth-ods described in Cases 2 and 3 respectively when the cor-responding path is infeasible Then four new foreseen paths119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840119896119891997888rarrV119905

and

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 are formed Then the algorithm movesforward to determine whether these foreseen paths arefeasible and choose the feasible path with higher utilityto continue searching If all of these paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 and V119904997888rarr V119896119891 intoconsideration

(3) Algorithm Complexity Analysis Assume that only threeQoS attributes (ie T C and R) are taken into considerationthe time complexity of these three algorithms is shown inTable 2 where N is the number of nodes in the subnetworkbetween V119904 and V119905 E is the number of the edges in themanufacturing network and K is the hops between V119904 andV119905

Below the detailed analysis of these representations isgiven Specifically H OSTP takes twice as much time asDijkstrarsquos shortest path algorithm As such the time com-plexity of this algorithm is O(2times(N logN + E)) which isequal to O(N logN + E) MFPB HOSTP adopts Dijkstrarsquosshortest path algorithm four times in the Backward Searchprocedure with the time complexity of O(4times(N logN + E))In the Forward Search MFPB HOSTP takes twice as muchtime as Dijkstrarsquos shortest path algorithm which meansthe time complexity for this part is O(2times(N logN + E))Besides the time complexity of finding the feasible foreseenpaths is O(KE) So the time complexity of MFPB HOSTPis O(N logN+KE) DHA OSCP adopts Dijkstrarsquos shortestpath algorithm twice both in the Backward Search procedureand in Forward Search procedure so its time complexity isO(4times(N logN + E)) which is equal to O(N logN + E)

The analysis above is based on the assumption thatonly three QoS attributes are taken into account If M QoSattributes are taken into consideration the time complexity ofMFPB HOSTP will turn into O(Mtimes(N log N + E)+KE) whilethe time complexity of DHA OSCP is still O(N logN + E)meaning that the proposed algorithm is better for large-scaleproblems

5 Computational Experiments and Discussion

In order to evaluate the performance of the proposedDHA OSCP algorithm computational experiments are con-ducted to make various comparisons between DHA OSCPand popular H OSTP and MFPB HOSTP algorithms thathave been proved to be effective for service compositionproblems

The execution time and the quality of the solution areinfluenced by the scale and structure of the network andthe QoS constraints In order to study the performance ofthe proposed heuristic algorithm under varied conditionsthe service networks with different scales and structuresare randomly generated Then the qualities of the solutionsobtained by the three algorithms are compared in detailFigure 6 shows the comparisons of results under variedconditionsThere are 20 groups ofmanufacturing networks inthe experiments and 20 sets of QoS constraints in each groupTherefore the results of 400 groups of experiments are shownin each subgraph of Figure 6 QoS preferences regarding thetask are chosen as 119908119879 = 05 119908119862 = 06 119908119877 = 08 andthe initial QoS constraint values are chosen as Tconstraints =09Cconstraints = 09 Rconstraints = 02 Then the T C areincreased by 001 and the R is reduced by 001

Figure 6 shows that DHA OSCP algorithm has a largerpossibility to find a better solution under different net-work scale and QoS constraints The X-axis and the Y-axis represent different network scales and QoS constraintsrespectively The Z-axis represents the utility values obtainedby the three algorithms Each point in the figure repre-sents the utility value of the optimal path under certainnetwork scale and QoS constraints As shown in the figureif there are no feasible solutions in the network all of thethree algorithms can determine the infeasibility MoreoverDHA OSCP manages to find feasible solutions for all caseswithout a utility value worse than that of H OSTP andobtains better results than H OSTP in 12375 of the totalexperiments (ie 198 of 1600) DHA OSCP also obtainsbetter results than MFPB HOSTP in 10875 of the totalexperiments (ie 174 of 1600)This validates the effectivenessof the DHA OSCP algorithm in finding a near-optimalsolutionThe execution times of the algorithms are influencedby the network scale and the number of hops in the networkAn additional experiment with details below is then designedto compare the utility values and execution times of the threealgorithms

Seven groups of networks are generated with a node sizeof 100 150 200 250 300 350 and 400 respectively For eachgroup of networks 20 sets of QoS constraints are taken and20 networks are generated for each set of the QoS constraintsto carry out the experiment The sum of utility values and

Complexity 13

times H_OSTPMFPB_HOSTP

QoS constraints

Better

Same1

090807060504030201

0

1090807060504030201

0

09

08

07

06

05

04

03

02

01

0

1090807060504030201

020

2018

1816

1614

14121210

10886

64 42 2

2018161412108642

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42 00

0

20181614121086420

20181614121086420

Infeasible

NetworkID

DHA_OSCP

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

Figure 6 Solution quality with different scales of service network

execution time of the 400 experiments are compared for eachnode size The experiment results are shown in Tables 3ndash5

Though the computational experiments were conductedon networks with different scales structures and constraintswe can draw the conclusion that on average DHA OSCPcan get the path with better utility value than that ofMFPB HOSTP at a lower time cost In terms of meanexecution time DHA OSCP can achieve reduction of timecost by 437 503 and 407 respectively for theexamples shown in Tables 3ndash5 Since both DHA OSCP andMFPB HOSTP have measures of addressing the imbalanceproblem at the cost of execution time they achieve muchbetter utility values than those of H OSTP but more exe-cution time is incurred When both quality of result andtime cost are considered DHA OSCP achieves better overallperformance compared with MFPB HOSTP and H OSTPwhich is important for working with manufacturing servicenetworks

Additionally compared with H OSTP the DHA OSCPalgorithm adopts two heuristic functions in the forward

search procedure this turns to ensure that nomatterwhetherimbalanced problems of QoS attributes exist it can alwaysget a near-optimal path that is no worse than the oneobtained using H OSTP Although the execution time ofDHA OSCP is increased due to taking additionalmeasure foraddressing imbalance problems it achieves the same level oftime complexity as that of H OSTP In summary DHA OSCPcan obtain solutions that are much better than H OSTP at areasonable time cost

Both MFPB HOSTP and DHA OSCP can solve theimbalance problem to a great extent Nonetheless the timecomplexity of the DHA OSCP algorithm is lower The timecomplexity of MFPB HOSTP would become intolerable ifthe number of hops in the manufacturing network increasedto a large level Moreover the DHA OSCP algorithm canget a solution with a much better utility value than thatof MFPB HOSTP This is because the forward search pro-cedure adopts UHP as a heuristic function which takesinto account the coefficients of the utility function Thisis a better search strategy compared with MFPB HOSTP

14 Complexity

Table 3 Results of Different Node Size

Node size H OSTP MFPB HOSTP DHA OSCPUtility value Execution time Utility value Execution time Utility value Execution time

100 1510454 121380 1495541 301070 1480524 234170150 1706428 251980 1688756 770790 1654677 529100200 1489640 438350 1471278 949910 1447855 1380930250 1355056 672910 1344681 2189750 1325991 1475550300 1238503 981380 1230763 3219790 1207582 2141920350 1133137 1339490 1127778 4666080 1104149 2923780400 1053334 1775580 1046502 5928810 1031810 3856320

Table 4 Results of Different QoS Constraints

QoS constraints H OSTP MFPB HOSTP DHA OSCPT C R Utility value Execution time Utility value Execution time Utility value Execution time090 090 02 2149406 235230 2148814 644120 2093961 443610094 094 018 1956596 229250 1956285 599620 1884452 420600098 098 016 1790496 231040 1790496 661650 1772467 438820102 102 014 1701983 244250 1701769 723250 1698541 465420104 104 012 1753381 245360 1717547 696620 1701082 466200108 108 010 1995259 247680 1983515 792850 1967191 493220110 110 008 1338181 241440 1333709 749020 1326810 523690112 112 006 1535065 243210 1530866 799630 1495530 519410

Table 5 Results of Different Coefficient

Coefficient H OSTP MFPB HOSTP DHA OSCPwT wC wR Utility value Execution time Utility value Execution time Utility value Execution time01 01 08 1636718 273650 1612995 767250 1585643 55779001 08 01 1938172 251740 1924318 756600 1905009 52143008 01 01 1893298 256050 1876882 762140 1856349 54689003 03 04 2103357 250490 2099200 739410 2088499 52979002 06 02 2116633 249890 2109084 744460 2086980 53881002 02 06 1895776 248760 1888923 740830 1876530 51305001 04 05 1898427 245940 1891458 734170 1880153 52326005 04 01 2148865 251090 2143177 742740 2128045 526320

which uses CBLPs to solve the imbalance problem Withthe above discussions it can be concluded that DHA OSCPoutperforms MFPB HOSTP in terms of solution quality andtime complexity

6 Application to Automobile ManufacturingService Composition

The CASICloud (wwwcasicloudcom) is a CMfg platformfor registering and accessing manufacturing services whichhas a large number of service providers and service usersIn spite of being a popular platform it can only recommenda single manufacturing service provider for a manufactur-ing task and the capability of conducting manufacturingservice composition for complex tasks is missing To verifythe viability of the proposed model and algorithm theyare implemented and integrated into the platform as anadd-on function and are tested using data from service

providers obtained from the CASICloud In this case anautomobile manufacturing process is chosen as an illustrativeexample

Figure 7 shows the graphical interface of the addi-tional function of service composition which also givesdetailed information about the service composition taskfor automobile manufacturing being solved using the pro-posed model and the DHA OSCP algorithm Specifically thetask of automobile manufacturing can be decomposed intofive subtasks namely body stamping body welding bodypainting automobile assembly and automobile test Eachsubtask has a set of candidate manufacturing services thatcan be selected to meet the requirements of the subtaskEach candidate service provider can be abstracted as a nodein the manufacturing network The logistics relationshipbetween service providers is recorded as an edge in themanufacturing network Using the DHA OSCP algorithm anear-optimal solution can be found from the starting nodeof the manufacturing network to the end one The choice

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 9: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

Complexity 9

(5) Utility Function In this model the utility functiondescribes the overall performance of the optimal servicecomposition path in different QoS aspects Since differentQoS indexes have different scales the QoS indexes arenormalized in the utility function

The QoS indexes are divided into two kinds positiveindexes and negative indexes Reliability is a positive multi-plicative index while time and costs are negative cumulativeindexes The utility function is calculated by

119880 (119879 119862 119877) = 119908119879 times 119860 (119879V119904997888rarrV119905)119879119888119900119899119904119905119903119886119894119899119904 + 119908119862 times 119860 (119862V119904997888rarrV119905)119862119888119900119899119904119905119903119886119894119899119904+ 119908119877 times ln (119860 (119877V119904997888rarrV119905))

ln (119877119888119900119899119904119905119903119886119894119899119904)(8)

In the equation wT wC wR are the weights of T C Rrespectively with the conditions of wT + wC + wR = 1 and0 lt wTwCwR lt 1(6) Traditional Service Composition Model In the existingstudies the manufacturing service composition problem canbe described as a 0-1 integer constrained multiobjectiveoptimization problem based on the model in Figure 1 Thetraditional service composition model is formulated as

min119880 (119879 119862 119877)0 le 119860 (119879V119904997888rarrV119905) le 1198791198881199001198991199041199051199031198861198941198991199040 le 119860 (119862V119904997888rarrV119905) le 1198621198881199001198991199041199051199031198861198941198991199040 le 119860 (119877V119904997888rarrV119905) le 119877119888119900119899119904119905119903119886119894119899119904

(9)

In these studies this problem is usually solved using meta-heuristic algorithms such as genetic algorithms (GA) particleswarm optimization (PSO) ant colony optimization (ACO)and bee colony algorithms (BA)Thesemethods usually workpretty well

(7) Multiple Constrained Optimization Path Selection ModelIn the improved model (Figure 2) there are more con-straints to ensure the existence of edges between the selectedmanufacturing service nodes In summary the problem ofmanufacturing service composition can be abstracted as amulticonstrained optimization path selection problem andformulated as (10) In (10) m is the number of subtasksdi is the number of candidate services in candidate serviceset j and xij is the decision variable xij equals 1 if the ithmanufacturing service in service candidate j is chosen andotherwise it equals 0

min 119880 (119879 119862 119877)st 0 le 119860 (119879V119904997888rarrV119905) le 119879119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119862V119904997888rarrV119905) le 119862119888119900119899119904119905119903119886119894119899119904

0 le 119860 (119877V119904997888rarrV119905) le 1198771198881199001198991199041199051199031198861198941198991199041198891sum119894=1

1199091198941 = 11198892sum119894=1

1199091198942 = 1 119889119898sum119894=1

119909119894119898 = 1119909119894119895 = 0 119900119903 1

(10)

The meta-heuristic algorithms can also solve the serviceselection problem with multi-QoS constraints and decisionvariable constraints However [40] proved that they have lowefficiencies in finding a near-optimal solution in large-scalenetworks Taking GA as an example with the increase ofnode scale the algorithm takes a very long time to obtainthe near optimal solution and it is often unable to obtain thefeasible solution within the set upper limit of iteration timesCompared with meta-heuristic algorithms the proposedDHA OSCP is a more direct and effective algorithm to solvethis problem This is ascribed to the advantage that theDHA OSCP algorithm can always satisfy the constraints ofdecision variables in the process of execution

4 Service Composition PathSelection Algorithms

In this section some existing approximation algorithms fortheMCOP selection problem are firstly introduced includingH MCOP H OSTP and MFPB HOSTP Then a novel DualHeuristic Functions based Optimal Service CompositionPath algorithm (DHA OSCP) is described in detail

41 Existing Algorithms

(1) H MCOP H MCOP [8] is a heuristic algorithm proposedby Korkmaz and Krunz for the multiplendashconstrained optimalpath selection problem This algorithm first proposed amethod of QoS aggregation which is also the target of thereverse search as shown in

119892120582 (119901) ≜ (1199021 (119901)1198761V119904V119905

)120582 + (1199022 (119901)1198762V119904V119905

)120582 + sdot sdot sdot+ (119902119898 (119901)119876119898

V119904V119905

)120582(11)

H MCOP first adopts Dijkstrarsquos shortest path algorithm tofind the path with the minimum 119892120582(119901) and investigateswhether there exists a feasible path satisfying all QoS con-straints If the 119892120582(119901) of an intermediated node vk is greaterthan m it is proved that there is no feasible path from vk to vt

10 Complexity

If there exists at least one feasible solution then this algorithmwill search the network from vs to vt in order to identify afeasible path with the minimal cost of services

Before the H OSTP algorithm [35] was proposed in 2010H MCOP was one of the most promising algorithms forthe MCOP selection problem It proved to outperform priorexisting algorithms in terms of both efficiency and solutionquality

(2)H OSTP InH OSTP Liu et al first proposed the objectivefunction given in (12) and adopted the backward searchalgorithm to identify whether there was a feasible path withthe minimal 120575 from vt to vs If a feasible solution existsH OSTP then adopts the forward search algorithm to delivera near-optimal solution

120575 (119901) ≜ max 1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

(12)

H OSTP designed a target function 120575(p) which is better thanH MCOP for reverse search and this algorithm can providean optimal service composition path that is no worse thanH MCOP In addition through the reverse search strategyH OSTP can calculate whether the foreseen path is feasiblein advance which reduces the search space of the algorithmand improves the efficiency of the algorithm However thisalgorithm has some shortcomings in balancing different QoSattributes

(3) MFPB HOSTP In order to solve the imbalance prob-lem of H OPTP Liu et al proposed the MFPB HOSTPalgorithm [36] in 2013 In addition to selecting 120575(p) as thetarget to search a network the algorithm also identifies theoptimal paths with the searching target Tmin Cmin andRmax When the imbalance problem occurs MFPB-HOSTPdetermines the QoS index (for example T) that does notsatisfy the constraint Then the algorithm selects the nodeof the Tmin path to replace the node with the best 120575(p)path as the starting point for the next searching stage Atthe same time the algorithm defines the CBLP path sets toprevent the new imbalance problem By this method thealgorithm can get a near-optimal path that is no worse thanH OSTP

TheMFPB HOSTP algorithm inherits a lot of advantagesfromH OSTP and uses the CBLP path sets to solve the imbal-ance problem that best 120575(p) searching may bring Howeverthis algorithmwill incur a large amount of computation whenthere are lots of imbalance problems or complex processes inthe service network

42 e DHA OSCP Algorithm

(1) Overview First of all some definitions are introduced

Definition 1 (feasible heuristic path) In a subnetwork fromvs to vt a Feasible Heuristic Path (FHP) is the path from vt tothe intermediate node vk identified by the Delta BackwardSearch with (13) as the target

120575 (119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )= min(max

119879119887119886119888119896119908119886119903119889V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119887119886119888119896119908119886119903119889V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119887119886119888119896119908119886119903119889V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

)(13)

Definition 2 (utility heuristic path) In a subnetwork from vsto vt a Utility Heuristic Path (UHP) is the path from vt tothe intermediate node vk identified by the utility backwardsearch with (14) as the target

119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119908119879 times 119879119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119862

times 119862119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119877

times ln (119877119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

(14)

Definition 3 (forward path) In a subnetwork from vs to vta Forward Path (FP) is the path from vs node vt identifiedby the forward search The forward path is no worse than theFHP and UHP

Based on the definitions above a novel Dual HeuristicFunctions based Optimal Service Composition Path algo-rithm (DHA OSCP) is proposed in this paper which adoptstwo heuristic functions and the pruning searching strategy toobtain feasible heuristic path (FHP) and utility heuristic path(UHP)

The DHA OSCP algorithm is divided into two partsnamely the backward search process determining twoheuris-tic functions and the forward search process confirmingthe best utility path In the backward search procedure thealgorithm determines the feasible heuristic path (FHP) fromvk to vt (denoted by pbackwardvk997888rarrvt ) by using (12) as the searchtarget Then the algorithm determines the utility heuristicpath (UHP) from vk to vt (denoted by pbackwardutivk997888rarrvt ) with (13)as the search target The overview of DHA OSCP algorithmis shown in Figure 5

(2) Description A more detailed description of the proposedDHA OSCP algorithm is given below The algorithm isdivided into four main steps the pruning of the manufactur-ing service network the feasible backward search the utilitybackward search and the Alowast forward search These partswill be introduced in turn The pseudocode of the proposedDHA OSCP is given in Appendix A

Step 1 (network pruning) Designing appropriate pruningstrategies can effectively reduce the search space and the timecomplexity of the DHA OSCP algorithm without affectingthe quality of the solution The following two strategies areused to prune the manufacturing service network

The first strategy is pruning based on the process flowAccording to the decomposition of themanufacturing servicetask the nodes and the edges of themanufacturing service areextracted so that the manufacturing service network suitable

Complexity 11

Input()

Input the QoS value (TCR) of the nodes and edges ofmanufacturing network

Input the constraints and weights of QoS attributes

Prune()

Pruning the nodes and edges that do not satisfy the QoS constraints

Backward_Search()

Carry out backward search procedure twice with (12) and (13) as the target respectively to obtain feasible

heuristic path (FHP) and utility heuristic path (UHP)

Forward_Search()

Carry out forward search procedure twice with FHP and UHP as the heuristic function to find out whether there

is a better path than FHP and UHP

Output()

Output the near optimal path and the utility value

Figure 5 Overview of DHA OSCP algorithm

for the task is obtained In the manufacturing network theedges caused by other process flows are removed by thepruning strategy

The second strategy is pruning based on QoS constraintsNodes and edges that cannot satisfy QoS constraints areremoved from the network according to (15) where 120574 repre-sents the threshold

min(119879119899119900119889119890119890119889119892119890119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119899119900119889119890119890119889119892119890119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119899119900119889119890119890119889119892119890)ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )) gt 120574 (15)

Step 2 (identification of a feasible backward path withminimal delta) In feasible backward search procedure theDHA OSCP algorithm searches the service network fromvt to intermediate vk to investigate whether there existsa feasible solution in the manufacturing network Feasiblebackward search can define the FHP of each intermediatenode vk which is one of the heuristic functions to supportthe Alowast forward search procedure The pseudocode of DeltaBackward Search is given in Appendix B

eorem 4 In the feasible backward search procedure thesearch process can successfully find a feasible solution if there isat least one feasible solution that exists in the service network

The proof of Theorem 4 is given in Appendix C

Step 3 (identification of a backward path with the best utility)In the utility backward search procedure the DHA OSCPalgorithm searches the service network from V119905 to eachintermediate node V119896 and identifies the best weighted meanpath using a greedy strategy 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 participates in theAlowast forward search procedure as another heuristic functionThe utility backward search procedure needs to be employedto handle the imbalance problems which may occur in theforward search procedure For example the QoS constraintsof the service network are (T le 1C le 1R ge 04) TheQoS values of the paths from V119905 to two intermediate nodesV119894 V119895 are119876119900119878(119901119887119886119888119896119908119886119903119889V119894997888rarrV119905

) = (05 01 09) and119876119900119878(119901119887119886119888119896119908119886119903119889V119895997888rarrV119905) =(045 045 045) Then the feasible backward search proce-

dure will select V119895 as the next node while the utility backwardsearch procedurewill select V119894 as the next nodeObviously thenode V119894 has a larger QoS value to spare so that V119894 is easier toavoid the imbalance problem Therefore choosing the dualheuristic function strategy of FHP and UHP can effectivelyavoid the occurrence of the imbalance problem and generatea chance to deliver a better solutionThe pseudocode of utilitybackward search is given in Appendix D

Step 4 (identification the near-optimal path based on FHPand UHP) The forward search procedure will investigatewhether there is a path 119901119891119900119903119908119886119903119889V119904997888rarrV119905 that is better in quality thanboth 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 and 119901119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119905 The pseudocode of forwardsearch is given in Appendix E In this procedure DHA OSCPsearches the path with the best utility from V119904 to V119905 basedon Alowast algorithm Assume that V119896119891 and V119896119906 are selected asthe intermediate nodes based on FHP and UHP then twoforeseen paths 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areformed According to the feasibility of these two paths DHA-OSCP uses the following strategies to identify the optimalpath

Case 1 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 arefeasible) The DHA-OSCP algorithm calculates the unityvalues of the two foreseen paths and then continues to searchthe network

Case 2 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is feasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 isinfeasible) The forward search procedure based on FHP cancontinue to search The forward search procedure based onUHP will search another neighborhood node of V119904 with thebest utility and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 based on FHP The the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 into consideration

Case 3 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is infeasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905is feasible) The forward search procedure based onUHP can

12 Complexity

Table 2 Complexity analysis of the three algorithms

Algorithm ComplexityH OSTP O(2times(NlogN+E)) [35]MFPB HOSTP O(6times(NlogN+E)+KE) [36]DHA OSCP O(4times(NlogN+E))

continue to search The forward search procedure based onFHP will search another neighborhood node of V119904 with theminimal 120575 and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840

119896119891997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 based on UHP Next the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119891 into consideration

Case 4 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areinfeasible) The algorithm adopts the two processing meth-ods described in Cases 2 and 3 respectively when the cor-responding path is infeasible Then four new foreseen paths119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840119896119891997888rarrV119905

and

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 are formed Then the algorithm movesforward to determine whether these foreseen paths arefeasible and choose the feasible path with higher utilityto continue searching If all of these paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 and V119904997888rarr V119896119891 intoconsideration

(3) Algorithm Complexity Analysis Assume that only threeQoS attributes (ie T C and R) are taken into considerationthe time complexity of these three algorithms is shown inTable 2 where N is the number of nodes in the subnetworkbetween V119904 and V119905 E is the number of the edges in themanufacturing network and K is the hops between V119904 andV119905

Below the detailed analysis of these representations isgiven Specifically H OSTP takes twice as much time asDijkstrarsquos shortest path algorithm As such the time com-plexity of this algorithm is O(2times(N logN + E)) which isequal to O(N logN + E) MFPB HOSTP adopts Dijkstrarsquosshortest path algorithm four times in the Backward Searchprocedure with the time complexity of O(4times(N logN + E))In the Forward Search MFPB HOSTP takes twice as muchtime as Dijkstrarsquos shortest path algorithm which meansthe time complexity for this part is O(2times(N logN + E))Besides the time complexity of finding the feasible foreseenpaths is O(KE) So the time complexity of MFPB HOSTPis O(N logN+KE) DHA OSCP adopts Dijkstrarsquos shortestpath algorithm twice both in the Backward Search procedureand in Forward Search procedure so its time complexity isO(4times(N logN + E)) which is equal to O(N logN + E)

The analysis above is based on the assumption thatonly three QoS attributes are taken into account If M QoSattributes are taken into consideration the time complexity ofMFPB HOSTP will turn into O(Mtimes(N log N + E)+KE) whilethe time complexity of DHA OSCP is still O(N logN + E)meaning that the proposed algorithm is better for large-scaleproblems

5 Computational Experiments and Discussion

In order to evaluate the performance of the proposedDHA OSCP algorithm computational experiments are con-ducted to make various comparisons between DHA OSCPand popular H OSTP and MFPB HOSTP algorithms thathave been proved to be effective for service compositionproblems

The execution time and the quality of the solution areinfluenced by the scale and structure of the network andthe QoS constraints In order to study the performance ofthe proposed heuristic algorithm under varied conditionsthe service networks with different scales and structuresare randomly generated Then the qualities of the solutionsobtained by the three algorithms are compared in detailFigure 6 shows the comparisons of results under variedconditionsThere are 20 groups ofmanufacturing networks inthe experiments and 20 sets of QoS constraints in each groupTherefore the results of 400 groups of experiments are shownin each subgraph of Figure 6 QoS preferences regarding thetask are chosen as 119908119879 = 05 119908119862 = 06 119908119877 = 08 andthe initial QoS constraint values are chosen as Tconstraints =09Cconstraints = 09 Rconstraints = 02 Then the T C areincreased by 001 and the R is reduced by 001

Figure 6 shows that DHA OSCP algorithm has a largerpossibility to find a better solution under different net-work scale and QoS constraints The X-axis and the Y-axis represent different network scales and QoS constraintsrespectively The Z-axis represents the utility values obtainedby the three algorithms Each point in the figure repre-sents the utility value of the optimal path under certainnetwork scale and QoS constraints As shown in the figureif there are no feasible solutions in the network all of thethree algorithms can determine the infeasibility MoreoverDHA OSCP manages to find feasible solutions for all caseswithout a utility value worse than that of H OSTP andobtains better results than H OSTP in 12375 of the totalexperiments (ie 198 of 1600) DHA OSCP also obtainsbetter results than MFPB HOSTP in 10875 of the totalexperiments (ie 174 of 1600)This validates the effectivenessof the DHA OSCP algorithm in finding a near-optimalsolutionThe execution times of the algorithms are influencedby the network scale and the number of hops in the networkAn additional experiment with details below is then designedto compare the utility values and execution times of the threealgorithms

Seven groups of networks are generated with a node sizeof 100 150 200 250 300 350 and 400 respectively For eachgroup of networks 20 sets of QoS constraints are taken and20 networks are generated for each set of the QoS constraintsto carry out the experiment The sum of utility values and

Complexity 13

times H_OSTPMFPB_HOSTP

QoS constraints

Better

Same1

090807060504030201

0

1090807060504030201

0

09

08

07

06

05

04

03

02

01

0

1090807060504030201

020

2018

1816

1614

14121210

10886

64 42 2

2018161412108642

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42 00

0

20181614121086420

20181614121086420

Infeasible

NetworkID

DHA_OSCP

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

Figure 6 Solution quality with different scales of service network

execution time of the 400 experiments are compared for eachnode size The experiment results are shown in Tables 3ndash5

Though the computational experiments were conductedon networks with different scales structures and constraintswe can draw the conclusion that on average DHA OSCPcan get the path with better utility value than that ofMFPB HOSTP at a lower time cost In terms of meanexecution time DHA OSCP can achieve reduction of timecost by 437 503 and 407 respectively for theexamples shown in Tables 3ndash5 Since both DHA OSCP andMFPB HOSTP have measures of addressing the imbalanceproblem at the cost of execution time they achieve muchbetter utility values than those of H OSTP but more exe-cution time is incurred When both quality of result andtime cost are considered DHA OSCP achieves better overallperformance compared with MFPB HOSTP and H OSTPwhich is important for working with manufacturing servicenetworks

Additionally compared with H OSTP the DHA OSCPalgorithm adopts two heuristic functions in the forward

search procedure this turns to ensure that nomatterwhetherimbalanced problems of QoS attributes exist it can alwaysget a near-optimal path that is no worse than the oneobtained using H OSTP Although the execution time ofDHA OSCP is increased due to taking additionalmeasure foraddressing imbalance problems it achieves the same level oftime complexity as that of H OSTP In summary DHA OSCPcan obtain solutions that are much better than H OSTP at areasonable time cost

Both MFPB HOSTP and DHA OSCP can solve theimbalance problem to a great extent Nonetheless the timecomplexity of the DHA OSCP algorithm is lower The timecomplexity of MFPB HOSTP would become intolerable ifthe number of hops in the manufacturing network increasedto a large level Moreover the DHA OSCP algorithm canget a solution with a much better utility value than thatof MFPB HOSTP This is because the forward search pro-cedure adopts UHP as a heuristic function which takesinto account the coefficients of the utility function Thisis a better search strategy compared with MFPB HOSTP

14 Complexity

Table 3 Results of Different Node Size

Node size H OSTP MFPB HOSTP DHA OSCPUtility value Execution time Utility value Execution time Utility value Execution time

100 1510454 121380 1495541 301070 1480524 234170150 1706428 251980 1688756 770790 1654677 529100200 1489640 438350 1471278 949910 1447855 1380930250 1355056 672910 1344681 2189750 1325991 1475550300 1238503 981380 1230763 3219790 1207582 2141920350 1133137 1339490 1127778 4666080 1104149 2923780400 1053334 1775580 1046502 5928810 1031810 3856320

Table 4 Results of Different QoS Constraints

QoS constraints H OSTP MFPB HOSTP DHA OSCPT C R Utility value Execution time Utility value Execution time Utility value Execution time090 090 02 2149406 235230 2148814 644120 2093961 443610094 094 018 1956596 229250 1956285 599620 1884452 420600098 098 016 1790496 231040 1790496 661650 1772467 438820102 102 014 1701983 244250 1701769 723250 1698541 465420104 104 012 1753381 245360 1717547 696620 1701082 466200108 108 010 1995259 247680 1983515 792850 1967191 493220110 110 008 1338181 241440 1333709 749020 1326810 523690112 112 006 1535065 243210 1530866 799630 1495530 519410

Table 5 Results of Different Coefficient

Coefficient H OSTP MFPB HOSTP DHA OSCPwT wC wR Utility value Execution time Utility value Execution time Utility value Execution time01 01 08 1636718 273650 1612995 767250 1585643 55779001 08 01 1938172 251740 1924318 756600 1905009 52143008 01 01 1893298 256050 1876882 762140 1856349 54689003 03 04 2103357 250490 2099200 739410 2088499 52979002 06 02 2116633 249890 2109084 744460 2086980 53881002 02 06 1895776 248760 1888923 740830 1876530 51305001 04 05 1898427 245940 1891458 734170 1880153 52326005 04 01 2148865 251090 2143177 742740 2128045 526320

which uses CBLPs to solve the imbalance problem Withthe above discussions it can be concluded that DHA OSCPoutperforms MFPB HOSTP in terms of solution quality andtime complexity

6 Application to Automobile ManufacturingService Composition

The CASICloud (wwwcasicloudcom) is a CMfg platformfor registering and accessing manufacturing services whichhas a large number of service providers and service usersIn spite of being a popular platform it can only recommenda single manufacturing service provider for a manufactur-ing task and the capability of conducting manufacturingservice composition for complex tasks is missing To verifythe viability of the proposed model and algorithm theyare implemented and integrated into the platform as anadd-on function and are tested using data from service

providers obtained from the CASICloud In this case anautomobile manufacturing process is chosen as an illustrativeexample

Figure 7 shows the graphical interface of the addi-tional function of service composition which also givesdetailed information about the service composition taskfor automobile manufacturing being solved using the pro-posed model and the DHA OSCP algorithm Specifically thetask of automobile manufacturing can be decomposed intofive subtasks namely body stamping body welding bodypainting automobile assembly and automobile test Eachsubtask has a set of candidate manufacturing services thatcan be selected to meet the requirements of the subtaskEach candidate service provider can be abstracted as a nodein the manufacturing network The logistics relationshipbetween service providers is recorded as an edge in themanufacturing network Using the DHA OSCP algorithm anear-optimal solution can be found from the starting nodeof the manufacturing network to the end one The choice

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 10: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

10 Complexity

If there exists at least one feasible solution then this algorithmwill search the network from vs to vt in order to identify afeasible path with the minimal cost of services

Before the H OSTP algorithm [35] was proposed in 2010H MCOP was one of the most promising algorithms forthe MCOP selection problem It proved to outperform priorexisting algorithms in terms of both efficiency and solutionquality

(2)H OSTP InH OSTP Liu et al first proposed the objectivefunction given in (12) and adopted the backward searchalgorithm to identify whether there was a feasible path withthe minimal 120575 from vt to vs If a feasible solution existsH OSTP then adopts the forward search algorithm to delivera near-optimal solution

120575 (119901) ≜ max 1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

1 minus 1198791199011 minus 119876119879V119904V119905

(12)

H OSTP designed a target function 120575(p) which is better thanH MCOP for reverse search and this algorithm can providean optimal service composition path that is no worse thanH MCOP In addition through the reverse search strategyH OSTP can calculate whether the foreseen path is feasiblein advance which reduces the search space of the algorithmand improves the efficiency of the algorithm However thisalgorithm has some shortcomings in balancing different QoSattributes

(3) MFPB HOSTP In order to solve the imbalance prob-lem of H OPTP Liu et al proposed the MFPB HOSTPalgorithm [36] in 2013 In addition to selecting 120575(p) as thetarget to search a network the algorithm also identifies theoptimal paths with the searching target Tmin Cmin andRmax When the imbalance problem occurs MFPB-HOSTPdetermines the QoS index (for example T) that does notsatisfy the constraint Then the algorithm selects the nodeof the Tmin path to replace the node with the best 120575(p)path as the starting point for the next searching stage Atthe same time the algorithm defines the CBLP path sets toprevent the new imbalance problem By this method thealgorithm can get a near-optimal path that is no worse thanH OSTP

TheMFPB HOSTP algorithm inherits a lot of advantagesfromH OSTP and uses the CBLP path sets to solve the imbal-ance problem that best 120575(p) searching may bring Howeverthis algorithmwill incur a large amount of computation whenthere are lots of imbalance problems or complex processes inthe service network

42 e DHA OSCP Algorithm

(1) Overview First of all some definitions are introduced

Definition 1 (feasible heuristic path) In a subnetwork fromvs to vt a Feasible Heuristic Path (FHP) is the path from vt tothe intermediate node vk identified by the Delta BackwardSearch with (13) as the target

120575 (119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )= min(max

119879119887119886119888119896119908119886119903119889V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119887119886119888119896119908119886119903119889V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119887119886119888119896119908119886119903119889V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

)(13)

Definition 2 (utility heuristic path) In a subnetwork from vsto vt a Utility Heuristic Path (UHP) is the path from vt tothe intermediate node vk identified by the utility backwardsearch with (14) as the target

119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119908119879 times 119879119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119862

times 119862119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

+ 119908119877

times ln (119877119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 )ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )

(14)

Definition 3 (forward path) In a subnetwork from vs to vta Forward Path (FP) is the path from vs node vt identifiedby the forward search The forward path is no worse than theFHP and UHP

Based on the definitions above a novel Dual HeuristicFunctions based Optimal Service Composition Path algo-rithm (DHA OSCP) is proposed in this paper which adoptstwo heuristic functions and the pruning searching strategy toobtain feasible heuristic path (FHP) and utility heuristic path(UHP)

The DHA OSCP algorithm is divided into two partsnamely the backward search process determining twoheuris-tic functions and the forward search process confirmingthe best utility path In the backward search procedure thealgorithm determines the feasible heuristic path (FHP) fromvk to vt (denoted by pbackwardvk997888rarrvt ) by using (12) as the searchtarget Then the algorithm determines the utility heuristicpath (UHP) from vk to vt (denoted by pbackwardutivk997888rarrvt ) with (13)as the search target The overview of DHA OSCP algorithmis shown in Figure 5

(2) Description A more detailed description of the proposedDHA OSCP algorithm is given below The algorithm isdivided into four main steps the pruning of the manufactur-ing service network the feasible backward search the utilitybackward search and the Alowast forward search These partswill be introduced in turn The pseudocode of the proposedDHA OSCP is given in Appendix A

Step 1 (network pruning) Designing appropriate pruningstrategies can effectively reduce the search space and the timecomplexity of the DHA OSCP algorithm without affectingthe quality of the solution The following two strategies areused to prune the manufacturing service network

The first strategy is pruning based on the process flowAccording to the decomposition of themanufacturing servicetask the nodes and the edges of themanufacturing service areextracted so that the manufacturing service network suitable

Complexity 11

Input()

Input the QoS value (TCR) of the nodes and edges ofmanufacturing network

Input the constraints and weights of QoS attributes

Prune()

Pruning the nodes and edges that do not satisfy the QoS constraints

Backward_Search()

Carry out backward search procedure twice with (12) and (13) as the target respectively to obtain feasible

heuristic path (FHP) and utility heuristic path (UHP)

Forward_Search()

Carry out forward search procedure twice with FHP and UHP as the heuristic function to find out whether there

is a better path than FHP and UHP

Output()

Output the near optimal path and the utility value

Figure 5 Overview of DHA OSCP algorithm

for the task is obtained In the manufacturing network theedges caused by other process flows are removed by thepruning strategy

The second strategy is pruning based on QoS constraintsNodes and edges that cannot satisfy QoS constraints areremoved from the network according to (15) where 120574 repre-sents the threshold

min(119879119899119900119889119890119890119889119892119890119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119899119900119889119890119890119889119892119890119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119899119900119889119890119890119889119892119890)ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )) gt 120574 (15)

Step 2 (identification of a feasible backward path withminimal delta) In feasible backward search procedure theDHA OSCP algorithm searches the service network fromvt to intermediate vk to investigate whether there existsa feasible solution in the manufacturing network Feasiblebackward search can define the FHP of each intermediatenode vk which is one of the heuristic functions to supportthe Alowast forward search procedure The pseudocode of DeltaBackward Search is given in Appendix B

eorem 4 In the feasible backward search procedure thesearch process can successfully find a feasible solution if there isat least one feasible solution that exists in the service network

The proof of Theorem 4 is given in Appendix C

Step 3 (identification of a backward path with the best utility)In the utility backward search procedure the DHA OSCPalgorithm searches the service network from V119905 to eachintermediate node V119896 and identifies the best weighted meanpath using a greedy strategy 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 participates in theAlowast forward search procedure as another heuristic functionThe utility backward search procedure needs to be employedto handle the imbalance problems which may occur in theforward search procedure For example the QoS constraintsof the service network are (T le 1C le 1R ge 04) TheQoS values of the paths from V119905 to two intermediate nodesV119894 V119895 are119876119900119878(119901119887119886119888119896119908119886119903119889V119894997888rarrV119905

) = (05 01 09) and119876119900119878(119901119887119886119888119896119908119886119903119889V119895997888rarrV119905) =(045 045 045) Then the feasible backward search proce-

dure will select V119895 as the next node while the utility backwardsearch procedurewill select V119894 as the next nodeObviously thenode V119894 has a larger QoS value to spare so that V119894 is easier toavoid the imbalance problem Therefore choosing the dualheuristic function strategy of FHP and UHP can effectivelyavoid the occurrence of the imbalance problem and generatea chance to deliver a better solutionThe pseudocode of utilitybackward search is given in Appendix D

Step 4 (identification the near-optimal path based on FHPand UHP) The forward search procedure will investigatewhether there is a path 119901119891119900119903119908119886119903119889V119904997888rarrV119905 that is better in quality thanboth 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 and 119901119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119905 The pseudocode of forwardsearch is given in Appendix E In this procedure DHA OSCPsearches the path with the best utility from V119904 to V119905 basedon Alowast algorithm Assume that V119896119891 and V119896119906 are selected asthe intermediate nodes based on FHP and UHP then twoforeseen paths 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areformed According to the feasibility of these two paths DHA-OSCP uses the following strategies to identify the optimalpath

Case 1 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 arefeasible) The DHA-OSCP algorithm calculates the unityvalues of the two foreseen paths and then continues to searchthe network

Case 2 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is feasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 isinfeasible) The forward search procedure based on FHP cancontinue to search The forward search procedure based onUHP will search another neighborhood node of V119904 with thebest utility and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 based on FHP The the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 into consideration

Case 3 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is infeasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905is feasible) The forward search procedure based onUHP can

12 Complexity

Table 2 Complexity analysis of the three algorithms

Algorithm ComplexityH OSTP O(2times(NlogN+E)) [35]MFPB HOSTP O(6times(NlogN+E)+KE) [36]DHA OSCP O(4times(NlogN+E))

continue to search The forward search procedure based onFHP will search another neighborhood node of V119904 with theminimal 120575 and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840

119896119891997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 based on UHP Next the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119891 into consideration

Case 4 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areinfeasible) The algorithm adopts the two processing meth-ods described in Cases 2 and 3 respectively when the cor-responding path is infeasible Then four new foreseen paths119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840119896119891997888rarrV119905

and

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 are formed Then the algorithm movesforward to determine whether these foreseen paths arefeasible and choose the feasible path with higher utilityto continue searching If all of these paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 and V119904997888rarr V119896119891 intoconsideration

(3) Algorithm Complexity Analysis Assume that only threeQoS attributes (ie T C and R) are taken into considerationthe time complexity of these three algorithms is shown inTable 2 where N is the number of nodes in the subnetworkbetween V119904 and V119905 E is the number of the edges in themanufacturing network and K is the hops between V119904 andV119905

Below the detailed analysis of these representations isgiven Specifically H OSTP takes twice as much time asDijkstrarsquos shortest path algorithm As such the time com-plexity of this algorithm is O(2times(N logN + E)) which isequal to O(N logN + E) MFPB HOSTP adopts Dijkstrarsquosshortest path algorithm four times in the Backward Searchprocedure with the time complexity of O(4times(N logN + E))In the Forward Search MFPB HOSTP takes twice as muchtime as Dijkstrarsquos shortest path algorithm which meansthe time complexity for this part is O(2times(N logN + E))Besides the time complexity of finding the feasible foreseenpaths is O(KE) So the time complexity of MFPB HOSTPis O(N logN+KE) DHA OSCP adopts Dijkstrarsquos shortestpath algorithm twice both in the Backward Search procedureand in Forward Search procedure so its time complexity isO(4times(N logN + E)) which is equal to O(N logN + E)

The analysis above is based on the assumption thatonly three QoS attributes are taken into account If M QoSattributes are taken into consideration the time complexity ofMFPB HOSTP will turn into O(Mtimes(N log N + E)+KE) whilethe time complexity of DHA OSCP is still O(N logN + E)meaning that the proposed algorithm is better for large-scaleproblems

5 Computational Experiments and Discussion

In order to evaluate the performance of the proposedDHA OSCP algorithm computational experiments are con-ducted to make various comparisons between DHA OSCPand popular H OSTP and MFPB HOSTP algorithms thathave been proved to be effective for service compositionproblems

The execution time and the quality of the solution areinfluenced by the scale and structure of the network andthe QoS constraints In order to study the performance ofthe proposed heuristic algorithm under varied conditionsthe service networks with different scales and structuresare randomly generated Then the qualities of the solutionsobtained by the three algorithms are compared in detailFigure 6 shows the comparisons of results under variedconditionsThere are 20 groups ofmanufacturing networks inthe experiments and 20 sets of QoS constraints in each groupTherefore the results of 400 groups of experiments are shownin each subgraph of Figure 6 QoS preferences regarding thetask are chosen as 119908119879 = 05 119908119862 = 06 119908119877 = 08 andthe initial QoS constraint values are chosen as Tconstraints =09Cconstraints = 09 Rconstraints = 02 Then the T C areincreased by 001 and the R is reduced by 001

Figure 6 shows that DHA OSCP algorithm has a largerpossibility to find a better solution under different net-work scale and QoS constraints The X-axis and the Y-axis represent different network scales and QoS constraintsrespectively The Z-axis represents the utility values obtainedby the three algorithms Each point in the figure repre-sents the utility value of the optimal path under certainnetwork scale and QoS constraints As shown in the figureif there are no feasible solutions in the network all of thethree algorithms can determine the infeasibility MoreoverDHA OSCP manages to find feasible solutions for all caseswithout a utility value worse than that of H OSTP andobtains better results than H OSTP in 12375 of the totalexperiments (ie 198 of 1600) DHA OSCP also obtainsbetter results than MFPB HOSTP in 10875 of the totalexperiments (ie 174 of 1600)This validates the effectivenessof the DHA OSCP algorithm in finding a near-optimalsolutionThe execution times of the algorithms are influencedby the network scale and the number of hops in the networkAn additional experiment with details below is then designedto compare the utility values and execution times of the threealgorithms

Seven groups of networks are generated with a node sizeof 100 150 200 250 300 350 and 400 respectively For eachgroup of networks 20 sets of QoS constraints are taken and20 networks are generated for each set of the QoS constraintsto carry out the experiment The sum of utility values and

Complexity 13

times H_OSTPMFPB_HOSTP

QoS constraints

Better

Same1

090807060504030201

0

1090807060504030201

0

09

08

07

06

05

04

03

02

01

0

1090807060504030201

020

2018

1816

1614

14121210

10886

64 42 2

2018161412108642

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42 00

0

20181614121086420

20181614121086420

Infeasible

NetworkID

DHA_OSCP

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

Figure 6 Solution quality with different scales of service network

execution time of the 400 experiments are compared for eachnode size The experiment results are shown in Tables 3ndash5

Though the computational experiments were conductedon networks with different scales structures and constraintswe can draw the conclusion that on average DHA OSCPcan get the path with better utility value than that ofMFPB HOSTP at a lower time cost In terms of meanexecution time DHA OSCP can achieve reduction of timecost by 437 503 and 407 respectively for theexamples shown in Tables 3ndash5 Since both DHA OSCP andMFPB HOSTP have measures of addressing the imbalanceproblem at the cost of execution time they achieve muchbetter utility values than those of H OSTP but more exe-cution time is incurred When both quality of result andtime cost are considered DHA OSCP achieves better overallperformance compared with MFPB HOSTP and H OSTPwhich is important for working with manufacturing servicenetworks

Additionally compared with H OSTP the DHA OSCPalgorithm adopts two heuristic functions in the forward

search procedure this turns to ensure that nomatterwhetherimbalanced problems of QoS attributes exist it can alwaysget a near-optimal path that is no worse than the oneobtained using H OSTP Although the execution time ofDHA OSCP is increased due to taking additionalmeasure foraddressing imbalance problems it achieves the same level oftime complexity as that of H OSTP In summary DHA OSCPcan obtain solutions that are much better than H OSTP at areasonable time cost

Both MFPB HOSTP and DHA OSCP can solve theimbalance problem to a great extent Nonetheless the timecomplexity of the DHA OSCP algorithm is lower The timecomplexity of MFPB HOSTP would become intolerable ifthe number of hops in the manufacturing network increasedto a large level Moreover the DHA OSCP algorithm canget a solution with a much better utility value than thatof MFPB HOSTP This is because the forward search pro-cedure adopts UHP as a heuristic function which takesinto account the coefficients of the utility function Thisis a better search strategy compared with MFPB HOSTP

14 Complexity

Table 3 Results of Different Node Size

Node size H OSTP MFPB HOSTP DHA OSCPUtility value Execution time Utility value Execution time Utility value Execution time

100 1510454 121380 1495541 301070 1480524 234170150 1706428 251980 1688756 770790 1654677 529100200 1489640 438350 1471278 949910 1447855 1380930250 1355056 672910 1344681 2189750 1325991 1475550300 1238503 981380 1230763 3219790 1207582 2141920350 1133137 1339490 1127778 4666080 1104149 2923780400 1053334 1775580 1046502 5928810 1031810 3856320

Table 4 Results of Different QoS Constraints

QoS constraints H OSTP MFPB HOSTP DHA OSCPT C R Utility value Execution time Utility value Execution time Utility value Execution time090 090 02 2149406 235230 2148814 644120 2093961 443610094 094 018 1956596 229250 1956285 599620 1884452 420600098 098 016 1790496 231040 1790496 661650 1772467 438820102 102 014 1701983 244250 1701769 723250 1698541 465420104 104 012 1753381 245360 1717547 696620 1701082 466200108 108 010 1995259 247680 1983515 792850 1967191 493220110 110 008 1338181 241440 1333709 749020 1326810 523690112 112 006 1535065 243210 1530866 799630 1495530 519410

Table 5 Results of Different Coefficient

Coefficient H OSTP MFPB HOSTP DHA OSCPwT wC wR Utility value Execution time Utility value Execution time Utility value Execution time01 01 08 1636718 273650 1612995 767250 1585643 55779001 08 01 1938172 251740 1924318 756600 1905009 52143008 01 01 1893298 256050 1876882 762140 1856349 54689003 03 04 2103357 250490 2099200 739410 2088499 52979002 06 02 2116633 249890 2109084 744460 2086980 53881002 02 06 1895776 248760 1888923 740830 1876530 51305001 04 05 1898427 245940 1891458 734170 1880153 52326005 04 01 2148865 251090 2143177 742740 2128045 526320

which uses CBLPs to solve the imbalance problem Withthe above discussions it can be concluded that DHA OSCPoutperforms MFPB HOSTP in terms of solution quality andtime complexity

6 Application to Automobile ManufacturingService Composition

The CASICloud (wwwcasicloudcom) is a CMfg platformfor registering and accessing manufacturing services whichhas a large number of service providers and service usersIn spite of being a popular platform it can only recommenda single manufacturing service provider for a manufactur-ing task and the capability of conducting manufacturingservice composition for complex tasks is missing To verifythe viability of the proposed model and algorithm theyare implemented and integrated into the platform as anadd-on function and are tested using data from service

providers obtained from the CASICloud In this case anautomobile manufacturing process is chosen as an illustrativeexample

Figure 7 shows the graphical interface of the addi-tional function of service composition which also givesdetailed information about the service composition taskfor automobile manufacturing being solved using the pro-posed model and the DHA OSCP algorithm Specifically thetask of automobile manufacturing can be decomposed intofive subtasks namely body stamping body welding bodypainting automobile assembly and automobile test Eachsubtask has a set of candidate manufacturing services thatcan be selected to meet the requirements of the subtaskEach candidate service provider can be abstracted as a nodein the manufacturing network The logistics relationshipbetween service providers is recorded as an edge in themanufacturing network Using the DHA OSCP algorithm anear-optimal solution can be found from the starting nodeof the manufacturing network to the end one The choice

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 11: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

Complexity 11

Input()

Input the QoS value (TCR) of the nodes and edges ofmanufacturing network

Input the constraints and weights of QoS attributes

Prune()

Pruning the nodes and edges that do not satisfy the QoS constraints

Backward_Search()

Carry out backward search procedure twice with (12) and (13) as the target respectively to obtain feasible

heuristic path (FHP) and utility heuristic path (UHP)

Forward_Search()

Carry out forward search procedure twice with FHP and UHP as the heuristic function to find out whether there

is a better path than FHP and UHP

Output()

Output the near optimal path and the utility value

Figure 5 Overview of DHA OSCP algorithm

for the task is obtained In the manufacturing network theedges caused by other process flows are removed by thepruning strategy

The second strategy is pruning based on QoS constraintsNodes and edges that cannot satisfy QoS constraints areremoved from the network according to (15) where 120574 repre-sents the threshold

min(119879119899119900119889119890119890119889119892119890119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119899119900119889119890119890119889119892119890119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

ln (119877119899119900119889119890119890119889119892119890)ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 )) gt 120574 (15)

Step 2 (identification of a feasible backward path withminimal delta) In feasible backward search procedure theDHA OSCP algorithm searches the service network fromvt to intermediate vk to investigate whether there existsa feasible solution in the manufacturing network Feasiblebackward search can define the FHP of each intermediatenode vk which is one of the heuristic functions to supportthe Alowast forward search procedure The pseudocode of DeltaBackward Search is given in Appendix B

eorem 4 In the feasible backward search procedure thesearch process can successfully find a feasible solution if there isat least one feasible solution that exists in the service network

The proof of Theorem 4 is given in Appendix C

Step 3 (identification of a backward path with the best utility)In the utility backward search procedure the DHA OSCPalgorithm searches the service network from V119905 to eachintermediate node V119896 and identifies the best weighted meanpath using a greedy strategy 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 participates in theAlowast forward search procedure as another heuristic functionThe utility backward search procedure needs to be employedto handle the imbalance problems which may occur in theforward search procedure For example the QoS constraintsof the service network are (T le 1C le 1R ge 04) TheQoS values of the paths from V119905 to two intermediate nodesV119894 V119895 are119876119900119878(119901119887119886119888119896119908119886119903119889V119894997888rarrV119905

) = (05 01 09) and119876119900119878(119901119887119886119888119896119908119886119903119889V119895997888rarrV119905) =(045 045 045) Then the feasible backward search proce-

dure will select V119895 as the next node while the utility backwardsearch procedurewill select V119894 as the next nodeObviously thenode V119894 has a larger QoS value to spare so that V119894 is easier toavoid the imbalance problem Therefore choosing the dualheuristic function strategy of FHP and UHP can effectivelyavoid the occurrence of the imbalance problem and generatea chance to deliver a better solutionThe pseudocode of utilitybackward search is given in Appendix D

Step 4 (identification the near-optimal path based on FHPand UHP) The forward search procedure will investigatewhether there is a path 119901119891119900119903119908119886119903119889V119904997888rarrV119905 that is better in quality thanboth 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 and 119901119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119905 The pseudocode of forwardsearch is given in Appendix E In this procedure DHA OSCPsearches the path with the best utility from V119904 to V119905 basedon Alowast algorithm Assume that V119896119891 and V119896119906 are selected asthe intermediate nodes based on FHP and UHP then twoforeseen paths 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areformed According to the feasibility of these two paths DHA-OSCP uses the following strategies to identify the optimalpath

Case 1 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 arefeasible) The DHA-OSCP algorithm calculates the unityvalues of the two foreseen paths and then continues to searchthe network

Case 2 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is feasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 isinfeasible) The forward search procedure based on FHP cancontinue to search The forward search procedure based onUHP will search another neighborhood node of V119904 with thebest utility and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 based on FHP The the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 into consideration

Case 3 (119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 is infeasible and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905is feasible) The forward search procedure based onUHP can

12 Complexity

Table 2 Complexity analysis of the three algorithms

Algorithm ComplexityH OSTP O(2times(NlogN+E)) [35]MFPB HOSTP O(6times(NlogN+E)+KE) [36]DHA OSCP O(4times(NlogN+E))

continue to search The forward search procedure based onFHP will search another neighborhood node of V119904 with theminimal 120575 and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840

119896119891997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 based on UHP Next the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119891 into consideration

Case 4 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areinfeasible) The algorithm adopts the two processing meth-ods described in Cases 2 and 3 respectively when the cor-responding path is infeasible Then four new foreseen paths119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840119896119891997888rarrV119905

and

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 are formed Then the algorithm movesforward to determine whether these foreseen paths arefeasible and choose the feasible path with higher utilityto continue searching If all of these paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 and V119904997888rarr V119896119891 intoconsideration

(3) Algorithm Complexity Analysis Assume that only threeQoS attributes (ie T C and R) are taken into considerationthe time complexity of these three algorithms is shown inTable 2 where N is the number of nodes in the subnetworkbetween V119904 and V119905 E is the number of the edges in themanufacturing network and K is the hops between V119904 andV119905

Below the detailed analysis of these representations isgiven Specifically H OSTP takes twice as much time asDijkstrarsquos shortest path algorithm As such the time com-plexity of this algorithm is O(2times(N logN + E)) which isequal to O(N logN + E) MFPB HOSTP adopts Dijkstrarsquosshortest path algorithm four times in the Backward Searchprocedure with the time complexity of O(4times(N logN + E))In the Forward Search MFPB HOSTP takes twice as muchtime as Dijkstrarsquos shortest path algorithm which meansthe time complexity for this part is O(2times(N logN + E))Besides the time complexity of finding the feasible foreseenpaths is O(KE) So the time complexity of MFPB HOSTPis O(N logN+KE) DHA OSCP adopts Dijkstrarsquos shortestpath algorithm twice both in the Backward Search procedureand in Forward Search procedure so its time complexity isO(4times(N logN + E)) which is equal to O(N logN + E)

The analysis above is based on the assumption thatonly three QoS attributes are taken into account If M QoSattributes are taken into consideration the time complexity ofMFPB HOSTP will turn into O(Mtimes(N log N + E)+KE) whilethe time complexity of DHA OSCP is still O(N logN + E)meaning that the proposed algorithm is better for large-scaleproblems

5 Computational Experiments and Discussion

In order to evaluate the performance of the proposedDHA OSCP algorithm computational experiments are con-ducted to make various comparisons between DHA OSCPand popular H OSTP and MFPB HOSTP algorithms thathave been proved to be effective for service compositionproblems

The execution time and the quality of the solution areinfluenced by the scale and structure of the network andthe QoS constraints In order to study the performance ofthe proposed heuristic algorithm under varied conditionsthe service networks with different scales and structuresare randomly generated Then the qualities of the solutionsobtained by the three algorithms are compared in detailFigure 6 shows the comparisons of results under variedconditionsThere are 20 groups ofmanufacturing networks inthe experiments and 20 sets of QoS constraints in each groupTherefore the results of 400 groups of experiments are shownin each subgraph of Figure 6 QoS preferences regarding thetask are chosen as 119908119879 = 05 119908119862 = 06 119908119877 = 08 andthe initial QoS constraint values are chosen as Tconstraints =09Cconstraints = 09 Rconstraints = 02 Then the T C areincreased by 001 and the R is reduced by 001

Figure 6 shows that DHA OSCP algorithm has a largerpossibility to find a better solution under different net-work scale and QoS constraints The X-axis and the Y-axis represent different network scales and QoS constraintsrespectively The Z-axis represents the utility values obtainedby the three algorithms Each point in the figure repre-sents the utility value of the optimal path under certainnetwork scale and QoS constraints As shown in the figureif there are no feasible solutions in the network all of thethree algorithms can determine the infeasibility MoreoverDHA OSCP manages to find feasible solutions for all caseswithout a utility value worse than that of H OSTP andobtains better results than H OSTP in 12375 of the totalexperiments (ie 198 of 1600) DHA OSCP also obtainsbetter results than MFPB HOSTP in 10875 of the totalexperiments (ie 174 of 1600)This validates the effectivenessof the DHA OSCP algorithm in finding a near-optimalsolutionThe execution times of the algorithms are influencedby the network scale and the number of hops in the networkAn additional experiment with details below is then designedto compare the utility values and execution times of the threealgorithms

Seven groups of networks are generated with a node sizeof 100 150 200 250 300 350 and 400 respectively For eachgroup of networks 20 sets of QoS constraints are taken and20 networks are generated for each set of the QoS constraintsto carry out the experiment The sum of utility values and

Complexity 13

times H_OSTPMFPB_HOSTP

QoS constraints

Better

Same1

090807060504030201

0

1090807060504030201

0

09

08

07

06

05

04

03

02

01

0

1090807060504030201

020

2018

1816

1614

14121210

10886

64 42 2

2018161412108642

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42 00

0

20181614121086420

20181614121086420

Infeasible

NetworkID

DHA_OSCP

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

Figure 6 Solution quality with different scales of service network

execution time of the 400 experiments are compared for eachnode size The experiment results are shown in Tables 3ndash5

Though the computational experiments were conductedon networks with different scales structures and constraintswe can draw the conclusion that on average DHA OSCPcan get the path with better utility value than that ofMFPB HOSTP at a lower time cost In terms of meanexecution time DHA OSCP can achieve reduction of timecost by 437 503 and 407 respectively for theexamples shown in Tables 3ndash5 Since both DHA OSCP andMFPB HOSTP have measures of addressing the imbalanceproblem at the cost of execution time they achieve muchbetter utility values than those of H OSTP but more exe-cution time is incurred When both quality of result andtime cost are considered DHA OSCP achieves better overallperformance compared with MFPB HOSTP and H OSTPwhich is important for working with manufacturing servicenetworks

Additionally compared with H OSTP the DHA OSCPalgorithm adopts two heuristic functions in the forward

search procedure this turns to ensure that nomatterwhetherimbalanced problems of QoS attributes exist it can alwaysget a near-optimal path that is no worse than the oneobtained using H OSTP Although the execution time ofDHA OSCP is increased due to taking additionalmeasure foraddressing imbalance problems it achieves the same level oftime complexity as that of H OSTP In summary DHA OSCPcan obtain solutions that are much better than H OSTP at areasonable time cost

Both MFPB HOSTP and DHA OSCP can solve theimbalance problem to a great extent Nonetheless the timecomplexity of the DHA OSCP algorithm is lower The timecomplexity of MFPB HOSTP would become intolerable ifthe number of hops in the manufacturing network increasedto a large level Moreover the DHA OSCP algorithm canget a solution with a much better utility value than thatof MFPB HOSTP This is because the forward search pro-cedure adopts UHP as a heuristic function which takesinto account the coefficients of the utility function Thisis a better search strategy compared with MFPB HOSTP

14 Complexity

Table 3 Results of Different Node Size

Node size H OSTP MFPB HOSTP DHA OSCPUtility value Execution time Utility value Execution time Utility value Execution time

100 1510454 121380 1495541 301070 1480524 234170150 1706428 251980 1688756 770790 1654677 529100200 1489640 438350 1471278 949910 1447855 1380930250 1355056 672910 1344681 2189750 1325991 1475550300 1238503 981380 1230763 3219790 1207582 2141920350 1133137 1339490 1127778 4666080 1104149 2923780400 1053334 1775580 1046502 5928810 1031810 3856320

Table 4 Results of Different QoS Constraints

QoS constraints H OSTP MFPB HOSTP DHA OSCPT C R Utility value Execution time Utility value Execution time Utility value Execution time090 090 02 2149406 235230 2148814 644120 2093961 443610094 094 018 1956596 229250 1956285 599620 1884452 420600098 098 016 1790496 231040 1790496 661650 1772467 438820102 102 014 1701983 244250 1701769 723250 1698541 465420104 104 012 1753381 245360 1717547 696620 1701082 466200108 108 010 1995259 247680 1983515 792850 1967191 493220110 110 008 1338181 241440 1333709 749020 1326810 523690112 112 006 1535065 243210 1530866 799630 1495530 519410

Table 5 Results of Different Coefficient

Coefficient H OSTP MFPB HOSTP DHA OSCPwT wC wR Utility value Execution time Utility value Execution time Utility value Execution time01 01 08 1636718 273650 1612995 767250 1585643 55779001 08 01 1938172 251740 1924318 756600 1905009 52143008 01 01 1893298 256050 1876882 762140 1856349 54689003 03 04 2103357 250490 2099200 739410 2088499 52979002 06 02 2116633 249890 2109084 744460 2086980 53881002 02 06 1895776 248760 1888923 740830 1876530 51305001 04 05 1898427 245940 1891458 734170 1880153 52326005 04 01 2148865 251090 2143177 742740 2128045 526320

which uses CBLPs to solve the imbalance problem Withthe above discussions it can be concluded that DHA OSCPoutperforms MFPB HOSTP in terms of solution quality andtime complexity

6 Application to Automobile ManufacturingService Composition

The CASICloud (wwwcasicloudcom) is a CMfg platformfor registering and accessing manufacturing services whichhas a large number of service providers and service usersIn spite of being a popular platform it can only recommenda single manufacturing service provider for a manufactur-ing task and the capability of conducting manufacturingservice composition for complex tasks is missing To verifythe viability of the proposed model and algorithm theyare implemented and integrated into the platform as anadd-on function and are tested using data from service

providers obtained from the CASICloud In this case anautomobile manufacturing process is chosen as an illustrativeexample

Figure 7 shows the graphical interface of the addi-tional function of service composition which also givesdetailed information about the service composition taskfor automobile manufacturing being solved using the pro-posed model and the DHA OSCP algorithm Specifically thetask of automobile manufacturing can be decomposed intofive subtasks namely body stamping body welding bodypainting automobile assembly and automobile test Eachsubtask has a set of candidate manufacturing services thatcan be selected to meet the requirements of the subtaskEach candidate service provider can be abstracted as a nodein the manufacturing network The logistics relationshipbetween service providers is recorded as an edge in themanufacturing network Using the DHA OSCP algorithm anear-optimal solution can be found from the starting nodeof the manufacturing network to the end one The choice

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 12: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

12 Complexity

Table 2 Complexity analysis of the three algorithms

Algorithm ComplexityH OSTP O(2times(NlogN+E)) [35]MFPB HOSTP O(6times(NlogN+E)+KE) [36]DHA OSCP O(4times(NlogN+E))

continue to search The forward search procedure based onFHP will search another neighborhood node of V119904 with theminimal 120575 and form a new foreseen path 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840

119896119891997888rarrV119905

Then the algorithm forms another hybrid foreseen path119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 based on UHP Next the algorithm movesforward to determine whether these two foreseen paths arefeasible and choose the feasible path with higher utility tocontinue searching If both of the two paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119891 into consideration

Case 4 (both 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119891997888rarrV119905 and 119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 areinfeasible) The algorithm adopts the two processing meth-ods described in Cases 2 and 3 respectively when the cor-responding path is infeasible Then four new foreseen paths119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891199061199051198941015840V119904997888rarrV1015840

119896119906997888rarrV119905

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889V119904997888rarrV119896119906997888rarrV119905 119901119891119900119903119908119886119903119889+1198871198861198881198961199081198861199031198891015840V119904997888rarrV1015840119896119891997888rarrV119905

and

119901119891119900119903119908119886119903119889+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119896119906997888rarrV119905 are formed Then the algorithm movesforward to determine whether these foreseen paths arefeasible and choose the feasible path with higher utilityto continue searching If all of these paths are infeasiblethen the algorithm starts searching the path from V119904 in thesubnetwork without taking link V119904997888rarr V119896119906 and V119904997888rarr V119896119891 intoconsideration

(3) Algorithm Complexity Analysis Assume that only threeQoS attributes (ie T C and R) are taken into considerationthe time complexity of these three algorithms is shown inTable 2 where N is the number of nodes in the subnetworkbetween V119904 and V119905 E is the number of the edges in themanufacturing network and K is the hops between V119904 andV119905

Below the detailed analysis of these representations isgiven Specifically H OSTP takes twice as much time asDijkstrarsquos shortest path algorithm As such the time com-plexity of this algorithm is O(2times(N logN + E)) which isequal to O(N logN + E) MFPB HOSTP adopts Dijkstrarsquosshortest path algorithm four times in the Backward Searchprocedure with the time complexity of O(4times(N logN + E))In the Forward Search MFPB HOSTP takes twice as muchtime as Dijkstrarsquos shortest path algorithm which meansthe time complexity for this part is O(2times(N logN + E))Besides the time complexity of finding the feasible foreseenpaths is O(KE) So the time complexity of MFPB HOSTPis O(N logN+KE) DHA OSCP adopts Dijkstrarsquos shortestpath algorithm twice both in the Backward Search procedureand in Forward Search procedure so its time complexity isO(4times(N logN + E)) which is equal to O(N logN + E)

The analysis above is based on the assumption thatonly three QoS attributes are taken into account If M QoSattributes are taken into consideration the time complexity ofMFPB HOSTP will turn into O(Mtimes(N log N + E)+KE) whilethe time complexity of DHA OSCP is still O(N logN + E)meaning that the proposed algorithm is better for large-scaleproblems

5 Computational Experiments and Discussion

In order to evaluate the performance of the proposedDHA OSCP algorithm computational experiments are con-ducted to make various comparisons between DHA OSCPand popular H OSTP and MFPB HOSTP algorithms thathave been proved to be effective for service compositionproblems

The execution time and the quality of the solution areinfluenced by the scale and structure of the network andthe QoS constraints In order to study the performance ofthe proposed heuristic algorithm under varied conditionsthe service networks with different scales and structuresare randomly generated Then the qualities of the solutionsobtained by the three algorithms are compared in detailFigure 6 shows the comparisons of results under variedconditionsThere are 20 groups ofmanufacturing networks inthe experiments and 20 sets of QoS constraints in each groupTherefore the results of 400 groups of experiments are shownin each subgraph of Figure 6 QoS preferences regarding thetask are chosen as 119908119879 = 05 119908119862 = 06 119908119877 = 08 andthe initial QoS constraint values are chosen as Tconstraints =09Cconstraints = 09 Rconstraints = 02 Then the T C areincreased by 001 and the R is reduced by 001

Figure 6 shows that DHA OSCP algorithm has a largerpossibility to find a better solution under different net-work scale and QoS constraints The X-axis and the Y-axis represent different network scales and QoS constraintsrespectively The Z-axis represents the utility values obtainedby the three algorithms Each point in the figure repre-sents the utility value of the optimal path under certainnetwork scale and QoS constraints As shown in the figureif there are no feasible solutions in the network all of thethree algorithms can determine the infeasibility MoreoverDHA OSCP manages to find feasible solutions for all caseswithout a utility value worse than that of H OSTP andobtains better results than H OSTP in 12375 of the totalexperiments (ie 198 of 1600) DHA OSCP also obtainsbetter results than MFPB HOSTP in 10875 of the totalexperiments (ie 174 of 1600)This validates the effectivenessof the DHA OSCP algorithm in finding a near-optimalsolutionThe execution times of the algorithms are influencedby the network scale and the number of hops in the networkAn additional experiment with details below is then designedto compare the utility values and execution times of the threealgorithms

Seven groups of networks are generated with a node sizeof 100 150 200 250 300 350 and 400 respectively For eachgroup of networks 20 sets of QoS constraints are taken and20 networks are generated for each set of the QoS constraintsto carry out the experiment The sum of utility values and

Complexity 13

times H_OSTPMFPB_HOSTP

QoS constraints

Better

Same1

090807060504030201

0

1090807060504030201

0

09

08

07

06

05

04

03

02

01

0

1090807060504030201

020

2018

1816

1614

14121210

10886

64 42 2

2018161412108642

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42 00

0

20181614121086420

20181614121086420

Infeasible

NetworkID

DHA_OSCP

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

Figure 6 Solution quality with different scales of service network

execution time of the 400 experiments are compared for eachnode size The experiment results are shown in Tables 3ndash5

Though the computational experiments were conductedon networks with different scales structures and constraintswe can draw the conclusion that on average DHA OSCPcan get the path with better utility value than that ofMFPB HOSTP at a lower time cost In terms of meanexecution time DHA OSCP can achieve reduction of timecost by 437 503 and 407 respectively for theexamples shown in Tables 3ndash5 Since both DHA OSCP andMFPB HOSTP have measures of addressing the imbalanceproblem at the cost of execution time they achieve muchbetter utility values than those of H OSTP but more exe-cution time is incurred When both quality of result andtime cost are considered DHA OSCP achieves better overallperformance compared with MFPB HOSTP and H OSTPwhich is important for working with manufacturing servicenetworks

Additionally compared with H OSTP the DHA OSCPalgorithm adopts two heuristic functions in the forward

search procedure this turns to ensure that nomatterwhetherimbalanced problems of QoS attributes exist it can alwaysget a near-optimal path that is no worse than the oneobtained using H OSTP Although the execution time ofDHA OSCP is increased due to taking additionalmeasure foraddressing imbalance problems it achieves the same level oftime complexity as that of H OSTP In summary DHA OSCPcan obtain solutions that are much better than H OSTP at areasonable time cost

Both MFPB HOSTP and DHA OSCP can solve theimbalance problem to a great extent Nonetheless the timecomplexity of the DHA OSCP algorithm is lower The timecomplexity of MFPB HOSTP would become intolerable ifthe number of hops in the manufacturing network increasedto a large level Moreover the DHA OSCP algorithm canget a solution with a much better utility value than thatof MFPB HOSTP This is because the forward search pro-cedure adopts UHP as a heuristic function which takesinto account the coefficients of the utility function Thisis a better search strategy compared with MFPB HOSTP

14 Complexity

Table 3 Results of Different Node Size

Node size H OSTP MFPB HOSTP DHA OSCPUtility value Execution time Utility value Execution time Utility value Execution time

100 1510454 121380 1495541 301070 1480524 234170150 1706428 251980 1688756 770790 1654677 529100200 1489640 438350 1471278 949910 1447855 1380930250 1355056 672910 1344681 2189750 1325991 1475550300 1238503 981380 1230763 3219790 1207582 2141920350 1133137 1339490 1127778 4666080 1104149 2923780400 1053334 1775580 1046502 5928810 1031810 3856320

Table 4 Results of Different QoS Constraints

QoS constraints H OSTP MFPB HOSTP DHA OSCPT C R Utility value Execution time Utility value Execution time Utility value Execution time090 090 02 2149406 235230 2148814 644120 2093961 443610094 094 018 1956596 229250 1956285 599620 1884452 420600098 098 016 1790496 231040 1790496 661650 1772467 438820102 102 014 1701983 244250 1701769 723250 1698541 465420104 104 012 1753381 245360 1717547 696620 1701082 466200108 108 010 1995259 247680 1983515 792850 1967191 493220110 110 008 1338181 241440 1333709 749020 1326810 523690112 112 006 1535065 243210 1530866 799630 1495530 519410

Table 5 Results of Different Coefficient

Coefficient H OSTP MFPB HOSTP DHA OSCPwT wC wR Utility value Execution time Utility value Execution time Utility value Execution time01 01 08 1636718 273650 1612995 767250 1585643 55779001 08 01 1938172 251740 1924318 756600 1905009 52143008 01 01 1893298 256050 1876882 762140 1856349 54689003 03 04 2103357 250490 2099200 739410 2088499 52979002 06 02 2116633 249890 2109084 744460 2086980 53881002 02 06 1895776 248760 1888923 740830 1876530 51305001 04 05 1898427 245940 1891458 734170 1880153 52326005 04 01 2148865 251090 2143177 742740 2128045 526320

which uses CBLPs to solve the imbalance problem Withthe above discussions it can be concluded that DHA OSCPoutperforms MFPB HOSTP in terms of solution quality andtime complexity

6 Application to Automobile ManufacturingService Composition

The CASICloud (wwwcasicloudcom) is a CMfg platformfor registering and accessing manufacturing services whichhas a large number of service providers and service usersIn spite of being a popular platform it can only recommenda single manufacturing service provider for a manufactur-ing task and the capability of conducting manufacturingservice composition for complex tasks is missing To verifythe viability of the proposed model and algorithm theyare implemented and integrated into the platform as anadd-on function and are tested using data from service

providers obtained from the CASICloud In this case anautomobile manufacturing process is chosen as an illustrativeexample

Figure 7 shows the graphical interface of the addi-tional function of service composition which also givesdetailed information about the service composition taskfor automobile manufacturing being solved using the pro-posed model and the DHA OSCP algorithm Specifically thetask of automobile manufacturing can be decomposed intofive subtasks namely body stamping body welding bodypainting automobile assembly and automobile test Eachsubtask has a set of candidate manufacturing services thatcan be selected to meet the requirements of the subtaskEach candidate service provider can be abstracted as a nodein the manufacturing network The logistics relationshipbetween service providers is recorded as an edge in themanufacturing network Using the DHA OSCP algorithm anear-optimal solution can be found from the starting nodeof the manufacturing network to the end one The choice

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 13: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

Complexity 13

times H_OSTPMFPB_HOSTP

QoS constraints

Better

Same1

090807060504030201

0

1090807060504030201

0

09

08

07

06

05

04

03

02

01

0

1090807060504030201

020

2018

1816

1614

14121210

10886

64 42 2

2018161412108642

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42

0

2018

1614

1210

86

42 00

0

20181614121086420

20181614121086420

Infeasible

NetworkID

DHA_OSCP

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

QoS constraintsNetworkID

Same

Better

Infeasible

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

times H_OSTPMFPB_HOSTPDHA_OSCP

Figure 6 Solution quality with different scales of service network

execution time of the 400 experiments are compared for eachnode size The experiment results are shown in Tables 3ndash5

Though the computational experiments were conductedon networks with different scales structures and constraintswe can draw the conclusion that on average DHA OSCPcan get the path with better utility value than that ofMFPB HOSTP at a lower time cost In terms of meanexecution time DHA OSCP can achieve reduction of timecost by 437 503 and 407 respectively for theexamples shown in Tables 3ndash5 Since both DHA OSCP andMFPB HOSTP have measures of addressing the imbalanceproblem at the cost of execution time they achieve muchbetter utility values than those of H OSTP but more exe-cution time is incurred When both quality of result andtime cost are considered DHA OSCP achieves better overallperformance compared with MFPB HOSTP and H OSTPwhich is important for working with manufacturing servicenetworks

Additionally compared with H OSTP the DHA OSCPalgorithm adopts two heuristic functions in the forward

search procedure this turns to ensure that nomatterwhetherimbalanced problems of QoS attributes exist it can alwaysget a near-optimal path that is no worse than the oneobtained using H OSTP Although the execution time ofDHA OSCP is increased due to taking additionalmeasure foraddressing imbalance problems it achieves the same level oftime complexity as that of H OSTP In summary DHA OSCPcan obtain solutions that are much better than H OSTP at areasonable time cost

Both MFPB HOSTP and DHA OSCP can solve theimbalance problem to a great extent Nonetheless the timecomplexity of the DHA OSCP algorithm is lower The timecomplexity of MFPB HOSTP would become intolerable ifthe number of hops in the manufacturing network increasedto a large level Moreover the DHA OSCP algorithm canget a solution with a much better utility value than thatof MFPB HOSTP This is because the forward search pro-cedure adopts UHP as a heuristic function which takesinto account the coefficients of the utility function Thisis a better search strategy compared with MFPB HOSTP

14 Complexity

Table 3 Results of Different Node Size

Node size H OSTP MFPB HOSTP DHA OSCPUtility value Execution time Utility value Execution time Utility value Execution time

100 1510454 121380 1495541 301070 1480524 234170150 1706428 251980 1688756 770790 1654677 529100200 1489640 438350 1471278 949910 1447855 1380930250 1355056 672910 1344681 2189750 1325991 1475550300 1238503 981380 1230763 3219790 1207582 2141920350 1133137 1339490 1127778 4666080 1104149 2923780400 1053334 1775580 1046502 5928810 1031810 3856320

Table 4 Results of Different QoS Constraints

QoS constraints H OSTP MFPB HOSTP DHA OSCPT C R Utility value Execution time Utility value Execution time Utility value Execution time090 090 02 2149406 235230 2148814 644120 2093961 443610094 094 018 1956596 229250 1956285 599620 1884452 420600098 098 016 1790496 231040 1790496 661650 1772467 438820102 102 014 1701983 244250 1701769 723250 1698541 465420104 104 012 1753381 245360 1717547 696620 1701082 466200108 108 010 1995259 247680 1983515 792850 1967191 493220110 110 008 1338181 241440 1333709 749020 1326810 523690112 112 006 1535065 243210 1530866 799630 1495530 519410

Table 5 Results of Different Coefficient

Coefficient H OSTP MFPB HOSTP DHA OSCPwT wC wR Utility value Execution time Utility value Execution time Utility value Execution time01 01 08 1636718 273650 1612995 767250 1585643 55779001 08 01 1938172 251740 1924318 756600 1905009 52143008 01 01 1893298 256050 1876882 762140 1856349 54689003 03 04 2103357 250490 2099200 739410 2088499 52979002 06 02 2116633 249890 2109084 744460 2086980 53881002 02 06 1895776 248760 1888923 740830 1876530 51305001 04 05 1898427 245940 1891458 734170 1880153 52326005 04 01 2148865 251090 2143177 742740 2128045 526320

which uses CBLPs to solve the imbalance problem Withthe above discussions it can be concluded that DHA OSCPoutperforms MFPB HOSTP in terms of solution quality andtime complexity

6 Application to Automobile ManufacturingService Composition

The CASICloud (wwwcasicloudcom) is a CMfg platformfor registering and accessing manufacturing services whichhas a large number of service providers and service usersIn spite of being a popular platform it can only recommenda single manufacturing service provider for a manufactur-ing task and the capability of conducting manufacturingservice composition for complex tasks is missing To verifythe viability of the proposed model and algorithm theyare implemented and integrated into the platform as anadd-on function and are tested using data from service

providers obtained from the CASICloud In this case anautomobile manufacturing process is chosen as an illustrativeexample

Figure 7 shows the graphical interface of the addi-tional function of service composition which also givesdetailed information about the service composition taskfor automobile manufacturing being solved using the pro-posed model and the DHA OSCP algorithm Specifically thetask of automobile manufacturing can be decomposed intofive subtasks namely body stamping body welding bodypainting automobile assembly and automobile test Eachsubtask has a set of candidate manufacturing services thatcan be selected to meet the requirements of the subtaskEach candidate service provider can be abstracted as a nodein the manufacturing network The logistics relationshipbetween service providers is recorded as an edge in themanufacturing network Using the DHA OSCP algorithm anear-optimal solution can be found from the starting nodeof the manufacturing network to the end one The choice

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 14: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

14 Complexity

Table 3 Results of Different Node Size

Node size H OSTP MFPB HOSTP DHA OSCPUtility value Execution time Utility value Execution time Utility value Execution time

100 1510454 121380 1495541 301070 1480524 234170150 1706428 251980 1688756 770790 1654677 529100200 1489640 438350 1471278 949910 1447855 1380930250 1355056 672910 1344681 2189750 1325991 1475550300 1238503 981380 1230763 3219790 1207582 2141920350 1133137 1339490 1127778 4666080 1104149 2923780400 1053334 1775580 1046502 5928810 1031810 3856320

Table 4 Results of Different QoS Constraints

QoS constraints H OSTP MFPB HOSTP DHA OSCPT C R Utility value Execution time Utility value Execution time Utility value Execution time090 090 02 2149406 235230 2148814 644120 2093961 443610094 094 018 1956596 229250 1956285 599620 1884452 420600098 098 016 1790496 231040 1790496 661650 1772467 438820102 102 014 1701983 244250 1701769 723250 1698541 465420104 104 012 1753381 245360 1717547 696620 1701082 466200108 108 010 1995259 247680 1983515 792850 1967191 493220110 110 008 1338181 241440 1333709 749020 1326810 523690112 112 006 1535065 243210 1530866 799630 1495530 519410

Table 5 Results of Different Coefficient

Coefficient H OSTP MFPB HOSTP DHA OSCPwT wC wR Utility value Execution time Utility value Execution time Utility value Execution time01 01 08 1636718 273650 1612995 767250 1585643 55779001 08 01 1938172 251740 1924318 756600 1905009 52143008 01 01 1893298 256050 1876882 762140 1856349 54689003 03 04 2103357 250490 2099200 739410 2088499 52979002 06 02 2116633 249890 2109084 744460 2086980 53881002 02 06 1895776 248760 1888923 740830 1876530 51305001 04 05 1898427 245940 1891458 734170 1880153 52326005 04 01 2148865 251090 2143177 742740 2128045 526320

which uses CBLPs to solve the imbalance problem Withthe above discussions it can be concluded that DHA OSCPoutperforms MFPB HOSTP in terms of solution quality andtime complexity

6 Application to Automobile ManufacturingService Composition

The CASICloud (wwwcasicloudcom) is a CMfg platformfor registering and accessing manufacturing services whichhas a large number of service providers and service usersIn spite of being a popular platform it can only recommenda single manufacturing service provider for a manufactur-ing task and the capability of conducting manufacturingservice composition for complex tasks is missing To verifythe viability of the proposed model and algorithm theyare implemented and integrated into the platform as anadd-on function and are tested using data from service

providers obtained from the CASICloud In this case anautomobile manufacturing process is chosen as an illustrativeexample

Figure 7 shows the graphical interface of the addi-tional function of service composition which also givesdetailed information about the service composition taskfor automobile manufacturing being solved using the pro-posed model and the DHA OSCP algorithm Specifically thetask of automobile manufacturing can be decomposed intofive subtasks namely body stamping body welding bodypainting automobile assembly and automobile test Eachsubtask has a set of candidate manufacturing services thatcan be selected to meet the requirements of the subtaskEach candidate service provider can be abstracted as a nodein the manufacturing network The logistics relationshipbetween service providers is recorded as an edge in themanufacturing network Using the DHA OSCP algorithm anear-optimal solution can be found from the starting nodeof the manufacturing network to the end one The choice

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 15: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

Complexity 15

Figure 7 Selection of automobile manufacturing service provider

of the path takes into account both the QoS attributes ofthe manufacturing service provider and the logistics QoSbetween the service providers In this example of applicationa user of the system can specify both the QoS constraints (ieT C and R) and the coefficients of these constraints After thevalues are specified the algorithm can execute the searchingprocess detailed in the previous sections and deliver a near-optimal path At the same time the QoS of each selectedservice provider and the logistics QoS between them arealso available to the user The utility function is calculatedusing (8)with values generated according to the specific resultchosen by the user

This application illustrates the effectiveness of the pro-posed algorithm in the field of automobile manufactur-ing service composition In this application both the QoSattributes of the service providers and logistics are taken intoconsideration to choose the optimal service compositionwhich is more accurate and credible in actual manufacturingscenario than many other algorithms

7 Conclusion

In this paper a new model of manufacturing service com-position based on network architecture is proposed This

model not only inherits the advantages of the model basedon Cloud Computing but also takes the cooperation relation-ship between services into account this makes the servicecomposition process more accurate and closer to actualmanufacturing scenarios To solve the NP-Complete problemof selecting the optimal service composition path with end-to-endQoS constraints in the service network the advantagesand disadvantages of the existing efficient H OSTP andMFPB HOSTP algorithms are first analyzed in detail Onthis basis a novel DHA OSCP algorithm is developed tosolve the imbalance problem with less cost in terms of com-putation time Computational experiments are conductedusing various datasets to evaluate the performance of theproposed DHA OSCP algorithm and the results obtaineddemonstrate that it outperforms existing methods includingMFPB HOSTP and H OSTP in optimal service path selec-tion Its application to a real-world application of automobilemanufacturing further shows that the proposed algorithm isviable in searching for optimal service composition path withexcellent performance in terms of both solution quality andexecution efficiency

Based on the work detailed in this paper a servicecomposition search engine which can work with more

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 16: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

16 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905

119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

1 begin2 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= 0 119901119891119900119903119908119886119903119889V119904997888rarrV119905= 0

3 Delta Backward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905)

4 if 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt15 Return no feasible solution6 else7 Utility Backward Search (SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

)8 Forward Search (SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905 119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) 120583 isin TCR)

9 Return 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119886119899119889 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905 )10 end if (line 4)11 end

Algorithm 1 DHA OSCP

Data SNV119904997888rarrV119905 (119879 119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR1 begin2 setVS = 0 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

) = infin (V119896 = V119905) 120575(119901119887119886119888119896119908119886119903119889V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889V119905997888rarrV119905

= V1199053 move V119905 into VS4 whileVS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 120575 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) = max(119889119890119897119905119886119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119889119890119897119905119886119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119889119890119897119905119886119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) times SNV119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905) lt 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 )

10 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 120575(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905)

11 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) + SNV119904997888rarrV119905 (120583)[119886][119896] 120583 isin TC12 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) = 119889119890119897119905119886119887119886119888119896119877(119901119887119886119888119896119908119886119903119889V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877)[119886][119896]13 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 ) 120583 isin TCR20 end

Algorithm 2 Delta Backward Search

manufacturing applications will be developed in the nextstep In this system the proposed model and algorithm willbe extended to help a user select a better manufacturingservice composition path to meet the demand of variousend to end QoS constraints Additionally prediction andservice composition for dynamic QoS is also an essentialproblem worth studying The algorithms suitable for thisscenario will also be studied and developed in our futurework

Appendix

A

See Algorithm 1

B

See Algorithm 2

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 17: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

Complexity 17

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905Result 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR1 begin2 setVS = 0 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = infin (V119896 = V119905) 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905) = 0 119901119887119886119888119896119908119886119903119889119906119905119894V119905997888rarrV119905

= V1199053 move V119905 into VS4 while VS = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS6 if edge(V119896 V119886) exists7 for each V119896

8 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) = weighed mean(119906119905119894119897119894119905119910119887119886119888119896119879 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (119879) [119886] [119896]119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119906119905119894119897119894119905119910119887119886119888119896119862 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) + SNV119904997888rarrV119905 (119862) [119886] [119896]119862119888119900119899119904119905119903119886119894119899119905

V119904997888rarrV119905

ln (119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) times 119878119873V119904997888rarrV119905 (119877) [119886] [119896])

ln (119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905) )

9 if 119906119905119894(V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905) lt 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

)10 119906119905119894 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) = 119906119905119894 (V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905)

11 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) = 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

) + SNV119904997888rarrV119905 (120583) [119886] [119896] 120583 isin TC12 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 ) = 119906119905119894119897119894119905119910119887119886119888119896119877 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905 ) times SNV119904997888rarrV119905 (119877) [119886] [119896]13 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

= V119896 997888rarr V119886 + 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV11990514 end if (line 9)15 end (line 7)16 end if (line 6)17 Remove V119886 from VS18 end (line 4)19 return 119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 120583 isin TCR20 end

Algorithm 3 Utility Backward Search

C

Proof Assume that plowast is the feasible solution in the net-work and 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is the path with the minimal 120575 then120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) Assume that pbackwardvs997888rarrvt is not feasiblethen 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 Since 119901lowast is a feasible solution with120575(119901lowast) le 1 we can get the conclusion that 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt120575(119901lowast)This contradicts 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 120575(119901lowast) So 119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 is afeasible solution

The feasible backward search can identify whether thereis a feasible path that satisfies all QoS constraints If120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) gt 1 then there is no feasible solution in thenetwork and the algorithm will terminate So the feasiblebackward search process can avoid useless search processesand make the algorithm more efficient If 120575(119901119887119886119888119896119908119886119903119889V119904997888rarrV119905 ) le 1there is a feasible solution 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 for each node V119896 Thefeasible backward path set 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905 can participate in theforward search process and can be used as one of the heuristicfunctions of the Alowast forward search

D

See Algorithm 3

E

See Algorithm 4

Data Availability

The experiment data used to support the findings of thisstudy are available from the corresponding author uponrequest

Conflicts of Interest

The authors declare that there are no conflicts of interestregarding the publication of this paper

Acknowledgments

This work was supported in part by the Zhejiang Univer-sityUniversity of Illinois at Urbana-Champaign Institute andwas led by Principal Supervisor Prof Hongwei Wang Thiswork was supported by National Key RampD Program of China[Grant No 2018YFB1701602] and State Key Laboratory of

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 18: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

18 Complexity

Data SNV119904997888rarrV119905 (119879119862 119877) 119879119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119862119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905

119877119888119900119899119904119905119903119886119894119899119905V119904997888rarrV119905 119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

119888119900119890(119879119862 119877) 120575(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905)119889119890119897119905119886119887119886119888119896120583(119901119887119886119888119896119908119886119903119889V119896997888rarrV119905

)119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905 119906119905119894(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905

) 119906119905119894119897119894119905119910119887119886119888119896120583(119901119887119886119888119896119908119886119903119889119906119905119894V119896997888rarrV119905) 120583 isin TCR

Result 119901119891119900119903119908119886119903119889V119904997888rarrV119905 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905

)1 begin2 SetVS1 = VS2 = 0 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119896

) = infin (V119896 = V119904) 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119904) = 0 1199011198911199001199031199081198861199031198891V119904997888rarrV119904

= V1199041198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119896) = infin (V119896 = V119904) 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119904

) = 0 1199011198911199001199031199081198861199031198892V119904997888rarrV119904= V119904

3 move V119904 into VS1 and VS24 whileVS1 = 0 and VS2 = 0 then5 find V119886(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS16 find V119887(V119886119897119906119890) = min(Vlowast(V119886119897119906119890)) Vlowast isin VS27 if V119886 = V119887 119886119899119889 119880(V119886) = 119880(V119887)8 if edge(V119896 V119886) exists9 for each V11989610 start case (120583 isin TCR)11 Case 11199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905 is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905 is feasible12 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905)

13 1199011198911199001199031199081198861199031198891V119904997888rarrV119905= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886

+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV11990514 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905

) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

))15 end if (line 12)16 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

17 1199011198911199001199031199081198861199031198892V119904997888rarrV119905= 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990518 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))19 end if (line 16)20 Case 21199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is infeasible

21 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)22 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

23 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

24 end if (line 21)25 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

26 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV119905

27 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))

28 end if (line 25)29 Case 31199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is infeasible and 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905is feasible

30 if 1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)31 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

32 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

33 end if (line 30)34 if 1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905)

35 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905

36 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))

37 end if (line 34)38 end case (line 10)39 end (line 9)40 end if (line 8)41 else (line 7)42 if edge(V119896 V119886) exists43 for each V11989644 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)45 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889V119886997888rarrV119905

46 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119886997888rarrV119905))

47 end if (line 44)48 if 1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905

is feasible and1198801(1199011198911199001199031199081198861199031198891+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119886997888rarrV119905) lt 1198801(1199011198911199001199031199081198861199031198891V119904997888rarrV119905

)49 1199011198911199001199031199081198861199031198891V119904997888rarrV119905

= 1199011198911199001199031199081198861199031198891V119904997888rarrV119886+ 119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905

Algorithm 4 Continued

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 19: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

Complexity 19

50 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119905) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198891V119904997888rarrV119886

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119886997888rarrV119905))

51 end if (line 48)52 end (line 43)53 end if (line 42)54 if edge(V119896 V119887) exists55 for each V11989656 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889119906119905119894V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)57 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV11990558 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119906119905119894119897119894119905119910119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889119906119905119894V119887997888rarrV119905 ))59 end if (line 56)60 if 1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905

is feasible and1198802(1199011198911199001199031199081198861199031198892+119887119886119888119896119908119886119903119889V119904997888rarrV119887997888rarrV119905) lt 1198802(1199011198911199001199031199081198861199031198892V119904997888rarrV119905

)61 1199011198911199001199031199081198861199031198892V119904997888rarrV119905 = 1199011198911199001199031199081198861199031198892V119904997888rarrV119887

+ 119901119887119886119888119896119908119886119903119889V119887997888rarrV11990562 119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119905 ) = 119888119900119898119887119894119899119890 (119865119900119903119908119886119903119889120583 (1199011198911199001199031199081198861199031198892V119904997888rarrV119887

) 119889119890119897119905119886119887119886119888119896120583 (119901119887119886119888119896119908119886119903119889V119887997888rarrV119905 ))63 end if (line 60)64 end (line 55)65 end if (line 54)66 end if (line 7)67 Remove V119886 from VS1 and V119887 from VS268 End (line 4)69 return 119901119891119900119903119908119886119903119889V119904997888rarrV119905

= better utility(1199011198911199001199031199081198861199031198891V119904997888rarrV119905 1199011198911199001199031199081198861199031198892V119904997888rarrV119905

) and 119880(119901119891119900119903119908119886119903119889V119904997888rarrV119905)

70 end

Algorithm 4 Forward Search

Intelligent Manufacturing System Technology [Grant NoQYYE1601]

References

[1] L Zhang et al ldquoCloud manufacturing a new manufacturingparadigmrdquo Enterprise Information Systems vol 8 no 2 pp 167ndash187 2014

[2] F Tao L Zhang V C Venkatesh Y Luo and Y ChengldquoCloudmanufacturing a computing and service-orientedman-ufacturing modelrdquo Proceedings of the Institution of MechanicalEngineers Part B Journal of Engineering Manufacture vol 225no 10 pp 1969ndash1976 2011

[3] X Xu ldquoFrom cloud computing to cloud manufacturingrdquoRobotics and Computer-Integrated Manufacturing vol 28 no 1pp 75ndash86 2012

[4] D Wu M J Greer D W Rosen and D Schaefer ldquoCloudmanufacturing strategic vision and state-of-the-artrdquo Journal ofManufacturing Systems vol 32 no 4 pp 564ndash579 2013

[5] C Jatoth G Gangadharan and R Buyya ldquoComputationalIntelligence Based QoS-Aware Web Service Composition ASystematic Literature Reviewrdquo IEEE Transactions on ServicesComputing vol 10 no 3 pp 475ndash492 2017

[6] G Peng H Wang J Dong and H Zhang ldquoKnowledge-basedresource allocation for collaborative simulation development ina multi-tenant cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 11 no 2 pp 306ndash317 2018

[7] Y Yu J Chen S Lin andYWang ldquoA dynamicQoS-aware logis-tics service composition algorithm based on social networkrdquoIEEE Transactions on Emerging Topics in Computing vol 2 no4 pp 399ndash410 2014

[8] T Korkmaz and M Krunz ldquoMulti-constrained optimal pathselectionrdquo in Proceedings of the Twentieth Annual Joint Confer-ence of the IEEE Computer and Communications Societies vol2 pp 834ndash843 IEEE 2001

[9] H Zheng Y Feng and J Tan ldquoA hybrid energy-aware resourceallocation approach in cloud manufacturing environmentrdquoIEEE Access vol 5 pp 12648ndash12656 2017

[10] Y Wu G Peng L Chen and H Zhang ldquoService architectureand evaluation model of distributed 3D printing based oncloud manufacturingrdquo in Proceedings of the 2016 IEEE Interna-tional Conference on Systems Man and Cybernetics (SMC) pp002762ndash002767 IEEE 2016

[11] W Ho X Xu and P K Dey ldquoMulti-criteria decision makingapproaches for supplier evaluation and selection a literaturereviewrdquo European Journal of Operational Research vol 202 no1 pp 16ndash24 2010

[12] T Yu and K-J Lin ldquoService selection algorithms for Web ser-vices with end-to-end QoS constraintsrdquo Journal of InformationSystems and e-Business Management vol 3 no 2 pp 103ndash1262005

[13] V Gabrel M Manouvrier and C Murat ldquoOptimal and auto-matic transactional web service composition with dependencygraph and 0-1 linear programmingrdquo in Proceedings of theInternational Conference on Service-Oriented Computing pp108ndash122 Springer 2014

[14] Y Yang S Tang Y Xu W Zhang and L Fang ldquoAn approachto QoS-aware service selection in dynamic web service com-positionrdquo in Proceedings of the 3rd International Conference onNetworking and Services pp 18-18 IEEE 2007

[15] A Klein F Ishikawa and S Honiden ldquoEfficient heuristicapproachwith improved time complexity forQoS-aware servicecompositionrdquo in Proceedings of the 2011 IEEE 9th InternationalConference on Web Services ICWS 2011 pp 436ndash443 IEEEUSA July 2011

[16] Y Luo Y Qi D Hou L Shen Y Chen and X Zhong ldquoAnovel heuristic algorithm for QoS-aware end-to-end servicecompositionrdquo Computer Communications vol 34 no 9 pp1137ndash1144 2011

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 20: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

20 Complexity

[17] P Rodriguez-Mier M Mucientes and M Lama ldquoAutomaticweb service composition with a heuristic-based search algo-rithmrdquo in Proceedings of the 2011 IEEE 9th International Con-ference on Web Services ICWS 2011 pp 81ndash88 IEEE USA July2011

[18] P Rodriguez-Mier M Mucientes and M Lama ldquoHybridoptimization algorithm for large-scale QoS-aware service com-positionrdquo IEEE Transactions on Services Computing vol 10 no4 pp 547ndash559 2017

[19] Y-Q Li and T Wen ldquoAn approach of QoS-guaranteed web ser-vice composition based on a win-win strategyrdquo in Proceedingsof the 2012 IEEE 19th International Conference on Web ServicesICWS 2012 pp 628ndash630 USA June 2012

[20] M Li D Zhu T Deng H Sun H Guo and X Liu ldquoGOS aglobal optimal selection strategies for QoS-aware web servicescompositionrdquo Service Oriented Computing and Applicationsvol 7 no 3 pp 181ndash197 2013

[21] W Wang Q Sun X Zhao and F Yang ldquoAn improved particleswarm optimization algorithm for QoS-aware web serviceselection in service oriented communicationrdquo InternationalJournal of Computational Intelligence Systems vol 3 1 pp 18ndash30 2010

[22] H Rezaie N NematBaksh and FMardukhi ldquoAmulti-objectiveparticle swarm optimization for web service compositionrdquo inProceedings of the International Conference onNetworkedDigitalTechnologies pp 112ndash122 Springer 2010

[23] F Rosenberg M B Muller P Leitner A Michlmayr ABouguettaya and S Dustdar ldquoMetaheuristic optimization oflarge-scale QoS-aware service compositionsrdquo in Proceedingsof the 2010 IEEE 7th International Conference on ServicesComputing SCC 2010 pp 97ndash104 IEEE USA July 2010

[24] S B Bhushan and P C Reddy ldquoA hybrid meta-heuristicapproach for QoS-aware cloud service compositionrdquo Interna-tional Journal of Web Services Research vol 15 no 2 pp 1ndash202018

[25] Z Ye X Zhou and A Bouguettaya ldquoGenetic algorithm basedQoS-aware service compositions in cloud computingrdquo in Pro-ceedings of the in International Conference on Database Systemsfor Advanced Applications pp 321ndash334 Springer 2011

[26] Y Que W Zhong H Chen X Chen and X Ji ldquoImprovedadaptive immune genetic algorithm for optimal QoS-awareservice composition selection in cloud manufacturingrdquo eInternational Journal of Advanced Manufacturing Technologypp 1ndash11 2018

[27] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing vol 28 no 8 pp 1947ndash1960 2017

[28] C B Pop V R Chifu I Salomie M Dinsoreanu T Davidand V Acretoaie ldquoAnt-inspired technique for automatic Webservice composition and selectionrdquo in Proceedings of the 12thInternational Symposium on Symbolic and Numeric Algorithmsfor Scientific Computing SYNASC 2010 pp 449ndash455 IEEERomania September 2010

[29] J Zhou and X Yao ldquoA hybrid artificial bee colony algorithmfor optimal selection ofQoS-based cloudmanufacturing servicecompositionrdquo e International Journal of Advanced Manufac-turing Technology vol 88 no 9-12 pp 3371ndash3387 2017

[30] G Kousalya D Palanikkumar and P R Piriyankaa ldquoOptimalweb service selection and composition using multi-objectivebees algorithmrdquo in Proceedings of the 9th IEEE International

Symposium on Parallel and Distributed Processing with Appli-cations Workshops ISPAW 2011 pp 193ndash196 IEEE Republic ofKorea May 2011

[31] A Bekkouche S M Benslimane M Huchard C Tiberma-cine F Hadjila and M Merzoug ldquoQoS-aware optimal andautomated semantic web service composition with userrsquos con-straintsrdquo Service Oriented Computing and Applications vol 11no 2 pp 183ndash201 2017

[32] C Jatoth G Gangadharan U Fiore and R Buyya ldquoQoS-awareBig service composition using MapReduce based evolutionaryalgorithm with guided mutationrdquo Future Generation ComputerSystems vol 86 pp 1008ndash1018 2018

[33] H Labbaci B Medjahed and Y Aklouf ldquoA deep learningapproach for long termQoS-compliant service compositionrdquo inProceedings of the International Conference on Service-OrientedComputing pp 287ndash294 Springer 2017

[34] H Jin X Yao and Y Chen ldquoCorrelation-aware QoS modelingand manufacturing cloud service compositionrdquo Journal ofIntelligent Manufacturing 2015

[35] G Liu Y Wang M A Orgun and E-P Lim ldquoA heuris-tic algorithm for trust-oriented service provider selection incomplex social networksrdquo in Proceedings of the 2010 IEEE 7thInternational Conference on Services Computing SCC 2010 pp130ndash137 IEEE USA July 2010

[36] G Liu Y Wang M A Orgun and E-P Lim ldquoFinding theoptimal social trust path for the selection of trustworthy serviceproviders in complex social networksrdquo IEEE Transactions onServices Computing vol 6 no 2 pp 152ndash167 2013

[37] E W Dijkstra ldquoA note on two problems in connexion withgraphsrdquo Numerische Mathematik vol 1 pp 269ndash271 1959

[38] DWang Y Yang and Z Mi ldquoA genetic-based approach to webservice composition in geo-distributed cloud environmentrdquoComputers and Electrical Engineering vol 43 pp 129ndash141 2015

[39] S Dustdar and W Schreiner ldquoA survey on Web servicescompositionrdquo International Journal of Web and Grid Servicesvol 1 no 1 pp 1ndash30 2005

[40] T Yu Y Zhang and K-J Lin ldquoEfficient algorithms for Webservices selection with end-to-end QoS constraintsrdquo ACMTransactions on the Web (TWEB) vol 1 no 1 p 6 2007

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom

Page 21: A Heuristic Algorithm for Optimal Service Composition in ...downloads.hindawi.com/journals/complexity/2019/7819523.pdfResearchArticle A Heuristic Algorithm for Optimal Service Composition

Hindawiwwwhindawicom Volume 2018

MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Applied MathematicsJournal of

Hindawiwwwhindawicom Volume 2018

Probability and StatisticsHindawiwwwhindawicom Volume 2018

Journal of

Hindawiwwwhindawicom Volume 2018

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawiwwwhindawicom Volume 2018

OptimizationJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

Hindawiwwwhindawicom Volume 2018

Operations ResearchAdvances in

Journal of

Hindawiwwwhindawicom Volume 2018

Function SpacesAbstract and Applied AnalysisHindawiwwwhindawicom Volume 2018

International Journal of Mathematics and Mathematical Sciences

Hindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018Volume 2018

Numerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisNumerical AnalysisAdvances inAdvances in Discrete Dynamics in

Nature and SocietyHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Dierential EquationsInternational Journal of

Volume 2018

Hindawiwwwhindawicom Volume 2018

Decision SciencesAdvances in

Hindawiwwwhindawicom Volume 2018

AnalysisInternational Journal of

Hindawiwwwhindawicom Volume 2018

Stochastic AnalysisInternational Journal of

Submit your manuscripts atwwwhindawicom