[SciPy-user] [OpenOpt] lb issue
Emanuele Olivetti
emanuele at relativita.com
Sat Jun 28 09:46:50 EDT 2008
Dear all and dear Dmitrey,
I experience problems when setting lower bounds (lb) to
a non-linear problem. I have a simple bound for x: being
bigger than zero.
Here follows a simple example that shows the issue: even though
I set "lb=N.zeros(dimensions)", the "ralg" solver tries to compute
f() when x<0. Why?
----
import numpy as N
from scikits.openopt import NLP
size = 100
dimensions = 2
data = N.random.rand(size,dimensions)-0.5
def f(x):
global data
if (x<0).sum()>0:
print "WARNING! Lower bound exceeded, x =",x
pass
return N.dot(data**2,x.T)
x0 = N.ones(dimensions)
p = NLP(f,x0,lb=N.zeros(dimensions),ftol=1.0e-3)
p.solve("ralg")
print p.ff,p.xf
----
I'm wondering if I've understood correctly how to use
p.lb. Any explanation will be very appreciated.
Emanuele
P.S.: OpenOpt updated from SVN, NumPy v1.0.3 and SciPy v0.5.2
provided by Ubuntu Gutsy 7.10.
More information about the SciPy-User
mailing list