Home
nlpy is a Python package
for numerical
optimization.
Its aim is to provide a toolbox for solving
linear
and
nonlinear programming
problems that is both easy to use and is extensible. It
is applicable to problems that are
smooth, have no derivatives, or have integer data.
nlpy combines the capabilities of the mature modeling
language AMPL with the high-quality numerical resources
and object-oriented power of the Python programming
language. This combination makes nlpy an excellent tool to
prototype and test optimization algorithms, and also as a
teaching aid for optimization.
nlpy can read optimization problems coded in the AMPL
modeling language. All aspects of the loaded
problem can be examined and the problem solved.
Individual objective and constraint functions, together
with their derivatives (if they exist) can be accessed
transparently through an object-oriented framework.
nlpy is extensible and new algorithms can be built by
assembling the supplied building blocks, or by creating
new building blocks. Existing
building blocks include procedures for solving symmetric
(possibly indefinite) linear systems with MA27 (a direct
solver) or ICFS (an iterative solver that uses a
limited-memory Cholesky preconditioner), a procedure for
solving preconditioned trust-region subproblems with
GLTR, and much more. Be sure to check the
examples for
more details.
nlpy is open-source
software distributed under the tems of the
GNU Lesser General Public License.
|