[SciPy-user] scipy.optimize.anneal with multiple parameters
tim.leslie at gmail.com
Sun Mar 5 21:52:53 CST 2006
Before I dive too deeply into the internals of this code I thought I'd check
here to see what people know.
I'm trying to use simulated annealing to fit a quadratic to some data (I'll
be using a more complex function later, the quadratic is just to get me
started). I'm doing the following:
func = lambda p: sum(abs(dat - array([p*x*x + p*x + p for x in
print anneal(func,[0.001, 0.001, 0.001],full_output=1,upper=[3.0, 3.0, 3.0
],lower=[-3.0, -3.0, -3.0],feps=1e-6,maxiter=1000,schedule='fast')
timl at mercury:~/thesis/src% python fit.py
Traceback (most recent call last):
File "fit.py", line 17, in ?
print anneal(func,[0.001, 0.001, 0.001],full_output=1,upper=[3.0, 3.0,
3.0],lower=[-3.0, -3.0, -3.0],feps=1e-6,maxiter=1000,schedule='fast')
File "/usr/lib/python2.4/site-packages/scipy/optimize/anneal.py", line
215, in anneal
xnew = schedule.update_guess(x0)
File "/usr/lib/python2.4/site-packages/scipy/optimize/anneal.py", line 92,
xc = y*(self.upper - self.lower)
TypeError: unsupported operand type(s) for -: 'list' and 'list'
I stole the syntax from the __main__ section of anneal.py and modified it to
use a list of size 3, but I'm not sure if this is the correct way to do
multiple parameters, the docs leave plenty to the imagination
So, am I doing something wrong, in which case could someone show me the
light, or is anneal a bit broken, in which case I'm happy to dive in and
take a stab at fixing it.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the SciPy-user