问题描述
我的目标是应用GA找到最佳位置,以在2D平面中放置多个圆(等直径),以使两个圆都不比特定距离更近。我通过将适应度函数设置为-1来解决邻近约束,如果约束被打破,但问题不在于随机生成的初始总体中没有一个遵循邻近度约束,因此使所有成员的适应度都为-1。
通过谷歌搜索,我发现如果将飞机分离成具有间隙大小的网格,我将不会遇到这个问题,但是恐怕它将错过很多潜在的解决方案。是否有一种方法可以纳入邻近约束或应该使用网格?
解决方法
从随机约束解决方案开始,而不是随机约束。生成一个圆,然后找到下一个圆的可行空间,创建第二个圆,然后继续直到生成完整的一代。