|This article does not cite any references or sources. (October 2013)|
||A major contributor to this article appears to have a close connection with its subject. (October 2013)|
|This article may need to be rewritten entirely to comply with Wikipedia's quality standards. (March 2011)|
OpenOpt is a framework for numerical optimization, nonlinear equations and systems of them. Part of it is licensed under the open source BSD license, but it uses proprietary software for some of its functionality and its stochastic optimization add-on is proprietary as well. Originally developed in MATLAB, OpenOpt is now developed in Python, using NumPy for numerical work.
The framework interfaces with around ~30 different solvers for optimization problems, both free (e.g. IPOPT, Algencan, GLPK) and commercial (e.g. CPLEX, KNITRO, some MATLAB solvers). Some solvers are written in C or Fortran. Also there are some Python-written 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, can handle categorical variables, general logical constraints, multiobjective problems
OpenOpt also has
- Multifactor analysis tool with easy and convenient GUI for experiment planning (in physics, chemistry, biology etc.)
- Stochastic Programming
Models written in FuncDesigner (another software package by the same team of developers) 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