我正在尝试使用 skopt 中的 gp_minimize 实现优化。但是,我的目标函数需要一些对象来处理,类似于:
def objective(optimisation_parameters, trees):
trees.manipulate(optimisation_parameters)
trees.shake()
return trees.count_fallen_fruits()
def optimise():
trees = [tree.Tree() for _ in range(0,5)]
res = gp_minimize(objectiv,space,...,args = trees)
有没有(正确的)方法可以做到这一点?我有几个想法:
- 每次优化时读取树并将其存储在 pickle 文件中
- 定义树,使它们在目标函数的范围内
谢谢