[Scipy-tickets] [SciPy] #1129: fmin_slsqp enhancement
SciPy Trac
scipy-tickets@scipy....
Thu Aug 5 12:04:39 CDT 2010
#1129: fmin_slsqp enhancement
----------------------------------------------------+-----------------------
Reporter: RobFalck | Owner: RobFalck
Type: enhancement | Status: new
Priority: normal | Milestone: 0.8.0
Component: scipy.optimize | Version: 0.7.0
Keywords: fmin_slsqp bounds Lagrange multipliers |
----------------------------------------------------+-----------------------
Comment(by stevenj):
The version of the SLSQP code in the NLopt library (http://ab-
initio.mit.edu/nlopt), which is callable from Python, has been modified to
support infinite bounds.
However, I should note that it is not as simple as setting the upper and
lower bounds to the maximum/minimum representable floating point constants
(or to floating-point infinities, for that matter). If you do that, the
linear system that SLSQP solves at each step quickly overflows to yield
infinite entries, and it ends up getting NaN values (when you solve a
linear system with infinite entries, the standard algorithms divide
infinity by infinity or subtract infinity from infinity at some point,
leading to a NaN). Instead, the correct thing to do is to check for
infinite bounds and remove the corresponding constraints from the linear
system (in subroutine LSQ). This is what NLopt does.
--
Ticket URL: <http://projects.scipy.org/scipy/ticket/1129#comment:1>
SciPy <http://www.scipy.org>
SciPy is open-source software for mathematics, science, and engineering.
More information about the Scipy-tickets
mailing list