我试图用鸭嘴兽和NSGA2算法来解决一个多目标优化问题。下面是一个实现的示例代码:
minimaize ( x^2 , (x-1)^2 ) for x in [-10,10]
from platypus import NSGAII, Problem, Real
def schaffer(x):
return [x[0]**2, (x[0]-2)**2]
problem = Problem(1, 2)
problem.types[:] = Real(-10, 10)
problem.function = schaffer
algorithm = NSGAII(problem)
algorithm.run(10000)
但我的问题是,如果我想最大化x^2,最小化(x-1)^2,我应该如何定义问题,以及正确的方法是什么。在
在这些例子中,我们假设目标被最小化。鸭嘴兽很灵活,可以通过设置方向属性来改变每个目标的优化方向。例如:
所以正确的方法是:
^{pr2}$相关问题 更多 >
编程相关推荐