Server Load Balancing Method Based on Dual-Objective Optimization

By converting the cluster load request allocation optimization problem into a dual-objective function and combining the cuckoo search algorithm, the problems of overload and downtime crash in the server cluster are solved, and more efficient resource allocation and load balancing are achieved.

CN114528100BActive Publication Date: 2025-05-30ZHEJIANG UNIV OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210128106.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-11
Publication Date
2025-05-30
Estimated Expiration
2042-02-11

AI Technical Summary

Technical Problem

In server clusters, the existing technology is difficult to effectively solve the problems of overload and downtime crashes, especially when a large number of users request to access the same resource at the same time, traditional load balancing algorithms cannot meet complex needs.

Method used

The server load balancing method based on dual-objective optimization is adopted. By converting the cluster load request allocation optimization problem into two objective functions related to task request processing time, and adding constraints, combining the metaheuristic cuckoo search algorithm for optimization solutions, the step size of the algorithm is improved to improve efficiency.

Benefits of technology

It realizes the faster planning of reasonable server resources for network requests, reduce resource waste, shorten network request response time, reduce task failure rate, make resource allocation more reasonable, and improve cluster load balancing performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114528100B_ABST
    Figure CN114528100B_ABST
Patent Text Reader

Abstract

Server load balancing method based on dual-objective optimization, comprising: S1. determining the number of processing servers in a single request allocation process, and obtaining the number of task requests by using a sliding window according to the number of concurrent requests at a time node; S2. obtaining the real-time status information of the servers, including quantifying the comprehensive processing capabilities of the node servers in the cluster and the resource usage of each server at the moment when the task requests arrive; S3. encoding the relationship between the task requests and the processing servers by using a 0-1 matrix; S4. constructing an objective function for the cluster load request allocation optimization problem; S5. using the cuckoo search algorithm to iteratively optimize and solve the proposed problem, and outputting an encoded solution set; S6. outputting a suitable encoding scheme; S7. decoding the scheme to find the final relationship between the task requests and the processing servers, and the scheduling mechanism randomly selects an encoding scheme for task scheduling. The present invention can solve the problem of load balancing allocation in the server cluster, making the entire solution more efficient and accurate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of server cluster load balancing, and particularly relates to a server load balancing method based on dual-objective optimization. Background Art

[0002] In recent years, the rapid development of network intelligence is mainly manifested in the rapid growth of the number of Internet user accesses and network traffic. According to relevant survey results, as of June 2020, the number of Internet users in China has reached 940 million. The development of the network is closely related to people's lives, especially in the emerging Internet of Things industries such as smart homes, smart enterprises, and smart highways. In addition, the popularization of terminal devices such as mobile phones, iPads, and computers is also the reason for the rapid development of the network. Then the consequent problem is that when too many user requests access the same resource at the same time, if the server side cannot process the requests in time, it will lead to problems such as server overload and downtime crashes, seriously affecting the user's Internet experience. Therefore, a single server can no longer meet the complex needs of users, and a server cluster system is needed to replace the single server to work externally uniformly. How to reasonably distribute network requests to each server is a problem that researchers in the cluster field have been constantly thinking about.

[0003] Load balancing technology is one of the important technologies in cluster work. The purpose is to be able to reasonably distribute task requests to each server in the cluster, so that the performance of each server can be fully utilized, achieving the minimum task request completion time and higher throughput of the cluster. With the continuous development of cluster technology, traditional load balancing algorithms can no longer meet the needs of users for server-side load balancing. More and more scholars combine it with optimization combination, neural network, meta-heuristic algorithm, etc. for research to achieve more complex load balancing effects.

[0004] The cuckoo search algorithm involved in the present invention is a kind of meta-heuristic algorithm. It depends on the reproduction law of cuckoos itself, compares the problem prototype in the optimization model with the group behavior of cuckoos, constructs an objective function, and solves the problem through iterative optimization. Because the cuckoo search algorithm has the characteristics of fast convergence speed, light weight, and not easy to fall into local optimum, it has been loved by researchers since its appearance. Summary of the Invention

[0005] The present invention aims to overcome the above-mentioned disadvantages of the prior art and provides a server load balancing method based on dual-objective optimization.

[0006] In order to reduce the completion time of task requests, narrow the processing time difference between servers in the cluster, improve the load balancing performance in the cluster, and meet the diverse needs of users, the present invention transforms the problem of optimizing the allocation of load requests in the cluster into two objective functions related to the processing time of task requests and adds constraint conditions; then, a meta-heuristic cuckoo search algorithm is used to optimize and solve the cluster load balancing problem, and the algorithm is improved by modifying the step size, and finally a suitable request allocation coding scheme is found.

[0007] The technical solution adopted by the present invention is as follows:

[0008] The server load balancing method based on dual-objective optimization proposed by the present invention includes the following steps:

[0009] S1. Determine the number of processing servers in a request allocation process, and use a sliding window to obtain the number of task requests according to the number of concurrent requests at the time node.

[0010] S2. Obtain the real-time status information of the server, including quantifying the comprehensive processing capabilities of the node servers in the cluster and the resource usage of each server at the moment when the task request arrives; the comprehensive processing capabilities of the server are directly related to the CPU frequency, memory capacity, network bandwidth, and disk read and write speed, and are expressed as:

[0011] P = α 1 *p cpu +α 2 *p memory +α 3 *p band +α 4 *p I / O (1)

[0012] In the formula, α i represents the influence weight of each parameter on the processing capabilities of the server, satisfying and is directly related to the configuration information of the server. The greater the weight, the more significant the influence of the parameter on the server performance.

[0013] The resource usage of the server is also closely related to the CPU frequency, memory capacity, network bandwidth, and disk read and write speed, and is linearly expressed as:

[0014] C = β 1 *c cpu +β 2 *c memory +β 3 *c band +β 4 *c I / O (2)

[0015] In the formula, β iIndicates the influence weight of each parameter on the server processing capacity, satisfying The parameter size and α i Are consistent.

[0016] S3. Use a 0-1 matrix to encode the relationship between task requests and processing servers, represented by a matrix:

[0017] In a group of assigned tasks, a row in the encoding matrix represents a task, and the position where the element is 1 indicates the serial number of the server. For example, the matrix This group of assignments reasonably distributes 5 tasks to 3 node servers. For example, 0 0 1 means that the 3rd task is assigned to the 3rd node server for processing. The purpose of each task assignment is to find an optimal encoding matrix, denoted as D.

[0018] S4. Construct the objective function for the optimization problem of cluster load request allocation, expressed as:

[0019]

[0020] In the formula, t(S j ) represents the time consumed by each processing server to complete the group of task assignments, where j ∈ [1, n], representing the label of the processing server in the cluster. σ represents the processing time difference of the servers in a group of assigned task requests, which can be expressed as follows:

[0021]

[0022] In the above formula, Represents the average task completion time of each server in the cluster; σ represents the variance of the processing times of the servers in the cluster, and the smaller the value of σ, the better. The constraint conditions can be expressed as:

[0023]

[0024] In the formula, Represents the sum of the elements in each row of the encoding matrix D, and d i*j Can only take values of 0 or 1. When d i*j Is 1, it means that the task request is processed on the selected node server; also, in the same group of tasks, each task can and can only select one processing server. Therefore, in the row vector of the encoding matrix, at most one element is 1. Represents the remaining resources of the node server. Monitor the resource information of the node server. When the resource utilization rate is less than a certain threshold c, it can indicate that the node server can accept more task requests.

[0025] S5. Use the cuckoo search algorithm to iteratively optimize and solve the proposed problem, and output the encoded solution set. Transform the task scheduling problem in the cluster into a process where a flock of birds iteratively searches for the optimal nest location for incubation, including the following parts:

[0026] ① Set the initial parameters for nest optimization, including the number of nests, the maximum number of iterations, and the probability pa of a cuckoo finding a foreign egg, and determine the fitness function as the objective function.

[0027] ② Initialize the bird flock.

[0028] Generate an initial bird flock D of size N in a random manner _cell , expressed as: D _cell = [D 1 , D 2 , D 3 , …, D N-1 , D N , where each encoded matrix represents a scheduling scheme.

[0029] ③ Calculate the fitness value.

[0030] Quantify the comprehensive processing ability and load information of the server by collecting the server's parameters, calculate the fitness function value, and update the initial bird flock.

[0031] ④ Iterate the bird flock. When the maximum number of iterations is not satisfied, start the population iteration to find a better nest location.

[0032] ⑤ Update the nest location in an improved Lévy flight manner.

[0033] In the life of a cuckoo flock, the way a cuckoo finds a suitable nest for laying eggs is random, but it follows a special movement trajectory, that is, the movement distance is short within a certain short time, and there is a long movement distance once in a long time, following the Lévy distribution, and the expression is:

[0034]

[0035] In the formula, L(λ) ~ u = y -λ , u is the movement step size, and 1 < λ ≤ 3.

[0036] ⑥ Further, in order to better perform fast search and local precise search, introduce a dynamic parameter β to moderately adjust the step size, and β can be expressed as:

[0037] β = θ(Iter MAX - t) + β 0 (7)

[0038] In the formula, Iter MAXIt represents the maximum number of iterations set by the algorithm, t represents the current iteration number, and θ represents the change amplitude. β 0 The control step size is not zero. Among them, θ and β 0 are determined by the size of the problem-solving scale. Then the new expression is obtained as follows:

[0039]

[0040] ⑦ Compare the positions of the contemporary bird's nest and the previous generation of bird's nest to obtain the better bird's nest D best .

[0041] ⑧ Screen the bird flock through the discovery probability pa. If the random number r in (0, 1) > pa, then for D best perform another random optimization to obtain a better bird's nest.

[0042] ⑨ The iterative loop terminates. When the iteration number is reached, stop the iteration and output the position of the better global optimal bird's nest. Otherwise, start from step ④ and continue the iteration.

[0043] S6. Output a suitable coding scheme. Strictly speaking, the optimal fitness function value in the optimization result may be one or more Fits best , that is, there exists a pareto solution set, and each Fit best will correspond to a coding scheme.

[0044] S7. Decode the scheme to find the relationship between the final task request and the processing server, and the scheduling mechanism will randomly select a coding scheme for task scheduling.

[0045] Preferably, in step S2, let α 1 ~α 4 take values of 0.5, 0.2, 0.2, and 0.1 respectively.

[0046] The beneficial effects of the present invention are as follows:

[0047] In solving the problem of cluster load balancing, the present invention can combine the characteristics of the cuckoo search algorithm with the processing performance of the node servers in the cluster, more quickly plan reasonable server resources for network requests, reduce resource waste, and can greatly shorten the network request response time, reduce the task failure rate, and make the resource allocation more reasonable. The most effective is to reasonably improve the moving step size of the Lévy flight in the cuckoo search algorithm, making it more suitable for solving the problem of load balancing allocation in the cluster, and making the entire solution more efficient and accurate. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] Figure 1 The flowchart of the method of the present invention.

[0049] Figure 2 It is the coding diagram of the embodiment of the present invention.

[0050] Figure 3 It is the Pareto solution set diagram of the embodiment of the present invention. Detailed implementation manners

[0051] In order to explain the technical solution of the present invention more clearly, the following introduces the specific implementation process of the present invention by combining the accompanying drawings and embodiments. It should be noted that the embodiments proposed by the present invention are only for better explaining the present invention and are not limited to the present invention.

[0052] The present invention proposes a server load balancing method based on dual-objective optimization. The process of the embodiment is as Figure 1 shown, and the specific implementation steps are as follows:

[0053] (1) Determine the number of processing servers and task requests in a single request allocation. In an actual cluster system, when a large number of concurrent requests occur, in order to prevent the system crash problem caused by traffic aggregation in a short time, a traffic control method is adopted for traffic control. In the present invention, when a large number of task requests occur, all requests are stored in a queue, and the sliding window technology is adopted to obtain that the number of task requests to be allocated is 12. The number of processing servers is set to 7.

[0054] (2) Use the server monitoring system to obtain the real-time initial state information of the servers. The initial state information of the processing servers in the cluster determines the current processing ability of the servers and the ability to receive new task requests at the current moment, and is the main measurement standard for new task requests to select processing servers.

[0055] The comprehensive processing ability of the server is directly related to the CPU frequency, memory capacity, network bandwidth, and disk read / write speed, and is expressed as formula (1):

[0056] P = α 1 *p cpu + α 2 *p memory + α 3 *p band + α 4 *p I / O (1)

[0057] In the formula, α i represents the influence weight of each parameter on the processing ability of the server, satisfying is directly related to the configuration information of the server. Let α 1 ~α 4The values are 0.5, 0.2, 0.2, and 0.1 respectively. The greater the weight, the more significant the impact of the parameter on the server performance. The processing capabilities of the 7 servers are expressed as P(S 1 )、P(S 2 )、P(S 3 )、P(S 4 )、P(S 5 )、P(S 6 )、P(S 7 ).

[0058] The actual set parameters of the server determine the actual processing capabilities of each server. At the same time, the resource utilization rate of the server is also closely related to the CPU frequency, memory capacity, network bandwidth, and disk read / write speed, and is linearly expressed as formula (2):

[0059] C = β 1 *c cpu +β 2 *c memory +β 3 *c band +β 4 *c I / O (2)

[0060] In the formula, β i represents the influence weight of each parameter on the server processing ability, and satisfies The parameter size is consistent with α i . The resource utilization rates of the 7 servers are expressed as C(S 1 ), C(S 2 ), C(S 3 ), C(S 4 ), C(S 5 ), C(S 6 ), C(S 7 ).

[0061] When a task request arrives, which server to select is determined by the remaining resources of the processing servers in the cluster. In the present invention, the remaining resources of the current processing server can be expressed as:

[0062]

[0063] In the formula: C(S j ) represents the current resource usage of the jth processing server, represents the proportion of the resource usage of the jth processing server in the entire cluster. Considering the overall performance of each processing server in the cluster, a resource usage threshold constant c is determined. Only the processing servers that satisfy can become candidate servers and be stored in the candidate server set. And The smaller it is, the more stable the status of the candidate server, and the candidate server set with a smaller value is preferentially selected when allocating tasks for task requests. One with a smaller value.

[0064] (3) Use a 0-1 matrix to encode the relationship between task requests and processing servers, and represent it with an encoding matrix D.

[0065] The only purpose of encoding is to associate the relationship between task requests and processing servers in the system. In the embodiments of the present invention, there are only 12 task requests in the system scheduling, and the number of processing servers in the cluster is 7. Then the encoding relationship diagram between the two is as shown in Figure 2 the encoding part.

[0066] Each row in the encoding matrix represents an incoming task request. 0-1 indicates whether the task request is processed at the server number it belongs to. In each scheduling, each task request can only select one server for interaction. When a task request arrives, the monitoring server statistics the load information and filters the server numbers that can enter the candidate set. The specific task request allocation occurs on the candidate server set.

[0067] (4) Handle the cluster problem through the method of load balancing. The main purpose is to reasonably utilize idle resources, improve the throughput of the cluster system, and reduce the processing time of tasks. In the present invention, the task completion time and the processing time difference between each server in the cluster are regarded as two goals competing for system resources. When ensuring the minimum cluster processing time, the resource utilization rate of the server may not be the highest. Therefore, the objective function is constructed as formula (3):

[0068]

[0069] In the formula, t(S j ) represents the time consumed by each processing server to complete the allocation of this group of tasks, where j ∈ [1, n], representing the label of the processing server in the cluster. σ represents the processing time difference of the servers in a group of allocated task requests, which can be expressed by formula (4):

[0070]

[0071] In the formula, represents the average task completion time of each server in the cluster; σ represents the variance of the processing time of each server in the cluster. The smaller the value of σ, the smaller the processing time difference between each server.

[0072] The constraint condition can be expressed as formula (5):

[0073]

[0074] The constraint only limits that a task can only select one server for processing. At the same time, when selecting a server, a candidate server set is constructed according to the remaining server resources at the request moment, and the task request selects the server to interact with from the candidate server set.

[0075] (5) Use the cuckoo search algorithm to iteratively optimize and solve the proposed optimization problem:

[0076] ① Set the number of tasks, the number of nodes in the server cluster, the number of bird flocks N, the number of iterations, and the probability pa that a cuckoo discovers a foreign egg.

[0077] ② Initialize the bird flock. Generate an initial bird flock D of size N in a random way _cell , expressed as:

[0078] D _cell = [D 1 , D 2 , D 3 , …, D N-1 , D N , where each D i represents a scheduling scheme, such as the encoding part in Figure 2 . The row vector in D i represents each task allocated in the system. Each D i can be decomposed into 12 row vectors, and the 1 in each row vector represents the label of the candidate server.

[0079] ③ Calculate the fitness value

[0080] The fitness value function of the present invention is transformed from the objective function. By collecting the parameters of the server, the comprehensive processing ability P(S j ) and the load information C(S j ) of the server are quantified to calculate the fitness value function. ④ Iterate the bird flock. When the maximum number of iterations is not satisfied, the population iteration starts.

[0081] ⑤ Update the position of the bird's nest in the way of Levy flight.

[0082] In the life of the cuckoo flock, the way the cuckoo finds a suitable nest to lay eggs is random, but it follows a special movement trajectory, that is, the movement distance is short in a certain short time, and there is a long movement distance once in a long time, which follows the Levy distribution, expressed as formula (6):

[0083]

[0084] In the formula, L(λ)~u = t -λ , u is the movement step size, and 1 < λ ≤ 3.

[0085] Introduce a dynamic parameter β to moderately adjust the step size, and β can be expressed as formula (7):

[0086] β = θ(Iter MAX -t) + β 0 (7)

[0087] In the formula, Iter MAX represents the maximum number of iterations set by the algorithm, t represents the current number of iterations, and θ represents the variation range. β 0 controls that the step size is not 0. Among them, θ and β 0 are determined by the size of the problem to be solved. Then a new one is obtained and expressed as formula (8):

[0088]

[0089] The reason for improving the step size is to facilitate improving the speed and accuracy of the bird flock optimization according to the actual problem characteristics. In each generation the fitness function will be used for selection.

[0090] ⑥ Compare the positions of the current generation of bird nests and the previous generation of bird nests to obtain a better bird nest D best .

[0091] ⑦ Screen the bird flock through the discovery probability pa. If the random number r in (0, 1) > pa, then perform another random optimization on D best to obtain a better bird nest and output the better fitness function value.

[0092] ⑧ Terminate the loop iteration. When the number of iterations is reached, stop the iteration and output the better global optimal fitness function value Fit best and the corresponding coding matrix D, otherwise start from step ④ and continue the iteration.

[0093] (6) Output a suitable coding scheme.

[0094] Strictly speaking, the optimal fitness value Fit best may be one or more, that is, there is a pareto solution set, and each Fit best will correspond to a coding scheme. Each solution in the solution set is an indistinguishable solution. As Figure 3 shown, in a single task assignment, that is, the iterative optimization process, 4 fitness function values Fit best will appear. Each fitness function value will respectively correspond to a coding scheme, and the scheduling mechanism will randomly select a coding scheme to schedule the tasks according to the serial numbers where 0 and 1 are located.

[0095] (7) Decode the scheme and find the relationship between the final task request and the processing server. The scheduling mechanism will randomly select an encoding scheme for task scheduling.

[0096] The relationship between the specific task request and the candidate server in the embodiment is combined Figure 2 The encoding matrix in can derive the relationship between the decoded task request on the right and the candidate server, and can achieve the dual goals of minimizing task time and improving cluster load balancing.

[0097] The contents described in the embodiments of this specification are merely an enumeration of the implementation forms of the inventive concept. The protection scope of the present invention should not be regarded as limited to the specific forms described in the embodiments. The protection scope of the present invention also extends to equivalent technical means that can be conceived by those skilled in the art based on the inventive concept.

Claims

1. Server load balancing method based on dual-objective optimization, including the following steps: S1. Determine the number of processing servers in a single request allocation process, and use a sliding window to obtain the number of task requests according to the number of concurrent requests at time nodes; S2. Obtain the real-time status information of the servers, including quantifying the comprehensive processing capabilities of the node servers in the cluster and the resource usage of each server at the moment when the task requests arrive; The comprehensive processing capabilities of the servers are directly related to the CPU frequency, memory capacity, network bandwidth, and disk read / write speed, and are expressed as: P = α 1 *p cpu + α 2 *p memory + α 3 *p band + α 4 *p I / O (1) Where, α i represents the influence weight of each parameter on the server processing capacity, and satisfies has a direct connection with the configuration information of the server. The greater the weight, the more significant the influence of the parameter on the server performance; The resource usage of the servers is also closely related to the CPU frequency, memory capacity, network bandwidth, and disk read / write speed, and is linearly expressed as: C = β 1 *c cpu +β 2 *c memory +β 3 *c band +β 4 *c I / O (2) where β i represents the influence weight of each parameter on the server processing capacity, satisfying the parameter size is consistent with α i ; S3. Use a 0-1 matrix to encode the relationship between task requests and processing servers, and represent it through a matrix: In a group of allocated tasks, a row in the encoding matrix represents a task, and the position where the element is 1 indicates the serial number of the server; S4. Construct the objective function of the cluster load request allocation optimization problem, and express it as: where t(S j ) represents the time consumed for each processing server to complete a group of task assignments, where j ∈ [1, n] represents the label of the processing server in the cluster; σ represents the processing time difference of the servers in a group of assignment task requests, which can be expressed as follows: Among them, represents the average task completion time of each server in the cluster; σ represents the variance of the processing times of the servers in the cluster, and the smaller the value of σ, the better; the constraint condition can be expressed as: In the formula, represents the sum of each row element in the encoding matrix D, and d i*j can only take values of 0 or 1. When d i*j is 1, it means that the task request is processed on the selected node server. Also, since in the same group of tasks, each task can and only can select one processing server, so in the row vector of the encoding matrix, there is at most one element that is 1; represents the remaining resources of the node server; by monitoring the resource information of the node server, when the resource utilization rate is less than a certain threshold c, it can be shown that the node server can accept more task requests; S5. Use the cuckoo search algorithm to iteratively optimize and solve the proposed problem, and output the encoding solution set; Transform the task scheduling problem in the cluster into a process where a flock of birds iteratively searches for the optimal nest location for incubation, including the following parts: ① Set the initial parameters for nest optimization, including the number of nests, the optimal number of iterations, and the probability pa that a cuckoo discovers a foreign egg, and determine the fitness function as the objective function; ② Initialize the bird flock; Generate an initial bird flock D with a quantity of N in a random manner _cell , expressed as: D _cell = [D 1 , D 2 , D 3 , …, D N-1 , D N , where each coding matrix represents a scheduling scheme; ③ Calculate the fitness value; Quantify the comprehensive processing capabilities and load information of the servers by collecting the parameters of the servers, calculate the fitness function value, and update the initial bird flock; ④ Iterate the bird flock; When the maximum number of iterations is not satisfied, start the iteration of the population to find a better nest location; ⑤ Update the position of the nest in an improved Lévy flight manner; In the life of the cuckoo group, the way cuckoos find suitable nests for laying eggs is random, but they follow a special movement trajectory, that is, they move a short distance in a certain short time and have a long-distance movement once in a long time, and follow the Lévy distribution, and the expression is: where \(L(\lambda)\sim u = t\) -λ , \(u\) is the moving step size, and \(1\lt\lambda\leq3\); ⑥ Introduce a dynamic parameter β to moderately adjust the step size, and β can be expressed as: β = θ(Iter MAX -t) + β 0 (7) where Iter MAX represents the maximum number of iterations set by the algorithm, t represents the current number of iterations, and θ represents the change amplitude; β 0 controls the step size not to be zero; where θ and β 0 are determined by the size of the problem to be solved; then the new expression is obtained as: ⑦ Compare the positions of the contemporary bird's nest and the previous generation of bird's nests to obtain a better bird's nest D best ; ⑧Screen the bird flock through the discovery probability pa; if the random number r in (0, 1) > pa, then perform a random optimization on D best to perform another random optimization to obtain a better bird nest; ⑨ Terminate the loop iteration; When the number of iterations is reached, stop the iteration and output the better globally optimal nest location, otherwise start from step ④ and continue the iteration; S6. Output a suitable coding scheme; there is a Pareto solution set for the optimal fitness function value in the optimization result, and each Fit best will correspond to a coding scheme; S7. Decode the solution to find the final relationship between task requests and processing servers, and the scheduling mechanism will randomly select an encoding solution for task scheduling.

2. The server load balancing method based on dual-objective optimization according to claim 1, characterized in that: Set α in step S2 1 ~α 4 Take values of 0.5, 0.2, 0.2, and 0.1 respectively.