gpt4 book ai didi

python - 鸭嘴兽的不同类型的客观定义

转载 作者:行者123 更新时间:2023-12-01 09:33:48 24 4
gpt4 key购买 nike

我正在尝试使用 platypus 和 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,我应该如何定义问题以及正确的方法是什么。

最佳答案

在这些示例中,我们假设目标被最小化。 Platypus 非常灵活,允许通过设置 Directions 属性来更改每个目标的优化方向。例如:

problem.directions[:] = Problem.MAXIMIZE

所以正确的方法如下:

from platypus import NSGAII, Problem, Real

def schaffer(x):
return [x[0]**2, (x[0]-2)**2]

problem = Problem(1, 2)
problem.directions[0] = Problem.MAXIMIZE
problem.directions[1] = Problem.MINIMIZE
problem.types[:] = Real(-10, 10)
problem.function = schaffer

algorithm = NSGAII(problem)
algorithm.run(10000)
for solution in algorithm.result:
print(solution.objectives)

关于python - 鸭嘴兽的不同类型的客观定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49718012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com