Document 1
Document 1
This research work was supported within the KEEN project (grant number: 01MK20014S)
and has been funded by the Federal Ministry of Economic Affairs and Climate Action
(BMWK).
Original Article
Zaheer et al., 2017
Fig 1
ISO 10628-2 - Diagrams for the Chemical and Petrochemical Industry – Part 2:
Graphical Symbols
Proceedings of the ICLR (2014), p. 2015
Show 3 more articles
Citations
u
S. Hochreiter, J. Schmidhuber
IEEE Trans. Knowl. Data Eng., 33 (2020), pp. 1807-1818, 10.1109/TKDE.2019.2951398
To make the structure of the P&ID available for further processing, the respective
DEXPI file of the P&ID is converted into a graph using Python. The plant topology
of the P&ID, including parameters relevant for modeling, is stored in a directed
graph in the form of a GraphML file (GraphML Project Group, 2017). A directed
graph, per definition, consists of a set N of nodes and a set E of edges. The edges
are directed, meaning that each edge is defined by ordered pairs of nodes (start
and end node) (Turau and Weyer, 2015). The P&ID to be processed is stored in the
DEXPI format, which is based on a Proteus XML schema (Proteus XML, 2017) and
contains three levels of information relevant for topology extraction. The
Equipment, which contains a listing of the components present in the P&ID. The
PipingNetworkSystem, which describes the piping system and the interconnections
between the various equipment, and the PipingComponents, which contain components
embedded in the piping system, like valves. The classes of equipment and components
are uniquely defined in DEXPI via the EquipmentClass and ComponentClass.
Furthermore, the InstrumentationFunction provides information about process control
equipment (PCE) and their connections. Fig. 2 shows the procedure used to convert
the P&ID via Python.
The main diagonal shows that most components of each class are correctly
classified. This way, all separation units are correctly classified. Process
control equipment (PCE, 96%) and piping components (93%) are also almost completely
correctly assigned. With over 87% prediction accuracy, valves and check valves are
also classified sufficiently well, although it is noticeable that there is
confusion between valves and piping equipment and valves and safety valves.
However, with less than 10%, this is still within tolerable limits. The
classification of the remaining components is much more difficult for the GNN.
Thus, 39% of safety valves are identified as piping equipment and 16% as standard
valves. This is not surprising since both classes are usually found in similar
positions of a P&ID. Classification of pumps (67%), vessels (55%) and heat
exchangers (75%) is only reasonably satisfactory. It is noticeable that all three
classes are mainly classified as valves or PCEs. Classes which are particularly
strongly represented in the data set according to Table 1. The GNN models should
therefore be further optimized in the future. At this point, it is conceivable to
integrate the comparatively underrepresented classes more strongly into the
training by introducing weighting factors. Furthermore, it would be conceivable to
use a larger k, which would aggregate more information. However, this results in a
larger computational effort.
N.K. Manaswi
Google Scholar
Search ScienceDirect
Keywords
Fig 2
Oeing, 2022
D. Bahdanau, K. Cho, Y. Bengio
LEARNING FROM FLOWSHEETS: A GENERATIVE TRANSFORMER MODEL FOR AUTOCOMPLETION OF
FLOWSHEETS
S. Fillinger, H. Bonart, W. Welscher, E. Esche, J.-U. Repke
TOWARDS AUTOMATIC GENERATION OF PIPING AND INSTRUMENTATION DIAGRAMS (P&IDS)
WITH ARTIFICIAL INTELLIGENCE
View PDFView articleView in ScopusGoogle Scholar
input
Table 1. Higher level node classes and their quantity in the training dataset.
Show 4 more figures
2022, arXiv
The design and engineering of piping and instrumentation diagrams (P&ID) is a very
time-consuming and labor-intensive process. Although P&IDs show common patterns
that could be reused during development, the drawing is usually created manually
and built up from scratch for each process. The aim of this paper is to recognize
these patterns with the help of artificial intelligence (AI) and to make them
available for the development and the drawing process of P&IDs. In order to achieve
this, P&ID data is made accessible for AI applications through the DEXPI format,
which is a machine-readable, manufacturer-independent exchange standard for P&IDs.
It is demonstrated how deep learning models trained with DEXPI P&ID data can
support the engineering as well as drawing of P&IDs and therefore decrease labor
time and costs. This is achieved by assisted prediction of equipment in P&IDs based
on recurrent neural networks as well as consistency checks based on graph neural
networks.
Hu, 2008
AI-based processing of P&IDs
Cited By (4)
Synth. Lect. Artif. Intell. Mach. Learn., 14 (2020), pp. 1-159,
10.2200/S01045ED1V01Y202009AIM046
Download : Download high-res image (199KB)
Download : Download high-res image (217KB)
(1)
embedding/feature of a node u
Get rights and content
v
Copyright © 2023 Elsevier B.V. or its licensors or contributors. ScienceDirect® is
a registered trademark of Elsevier B.V.
Deep sets
View PDF
Google Scholar
Node classification using graph neural networks
Cite
J. Zhou, G. Cui, S. Hu, Z. Zhang, C. Yang, Z. Liu, L. Wang, C. Li, M. Sun
Sequential node prediction using recurrent neural networks
Google Scholar
Google Scholar
Share
Introduction
Google Scholar
StellarGraph, 2020. StellarGraph machine learning library - documentation [WWW
Document]. URL https://stellargraph.readthedocs.io/en/stable/README.html (accessed
3.1.22).
Outline
About ScienceDirect
Digital Chemical Engineering
CrossRefGoogle Scholar
(4)
Download : Download high-res image (216KB)
Fig. 6. Results of the training of following P&ID equipment with different RNN
models
Download : Download full-size image
Fig 6
Introduction
For a wide acceptance and usage of AI in process engineering, it is necessary that
digital, machine-readable formats are further implemented and are integral part of
software packages. The analysis of the current, still very small data base shows
that P&IDs are often drawn in such a way that they are available as a pdf document
or printout, while important information such as interconnections (e.g. piping,
signal lines) are often missing in the digital representation due to incorrect
drawn P&IDs by the user. If there is a continuous increase in machine-readable
P&IDs in the future, the approaches demonstrated in this paper show the potential
to accelerate the engineering process and save labor time and costs, when
integrated into P&ID software. Primarily, it is recommended to suggest components
during P&ID synthesis and to identify and reduce possible errors through
validation. In addition, further AI solutions can be developed that recognize
functional groups in P&IDs and consider the implementation of these modules when
developing processes.
Download : Download high-res image (872KB)
International Organization for Standardization, 2012b. ISO 10209, technical product
documentation – vocabulary – terms relating to technical drawings, product
definition and related documentation. Geneva.
Download : Download full-size image
Results - GNN node classification
In the following, several P&IDs in the standardized DEXPI format are used as
training data, which were exported using the program PlantEngineer from the
software vendor X-Visual Technologies GmbH and converted to graphs in GraphML
format (GraphML Project Group, 2017) according to chapter 2.1. In total, 35 P&ID
graphs from third parties (laboratory and industrial plants) with 1641 nodes and
1410 edges are used. The data set contains 92 different equipment classes (valves,
pumps, vessels, instrumentation, etc.) based on the DEXPI specifications (Theißen
and Wiedau, 2021) and has three different classes of edges (pipes, signal lines,
process connection lines). The ratio of nodes/edges shows that, as expected for
P&IDs, these are very linear graphs with rather low connectivity structures. At a
closer look there are usually many single nodes along a pipeline (e.g. valves,
vessels, pumps, heat exchangers, measuring points, etc.) which results in a kind of
dead ends. Additionally, some P&IDs show inconsistencies in their drawn structures,
which in some cases lead to isolated nodes or several, smaller graphs. However,
these inconsistencies were deliberately included in the data set, as the data is
intended to represent the current state of machine-readable P&IDs in the process
industry to obtain representative results. The influence of the inconsistencies on
the results is examined in more detail in chapter 4.
Google Scholar
Google Scholar
and CONCAT concatenates the individually calculated aggregations of each node.
In addition, there is the possibility of adding a multilayer perceptron (MLP) over
the states to be aggregated, as shown in Eq. (6) for the sum-MLP (Xu et al., 2019).
The idea is that an MLP can transform each state
Elsevier logo with wordmark
Check valves 60
PHASuite: an automated HAZOP Analysis tool for chemical processes
Elsevier logo
Batres et al., 1997
Google Scholar
plumX logoView details
Fig. 3. P&ID topology representing GraphML structure used for further training.
K. Xu, W. Hu, J. Leskovec, S. Jegelka
Fig. 4. GUI of the DEXPI-2-graph converter
Google Scholar
Theißen, M., Wiedau, M., 2021. DEXPI - P&ID Specification [WWW Document]. Version
1.3. URL https://dexpi.org/specifications/ (accessed 3.1.22).
Google Scholar
A comparative study for unsupervised network representation learning
NTI Ser., 2 (1968), pp. 12-16
GraphML Project Group 2017
Kingma and Ba, 2014
Fig. 1 shows the two use cases identified in this paper for AI-assisted P&ID
synthesis and their respective modeling approaches. In the first use case, a node
prediction generates suggestions about subsequent components based on a recurrent
neural network (RNN). These suggestions can support the user and decrease the time
of the drawing process. The second approach uses graph neural networks (GNN), which
are neural networks especially developed for the modeling of graphs. They can learn
the topologies of process plants, which are stored in the form of a graph, and
enable a consistency check during drawing by comparing the models with drawn P&IDs.
The use of a neural network offers the advantage that patterns and rules for
generating P&IDs can be learned from existing plant topologies. Therefore, no
explicit heuristics need to be stored. Furthermore, the models can be adapted to
the user's requirements and preferences by re-training them with data from the
user. GNNs can be used to perform various classifications and predictions, which
then can be used for consistency checking. The node classification allows for
predicting information, such as the equipment classes of individual nodes to check
whether components within a P&ID are present at meaningful positions. In contrast,
edge classification focuses on the prediction of edge information. In relation to
the P&ID, these are for example the connection types (piping or signal lines) or
the information, whether a pipeline is insulated or heated. In parallel, a link
prediction can be used, which provides information about the probability of a
possible link between two components. This enables the validation of connections
within a P&ID as well as the suggestion of connections during the drawing process.
In the following, the preprocessing for converting the P&IDs into graphs as well as
the two modeling concepts is introduced in more detail. The results for a node
prediction via RNNs as well as a node classification based on a GNN is presented.
(7)
Show more
Abstract
Results – node prediction
R. Batres, M.L. Lu, Y. Naka
Fig. 9. Results of the node classification in a P&ID graph via recursive GNN
grouped by the applied aggregation functions.
AI-based processing of P&IDs
Packt Publishing, Birmingham (2017)
Chem. Ing. Tech., 93 (2021), pp. 2105-2115, 10.1002/cite.202100203
Download : Download high-res image (235KB)
Fig 8
Google Scholar
Google Scholar
Neural Comput., 9 (1997), pp. 1735-1780, 10.1162/neco.1997.9.8.1735
4
weight by which the features of nodes influence each other
Download : Download high-res image (186KB)
Fig 7
Graph representation learning
AI-based suggestions can be used to speed up the process of drawing P&IDs. A
sequence of drawn and connected components is used to learn their course with the
help of an RNN. Recurrent neural networks are neural networks that can model time
series (or in this case linearly structured sequences) in training data based on
their structure (Hu and Balasubramaniam, 2008). Based on the learned correlations,
a node prediction is carried out, which returns the most probable subsequent P&ID
components based on an input sequence. The workflow of the modeling is explained in
more detail in the following.
Fig 4
number of edges
Google Scholar
Modified smith predictor for slug control with large valve stroke time in unstable
systems
Artificial intelligenceProcess synthesisP&IDProcess engineeringDetail engineering
Proceedings of the ICLR (2014), p. 2015
When parsing the DEXPI files, it becomes apparent that the level of detail in the
P&ID description varies greatly depending on the user. Thus, different numbers of
attributes of the XML files are filled in. At the same time, the use of the
attributes leaves some room for interpretation, such that synonymous information
was mapped to different attributes. This requires a certain degree of robustness,
which has been considered in the DEXPI-2-graph implementation. Therefore, several
attributes (e.g. design temperature, pressure, material, …) are deliberately
searched until the desired information for the respective node is found.
Acknowledgment
Cho et al., 2014
https://doi.org/10.1016/j.dche.2022.100038
Since the structure of the graphs in GNNs is learned by aggregating the neighbors,
it is important that the graphs have no missing links. As mentioned before, this is
not always the case in the data base from chapter 2.2 due to inconsistencies in
real P&ID drawings and their DEXPI exports. For this reason, a new dataset of
laboratory plants as well as industrial distillation plants is used. The dataset
contains 13 P&ID graphs and have a sufficiently high density of cross-links such
that they represent the original P&IDs well. These 13 P&ID graphs with 2020 nodes
and 2283 edges are used to train the GNNs in the following. Within the 13 P&IDs,
there are a total of 47 different equipment classes. In this context, a feasibility
analysis must be performed to investigate the potential of classifying P&ID
equipment by GNNs and to identify further challenges. Since different components in
a P&ID can fulfill the same process engineering function and since the use of
meaningful functionalities at the existing positions is to be examined for a
consistency check, it is recommended to divide the components within the P&ID into
meaningful classes. This has the additional advantage that even single components
can be used as training data influencing the classification. Hence, the 47
different components in the training data set are sorted into 9 superior classes,
which are shown in Table 1 below. The number of components per class is also shown
in relation to the training data.
View in ScopusGoogle Scholar
Fig. 1. Use cases of artificial intelligence to accelerate and improve the
synthesis of P&IDs.
(Bahdanau et al., 2014).
stands for the embedding of a node u at iteration step k. UPDATE and AGGREGATE are
arbitrary, differentiable functions, where the aggregation of the neighborhood N(u)
of node u represents the actual "message" m. The parameter k defines the number of
iterations, at which the message passing proceeds, thus represents the number of
hidden layers of the GNN. Since the aggregation of the neighborhood information
must be independent of the order, it is important that the AGGREGATION is a
permutation-invariant function. Based on the embedding for each iteration step k, a
final embedding for each node u can subsequently be determined using a final layer
(Hamilton, 2020).
International Organization for Standardization (2012)
View in ScopusGoogle Scholar
Oeing, J., 2022. DEXPI2graph converter application [WWW Document]. URL
https://github.com/TUDoAD/DEXPI2graphML (accessed 5.18.22).
Fig. 6. Results of the training of following P&ID equipment with different RNN
models.
Google Scholar
As mentioned before, the information from the P&ID is interpreted in the form of a
graph. This makes it possible to store the relationships between components and the
topology in an unambiguous and machine-interpretable way. However, to learn the
graph structure as a whole and to solve tasks such as node classification, edge
classification or link predictions, machine learning methods of graph analysis are
required that can deal with non-Euclidean data structures such as graphs. The
modeling of graph structures is particularly interesting in the field of P&ID
engineering. By learning connections (e.g. piping, signal lines, …) or components
(e.g. valves, equipment, …) based on their neighborhood with the help of AI, it
will be possible in the future to perform consistency checks in P&IDs and detect
errors in P&IDs. This could reduce the amount of time for drawing P&IDs, which will
shorten the time for developing a plants documentation. To achieve this goal, Graph
Neural Networks can be used for modeling Graph Neural Networks (GNN) can be used
for modelling, which have become increasingly important in recent years (Zhou et
al., 2020). A GNN is based on a message passing algorithm that aggregates arbitrary
information from the neighborhood of a node, which will convolve the graph
(Hamilton, 2020). In general, the message passing of a GNN is analogous to the
Weisfeiler-Lehman algorithm to test the isomorphism of two graphs (Weisfeiler and
Leman, 1968), which was introduced in 1968 and in which information is aggregated
from the neighborhood of each node.
View PDF
Shopping cart
Xu et al., 2019
Further opportunities are safety assessment and HAZOP studies, where machine-
readable HAZOP scenarios could be mapped to graph-based plant topologies using
search algorithms. Furthermore, in future a possible detection of subgraphs in
P&IDs i.e. functional equipment assemblies could facilitate the mapping between PFD
simulations based on unit operations and P&IDs. This could provide the foundation
for automated generation of PFD simulations from a DEXPI plant topology.
Long short-term memory
K.P. Murphy
Chem. Ing. Tech., 91 (2019), pp. 240-255, 10.1002/cite.201800112
View in ScopusGoogle Scholar
Download : Download full-size image
A. Gulli, S. Pal
Google Scholar
Proceedings of the ICLR (2019), p. 2019
A. Grover, J. Leskovec
As a last investigated variant, the graph attention approach (8) is applied, where
additionally for each
Hamilton, 2020
Under a Creative Commons license
2022, arXiv
Algorithmische Graphentheorie, De Gruyter Studium
B. Weisfeiler, A. Leman
ENPRO data integration: extending DEXPI towards the asset lifecycle
Chollet, F., 2020. Keras API - documentation vers. 2.4.0 [WWW Document]. URL
https://keras.io (accessed 2.20.22).
Keywords
Preprocessing – DEXPI-2-graph
Privacy policy
Fig 9
Graph-based P&ID formats are a promising way to improve machine readability of
important process information. The standardized DEXPI format, which is defined and
will be improved continuously by the DEXPI Initiative, is able to store the
topology of process plants as well as all apparatus specifications in a structured
way and make them available in a machine-interpretable manner. This standardization
enables the retrieval of information and a simple application of AI models. Thus,
in addition to the possible accessibility of P&ID data, two approaches have been
presented in this work, which make it possible to recognize patterns in P&IDs and
use AI to help support and increase efficiency in P&ID synthesis. First, P&ID
graphs are decomposed into sequences, and subsequent components can be predicted
based on the drawn partial structure by RNNs. In this regard, high accuracies were
achieved and, in particular the use of AI-based suggestion algorithms was
quantified. On the other hand, the use of GNNs allows for learning correlations in
plant topologies. In the present case, existing components were classified into
P&IDs for a consistency check. In this case, too, good results were achieved in a
first feasibility analysis with a recursive GNN and the data basis is expandable
for the application of AI. However, further fields of application for GNNs are
possible. For example, the prediction of connections is possible, e.g. pipelines,
signal lines, as well as the detection of subgraph structures which could help to
automatically detect functional equipment assemblies (as a part of the engineering
of modular plants).
The recursive GNN is used based on the GraphSAGE algorithm presented in the
previous chapter 4. The number of layers is k = 3. For the activation function, the
ReLU function (Manaswi, 2018) and a subsequent normalization are applied. To
achieve the most efficient prediction accuracy, different state-of-the-art
aggregation functions are used and compared against each other. Basic variants in
this respect are the calculation of a sum (4) or an arithmetic mean (5) (Grabisch
et al., 2009).
The results for all models show deviations among each other. The accuracy for the
training for all models is between 75.4% (sum-MLP) and 87.3% (sum) while the
accuracy for the test data varies between 74.5% (sum-MLP) and 81.5% (sum). It is
striking that the gap between the test and training accuracies for the sum
aggregation as well as the attention aggregation is larger than for the remaining
aggregation functions, at about 6 percentage points. Additionally, the results show
that simpler aggregation algorithms such as sum and arithmetic mean achieve higher
training accuracies than the more complex aggregations using attention, set pooling
or sum-MLP. It is hypothesized that this is due to the fact that all neighborhood
information is equally important in predicting the component class. For this
reason, learning the individual P&ID components works particularly well when the
neighborhood information is aggregated with the same weight, i.e., equally
important. This is especially true for the sum or mean.
X. Hu, P. Balasubramaniam
output
a weight factor
b
Schuster and Paliwal, 1997
m
Tables (1)
Recommended articles
Declaration of Competing Interest
Proceedings of the ACL (2019), p. 19
Tweets:
Apress, Berkeley (2018), 10.1007/978-1-4842-3516-4
Heat exchangers 86
Deep Learning with Keras: Implementing Deep Learning Models and Neural Networks
With the Power of Python
Google Scholar
Aggregation Functions (Encyclopedia of Mathematics and its Applications)
Fig. 2. Structure of the Python DEXPI-2-graph converter.
Workflow – node prediction
Learning from flowsheets: A generative transformer model for autocompletion of
flowsheets
number of nodes
The workflow of the node classification is shown in Fig. 8. First, all nodes of all
P&ID graphs in the used dataset are divided into a training dataset (80%) and a
test dataset (20%) using a mask. The neural network is then provided with
information about the topology of the graph, as well as attributes of the nodes and
edges, e.g. equipment class, connection type, etc… From this information, the
network generates an embedding for each node and the predicted node class. This is
compared with the real node class and the error is reduced via backpropagation.
After the training is finished, the trained network can be used for node
classification of unseen data (nodes).
Google Scholar
The first step is sampling, during which the graph with its networked structure of
nodes and edges is sequentially transformed into linear input data. These input
data consist of a list of contiguous nodes, which contain the interconnected graph
in linear representations. In the sampling process, all possible turns based on the
number of output edges are made at branches to obtain a reliable representation of
all node interconnections via random walks (Grover and Leskovec, 2016). The
sampling is performed with the function randomBiasedWalk, which is part of the
Python library StellarGraph (package: stellargraph.data.BiasedRandomWalk / version:
v1.0.0rc1) (StellarGraph, 2020). The random biased walk requires four input
parameters. The number of walks defines how many walks are generated from each node
in the graph. The walk length specifies how many nodes are considered per walk.
Important special features of the biased random walk are the return hyperparameter
p and the in-out hyperparameter q, which guide the walk. Thus, 1/p defines the
probability of reversing the sampling direction during the random walk, while 1/q
describes the probability of discovering new nodes in the graph. In this way, the
depth of the search can specifically be controlled (Grover and Leskovec, 2016).
Since the generated samples should represent a clean and linear section of the
plant topology, the parameters must be chosen in a way that the random walk jumps
back as rarely as possible and continuously explores new paths. In this respect,
previous investigations have shown that convincing results can be achieved with
values of p = 1000 and q = 1. Smaller values of p, lead to an undesired probability
of sampling against the flow direction. The sequential samples represent the actual
training data for AI modeling and have a previously defined length l. They are
divided in such a way that the first l-1 entries represent the input sequence x,
while the entries at position l are the corresponding output y. The dataset used in
this work is composed of a total of 4923 sequences, each consisting of six nodes.
For validation, 20 % of the data set are randomly retained as a test set. The
remaining 80% are used to train the RNN.
The sequential node prediction can be divided into three parts and its workflow is
shown in Fig. 5.
Readers:
l
hu
Download : Download high-res image (499KB)
How powerful are graph neural networks?
DE GRUYTER, Berlin (2015), 10.1515/9783110417326
Conclusion & outlook
and applies it to the sum-MLP combination in Eq. (6) (Hamilton, 2020).
Author links open overlay panelJonas Oeing a, Wolfgang Welscher b, Niclas Krink b,
Lars Jansen a, Fabian Henke a, Norbert Kockmann a
In the second step, the structure of the node sequences is learned with the aid of
recurrent neural networks (RNN). For this purpose, four different approaches are
used: a simple RNN (Chen, 2021), a Bidirectional RNN (BRNN) (Schuster and Paliwal,
1997), a Gated Recurrent Units (GRU) (Cho et al., 2014) as well as a Long-short-
term memory (LSTM) (Hochreiter and Schmidhuber, 1997). An RNN, as shown in Fig. 5,
has an input layer, a hidden layer, and an output layer. The RNN represents a
replication of a neural network with the same dimensions. For each replication, a
state is transferred to the next layer. In this way it is possible to learn local
relationships in the sequences. Basically, RNNs have a disadvantage that should not
be underestimated. The training of weights by more distant information is
difficult, since their errors explode or diminish during the backpropagation.
(Chen, 2021) To get around this there are further possibilities such as the use of
BRNNs. These take into account future information in addition to previous
information to increase the accuracy (Schuster and Paliwal, 1997). Another option
is the use of GRUs or LSTMs. Both consists of single cells and using cell states
and gates to decide which information will be processed and which forgotten. This
allows to get the behavior of a short-term memory. GRUs consist of a reset and
update gate (Chen, 2021; Cho et al., 2014). A LSTM uses one input, one output, and
one forget gate. The gates control the information flow and decide, which
information is necessary to make a prediction. A kind of short-term memory is
created, which also gives the network its name (Chen, 2021; Hochreiter and
Schmidhuber, 1997). Both the GRU and the LSTM are used in state-of-the-art deep
learning applications. GRUs have fewer tensor operations, which leads to faster
training. For this reason, they are used for modeling in this paper to investigate
which of them leads to better results for predicting P&ID equipment based on
sequential data.
Sequential node prediction using recurrent neural networks
Gulli and Pal, 2017
Proteus XML, 2017. Proteus schema for P&ID exchange [WWW Document]. URL
https://github.com/ProteusXML/proteusxml (accessed 5.18.22).