Multi-agent system
The multi-agent system improves control and coordination among agents by employing a hierarchical structure with distributed control, enhancing production process efficiency and reducing computational costs.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- TOYOTA JIDOSHA KK
- Filing Date
- 2024-10-18
- Publication Date
- 2026-05-01
AI Technical Summary
Existing multi-agent systems require improvements for more efficient control and coordination among multiple agents, particularly in handling complex production processes with varying buffer and transport volumes.
A multi-agent system with a hierarchical structure comprising agents, first controllers for local control, second controllers for global coordination, and a connection unit using a Laplacian matrix to convert input/output vectors, allowing for distributed control and efficient handling of production processes as single units.
This configuration enables independent control of individual agents while optimizing the entire system, reducing computational costs and accounting for information delays, leading to improved production process management.
Smart Images

Figure 2026073873000001_ABST
Abstract
Description
[Technical Field]
[0001] This disclosure relates to a multi-agent system. [Background technology]
[0002] Conventionally, multi-agent systems comprising multiple agents are known (Patent Documents 1 to 4). [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2021-005257 [Patent Document 2] Japanese Patent Publication No. 2021-005256 [Patent Document 3] Japanese Patent Publication No. 2003-233599 [Patent Document 4] Japanese Patent Publication No. 2022-074019 [Overview of the Initiative] [Problems that the invention aims to solve]
[0004] Further improvements to multi-agent systems are needed.
[0005] In light of these points, the purpose of this disclosure is to improve multi-agent systems. [Means for solving the problem]
[0006] A multi-agent system according to one embodiment of the present disclosure includes a plurality of agents, a plurality of first controllers that control each of the plurality of agents, and a plurality of second controllers that perform cooperative control among the plurality of agents, wherein the number of dimensions of the input / output vectors input to the agents is a first dimension, and the agents are provided with a first gain that converts the input / output vectors of the first dimension into input / output vectors of the second dimension, the first dimension is the total number of a plurality of buffers included in the production process to which the multi-agent system is applied, and the second dimension is determined by the number of elements that are the target of the control input to the agents of the first controller. [Effects of the Invention]
[0007] According to one embodiment of this disclosure, it becomes possible to design a multi-agent system that improves upon the existing multi-agent system. [Brief explanation of the drawing]
[0008] [Figure 1] This is an overview diagram showing the flow of the production process. [Figure 2] This figure shows an example of a multi-agent system configuration. [Figure 3] This is a diagram showing the agent's logical model. [Figure 4] This figure shows the logical model of the agent related to the comparative example. [Figure 5] This diagram shows the configuration of a multi-agent system related to a comparative example. [Figure 6] This figure shows another example of a multi-agent system configuration. [Figure 7] This is an overview diagram showing the flow of the production process used in the simulation. [Figure 8] This figure shows the logical model of the agent used in the simulation. [Figure 9] This figure shows the simulation results. [Modes for carrying out the invention]
[0009] The embodiments relating to this disclosure will be described below with reference to the drawings.
[0010] (Overview of the production process) First, we will describe a production process to which the multi-agent system of this disclosure can be applied.
[0011] Production Process 1, as shown in Figure 1, summarizes the processes from the input of raw materials and other components to the production of the finished product. In Production Process 1, one or more stages of Production Process 2 are involved from the supply of raw materials and other components to the production of the finished product. In other words, Production Process 1 includes one or more Production Process 2.
[0012] Production process 2 includes at least one input buffer 3I, one output buffer 3O, and at least one process 4. Process 4 is interposed between the input buffer 3I and the output buffer 3O. Production process 2 and its downstream production process 2 are connected via a transport process 5. Downstream refers to the direction toward the finished product in the flow from the supply of raw materials and other components in production process 1 to the production of the finished product. Upstream is the opposite direction of downstream.
[0013] The input buffer 3I of the first stage production process 2 receives raw materials and other components from an external source. The input buffer 3I of production processes 2 other than the first stage receives components produced in the upstream production process 2. The supplied components are temporarily stored in the input buffer 3I.
[0014] In production processes 2 other than the final stage, one or more processes 4 produce products that will be supplied as components to downstream production processes 2 using components supplied from one or more input buffers 3I. In the final stage production process 2, one or more processes 4 produce products that will become finished products using components supplied from one or more input buffers 3I.
[0015] The output buffer 3O of the final stage production process 2 outputs the finished product. The output buffer 3O of production processes 2 other than the final stage outputs the product that will be supplied to the downstream production process 2. Products produced in one or more processes 4 are temporarily stored in the output buffer 3O.
[0016] The transport process 5 connects the output buffer 3O of the production process 2 (excluding the final stage) to the input buffer 3I of the downstream production process 2. Components output from the output buffer 3O are transported to the input buffer 3I via the transport process 5.
[0017] (Multi-agent system configuration) Figure 2 shows a multi-agent system 10 according to this embodiment. This multi-agent system 10 has a hierarchical structure and employs distributed control. The multi-agent system 10 may also be referred to as a "distributed control system".
[0018] The multi-agent system 10 is applicable to production process 1 as shown in Figure 1. By applying the multi-agent system 10 to production process 1, the production volume of products in each production process 2 and the transport volume of products in the transport process 5 can be controlled independently, as shown in Figure 1.
[0019] The multi-agent system 10 has a hierarchical structure, consisting of an upper layer and a lower layer. The lower layer of the multi-agent system 10 includes a plurality of agents 11, a plurality of first controllers 12, a plurality of second controllers 13, and a plurality of third controllers 14. The upper layer of the multi-agent system 10 includes a connection section 15.
[0020] Agent 11 corresponds to production process 2 in production process 1 as shown in Figure 1. Agent 11 is, for example, a control device in production process 2. The control device in production process 2 is, for example, a robot.
[0021] The first controller 12 is configured to include at least one processor, at least one dedicated circuit, or a combination thereof. The processor is, for example, a general-purpose processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit), or a dedicated processor specialized for a specific process. The dedicated circuit is, for example, an FPGA (Field-Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). The first controller 12 may also include a storage unit. The storage unit may store various information or programs, etc. The storage unit may be, for example, a semiconductor memory. The storage unit may function as the work memory of the first controller 12.
[0022] The first controller 12 controls the agent 11. By controlling the agent 11, the first controller 12 controls the production volume of the product in the production process 2 corresponding to the agent 11. The first controller 12 is also called a "local controller".
[0023] The second controller 13 is configured to include at least one processor, at least one dedicated circuit, or a combination thereof. The processor is, for example, a general-purpose processor such as a CPU or GPU, or a dedicated processor specialized for a specific process. The dedicated circuit is, for example, an FPGA or ASIC. The second controller 13 may also include a memory unit. The memory unit may store various information or programs, etc. The memory unit may be composed of, for example, a semiconductor memory. The memory unit may function as the work memory of the second controller 13.
[0024] The second controller 13 performs coordinated control among multiple agents 11. The second controller 13 controls the amount of product transported in the transport process 5. The second controller 13 is also referred to as the "global controller".
[0025] The third controller 14 is configured to include at least one processor, at least one dedicated circuit, or a combination thereof. The processor is, for example, a general-purpose processor such as a CPU or GPU, or a dedicated processor specialized for specific processing. The dedicated circuit is, for example, an FPGA or an ASIC. The third controller 14 may include a storage unit. The storage unit may store various information, programs, etc. The storage unit may be composed of, for example, a semiconductor memory. The storage unit may function as a working memory of the third controller 14.
[0026] The third controller 14 controls the first gain 20 as shown in FIG. 3 described later.
[0027] The input / output vector Z is input to the connection unit 15. The input / output vector Z is a vector indicating the input / output of a plurality of agents 11. The input / output of the agent 11 corresponds to one or more input buffers 3I and one output buffer 3O included in the production process 2 corresponding to that agent 11.
[0028] The input / output vector Z is given, for example, by Equation (1). Z=(Z1 , k , T , ,
[0029] , O , k , T , k , , , k ,…,Z k T ,…,Z N T ) T (1) In Equation (1), the integer N (1≦N) is the total number of agents 11 included in the multi-agent system 10. The subscript k (1≦k≦N) indicates the k-th agent 11 among the N agents 11. Hereinafter, the number of input buffers 3I included in the production process 2 corresponding to the k-th agent 11 is denoted as "n k ".
[0029] The element Z k T of the input / output vector Z is given by the following Equation (2). Z k =d k ·Z O(k) (2) In equation (2), the subscript k satisfies 1 ≤ k ≤ N. Also, the element Z in equation (2) O (k) This is given by equation (3). Vector d k This is given by equation (4).
[0030] Z O (k) =H g2 ·x O (k) (3) d k =(d k,1 ,…,d k,L, …,d k,M ) T (4) In equation (3), the coefficient H g2 x is a constant. O (k) The output buffer 3O included in production process 2 is the same as or similar to equation (13) described later. (k) This indicates the stock status of the products. In equation (4), the integer L satisfies 1 ≤ L ≤ M. The integer M is the total number of input buffers 3I and output buffers 3O included in production process 1. The integer M is given by equation (5). Also, element d of equation (4) k,L This is given by the following equation (6).
[0031]
number
number
number
[0032] The connection unit 15 converts the input / output vector Z into an input / output vector W, and provides the input / output vector W with connection relationships between multiple production processes 2 by the transport process 5 as shown in Figure 1. In this embodiment, the connection unit 15 converts the input / output vector Z into an input / output vector W using a Laplacian matrix K that represents the connection relationships based on graph theory. The Laplacian matrix K is a weighted Laplacian matrix that represents the connection relationships between multiple production processes 2 by multiple transport processes 5 as shown in Figure 1. Here, the input / output vector Z is a vector of dimension MN (dimension MN is the product of an integer M and an integer N). Therefore, the connection unit 15 converts the Laplacian matrix K and the identity matrix I M The input / output vector W is calculated by multiplying the input / output vector Z by the matrix obtained by the Kronecker product of I. M This is the M×M identity matrix.
[0033] The Laplacian matrix K is given by equation (8) in the case of production processes 2A and 2B, as shown in Figure 5 below.
number
[0034] The input / output vector W output from the connection section 15 is given by equation (9). W=(W1 T ,…,W k T ,…,W N T ) T (9) The elements of the input / output vector W in equation (9) k This is given by equation (10). This element W k This is input to the first gain 20 of the k-th agent 11, as shown in Figure 3 below.
[0035] W k =(W k,1 ,…,W k,L ,…,W k,M ) T (10) The integer M in equation (10) is given by equation (5) above. The integer L is an integer that satisfies 1 ≤ L ≤ M.
[0036] Here, the input / output vector Z k and input / output vector W k The number of dimensions M is an integer M. As mentioned above, the integer M is the same as the total number of input buffers 3I and output buffers 3O included in production process 1. Below is the input / output vector Z. k and input / output vector W k The number of dimensions is referred to as the "first dimension".
[0037] [The agent's logical model] Next, the logical model of agent 11 will be explained with reference to Figure 3. The agent 11 shown in Figure 3 corresponds to the k-th agent 11 out of N agents 11.
[0038] As shown in Figure 3, agent 11 comprises a first gain 20, an adder 21, an arithmetic unit 22, a second gain 23, and a third gain 24.
[0039] The first gain 20 receives the input / output vector W from the connection part 15 as shown in Figure 2. k The following is input: Input / Output Vector W k This is a vector of dimension M, i.e., a first-dimensional vector. The first gain 20 is the input / output vector W of the first dimension. k The input / output vector W of the second dimension k Convert to '. The second dimension is (m k (m) is the second-dimensional number (m k The second-dimensional number (m) is determined by the number of elements targeted by the control input in the agent 11 of the first controller 12. In this embodiment, the second-dimensional number (m) k +1) is the control input vector u described later. (k) The number of dimensions (m k The first gain 20 is determined by (+1). For example, (m k It is given by a matrix of size (+1) × M. The third controller 14 controls the first gain 20 to control the input / output vector W of the first dimension. k The input / output vector W of the second dimension k Convert to '.
[0040] The adder 21 outputs the second-dimensional input / output vector W from the first gain 20. k ' and the vector p output from the second gain 23 (k) Add (production vector) and vector p. (k) This is a vector whose elements represent the production rate of the product in production process 2. (k) The number of dimensions is the second dimension (m k (+1) becomes vector p (k) This is given by equation (11).
number
[0041] The arithmetic unit 22 receives the arithmetic result of the adder 21 and the control input vector u (k) . The control input vector u (k) is a control input for achieving the control target value in the agent 11. Each element of the control input vector u (k) indicates the deviation of the current state quantity with respect to the control target value.
[0042] In this embodiment, the control input vector u (k) is a control input for achieving the target value of the transport rate of components or products in the transport process 5. The control input vector u (k) is given by (12).
Number
[0043] The arithmetic unit 22 is the control input vector u (k) Based on the result of the operation of adder 21, the state vector x (k) Calculate the time derivative of the state vector x. (k) This indicates the stock status of parts in multiple input buffers 3I and products in output buffer 3O included in production process 2 corresponding to the k-th agent 11. The stock status of parts or products is, for example, the number or quantity of parts or products in stock. State vector x (k) The time derivative is given by equation (13).
number
[0044] Dimensions of the state vector (n k +1) is the input / output vector W k The number of dimensions M may be the same as or different from that of the state vector. For example, if the stock states of multiple components are defined for one input buffer 3I, the number of dimensions of the state vector is (n k +1) and the input / output vector W k The number of dimensions M can be different. Hereafter, the number of dimensions of the state vector will be referred to as the "third dimension".
[0045] The second gain 23 is the state vector x (k) The following is input. The second gain 23 is the third dimension number (n k State vector x (+1) (k) The second-dimensional number (m k Vector p (+1) (k) Convert to . The second gain 23 is, for example, (m k (+1) × (n k This is the matrix (+1). Here, the first controller 12 controls the second gain 23 so that the agreement process regarding the input buffer 3I, the agreement process regarding the output buffer 3O, and the agreement process regarding the production rate, which will be described later, are satisfied. By controlling the second gain 23, the first controller 12 controls the amount of product produced in the production process 2 corresponding to agent 11.
[0046] The third gain 24 is the state vector x (k) The following is input. The second gain 23 is the third dimension number (n k State vector x (+1) (k) The input / output vector Z of the first dimension M. k Convert to the following. The third gain 24 is, for example, M × (n kThis is the matrix (+1). Here, the second controller 13 controls the third gain 24 so that the agreement process regarding the input buffer 3I, the agreement process regarding the output buffer 3O, and the agreement process regarding the production rate, which will be described later, are satisfied. By controlling the third gain 24, the second controller 13 controls the amount of product transported in the transport process 5.
[0047] The agreement process for input buffer 3I is given by equation (14) when agent 11 corresponds to the first stage production process 2. The agreement process for input buffer 3I is given by equation (15) when agent 11 corresponds to a production process 2 other than the first stage.
number
number
[0048] The agreement process for output buffer 3O is given by equation (16) when agent 11 corresponds to the final stage production process 2. The agreement process for output buffer 3O is given by equation (17) when agent 11 corresponds to a production process 2 other than the final stage.
number
number
[0049] The agreement process regarding the production rate is given by equation (18).
number
[0050] Thus, the agent 11 in this embodiment has a first-dimensional input / output vector W k The input / output vector W of the second dimension k It is equipped with a first gain 20 that converts to '. With this configuration, one production process 2 can be handled as a single process, as described below. In other words, one production process 2 can be treated as one agent 11.
[0051] As a comparative example, consider configuration 2X as shown in Figure 4. One configuration 2X corresponds to one production process 2 as shown in Figure 1. Configuration 2X does not have a first gain 20. Therefore, in the comparative example, the input / output vector W k Each element must be treated as a scalar. In the comparative example, the input / output vector W k Each element of the input / output vector W must be treated as a scalar, kEach element must be equipped with an agent 11X having a second gain 23X and a third gain 24X. In other words, in the comparative example, one production process 2 must be handled by multiple agents 11X. For the sake of explanation, let us assume production processes 2A and 2B, each having one input buffer 3I and one output buffer 3O. In this case, as shown in Figure 5, one production process 2A must be handled by two agents 11X, and one production process 2B must be handled by two agents 11X. In Figure 5, scalars Z1 and W1 correspond to the input buffer 3I of production process 2A, and scalars Z2 and W2 correspond to the output buffer 3O of production process 2A. Also, scalars Z3 and W3 correspond to the input buffer 3I of production process 2B, and scalars Z4 and W4 correspond to the output buffer 3O of production process 2B. In such a comparative example, the input / output vector Z is given by scalars Z1 to Z4, and the input / output vector W is given by scalars W1 to W4. In the comparative example, the Laplacian matrix K of the connection 15X is given by equation (8).
[0052] In contrast to such comparative examples, the agent 11 according to this embodiment includes a first gain 20 that converts a first-dimensional input / output vector W into a second-dimensional input / output vector W'. With this configuration, one production process 2 can be handled as a single process. In other words, one production process 2 can be treated as one agent 11. In the example of production processes 2A and 2B described above, as shown in Figure 6, production process 2A can be handled by one agent 11, and production process 2B can be handled by one agent 11.
[0053] Furthermore, in the comparative example, after the third gain 24X is multiplied by the scalar XIi at agent 11X, the connection unit 15 provides the connection relationships between multiple production processes 2 by the transport process 5. Therefore, when the first controller 12 and the second controller 13 control the second gain 23X and the third gain 24X, respectively, based on the agreement process described above, they must take these connection relationships into consideration. Also, in the comparative example, after multiplying the second gain 23X and the third gain 24X, it is not possible to consider the information delay in the agreement process.
[0054] In contrast to such comparative examples, the agent 11 according to this embodiment handles input / output vectors W provided by the transport process 5, which represent the connection relationships between multiple production processes 2. With this configuration, these connection relationships are taken into consideration in the control based on the agreement process described above. Therefore, it is possible to take into account the information delay in the agreement process.
[0055] Furthermore, the multi-agent system 10 according to this embodiment includes a plurality of first controllers 12 that control a plurality of agents 11, and a plurality of second controllers 13 that perform cooperative control among the plurality of agents 11. In other words, the multi-agent system 10 employs distributed control. With this configuration, each agent 11 can be individually controlled by the first controllers 12, while the whole system can be controlled by the plurality of second controllers 13. As a result, the multi-agent system 10 can reduce computational costs compared to the case where centralized control is employed in which a plurality of agents 11 are controlled by a single controller.
[0056] Therefore, according to this disclosure, it becomes possible to design multi-agent systems in a way that improves upon existing multi-agent systems.
[0057] (Simulation results) The inventors conducted simulations to verify the effectiveness of the multi-agent system described herein. First, the simulation conditions will be described.
[0058] Figure 7 shows the flow of production process 1A used in the simulation. Production process 1A includes production steps PP1, PP2, PP3, PP4, PP5, PP6, PP7, and PP8. In Figure 7, line 4HI shows the flow of product production volume in the production process. Line 5Hg shows the actual amount of product transported between each production step. Line 6Hd shows the flow of information from the output of the final production step in production process 1A to the input of the first production step. Line 6Hd may show the flow of any information related to the production process. Line 6Hd may show the flow of information only.
[0059] Production processes PP1 to PP8 have the same or similar configuration as production process 2. Production process PP1 includes input buffer I1 and output buffer O1. Production process PP2 includes input buffers I2 and I3 and output buffer O2. Production process PP3 includes input buffers I4, I5 and I6 and output buffer O3. Production process PP4 includes input buffers I7, I8 and I9 and output buffer O4. Production process PP5 includes input buffers I10, I11 and I12 and output buffer O5. Production process PP6 includes input buffers I13 and I14 and output buffer O6. Production process PP7 includes input buffer I15 and output buffer O7. Production process PP8 includes input buffers I16, I17 and I18 and output buffer O8.
[0060] Input buffers I1 to I18 have the same or similar configuration as input buffer 3I. Output buffers O1 to O8 have the same or similar configuration as output buffer 3O.
[0061] Figure 8 shows the production process PP2 of the logical model of agent 11A used in the simulation. Production process PP2 is an agent with k=2. Agent 11A comprises a first gain 20, an adder 21, an arithmetic unit 22, a second gain 23A, and a third gain 24A. The matrices used for these elements are attached near these elements. State vector x of arithmetic unit 22 (k)This is given by equation (19).
number
[0062] State vector x of arithmetic unit 22 (k) This indicates the stock state of components in the input buffer and products in the output buffer included in the production process PP1 to PP8 as shown in Figure 7. The second gain 23A has the same or similar configuration as the second gain 23 shown in Figure 3. The third gain 24A has the same or similar configuration as the third gain 24 shown in Figure 3.
[0063] Figure 9 shows the simulation results. In Figure 9, the horizontal axis represents time [number of time steps]. The vertical axis represents the number of parts or products in stock in the buffer. The stock quantity is an example of the stock state. Here, the labels in Figure 9 are denoted as "PPq:r". In this case, q corresponds to production processes PP1 to PP8. The maximum value of r represents the number of products in stock in the output buffer of the production process indicated by q. Any r other than the maximum value represents the number of parts in stock in the r-th input buffer of the production process indicated by q. The r-th corresponds to the order of the symbols assigned to the input buffers in Figure 7. For example, in the case of labels PP8:1, PP8:2, PP8:3, PP8:4, label PP8:4 represents the number of products in stock in output buffer O8 of production process PP8. Labels PP8:1 to PP8:3 represent the number of parts in stock in input buffers I16 to I18 of production process PP8, respectively.
[0064] As shown in Figure 9, the inventory levels of parts in the input buffer and products in the output buffer converge in production processes PP1 to PP8. This result shows that even when different agents are involved in production process 1A, the stock status of parts or products in the input and output buffers converges to a agreed value.
[0065] While this disclosure has been described based on the drawings and embodiments, it should be noted that those skilled in the art may make various modifications and alterations based on this disclosure. Therefore, it should be noted that these modifications and alterations are within the scope of this disclosure. For example, the functions, etc., included in each component or step can be rearranged in a logically consistent manner, and multiple components or steps can be combined into one or divided into two. [Explanation of symbols]
[0066] 1: Production process, 2, PP1~PP8: Production steps, 3I, I1~I18: Input buffer, 3O, O1~O8: Output buffer, 4: Process, 4HI, 5Hg, 6Hg: Line, 5: Transport process, 10: Multi-agent system, 11, 11A: Agent, 12: First controller, 13: Second controller, 14: Third controller, 15: Connection section, 20: First gain, 21: Adder, 22: Arithmetic unit, 23, 23A: Second gain, 24, 24A: Third gain
Claims
1. Multiple agents, Multiple first controllers, each controlling one of the multiple agents, It includes a plurality of second controllers that perform cooperative control among the plurality of agents, In a multi-agent system where the number of dimensions of the input / output vectors input to the agent is the first dimension, The agent includes a first gain that converts the input / output vector of the first dimension into an input / output vector of the second dimension, The first dimension is the total number of buffers included in the production process to which the multi-agent system is applied. The multi-agent system wherein the second dimension is determined by the number of elements that are the target of the control input in the agent of the first controller.
2. The aforementioned production process includes multiple production steps, The multi-agent system according to claim 1, wherein each of the plurality of agents corresponds to one of the plurality of production processes.
3. The agent further comprises a second gain that converts a state vector of a third dimension into a production vector of a second dimension, The state vector of the three dimensions indicates the stock state of parts in a plurality of input buffers and products in output buffers included in the production process corresponding to the agent. The production vector of the aforementioned two-dimensional number is a vector whose elements are the production rates of the products in the production process, The multi-agent system according to claim 2, wherein the first controller controls the production volume of the product in the production process by controlling the second gain.
4. The agent further comprises a third gain that converts the state vector of the third dimension into an input / output vector of the first dimension, The multi-agent system according to claim 3, wherein the second controller controls the amount of product transported in the production process by controlling the third gain.
Citation Information
Patent Citations
Multiagent system and program
JP2003233599A
Dispersion control system in which consensus control of multi-agent system is executed
JP2021005256A
Dispersion control system in which control protocol of multi-agent system is executed
JP2021005257A
Decision-making agent having hierarchical structure
JP2022074019A