pyOpt: a Python-based object-oriented framework for nonlinear constrained optimization

pyOpt: a Python-based object-oriented framework for nonlinear constrained optimization
复制标题

DOI:
10.1007/s00158-011-0666-3
复制
发表时间:
2012-01-01
影响因子:
3.9
通讯作者:
Martins, Joaquim R. R. A.
Martins, Joaquim R. R. A.
中科院分区:
工程技术2区
文献类型:
--
作者:
Perez, Ruben E.;Jansen, Peter W.;Martins, Joaquim R. R. A.

文献摘要

被引文献

相似文献

我们提出了pyOpt,一个面向对象的框架,制定和解决非线性约束优化问题的高效,可重用和便携式的方式。该框架使用面向对象的概念,如类继承和运算符重载,以保持一个明显的分离的问题制定和优化方法来解决问题。这在一个灵活的环境中创建了一个通用的界面,从业者和开发人员都可以解决他们的优化问题,或者开发和基准测试他们自己的优化算法。该框架是用Python编程语言开发的,它允许轻松集成用Fortran、C、C++和其他语言编程的优化软件。pyOpt中集成了各种优化算法,可通过通用接口访问。我们解决了一些问题的复杂性不断增加,以证明如何制定一个给定的问题,使用这个框架,以及如何框架可以用于基准的各种优化算法。
We present pyOpt, an object-oriented framework for formulating and solving nonlinear constrained optimization problems in an efficient, reusable and portable manner. The framework uses object-oriented concepts, such as class inheritance and operator overloading, to maintain a distinct separation between the problem formulation and the optimization approach used to solve the problem. This creates a common interface in a flexible environment where both practitioners and developers alike can solve their optimization problems or develop and benchmark their own optimization algorithms. The framework is developed in the Python programming language, which allows for easy integration of optimization software programmed in Fortran, C, C+ +, and other languages. A variety of optimization algorithms are integrated in pyOpt and are accessible through the common interface. We solve a number of problems of increasing complexity to demonstrate how a given problem is formulated using this framework, and how the framework can be used to benchmark the various optimization algorithms.