我正在尝试编写此功能
min f(x) = { -x if x < = 1
x-2 if 1 < x <= 3
4-x if 3 < x <= 4
x-4 if 3 x > 4}
在python中使用这些包cma,pso(pyswarms)和ego(pySOT)。
import numpy as np
import cma
def h(x):
if x <= 1:
return -x
elif 1 < x <= 3 :
return x-2
elif 3 < x <= 4 :
return 4-x
else:
return x-4
x0 = np.array([100])
rescma = cma.fmin(h,x0, 0.1)
我收到此错误:ValueError:不支持1-D优化(代码从未测试过)
如果我尝试使用2-D 喜欢:
x0 = np.array([100,20])
我收到此错误:ValueError:具有多个元素的数组的真值是不明确的。使用a.any()或a.all()
你有任何想法解决这个问题吗?由于