- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在使用 scipy.optimize.basinhopping 为约束创建字典时遇到问题。我能够让我的代码运行(没有约束),但答案没有意义,因为我需要强制执行一些约束。目前,我只是试图让一个约束起作用,但对于最终解决方案,我需要弄清楚如何实现多个约束。我现在的代码是:
x0 = [f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11]
args = arg1,arg2,arg3,arg4
def func(x,*args)
#Do some math
return result
#This is where I need help most
cons = {'type':'ineq','fun': lambda x: x[5]-x[4]}
minimizer_kwargs = {"method":"COBYLA","args":"args","constraints":"cons"}
ret = scipy.optimize.basinhopping(func,x0,minimizer_kwargs=minimizer_kwargs)
但在尝试运行时出现此错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 601, in runfile
execfile(filename, namespace)
File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 66, in execfile
exec(compile(scripttext, filename, 'exec'), glob, loc)
File "C:/Python27/Scripts/SpectralResearch/mainScripts/main.py", line 121, in <module>
ret = scipy.optimize.basinhopping(func,x0,minimizer_kwargs=minimizer_kwargs)
File "C:\Python27\lib\site-packages\scipy\optimize\_basinhopping.py", line 605, in basinhopping
accept_tests, disp=disp)
File "C:\Python27\lib\site-packages\scipy\optimize\_basinhopping.py", line 72, in __init__
minres = minimizer(self.x)
File "C:\Python27\lib\site-packages\scipy\optimize\_basinhopping.py", line 279, in __call__
return self.minimizer(self.func, x0, **self.kwargs)
File "C:\Python27\lib\site-packages\scipy\optimize\_minimize.py", line 432, in minimize
return _minimize_cobyla(fun, x0, args, constraints, **options)
File "C:\Python27\lib\site-packages\scipy\optimize\cobyla.py", line 218, in _minimize_cobyla
raise TypeError('Constraints must be defined using a '
TypeError: Constraints must be defined using a dictionary.
本质上,我需要强制执行某些变量大于其他变量的约束。我一直在查看文档([ 1 ]、[ 2 ])和文章,但没有找到任何有效的方法。知道我可能做错了什么吗?
最佳答案
minimizer_kwargs = {"method":"COBYLA","args":args,"constraints":cons}
您传递了字符串“args”和“cons”,而不是具有这些名称的变量。
关于python - 声明 basinhopping 优化的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31278026/
我在使用 scipy.optimize.basinhopping 为约束创建字典时遇到问题。我能够让我的代码运行(没有约束),但答案没有意义,因为我需要强制执行一些约束。目前,我只是试图让一个约束起作
我正在尝试使用 basinhopping 找到目标函数的全局最小值,但在大多数情况下它停留在局部最小值。我通读了 basinhopping 的文档, 并发现 interval 和 accept_tes
运行以下代码,在第 7 次打印出正在评估的参数 (x) 时,参数从大约 100 跳到 .01,尽管初始步长设置为 .1,间隔设置为 50。如何basinhopping 能够实现超过 stepsize
我正在使用 scipy.optimize.basinhopping 来最小化函数。这是我得到的: Out[96]: nfev: 162178 minimizati
我正在使用 scipy.optimize.basinhopping 寻找标量函数的最小值。我想知道是否可以禁用 scipy.optimize.basinhopping 的局部最小化部分?正如我们从下面
我对 scipy.optimize.basinhopping 中的“take_step”选项感到困惑: 根据online reference : The default step taking rou
我正在尝试使用 scipy basinhopping 优化函数的输出算法。 def acceptance_criteria(self,**kwargs): print "kwargs "
我尝试在 x=10 处将 scipy.optimize.basinhopping 与函数 b_log(x) 结合使用。我不明白下面“minimization_failures”的含义。谁能解释一下吗?
我在最小化 python 中的复杂非线性函数时遇到了麻烦。该函数实际上是用于拟合实验数据的拟合模型的卡方。为了获得全局最小值,我使用 scipy 中的 basshopping 函数。该函数是 mini
问题 根据SciPy docs ,函数 scipy.optimize.basinhopping(...) 返回一个 OptimizeResult 实例,它基本上是一个字典的包装器。我可以打印这个实例并
我是一名优秀的程序员,十分优秀!