GA:如何得到一个完整的人口为一代
39视图(30天)
显示旧的评论
目前,我有一个遗传算法由以下行代码:
> >选择= optimoptions (@ga,“PopulationSize”PopulationSize,…
“MaxGenerations”MaxGenerations,“EliteCount”, 1…
“OutputFcns”@my_view,“PlotFcn”,@gaplotbestindiv);
> > [x, fval输出]= ga (@Costfunction 9 []、[] [], [],…
磅,乌兰巴托,@Constraints[1:5],选择)
ConstraintFunction,我想要运行一个外部模拟。更好的性能的外部模拟就好了先获得全套的一代。因此,我希望获得一个完整的人口为第一代的遗传算法用于外部模拟。
接受的答案
MathWorks支金宝app持团队
2021年4月21日
编辑:MathWorks支金宝app持团队
2021年4月21日
1)可以实现的一种方法是定义一个输出函数作为遗传算法的“OutputFcn”属性将返回人口的每个迭代算法。“OutputFcn”属性的更多信息和国家结构输入输出功能可以在下面的文档链接。
2)可以实现另一种方式是通过运行遗传算法与“MaxGenerations”属性设置为1。通过运行一代一代的遗传算法通过设置“MaxGenerations”1,你将能够获得一套人口对于第一代通过第五输出参数的遗传算法。输出参数将[x, fval ~、输出人口)。
从这里,人口可以种子另一个调用遗传算法通过“InitialPopulationMatrix”选项,可以作为参数传递给你的约束函数。第二个遗传算法的选择列表调用会看起来像这样:
> >选择= optimoptions (@ga,“PopulationSize”PopulationSize,…
“MaxGenerations”MaxGenerations,“EliteCount”, 1…
“OutputFcns”@my_view,“PlotFcn”@gaplotbestindiv,…
“InitialPopulationMatrix”、人口);
如果你只使用“OutputFcn”选项,你会对每一代执行动作。上述解决方案将确保只有额外处理的结果是第一人口集。需要注意的一件事是,随机生成的初始种群遗传算法。