我正在尝试编写古应力反演的遗传算法程序,即从我想要计算应力张量的给定数据集中得到。(最小化问题)
我已经生成了一个用于测试的合成数据集,但它没有给我预期的结果。
我的适应值在少数初始迭代中很快收敛,但在一段时间后变平,并且不能给出低于该值的适应度。
理想的健身~10 ^( - 6) 我得到的健身~0.015
此外,我注意到我使用的数据总体(人口规模= 20),其中大多数在几百次迭代后采用相同的值,即20个中的大约15个值是相同的,所以我猜交叉会停止产生新的后代。
GA的物流是 - 人口规模20 迭代次数1000 单点交叉 比赛选择 突变概率= 1 /否。比特
我在matlab上进行了编程
答案 0 :(得分:1)
嗯,这恰好与GAs有关。它被称为premature convergence。
我要在你的情况下尝试的第一件事就是大幅增加人口规模,例如: 500个人。这么小的人口很可能变得同质化。然后我会调整参数(交叉和变异的probs)。如果这些东西不能很好地运作,你可以尝试其他技术,如健身共享和拥挤。