# Multiattribute Access Selection Algorithm Supporting Service Characteristics and User Preferences in Heterogeneous Wireless Networks

Authors: Xiaoxue Guo; Mohd. Hasbullah Omar; Khuzairi Mohd Zaini
Journal: Wireless Communications and Mobile Computing
 (2020)

---

## Abstract

In heterogeneous wireless networks (HWNs), various wireless networks have signal ranges that overlap and cover each other. Enabling mobile users to access the most suitable network is one of the research topics on HWNs. This paper designs a multiattribute access selection algorithm supporting service characteristics and user preferences in HWNs, which includes five calculation modules: network attribute utility value, network attribute weight, network attribute score, user preference value, and candidate network comprehensive score. In addition, the algorithm proposed in this paper integrates the utility theory, fuzzy analysis hierarchy process (FAHP), fuzzy logic, and multiattribute decision-making (MADM) methods for a complete access selection scheme that considers different network performances, service characteristics, and user preferences. The simulation results show that the algorithm proposed in this paper can allow users to select the most suitable network while obtaining higher gains and reducing user handover between different networks.


---

## Body

## 1. Introduction

With the continuous development of wireless communication technology, various wireless communication networks (e.g., mobile cellular network, wireless local area network (WLAN), wireless metropolitan area network (WMAN), and satellite communication network) are providing users with wireless connection services [1]. The mobile cellular network has a wide range of signal coverage and good mobility support, which evolves from 1G to 5G [2]. WLAN based on the IEEE802.11 series is more flexible than traditional wired local area networks (LANs) and has been widely used [3]. The IEEE802.16 series-based world interoperability for microwave access (WiMAX) provides a wide range of signal coverage while using technologies such as multi-input multioutput (MIMO) and orthogonal frequency division multiplexing (OFDM) to improve data transmission rates [4].The wireless communication systems with overlapped signal coverage, which is composed of wireless networks with different architectures, such as mobile cellular network, WLAN, and wireless metropolitan area network, are called heterogeneous wireless networks (HWNs) [5]. In an HWN, mobile users can simultaneously receive signals from different wireless networks. Due to the differences in wireless network performance and user service characteristics, users need to select the most suitable network from a number of candidate networks. Access selection, therefore, becomes one of the key technologies in HWNs [6].The access selection process can be divided into three stages: network discovery, network selection decision, and access execution [7, 8]. At the first stage, mobile users need to measure the performance parameters of each wireless network within their available signal range. At the second stage, mobile users make network selection decisions based on various factors and access selection algorithms. The third stage is to assist users to connect to the network according to the communication protocol steps of the wireless network based on the decision made at the second stage. The second stage (i.e., network selection decision) plays a crucial role among these three stages, which is related to meeting the needs of users, coordinating the utilization of network resources, and achieving the best network performance [9, 10]. The research below is related to the second stage of access selection.Many decision parameters affect the design of the access selection algorithm [11, 12] (e.g., received signal strength (RSS), network load, bandwidth, delay, jitter, packet loss ratio, energy consumption, and price). Some literature uses a single decision parameter for the algorithm design, while others use multiple decision parameters for the algorithm design. Moreover, the mathematical models adopted by various algorithms vary. This mainly includes multiattribute decision-making (MADM) [13–15] utility theory [16, 17], fuzzy logic [18–20], game theory [21–23], optimization calculation [24, 25], and neural networks [26–28].Traditional access selection algorithms usually select the network with the best comprehensive performance among all candidate networks. As user services become more and more diversified, however, different services have different requirements and characteristics [29, 30]. In addition, different users also have different preferences [31–33]. Therefore, designing an access selection algorithm that considers the network, service, and user levels becomes the motivation of this paper to carry out the research.The multiattribute access selection algorithm in this paper is designed to support service characteristics and user preferences in HWNs, which includes five modules: network attribute utility value calculation, network attribute weight calculation, network attribute score calculation, user preference value calculation, and candidate network comprehensive score calculation. The specific steps of the algorithm are as follows.First, divide user services into different types, analyze the characteristics of each type, and use the utility function to calculate the utility value of each network attribute for each type.Second, use the fuzzy analysis hierarchy process (FAHP) to calculate the weights of network attributes based on which the fuzzy inference rules are generated.Third, according to the utility values and weights of network attributes, calculate the scores of network attributes using the fuzzy logic theory.Fourth, use the FAHP to calculate the user preference value.Fifth, rank candidate networks based on the scores of network attributes and the user preference values and by calculating the comprehensive scores of candidate networks using the MADM method. This enables users to select the network with the highest score.The main contributions and features of this paper are as follows:(i)
When designing the access selection algorithm, this paper integrates the utility theory, FAHP, fuzzy logic theory, and MADM. To the best of the authors’ knowledge, no other works use an access selection algorithm that integrates the above methods at the same time as outlined here(ii)
The algorithm proposed in this paper takes into account the performance differences of candidate networks, the characteristics of different services, different user preferences, and other factors and provides a complete access selection solution that considers network, service, and user levels(iii)
The proposed algorithm enables users to select the most suitable network, increases the users’ gains, and reduces unnecessary handovers between different networksThe rest of this paper is organized as follows. Section2 reviews the research work related to this article. Section 3 provides detailed calculation steps of the algorithm. In addition, Section 4 configures simulation environment parameters and discusses the experimental results. Furthermore, Section 5 summarizes the article and introduces further research.


## 2. Related Works

In the design of this access selection algorithm, different mathematical models (e.g., utility theory, MADM, fuzzy logic, and neural network) will be used, and each mathematical model has its own characteristics [9, 34]. The following mainly analyzes literature that integrates multiple mathematical models to design access selection algorithms.Goyal et al. [35] proposed an HWN access selection algorithm based on the FAHP. Triangular fuzzy numbers (TFNs) are used to represent the elements in the comparison matrices for voice, video, and best-effort applications, and a nonlinear fuzzy optimization model is proposed to calculate weights from fuzzy comparison matrices. In addition, utility functions are used to calculate the utility values of decision parameters, such as bandwidth, delay, jitter, bit error rate (BER), and cost. Finally, the score of each candidate network is calculated by simple additive weighting (SAW), the technique for order of preference by similarity to ideal solution (TOPSIS), and multiplicative exponential weighting (MEW). Although the algorithm proposed in the literature takes into account the service characteristics, it does not consider user preferences for different candidate networks.Habbal et al. [36] proposed a context-aware multiattribute access selection algorithm, which first uses the analytical hierarchy process (AHP) to calculate the weights of decision parameters and then uses the TOPSIS to select the best network based on context-aware technology. The algorithm can solve the problem of abnormal ranking of candidate networks, but it does not consider the service characteristics of different users.Liang and Yu [37] divided user services into different types and calculated the utility value of each network attribute (e.g., bandwidth, delay, and jitter) by using utility functions according to the characteristics of different services. Then, the entropy method and the FAHP are used to calculate the objective weight and subjective weight of network attributes, respectively. In addition, the FAHP is used to calculate the preference value of users to candidate networks. Finally, the MADM method is used to calculate the score of each candidate network. While this algorithm can reduce the number of handovers between networks, it cannot adjust the scores of candidate networks based on user preferences.Yan et al. [38] put forward a dynamic imprecise-aware network selection algorithm in the HWN scenario of a high-speed railway. The algorithm calculates the user’s quality of service (QoS) requirements through utility functions, the imprecise statuses are inferred by fuzzy rules, and finally, a network is selected by the status monitoring module. While this algorithm can select an appropriate network according to the performance parameters of the wireless network and the characteristics of different services, it does not consider user preferences.Ahuja et al. [18] used metrics (such as RSS, available bit rate, signal-to-noise ratio, throughput, and BER) to form a cost function, a particle swarm optimization (PSO) algorithm to optimize the weight of such metrics, and a fuzzy logic system to calculate the candidate network score. While the algorithm reduces the number of user handovers between networks, it does not take into account the characteristics of different services and the user preferences.Khan et al. [7] first calculated the appropriate place for initiating handover based on the estimated signal coverage area of the wireless network, then designed the access selection algorithm by using decision parameters (such as delay, jitter, BER, packet loss, communication cost, response time, and network load) and used the fuzzy logic system to eliminate the inappropriate candidate networks, and finally selected the optimal network based on the TOPSIS method. While this algorithm reduces the handover delay, it does not consider the characteristics of different services.Liang et al. [26] used the RSS, network load, and user rate requirement as decision parameters and calculated the score and bandwidth allocation value of each candidate network through a five-layer fuzzy neural network in an HWN where WiMAX, LTE, and WLAN coexist. While the algorithm can modify fuzzy rules according to user preferences and adjust the resource utilization rate of different networks, the increase in the number of candidate networks and decision parameters, however, may lead to a sharp increase in the number of fuzzy rules and increase the time delay in access selection.At present, although other literature uses the utility theory, MADM, fuzzy logic, and various methods to design access selection algorithms for HWNs, it often only considers the factors in respect of network performance and does not comprehensively consider the design of access selection algorithms from the viewpoint of the network, service, and user [11]; thus, users cannot be connected to the most suitable network.In this paper, a multiattribute access selection algorithm is designed to support service characteristics and user preferences in an HWN, including multiple wireless networks. The algorithm integrates the utility theory, FAHP, fuzzy logic, and MADM methods for the design of the access selection algorithm. The algorithm calculates the utility value of the network attribute, the weight of network attribute, the user preference value, the score of the network attribute, and the comprehensive score of candidate network, thereby providing a complete access selection solution from the viewpoint of the network, service, and user to ensure users access the most appropriate network.


## 3. Algorithm Model

### 3.1. Algorithm Framework Design

In this paper, an HWN will be formed with overlapping signal ranges using four wireless networks: UMTS, LTE, WLAN, and WiMAX. It is assumed that mobile users travel in a random direction and can receive signals from all wireless networks and network attribute values (i.e., bandwidth, delay, jitter, packet loss ratio, and price) within the mobile range of the user. It is further assumed that the user terminal device has a multimode interface and can choose to access any one of the above four wireless networks. Finally, according to 3GPP’s standards, the paper divides the user services into four classes (i.e., conversational class, streaming class, interactive class, and background class) [15]. The HWN access selection scenario in this paper is shown (Figure 1).Figure 1
Access selection scenario for heterogeneous wireless networks.The access selection algorithm designed in this paper mainly includes five functional calculation modules, namely, network attribute utility value, network attribute weight, user preference value, network attribute score, and candidate network comprehensive score, respectively. The algorithm framework is shown (Figure2). The main functions of each module are described below:(i)
Since the measurement ranges of network attributes are different (e.g., the bandwidth usually ranges from 0 Mbps to 100 Mbps, and the delay usually ranges from 20 ms to 200 ms), the main function of the module for network attribute utility value calculation is to convert the actual values of attributes in different measurement ranges into normalized values between [0] and [1] according to different service characteristics(ii)
The main function of the network attribute weight calculation module is to calculate the weight of each network attribute in different service types. The greater the weight, the more important the network attribute is to the service, and vice versa. The value range of the weight is [0-1], and the sum of weights of the five network attributes is 1(iii)
The main function of the module for network attribute score calculation is to calculate the network attribute score of each candidate network according to the utility value and weight of each network attribute(iv)
Since different users have different preferences for different networks, the main function of the calculation module for user preference value is to calculate the user preference value for each candidate network. The value range is [0-1]. The higher the value, the more preferred the user is to the network and vice versa(v)
The main function of the module for candidate network comprehensive score calculation is to synthesize the comprehensive scores of the candidate networks according to the network attribute scores and user preference valuesFigure 2
Access selection algorithm framework.


### 3.2. Calculation of Utility Values of Network Attributes

Due to different service characteristics, the same network attribute value will have different levels of satisfaction for different services (e.g., the satisfaction for users of the voice service may be high for a bandwidth of 2 Mbps, but the satisfaction for users of the data service may be very low for the same bandwidth of 2 Mbps). The utility theory can therefore be used to measure users’ satisfaction with network attribute values, and different utility functions can be used to convert users’ satisfaction into utility values for quantification in the design of the access selection algorithm [39]. Generally speaking, the utility value of the highest user satisfaction is 1, while the utility value of the least user satisfaction is 0, so the utility value range is [0-1].Assuming that the actual value of a network attribute isxi, for benefit attributes (e.g., RSS, bandwidth, and capacity), the greater the actual value, the higher the satisfaction of users, and the utility value can be expressed as uxi. For cost-based attributes (e.g., delay, packet loss ratio, price, and energy consumption), the lower the actual value, the higher the user’s satisfaction, and the utility value can be expressed as 1−uxi.Commonly used utility functions include linear function, logarithmic function, exponential function, linear piecewise function, and sigmoid function [34]. The definitions of these functions are shown (Table 1). In the table, x represents the actual value of network attribute, and a, b, c, d, and e are the adjustment parameter values of utility function curves. In addition, the curve shapes of various utility functions are shown (Figure 3).Table 1
Definition of utility function.
Utility formMathematical formulaLinearux=ax+bLogarithmux=a+blogcdx+eExponentialux=a+becx+dLinear piecewiseux=1,x<a,a−xb−a,a≤x<b,0,otherwiseSigmoid-1ux=1−x/abc+x/abSigmoid-2ux=11+eab−xFigure 3
Curve shape of utility function.


### 3.3. Calculation of Weights of Network Attributes

The analytic hierarchy process (AHP) is a systematic and hierarchical analysis method that combines qualitative analysis and quantitative analysis; however, it faces obvious disadvantages. Its measurement scaling method is a deterministic method that does not account for the fuzziness of human thought of evaluation personnel, thereby influencing the accuracy of the evaluation results. The fuzzy analytic hierarchy process (FAHP) is a theoretical method that combines the fuzzy logic theory with traditional analytic hierarchy process and fully considers the fuzziness of human thought [40]. At present, the FAHP is divided into two categories: one is the FAHP based on fuzzy numbers, and the other is the FAHP based on a fuzzy consistent matrix.As TFNs can better reflect evaluation personnel’s understanding of the important relationship between attributes, this paper chooses the FAHP based on TFNs to express the elements in the judgment matrix as TFNs and, on this basis, calculates the weights of each network attribute under different services. The specific calculation steps are as follows.Step 1 (build a hierarchy model).
First, analyze the relationship between various influencing factors in access selection and establish a three-layer model, namely, the target layer, criterion layer, and scheme layer. Within this model, the target layer serves as the optimal network, the criterion layer comprises network attributes (i.e., bandwidth, delay, jitter, packet loss ratio, and price), and the scheme layer covers all candidate networks (i.e., UMTS, LTE, WLAN, and WiMAX) (Figure4).Step 2 (build a judgment matrix with TFNs).
This paper considers four different services, each of which has different characteristics. Different network attributes, therefore, have different degrees of importance to different services. For example, the conversational service is real time, and the typical application of this service class is voice application. As high delay and jitter will make voice calls impossible, this service class has high requirements for delay and jitter. In addition, this service class can operate well only with low bandwidth, thus having less requirements for bandwidth. The typical applications of streaming class are video on demand and live broadcasts delivered online. This service class requires higher throughput and lower price. Moreover, while the streaming class requires certain real-time guarantee, it is not as strict as the conversational service. This can maintain service continuity by setting cache, thus allowing certain packet loss ratio. The typical application of the interactive class is web browsing, which requires data interaction between the client and the server. This class requires stable jitter and a low packet loss ratio, as well as low price and bandwidth. The typical applications of the background class include e-mail or background file downloads. As such services need to run for a long time, they have higher requirements for price and bandwidth but lower requirements for delay and jitter.
This paper uses the FAHP based on TFNs to calculate the weight of network attributes and uses TFNsl,m,u to represent the elements in the judgment matrix, where l is the lower bound value, m is the median value, and u is the upper bound value. The median value represents the most likely importance relationship between two attributes, while the upper bound value and the lower bound value represent the range of the relative importance relationship between two attributes. This paper also determines the median value according to fuzzy scales (Table 2). In building the judgment matrix with TFNs, the median value of the TFNs is first determined according to the characteristics of service, followed by the upper bound value and the lower bound value, so as to determine the relative importance between two attributes. For example, the element in row 2 and column 1 (Table 3) indicates that the attribute delay is more important than the bandwidth (i.e., the median value is 0.8), and the importance degree ranges from 0.7 to 0.9 in the conversational service. The comparison results of importance of network attributes under different services are shown (Tables 3–6).Step 3 (calculate network attribute weights).
In Step 2, a complementary judgment matrix (CJM) with TFNs is obtained by comparing the importance of attributes in pairs. In this step, the weights of network attributes are calculated using the following method with reference to literature [41].
First, let the CJM with TFNs beA, and the element in matrix A be aij, where aij=lij,mij,uij, and i and j represent the row number and the column number of aij in the matrix, respectively. The comprehensive fuzzy value Mik (i.e., initial weight) of the criterion i in layer k is calculated using formula (1). In formula (1), n represents the number of network attributes, which is required to determine the weight. In this paper, n=5.(1)Mik=∑j=1naijk∑i=1n∑j=1naijk,i,j=1,2,⋯,n.
Then, the final weights of network attributes are obtained according to the comparison principle of fuzzy numbers. In order to explain the comparison principle of fuzzy numbers, assuming thatM1l1,m1,u1 and M2l2,m2,u2 are TFNs, then the possibility degree of M1≥M2 is defined as(2)PM1≥M2=1,m1≥m2,l2−u1m1−u1−m2−l2,m1<m2,u1≥l2,0,otherwise.
In addition, the possibility degree that one fuzzy number is greater than otherm fuzzy numbers is defined as(3)dM≥M1,M2,⋯,Mm=minPM≥Mi,i=1,2,⋯,m.
Finally, the values obtained above are normalized using formula (4) to obtain the final weight of each attribute.(4)Weighti=di∑i=1ndi.
Based on the judgment matrix with TFNs built in Step 2 and the calculation method adopted in Step 3, the weight values of network attributes are shown (Tables3–6).Figure 4
FAHP hierarchy.Table 2
Meaning of importance scale.
ScaleMeaning0.5Both are equally important0.6The former is slightly more important than the latter0.7The former is obviously more important than the latter0.8The former is strongly more important than the latter0.9The former is extremely more important than the latter0.1, 0.2, 0.3, 0.4Ifxi is compared with xj, rij is obtained, and xj is compared with xi with results in rji=1−rij.0.55, 0.65, 0.75…Represent the median value of adjacent gradesTable 3
Triangular fuzzy judgment matrix and network attribute weight for conversational.
ConversationalBandwidthDelayJitterLossPriceWeightBandwidth(0.5, 0.5, 0.5)(0.1, 0.2, 0.3)(0.25, 0.35, 0.45)(0.3, 0.4, 0.5)(0.35, 0.45, 0.55)0.0390Delay(0.7, 0.8, 0.9)(0.5, 0.5, 0.5)(0.55, 0.65, 0.75)(0.6, 0.7, 0.8)(0.65, 0.75, 0.85)0.4238Jitter(0.55, 0.65, 0.75)(0.25, 0.35, 0.45)(0.5, 0.5, 0.5)(0.45, 0.55, 0.65)(0.55, 0.65, 0.75)0.2594Loss(0.5, 0.6, 0.7)(0.2, 0.3, 0.4)(0.35, 0.45, 0.55)(0.5, 0.5, 0.5)(0.5, 0.6, 0.7)0.1946Price(0.45, 0.55, 0.65)(0.15, 0.25, 0.35)(0.25, 0.35, 0.45)(0.3, 0.4, 0.5)(0.5, 0.5, 0.5)0.0833Table 4
Triangular fuzzy judgment matrix and network attribute weight for streaming.
StreamingBandwidthDelayJitterLossPriceWeightBandwidth(0.5, 0.5, 0.5)(0.55, 0.65, 0.75)(0.7, 0.8, 0.9)(0.6, 0.7, 0.8)(0.5, 0.6, 0.7)0.3615Delay(0.25, 0.35, 0.45)(0.5, 0.5, 0.5)(0.55, 0.65, 0.75)(0.45, 0.55, 0.65)(0.35, 0.45, 0.55)0.2061Jitter(0.1, 0.2, 0.3)(0.25, 0.35, 0.45)(0.5, 0.5, 0.5)(0.3, 0.4, 0.5)(0.2, 0.3, 0.4)0.0231Loss(0.2, 0.3, 0.4)(0.35, 0.45, 0.55)(0.5, 0.6, 0.7)(0.5, 0.5, 0.5)(0.3, 0.4, 0.5)0.1486Price(0.3, 0.4, 0.5)(0.45, 0.55, 0.65)(0.6, 0.7, 0.8)(0.5, 0.6, 0.7)(0.5, 0.5, 0.5)0.2607Table 5
Triangular fuzzy judgment matrix and network attribute weight for interactive.
InteractiveBandwidthDelayJitterLossPriceWeightBandwidth(0.5, 0.5, 0.5)(0.35, 0.45, 0.55)(0.15, 0.25, 0.35)(0.25, 0.35, 0.45)(0.55, 0.65, 0.75)0.1394Delay(0.45, 0.55, 0.65)(0.5, 0.5, 0.5)(0.25, 0.35, 0.45)(0.3, 0.4, 0.5)(0.6, 0.7, 0.8)0.2054Jitter(0.65, 0.75, 0.85)(0.55, 0.65, 0.75)(0.5, 0.5, 0.5)(0.45, 0.55, 0.65)(0.65, 0.75, 0.85)0.3439Loss(0.55, 0.65, 0.75)(0.5, 0.6, 0.7)(0.35, 0.45, 0.55)(0.5, 0.5, 0.5)(0.5, 0.6, 0.7)0.2673Price(0.25, 0.35, 0.45)(0.2, 0.3, 0.4)(0.15, 0.25, 0.35)(0.3, 0.4, 0.5)(0.5, 0.5, 0.5)0.0440Table 6
Triangular fuzzy judgment matrix and network attribute weight for background.
BackgroundBandwidthDelayJitterLossPriceWeightBandwidth(0.5, 0.5, 0.5)(0.6, 0.7, 0.8)(0.55, 0.65, 0.75)(0.5, 0.6, 0.7)(0.35, 0.45, 0.55)0.2823Delay(0.2, 0.3, 0.4)(0.5, 0.5, 0.5)(0.35, 0.45, 0.55)(0.3, 0.4, 0.5)(0.2, 0.3, 0.4)0.0860Jitter(0.25, 0.35, 0.45)(0.45, 0.55, 0.65)(0.5, 0.5, 0.5)(0.35, 0.45, 0.55)(0.15, 0.25, 0.35)0.1198Loss(0.3, 0.4, 0.5)(0.5, 0.6, 0.7)(0.45, 0.55, 0.65)(0.5, 0.5, 0.5)(0.25, 0.35, 0.45)0.1842Price(0.45, 0.55, 0.65)(0.6, 0.7, 0.8)(0.65, 0.75, 0.85)(0.55, 0.65, 0.75)(0.5, 0.5, 0.5)0.3277


### 3.4. Calculation of Scores of Network Attributes

The first two sections explained the calculation of the utility values and weights of network attributes, respectively. In this section, the utility values and weights of network attributes are used to calculate the scores of network attributes based on the first two sections. As the fuzzy logic theory is better used to express qualitative knowledge and experience with unclear boundaries and capable of imitating the human brain’s judgment on uncertainties and reasoning, it is suitable for solving uncertain and nonlinear problems. Therefore, the scores of network attributes are calculated based on the fuzzy logic theory in this paper. The calculation process mainly includes four steps: fuzzification, rule base construction, fuzzy reasoning, and defuzzification (Figure5).Step 1 (fuzzification).
Fuzzification is the process of converting the exact value of an input item (i.e., the utility value of a network attribute) into the corresponding fuzzy linguistic variable value. The fuzzy linguistic variable value is a fuzzy set. This paper divides the fuzzy sets into “low,” “medium,” and “high,” which are represented by low (L), medium (M), and high (H), respectively. The fuzzification step realizes the transition from exact values to fuzzy sets. The purpose of fuzzification is to prepare for subsequent fuzzy inference operations. In addition, to convert a determined value of an input item into a fuzzy set, a membership function is required. Commonly used membership functions include the triangular membership function, the bell membership function, the trapezoidal membership function, and the Gaussian membership function. This paper also uses the triangular membership function (Figure 6).Step 2 (construction of fuzzy rule base).
Before fuzzy reasoning, a fuzzy rule base must first be built. In this paper, the form of fuzzy rules is: IF (satisfying a set of conditions) THEN (deducing a conclusion). The precondition of fuzzy rules is the combination of fuzzy sets of each network attribute, and the conclusion of fuzzy rules is the fuzzy set of candidate network scores (for example, IF (bandwidth is medium, delay is high, jitter is low, packet loss ratio is medium, and price is high) THEN (network score is medium)). Since there are four different service classes in this article, four different rule bases are built. Since there are five input linguistic variables (i.e., bandwidth, delay, jitter, packet loss ratio, and price), each input linguistic variable contains three fuzzy sets (i.e., low, medium, and high), each rule corresponds to a combination of fuzzy sets of different input linguistic variables, and each rule base contains35=243 rules. In addition, as different services have different characteristics and each network attribute has different weight values under different services, a fuzzy rule base is built based on the network attribute weights. The specific building method is as follows.Figure 5
Framework for computing network attribute score based on fuzzy logic.Figure 6
Triangular membership function.First, different fuzzy sets and their corresponding scales are defined (Table7).Table 7
Fuzzy sets and their corresponding scales.
Fuzzy setScaleLow (L)1Medium (M)2High (H)3Then, according to formula (5), the scale corresponding to the fuzzy set of each network attribute is multiplied by its weight, and the Sum is obtained.(5)Sum=∑Weightattribute×Scale.Finally, using formula (6), the fuzzy set to which the conclusion of the fuzzy rule belongs is determined by the magnitude of the value of Sum. The values of α and β in formula (6) can be set dynamically. In this paper, since the minimum and maximum values of the variable Sum are 1 and 3, respectively, we divide the range from 1 to 3 into 3 equal parts (i.e., 1 to 1.67, 1.67 to 2.33, and 2.33 to 3), so the values of α and β are set to 1.67 and 2.33, respectively.(6)Conclusion=L,Sum∈1,α,M,Sum∈α,β,H,Sum∈β,3.For example, the weights of bandwidth, delay, jitter, packet loss ratio, and price are 0.0390, 0.4238, 0.2594, 0.1946, and 0.0833, respectively, under the conversational service (Table3). Assuming that the precondition of fuzzy rules is IF (bandwidth is low, delay is low, jitter is medium, loss is high, and price is low), then according to formula (5), the value of Sum is obtained, which is 1.65, then according to formula (6), the conclusion of fuzzy rules is obtained: THEN (score is low). Examples of fuzzy rules under different service classes are shown (Tables 8–11).Step 3 (fuzzy reasoning).
The fuzzy rule in this paper is the one with five inputs and one output. For convenience of explanation, the five input items (i.e., bandwidth, delay, jitter, packet loss ratio, and price) are represented by the letters “b,” “d,” “j,” “l,” and “p,” while the output item (i.e., score) is represented by the letter “s.” The form of rules can be expressed as follows: IFbisBianddisDiandjisJiandlisLiandpisPiTHENsisSi.
The fuzzy implication relationRi of the above rules is defined as(7)Ri=BiandDiandJiandLiandPi⟶Si,namely,(8)μRi=μBibandμDidandμJijandμLilandμPip⟶μSis.
This paper is based on Mamdani’s fuzzy reasoning method, so the fuzzy relation of the above rules is shown in formula (9), in which ∧ is fuzzy AND operation, and the commonly used AND operation is the minimum operation.(9)μBib∧μDid∧μJij∧μLil∧μPip∧μSis.
There are 243 rules in the rule base of each service in this paper, and these fuzzy rules can be written in the form of union in the reasoning process, so the total fuzzy implication relation obtained is(10)R=⋃i=1243Ri.
After obtaining the fuzzy relation contained in the rule base, assuming that there are new inputsB′, D′, J′, L′, and P′, then the output under the new inputs can be obtained according to(11)S′=B′andD′andJ′andL′andP′∘R.Step 4 (defuzzification).
In the above steps, a fuzzy rule base is built and fuzzy sets of conclusions are obtained according to the fuzzy rules. In this step, the fuzzy set of conclusions is transformed into an exact value (i.e., the exact score of network attribute) through defuzzification. Commonly used defuzzification methods include the mean of maximum method (MOM) and the center of area method (COA). The defuzzification method adopted in this article is the COA method, which is shown as follows:(12)Scoreattribute=∑j=1nsj∙μS′sj∑j=1nμS′sj.
In the above formula,n is the number of elements in the domain of discourse, sj is the j single-point fuzzy value in domain of discourse, and μS′sj is the membership degree corresponding to sj.
For example, the fuzzy set of network attribute score we obtained in the previous step is(13)S′=00+0.250.1+0.50.2+0.750.3+10.4+0.750.5+0.50.6+0.250.7+00.8+00.9+01.
Then, according to formula (12), we can get(14)Scoreattribute=0×0+0.1×0.25+0.2×0.5+⋯+1×00+0.25+0.5+0.75+1+0.75+⋯+0.
Finally, by calculating the above formula, we can get that the exact value of the network attribute score is 0.4.Table 8
Example of fuzzy rules for conversational.
IFTHENBandwidthDelayJitterLossPriceScoreLMHHLMLHLLMMLHLHHHMLMLHLMMLMLLMMLHHMMHLMHMHLLLMLHMLLHMHHLMHMTable 9
Example of fuzzy rules for streaming.
IFTHENBandwidthDelayJitterLossPriceScoreLMHHLLLHLLMMLHLHHMMLMLHMMMLMLMMMLHHHMHLMHHHLLLMMHMLLHHHHLMHHTable 10
Example of fuzzy rules for interactive.
IFTHENBandwidthDelayJitterLossPriceScoreLMHHLHLHLLMLLHLHHMMLMLHLMMLMLLMMLHHMMHLMHMHLLLMLHMLLHLHHLMHMTable 11
Example of fuzzy rules for background.
IFTHENBandwidthDelayJitterLossPriceScoreLMHHLMLHLLMLLHLHHMMLMLHMMMLMLLMMLHHHMHLMHMHLLLMMHMLLHMHHLMHH


### 3.5. Calculation of User Preference Value

As users have different preferences for different networks when running different services, user preference values are calculated using the FAHP method in this section in order to quantify the user preference value. According to the FAHP hierarchy (Figure4) constructed in Section 3.3, the ranking of the lowest layer (i.e., candidate network) must be calculated to the highest layer (i.e., optimal network) in the FAHP hierarchy, as to calculate the user preference values for candidate networks. The calculation process is mainly divided into the following three steps.Step 1.
In Section3.3, the weights of network attributes are calculated under different services using the FAHP method and the weights of the middle layer (i.e., network attributes) are ranked to the highest layer (i.e., the optimal network). According to the weight vectors obtained (Tables 3–6), a relation matrix of weights of network attributes is built under different services (Table 12).Step 2.
This step compares the importance of the lowest layer (i.e., candidate networks) to the middle layer (i.e., network attributes) in pairs, constructs a triangular fuzzy judgment matrix, and calculates its weight according to formulas (1)–(4) (Tables 13–17). According to the weight vectors (Tables 13–17), the relationship matrix between different network attributes and candidate networks is constructed (Table 18).Step 3.
Multiply the matrix shown (Table12) obtained in Step 1 by the matrix shown (Table 18) obtained in Step 2 to calculate the importance ranking of the lowest layer (i.e., candidate networks) with respect to the highest layer (i.e., optimal network). The user preference values for candidate networks are shown (Table 19).
For example, if we want to calculate the user preference value for UMTS in the conversational service, then we multiply the elements in the same position of the first row vector of Table12 (i.e., 0.0390, 0.4238, 0.2594, 0.1946, and 0.0833) and the first column vector of Table 18 (i.e., 0.1355, 0.3928, 0.3116, 0.2902, and 0.1618) and accumulate the five products to get the user preference value for UMTS in the conversational service (i.e., the value of the first row and the first column in Table 19 is 0.3225).Table 12
Network attribute weights for different services.
BandwidthDelayJitterLossPriceConversational0.03900.42380.25940.19460.0833Streaming0.36150.20610.02310.14860.2607Interactive0.13940.20540.34390.26730.0440Background0.28230.08600.11980.18420.3277Table 13
Triangular fuzzy judgment matrix and weights of bandwidth attribute.
BandwidthUMTSLTEWLANWiMAXWeightUMTS(0.5, 0.5, 0.5)(0.5, 0.6, 0.7)(0.2, 0.3, 0.4)(0.15, 0.25, 0.35)0.1355LTE(0.3, 0.4, 0.5)(0.5, 0.5, 0.5)(0.45, 0.55, 0.65)(0.25, 0.35, 0.45)0.1878WLAN(0.6, 0.7, 0.8)(0.35, 0.45, 0.55)(0.5, 0.5, 0.5)(0.35, 0.45, 0.55)0.2859WiMAX(0.65, 0.75, 0.85)(0.55, 0.65, 0.75)(0.45, 0.55, 0.65)(0.5, 0.5, 0.5)0.3908Table 14
Triangular fuzzy judgment matrix and weights of delay attribute.
DelayUMTSLTEWLANWiMAXWeightUMTS(0.5, 0.5, 0.5)(0.6, 0.7, 0.8)(0.55, 0.65, 0.75)(0.5, 0.6, 0.7)0.3928LTE(0.2, 0.3, 0.4)(0.5, 0.5, 0.5)(0.5, 0.6, 0.7)(0.3, 0.4, 0.5)0.1887WLAN(0.25, 0.35, 0.45)(0.3, 0.4, 0.5)(0.5, 0.5, 0.5)(0.2, 0.3, 0.4)0.0999WiMAX(0.3, 0.4, 0.5)(0.5, 0.6, 0.7)(0.6, 0.7, 0.8)(0.5, 0.5, 0.5)0.3185Table 15
Triangular fuzzy judgment matrix and weights of jitter attribute.
JitterUMTSLTEWLANWiMAXWeightUMTS(0.5, 0.5, 0.5)(0.3, 0.4, 0.5)(0.5, 0.6, 0.7)(0.55, 0.65, 0.75)0.3116LTE(0.5, 0.6, 0.7)(0.5, 0.5, 0.5)(0.6, 0.7, 0.8)(0.65, 0.75, 0.85)0.4462WLAN(0.3, 0.4, 0.5)(0.2, 0.3, 0.4)(0.5, 0.5, 0.5)(0.45, 0.55, 0.65)0.1618WiMAX(0.25, 0.35, 0.45)(0.15, 0.25, 0.35)(0.35, 0.45, 0.55)(0.5, 0.5, 0.5)0.0804Table 16
Triangular fuzzy judgment matrix and weights of loss attribute.
LossUMTSLTEWLANWiMAXWeightUMTS(0.5, 0.5, 0.5)(0.3, 0.4, 0.5)(0.45, 0.55, 0.65)(0.55, 0.65, 0.75)0.2902LTE(0.5, 0.6, 0.7)(0.5, 0.5, 0.5)(0.55, 0.65, 0.75)(0.65, 0.75, 0.85)0.4177WLAN(0.35, 0.45, 0.55)(0.25, 0.35, 0.45)(0.5, 0.5, 0.5)(0.5, 0.6, 0.7)0.2212WiMAX(0.25, 0.35, 0.45)(0.15, 0.25, 0.35)(0.3, 0.4, 0.5)(0.5, 0.5, 0.5)0.0709Table 17
Triangular fuzzy judgment matrix and weights of price attribute.
PriceUMTSLTEWLANWiMAXWeightUMTS(0.5, 0.5, 0.5)(0.45, 0.55, 0.65)(0.2, 0.3, 0.4)(0.3, 0.4, 0.5)0.1618LTE(0.35, 0.45, 0.55)(0.5, 0.5, 0.5)(0.15, 0.25, 0.35)(0.25, 0.35, 0.45)0.0804WLAN(0.6, 0.7, 0.8)(0.65, 0.75, 0.85)(0.5, 0.5, 0.5)(0.5, 0.6, 0.7)0.4462WiMAX(0.5, 0.6, 0.7)(0.55, 0.65, 0.75)(0.3, 0.4, 0.5)(0.5, 0.5, 0.5)0.3116Table 18
Relationship between candidate networks and network attributes.
UMTSLTEWLANWiMAXBandwidth0.13550.18780.28590.3908Delay0.39280.18870.09990.3185Jitter0.31160.44620.16180.0804Loss0.29020.41770.22120.0709Price0.16180.08040.44620.3116Table 19
User preferences of candidate networks for different services.
UMTSLTEWLANWiMAXConversational0.32250.29100.17570.2108Streaming0.22250.20010.27690.3006Interactive0.29140.33360.19480.1802Background0.21580.22600.29560.2625


### 3.6. Calculation of Comprehensive Scores of Candidate Networks

In the above subsection, the scores of network attributes of each candidate network are obtained under different service classes and the user preference values for each candidate network. In this subsection, the comprehensive scores of each candidate network are synthesized using the MADM method to obtain the comprehensive score ranking of candidate networks based on these two sets of values.The typical MADM method can comprehensively evaluate and rank a group of candidate schemes according to several attributes [33]. The MADM method includes many branches, such as SAW, weighted product method (WPM), AHP, gray relation analysis (GRA), and TOPSIS [13, 14]. In this paper, the TOPSIS method is used to calculate the comprehensive scores of candidate networks according to the network attribute scores and user preference values obtained in the above subsection.When using the TOPSIS method, candidate networks are ranked by calculating the distance from a candidate network to the optimal network and to the worst network. If the candidate network is closest to the optimal network while being farthest from the worst network, the network will have the highest score and vice versa. The optimal network means that the network attribute score and the user preference value are the maximum values among all candidate networks, whereas the worst network means that the network attribute score and the user preference value are the minimum values. The specific steps for calculating the comprehensive scores of candidate networks by using the TOPSIS method are as follows.First, determine the optimal and worst values of network attribute scores and user preference scores among all candidate networks. As shown in formula (15), the optimal value and the worst value are expressed by Vj+ and Vj−, respectively.(15)Vj+=maxsij,Vj−=minsij.In this paper,i=1,2,3,4 in the above formula (i.e., four candidate networks) and j=1,2 (i.e., the network attribute score and the user preference score).Then, calculate the distance from each candidate network to the optimal network and the worst network. In this paper, the distance calculated is the Euclidean distance. As shown in formula (16), the distance from a candidate network to the optimal network is expressed as Di+, and the distance to the worst network is expressed as Di−.(16)Di+=∑j=12sij−Vj+2,Di−=∑j=12sij−Vj−2.Finally, calculate the final comprehensive score of each candidate network by formula (17). In addition, the candidate networks are ranked by comprehensive score, and users choose to access the network with the highest score.(17)Scoreifinal=Di−Di++Di−.


## 3.1. Algorithm Framework Design

In this paper, an HWN will be formed with overlapping signal ranges using four wireless networks: UMTS, LTE, WLAN, and WiMAX. It is assumed that mobile users travel in a random direction and can receive signals from all wireless networks and network attribute values (i.e., bandwidth, delay, jitter, packet loss ratio, and price) within the mobile range of the user. It is further assumed that the user terminal device has a multimode interface and can choose to access any one of the above four wireless networks. Finally, according to 3GPP’s standards, the paper divides the user services into four classes (i.e., conversational class, streaming class, interactive class, and background class) [15]. The HWN access selection scenario in this paper is shown (Figure 1).Figure 1
Access selection scenario for heterogeneous wireless networks.The access selection algorithm designed in this paper mainly includes five functional calculation modules, namely, network attribute utility value, network attribute weight, user preference value, network attribute score, and candidate network comprehensive score, respectively. The algorithm framework is shown (Figure2). The main functions of each module are described below:(i)
Since the measurement ranges of network attributes are different (e.g., the bandwidth usually ranges from 0 Mbps to 100 Mbps, and the delay usually ranges from 20 ms to 200 ms), the main function of the module for network attribute utility value calculation is to convert the actual values of attributes in different measurement ranges into normalized values between [0] and [1] according to different service characteristics(ii)
The main function of the network attribute weight calculation module is to calculate the weight of each network attribute in different service types. The greater the weight, the more important the network attribute is to the service, and vice versa. The value range of the weight is [0-1], and the sum of weights of the five network attributes is 1(iii)
The main function of the module for network attribute score calculation is to calculate the network attribute score of each candidate network according to the utility value and weight of each network attribute(iv)
Since different users have different preferences for different networks, the main function of the calculation module for user preference value is to calculate the user preference value for each candidate network. The value range is [0-1]. The higher the value, the more preferred the user is to the network and vice versa(v)
The main function of the module for candidate network comprehensive score calculation is to synthesize the comprehensive scores of the candidate networks according to the network attribute scores and user preference valuesFigure 2
Access selection algorithm framework.


## 3.2. Calculation of Utility Values of Network Attributes

Due to different service characteristics, the same network attribute value will have different levels of satisfaction for different services (e.g., the satisfaction for users of the voice service may be high for a bandwidth of 2 Mbps, but the satisfaction for users of the data service may be very low for the same bandwidth of 2 Mbps). The utility theory can therefore be used to measure users’ satisfaction with network attribute values, and different utility functions can be used to convert users’ satisfaction into utility values for quantification in the design of the access selection algorithm [39]. Generally speaking, the utility value of the highest user satisfaction is 1, while the utility value of the least user satisfaction is 0, so the utility value range is [0-1].Assuming that the actual value of a network attribute isxi, for benefit attributes (e.g., RSS, bandwidth, and capacity), the greater the actual value, the higher the satisfaction of users, and the utility value can be expressed as uxi. For cost-based attributes (e.g., delay, packet loss ratio, price, and energy consumption), the lower the actual value, the higher the user’s satisfaction, and the utility value can be expressed as 1−uxi.Commonly used utility functions include linear function, logarithmic function, exponential function, linear piecewise function, and sigmoid function [34]. The definitions of these functions are shown (Table 1). In the table, x represents the actual value of network attribute, and a, b, c, d, and e are the adjustment parameter values of utility function curves. In addition, the curve shapes of various utility functions are shown (Figure 3).Table 1
Definition of utility function.
Utility formMathematical formulaLinearux=ax+bLogarithmux=a+blogcdx+eExponentialux=a+becx+dLinear piecewiseux=1,x<a,a−xb−a,a≤x<b,0,otherwiseSigmoid-1ux=1−x/abc+x/abSigmoid-2ux=11+eab−xFigure 3
Curve shape of utility function.


## 3.3. Calculation of Weights of Network Attributes

The analytic hierarchy process (AHP) is a systematic and hierarchical analysis method that combines qualitative analysis and quantitative analysis; however, it faces obvious disadvantages. Its measurement scaling method is a deterministic method that does not account for the fuzziness of human thought of evaluation personnel, thereby influencing the accuracy of the evaluation results. The fuzzy analytic hierarchy process (FAHP) is a theoretical method that combines the fuzzy logic theory with traditional analytic hierarchy process and fully considers the fuzziness of human thought [40]. At present, the FAHP is divided into two categories: one is the FAHP based on fuzzy numbers, and the other is the FAHP based on a fuzzy consistent matrix.As TFNs can better reflect evaluation personnel’s understanding of the important relationship between attributes, this paper chooses the FAHP based on TFNs to express the elements in the judgment matrix as TFNs and, on this basis, calculates the weights of each network attribute under different services. The specific calculation steps are as follows.Step 1 (build a hierarchy model).
First, analyze the relationship between various influencing factors in access selection and establish a three-layer model, namely, the target layer, criterion layer, and scheme layer. Within this model, the target layer serves as the optimal network, the criterion layer comprises network attributes (i.e., bandwidth, delay, jitter, packet loss ratio, and price), and the scheme layer covers all candidate networks (i.e., UMTS, LTE, WLAN, and WiMAX) (Figure4).Step 2 (build a judgment matrix with TFNs).
This paper considers four different services, each of which has different characteristics. Different network attributes, therefore, have different degrees of importance to different services. For example, the conversational service is real time, and the typical application of this service class is voice application. As high delay and jitter will make voice calls impossible, this service class has high requirements for delay and jitter. In addition, this service class can operate well only with low bandwidth, thus having less requirements for bandwidth. The typical applications of streaming class are video on demand and live broadcasts delivered online. This service class requires higher throughput and lower price. Moreover, while the streaming class requires certain real-time guarantee, it is not as strict as the conversational service. This can maintain service continuity by setting cache, thus allowing certain packet loss ratio. The typical application of the interactive class is web browsing, which requires data interaction between the client and the server. This class requires stable jitter and a low packet loss ratio, as well as low price and bandwidth. The typical applications of the background class include e-mail or background file downloads. As such services need to run for a long time, they have higher requirements for price and bandwidth but lower requirements for delay and jitter.
This paper uses the FAHP based on TFNs to calculate the weight of network attributes and uses TFNsl,m,u to represent the elements in the judgment matrix, where l is the lower bound value, m is the median value, and u is the upper bound value. The median value represents the most likely importance relationship between two attributes, while the upper bound value and the lower bound value represent the range of the relative importance relationship between two attributes. This paper also determines the median value according to fuzzy scales (Table 2). In building the judgment matrix with TFNs, the median value of the TFNs is first determined according to the characteristics of service, followed by the upper bound value and the lower bound value, so as to determine the relative importance between two attributes. For example, the element in row 2 and column 1 (Table 3) indicates that the attribute delay is more important than the bandwidth (i.e., the median value is 0.8), and the importance degree ranges from 0.7 to 0.9 in the conversational service. The comparison results of importance of network attributes under different services are shown (Tables 3–6).Step 3 (calculate network attribute weights).
In Step 2, a complementary judgment matrix (CJM) with TFNs is obtained by comparing the importance of attributes in pairs. In this step, the weights of network attributes are calculated using the following method with reference to literature [41].
First, let the CJM with TFNs beA, and the element in matrix A be aij, where aij=lij,mij,uij, and i and j represent the row number and the column number of aij in the matrix, respectively. The comprehensive fuzzy value Mik (i.e., initial weight) of the criterion i in layer k is calculated using formula (1). In formula (1), n represents the number of network attributes, which is required to determine the weight. In this paper, n=5.(1)Mik=∑j=1naijk∑i=1n∑j=1naijk,i,j=1,2,⋯,n.
Then, the final weights of network attributes are obtained according to the comparison principle of fuzzy numbers. In order to explain the comparison principle of fuzzy numbers, assuming thatM1l1,m1,u1 and M2l2,m2,u2 are TFNs, then the possibility degree of M1≥M2 is defined as(2)PM1≥M2=1,m1≥m2,l2−u1m1−u1−m2−l2,m1<m2,u1≥l2,0,otherwise.
In addition, the possibility degree that one fuzzy number is greater than otherm fuzzy numbers is defined as(3)dM≥M1,M2,⋯,Mm=minPM≥Mi,i=1,2,⋯,m.
Finally, the values obtained above are normalized using formula (4) to obtain the final weight of each attribute.(4)Weighti=di∑i=1ndi.
Based on the judgment matrix with TFNs built in Step 2 and the calculation method adopted in Step 3, the weight values of network attributes are shown (Tables3–6).Figure 4
FAHP hierarchy.Table 2
Meaning of importance scale.
ScaleMeaning0.5Both are equally important0.6The former is slightly more important than the latter0.7The former is obviously more important than the latter0.8The former is strongly more important than the latter0.9The former is extremely more important than the latter0.1, 0.2, 0.3, 0.4Ifxi is compared with xj, rij is obtained, and xj is compared with xi with results in rji=1−rij.0.55, 0.65, 0.75…Represent the median value of adjacent gradesTable 3
Triangular fuzzy judgment matrix and network attribute weight for conversational.
ConversationalBandwidthDelayJitterLossPriceWeightBandwidth(0.5, 0.5, 0.5)(0.1, 0.2, 0.3)(0.25, 0.35, 0.45)(0.3, 0.4, 0.5)(0.35, 0.45, 0.55)0.0390Delay(0.7, 0.8, 0.9)(0.5, 0.5, 0.5)(0.55, 0.65, 0.75)(0.6, 0.7, 0.8)(0.65, 0.75, 0.85)0.4238Jitter(0.55, 0.65, 0.75)(0.25, 0.35, 0.45)(0.5, 0.5, 0.5)(0.45, 0.55, 0.65)(0.55, 0.65, 0.75)0.2594Loss(0.5, 0.6, 0.7)(0.2, 0.3, 0.4)(0.35, 0.45, 0.55)(0.5, 0.5, 0.5)(0.5, 0.6, 0.7)0.1946Price(0.45, 0.55, 0.65)(0.15, 0.25, 0.35)(0.25, 0.35, 0.45)(0.3, 0.4, 0.5)(0.5, 0.5, 0.5)0.0833Table 4
Triangular fuzzy judgment matrix and network attribute weight for streaming.
StreamingBandwidthDelayJitterLossPriceWeightBandwidth(0.5, 0.5, 0.5)(0.55, 0.65, 0.75)(0.7, 0.8, 0.9)(0.6, 0.7, 0.8)(0.5, 0.6, 0.7)0.3615Delay(0.25, 0.35, 0.45)(0.5, 0.5, 0.5)(0.55, 0.65, 0.75)(0.45, 0.55, 0.65)(0.35, 0.45, 0.55)0.2061Jitter(0.1, 0.2, 0.3)(0.25, 0.35, 0.45)(0.5, 0.5, 0.5)(0.3, 0.4, 0.5)(0.2, 0.3, 0.4)0.0231Loss(0.2, 0.3, 0.4)(0.35, 0.45, 0.55)(0.5, 0.6, 0.7)(0.5, 0.5, 0.5)(0.3, 0.4, 0.5)0.1486Price(0.3, 0.4, 0.5)(0.45, 0.55, 0.65)(0.6, 0.7, 0.8)(0.5, 0.6, 0.7)(0.5, 0.5, 0.5)0.2607Table 5
Triangular fuzzy judgment matrix and network attribute weight for interactive.
InteractiveBandwidthDelayJitterLossPriceWeightBandwidth(0.5, 0.5, 0.5)(0.35, 0.45, 0.55)(0.15, 0.25, 0.35)(0.25, 0.35, 0.45)(0.55, 0.65, 0.75)0.1394Delay(0.45, 0.55, 0.65)(0.5, 0.5, 0.5)(0.25, 0.35, 0.45)(0.3, 0.4, 0.5)(0.6, 0.7, 0.8)0.2054Jitter(0.65, 0.75, 0.85)(0.55, 0.65, 0.75)(0.5, 0.5, 0.5)(0.45, 0.55, 0.65)(0.65, 0.75, 0.85)0.3439Loss(0.55, 0.65, 0.75)(0.5, 0.6, 0.7)(0.35, 0.45, 0.55)(0.5, 0.5, 0.5)(0.5, 0.6, 0.7)0.2673Price(0.25, 0.35, 0.45)(0.2, 0.3, 0.4)(0.15, 0.25, 0.35)(0.3, 0.4, 0.5)(0.5, 0.5, 0.5)0.0440Table 6
Triangular fuzzy judgment matrix and network attribute weight for background.
BackgroundBandwidthDelayJitterLossPriceWeightBandwidth(0.5, 0.5, 0.5)(0.6, 0.7, 0.8)(0.55, 0.65, 0.75)(0.5, 0.6, 0.7)(0.35, 0.45, 0.55)0.2823Delay(0.2, 0.3, 0.4)(0.5, 0.5, 0.5)(0.35, 0.45, 0.55)(0.3, 0.4, 0.5)(0.2, 0.3, 0.4)0.0860Jitter(0.25, 0.35, 0.45)(0.45, 0.55, 0.65)(0.5, 0.5, 0.5)(0.35, 0.45, 0.55)(0.15, 0.25, 0.35)0.1198Loss(0.3, 0.4, 0.5)(0.5, 0.6, 0.7)(0.45, 0.55, 0.65)(0.5, 0.5, 0.5)(0.25, 0.35, 0.45)0.1842Price(0.45, 0.55, 0.65)(0.6, 0.7, 0.8)(0.65, 0.75, 0.85)(0.55, 0.65, 0.75)(0.5, 0.5, 0.5)0.3277


## 3.4. Calculation of Scores of Network Attributes

The first two sections explained the calculation of the utility values and weights of network attributes, respectively. In this section, the utility values and weights of network attributes are used to calculate the scores of network attributes based on the first two sections. As the fuzzy logic theory is better used to express qualitative knowledge and experience with unclear boundaries and capable of imitating the human brain’s judgment on uncertainties and reasoning, it is suitable for solving uncertain and nonlinear problems. Therefore, the scores of network attributes are calculated based on the fuzzy logic theory in this paper. The calculation process mainly includes four steps: fuzzification, rule base construction, fuzzy reasoning, and defuzzification (Figure5).Step 1 (fuzzification).
Fuzzification is the process of converting the exact value of an input item (i.e., the utility value of a network attribute) into the corresponding fuzzy linguistic variable value. The fuzzy linguistic variable value is a fuzzy set. This paper divides the fuzzy sets into “low,” “medium,” and “high,” which are represented by low (L), medium (M), and high (H), respectively. The fuzzification step realizes the transition from exact values to fuzzy sets. The purpose of fuzzification is to prepare for subsequent fuzzy inference operations. In addition, to convert a determined value of an input item into a fuzzy set, a membership function is required. Commonly used membership functions include the triangular membership function, the bell membership function, the trapezoidal membership function, and the Gaussian membership function. This paper also uses the triangular membership function (Figure 6).Step 2 (construction of fuzzy rule base).
Before fuzzy reasoning, a fuzzy rule base must first be built. In this paper, the form of fuzzy rules is: IF (satisfying a set of conditions) THEN (deducing a conclusion). The precondition of fuzzy rules is the combination of fuzzy sets of each network attribute, and the conclusion of fuzzy rules is the fuzzy set of candidate network scores (for example, IF (bandwidth is medium, delay is high, jitter is low, packet loss ratio is medium, and price is high) THEN (network score is medium)). Since there are four different service classes in this article, four different rule bases are built. Since there are five input linguistic variables (i.e., bandwidth, delay, jitter, packet loss ratio, and price), each input linguistic variable contains three fuzzy sets (i.e., low, medium, and high), each rule corresponds to a combination of fuzzy sets of different input linguistic variables, and each rule base contains35=243 rules. In addition, as different services have different characteristics and each network attribute has different weight values under different services, a fuzzy rule base is built based on the network attribute weights. The specific building method is as follows.Figure 5
Framework for computing network attribute score based on fuzzy logic.Figure 6
Triangular membership function.First, different fuzzy sets and their corresponding scales are defined (Table7).Table 7
Fuzzy sets and their corresponding scales.
Fuzzy setScaleLow (L)1Medium (M)2High (H)3Then, according to formula (5), the scale corresponding to the fuzzy set of each network attribute is multiplied by its weight, and the Sum is obtained.(5)Sum=∑Weightattribute×Scale.Finally, using formula (6), the fuzzy set to which the conclusion of the fuzzy rule belongs is determined by the magnitude of the value of Sum. The values of α and β in formula (6) can be set dynamically. In this paper, since the minimum and maximum values of the variable Sum are 1 and 3, respectively, we divide the range from 1 to 3 into 3 equal parts (i.e., 1 to 1.67, 1.67 to 2.33, and 2.33 to 3), so the values of α and β are set to 1.67 and 2.33, respectively.(6)Conclusion=L,Sum∈1,α,M,Sum∈α,β,H,Sum∈β,3.For example, the weights of bandwidth, delay, jitter, packet loss ratio, and price are 0.0390, 0.4238, 0.2594, 0.1946, and 0.0833, respectively, under the conversational service (Table3). Assuming that the precondition of fuzzy rules is IF (bandwidth is low, delay is low, jitter is medium, loss is high, and price is low), then according to formula (5), the value of Sum is obtained, which is 1.65, then according to formula (6), the conclusion of fuzzy rules is obtained: THEN (score is low). Examples of fuzzy rules under different service classes are shown (Tables 8–11).Step 3 (fuzzy reasoning).
The fuzzy rule in this paper is the one with five inputs and one output. For convenience of explanation, the five input items (i.e., bandwidth, delay, jitter, packet loss ratio, and price) are represented by the letters “b,” “d,” “j,” “l,” and “p,” while the output item (i.e., score) is represented by the letter “s.” The form of rules can be expressed as follows: IFbisBianddisDiandjisJiandlisLiandpisPiTHENsisSi.
The fuzzy implication relationRi of the above rules is defined as(7)Ri=BiandDiandJiandLiandPi⟶Si,namely,(8)μRi=μBibandμDidandμJijandμLilandμPip⟶μSis.
This paper is based on Mamdani’s fuzzy reasoning method, so the fuzzy relation of the above rules is shown in formula (9), in which ∧ is fuzzy AND operation, and the commonly used AND operation is the minimum operation.(9)μBib∧μDid∧μJij∧μLil∧μPip∧μSis.
There are 243 rules in the rule base of each service in this paper, and these fuzzy rules can be written in the form of union in the reasoning process, so the total fuzzy implication relation obtained is(10)R=⋃i=1243Ri.
After obtaining the fuzzy relation contained in the rule base, assuming that there are new inputsB′, D′, J′, L′, and P′, then the output under the new inputs can be obtained according to(11)S′=B′andD′andJ′andL′andP′∘R.Step 4 (defuzzification).
In the above steps, a fuzzy rule base is built and fuzzy sets of conclusions are obtained according to the fuzzy rules. In this step, the fuzzy set of conclusions is transformed into an exact value (i.e., the exact score of network attribute) through defuzzification. Commonly used defuzzification methods include the mean of maximum method (MOM) and the center of area method (COA). The defuzzification method adopted in this article is the COA method, which is shown as follows:(12)Scoreattribute=∑j=1nsj∙μS′sj∑j=1nμS′sj.
In the above formula,n is the number of elements in the domain of discourse, sj is the j single-point fuzzy value in domain of discourse, and μS′sj is the membership degree corresponding to sj.
For example, the fuzzy set of network attribute score we obtained in the previous step is(13)S′=00+0.250.1+0.50.2+0.750.3+10.4+0.750.5+0.50.6+0.250.7+00.8+00.9+01.
Then, according to formula (12), we can get(14)Scoreattribute=0×0+0.1×0.25+0.2×0.5+⋯+1×00+0.25+0.5+0.75+1+0.75+⋯+0.
Finally, by calculating the above formula, we can get that the exact value of the network attribute score is 0.4.Table 8
Example of fuzzy rules for conversational.
IFTHENBandwidthDelayJitterLossPriceScoreLMHHLMLHLLMMLHLHHHMLMLHLMMLMLLMMLHHMMHLMHMHLLLMLHMLLHMHHLMHMTable 9
Example of fuzzy rules for streaming.
IFTHENBandwidthDelayJitterLossPriceScoreLMHHLLLHLLMMLHLHHMMLMLHMMMLMLMMMLHHHMHLMHHHLLLMMHMLLHHHHLMHHTable 10
Example of fuzzy rules for interactive.
IFTHENBandwidthDelayJitterLossPriceScoreLMHHLHLHLLMLLHLHHMMLMLHLMMLMLLMMLHHMMHLMHMHLLLMLHMLLHLHHLMHMTable 11
Example of fuzzy rules for background.
IFTHENBandwidthDelayJitterLossPriceScoreLMHHLMLHLLMLLHLHHMMLMLHMMMLMLLMMLHHHMHLMHMHLLLMMHMLLHMHHLMHH


## 3.5. Calculation of User Preference Value

As users have different preferences for different networks when running different services, user preference values are calculated using the FAHP method in this section in order to quantify the user preference value. According to the FAHP hierarchy (Figure4) constructed in Section 3.3, the ranking of the lowest layer (i.e., candidate network) must be calculated to the highest layer (i.e., optimal network) in the FAHP hierarchy, as to calculate the user preference values for candidate networks. The calculation process is mainly divided into the following three steps.Step 1.
In Section3.3, the weights of network attributes are calculated under different services using the FAHP method and the weights of the middle layer (i.e., network attributes) are ranked to the highest layer (i.e., the optimal network). According to the weight vectors obtained (Tables 3–6), a relation matrix of weights of network attributes is built under different services (Table 12).Step 2.
This step compares the importance of the lowest layer (i.e., candidate networks) to the middle layer (i.e., network attributes) in pairs, constructs a triangular fuzzy judgment matrix, and calculates its weight according to formulas (1)–(4) (Tables 13–17). According to the weight vectors (Tables 13–17), the relationship matrix between different network attributes and candidate networks is constructed (Table 18).Step 3.
Multiply the matrix shown (Table12) obtained in Step 1 by the matrix shown (Table 18) obtained in Step 2 to calculate the importance ranking of the lowest layer (i.e., candidate networks) with respect to the highest layer (i.e., optimal network). The user preference values for candidate networks are shown (Table 19).
For example, if we want to calculate the user preference value for UMTS in the conversational service, then we multiply the elements in the same position of the first row vector of Table12 (i.e., 0.0390, 0.4238, 0.2594, 0.1946, and 0.0833) and the first column vector of Table 18 (i.e., 0.1355, 0.3928, 0.3116, 0.2902, and 0.1618) and accumulate the five products to get the user preference value for UMTS in the conversational service (i.e., the value of the first row and the first column in Table 19 is 0.3225).Table 12
Network attribute weights for different services.
BandwidthDelayJitterLossPriceConversational0.03900.42380.25940.19460.0833Streaming0.36150.20610.02310.14860.2607Interactive0.13940.20540.34390.26730.0440Background0.28230.08600.11980.18420.3277Table 13
Triangular fuzzy judgment matrix and weights of bandwidth attribute.
BandwidthUMTSLTEWLANWiMAXWeightUMTS(0.5, 0.5, 0.5)(0.5, 0.6, 0.7)(0.2, 0.3, 0.4)(0.15, 0.25, 0.35)0.1355LTE(0.3, 0.4, 0.5)(0.5, 0.5, 0.5)(0.45, 0.55, 0.65)(0.25, 0.35, 0.45)0.1878WLAN(0.6, 0.7, 0.8)(0.35, 0.45, 0.55)(0.5, 0.5, 0.5)(0.35, 0.45, 0.55)0.2859WiMAX(0.65, 0.75, 0.85)(0.55, 0.65, 0.75)(0.45, 0.55, 0.65)(0.5, 0.5, 0.5)0.3908Table 14
Triangular fuzzy judgment matrix and weights of delay attribute.
DelayUMTSLTEWLANWiMAXWeightUMTS(0.5, 0.5, 0.5)(0.6, 0.7, 0.8)(0.55, 0.65, 0.75)(0.5, 0.6, 0.7)0.3928LTE(0.2, 0.3, 0.4)(0.5, 0.5, 0.5)(0.5, 0.6, 0.7)(0.3, 0.4, 0.5)0.1887WLAN(0.25, 0.35, 0.45)(0.3, 0.4, 0.5)(0.5, 0.5, 0.5)(0.2, 0.3, 0.4)0.0999WiMAX(0.3, 0.4, 0.5)(0.5, 0.6, 0.7)(0.6, 0.7, 0.8)(0.5, 0.5, 0.5)0.3185Table 15
Triangular fuzzy judgment matrix and weights of jitter attribute.
JitterUMTSLTEWLANWiMAXWeightUMTS(0.5, 0.5, 0.5)(0.3, 0.4, 0.5)(0.5, 0.6, 0.7)(0.55, 0.65, 0.75)0.3116LTE(0.5, 0.6, 0.7)(0.5, 0.5, 0.5)(0.6, 0.7, 0.8)(0.65, 0.75, 0.85)0.4462WLAN(0.3, 0.4, 0.5)(0.2, 0.3, 0.4)(0.5, 0.5, 0.5)(0.45, 0.55, 0.65)0.1618WiMAX(0.25, 0.35, 0.45)(0.15, 0.25, 0.35)(0.35, 0.45, 0.55)(0.5, 0.5, 0.5)0.0804Table 16
Triangular fuzzy judgment matrix and weights of loss attribute.
LossUMTSLTEWLANWiMAXWeightUMTS(0.5, 0.5, 0.5)(0.3, 0.4, 0.5)(0.45, 0.55, 0.65)(0.55, 0.65, 0.75)0.2902LTE(0.5, 0.6, 0.7)(0.5, 0.5, 0.5)(0.55, 0.65, 0.75)(0.65, 0.75, 0.85)0.4177WLAN(0.35, 0.45, 0.55)(0.25, 0.35, 0.45)(0.5, 0.5, 0.5)(0.5, 0.6, 0.7)0.2212WiMAX(0.25, 0.35, 0.45)(0.15, 0.25, 0.35)(0.3, 0.4, 0.5)(0.5, 0.5, 0.5)0.0709Table 17
Triangular fuzzy judgment matrix and weights of price attribute.
PriceUMTSLTEWLANWiMAXWeightUMTS(0.5, 0.5, 0.5)(0.45, 0.55, 0.65)(0.2, 0.3, 0.4)(0.3, 0.4, 0.5)0.1618LTE(0.35, 0.45, 0.55)(0.5, 0.5, 0.5)(0.15, 0.25, 0.35)(0.25, 0.35, 0.45)0.0804WLAN(0.6, 0.7, 0.8)(0.65, 0.75, 0.85)(0.5, 0.5, 0.5)(0.5, 0.6, 0.7)0.4462WiMAX(0.5, 0.6, 0.7)(0.55, 0.65, 0.75)(0.3, 0.4, 0.5)(0.5, 0.5, 0.5)0.3116Table 18
Relationship between candidate networks and network attributes.
UMTSLTEWLANWiMAXBandwidth0.13550.18780.28590.3908Delay0.39280.18870.09990.3185Jitter0.31160.44620.16180.0804Loss0.29020.41770.22120.0709Price0.16180.08040.44620.3116Table 19
User preferences of candidate networks for different services.
UMTSLTEWLANWiMAXConversational0.32250.29100.17570.2108Streaming0.22250.20010.27690.3006Interactive0.29140.33360.19480.1802Background0.21580.22600.29560.2625


## 3.6. Calculation of Comprehensive Scores of Candidate Networks

In the above subsection, the scores of network attributes of each candidate network are obtained under different service classes and the user preference values for each candidate network. In this subsection, the comprehensive scores of each candidate network are synthesized using the MADM method to obtain the comprehensive score ranking of candidate networks based on these two sets of values.The typical MADM method can comprehensively evaluate and rank a group of candidate schemes according to several attributes [33]. The MADM method includes many branches, such as SAW, weighted product method (WPM), AHP, gray relation analysis (GRA), and TOPSIS [13, 14]. In this paper, the TOPSIS method is used to calculate the comprehensive scores of candidate networks according to the network attribute scores and user preference values obtained in the above subsection.When using the TOPSIS method, candidate networks are ranked by calculating the distance from a candidate network to the optimal network and to the worst network. If the candidate network is closest to the optimal network while being farthest from the worst network, the network will have the highest score and vice versa. The optimal network means that the network attribute score and the user preference value are the maximum values among all candidate networks, whereas the worst network means that the network attribute score and the user preference value are the minimum values. The specific steps for calculating the comprehensive scores of candidate networks by using the TOPSIS method are as follows.First, determine the optimal and worst values of network attribute scores and user preference scores among all candidate networks. As shown in formula (15), the optimal value and the worst value are expressed by Vj+ and Vj−, respectively.(15)Vj+=maxsij,Vj−=minsij.In this paper,i=1,2,3,4 in the above formula (i.e., four candidate networks) and j=1,2 (i.e., the network attribute score and the user preference score).Then, calculate the distance from each candidate network to the optimal network and the worst network. In this paper, the distance calculated is the Euclidean distance. As shown in formula (16), the distance from a candidate network to the optimal network is expressed as Di+, and the distance to the worst network is expressed as Di−.(16)Di+=∑j=12sij−Vj+2,Di−=∑j=12sij−Vj−2.Finally, calculate the final comprehensive score of each candidate network by formula (17). In addition, the candidate networks are ranked by comprehensive score, and users choose to access the network with the highest score.(17)Scoreifinal=Di−Di++Di−.


## 4. Simulation and Result Analysis

### 4.1. Experimental Environment and Simulation Parameter Settings

This paper uses Matlab R2019b as the simulation platform to test and compare the algorithms discussed. In the simulation, the network attribute parameters are set (Table20), with the first value representing the default value of the network attribute and the values in parentheses representing the lowest and highest values of a network attribute when it changes dynamically. In addition, utility functions of network attributes and parameter values of these functions under different services are shown (Table 21).Table 20
Setting of network attribute values for candidate networks.
Bandwidth (MB/s)Delay (ms)Jitter (ms)Loss (E-6%)PriceUMTS1 (0.5-2)45 (20-150)20 (15-40)3 (2-8)8 (3-10)LTE2 (0.6-4)60 (30-200)15 (10-30)2 (1-5)6 (2-9)WLAN3 (0.8-8)80 (50-250)60 (30-80)7 (4-12)2 (0.5-7)WiMAX4 (1-10)120 (80-300)30 (20-50)5 (3-10)4 (1-8)Table 21
Type of utility function and parameter value setting of function.
BandwidthDelayJitterLossPriceConversationalSigmoid-2 functiona=6, b=1Sigmoid-1 functiona=50, b=5, c=5Sigmoid-1 functiona=30, b=6, c=15Sigmoid-1 functiona=2.5, b=5, c=1Exponential functiona=1, b=−1, c=0.6, d=−10StreamingLinear functiona=1/10, b=0Sigmoid-1 functiona=90, b=7, c=10Sigmoid-1 functiona=30, b=6, c=5Exponential functiona=0, b=1, c=−0.5, d=0Sigmoid-1 functiona=2, b=4, c=30InteractiveSigmoid-2 functiona=3.5, b=2Sigmoid-1 functiona=75, b=7, c=10Sigmoid-1 functiona=15, b=4, c=30Sigmoid-1 functiona=3, b=7, c=1Sigmoid-1 functiona=2.5, b=7, c=10BackgroundSigmoid-2a=1.5, b=3.5Linear functiona=−1/300, b=1Sigmoid-1 functiona=10, b=3, c=5Sigmoid-1 functiona=3.5, b=6, c=1Linear functiona=−1/10, b=1To prove the superiority of the algorithm proposed in this paper, the proposed algorithm is compared with another four algorithms proposed in other literatures (i.e., Utility, TFAHP, and SAW algorithm in literature [35], AHP and TOPSIS algorithm in literature [36], Utility, FAHP, Entropy, and MEW algorithm in literature [37], and Utility and Fuzzy Logic algorithm in literature [38]. These four algorithms are referred to as Algorithm 1, Algorithm 2, Algorithm 3, and Algorithm 4, respectively). For fairness, the weights of network attributes under each service are set to be the same as the other four algorithms.The experiment mainly includes three parts. The first part is the experiment conducted under the default value of the static network attribute, mainly evaluating the candidate network score ranking under various algorithms. The second part is the experiment conducted under dynamic network attribute values, which mainly evaluates the average value of five network attributes under different services and the number of times each candidate network is selected under different services. The third part is the algorithm performance comparison, which mainly evaluates the average user gain in different services and the number of handovers between networks under various algorithms.


### 4.2. Network Selection in Default Network Attribute Value Environment

Based on the previous data (Tables20 and 21), the utility values of each network attribute can be calculated for different services (Tables 22–25) under static network attribute values.Table 22
Utility values of attributes for conversational in default parameter settings.
ConversationalBandwidthDelayJitterLossPriceUMTS0.50000.89440.99420.28670.6988LTE0.99750.66770.99900.75320.9093WLAN1.00000.32290.18990.00580.9918WiMAX1.00000.05910.93750.03030.9727Table 23
Utility values of attributes for streaming in default parameter settings.
StreamingBandwidthDelayJitterLossPriceUMTS0.10000.99920.98270.22310.1049LTE0.20000.99420.99690.36790.2703WLAN0.30000.95800.07250.03020.9677WiMAX0.40000.57170.83330.08210.6522Table 24
Utility values of attributes for interactive in default parameter settings.
InteractiveBandwidthDelayJitterLossPriceUMTS0.02930.99720.90470.50000.0029LTE0.50000.97950.96770.94470.0213WLAN0.97070.86420.10490.00260.9795WiMAX0.99910.27140.65220.02720.2714Table 25
Utility values of attributes for background in default parameter settings.
BackgroundBandwidthDelayJitterLossPriceUMTS0.02300.85000.38460.71600.2000LTE0.09530.80000.59700.96640.4000WLAN0.32080.73330.02260.01540.8000WiMAX0.67920.60000.15630.10530.6000As the conversational service can run well without a large bandwidth, this class of services requires lower delay and jitter. The algorithm proposed in this paper, therefore, ranks the user preferences of candidate networks as UMTS>LTE>WiMAX>WLAN under the conversational service, selects UMTS as the access network, and Algorithms 1–4 choose LTE as the access network (Figure7(a)). As the streaming service has a large demand for bandwidth and expects a lower price, it can be seen that WiMAX can provide the largest bandwidth among all candidate networks and its price is relatively low (Table 20). Thus, the network chosen by the proposed algorithm is WiMAX. In addition, the network chosen by Algorithms 2–4 is also WiMAX. The network chosen by Algorithm 1 is LTE (Figure 7(b)). LTE can provide lower jitter and packet loss ratio under the interactive service, so the ranking of candidate networks under this algorithm is LTE>UMTS>WiMAX>WLAN. In addition, all other algorithms choose LTE as the access network (Figure 7(c)). The background service does not have too high requirements for delay and jitter, but the background service expects to obtain the lowest price and a certain bandwidth guarantee. Therefore, the proposed algorithm chooses WLAN as the access network. Algorithms 1, 3, and 4 all choose LTE as the access network, and Algorithm 2 chooses WiMAX (Figure 7(d)). The algorithm proposed can clearly choose the most suitable network for access according to characteristics of services and user preferences (Figure 7).Figure 7
Comparison of candidate network scores under different services.
(a)
Conversational(b)
Streaming(c)
Interactive(d)
Background


### 4.3. Network Selection in Dynamic Network Attribute Value Environment

In this subsection, the network selections made by the proposed algorithm and the other four algorithms are evaluated under dynamically changing network attribute values (i.e., the network attribute values in Table20 randomly change 1,000 times between the lowest value and the highest value in brackets). The average values of network attributes are compared when using these algorithms under different services and the number of times each candidate network is selected under different services by these algorithms.In an environment where network attribute values change dynamically 1,000 times, the average bandwidth value (approx. 6 Mb/s) of the network selected by the proposed algorithm is the highest for the streaming service, followed by the background service, the interactive service, and the conversational service (Figure8). The average bandwidth value for the conversational service is less than 2 MB/s. For Algorithm 1, the average bandwidth value of the network selected for streaming service and background service is basically the same. The ranking of average bandwidth values selected for Algorithm 2 for various services is the same as that for the proposed algorithm. For Algorithm 3, the average bandwidth of the network selected for streaming service and background service is higher, but neither exceeds 4 Mb/s. For Algorithm 4, the average bandwidth value of the network selected for the background service is the largest (approx. 5 Mb/s) and the average bandwidth value for the conversational service is the smallest (approx. 2 Mb/s).Figure 8
Average bandwidth of various algorithms under different services.For the algorithm proposed, the average delay value of the network selected for the conversational service is the lowest (approx. 75 ms), and the average delay values of both streaming service and background service exceed 150 ms (Figure9). In addition, the difference in average delay between these four services under Algorithm 1 is basically the same. In Algorithm 2, the average delay of the network selected for streaming service and background service is higher. In Algorithm 3, the average delay of the network selected for interactive service and streaming service is basically the same, and the average delay of the networks selected for these four services does not exceed 150 ms. In Algorithm 4, the average delay of interactive service and conversational service is about 100 ms.Figure 9
Average delay of various algorithms under different services.For the proposed algorithm, the average jitter of the network selected for the interactive service is the lowest (approx. 20 ms), followed by conversational service, streaming service, and background service (Figure10). For Algorithms 1 and 4, the average jitter for streaming service and background service is not much different (approx. 35 ms), while for Algorithm 2, the average jitter for interactive service and conversational service is not much different (approx. 23 ms). Regarding Algorithm 3, the average jitter for different services is relatively close to each other, which is in the range of 20 ms to 30 ms.Figure 10
Average jitter of various algorithms under different services.For the algorithm proposed, the average packet loss ratio of the network selected for the interactive service is the lowest (approx.3×10−6%), followed by the conversational service, and the average packet loss ratio for streaming service and background service, which are higher (approx. 7×10−6%) (Figure 11). For Algorithms 1 and 2, the average packet loss ratios for interactive service and conversational service are both low and do not exceed 4×10−6%. For Algorithm 3, the average packet loss ratios of the networks selected for the four services are not much different and are all in the range of 3×10−6% to 5×10−6%. For Algorithm 4, the average packet loss ratios for streaming service and background service are high (approx. 6×10−6%).Figure 11
Average loss of various algorithms under different services.For the algorithm proposed, the average prices of the network selected for the background service are the lowest, followed by the streaming service (Figure12). The average prices under the two services do not exceed 4. The average prices of networks selected for conversational service and interactive service are relatively high. For Algorithms 1 and 4, the average prices for background service and streaming service are the same. For Algorithm 2, the average prices for conversational service and interactive service are the same. For Algorithm 3, the average prices of networks selected for the four services are in the range of 4 to 6.Figure 12
Average price of various algorithms under different services.Under the conversational service, UMTS is the network most selected by the proposed algorithm, followed by LTE. Same with the algorithm proposed, the network most selected by Algorithm 3 is UMTS, while LTE is most selected by Algorithms 1, 2, and 4, followed by UMTS (Figure13(a)). Under streaming service, WiMAX is the network most selected by the proposed algorithm and Algorithms 1, 2, and 4, followed by WLAN, LTE, and UMTS. Additionally, LTE is the network most selected by Algorithm 3 (Figure 13(b)). Under the interactive service, like all other algorithms, LTE is the network most selected by the proposed algorithm, followed by UMTS (Figure 13(c)). Under the background service, the network selected most by the proposed algorithm is WLAN, followed by WiMAX, which is the network selected most by Algorithms 1, 2, and 4, and LTE, which is the network selected most by Algorithm 3 (Figure 13(d)).Figure 13
Number of candidate networks selected under different services.
(a)
Conversational(b)
Streaming(c)
Interactive(d)
Background


### 4.4. Performance Comparison of Algorithms

In this subsection, the user gains are evaluated using the proposed algorithm, and the other four algorithms are evaluated under different services and the handover between networks. According to literature [33], “gain” is defined as shown in(18)Gijs=λij∏k=1nrikωks.In formula (18), Gijs represents the gain obtained by switching users whose service class is s from network i to network j, and n is the number of network attributes. For n=5 in this paper, rik is the utility value of network attribute k in network i, ωks represents the weight of network attribute k when the service class is s. In addition, for λij in formula (18), it is defined as follows:(19)λij=α,i=j,β,i≠j.In formula (19), when a user selects the same network twice consecutively, let α=1, and when the user selects different networks twice consecutively, let β=0.8.The algorithm proposed in this paper has the highest user gain, followed by Algorithms 1, 3, and 4 under the conversational service due to the proposed algorithm being able to select the most suitable network according to the service characteristics and user preferences, as well as avoiding handover between different networks. In addition, Algorithm 2 has the lowest user gain because Algorithm 2 does not consider the utility of the same network attribute value to different services (Figure14(a)). The user gains obtained by the proposed algorithm and Algorithm 1 are higher under the streaming service, while the user gains of other algorithms are lower, but the user gains of all algorithms are relatively similar, as all algorithms under the streaming service cause more handovers between networks (Figure 14(b)). Under the interactive service, the user gain of the proposed algorithm is the highest, and the user gains of Algorithms 3 and 1 are basically the same, followed by Algorithms 4 and 2 (Figure 14(c)). In the background service, Algorithm 3 has the highest user gain, followed by the proposed algorithm and Algorithms 1, 2, and 4 (Figure 14(d)).Figure 14
Comparison of average user gain under different services.
(a)
Conversational(b)
Streaming(c)
Interactive(d)
BackgroundThe user handovers between networks under different services are shown (Figure15). Under the conversational service, the proposed algorithm has the lowest number of handovers between different networks (approx. 300 times), the number of handovers for Algorithms 1, 2, and 3 is basically the same (approx. 500 times), and the number of handovers for Algorithm 4 is the highest (approx. 600 times) (Figure 15(a)). Under the streaming service, the proposed algorithm has the lowest number of handovers (approx. 450 times), and Algorithms 1, 3, and 4 have more handovers (all more than 700 times) (Figure 15(b)). Under the interactive service, the number of handovers caused by the proposed algorithm is only about 150 times, followed by Algorithms 3, 1, 2, and 4, and the number of handovers caused by each algorithm does not exceed 500 times (Figure 15(c)). The proposed algorithm and Algorithm 3 have the lowest number of handovers (approx. 500 times), and Algorithms 1 and 4 have the highest number of handovers (approx. 670 times) under the background service (Figure 15(d)).Figure 15
Comparison of the times of network handovers under different services.
(a)
Conversational(b)
Streaming(c)
Interactive(d)
BackgroundTo evaluate more intuitively, line graphs are used to depict the handover of users between different networks. The denser the lines in the graph, the more frequently users switch between networks; otherwise, the rarer the lines, the less users switch between networks. The handovers between networks caused by the proposed algorithm mainly occur between UMTS and LTE under the conversational service, users under other algorithms mainly perform network handover between UMTS and LTE, and there are also certain times of handover between WLAN and WiMAX (Figure16(a)). Under the streaming service, the handover under the proposed algorithm and Algorithm 2 mainly occurs between WiMAX and WLAN, while Algorithms 1, 3, and 4 all cause more handovers in the four candidate networks (Figure 16(b)). Under the interactive service, the lines for the proposed algorithm are the rarest, users only have fewer handovers between UMTS and LTE, and the handovers of other algorithms are mainly between UMTS and LTE, while other algorithms have a certain number of handovers between WLAN and WiMAX (Figure 16(c)). Under the background service, the number of handovers of the proposed algorithm and Algorithm 3 is relatively small. Handovers mainly occur among LTE, WLAN, and WiMAX. The lines of Algorithms 1 and 4 are relatively denser than those of other algorithms. Algorithms 1 and 4 cause more handovers (Figure 16(d)).Figure 16
(a) Network handovers of various algorithms under conversational services. (b) Network handovers of various algorithms under streaming services. (c) Network handovers of various algorithms under interactive services. (d) Network handovers of various algorithms under background services.
(a)
Conversational(b)
Streaming(c)
Interactive(d)
BackgroundAccording to the definition of “unnecessary handover” given in literature [42], the total number of handovers and unnecessary handovers of each algorithm is counted under different services. Assume that in t time network selection, the optimal network is k (in this paper, k can be expressed as UMTS, LTE, WLAN, and WiMAX) and recorded as BestNetworkt=k. When BestNetworkt=k, BestNetworkt+1≠k, and BestNetworkt+2=k, we call the handover caused by the t+1 time network selection an unnecessary handover.The number of unnecessary handovers between different networks by users using the proposed algorithm is 150 in the conversational service, while the number of unnecessary handovers caused by other algorithms exceeds 200 times (Figure17(a)). Under the streaming service, although Algorithms 1, 3, and 4 all have a higher total number of handovers, Algorithm 2 has the largest number of unnecessary handovers. The proposed algorithm has the lowest total number of handovers and unnecessary handovers (Figure 17(b)). Under the interactive service, the proposed algorithm has the least number of unnecessary handovers, which is only 67 times, followed by Algorithms 3, 1, 2, and 4 (Figure 17(c)). Under the background service, the number of unnecessary handovers of the proposed algorithm and the other four algorithms is not much different, which is all about 200 times (Figure 17(d)).Figure 17
Comparison of unnecessary handovers of various algorithms under different services.
(a)
Conversational(b)
Streaming(c)
Interactive(d)
Background


## 4.1. Experimental Environment and Simulation Parameter Settings

This paper uses Matlab R2019b as the simulation platform to test and compare the algorithms discussed. In the simulation, the network attribute parameters are set (Table20), with the first value representing the default value of the network attribute and the values in parentheses representing the lowest and highest values of a network attribute when it changes dynamically. In addition, utility functions of network attributes and parameter values of these functions under different services are shown (Table 21).Table 20
Setting of network attribute values for candidate networks.
Bandwidth (MB/s)Delay (ms)Jitter (ms)Loss (E-6%)PriceUMTS1 (0.5-2)45 (20-150)20 (15-40)3 (2-8)8 (3-10)LTE2 (0.6-4)60 (30-200)15 (10-30)2 (1-5)6 (2-9)WLAN3 (0.8-8)80 (50-250)60 (30-80)7 (4-12)2 (0.5-7)WiMAX4 (1-10)120 (80-300)30 (20-50)5 (3-10)4 (1-8)Table 21
Type of utility function and parameter value setting of function.
BandwidthDelayJitterLossPriceConversationalSigmoid-2 functiona=6, b=1Sigmoid-1 functiona=50, b=5, c=5Sigmoid-1 functiona=30, b=6, c=15Sigmoid-1 functiona=2.5, b=5, c=1Exponential functiona=1, b=−1, c=0.6, d=−10StreamingLinear functiona=1/10, b=0Sigmoid-1 functiona=90, b=7, c=10Sigmoid-1 functiona=30, b=6, c=5Exponential functiona=0, b=1, c=−0.5, d=0Sigmoid-1 functiona=2, b=4, c=30InteractiveSigmoid-2 functiona=3.5, b=2Sigmoid-1 functiona=75, b=7, c=10Sigmoid-1 functiona=15, b=4, c=30Sigmoid-1 functiona=3, b=7, c=1Sigmoid-1 functiona=2.5, b=7, c=10BackgroundSigmoid-2a=1.5, b=3.5Linear functiona=−1/300, b=1Sigmoid-1 functiona=10, b=3, c=5Sigmoid-1 functiona=3.5, b=6, c=1Linear functiona=−1/10, b=1To prove the superiority of the algorithm proposed in this paper, the proposed algorithm is compared with another four algorithms proposed in other literatures (i.e., Utility, TFAHP, and SAW algorithm in literature [35], AHP and TOPSIS algorithm in literature [36], Utility, FAHP, Entropy, and MEW algorithm in literature [37], and Utility and Fuzzy Logic algorithm in literature [38]. These four algorithms are referred to as Algorithm 1, Algorithm 2, Algorithm 3, and Algorithm 4, respectively). For fairness, the weights of network attributes under each service are set to be the same as the other four algorithms.The experiment mainly includes three parts. The first part is the experiment conducted under the default value of the static network attribute, mainly evaluating the candidate network score ranking under various algorithms. The second part is the experiment conducted under dynamic network attribute values, which mainly evaluates the average value of five network attributes under different services and the number of times each candidate network is selected under different services. The third part is the algorithm performance comparison, which mainly evaluates the average user gain in different services and the number of handovers between networks under various algorithms.


## 4.2. Network Selection in Default Network Attribute Value Environment

Based on the previous data (Tables20 and 21), the utility values of each network attribute can be calculated for different services (Tables 22–25) under static network attribute values.Table 22
Utility values of attributes for conversational in default parameter settings.
ConversationalBandwidthDelayJitterLossPriceUMTS0.50000.89440.99420.28670.6988LTE0.99750.66770.99900.75320.9093WLAN1.00000.32290.18990.00580.9918WiMAX1.00000.05910.93750.03030.9727Table 23
Utility values of attributes for streaming in default parameter settings.
StreamingBandwidthDelayJitterLossPriceUMTS0.10000.99920.98270.22310.1049LTE0.20000.99420.99690.36790.2703WLAN0.30000.95800.07250.03020.9677WiMAX0.40000.57170.83330.08210.6522Table 24
Utility values of attributes for interactive in default parameter settings.
InteractiveBandwidthDelayJitterLossPriceUMTS0.02930.99720.90470.50000.0029LTE0.50000.97950.96770.94470.0213WLAN0.97070.86420.10490.00260.9795WiMAX0.99910.27140.65220.02720.2714Table 25
Utility values of attributes for background in default parameter settings.
BackgroundBandwidthDelayJitterLossPriceUMTS0.02300.85000.38460.71600.2000LTE0.09530.80000.59700.96640.4000WLAN0.32080.73330.02260.01540.8000WiMAX0.67920.60000.15630.10530.6000As the conversational service can run well without a large bandwidth, this class of services requires lower delay and jitter. The algorithm proposed in this paper, therefore, ranks the user preferences of candidate networks as UMTS>LTE>WiMAX>WLAN under the conversational service, selects UMTS as the access network, and Algorithms 1–4 choose LTE as the access network (Figure7(a)). As the streaming service has a large demand for bandwidth and expects a lower price, it can be seen that WiMAX can provide the largest bandwidth among all candidate networks and its price is relatively low (Table 20). Thus, the network chosen by the proposed algorithm is WiMAX. In addition, the network chosen by Algorithms 2–4 is also WiMAX. The network chosen by Algorithm 1 is LTE (Figure 7(b)). LTE can provide lower jitter and packet loss ratio under the interactive service, so the ranking of candidate networks under this algorithm is LTE>UMTS>WiMAX>WLAN. In addition, all other algorithms choose LTE as the access network (Figure 7(c)). The background service does not have too high requirements for delay and jitter, but the background service expects to obtain the lowest price and a certain bandwidth guarantee. Therefore, the proposed algorithm chooses WLAN as the access network. Algorithms 1, 3, and 4 all choose LTE as the access network, and Algorithm 2 chooses WiMAX (Figure 7(d)). The algorithm proposed can clearly choose the most suitable network for access according to characteristics of services and user preferences (Figure 7).Figure 7
Comparison of candidate network scores under different services.
(a)
Conversational(b)
Streaming(c)
Interactive(d)
Background


## 4.3. Network Selection in Dynamic Network Attribute Value Environment

In this subsection, the network selections made by the proposed algorithm and the other four algorithms are evaluated under dynamically changing network attribute values (i.e., the network attribute values in Table20 randomly change 1,000 times between the lowest value and the highest value in brackets). The average values of network attributes are compared when using these algorithms under different services and the number of times each candidate network is selected under different services by these algorithms.In an environment where network attribute values change dynamically 1,000 times, the average bandwidth value (approx. 6 Mb/s) of the network selected by the proposed algorithm is the highest for the streaming service, followed by the background service, the interactive service, and the conversational service (Figure8). The average bandwidth value for the conversational service is less than 2 MB/s. For Algorithm 1, the average bandwidth value of the network selected for streaming service and background service is basically the same. The ranking of average bandwidth values selected for Algorithm 2 for various services is the same as that for the proposed algorithm. For Algorithm 3, the average bandwidth of the network selected for streaming service and background service is higher, but neither exceeds 4 Mb/s. For Algorithm 4, the average bandwidth value of the network selected for the background service is the largest (approx. 5 Mb/s) and the average bandwidth value for the conversational service is the smallest (approx. 2 Mb/s).Figure 8
Average bandwidth of various algorithms under different services.For the algorithm proposed, the average delay value of the network selected for the conversational service is the lowest (approx. 75 ms), and the average delay values of both streaming service and background service exceed 150 ms (Figure9). In addition, the difference in average delay between these four services under Algorithm 1 is basically the same. In Algorithm 2, the average delay of the network selected for streaming service and background service is higher. In Algorithm 3, the average delay of the network selected for interactive service and streaming service is basically the same, and the average delay of the networks selected for these four services does not exceed 150 ms. In Algorithm 4, the average delay of interactive service and conversational service is about 100 ms.Figure 9
Average delay of various algorithms under different services.For the proposed algorithm, the average jitter of the network selected for the interactive service is the lowest (approx. 20 ms), followed by conversational service, streaming service, and background service (Figure10). For Algorithms 1 and 4, the average jitter for streaming service and background service is not much different (approx. 35 ms), while for Algorithm 2, the average jitter for interactive service and conversational service is not much different (approx. 23 ms). Regarding Algorithm 3, the average jitter for different services is relatively close to each other, which is in the range of 20 ms to 30 ms.Figure 10
Average jitter of various algorithms under different services.For the algorithm proposed, the average packet loss ratio of the network selected for the interactive service is the lowest (approx.3×10−6%), followed by the conversational service, and the average packet loss ratio for streaming service and background service, which are higher (approx. 7×10−6%) (Figure 11). For Algorithms 1 and 2, the average packet loss ratios for interactive service and conversational service are both low and do not exceed 4×10−6%. For Algorithm 3, the average packet loss ratios of the networks selected for the four services are not much different and are all in the range of 3×10−6% to 5×10−6%. For Algorithm 4, the average packet loss ratios for streaming service and background service are high (approx. 6×10−6%).Figure 11
Average loss of various algorithms under different services.For the algorithm proposed, the average prices of the network selected for the background service are the lowest, followed by the streaming service (Figure12). The average prices under the two services do not exceed 4. The average prices of networks selected for conversational service and interactive service are relatively high. For Algorithms 1 and 4, the average prices for background service and streaming service are the same. For Algorithm 2, the average prices for conversational service and interactive service are the same. For Algorithm 3, the average prices of networks selected for the four services are in the range of 4 to 6.Figure 12
Average price of various algorithms under different services.Under the conversational service, UMTS is the network most selected by the proposed algorithm, followed by LTE. Same with the algorithm proposed, the network most selected by Algorithm 3 is UMTS, while LTE is most selected by Algorithms 1, 2, and 4, followed by UMTS (Figure13(a)). Under streaming service, WiMAX is the network most selected by the proposed algorithm and Algorithms 1, 2, and 4, followed by WLAN, LTE, and UMTS. Additionally, LTE is the network most selected by Algorithm 3 (Figure 13(b)). Under the interactive service, like all other algorithms, LTE is the network most selected by the proposed algorithm, followed by UMTS (Figure 13(c)). Under the background service, the network selected most by the proposed algorithm is WLAN, followed by WiMAX, which is the network selected most by Algorithms 1, 2, and 4, and LTE, which is the network selected most by Algorithm 3 (Figure 13(d)).Figure 13
Number of candidate networks selected under different services.
(a)
Conversational(b)
Streaming(c)
Interactive(d)
Background


## 4.4. Performance Comparison of Algorithms

In this subsection, the user gains are evaluated using the proposed algorithm, and the other four algorithms are evaluated under different services and the handover between networks. According to literature [33], “gain” is defined as shown in(18)Gijs=λij∏k=1nrikωks.In formula (18), Gijs represents the gain obtained by switching users whose service class is s from network i to network j, and n is the number of network attributes. For n=5 in this paper, rik is the utility value of network attribute k in network i, ωks represents the weight of network attribute k when the service class is s. In addition, for λij in formula (18), it is defined as follows:(19)λij=α,i=j,β,i≠j.In formula (19), when a user selects the same network twice consecutively, let α=1, and when the user selects different networks twice consecutively, let β=0.8.The algorithm proposed in this paper has the highest user gain, followed by Algorithms 1, 3, and 4 under the conversational service due to the proposed algorithm being able to select the most suitable network according to the service characteristics and user preferences, as well as avoiding handover between different networks. In addition, Algorithm 2 has the lowest user gain because Algorithm 2 does not consider the utility of the same network attribute value to different services (Figure14(a)). The user gains obtained by the proposed algorithm and Algorithm 1 are higher under the streaming service, while the user gains of other algorithms are lower, but the user gains of all algorithms are relatively similar, as all algorithms under the streaming service cause more handovers between networks (Figure 14(b)). Under the interactive service, the user gain of the proposed algorithm is the highest, and the user gains of Algorithms 3 and 1 are basically the same, followed by Algorithms 4 and 2 (Figure 14(c)). In the background service, Algorithm 3 has the highest user gain, followed by the proposed algorithm and Algorithms 1, 2, and 4 (Figure 14(d)).Figure 14
Comparison of average user gain under different services.
(a)
Conversational(b)
Streaming(c)
Interactive(d)
BackgroundThe user handovers between networks under different services are shown (Figure15). Under the conversational service, the proposed algorithm has the lowest number of handovers between different networks (approx. 300 times), the number of handovers for Algorithms 1, 2, and 3 is basically the same (approx. 500 times), and the number of handovers for Algorithm 4 is the highest (approx. 600 times) (Figure 15(a)). Under the streaming service, the proposed algorithm has the lowest number of handovers (approx. 450 times), and Algorithms 1, 3, and 4 have more handovers (all more than 700 times) (Figure 15(b)). Under the interactive service, the number of handovers caused by the proposed algorithm is only about 150 times, followed by Algorithms 3, 1, 2, and 4, and the number of handovers caused by each algorithm does not exceed 500 times (Figure 15(c)). The proposed algorithm and Algorithm 3 have the lowest number of handovers (approx. 500 times), and Algorithms 1 and 4 have the highest number of handovers (approx. 670 times) under the background service (Figure 15(d)).Figure 15
Comparison of the times of network handovers under different services.
(a)
Conversational(b)
Streaming(c)
Interactive(d)
BackgroundTo evaluate more intuitively, line graphs are used to depict the handover of users between different networks. The denser the lines in the graph, the more frequently users switch between networks; otherwise, the rarer the lines, the less users switch between networks. The handovers between networks caused by the proposed algorithm mainly occur between UMTS and LTE under the conversational service, users under other algorithms mainly perform network handover between UMTS and LTE, and there are also certain times of handover between WLAN and WiMAX (Figure16(a)). Under the streaming service, the handover under the proposed algorithm and Algorithm 2 mainly occurs between WiMAX and WLAN, while Algorithms 1, 3, and 4 all cause more handovers in the four candidate networks (Figure 16(b)). Under the interactive service, the lines for the proposed algorithm are the rarest, users only have fewer handovers between UMTS and LTE, and the handovers of other algorithms are mainly between UMTS and LTE, while other algorithms have a certain number of handovers between WLAN and WiMAX (Figure 16(c)). Under the background service, the number of handovers of the proposed algorithm and Algorithm 3 is relatively small. Handovers mainly occur among LTE, WLAN, and WiMAX. The lines of Algorithms 1 and 4 are relatively denser than those of other algorithms. Algorithms 1 and 4 cause more handovers (Figure 16(d)).Figure 16
(a) Network handovers of various algorithms under conversational services. (b) Network handovers of various algorithms under streaming services. (c) Network handovers of various algorithms under interactive services. (d) Network handovers of various algorithms under background services.
(a)
Conversational(b)
Streaming(c)
Interactive(d)
BackgroundAccording to the definition of “unnecessary handover” given in literature [42], the total number of handovers and unnecessary handovers of each algorithm is counted under different services. Assume that in t time network selection, the optimal network is k (in this paper, k can be expressed as UMTS, LTE, WLAN, and WiMAX) and recorded as BestNetworkt=k. When BestNetworkt=k, BestNetworkt+1≠k, and BestNetworkt+2=k, we call the handover caused by the t+1 time network selection an unnecessary handover.The number of unnecessary handovers between different networks by users using the proposed algorithm is 150 in the conversational service, while the number of unnecessary handovers caused by other algorithms exceeds 200 times (Figure17(a)). Under the streaming service, although Algorithms 1, 3, and 4 all have a higher total number of handovers, Algorithm 2 has the largest number of unnecessary handovers. The proposed algorithm has the lowest total number of handovers and unnecessary handovers (Figure 17(b)). Under the interactive service, the proposed algorithm has the least number of unnecessary handovers, which is only 67 times, followed by Algorithms 3, 1, 2, and 4 (Figure 17(c)). Under the background service, the number of unnecessary handovers of the proposed algorithm and the other four algorithms is not much different, which is all about 200 times (Figure 17(d)).Figure 17
Comparison of unnecessary handovers of various algorithms under different services.
(a)
Conversational(b)
Streaming(c)
Interactive(d)
Background


## 5. Conclusions and Outlook

In this paper, a multiattribute access selection algorithm is proposed that supports service characteristics and user preferences in HWNs. The algorithm integrates the utility theory, FAHP, fuzzy logic theory, and MADM methods; designs five calculation modules (network attribute utility value, network attribute weight, network attribute score, user preference value, and candidate network comprehensive score); and introduces the main functions and calculation steps of each module in detail. The simulation results show that the algorithm proposed in this paper can allow users to select the most suitable network while obtaining higher gains and reducing user handover between different networks. The next step of this paper is to further study how to adjust the scores of candidate networks based on user satisfaction for obtaining a better QoS guarantee and QoE.



---

*Source: 8887324-2020-11-04.xml*