作业调度问题java代码_Tabu Search求解作业车间调度问题(Job Shop Scheduling)-附Java代码...
本文來(lái)源于公眾號(hào)【程序猿聲】,作者舟寒丶
作業(yè)車間調(diào)度問題
問題模型
舉個(gè)栗子
有關(guān)禁忌搜索算法的內(nèi)容,公眾號(hào)內(nèi)有詳細(xì)教程:
大家可以點(diǎn)擊超鏈接回顧相關(guān)知識(shí),這里就不再細(xì)說(shuō)了。
一般而言,用禁忌搜索算法解決問題時(shí),需要注意的點(diǎn)無(wú)非就是以下幾個(gè):初始解的生成;禁忌對(duì)象的選擇;鄰域動(dòng)作算子的選擇。
我們簡(jiǎn)單介紹代碼中使用的算子:
代碼展示
代碼是github上的開源代碼,作者是Thiebout Dewitte。具體代碼比較長(zhǎng),講解需要花很長(zhǎng)的篇幅,但是注解比較詳細(xì),因此就不在此展示了。我們簡(jiǎn)單介紹一下輸入輸出,感興趣的朋友可以文末看到下載方式,自行下載研究。
輸入部分
輸入算例格式如下:
第一行為注釋部分,第二行數(shù)字分別為工件數(shù)、機(jī)器數(shù)。
輸出部分
運(yùn)行代碼時(shí),可以多種運(yùn)行方式:
在Main.java文件內(nèi)選擇所需運(yùn)行模式,算例設(shè)置也在同一文件中。
測(cè)試單一算例:使用opendeurdagKulak()方法。將測(cè)試算例路徑放入Main.java中:
測(cè)試算例附帶在代碼內(nèi)。
結(jié)果生成在編譯器內(nèi)部:
前三行按照機(jī)器順序排列,cost表示總耗時(shí),最后一行表示最長(zhǎng)耗時(shí)的加工順序。
測(cè)試多個(gè)算例,分別生成table1、2:
在上方輸入算例所在文件夾,下方輸入輸出部分文件名。
table輸出可放置在LaTeX環(huán)境中,在此就不展示了。
代碼下載
進(jìn)入公眾號(hào)輸入【JSPTS】不帶【】,即可下載對(duì)應(yīng)Java代碼。
總結(jié)
以上是生活随笔為你收集整理的作业调度问题java代码_Tabu Search求解作业车间调度问题(Job Shop Scheduling)-附Java代码...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 运行程序时java后面跟的是文件名对吗_
- 下一篇: java中io流如何创建一个文件_,Ja