Geometry 基于遗传算法的二维形状优化

Geometry 基于遗传算法的二维形状优化,geometry,genetic-algorithm,evolutionary-algorithm,Geometry,Genetic Algorithm,Evolutionary Algorithm,我最近刚开始学习遗传算法,现在正试图在物理模拟的2D形状优化中实现它们。模拟为每个形状生成一个标量。(我想这有点像boxcar2d) 2D形状实际上是几个2D“子形状”的并集。每个子形状存储为角度/半径列表。然后将二维形状存储为子形状列表的列表。这是我现在用的染色剂 现在为了适应,我可能会使用模拟生成的标量。我的问题是,我应该如何进行选择和繁殖过程?比赛会更合适吗,还是我想把截断和比例选择结合起来使用?另外,你如何找到一个好的突变率/群体规模等 很抱歉有这么多问题,但请提前感谢。我真的不知道从哪

我最近刚开始学习遗传算法,现在正试图在物理模拟的2D形状优化中实现它们。模拟为每个形状生成一个标量。(我想这有点像boxcar2d)

2D形状实际上是几个2D“子形状”的并集。每个子形状存储为角度/半径列表。然后将二维形状存储为子形状列表的列表。这是我现在用的染色剂

现在为了适应,我可能会使用模拟生成的标量。我的问题是,我应该如何进行选择和繁殖过程?比赛会更合适吗,还是我想把截断和比例选择结合起来使用?另外,你如何找到一个好的突变率/群体规模等


很抱歉有这么多问题,但请提前感谢。我真的不知道从哪里开始。

在我看来,最好的方法是在进化过程中使用自适应复制策略:在最初的步骤(称之为“计算的第一阶段”)你可能会设置高突变概率,在这个阶段你应该找到足够好的解决方案。在算法的“第二阶段”,您可以每隔几步设置一次变异概率的降低-在这个阶段,您应该改进您的解决方案。但有时在我的实践中,我注意到在优化的第二阶段(当每个染色体都非常相似时),种群退化,这会极大地降低优化性能,因此我的解决方案是用高值变异随机扰动改进算法,这很有帮助

另外,我建议您阅读有关差分进化算法的内容。对我来说,它的性能比遗传算法快得多