C/C++ Users Journal
An open graph visualization system and its applications to software engineering
Software—Practice & Experience - Special issue on discrete algorithm engineering
SNOPT: An SQP Algorithm for Large-Scale Constrained Optimization
SIAM Journal on Optimization
The complex-step derivative approximation
ACM Transactions on Mathematical Software (TOMS)
Evaluation of Methods for Multidisciplinary Design Optimization (MDO), Part II
Evaluation of Methods for Multidisciplinary Design Optimization (MDO), Part II
Python Essential Reference (3rd Edition) (Developer's Library)
Python Essential Reference (3rd Edition) (Developer's Library)
OPT++: An object-oriented toolkit for nonlinear optimization
ACM Transactions on Mathematical Software (TOMS)
Python Scripting for Computational Science
Python Scripting for Computational Science
A specification language for problem partitioning in decomposition-based design optimization
Structural and Multidisciplinary Optimization
pyOpt: a Python-based object-oriented framework for nonlinear constrained optimization
Structural and Multidisciplinary Optimization
Structural and Multidisciplinary Optimization
Hi-index | 0.00 |
We present pyMDO, an object-oriented framework that facilitates the usage and development of algorithms for multidisciplinary optimization (MDO). The resulting implementation of the MDO methods is efficient and portable. The main advantage of the proposed framework is that it is flexible, with a strong emphasis on object-oriented classes and operator overloading, and it is therefore useful for the rapid development and evaluation of new MDO methods. The top layer interface is programmed in Python and it allows for the layers below the interface to be programmed in C, C++, Fortran, and other languages. We describe an implementation of pyMDO and demonstrate that we can take advantage of object-oriented programming to obtain intuitive, easy-to-read, and easy-to-develop codes that are at the same time efficient. This allows developers to focus on the new algorithms they are developing and testing, rather than on implementation details. Examples demonstrate the user interface and the corresponding results show that the various MDO methods yield the correct solutions.