我是面向对象编程和优化的新手,由于Platypus缺乏适当的文档,我不得不问这个问题。我试图在Platypus上使用NSGAII来实现翼型优化的最大化问题。我的初始人口是一个数组(比如[100 x 13])。我需要使用我的评估函数来评估数组的每一行 任何寻找有用文档或解决方案的线索都表示赞赏。 提前致谢。
答案 0 :(得分:0)
from platypus import Problem, Real, NSGAII
def objectiveFunction()
....
return result
problem = Problem(2, 1) # 2 is number of inputs 1 is number of objectives
problem.types[:] = Real(0, 10) # min and max initial guses
problem.function = objectiveFunction
problem.directions[:] = Problem.Maximize
algorithm = NSGAII(problem, 250) # 250 is the pupulation size
algorithm.run(500) # 500 is the number of function evaluation
result = algorithm.result
#to print the result
for ind, solution in enumerate(algorithm1.result):
print(ind+1, solution.objectives[0])
希望这会有所帮助