<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">IASC</journal-id>
<journal-id journal-id-type="nlm-ta">IASC</journal-id>
<journal-id journal-id-type="publisher-id">IASC</journal-id>
<journal-title-group>
<journal-title>Intelligent Automation &#x0026; Soft Computing</journal-title>
</journal-title-group>
<issn pub-type="epub">2326-005X</issn>
<issn pub-type="ppub">1079-8587</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">30484</article-id>
<article-id pub-id-type="doi">10.32604/iasc.2023.030484</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>QoS-Aware Cloud Service Optimization Algorithm in Cloud Manufacturing Environment</article-title><alt-title alt-title-type="left-running-head">QoS-Aware Cloud Service Optimization Algorithm in Cloud Manufacturing Environment</alt-title><alt-title alt-title-type="right-running-head">QoS-Aware Cloud Service Optimization Algorithm in Cloud Manufacturing Environment</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Ma</surname><given-names>Wenlong</given-names></name>
<xref ref-type="aff" rid="aff-1">1</xref>
<xref ref-type="aff" rid="aff-2">2</xref><email>qzmwlmwl@126.com</email>
</contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Xu</surname><given-names>Youhong</given-names></name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Zheng</surname><given-names>Jianwei</given-names></name>
<xref ref-type="aff" rid="aff-2">2</xref>
</contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Rehman</surname><given-names>Sadaqat ur</given-names></name>
<xref ref-type="aff" rid="aff-3">3</xref>
</contrib>
<aff id="aff-1"><label>1</label><institution>School of Information Engineering, Quzhou College of Technology</institution>, <addr-line>Quzhou, 324000</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>School of Computer Science and Technology, Zhejiang University of Technology</institution>, <addr-line>Hangzhou, 310023</addr-line>, <country>China</country></aff>
<aff id="aff-3"><label>3</label><institution>Department of Natural and Computing Science, University of Aberdeen, Scotland</institution>, <addr-line>Aberdeen, AB243FX</addr-line>, <country>UK</country></aff>
</contrib-group><author-notes><corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Wenlong Ma. Email: <email>qzmwlmwl@126.com</email></corresp></author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2023</year></pub-date>
<pub-date date-type="pub" publication-format="electronic"><day>23</day><month>6</month><year>2023</year></pub-date>
<volume>37</volume>
<issue>2</issue>
<fpage>1499</fpage>
<lpage>1512</lpage>
<history>
<date date-type="received"><day>27</day><month>3</month><year>2022</year></date>
<date date-type="accepted"><day>24</day><month>6</month><year>2022</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2023 Ma et al.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Ma et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_IASC_30484.pdf"></self-uri>
<abstract>
<p>In a cloud manufacturing environment with abundant functionally equivalent cloud services, users naturally desire the highest-quality service(s). Thus, a comprehensive measurement of quality of service (QoS) is needed. Optimizing the plethora of cloud services has thus become a top priority. Cloud service optimization is negatively affected by untrusted QoS data, which are inevitably provided by some users. To resolve these problems, this paper proposes a QoS-aware cloud service optimization model and establishes QoS-information awareness and quantification mechanisms. Untrusted data are assessed by an information correction method. The weights discovered by the variable precision Rough Set, which mined the evaluation indicators from historical data, providing a comprehensive performance ranking of service quality. The manufacturing cloud service optimization algorithm thus provides a quantitative reference for service selection. In experimental simulations, this method recommended the optimal services that met users&#x2019; needs, and effectively reduced the impact of dishonest users on the selection results.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Cloud manufacturing</kwd>
<kwd>quality of service</kwd>
<kwd>optimization algorithm</kwd>
<kwd>rough set</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>National Natural Science Foundation</funding-source>
<award-id>61602413</award-id>
</award-group>
<award-group id="awg2">
<funding-source>Natural Science Foundation of Zhejiang Province</funding-source>
<award-id>LY15E050007</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>As a new type of networked manufacturing, cloud manufacturing utilizes network and cloud manufacturing service platforms to organize online manufacturing resources (manufacturing clouds) that meet user needs, thus providing users with various types of on-demand manufacturing services [<xref ref-type="bibr" rid="ref-1">1</xref>]. Therefore, the manufacturing cloud service deployed on the network contains an abundant amount of information. Many manufacturing cloud services have the same or similar functions, but vary in their service quality. Users naturally want to select the service(s) offering the highest quality of service (QoS) [<xref ref-type="bibr" rid="ref-2">2</xref>&#x2013;<xref ref-type="bibr" rid="ref-5">5</xref>]. The optimization of QoS-based services must solve two simultaneous problems: 1) describing, quantifying, and monitoring the QoS attributes of manufacturing cloud services, 2) efficiently selecting the optimal service that meets the QoS requirements of the user among a number of similar services. The first problem can be approached through real-time sampling, detection, user feedback, or historical data obtained through data mining [<xref ref-type="bibr" rid="ref-6">6</xref>&#x2013;<xref ref-type="bibr" rid="ref-9">9</xref>]; the second problem requires comprehensive consideration of various QoS performance indicators of the service, and evaluation of their importance. Finally, a flexible multi-indicator decision is made following a certain strategy, and the final solution is returned after ranking and selecting the decisions [<xref ref-type="bibr" rid="ref-10">10</xref>&#x2013;<xref ref-type="bibr" rid="ref-12">12</xref>].</p>
<p>In fact, the QoS experience reported by users is sometimes inconsistent with the QoS information provided by the manufacturing cloud service registry. In some cases, this inconsistency is significant [<xref ref-type="bibr" rid="ref-13">13</xref>&#x2013;<xref ref-type="bibr" rid="ref-16">16</xref>]. On the one hand, some service providers driven by self-interest may deliberately exaggerate their QoS. On the other hand, not all users leave honest evaluations of the service execution results. Some users deliberately talk-up or talk-down the QoS, leaving good or bad reviews about the service provider&#x2019;s honesty with malicious intent. These situations mainly occur because the QoS value provided by service registries lacks the corresponding honesty measurements and an information correction mechanism.</p>
<p>In the present paper, the abovementioned problems are resolved by a QoS-aware cloud service optimization model that meets the specific needs of a manufacturing industry in the cloud-manufacturing environment. First, the collection, quantification, and information correction methods of QoS evaluation indicators suitable for cloud-manufacturing businesses are discussed. Next, the weights of various evaluation indicators are obtained from a large numbers of historical data records through a variable precision rough set. These weights are combined with the preset evaluation indicator weights of users with specific business needs and personal preferences. Finally, multi-indicator decisions are made by mining the weights of the indicators, thereby finding the optimal service to recommend to users.</p>
<p>The main contributions of this paper are summarized as follows:<list list-type="simple"><list-item><label>1)</label>
<p>A novel QoS information model of manufacturing cloud services accommodating the characteristics of the manufacturing industry is proposed.</p></list-item><list-item><label>2)</label>
<p>A QoS information correction method that effectively reduces the influence of untrusted data on the selection results is proposed.</p></list-item><list-item><label>3)</label>
<p>&#x2009;Theoretical and experimental analyses confirm the effectiveness of the proposed optimization algorithm for manufacturing cloud services, and the objectiveness of the proposed variable precision rough set weight method.</p></list-item></list></p>
<p>The rest of this paper is organized as follows. In Section 2, we give an overview of relevant work. Section 3 illustrates QoS-information awareness and quantification mechanisms. A QoS-aware cloud service optimization model are given in Section 4. In Section 5 we present the main implementation and the experiment to verify the efficiency of our method. This is followed by Conclusions and Future Work in Section 6.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Relevant Work</title>
<p>Optimization of manufacturing cloud services has followed two main research directions: a. finding appropriate resources that match the functional description, b. finding appropriate resources based on non-functional descriptions. In the first approach, the search is completed when the detailed functional description of the manufacturing resource matches the required resource functions. This approach is suitable when initially searching the service. The second approach intends to satisfy the functional requirements of the service to determine the best service based on certain non-functional requirements. The best manufacturing resources are found by matching the service quality and resource requirements of many similar services. In a non-functional resource search, Zhou et al. [<xref ref-type="bibr" rid="ref-17">17</xref>] proposed that both the resource service management QoS and network performance QoS should be comprehensively considered in the manufacturing grid QoS evaluation. They also proposed a QoS evaluation model with 11 indicators, including time and price. Liu et al. [<xref ref-type="bibr" rid="ref-18">18</xref>] proposed an extensible calculation model based on general QoS and special QoS attributes. Yau et al. [<xref ref-type="bibr" rid="ref-19">19</xref>] proposed a QoS sorting algorithm based on user satisfaction alone, without considering the weights of the QoS attributes. Tao et al. [<xref ref-type="bibr" rid="ref-20">20</xref>] proposed a non-functional QoS evaluation method and a resource service optimization algorithm for manufacturing-resource services. Their method constructs an intuitionistic fuzzy set, combining intuitionistic fuzzy set theory and its corresponding operation rules.</p>
<p>The reliability of QoS data has attracted many researchers of Web services. Xu et al. [<xref ref-type="bibr" rid="ref-21">21</xref>] measured the reliability of each user in a cloud service-selection framework based on user reputation, and proposed a novel calculation method of user reputation. Xiong [<xref ref-type="bibr" rid="ref-22">22</xref>] considered the impact of similarity among users, and proposed a peer trust model that evaluates the reliability of users. Wang et al. [<xref ref-type="bibr" rid="ref-23">23</xref>] assessed service reputation by feedback verification, confirmation, and feedback tests. A trust framework that enables services to build reliable trust relationships has also been proposed [<xref ref-type="bibr" rid="ref-24">24</xref>,<xref ref-type="bibr" rid="ref-25">25</xref>].</p>
<p>As indicated above, QoS-aware selection of Web services has been studied from many perspectives, providing valuable references for selecting manufacturing cloud services. However, unlike Web services, manufacturing cloud services must abide by certain special requirements of the industry. The research object of Web services is developing computing and software resources. Manufacturing cloud services must provide not only the computing and software resources, but also other manufacturing resources and manufacturing capabilities. To cope with the large number of complex manufacturing services, the description model of the QoS information should differ from that of Web services. Using a non-functional description method, the present model attempts to improve the effectiveness of optimization models for cloud manufacturing services.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>QoS Awareness and Information Correction of Manufacturing Cloud Services</title>
<sec id="s3_1">
<label>3.1</label>
<title>QoS-aware Model of Manufacturing Cloud Services</title>
<p>In this paper, manufacturing cloud services are divided into hardware and software cloud services. Hardware cloud services produce and manufacture the equipment, whereas software cloud services deliver the software resources. To develop a QoS-aware model for manufacturing cloud services, we first define the information of the manufacturing cloud service.</p>
<p>Definition 1. The QoS information of a manufacturing cloud service <italic>S</italic> can be modeled as <inline-formula id="ieqn-1">
<mml:math id="mml-ieqn-1"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>Q</mml:mi><mml:mi>o</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>v</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula>, where <inline-formula id="ieqn-2">
<mml:math id="mml-ieqn-2"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:math>
</inline-formula> is the price of the cloud service. If <italic>S</italic> is a hardware cloud service, the price includes the outsourcing and transportation costs. Denoting the current average outsourcing and transporting costs of a single product by <inline-formula id="ieqn-3">
<mml:math id="mml-ieqn-3"><mml:msub><mml:mi>C</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mtext>&#x00A0;</mml:mtext></mml:math>
</inline-formula> and <inline-formula id="ieqn-4">
<mml:math id="mml-ieqn-4"><mml:msub><mml:mi>C</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math>
</inline-formula> respectively, we have <inline-formula id="ieqn-5">
<mml:math id="mml-ieqn-5"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math>
</inline-formula>; if <italic>S</italic> is a software cloud service, then <inline-formula id="ieqn-6">
<mml:math id="mml-ieqn-6"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:math>
</inline-formula> is the fee of using service <italic>S</italic>.</p>
<p><inline-formula id="ieqn-7">
<mml:math id="mml-ieqn-7"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:math>
</inline-formula> represents the time interval between the calling of service <italic>S</italic> and the receiving of a response. This value indicates the responsiveness of the cloud service to a user&#x2019;s request. If <italic>S</italic> is a hardware cloud service, the processing and transportation times of the task product are <inline-formula id="ieqn-8">
<mml:math id="mml-ieqn-8"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:math>
</inline-formula> and <inline-formula id="ieqn-9">
<mml:math id="mml-ieqn-9"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math>
</inline-formula> respectively, and <inline-formula id="ieqn-10">
<mml:math id="mml-ieqn-10"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>T</mml:mi><mml:msub><mml:mrow></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub></mml:math>
</inline-formula>; if <italic>S</italic> is a software cloud service requiring computational time <inline-formula id="ieqn-11">
<mml:math id="mml-ieqn-11"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math>
</inline-formula>, the time delay between issuing the call command and the start of the <italic>S</italic> execution is <inline-formula id="ieqn-12">
<mml:math id="mml-ieqn-12"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub></mml:math>
</inline-formula>, so we have <inline-formula id="ieqn-13">
<mml:math id="mml-ieqn-13"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub></mml:math>
</inline-formula>. The above time and price samplings and measurement methods obviously differ from those of traditional services; in particular, they fully consider the business background of the cloud service as a product manufacturing service.</p>
<p>The reliability of the service (<inline-formula id="ieqn-14">
<mml:math id="mml-ieqn-14"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math>
</inline-formula>) defines the ability of the cloud service to <inline-formula id="ieqn-15">
<mml:math id="mml-ieqn-15"><mml:mo>&#x2211;</mml:mo><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>v</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math>
</inline-formula> is the probability of normal service operation, and the honesty of the service (<inline-formula id="ieqn-16">
<mml:math id="mml-ieqn-16"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math>
</inline-formula>) defines the extent to which the user complies with the agreement after the service is fulfilled. The latter is determined by average evaluation. Suppose that service <italic>S</italic> is called <italic>K</italic> times during time interval (<inline-formula id="ieqn-17">
<mml:math id="mml-ieqn-17"><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math>
</inline-formula>, <inline-formula id="ieqn-18">
<mml:math id="mml-ieqn-18"><mml:msub><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math>
</inline-formula>). Let the number of normal responses be <inline-formula id="ieqn-19">
<mml:math id="mml-ieqn-19"><mml:msub><mml:mi>K</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:math>
</inline-formula>, the time of no failures be <inline-formula id="ieqn-20">
<mml:math id="mml-ieqn-20"><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:math>
</inline-formula>, and the users&#x2019; evaluations at each time be <inline-formula id="ieqn-21">
<mml:math id="mml-ieqn-21"><mml:msub><mml:mrow><mml:mi mathvariant="normal">E</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msub></mml:math>
</inline-formula>. The above three indices are then defined as</p>
<p><disp-formula id="eqn-1"><label>(1)</label>
<mml:math id="mml-eqn-1" display="block"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>K</mml:mi></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-2"><label>(2)</label>
<mml:math id="mml-eqn-2" display="block"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>v</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>;</mml:mo><mml:mtext>&#x00A0;</mml:mtext></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-3"><label>(3)</label>
<mml:math id="mml-eqn-3" display="block"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mrow><mml:mi>E</mml:mi><mml:msub><mml:mrow></mml:mrow><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mo>.</mml:mo></mml:mstyle></mml:math>
</disp-formula></p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>QoS Information Correction</title>
<p>In the proposed method, dishonest evaluations are detected by a monitor placed in the cloud manufacturing service platform, which collects, checks, and verifies the feedback data of users. Data which are too large or too small, which likely represent the malicious attack data, are filtered out. Whether data represent a malicious attack is judged by user collaborative filtering. Evaluations given by the same users using the same services are expected to vary only slightly.</p>
<p>Suppose that user <italic>X</italic> and user <inline-formula id="ieqn-22">
<mml:math id="mml-ieqn-22"><mml:mi>Y</mml:mi><mml:mtext>&#x00A0;</mml:mtext></mml:math>
</inline-formula> access the same service <inline-formula id="ieqn-23">
<mml:math id="mml-ieqn-23"><mml:mtext>&#x00A0;</mml:mtext><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>s</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula>. The honest evaluations of the <italic>k</italic> services given by users <italic>X</italic> and <inline-formula id="ieqn-24">
<mml:math id="mml-ieqn-24"><mml:mi>Y</mml:mi><mml:mtext>&#x00A0;</mml:mtext></mml:math>
</inline-formula> can be expressed as vector spaces <inline-formula id="ieqn-25">
<mml:math id="mml-ieqn-25"><mml:msub><mml:mi>U</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>&#x003A;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula> and <inline-formula id="ieqn-26">
<mml:math id="mml-ieqn-26"><mml:msub><mml:mi>U</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>&#x003A;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>y</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>y</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>y</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>y</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula>, respectively. Usually, the degree of similarity between two vectors is given by the Euclidean Distance between the vectors. Defining the Euclidean Distance between the vector spaces <inline-formula id="ieqn-27">
<mml:math id="mml-ieqn-27"><mml:msub><mml:mi>U</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:math>
</inline-formula> and <inline-formula id="ieqn-28">
<mml:math id="mml-ieqn-28"><mml:msub><mml:mi>U</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:math>
</inline-formula> as <inline-formula id="ieqn-29">
<mml:math id="mml-ieqn-29"><mml:mi>d</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>U</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math>
</inline-formula>, the distance between users <italic>X</italic> and <inline-formula id="ieqn-30">
<mml:math id="mml-ieqn-30"><mml:mi>Y</mml:mi><mml:mtext>&#x00A0;</mml:mtext></mml:math>
</inline-formula> is given by:<disp-formula id="eqn-4"><label>(4)</label>
<mml:math id="mml-eqn-4" display="block"><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>U</mml:mi><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>U</mml:mi><mml:mi>y</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msqrt><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>k</mml:mi></mml:munderover><mml:mrow><mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:msqrt></mml:math>
</disp-formula></p>
<p>The above method gives the set of users <inline-formula id="ieqn-31">
<mml:math id="mml-ieqn-31"><mml:mi>U</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mi>m</mml:mi></mml:mfrac></mml:mrow><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>m</mml:mi></mml:munderover><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>u</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:mstyle></mml:math>
</inline-formula> similar to user <italic>X</italic>. Suppose that <inline-formula id="ieqn-32">
<mml:math id="mml-ieqn-32"><mml:msup><mml:mi>m</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mi>X</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>t</mml:mi><mml:mi>y</mml:mi><mml:mi>p</mml:mi><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:math>
</inline-formula> users access a service. If user <italic>A</italic> evaluates the honesty of a new service <italic>s</italic> as <inline-formula id="ieqn-33">
<mml:math id="mml-ieqn-33"><mml:msub><mml:mi>h</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:math>
</inline-formula>, and the evaluation given by the <inline-formula id="ieqn-34">
<mml:math id="mml-ieqn-34"><mml:mi>i</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mspace width="negativethinmathspace" /><mml:mo>&#x2212;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mspace width="negativethinmathspace" /><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:math>
</inline-formula> user is <inline-formula id="ieqn-35">
<mml:math id="mml-ieqn-35"><mml:msub><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math>
</inline-formula>, then the average evaluation is <inline-formula id="ieqn-36">
<mml:math id="mml-ieqn-36"><mml:mi>h</mml:mi><mml:mi>a</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mi>m</mml:mi></mml:mfrac></mml:mrow><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>m</mml:mi></mml:munderover><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mstyle></mml:math>
</inline-formula> and the honesty of this user&#x2019;s evaluation is computed as:<disp-formula id="eqn-5"><label>(5)</label>
<mml:math id="mml-eqn-5" display="block"><mml:mi>H</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;</mml:mtext><mml:mspace width="2em" /><mml:mspace width="1em" /><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>h</mml:mi><mml:mi>a</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>h</mml:mi><mml:mi>a</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>h</mml:mi><mml:mi>a</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>h</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>,</mml:mo><mml:mspace width="2em" /><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>h</mml:mi><mml:mi>a</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>h</mml:mi><mml:mi>a</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>1</mml:mn></mml:mstyle></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>The final evaluation of the users, given by <inline-formula id="ieqn-37">
<mml:math id="mml-ieqn-37"><mml:msub><mml:mi>h</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x00D7;</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>H</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:math>
</inline-formula>, is then written into the QoS database by the monitor. Therefore, the setting of the user evaluation honesty can adjust or weaken the subjective factors of the users, and filter the outliers that might signify malicious attack data.</p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Collection and Quantification of QoS Information</title>
<p>The comprehensive QoS indicators of manufacturing cloud services are derived from the historical records of each evaluation indicator. The collection sources can be divided into two categories: QoS indicators of the network performance of the software cloud services (such as service computing time and network transmission delay), and QoS indicators of the manufacturing resources of hardware cloud services. The former can be extracted from the QoS database of the corresponding cloud manufacturing service platform, and the latter are generally provided by users (service providers, service users and platform operators) of the cloud manufacturing platform. The price of outsourcing, transportation, and other services can be directly obtained from the user input values on the manufacturing service platform.</p>
<p>Let <inline-formula id="ieqn-38">
<mml:math id="mml-ieqn-38"><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>s</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>s</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula> be a set of candidate services providing similar services in the manufacturing cloud pool. The QoS attribute value of each candidate service is inserted into a vector <inline-formula id="ieqn-39">
<mml:math id="mml-ieqn-39"><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula>. The QoS information of the relevant candidate services when selecting cloud manufacturing services is then expressed as:<disp-formula id="eqn-6"><label>(6)</label>
<mml:math id="mml-eqn-6" display="block"><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>p</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2026;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>p</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math>
</disp-formula></p>
<p>To comprehensively evaluate a cloud service, we must quantify the individual QoS indicators. As different QoS attributes have very different values and measurement units, they cannot be directly calculated. Instead, their values must be normalized to facilitate the multi-objective decision-making. This paper uses the following unified quantitative utility function [<xref ref-type="bibr" rid="ref-26">26</xref>]:</p>
<p><disp-formula id="eqn-7"><label>(7)</label>
<mml:math id="mml-eqn-7" display="block"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x00A0;&#x00A0;&#x00A0;&#x00A0;</mml:mtext><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2260;</mml:mo><mml:mn>0</mml:mn></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;</mml:mtext><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-8"><label>(8)</label>
<mml:math id="mml-eqn-8" display="block"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x00A0;&#x00A0;&#x00A0;&#x00A0;</mml:mtext><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2260;</mml:mo><mml:mn>0</mml:mn></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;</mml:mtext><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext></mml:math>
</disp-formula></p>
<p>where <inline-formula id="ieqn-40">
<mml:math id="mml-ieqn-40"><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msubsup></mml:math>
</inline-formula> and <inline-formula id="ieqn-41">
<mml:math id="mml-ieqn-41"><mml:msubsup><mml:mi>p</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msubsup></mml:math>
</inline-formula> represent the maximum and minimum values of the <inline-formula id="ieqn-42">
<mml:math id="mml-ieqn-42"><mml:mi>j</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mspace width="negativethinmathspace" /><mml:mo>&#x2212;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mspace width="negativethinmathspace" /><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:math>
</inline-formula> attribute among all candidate services in service class <italic>S</italic>, respectively. The QoS attributes of each candidate service can be divided into forward and reverse attributes. Forward attribute implies that a larger value corresponds to better service quality, such as reliability, availability, and service honesty. This can be calculated using <xref ref-type="disp-formula" rid="eqn-8">Eq. (8)</xref>. Reverse attribute implies that a smaller value corresponds to better service quality, such as price and service time. This can be calculated using <xref ref-type="disp-formula" rid="eqn-7">Eq. (7)</xref>. After applying the unified quantization to <xref ref-type="disp-formula" rid="eqn-6">Eq. (6)</xref>, the following matrix is obtained:<disp-formula id="eqn-9"><label>(9)</label>
<mml:math id="mml-eqn-9" display="block"><mml:msup><mml:mi>P</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>P</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>P</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2026;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>P</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>QoS-Based Manufacturing Cloud Service Optimization Model</title>
<p>To optimize a manufacturing cloud service, the performance of each QoS indicator of the service must be comprehensively considered, and the indicators must be weighted by their importance. This problem constitutes a typical multi-objective decision problem. Commonly, the weight ratio is calculated between the decision factors in the decision analysis and the weight calculation. The weights are calculated by the analytic hierarchy process or a similar method [<xref ref-type="bibr" rid="ref-27">27</xref>,<xref ref-type="bibr" rid="ref-28">28</xref>]. As these methods input the values of artificial experiences, their decision outputs are strongly subjective. To improve the objectivity, this paper calculates the decision factors by rough set (Rough Set, RS) theory. The RS is weighted by the importance of the attributes of each decision condition, which can be analyzed directly from the historical data records.</p>
<sec id="s4_1">
<label>4.1</label>
<title>Attribute Weight Calculation of RS with Variable Precision</title>
<p>Before applying RS theory, we must cluster the QoS attribute values of each manufacturing cloud service. This paper adopts the <inline-formula id="ieqn-43">
<mml:math id="mml-ieqn-43"><mml:mi>k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi></mml:math>
</inline-formula> clustering method [<xref ref-type="bibr" rid="ref-29">29</xref>]. To reduce the interferences from the inevitable noises in actual manufacturing businesses, the RSs were processed by Ziarko&#x2019;s rough-set model with variable precision [<xref ref-type="bibr" rid="ref-30">30</xref>]. This method relaxes the approximate boundaries of standard RSs, extending their upper and lower values to a defined precision level <inline-formula id="ieqn-44">
<mml:math id="mml-ieqn-44"><mml:mi>&#x03B2;</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mn>0.5</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math>
</inline-formula>. When <inline-formula id="ieqn-45">
<mml:math id="mml-ieqn-45"><mml:mi>&#x03B2;</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math>
</inline-formula>, the rough-set model with variable precision reduces to the classical rough-set model.</p>
<p>Let the tetrad <inline-formula id="ieqn-46">
<mml:math id="mml-ieqn-46"><mml:mi>I</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>U</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>a</mml:mi><mml:mo>=</mml:mo><mml:mi>C</mml:mi><mml:mo>&#x222A;</mml:mo><mml:mi>D</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>V</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>F</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
</inline-formula> be the QoS information decision-making system, and <italic>U</italic> be the non-empty subset of the finite domain of the instance object, where <inline-formula id="ieqn-47">
<mml:math id="mml-ieqn-47"><mml:mi>U</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula> represents the m history records. Also let <italic>A</italic> be a non-empty finite set of QoS attributes, <inline-formula id="ieqn-48">
<mml:math id="mml-ieqn-48"><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>a</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula> be the condition attribute set of QoS, <inline-formula id="ieqn-49">
<mml:math id="mml-ieqn-49"><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula> be the decision attribute set, <italic>V</italic> be the value domain of the attribute set, and <italic>F</italic> be the information function of each attribute mapping to the value domain.</p>
<p>Definition 2. Let <italic>X</italic> and <italic>Y</italic> be non-empty subsets in a finite domain. If <inline-formula id="ieqn-50">
<mml:math id="mml-ieqn-50"><mml:mi>X</mml:mi><mml:mo>&#x2286;</mml:mo><mml:mi>Y</mml:mi></mml:math>
</inline-formula> where <inline-formula id="ieqn-51">
<mml:math id="mml-ieqn-51"><mml:mo>&#x2286;</mml:mo></mml:math>
</inline-formula> is a partially ordered relationship, then<disp-formula id="eqn-10"><label>(10)</label>
<mml:math id="mml-eqn-10" display="block"><mml:mi>c</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>Y</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mrow><mml:mi>X</mml:mi><mml:mo>&#x2229;</mml:mo><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mi>X</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext></mml:mstyle></mml:mrow><mml:mspace width="1em" /><mml:mrow><mml:mi>X</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>&#x03D5;</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext></mml:mrow><mml:mspace width="1em" /><mml:mspace width="2em" /><mml:mspace width="negativethinmathspace" /><mml:mspace width="2em" /><mml:mrow><mml:mi>X</mml:mi><mml:mo>=</mml:mo><mml:mi>&#x03D5;</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
</disp-formula>where <inline-formula id="ieqn-52">
<mml:math id="mml-ieqn-52"><mml:mrow><mml:mo>|</mml:mo><mml:mi>X</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math>
</inline-formula> is the cardinality of the set, defining the number of objects in the equivalent class. <inline-formula id="ieqn-53">
<mml:math id="mml-ieqn-53"><mml:mi>c</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>X</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>Y</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</inline-formula> represents the relative error classification rate of <italic>X</italic> with respect to <italic>Y</italic>. If <inline-formula id="ieqn-54">
<mml:math id="mml-ieqn-54"><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mn>0.5</mml:mn></mml:math>
</inline-formula>, then there exists a majority inclusion relationship <inline-formula id="ieqn-55">
<mml:math id="mml-ieqn-55"><mml:mi>Y</mml:mi><mml:mover><mml:mrow><mml:mo>&#x2287;</mml:mo></mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:mover><mml:mo>&#x2061;</mml:mo><mml:mi>X</mml:mi><mml:mo stretchy="false">&#x21D4;</mml:mo><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>Y</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2264;</mml:mo><mml:mi>&#x03B2;</mml:mi></mml:math>
</inline-formula>. When <inline-formula id="ieqn-56">
<mml:math id="mml-ieqn-56"><mml:mi>c</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>X</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>Y</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math>
</inline-formula>, there exists a standard inclusion relationship from <italic>Y</italic> to <italic>X</italic>.</p>
<p>In the information decision-making system of QoS, this paper sets <inline-formula id="ieqn-57">
<mml:math id="mml-ieqn-57"><mml:mi>X</mml:mi><mml:mo>=</mml:mo><mml:mi>U</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>X</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mi>U</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula>, defining the equivalent class divided by the domain <italic>U</italic> according to the conditional attribute set <italic>C</italic>. Meanwhile, <inline-formula id="ieqn-58">
<mml:math id="mml-ieqn-58"><mml:mi>Y</mml:mi><mml:mo>=</mml:mo><mml:mi>U</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>Y</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mi>U</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula> is the equivalent class divided by the domain <italic>U</italic> according to the decision attribute set <italic>D</italic>.</p>
<p>Definition 3. Given a <inline-formula id="ieqn-59">
<mml:math id="mml-ieqn-59"><mml:mi>&#x03B2;</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mn>0.5</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math>
</inline-formula>, the lower approximation <inline-formula id="ieqn-60">
<mml:math id="mml-ieqn-60"><mml:mi>&#x03B2;</mml:mi></mml:math>
</inline-formula> of <inline-formula id="ieqn-61">
<mml:math id="mml-ieqn-61"><mml:msub><mml:mi>Y</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mtext>&#x00A0;</mml:mtext></mml:math>
</inline-formula> with respect to the conditional attribute set <italic>C</italic> is given by:<disp-formula id="eqn-11"><label>(11)</label>
<mml:math id="mml-eqn-11" display="block"><mml:mi>P</mml:mi><mml:mi>o</mml:mi><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:mo>&#x222A;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mrow><mml:mi>Y</mml:mi><mml:mo>&#x2208;</mml:mo></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:mi>U</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>D</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>c</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>X</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2264;</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</disp-formula></p>
<p>The positive region <inline-formula id="ieqn-62">
<mml:math id="mml-ieqn-62"><mml:mi>P</mml:mi><mml:mi>o</mml:mi><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math>
</inline-formula> of <inline-formula id="ieqn-63">
<mml:math id="mml-ieqn-63"><mml:mi>&#x03B2;</mml:mi></mml:math>
</inline-formula>, also denoted as <inline-formula id="ieqn-64">
<mml:math id="mml-ieqn-64"><mml:msub><mml:mi>C</mml:mi><mml:mi>&#x03B2;</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math>
</inline-formula>, is the set of lower approximations <inline-formula id="ieqn-65">
<mml:math id="mml-ieqn-65"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>&#x03B2;</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>C</mml:mi><mml:mi>&#x03B2;</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>C</mml:mi><mml:mi>&#x03B2;</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>Y</mml:mi><mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mi>U</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>D</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula> of all decision classes <inline-formula id="ieqn-66">
<mml:math id="mml-ieqn-66"><mml:msub><mml:mi>Y</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:math>
</inline-formula>, representing the probability distribution of <inline-formula id="ieqn-67">
<mml:math id="mml-ieqn-67"><mml:mi>U</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>C</mml:mi></mml:math>
</inline-formula> in each decision class.</p>
<p>Definition 4. The information amount of a conditional attribute [<xref ref-type="bibr" rid="ref-30">30</xref>] reflects the ability of the attribute to classify data objects. The greater the amount of information, the stronger is the ability to classify objects. The information amount of conditional attribute <inline-formula id="ieqn-68">
<mml:math id="mml-ieqn-68"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math>
</inline-formula>, is calculated as:<disp-formula id="eqn-12"><label>(12)</label>
<mml:math id="mml-eqn-12" display="block"><mml:mi>&#x03B3;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mi>U</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mrow><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mi>U</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:munderover><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mi>C</mml:mi></mml:mstyle></mml:math>
</disp-formula>where <inline-formula id="ieqn-69">
<mml:math id="mml-ieqn-69"><mml:msub><mml:mi>X</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math>
</inline-formula> is an equivalence class of the conditional attribute <inline-formula id="ieqn-70">
<mml:math id="mml-ieqn-70"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math>
</inline-formula> in <italic>U</italic>, and <inline-formula id="ieqn-71">
<mml:math id="mml-ieqn-71"><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:math>
</inline-formula> is the cardinality of that equivalence class.</p>
<p>Definition 5. The dependency degree [<xref ref-type="bibr" rid="ref-30">30</xref>] of a conditional attribute reflects the dependency degree of the decision-attribute classification of that attribute. The greater the dependency degree, the more critical is the attribute. In this paper, the dependency degree of conditional attribute <inline-formula id="ieqn-72">
<mml:math id="mml-ieqn-72"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math>
</inline-formula> is expressed as:<disp-formula id="eqn-13"><label>(13)</label>
<mml:math id="mml-eqn-13" display="block"><mml:mrow><mml:mi mathvariant="normal">&#x03BB;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mrow><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mi>U</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:munderover><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mi>P</mml:mi><mml:mi>o</mml:mi><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mi>U</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow></mml:mstyle></mml:math>
</disp-formula></p>
<p>The information amount and dependency of conditional attributes represent different aspects of the attribute importance, and must be comprehensively evaluated. In this paper, both aspects are considered equally important. The dependence and information amount of each attribute, calculated by <xref ref-type="disp-formula" rid="eqn-12">Eqs. (12)</xref> and <xref ref-type="disp-formula" rid="eqn-13">(13)</xref> respectively, provide scattered information. This information must then be normalized to give the importance (weight) of the conditional attribute. This article proposes the following normalization method:<disp-formula id="eqn-14"><label>(14)</label>
<mml:math id="mml-eqn-14" display="block"><mml:msub><mml:mi>w</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03BB;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03BB;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mrow></mml:mfrac></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>w</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mstyle></mml:math>
</disp-formula></p>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Optimization Algorithm of the Manufacturing Cloud Service</title>
<p>Let <inline-formula id="ieqn-73">
<mml:math id="mml-ieqn-73"><mml:mi>Z</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>z</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula> be the user-assigned weight of each QoS attribute, and <inline-formula id="ieqn-74">
<mml:math id="mml-ieqn-74"><mml:mi>W</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>w</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>w</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula> be the weight calculated by the RS. <inline-formula id="ieqn-75">
<mml:math id="mml-ieqn-75"><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>s</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>s</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula> is known as the candidate set of entities providing similar services in the manufacturing cloud pool. The QoS attribute value of each candidate service is compiled into the vector <inline-formula id="ieqn-76">
<mml:math id="mml-ieqn-76"><mml:msub><mml:mi>P</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula>. The main steps of the proposed optimization algorithm for manufacturing cloud services are listed below.</p>
<fig id="fig-3">
<graphic mimetype="image" mime-subtype="tif" xlink:href="IASC_30484-fig-3.tif"/>
</fig>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Experimental Procedure and Results</title>
<sec id="s5_1">
<label>5.1</label>
<title>Experimental Design</title>
<p>Assisted by the telecom cloud computing platform, a prototype of the cloud manufacturing service test platform was designed using jdkl5&#x002B;MyEclipse2019.4.0 as the Integrated Drive Electronics development environment, Tomcat 8.5 as the server, and MySQL 8.0 and Sybase16.0 as the database and its design tools, respectively. The call of computer nodes to cloud manufacturing service platform services was simulated in Mpiblast, a common distributed application software. Because the description and definition of manufacturing cloud services are highly autonomous and diverse, no common service benchmark database has been recognized by the vast majority of scholars. Therefore, a standard test set is currently lacking. Most service-selection tests of manufacturing cloud services instead use randomly generated test data. The cloud manufacturing service test platform established in this paper includes 1200 manufacturing cloud services for testing.</p>
<p>As an example, we consider production by a door handle manufacturer. The final production process is electroplating the door handle To meet the production requirements, 2,0000 door handles must be electroplated within 20 days. The manufacturer publishes these requirements to the cloud manufacturing service platform. The QoS attribute value of each service is extracted from the service platform QoS database. After receiving a service request, the platform-related module queries the hardware cloud service resource library in the manufacturing cloud pool. Suppose that five similar hardware cloud services in the pool can meet the functional requirements of the manufacturer. The manufacturer bases its decision on the cost, time, reliability, availability, and honesty indicators of the five services. The services and their QoS indicator values are listed in <xref ref-type="table" rid="table-1">Table 1</xref>.</p>
<table-wrap id="table-1"><label>Table 1</label>
<caption>
<title>Similar services that meet the functional requirements of a user</title></caption>
<table><colgroup><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Service</th>
<th align="left">Cost (yuan/piece)</th>
<th align="left">Time (days)</th>
<th align="left">Reliability</th>
<th align="left">Availability</th>
<th align="left">Honesty</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">S1</td>
<td align="left">0.60</td>
<td align="left">14</td>
<td align="left">30/30</td>
<td align="left">0.51</td>
<td align="left">4.21</td>
</tr>
<tr>
<td align="left">S2</td>
<td align="left">0.61</td>
<td align="left">17</td>
<td align="left">40/42</td>
<td align="left">0.82</td>
<td align="left">4.72</td>
</tr>
<tr>
<td align="left">S3</td>
<td align="left">0.64</td>
<td align="left">13</td>
<td align="left">2/10</td>
<td align="left">0.61</td>
<td align="left">1.52</td>
</tr>
<tr>
<td align="left">S4</td>
<td align="left">0.65</td>
<td align="left">17</td>
<td align="left">3/3</td>
<td align="left">0.86</td>
<td align="left">4.92</td>
</tr>
<tr>
<td align="left">S5</td>
<td align="left">0.63</td>
<td align="left">14</td>
<td align="left">5/5</td>
<td align="left">0.91</td>
<td align="left">4.42</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The cost in <xref ref-type="table" rid="table-1">Table 1</xref> is obtained by summing the processing costs and per-kilometer transportation costs of a single product. The time is the number of days required for processing and transporting the product. Service 2 has a reliability value of 40/42, indicating that this service was called 42 times from the QoS database, and provided 40 normal responses. In a practical scenario, the historical record of Service S2 revealed 42 bids for its service, and 40 completed contracts among those bids. The availability describes the probability of a service&#x2019;s failure-free time during the effective period of the database record. Honesty (range [0, 5]) is the average evaluation obtained after completing all bid-winning projects. The honesty data are corrected by the QoS monitor in the cloud manufacturing service platform (see <xref ref-type="disp-formula" rid="eqn-5">Eq. (5)</xref>). The cost and time indicators are normalized by <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>, and the other indicators are processed by <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref>. The normalized data are listed in <xref ref-type="table" rid="table-2">Table 2</xref>.</p>
<table-wrap id="table-2"><label>Table 2</label>
<caption>
<title>Normalized QoS indicators of the similar services listed in <xref ref-type="table" rid="table-1">Table 1</xref></title></caption>
<table><colgroup><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Service</th>
<th align="left">Cost (yuan/piece)</th>
<th align="left">Time (days)</th>
<th align="left">Reliability</th>
<th align="left">Availability</th>
<th align="left">Honesty</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">S<sub>1</sub></td>
<td align="left">1.01</td>
<td align="left">0.75</td>
<td align="left">1.00</td>
<td align="left">0.00</td>
<td align="left">0.78</td>
</tr>
<tr>
<td align="left">S<sub>2</sub></td>
<td align="left">0.81</td>
<td align="left">0.00</td>
<td align="left">0.96</td>
<td align="left">0.75</td>
<td align="left">0.95</td>
</tr>
<tr>
<td align="left">S<sub>3</sub></td>
<td align="left">0.21</td>
<td align="left">1.00</td>
<td align="left">0.00</td>
<td align="left">0.25</td>
<td align="left">0.00</td>
</tr>
<tr>
<td align="left">S<sub>4</sub></td>
<td align="left">0.00</td>
<td align="left">0.00</td>
<td align="left">1.00</td>
<td align="left">0.92</td>
<td align="left">1.00</td>
</tr>
<tr>
<td align="left">S<sub>5</sub></td>
<td align="left">0.42</td>
<td align="left">0.75</td>
<td align="left">1.00</td>
<td align="left">1.00</td>
<td align="left">0.86</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Based on the attribute weight calculation of the RS, the weight ratio of each attribute was obtained by analyzing the historical records. The presented experiment accessed the historical records of 5116 manufacturing resources in the manufacturing cloud pool. To demonstrate the reasoning process, we randomly selected eight records as the reasoning sample. The cost and time factors likely differ among the processed products, and the data are not directly comparable. The measurement parameter was the ratio of the bid quote in the record to the bid price of the current business, and the time factor was analyzed in terms of the advance time ratio. For example, service S1 in <xref ref-type="table" rid="table-1">Table 1</xref> participated in the bidding three days in advance of its manufacturing time (10 d), so its time factor was 0.3. The bidding history of the eight randomly selected manufacturing-resource records are listed in <xref ref-type="table" rid="table-3">Table 3</xref>.</p>
<table-wrap id="table-3"><label>Table 3</label>
<caption>
<title>Bid histories of the randomly selected manufacturing resources</title></caption>
<table><colgroup><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Record</th>
<th align="left">Cost ratio</th>
<th align="left">Advance time ratio</th>
<th align="left">Reliability</th>
<th align="left">Availability</th>
<th align="left">Honesty</th>
<th align="left">Bid won</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">x<sub>1</sub></td>
<td align="left">0.97</td>
<td align="left">0.91</td>
<td align="left">0.98</td>
<td align="left">0.91</td>
<td align="left">0.98</td>
<td align="left">Yes</td>
</tr>
<tr>
<td align="left">x<sub>2</sub></td>
<td align="left">0.91</td>
<td align="left">0.72</td>
<td align="left">0.83</td>
<td align="left">0.88</td>
<td align="left">0.88</td>
<td align="left">Yes</td>
</tr>
<tr>
<td align="left">x<sub>3</sub></td>
<td align="left">0.71</td>
<td align="left">0.11</td>
<td align="left">0.51</td>
<td align="left">0.78</td>
<td align="left">0.74</td>
<td align="left">No</td>
</tr>
<tr>
<td align="left">x<sub>4</sub></td>
<td align="left">0.86</td>
<td align="left">0.52</td>
<td align="left">0.75</td>
<td align="left">0.89</td>
<td align="left">0.81</td>
<td align="left">Yes</td>
</tr>
<tr>
<td align="left">x<sub>5</sub></td>
<td align="left">0.76</td>
<td align="left">0.42</td>
<td align="left">0.66</td>
<td align="left">0.76</td>
<td align="left">0.72</td>
<td align="left">No</td>
</tr>
<tr>
<td align="left">x<sub>6</sub></td>
<td align="left">0.79</td>
<td align="left">0.52</td>
<td align="left">0.73</td>
<td align="left">0.78</td>
<td align="left">0.87</td>
<td align="left">No</td>
</tr>
<tr>
<td align="left">x<sub>7</sub></td>
<td align="left">0.66</td>
<td align="left">0.11</td>
<td align="left">0.82</td>
<td align="left">0.88</td>
<td align="left">0.77</td>
<td align="left">No</td>
</tr>
<tr>
<td align="left">x<sub>8</sub></td>
<td align="left">0.86</td>
<td align="left">0.22</td>
<td align="left">0.69</td>
<td align="left">0.89</td>
<td align="left">0.96</td>
<td align="left">Yes</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>For processing by the RS (which can process only clustered data), the data in the historical database were clustered by the <inline-formula id="ieqn-89">
<mml:math id="mml-ieqn-89"><mml:mi>k</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mspace width="negativethinmathspace" /><mml:mo>&#x2212;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mspace width="negativethinmathspace" /><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi></mml:math>
</inline-formula> clustering method described in [<xref ref-type="bibr" rid="ref-29">29</xref>]. The number of clusters was set to 5, and the clustered data are shown in <xref ref-type="table" rid="table-4">Table 4</xref>.</p>
<table-wrap id="table-4"><label>Table 4</label>
<caption>
<title>Information decision-making in the bid histories of the manufacturing services</title></caption>
<table><colgroup><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Record</th>
<th align="left">Cost ratio (&#x03B1;<sub>1</sub>)</th>
<th align="left">Advance time ratio (&#x03B1;<sub>2</sub>)</th>
<th align="left">Reliability (&#x03B1;<sub>3</sub>)</th>
<th align="left">Availability (&#x03B1;<sub>4</sub>)</th>
<th align="left">Honesty (&#x03B1;<sub>5</sub>)</th>
<th align="left">Bid won (D)</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">x<sub>1</sub></td>
<td align="left">1</td>
<td align="left">1</td>
<td align="left">1</td>
<td align="left">1</td>
<td align="left">1</td>
<td align="left">1</td>
</tr>
<tr>
<td align="left">x<sub>2</sub></td>
<td align="left">1</td>
<td align="left">2</td>
<td align="left">2</td>
<td align="left">1</td>
<td align="left">2</td>
<td align="left">1</td>
</tr>
<tr>
<td align="left">x<sub>3</sub></td>
<td align="left">2</td>
<td align="left">4</td>
<td align="left">5</td>
<td align="left">2</td>
<td align="left">3</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">x<sub>4</sub></td>
<td align="left">1</td>
<td align="left">3</td>
<td align="left">3</td>
<td align="left">1</td>
<td align="left">2</td>
<td align="left">1</td>
</tr>
<tr>
<td align="left">x<sub>5</sub></td>
<td align="left">2</td>
<td align="left">3</td>
<td align="left">4</td>
<td align="left">2</td>
<td align="left">3</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">x<sub>6</sub></td>
<td align="left">2</td>
<td align="left">3</td>
<td align="left">3</td>
<td align="left">2</td>
<td align="left">2</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">x<sub>7</sub></td>
<td align="left">2</td>
<td align="left">4</td>
<td align="left">2</td>
<td align="left">1</td>
<td align="left">3</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">x<sub>8</sub></td>
<td align="left">1</td>
<td align="left">4</td>
<td align="left">4</td>
<td align="left">1</td>
<td align="left">1</td>
<td align="left">1</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>According to the data in <xref ref-type="table" rid="table-4">Table 4</xref>, the bid-winning decision-making class was <inline-formula id="ieqn-90">
<mml:math id="mml-ieqn-90"><mml:msub><mml:mi>Y</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mi>U</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>4</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>8</mml:mn></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math>
</inline-formula>, and the bid-losing decision-making class was <inline-formula id="ieqn-91">
<mml:math id="mml-ieqn-91"><mml:msub><mml:mi>Y</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mi>U</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>5</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>6</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>7</mml:mn></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math>
</inline-formula>. For conditional attribute <inline-formula id="ieqn-92">
<mml:math id="mml-ieqn-92"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mn>5</mml:mn></mml:msub></mml:math>
</inline-formula>, the records were divided into equivalent classes <inline-formula id="ieqn-93">
<mml:math id="mml-ieqn-93"><mml:mi>U</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mn>5</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>8</mml:mn></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>4</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>6</mml:mn></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>5</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>7</mml:mn></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula>, and the information amount of this conditional attribute was calculated by <xref ref-type="disp-formula" rid="eqn-12">Eq. (12)</xref>: <inline-formula id="ieqn-94">
<mml:math id="mml-ieqn-94"><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mn>5</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>44</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>128</mml:mn></mml:math>
</inline-formula>. The information amounts of the other attributes were similarly obtained as <inline-formula id="ieqn-95">
<mml:math id="mml-ieqn-95"><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>64</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>128</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-96">
<mml:math id="mml-ieqn-96"><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>36</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>128</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-97">
<mml:math id="mml-ieqn-97"><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>28</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>128</mml:mn></mml:math>
</inline-formula>, and <inline-formula id="ieqn-98">
<mml:math id="mml-ieqn-98"><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x03B1;</mml:mi><mml:mn>4</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>68</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>128</mml:mn></mml:math>
</inline-formula>.</p>

<p>Setting <inline-formula id="ieqn-99">
<mml:math id="mml-ieqn-99"><mml:mi>&#x03B2;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.4</mml:mn></mml:math>
</inline-formula> in <xref ref-type="disp-formula" rid="eqn-11">Eq. (11)</xref>, the <inline-formula id="ieqn-100">
<mml:math id="mml-ieqn-100"><mml:mi>&#x03B2;</mml:mi></mml:math>
</inline-formula>-lower approximate distributions of <inline-formula id="ieqn-101">
<mml:math id="mml-ieqn-101"><mml:msub><mml:mi>Y</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math>
</inline-formula> and <inline-formula id="ieqn-102">
<mml:math id="mml-ieqn-102"><mml:msub><mml:mi>Y</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math>
</inline-formula> with respect to conditional attribute &#x03B1;5 were calculated as <inline-formula id="ieqn-103">
<mml:math id="mml-ieqn-103"><mml:mi>P</mml:mi><mml:mi>o</mml:mi><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mn>5</mml:mn></mml:msub></mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>8</mml:mn></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula> and <inline-formula id="ieqn-104">
<mml:math id="mml-ieqn-104"><mml:mi>P</mml:mi><mml:mi>o</mml:mi><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mn>5</mml:mn></mml:msub></mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>5</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>x</mml:mi><mml:mn>7</mml:mn></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula>, respectively. <xref ref-type="disp-formula" rid="eqn-13">Eq. (13)</xref> gives the dependency degree of conditional attribute <inline-formula id="ieqn-105">
<mml:math id="mml-ieqn-105"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mn>5</mml:mn></mml:msub></mml:math>
</inline-formula> as <inline-formula id="ieqn-106">
<mml:math id="mml-ieqn-106"><mml:mrow><mml:mi mathvariant="normal">&#x03BB;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mn>5</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>10</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>16</mml:mn></mml:math>
</inline-formula>. Similarly, we obtained <inline-formula id="ieqn-107">
<mml:math id="mml-ieqn-107"><mml:mrow><mml:mi mathvariant="normal">&#x03BB;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>16</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>16</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-108">
<mml:math id="mml-ieqn-108"><mml:mrow><mml:mi mathvariant="normal">&#x03BB;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>6</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>16</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-109">
<mml:math id="mml-ieqn-109"><mml:mrow><mml:mi mathvariant="normal">&#x03BB;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>4</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>16</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-110">
<mml:math id="mml-ieqn-110"><mml:mrow><mml:mi mathvariant="normal">&#x03BB;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mn>4</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>14</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>16</mml:mn></mml:math>
</inline-formula>. By <xref ref-type="disp-formula" rid="eqn-11">Eq. (11)</xref>, we then obtained <inline-formula id="ieqn-111">
<mml:math id="mml-ieqn-111"><mml:msub><mml:mi>w</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>0.31</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-112">
<mml:math id="mml-ieqn-112"><mml:msub><mml:mi>w</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>0.15</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-113">
<mml:math id="mml-ieqn-113"><mml:msub><mml:mi>w</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>0.10</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-114">
<mml:math id="mml-ieqn-114"><mml:msub><mml:mi>w</mml:mi><mml:mn>4</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>0.29</mml:mn></mml:math>
</inline-formula>, and <inline-formula id="ieqn-115">
<mml:math id="mml-ieqn-115"><mml:msub><mml:mi>w</mml:mi><mml:mn>5</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>0.15</mml:mn></mml:math>
</inline-formula>. After analyzing a large number of collected experimental data and considering the suggestions of manufacturing experts, the pre-entered attribute preference weights were set to <inline-formula id="ieqn-116">
<mml:math id="mml-ieqn-116"><mml:mi>Z</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mn>0.4</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mn>0.2</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mn>0.2</mml:mn></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math>
</inline-formula>. Using the data information in <xref ref-type="table" rid="table-2">Table 2</xref>, the similarities of the services were calculated by Algorithm 1, thus obtaining <inline-formula id="ieqn-117">
<mml:math id="mml-ieqn-117"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.78</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-118">
<mml:math id="mml-ieqn-118"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.82</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-119">
<mml:math id="mml-ieqn-119"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.59</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-120">
<mml:math id="mml-ieqn-120"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>4</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.60</mml:mn></mml:math>
</inline-formula>, and <inline-formula id="ieqn-121">
<mml:math id="mml-ieqn-121"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>5</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.73</mml:mn></mml:math>
</inline-formula>. After ranking the performances of the services as <inline-formula id="ieqn-122">
<mml:math id="mml-ieqn-122"><mml:msub><mml:mi>S</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mn>5</mml:mn></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mn>4</mml:mn></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:math>
</inline-formula>, service <inline-formula id="ieqn-123">
<mml:math id="mml-ieqn-123"><mml:msub><mml:mi>s</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math>
</inline-formula> was selected as the optimal choice.</p>

<p>If the weights of the QoS indicators are ignored or set to the same value, the data of <xref ref-type="table" rid="table-1">Table 1</xref> yield <inline-formula id="ieqn-124">
<mml:math id="mml-ieqn-124"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.73</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-125">
<mml:math id="mml-ieqn-125"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.63</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-126">
<mml:math id="mml-ieqn-126"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.45</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-127">
<mml:math id="mml-ieqn-127"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>4</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.55</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-128">
<mml:math id="mml-ieqn-128"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>5</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.76</mml:mn></mml:math>
</inline-formula>, and the services are ranked as <inline-formula id="ieqn-129">
<mml:math id="mml-ieqn-129"><mml:msub><mml:mi>S</mml:mi><mml:mn>5</mml:mn></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mn>4</mml:mn></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:math>
</inline-formula>. Service <inline-formula id="ieqn-130">
<mml:math id="mml-ieqn-130"><mml:msub><mml:mi>S</mml:mi><mml:mn>5</mml:mn></mml:msub></mml:math>
</inline-formula> receives the best performance score because it requires a shorter time and has a high contract completion rate, but its cost is high and its honesty is only average. Overall, <inline-formula id="ieqn-131">
<mml:math id="mml-ieqn-131"><mml:msub><mml:mi>S</mml:mi><mml:mn>5</mml:mn></mml:msub></mml:math>
</inline-formula> gives a balanced performance. When the weights are the weights <italic>Z</italic> preset by the user, the data of <xref ref-type="table" rid="table-1">Table 1</xref> give <inline-formula id="ieqn-132">
<mml:math id="mml-ieqn-132"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.76</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-133">
<mml:math id="mml-ieqn-133"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.74</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-134">
<mml:math id="mml-ieqn-134"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.45</mml:mn></mml:math>
</inline-formula>, <inline-formula id="ieqn-135">
<mml:math id="mml-ieqn-135"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>4</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.55</mml:mn></mml:math>
</inline-formula>, and <inline-formula id="ieqn-136">
<mml:math id="mml-ieqn-136"><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn>5</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0.68</mml:mn></mml:math>
</inline-formula>. In this case, the services are ranked <inline-formula id="ieqn-137">
<mml:math id="mml-ieqn-137"><mml:msub><mml:mi>S</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mn>5</mml:mn></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mn>4</mml:mn></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:math>
</inline-formula>. Service <inline-formula id="ieqn-138">
<mml:math id="mml-ieqn-138"><mml:msub><mml:mi>S</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math>
</inline-formula> outperforms <inline-formula id="ieqn-139">
<mml:math id="mml-ieqn-139"><mml:msub><mml:mi>S</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math>
</inline-formula> and <inline-formula id="ieqn-140">
<mml:math id="mml-ieqn-140"><mml:msub><mml:mi>S</mml:mi><mml:mn>5</mml:mn></mml:msub></mml:math>
</inline-formula> because the cost factor carries a high weight. The weight of the cost factor was obviously larger in <italic>Z</italic> than in <italic>W</italic> (the weight vector mined by the RS), but the weights of availability and honesty were not distinguished in <italic>Z</italic> and <italic>W</italic>. When considering the cost factor, the availability weight was slightly higher than that of honesty, consistent with real production, and confirming the higher objectivity of mining the weights from historical data over relying on user evaluations. In the experiment, Service <inline-formula id="ieqn-141">
<mml:math id="mml-ieqn-141"><mml:msub><mml:mi>S</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math>
</inline-formula> outperformed Service <inline-formula id="ieqn-142">
<mml:math id="mml-ieqn-142"><mml:msub><mml:mi>S</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math>
</inline-formula> because the price, availability, and honesty weights were all adjusted to make it more appealing.</p>

</sec>
<sec id="s5_2">
<label>5.2</label>
<title>Comparison of Selection Success Rate</title>
<p>In traditional information retrieval, the performance of retrieval algorithms is commonly estimated by the <italic>precision</italic>. In the present experiment, the performance of the selection algorithm was analyzed by a variant of precision called the <italic>success rate</italic>. With the aim of recommending optimal services to users, the selection success rate is defined as follows:</p>
<p><disp-formula id="eqn-15"><label>(15)</label>
<mml:math id="mml-eqn-15" display="block"><mml:mi>s</mml:mi><mml:mi>u</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mrow><mml:mi>n</mml:mi><mml:mi>u</mml:mi><mml:mi>m</mml:mi><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>o</mml:mi><mml:mi>f</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>p</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:mrow><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>n</mml:mi><mml:mi>u</mml:mi><mml:mi>m</mml:mi><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>o</mml:mi><mml:mi>f</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mn>100</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:mstyle></mml:math>
</disp-formula></p>
<p>This experiment measured the success rates of three selection methods: the equal-weight selection method (in which the conditional attribute weights are evenly distributed and the QoS value is neither updated nor corrected), the user fixed-weight selection method (in which the weights are preset by the user, and the QoS value is neither updated nor corrected) and the hybrid fixed-weight selection method (the proposed method, in which the user-set weights are combined with the rough-set weights). The QoS value in the hybrid method is adjusted by honesty detection and an information correction mechanism. Simulations were executed on 20 manufacturing operations, each considered by 100 users for service selection. The success rates obtained in the comparison experiment are plotted in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Precision comparison of three selection methods</title></caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="IASC_30484-fig-1.tif"/>
</fig>
<p>As shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, the user fixed-weight selection method was more successful than the equal-weight service-selection method in most cases, indicating the importance of considering the users&#x2019; expectation and their preferred evaluation factors. As the equal-weight selection method does not consider the weight differences between the QoS performance indicators, its success rate was relatively low and unstable. Meanwhile, the user fixed-weight selection method is blinded to some extent by the preferences of the weight setter, so its success rate fluctuated greatly. Initially, the hybrid fixed-weight selection method did not outperform the user fixed-weight selection method, because it lacked a historical record in the earliest stages. As the historical database extended, the success rate of the hybrid method gradually increased, indicating that the weights became increasingly more objective. The stability of the success rate also improved over time. The proposed method clearly outperformed the other two methods in terms of selection success rate.</p>

</sec>
<sec id="s5_3">
<label>5.3</label>
<title>Dishonesty Evaluation Experiment</title>
<p>For the dishonesty evaluation, we simulated 100 randomly selected services evaluated by up to 200 dishonest users. The selection success rates of the three selection methods are compared in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Comparison of selection success rates when services are evaluated by dishonest users</title></caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="IASC_30484-fig-2.tif"/>
</fig>
<p>As shown in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>, increasing the number of dishonest users reduced the success rates of the equal-weight and user fixed-weight selection methods, because neither method adopts an honesty information detection and correction mechanism. The equal-weight selection method was especially sensitive to dishonest evaluations, because its honesty weight was relatively large. The hybrid fixed-weight selection method introduces a QoS information correction mechanism, and collects the user evaluation data by a monitor placed on the cloud manufacturing service platform. The low quality of their evaluation data reduces the credibility of dishonest users; accordingly, these users score very lowly in the QoS honesty calculation and their evaluation information will be filtered out. Therefore, increasing the number of dishonest users barely affected the success rate of the hybrid fixed-weight selection method.</p>

</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Conclusions and Future Work</title>
<p>This paper proposed a QoS-aware cloud service optimization model in the cloud-manufacturing environment. The study established the QoS evaluation indicators, information-aware models, and the quantification methods suitable for cloud-manufacturing businesses, and provided an honesty information correction method that filters out dishonest evaluations. The weights discovered by the variable precision RS, which mined the evaluation indicators from historical data, providing a comprehensive performance ranking of service quality. The manufacturing cloud service optimization algorithm thus provides a quantitative reference for service selection. In experimental simulations, this method recommended the optimal services and effectively reduced the impact of dishonest users on the selection results. In the next step, we will research the combination technology of manufacturing cloud services, conduct in-depth studies on the task decomposition, and improve the functionality of the developed system prototype.</p>
</sec>
</body>
<back>
<ack>
<p>I would like to express my gratitude to all those who have helped me during the writing of this thesis.</p>
</ack>
<sec>
<title>Funding Statement</title>
<p>This study has been supported by the National Natural Science Foundation, China (Grant No: 61602413, Jianwei Zheng, <ext-link ext-link-type="uri" xlink:href="https://www.nsfc.gov.cn">https://www.nsfc.gov.cn</ext-link>), and the Natural Science Foundation of Zhejiang Province (Grant No: LY15E050007,Wenlong Ma, <ext-link ext-link-type="uri" xlink:href="http://zjnsf.kjt.zj.gov.cn/portal/index.html">http://zjnsf.kjt.zj.gov.cn/portal/index.html</ext-link>).</p>
</sec>
<sec sec-type="COI-statement">
<title>Conflicts of Interest</title>
<p>The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B. H.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>S. L.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Tao</surname></string-name> and <string-name><given-names>X. D.</given-names> <surname>Chai</surname></string-name></person-group>, &#x201C;<article-title>Cloud manufacturing: A new service-oriented manufacturing model</article-title>,&#x201D; <source>Computer Integrated Manufacturing Systems</source>, vol. <volume>16</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>7</lpage>, <year>2010</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Bermbach</surname></string-name></person-group>, &#x201C;<article-title>Quality of cloud services: Expect the unexpected</article-title>,&#x201D; <source>IEEE Internet Computing</source>, vol. <volume>21</volume>, no. <issue>1</issue>, pp. <fpage>68</fpage>&#x2013;<lpage>72</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>E. J.</given-names> <surname>Ghomi</surname></string-name>, <string-name><given-names>A. M.</given-names> <surname>Rahmani</surname></string-name> and <string-name><given-names>N. N.</given-names> <surname>Qader</surname></string-name></person-group>, &#x201C;<article-title>Cloud manufacturing: Challenges, recent advances, open research issues, and future trends</article-title>,&#x201D; <source>International Journal of Advanced Manufacturing Technology</source>, vol. <volume>102</volume>, pp. <fpage>3613</fpage>&#x2013;<lpage>3639</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Koehler</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Benkner</surname></string-name></person-group>, &#x201C;<article-title>Design of an adaptive framework for utility-based optimization of scientific applications in the cloud</article-title>,&#x201D; in <conf-name>Proc. of the 2012 IEEE/ACM Fifth Int. Conf. on Utility and Cloud Computing. IEEE Computer Society</conf-name>, <conf-loc>Chicago, IL, USA</conf-loc>, pp. <fpage>303</fpage>&#x2013;<lpage>308</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Phaphoom</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Samuel</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Helmer</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Abrahamsson</surname></string-name></person-group>, &#x201C;<article-title>A survey study on major technical barriers affecting the decision to adopt cloud services</article-title>,&#x201D; <source>Journal of Systems and Software</source>, vol. <volume>103</volume>, pp. <fpage>167</fpage>&#x2013;<lpage>181</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>ur Rehman</surname></string-name>, <string-name><given-names>O. K.</given-names> <surname>Hussain</surname></string-name>, <string-name><given-names>F. K.</given-names> <surname>Hussain</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Chang</surname></string-name> and <string-name><given-names>T.</given-names> <surname>Dillon</surname></string-name></person-group>, &#x201C;<article-title>User-side QoS forecasting and management of cloud services</article-title>,&#x201D; <source>World Wide Web</source>, vol. <volume>18</volume>, no. <issue>6</issue>, pp. <fpage>1677</fpage>&#x2013;<lpage>1716</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Zheng</surname></string-name>, <string-name><given-names>L. D.</given-names> <surname>Xu</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Chai</surname></string-name></person-group>, &#x201C;<article-title>Qos recommendation in cloud services</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>5</volume>, no. <issue>5</issue>, pp. <fpage>5171</fpage>&#x2013;<lpage>5177</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Zheng</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>M. R.</given-names> <surname>Lyu</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>QoS ranking prediction for cloud services</article-title>,&#x201D; <source>IEEE Transactions on Parallel and Distributed Systems</source>, vol. <volume>24</volume>, no. <issue>6</issue>, pp. <fpage>1213</fpage>&#x2013;<lpage>1222</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J. A.</given-names> <surname>Alzubi</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Manikandan</surname></string-name>, <string-name><given-names>O. A.</given-names> <surname>Alzubi</surname></string-name>, <string-name><given-names>I.</given-names> <surname>Qiqieh</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Rahim</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Hashed needham schroeder industrial IoT based cost optimized deep secured data transmission in cloud</article-title>,&#x201D; <source>Measurement</source>, vol. <volume>150</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>8</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Sun</surname></string-name>, <string-name><given-names>G. C.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>X. R.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Zhang</surname></string-name> and <string-name><given-names>N. N.</given-names> <surname>Ge</surname></string-name></person-group>, &#x201C;<article-title>Fine-grained vehicle type classification using lightweight convolutional neural network with feature optimization and joint learning strategy</article-title>,&#x201D; <source>Multimedia Tools and Applications</source>, vol. <volume>80</volume>, no. <issue>20</issue>, pp. <fpage>30803</fpage>&#x2013;<lpage>30816</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Serrano</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Bouchenak</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Kouki</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Ledoux</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Lejeune</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Towards qos-oriented sla guarantees for online cloud services: Cluster, Cloud and Grid Computing (CCGrid)</article-title>,&#x201D; in <conf-name>2013 13th IEEE/ACM Int. Symp. on. IEEE</conf-name>, <conf-loc>Delft, Netherlands</conf-loc>, pp. <fpage>50</fpage>&#x2013;<lpage>57</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Yue</surname></string-name>, <string-name><given-names>C. H.</given-names> <surname>Hsu</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Zhao</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Zhang</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Deviation-based neighborhood model for contextaware QoS prediction of cloud and IoT services</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>76</volume>, no. <issue>10</issue>, pp. <fpage>550</fpage>&#x2013;<lpage>560</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>E.</given-names> <surname>kodhai</surname></string-name>, <string-name><given-names>K. S. V.</given-names> <surname>Divakar</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Natarajan</surname></string-name>, <string-name><given-names>A. C.</given-names> <surname>Allwin</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Yellamma</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Managing the cloud storage using deduplication and secured fuzzy keyword search for multiple data owners</article-title>,&#x201D; <source>International Journal of Pure and Applied Mathematics</source>, vol. <volume>118</volume>, no. <issue>14</issue>, pp. <fpage>563</fpage>&#x2013;<lpage>565</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Sun</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>X. R.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>G. Z.</given-names> <surname>Dai</surname></string-name>, <string-name><given-names>P. S.</given-names> <surname>Chang</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>A Multi-feature learning model with enhanced local attention for vehicle re-identification</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>69</volume>, no. <issue>3</issue>, pp. <fpage>3549</fpage>&#x2013;<lpage>3560</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Pan</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Ding</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Fan</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Yang</surname></string-name></person-group>, &#x201C;<article-title>Trust-enhanced cloud service selection model based on QoS analysis</article-title>,&#x201D; <source>PloS One</source>, vol. <volume>10</volume>, no. <issue>11</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>19</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>O. A.</given-names> <surname>Alzubi</surname></string-name>, <string-name><given-names>J. A.</given-names> <surname>Alzubi</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Al-Zoubi</surname></string-name>, <string-name><given-names>M. A.</given-names> <surname>Hassonah</surname></string-name> and <string-name><given-names>U.</given-names> <surname>Kose</surname></string-name></person-group>, &#x201C;<article-title>An efficient malware detection approach with feature weighting based on harris hawks optimization</article-title>,&#x201D; <source>Cluster Computing Journal</source>, vol. <volume>25</volume>, no. <issue>4</issue>, pp. <fpage>2369</fpage>&#x2013;<lpage>2387</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Zhou</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Xu</surname></string-name>, <string-name><given-names>D. T.</given-names> <surname>Pham</surname></string-name> and <string-name><given-names>C.</given-names> <surname>Ji</surname></string-name></person-group>, &#x201C;<article-title>QoS modeling and analysis for manufacturing networks: A service framework</article-title>,&#x201D; in <conf-name>Proc. of the 7th IEEE Int. Conf. on Industrial Informatics</conf-name>, <conf-loc>New York, N.Y., USA</conf-loc>, <publisher-name>IEEE</publisher-name>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>A. H.</given-names> <surname>Ngu</surname></string-name> and <string-name><given-names>L. Z.</given-names> <surname>Zeng</surname></string-name></person-group>, &#x201C;<article-title>QoS computation and policing in dynamic Web service selection</article-title>,&#x201D; in <conf-name>Proc. of the 13th Int. Conf. on World Wide Web</conf-name>, <conf-loc>New York, N.Y., USA, ACM</conf-loc>, pp. <fpage>17</fpage>&#x2013;<lpage>22</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S. S.</given-names> <surname>Yau</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Yin</surname></string-name></person-group>, &#x201C;<article-title>QoS-Based service ranking and selection for service-based system</article-title>,&#x201D; in <conf-name>Proc. of IEEE Int. Conf. on Services Computing</conf-name>, <conf-loc>Washington, D.C., USA</conf-loc>, <publisher-name>IEEE</publisher-name>, pp. <fpage>56</fpage>&#x2013;<lpage>63</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Tao</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Zhao</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>Resource service optimal-selection based on intuitionistic fuzzy set and non-functionality QoS in manufacturing grid system</article-title>,&#x201D; <source>Knowledge and Information System</source>, vol. <volume>25</volume>, no. <issue>1</issue>, pp. <fpage>185</fpage>&#x2013;<lpage>208</lpage>, <year>2010</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Xu</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Du</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Cai</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Zhu</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>MeURep: A novel user reputation calculation approach in personalized cloud services</article-title>,&#x201D; <source>PloS One</source>, vol. <volume>14</volume>, no. <issue>6</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>15</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Xiong</surname></string-name></person-group>, &#x201C;<article-title>Peertrust: Supporting reputation-based trust for peer-to-peer electronic communities</article-title>,&#x201D; <source>IEEE Transactions on Knowledge and Data Engineering</source>, vol. <volume>16</volume>, no. <issue>7</issue>, pp. <fpage>843</fpage>&#x2013;<lpage>857</lpage>, <year>2004</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Zheng</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>M. R.</given-names> <surname>Lyu</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Yang</surname></string-name></person-group>, &#x201C;<article-title>Reputation measurement and malicious feedback rating preventionin web service recommendation systems</article-title>,&#x201D; <source>IEEE Transactions on Services Computing</source>, vol. <volume>8</volume>, no. <issue>5</issue>, pp. <fpage>755</fpage>&#x2013;<lpage>767</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M. H.</given-names> <surname>Al-Adhaileh</surname></string-name> and <string-name><given-names>F. W.</given-names> <surname>Alsaade</surname></string-name></person-group>, &#x201C;<article-title>Detecting and analysing fake opinions using artificial intelligence algorithms</article-title>,&#x201D; <source>Intelligent Automation &#x0026; Soft Computing</source>, vol. <volume>32</volume>, no. <issue>1</issue>, pp. <fpage>643</fpage>&#x2013;<lpage>655</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>O. A.</given-names> <surname>Wahab</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Bentahar</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Otrok</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Mourad</surname></string-name></person-group>, &#x201C;<article-title>Towards trustworthy multi-cloud services communities: A trust-based hedonic coalitional game</article-title>,&#x201D; <source>IEEE Transactions on Services Computing</source>, vol. <volume>11</volume>, no. <issue>1</issue>, pp. <fpage>184</fpage>&#x2013;<lpage>201</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>O. A.</given-names> <surname>Wahab</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Bentahar</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Otrok</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Mourad</surname></string-name></person-group>, &#x201C;<article-title>A survey on trust and reputation models for Web services</article-title>,&#x201D; <source>Decision Support Systems</source>, vol. <volume>74</volume>, no. <issue>6</issue>, pp. <fpage>121</fpage>&#x2013;<lpage>134</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>E.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Yong</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Liu</surname></string-name></person-group>, &#x201C;<article-title>A hybrid approach to placement of tenants for service-based multi-tenant SaaS application</article-title>,&#x201D; in <conf-name>Proc. of Asia-Pacific Services Computing Conf.</conf-name>, <conf-loc>Jeju, Korea</conf-loc>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>E.</given-names> <surname>Al-Masri</surname></string-name> and <string-name><given-names>Q.</given-names> <surname>HMahmoud</surname></string-name></person-group>, &#x201C;<article-title>Discovering the best web service</article-title>,&#x201D; in <conf-name>Proc. of the 16th Int. World Wide Web Conf.</conf-name>, <conf-loc>New York, N.Y., USA</conf-loc>, <publisher-name>IEEE</publisher-name>, pp. <fpage>1257</fpage>&#x2013;<lpage>1258</lpage>, <year>2007</year>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A. A.</given-names> <surname>Movassagh</surname></string-name>, <string-name><given-names>J. A.</given-names> <surname>Alzubi</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Gheisari</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Rahimi</surname></string-name>, <string-name><given-names>S. K.</given-names> <surname>Mohan</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Artificial neural networks training algorithm integrating invasive weed optimization with diferential evolutionary model</article-title>,&#x201D; <source>Journal of Ambient Intelligence Humanized Computing</source>, vol. <volume>3</volume>, no. <issue>3</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>19</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Chen</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>Feature subset selection based on variable precision neighborhood rough sets</article-title>,&#x201D; <source>International Journal of Computational Intelligence Systems</source>, vol. <volume>14</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>12</lpage>, <year>2021</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>





