嗨,我在尝试运行此程序时标题中出现错误:
from sympy import Symbol, solve
from openopt import NLP
from FuncDesigner import *
def testfunction(x):
fx=Symbol('fx')
fx=solve(fx-x*2,fx)[0]
#fx=eval(str(fx))
print fx
return fx
oovarx=oovar('oovarx')
f = oofun(testfunction, input=oovarx)
startPoint = {oovarx:999}
p = NLP(f, startPoint, maxTime = 8*60)
p.constraints = []
r = p.solve('ralg')
有谁能把这个错误说出来,或者更好地帮助我解决问题吗?在
我知道代码非常简单,但它简化了一个更大的问题。在
编辑1: 整个错误:
^{pr2}$如果我加上这句话
fx=eval(str(fx))
我得到这个错误:
------------------------- OpenOpt 0.5403 -------------------------
solver: ralg problem: unnamed type: NLP goal: minimum
iter objFunVal
0 1.998e+03
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 540, in runfile
execfile(filename, namespace)
File "/media/morten/Main Work/Biped revisited current version/NLPevalerrortest.py", line 34, in <module>
r = p.solve('ralg')
File "/usr/local/lib/python2.7/dist-packages/openopt-0.5403-py2.7.egg/openopt/kernel/baseProblem.py", line 248, in solve
return runProbSolver(self, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/openopt-0.5403-py2.7.egg/openopt/kernel/runProbSolver.py", line 288, in runProbSolver
solver(p)
File "/usr/local/lib/python2.7/dist-packages/openopt-0.5403-py2.7.egg/openopt/solvers/UkrOpt/ralg_oo.py", line 159, in __solver__
g = bestPoint._getDirection(self.approach)
File "/usr/local/lib/python2.7/dist-packages/openopt-0.5403-py2.7.egg/openopt/kernel/Point.py", line 634, in _getDirection
self.direction, self.dType = self.df(),'f'
File "/usr/local/lib/python2.7/dist-packages/openopt-0.5403-py2.7.egg/openopt/kernel/Point.py", line 44, in df
if not hasattr(self, '_df'): self._df = self.p.df(self.x)
File "/usr/local/lib/python2.7/dist-packages/openopt-0.5403-py2.7.egg/openopt/kernel/baseProblem.py", line 1016, in <lambda>
self.wrapped_1st_derivatives(x, ind, funcType, ignorePrev, useSparse))
File "/usr/local/lib/python2.7/dist-packages/openopt-0.5403-py2.7.egg/openopt/kernel/nonLinFuncs.py", line 381, in wrapped_1st_derivatives
derivatives = p.wrapped_func(x, ind, funcType, True, True)
File "/usr/local/lib/python2.7/dist-packages/openopt-0.5403-py2.7.egg/openopt/kernel/nonLinFuncs.py", line 217, in wrapped_func
rr = [fun(X) for fun in Funcs]
File "/usr/local/lib/python2.7/dist-packages/openopt-0.5403-py2.7.egg/openopt/kernel/nonLinFuncs.py", line 105, in <lambda>
funcs[i].D(x, fixedVars = p.fixedVars, useSparse=p.useSparse, fixedVarsScheduleID=p._FDVarsID, exactShape=True),
File "/usr/local/lib/python2.7/dist-packages/FuncDesigner-0.5402-py2.7.egg/FuncDesigner/ooFun.py", line 1166, in D
r = self._D(x, fixedVarsScheduleID, Vars, fixedVars, useSparse = useSparse)
File "/usr/local/lib/python2.7/dist-packages/FuncDesigner-0.5402-py2.7.egg/FuncDesigner/derivativeMisc.py", line 65, in _D
derivativeSelf = Self._getDerivativeSelf(x, fixedVarsScheduleID, Vars, fixedVars)
File "/usr/local/lib/python2.7/dist-packages/FuncDesigner-0.5402-py2.7.egg/FuncDesigner/derivativeMisc.py", line 285, in getDerivativeSelf
derivativeSelf = get_d1(Self.fun, Input, diffInt=Self.diffInt, stencil = Self.stencil, args=Self.args, pointVal = Self._getFuncCalcEngine(x), exactShape = True)
File "build/bdist.linux-x86_64/egg/DerApproximator/DerApproximator.py", line 112, in get_d1
AttributeError: 'float' object has no attribute 'ndim'
目前没有回答
相关问题 更多 >
编程相关推荐