Skip to main content
Log in

A graph-based modeling abstraction for optimization: concepts and implementation in Plasmo.jl

  • Full Length Paper
  • Published:
Mathematical Programming Computation Aims and scope Submit manuscript

Abstract

We present a general graph-based modeling abstraction for optimization that we call an OptiGraph. Under this abstraction, any optimization problem is treated as a hierarchical hypergraph in which nodes represent optimization subproblems and edges represent connectivity between such subproblems. The abstraction enables the modular construction of complex models in an intuitive manner, facilitates the use of graph analysis tools (to perform partitioning, aggregation, and visualization tasks), and facilitates communication of structures to decomposition algorithms. We provide an open-source implementation of the abstraction in the Julia-based package Plasmo.jl. We provide tutorial examples and large application case studies to illustrate the capabilities.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

Data Availability Statement

The most recent code and data required to run the case studies is available at https://github.com/plasmo-dev/PlasmoExamples. The original data used for this manuscript is at https://1194doi.org/10.5281/zenodo.6626409.

Code Availability

The full code is open source and is publicly available. Additional packages used in this manuscript are either open source or available for academic use. Specific references are included in this published article.

References

  1. Abhyankar, S., Brown, J., Constantinescu, E.M., Ghosh, D., Smith, B.F., Zhang, H.: Petsc/ts: A modern scalable ode/dae solver library. arXiv preprint arXiv:1806.01437 (2018)

  2. Allman, A., Tang, W., Daoutidis, P.: Towards a generic algorithm for identifying high-quality decompositions of optimization problems. In: Computer Aided Chemical Engineering (2018). https://doi.org/10.1016/B978-0-444-64241-7.50152-X

  3. Allman, A., Tang, W., Daoutidis, P.: Decode: a community-based algorithm for generating high-quality decompositions of optimization problems. Optim. Eng. (2019). https://doi.org/10.1007/s11081-019-09450-5

    Article  MathSciNet  MATH  Google Scholar 

  4. Babaeinejadsarookolaee, S., Birchfield, A., Christie, R.D., Coffrin, C., DeMarco, C., Diao, R., Ferris, M., Fliscounakis, S., Greene, S., Huang, R., Josz, C., Korab, R., Lesieutre, B., Maeght, J., Molzahn, D.K., Overbye, T.J., Panciatici, P., Park, B., Snodgrass, J., Zimmerman, R.: The power grid library for benchmarking ac optimal power flow algorithms. arXiv preprint arXiv:1908.02788 (2019)

  5. Bastian, M., Heymann, S., Jacomy, M.: Gephi: An open source software for exploring and manipulating networks. In: International AAAI Conference on Weblogs and Social Media (2009). http://www.aaai.org/ocs/index.php/ICWSM/09/paper/view/154

  6. Bergner, M., Caprara, A., Ceselli, A., Furini, F., Lübbecke, M.E., Malaguti, E., Traversi, E.: Automatic Dantzig-Wolfe reformulation of mixed integer programs. Math. Program. 149(1), 391–424 (2015). https://doi.org/10.1007/s10107-014-0761-5

    Article  MathSciNet  MATH  Google Scholar 

  7. Biel, M., Johansson, M.: Efficient stochastic programming in julia. INFORMS J. Comput. (2022). https://doi.org/10.1287/ijoc.2022.1158

    Article  MathSciNet  MATH  Google Scholar 

  8. Boyd, S., Parikh, N., Chu, E., Peleato, B., Eckstein, J.: Distributed optimization and statistical learning via the alternating direction method of multipliers. Found. Trends Mach. Learn. 3(1), 1–122 (2011). https://doi.org/10.1561/2200000016

    Article  MATH  Google Scholar 

  9. Bromberger, S., Fairbanks, J., other contributors: Juliagraphs/lightgraphs.jl: an optimized graphs package for the julia programming language (2017). https://doi.org/10.5281/zenodo.889971

  10. Brunaud, B.: Plasmo algorithms. https://github.com/bbrunaud/PlasmoAlgorithms.jl (2021)

  11. Brunaud, B., Grossmann, I.E.: Perspectives in multilevel decision-making in the process industry. Front. Eng. Manag. 4(3), 1–34 (2017). https://doi.org/10.15302/J-FEM-2017049

    Article  Google Scholar 

  12. Bynum, M.L., Castillo, A.R., Knueven, B., Siirola, J.D., Laird, C.D.: Decomposing optimization-based bounds tightening problems via graph partitioning. Tech. rep., Sandia National Lab.(SNL-NM), Albuquerque, NM (United States) (2019)

  13. Cao, Y., Fuentes-Cortes, L.F., Chen, S., Zavala, V.M.: Scalable modeling and solution of stochastic multiobjective optimization problems. Comput. Chem. Eng. 99, 185–197 (2017)

    Article  Google Scholar 

  14. Cao, Y., Zavala, V.M.: A scalable global optimization algorithm for stochastic nonlinear programs. J. Global Optim. 1–24 (2019)

  15. Çatalyürek, Ü., Aykanat, C.: PaToH (Partitioning Tool for Hypergraphs), pp. 1479–1487. Springer US, Boston (2011). https://doi.org/10.1007/978-0-387-09766-4_93

  16. Chiang, N.Y., Zavala, V.M.: Large-scale optimal control of interconnected natural gas and electrical transmission systems. Appl. Energy 168, 226–235 (2016). https://doi.org/10.1016/j.apenergy.2016.01.017

    Article  Google Scholar 

  17. Coffrin, C., Bent, R., Sundar, K., Ng, Y., Lubin, M.: Powermodels.jl: An open-source framework for exploring power flow formulations. In: 2018 Power Systems Computation Conference (PSCC), pp. 1–8 (2018). https://doi.org/10.23919/PSCC.2018.8442948

  18. Colombo, M., Grothey, A., Hogg, J., Woodsend, K., Gondzio, J.: A structure-conveying modelling language for mathematical and stochastic programming. Math. Program. Comput. (2009). https://doi.org/10.1007/s12532-009-0008-2

    Article  MathSciNet  MATH  Google Scholar 

  19. Conejo, A.J., Castillo, E., Mínguez, R., García-Bertrand, R.: Decomposition Techniques in Mathematical Programming: Engineering and Science Applications. Springer, Berlin (2006). https://doi.org/10.1007/3-540-27686-6

    Book  MATH  Google Scholar 

  20. Devine, K.D., Boman, E.G., Heaphy, R.T., Bisseling, R.H., Catalyurek, U.V.: Parallel hypergraph partitioning for scientific computing. In: 20th International Parallel and Distributed Processing Symposium, IPDPS 2006 (2006). https://doi.org/10.1109/IPDPS.2006.1639359

  21. Dowling, A.W., Biegler, L.T.: A framework for efficient large scale equation-oriented flowsheet optimization. Comput. Chem. Eng. 72, 3–20 (2015)

    Article  Google Scholar 

  22. Dunning, I., Huchette, J., Lubin, M.: Jump: a modeling language for mathematical optimization. SIAM Rev. 59(2), 295–320 (2017). https://doi.org/10.1137/15M1020575

    Article  MathSciNet  MATH  Google Scholar 

  23. Farina, F., Camisa, A., Testa, A., Notarnicola, I., Notarstefano, G.: Disropt: a python framework for distributed optimization. IFAC-PapersOnLine 53(2), 2666–2671 (2020)

    Article  Google Scholar 

  24. Ferris, M.C., Horn, J.D.: Partitioning mathematical programs for parallel solution. Math. Program. 80(1), 35–61 (1998). https://doi.org/10.1007/BF01582130

    Article  MathSciNet  MATH  Google Scholar 

  25. Fioretto, F., Pontelli, E., Yeoh, W.: Distributed constraint optimization problems and applications: a survey. J. Artif. Intell. Res. 61(1), 623–698 (2018)

    Article  MathSciNet  Google Scholar 

  26. Fisher, M.L.: An applications oriented guide to Lagrangian relaxation. Interfaces 15(2), 10–21 (1985)

    Article  Google Scholar 

  27. Fourer, R., Gay, D.M., Kernighan, B.: AMPL: A Mathematical Programming Language, pp. 150–151. Springer, Berlin (1989)

    Google Scholar 

  28. Frangioni, A., Iardella, N., Lobato, R.D.: The sms++ project. https://smspp.gitlab.io/ (2021)

  29. Frommer, A., Szyld, D.B.: An algebraic convergence theory for restricted additive schwarz methods using weighted max norms. SIAM J. Numer. Anal. 39(2), 463–479 (2002)

    Article  MathSciNet  Google Scholar 

  30. Gondzio, J., Grothey, A.: Parallel interior point solver for structured quadratic programs: application to financial planning problems. J. Ann. Oper. Res. 152(1), 319–339 (2006). https://doi.org/10.1007/s10479-006-0139-z

    Article  MathSciNet  MATH  Google Scholar 

  31. Gondzio, J., Sarkissian, R.: Parallel interior-point solver for structured linear programs. Math. Program. 96(3), 561–584 (2003)

    Article  MathSciNet  Google Scholar 

  32. Grossmann, I.E.: Advances in mathematical programming models for enterprise-wide optimization. Comput. Chem. Eng. 47, 2–18 (2012). https://doi.org/10.1016/j.compchemeng.2012.06.038

    Article  Google Scholar 

  33. Grossmann, I.E.: Global Optimization in Engineering Design, vol. 9. Springer, Berlin (2013)

    MATH  Google Scholar 

  34. Grothey, A., Qiang, F.: PSMG-A Parallel Structured Model Generator for Mathematical Programming. Workingpaper, Optimization Online (2014)

  35. Gupta, A., Karypis, G., Kumar, V.: Highly scalable parallel algorithms for sparse matrix factorization. IEEE Trans. Parallel Distrib. Syst. 8(5), 502–520 (1997). https://doi.org/10.1109/71.598277

    Article  Google Scholar 

  36. Hallac, D., Wong, C., Diamond, S., Sosic, R., Boyd, S., Leskovec, J.: SnapVX: a network-based convex optimization solver. J. Mach. Learn. Res. (2017). arXiv:1509.06397

  37. Hart, W.E., Laird, C.D., Watson, J.P., Woodruff, D.L., Hackebeil, G.A., Nicholson, B.L., Siirola, J.D.: Pyomo-Optimization Modeling in Python, vol. 67, 2nd edn. Springer, Berlin (2017)

    Book  Google Scholar 

  38. Heo, S., Rangarajan, S., Daoutidis, P., Jogwar, S.S.: Graph reduction of complex energy-integrated networks: process systems applications. AIChE J. (2014). https://doi.org/10.1002/aic.14341

    Article  Google Scholar 

  39. Hijazi, H., Wang, G., Coffrin, C.: Gravity: A mathematical modeling language for optimization and machine learning. Machine Learning Open Source Software Workshop at NeurIPS 2018 (2018)

  40. Hübner, J., Schmidt, M., Steinbach, M.C.: Optimization techniques for tree-structured nonlinear problems. Comput. Manag. Sci. (2020). https://doi.org/10.1007/s10287-020-00362-9

    Article  MathSciNet  MATH  Google Scholar 

  41. Huchette, J., Lubin, M., Petra, C.: Parallel algebraic modeling for stochastic optimization. In: Proceedings of HPTCDL 2014: 1st Workshop for High Performance Technical Computing in Dynamic Languages—Held in Conjunction with SC 2014: The International Conference for High Performance Computing, Networking, Storage and Analysis (2014). https://doi.org/10.1109/HPTCDL.2014.6

  42. Jalving, J., Abhyankar, S., Kim, K., Hereld, M., Zavala, V.M.: A graph-based computational framework for simulation and optimisation of coupled infrastructure networks. IET Gen. Transm. Distrib. 1–14 (2017). https://doi.org/10.1049/iet-gtd.2016.1582

  43. Jalving, J., Brunaud, B., Cao, Y.: plasmo-dev/plasmo.jl: v0.5.0 (2022). https://doi.org/10.5281/zenodo.6555065

  44. Jalving, J., Cao, Y., Zavala, V.M.: Graph-based modeling and simulation of complex systems. Comput. Chem. Eng. 125, 134–154 (2019). https://doi.org/10.1016/j.compchemeng.2019.03.009

    Article  Google Scholar 

  45. Jalving, J., Zavala, V.M.: An optimization-based state estimation framework for large-scale natural gas networks. Ind. Eng. Chem. Res. 57(17), 5966–5979 (2018). https://doi.org/10.1021/acs.iecr.7b04124

    Article  Google Scholar 

  46. Jiang, W., Qi, J., Yu, J.X., Huang, J., Zhang, R.: HyperX: a scalable hypergraph framework. IEEE Trans. Knowl. Data Eng. (2018). https://doi.org/10.1109/TKDE.2018.2848257

    Article  Google Scholar 

  47. Jogwar, S.S., Rangarajan, S., Daoutidis, P.: Reduction of complex energy-integrated process networks using graph theory. Comput. Chem. Eng. (2015). https://doi.org/10.1016/j.compchemeng.2015.04.025

    Article  Google Scholar 

  48. Kang, J., Cao, Y., Word, D.P., Laird, C.D.: An interior-point method for efficient solution of block-structured NLP problems using an implicit Schur-complement decomposition. Comput. Chem. Eng. (2014). https://doi.org/10.1016/j.compchemeng.2014.09.013

    Article  Google Scholar 

  49. Kang, J., Chiang, N., Laird, C.D., Zavala, V.M.: Nonlinear programming strategies on high-performance computers. In: 2015 IEEE 54th Annual Conference on Decision and Control (CDC), pp. 4612–4620. IEEE (2015)

  50. Kardoš, J., Kourounis, D., Schenk, O.: Structure-exploiting interior point methods. In: Parallel Algorithms in Computational Science and Engineering, pp. 63–93. Springer, Berlin (2020)

  51. Karypis, G., Kumar, V.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 20(1), 359–392 (1998). https://doi.org/10.1137/S1064827595287997

    Article  MathSciNet  MATH  Google Scholar 

  52. Karypis, G., Kumar, V.: Multilevel k-way hypergraph partitioning. In: Proceedings of the 36th Annual ACM/IEEE Design Automation Conference, DAC ’99, pp. 343–348. ACM, New York (1999). https://doi.org/10.1145/309847.309954

  53. Kim, K., Petra, C.G., Zavala, V.M.: An asynchronous bundle-trust-region method for dual decomposition of stochastic mixed-integer programming. SIAM J. Optim. 29(1), 318–342 (2019)

    Article  MathSciNet  Google Scholar 

  54. Kim, K., Zavala, V.M.: Algorithmic innovations and software for the dual decomposition method applied to stochastic mixed-integer programs. Math. Program. Comput. 10(2), 225–266 (2018). https://doi.org/10.1007/s12532-017-0128-z

    Article  MathSciNet  MATH  Google Scholar 

  55. Legat, B., Dowson, O., Dias Garcia, J., Lubin, M.: MathOptInterface: a data structure for mathematical optimization problems. INFORMS J. Comput. 34(2), 672–689 (2021). https://doi.org/10.1287/ijoc.2021.1067

    Article  MathSciNet  MATH  Google Scholar 

  56. Li, C., Grossman, I.: A generalized Benders decomposition-based branch and cut algorithm for two-stage stochastic programs with nonconvex constraints and mixed-binary first and second stage variables. J. Global Optim. 75, 247–272 (2019). https://doi.org/10.1007/s10898-019-00816-8

    Article  MathSciNet  MATH  Google Scholar 

  57. Linderoth, J., Wright, S.: Decomposition algorithms for stochastic programming on a computational grid. Comput. Optim. Appl. (2003). https://doi.org/10.1023/A:1021858008222

    Article  MathSciNet  MATH  Google Scholar 

  58. Lubin, M., Petra, C.G., Anitescu, M.: The parallel solution of dense saddle-point linear systems arising in stochastic programming. Optim. Methods Softw. 27, 845–864 (2012). https://doi.org/10.1080/10556788.2011.602976

    Article  MathSciNet  MATH  Google Scholar 

  59. Makhorin, A.: GNU Linear Programming Kit Version 4.32. http://www.gnu.org/software/glpk/glpk.html (2000–2012)

  60. Maravelias, C.T.: General framework and modeling approach classification for chemical production scheduling. AIChE J. 58, 1812–1828 (2012). https://doi.org/10.1002/aic.13801

    Article  Google Scholar 

  61. Mattsson, S.E., Elmqvist, H., Otter, M.: Physical system modeling with modelica. Control. Eng. Pract. 6(4), 501–510 (1998)

    Article  Google Scholar 

  62. Mayer, C., Mayer, R., Bhowmik, S., Epple, L., Rothermel, K.: Hype: Massive hypergraph partitioning with neighborhood expansion. In: 2018 IEEE International Conference on Big Data (Big Data) pp. 458–467 (2018)

  63. Moharir, M., Kang, L., Daoutidis, P., Almansoori, A.: Graph representation and decomposition of ODE/hyperbolic PDE systems. Comput. Chem. Eng. 106, 532–543 (2017). https://doi.org/10.1016/j.compchemeng.2017.07.005

    Article  Google Scholar 

  64. Nethercote, N., Stuckey, P.J., Becket, R., Brand, S., Duck, G.J., Tack, G.: Minizinc: Towards a standard cp modelling language. In: Bessière, C. (ed.) Principles and Practice of Constraint Programming—CP 2007, pp. 529–543. Springer, Berlin (2007)

    Chapter  Google Scholar 

  65. Newman, M.E.: Modularity and community structure in networks. Proc. Natl. Acad. Sci. USA(2006). https://doi.org/10.1073/pnas.0601602103

  66. Osiadacz, A.: Simulation of transient gas flows in networks. Int. J. Numer. Methods Fluids 4(1), 13–24 (1984). https://doi.org/10.1002/fld.1650040103

    Article  MATH  Google Scholar 

  67. Papa, D.A., Markov, I.L.: Hypergraph partitioning and clustering. In: Handbook of Approximation Algorithms and Metaheuristics (2007). https://doi.org/10.1201/9781420010749

  68. Pellegrini, F.: Distillating knowledge about scotch. In: Naumann, U., Schenk, O., Simon, H.D., Toledo, S. (eds.) Combinatorial Scientific Computing, no. 09061 in Dagstuhl Seminar Proceedings. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany, Dagstuhl, Germany (2009). http://drops.dagstuhl.de/opus/volltexte/2009/2091

  69. Rao, C.V., Wright, S.J., Rawlings, J.B.: Application of interior-point methods to model predictive control. J. Optim. Theory Appl. 99(3), 723–757 (1998)

    Article  MathSciNet  Google Scholar 

  70. Rawlings, J.B., Mayne, D.: Model Predictive Control: Theory and Design, 2nd edn. Nob Hill Publishing, Madison (2018)

    Google Scholar 

  71. Rehfeldt, D., Hobbie, H., Schönheit, D., Koch, T., Möst, D., Gleixner, A.: A massively parallel interior-point solver for LPS with generalized arrowhead structure, and applications to energy system models. Eur. J. Oper. Res. 296(1), 60–71 (2022). https://doi.org/10.1016/j.ejor.2021.06.063

    Article  MathSciNet  MATH  Google Scholar 

  72. Rodriguez, J.S., Laird, C.D., Zavala, V.M.: Scalable preconditioning of block-structured linear algebra systems using ADMM. Comput. Chem. Eng. 133, 106478 (2020). https://doi.org/10.1016/j.compchemeng.2019.06.003

    Article  Google Scholar 

  73. Sahinidis, N.V., Grossmann, I.E.: Convergence properties of generalized benders decomposition. Comput. Chem. Eng. (1991). https://doi.org/10.1016/0098-1354(91)85027-R

    Article  Google Scholar 

  74. Scattolini, R.: Architectures for distributed and hierarchical model predictive control—a review. J. Process Control 19(5), 723–731 (2009). https://doi.org/10.1016/j.jprocont.2009.02.003

    Article  Google Scholar 

  75. Schlag, S., Henne, V., Heuer, T., Meyerhenke, H., Sanders, P., Schulz, C.: k-way hypergraph partitioning via n-level recursive bisection. In: 18th Workshop on Algorithm Engineering and Experiments, (ALENEX 2016), pp. 53–67 (2016)

  76. Schloegel, K., Karypis, G., Kumar, V.: Graph Partitioning for High-Performance Scientific Simulations, pp. 491–541. Morgan Kaufmann Publishers Inc., San Francisco (2003)

    Google Scholar 

  77. Schulz, C., Bayer, S.K., Hess, C., Steiger, C., Teichmann, M., Jacob, J., Bernardes-lima, F., Hangu, R., Hayrapetyan, S.: Course notes: Graph partitioning and graph clustering in theory and practice. Institute for theoretical informatics Karlsruhe Institute of Technology (KIT) 20, 24–187 (2016)

    Google Scholar 

  78. Shin, S., Anitescu, M., Zavala, V.M.: Overlapping schwarz decomposition for constrained quadratic programs. In: 2020 59th IEEE Conference on Decision and Control (CDC), pp. 3004–3009. IEEE (2020)

  79. Shin, S., Coffrin, C., Sundar, K., Zavala, V.M.: Graph-based modeling and decomposition of energy infrastructures. arXiv preprint arXiv:2010.02404 (2020)

  80. Shin, S., Faulwasser, T., Zanon, M., Zavala, V.M.: A parallel decomposition scheme for solving long-horizon optimal control problems. In: 2019 IEEE 58th Conference on Decision and Control (CDC), pp. 5264–5271. IEEE (2019)

  81. Shin, S., Zavala, V.M.: Multi-grid schemes for multi-scale coordination of energy systems. In: Energy Markets and Responsive Grids, pp. 195–222. Springer, Berlin (2018)

  82. Shin, S., Zavala, V.M., Anitescu, M.: Decentralized schemes with overlap for solving graph-structured optimization problems. IEEE Trans. Control Netw. Syst. 7(3), 1225–1236 (2020)

    Article  MathSciNet  Google Scholar 

  83. Steinbach, M.C.: Tree-sparse convex programs. Math. Methods Oper. Res. 56(3), 347–376 (2003)

    Article  MathSciNet  Google Scholar 

  84. Sun, J., Tesfatsion, L.: Dc optimal power flow formulation and solution using quadprogj. Tech. rep. (2006)

  85. Tang, W., Allman, A., Pourkargar, D.B., Daoutidis, P.: Optimal decomposition for distributed optimization in nonlinear model predictive control through community detection. Comput. Chem. Eng. 111, 43–54 (2017). https://doi.org/10.1016/j.compchemeng.2017.12.010

    Article  Google Scholar 

  86. Tang, W., Daoutidis, P.: Network decomposition for distributed control through community detection in input-output bipartite graphs. J. Process Control 64, 7–14 (2018). https://doi.org/10.1016/j.jprocont.2018.01.009

    Article  Google Scholar 

  87. Van Hentenryck, P.: The OPL Optimization Programming Language. MIT Press, Cambridge (1999)

    Google Scholar 

  88. Wächter, A., Biegler, L.T.: On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Math. Program. 106(1), 25–57 (2006)

    Article  MathSciNet  Google Scholar 

  89. Wang, J., Ralphs, T.: Computational experience with hypergraph-based methods for automatic decomposition in discrete optimization. In: Gomes, C., Sellmann, M. (eds.) Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, pp. 394–402. Springer, Berlin (2013)

    Chapter  Google Scholar 

  90. Watson, J.P., Woodruff, D.L., Hart, W.E.: Pysp: modeling and solving stochastic programs in python. Math. Program. Comput. 4(2), 109–149 (2012)

    Article  MathSciNet  Google Scholar 

  91. Wilhelm, M.E., Stuber, M.D.: Eago.jl: easy advanced global optimization in julia. Optim. Methods Softw. (2020). https://doi.org/10.1080/10556788.2020.1786566

  92. Zavala, V.M.: Stochastic optimal control model for natural gas networks. Comput. Chem. Eng. 64, 103–113 (2014). https://doi.org/10.1016/j.compchemeng.2014.02.002

    Article  Google Scholar 

  93. Zavala, V.M.: New architectures for hierarchical predictive control. IFAC-PapersOnLine 49(7), 43–48 (2016). https://doi.org/10.1016/j.ifacol.2016.07.214

    Article  MathSciNet  Google Scholar 

  94. Zenios, S.A.: A distributed algorithm for convex network optimization problems. Parallel Comput. 6, 45–56 (1988)

    Article  MathSciNet  Google Scholar 

  95. Zenios, S.A., Pinar, M.: Parallel block-partitioning of truncated newton for nonlinear network optimization. SIAM J. Sci. Stat. Comput. 13, 1173–1193 (1992). https://doi.org/10.1137/0913068

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

The authors acknowledge Yankai Cao from the University of British Columbia for his work developing the original PIPS-NLP interface for Plasmo.jl. The authors also acknowledge Michel Schanen from Argonne National Laboratory for his assistance using and debugging PIPS-NLP as well as Kibaek Kim from Argonne National Laboratory for his help in the conceptualization of Plasmo.jl. The authors also wish to thank the associate editor and the three anonymous reviewers, whose insightful comments helped to improve the manuscript.

Funding

This material is based on work supported by the U.S. Department of Energy (DOE), Office of Science, under Contract No. DE-AC02-06CH11357 as well as the DOE Office of Electricity Delivery and Energy Reliability’s Advanced Grid Research and Development program (AGR &D). This work was also partially supported by the U.S. Department of Energy Grant DE-SC0014114. We also acknowledge partial support from the National Science Foundation under award NSF-EECS-1609183.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Victor M. Zavala.

Ethics declarations

Conflict of interest

The authors have no competing interests to declare that are relevant to the content of this article.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Jalving, J., Shin, S. & Zavala, V.M. A graph-based modeling abstraction for optimization: concepts and implementation in Plasmo.jl. Math. Prog. Comp. 14, 699–747 (2022). https://doi.org/10.1007/s12532-022-00223-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12532-022-00223-3

Keywords

Mathematics Subject Classification

Navigation