(373c) GDPLib: An Open Library of Generalized Disjunctive Programming Problems and Solution Method Benchmarking
AIChE Annual Meeting
2024
2024 AIChE Annual Meeting
Computing and Systems Technology Division
10C: Interactive Session: Systems and Process Operations
Tuesday, October 29, 2024 - 3:30pm to 5:00pm
Two widely used methods for modeling that involve discrete decisions and enable the activation or deactivation of nonlinear constraints within the problem are Mixed-Integer Nonlinear Programming (MINLP) and Generalized Disjunctive Programming (GDP). It is common for optimization problems to be stated in the form of MINLP formulations, which encompass continuous and discrete variables. Unlike traditional mathematical programming formulations, GDP also accounts for logical variables linked to propositions and disjunctions. The representation of superstructure optimization problems becomes more intuitive with the GDP modeling framework. Besides, a custom-tailored solution algorithm can make use of the structure of this representation to solve these problems more efficiently. Reformulations, specifically the Big-M (BM) and Hull (HR), can be used to convert a GDP into MINLP, granting access to specialized codes and solvers that have been developed for MINLPs. Alternatively, direct logic-based optimization solver implementations exploit the logical structure of the models, i.e., logic-based outer approximation (LOA) and logic-based branch and bound (LBB).
This work presents GDPlib, a freely and seamlessly accessible library of GDP problems. With GDPlib, both novice and experienced modelers can access a wide array of GDP models for reference and utilize a common benchmarking platform for algorithm development. The GDPlib repository (https://github.com/SECQUOIA/gdplib) is built using Pyomo.GDP [3], a dedicated modeling extension that allows users to represent their problem as a GDP natively.
The GDPlib repository incorporates several instances implemented as Pyomo.GDP models, whose origin can be traced back mainly to MINLPs in the literature [4]. By using the Pyomo [5] algebraic modeling language, we can leverage a variety of automatic reformulations and solution algorithms for optimizing a given model. GDPopt [3], built on Pyomo.GDP provides modern implementations of the LOA and LBB decomposition algorithms. For LOA, GDPopt also implements the global optimization (GLOA) algorithm. We also apply logic-based solution approaches designed explicitly for GDP problems whose Boolean or integer variables follow an ordered structure, i.e., Logic-based Discrete-Steepest Descent Algorithm (LDâSDA) (https://github.com/SECQUOIA/dsda-gdp).
There are currently nine instances in the GDPlib library for the optimization of either process or unit superstructures (enumerated below) and smaller examples summing up more than 25 GDP problems related to process system engineering and superstructure optimization. These instances range from 6 to 31,968 continuous variables, 2 to 516 disjunctions, 0 to 5,040 integer variables, and 30 to 14927 constraints:
- Multi-period biofuel processing network. The objective is to determine the most cost-effective network layout (centralized versus distributed) and production distribution to meet market demands.
- Distillation column design problem to determine the optimal number of trays and feed stage.
- Hydrodealkylation of Toluene (HDA) process. The objective is to optimize the flowsheet structure and operating conditions for maximum total annualized profit. The HDA process involves four major operations. This ultimately leads to six structural choices or disjunctions in the superstructure.
- Kaibel distillation column, an intensified dividing wall column problem to determine the optimal minimum number of trays and the optimal location of side streams for the high purity separation of a quaternary mixture in a single column.
- Methanol synthesis process. The objective is to determine the optimal equipment configuration and operating conditions for converting syngas into methanol, with the aim of maximizing the profit. There are four major structural choices (four explicit disjunctions).
- Modular heat exchanger network synthesis (HENS), a set of two-stage heat exchanger network synthesis models with conventional or modular units. The HENS problem includes a total of four process streamsâ two hot and two coldâas well as utilities for steam and cooling water. The aim is to minimize the overall annualized cost.
- Modular Production Network, a multi-period production planning, allocation, and design problem involving modular facilities. The library includes five model variants concerning single or multiple markets and potential facility sites with time-variant demand (monthly and quarterly time periods).
- Stranded gas production network, a multiperiod optimization model to plan and design a modular processing network for converting stranded gas into gasoline using an intensified gas-to-liquids process. The objective is to determine the module purchases and allocations, transportation links, and production levels for a network of processing sites that maximize the profit.
- Synthesis gas production plant from methane, consisting of the optimization of combined synthesis gas reforming technologies. The superstructure includes seven reforming technologies for the syngas production and several auxiliary units for adjusting the final syngas composition to minimize the final total annual cost of the process.
To demonstrate the value of GDPlib to identify the best strategy for solving different model formulations, we benchmark the following solution strategies for solving the GDPlib instances:
- MINLP reformulation:
- BM
- HR
- Logic-based methods:
- LOA
- LBB
- GLOA
- LDâSDA
- Relaxation with Integer cuts
The solvers used for the MINLP optimization are SCIP, BARON, ANTIGONE, DICOPT, SBB, and KNITRO. We solve the NLP problems with KNITRO, BARON, and CONOPT. The GDP reformulations and algorithms are implemented in Pyomo.GDP and GDPopt.
The GDPlib library is intended to steer process designers towards adopting these modeling paradigms and to enable algorithm developers to utilize these examples as a benchmark for enhancing solution methods for these optimization problems. Our vision is to see an expansion of models incorporated into GDPLib, resulting in a more extensive resource for the communities of process design and optimization.
References
[1] F. Trespalacios and I. E. Grossmann, âReview of Mixed-Integer Nonlinear and Generalized Disjunctive Programming Methods,â Chemie Ing. Tech., vol. 86, no. 7, pp. 991â1012, Jul. 2014.
[2] E. D. Dolan and J. J. Moré, âBenchmarking optimization software with performance profiles,â Math. Program. Ser. B, vol. 91, no. 2, pp. 201â213, Jan. 2002.
[3] Q. Chen et al., âPyomo.GDP: an ecosystem for logic based modeling and optimization development,â Optim. Eng., vol. 23, pp. 607â642, Apr. 2022.
[4] D. E. Bernal, Y. Liu, M. L. Bynum, C. D. Laird, J. D. Siirola, and I. E. Grossmann, âAdvances in Generalized Disjunctive and Mixed- Integer Nonlinear Programming Algorithms and Software for Superstructure Optimization,â Comput. Aided Chem. Eng., vol. 49, pp. 1285â1290.
[5] W. E. Hart et al., Pyomo â Optimization Modeling in Python, Second Edi., vol. 67. in Springer Optimization and Its Applications, vol. 67. Cham: Springer International Publishing, 2017.