我面临一个参数选择问题,我想使用遗传算法 (GA) 来解决这个问题。我应该从 3000 个可能的参数中选择不超过 4 个参数。使用二进制染色体表示似乎是一种自然的选择。评估函数惩罚过多的“选择”属性,如果属性的数量可以接受,则评估选择。
问题是在这些稀疏的条件下,遗传算法几乎无法改善人口。平均适应度成本和“最差”个体的适应度都不会在几代人中得到改善。我所看到的只是最好个人的分数略有(甚至很小)的提高,我想这是随机抽样的结果。
使用参数索引对问题进行编码也不起作用。这很可能是因为染色体是有方向的,而选择问题不是(即染色体 [1, 2, 3, 4]; [4, 3, 2, 1]; [3, 2, 4, 1] 等相同)
你会建议什么问题表示?
PS 如果这很重要,我使用PyEvolve。