# A Two-Sided Stable Matching Model of Cloud Manufacturing Tasks and Services considering the Nonlinear Relationship between Satisfaction and Expectations

Authors: Yujie Zheng; Meiyan Li; Jiakun Liu
Journal: Complexity
 (2021)

---

## Abstract

To improve the satisfaction of both service demanders (SDs) and service providers (SPs) in the matching of cloud manufacturing (CMfg) tasks and services, a two-sided stable matching model of CMfg tasks and service considering the nonlinear relationship between satisfaction and expectations is proposed. As the expectations of SDs and SPs are difficult to be quantified directly, an evaluation method based on interval-valued hesitant fuzzy linguistic sets (IVHFLSs) is first presented. Next, a nonlinear model of satisfaction and expectations is built to quantify the satisfaction, which achieves accurate quantification of satisfaction. Then, a two-sided stable matching model of CMfg tasks and service is built, which takes the satisfaction of SDs and SPs as the optimization goals and considers the individual rationalities and blocking pairs. Finally, an adaptive genetic algorithm (AGA) is designed to solve the proposed two-sided matching model. A practical application and comparison analysis is used to verify the effectiveness and superiority of the research.


---

## Body

## 1. Introduction

Cloud manufacturing (CMfg) is a new manufacturing mode that organizes the online service released by service providers (SPs) and allocates them to service demanders (SDs) on demand [1, 2]. SDs expect to cooperate with SPs of low service cost and high service quality. SPs also expect to serve SDs with fast payment speed and high credibility [3, 4]. Hence, both SDs and SPs have expectations on the matching scheme of CMfg tasks and service. The comparison between the expectations of SDs for service and the actual situations of the service forms the satisfaction of SDs [5]. Similarly, the comparison between the expectations of SPs for tasks and the actual situations of the tasks forms the satisfaction of SPs. The higher the satisfaction of SDs and SPs, the stronger the competitiveness of CMfg platforms [6, 7].Many studies concerning the matching of CMfg tasks and service have been performed. The research can be divided into two categories: single-sided matching and two-sided matching. Single-sided matching research has provided an important reference for two-sided matching research. For example, Lartigau et al. optimized the manufacturing cost, time, reliability, maintainability, and availability in research on CMfg service composition [8]. Zhang et al. developed an optimization model for service configuration in CMfg that took manufacturing cost, time, and quality as the optimization objectives [9]. Hsieh and Lin proposed a dynamic scheme of scheduling complex collaborative tasks for minimizing time and cost [10]. Xiong et al. maximized manufacturing efficiency and balanced service load during the service scheduling process [11]. Joglekar and Ford proposed a service allocation matrix to shorten the project duration [12]. Wang et al. optimized the cost, time, quality, and risk with a mathematical model [13]. Because single-sided matching research has mainly considered the expectations of SDs but ignored the expectations of SPs, and its effectiveness and feasibility need to be improved. To compensate, Zhao and Wang proposed a two-sided matching model of CMfg tasks and service [14]. First, SPs and SDs assessed each other based on linguistic information, and the assessment results were transformed into numerical values. Then, the satisfaction was calculated by using the variable fuzzy recognition method. Finally, a multiobjective optimization model was established, and the multiobjective functions were converted into a single objective function. Li et al. built a two-sided matching model with hesitant fuzzy preference information for configuring CMfg tasks and service [15]. First, SPs and SDs gave their expectations using the hesitant fuzzy element. Then, a two-sided matching model was constructed, and the optimal configuration results were obtained by solving the model. Ren and Ren put forward a one-to-many two-sided matching model, and the expectation utility theory was applied to calculate the satisfaction of SDs and SPs [16]. Zhao and Ding researched the two-sided resource matching mechanism and stability of a CMfg platform [17].In summary, the two-sided matching research of CMfg service and tasks is in the exploratory stage at present. Relevant research has supposed that the relationship between satisfaction and expectations is linear. The more the matching scheme exceeds the expectations of SDs and SPs, the higher the satisfaction. They took the values of satisfaction indexes or the difference between the values and the expectations as the optimization objectives. However, satisfaction is a psychological feeling that forms after expectation is compared with the actual situation. The functions of expectations and satisfaction are nonlinear and segmented [5]. In some segments, the satisfaction is 0 or a fixed number, whereas in other segments, satisfaction increases or decreases between 0 and the fixed number.When assessing satisfaction, some information such as expectations, the lower threshold, and the upper threshold needs to be determined in advance. The complexity of satisfaction indexes and the limitation of human cognition, hesitation, and fuzziness always exist in the expression process of information. Under such a situation, qualitative linguistic terms instead of precise quantitative numbers are more suitable for SDs and SPs to express information of satisfaction indexes [18]. Consequently, a number of linguistic decision-making methods emerged, such as the probabilistic linguistic term set (PLT) [18], hesitant fuzzy linguistic sets (HFLSs) [19, 20], interval-valued hesitant fuzzy linguistic sets (IVHFLSs) [21, 22], fuzzy preference relation with self-confidence (FPR-SC) [23], etc. These methods have been applied widely to various fields. In this article, the interval-valued hesitant fuzzy linguistic sets (IVHFLSs) are introduced, which are the extension of the linguistic term sets and interval-valued hesitant fuzzy sets (IVHFSs) [22]. Compared to PLT and HFLSs, IVHFLSs make the membership degrees no longer just relative to some crisp number, thus depicting the hesitancy of SDs and SPs, comprehensively. Compared to IVHFSs, IVHFLSs express the preference of SDs and SPs with linguistic terms, thus qualitatively representing the uncertain information. In a word, IVHFLSs are more convenient for SDs and SPs to express the information related to satisfaction and can effectively describe uncertainty, hesitancy, and inconsistency inherent in the decision-making process.To bridge the gap, a two-sided matching model of CMfg tasks and service based on the quantification of satisfaction is proposed. Compared with the traditional matching model (as shown in Figure1(a)), the main contributions of the article are as follows:(1)
A nonlinear model of satisfaction and expectations is built (as shown in Figure1(b)), which achieves accurate quantification of satisfaction and lays the foundation for the improvement of satisfaction in the matching of CMfg tasks and service.(2)
A two-sided stable matching model of CMfg tasks and service is put forward (as shown in Figure1(b)), which directly takes the satisfaction of SDs and SPs as the optimization goals and considers the individual rationalities and blocking pairs, thus making the optimization of satisfaction more effective.Figure 1
Framework of two-sided matching methods of CMfg tasks and service. (a) Traditional matching methods. (b) The proposed two-sided matching methods.
(a)(b)The remaining sections of this article are organized as follows: Section2 establishes a nonlinear model of satisfaction and expectations. Section 3 details a two-sided stable matching model of CMfg tasks and service on the basis of Section 2. Section 4 presents an example application and a comparison analysis of this article. Section 5 provides conclusions.


## 2. Quantification of Satisfaction Based on the Nonlinear Relationship

### 2.1. Expression of Expectations Based on IVHFLSs

To make the problem specific, suppose that SDs publishedI manufacturing tasks on a CMfg platform, and SPs issued J matching service. Di and Pj indicate the i−th CMfg task and the j−th CMfg service, respectively.Letzm be the m-th satisfaction index of SDs that is difficult to quantify directly, L=lt|t=0,1,…,2T,T∈N+ be a linguistic set, ltDi,m∈L be the linguistic evaluation result of CMfg task Di for index zm, and ΓDi,m∈0,1 be the membership interval of ltDi,m, then the expectation of the service demander published task Di on index zm based on IVHFLSs can be expressed as hi,m=ltDi,m,ΓDi,m. Moreover, ΓDi,m=ak−,ak+,k=1,2,…,#ΓDi,m, where #ΓDi,m is the number of intervals. Similarly, if zn′ is a satisfaction index of SPs that is difficult to be quantified directly, the expectation of the service provider published Pj on index zn′ based on IVHFLSs can be expressed as hj,n=ltPj,n,ΓPj,n.


### 2.2. Quantification of Expectations Based on Score Function

According to literature [21], the expectation function EΓDi,m of ΓDi,m can be denoted as follows:(1)EΓDi,m=∑k=1#ΓDi,mak−+ak+2#ΓDi,m.Thus, the score functionshi,m of hi,m can be represented as follows:(2)shi,m=fltDi,m×EΓDi,m.Similarly, the score functionshj,n of hj,n can be represented as follows:(3)shj,n=fltDj,n∑k=1#ΓPj,nak−+ak+2#ΓPj,n.


### 2.3. A Nonlinear Model of Satisfaction and Expectations

By fitting data, Liu et al. proposed that the piecewise exponential function is the subject function to the expression of customer satisfaction [5]. Especially, as the values of satisfaction indexes increase or decrease, the change in customer satisfaction can be divided into four areas: no-response area, defect area, overflow area, and saturation area. In the no-response area, the customer satisfaction is 0; in the defect area, the customer satisfaction increases or decreases rapidly and exponentially; in the overflow area, the customer satisfaction increases or decreases slowly and exponentially; and in the saturation area, satisfaction reaches its maximum and will not change. Again by fitting data, Zhou et al. found that the customer satisfaction has exponent relation to a satisfaction index [24]. Based on the above studies, a nonlinear model of satisfaction and expectations is built.Ifzm is a positive correlation index, the satisfaction degree ϕijD⟶Pm of the service demander published task Di with service Pj for index zm can be expressed as in the following equation (the corresponding satisfaction curve is shown in Figure 2(a)):(4)ϕijD⟶Pm=0,gj,mP≤hi,mT,egj,mP−hi,mD/gj,mP−hi,mT,hi,mT<gj,mP≤hi,mD,1+K−1egj,mP−hi,mΔ/gj,mP−hi,mD,hi,mD<gj,mP≤hi,mΔ,K,gj,mP>hi,mΔ.Figure 2
The satisfaction curve. (a) The satisfaction curve of a positive correlation index. (b) The satisfaction curve of a negative correlation index.
(a)(b)Ifzm is a negative correlation index, the satisfaction degree ϕijD⟶Pm of the service demander published task Di with service Pj for index zm can be expressed as in the following equation (the corresponding satisfaction curve is shown in Figure 2(b)):(5)ϕijD⟶Pm=K,gj,mP≤hi,m∇,K−K−1egj,mP−hi,mD/gj,mP−hi,m∇,hi,m∇<gj,mP≤hi,mD,egj,mP−hi,mD/gj,mP−hi,mT,hi,mD<gj,mP≤hi,mT,0,gj,mP>hi,mT.In equations (4) and (5), hi,mD, hi,mT, hi,mΔ, and hi,m∇ represent the expected values, the tolerable values, the upper threshold, and the lower threshold of task Di for index zm, respectively. gj,mP means the actual values of service Pj for index zm.Similarly, if the satisfaction index of SPszn′ is a positive correlation index, the satisfaction degree ϕjiP⟶Dn of the service provider published service Pj with task Di for index zn′ can be expressed as follows:(6)ϕjiP⟶Dn=0,gi,nD≤hj,nT,egi,nD−hj,nP/gi,nD−hj,n∇,hj,nT<gi,nD≤hj,nP,1+K−1egi,nD−hj,nΔ/gi,nD−hj,nP,hj,nP<gi,nD≤hj,nΔ,K,gi,nD>hj,nΔ.Ifzn′ is a negative correlation index, the satisfaction degree ϕjiP⟶Dn of the service provider published service Pj with task Di can be expressed as follows:(7)ϕjiP⟶Dn=K,gi,nD≤hj,n∇,K−K−1egi,nD−hj,nP/gi,nD−hj,n∇,hj,n∇<gi,nD≤hj,nP,egi,nD−hj,nP/gi,nD−hj,nΔ,hj,nP<gi,nD≤hj,nT,0,gi,nD>hj,nT.In equations (6) and (7), hj,nP, hj,nT, hj,nΔ, and hj,n∇ denote the expected values, the tolerant values, the upper threshold, and the lower threshold of service Pj for index zn′, respectively. gi,nD means the actual values of task Di for index zn′.In equations (4)–(7), K is the overflowing coefficient of satisfaction. According to literature [5], the value of K can be set by experts, and its range is usually between 1 to 1.2. Based on equations (4)–(7), the satisfaction degree ϕijD⟶P of Di with Pj and the satisfaction degree ϕjiP⟶D of Pj with Di can be expressed as in the following first and second equations, respectively:(8)ϕijD⟶P=wmϕijD⟶PmT,(9)ϕjiP⟶D=w′nϕjiP⟶DnT.In equations (8) and (9), wm and w′n are the weights of satisfaction indexes zm and zn′, respectively.


## 2.1. Expression of Expectations Based on IVHFLSs

To make the problem specific, suppose that SDs publishedI manufacturing tasks on a CMfg platform, and SPs issued J matching service. Di and Pj indicate the i−th CMfg task and the j−th CMfg service, respectively.Letzm be the m-th satisfaction index of SDs that is difficult to quantify directly, L=lt|t=0,1,…,2T,T∈N+ be a linguistic set, ltDi,m∈L be the linguistic evaluation result of CMfg task Di for index zm, and ΓDi,m∈0,1 be the membership interval of ltDi,m, then the expectation of the service demander published task Di on index zm based on IVHFLSs can be expressed as hi,m=ltDi,m,ΓDi,m. Moreover, ΓDi,m=ak−,ak+,k=1,2,…,#ΓDi,m, where #ΓDi,m is the number of intervals. Similarly, if zn′ is a satisfaction index of SPs that is difficult to be quantified directly, the expectation of the service provider published Pj on index zn′ based on IVHFLSs can be expressed as hj,n=ltPj,n,ΓPj,n.


## 2.2. Quantification of Expectations Based on Score Function

According to literature [21], the expectation function EΓDi,m of ΓDi,m can be denoted as follows:(1)EΓDi,m=∑k=1#ΓDi,mak−+ak+2#ΓDi,m.Thus, the score functionshi,m of hi,m can be represented as follows:(2)shi,m=fltDi,m×EΓDi,m.Similarly, the score functionshj,n of hj,n can be represented as follows:(3)shj,n=fltDj,n∑k=1#ΓPj,nak−+ak+2#ΓPj,n.


## 2.3. A Nonlinear Model of Satisfaction and Expectations

By fitting data, Liu et al. proposed that the piecewise exponential function is the subject function to the expression of customer satisfaction [5]. Especially, as the values of satisfaction indexes increase or decrease, the change in customer satisfaction can be divided into four areas: no-response area, defect area, overflow area, and saturation area. In the no-response area, the customer satisfaction is 0; in the defect area, the customer satisfaction increases or decreases rapidly and exponentially; in the overflow area, the customer satisfaction increases or decreases slowly and exponentially; and in the saturation area, satisfaction reaches its maximum and will not change. Again by fitting data, Zhou et al. found that the customer satisfaction has exponent relation to a satisfaction index [24]. Based on the above studies, a nonlinear model of satisfaction and expectations is built.Ifzm is a positive correlation index, the satisfaction degree ϕijD⟶Pm of the service demander published task Di with service Pj for index zm can be expressed as in the following equation (the corresponding satisfaction curve is shown in Figure 2(a)):(4)ϕijD⟶Pm=0,gj,mP≤hi,mT,egj,mP−hi,mD/gj,mP−hi,mT,hi,mT<gj,mP≤hi,mD,1+K−1egj,mP−hi,mΔ/gj,mP−hi,mD,hi,mD<gj,mP≤hi,mΔ,K,gj,mP>hi,mΔ.Figure 2
The satisfaction curve. (a) The satisfaction curve of a positive correlation index. (b) The satisfaction curve of a negative correlation index.
(a)(b)Ifzm is a negative correlation index, the satisfaction degree ϕijD⟶Pm of the service demander published task Di with service Pj for index zm can be expressed as in the following equation (the corresponding satisfaction curve is shown in Figure 2(b)):(5)ϕijD⟶Pm=K,gj,mP≤hi,m∇,K−K−1egj,mP−hi,mD/gj,mP−hi,m∇,hi,m∇<gj,mP≤hi,mD,egj,mP−hi,mD/gj,mP−hi,mT,hi,mD<gj,mP≤hi,mT,0,gj,mP>hi,mT.In equations (4) and (5), hi,mD, hi,mT, hi,mΔ, and hi,m∇ represent the expected values, the tolerable values, the upper threshold, and the lower threshold of task Di for index zm, respectively. gj,mP means the actual values of service Pj for index zm.Similarly, if the satisfaction index of SPszn′ is a positive correlation index, the satisfaction degree ϕjiP⟶Dn of the service provider published service Pj with task Di for index zn′ can be expressed as follows:(6)ϕjiP⟶Dn=0,gi,nD≤hj,nT,egi,nD−hj,nP/gi,nD−hj,n∇,hj,nT<gi,nD≤hj,nP,1+K−1egi,nD−hj,nΔ/gi,nD−hj,nP,hj,nP<gi,nD≤hj,nΔ,K,gi,nD>hj,nΔ.Ifzn′ is a negative correlation index, the satisfaction degree ϕjiP⟶Dn of the service provider published service Pj with task Di can be expressed as follows:(7)ϕjiP⟶Dn=K,gi,nD≤hj,n∇,K−K−1egi,nD−hj,nP/gi,nD−hj,n∇,hj,n∇<gi,nD≤hj,nP,egi,nD−hj,nP/gi,nD−hj,nΔ,hj,nP<gi,nD≤hj,nT,0,gi,nD>hj,nT.In equations (6) and (7), hj,nP, hj,nT, hj,nΔ, and hj,n∇ denote the expected values, the tolerant values, the upper threshold, and the lower threshold of service Pj for index zn′, respectively. gi,nD means the actual values of task Di for index zn′.In equations (4)–(7), K is the overflowing coefficient of satisfaction. According to literature [5], the value of K can be set by experts, and its range is usually between 1 to 1.2. Based on equations (4)–(7), the satisfaction degree ϕijD⟶P of Di with Pj and the satisfaction degree ϕjiP⟶D of Pj with Di can be expressed as in the following first and second equations, respectively:(8)ϕijD⟶P=wmϕijD⟶PmT,(9)ϕjiP⟶D=w′nϕjiP⟶DnT.In equations (8) and (9), wm and w′n are the weights of satisfaction indexes zm and zn′, respectively.


## 3. A Two-Sided Stable Matching Model of CMfg Tasks and Service

### 3.1. Model Construction

CMfg tasks can be divided into different types, such as machining, heat treatment, welding, and metal forming. Letq denote the q-th type of task q=1,2,…,Q and the 0-1 variables ciq, c′jq, and yij denote the type of CMfg tasks, the type of cloud service, and the matching variable of tasks and service, respectively. If task Di belongs to the q-th task type, then ciq=1; otherwise, ciq=0. If service Pj can operate the q-th task type, c′jq=1; otherwise, c′jq=0. If task Di is matched with service Pj, then yij=1; otherwise, yij=0.Definition 1.
The two-sided matching scheme between CMfg tasks and service is defined as mappingλ: D∪P⟶2D∪P. If ∀Di∈D, ∀Pj∈P satisfies the following conditions: (1) λDi∈Pj|ciqc′jq=1,Pj∈P; (2) λPj⊆Dj|ciqc′jq=1,Di∈D; (3) Di∈λPj, then Di,Pj is a matching pair of CMfg tasks and service.
If a service provider is incapable of theq-th type of task, the service provider would rather not provide the service to the q-th type of task. This phenomenon is called the individual rationality of SPs. Its specific definition is given below.Definition 2.
If servicePj satisfies one of the following conditions: (1) ciqc′jqyij=1; (2) ciqc′jq=0, yij=0, then it is called the individual rationality of SPs.Definition 3.
If all the SPs in the matching schemeλ are rational, then λ is an individual rational matching scheme of SPs.
If the SDs would rather not match service than match the unacceptable service, then this phenomenon is called the individual rationality of SDs. Its specific definition is given below.Definition 4.
If taskDi satisfies one of the following conditions: (1) ciqc′jqyij=1; (2) ciq=1, c′jq=0, and yij=0; (3) ϕijD⟶P=−M (M is a large number), yij=0, then it is the individual rationality of SDs.Definition 5.
If all the SDs in matching schemeλ are rational, then λ is an individual rational matching scheme of SDs.Definition 6.
Ifλ is a matching scheme of both SPs’ individual rationality and SDs’ individual rationality, then λ is an individual rational matching scheme and satisfies the following equations:(10)yij−∑qciqc′jq≤0,(11)yijϕijD⟶P>−M.
If there are blocking pairs in a matching scheme, the matching two sides may match privately, thus affecting the stability and effectiveness of the matching scheme [25]. The blocking pairs in a matching scheme of CMfg tasks and service are defined as follows.Definition 7.
For the matching schemes of CMfg tasks and serviceλ:D∪P⟶2D∪P,∃Di,Db∈D,∃Pj,Pf∈P,i≠b,j≠f, if Di,Db,PjandPf satisfy one of the following conditions: (1) λPj=0, λDi=Pf, and ciqc′jqϕijD⟶P>ϕifD⟶P; (2) λDi=Pf, λDb=Pj, ciqc′jqϕijD⟶P>ϕifD⟶P, and ciqc′jqϕjiP⟶D>ϕjbP⟶D, then Di,Pj is a blocking pair in the matching scheme λ.Definition 8.
If the matching scheme of CMfg tasks and serviceλ is individually rational and contains no blocking pairs, then λ is a stable matching scheme and satisfies the following equation: (12)∑i:ϕijD⟶P>ϕifD⟶Pyij+yif1+∑j:ϕjbP⟶D<ϕjiP⟶Dyij+ybj>∑qciqcj′q.
Based on the above analysis, the two-sided matching model of CMfg tasks and service can be established as in equation (13). The first and second optimization objectives are to maximize the satisfaction of SDs and satisfaction of SPs, respectively. The third optimization objective is to maximize the matching number of CMfg tasks and service. The meaning of constraints refers to Definitions 6 and 8,(13)maxZ1=∑i=1I∑j=1JϕijD⟶Pyijyij−∑qciqc′jq≤0,yijϕijD⟶P>−MmaxZ2=∑i=1I∑j=1JϕjiP⟶Dyij∑i:ϕijD⟶P>ϕifD⟶Pyij+yif1+∑j:ϕjbP⟶D<ϕjiP⟶Dyij+ybj>∑qciqc′jqmaxZ3=∑i=1I∑j=1Jyij∑i=1Iyij=1,∑j=1Jyij≤1S.T.yij∈0,1,i∈I,j∈J.


### 3.2. Model Solution

To solve the proposed two-sided model, an adaptive genetic algorithm (AGA) was designed.


#### 3.2.1. Coding

Real coding is adopted in this algorithm.Di = j (j = 0, 1, 2, …, J) denotes the task in which Di and service Pj form a matching pair.


#### 3.2.2. Fitness Function

The objectivesZ1 and Z2 in equation (13) are mutual restrictions. The optimization solution satisfying the two objectives is difficult to obtain, but the ideal optimal solution and the ideal worst solution of each objective are easy to get. To this end, the technique for order preference by similarity to an ideal solution (TOPSIS) is adopted to convert the optimization of Z1 and Z2 into the following equations:(14)maxf1=∑t=12Zt−−Ztr2∑t=12Zt+−Ztr2+∑t=12Zt−−Ztr2,(15)maxf2=∑i=1I∑j=1Jyij.In equation (14), Ztr represents the t-th objective function value of the r-th individual in population. Zt+ and Zt− indicate the ideal optimal value and the ideal worst value of the t-th objective function, respectively.


#### 3.2.3. Selection Operation

Given that tournament selection has better convergence than other selection operations [26, 27], the tournament selection strategy is adopted. First, select Ns individuals from population. Next, compare the fitness values between these selected individuals. Finally, put the individuals with the highest fitness values into a crossover pool. Cycle the above process until the crossover pool is full.


#### 3.2.4. Adaptive Crossover

A two-point crossover is adopted here [28]. First, select individuals to be crossed as parents according to the crossover possibility pc. Second, randomly generate two integral points, rnd1 and rnd2, within the length of individuals as two crossover points. Finally, exchange the genes between the two integral points, rnd1 and rnd2, of two parents. Hereby, two children individuals are obtained. To avoid prematurity and local optimality, the adaptive crossover probability instead of a fixed one is adopted. The calculation method of the adaptive crossover probability is expressed as follows:(16)pc=pcmin+pcmax−pcminf′−fminfavg−fmin,f′≤favg,pcmax,f′>favg.In equation (16), pc denotes an adaptive crossover probability, pcmin indicates the minimum crossover probability, pcmax denotes the maximum crossover probability, fmin indicates the minimum fitness values in contemporary populations, favg indicates the average fitness values in contemporary populations, and f ′ denotes the larger fitness values of the two individuals involved in the crossover.


#### 3.2.5. Adaptive Mutation

Likewise, an adaptive mutation strategy is adopted here. The calculation method of the adaptive crossover probability is expressed as follows:(17)pm=pmmin+pmmax−pmminf−fminfavg−fmin,f′≤favg,pmmax,f′>favg.In equation (17), pm denotes an adaptive mutation probability, pmmin indicates the minimum mutation probability, pmmax means the maximum mutation probability, fmin denotes the minimum fitness values in contemporary populations, favg indicates the average fitness values in contemporary populations, and f ′ denotes the larger fitness values of the two mutated individuals.


## 3.1. Model Construction

CMfg tasks can be divided into different types, such as machining, heat treatment, welding, and metal forming. Letq denote the q-th type of task q=1,2,…,Q and the 0-1 variables ciq, c′jq, and yij denote the type of CMfg tasks, the type of cloud service, and the matching variable of tasks and service, respectively. If task Di belongs to the q-th task type, then ciq=1; otherwise, ciq=0. If service Pj can operate the q-th task type, c′jq=1; otherwise, c′jq=0. If task Di is matched with service Pj, then yij=1; otherwise, yij=0.Definition 1.
The two-sided matching scheme between CMfg tasks and service is defined as mappingλ: D∪P⟶2D∪P. If ∀Di∈D, ∀Pj∈P satisfies the following conditions: (1) λDi∈Pj|ciqc′jq=1,Pj∈P; (2) λPj⊆Dj|ciqc′jq=1,Di∈D; (3) Di∈λPj, then Di,Pj is a matching pair of CMfg tasks and service.
If a service provider is incapable of theq-th type of task, the service provider would rather not provide the service to the q-th type of task. This phenomenon is called the individual rationality of SPs. Its specific definition is given below.Definition 2.
If servicePj satisfies one of the following conditions: (1) ciqc′jqyij=1; (2) ciqc′jq=0, yij=0, then it is called the individual rationality of SPs.Definition 3.
If all the SPs in the matching schemeλ are rational, then λ is an individual rational matching scheme of SPs.
If the SDs would rather not match service than match the unacceptable service, then this phenomenon is called the individual rationality of SDs. Its specific definition is given below.Definition 4.
If taskDi satisfies one of the following conditions: (1) ciqc′jqyij=1; (2) ciq=1, c′jq=0, and yij=0; (3) ϕijD⟶P=−M (M is a large number), yij=0, then it is the individual rationality of SDs.Definition 5.
If all the SDs in matching schemeλ are rational, then λ is an individual rational matching scheme of SDs.Definition 6.
Ifλ is a matching scheme of both SPs’ individual rationality and SDs’ individual rationality, then λ is an individual rational matching scheme and satisfies the following equations:(10)yij−∑qciqc′jq≤0,(11)yijϕijD⟶P>−M.
If there are blocking pairs in a matching scheme, the matching two sides may match privately, thus affecting the stability and effectiveness of the matching scheme [25]. The blocking pairs in a matching scheme of CMfg tasks and service are defined as follows.Definition 7.
For the matching schemes of CMfg tasks and serviceλ:D∪P⟶2D∪P,∃Di,Db∈D,∃Pj,Pf∈P,i≠b,j≠f, if Di,Db,PjandPf satisfy one of the following conditions: (1) λPj=0, λDi=Pf, and ciqc′jqϕijD⟶P>ϕifD⟶P; (2) λDi=Pf, λDb=Pj, ciqc′jqϕijD⟶P>ϕifD⟶P, and ciqc′jqϕjiP⟶D>ϕjbP⟶D, then Di,Pj is a blocking pair in the matching scheme λ.Definition 8.
If the matching scheme of CMfg tasks and serviceλ is individually rational and contains no blocking pairs, then λ is a stable matching scheme and satisfies the following equation: (12)∑i:ϕijD⟶P>ϕifD⟶Pyij+yif1+∑j:ϕjbP⟶D<ϕjiP⟶Dyij+ybj>∑qciqcj′q.
Based on the above analysis, the two-sided matching model of CMfg tasks and service can be established as in equation (13). The first and second optimization objectives are to maximize the satisfaction of SDs and satisfaction of SPs, respectively. The third optimization objective is to maximize the matching number of CMfg tasks and service. The meaning of constraints refers to Definitions 6 and 8,(13)maxZ1=∑i=1I∑j=1JϕijD⟶Pyijyij−∑qciqc′jq≤0,yijϕijD⟶P>−MmaxZ2=∑i=1I∑j=1JϕjiP⟶Dyij∑i:ϕijD⟶P>ϕifD⟶Pyij+yif1+∑j:ϕjbP⟶D<ϕjiP⟶Dyij+ybj>∑qciqc′jqmaxZ3=∑i=1I∑j=1Jyij∑i=1Iyij=1,∑j=1Jyij≤1S.T.yij∈0,1,i∈I,j∈J.


## 3.2. Model Solution

To solve the proposed two-sided model, an adaptive genetic algorithm (AGA) was designed.


### 3.2.1. Coding

Real coding is adopted in this algorithm.Di = j (j = 0, 1, 2, …, J) denotes the task in which Di and service Pj form a matching pair.


### 3.2.2. Fitness Function

The objectivesZ1 and Z2 in equation (13) are mutual restrictions. The optimization solution satisfying the two objectives is difficult to obtain, but the ideal optimal solution and the ideal worst solution of each objective are easy to get. To this end, the technique for order preference by similarity to an ideal solution (TOPSIS) is adopted to convert the optimization of Z1 and Z2 into the following equations:(14)maxf1=∑t=12Zt−−Ztr2∑t=12Zt+−Ztr2+∑t=12Zt−−Ztr2,(15)maxf2=∑i=1I∑j=1Jyij.In equation (14), Ztr represents the t-th objective function value of the r-th individual in population. Zt+ and Zt− indicate the ideal optimal value and the ideal worst value of the t-th objective function, respectively.


### 3.2.3. Selection Operation

Given that tournament selection has better convergence than other selection operations [26, 27], the tournament selection strategy is adopted. First, select Ns individuals from population. Next, compare the fitness values between these selected individuals. Finally, put the individuals with the highest fitness values into a crossover pool. Cycle the above process until the crossover pool is full.


### 3.2.4. Adaptive Crossover

A two-point crossover is adopted here [28]. First, select individuals to be crossed as parents according to the crossover possibility pc. Second, randomly generate two integral points, rnd1 and rnd2, within the length of individuals as two crossover points. Finally, exchange the genes between the two integral points, rnd1 and rnd2, of two parents. Hereby, two children individuals are obtained. To avoid prematurity and local optimality, the adaptive crossover probability instead of a fixed one is adopted. The calculation method of the adaptive crossover probability is expressed as follows:(16)pc=pcmin+pcmax−pcminf′−fminfavg−fmin,f′≤favg,pcmax,f′>favg.In equation (16), pc denotes an adaptive crossover probability, pcmin indicates the minimum crossover probability, pcmax denotes the maximum crossover probability, fmin indicates the minimum fitness values in contemporary populations, favg indicates the average fitness values in contemporary populations, and f ′ denotes the larger fitness values of the two individuals involved in the crossover.


### 3.2.5. Adaptive Mutation

Likewise, an adaptive mutation strategy is adopted here. The calculation method of the adaptive crossover probability is expressed as follows:(17)pm=pmmin+pmmax−pmminf−fminfavg−fmin,f′≤favg,pmmax,f′>favg.In equation (17), pm denotes an adaptive mutation probability, pmmin indicates the minimum mutation probability, pmmax means the maximum mutation probability, fmin denotes the minimum fitness values in contemporary populations, favg indicates the average fitness values in contemporary populations, and f ′ denotes the larger fitness values of the two mutated individuals.


## 3.2.1. Coding

Real coding is adopted in this algorithm.Di = j (j = 0, 1, 2, …, J) denotes the task in which Di and service Pj form a matching pair.


## 3.2.2. Fitness Function

The objectivesZ1 and Z2 in equation (13) are mutual restrictions. The optimization solution satisfying the two objectives is difficult to obtain, but the ideal optimal solution and the ideal worst solution of each objective are easy to get. To this end, the technique for order preference by similarity to an ideal solution (TOPSIS) is adopted to convert the optimization of Z1 and Z2 into the following equations:(14)maxf1=∑t=12Zt−−Ztr2∑t=12Zt+−Ztr2+∑t=12Zt−−Ztr2,(15)maxf2=∑i=1I∑j=1Jyij.In equation (14), Ztr represents the t-th objective function value of the r-th individual in population. Zt+ and Zt− indicate the ideal optimal value and the ideal worst value of the t-th objective function, respectively.


## 3.2.3. Selection Operation

Given that tournament selection has better convergence than other selection operations [26, 27], the tournament selection strategy is adopted. First, select Ns individuals from population. Next, compare the fitness values between these selected individuals. Finally, put the individuals with the highest fitness values into a crossover pool. Cycle the above process until the crossover pool is full.


## 3.2.4. Adaptive Crossover

A two-point crossover is adopted here [28]. First, select individuals to be crossed as parents according to the crossover possibility pc. Second, randomly generate two integral points, rnd1 and rnd2, within the length of individuals as two crossover points. Finally, exchange the genes between the two integral points, rnd1 and rnd2, of two parents. Hereby, two children individuals are obtained. To avoid prematurity and local optimality, the adaptive crossover probability instead of a fixed one is adopted. The calculation method of the adaptive crossover probability is expressed as follows:(16)pc=pcmin+pcmax−pcminf′−fminfavg−fmin,f′≤favg,pcmax,f′>favg.In equation (16), pc denotes an adaptive crossover probability, pcmin indicates the minimum crossover probability, pcmax denotes the maximum crossover probability, fmin indicates the minimum fitness values in contemporary populations, favg indicates the average fitness values in contemporary populations, and f ′ denotes the larger fitness values of the two individuals involved in the crossover.


## 3.2.5. Adaptive Mutation

Likewise, an adaptive mutation strategy is adopted here. The calculation method of the adaptive crossover probability is expressed as follows:(17)pm=pmmin+pmmax−pmminf−fminfavg−fmin,f′≤favg,pmmax,f′>favg.In equation (17), pm denotes an adaptive mutation probability, pmmin indicates the minimum mutation probability, pmmax means the maximum mutation probability, fmin denotes the minimum fitness values in contemporary populations, favg indicates the average fitness values in contemporary populations, and f ′ denotes the larger fitness values of the two mutated individuals.


## 4. Example Application and Comparison Analysis

### 4.1. Example Application

There are 6 metal forming tasks on a CMfg platform. After preliminary screening, a total of 9 services can operate these welding tasks. The sets of welding tasks and service are expressed asD=D1,D2,D3,D4,D5,D6 and P=P1,P2,P3,P4,P5,P6,P7,P8,P9, respectively. The satisfaction indexes of SDs include cost (z1), delivery time (z2), and credibility (z3); the satisfaction indexes of SPs consist of payment time (z1′) and credibility (z2′). The delivery time represents the days required for processing and transportation; payment time is how many days SPs would get 95% of the full amount after a welding task is accepted (the other 5% is usually a warranty deposit).


#### 4.1.1. Expression of Expectations Based on IVHFLSs

First, the SDs and SPs evaluate their expectations and self-conditions. For cost, delivery time, and payment time, which are easy to quantify directly, SDs and SPs can evaluate them with numbers. For credibility, which is difficult to quantify directly, SDs and SPs evaluate it with seven-level linguistic variables:L = {poorest, poorer, poor, general, good, better, best}. Then, the SDs and SPs use intervals to express the membership of linguistic levels. The evaluation results are shown in Tables 1 and 2, respectively. After the discussion of experts, the lower thresholds of cost, delivery time, and payment time are set to 200, 10, and 3, respectively. The overflowing coefficient of satisfaction K = 1.2.Table 1
Evaluation results of satisfaction indexes of SDs.
Expected values (hi,mD)Tolerant values (hi,mT)Payment time (gi,1D)Credibility (gi,2D)D1z14005005<better, {[0.5, 0.7], [0.8, 0.9]}>z23035z3<good, {[0.7, 0.8]}><general, {[0.5, 0.6]}>D2z13005008<better, {[0.7, 0.9]}>z23035z3<good, {[0.7, 0.9]}><general, {[0.5, 0.6]}>D3z15006008<better, {[0.7, 0.8]}>z23035z3<better, {[0.6, 0.7]}><general, {[0.5, 0.6]}>D4z150060010<good, {[0.6, 0.8]}>z22030z3<good, {[0.7, 0.8] }><general, {[0.5, 0.6]}>D5z14005007<better, {[0.5, 0.6], [0.7, 0.8]}>z23040z3<good, {[0.4, 0.5]}><general, {[0.5, 0.6]}>D6z13005005<good, {[0.3, 0.6], [0.7, 0.9]}>z21520z3<better, {[0.4, 0.6]}><general, {[0.5, 0.7], [0.8, 0.9]}>Table 2
Evaluation results of satisfaction indexes of SPs.
Expected values (hj,nP)Tolerant values (hj,nT)Income (gj,1P)Delivery time (gj,2P)Credibility (gj,3P)P1z1′71030020<good, {[0.7, 0.9]}>z2′<good, {[0.7, 0.9]}><general, {[0.6, 0.8]}>P2z1′61030030<good, {[0.7, 0.8], [0.8, 0.9]}>z2′<better, {[0.4, 0.6], [0.7, 0.8]}><general, {[0.5, 0.6]}>P3z1′61050030<general, {[0.6, 0.8], [0.8, 0.9]}>z2′<better, {[0.4, 0.5], [0.5, 0.7]}><general, {[0.5, 0.6]}>P4z1′71050020<better, {[0.6, 0.7], [0.7, 0.8}>z2′<good, {[0.8, 0.9]}><general, {[0.5, 0.6]}>P5z1′71060020<best, {[0.5, 0.6], [0.6, 0.7]}>z2′<good, {[0.7, 0.8], [0.8, 0.9]}><general, {[0.6, 0.8]}>P6z1′101530030<better, {[0.4, 0.5]}>z2′<general, {[0.7, 0.8]}><general, {[0.2, 0.4]}>P7z1′101530015<good, {[0.5, 0.6]}>z2′<general, {[0.6, 0.7], [0.7, 0.8]}><general, {[0.3, 0.4]}>P8z1′51030015<best, {[0, 4, 0.6], [0.6, 0.7]}>z2′<general, {[0.5, 0.7], [0.8, 0.9]}><general, {[0.3, 0.4]}>P9z1′51040020<good, {[0.5, 0.6]}>z2′<better {[0.6, 0.7], [0.7, 0.8]}><good, {[0.4, 0.5]}


#### 4.1.2. Quantification of Expectations Based on Score Function

According to the linguistic scale functionflt=t/2T,t=0,1,2,…,2T and equations (2)–(7), the satisfaction of SDs D1–D6 with service provider P1 can be obtained, as shown in Table 3.Table 3
Satisfaction degree ofD1–D6 with P1.
Satisfaction degreeCostDelivery timeCredibilitySatisfaction degreeCostDelivery timeCredibilityϕ11D⟶P1.1261.1261.001ϕ41D⟶P111.001ϕ21D⟶P11.1260.998ϕ51D⟶P1.1261.1261.098ϕ31D⟶P1.1731.1260.966ϕ61D⟶P101.047Similarly, the satisfaction of SDsD2–D6 with the SPs P1–P9 and the satisfaction of SPs P1–P9 with SDs D1–D6 can be obtained. If the weights of cost, delivery time, and credibility are set to w1D=0.3,w2D=0.3,andw3D=0.4, respectively. The weights of payment time and credibility are set to w1P=0.5,andw2P=0.5, respectively. Then, the satisfaction matrices HD⟶P and HP⟶D can be obtained, as shown in Tables 4 and 5.Table 4
Satisfaction matrixHD⟶P of SDs D1–D6 with SPs P1–P9.
P1P2P3P4P5P6P7P8P9D11.0761.0380.4470.7580.7670.7530.7881.1100.731D21.0370.9990.4090.7460.7560.6820.7221.0610.513D31.0761.0380.7021.0430.7520.7270.7681.1110.721D41.0000.7540.3900.8650.7290.4150.7311.0530.575D51.1151.0770.7020.7910.7951.0391.0951.1461.038D60.7190.7190.1250.4400.4460.3140.6001.0360.110Table 5
Satisfaction matrixHP⟶D of SPs P1–P9 with SDs D1–D6.
D1D2D3D4D5D6P11.0890.8810.8470.2821.0220.650P21.0710.7640.7330.3770.8580.779P31.1020.7720.7560.5040.8921.039P41.0710.8750.8310.2970.9550.737P51.0890.8810.8470.2821.0000.650P61.1581.1221.1071.0081.0911.092P71.1601.1231.1091.0141.0971.093P81.0670.7010.6870.5110.7981.001P91.0010.6790.6280.2480.6780.620


#### 4.1.3. Obtaining the Soundest Alternatives

Based on the stable two-sided matching model shown in equation (13) and the proposed AGA, the soundest alternative was obtained.The proposed AGA was programmed in Matlab 2014a. The initial population was set to 100, the maximum generation to 200, the minimum crossover probability to 0.7, the maximum crossover probability to 0.9, the minimum mutation probability to 0.08, and the maximum mutation probability to 0.1. After solution, the ideal optimal values ofZ1 and Z2 were 6.517 and 6.670, respectively. The ideal worst values of Z1 and Z2 were 2.761 and 1.990, respectively. After solution, the best fitness values of every generation are shown in Figure 3.Figure 3
Best fitness value of every generation.When the algorithm converges, the optimal value of fitness functionf1 was 0.837, the optimal value of fitness function f2 was 6, the corresponding optimal solution was λ∗=D1,P2,D2,P1,D3,P4,D4,P7,D5,P6,D6,P8, and the corresponding optimization objectives were Z1=5.924,Z2=5.889,andZ3=6.


### 4.2. Comparisons and Discussion

To further verify the superiority, the proposed two-sided matching model was compared with the traditional matching model proposed by Li et al. [15], which takes the values of satisfaction indexes as optimization objectives. Let hi,j,m represent the satisfaction expression of the service demander published task Di on service Pj for index zm based on IVHFLSs, hj,i,n indicate the satisfaction expression of the service provider published service Pj on task Di for index zn′ based on IVHFLSs, shi,j,m and shj,i,n mean the score of hi,j,m and hj,i,n, respectively. Hence, the satisfaction optimization goal of SDs based on the thought proposed by Li et al. [15] can be expressed as maxZ1=∑i=1I∑j=1Jwmshi,j,myij. In a similar way, the satisfaction optimization goal of SPs can be expressed as maxZ2=∑i=1I∑j=1Jwnshj,i,nyij. The function of optimal matching numbers can be expressed as maxZ3=∑i=1I∑j=1Jyij. Combining the constraints in Li et al. [15], the compared matching model is described as follows:(18)maxZ1=∑i=1I∑j=1Jwmshi,j,myij,maxZ2=∑i=1I∑j=1Jwnshj,i,nyij,maxZ3=∑i=1I∑j=1Jyij,∑i=1myij=1,∑j=1nyij≤1,yij+∑f:wmshi,f,m<wmshi,j,myif+∑b:wnshj,b,n<wnshj,i,nybj≥1,yij∈0,1,i∈I,j∈J.Then, the proposed AGA was programmed to solve the matching model proposed by Li et al. [15]. The parameters here are set same as the parameters used when solving the matching model proposed by this article. After solving, the optimal solution was λ∗′=D1,P1,D2,P2,D3,P4,D4,P7,D5,P6,D6,P8. The corresponding optimization results were Z1=5.924,Z2=5.790,Z3=6. Specifically, the satisfaction of SDs on SPs in the matching scheme is ϕ11D⟶P=1.076, ϕ22D⟶P=0.999, ϕ34D⟶P=1.043, ϕ47D⟶P=0.731, ϕ56D⟶P=1.039, ϕ68D⟶P=1.036 and the satisfaction of SPs on SDs in the matching scheme is ϕ11P⟶D=1.089, ϕ22P⟶D=0.764, ϕ34P⟶D=0.831, ϕ47P⟶D=1.014, ϕ56P⟶D=1.091, ϕ68P⟶D=1.001.As shown in Figure4, the satisfaction of SDs optimized by this article is equal to the satisfaction of SDs optimized by Li et al. [15]. However, the satisfaction of SPs optimized by this article is increased 0.099 than the satisfaction of SPs optimized by Li et al. [15]. This indicates that the matching model proposed by this article is superior to the traditional model proposed by Li et al. [15].Figure 4
Comparison of different methods.Overall, satisfaction of SDs and SPs is an important property for improving the competitiveness of CMfg platforms. Although the two-sided matching problem of CMfg tasks and service has been studied in some articles, they took satisfaction indexes or expectations as the optimization goals of the matching model. Whereas, satisfaction is not linear with expectations. In fact, there is a limit to satisfaction, the bigger the satisfaction index, the higher the satisfaction is not necessarily in a range. In this article, the nonlinear model of satisfaction and expectations is built first. The satisfaction of SDs and SPs is taken as the optimization objectives of the two-sided matching model of CMfg tasks and service, thus making the optimization of satisfaction more effective.Second, stability is necessary to consider when building the two-sided matching model, or else SDs and SPs may give up the current matching results [15]. In this article, stable matching conditions are considered when establishing the matching model, which not only can maximize satisfaction degrees of SDs and SPs but also can derive the stable matching results.Third, IVHFLSs are introduced to SDs and SPs to express their expectations, tolerant values, and so on, which effectively describe the uncertainty, hesitancy, and inconsistency inherent in the decision-making process.Therefore, the proposed matching model enriches the matching studies of CMfg tasks and service. However, the article also has some limitations. First, it cannot be used to deal with the conditions when some complex linguistic expressions are needed, such as multigranular unbalanced linguistic expression [29]. Second, it is assumed that the weight of satisfaction indexes is given by crisp numbers in advance. However, sometimes SDs and SPs may tend to provide criteria weight information with linguistic expressions, like “satisfaction index A is more important than in index B.”


## 4.1. Example Application

There are 6 metal forming tasks on a CMfg platform. After preliminary screening, a total of 9 services can operate these welding tasks. The sets of welding tasks and service are expressed asD=D1,D2,D3,D4,D5,D6 and P=P1,P2,P3,P4,P5,P6,P7,P8,P9, respectively. The satisfaction indexes of SDs include cost (z1), delivery time (z2), and credibility (z3); the satisfaction indexes of SPs consist of payment time (z1′) and credibility (z2′). The delivery time represents the days required for processing and transportation; payment time is how many days SPs would get 95% of the full amount after a welding task is accepted (the other 5% is usually a warranty deposit).


### 4.1.1. Expression of Expectations Based on IVHFLSs

First, the SDs and SPs evaluate their expectations and self-conditions. For cost, delivery time, and payment time, which are easy to quantify directly, SDs and SPs can evaluate them with numbers. For credibility, which is difficult to quantify directly, SDs and SPs evaluate it with seven-level linguistic variables:L = {poorest, poorer, poor, general, good, better, best}. Then, the SDs and SPs use intervals to express the membership of linguistic levels. The evaluation results are shown in Tables 1 and 2, respectively. After the discussion of experts, the lower thresholds of cost, delivery time, and payment time are set to 200, 10, and 3, respectively. The overflowing coefficient of satisfaction K = 1.2.Table 1
Evaluation results of satisfaction indexes of SDs.
Expected values (hi,mD)Tolerant values (hi,mT)Payment time (gi,1D)Credibility (gi,2D)D1z14005005<better, {[0.5, 0.7], [0.8, 0.9]}>z23035z3<good, {[0.7, 0.8]}><general, {[0.5, 0.6]}>D2z13005008<better, {[0.7, 0.9]}>z23035z3<good, {[0.7, 0.9]}><general, {[0.5, 0.6]}>D3z15006008<better, {[0.7, 0.8]}>z23035z3<better, {[0.6, 0.7]}><general, {[0.5, 0.6]}>D4z150060010<good, {[0.6, 0.8]}>z22030z3<good, {[0.7, 0.8] }><general, {[0.5, 0.6]}>D5z14005007<better, {[0.5, 0.6], [0.7, 0.8]}>z23040z3<good, {[0.4, 0.5]}><general, {[0.5, 0.6]}>D6z13005005<good, {[0.3, 0.6], [0.7, 0.9]}>z21520z3<better, {[0.4, 0.6]}><general, {[0.5, 0.7], [0.8, 0.9]}>Table 2
Evaluation results of satisfaction indexes of SPs.
Expected values (hj,nP)Tolerant values (hj,nT)Income (gj,1P)Delivery time (gj,2P)Credibility (gj,3P)P1z1′71030020<good, {[0.7, 0.9]}>z2′<good, {[0.7, 0.9]}><general, {[0.6, 0.8]}>P2z1′61030030<good, {[0.7, 0.8], [0.8, 0.9]}>z2′<better, {[0.4, 0.6], [0.7, 0.8]}><general, {[0.5, 0.6]}>P3z1′61050030<general, {[0.6, 0.8], [0.8, 0.9]}>z2′<better, {[0.4, 0.5], [0.5, 0.7]}><general, {[0.5, 0.6]}>P4z1′71050020<better, {[0.6, 0.7], [0.7, 0.8}>z2′<good, {[0.8, 0.9]}><general, {[0.5, 0.6]}>P5z1′71060020<best, {[0.5, 0.6], [0.6, 0.7]}>z2′<good, {[0.7, 0.8], [0.8, 0.9]}><general, {[0.6, 0.8]}>P6z1′101530030<better, {[0.4, 0.5]}>z2′<general, {[0.7, 0.8]}><general, {[0.2, 0.4]}>P7z1′101530015<good, {[0.5, 0.6]}>z2′<general, {[0.6, 0.7], [0.7, 0.8]}><general, {[0.3, 0.4]}>P8z1′51030015<best, {[0, 4, 0.6], [0.6, 0.7]}>z2′<general, {[0.5, 0.7], [0.8, 0.9]}><general, {[0.3, 0.4]}>P9z1′51040020<good, {[0.5, 0.6]}>z2′<better {[0.6, 0.7], [0.7, 0.8]}><good, {[0.4, 0.5]}


### 4.1.2. Quantification of Expectations Based on Score Function

According to the linguistic scale functionflt=t/2T,t=0,1,2,…,2T and equations (2)–(7), the satisfaction of SDs D1–D6 with service provider P1 can be obtained, as shown in Table 3.Table 3
Satisfaction degree ofD1–D6 with P1.
Satisfaction degreeCostDelivery timeCredibilitySatisfaction degreeCostDelivery timeCredibilityϕ11D⟶P1.1261.1261.001ϕ41D⟶P111.001ϕ21D⟶P11.1260.998ϕ51D⟶P1.1261.1261.098ϕ31D⟶P1.1731.1260.966ϕ61D⟶P101.047Similarly, the satisfaction of SDsD2–D6 with the SPs P1–P9 and the satisfaction of SPs P1–P9 with SDs D1–D6 can be obtained. If the weights of cost, delivery time, and credibility are set to w1D=0.3,w2D=0.3,andw3D=0.4, respectively. The weights of payment time and credibility are set to w1P=0.5,andw2P=0.5, respectively. Then, the satisfaction matrices HD⟶P and HP⟶D can be obtained, as shown in Tables 4 and 5.Table 4
Satisfaction matrixHD⟶P of SDs D1–D6 with SPs P1–P9.
P1P2P3P4P5P6P7P8P9D11.0761.0380.4470.7580.7670.7530.7881.1100.731D21.0370.9990.4090.7460.7560.6820.7221.0610.513D31.0761.0380.7021.0430.7520.7270.7681.1110.721D41.0000.7540.3900.8650.7290.4150.7311.0530.575D51.1151.0770.7020.7910.7951.0391.0951.1461.038D60.7190.7190.1250.4400.4460.3140.6001.0360.110Table 5
Satisfaction matrixHP⟶D of SPs P1–P9 with SDs D1–D6.
D1D2D3D4D5D6P11.0890.8810.8470.2821.0220.650P21.0710.7640.7330.3770.8580.779P31.1020.7720.7560.5040.8921.039P41.0710.8750.8310.2970.9550.737P51.0890.8810.8470.2821.0000.650P61.1581.1221.1071.0081.0911.092P71.1601.1231.1091.0141.0971.093P81.0670.7010.6870.5110.7981.001P91.0010.6790.6280.2480.6780.620


### 4.1.3. Obtaining the Soundest Alternatives

Based on the stable two-sided matching model shown in equation (13) and the proposed AGA, the soundest alternative was obtained.The proposed AGA was programmed in Matlab 2014a. The initial population was set to 100, the maximum generation to 200, the minimum crossover probability to 0.7, the maximum crossover probability to 0.9, the minimum mutation probability to 0.08, and the maximum mutation probability to 0.1. After solution, the ideal optimal values ofZ1 and Z2 were 6.517 and 6.670, respectively. The ideal worst values of Z1 and Z2 were 2.761 and 1.990, respectively. After solution, the best fitness values of every generation are shown in Figure 3.Figure 3
Best fitness value of every generation.When the algorithm converges, the optimal value of fitness functionf1 was 0.837, the optimal value of fitness function f2 was 6, the corresponding optimal solution was λ∗=D1,P2,D2,P1,D3,P4,D4,P7,D5,P6,D6,P8, and the corresponding optimization objectives were Z1=5.924,Z2=5.889,andZ3=6.


## 4.1.1. Expression of Expectations Based on IVHFLSs

First, the SDs and SPs evaluate their expectations and self-conditions. For cost, delivery time, and payment time, which are easy to quantify directly, SDs and SPs can evaluate them with numbers. For credibility, which is difficult to quantify directly, SDs and SPs evaluate it with seven-level linguistic variables:L = {poorest, poorer, poor, general, good, better, best}. Then, the SDs and SPs use intervals to express the membership of linguistic levels. The evaluation results are shown in Tables 1 and 2, respectively. After the discussion of experts, the lower thresholds of cost, delivery time, and payment time are set to 200, 10, and 3, respectively. The overflowing coefficient of satisfaction K = 1.2.Table 1
Evaluation results of satisfaction indexes of SDs.
Expected values (hi,mD)Tolerant values (hi,mT)Payment time (gi,1D)Credibility (gi,2D)D1z14005005<better, {[0.5, 0.7], [0.8, 0.9]}>z23035z3<good, {[0.7, 0.8]}><general, {[0.5, 0.6]}>D2z13005008<better, {[0.7, 0.9]}>z23035z3<good, {[0.7, 0.9]}><general, {[0.5, 0.6]}>D3z15006008<better, {[0.7, 0.8]}>z23035z3<better, {[0.6, 0.7]}><general, {[0.5, 0.6]}>D4z150060010<good, {[0.6, 0.8]}>z22030z3<good, {[0.7, 0.8] }><general, {[0.5, 0.6]}>D5z14005007<better, {[0.5, 0.6], [0.7, 0.8]}>z23040z3<good, {[0.4, 0.5]}><general, {[0.5, 0.6]}>D6z13005005<good, {[0.3, 0.6], [0.7, 0.9]}>z21520z3<better, {[0.4, 0.6]}><general, {[0.5, 0.7], [0.8, 0.9]}>Table 2
Evaluation results of satisfaction indexes of SPs.
Expected values (hj,nP)Tolerant values (hj,nT)Income (gj,1P)Delivery time (gj,2P)Credibility (gj,3P)P1z1′71030020<good, {[0.7, 0.9]}>z2′<good, {[0.7, 0.9]}><general, {[0.6, 0.8]}>P2z1′61030030<good, {[0.7, 0.8], [0.8, 0.9]}>z2′<better, {[0.4, 0.6], [0.7, 0.8]}><general, {[0.5, 0.6]}>P3z1′61050030<general, {[0.6, 0.8], [0.8, 0.9]}>z2′<better, {[0.4, 0.5], [0.5, 0.7]}><general, {[0.5, 0.6]}>P4z1′71050020<better, {[0.6, 0.7], [0.7, 0.8}>z2′<good, {[0.8, 0.9]}><general, {[0.5, 0.6]}>P5z1′71060020<best, {[0.5, 0.6], [0.6, 0.7]}>z2′<good, {[0.7, 0.8], [0.8, 0.9]}><general, {[0.6, 0.8]}>P6z1′101530030<better, {[0.4, 0.5]}>z2′<general, {[0.7, 0.8]}><general, {[0.2, 0.4]}>P7z1′101530015<good, {[0.5, 0.6]}>z2′<general, {[0.6, 0.7], [0.7, 0.8]}><general, {[0.3, 0.4]}>P8z1′51030015<best, {[0, 4, 0.6], [0.6, 0.7]}>z2′<general, {[0.5, 0.7], [0.8, 0.9]}><general, {[0.3, 0.4]}>P9z1′51040020<good, {[0.5, 0.6]}>z2′<better {[0.6, 0.7], [0.7, 0.8]}><good, {[0.4, 0.5]}


## 4.1.2. Quantification of Expectations Based on Score Function

According to the linguistic scale functionflt=t/2T,t=0,1,2,…,2T and equations (2)–(7), the satisfaction of SDs D1–D6 with service provider P1 can be obtained, as shown in Table 3.Table 3
Satisfaction degree ofD1–D6 with P1.
Satisfaction degreeCostDelivery timeCredibilitySatisfaction degreeCostDelivery timeCredibilityϕ11D⟶P1.1261.1261.001ϕ41D⟶P111.001ϕ21D⟶P11.1260.998ϕ51D⟶P1.1261.1261.098ϕ31D⟶P1.1731.1260.966ϕ61D⟶P101.047Similarly, the satisfaction of SDsD2–D6 with the SPs P1–P9 and the satisfaction of SPs P1–P9 with SDs D1–D6 can be obtained. If the weights of cost, delivery time, and credibility are set to w1D=0.3,w2D=0.3,andw3D=0.4, respectively. The weights of payment time and credibility are set to w1P=0.5,andw2P=0.5, respectively. Then, the satisfaction matrices HD⟶P and HP⟶D can be obtained, as shown in Tables 4 and 5.Table 4
Satisfaction matrixHD⟶P of SDs D1–D6 with SPs P1–P9.
P1P2P3P4P5P6P7P8P9D11.0761.0380.4470.7580.7670.7530.7881.1100.731D21.0370.9990.4090.7460.7560.6820.7221.0610.513D31.0761.0380.7021.0430.7520.7270.7681.1110.721D41.0000.7540.3900.8650.7290.4150.7311.0530.575D51.1151.0770.7020.7910.7951.0391.0951.1461.038D60.7190.7190.1250.4400.4460.3140.6001.0360.110Table 5
Satisfaction matrixHP⟶D of SPs P1–P9 with SDs D1–D6.
D1D2D3D4D5D6P11.0890.8810.8470.2821.0220.650P21.0710.7640.7330.3770.8580.779P31.1020.7720.7560.5040.8921.039P41.0710.8750.8310.2970.9550.737P51.0890.8810.8470.2821.0000.650P61.1581.1221.1071.0081.0911.092P71.1601.1231.1091.0141.0971.093P81.0670.7010.6870.5110.7981.001P91.0010.6790.6280.2480.6780.620


## 4.1.3. Obtaining the Soundest Alternatives

Based on the stable two-sided matching model shown in equation (13) and the proposed AGA, the soundest alternative was obtained.The proposed AGA was programmed in Matlab 2014a. The initial population was set to 100, the maximum generation to 200, the minimum crossover probability to 0.7, the maximum crossover probability to 0.9, the minimum mutation probability to 0.08, and the maximum mutation probability to 0.1. After solution, the ideal optimal values ofZ1 and Z2 were 6.517 and 6.670, respectively. The ideal worst values of Z1 and Z2 were 2.761 and 1.990, respectively. After solution, the best fitness values of every generation are shown in Figure 3.Figure 3
Best fitness value of every generation.When the algorithm converges, the optimal value of fitness functionf1 was 0.837, the optimal value of fitness function f2 was 6, the corresponding optimal solution was λ∗=D1,P2,D2,P1,D3,P4,D4,P7,D5,P6,D6,P8, and the corresponding optimization objectives were Z1=5.924,Z2=5.889,andZ3=6.


## 4.2. Comparisons and Discussion

To further verify the superiority, the proposed two-sided matching model was compared with the traditional matching model proposed by Li et al. [15], which takes the values of satisfaction indexes as optimization objectives. Let hi,j,m represent the satisfaction expression of the service demander published task Di on service Pj for index zm based on IVHFLSs, hj,i,n indicate the satisfaction expression of the service provider published service Pj on task Di for index zn′ based on IVHFLSs, shi,j,m and shj,i,n mean the score of hi,j,m and hj,i,n, respectively. Hence, the satisfaction optimization goal of SDs based on the thought proposed by Li et al. [15] can be expressed as maxZ1=∑i=1I∑j=1Jwmshi,j,myij. In a similar way, the satisfaction optimization goal of SPs can be expressed as maxZ2=∑i=1I∑j=1Jwnshj,i,nyij. The function of optimal matching numbers can be expressed as maxZ3=∑i=1I∑j=1Jyij. Combining the constraints in Li et al. [15], the compared matching model is described as follows:(18)maxZ1=∑i=1I∑j=1Jwmshi,j,myij,maxZ2=∑i=1I∑j=1Jwnshj,i,nyij,maxZ3=∑i=1I∑j=1Jyij,∑i=1myij=1,∑j=1nyij≤1,yij+∑f:wmshi,f,m<wmshi,j,myif+∑b:wnshj,b,n<wnshj,i,nybj≥1,yij∈0,1,i∈I,j∈J.Then, the proposed AGA was programmed to solve the matching model proposed by Li et al. [15]. The parameters here are set same as the parameters used when solving the matching model proposed by this article. After solving, the optimal solution was λ∗′=D1,P1,D2,P2,D3,P4,D4,P7,D5,P6,D6,P8. The corresponding optimization results were Z1=5.924,Z2=5.790,Z3=6. Specifically, the satisfaction of SDs on SPs in the matching scheme is ϕ11D⟶P=1.076, ϕ22D⟶P=0.999, ϕ34D⟶P=1.043, ϕ47D⟶P=0.731, ϕ56D⟶P=1.039, ϕ68D⟶P=1.036 and the satisfaction of SPs on SDs in the matching scheme is ϕ11P⟶D=1.089, ϕ22P⟶D=0.764, ϕ34P⟶D=0.831, ϕ47P⟶D=1.014, ϕ56P⟶D=1.091, ϕ68P⟶D=1.001.As shown in Figure4, the satisfaction of SDs optimized by this article is equal to the satisfaction of SDs optimized by Li et al. [15]. However, the satisfaction of SPs optimized by this article is increased 0.099 than the satisfaction of SPs optimized by Li et al. [15]. This indicates that the matching model proposed by this article is superior to the traditional model proposed by Li et al. [15].Figure 4
Comparison of different methods.Overall, satisfaction of SDs and SPs is an important property for improving the competitiveness of CMfg platforms. Although the two-sided matching problem of CMfg tasks and service has been studied in some articles, they took satisfaction indexes or expectations as the optimization goals of the matching model. Whereas, satisfaction is not linear with expectations. In fact, there is a limit to satisfaction, the bigger the satisfaction index, the higher the satisfaction is not necessarily in a range. In this article, the nonlinear model of satisfaction and expectations is built first. The satisfaction of SDs and SPs is taken as the optimization objectives of the two-sided matching model of CMfg tasks and service, thus making the optimization of satisfaction more effective.Second, stability is necessary to consider when building the two-sided matching model, or else SDs and SPs may give up the current matching results [15]. In this article, stable matching conditions are considered when establishing the matching model, which not only can maximize satisfaction degrees of SDs and SPs but also can derive the stable matching results.Third, IVHFLSs are introduced to SDs and SPs to express their expectations, tolerant values, and so on, which effectively describe the uncertainty, hesitancy, and inconsistency inherent in the decision-making process.Therefore, the proposed matching model enriches the matching studies of CMfg tasks and service. However, the article also has some limitations. First, it cannot be used to deal with the conditions when some complex linguistic expressions are needed, such as multigranular unbalanced linguistic expression [29]. Second, it is assumed that the weight of satisfaction indexes is given by crisp numbers in advance. However, sometimes SDs and SPs may tend to provide criteria weight information with linguistic expressions, like “satisfaction index A is more important than in index B.”


## 5. Conclusions

The matching of CMfg tasks and service is an essential issue in the field of CMfg. Improving the satisfaction of SDs and SPs is significant to enhance the competitiveness of CMfg platforms. A nonlinear model of satisfaction and expectations and a stable two-sided matching model of CMfg tasks and service are proposed in this article. The proposed nonlinear model achieves the accurate quantification of satisfaction. The proposed two-sided matching model not only takes the satisfaction of SDs and SPs as the optimization objectives, but also considers the rationality of SDs and SPs and blocking pairs in the matching schemes, thereby improving the effectiveness.In the future research, the following studies can be further conducted:(1)
For the matching of CMfg tasks and service, due to different cultural and knowledge backgrounds of SDs and SPs, complex linguistic expressions like multigranular unbalanced linguistic expression may be needed. Therefore, it is necessary to develop new models with complex linguistic expressions.(2)
In the proposed matching model, the weight of satisfaction indexes are given by SDs and SPs with crisp numbers. However, sometimes SDs and SPs may tend to provide criteria weight information with linguistic expressions in the real-world applications. Hence, how to deal with the weights of satisfaction indexes with linguistic expressions needs further study.



---

*Source: 6735210-2021-10-07.xml*