首页 > 解决方案 > 在遗传算法中定义适应度函数

问题描述

我正在开发一个使用遗传算法来安排时间表的简单应用程序。我查看了各种示例,其中大多数似乎使用该算法在不同代数中达到初始指定解决方案,而不是基于约束的其他解决方案。

例如,在主类中:

FitnessFunction.setSolution("0001012002");

输出:

compile:
run:
Generation: 1 Fittest: 5
Generation: 2 Fittest: 6
Generation: 3 Fittest: 7
Generation: 4 Fittest: 9
Solution found!
Generation: 4
Genes:
0001012002

我知道我必须以某种方式声明适应度函数。例如,1 代表白班,2 代表夜班。我的问题是如何添加 2 可以跟随 1 但是 1 不能跟随 2 的约束?我是否必须用一系列约束替换初始指定的解决方案?以及在代码中会是什么样子?

任何帮助表示赞赏,谢谢!

标签: javaalgorithmfunctiongeneticfitness

解决方案


推荐阅读