我正在使用 scikit-opt 通过模拟退火来最小化函数。问题是变量的边界不起作用,即使我定义了边界,该方法也不会强制执行它们(似乎它使用的是默认值)。我对遗传算法做了同样的事情并且工作正常。有谁知道如何解决这一问题?
这是我为 SA 运行的代码:
l=[0,0]
u=[2,2]
sa = SA(func=fun, x0=[0, 0], lb=l,ub=u, T_max=400, T_min=100, L=1000, max_stay_counter=200)
best_x, best_y = sa.run()
print('best_x:', best_x, 'best_y', best_y)