[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