干货 | Tabu Search求解作业车间调度问题(Job Shop Scheduling)-附Java代码 - Go语言中文社区

干货 | Tabu Search求解作业车间调度问题(Job Shop Scheduling)-附Java代码


本文来源于公众号【程序猿声】,作者舟寒丶

作业车间调度问题

问题模型

举个栗子

有关禁忌搜索算法的内容,公众号内有详细教程:

干货 |【算法】禁忌搜索算法(Tabu Search,TS)超详细通俗解析附C++代码实例

干货 | 到底是什么算法,能让人们如此绝望?

禁忌搜索算法求解带时间窗的车辆路径规划问题详解(附Java代码)

大家可以点击超链接回顾相关知识,这里就不再细说了。

一般而言,用禁忌搜索算法解决问题时,需要注意的点无非就是以下几个:初始解的生成;禁忌对象的选择;邻域动作算子的选择。

我们简单介绍代码中使用的算子:

代码展示

代码是github上的开源代码,作者是Thiebout Dewitte。具体代码比较长,讲解需要花很长的篇幅,但是注解比较详细,因此就不在此展示了。我们简单介绍一下输入输出,感兴趣的朋友可以文末看到下载方式,自行下载研究。

输入部分

输入算例格式如下:

第一行为注释部分,第二行数字分别为工件数、机器数。

输出部分

运行代码时,可以多种运行方式:

在Main.java文件内选择所需运行模式,算例设置也在同一文件中。

测试单一算例:使用opendeurdagKulak()方法。将测试算例路径放入Main.java中:

测试算例附带在代码内。
结果生成在编译器内部:

前三行按照机器顺序排列,cost表示总耗时,最后一行表示最长耗时的加工顺序。

测试多个算例,分别生成table1、2:

在上方输入算例所在文件夹,下方输入输出部分文件名。
table输出可放置在LaTeX环境中,在此就不展示了。

代码下载

进入公众号输入【JSPTS】不带【】,即可下载对应Java代码。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Rivalsx/article/details/105447699
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢