(236g) Comando: An Open-Source Python Package for Optimal Design and Operation of Energy Systems
AIChE Annual Meeting
2022
2022 Annual Meeting
Computing and Systems Technology Division
Software Tools and Implementations for Process Systems Engineering
Tuesday, November 15, 2022 - 9:48am to 10:06am
A common approach to address such challenging planning problems is via mathematical programming, see, e.g., [3, 4, 5, 6, 7], and particularly two-stage stochastic programming [8, 9, 10, 11, 12]. Existing software supporting the formulation of design and operation problems includes general-purpose algebraic modeling languages (AMLs), e.g., GAMS [13] or Pyomo [14], on the one hand, and specialized energy system modeling frameworks (ESMFs), e.g., OSeMOSYS [15] or oemof [16], on the other hand. While AMLs generally allow for a much broader range of problem formulations, ESMFs make use of modularity, allowing the representation of systems as aggregations of subsystems and elementary components, which enhances model maintainability and reusability. Frequently, however, existing ESMFs enforce (mixed-integer) linear programming formulations. While this choice enables the use of robust and established solvers to tackle large-scale problems, see, e.g., [17, 18, 19], it complicates the application of such ESMFs to technical system design and operation with relevant nonlinearities.
We present the Python package COMANDO [20], a framework for component-oriented modeling and optimization for nonlinear design and operation of integrated energy systems. In COMANDO, component models may contain nonlinearities, dynamics, and discrete decisions. Model equations are given in a symbolic form, powered either by the computer algebra system Sympy [21], or its C++ implementation, symengine [22], which enables the efficient creation of models with very large symbolic expressions, such as those resulting from hybrid mechanistic-data-driven modeling, e.g., [23, 24]. Based on the resulting models, optimization problems considering both design and operation are formulated. The symbolic description enables manipulations of the problem formulations, such as automated problem simplification via linearization, problem reformulations, or the derivation of subproblems for specialized solution algorithms. We demonstrate the applicability of COMANDO to a diverse range of applications from energy systems engineering, including the multi-objective optimization of an integrated energy system, and the design of a low-temperature district heating network.
References:
[1] E. N. Pistikopoulos. âUncertainty in process design and operationsâ. In: Comput. Chem. Eng. 19 (June 1995), pp. 553â563. doi: 10.1016/0098-1354(95)87094-6.
[2] C. A. Frangopoulos, M. Von Spakovsky, and E. Sciubba. âA Brief Review of Methods for the Design and Synthesis Optimization of Energy Systemsâ. In: Int. J. Thermodyn. 5 (2002), pp. 151â160. issn: 1301-9724.
[3] V. Andiappan. âState-Of-The-Art Review of Mathematical Optimisation Approaches for Synthesis of Energy Systemsâ. In: Process Integr. Optim. Sustain. 1.3 (Aug. 2017), pp. 165â188. doi: 10.1007/s41660-017-0013-2.
[4] C. A. Frangopoulos. âRecent developments and trends in optimization ofenergy systemsâ. In: Energy 164 (Dec. 2018), pp. 1011â1020. doi: 10.1016/j.energy.2018.08.218.
[5] S. A. Papoulias and I. E. Grossmann. âA structural optimization approach in process synthesisâI: Utility systemsâ. In: Comput. Chem. Eng. 7.6 (Jan.1983), pp. 695â706. doi: 10.1016/0098-1354(83)85022-4.
[6] A. Ghobeity and A. Mitsos. âOptimal Design and Operation of a Solar Energy Receiver and Storageâ. In: J. Sol. Energy Eng. 134.3 (Apr. 2012). doi: 10.1115/1.4006402.
[7] S. Gunasekaran, N. D. Mancini, and A. Mitsos. âOptimal design and operation of membrane-based oxy-combustion power plantsâ. In: Energy 70 (June 2014), pp. 338â354. doi: 10.1016/j.energy.2014.04.008.
[8] G. B. Dantzig. âLinear Programming under Uncertaintyâ. In: Manage. Sci. 1.3-4 (1955), pp. 197â206.
[9] J. R. Birge and F. Louveaux. Introduction to stochastic programming. Springer Science & Business Media, 2011.
[10] N. Chiang, C. G. Petra, and V. M. Zavala. âStructured nonconvex optimization of large-scale energy systems using PIPS-NLPâ. In: 2014 Power Systems Computation Conference. IEEE, Aug. 2014. doi: 10.1109/pscc.2014.7038374.
[11] X. Li and P. I. Barton. âOptimal design and operation of energy systems under uncertaintyâ. In: J. Process Control 30 (June 2015), pp. 1â9. doi: 10.1016/j.jprocont.2014.11.004.
[12] M. Yunt, B. Chachuat, A. Mitsos, et al. âDesigning man-portable power generation systems for varying power demandâ. In: AIChE J.54.5 (2008), pp. 1254â1269. doi: 10.1002/aic.11442.
[13] M. R. Bussieck and A. Meeraus. âGeneral algebraic modeling system (GAMS)â. In: Modeling languages in mathematical optimization. Springer,2004, pp. 137â157. doi: 10.1007/978-1-4613-0215-5_8.
[14] W. E. Hart, J.-P. Watson, and D. L. Woodruff. âPyomo: modeling and solving mathematical programs in Pythonâ. In: Math. Program. Comput. 3.3 (Aug. 2011), pp. 219â260. doi: 10.1007/s12532-011-0026-8.
[15] M. Howells, H. Rogner, N. Strachan, et al. âOSeMOSYS: the open source energy modeling system: an introduction to its ethos, structure and developmentâ. In: Energy Policy 39.10 (2011), pp. 5850â5870. doi: 10.1016/j.enpol.2011.06.033.
[16] S. Hilpert, C. Kaldemeyer, U. Krien, et al. âThe Open Energy Modelling Framework (oemof) - A new approach to facilitate open science in energy system modellingâ. In: Energy Strategy Rev. 22 (Nov. 2018), pp. 16â25. doi: 10.1016/j.esr.2018.07.001.
[17] D. Connolly, H. Lund, B. V. Mathiesen, et al. âA review of computer tools for analysing the integration of renewable energy into various energy systemsâ. In: Appl. Energy 87.4 (Apr. 2010), pp. 1059â1082. doi: 10.1016/j.apenergy.2009.09.026.
[18] S. Pfenninger, A. Hawkes, and J. Keirstead. âEnergy systems modeling for twenty-first century energy challengesâ. In: Renew. Sustain. Energy Rev. 33 (May 2014), pp. 74â86. doi: 10.1016/j.rser.2014.02.003.
[19] I. van Beuzekom, M. Gibescu, and J. G. Slootweg. âA review of multi-energy system planning and optimization tools for sustainable urban developmentâ. In: IEEE PowerTech. Eindhoven, The Netherlands: IEEE, June 2015, pp. 1â7. doi: 10.1109/ptc.2015.7232360.
[20] M. Langiu, D. Y. Shu, F. J. Baader, et al. âCOMANDO: A Next-Generation Open-Source Framework for Energy Systems Optimizationâ. In: Comput. Chem. Eng. (May 2021), p. 107366. doi: 10.1016/j.compchemeng.2021.107366. arXiv: 2102.02057 [math.OC].
[21] A. Meurer, C. P. Smith, M. Paprocki, et al. âSymPy: symbolic computing in Pythonâ. In: Peer J Comput. Sci. 3 (Jan. 2017), e103. doi: 10.7717/peerj-cs.103.
[22] O. ÄertÃk, D. L. Peterson, T. B. Rathnayake, et al. symengine 0.9.2. https://github.com/symengine/symengine (accessed April 01. 2022). 2019.
[23] A. M. Schweidtmann and A. Mitsos. âDeterministic Global Optimization with Artificial Neural Networks Embeddedâ. In: J. Optim. Theory Appl. 189 (Oct. 2018), pp. 925â948. doi: 10.1007/s10957-018-1396-0.
[24] W. R. Huster, A. M. Schweidtmann, and A. Mitsos. âHybrid Mechanistic Data-Driven Modeling for the Deterministic Global Optimization of a Transcritical Organic Rankine Cycleâ. In: Comput. Aided Chem. Eng. Vol. 48. Elsevier, 2020, pp. 1765â1770. doi: 10.1016/b978-0-12-823377-1.50295-0.