遗传算法解混合流水车间调度问题(注释很多)JavaScript (3)

在上一步中,我们计算了每个个体的时间,作为适应度。接下来的评分,选择就很方便了。排个序,选最大的几个就好,这就变成了一个简单的排序算法。根据题意,这里使用 “选择排序” 较为合理。

var SUVIVAL_SIZE = 5; // 模拟自然选择,留下最优的n支幸存下来 // 按照评估分数排序(选择排序法),找到前n个, n为幸存的数目,幸存的数目是我们定义的常量 for(var j=0; j<SUVIVAL_SIZE; j++){ for(var k=j; k<POOR_SIZE; k++){ if(scores[j]>scores[k]){ // 交换分数 var t1 = scores[j]; scores[j] = scores[k]; scores[k] = t1; // 交换poor里的内容 var t2 = poor[j]; poor[j] = poor[k]; poor[k] = t2; } } }
6、交叉

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgyssg.html