问题描述
我正在用 Python 编写代码以进行优化。我正在使用 differential_evolution
库中提供的 scipy
算法。我在互联网资源的帮助下编写了以下代码:
from scipy.optimize import differential_evolution
from numpy import exp
from numpy import sqrt
from numpy import cos
from numpy import e
from numpy import pi
import math
def objective(v):
x,y = v
return -20.0 * exp(-0.2 * sqrt(0.5 * (x**2 + y**2))) - exp(0.5 * (cos(2 * pi * x) + cos(2 * pi * y))) + e + 20
result = differential_evolution(objective)
我收到错误:
Exception has occurred: TypeError
differential_evolution() missing 1 required positional argument: 'bounds'
当我尝试相同的代码时,它会起作用:
result = differential_evolution(objective,[[-5.0,5.0],[-5.0,5.0]])
但根据 documentation,'bounds' 参数是可选的。 (也是下面的截图) 而且我真的不明白需要那个参数的意义。我真的不想提供这个论点,因为在大多数情况下我真的不知道一个界限。
我在这里遗漏了什么吗?难道我做错了什么?请帮忙。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)