Project Details
Projekt Print View

MAiNGO – McCormick-based Algorithm for mixed-integer Nonlinear Global Optimization

Subject Area Automation, Mechatronics, Control Systems, Intelligent Technical Systems, Robotics
Mathematics
Software Engineering and Programming Languages
Term from 2021 to 2023
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 442664501
 
Final Report Year 2024

Final Report Abstract

The objective of this project was to develop and provide a reliable and novel open-source software for deterministic global optimization of mixed-integer nonlinear optimization problems. A first version of MAiNGO had already been developed at the chair for Process Systems Engineering (AVT.SVT) of RWTH Aachen University with the goal of an open-source publication. In contrast to most state-of-the-art deterministic global optimization solvers, MAiNGO does not increase the dimensionality of the user-defined optimization problem when computing bounds in the branch-and-bound algorithm. This is achieved through application of the so-called McCormick relaxations. The McCormick relaxations are constructed via the open-source package MC++. MAiNGO implements a specialized heuristic for improving the resulting McCormick relaxations and also specialized relaxations for specific intrinsic functions, including functions commonly found in the field of chemical engineering as well as machine learning. We have already shown that MAiNGO exhibits computational advantages for problems formulated in a reducedspace manner. Problems profiting from a reduced-space formulation can be found in flowsheet optimization or data-driven optimization with artificial neural networks. In this project, the prototype implementation of MAiNGO was improved to allow for continuous development, adaption, and use by the research community. In particular, the documentation of the code was improved, and more extensive collection of tests was added as well as automated via GitLab „Continuous Integration/Continuous Development“ tool. The software was also tested on previously published benchmarks for further debugging and performance improvements. Finally, interfaces were added to allow calling MAiNGO from C, Python, and Julia, in addition to the original interface in C++, as well as to allow use in the optimization modeling environments JuMP and PYOMO.

 
 

Additional Information

Textvergrößerung und Kontrastanpassung