Resource collaborative allocation method and device for multi-agent system
By initializing boundary variables for the multi-agent system and performing iterative interaction and coordination, and optimizing resource allocation, the problem of inefficient resource collaborative allocation of multi-agent systems is solved, and the overall system efficiency is maximized and the scalability of resource allocation is achieved.
Patent Information
- Application Number
- CN202011296999.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-11-18
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2040-11-18
AI Technical Summary
Multi-agent systems lack effective technical solutions in resource collaborative allocation, resulting in inefficient resource allocation and inability to maximize the overall system efficiency.
By initializing boundary variables for each agent, and performing interactive coordination between neighbors and resource updates during the iteration process, ensuring that the resources of each agent are allocated within the allowed lower and upper boundaries, using performance functions and state flags Optimize resource allocation and maximize the overall system efficiency.
It realizes the optimization of resource allocation among different agents, is suitable for multi-agent networks of any scale, is scalable, and can effectively allocate resources in the presence of cut points, avoiding the need for global communication. Use distributed interactive coordination to achieve resource allocation.
Smart Images

Figure CN112288321B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to signal processing technology, and more particularly to a method and device for collaborative resource allocation in a multi-agent system. Background Art
[0002] An intelligent agent generally refers to an intelligent self-subject, which usually has computing, communication, and response capabilities. Common intelligent agents include artificial satellites, drones, unmanned vehicles, smart appliances, smart hardware, mechatronics sensors, cargo storage, generators, etc. The collaborative work of a multi-agent system composed of multiple intelligent agents can achieve more complex task functions. For example, a wireless sensor network formed by the collaborative work of multiple sensors can achieve regional monitoring coverage, a synthetic aperture camera formed by the collaborative work of multiple small-aperture cameras can achieve equivalent large-aperture observation, and a generator set formed by the collaborative work of multiple generators can achieve high-power electrical energy output.
[0003] The collaborative work process of multi-agent systems is usually accompanied by the flow and allocation of resources. Since each agent is not exactly the same, and the performance difference may even be quite large, that is, given the same resources, the local efficiency generated by each agent is high or low. Therefore, in the practical application of multi-agent systems, it is necessary to solve the problem of resource collaborative allocation, that is, how to reasonably allocate a certain amount of resources to each agent in the multi-agent system, so as to maximize the overall efficiency of the system.
[0004] Unfortunately, since multi-agent resource allocation is still a cutting-edge technology, there is no relevant technology to refer to. Summary of the invention
[0005] In view of this, an embodiment of the present application provides a method and device for collaborative resource allocation in a multi-agent system.
[0006] According to a first aspect of the present application, a resource collaborative allocation method for a multi-agent system is provided, comprising:
[0007] Initialize boundary variables for each agent, which include at least the upper boundary variable α i and the lower boundary variable β i , where i is the number of the agent, α i and β i are all real numbers; at time t = 0, the upper boundary variable α i Initialize to Lower boundary variable β i Initialize to Where [0] represents the value of the variable at time t=0, x i Represents the local resources of agent i, and its value range is a i ≤xi ≤b i ,a i and b i are respectively the lower and upper limits allowed for resource x i ; u i represents the effectiveness function of agent i with respect to local resource x i i.e., u i = u i (x i ), represents the partial derivative of the effectiveness function u i with respect to resource x i ; and respectively represent the values of the variables on the left side of the vertical line when x i = a i and x i = b i ;
[0008] Enable each agent to start the first iteration process, which includes at least one of the following processes: perform interaction coordination among the first neighbors, update the boundary variables;
[0009] Compare the current time k with the number n of all agents in the system. If k + 1 < n, then the first iteration process is completed; otherwise, repeat the first iteration process;
[0010] After the first iteration process is completed, each agent fixes the upper and lower boundary variables as fixed values, and respectively denotes them as a i [CONST] and b i [CONST]; For each agent, reset the time label to make k = 0, and initialize the local resource x i , that is, make x i [0] equal to the value of the initial resource of agent i in the input condition;
[0011] Enable each agent to start the second iteration process, which includes at least one of the following processes: monitor the local resource and update the status flag, calculate the partial derivative of the local effectiveness with respect to the local resource, perform interaction coordination among the second neighbors, update the local resource;
[0012] Compare the current time k with the preset maximum number of iterations m. m is a positive integer and satisfies If k + 1 < m, then the second iteration process is completed, and at this time the resource allocation effect meets the goal of maximizing the overall effectiveness of the system; otherwise, repeat the second iteration process; where, the maximization of the overall effectiveness of the system means:
[0013] The constraint condition is: the local resource of each agent i satisfies ai ≤x i ≤ b i , and the total amount of resources of all agents is constant, that is Where D is a real constant, and its value is determined by the sum of the initial resources of all agents, that is,
[0014] As an implementation method, the utility function u i It is used by agent i to characterize local resources x i A continuous function corresponding to the local effectiveness, u i Satisfies the second-order differentiability and the second-order derivative is negative, that is, For any i, for any non-local resource x j The partial derivative of is equal to 0, that is For any i≠j, u i 、x i 、x j 、a i 、b i The value range is real numbers.
[0015] As an implementation method, the interactive coordination between neighbors includes:
[0016] At time t = k, each agent i broadcasts the boundary variable α to its neighboring agents. i [k] and β i [k], and receive the boundary variables sent by all neighboring agents, where [k] represents the value of the variable at time t=k, k is a non-negative integer, and the neighboring agent refers to the agent that can exchange information with the current agent;
[0017] The updating of the boundary variables includes: at the time t=k+1, each agent updates the boundary variables according to equations (1) and (2):
[0018] α i [k+1]=max{α p [k]|p∈N i ∪{i}} (1)
[0019] β i [k+1]=min{β p [k]|p∈N i ∪{i}} (2)
[0020] Among them, N i represents the set of neighboring agents of agent i, N i ∪{i} represents the union of agent i and all its neighboring agents, and the set {α p [k]|p∈Ni ∪{i}} represents the set of upper boundary variables of agent i and all its neighboring agents, and the set {β p [k]|p∈N i ∪{i}} represents the set consisting of the lower boundary variables of agent i and all its neighboring agents, and min and max represent the minimum and maximum values in the set, respectively.
[0021] As an implementation manner, monitoring the local resources and updating the status flag includes:
[0022] At time t = k, each agent i monitors the local resource variable x i , and update the state flag σ according to equations (3) and (4) i and τ i :
[0023]
[0024]
[0025] Among them, σ i is the hunger status indicator, τ i It is a sign of saturation state;
[0026] The calculation of the partial derivative of local performance with respect to local resources includes: at the time t=k, for each agent i, calculating the partial derivative of local performance with respect to local resources get
[0027] As an implementation manner, the interactive coordination between the second neighbors includes:
[0028] At the time t = k, each agent i broadcasts the state flag and the partial derivative of local efficiency with respect to local resources to its neighboring agents, i.e., σ i [k], τ i [k], And receive the state flags and partial derivatives of local efficiency with respect to local resources sent by all neighboring agents;
[0029] The updating of local resources includes: at time t=k+1, each agent updates the local resources according to formula (5):
[0030]
[0031] Wherein, e is a constant representing the iteration step length of the second iteration process, and its value is n is the number of all agents in the system; A i , B i , C iAll are real numbers, and at each moment they are calculated using the following formulas (6), (7), and (8):
[0032] A i [k] = σ i [k]·(1-τ i [k])·α i [CONST] (6)
[0033]
[0034] C i [k] = τ i [k]·β i [CONST] (8).
[0035] According to a second aspect of the present application, a resource collaborative allocation device for a multi-agent system is provided, characterized in that the device comprises:
[0036] The first initialization unit is used to initialize the boundary variables for each agent, and the boundary variables at least include the upper boundary variable α i and the lower boundary variable β i , where i is the number of the agent, α i and β i are all real numbers; at time t = 0, the upper boundary variable α i Initialize to Lower boundary variable β i Initialize to Where [0] represents the value of the variable at time t=0, x i Represents the local resources of agent i, and its value range is a i ≤x i ≤ b i , a i and b i They are resources x i The lower and upper limits allowed; u i Represents agent i about local resource x i The utility function is u i =u i (x i ), Represents the efficiency function u i For resource x i The partial derivative of and Represents the variables on the left side of the vertical line in x i =a i and x i =b i The value of
[0037] The first iterative processing unit is used to enable each agent to start the first iterative process, and the first iterative process includes at least one of the following processes: performing interaction and coordination among the first neighbors, and updating the boundary variables;
[0038] The first judgment unit is used to compare the current time k with the number n of all agents in the system. If k + 1 < n, the first iterative process is completed; otherwise, the first iterative process is repeated;
[0039] The second initialization unit is used to, after the first iterative process is completed, fix the upper boundary variable and the lower boundary variable of each agent as fixed values, and denote them as α i [CONST] and β i [CONST]; for each agent, reset the time label to make k = 0, and initialize the local resource x according to the input conditions i , that is, make x i [0] equal to the value of the initial resource of agent i in the input conditions;
[0040] The second iterative processing unit is used to enable each agent to start the second iterative process, and the second iterative process includes at least one of the following processes: monitoring the local resource and updating the status flag, calculating the partial derivative of the local efficiency with respect to the local resource, performing interaction and coordination among the second neighbors, and updating the local resource;
[0041] The second judgment unit is used to compare the current time k with the preset maximum number of iterations m. m is a positive integer and satisfies If k + 1 < m, the second iterative process is completed, and at this time, the resource allocation effect meets the goal of maximizing the overall efficiency of the system; otherwise, the second iterative process is repeated; where, the maximization of the overall efficiency of the system means:
[0042] The constraint conditions are: the local resource of each agent i satisfies a i ≤x i ≤b i , and the total amount of resources of all agents is constant, that is where D is a real constant, and the value of D is determined by the sum of the initial resources of all agents, that is
[0043] As an implementation, the efficiency function u i is a continuous function used by agent i to describe the corresponding relationship between the local resource x i and the local efficiency. u i satisfies second-order differentiability and the second derivative is negative, that is holds for any i, and the partial derivative of u with respect to any non-local resource x j is equal to 0, that is For any i≠j, u i 、x i 、x j 、a i 、b i The value range is real numbers.
[0044] As an implementation manner, the first iterative processing unit is further configured to:
[0045] At time t = k, each agent i broadcasts the boundary variable α to its neighboring agents. i [k] and β i [k], and receive the boundary variables sent by all neighboring agents, where [k] represents the value of the variable at time t=k, k is a non-negative integer, and the neighboring agent refers to the agent that can exchange information with the current agent;
[0046] At the time t=k+1, each agent updates its boundary variables according to equations (1) and (2):
[0047] α i [k+1]=max{α p [k]|p∈N i ∪{i}} (1)
[0048] β i [k+1]=min{β p [k]|p∈N i ∪{i}} (2)
[0049] Among them, N i represents the set of neighboring agents of agent i, N i ∪{i} represents the union of agent i and all its neighboring agents, and the set {α p [k]|p∈N i ∪{i}} represents the set of upper boundary variables of agent i and all its neighboring agents, and the set {β p [k]|p∈N i ∪{i}} represents the set consisting of the lower boundary variables of agent i and all its neighboring agents, and min and max represent the minimum and maximum values in the set, respectively.
[0050] As an implementation manner, the second iterative processing unit is further configured to:
[0051] At time t = k, each agent i monitors the local resource variable x i , and update the state flag σ according to equations (3) and (4) i and τ i :
[0052]
[0053]
[0054] Among them, σ i is the hunger status indicator, τ i It is a sign of saturation state;
[0055] At the time t = k, the partial derivative of local efficiency with respect to local resources is calculated for each agent i get
[0056] As an implementation manner, the second iterative processing unit is further configured to:
[0057] At the time t = k, each agent i broadcasts the state flag and the partial derivative of local efficiency with respect to local resources to its neighboring agents, i.e., σ i [k], τ i [k], And receive the state flags and partial derivatives of local efficiency with respect to local resources sent by all neighboring agents;
[0058] At the time t=k+1, each agent updates its local resources according to equation (5):
[0059]
[0060] Wherein, e is a constant representing the iterative step length of the second iterative process, and its value is n is the number of all agents in the system; A i , B i , C i All are real numbers, and at each moment they are calculated using the following formulas (6), (7), and (8):
[0061] A i [k] = σ i [k]·(1-τ i [k])·α i [CONST] (6)
[0062]
[0063] C i [k] = τ i [k]·β i [CONST] (8).
[0064] The resource collaborative allocation method and device of the multi-agent system of the embodiment of the present application is applicable to a connected multi-agent network of any scale, has scalability, allows the resources that can be allocated to each agent to be constrained by the lower and upper boundaries, and allows the constraints on different agents to be heterogeneous. At the same time, the embodiment of the present application can be applied to solving resource allocation problems in the presence of cut points, that is, when key nodes in certain topologies are saturated because local resources reach the upper upper boundary, the embodiment of the present application can also achieve an optimal solution for resource allocation. The embodiment of the present application does not require the agent to have global communication capabilities, and only relies on distributed interactions between neighboring nodes in the topology. It is a distributed resource allocation method. BRIEF DESCRIPTION OF THE DRAWINGS
[0065] Figure 1 A schematic diagram of a process flow of a resource collaborative allocation method for a multi-agent system provided in an embodiment of the present application;
[0066] Figure 2 A schematic diagram of the communication relationship between agents in a multi-agent network according to an embodiment of the present application;
[0067] Figure 3 It is a schematic diagram of an iterative curve for each agent in the embodiment of the present application to coordinate the upper boundary variable;
[0068] Figure 4 It is a schematic diagram of an iterative curve for the coordination of the lower boundary variable by each intelligent agent in the embodiment of the present application;
[0069] Figure 5 Schematic diagram of the optimization curve of the overall system performance in this embodiment;
[0070] Figure 6 A schematic diagram of the composition structure of a resource collaborative allocation device for a multi-agent system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0071] The technical solution of the embodiment of the present application is further explained in detail below in combination with specific examples and with reference to the accompanying drawings.
[0072] Figure 1 A schematic diagram of a process flow of a resource collaborative allocation method for a multi-agent system provided in an embodiment of the present application, such as Figure 1 As shown, the resource collaborative allocation method of the multi-agent system in the embodiment of the present application includes the following processing steps:
[0073] Step 101, initialize boundary variables for each agent. The boundary variables include upper boundary variables α i and the lower boundary variable β i , where i is a positive integer representing the number of the agent, α i and β iare all real numbers; at time t = 0, the upper boundary variable α i Initialize to Lower boundary variable β i Initialize to Where [0] represents the value of the variable at time t=0, x i Represents the local resources of agent i, and its allowed value range is a i ≤x i ≤ b i , a i and b i They are resources x i The lower and upper limits allowed and their values are determined by the characteristics of agent i; u i Represents agent i about local resource x i The utility function is u i =u i (x i ), Represents the efficiency function u i For resource x i The partial derivative of and Represents the variables on the left side of the vertical line in x i =a i and x i =b i The value of the performance function u i It is used by agent i to characterize local resources x i The continuous function corresponding to the local efficiency is abstracted according to the actual situation and can be given in advance. Here, the efficiency function u is given i On the one hand, the second-order differentiable condition needs to be satisfied and the second-order derivative must be negative, that is, For any i, on the other hand, for any non-local resource x j The partial derivative of is equal to 0, that is For any i≠j, u i 、x i 、x j 、a i 、b i The value range is all real numbers;
[0074] Step 102, each agent starts the first iteration process; the first iteration process at least includes interactive coordination between first neighbors, updating boundary variables, and determining whether the first iteration process is completed, etc. The processing steps specifically include:
[0075] The first interaction and coordination between neighbors is carried out, specifically including: at time t = k, each agent i broadcasts the boundary variable α to the neighboring agents i [k] and βi [k], and receive the boundary variables sent by all neighboring agents, where [k] represents the value of the variable at time t = k, k is a non-negative integer, and neighboring agents refer to agents that can interact with the current agent in terms of information;
[0076] Update the boundary variables, specifically including: at the (k + 1)-th time step, each agent updates the boundary variables according to Equations (1) and (2):
[0077] α i [k + 1] = max{α p [k] | p ∈ N i ∪{i}} (1)
[0078] β i [k + 1] = min{β p [k] | p ∈ N i ∪{i}} (2)
[0079] where N i represents the neighbor set of agent i, N i ∪{i} represents the union set composed of agent i and all its neighboring agents, the set {α p [k] | p ∈ N i ∪{i}} represents the set composed of the upper boundary variables of agent i and all its neighboring agents, and the set {β p [k] | p ∈ N i ∪{i}} represents the set composed of the lower boundary variables of agent i and all its neighboring agents, and min and max respectively represent finding the minimum value and the maximum value in the set;
[0080] Determine whether the first iteration process is completed, specifically including: comparing the current time with the number n of all agents in the system. If k + 1 < n, it is determined that the first iteration process is completed; otherwise, if k + 1 ≥ n, it is determined that the first iteration process is not completed and the relevant processing steps of the first iteration process are repeated;
[0081] After the first iteration process is completed, each agent fixes the upper boundary variable and the lower boundary variable as fixed values, and respectively denotes them as a i [CONST] and b i [CONST].
[0082] Step 103, initialize the resource variable for each agent, specifically including: first reset the time label to make k = 0, and then initialize the local resource x i , that is, make x i [0] equal to the value of the initial resource of agent i in the input condition;
[0083] Step 104, each agent starts the second iteration process; the second iteration process at least includes monitoring local resources and updating status flags, calculating the partial derivative of local efficiency with respect to local resources, performing interactive coordination between second neighbors, updating local resources, and determining whether the second iteration process is completed. The relevant processing steps of the second iteration process specifically include:
[0084] Monitor local resources and update status flags, specifically including: at time t = k, each agent i monitors the local resource variable x i , and update the state flag σ according to equations (3) and (4) i and τ i :
[0085]
[0086]
[0087] Among them, σ i is the hunger status indicator, τ i It is a sign of saturation state;
[0088] Calculate the partial derivative of local efficiency with respect to local resources. Specifically, at time t = k, calculate the partial derivative of local efficiency with respect to local resources for each agent i. get
[0089] The interactive coordination between the second neighbors is carried out, which specifically includes: at the time t = k, each agent i broadcasts the state flag and the partial derivative of local efficiency to local resources to its neighbors, that is, σ i [k], τ i [k], And receive the status flags and partial derivatives of local efficiency with respect to local resources sent by all neighbors;
[0090] Updating local resources specifically includes: at the time t=k+1, each agent updates the local resources according to formula (5):
[0091]
[0092] Among them, e is a constant representing the iteration step size of the second iteration process, and its value is n is the number of all agents in the system; A i , B i , C i are all real numbers, and each moment can be calculated according to formulas (6), (7), and (8):
[0093] A i [k] = σ i [k]·(1-τ i [k])·αi [CONST] (6)
[0094]
[0095] C i [k] = τ i [k]·β i [CONST] (8)
[0096] Among them, i is a positive integer representing the number of the agent.
[0097] Determine whether the second iteration process is completed, specifically including: comparing the current time with the preset maximum number of iterations m, where m is a positive integer and satisfies If k + 1 < m, it is determined that the second iteration process is completed, and at this time, the resource allocation effect meets the goal of maximizing the overall system efficiency; otherwise, if k + 1 ≥ m, it is determined that the second iteration process is not completed, and the relevant processing steps of the second iteration process are repeated;
[0098] In the embodiments of the present application, the maximization of the overall system efficiency means:
[0099] Maximize:
[0100] The constraint condition is: the local resources of each agent i satisfy a i ≤ x i ≤ b i , and the total amount of resources of all agents is constant, that is where D is a real constant, and the value of D is determined by the sum of the initial resources of all agents, that is
[0101] The following uses a specific example to further clarify the essence of the technical solution of the embodiments of the present application. A multi-agent system composed of 5 agents, n = 5, and the numbers of each agent are 1, 2, 3, 4, 5 respectively. Their topological connection relationship is as Figure 2 shown. The allowable value range of the local resources x i of each agent is a i ≤ x i ≤ b i , a i and b i are determined by the characteristics of the agent itself. In the embodiments of the present application, a1 = 6, a2 = 4, a3 = 3, a4 = 5, a5 = 7, b1 = 20, b2 = 5, b3 = 4, b4 = 6, b4 = 15. The efficiency function u i of each agent is different, and they are respectively u i = -x i 2 + b ix i According to the implementation steps, each agent initializes its upper and lower boundary variables as α1[0]=8, α2[0]=-3, α3[0]=-2, α4[0]=-4, α5[0]=1, β1[0]=-20, β2[0]=-5, β3[0]=-4, β4[0]=-6, β5[0]=-15.
[0102] The above method of the embodiment of the present application is used to iterate each agent to coordinate with neighbors, update boundary variables, and judge iterations to obtain updated boundary variables. The iteration curve is as follows: Figure 3 and Figure 4 As shown, fixed upper and lower boundary variables are obtained
[0103] α1[CONST]=α2[CONST]=α3[CONST]=α4[CONST]=α5[CONST]=8
[0104] β1[CONST]=β2[CONST]=β3[CONST]=β4[CONST]=β5[CONST]=-20;
[0105] Each agent initializes a resource variable x i , according to the value of the initial resource of the agent in the actual input condition. In the embodiment of the present application, the values of the initial resources of each agent are 20, 4, 3, 5, and 7 respectively, so the initialized resource variables are x1[0]=20, x2[0]=4, x3[0]=3, x4[0]=5, and x5[0]=7. According to the range of the second iteration step length and the number of iterations It can be seen that, in fact, the smaller the iteration step, the more accurate the optimization result will be, but the number of iterations required will also be more. In the embodiment of the present application, e=0.02 and m=500 are selected for iteration between agents, and finally the overall performance of the optimized system can be obtained, such as Figure 5 As shown, it can be seen that the overall system performance is gradually optimized to the maximum (the slight fluctuation is the allowable convergence error caused by the iteration step). After the iteration, the optimized resource allocation result is that the resource variables of the five agents are x1=13.60, x2=4.74, x3=3.96, x4=5.70, and x5=11.00.
[0106] The embodiments of the present application are applicable to connected multi-agent networks of any size, are scalable, allow the resources that can be allocated to each agent to be constrained by lower and upper boundaries, and allow the constraints on different agents to be heterogeneous. At the same time, the embodiments of the present application can be applied to solving resource allocation problems in the presence of cut points, that is, when key nodes in certain topologies are saturated because local resources reach the upper upper boundary, the embodiments of the present application can also achieve an optimal solution for resource allocation. The embodiments of the present application do not require the agents to have global communication capabilities, and only rely on distributed interactions between neighboring nodes in the topology. It is a distributed resource allocation method.
[0107] Figure 6 A schematic diagram of the composition structure of the resource collaborative allocation device of the multi-agent system provided in the embodiment of the present application is as follows: Figure 6 As shown, the resource collaborative allocation device of the multi-agent system provided in the embodiment of the present application includes:
[0108] The first initialization unit 60 is used to initialize the boundary variables for each agent, and the boundary variables at least include the upper boundary variable α i and the lower boundary variable β i , where i is the number of the agent, α i and β i are all real numbers; at time t = 0, the upper boundary variable α i Initialize to Lower boundary variable β i Initialize to Where [0] represents the value of the variable at time t=0, x i Represents the local resources of agent i, and its value range is a i ≤x i ≤ b i , a i and b i They are resources x i The lower and upper limits allowed; u i Represents agent i about local resource x i The utility function is u i =u i (x i ), Represents the efficiency function u i For resource x i The partial derivative of and Represents the variables on the left side of the vertical line in x i =a i and x i =b i The value of
[0109] The first iteration processing unit 61 is configured to enable each agent to start a first iteration process, and the first iteration process includes at least one of the following processes: performing interaction and coordination among first neighbors, and updating boundary variables;
[0110] The first judgment unit 62 is configured to compare the current time k with the number n of all agents in the system. If k + 1 < n, the first iteration process is completed; otherwise, the first iteration process is repeated;
[0111] The second initialization unit 63 is configured to, after the first iteration process is completed, fix the upper boundary variable and the lower boundary variable of each agent to fixed values, and denote them as α i [CONST] and β i [CONST]; for each agent, reset the time tag to make k = 0, and initialize the local resource x according to the input conditions i , that is, make x i [0] equal to the value of the initial resource of agent i in the input conditions;
[0112] The second iteration processing unit 64 is configured to enable each agent to start a second iteration process, and the second iteration process includes at least one of the following processes: monitoring the local resource and updating the status flag, calculating the partial derivative of the local efficiency with respect to the local resource, performing interaction and coordination among second neighbors, and updating the local resource;
[0113] The second judgment unit 65 is configured to compare the current time k with the preset maximum number of iterations m. m is a positive integer and satisfies If k + 1 < m, the second iteration process is completed, and at this time, the resource allocation effect meets the goal of maximizing the overall efficiency of the system; otherwise, the second iteration process is repeated; wherein, the maximization of the overall efficiency of the system means:
[0114] The limitation conditions are: the local resource of each agent i satisfies a i ≤x i ≤b i , and the total amount of resources of all agents is constant, that is where D is a real constant, and the value of D is determined by the sum of the initial resources of all agents, that is
[0115] As an implementation manner, the efficiency function u i is a continuous function used by agent i to describe the corresponding relationship between the local resource x i and the local efficiency. u i satisfies second-order differentiability and the second derivative is negative, that is holds for any i, and the partial derivative of u with respect to any non-local resource x j is equal to 0, that is For any i≠j, u i 、x i 、x j 、a i 、b i The value range is real numbers.
[0116] As an implementation manner, the first iterative processing unit 61 is further configured to:
[0117] At time t = k, each agent i broadcasts the boundary variable α to its neighboring agents. i [k] and β i [k], and receive the boundary variables sent by all neighboring agents, where [k] represents the value of the variable at time t=k, k is a non-negative integer, and the neighboring agent refers to the agent that can exchange information with the current agent;
[0118] At the time t=k+1, each agent updates its boundary variables according to equations (1) and (2):
[0119] α i [k+1]=max{α p [k]|p∈N i ∪{i}} (1)
[0120] β i [k+1]=min{β p [k]|p∈N i ∪{i}} (2)
[0121] Among them, N i represents the set of neighboring agents of agent i, N i ∪{i} represents the union of agent i and all its neighboring agents, and the set {α p [k]|p∈N i ∪{i}} represents the set of upper boundary variables of agent i and all its neighboring agents, and the set {β p [k]|p∈N i ∪{i}} represents the set consisting of the lower boundary variables of agent i and all its neighboring agents, and min and max represent the minimum and maximum values in the set, respectively.
[0122] As an implementation manner, the second iterative processing unit 64 is further configured to:
[0123] At time t = k, each agent i monitors the local resource variable x i , and update the state flag σ according to equations (3) and (4) i and τ i :
[0124]
[0125]
[0126] Among them, σ i is the hunger status indicator, τ i It is a sign of saturation state;
[0127] At the time t = k, the partial derivative of local efficiency with respect to local resources is calculated for each agent i get
[0128] As an implementation manner, the second iterative processing unit 64 is further configured to:
[0129] At the time t = k, each agent i broadcasts the state flag and the partial derivative of local efficiency with respect to local resources to its neighboring agents, i.e., σ i [k], τ i [k], And receive the state flags and partial derivatives of local efficiency with respect to local resources sent by all neighboring agents;
[0130] At the time t=k+1, each agent updates its local resources according to equation (5):
[0131]
[0132] Wherein, e is a constant representing the iterative step length of the second iterative process, and its value is n is the number of all agents in the system; A i , B i , C i All are real numbers, and at each moment they are calculated using the following formulas (6), (7), and (8):
[0133] A i [k] = σ i [k]·(1-τ i [k])·α i [CONST] (6)
[0134]
[0135] C i [k] = τ i [k]·β i [CONST] (8).
[0136] In an exemplary embodiment, the first initialization unit 60, the first iterative processing unit 61, the first judgment unit 62, the second initialization unit 63, the second iterative processing unit 64, the second judgment unit 65, etc. can be implemented by one or more central processing units (CPU), graphics processing units (GPU), baseband processors (BP), application-specific integrated circuits (ASIC), digital signal processors (DSP), programmable logic devices (PLD), complex programmable logic devices (CPLD), field programmable gate arrays (FPGA), general-purpose processors, controllers, microcontrollers (MCU), microprocessors, or other electronic components, and can also be combined with one or more radio frequency (RF) antennas to perform information interaction in the aforementioned embodiments.
[0137] In the embodiments of the present application, Figure 6 The specific manner in which each unit in the resource collaborative allocation device of the multi-agent system shown performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0138] An embodiment of the present application also records an electronic device, including a processor, a transceiver, a memory, and an executable program stored in the memory and capable of being run by the processor, wherein the processor executes the steps of the method of the resource collaborative allocation device for a multi-agent system of the aforementioned embodiment when running the executable program.
[0139] The embodiment of the present application also records a storage medium on which an executable program is stored, and the executable program is executed by a processor to execute the steps of the method of the resource collaborative allocation device for the multi-agent system of the aforementioned embodiment.
[0140] It should be understood that "one embodiment" or "an embodiment" mentioned throughout the specification means that specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present invention. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in various embodiments of the present invention, the size of the serial number of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present invention. The serial numbers of the above-mentioned embodiments of the present invention are only for description and do not represent the advantages and disadvantages of the embodiments.
[0141] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0142] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored, or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
[0143] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units; they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0144] In addition, all functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may be separately used as a unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0145] The above is only an embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims
1. A resource collaborative allocation method for a multi-agent system, characterized in that: The method includes: Initialize boundary variables for each agent, which include at least the upper boundary variable α i and the lower boundary variable β i , where i is the number of the agent, α i and β i are all real numbers; at time t = 0, the upper boundary variable α i Initialize to Lower boundary variable β i Initialize to Where [0] represents the value of the variable at time t=0, x i Represents the local resources of agent i, and its value range is a i ≤x i ≤ b i , a i and b i They are resources x i The lower and upper limits allowed; u i Represents agent i about local resource x i The utility function is u i =u i (x i ), Represents the efficiency function u i For resource x i The partial derivative of and Represents the variables on the left side of the vertical line in x i =a i and x i =b i The value of Enabling each agent to start a first iteration process, where the first iteration process at least includes: performing interaction and coordination among first neighbors, updating boundary variables, and determining whether the first iteration process is completed; Comparing the current time k with the number n of all agents in the system. If k + 1 < n, then the first iteration process is completed; otherwise, repeat the first iteration process; After the first iteration is completed, each agent fixes the upper boundary variable and the lower boundary variable to a fixed value, which are respectively denoted as α i [CONST] and β i [CONST]; For each agent, reset the time label to set k = 0, and initialize the local resource x according to the input conditions i , that is, let x i [0] is equal to the value of the initial resources of agent i in the input condition; Enabling each agent to start a second iteration process, where the second iteration process at least includes: monitoring local resources and updating a status flag, calculating the partial derivative of local effectiveness with respect to local resources, performing interaction and coordination among second neighbors, updating local resources, and determining whether the second iteration process is completed; Compare the size of the current moment k and the preset maximum number of iterations m, where m is a positive integer and satisfies If k + 1 < m, then the second iteration process is completed, and at this time, the resource allocation effect meets the goal of maximizing the overall system efficiency; otherwise, repeat the second iteration process; where, maximizing the overall system efficiency means: The constraints are: the local resources of each agent i satisfy a i ≤x i ≤ b i , and the total amount of resources of all agents is constant, that is Where D is a real constant, and its value is determined by the sum of the initial resources of all agents, that is, Among them, the performing of interaction and coordination among first neighbors includes: each agent i interacting with neighbor agents for boundary variables, where the neighbor agents refer to the agents that can perform information interaction with the current agent; The updating of boundary variables includes: updating the boundary variables according to the set composed of the upper boundary variables of agent i and all its neighbor agents and the set composed of the lower boundary variables of agent i and all its neighbor agents; The determining whether the first iteration process is completed includes: determining whether the first iteration process is completed by comparing the current time with the number of all agents in the multi-agent system; The monitoring of local resources and updating of status flags include: at time t=k, each agent i monitors the local resource variable x i , and update the state flag σ according to equations (3) and (4) i and τ i : Among them, σ i is the hunger status indicator, τ i It is a sign of saturation state; The calculation of the partial derivative of local performance with respect to local resources includes: at the time t=k, for each agent i, calculating the partial derivative of local performance with respect to local resources get The performing of interaction and coordination among second neighbors includes: each agent i interacting with neighbor agents for the status flag and the partial derivative of local effectiveness with respect to local resources; The updating of local resources includes: at the moment t = k + 1, each agent updates local resources according to the following formula (5): Wherein, e is a constant representing the iterative step length of the second iterative process, and its value is n is the number of all agents in the system; A i , B i , C i All are real numbers, and at each moment they are calculated using the following formulas (6), (7), and (8): A i [k]=s i [k]·(1-τ i [k])·a i [CONST] (6) C i [k]=t i [k]·b i [CONST] (8); The determining whether the second iteration process is completed includes: determining whether the second iteration process is completed by comparing the current time with the preset maximum number of iterations; 2. The method according to claim 1, characterized in that The utility function u i It is used by agent i to characterize local resources x i A continuous function corresponding to the local efficiency, u i Satisfies the second-order differentiability and the second-order derivative is negative, that is, For any i, for any non-local resource x j The partial derivative of is equal to 0, that is For any i≠j, u i 、x i 、x j 、a i 、b i The value range is real numbers.
3. The method according to claim 2, characterized in that The performing of interaction and coordination among first neighbors includes: At time t = k, each agent i broadcasts the boundary variable α to its neighboring agents. i [k] and β i [k], and receives the boundary variables sent by all neighboring agents, where [k] represents the value of the variable at time t = k, and k is a non-negative integer; The updating of boundary variables includes: at the moment t = k + 1, each agent updates boundary variables according to the following formulas (1) and (2): a i [k+1]=max{α p [k]|p∈N i ∪{i}} (1) b i [k+1]=min{β p [k]|p∈N i ∪{i}} (2) Among them, N i represents the set of neighboring agents of agent i, N i ∪{i} represents the union of agent i and all its neighboring agents. p [k]|p∈N i ∪{i}} represents the set of upper boundary variables of agent i and all its neighboring agents. The set {β p [k]|]p∈N i ∪{i}} represents the set consisting of the lower boundary variables of agent i and all its neighboring agents, and min and max represent the minimum and maximum values in the set, respectively.
4. The method according to claim 1, characterized in that: The performing of interaction and coordination among second neighbors includes: At the time t = k, each agent i broadcasts the state flag and the partial derivative of local efficiency with respect to local resources to its neighboring agents, i.e., σ i [k], τ i [k], And receive the status flags and partial derivatives of local effectiveness with respect to local resources sent by all neighboring agents.
5. A resource collaborative allocation device for a multi-agent system, characterized in that: The device includes: The first initialization unit is used to initialize the boundary variables for each agent, and the boundary variables at least include the upper boundary variable α i and the lower boundary variable β i , where i is the number of the agent, α i and β i are all real numbers; at time t = 0, the upper boundary variable α i Initialize to Lower boundary variable β i Initialize to Where [0] represents the value of the variable at time t=0, x i Represents the local resources of agent i, and its value range is a i ≤x i ≤ b i , a i and b i They are resources x i The lower and upper limits allowed; u i Represents agent i about local resource x i The utility function is u i =u i (x i ), Represents the efficiency function u i For resource x i The partial derivative of and Represents the variables on the left side of the vertical line in x i =a i and x i =b i The value of A first iteration processing unit for enabling each agent to start a first iteration process, where the first iteration process at least includes: performing interaction and coordination among first neighbors, updating boundary variables, and determining whether the first iteration process is completed; A first judgment unit for comparing the current time k with the number n of all agents in the system. If k + 1 < n, then the first iteration process is completed; otherwise, repeat the first iteration process; The second initialization unit is used to fix the upper boundary variable and the lower boundary variable of each agent to a fixed value after the first iteration process is completed, and they are respectively recorded as α i [CONST] and β i [CONST]; For each agent, reset the time label to set k = 0, and initialize the local resource x according to the input conditions i , that is, let x i [0] is equal to the value of the initial resources of agent i in the input condition; A second iteration processing unit for enabling each agent to start a second iteration process, where the second iteration process at least includes: monitoring local resources and updating a status flag, calculating the partial derivative of local effectiveness with respect to local resources, performing interaction and coordination among second neighbors, updating local resources, and determining whether the second iteration process is completed; A second judgment unit, configured to compare the current time k with a preset maximum number of iterations m, where m is a positive integer and satisfies If k + 1 < m, the second iteration process is completed, and at this time, the resource allocation effect meets the goal of maximizing the overall system efficiency; otherwise, the second iteration process is repeated; wherein, the maximization of the overall system efficiency means that: The constraints are: the local resources of each agent i satisfy a i ≤x i ≤ b i , and the total amount of resources of all agents is constant, that is Where D is a real constant, and its value is determined by the sum of the initial resources of all agents, that is, The first iterative processing unit is used for each agent i to interact with neighboring agents on boundary variables, wherein the neighboring agents refer to agents that can interact with the current agent; the boundary variables are updated according to a set consisting of upper boundary variables of agent i and all neighboring agents of agent i and a set consisting of lower boundary variables of agent i and all neighboring agents of agent i; and whether the first iterative process is completed is determined by comparing the current moment with the number of all agents in the multi-agent system; The second iterative processing unit is used to: at time t=k, each agent i monitors the local resource variable x i , and update the state flag σ according to equations (3) and (4) i and τ i : Among them, σ i is the hunger status indicator, τ i It is a sign of saturation state; At the time t=k, the partial derivative of local efficiency with respect to local resources is calculated for each agent i get Each agent i interacts with its neighboring agents on state flags and partial derivatives of local effectiveness to local resources; At the time t=k+1, each agent updates its local resources according to equation (5): Among them, ε is a constant representing the iterative step size of the second iterative process, and its value is n is the number of all agents in the system; A i , B i , C i All are real numbers, and at each moment they are calculated using the following formulas (6), (7), and (8): A i [k]=σ i [k]·(1-τ i [k])·a i [CONST] (6) C i [k]=τ i [k]·β i [CONST] (8); By comparing the current moment with the preset maximum number of iterations, it is determined whether the second iteration process is completed.
6. The device according to claim 5, characterized in that The utility function u i It is used by agent i to characterize local resources x i A continuous function corresponding to the local efficiency, u i Satisfies the second-order differentiability and the second-order derivative is negative, that is, For any i, for any non-local resource x j The partial derivative of is equal to 0, that is For any i≠j, u i 、x i 、x j 、a i 、b i The value range is real numbers.
7. The device according to claim 6, characterized in that The first iterative processing unit is used to: At time t = k, each agent i broadcasts the boundary variable α to its neighboring agents. i [k] and β i [k], and receives the boundary variables sent by all neighboring agents, where [k] represents the value of the variable at time t = k, and k is a non-negative integer; At the time t=k+1, each agent updates its boundary variables according to equations (1) and (2): a i [k+1]=max{α p [k]|p∈N i ∪{i}} (1) b i [k+1]=min{β p [k]|p∈N i ∪{i}} (2) Among them, N i represents the set of neighboring agents of agent i, N i ∪{i} represents the union of agent i and all its neighboring agents, and the set {α p [k]|p∈N i ∪{i}} represents the set of upper boundary variables of agent i and all its neighboring agents, and the set {β p [k]|p∈N i ∪{i}} represents the set consisting of the lower boundary variables of agent i and all its neighboring agents, and min and max represent the minimum and maximum values in the set, respectively.
8. The device according to claim 5, characterized in that The second iterative processing unit is used to: At the time t = k, each agent i broadcasts the state flag and the partial derivative of local efficiency with respect to local resources to its neighboring agents, i.e., σ i [k], τ i [k], And receive the status flags and partial derivatives of local effectiveness with respect to local resources sent by all neighboring agents.
