Plant model generation device and control method therefor
The plant model generation device optimizes component placement and linearity item structures in plant models using an attention algorithm, addressing inefficiencies in manual placement and enhancing production efficiency and cost-effectiveness.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- KIM DAESUP
- Filing Date
- 2025-10-23
- Publication Date
- 2026-04-30
AI Technical Summary
Existing plant construction simulations require manual placement of components, which is inefficient and difficult due to inter-component relationships and interference, affecting production efficiency and productivity.
A plant model generation device using an attention algorithm to automatically arrange components and linearity items based on connection relationships, optimizing placement and trajectory determination through a transformer model and self-attention operations.
Automatically generates plant models with optimal component placement and linearity item structures, enhancing production efficiency and cost-effectiveness by considering inter-component relationships across different procedures.
Smart Images

Figure KR2025016978_30042026_PF_FP_ABST
Abstract
Description
Plant model generation device and control method of the device
[0001] The present invention relates to a plant model generation device that automatically generates a plant model optimized according to pre-set requirements, wherein the arrangement of each component of the plant and the linearity items connecting each component.
[0002] In a plant, interconnected components must be organically linked, and the plant's production efficiency can vary depending on how these components are connected. Furthermore, since there are components that cannot be placed adjacent to each other due to their interrelationships, the arrangement of components and the linearity of their connections can be critical factors in determining plant efficiency.
[0003] However, the placement of these components and linearity items often involves significant volume and weight. Consequently, there is a problem in that it is difficult to change their location once they are placed within the plant space. Furthermore, since multiple components are often densely packed to utilize plant space more efficiently, subsequent changes to their placement are difficult due to interference and interactions between adjacent components. Accordingly, research has been conducted to find a more efficient arrangement of components prior to placement.
[0004] As part of this research, construction simulations have emerged that pre-arrange plant components using computer systems. These construction simulations have the advantage of allowing the most efficient component layout structure to be obtained at a low cost by changing the location of each plant component and calculating efficiency for each layout.
[0005] However, even if such a construction simulation is used, there is a problem in that the user of the construction simulation must place each component of the plant individually. In other words, while the construction simulation can only virtually place the components of the plant, there is a problem in that the actual placement must rely on the user's personal experience or knowledge.
[0006] Furthermore, in the case of a plant, there are preceding and succeeding procedures, and components deployed in succeeding procedures may be influenced by components deployed in preceding procedures. For example, the trajectory or characteristics of the piping connecting each component may be determined by the correlation between each component according to the plant's production process. Therefore, the piping may be deployed after the components according to the preceding production process have been deployed. In this case, the productivity of the plant may vary depending not only on the deployment of each component but also on the trajectory or characteristics of the piping.
[0007] Accordingly, to create a more efficient plant, the organic connection relationships between each component and other components, as well as the efficient placement of linearity items connecting these components, must be comprehensively considered. However, there is a problem in that it is practically difficult to determine the optimized components by manually considering all these inter-component relationships. Consequently, active research is currently being conducted to automatically generate plant models that optimally arrange components according to pre-set requirements, such as cost or production efficiency. This includes organic connection relationships between components for each production procedure and components within other production procedures, as well as the structure of effective linearity items connecting each component.
[0008] The present invention aims to solve the aforementioned problems and other problems by providing a plant model generation device and a control method thereof, which can automatically place each component of a plant in a virtual plant space by reflecting the connection relationships with other components connected within the same procedure or with other components connected within a different procedure, and generate a plant model in which linearity items connecting each component most effectively in terms of cost or efficiency are placed.
[0009] Furthermore, the present invention provides a plant model generation device and a control method thereof that can automatically place each component of a plant in a virtual plant space using an attention algorithm that analyzes the connection relationships between tokens distinguished by words within a sentence to reflect the connection relationships with other components connected within the same procedure or other components connected within a different procedure.
[0010] According to one aspect of the present invention for achieving the above or other purposes, a plant model generation device according to an embodiment of the present invention comprises: an input unit receiving information of a three-dimensional space in which components of a plant are to be placed, information of loops which are procedures according to a preset order for plant construction, and unique information of entities which are components of the plant to be placed in each loop; a grid setting unit that converts the three-dimensional space in which the plant is to be placed into a grid which is a three-dimensional grid-type phase space formed by a plurality of three-dimensional grids, and assigns unique information to each grid on the grid; an input tensor generation unit that, for each loop, generates a grid-entity matrix based on learning according to a plurality of preceding plant models, the unique information of entities of each loop and the statistical probability of existence for each grid where entities of each loop exist in each grid on the grid, and generates an input tensor which is a three-dimensional numerical array for attention operations of a transformer model corresponding to each loop based on the grid-entity matrix and the number of entities of each loop; and a plurality of An attention unit that calculates attention variables corresponding to each loop based on an input tensor generated for each loop and attention weights corresponding to each loop, and calculates attention variables corresponding to each loop based on an attention variable query (Q) value and key (K) value calculated in relation to the result of a preceding loop in which an attention operation was performed prior to the current loop in which the attention operation is performed, and an attention variable result (V) value calculated from the current loop, thereby producing an entity placement result of the current loop reflecting the entity placement result of the preceding loop; and provides as input to the attention unit based on a grid-entity matrix for each loop generated from the input tensor generation unit.The present invention is characterized by including a control unit that determines the position where each entity is to be placed within the three-dimensional space by detecting the grid with the highest probability of existence of each entity from the entity placement result of the current loop calculated through the attention operation of the attention unit, detects entities to be connected by linearity items based on the characteristics of each entity placed in the three-dimensional space, determines the type of linearity item according to the characteristics of the detected entities, determines at least one linearity item trajectory connecting the detected entities, and generates a plant model including a linearity item placement comprising the determined at least one linearity item trajectory and the type of linearity item corresponding to each linearity item trajectory, and the placement positions of entities placed in the three-dimensional space.
[0011] In one embodiment, the control unit detects a starting point entity where the linearity item trajectory will start and an ending point entity where the linearity item trajectory will end among entities placed in the three-dimensional space based on results learned from a plurality of preceding plant models including the same entity, detects at least one entity pair consisting of the detected starting point entity and the ending point entity, and determines the type of linearity item to connect the starting point entity and the ending point entity of each detected entity pair and the trajectory of the linearity item.
[0012] In one embodiment, the control unit determines the characteristics of a linearity item connecting the start point entity and the end point entity based on results learned from a plurality of preceding plant models having a linearity item arrangement connecting the start point entity and the end point entity, detects at least one type of linearity item having the same characteristics according to the determined characteristics of the linearity item from the linearity item information, and determines one of the at least one type of linearity item detected as the type of linearity item to connect the start point entity and the end point entity.
[0013] In one embodiment, the linearity item information includes a priority assigned to each linearity item type according to a preset cost requirement, and the control unit determines, based on the priority assigned to each of the at least one detected linearity item type, the linearity item type with a higher priority as the type of linearity item to connect the start point entity and the end point entity, prioritizing the linearity item type with a lower priority.
[0014] In one embodiment, the pre-set cost requirement is the price or weight of the linearity item, and the priority assigned to each type of linearity item is characterized by having a higher priority as the price per unit length of the linearity item is lower or the weight per unit length of the linearity item is lighter.
[0015] In one embodiment, the control unit groups the detected at least one entity pair into at least one group according to the type of linearity item to connect between the starting point entity and the ending point entity constituting each entity pair, determines a trajectory determination priority for determining linearity item trajectories for each group based on the type of linearity item corresponding to each entity pair, and determines linearity item trajectories connecting the entities included in each group in order of the highest determined trajectory determination priority.
[0016] In one embodiment, the control unit is characterized by determining, based on preset cost requirements, that the priority of an entity pair group corresponding to a type of linearity item with a high price per unit length or a heavy weight per unit length is lower than the priority of an entity pair group corresponding to a type of linearity item with a low price per unit length or a light weight per unit length.
[0017] In one embodiment, the control unit simultaneously determines the trajectories of linearity items connecting a start point entity and an end point entity constituting each entity pair, and among the trajectories of linearity items, a specific type of linearity item trajectory satisfying a preset constraint is characterized in that its total length is limited to a preset length or less.
[0018] In one embodiment, the control unit generates a plurality of plant models until a preset plant model generation termination condition is satisfied, calculates a construction cost including the cost of each entity included in the model and the cost of linearity items according to the placement of linearity items included in the plant model whenever a plant model is generated, calculates a suitability indicating the degree to which the calculated construction cost meets a preset requirement, and outputs information related to at least one of the plurality of plant models according to the calculated suitability.
[0019] In one embodiment, the control unit determines the position of the specific entity in the three-dimensional space corresponding to any one of the detected multiple grids when there are multiple grids with the highest probability of existence of the specific entity from the entity placement result, levels the intervals reaching the minimum and maximum values of the statistical probability of existence for each grid according to a preset identical consideration range into multiple intervals, and considers multiple grids in which the statistical probability of existence for the specific entity for each grid on the grid is included in the interval of the same level as grids having the same statistical probability of existence for the specific entity, thereby causing the position of the specific entity to change whenever the plant model is generated.
[0020] In one embodiment, the memory further includes information regarding a plurality of pipe or cable types having different characteristics as the linearity item information, and the control unit detects entities to be connected by pipe or cable based on the characteristics of each entity placed in the three-dimensional space, determines the type of pipe or cable according to the characteristics of the fluid flowing between the detected entities or the characteristics of electrical energy, determines at least one pipe trajectory or cable trajectory connecting the detected entities, and generates a plant model including a pipe arrangement or cable arrangement including the determined at least one pipe trajectory or cable trajectory and a pipe type or cable type corresponding to each pipe trajectory or cable trajectory, and the placement positions of entities placed in the three-dimensional space. To achieve the above or other purposes, according to one aspect of the present invention, a control method of a plant model generation device according to an embodiment of the present invention comprises information of a three-dimensional space to be placed where the components of the plant are placed, information of a loop which is a procedure according to a preset sequence for plant construction, and to be placed in the loop A step of receiving unique information of entities that are components of a plant; a step of converting a 3D space in which the plant is to be placed into a grid, which is a 3D grid-type phase space formed by a plurality of 3D grids, and assigning unique information to each grid on the grid; a step of generating a grid-entity matrix including statistical probabilities of existence for each entity of the loop calculated for each grid on the grid, and generating an input tensor, which is a 3D numerical array for attention operations of a transformer model corresponding to the loop, based on the grid-entity matrix and the number of entities of the loop, andThe method is characterized by comprising: a step of generating an attention result tensor including existence probabilities of each of a plurality of entities calculated for each grid cell on the grid by performing a self-attention operation a predetermined number of times based on the attention variables of the loop calculated based on attention weights previously learned for the loop and the input tensor; a step of determining the position of each of the plurality of entities in the 3D space according to the existence probabilities for each grid cell according to the attention result tensor; a step of detecting entities to be connected by linearity items based on the characteristics of each entity placed in the 3D space, determining the type of linearity item according to the characteristics of the detected entities, and determining at least one linearity item trajectory connecting the detected entities; and a step of generating a plant model including a linearity item placement including the determined at least one linearity item trajectory and the type of linearity item corresponding to each linearity item trajectory, and the placement positions of the entities placed in the 3D space.
[0021] In one embodiment, the step of generating the attention result tensor comprises: generating a grid-entity matrix containing statistical existence probabilities for each entity of the second loop to exist for each grid cell on the grid, and generating an input tensor for an attention operation of the second loop based on the grid-entity matrix and the number of entities of each loop; performing an encoding-decoding attention operation based on the attention variable query (Q) value and key (K) value of the first loop, for which an output tensor is the output value of the attention operation prior to the second loop is calculated, and the attention variable result (V) value of the second loop calculated based on attention weights previously learned for the second loop; and repeating a self-attention operation a predetermined number of times, in which the result of the encoding-decoding attention operation is received as the input tensor of the second loop and the encoding-decoding attention operation is performed again, to generate an output tensor which is the output value of the attention operation for the second loop. and further comprising the step of concatenating the output tensor of the first loop and the output tensor of the second loop to generate the attention result tensor.
[0022] In one embodiment, the step of determining the type of linearity item and at least one linearity item trajectory comprises: a step of detecting a starting point entity where the linearity item trajectory will start and an ending point entity where the linearity item trajectory will end among entities placed in the three-dimensional space based on results learned from a plurality of preceding plant models including the same entity; a step of detecting at least one entity pair consisting of the detected starting point entity and the ending point entity; a step of determining the type of linearity item to connect the starting point entity and the ending point entity of each detected entity pair; and a step of determining the trajectory of each linearity item connecting the starting point entity and the ending point entity of each detected entity pair.
[0023] In one embodiment, the step of determining the type of linearity item comprises: determining the characteristics of the linearity item connecting the start point entity and the end point entity based on results learned from a plurality of preceding plant models having a linearity item arrangement connecting the start point entity and the end point entity; detecting at least one type of linearity item having the same characteristics according to the determined linearity item characteristics from previously stored linearity item information; and determining one of the at least one type of linearity item detected as the type of linearity item to connect the start point entity and the end point entity, by giving priority to the linearity item type with a higher priority over the linearity item type with a lower priority according to the priority assigned to each of the at least one type of linearity item detected, wherein the linearity item information includes the priority assigned to each type of linearity item according to a previously set cost requirement.
[0024] In one embodiment, the linearity item information includes a priority assigned to each type of linearity item according to cost requirements related to the price or weight of the linearity item, and the priority assigned to each type of linearity item is characterized by having a higher priority as the price per unit length of the linearity item is lower or the weight per unit length of the linearity item is lighter.
[0025] In one embodiment, the step of determining the trajectory of each linearity item comprises: grouping the detected at least one entity pair into at least one group according to the type of linearity item to connect between the starting point entity and the ending point entity constituting each entity pair; determining a trajectory determination priority for determining the linearity item trajectory for each group based on the type of linearity item corresponding to each entity pair; and determining linearity item trajectories connecting the entities included in each group in order of the highest determined trajectory determination priority. The step of determining the trajectory determination priority is characterized in that the priority of the entity pair group corresponding to the type of linearity item with a high price per unit length or a heavy weight per unit length is determined to be higher than the priority of the entity pair group corresponding to the type of linearity item with a low price per unit length or a light weight per unit length.
[0026] In one embodiment, the step of determining the trajectory of each linearity item is a step of simultaneously determining the trajectories of linearity items connecting the start point entity and the end point entity constituting each entity pair, and among the trajectories of the linearity items, a specific type of linearity item trajectory satisfying a preset constraint is characterized in that its total length is limited to or less than a preset length.
[0027] In one embodiment, the linearity item is a pipe or a cable, and the linearity item arrangement is characterized by including at least one of a pipe arrangement including at least one pipe trajectory and a pipe type corresponding to each pipe trajectory, and a cable arrangement including at least one cable trajectory and a cable type corresponding to each cable trajectory.
[0028] According to at least one of the embodiments of the present invention, the present invention has the effect of automatically generating a plant model having an optimal linearity item placement structure connecting each component within the plant in terms of cost or efficiency.
[0029] In addition, according to at least one embodiment of the present invention, the present invention has the effect of automatically generating a plant model having a layout structure that exhibits optimal cost or optimal efficiency by considering the organic connection relationships with components in the same plant construction procedure as well as other components in different construction procedures through a self-attention algorithm and an encoding-decoding attention algorithm.
[0030] FIG. 1 is a block diagram illustrating the configuration of a plant model generation device according to an embodiment of the present invention.
[0031] FIG. 2 is a flowchart illustrating the operation process of generating a plant model including entities that are components of a plant and optimal locations of pipes connecting each entity in a plant model generating device according to an embodiment of the present invention.
[0032] FIG. 3 illustrates an example of a grid, which is a three-dimensional grid-type phase space formed according to an embodiment of the present invention.
[0033] FIG. 4 is a conceptual diagram illustrating the transformer modeling process performed by the plant model generation device when determining the locations of entities to be connected to the piping through two loops and having one subsequent loop after the piping arrangement.
[0034] FIG. 5 is a flowchart illustrating an example of an operation process for determining the placement locations of entities according to at least one plant creation process during the operation process of FIG. 2.
[0035] FIG. 6a is a flowchart illustrating the process of determining the placement locations of entities of a process loop through attention operations as the first preceding loop among the construction procedures for plant construction in FIG. 5.
[0036] FIG. 6b is an illustrative diagram showing an example of a grid existence probability-entity unique information matrix according to an embodiment of the present invention.
[0037] FIG. 6c is a conceptual diagram illustrating an example of an input tensor of a process loop according to an embodiment of the present invention.
[0038] FIG. 6d is a conceptual diagram illustrating an example of attention variables calculated according to the input tensor of FIG. 6c and the previously learned weight tensors.
[0039] Figure 6e is a conceptual diagram showing the magnitudes of attention variables calculated according to the weight tensors of Figure 6c.
[0040] Figure 6f is a conceptual diagram showing the dimension size of the process sequence tensor output as a result of the process loop according to the operation process of Figure 6a.
[0041] FIG. 7a is a flowchart illustrating the process of determining the placement locations of entities of the power loop through attention operations as the second preceding loop among the construction procedures for plant construction in FIG. 5.
[0042] FIG. 7b is a conceptual diagram illustrating an encoding-decoding attention operation that calculates a power sequence tensor based on attention variables calculated in the process loop and attention variables calculated in the power loop.
[0043] FIG. 8 is a flowchart illustrating in more detail the operation process of arranging piping between entities and calculating costs based on an output tensor calculated through at least one loop preceding an embodiment of the present invention.
[0044] It should be noted that technical terms used in this specification are used merely to describe specific embodiments and are not intended to limit the invention. Additionally, singular expressions used in this specification include plural expressions unless the context clearly indicates otherwise. The suffixes "module" and "part" for components used in the following description are assigned or used interchangeably solely for the ease of drafting the specification and do not inherently possess distinct meanings or roles.
[0045] In this specification, terms such as "composed of" or "comprising" should not be interpreted as necessarily including all of the various components or steps described in the specification, and should be interpreted as potentially excluding some of the components or steps, or including additional components or steps.
[0046] In addition, when describing the technology disclosed in this specification, if it is determined that a detailed description of related prior art could obscure the essence of the technology disclosed in this specification, such detailed description is omitted.
[0047] In addition, the attached drawings are intended only to facilitate understanding of the embodiments disclosed in this specification, and the technical concept disclosed in this specification is not limited by the attached drawings; it should be understood that they include all modifications, equivalents, and substitutions that fall within the concept and technical scope of the present invention. Furthermore, not only each of the embodiments described below, but also combinations of embodiments may fall within the concept and technical scope of the present invention as modifications, equivalents, and substitutions that fall within the concept and technical scope of the present invention.
[0048] Hereinafter, embodiments disclosed in this specification will be described in detail with reference to the attached drawings.
[0049] Meanwhile, a linearity item refers to a component of a plant model that has linearity among all bulk materials whose physical dimensions are determined after detailed design is performed. It may refer to a separate component that has a linear form, such as piping, cable trays, optical cables, earthing wires, and power cables, and connects the components of the plant model. In the following description, piping connecting components is used as an example of such a linearity item, and the configuration in which piping is arranged is assumed to be the arrangement of the linearity item. However, it goes without saying that the present invention is not limited thereto and can be applied to any other linearity items, such as power cables.
[0050] First, to explain the gist of the present invention, the present invention enables the determination of the optimal location of each component of a plant using a deep learning model, the transformer model. The transformer model is a neural network model that learns context and meaning by tracking relationships within sequential data, such as words in a sentence, and may be an artificial intelligence model that primarily captures relationships between words in a sentence and understands the meaning of the sentence.
[0051] As described above, such a transformer model can be used to analyze the relationships between input words according to a preset order and the resulting meanings, and to estimate a sentence composed of the most suitable words based on the analyzed meanings. Here, if the preset order is used as a procedure for arranging each component of a plant and the words are used as the components of the plant arranged within each procedure, the analyzed meaning of each word can correspond to the association between the components of the plant, and the sentence composed of suitable words output as the result of the transformer model can correspond to an arrangement structure in which each component in each sequentially performed procedure is appropriately arranged according to their mutual associations.
[0052] In order to determine the placement locations of plant components using such a transformer model, the present invention utilizes the encoding-decoding attention operation of the transformer model to convert the location of each plant component calculated in the preceding procedure into a location in the plant virtual space according to the subsequent procedure, and determines the location of the components according to the subsequent procedure based on the converted location of the components in the preceding procedure, thereby enabling the determination of locations that consider the interrelationships between the plant components according to each procedure.
[0053] However, the Transformer model is a seq2seq deep learning model that transforms one sequence into another, and it is a model frequently used in the field of Natural Language Processing (NLP), such as machine translation, question answering, and text summarization. Furthermore, while the Transformer model follows the encoder-decoder structure of the aforementioned seq2seq model, it can be a model implemented using only attention operations without using a Recurrent Neural Network (RNN).
[0054] Meanwhile, in natural language processing, the aforementioned attention operation refers to the entire input sentence from the encoder at every time step when the decoder predicts an output word, and focuses attention on the parts of the input words associated with the word to be predicted at that time. To detect such related words, that is, the association between words, the attention operation divides the sentence into multiple components, assigns an index corresponding to the position value to each divided component (e.g., word), or token, and performs a token embedding process that converts the index corresponding to each token into a vector, which is a numeric matrix. Then, the data types of the attention model for the above vector values—namely, the attention variables such as the Query value (Q), Key value (K), and Value value (V)—are calculated, and an operation based on the attention function (hereinafter referred to as the attention operation) is performed on the calculated attention variables to produce a vector corresponding to the result.
[0055] As such, the Transformer model involves attention operations, and a token embedding process is required to vectorize each token of the input sentence for the attention operations. Accordingly, the present invention can form a virtual space in which each component of a plant is to be placed as a three-dimensional grid-type phase space (hereinafter referred to as the grid). In this case, each grid within the grid may have a unique number, and the unique number may correspond to an index on the token embedding.
[0056] Meanwhile, grids each having a unique number that form a virtual space in which the aforementioned virtual plant components are to be placed may be locations where the plant components can be placed. In this case, the unique number of each grid serves as the location value of that grid, and the difference between the unique number of a specific grid and the unique number of another grid may represent the relative distance based on the association between the grids.
[0057] In this way, a virtual space in which plant components can be placed is formed as a three-dimensional grid-type phase space, and a tensor, which is a three-dimensional array representing the initial probability value of each component being placed in each grid based on the probability value of the components that can be placed in each grid and each grid of the grid, is constructed. Then, using the tensor, which is a three-dimensional array, as an input value, attention variables, which are data types of the attention model, namely the query (Q) value, the key (K) value, and the result (V) value, are calculated, and by performing an attention operation on the calculated attention variables, the placement probability of each component in each grid according to self-attention and encoding-decoding attention can be calculated. Then, by determining the components that can be placed in each grid according to the placement probability calculated through the attention operation, a placement structure of components that considers the association relationships of components organically connected to each other can be determined.
[0058] In addition, the present invention can determine the type of piping connecting each component based on each component of at least one plant generation procedure determined through the attention operation, and determine a priority according to the determined type of piping. In addition, by determining the trajectory of the piping according to the determined priority and determining the length of the piping according to the determined trajectory, it is possible to generate a plant model having an optimal piping structure connecting each component within the plant in terms of cost or efficiency.
[0059] First, FIG. 1 is a block diagram illustrating the configuration of a plant model generation device (10) according to an embodiment of the present invention.
[0060] Referring to FIG. 1, a plant model generation device (10) according to an embodiment of the present invention may be configured to include a control unit (100), a grid setting unit (110) connected to the control unit (100) and controlled by the control unit (100), an input tensor generation unit (120), an attention unit (130), a memory (140), an artificial intelligence unit (150), an input unit (170), and an output unit (160).
[0061] First, the input unit (170) can receive user input for operating the plant model generation device (10). Here, the user input may include information about the actual area where the plant components are to be placed.
[0062] In addition, the user input may include information regarding the components of each procedure for plant construction. Here, each procedure is a procedure performed sequentially for plant construction, and different plant components may be arranged for each procedure. Accordingly, information regarding different plant components for each procedure may be entered as user input.
[0063] Meanwhile, the transformer model performs an attention operation, and the attention operation may include a self-attention operation that converts its own output into an input and performs the attention operation again. Meanwhile, since the plant model generation device (10) according to an embodiment of the present invention performs self-attention multiple times for each procedure for plant construction, the attention operation for each procedure for plant construction may form a loop in which the output value is input again as an input value. Accordingly, in the following description, each procedure performed sequentially for plant construction will be named as a loop according to each procedure so that it can be distinguished according to the attention operation constituting the loop.
[0064] In addition, in the following description, each component of a plant placed within a virtual plant space may refer to an entity placed within the virtual plant space. Accordingly, in the following description, each component of a plant that can be placed within the virtual plant space will be referred to as an 'entity'.
[0065] Here, the information of entities input by the user can determine hyperparameters that determine the dimension size of a 3-dimensional matrix, i.e., a tensor, based on the input or output of the transformer model.
[0066] For example, the number of grids (Lg) constituting a 3D grid-type phase space, which is a virtual space where the above-mentioned plant components can be placed, the entity embedding size (Ld) representing the number of digits of unique information assigned to each entity according to the constraints and attributes of each entity, and the sequence size (Ls) for each loop representing the number of entities for each loop can be determined. These hyperparameters can determine the dimension size of the tensor that is input or output to the attention operation of the above-mentioned transformer model.
[0067] Meanwhile, the entities placed in the virtual space may differ for each loop. For example, if the plant is a chemical plant that produces a specific substance, the tasks to be performed in sequence according to the production process for producing the specific substance may be determined. In this case, production equipment, etc., for performing each task may be the plant components, i.e., entities, corresponding to each task. Accordingly, the production equipment that can be placed in the virtual plant space according to the production process, i.e., the process loop, may be determined as the entities corresponding to the process loop.
[0068] Meanwhile, when entities according to the above process loop are placed, power devices for supplying power to each entity on the process loop may be placed. In this case, the power loop in which the power devices are placed can be performed after the entities according to the above process loop are placed, and can be distinguished from the above process loop. And the power devices that can be placed on the power loop may be determined as entities according to the above power loop.
[0069] And when entities are placed according to the power loop, a procedure may be performed to place structures to form a structure in which each entity is supported and connected, such as a structure to support each entity. The structure loop, which is the procedure for placing structures in this manner, may be a procedure distinct from the preceding process loop and current loop. Furthermore, the structures that can be placed on the structure loop may be determined as entities according to the structure loop.
[0070] In this way, the plant can be constructed according to multiple construction procedures. The aforementioned multiple construction procedures, i.e., loops, may have a temporal sequence relationship with respect to one another, and accordingly, the multiple construction procedures may be different procedures that are temporally distinct.
[0071] Meanwhile, the above description described the process loop, power loop, and structural loop, which are executed sequentially, as examples of the aforementioned multiple construction procedures, namely the loops. In the following description, the process loop, power loop, and structural loop are to be used as examples to describe the loops that are performed sequentially for plant construction. However, it goes without saying that the present invention is not limited thereto, and that any number of more loops may be performed for plant construction. In this case, at least one loop may be added between the process loop and the power loop, or between the power loop and the structural loop. Furthermore, it goes without saying that at least one of the process loop, power loop, or structural loop may not be included. For example, a plant model may be generated with only one or two loops, without at least one of the process loop, power loop, or structural loop.
[0072] In addition, the unique information of the entities in the following description can be distinguished according to the constraints and attributes of each entity. Here, the aforementioned constraints and attributes are unique characteristics possessed by each entity and may represent the entity's size and weight, power consumption, function, shape characteristics, etc.
[0073] Here, unique codes corresponding to different characteristics of each entity can be merged into a pre-specified number to generate unique information corresponding to each entity. For example, the first two digits of the unique information of the entity may be a unique code corresponding to the size of the entity. In this case, entities with the same first two-digit unique code may be entities of the same size within a pre-set error range.
[0074] And among the above unique information, the next two digits may be a unique code corresponding to weight, the next two digits may be a unique code corresponding to power consumption, and the next two digits may be a unique code corresponding to the unique function of the entity. And the next two digits may be a unique code corresponding to the shape characteristics of the entity. In this case, a 10-digit code formed by merging five unique codes corresponding to the characteristics of different entities can generate the unique information of each entity.
[0075] Meanwhile, the above entity may represent a virtual object that does not actually exist. For example, in the case of a wall or a column, a representative point corresponding to the shape of the wall or column, etc., may be included as the entity. In this case, walls or columns that are combined with each other may form a single structure, and each representative point representing the combined structures may be included as a single entity.
[0076] Meanwhile, the grid setting unit (110) can form a virtual plant space in which virtual plant components, i.e., entities, are placed according to an embodiment of the present invention. Here, the virtual plant space can generate a three-dimensional grid-type topological space, i.e., a grid, consisting of a plurality of grids formed in three dimensions as described above. In this case, each grid constituting the grid can be formed to occupy a space inside the virtual plant of the same size, and unique information such as a serial number can be assigned through indexing.
[0077] In this case, the grid may be a virtual space corresponding to the area where plant components are to be placed. Additionally, it may be a virtual space having the same constraints as the plant construction constraints entered by the user for plant construction. That is, it may be a virtual space where the number or location of inlets or outlets is set identically.
[0078] Meanwhile, for each entity, a probability of existence for each entity may be assigned to each grid constituting the three-dimensional grid-type phase space, that is, the grid. Here, for each grid within the grid, the probability of existence of each entity according to the constraints within the virtual plant space may be a statistical probability of existence calculated based on the placement locations of each entity included in a plurality of previously generated plant models having the same or similar constraints.
[0079] For example, based on the placement locations of each entity according to the aforementioned prior-generated multiple plant models, the probability that any one entity is placed in each grid cell on the grid is calculated, and by performing this for each entity, the statistical probabilities of existence in each grid cell on the grid for each entity can be calculated.
[0080] In this case, the statistical probabilities of existence for each grid cell for each of the above entities may be probabilities of existence learned based on models of multiple actual plants selected as training data. That is, they may be probabilities of existence calculated for each entity for each grid cell on the grid according to the results learned for each of multiple prior cases in which multiple plant components are placed in a target area that is identical (where both size and shape are similar by a preset level or higher) or similar (where either size or shape is similar by a preset level or higher) to the target area where the plant is to be constructed.
[0081] For example, if there are 10 cases among 100 preceding cases where entity A, a plant component, is placed at a location on the target area corresponding to grid 10, the statistical probability of existence of entity A in grid 10 may be 10%. On the other hand, if there are 50 cases where entity A is placed at a location on the target area corresponding to grid 20, the statistical probability of existence of entity A in grid 20 may be 50%.
[0082] In this way, for each entity on the plant, the statistical probability of existence in each grid cell on the grid can be learned using the aforementioned multiple prior cases as training data. And the grid setting unit (110) can determine the statistical probability of existence for each grid cell of the grid formed for the target area for each entity, according to the control of the control unit (100).
[0083] Meanwhile, the above statistical probability of existence may reflect constraints within the virtual plant space. For example, the virtual plant space may include structural feature points corresponding to the entrance or exit, pillars, or walls of the target area where the actual plant is to be constructed. Furthermore, based on each of the structural feature points, constraints set for each entity, such as distance constraints based on the entrance or exit, may be reflected to set the probability of existence of each entity for each grid.
[0084] Here, the above constraint may be set directly by the user. That is, when a constraint is set for a specific type of entity, the grid setting unit (110) can set the probability of existence of an entity reflecting the set constraint in each grid cell according to the control of the control unit (100).
[0085] For example, if a constraint is input that a specific piece of equipment A must exist at a location separated from the entrance by a certain distance or more, the control unit (100) can control the grid setting unit (110) to remove at least one prior case among the prior cases in which equipment identical or similar to the specific piece of equipment A (equipment that is different but has similar functions) is placed within a certain distance from the entrance of the target area. Then, the statistical probability of the same or similar equipment being placed within a certain distance from the entrance becomes 0%, and only the statistical probabilities of existence on each grid of each entity according to the prior cases in which the specific piece of equipment A is placed at a location separated from the entrance by a certain distance can be calculated.
[0086] And the input tensor generation unit (120) can generate an input tensor that is an input for attention operations in each process of the transformer model. Here, the input tensor corresponds to a vector embedded from a token for attention operations in the natural language processing process, and the input tensor generation unit (120) can perform embedding for entities placed in each loop for each loop that is sequentially performed in the plant.
[0087] For example, as described above, if the plant construction consists of a process loop, a power loop, and a structure loop, the input tensor generation unit (120) can generate a process loop input tensor to be used for the attention operation of the process loop according to the unique information of entities to be placed in the process loop and the probability of existence of each entity to be placed in the process loop for each grid cell of the grid according to the control of the control unit (100). And, it can generate a power loop input tensor to be used for the attention operation of the power loop according to the unique information of entities to be placed in the power loop and the probability of existence of each entity to be placed in the power loop for each grid cell of the grid according to the unique information of entities to be placed in the power loop and the probability of existence of each entity to be placed in the power loop for each grid cell of the grid according to the unique information of entities to be placed in the structure loop and the probability of existence of each entity to be placed in the structure loop for each grid cell of the grid according to the unique information of entities to be placed in the structure loop and the probability of existence of each entity to be placed in the structure loop for each grid cell of the grid according to the unique information of entities to be placed in the structure loop
[0088] Here, the input tensor of each loop can be formed as a three-dimensional array having a size based on the unique information of each entity, the probability of existence for each grid cell of the grid, and the number of entities to be placed in each loop.
[0089] Meanwhile, the attention unit (130) can perform attention operations for each loop. Here, the attention operations may include a weight operation that calculates the data type of the attention model, i.e., attention variables, for the input tensor for each loop, and self-attention and encoding-decoding attention calculated according to the attention variables.
[0090] Here, the weight operation may be a process of calculating the attention variables by reflecting pre-set attention weights corresponding to each attention variable for each input tensor of each loop. Here, the attention variables include a query value (Q), a key value (K), and a result value (V). The weight operation may include an operation of reflecting a pre-set query (Q) weight to calculate the query value (Q) to the input tensor of each loop, an operation of reflecting a pre-set key (K) weight to calculate the key value (K) to the input tensor of each loop, and an operation of reflecting a pre-set result (V) weight to calculate the result value (V) to the input tensor of each loop. In this case, since the input value of the weight operation is a tensor having a 3-dimensional array, the query (Q) weight, key (K) weight, and result (V) weight may also be tensors having a 3-dimensional array. In addition, the result of the above weight operation may also be a tensor having a three-dimensional array. To this end, the attention unit (130) may be provided with a weight operation unit (131) for performing the above weight operation.
[0091] Meanwhile, the attention unit (130) may include an attention operation unit (132) that performs self-attention operations and encoding-decoding attention based on attention variables calculated by the weight operation unit (131). In this case, the attention operation unit (132) may perform attention operations based on a SoftMax function based on attention variables calculated by the weight operation unit (131). In this case, the attention operation may be an operation that calculates the inner product of the existence probabilities of different entities for each grid in a three-dimensional grid-type phase space, i.e., a grid.
[0092] Here, the self-attention operation is an operation that receives the result value as an input value and performs attention again, and may be an operation that receives the output result of the attention operation as an input value again. That is, the self-attention operation may be a process of receiving the output value of the attention operation as an input tensor of the corresponding loop, recalculating attention variables through the weight operation unit (131), and performing the attention operation again on the recalculated attention variables.
[0093] Meanwhile, the encoding-decoding attention operation may be a combination of the encoding attention operation and the decoding attention operation. Here, the encoding attention operation is an operation that converts an input tensor of arbitrary size into a tensor of size for the attention operation of a specific loop, and may refer to the process of converting the result obtained through a preset number of self-attention operations in the preceding loop into the size of the input tensor of the succeeding loop, that is, another loop that intends to perform the attention operation.
[0094] Meanwhile, the decoding attention operation is an operation that generates a desired output through an operation based on a softmax function, based on the output tensor which is the result of the encoding attention operation, and may include an attention operation based on a softmax function. That is, unlike the self-attention operation which receives its own output as input, the encoding-decoding attention operation may be an operation that receives the output from another loop as input to a specific loop and performs an attention operation using a softmax function. To perform such self-attention operation and encoding-decoding attention operation, the attention unit (130) may be configured to include an attention operation unit (132).
[0095] Meanwhile, the query (Q) weight, key (K) weight, and result (V) weight used in the attention unit (130) may be weights determined through learning by the artificial intelligence unit (150).
[0096] Here, the artificial intelligence unit (150) performs the role of processing information based on artificial intelligence technology and may include one or more modules that perform at least one of learning information, reasoning information, perception of information, and processing natural language.
[0097] The artificial intelligence unit (150) can perform at least one of learning, inferring, and processing a vast amount of information (big data) using machine learning technology.
[0098] Here, learning can be achieved through the aforementioned machine learning technology. The machine learning technology is a technique that collects and learns large-scale information based on at least one algorithm, and judges and predicts information based on the learned information. Information learning is the operation of identifying the characteristics, rules, and judgment criteria of information, quantifying the relationships between information, and predicting new data using the quantified patterns.
[0099] The algorithms used by these machine learning techniques can be based on statistics and include, for example, decision trees that use a tree structure as a predictive model, neural networks that mimic the structure and function of biological neural networks, genetic programming based on biological evolutionary algorithms, clustering that distributes observed examples into subsets called clusters, and the Monte Carlo method that calculates function values as probabilities using randomly extracted numbers.
[0100] As a field of the aforementioned machine learning technology, deep learning is a technology that uses artificial neural network algorithms to perform at least one of learning, judging, or processing information. An artificial neural network can have a structure that connects layers (hidden layers) to each other and transmits data between layers. This deep learning technology can learn a vast amount of information through artificial neural networks by utilizing a CPU (Central Processing Unit) optimized for parallel processing.
[0101] For example, in the present invention, the artificial intelligence unit (150) can learn attention weights for calculating attention variables for each loop for plant construction based on statistical probabilities of existence for each grid where the entity of each loop exists in each grid on the grid from a plurality of preceding plant construction cases. In addition, for each loop for plant construction, for each loop having a plurality of preceding loops, for example, loops after the third loop, attention weights for calculating attention variables for each combined tensor where the results of the preceding loops are combined can be learned.
[0102] Meanwhile, in this specification, the artificial intelligence unit (150) and the control unit (100) may be understood as the same component. In this case, the function performed by the control unit (100) described in this specification may be expressed as being performed by the artificial intelligence unit (150), and the control unit (100) may be named as the artificial intelligence unit (150), or conversely, the artificial intelligence unit (150) may be named as the control unit (100).
[0103] Alternatively, in this specification, the artificial intelligence unit (150) and the control unit (100) may be understood as separate components. In this case, the artificial intelligence unit (150) and the control unit (100) can perform various controls for plant construction automation through data exchange with each other. Additionally, the control unit (100) can perform at least one of the functions executable in the plant model generation device (10) or control at least one of the components of the plant model generation device (10) based on the results derived from the artificial intelligence unit (150). Furthermore, the artificial intelligence unit (150) may be operated under the control of the control unit (100).
[0104] Meanwhile, the above-mentioned query (Q) weight, key (K) weight, and result (V) weight may be learned weights determined by the learning of the artificial intelligence unit (150). To this end, the artificial intelligence unit (150) can calculate the query (Q) weight, key (K) weight, and result (V) weight for each loop of each of the preceding plant construction cases based on a number of preceding plant construction cases input as learning data. Then, based on the calculated weights for each preceding plant construction case, the query (Q) weight, key (K) weight, and result (V) weight for each loop of similar plant construction cases can be learned.
[0105] For example, the artificial intelligence unit (150) can classify the training data based on at least one of the characteristics of the area where the plant is built, such as size or shape, or at least one of the characteristics of constraints. Then, according to the classified training data, it can learn query (Q) weights, key (K) weights, and result (V) weights for each loop. Thus, the artificial intelligence unit (150) can learn weights for each loop differently depending on the characteristics of the area where the plant is built, i.e., the target area.
[0106] Accordingly, when information about a plant target area is input through the input unit (170), the artificial intelligence unit (150) can determine pre-learned query (Q) weights, key (K) weights, and result (V) weights for each loop corresponding to at least one of the features of the target area. Then, under the control of the control unit (100), by providing the determined query (Q) weights, key (K) weights, and result (V) weights for each loop to the attention unit (130), attention operations can be performed according to the query (Q) weights, key (K) weights, and result (V) weights for each loop learned from the training data according to the features of the target area.
[0107] In addition, the artificial intelligence unit (150) can learn the characteristics of the piping connecting each entity based on a number of prior plant construction cases, that is, a number of learning data.
[0108] For example, if fluid is supplied through piping connecting a specific entity and another entity, the piping between the specific entity and the other entity may reflect the characteristics of the supplied fluid.
[0109] For example, if the fluid flowing between the aforementioned specific entity and another entity is at a high temperature, the piping may be made of a heat-resistant material to withstand the temperature of the fluid. Conversely, if the fluid flowing between the specific entity and another entity is at an extremely low temperature, the piping may be made of a cold-resistant material to withstand the temperature of the fluid. Additionally, if the fluid has specific chemical properties (e.g., acidic or basic), the piping through which the fluid flows may be determined by taking into account the chemical properties of the fluid.
[0110] Accordingly, through learning based on the above multiple learning data, the artificial intelligence unit (150) can learn at least one pipe characteristic, such as the material or weight of the pipe connecting the starting point entity and the ending point entity, based on entities connected through pipes, that is, the starting point entity and the ending point entity.
[0111] In addition, the artificial intelligence unit (150) can learn the optimal path connecting the starting point entity and the ending point entity based on the characteristics of the starting point entity and the ending point entity learned from multiple learning data, that is, multiple preceding plant models. And based on the learned optimal path, it can determine the trajectory of the pipe connecting the starting point entity and the ending point entity.
[0112] Meanwhile, the memory (140) can store data that supports various functions of the plant model generation device (10). The memory (140) can store a number of applications or applications running on the plant model generation device (10), data and commands for the operation of the plant model generation device (10), and data for the operation of the artificial intelligence unit (150) (e.g., at least one algorithm information for updating or learning a machine learning or prediction model).
[0113] Additionally, input data for creating a plant model may be stored in the memory (140). For example, information regarding the requirements of the plant model to be created may be stored in the memory (140). In this case, the requirements may be input by a user as constraints on entities placed on a target area or each loop.
[0114] Additionally, the memory (140) may store information about a target area input by a user and information about entities corresponding to each loop. Here, the information about the target area may include feature information such as the size and shape of the target area and information about constraints, and the information about the entities may include information including the name and unique information of the entities.
[0115] Additionally, the memory (140) may contain information about various types of pipes. In this case, the pipes may be classified into different types depending on the manufacturer of the pipes or the year of manufacture of the pipes. Alternatively, they may be classified into different types depending on characteristics such as the material, weight, or thickness of the pipes. Additionally, the pipe information may include information about the material of the pipes according to each type of pipe and the chemical characteristics of the fluid corresponding to the material of the pipes, and may include information about the physical characteristics of the pipes, such as the weight or thickness of the pipes. Additionally, to calculate the cost associated with the pipes, information about the price per unit length for each type of pipe may be included.
[0116] Additionally, the memory (140) may store information for data and algorithms for generating a grid corresponding to the target area for the grid setting unit (110). Furthermore, the memory (140) may store information for the grid setting unit (110) to calculate the statistical probability of existence for each grid for each entity. For example, the memory (140) may store prior cases classified into multiple groups according to the characteristics of the target area, and result data in which the probability of existence for each grid of the grid is calculated for each entity included in the prior cases. Furthermore, each entity included in the prior cases may be classified by identical or similar entities. That is, the probability of existence for each grid of the grid may be the statistical probability of existence of identical or similar entities for each grid. In this case, the classification of the entities may be based on the unique information of each entity.
[0117] Accordingly, the grid setting unit (110) can first detect one group of preceding cases based on feature information of the target area. Then, from the detected group, the probability of existence of each entity in each grid can be calculated statistically. In this case, in each preceding case of each detected group, identical or similar entities can be distinguished as identical entities.
[0118] And the grid setting unit (110) can determine the entities of the preceding cases of the detected group that are identical or similar to the input entity based on the unique information of each entity input by the user. Accordingly, the probability of existence per grid calculated for the entities of the preceding cases of the detected group that are identical or similar to the input entity can be determined as the probability of existence per grid for the entity input by the user.
[0119] In addition, the memory (140) can store various data for attention operations. For example, information on learned weights provided by the artificial intelligence unit (150) and results according to the attention operations of each loop can be stored.
[0120] Meanwhile, the cost calculation unit (180) can calculate the costs required according to the currently generated plant model. For example, when pipes connecting each entity are placed, the cost calculation unit (180) can calculate the pipe cost based on the price per unit length of each pipe placed and the length according to the placement trajectory of each pipe. In addition, the cost calculation unit (180) can calculate the cost for each entity included in the currently generated plant model according to the control of the control unit (100), and calculate the entity cost according to the placed entities by summing the calculated costs for each entity. Then, the construction cost according to the currently generated plant model can be calculated by summing the pipe cost and the entity cost.
[0121] Here, the cost may be for the price of the piping or entity, as well as for specific physical characteristics of the piping or entity. For example, the cost calculation unit (180) may calculate the total weight of the plant as a cost. In this case, the cost calculation unit (180) may calculate the piping cost based on the length according to the placement trajectory of each piping, based on the weight per unit length, rather than the price per unit length of each piping. Additionally, the entity cost of the entities included in the currently generated plant model may be calculated based on the weights of each entity included in the currently generated plant model. Furthermore, the construction weight according to the currently generated plant model may be calculated as the construction cost by adding the piping cost and the entity cost.
[0122] And the control unit (100) controls each connected component and can control the overall operation of the plant model generation device (10).
[0123] First, the control unit (100) can enable the grid setting unit (110) to generate a grid corresponding to the target area based on the characteristics of the target area input through the input unit (170). Then, the artificial intelligence unit (150) can be controlled to determine pre-learned attention weights according to the characteristics of the target area.
[0124] Additionally, the control unit (100) can set the probability of existence on each grid of the grid according to the entities corresponding to each loop for each loop, based on the entity information for each loop input by the user, and the grid setting unit (110).
[0125] And the control unit (100) can control the input tensor generation unit (120) to generate an input tensor for each loop based on the number of entities corresponding to each loop, the unique information of the entities, and the statistical probability of existence of each entity on each grid. And the attention unit (130) can be controlled to perform weight calculations, self-attention, and encoding-decoding attention.
[0126] And the control unit (100) can generalize the output value, i.e., the output tensor calculated according to the weight calculation and self-attention and encoding-decoding attention results calculated for each loop based on the pre-set generalization weights, and detect the grid in which the probability of existence is calculated to be highest for each entity based on the generalized output tensor. And by placing each entity for each detected grid, a placement model can be obtained in which the components of the plant, i.e., entities, entered by the user are placed in optimal positions within the target area entered by the user.
[0127] When a placement model in which the above entities are placed is obtained, the control unit (100) can detect entities requiring pipe connections from the obtained placement model. In this case, the entities requiring pipe connections can be detected through the characteristics of the entities and the learning results of the artificial intelligence unit (150). Then, based on the learning results of the artificial intelligence unit (150), the characteristics of the pipes connecting each entity can be determined. In this case, the control unit (100) can determine a priority or assign a weight to each type of pipe stored in the memory (140) according to the requirements or constraints input by the user. Then, the artificial intelligence unit (150) can determine the characteristics of the pipes connecting each entity based not only on the learning results but also on the priority or weight.
[0128] When the characteristics of the piping connecting each of the above entities are determined, the control unit (100) can determine the route of the piping connecting each entity. Here, the route of the piping may refer to interconnected grids on the grid where the piping is placed, and the grids corresponding to the route may be considered to be occupied by linearity items corresponding to the piping. That is, the route may be formed in grid units on the grid. In this case, depending on the type of linearity item, the grids corresponding to the route may be allowed to overlap in occupancy with other entities. Here, if the overlap in occupancy is allowed, other entities may be placed overlappingly on the grid determined by the route.
[0129] Then, the control unit (100) can connect all entities that require pipe connection, search for pipe paths where pipes do not collide with each other or with other entities, and determine the searched paths as pipe trajectories.
[0130] Here, the control unit (100) can search for paths that can avoid not only direct collisions but also interference by at least one other pipe or other entity. Here, the interference refers to indirect influence in addition to direct collisions, and can be determined by requirements set by a user or customer, or by the characteristics of an adjacent other entity or an adjacent other pipe (fluid flowing along the pipe). For example, a pipe or entity through which a fluid having specific chemical characteristics flows may have a preset number of grids around the grid where the pipe or entity is placed determined as grids where indirect influence occurs due to the pipe, and in this case, a trajectory can be determined as a path that avoids the grids where indirect influence occurs.
[0131] To determine such pipe trajectories, the control unit (100) can determine the trajectories of the pipes in order of the assigned priority. In this case, since pipes with higher priority are connected first, the higher the priority, the lower the likelihood of collision with other pipes. That is, as the higher the priority, the entity can be directly connected to the entity, so the trajectory of the pipe can be simplified and the pipe length can be shortened. However, in the case of pipes with lower priority, the likelihood of collision with pipes with higher priority increases, so unnecessary trajectories may be included to avoid this. Therefore, the lower the priority, the higher the complexity of the pipe trajectory and the longer the length of the trajectory, which may cause fluid flow delay.
[0132] Alternatively, the control unit (100) can search the trajectories of all pipes simultaneously. In this case, since no priority is assigned to each pipe, the complexity of each pipe trajectory and the fluid flow delay caused by the avoidance path can be distributed across all pipes. Therefore, it is possible to prevent the trajectory of a specific pipe from becoming complex and the length of the trajectory from becoming long.
[0133] Meanwhile, when pipe trajectories connecting each entity to each other are determined, the control unit (100) can generate a plant model including pipes according to the determined pipe trajectories. Alternatively, if there is at least one subsequent loop performed after the arrangement of the pipes, the control unit (100) can further perform operations according to the at least one subsequent loop.
[0134] For example, if entities are arranged in the order of a process loop, a power loop, and a structure loop for plant construction as described above, the control unit (100) can generate a placement model in which entities are arranged based on the output value, i.e., the output tensor, resulting from the operation of the process loop and the power loop, and can arrange pipes that connect the entities included in the generated placement model. Then, the output tensor resulting from the operation of the process loop and the power loop can be input as an input to the structure loop to obtain a placement model that includes the entities of the structure loop. Then, a plant model can be generated that includes entities including the entities of the structure loop and pipes according to the determined pipe trajectories connecting each entity.
[0135] Meanwhile, when a plant model is generated, the control unit (100) can control the cost calculation unit (180) to calculate the plant construction cost, which includes the costs of each entity included in the generated plant model and the costs of the installed piping. Then, based on the calculated plant construction cost, the suitability of the currently generated plant model can be evaluated. In this case, the suitability is a suitability according to pre-set requirements set by the user in advance, such as cost requirements or weight requirements, and may be used to evaluate the extent to which the currently generated plant model meets the user's requirements.
[0136] And the control unit (100) can repeat the generation of the plant model until a preset plant model generation termination condition is satisfied. In this case, the location of the entity included in the plant model can be changed for each plant model generated.
[0137] For example, when the control unit (100) determines the location of entities based on the output tensor, if there are multiple grids with the highest probability of existence of a specific entity according to the output tensor (e.g., the highest probability of existence for a specific entity is 90%, and there are multiple grids with a probability of existence of 90% for the specific entity), the location of the specific entity can be determined by any one of the grids with the highest probability of existence. In this case, the generated plant model determines the trajectory of the piping connecting to other entities according to the current location of the specific entity, and the piping cost can be calculated accordingly.
[0138] Here, the control unit (100) may set a range in which the existence probabilities can be considered equal in order to enhance the probabilistic characteristics in which the entities may be arranged differently. For example, the control unit (100) may truncate the existence probabilities after the decimal point so that in the case of grids where the existence probabilities of a specific entity differ after the decimal point, the existence probabilities of the specific entity may be considered equal.
[0139] Alternatively, based on the above-mentioned same consideration range, cases of existence probabilities having a difference less than or equal to the above-mentioned same consideration range may be considered as identical. For example, if the above-mentioned same consideration range is set to 2%, the control unit (100) may consider grids in which the difference in existence probabilities for a specific entity is 2% or less as grids in which the existence probabilities for the specific entity are identical to each other.
[0140] And when the plant model is regenerated because the pre-set plant model generation termination condition is not satisfied, if there are multiple grids with the highest probability of existence of a specific entity according to the output tensor as described above, the control unit (100) can determine the location of the specific entity in any other grid among the grids with the highest probability of existence. Therefore, the location where the specific entity is placed may vary from plant model to plant model, and accordingly, the trajectory and length of the piping may vary. Consequently, the calculated piping cost also varies, and the suitability of the plant model may also be evaluated differently depending on the changed piping cost.
[0141] Meanwhile, when a pre-set plant model generation termination condition is satisfied, the control unit (100) can select at least one plant model based on the suitability calculated for each plant model. Then, the control unit (100) can control the output unit (160) to output the selected at least one plant model.
[0142] In this case, if each entity is a 3D model, the control unit (100) can output an image of the plant model, which consists of 3D models corresponding to each entity included in the plant model, through the output unit (160). Alternatively, the control unit (100) can control the output unit (160) to selectively output information about the location of a specific entity according to user input. To this end, the output unit (160) may be configured to include a display capable of outputting visual information.
[0143] FIG. 2 is a flowchart illustrating the operation process of generating a plant model including entities that are components of a plant and optimal locations of pipes connecting each entity in a plant model generating device (10) according to an embodiment of the present invention.
[0144] First, referring to FIG. 2, the control unit (100) of the plant model generation device (10) according to an embodiment of the present invention can generate a virtual plant space corresponding to the target area based on information of the target area input by the user. Then, the generated virtual plant space can be converted into a three-dimensional grid-type phase space consisting of grids of a preset size, and a unique number can be assigned to each grid through indexing according to a preset order. Thus, a three-dimensional grid-type phase space, i.e., a grid, consisting of grids to which each unique number is assigned can be generated (S200).
[0145] Figure 3 illustrates an example of a grid, which is a three-dimensional grid-type phase space generated in step S200 of Figure 2.
[0146] Referring to FIG. 3, FIG. 3(a) illustrates an example of a grid (350) composed of grid spaces (hereinafter grids) of a predetermined size for a virtual plant space corresponding to the target area. Each grid of the grid (350) may be sequentially assigned a unique number according to indexing in a predetermined order as described above. Therefore, when arranging each grid in a line according to the unique number, the grids may be arranged in a line as shown in FIG. 3(b) according to the unique number assigned to each grid.
[0147] As seen in Figure 3(b) above, when a grid is generated in a form where grids are arranged in a row, the control unit (100) can detect entities for each loop according to constraints based on user requirements, i.e., design constraints, from user input information (S202). In this case, if the construction procedure for plant construction consists of three stages—a process loop, a power loop, and a structure loop—as described above, the control unit (100) can detect information of entities placed on the process loop among the entity information input by the user and classify them as process entities, and detect information of entities placed on the power loop and classify them as power entities. Additionally, among the entity information input by the user, it can detect information of entities placed on the structure loop and classify them as structure entities. In this case, the information of each classified entity may include unique information of each entity.
[0148] Meanwhile, when information of entities for each loop is detected from input information input by the user, the control unit (100) can perform an attention operation for at least one loop for plant construction and calculate an output value as a result of the attention operation (S204).
[0149] In this case, the control unit (100) can generate an input tensor for an attention operation of the first loop from information of entities corresponding to the first loop, which is the first procedure among the construction procedures for plant construction. Then, based on the generated input tensor and attention weights learned for the first loop, namely attention weights Q, K, and V, attention variables Q, K, and V can be calculated. And self-attention can be performed on the calculated attention variables.
[0150] In this case, the first loop is the first loop to be executed, and since there is no preceding loop, only self-attention can be performed a preset number of times without encoding-decoding attention.
[0151] Meanwhile, the result of the operation for the first loop may be produced as a result of the self-attention operation set a number of times. In this case, a three-dimensional array (tensor) having the number of entities in the first loop, the entity embedding size according to the number of digits of the entity unique information, and the size according to the grid number may be produced as the result of the operation for the first loop.
[0152] Meanwhile, in step S204 above, when the attention operation for the process loop corresponding to the first loop is completed, the control unit (100) can perform an attention operation for the second loop that follows the first loop according to the construction procedure for plant construction, and calculate an output value that is calculated as a result of the attention operation.
[0153] In this case, the control unit (100) can generate an input tensor for an attention operation of the second loop from information of entities corresponding to the second loop. Then, based on the generated input tensor and attention weights learned for the second loop, namely attention weight Q, K, and V, attention variables Q, K, and V can be calculated. In this case, the attention weights and attention variables may all be tensors having a three-dimensional numeric array.
[0154] And the control unit (100) can perform an encoding-decoding attention operation by encoding the first loop output tensor, which is the result of the operation of the first loop that is the preceding loop of the second loop, as input and performing an attention operation (decoding) of the second loop. To this end, the control unit (100) can perform an attention operation on the attention variable Q value and K value calculated during the attention operation process of the first loop and the attention variable V value calculated during the operation process of the second loop.
[0155] Additionally, the control unit (100) can input the output value calculated as a result of the encoding-decoding attention operation as an input value to the second loop to recalculate the attention variables Q, K, and V, and perform self-attention based on the recalculated attention variables again according to the softmax function a predetermined number of times.
[0156] Meanwhile, the result of the attention operation for the second loop may be produced as a result of the self-attention operation set a number of times. In this case, a three-dimensional array (tensor) having the number of entities in the second loop, the entity embedding size according to the number of digits of the entity unique information, and the size according to the grid number may be produced as the result of the operation of the second loop.
[0157] And the control unit (100) can concatenate the result of the operation of the first loop, i.e., the first loop output tensor, and the result of the operation of the second loop, i.e., the second loop output tensor, in terms of the number of entities to produce the output value (output tensor) of the first loop and the second loop. In this case, since the number of digits of the entity unique information and the number of grid cells are the same, a three-dimensional array having a size (the sum of the number of entities in the first loop and the number of entities in the second loop) with only the number of entities increased can be produced as the output value of step S204.
[0158] In this way, in step S204, an input tensor is generated based on entities for at least one loop according to the plant construction procedure, and attention variables Q, K, and V can be calculated based on the generated input tensor and previously learned attention weights, namely attention weight Q, weight K, and weight V. Then, an encoding-decoding attention operation is performed by encoding the output tensor of the preceding loop as input, and according to the result of the operation of the softmax function of the decoding attention operation, for each entity corresponding to at least one loop, the probability that the entity exists in each grid cell on the grid, i.e., the probability of existence per grid cell, can be calculated as the result of the operation of the at least one loop.
[0159] In the description above, the output of the results of the first and second loop operations in step S204 was explained as an example, but it is obvious that more loop operations may be performed in step S204 according to the plant construction procedure. Conversely, it is obvious that only the result of the operation of one loop, namely the first loop, may be output in step S204. In this case, the output value of the loop calculated in step S204, i.e., the output tensor, may include grid-specific existence probabilities for more entities as more attention operations according to the loops are performed in step S204.
[0160] Meanwhile, in step S204 above, when an output tensor is calculated based on the result of an attention operation of at least one loop, the control unit (100) can determine the entities to be placed in each grid on the grid based on the calculated output tensor (S206).
[0161] As described above, the output tensor calculated in step S204 represents the probabilities that an entity exists in each grid cell on the grid for each entity according to at least one loop. Accordingly, the control unit (100) can detect the grid cell in which the probability of existence is calculated to be highest for each entity of the output tensor, and determine the location in the virtual plant space corresponding to the detected grid cell as the location of the corresponding entity.
[0162] In this case, if there are multiple grids with the highest probability of existence, the control unit (100) can determine the location of an entity corresponding to any one of the grids with the highest probability of existence. Additionally, the control unit (100) can determine the location of each entity so that entities do not overlap in the same grid. For example, if the grids with the highest probability of existence overlap for different entities, the entity with the higher calculated probability of existence can be placed first. And through this process of placing entities, the control unit (100) can generate a placement model in which entities included in the at least one loop are placed on the virtual plant space.
[0163] When a placement model in which the entities are placed is generated in step S206, the control unit (100) can determine the entities to be connected by pipes among the entities included in the placement model, and determine the type of pipe and the trajectory of the pipe connecting the determined entities. Then, the length of the pipe is calculated according to the determined pipe trajectory, and the pipe cost according to the entities included in the placement model is calculated according to the calculated pipe length and the type of pipe (S208).
[0164] More specifically, when a placement model in which the entities are placed is generated in step S206, the control unit (100) can detect entities among each entity of the generated placement model that are to be connected to each other through pipes. In this case, the control unit (100) can detect multiple entities to be connected to each other through pipes from the placement model based on the learning results of the artificial intelligence unit (150), requirements or constraints entered by the user, or functional characteristics of the entities, for example, whether they are entities that require fluid input or entities that output fluid. In this case, the functional characteristics of the entities can be reflected in the unique information of each entity, and based on the unique information of each entity, the control unit (100) can identify the functional characteristics of each entity and determine whether it is an entity that requires pipe connection.
[0165] And when entities to be connected to each other through pipes are detected, the control unit (100) can determine the pipe characteristics connecting each entity based on the learning results of the artificial intelligence unit (150) or requirements or constraints input by the user. For example, the control unit (100) can determine the characteristics of the fluid flowing between the starting point entity (starting point entity) and the ending point entity (ending point entity) based on the characteristics of the starting point entity and the ending point entity of the pipe connection, and can determine the characteristics of the pipe connecting the starting point entity and the ending point entity based on the determined fluid characteristics.
[0166] Alternatively, the control unit (100) can determine the characteristics of the pipe connecting the starting point entity and the ending point entity according to the learning result of the artificial intelligence unit (150) learned from multiple learning data in which the starting point entity and the ending point entity are the same.
[0167] Here, the pipe characteristics may include the chemical characteristics of the pipe, the weight of the pipe, the material of the pipe, etc. In addition, the unique information of the pipe may vary depending on the pipe characteristics. For example, the unique information of the pipe may include a characteristic code according to the pipe characteristics, and the control unit (100) or the artificial intelligence unit (150) can identify the characteristics according to the type of pipe based on the characteristic code included in the unique information of the pipe.
[0168] And when the characteristics of the pipe are determined, pipe types satisfying the determined pipe characteristics can be detected among the pipe information stored in memory (140). And when at least one pipe type satisfying the determined pipe characteristics is detected, one of the detected pipe types can be determined as the pipe type to connect the starting point entity and the ending point entity.
[0169] In this case, the control unit (100) can set priorities based on requirements set by the user or input by the user so that a specific type of piping is determined preferentially. For example, the user can set a higher priority for piping that is cheaper per unit length or lighter per unit length. Alternatively, the user can determine the priority so that a specific type of piping is selected preferentially according to customer requirements or constraints.
[0170] For example, pipes with a higher price per unit length or heavier weight per unit length may be set to a higher priority. In other words, the priority of pipes with a higher price per unit length or heavier weight may be determined to be higher than that of pipes with a lower price per unit length or lighter weight.
[0171] And when the type of pipe is determined, the control unit (100) can determine the trajectory of the pipe connecting the starting point entity and the ending point entity. In this case, the control unit (100) can first determine the pipe trajectory formed by the pipe with the highest priority according to the priority of the pipes.
[0172] In this case, the trajectory of a pipe with a higher priority may be determined before the trajectory of a pipe with a lower priority. Therefore, as pipes with higher priority have fewer pipe trajectories determined first, the shortest pipe trajectory connecting the starting point entity and the ending point entity can be found. Conversely, as pipes with lower priority have more pipe trajectories determined first, the trajectory of a pipe with lower priority may be formed as a path that avoids the pipe trajectories determined first. Consequently, the length of the trajectory connecting the starting point entity and the ending point entity may increase due to the aforementioned avoidance path. Therefore, complexity due to the avoidance path and fluid flow delay caused by the avoidance path may be concentrated in the trajectory of the pipe with lower priority.
[0173] In order to prevent complexity and fluid flow delays from being concentrated in the trajectory of a pipe with a low priority, the control unit (100) may search all pipe trajectories simultaneously. In this case, since no priority is assigned to each pipe, the complexity and fluid flow delay of each pipe trajectory can be distributed across all pipes. Therefore, it is possible to prevent some pipe trajectories from becoming complex and the length of the trajectory from becoming long. However, in this case, the control unit (100) may limit the trajectory of a specific type of pipe to be determined to be less than a certain length (allowed length) when searching pipe trajectories in order to prevent excessive use of a specific type of pipe. In this case, the type of the specific pipe or the allowable length of the specific pipe may be determined according to the user's settings or the customer's requirements or constraints.
[0174] Meanwhile, to determine these pipe trajectories, the control unit (100) can group entities (start point entities and end point entities) to be connected by the same pipe into one group. In this case, the entities may be grouped into different groups depending on the type of pipe connecting the entities. And pipe trajectories between the start point entities and end point entities included in the same group can be searched simultaneously. In this case, since each of the aforementioned groups is distinguished according to the type of pipe connecting the entities, if there is a priority according to the pipe type, the priority assigned to each pipe type can be applied to each group as is. That is, the control unit (100) can determine the pipe trajectories connecting the start point entities and end point entities of each group in order according to the priority assigned to the pipe type.
[0175] In this way, we will examine the more detailed operation process of the above-mentioned step S208, which groups entities to be connected to each other by pipes according to the type of pipe and determines the pipe trajectory of the grouped entities, with reference to Fig. 8 below.
[0176] Meanwhile, when at least one pipe trajectory is determined, the control unit (100) can calculate a pipe cost according to each pipe trajectory based on the length of each determined pipe trajectory and the type of each pipe forming the pipe trajectory. Here, the pipe cost is based on a pre-set cost calculation condition and may be a cost according to specific pipe characteristics according to the type of pipe.
[0177] For example, the above piping cost may be the economic cost incurred for piping placement or the weight of the placed piping. In this case, the control unit (100) may calculate the economic cost or the weight of the piping according to the entire piping trajectory placed in the placement model as the piping cost, based on the price per unit length or the weight per unit length of each of the pipes forming each piping trajectory. These cost calculation conditions may be pre-set by the user or determined according to the customer's requirements.
[0178] Meanwhile, when pipe trajectories connecting each entity to each other are determined, the control unit (100) can generate a plant model including pipes according to the determined pipe trajectories.
[0179] Alternatively, if there is a subsequent loop performed after the pipe arrangement, the control unit (100) may further perform an attention operation according to the subsequent loop. And as a result of the attention operation according to the subsequent loop, a final output tensor including entities according to the subsequent loop may be generated (S210).
[0180] In step S210 above, the control unit (100) can embed unique information of the entities of the subsequent loop and generate an input tensor based on the embedded entities. Then, based on the generated input tensor and V, K, and Q weights learned for the subsequent loop, the V value, K value, and Q value of the subsequent loop according to the input tensor can be calculated. Then, based on the output value, i.e., output tensor, calculated according to the attention operation of at least one preceding loop calculated in step S204, the Q value and K value of the output tensor calculated based on V, K, and Q weights learned for the output tensor, and the encoding-decoding attention operation according to the Q value of the subsequent loop, the output value (output tensor) of the subsequent loop can be calculated.
[0181] In this case, the control unit (100) can perform self-attention by receiving the output tensor of the subsequent loop as the input tensor of the subsequent loop again for a preset number of self-attentions. In this case, the process of calculating the V value, K value, and Q value of the subsequent loop according to the previously learned V, K, and Q weights, and then performing an encoding-decoding attention operation again according to the Q value and K value calculated from the output tensor and the Q value of the subsequent loop to calculate the output value (output tensor) of the subsequent loop can be repeated. And the output value (output tensor) of the subsequent loop calculated as a result of the encoding-decoding attention operation repeated for the preset number of self-attentions can be calculated as the final output tensor.
[0182] Meanwhile, there may be multiple subsequent loops. In this case, the control unit (100) may sequentially perform attention operations on the subsequent loops according to a preset order of operations. Accordingly, the operation process of step S210 described above may be repeated as many times as the number of subsequent loops. In this case, if there is a subsequent loop for which an attention operation has been performed first, an encoding-decoding operation may be performed based on the V value and K value calculated from the output tensor of the subsequent loop for which the attention operation was performed first, instead of the output tensor according to the attention operation of at least one preceding loop described above.
[0183] Or, if there are multiple subsequent loops in which an attention operation is performed first, an encoding-decoding attention operation may be performed based on V and K values derived from a concatenate tensor of the output tensors of multiple subsequent loops performed first, instead of the output tensor according to the attention operation of at least one preceding loop described above.
[0184] And when a final output tensor is calculated through encoding-decoding attention operations and self-attention operations according to the last subsequent loop among the at least one subsequent loop, the control unit (100) can generate a final placement model in which entities according to the at least one subsequent loop are placed based on the calculated final output tensor. Then, a plant model can be generated by combining the pipe placement determined in step S208 with the generated final placement model (S212).
[0185] Then, the control unit (100) can calculate the construction cost for the currently generated plant model. In this case, the construction cost of the plant model may include entity costs and piping costs according to each entity included in the plant model. In this case, the entity costs may be fixed costs that are not variable, as they are costs according to entities that must be included in the plant model. On the other hand, since the length of the piping may vary depending on the location of the entities, the piping costs may be variable costs that can vary. And once the entity costs and piping costs are calculated, the control unit (100) can calculate the construction cost including the entity costs and piping costs. Then, the control unit (100) can calculate the suitability of the currently generated plant model based on the calculated construction cost (S214).
[0186] Here, the suitability refers to the suitability according to the requirements of a customer or a user, and may indicate how well the calculated construction cost meets the requirements of the customer or user. For example, if the requirements are low economic costs for constructing the plant model or lightweighting of the plant model, a higher suitability may be calculated as the amount of the calculated construction cost is lower or the weight is smaller. The control unit (100) may store the currently generated plant model in the memory (140) according to pre-set conditions. For example, the control unit (100) may store the currently generated plant model and the calculated construction cost in the memory (140). Alternatively, the control unit (100) may store the plant model and the calculated construction cost in the memory (140) only for plant models where the calculated suitability is above a certain level.
[0187] And the control unit (100) can check whether a pre-set plant model generation termination condition is satisfied (S216). For example, the plant model generation termination condition may include whether a plant model has been generated more than a pre-set number of times, or whether a plant model with a calculated suitability level above a certain level has been generated in a pre-set number of times. And if the plant model generation termination condition is not satisfied, the control unit (100) can proceed again to step S204 and perform an attention operation for at least one preceding loop including at least one entity to perform piping arrangement.
[0188] In this case, the control unit (100) can repeat the operation process of step S204 described above and can embedding unique information of each entity of the preceding loop and perform attention operations. In this case, if the preceding loop is multiple as described in step S204, the control unit (100) can perform encoding-decoding attention operations based on the V value and Q value calculated from the output value of the loop in which the attention operation was performed earlier among the multiple preceding loops, and combine the output value calculated according to the result of self-attention operations a preset number of times with the output value of the loop in which the attention operation was performed earlier to calculate the attention output value (output tensor) for the multiple preceding loops performed so far. Then, proceed to step S206 to determine the entities to be placed in each grid on the grid based on the output tensor calculated in step S204. Then, proceed to step S208 to detect entities to be connected by pipes, determine the pipe trajectories connecting the detected entities to each other, and calculate the pipe cost according to the type of pipe and the length of the pipe forming the determined pipe trajectories.
[0189] In this case, as described above, if there are multiple grids with the highest probability of existence on the grid for a certain entity, the control unit (100) can determine the location of the certain entity in any one of the multiple grids with the highest probability of existence.
[0190] Here, the control unit (100) may set a range in which the existence probabilities can be considered equal in order to enhance the probabilistic characteristics in which the entities may be arranged differently. For example, if the range of being considered equal is 2%, the control unit (100) may consider grids in which the difference in the existence probability for a specific entity is 2% or less as grids in which the existence probability for the specific entity is equal to each other.
[0191] Alternatively, the control unit (100) may truncate the probability of existence after the decimal point so that in the case of grids where the probability of existence of a specific entity differs after the decimal point, the probability of existence of the specific entity is considered to be the same.
[0192] Alternatively, the intervals ranging from the minimum to the maximum of the existence probability may be leveled into multiple intervals according to the same consideration range. For example, as described above, if the same consideration range is 2%, the maximum of the existence probability is 100%, so it may be leveled into 50 intervals. Also, the control unit (100) may consider grids having an existence probability included in the same level as grids having the same existence probability. That is, if the intervals where the existence probability is 80% or more and less than 82% are leveled according to the same consideration range, a grid with an existence probability of 80.5% and a grid with an existence probability of 81.5% may be considered to have the same existence probability.
[0193] Then, the probability of multiple grids occurring that have the highest probability of existence on the grid for a certain entity can be increased. Then, since the control unit (100) determines the location of the said entity in any one of the grids with the highest probability of existence, the probabilistic characteristic of determining the location on the grid of the said entity can be further strengthened.
[0194] In this case, if the location of any one of the aforementioned entities determined differs from the location in the previously generated plant model, a different layout model from the previously generated plant model may be created. Furthermore, if the location of the entity changes, at least one of the length and type of the piping may change. Therefore, the piping cost calculated in step S208 may also change.
[0195] Meanwhile, if the piping cost is calculated in step S208, the control unit (100) may generate a plant model including the piping arrangement according to the determined piping trajectories and the batch model generated in step S206, depending on whether there is at least one subsequent loop, or proceed to step S210 to further perform an attention operation according to at least one subsequent loop. And if an attention operation according to at least one subsequent loop is performed, the control unit (100) may proceed to step S212 to generate a final batch model including the entities of the at least one subsequent loop from the final output tensor calculated according to the at least one subsequent loop, and generate a plant model including the generated final batch model and the piping arrangement according to the determined piping trajectories in step S208.
[0196] Meanwhile, when a plant model is generated, the control unit (100) proceeds to step S214 to calculate the construction cost based on the generated plant model and calculates the suitability based on the calculated construction cost. In this case, if the piping cost changes, the construction cost changes, and the suitability accordingly can also be calculated differently.
[0197] Then, the control unit (100) proceeds to step S216 to check whether the conditions for creating a plant model have been terminated, and depending on the result of the check, the process leading to steps S204 through S214 can be repeated. Accordingly, multiple plant models with different entities, piping arrangements, construction costs, and suitability can be created and stored.
[0198] Meanwhile, if the condition for the completion of the plant model generation is satisfied as a result of the check in step S216, the control unit (100) may select at least one plant model in order of highest suitability based on the calculated suitability (S218). Then, the control unit (100) may output the selected at least one plant model through the output unit (160). In this case, the control unit (100) may output the construction cost and suitability calculated for each plant model together, and may output or sort each plant model in order according to the construction cost and suitability.
[0199] Meanwhile, FIG. 4 is a conceptual diagram illustrating the transformer modeling process performed by the plant model generation device when determining the locations of entities to be connected through two loops and having one subsequent loop after the pipe arrangement.
[0200] Referring to FIG. 4, when a requirement is input from a customer, i.e., an ordering party, the control unit (100) of the plant model generation device (10) according to an embodiment of the present invention can perform a first transformer operation (410) that performs an attention operation based on the number of entities according to a pre-set first loop (401), unique information of the entities, statistical existence probabilities for each grid of each entity, and attention variables pre-learned for the first loop (401).
[0201] In this case, if the first loop (401) is a process loop, the output result (process & utility facility) of the first transformer operation (410) can be calculated as the existence probabilities for each grid cell within the grid of entities according to the process loop. And the output result of the first transformer operation (410) can be calculated as a three-dimensional array (tensor) having a size according to the number of entities in the process loop (PRSd), the entity embedding size (Ld) according to the number of unique information digits of the entities, and the number of grid cells (Lg) of the grid.
[0202] Meanwhile, the output result of the first transformer operation (410) can be applied as an input to the second transformer operation (420). In this case, the second transformer operation (420) may include an encoding-decoding attention operation that encodes the output result of the first transformer operation (410) as an input to the second transformer operation (420) and decodes it as an output to the second transformer operation (420).
[0203] In this case, if the second loop (402) is a power loop, the output result (architecture) of the second transformer operation (420) can be calculated through an attention operation on an attention variable (V value) calculated from an input tensor derived from the number of entities and unique information according to the power loop (402) and the existence probabilities for each grid of each entity according to the power loop (402). In this case, the output result of the second transformer operation (420) can be calculated as a three-dimensional array (tensor) having a size according to the number of entities (POSd) of the power loop (402), an entity embedding size (Ld) according to the number of unique information digits of the entities, and the number of grid cells (Lg) of the grid.
[0204] Then, the result of the first transformer operation (410) and the result of the second transformer operation (420) can be concatenated to produce the result of the operation (425) of the preceding loop. Then, the control unit (100) can determine the locations in the virtual plant space to place each entity based on the existence probabilities of each entity calculated for each grid on the grid, from the operation result (425) in which the result of the first transformer operation (410) and the result of the second transformer operation (420) are combined, i.e., the concatenated tensor. In this case, each grid corresponds to a different region within the virtual plant space, and accordingly, a region within the virtual plant space corresponding to the grid with the highest existence probability of a certain entity can be determined as the region where the certain entity is to be placed. In this way, the locations of each entity included in the concatenated tensor can be determined within the virtual plant space. In this way, before piping is arranged, a model in which the locations of entities to be arranged within the virtual plant space are determined can be called a placement model.
[0205] And when a batch model is generated, the control unit (100) detects multiple entities to be connected to pipes from the generated batch model, and determines the type of pipe to be connected to the detected entities and determines the pipe trajectories to be connected between the detected entities according to the characteristics of the detected entities (450).
[0206] Meanwhile, if there is no subsequent loop after forming the pipe trajectories, the control unit (100) can generate a final plant model by combining the arrangement model and the pipe arrangement including the determined pipe trajectories. However, if there is a subsequent loop (third loop (403)), the control unit (100) can apply the combined (425) results of the first transformer operation (410) and the second transformer operation (420) as inputs to the third loop (403).
[0207] In this case, the third transformer operation (430) may include an encoding-decoding attention operation that encodes the combined result of the first transformer operation (410) and the second transformer operation (420) as input to the third transformer operation (430) and decodes it as output to the third transformer operation (430).
[0208] In this case, if the third loop (403) is a structure loop, the output result (structure & foundation) of the third transformer operation (430) can be calculated through an attention operation on an attention variable (V value) calculated from an input tensor calculated from the number of entities and unique information according to the structure loop (403) and the existence probability of each entity for each grid of each entity according to the structure loop (403). In this case, the output result of the third transformer operation (430) can be calculated as a 3D array (tensor) having a size according to the number of entities (STSd) of the structure loop (403), the entity embedding size (Ld) according to the number of unique information digits of the entities, and the number of grid cells (Lg) of the grid.
[0209] And the combined (425) operation result and the third transformer operation (430) result can be concatenated to produce a final loop operation result (435). Then, the control unit (100) can create a plant model by combining the produced final loop operation result (435) and a pipe layout including the determined pipe trajectories. Then, from the created plant model, the grid with the highest probability of existence on the grid for each entity can be determined as the location of each entity. Then, the control unit (100) can output a 3D model as a plant model, which displays a 3D object corresponding to each entity centered on the grid determined as the location of each entity.
[0210] Meanwhile, the control unit (100) may repeat the processes illustrated in FIG. 4 until the pre-set plant model generation conditions are satisfied. In this case, depending on the probabilistic characteristics of the grid-specific existence probability of each entity described above, whenever a plant model is generated, a plant model with a different location of at least one entity may be generated. In this case, the piping cost may vary as the location of the entity changes, and accordingly, plant models with different construction costs and suitability to the pre-set requirements may be generated.
[0211] Meanwhile, among the loops according to a plurality of construction procedures for plant construction as described above, the control unit (100) may perform pipe placement after the operation according to a specific loop is completed according to pre-set constraints or user settings. In this case, at least one loop performed before pipe placement is performed is a preceding loop that precedes the pipe placement, and an attention operation may be performed at step S204 of FIG. 2. On the other hand, at least one loop performed after pipe placement is a subsequent loop that follows the pipe placement, and an attention operation may be performed at step S210 of FIG. 2.
[0212] For example, if the construction procedures for the above-mentioned plant are carried out in the order of a process loop, a power loop, and a structural loop, and the piping arrangement is performed after the operation of the power loop is completed, the process loop and the power loop may be preceding loops that precede the piping arrangement, and the structural loop may be a subsequent loop that follows the piping arrangement.
[0213] In this case, if the piping arrangement is performed after the attention operation of the power loop is completed, the piping arrangement can be performed on a placement model based on a combined tensor in which the operation output of the process loop and the output of the power loop are combined. Therefore, the piping arrangement can be performed on entities of the process loop and the power loop.
[0214] FIG. 5 illustrates an operation process for calculating the results of calculations of preceding loops for performing pipe arrangement in step S204 of FIG. 2, in the case where the construction procedures for plant construction are carried out in the order of process loop, power loop, and structure loop, and the pipe arrangement is performed after the calculation of the power loop.
[0215] As described above, when the process loop and power loop operations are performed as a preceding loop for pipe arrangement, the control unit (100) can generate an input tensor for attention operations of the process loop from the information of entities corresponding to the process loop among the entities for each loop detected in step S202 of FIG. 2 (embedding). Then, based on the generated input tensor and the attention weights previously learned for the first loop, i.e., the process loop, namely the attention weights Q, K, and V, attention variables Q, K, and V can be calculated. Then, self-attention can be performed on the calculated attention variables. In this case, since the process loop has no preceding loop, only self-attention can be performed a predetermined number of times without encoding-decoding attention.
[0216] Meanwhile, the result of the attention operation for the process loop can be produced as a result of the self-attention operation set a number of times. In this case, a 3D array (tensor) having a size according to the number of entities (PRSd) of the process loop, the entity embedding size (Ld) according to the number of unique information digits of the entities, and the grid number (Lg) can be produced as a process sequence tensor, which is the result value of the process loop (S500).
[0217] Below, we will examine in more detail the operation process in which attention operations for the process loop are performed in the above S500 step, with reference to Figures 6a to 6f below.
[0218] Meanwhile, in the above S500 step, when the attention operation for the process loop, which is the first preceding loop, is completed, the control unit (100) can generate an input tensor for the attention operation of the power loop from the information of entities corresponding to the power loop that follows the process loop (embedding). Then, based on the generated input tensor and the attention weights learned for the power loop, namely the attention weights Q, K, and V, attention variables Q, K, and V can be calculated. In this case, the attention weights and attention variables may all be tensors having a three-dimensional numeric array.
[0219] And the control unit (100) can perform an encoding-decoding attention operation that performs an attention operation (decoding) of the power loop by encoding the process sequence tensor, which is the attention operation output value of the process loop that is the preceding loop of the power loop, as input. To this end, the control unit (100) can perform an attention operation on the attention variable Q value and K value calculated during the attention operation process of the process loop and the attention variable V value calculated during the operation process of the power loop.
[0220] Additionally, the control unit (100) can input the output value calculated as a result of the encoding-decoding attention operation as an input value to the power loop to recalculate the attention variables Q, K, and V, and perform self-attention based on the recalculated attention variables again according to the softmax function a predetermined number of times.
[0221] Accordingly, the result of the attention operation for the power loop can be produced as a result of the self-attention operation set a number of times. In this case, a 3D array (tensor) having a size according to the number of entities (POSd) of the power loop, the entity embedding size (Ld) according to the number of unique information digits of the entities, and the grid number (Lg) can be produced as a power sequence tensor, which is the result value of the power loop (S502).
[0222] Below, we will examine in more detail the operation process in which attention operations for the power loop are performed in step S502 above, with reference to Figures 7a and 7b below.
[0223] Meanwhile, in steps S500 and S502 above, when attention operations for the first leading loop, the process loop, and the second leading loop, the power loop, are completed, the control unit (100) can concatenate the output values of the process loop and the power loop to generate a concatenated tensor. Thus, the output tensor of the process loop having a size according to the number of entities (PRSd) of the process loop, the entity embedding size (Ld) according to the unique information digits of the entities, and the grid number (Lg) of the grid, and the output tensor of the power loop having a size according to the number of entities (POSd) of the power loop, the entity embedding size (Ld) according to the unique information digits of the entities, and the grid number (Lg) of the grid, can be concatenated in a dimension (PRSd, POSd) corresponding to the number of entities. Accordingly, a process-power combined tensor can be generated having a size based on the sum of the number of entities of the process loop and power loop (PRSd + POSd), the entity embedding size (Ld) based on the number of unique information digits of the entities, and the grid number (Lg) of the grid (S504).
[0224] Here, the process-power coupling tensor may include the probabilities of existence for each entity of the process loop and power loop in each grid cell of the grid. Accordingly, the control unit (100) can proceed to step S206 of FIG. 2 to determine the grid cells in which each entity is to be placed based on the probabilities of existence for each entity in each grid cell, and determine the location of each entity based on the locations in the virtual plant space corresponding to each grid cell. That is, a placement model can be created in which the entities of the process loop and power loop are placed in the virtual plant space. Then, by proceeding to step S208, piping placement according to the created placement model can be performed.
[0225] FIG. 6a is a flowchart illustrating the process of determining the placement locations of entities of a process loop through attention operations as the first preceding loop among the construction procedures for plant construction in FIG. 5.
[0226] Referring to FIG. 6a, the control unit (100) of the plant model generation device (10) according to an embodiment of the present invention can, when step S500 of FIG. 5 is performed, perform an attention operation based on the statistical probability of existence for each grid cell on the grid for each entity of the process loop, which is the first preceding loop, and calculate an output value calculated as the result of the attention operation. To this end, the control unit (100) can first control the grid setting unit (110) to calculate the statistical probability of existence for each grid cell on the grid for each entity of the process loop, i.e., the process entities (S600).
[0227] In this case, for each entity of the process loop, statistical probabilities of existence for each grid on the grid can be calculated. For example, if the grid is formed of 100 grids, each entity can correspond to the statistical probabilities of existence set for each of the 100 grids for each entity. In this case, the control unit (100) can match each entity with the statistical probabilities of existence for each grid on the grid corresponding to each entity to form a table containing the probabilities of existence on the grid for each grid for all entities of the process loop (S602).
[0228] In this case, each of the information of the above entities may include unique information. Therefore, the above table may be a table in which the unique information of an entity and the statistical probabilities of existence of each grid cell of that entity are matched through the entity. Hereinafter, the table in which the unique information of the above entity and the probability of existence for each grid cell are matched will be referred to as the grid existence probability-entity unique information table.
[0229] FIG. 6b is an illustrative diagram showing an example of a grid existence probability-entity unique information table according to an embodiment of the present invention.
[0230] In FIG. 6b, the 'Entity Embedding tensor' (620) may represent unique information in which codes representing different attributes of each entity are merged. In this case, each of the codes may form different items. For example, if each of the codes is formed as a single digit, items may be separated by each digit of the entity's unique information, as shown in FIG. 5.
[0231] Additionally, the 'Entity presence probability tensor' (630) may represent the presence probabilities of each entity in each grid cell. Accordingly, the 'Entity presence probability tensor' (630) may include items corresponding to the total number of grid cells.
[0232] Meanwhile, in the above S602 step, when a grid existence probability-entity unique information table for the entities of the process loop is formed, the control unit (100) can control the input tensor generation unit (120) to generate a two-dimensional numerical array, i.e., a matrix, consisting of the entity's unique information and the existence probability for each grid cell on the grid, for each entity. For example, the control unit (100) can generate a matrix in which the entity's unique information is the first axis and the existence probability for each grid cell on the grid is the second axis. Such a matrix can be generated for each entity. Hereinafter, a matrix in which the entity's unique information is the first axis and the existence probability for each grid cell on the grid is the second axis will be referred to as a grid-entity matrix.
[0233] When the grid-entity matrix is generated for each entity of each process loop, the control unit (100) can superimpose the grid-entity matrix generated for each of all entities of the process loop based on the first axis and the second axis. Accordingly, the input tensor generation unit (120) can generate a 3-dimensional numerical array, i.e., a tensor, in which the grid-entity matrix is superimposed as many times as the total number of entities of the process loop (S604). The tensor generated by the superposition of the grid-entity matrix can be input as an input for attention operations in the process loop, i.e., as a process loop input tensor (PRSEEI).
[0234] FIG. 6c is a conceptual diagram illustrating an example of an input tensor (PRSEEI) of a process loop according to an embodiment of the present invention.
[0235] As shown in FIG. 6c, the process loop input tensor (PRSEEI) can be generated by sequentially overlapping grid-entity matrices (650) generated for each entity of the process loop according to the serial number of each entity. Thus, the process loop input tensor (PRSEEI) may be a tensor in which the first axis is composed of codes constituting the unique information of the entity and the second axis is composed of existence probabilities for each grid cell on the grid, and the matrix is overlaid as many times as the number of entities of the process loop.
[0236] Therefore, as seen in FIG. 6b, when the number of entities in the process loop is 16, the unique information of the entities consists of 6 codes, and the grid consists of 100 grid cells, a 3-dimensional numerical array having dimensions of [16, 6, 100] can be generated as the process loop input tensor (PRSEEI), as shown in FIG. 6c. Accordingly, the process loop input tensor (PRSEEI) can be generated as a 3-dimensional array (tensor) having a size of [PRSd, Ld, Lg] depending on the number of entities in the process loop (PRSd), the entity embedding size (Ld) based on the number of digits of the unique information of the entities, and the number of grid cells (Lg).
[0237] Meanwhile, when a process loop input tensor (PRSEEI) is generated in step S604, the control unit (100) can control the attention unit (130) to perform an attention operation on the process loop input tensor (PRSEEI). To do this, the control unit (100) can first calculate attention variables Q, K, and V for the process loop input tensor (PRSEEI) based on the previously learned attention weights of the process loop, namely, weight Q, weight K, and weight V (S606).
[0238] Here, the attention weights Q, K, and V are weights learned through the learning of the artificial intelligence unit (150) according to the arrangement structure of the entities of the process loop in a plurality of preceding plant models.
[0239] In this case, the control unit (100) can detect process loop attention weight values suitable for constraints input by the user among different types of previously learned process loop attention weight values. For example, the control unit (100) can detect process loop attention weight values learned from preceding cases suitable for the size and shape of the target area and at least one requirement set by the user among different types of previously learned process loop attention weight values.
[0240] When the learned process loop attention weight values are determined, the control unit (100) can multiply the learned process loop attention weight values, namely the weight Q value, the weight K value, and the weight V value, by the process loop input tensor (PRSEEI) calculated in step S604. In this case, the learned process loop attention weight values may be a 3D array (tensor) having a size of [Ld, Lg, Lg] in which a matrix formed with a first axis and a second axis according to the grid number (Lg) is overlapped by the entity embedding size (Ld) according to the unique information digits of the entities.
[0241] FIG. 6d is a conceptual diagram showing an example in which attention variables are calculated according to the input tensor (process loop input tensor (PRSEEI)) of FIG. 6c and the previously learned weight values detected by the control unit (100), i.e., weight tensors, and FIG. 6e is a conceptual diagram showing the magnitudes of the attention variables calculated according to the weight tensors.
[0242] First, referring to FIG. 6d, the tensor (650), that is, the three-dimensional numerical array shown on the left side of FIG. 6d, may be the input tensor (PRSEEI) of the process loop examined in FIG. 6c. The process loop input tensor (PRSEEI) can be multiplied by the previously learned attention weight values, namely the Q weight (Wqprsee), K weight (Wkprsee), and V weight (Wvprsee), respectively.
[0243] Meanwhile, FIG. 6e shows examples of each weight tensor, namely the weight Q tensor (Wqprsee), the weight K tensor (Wkprsee), and the weight V tensor (Wvprsee). It also shows examples of the attention variables of the process loop, namely the process loop Q tensor (Q.prsee), process loop K tensor (K.prsee), and process loop V tensor (V.prsee), which are calculated by multiplying the weight tensors and the process loop input tensor (PRSEEI) and have dimensions of the same size as the process loop input tensor (PRSEEI).
[0244] Referring to FIG. 6e, the process loop input tensor (PRSEEI) can be multiplied by the weight Q tensor (Wqprsee), the weight K tensor (Wkprsee), and the weight V tensor (Wvprsee), respectively, to generate the process loop Q tensor (Q.prsee), process loop K tensor (K.prsee), and process loop V tensor (V.prsee). In this case, the process loop Q tensor (Q.prsee), process loop K tensor (K.prsee), and process loop V tensor (V.prsee) can each have a size of [PRSd, Ld, Lg] according to the number of entities in the process loop (PRSd), the entity embedding size (Ld) based on the number of unique information digits of the entities, and the grid number (Lg), just like the process loop input tensor (PRSEEI).
[0245] Meanwhile, the weight Q tensor (Wqprsee), weight K tensor (Wkprsee), and weight V tensor (Wvprsee) may each have a first dimension and a second dimension corresponding to the number of grid cells (Lg) of the grid, and a third dimension [Ld, Lg, Lg] corresponding to the entity embedding size (Ld) based on the number of unique information digits of the entities. And when the process loop input tensor (PRSEEI) and each of the weight tensors are matrix multiplied, each attention variable (Q.prsee, K.prsee, V.prsee) having the same dimension size [PRSd, Ld, Lg] as the process loop input tensor (PRSEEI) can be produced.
[0246] Meanwhile, as seen in FIGS. 6d to 6e above, when each attention variable (Q.prsee, K.prsee, V.prsee) is calculated, the control unit (100) can perform an attention operation using a softmax function for each attention variable of the process loop (S608).
[0247] In this case, the above attention operation can be performed by calculating a transpose matrix for each of the attention variables, such as the query value Q and the key value K, as shown in Equation 1 below, and multiplying the result of the softmax function operation on the product of the calculated transpose matrices by the result value V among the attention variables.
[0248]
[0249] Here, the current process loop is the first loop to be executed, and since there is no loop executed prior to it, it can perform the attention operation based on itself, that is, the attention variables calculated from the process loop. Accordingly, in Equation 1, the attention variable Q value may be the process loop Q tensor (Q.prsee), and in Equation 1, the attention variable K value may be the process loop K tensor (K.prsee). Also, in Equation 1, the attention variable V value may be the process loop V tensor (V.prsee).
[0250] As a result of the attention operation of step S608 according to the above mathematical formula 1, the control unit (100) can obtain a tensor having a dimension size [PRSd, Ld, Lg] according to the number of entities of the process loop (PRSd), the entity embedding size according to the number of unique information digits of the entities (Ld), and the grid number (Lg) of the grid, as shown in FIG. 6f, as an attention result of the process loop.
[0251] Meanwhile, when the attention result of the process loop is obtained through the above S608 step, the control unit (100) can check whether self-attention has been performed a preset number of times (S610). Here, self-attention may refer to an operation that performs an attention operation by receiving its own output as input again. Here, the number of times self-attention is specified in advance by the user or is set in advance during the design of the plant model generation device (10) according to an embodiment of the present invention, and can be determined as an arbitrary number determined by a plurality of experiments related to the present invention. Preferably, the number of times self-attention can be set to 6 times.
[0252] If, as a result of the check in step S610 above, self-attention is not performed for a preset number of times, the control unit (100) can input the attention calculation result of the currently calculated process loop back into step S606 as the input tensor (PRSEEI) of the process loop.
[0253] Then, step S606, which calculates attention variables, can be performed again. Additionally, new attention variables (Q tensor (Q.prsee), Q tensor (Q.prsee), and V tensor (V.prsee)) can be calculated by multiplying the attention operation result of the process loop calculated in step S608 by each previously learned weight tensor, weight Q tensor (Wqprsee), weight K tensor (Wkprsee), and weight V tensor (Wvprsee), respectively. Then, by proceeding back to step S608, attention operations according to Equation 1 can be performed on the newly calculated attention variables (Q tensor (Q.prsee), Q tensor (Q.prsee), and V tensor (V.prsee)). In this way, whenever an attention operation is performed by receiving its own output as its own input, the control unit (100) can check that self-attention has been performed once.
[0254] Then, the control unit (100) can proceed again to step S610 to check whether self-attention has occurred a preset number of times. If the number of times self-attention has occurred does not reach the preset number, it can proceed to step S612 to input the attention result of the currently calculated process loop as the input tensor (PRSEEI) of the process loop. Then, the process from step S606 to step S608 can be performed again. Accordingly, the self-attention process from step S606 to step S612 can be repeated.
[0255] However, if the check result of step S610 above indicates that self-attention has been performed a preset number of times, the control unit (100) can output the attention result calculated in step S608 above as the attention operation result of the process loop (S614). Then, the process sequence tensor (PRSEEP), which is the final output result of the process loop calculated through the preset number of self-attentions, can be obtained.
[0256] Meanwhile, as seen in FIG. 6a above, when the process sequence tensor (PRSEEP) is calculated, the control unit (100) can proceed to step S502 during the operation process of FIG. 5 to perform an attention operation of the power loop, which is the second preceding loop.
[0257] FIG. 7a is a flowchart illustrating the process of determining the placement locations of entities of a power loop through attention operations as the second procedure among the construction procedures for plant construction in FIG. 5.
[0258] FIG. 7a is a flowchart illustrating in more detail the operation process of step S502, which determines the placement positions of entities in the power loop through an attention operation during the operation process of FIG. 5. FIG. 7b is a conceptual diagram showing an encoding-decoding attention operation that calculates a power sequence tensor based on the attention variables calculated in the process loop and the attention variables calculated in the power loop.
[0259] First, referring to FIG. 7a, when the process sequence tensor (PRSEEP), which is the final output result of the process loop, is calculated, the control unit (100) of the plant model generation device (10) according to an embodiment of the present invention can control the grid setting unit (110) to calculate the statistical probability of existence for each grid on the grid for each entity of the second preceding loop, the power loop, i.e., the power entities (S700).
[0260] Then, for each power entity, statistical probabilities of existence for each grid on the grid can be calculated. In this case, if the grid is formed with 100 grids as in the process loop described above, statistical probabilities of existence for each power entity for each of the 100 grids can be calculated. In this case, the control unit (100) can match each power entity with the statistical probabilities of existence for each grid on the grid corresponding to each power entity to form a grid existence probability-entity unique information table containing the probability of existence on the grid for each grid for all power entities (S702).
[0261] In this case, the grid presence probability-entity unique information table calculated for the power entities may have a form similar to the grid presence probability-entity unique information table generated for the process entities illustrated in FIG. 6b. That is, the grid presence probability-entity unique information table of the power loop may be formed by including an 'Entity Embedding tensor' column representing unique information in which codes representing different attributes of each entity are merged, and an 'Entity presence probability tensor' column representing the presence probabilities of each entity for each grid cell.
[0262] When the grid existence probability-entity unique information table of the power loop is formed in this manner, the control unit (100) can control the input tensor generation unit (120) to generate a two-dimensional numerical array, i.e., a matrix, consisting of the entity's unique information and the existence probability for each grid cell on the grid, for each entity. In this case, the control unit (100) can generate a matrix in which the entity's unique information is the first axis and the existence probability for each grid cell on the grid is the second axis, just as in the case of the process loop. And for each entity, a grid-entity matrix can be generated in which the entity's unique information is the first axis and the existence probability for each grid cell on the grid is the second axis.
[0263] When a grid-entity matrix is generated for each entity of the power loop, the control unit (100) can superimpose the grid-entity matrix generated for each of all entities of the power loop based on the first axis and the second axis. Accordingly, the input tensor generation unit (120) can generate a power loop input tensor (POSEEI) in which the grid-entity matrix is superimposed as many times as the total number of entities of the power loop (S704).
[0264] In this case, the power loop input tensor (POSEEI) can be generated by sequentially overlapping grid-entity matrices created for each entity of the power loop according to the serial number of each entity. Thus, the power loop input tensor (POSEEI) may be a tensor in which a matrix, in which the first axis consists of codes constituting the unique information of the entity and the second axis consists of existence probabilities for each grid cell on the grid, is overlapped as many times as the number of entities of the power loop.
[0265] Here, the unique information of the entity has the same number of codes and the target area is also the same, so the number of codes of the unique information of the entity and the number of grid cells can be the same as the process loop. Therefore, it can consist of 6 codes and 100 grid cells. Thus, when the number of entities in the power loop is 14, the power loop input tensor (POSEEI) can be formed as a 3-dimensional numeric array with dimensions of [14, 6, 100]. That is, the power loop input tensor (POSEEI) can have a dimension size of [POSd, Ld, Lg] depending on the number of entities in the power loop (POSd), the entity embedding size (Ld) based on the number of digits of the unique information of the entities, and the number of grid cells (Lg).
[0266] Meanwhile, when a power loop input tensor (POSEEI) is generated in step S704, the control unit (100) can control the attention unit (130) to perform an attention operation on the power loop input tensor (POSEEI). To do this, the control unit (100) can first calculate attention variables Q tensor (Q.posee), K tensor (K.posee), and V tensor (V.posee) for the power loop input tensor (POSEEI) based on the previously learned power loop attention weight Q tensor (Wqposee), weight K tensor (Wkposee), and weight V tensor (Wvposee) (S706).
[0267] Here, the above weight Q tensor (Wqposee), weight K tensor (Wkposee), and weight V tensor (Wvposee) may be weights learned through the learning of the artificial intelligence unit (150) according to the arrangement structure for power entities in a plurality of preceding plant models.
[0268] In this case, the control unit (100) can detect power loop attention weight values suitable for constraints input by the user among different types of previously learned power loop attention weight values. For example, the control unit (100) can detect power loop attention weight values learned from preceding cases suitable for the size and shape of the target area and at least one requirement set by the user.
[0269] When the attention weight values of the previously learned power loop are determined, the control unit (100) can multiply the power loop input tensor (POSEEI) calculated in step S704 by the attention weight Q tensor (Wqposee), weight K tensor (Wkposee), and weight V tensor (Wvposee) of the previously learned power loop, respectively. In this case, the previously learned power loop attention weight values may be a tensor having a size of [Ld, Lg, Lg] in which a matrix formed with a first axis and a second axis according to the grid number (Lg) is overlapped by an entity embedding size (Ld) according to the unique information digits of the entities.
[0270] Then, when the power loop input tensor (POSEEI) and each weight tensor are matrix multiplied, each attention variable (Q.posee, K.posee, V.posee) having the same dimension size [POSd, Ld, Lg] as the power loop input tensor (POSEEI) can be produced. Then, when each attention variable (Q.posee, K.posee, V.posee) of the power loop is produced, the control unit (100) can perform an attention operation using a softmax function on each attention variable of the power loop (S708).
[0271] In this case, the above attention operation calculates a transpose matrix for each of the attention variables, specifically the query value Q and the key value K, as shown in Equation 1 above, and the calculated transpose matrices (Q T , K TThis can be achieved by multiplying the result of the softmax function operation for the product of ) by the result value V among the attention variables of the power loop.
[0272] However, in the case of the power loop mentioned above, unlike the process loop, there exists an attention operation result according to the preceding batch procedure, that is, an attention operation result of the process loop. Accordingly, the attention operation performed in step S708 may be an encoding-decoding attention operation that encodes the attention operation result calculated in the preceding loop, i.e., the process loop, which was performed before the second loop, the power loop, as an input to the current loop, i.e., the power loop, and decodes it as a result for the power loop.
[0273] To perform such encoding-decoding attention operations, the control unit (100) may receive the Q value and K value, which output the sequence tensor resulting from the preceding loop, as the Q value and K value of Equation 1. Accordingly, in step S708, for each of the Q tensor (Q.prsee) and K tensor (K.prsee) used to output the process sequence tensor in the process loop, which is the preceding loop, i.e., the result of the last self-attention, transpose matrices (Q T , K T Calculate ) and the calculated transpose matrices (Q T , K T The result of the operation of the softmax function for the product of ) may be a step of performing an attention operation by multiplying the attention variable V tensor (V.posee) calculated by the power loop weight tensor (Wvposee) and the power loop input tensor (POSEEI) in step S706.
[0274] FIG. 7b is a conceptual diagram illustrating each tensor on which the encoding-decoding attention operation is performed and an example of the encoding-decoding attention operation.
[0275] First, referring to (a) and (b) of FIG. 7b, FIG. 7b (a) is the transpose matrix (Q) of the Q tensor (Q.prsee), which is the attention variable of the process loop. T ) is represented, and Fig. 7b(b) is the transpose matrix (K) for the K tensor (K.prsee), which is the attention variable of the process loop. T It represents ).
[0276] As shown in (a) and (b) of FIG. 7b, the transpose matrix (Q) of the Q tensor (Q.prsee), which is the attention variable of the process loop, is T In the case of ), it was originally composed of [PRSd (1st dimension), Ld (2nd dimension), Lg (3rd dimension)], but the 3rd and 1st dimensions are transposed, so it can have a size of [Lg, Ld, PRSd]. On the other hand, the transpose matrix (K) for the K tensor (K.prsee), which is the attention variable of the process loop, T In the case of ), it was composed of [PRSd (1st dimension), Ld (2nd dimension), Lg (3rd dimension)], but the 1st and 2nd dimensions can be transposed to have a size of [Ld, PRSd, Lg].
[0277] Meanwhile, the above transpose matrices (Q T , K T When the value of the softmax function for the product of ) is calculated, as shown in (c) of FIG. 7b, the second and third dimensions are each composed of the number of grid cells (Lg) of the grid, and a matrix [1, Lg, Lg] having only one value in the first dimension can be formed.
[0278] Then the control unit (100) [uses] the transpose matrices (Q T , K T The matrix [1, Lg, Lg], which is the value of the softmax function for the product of ), and the matrix product of the attention variable V tensor (V.posee, [POSd, Ld, Lg]) produced by the power loop input tensor (POSEEI) can be produced as the result of the encoding-decoding attention operation.
[0279] Accordingly, as shown in (c) of FIG. 7b, a tensor having dimensions [POSd, Ld, Lg] according to the number of entities (POSd) of the power loop, the entity embedding size (Ld) according to the number of unique information digits of the entities, and the grid number (Lg) according to the grid size can be obtained as the result of the power loop attention, i.e., encoding-decoding attention operation.
[0280] Meanwhile, when the attention result of the power loop is obtained through the above S708 step, the control unit (100) can check whether self-attention has been performed a preset number of times (S710). Here, self-attention may refer to an operation that performs an attention operation by receiving its own output as input again. Preferably, the number of times self-attention is set to 6 times, similar to the case of the process loop.
[0281] If, as a result of the check in step S710 above, self-attention is not performed for a preset number of times, the control unit (100) can input the attention result of the power loop currently calculated back into step S706 as the input tensor (POSEEI) of the power loop. Then, step S706, which calculates attention variables, can be performed again. Then, the attention result of the power loop calculated in step S708 above can be multiplied by each previously learned weight tensor, weight Q tensor (Wqposee), weight K tensor (Wkposee), and weight V tensor (Wvposee), respectively, to produce new attention variables (Q tensor (Q.posee), Q tensor (Q.posee), and V tensor (V.posee)).
[0282] Then, proceeding back to step S708, the encoding-decoding attention operation can be performed again on the newly calculated attention variables (Q tensor (Q.posee), Q tensor (Q.posee), and V tensor (V.posee)). In this way, whenever the attention operation is performed by receiving its own output as its own input, the control unit (100) can check that self-attention has been performed once.
[0283] Then, the control unit (100) can proceed again to step S710 to check whether self-attention has occurred a preset number of times. If the number of times self-attention has occurred does not reach the preset number, it can proceed to step S712 to input the attention result of the power loop currently calculated back into the input tensor (POSEEI) of the power loop. Then, the process leading to steps S706 through S708 can be performed again. Accordingly, the self-attention process from step S706 to step S712 can be repeated.
[0284] However, if, as a result of the check in step S710 above, self-attention is performed a preset number of times, the control unit (100) can output the attention result calculated in step S708 above as the attention operation result of the power loop (S714). Then, the power sequence tensor (POSEEP), which is the final output result of the power loop calculated through the preset number of self-attentions, can be obtained.
[0285] Meanwhile, through the operation process of FIG. 5, when the process sequence tensor (PRSEEP), which is the final output result of the process loop, and the power sequence tensor (POSEEP), which is the final output result of the power loop, are obtained in step S204 of FIG. 2, the control unit (100) can combine the process sequence tensor and the power sequence tensor to generate a process-power combined tensor. Then, the control unit (100) can proceed to step S208 of FIG. 2 to generate a placement model in which entities to perform piping placement are placed based on the process-power combined tensor.
[0286] As described above, the process-power coupling tensor may be composed of information regarding the probabilities of existence for each grid cell on the grid for each entity of the process loop and the entity of the power loop. Accordingly, the placement model generated based on the probabilities of existence for each entity in the grid of the process-power coupling tensor may be a model in which the locations of the entities of the process loop and the power loop within the virtual plant space are determined. That is, it may be a placement model in which the entities of at least one preceding loop preceding the piping placement are placed in the virtual plant space.
[0287] When a batch model is created in this manner, the control unit (100) can detect entities to be connected by pipes among the entities included in the batch model based on previously learned results or constraints entered by the user. Then, based on the characteristics of the detected entities or previously learned results, the control unit can determine the type of pipe to be connected between the detected entities and determine the pipe trajectory between the detected entities.
[0288] To this end, the control unit (100) can group entities to be connected to each other by pipes according to the type of pipe and determine the pipe trajectory of the grouped entities. Then, the pipe cost can be calculated based on the pipe type according to the characteristics of the pipe and the pipe length according to the pipe trajectory.
[0289] FIG. 8 is a flowchart illustrating in more detail an example of the operation process of step S208, which arranges piping between entities and calculates costs based on the output tensor calculated through at least one loop preceding it.
[0290] Referring to FIG. 8, the control unit (100) can detect entities to which pipes are to be connected among the entities of a batch model generated from an output tensor produced through the preceding at least one loop, based on a previously learned result or requirements or constraints input by a user. In this case, the detected entities may include a starting point entity that serves as the starting point of the pipe connection and an ending point entity that serves as the ending point of the pipe connection. Additionally, the starting point entity and the ending point entity may form a pair with each other.
[0291] And when a pair of entities to be connected by piping is detected, the control unit (100) can determine the characteristics of the piping to be connected between the starting point entity and the ending point entity for each detected pair of entities (S802). For example, the control unit (100) can determine the piping characteristics between the starting point entity and the ending point entity according to requirements or constraints input by the user. Alternatively, the control unit (100) can determine the piping characteristics between the starting point entity and the ending point entity based on results learned from a plurality of prior plant models.
[0292] When pipe characteristics are determined, the control unit (100) can determine the type of pipe satisfying the pipe characteristics from the information of different types of pipes stored in the memory (140). For example, the control unit (100) can detect the characteristics of the fluid output from the starting point entity and input from the ending point entity from the information of the starting point entity and the ending point entity.
[0293] That is, the unique information of the starting point entity and the ending point entity may include information corresponding to the characteristics of the input and / or output fluid, and the control unit (100) can identify the characteristics of the fluid flowing between the starting point entity and the ending point entity from the unique information of the starting point entity and the ending point entity.
[0294] Meanwhile, the pipe information stored in the memory (140) may include unique information according to the type of pipe. The pipe unique information may be formed by merging different unique codes, and each unique code may represent characteristics according to the type of pipe. For example, some of the unique codes included in the pipe unique information may represent various characteristic information such as the material, thickness, and weight of the pipe.
[0295] And the control unit (100) may include information on pipe unique codes that satisfy the characteristics of the fluid for each fluid characteristic. For example, the control unit (100) may include information on pipe unique codes corresponding to at least one different pipe material corresponding to the chemical characteristics of the identified fluid, and based on the information on the pipe unique codes, it may search for a type of pipe having characteristics that satisfy the characteristics of the identified fluid. In this case, the pipe having characteristics that satisfy the characteristics of the identified fluid may be a pipe having pipe unique information including pipe unique codes corresponding to the characteristics of the identified fluid.
[0296] If there are multiple types of pipes having characteristics that satisfy the identified fluid characteristics, the control unit (100) can search for multiple pipe types according to the identified fluid characteristics. Then, any one of the searched pipe types can be determined as the type of pipe to connect the starting point entity and the ending point entity.
[0297] Alternatively, the control unit (100) may determine the type of pipe to connect the starting point entity and the ending point entity based on the learning results of a plurality of preceding plant models that connect the starting point entity and the ending point entity with pipes. In this case, the control unit (100) may search for at least one pipe type having the same characteristics as the pipe characteristics of the pipe type determined based on the learning results of the plurality of preceding plant models, and may determine any one of the searched pipe types as the type of pipe to connect the starting point entity and the ending point entity.
[0298] Alternatively, the characteristics of the pipe to connect the starting point entity and the ending point entity may be predetermined in the requirements or restrictions entered by the user. In this case, the control unit (100) can search for at least one pipe type having the same characteristics as the pipe characteristics predetermined according to the requirements or restrictions, and can determine any one of the searched pipe types as the type of pipe to connect the starting point entity and the ending point entity.
[0299] Here, the control unit (100) may determine a more specific type of pipe more preferentially according to pre-set requirements or constraints. For example, the control unit (100) may determine a cheaper or lighter pipe more preferentially according to the price or weight per unit length. Or, if requirements or constraints are set to determine a specific type of pipe more preferentially, the specific type of pipe may be determined more preferentially than other types of pipe.
[0300] In step S802 above, when the type of pipe to connect the starting point entity and the ending point entity for each pair is determined, the control unit (100) can group each entity pair to connect the pipe according to the determined pipe type (S804). Then, for each group, the trajectory of the pipe to connect the starting point entity and the ending point entity forming each entity pair can be searched (S806).
[0301] Here, the control unit (100) can determine the priority of trajectory generation for each group according to pre-set requirements or constraints. For example, if the requirements or constraints are cost or weight, the control unit (100) can set the group corresponding to the pipe type with a high price per unit length to a higher priority. Or, the group corresponding to the pipe type with a heavy weight per unit length can be set to a higher priority. And according to the priority set for each group, the pipe trajectories between entity pairs included in each group can be determined sequentially.
[0302] In this case, pipes with a higher price per unit length or heavier weight may have their trajectories generated earlier. Consequently, since there are fewer prior pipe trajectories, fewer avoidance paths may be included to avoid collisions with prior pipe trajectories. Therefore, pipe trajectories may be formed between entity pairs with shorter pipe lengths.
[0303] However, in such cases, since the pipe trajectories of the lower-priority group are formed after those of the high-priority group, the probability of collision due to the previously generated pipe trajectories may increase. Consequently, the pipe trajectories become more complex, and there is a possibility that fluid flow delays caused by avoidance paths will be concentrated. On the other hand, there is an advantage in that pipe costs can be further reduced by minimizing pipes that are expensive per unit length or heavy in weight.
[0304] Alternatively, the control unit (100) may search for pipe trajectories of all groups simultaneously. In this case, since each group has an equal priority, there is an advantage that the complexity of the pipe trajectory or fluid flow delays due to avoidance paths can be distributed across the entire group. However, since the priority of each group is all the same or non-existent, even if a pipe has a high price per unit length or is heavy in weight, its pipe trajectory can be searched in the same way as pipes in other groups. Therefore, avoidance paths may be added, and consequently, pipe costs may increase.
[0305] Meanwhile, requirements or restrictions may be set so that pipes with a high price per unit length or heavy weight are not used for more than a certain length. Then, the control unit (100) can search for pipe trajectories of each group simultaneously, and also search for trajectories where pipes with a price per unit length above a certain level or heavier weight above a certain level are used for less than a specified length. Accordingly, it is possible to prevent an increase in costs due to the indiscriminate use of pipes with a high price per unit length or heavy weight.
[0306] When the pipe trajectories of each group are determined in step S806 above, the control unit (100) can calculate the pipe lengths according to the determined pipe trajectories of each group. Then, based on the calculated pipe lengths and the pipe types determined for each group, the pipe cost for each group can be calculated. Then, by summing the pipe costs calculated for each group, the pipe types determined for the currently generated layout model and the pipe trajectories, i.e., the total cost (pipe cost) for the pipe layout can be calculated (S808).
[0307] Meanwhile, although specific embodiments have been described in the above description of the present invention, various modifications may be implemented without departing from the scope of the present invention. In particular, in the embodiments of the present invention, a configuration for creating a placement model for piping based on a combined tensor combining the computation results of a process loop and a power loop, and for placing piping based on the generated placement model, has been described, but it goes without saying that the present invention is not limited thereto. That is, it goes without saying that the loops preceding the piping placement may not only be the process loop and the power loop, but may also exist as only one preceding loop or as three or more preceding loops.
[0308] Furthermore, the above description explains an example in which an operation for at least one subsequent loop is performed after the pipe arrangement, and the pipe arrangement is combined with the result of the subsequent loop operation to generate a plant model; however, it goes without saying that the subsequent loop may not exist. Or, it goes without saying that there may be one or more subsequent loops.
[0309] In the above description, a configuration was described in which a control unit or an artificial intelligence unit utilizes multiple prior plant models as training data to learn the characteristics of entities connected by pipes and the characteristics of the pipes connecting the entities, and determines the type of pipe and the trajectory of the pipe based on the learned characteristics of the entities and the pipe characteristics. In addition, in this case, a configuration was described in which the priority of the pipes whose trajectories are determined is determined based on characteristics according to the type of pipe, such as price or weight per unit length, and the trajectories of the pipes are determined sequentially according to the determined priority of the pipes. Alternatively, it was described that the trajectories of the multiple pipes are determined simultaneously, but a restriction is applied so that a pipe of a specific type is not used for more than a preset length based on the price or weight per unit length.
[0310] Meanwhile, as described above, the piping mentioned in the above description is assumed to be an example of a linearity item to be described in the present invention, but the present invention is not limited thereto. Accordingly, various linearity items, such as cable trays, optical cables, earthing wires, power cables, etc., can have their types and trajectories determined in a manner similar to that of the piping described above.
[0311] For example, the control unit or artificial intelligence unit may learn the power characteristics of entities and the characteristics of cables connecting the entities by utilizing a number of prior plant models as training data, similar to the case of the piping. Then, based on the learning results, the type of cable between entities and the trajectory of the cable may be determined.
[0312] Furthermore, the memory can store cable information containing information on various cables, similar to the aforementioned piping information. The cable information may include information on thickness and material according to the type of each cable, and may include unique information of the cable indicating electrical energy characteristics based on thickness and material, such as power, voltage, or current characteristics. Additionally, the cable information may include information regarding the cost per unit length of the cable, such as the price or weight per unit length.
[0313] Accordingly, when entities to be connected to each other by cables are determined through learning results from a plurality of prior plant models, the control unit or the artificial intelligence unit can determine the characteristics of the cable to be connected between the entities based on the power characteristics (e.g., high voltage) of the determined entities and detect the types of cables that satisfy the determined characteristics. Then, based on pre-set cost conditions, at least one of the detected types of cables can be determined as the type of cable to be connected between the entities to be connected. That is, the type of cable to be connected between the entities can be determined in the same manner as the method for determining the type of piping between the entities in the above description.
[0314] In addition, the control unit or artificial intelligence unit may determine the priority of the cable to determine the trajectory based on the cost per unit length of the cable, such as the price or weight per unit length of the cable. Alternatively, multiple cable trajectories may be determined simultaneously while restricting the use of cables according to a specific cable type from exceeding a preset length based on the price or weight per unit length. That is, at least one cable trajectory may be determined in the same manner as the method for determining the trajectory of the piping. And once at least one cable trajectory is determined, a plant model including the placement locations of the at least one cable trajectory and entities placed in the three-dimensional space may be generated in the same manner as the piping arrangement.
[0315] Accordingly, in the above description of the present invention, the configuration for generating a pipe arrangement by detecting entities to be connected by pipes according to the learning result, determining the type of pipe to connect between the entities, and determining the trajectory of the pipes may, of course, be replaced by a configuration for generating a cable trajectory by detecting entities to be connected by cables according to the learning result, determining the type of cable to connect between the entities, and determining the trajectory of the cables. Alternatively, the control unit or artificial intelligence unit of the plant model generation device according to an embodiment of the present invention may generate a plant model by further performing a configuration for generating a cable arrangement in addition to the configuration for generating the pipe arrangement. In this case, the plant model may include a pipe arrangement including the placement positions of entities placed in a three-dimensional space and the arrangement of pipes connecting a plurality of entities, and a cable arrangement including the arrangement of cables connecting a plurality of entities.
[0316] Meanwhile, the artificial intelligence unit described above can perform learning according to a reinforcement learning technique in which various conditions, such as price per unit length or weight, are set as a cost function whenever a plant model is generated. In this case, the more the currently generated plant model meets at least one condition set as the cost function—that is, the higher the calculated fitness—the more the weights of the variables applied to the currently generated plant model can be strengthened.
[0317] The above-described invention may be implemented as computer-readable code on a medium on which a program is recorded. A computer-readable medium includes all types of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable media include HDD (Hard Disk Drive), SSD (Solid State Disk), SSD (Silicon Disk Drive), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc., and also include implementation in the form of a carrier wave (e.g., transmission over the Internet). Furthermore, the computer may include a control unit (100) of a plant model generation device (10). Accordingly, the above detailed description should not be interpreted restrictively in all respects and should be considered exemplary. The scope of the invention should be determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the invention are included within the scope of the invention.
Claims
1. An input unit that receives information of a three-dimensional space where the components of the plant are to be placed, information of loops which are procedures according to a pre-set sequence for plant construction, and unique information of entities that are the components of the plant to be placed in each loop; A grid setting unit that converts the three-dimensional space where the above-mentioned plant is to be placed into a grid, which is a three-dimensional grid-type phase space formed by a plurality of three-dimensional grids, and assigns unique information to each grid on the grid; An input tensor generation unit that, for each loop, generates a grid-entity matrix based on the unique information of the entities of each loop and the statistical probability of existence for each grid cell where the entities of each loop exist on the grid, based on learning according to a plurality of preceding plant models, and generates an input tensor, which is a three-dimensional numerical array for attention operations of a transformer model corresponding to each loop, based on the grid-entity matrix and the number of entities of each loop; A memory storing attention weights for calculating attention variables learned from a plurality of preceding plant models corresponding to each loop, and linearity item information for a plurality of linearity item types having different characteristics; An attention unit that calculates attention variables corresponding to each loop based on an input tensor generated for each loop and an attention weight corresponding to each loop, and performs an attention operation based on the attention variable query (Q) value and key (K) value calculated in relation to the result of a preceding loop in which an attention operation was performed prior to the current loop in which the attention operation is performed, and the attention variable result (V) value calculated from the current loop, to produce an entity placement result of the current loop reflecting the entity placement result of the preceding loop; and, Based on the grid-entity matrix for each loop generated from the input tensor generation unit, it is provided as input to the attention unit, and the grid with the highest probability of existence of each entity is detected from the entity placement result of the current loop calculated through the attention operation of the attention unit to determine the position where each entity is to be placed within the 3D space. Detect entities to be connected by linearity items based on the characteristics of each entity placed in the above three-dimensional space, determine the type of linearity item according to the characteristics of the detected entities, and determine at least one linearity item trajectory connecting the detected entities. A plant model generating device characterized by including a control unit that generates a plant model including at least one linearity item trajectory determined above, a linearity item arrangement including a type of linearity item corresponding to each linearity item trajectory, and the arrangement positions of entities arranged in the three-dimensional space.
2. In paragraph 1, the control unit is, A plant model generation device characterized by detecting, based on results learned from a plurality of preceding plant models containing the same entity, a starting point entity where the linearity item trajectory will begin and an ending point entity where the linearity item trajectory will end among entities placed in the three-dimensional space, detecting at least one entity pair consisting of the detected starting point entity and the ending point entity, and determining the type of linearity item to connect the starting point entity and the ending point entity of each detected entity pair and the trajectory of the linearity item.
3. In paragraph 2, the control unit is, Determining the characteristics of a linearity item connecting the start point entity and the end point entity based on results learned from a plurality of preceding plant models having a linearity item arrangement connecting the start point entity and the end point entity, and detecting at least one type of linearity item having the same characteristics from the linearity item information according to the determined characteristics of the linearity item. A plant model generation device characterized by determining at least one of the detected linearity item types as the type of linearity item to connect the start point entity and the end point entity.
4. In Paragraph 3, The above linearity item information is, It includes priorities assigned to each linearity item type according to pre-set cost requirements, and The above control unit is, A plant model generation device characterized by determining, according to the priority assigned to each of the above-detected at least one linearity item type, the linearity item type with a higher priority as the type of linearity item to connect the start point entity and the end point entity, prioritizing the linearity item type with a lower priority.
5. In Paragraph 4, The above-mentioned pre-established cost requirements are, The price or weight of the above linearity item, and The priority assigned to each type of linearity item is, A plant model generation device characterized by having a higher priority as the price per unit length of the linearity item is lower or the weight per unit length of the linearity item is lighter.
6. In paragraph 2, the control unit is, Group at least one detected entity pair into at least one group according to the type of linearity item connecting the start point entity and the end point entity constituting each entity pair, and determine a trajectory determination priority for determining the linearity item trajectory for each group based on the type of linearity item corresponding to each entity pair. A plant model generation device characterized by determining linearity item trajectories connecting entities included in each group, in order of highest priority for determining the determined trajectory.
7. In paragraph 6, the control unit is, A plant model generation device characterized by determining, based on pre-set cost requirements, that the priority of an entity pair group corresponding to a type of linearity item with a high price per unit length or a heavy weight per unit length is lower than the priority of an entity pair group corresponding to a type of linearity item with a low price per unit length or a light weight per unit length.
8. In Paragraph 2, The above control unit is, Simultaneously determining the trajectories of linearity items connecting the start and end entities constituting each entity pair, Among the trajectories of the above linearity items, a specific type of linearity item trajectory satisfying a pre-set constraint is, A plant model generation device characterized by the total length being limited to a pre-set length or less.
9. In paragraph 1, the control unit is, Multiple plant models are created until a pre-configured plant model creation termination condition is satisfied, and whenever a plant model is created, a construction cost is calculated including the cost of each entity included in the model and the cost of linearity items according to the placement of linearity items included in the plant model. A plant model generation device characterized by calculating a suitability indicating the degree to which the calculated construction cost meets pre-set requirements, and outputting information related to at least one of the plurality of plant models according to the calculated suitability.
10. In paragraph 9, the control unit is, If there are multiple grids with the highest probability of existence of a specific entity from the above entity placement result, the location of the specific entity is determined as a position in the three-dimensional space corresponding to any one of the detected multiple grids, and A plant model generation device characterized by leveling the intervals reaching the minimum and maximum values of the statistical existence probability for each grid into multiple intervals according to a pre-set identical consideration range, and considering multiple grids in which the statistical existence probability for each grid on the grid for a specific entity is included in the interval of the same level as grids in which the same statistical existence probability for the specific entity is the same, so that the position of the specific entity changes whenever the plant model is generated.
11. In Paragraph 1, The above memory is, The above linearity item information further includes information on multiple pipe or cable types having different characteristics, and The above control unit is, Detecting entities to be connected by pipes or cables based on the characteristics of each entity placed in the above three-dimensional space, determining the type of pipe or cable according to the characteristics of the fluid flowing between the detected entities or the characteristics of the electrical energy, and determining at least one pipe trajectory or cable trajectory connecting the detected entities. A plant model generating device characterized by generating a plant model including at least one determined pipe trajectory or cable trajectory, a pipe arrangement or cable arrangement including a pipe type or cable type corresponding to each pipe trajectory or cable trajectory, and the placement positions of entities placed in the three-dimensional space.
12. A step of receiving information of a three-dimensional space where the components of the plant are to be placed, information of a loop which is a procedure according to a pre-set sequence for plant construction, and unique information of entities that are the components of the plant to be placed in said loop; A step of converting the three-dimensional space where the above-mentioned plant is to be placed into a grid, which is a three-dimensional grid-type phase space formed by a plurality of three-dimensional grids, and assigning unique information to each grid on the grid; A step of generating a grid-entity matrix containing statistical probabilities of existence for each entity of the loop calculated for each grid cell on the grid, generating an input tensor which is a three-dimensional numerical array for an attention operation of a transformer model corresponding to the loop based on the grid-entity matrix and the number of entities of the loop, and generating an attention result tensor containing probabilities of existence for each of the plurality of entities calculated for each grid cell on the grid by performing a self-attention operation a predetermined number of times based on the attention variables of the loop calculated based on attention weights previously learned for the loop and the input tensor; A step of determining the location of each of the plurality of entities in the three-dimensional space according to the existence probabilities for each grid according to the attention result tensor; A step of detecting entities to be connected by linearity items based on the characteristics of each entity placed in the above three-dimensional space, determining the type of linearity item according to the characteristics of the detected entities, and determining at least one linearity item trajectory connecting the detected entities; and, A control method for a plant model generation device characterized by including the step of generating a plant model comprising at least one linearity item trajectory determined above, a linearity item arrangement including a type of linearity item corresponding to each linearity item trajectory, and the arrangement positions of entities arranged in the three-dimensional space.
13. In paragraph 12, the step of generating the attention result tensor is, A step of generating a grid-entity matrix containing statistical existence probabilities for each entity of the second loop to exist for each grid cell on the grid, and generating an input tensor for an attention operation of the second loop based on the grid-entity matrix and the number of entities of each loop; A step of performing an encoding-decoding attention operation based on the attention variable query (Q) value and key (K) value of the first loop, from which the output tensor, which is the output value of the attention operation, is calculated prior to the second loop, and the attention variable result (V) value of the second loop calculated based on the attention weights previously learned for the second loop; A step of receiving the result of the encoding-decoding attention operation as the input tensor of the second loop and repeating a self-attention operation that performs the encoding-attention operation again a preset number of times to generate an output tensor which is the output value of the attention operation for the second loop; and, A control method for a plant model generation device, characterized by further including the step of concatenating the output tensor of the first loop and the output tensor of the second loop to generate the attention result tensor.
14. In paragraph 12, the step of determining the type of the linearity item and at least one linearity item trajectory is, A step of detecting a starting point entity where the linearity item trajectory will begin and an ending point entity where the linearity item trajectory will end among entities placed in the three-dimensional space, based on results learned from a plurality of preceding plant models containing the same entity; A step of detecting at least one entity pair consisting of a detected start point entity and an end point entity; A step of determining the type of linearity item to connect the start point entity and the end point entity of each detected entity pair; and, A control method for a plant model generation device characterized by including the step of determining the trajectory of each linearity item connecting the start point entity and the end point entity of each detected entity pair.
15. In paragraph 14, the step of determining the type of the linearity item is, A step of determining the characteristics of a linearity item connecting the start point entity and the end point entity based on results learned from a plurality of preceding plant models having a linearity item arrangement connecting the start point entity and the end point entity; A step of detecting at least one type of linearity item having the same characteristics according to the characteristics of the determined linearity item from previously stored linearity item information; The method includes the step of determining, according to the priority assigned to each of the at least one detected linearity item type, a linearity item type with a higher priority over a linearity item type with a lower priority, as a type of linearity item to connect the starting point entity and the ending point entity. The above linearity item information is, A control method for a plant model generation device characterized by including priorities assigned to each type of linearity item according to pre-set cost requirements.
16. In Paragraph 15, The above linearity item information is, It includes priorities assigned to each type of linearity item according to cost requirements related to the price or weight of the above linearity item, and The priority assigned to each type of linearity item is, A control method for a plant model generation device characterized by having a higher priority as the price per unit length of the linearity item is lower or the weight per unit length of the linearity item is lighter.
17. In paragraph 14, the step of determining the trajectory of each of the above linearity items is, A step of grouping at least one detected entity pair into at least one group according to the type of linearity item connecting the start point entity and the end point entity constituting each entity pair, and determining a trajectory determination priority for determining a linearity item trajectory for each group based on the type of linearity item corresponding to each entity pair; It includes a step of determining linearity item trajectories connecting entities included in each group, in order of highest priority for determining the trajectory, and The step of determining the priority of the trajectory determination above is, A control method for a plant model generation device characterized by a step of determining that the priority of an entity pair group corresponding to a linearity item type with a high price per unit length or a heavy weight per unit length is higher than the priority of an entity pair group corresponding to a linearity item type with a low price per unit length or a light weight per unit length.
18. In paragraph 14, the step of determining the trajectory of each of the above linearity items is, It is a step of simultaneously determining the trajectories of linearity items connecting the start point entity and the end point entity constituting each entity pair, and Among the trajectories of the above linearity items, a specific type of linearity item trajectory satisfying a pre-set constraint is, A control method for a plant model generation device characterized by the total length being limited to a pre-set length or less.
19. In Paragraph 12, The above linearity item is, It is a pipe or cable, The above linearity item placement is, A control method for a plant model generation device characterized by including at least one of a pipe arrangement including at least one pipe trajectory and a pipe type corresponding to each pipe trajectory, and at least one of a cable arrangement including at least one cable trajectory and a cable type corresponding to each cable trajectory.