Detailseite
Projekt Druckansicht

MAiNGO – McCormick-basierter Algorithmus für gemischt ganzzahlig nichtlinearer Optimierung

Fachliche Zuordnung Automatisierungstechnik, Mechatronik, Regelungssysteme, Intelligente Technische Systeme, Robotik
Mathematik
Softwaretechnik und Programmiersprachen
Förderung Förderung von 2021 bis 2023
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 442664501
 
Erstellungsjahr 2024

Zusammenfassung der Projektergebnisse

Das Ziel dieses Projekt war die Bereitstellung und Entwicklung einer neuartigen und zuverlässigen open-source Software für die deterministisch globale Optimierung von gemischt ganzzahligen nichtlinearen Optimierungsproblemen. Eine erste Version von MAiNGO war bereits am Lehrstuhl für Systemverfahrenstechnik der RWTH Aachen University mit dem Ziel einer open-source Publikation entwickelt worden. Im Gegensatz zu den meisten deterministisch globalen state-of-the-art Lösern erhöht MAiNGO nicht die Dimensionalität des benutzerdefinierten Optimierungsproblems bei der Berechnung von Grenzen im Branch-and-Bound-Algorithmus. Dies wird durch Anwendung von den sogenannten McCormick Relaxierungen ermöglicht. Die McCormick Relaxierungen werden mit Hilfe der open-source Bibliothek MC++ berechnet. MAiNGO verfügt außerdem über eine spezialisierte Heuristik zur Verbesserung von McCormick Relaxierungen und spezialisierte Relaxierungen für verschiedene Funktionen einschließlich relevanten Funktionen in der Verfahrenstechnik und maschinellem Lernen. Wir haben bereits gezeigt, dass MAiNGO große Vorteile bei Problemen mit einer reduced-space Formulierung aufweist. Reduced-space Formulierungen können zum Beispiel in der Fließbildoptimierung oder datengetriebener Optimierung mit künstlichen neuronalen Netzwerken verwendet werden. In diesem Projekt wurde die prototypische Implementierung von MAiNGO verbessert, um eine kontinuierliche Entwicklung, Anpassung und Nutzung durch die Forschungsgemeinschaft zu ermöglichen. Insbesondere wurde die Dokumentation des Codes verbessert, und es wurden umfangreichere Tests hinzugefügt sowie über GitLab „Continuous Integration/Continuous Development“ tool automatisiert. Die Software wurde außerdem auf bereits veröffentlichten Benchmarks getestet, um weitere Fehlersuche und Leistungsverbesserungen zu ermöglichen. Schließlich wurden Schnittstellen hinzugefügt, um MAiNGO zusätzlich zur ursprünglichen Schnittstelle in C++, auch aus C, Python und Julia aufrufen zu können, und um die Verwendung in den Modellierungsumgebungen JuMP und PYOMO zu ermöglichen.

 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung