[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

Efficient Matching in Large DAE Models

Published: 26 October 2024 Publication History

Abstract

This article presents a matching algorithm for bipartite graphs containing repetitive structures and represented by intension as Set-Based Graphs. Under certain conditions on the structure of the graphs, the computational cost of this novel algorithm is not affected by the cardinality of the sets of vertices and edges. The main application of the algorithm is that of matching large Equation-Based Models where provided that most equations are defined using for loop statements that iterate over vectors of unknown variables, the computational cost becomes independent of the growth of the vectors involved.
Besides introducing the algorithm, the article describes its implementation in a Modelica compiler and studies its performance over different test models.

References

[1]
Giovanni Agosta, Emanuele Baldino, Francesco Casella, Stefano Cherubin, Alberto Leva, and Federico Terraneo. 2019. Towards a high-performance modelica compiler. In Proceedings of the 13th International Modelica Conference. Linköping University Electronic Press.
[2]
Armen S. Asratian, Tristan M. J. Denley, and Roland Häggkvist. 1998. Bipartite Graphs and Their Applications. Vol. 131. Cambridge University Press.
[3]
Federico Bergero, Mariano Botta, and Ernesto Kofman. 2015. Efficient compilation of large scale Modelica models. In Proceedings of the 11th International Modelica Conference.
[4]
Willi Braun, Francesco Casella, Bernhard Bachmann, 2017. Solving large-scale Modelica models: New approaches and experimental results using OpenModelica. In Proceedings of the 12 International Modelica Conference. Linkoping University Electronic Press, 557–563.
[5]
Dag Brück, Hilding Elmqvist, Sven Erik Mattsson, and Hans Olsson. 2002. Dymola for multi-engineering modeling and simulation. In Proceedings of Modelica 2002.
[6]
Francesco Casella and Adrien Guironnet. 2021. ScalableTestGrids – An open-source and flexible benchmark suite to assess modelica tool performance on large-scale power system test cases. In Proceedings of Modelica Conferences. 351–358.
[7]
François E. Cellier and Ernesto Kofman. 2006. Continuous System Simulation. Springer Science & Business Media.
[8]
Jack Edmonds. 1965. Paths, trees, and flowers. Canadian Journal of Mathematics 17 (1965), 449–467.
[9]
Massimo Fioravanti. 2020. M.A.R.C.O.: An Experimental High-Performance Modelica Compiler for Large Scale Systems. Master’s thesis. Dipartimento di Elettronica, Informazione e Bioingegneria. POLITECNICO DI MILANO.
[10]
Massimo Fioravanti, Daniele Cattaneo, Federico Terraneo, Silvano Seva, Stefano Cherubin, Giovanni Agosta, Francesco Casella, and Alberto Leva. 2023. Array-aware matching: Taming the complexity of large-scale simulation models. ACM Transactions on Mathematical Software 49, 3 (2023), 1–25.
[11]
Jens Frenkel, Günter Kunze, and Peter Fritzson. 2012. Survey of appropriate matching algorithms for large scale systems of differential algebraic equations. In Proceedings of the 9th International MODELICA Conference. Linköping University Electronic Press, 433–442.
[12]
Jens Frenkel, Christian Schubert, Günter Kunze, Peter Fritzson, Martin Sjölund, and Adrian Pop. 2011. Towards a benchmark suite for Modelica compilers: Large models. In Proceedings of the 8th International Modelica Conference (Modelica ’11). Linköping University Electronic Press, 143–152.
[13]
Peter Fritzson and Peter Bunus. 2002. Modelica – A general object-oriented language for continuous and discrete-event system modeling and simulation. In Proceedings 35th Annual Simulation Symposium (SS ’02). IEEE, 365–380.
[14]
Peter Fritzson, Adrian Pop, Karim Abdelhak, Adeel Asghar, Bernhard Bachmann, Willi Braun, Daniel Bouskela, Robert Braun, Lena Buffoni, Francesco Casella, et al. 2020. The OpenModelica integrated environment for modeling, simulation, and model-based development. Modeling, Identification and Control 41, 4 (2020), 241–295.
[15]
John Hopcroft and Robert Tarjan. 1973. Algorithm 447: Efficient algorithms for graph manipulation. Communications of the ACM 16, 6 (1973), 372–378.
[16]
John E. Hopcroft and Richard M. Karp. 1973. An n\({}^{5/2}\) algorithm for maximum matchings in bipartite graphs. SIAM Journal on computing 2, 4 (1973), 225–231.
[17]
Marek Karpiński, Marek Karpinski, and Wojciech Rytter. 1998. Fast Parallel Algorithms for Graph Matching Problems. Vol. 9. Oxford University Press.
[18]
Ernesto Kofman, Joaquín Fernández, and Denise Marzorati. 2021. Compact sparse symbolic Jacobian computation in large systems of ODEs. Applied Mathematics and Computation 403 (2021), 126181.
[19]
László Lovász and Michael D Plummer. 2009. Matching Theory. Vol. 367. American Mathematical Soc.
[20]
Denise Marzorati, Joaquin Fernández, and Ernesto Kofman. 2022. Efficient connection processing in equation-based object-oriented models. Applied Mathematics and Computation 418 (2022), 126842.
[21]
Constantinos C. Pantelides. 1988. The consistent initialization of differential-algebraic systems. SIAM Journal on Scientific Computing 9, 2 (1988), 213–231.
[22]
Adrian Pop, Per Östlund, Francesco Casella, Martin Sjölund, and Rüdiger Franke. 2019. A new OpenModelica compiler high performance frontend. In Proceedings of the 13th International Modelica Conference. Linköping University Electronic Press.
[23]
Kirill Rozhdestvensky, Vladimir Ryzhov, Tatiana Fedorova, Kirill Safronov, Nikita Tryaskin, Shaharin Anwar Sulaiman, Mark Ovinis, and Suhaimi Hassan. 2020. Computer Modeling and Simulation of Dynamic Systems Using Wolfram SystemModeler. Springer.
[24]
Joseph Schuchart, Volker Waurich, Martin Flehmig, Marcus Walther, Wolfgang E Nagel, and Ines Gubsch. 2015. Exploiting repeated structures and vectorization in modelica. In Proceedings of the 11th International Modelica Conference. Linköping University Electronic Press, 265–272.
[25]
Gerald Schweiger, Henrik Nilsson, Josef Schoeggl, Wolfgang Birk, and Alfred Posch. 2020. Modeling and simulation of large-scale systems: A systematic comparison of modeling paradigms. Applied Mathematics and Computation 365 (2020), 124713.
[26]
Jeremy Siek, Andrew Lumsdaine, and Lie-Quan Lee. 2002. The Boost Graph Library: User Guide and Reference Manual. Addison-Wesley.
[27]
Robert Tarjan. 1972. Depth-first search and linear graph algorithms. SIAM Journal on Computing 1, 2 (1972), 146–160.
[28]
Pablo Zimmermann, Joaquín Fernández, and Ernesto Kofman. 2019. Set-based graph methods for fast equation sorting in large DAE systems. In Proceedings of the 9th International Workshop on Equation-based Object-oriented Modeling Languages and Tools. 45–54.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Mathematical Software
ACM Transactions on Mathematical Software  Volume 50, Issue 3
September 2024
129 pages
EISSN:1557-7295
DOI:10.1145/3613616
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 October 2024
Online AM: 28 June 2024
Accepted: 25 May 2024
Revised: 07 May 2024
Received: 14 June 2023
Published in TOMS Volume 50, Issue 3

Check for updates

Author Tags

  1. Large scale models
  2. set-based graphs
  3. matching
  4. modelica

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 124
    Total Downloads
  • Downloads (Last 12 months)124
  • Downloads (Last 6 weeks)24
Reflects downloads up to 24 Dec 2024

Other Metrics

Citations

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Full Text

View this article in Full Text.

Full Text

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media