OpenOpt

OpenOpt
OO NLP 1.png
OO bench 1.png

OpenOpt is an open-source framework for numerical optimization, nonlinear equations and systems of them. It is licensed under the BSD license, making it available to be used in both open- and closed-code software. The package already has some essential applications.

The framework interfaces with around ~30 different solvers for optimization problems, both free (e.g. IPOPT, Algencan, GLPK) and commercial (e.g. CPLEX). Some solvers are written in C or Fortran. Also there are some Python-written own ones, e.g.

  • ralg for medium-scaled nonlinear/nonsmooth problems (number of variables ~1500)
  • gsubg for large-scaled nonlinear/nonsmooth problems
  • interalg - can obtain optimum with guarantied precision and all solutions of nonlinear equations system
  • Multifactor analysis tool with easy and convenient GUI for experiment planning (in phisics, chemistry, biology etc)

OpenOpt-connected solvers can have any type of license, but are primarily open source and OSI-approved ones such as GPL, LGPL, and BSD.

Originally developed in MATLAB, OpenOpt is now developed in Python and has a single dependence: NumPy (numerical package for low-level matrix operations, well-known for Python language programmers, with some code written in C, Fortran languages and wrappers to BLAS, LAPACK, ACML, MKL etc). This makes OpenOpt easy to install and OS-independent.

If you have a model written in FuncDesigner (another software from OpenOpt developers), it can be optimized with first derivatives obtained via Automatic differentiation. Also, it can be used more like a language of mathematical formulas, possibly with recursive import of variables/formulas from other files.

Both OpenOpt and FuncDesigner can solve constrained large-scale problems involving sparse matrices.

Along with FuncDesigner, OpenOpt Suite also includes

  • DerApproximator - tool to get (or check user-supplied) derivatives via finite-difference approximation
  • SpaceFuncs - tool for 2D, 3D, N-dimensional geometric modeling with possibilities of parametrized calculations, numerical optimization and solving systems of geometrical equations

(OpenOpt, FuncDesigner, DerApproximator and SpaceFuncs are available for installation as standalone Python language modules, but some functionality will be missing).

You can try the modules on-line (without installation) via the SAGE-server (unfortunately, it often hangs due to high load).

Also OpenOpt website powers a numerical optimization forum.

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Linear programming — (LP, or linear optimization) is a mathematical method for determining a way to achieve the best outcome (such as maximum profit or lowest cost) in a given mathematical model for some list of requirements represented as linear relationships.… …   Wikipedia

  • List of interactive geometry software — Interactive geometry software (IGS, or dynamic geometry environments, DGEs) are computer programs which allow one to create and then manipulate geometric constructions, primarily in plane geometry. In most IGS, one starts construction by putting… …   Wikipedia

  • CPLEX — CPLEX  пакет программного обеспечения (решатель), предназначенный для решения задач линейного и квадратичного программирования, в том числе целочисленного программирования. Пакет получил свое название в честь симплекс метода, реализованного… …   Википедия

  • Стохастическая оптимизация — Стохастическая оптимизация  класс алгоритмов оптимизации, использующая случайность в процессе поиска оптимума. Случайность может проявляться в разных вещах. Алгоритмы стохастической оптимизации используются в случае, если целевая функция… …   Википедия

  • Optimization (mathematics) — In mathematics, the term optimization, or mathematical programming, refers to the study of problems in which one seeks to minimize or maximize a real function by systematically choosing the values of real or integer variables from within an… …   Wikipedia

  • Nonlinear system — Not to be confused with Non linear editing system. This article describes the use of the term nonlinearity in mathematics. For other meanings, see nonlinearity (disambiguation). In mathematics, a nonlinear system is one that does not satisfy the… …   Wikipedia

  • Numerical integration — consists of finding numerical approximations for the value S In numerical analysis, numerical integration constitutes a broad family of algorithms for calculating the numerical value of a definite integral, and by extension, the term is also… …   Wikipedia

  • Factor analysis — is a statistical method used to describe variability among observed, correlated variables in terms of a potentially lower number of unobserved, uncorrelated variables called factors. In other words, it is possible, for example, that variations in …   Wikipedia

  • SciPy — Infobox Software name = latest release version = 0.6.0 latest release date = Sept. 20, 2007 developer = community project sponsored and supported by Enthought operating system = Cross platform [http://www.scipy.org/Download (list)] genre =… …   Wikipedia

  • Curve fitting — best fit redirects here. For placing ( fitting ) variable sized objects in storage, see fragmentation (computer). Curve fitting is the process of constructing a curve, or mathematical function, that has the best fit to a series of data points,… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”