【车间调度】混合禁忌搜索的遗传算法求解柔性作业车间调度问题(Java源码)

1.禁忌搜索(TS)

请看我的另一篇文章:
【车间调度】基于k-insertion的禁忌搜索算法求解经典FJSP问题(Java源码)

2.遗传算法(GA)

请看我的另一篇文章:
【车间调度】遗传算法求解经典FJSP问题(Java源码)

3.混合算法(HA)

其实就是在遗传算法每一代选择交叉变异之后,选择一些个体执行禁忌搜索算法,加快遗传算法的局部寻优能力。
完整代码请进入仓库查看(如果觉得有用的话,留下一个star吧~):

https://gitee.com/xcy-ghl/tradition_fjsp.git

https://gitee.com/xcy-ghl/tradition_fjsp.git

4.可视化及求解效果

参数设置为:种群500个,精英选择150个,交叉概率0.95,变异概率0.1,迭代300次,最大允许无更优解的代数5次,选择5%的个体执行禁忌搜索,禁忌搜索代数1000代,禁忌搜索局部搜索100次,禁忌表长度30。
(原文献中禁忌搜索会根据遗传算法的代数增大而开始执行,代数比较小的时候是不会执行的或者只对很少的个体执行。且禁忌搜索的参数也会随着遗传算法的代数而改变,这种参数设置才比较合理。这里我随便取了几个参数进行测试,这些参数是不合理的,仅供我测试算法正确性使用)
使用测试数据BRData进行测试:

算例名称计算结果(makespan)计算时间(ms)
MK014037468
MK022759223
MK0320486572
MK046085546
MK05173145644
MK0659349690
MK07141331084
MK08523201611
MK09307203091
MK10210378312

速度非常慢……禁忌搜索k-insertion实现太慢了。计算头长度和尾长度我用了dfs,然而使用bfs效率会更高。
可视化代码请见我的另一篇文章:
【车间调度】车间调度甘特图可视化(Java源码)

MK05的可视化:
在这里插入图片描述

  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值