2

我正在用 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]])

但根据文档,'bounds' 参数是可选的。(还有下面的截图)在此处输入图像描述而且我真的不明白需要这个论点的意义。我真的不想提供这个论点,因为在大多数情况下,我真的不知道界限。

我在这里错过了什么吗?难道我做错了什么?

4

0 回答 0