[SciPy-user] fmin using spherical bounds
ElMickerino
elmickerino at hotmail.com
Thu May 21 11:19:15 EDT 2009
Hello Fellow SciPythonistas,
I have a seemingly simple task: minimize a function inside a (hyper)sphere
in parameter space. Unfortunately, I can't seem to make fmin_cobyla do what
I'd like it to do, and after reading some of the old messages posted to this
forum, it seems that fmin_cobyla will actually wander outside of the allowed
regions of parameter space as long as it smells a minimum there (with some
appropriate hand-waving).
The function I'd like to minimize is only defined in this hypersphere (well,
hyperellipsoid, but I do some linear algebra), so ideally I'd use something
like fmin_bounds to strictly limit where the search can occur, but it seems
that fmin_bounds can only handle rectangular bounds. fmin_cobyla seems to
be happy to simply ignore the constraints I give it (and yes, I've got print
statements that make it clear that it is wandering far, far outside of the
allowed region of parameter space). Is there a simple way to use
fmin_bounds with a bound of the form:
x^2 + y^2 + z^2 + .... <= 1.0 ?
or more generally:
transpose(x).M.x <= 1.0 where x is a column vector and M is a
positive definite matrix?
It seems very bizarre that fmin_cobyla is perfectly happy to wander very,
very far outside of where it should be.
Thanks very much,
Michael
--
View this message in context: http://www.nabble.com/fmin-using-spherical-bounds-tp23654947p23654947.html
Sent from the Scipy-User mailing list archive at Nabble.com.
More information about the SciPy-User
mailing list