用遗传算法求解有一定限制的作业调度
solve job scheduling with some restrictions by genetic algorithm
我是遗传算法新手
有很多资源教授如何实现遗传算法
还有很多例子,比如用二进制数或者数组作为基因序列,做选择和交叉得到下一代,没有任何限制下一代中哪个解是无效的(只能说一个适应度函数是是不是一个好的解决方案)
在job-scheduling问题中,如果有像"job2 cant be allocated until job1 is finished"这样的限制,如何保证初始随机解交叉或变异后的结果不服从上述限制?
例如,
M1[ |-----工作1-----| | ---- job3 ----|]
M2[ |----工作4----| |------工作2------|]
M3[ |--job5--||-----job6-----| ]
此处job2分配在job1之后
如果要生成下一代,如何保证job2在job1之后分配?
我会重视适应度函数的限制。错误顺序的不良适应值保留限制。
我是遗传算法新手
有很多资源教授如何实现遗传算法
还有很多例子,比如用二进制数或者数组作为基因序列,做选择和交叉得到下一代,没有任何限制下一代中哪个解是无效的(只能说一个适应度函数是是不是一个好的解决方案)
在job-scheduling问题中,如果有像"job2 cant be allocated until job1 is finished"这样的限制,如何保证初始随机解交叉或变异后的结果不服从上述限制?
例如,
M1[ |-----工作1-----| | ---- job3 ----|]
M2[ |----工作4----| |------工作2------|]
M3[ |--job5--||-----job6-----| ]
此处job2分配在job1之后
如果要生成下一代,如何保证job2在job1之后分配?
我会重视适应度函数的限制。错误顺序的不良适应值保留限制。