The present disclosure relates to automating at least part of a process plant. In particular, disclosed embodiments are directed to an agent-based process automation, and specifically, to a method and system for prioritization between agents in agent-based process automation.
Process plant automation may typically involve recording measurement signals from the physical process, evaluating automation logics (closed- and open-loop controls, including sequences and interlocks), and sending the corresponding commands to the process plant's actuators. The automation software may be run on a centralized automation server.
In traditional process plant automation, the automation software may be engineered manually by correspondingly experienced persons or automatically by using appropriate engineering tools. In case of manual engineering, significant engineering efforts may be required. Even in case of automated engineering, a manual adaptation of the generated engineering results is often unavoidable. For example, if the topology of the physical plant is changed, e.g., by adding or removing certain sensors or actuators, the engineering of the automation software must be changed accordingly. The same may apply if the requirements for automatic plant operation like recipes are modified. Additionally, the current engineering may not be valid anymore if certain sensors or actuators drop out. Thus, significant engineering efforts may be required in the beginning, as well as for any change in plant configuration later. Additionally, plant flexibility and availability may also be limited.
Furthermore, an engineering of the automation system may also be necessary regarding hardware. For example, automation cabinets may be required to be planned that contain the automation server and other components of the automation technology. The configuration of the cabling/connection of the field devices of the process plant to these automation cabinets may also comprise an important step in the hardware engineering of the automation system.
Newly developed approaches for architecture of automation systems, such as the NAMUR Open Architecture (NOA) and the Open Group, still require central servers on which the automation software runs and through which the orchestration of the components of the process plant may be carried out. These approaches also require hardware and software engineering of the automation system as described above, posing at least some or all of the aforementioned technical challenges.
Briefly, aspects of the present disclosure provide an agent-based process automation comprising a mechanism for prioritization between agents in agent-based process automation.
A first aspect of the disclosure provides a method for automating at least part of a process plant comprising a plurality of field components configured as self-organizing agents where each agent is configured to communicate with adjacently physically connected agents. The method comprises generating requests by requesting agents corresponding to respective present needs of the requesting agents. The method further comprises forwarding each request from the respective requesting agent to one or more responsible agents capable of reacting on the request via one or more paths in each case, wherein a path is defined as a chain of adjacently physically connected agents. The method further comprises reacting on the requests by responsible agents assigned based on a prioritization mechanism. The prioritization mechanism is established using a topological representation of the process plant by a process comprising: assigning a penalty value to each request, forwarding the request via one or more paths defined by the topological representation by evaluating an increment of the penalty value at each agent that forwards or reacts on the request depending on a type of the request and/or a type of the agent, whereby a penalty matrix is created indicative of how much penalty would be incurred if a particular request is reacted on by a given responsible agent, and using the penalty matrix to assign requests to responsible agents such that a total penalty value is minimized.
A second aspect of the disclosure provides a method for automating at least part of a process plant utilizing a simulation server. The method comprises simulating, by the simulation server, a plurality of field components of the process plant configured as self-organizing agents, where each agent is configured to communicate with adjacently physically connected agents. The method further comprises acquiring sensor signals from the process plant. The method further comprises, within the simulation, generating requests by requesting agents corresponding to respective present needs of the requesting agents, which are derived from the sensor signals acquired from the process plant. The method further comprises, within the simulation, forwarding each request from the respective requesting agent to one or more responsible agents capable of reacting on the request via one or more paths in each case, wherein a path is defined as a chain of adjacently physically connected agents. The method further comprises, within the simulation, assigning the requests to responsible agents based on a prioritization mechanism. The prioritization mechanism is established using a topological representation of the process plant by a process comprising: assigning a penalty value to each request, forwarding the request via one or more paths defined by the topological representation by evaluating an increment of the penalty value at each agent that forwards or reacts on the request depending on a type of the request and/or a type of the agent, whereby a penalty matrix is created indicative of how much penalty would be incurred if a particular request is reacted on by a given responsible agent, and using the penalty matrix to assign requests to responsible agents such that a total penalty value is minimized. The method further comprises generating appropriate actuator signals responsive to the sensor signals acquired from the process plant, based on the prioritized assignment of requests to responsible agents using the simulation.
A further aspect of the disclosure is directed to a computer program product for implementing the above-described method.
Additional technical features and benefits may be realized through the techniques of the present disclosure. Embodiments and aspects of the disclosure are described in detail herein and are considered a part of the claimed subject matter. For a better understanding, refer to the detailed description and to the drawings.
The foregoing and other aspects of the present disclosure are best understood from the following detailed description when read in connection with the accompanying drawings.
To increase plant flexibility and availability and avoid engineering efforts, an agent-based process automation may be devised. An example of an agent-based process automation is disclosed in the International Patent Application No. PCT/EP2021/058528 filed on Mar. 31, 2021, by the present applicant, which is incorporated by reference herein in its entirety. In agent-based process automation, field components of the process plant, such as sensors, actuators, pipe nodes, etc., may be configured as self-organizing agents where each agent is configured to communicate with adjacently physically connected agents (i.e., neighboring agents connected directly via a respective pipe). An agent may have no information about the structure of the entire process plant and the automation requirements. Instead, each agent may be equipped with certain defined, relatively simple, basic functionalities, such as reacting on a request from adjacent agents or forwarding one or multiple requests to adjacent agents (upstream or downstream). The overall automation of the process plant may thus result from a swarm intelligence of the field components or agents. If the plant topology is changed, whether intentionally due to a conversion or unintentionally due to component failure, the agents may automatically reorganize themselves to create the plant automation again, as long as this is possible at all with the existing plant components.
In the agent-based process automation, it may be necessary for agents to prioritize requests in case they receive multiple requests from adjacent agents. The present disclosure provides a solution that can fill this gap via a systematic method of defining such priorities automatically, using information from a topological representation of the process plant, such as a piping and instrumentation diagram (P&ID), and forming some basic rules. Thus, the present disclosure may augment agent-based process automation by making it more autonomous and reducing manual effort in defining such priorities.
First, certain terms used in the present description in connection with agent-based process automation will be explained.
A “swarm” refers to a number (more than two) of field components having certain defined basic functionalities.
A “field component” refers to a part of the process plant which interacts with the process. A field component can be, for example, a sensor, an actuator, a compound component which may have both sensor and actuator functionalities, a package unit or process module (process equipment assemblies), or a pipe node.
A “pipe node” may be defined by an intersection of pipes, or an inlet or outlet of certain plant components, such as tanks, heat exchangers, etc. A pipe node may be considered at each pipe intersection. Whether a pipe node is needed to be considered for an inlet or outlet of a plant component may be decided individually for each type of plant component.
An “agent” refers to a single individual of a swarm which has certain defined basic functionalities. Thus, in a swarm of field components, an agent is one field component.
A “request” refers to information about a certain need of one agent in the process plant. The “request” may carry the information about the need itself, the information about the agent it stems from and the path (chain of agents) via which the information was received.
A “reaction” refers to performance of a certain activity by an agent in order to fulfill the request of another agent.
An “adjacently physically connected” agent or field component refers to an agent or field component that is directly connected topologically to a particular agent or field component, e.g., via a respective pipe. In the context of a simulation, this term is used to refer to a simulated direct physical connection between simulated agents or field components.
For the purpose of swarm intelligence, the basic functionalities of each agent may include:
Turning now to the disclosed embodiments,
A communication network may be established between the field components via hardwired connections (e.g., including physical buses) and/or wireless connections (e.g., using Wi-Fi). For example, as shown, the operator station server 102, the operator station client 104, the sensors/actuators 110, 112, the two IO-racks 114, 116, the automation server 126 and the pipe node server 128 may be connected to one another via a bus 130, and optionally, to other components of the control system 100, not shown. For the purpose of operating and monitoring, a user or operator can access the operator station server 102 or other operator station servers (not shown) via the operator station client 104 via the bus 130. The bus 130 can, without being limited thereto, be designed, for example, as an Industrial Ethernet. The sensors/actuators 118, 120 may be connected to an IO-module in one IO-rack 114 via a field bus or via wires 132. Analogously, the sensors/actors 122, 124 may be connected to an IO-module in the other IO-rack 116 via a field bus or via wires 134. Field buses 132, 134 can be designed, without being limited thereto, for example, as an Industrial Ethernet. The bus 130 may thus provide a communication network between the single field components 106, 108, 110, 112, and via the IO-modules in the IO-racks 114, 116, also to the field components 118, 120, 122, 124 of the control system 100. There can also be wireless connections between the field components 106, 108, 110, 112, 118, 120, 122, 124 alternatively or in addition to hardwired connections.
The automation server 126 may be used for registering input sensor signals from the process plant, archiving the signals, communicating with the operation station server 102, sending output signals to the actuators in case of manual operations and so on. The disclosed embodiment does not require any orchestration software, as it is known from state-of-the-art automation control systems, to be running on the automation server 126.
There could still be a necessity of an operator station (server and client) to allow the operator of the process plant to interact with the process. This can include, for example, the visualization of process values and also the possibility to define setpoints or to drive actuators manually. How a process plant shall be automated may not depend on the physical setup of the process plant only. Process plants with the same setup might be automated differently. A certain process plant might run in different operation modes requesting different automatic controls. The definition of corresponding boundary conditions for plant automation, like specific operation modes, can be possible via the operation station (server/client) 102, 104. The operator station (server/client) 102, 104 may also handle the input/output-signals and organize the interaction between the operator station (server/client) 102, 104 and the field components 106, 108, 110, 112, 118, 120, 122, 124.
To allow an agent-based process automation as it is described herein, each field component configured as an agent needs the information about other agents to which it is adjacently physically connected, i.e., via pipe. Thereby, the single agents/field components do not need all information about the topology of the overall process plant. For example, each pipe section may be individually identified, for example, via RFID or QR-code. Once a field component 106, 108, 110, 112, 118, 120, 122, 124, i.e., an agent, is connected to a pipe, the information to exactly which pipe section the connection was established may be read and stored in the agent/field component 106, 108, 110, 112, 118, 120, 122, 124. Based on this information, by communicating to each other the agents can identify all other agents, which are connected to the same pipe section. In other embodiments, there could be a superordinate server, which includes a topological representation of the process plant, such as a P&ID, and provides to each agent the information about its physical neighbors.
The field components, including the sensors/actuators 110, 112, 118, 120, 122, 124, as well as the pipe nodes (not shown in
Agent-based process automation may be implemented by generating requests by “requesting” agents corresponding to respective present needs of the requesting agents. The requesting agents can comprise, for example, sensors. In examples, a request may be generated by a sensor based on a deviation of a measured value from a setpoint. The setpoint may be defined by an operator of the process plant, for example, via the operation station (server/client) 102, 104. Alternately, the setpoint may be defined in an automated way by a superordinate system of the process plant, such as the automation server 126 (e.g., a time series of setpoints may be provided via a superordinate recipe). Each request may be forwarded from the respective requesting agent to one or more “responsible” agents capable of reacting on the request via one or more paths in each case. The responsible agents may comprise actuators. A path is defined as a chain of adjacently physically connected agents.
The disclosed methodology is characterized in that the requests may be assigned to responsible agents based on a prioritization mechanism established using information from a topological representation (e.g., P&ID) of the process plant, as described in detail below. The responsible agents may thereby react on the requests which are respectively assigned to them based on the prioritization mechanism. In examples, the prioritization mechanism may be implemented as a software module running on a superordinate system of the process plant (e.g., the automation server 126), or on an edge device, or on one of the field components of the process plant.
In some embodiments, software representations of the agents may be implemented as part of an agent simulation on a simulation server. This can make it possible to implement aspects of the proposed agent-based process automation without having to modify hardware of existing field components that may lack the required processing capability to execute the defined basic functionalities.
Accordingly,
A communication network may be established between the field components via hardwired connections (e.g., including physical buses) and/or wireless connections (e.g., using Wi-Fi). For example, as shown, the operator station server 202 and the operator station client 204 may be connected to one another via a terminal bus 240, and optionally, to other components of the control system 200, not shown. The operator station server 202, the package units 206, 208, the automation servers 210, 212, and the agent simulation server 238 may be connected to one another via a plant bus 242, and optionally, to other components of the control system 200, not shown. For the purpose of operating and monitoring, a user or operator can access the operator station server 202 or other operator station servers (not shown) via the operator station client 204 via of the terminal bus 240. The terminal bus 240 can, without being limited thereto, be designed, for example, as an Industrial Ethernet. The sensors/actors 222, 224, 226, 228, 230, 232, 234, 236 may be connected to the IO-modules 214, 216, 218, 220 via a field bus or via wires 244, 246, 248, 250 respectively. The field buses 244, 246, 248, 25 can be designed, without being limited thereto, for example, as an Industrial Ethernet. The terminal bus 240, plant bus 242 and the field buses 244, 246, 248, 25 can provide a communication network between the single field components 206, 208, 222, 224, 226, 228, 230, 232, 234, 236 of the control system 200. There can also be wireless connections between the components 206, 208, 210, 212, 222, 224, 226, 228, 230, 232, 234, 236, 238 alternatively or in addition to hardwired connections.
The registration of sensor signals and output of actuator signals may be realized as in state-of-the-art control systems. Also, the setup concerning operating and monitoring may not be necessarily changed. The automation servers 210, 212 may still exist, but they need not be used anymore to run the automation logics. Therefore, the server load can be reduced, making it possible to use lesser number of automation servers 210, 212 compared to state-of-the-art control systems.
The agent simulation server 238 may comprise a computer program product to simulate the field components 206, 208, 222, 224, 226, 228, 230, 232, 234, 236 and realize an agent-based process automation of the process plant. For this purpose, the agent simulation server 238 may include the plant topology, for example, as P&ID or another type of topological representation. Pipe nodes can also be simulated by the agent simulation server 238.
In the present embodiment, an agent-based process automation may be implemented by simulating, by the agent simulation server 238, the plurality of field components 206, 208, 222, 224, 226, 228, 230, 232, 234, 236 which are configured as self-organizing agents. A communication network between the agents may be simulated, where each agent can communicate with adjacently physically connected agents. Sensor signals acquired via the sensors of process plant may be provided as input to the simulation. Within the simulation, requests may be generated by “requesting agents” (e.g., sensors) corresponding to respective present needs of the requesting agents, which may be derived from the sensor signals acquired from the process plant (e.g., based on a deviation of a measured value from a defined setpoint, as described above). Furthermore, within the simulation, each request may be forwarded from the respective requesting agent to one or more “responsible” agents (e.g., actuators) capable of reacting on the request via one or more paths in each case.
According to the disclosed methodology, within the simulation, requests may be assigned to responsible agents based on a prioritization mechanism which is established using information from a topological representation (e.g., P&ID) of the process plant, as described in detail below. Appropriate actuator signals may thereby be generated responsive to the sensor signals acquired from the process plant, based on the prioritized assignment of requests to responsible agents using the simulation. The prioritization mechanism may be implemented, in this case, as a software module as part of the simulation running on the agent simulation server 238.
The proposed prioritization mechanism can be used to systematically decide pairing between requests and responsible agents that shall react on a particular request. For that purpose, a penalty matrix-based approach has been developed, which can systematically increase a penalty value of a request as it flows through various agents.
The prioritization mechanism may be established as follows. For each request, an initial penalty value is assigned to that request. The initial penalty value can, for example, be zero. The request may be forwarded via one or more paths defined by a topological representation/P&ID that represents a current topology of the process plant. An increment of the penalty value may be evaluated at each agent that forwards or reacts on the request depending on a type of the request and/or a type of that agent. The “increment” can be a positive value or zero.
In various embodiments, different methodologies may be used for evaluating an increment of the penalty value of a request based on the type of the request and/or the agent that forwards or reacts on the request. According to one suitable embodiment, as applied to the illustrated examples, the evaluation methodology can include:
At least some of the pipe nodes of the process plant may be configured as agents capable of translating the requests received from adjacently physically connected agents and forwarding the translated requests to other adjacently physically connected agents. An example of a request translation may include translating a temperature request into a mass flow request and forwarding the mass flow request to a valve connected to a heat exchanger. The translation of a received request may be dependent on a type of the respective received request and the type of the pipe node, e.g., the pipe node at the inlet of a tank will translate the tank level request to a mass flow request at the tank inlet.
Thus, via different P&ID paths, a given request can reach several responsible agents that can potentially react on it with same or different penalty values. Based on the above, a penalty matrix may be created which can indicate how much cost or penalty would be incurred if a particular request is reacted to by a given responsible agent (actuator). An illustrative structure of a penalty matrix is shown in Table 1 below. The penalty matrix may be used to assign requests to responsible agents such that a total penalty value is minimized. An optimal assignment may be determined, for example, using a mixed integer optimization routine.
The determination of penalty values for each possible pair of a request and a responsible agent and the optimization of the corresponding penalty matrix may require a large amount of computing resources in a real process plant, which might have hundreds or thousands of sensors and actuators. To address this challenge, in one suitable implementation of the disclosed methodology, in each path defined by the topological representation (e.g., P&ID), the forwarding of a request may be stopped at an actuator that is capable of reacting on the request. Here, an actuator may be considered as “capable” of reacting on the request if the actuator is not occupied already by another request at a lower penalty value, or if the corresponding request has reached another actuator, via another path, such that the other actuator can react on the corresponding request at a lower penalty value. This approach may be reasonable since a further forwarding of the request would further increase the penalty value, although an actuator which can react on the request at a lower penalty value was already found. Therefore, it is highly unlikely that a pairing, which would result from a further forwarding of the request, would be part of a total optimal solution. The examples illustrated below use the above-described approach.
In a more general expression of the disclosed methodology, it may be defined that in each path defined by the topological representation (e.g., P&ID), the forwarding of a request is stopped after ‘n’ such actuators, which are “capable” (as described above) of reacting on the request, are found. In this case, ‘n’ can be natural number greater than or equal to 1. Increasing ‘n’ may increase the computing power but may also increase the likelihood that a total optimum solution is found. Thus, there may exist a trade-off between optimality and computation. However, n=1 can be a very reasonable selection and may lead to an optimal solution in most (if not all) cases anyway.
The disclosed methodology may be better understood in the context of illustrative examples.
In the present example, the process plant may have a total of four requests generated by requesting agents (sensors), S1, S2, S3, and S4. In this case, the respective requests are the differences between the related measured sensor values and the corresponding setpoints, i.e., requests for an increase or decrease of the corresponding process values. One or multiple of these requests, namely, S1 request, S2 request, S3 request and S4 request, can be addressed by one or more responsible agents (actuators) V1, V2, V3 and M1.
Referring to
The S2 request is generated by sensor S2 which is defined by a temperature deviation (T Dev). The S2 request can reach V2 along path S2_P1 and then branching to path S2_Pla, via N2, N3 (which translates T Dev to M Dev) and N4. The S2 request can also reach V3 along path S2_P1 and then branching to path S2_Pib, via N2 and N3 (which translates T Dev to M Dev). As before, the penalty value is increased by 1 as the request is forwarded via N3, such that the S2 request reaches both V2 and V3 with a penalty value 1.
The S3 request is generated by sensor S3 which is defined by a pressure deviation (P Dev). The S3 request can reach actuator M1 directly along path S3_P1 with no increase in penalty value (i.e., penalty value=0). The S3 request can also reach actuators V2 and V3. The S3 request can reach V2 along path S3_P2 and then branching to path S3_P2a, via N5. The S3 request can reach V3 along path S3_P2 and then branching to path S3_P2b, via N5. In each of the two paths, the penalty value is increased by 1 when the request is forwarded via N5 (forwarding from main pipe to pipe branch), and further increased at the respective actuator V2, V3 as they are valves that are to react on a pressure request. S3 request thus reaches both V2 and V3 with a penalty value 2 in each case.
The S4 request is generated by sensor S4 which is defined by a level deviation (L Dev). The S4 request can reach M1 along path S4_P1 via pipe node N6 (which translates L Dev to M Dev). The penalty value is increased by 1 at M1 as it is a pump that is to react on a mass flow request from N6. The S4 request thus reaches M1 at penalty value 1. However, the S4 request along path S4_P1 does not stop at M4 as M4 can react to another request (i.e., S3 request) at a lower value. Continuing along path S4_P1, the S4 request can reach V2 and V3 via N5, along paths S4_Pla and S4_P1b respectively. The penalty value of the S4 request is further increased by 1 as it is forwarded via N5, such that it reaches both V2 and V3 at penalty value 2.
Note that in
Based on the above, a penalty matrix may be created, as represented below in Table 2. In the shown penalty matrix, an ‘X’ is entered when: a request does not reach the corresponding responsible agent; or the corresponding agent is not capable of addressing the particular request; or there is no influence of the agent on that request.
In many scenarios, such as in the present example, a mixed integer optimization routine based on the penalty matrix may not be necessary as each responsible agent (actuator) can decide, at the agent level, which request it should address by choosing the request with the least penalty value. In the present example, V1 would choose to react on S1 request as it is the only request which reaches this actuator and M1 would choose to react on S3 request as this request has the least penalty value. V2 and V3 would both react on S2 request and S4 request since S1 request is already addressed by V1, which results in a special condition called multiple-input-multiple-output (MIMO). A MIMO condition may not affect determination optimal assignments at the agent level, such as described above. However, a MIMO condition may lead to infeasible solutions when using a mixed integer optimization routine. An example solution to the above challenge has been disclosed later in this description.
As in the previous example, the process plant in this case may also have a total of four requests generated by requesting agents (sensors), S1, S2, S3, and S4. In this case also, the respective requests are the differences between the related measured sensor values and the corresponding setpoints, i.e., requests for an increase or decrease of the corresponding process values. One or multiple of these requests, namely, S1 request, S2 request, S3 request and S4 request, can be addressed by one or more responsible agents (actuators) V1, V2, V3, V4 and M1.
Referring to
The S2 request can reach V2 and V3 along path S2_P′ 1 via V4 (which cannot react on it) and N3, and then branching respectively to paths S2_P′ la (via N4) and S2_P′ b. The penalty value is increased in each path by 1 as the request is forwarded via N3, such that the S2 request reaches both V2 and V3 with a penalty value 1.
The S3 request can reach M1 directly along path S3_P′1 with no increase in penalty value (i.e., penalty value=0) and can reach V2 and V3 with a penalty value 2 in each case, in the same manner as in the previous example (along path S3_P′2 and its branches S3_P′2a and S3_P′2b respectively).
The S4 request can reach V2 and V3 with a penalty value of 2 in each case, in the same manner as in the previous example (along path S4_P′1 and its branches S4_P′ la and S4_P′1b respectively). However, in this example, the S4 request may be forwarded by both V2 and V3, such that it reaches V4 in each case with a penalty value 3, as shown, along paths S4_P1′a and S4_P1′b respectively.
Note that in this second example, V2 and V3 have forwarded the S4 request although they could potentially react on it, because they also get the S2 request at a lower penalty value than the S4 request. However, they do not forward the S3 request, because this request reaches another actuator (M1) at a lower penalty value than V2 and V3.
Based on the above, a penalty matrix may be created, as represented below in Table 3. As before, in the shown penalty matrix, an ‘X’ is entered when: a request does not reach the corresponding responsible agent; or the corresponding agent is not capable of addressing the particular request; or there is no influence of the agent on that request.
As in the previous example, an optimal assignment of requests to responsible agents may be determined locally at the agent level by each responsible agent, using the penalty matrix, without the need to execute a mixed integer optimization routine. In the present example, V1 chooses to react on S1 request as it is the only request which reaches this actuator, M1 chooses to react on S3 request as this request has the least penalty value, V4 chooses to react on S4 request since S1 request is already addressed by V1, and V2 and V3 choose to react on S2 request as this request has the least penalty value.
The prioritization mechanism may thus be established based on a current topology of the process plant. The prioritization mechanism may be automatically adapted by updating the penalty matrix, for example, when the topology of the process plant is changed. The topology of the process plant may change, for instance, due to an intentional change or modification of the plant (e.g., adding/removing field components), due to a component failure, among other reasons.
In addition to topological changes, other instances may also trigger an update to the penalty matrix. For example, there may be an instance when control of a field component (e.g., actuator) is taken over by an operator of the process plant. In such instances, that particular field component may be removed from the topological representation (e.g., P&ID) used to create the penalty matrix. As another example, there might be an instance when a new request is generated by a field component. Such an instance may occur, for example, in the following scenario: A valve, which is typically operated at 10%-90% open position (for maximum reliability), may generate a new pressure request at input, if it is required to operate at above 90% open position. In such scenarios, the penalty matrix may be re-created based on the additional new request.
In some scenarios, such as illustrated in the examples above, the assignment of requests to responsible agents using the penalty matrix may be carried out at an agent level by each responsible agent. Especially in bigger plants, where more complex situations can arise, a mixed integer optimization routine may be executed to derive the optimal assignments of requests. In this case, the penalty matrix may be provided as an input to the mixed integer optimization routine, which may derive an optimal assignment of the requests to the responsible agents to minimize the total penalty value, subject to the constraints:
According to one example architecture, the assignment of requests to responsible agents using the penalty matrix may be carried out at an agent level by each responsible agent and the mixed integer optimization routine may be executed on a need basis, being triggered in the event of a conflicting assignment at the agent level. According to another example architecture, a mixed integer optimization routine may be executed irrespective of the situation. This would not change the results in comparison to the agent level assignment for nonconflicting situations, whereas for conflicting situations, it can resolve the optimal assignment problem automatically.
In case of multiple-input-multiple-output (MIMO) systems, a mixed integer optimization routine may provide an infeasible solution because of the second constraint of the optimization problem, namely, no responsible agent is assigned to more than one request. For example, considering again the example of the process plant represented in
In a first step of the post-processing, the initial penalty matrix created using the topological representation may be analyzed to identify a MIMO condition where a plurality of requests have the same set of responsible agents assigned. As described above, a MIMO condition may be identified when two actuators should work in the same direction to react on a first request and the same two actuators should work in opposite directions to react on a second request. The two requests and two actuators may thereby form a MIMO pair. Thus, referring again to the example of
In the next step of the post-processing, the penalty matrix may be adjusted by lumping the requests of the MIMO pair as a single request and lumping the set of responsible agents (actuators) of the MIMO pair as a single responsible agent. Thus, multiple rows (corresponding to all requests identified in the previous step) and multiple columns (corresponding to the set of responsible agents identified in the previous step) may be reduced to one row and one column respectively in the adjusted penalty matrix. For example, Table 4 shows an adjusted penalty matrix derived based on identified MIMO pairs in the penalty matrix shown in Table 2.
In connection with Table 4, note that since S2 request does not reach M1, the combination {S2, S4} request also does not reach M1, thus the corresponding ‘X’ in the adjusted penalty matrix. Further, since S4 request has a penalty value of 2 at V2 and V3, the combination {S2, S4} request also has a penalty value of 2, i.e., the maximum of all single penalty values is considered.
The adjusted penalty matrix may be provided as the input to the mixed integer optimization routine to derive an optimal assignment of the requests to the responsible agents to minimize the total penalty value, subject to the constraints, namely: all requests reach at least one responsible agent, and no responsible agent is assigned to more than one request. In the example of
The embodiments of the present disclosure may be implemented with any combination of hardware and software. In addition, the embodiments of the present disclosure may be included in an article of manufacture (e.g., one or more computer program products) having, for example, a non-transitory computer-readable storage medium. The computer readable storage medium has embodied therein, for instance, computer readable program instructions for providing and facilitating the mechanisms of the embodiments of the present disclosure. The article of manufacture can be included as part of a computer system or sold separately.
The computer readable storage medium can include a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
The system and processes of the figures are not exclusive. Other systems, processes and menus may be derived in accordance with the principles of the disclosure to accomplish the same objectives. Although this disclosure has been described with reference to particular embodiments, it is to be understood that the embodiments and variations shown and described herein are for illustration purposes only. Modifications to the current design may be implemented by those skilled in the art, without departing from the scope of the appended claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2022/023392 | 4/5/2022 | WO |