pith. sign in

arxiv: 2204.05264 · v1 · submitted 2022-04-11 · 🧮 math.OC

A Julia Framework for Graph-Structured Nonlinear Optimization

Pith reviewed 2026-05-24 11:23 UTC · model grok-4.3

classification 🧮 math.OC
keywords juliagraph optimizationnonlinear programmingplasmo.jlmadnlp.jlstochastic gas networklarge-scale optimization
0
0 comments X

The pith

A Julia framework integrates Plasmo.jl and MadNLP.jl to model and solve graph-structured nonlinear optimization problems.

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

This paper establishes a framework in Julia that combines the Plasmo.jl modeling package for assembling optimization components on graph nodes and edges with the MadNLP.jl solver designed to exploit that graph structure. The integration enables intuitive construction, manipulation, and efficient solution of nonlinear problems that have natural graph structure. Scalability is demonstrated on a stochastic gas network instance with more than 1.7 million variables. Readers interested in large-scale network optimization would care because the method turns graph representation into a computational advantage rather than just a modeling convenience.

Core claim

The framework integrates Plasmo.jl, which facilitates the construction and manipulation of graph models, and MadNLP.jl, which provides capabilities for exploiting graph structures to accelerate solution, with scalability shown on a stochastic gas network problem containing over 1.7 million variables.

What carries the argument

The integration between Plasmo.jl for graph-structured model construction and MadNLP.jl for graph-exploiting nonlinear optimization.

If this is right

  • Models are assembled by placing variables, constraints, and objectives on nodes and edges of a graph.
  • The graph representation allows the solver to accelerate nonlinear optimization.
  • The approach scales to problems with over 1.7 million variables as shown in the gas network case.

Where Pith is reading between the lines

These are editorial extensions of the paper, not claims the author makes directly.

  • Similar graph exploitation could benefit optimization in other domains like power systems or logistics.
  • Future work might test the framework on problems with different graph densities to identify best use cases.
  • The method opens the door to hybrid modeling where some parts use graph structure and others do not.

Load-bearing premise

That MadNLP.jl can effectively use the graph structure from Plasmo.jl to speed up the solution of large nonlinear problems.

What would settle it

Running the stochastic gas network problem without graph exploitation in MadNLP.jl and finding no difference in solution time or ability to solve it.

Figures

Figures reproduced from arXiv: 2204.05264 by David L Cole, Sungho Shin, Victor Zavala.

Figure 1
Figure 1. Figure 1: Visualization of the interaction of Plasmo.jl and MadNLP.jl. Plasmo.jl enables a generic optimization problem to be modeled as a graph-based model, which can then be partitioned and/or aggregated. The graph-based model from Plasmo.jl can be passed to the solver package MadNLP.jl. MadNLP.jl is an interior-point solver which exploits the problem structure that results from graph￾based modeling to parallelize… view at source ↗
Figure 2
Figure 2. Figure 2: Code Snippet setting parameters for the PID controller tuning problem [PITH_FULL_IMAGE:figures/full_fig_p011_2.png] view at source ↗
Figure 3
Figure 3. Figure 3: Code Snippet defining a PID controller problem formulated in [PITH_FULL_IMAGE:figures/full_fig_p011_3.png] view at source ↗
Figure 4
Figure 4. Figure 4: Code Snippet defining a PID controller problem formulated in [PITH_FULL_IMAGE:figures/full_fig_p012_4.png] view at source ↗
Figure 5
Figure 5. Figure 5: Visualization of the PID controller problem partitioned by scenario. Adjacency matrix (left) [PITH_FULL_IMAGE:figures/full_fig_p013_5.png] view at source ↗
Figure 6
Figure 6. Figure 6: Code Snippet for creating manual partition of an OptiGraph [PITH_FULL_IMAGE:figures/full_fig_p013_6.png] view at source ↗
Figure 7
Figure 7. Figure 7: Visualization of the PID controller problem partitioned by time. Adjacency matrix (left) [PITH_FULL_IMAGE:figures/full_fig_p014_7.png] view at source ↗
Figure 8
Figure 8. Figure 8: Visualization of a natural gas pipeline containing [PITH_FULL_IMAGE:figures/full_fig_p014_8.png] view at source ↗
Figure 9
Figure 9. Figure 9: Visualization of a single scenario of the stochastic gas network OptiGraph [PITH_FULL_IMAGE:figures/full_fig_p019_9.png] view at source ↗
Figure 10
Figure 10. Figure 10: Visualization of a stochastic gas network OptiGraph with four scenarios. The first-stage [PITH_FULL_IMAGE:figures/full_fig_p020_10.png] view at source ↗
Figure 11
Figure 11. Figure 11: Natural gas demand profiles in 10 different scenarios for a stochastic natural gas network [PITH_FULL_IMAGE:figures/full_fig_p021_11.png] view at source ↗
Figure 12
Figure 12. Figure 12: Linepack change over time for a stochastic natural gas network problem containing 11 [PITH_FULL_IMAGE:figures/full_fig_p023_12.png] view at source ↗
Figure 13
Figure 13. Figure 13: Compressor power policy for a stochastic natural gas network problem. The network [PITH_FULL_IMAGE:figures/full_fig_p024_13.png] view at source ↗
Figure 14
Figure 14. Figure 14: Total solution time per iteration (top) and linear solution time per iteration (bottom) with [PITH_FULL_IMAGE:figures/full_fig_p025_14.png] view at source ↗
read the original abstract

Graph theory provides a convenient framework for modeling and solving structured optimization problems. Under this framework, the modeler can arrange/assemble the components of an optimization model (variables, constraints, objective functions, and data) within nodes and edges of a graph, and this representation can be used to visualize, manipulate, and solve the problem. In this work, we present a ${\tt Julia}$ framework for modeling and solving graph-structured nonlinear optimization problems. Our framework integrates the modeling package ${\tt Plasmo.jl}$ (which facilitates the construction and manipulation of graph models) and the nonlinear optimization solver ${\tt MadNLP.jl}$ (which provides capabilities for exploiting graph structures to accelerate solution). We illustrate with a simple example how model construction and manipulation can be performed in an intuitive manner using ${\tt Plasmo.jl}$ and how the model structure can be exploited by ${\tt MadNLP.jl}$. We also demonstrate the scalability of the framework by targeting a large-scale, stochastic gas network problem that contains over 1.7 million variables.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, simulated authors' rebuttal, and a circularity audit. Tearing a paper down is the easy half of reading it; the pith above is the substance, this is the friction.

Referee Report

2 major / 1 minor

Summary. The manuscript presents a Julia framework integrating Plasmo.jl (for constructing and manipulating graph-structured nonlinear optimization models) with MadNLP.jl (for solving them by exploiting graph structure). It illustrates model construction with a simple example and demonstrates scalability on a stochastic gas network instance containing over 1.7 million variables.

Significance. If the claimed acceleration from graph-structure exploitation holds and is measurable, the framework would offer a practical, open-source tool for large-scale structured NLPs in applications such as energy systems and stochastic programming, lowering the barrier to using decomposition-aware solvers within the Julia ecosystem.

major comments (2)
  1. [Abstract / scalability demonstration] Abstract and scalability demonstration: the central claim that the Plasmo.jl + MadNLP.jl integration 'accelerate[s] solution' via graph exploitation is unsupported; the text reports only problem size (1.7 million variables) with no timing data, no comparison to an equivalent flattened model, and no ablation against MadNLP run without graph mode.
  2. [Framework integration description] The description of how Plasmo.jl assembles the graph and passes block structure to MadNLP.jl (e.g., via KKT factorization or decomposition) is absent; without this interface detail the acceleration mechanism remains an unverified assumption rather than a demonstrated capability.
minor comments (1)
  1. [Simple example] The simple example section would benefit from explicit code snippets showing node/edge variable and constraint declarations to make the modeling workflow reproducible.

Simulated Author's Rebuttal

2 responses · 0 unresolved

We thank the referee for the detailed and constructive report. The two major comments identify gaps in evidence and technical description that we agree require attention. We address each point below and will revise the manuscript accordingly.

read point-by-point responses
  1. Referee: [Abstract / scalability demonstration] Abstract and scalability demonstration: the central claim that the Plasmo.jl + MadNLP.jl integration 'accelerate[s] solution' via graph exploitation is unsupported; the text reports only problem size (1.7 million variables) with no timing data, no comparison to an equivalent flattened model, and no ablation against MadNLP run without graph mode.

    Authors: We agree that the current manuscript reports only the problem size in the scalability demonstration and does not include timing results, comparisons to a flattened formulation, or ablations with graph mode disabled. This leaves the acceleration claim without direct quantitative support. In the revision we will add wall-clock timings, a comparison against the equivalent flat NLP solved by MadNLP without graph exploitation, and (where feasible) an ablation study on the same instance. revision: yes

  2. Referee: [Framework integration description] The description of how Plasmo.jl assembles the graph and passes block structure to MadNLP.jl (e.g., via KKT factorization or decomposition) is absent; without this interface detail the acceleration mechanism remains an unverified assumption rather than a demonstrated capability.

    Authors: We acknowledge that the manuscript does not describe the concrete interface by which Plasmo.jl communicates the graph partitioning and block structure to MadNLP.jl. In the revised version we will add a dedicated subsection (or appendix) that specifies the data structures exchanged, the API calls used to enable graph-aware KKT factorization or decomposition within MadNLP, and any additional options passed to the solver. revision: yes

Circularity Check

0 steps flagged

No circularity: framework description with no derivations or fitted predictions

full rationale

The paper presents a software integration between Plasmo.jl and MadNLP.jl for graph-structured NLPs and demonstrates scalability via a single large solve (1.7M variables). No mathematical derivations, predictions, fitted parameters, or first-principles results are claimed. The central claim is an existence and capability statement about the framework, not a reduction of any output to its own inputs. No self-citation load-bearing steps, ansatzes, or renamings appear in the provided text. This matches the default expectation for non-derivational papers.

Axiom & Free-Parameter Ledger

0 free parameters · 0 axioms · 0 invented entities

No free parameters, axioms, or invented entities are introduced; the paper is a software framework description.

pith-pipeline@v0.9.0 · 5703 in / 948 out tokens · 22272 ms · 2026-05-24T11:23:52.133272+00:00 · methodology

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Reference graph

Works this paper leans on

40 extracted references · 40 canonical work pages · 3 internal anchors

  1. [1]

    Decode: a community-based algo- rithm for generating high-quality decompositions of optimization problems

    Andrew Allman, Wentao Tang, and Prodromos Daoutidis. Decode: a community-based algo- rithm for generating high-quality decompositions of optimization problems. Optimization and Engineering, 20(4):1067–1084, 2019

  2. [2]

    Qpschur: a dual, active-set, schur-complement method for large-scale and structured convex quadratic programming

    Roscoe A Bartlett and Lorenz T Biegler. Qpschur: a dual, active-set, schur-complement method for large-scale and structured convex quadratic programming. Optimization and Engineering , 7(1):5–32, 2006

  3. [3]

    Graph- based optimization modeling language: A tutorial

    Mathias Berger, Adrien Bolland, Bardhyl Miftari, Hatim Djelassi, and Damien Ernst. Graph- based optimization modeling language: A tutorial. 2021

  4. [4]

    Remote renewable hubs for carbon-neutral synthetic fuel production

    Mathias Berger, David Radu, Ghislain Detienne, Thierry Deschuyteneer, Aurore Richel, and Damien Ernst. Remote renewable hubs for carbon-neutral synthetic fuel production. arXiv preprint arXiv:2102.11375, 2021

  5. [5]

    Structured nonconvex optimization of large-scale energy systems using pips-nlp

    Naiyuan Chiang, Cosmin G Petra, and Victor M Zavala. Structured nonconvex optimization of large-scale energy systems using pips-nlp. In 2014 Power Systems Computation Conference , pages 1–7. IEEE, 2014

  6. [6]

    A structure-conveying modelling language for mathematical and stochastic programming

    Marco Colombo, Andreas Grothey, Jonathan Hogg, Kristian Woodsend, and Jacek Gondzio. A structure-conveying modelling language for mathematical and stochastic programming. Mathe- matical Programming Computation, 1(4):223–247, 2009

  7. [7]

    Decomposition of control and op- timization problems by network structure: Concepts, methods, and inspirations from biology

    Prodromos Daoutidis, Wentao Tang, and Andrew Allman. Decomposition of control and op- timization problems by network structure: Concepts, methods, and inspirations from biology. AIChE Journal, 65(10):e16708, 2019. 27 http://zavalab.engr.wisc.edu

  8. [8]

    Jump: A modeling language for mathematical optimization

    Iain Dunning, Joey Huchette, and Miles Lubin. Jump: A modeling language for mathematical optimization. SIAM Review, 59(2):295–320, 2017

  9. [9]

    An algebraic convergence theory for restricted additive schwarz methods using weighted max norms

    Andreas Frommer and Daniel B Szyld. An algebraic convergence theory for restricted additive schwarz methods using weighted max norms. SIAM journal on numerical analysis, 39(2):463–479, 2001

  10. [10]

    Exploiting structure in parallel implementation of interior point methods for optimization

    Jacek Gondzio and Andreas Grothey. Exploiting structure in parallel implementation of interior point methods for optimization. Computational Management Science , 6(2):135–160, 2009

  11. [11]

    Parallel interior-point solver for structured linear programs

    Jacek Gondzio and Robert Sarkissian. Parallel interior-point solver for structured linear programs. Mathematical Programming, 96(3):561–584, 2003

  12. [12]

    A structure conveying parallelizable modeling language for mathematical programming

    Andreas Grothey, Jonathan Hogg, Kristian Woodsend, Marco Colombo, and Jacek Gondzio. A structure conveying parallelizable modeling language for mathematical programming. In Parallel Scientific Computing and Optimization , pages 145–156. Springer, 2009

  13. [13]

    Pyomo-optimization modeling in python , volume 67

    William E Hart, Carl D Laird, Jean-Paul Watson, David L Woodruff, Gabriel A Hackebeil, Bethany L Nicholson, and John D Siirola. Pyomo-optimization modeling in python , volume 67. Springer, 2017

  14. [14]

    Pyomo: modeling and solving mathematical programs in python

    William E Hart, Jean-Paul Watson, and David L Woodruff. Pyomo: modeling and solving mathematical programs in python. Mathematical Programming Computation, 3(3):219–260, 2011

  15. [15]

    Graph-based modeling and simulation of complex systems

    Jordan Jalving, Yankai Cao, and Victor M Zavala. Graph-based modeling and simulation of complex systems. Computers & Chemical Engineering , 125:134–154, 2019

  16. [16]

    A Graph-Based Modeling Abstraction for Optimization: Concepts and Implementation in Plasmo.jl

    Jordan Jalving, Sungho Shin, and Victor M Zavala. A graph-based modeling abstraction for optimization: Concepts and implementation in plasmo. jl. arXiv preprint arXiv:2006.05378 , 2020

  17. [17]

    An optimization-based state estimation framework for large-scale natural gas networks

    Jordan Jalving and Victor M Zavala. An optimization-based state estimation framework for large-scale natural gas networks. Industrial & Engineering Chemistry Research , 57(17):5966– 5979, 2018

  18. [18]

    An interior-point method for efficient solution of block-structured nlp problems using an implicit schur-complement decomposition

    Jia Kang, Yankai Cao, Daniel P Word, and Carl D Laird. An interior-point method for efficient solution of block-structured nlp problems using an implicit schur-complement decomposition. Computers & Chemical Engineering , 71:563–573, 2014

  19. [19]

    A fast and high quality multilevel scheme for partitioning irregular graphs

    George Karypis and Vipin Kumar. A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM Journal on scientific Computing , 20(1):359–392, 1998

  20. [20]

    Large-scale nonlinear programming for multi-scenario opti- mization

    Carl D Laird and Lorenz T Biegler. Large-scale nonlinear programming for multi-scenario opti- mization. In Modeling, simulation and optimization of complex processes, pages 323–336. Springer, 2008. 28 http://zavalab.engr.wisc.edu

  21. [21]

    Parallel solution of large-scale dynamic optimization problems

    Carl D Laird, Angelica V Wong, and Johan Akesson. Parallel solution of large-scale dynamic optimization problems. In Computer Aided Chemical Engineering , volume 29, pages 813–817. Elsevier, 2011

  22. [22]

    Decomposition of integrated scheduling and dynamic optimization problems using community detection

    Ilias Mitrai and Prodromos Daoutidis. Decomposition of integrated scheduling and dynamic optimization problems using community detection. Journal of Process Control, 90:63–74, 2020

  23. [23]

    Efficient solution of enterprise-wide optimization prob- lems using nested stochastic blockmodeling

    Ilias Mitrai and Prodromos Daoutidis. Efficient solution of enterprise-wide optimization prob- lems using nested stochastic blockmodeling. Industrial & Engineering Chemistry Research , 60(40):14476–14494, 2021

  24. [24]

    Stochastic blockmodeling for learning the structure of optimization problems

    Ilias Mitrai, Wentao Tang, and Prodromos Daoutidis. Stochastic blockmodeling for learning the structure of optimization problems. AIChE Journal, page e17415, 2021

  25. [25]

    On the Convergence of Overlapping Schwarz Decomposition for Nonlinear Optimal Control

    Sen Na, Sungho Shin, Mihai Anitescu, and Victor M Zavala. Overlapping schwarz decomposition for nonlinear optimal control. arXiv preprint arXiv:2005.06674 , 2020

  26. [26]

    Application of interior-point methods to model predictive control

    Christopher V Rao, Stephen J Wright, and James B Rawlings. Application of interior-point methods to model predictive control. Journal of optimization theory and applications , 99(3):723– 757, 1998

  27. [27]

    Scalable preconditioning of block-structured linear algebra systems using admm

    Jose S Rodriguez, Carl D Laird, and Victor M Zavala. Scalable preconditioning of block-structured linear algebra systems using admm. Computers & Chemical Engineering , 133:106478, 2020

  28. [28]

    K-way hypergraph partitioning via n-level recursive bisection

    Sebastian Schlag, Vitali Henne, Tobias Heuer, Henning Meyerhenke, Peter Sanders, and Christian Schulz. K-way hypergraph partitioning via n-level recursive bisection. In 2016 Proceedings of the Eighteenth Workshop on Algorithm Engineering and Experiments (ALENEX) , pages 53–67. SIAM, 2016

  29. [29]

    Overlapping schwarz decomposition for constrained quadratic programs

    Sungho Shin, Mihai Anitescu, and Victor M Zavala. Overlapping schwarz decomposition for constrained quadratic programs. In 2020 59th IEEE Conference on Decision and Control (CDC) , pages 3004–3009. IEEE, 2020

  30. [30]

    Exponential Decay of Sensitivity in Graph-Structured Nonlinear Programs

    Sungho Shin, Mihai Anitescu, and Victor M Zavala. Exponential decay of sensitivity in graph- structured nonlinear programs. arXiv preprint arXiv:2101.03067 , 2021

  31. [31]

    Graph-based modeling and decomposition of energy infrastructures

    Sungho Shin, Carleton Coffrin, Kaarthik Sundar, and Victor M Zavala. Graph-based modeling and decomposition of energy infrastructures. IFAC-PapersOnLine, 54(3):693–698, 2021

  32. [32]

    Decentralized schemes with overlap for solving graph-structured optimization problems

    Sungho Shin, Victor M Zavala, and Mihai Anitescu. Decentralized schemes with overlap for solving graph-structured optimization problems. IEEE Transactions on Control of Network Systems , 7(3):1225–1236, 2020

  33. [33]

    Opti- mal decomposition for distributed optimization in nonlinear model predictive control through community detection

    Wentao Tang, Andrew Allman, Davood Babaei Pourkargar, and Prodromos Daoutidis. Opti- mal decomposition for distributed optimization in nonlinear model predictive control through community detection. Computers & Chemical Engineering , 111:43–54, 2018. 29 http://zavalab.engr.wisc.edu

  34. [34]

    On the implementation of an interior-point filter line- search algorithm for large-scale nonlinear programming

    Andreas W¨ achter and Lorenz T Biegler. On the implementation of an interior-point filter line- search algorithm for large-scale nonlinear programming. Mathematical programming, 106(1):25– 57, 2006

  35. [35]

    Parallel cyclic reduction decomposition for dynamic optimization problems

    Wei Wan, John P Eason, Bethany Nicholson, and Lorenz T Biegler. Parallel cyclic reduction decomposition for dynamic optimization problems. Computers & Chemical Engineering , 120:54– 69, 2019

  36. [36]

    Pysp: modeling and solving stochastic programs in python

    Jean-Paul Watson, David L Woodruff, and William E Hart. Pysp: modeling and solving stochastic programs in python. Mathematical Programming Computation, 4(2):109–149, 2012

  37. [37]

    Efficient parallel solution of large- scale nonlinear dynamic optimization problems

    Daniel P Word, Jia Kang, Johan Akesson, and Carl D Laird. Efficient parallel solution of large- scale nonlinear dynamic optimization problems. Computational Optimization and Applications , 59(3):667–688, 2014

  38. [38]

    A nested schur decomposition approach for multiperiod optimization of chemical processes

    Noriyuki Yoshio and Lorenz T Biegler. A nested schur decomposition approach for multiperiod optimization of chemical processes. Computers & Chemical Engineering , 155:107509, 2021

  39. [39]

    Interior-point decomposition approaches for parallel solution of large-scale nonlinear parameter estimation problems

    Victor M Zavala, Carl D Laird, and Lorenz T Biegler. Interior-point decomposition approaches for parallel solution of large-scale nonlinear parameter estimation problems. Chemical Engineering Science, 63(19):4834–4845, 2008

  40. [40]

    Exploiting modern computing architec- tures for efficient large-scale nonlinear programming

    Yu Zhu, Daniel Word, John Siirola, and Carl D Laird. Exploiting modern computing architec- tures for efficient large-scale nonlinear programming. In Computer Aided Chemical Engineering , volume 27, pages 783–788. Elsevier, 2009. 30