1.一種基于布谷鳥(niǎo)搜索算法解決作業(yè)車(chē)間工藝瓶頸問(wèn)題,本發(fā)明涉及調(diào)度領(lǐng)域,具體地涉及用算法解決作業(yè)車(chē)間工藝瓶頸問(wèn)題,其特征是,包括如下步驟:
步驟1:識(shí)別瓶頸:瓶頸的識(shí)別方法如下:
步驟1.1:根據(jù)TOC原理判斷瓶頸資源
步驟1.2:當(dāng)需求超過(guò)能力時(shí),排隊(duì)最長(zhǎng)的機(jī)器就是瓶頸
步驟2:優(yōu)化瓶頸:利用改進(jìn)的布谷鳥(niǎo)搜索算法優(yōu)化車(chē)間瓶頸工藝加工的調(diào)度,具體流程如下:
步驟2.1:初始化瓶頸鳥(niǎo)窩數(shù)量n
步驟2.2:利用改進(jìn)的K_means算法對(duì)這些鳥(niǎo)窩進(jìn)行聚類(lèi),分出安全性和飛行時(shí)耗不同的鳥(niǎo)窩群體,具體方法如下:
1.初始化數(shù)據(jù)集:初始化鳥(niǎo)窩集
2.選擇初始解,隨機(jī)產(chǎn)生一組中心解,有k個(gè)中心
3.聚類(lèi),把安全性和飛行時(shí)耗時(shí)相近的鳥(niǎo)窩聚為一類(lèi),具體為:
(1)計(jì)算每個(gè)鳥(niǎo)窩的安全性和飛行時(shí)耗
(2)計(jì)算鳥(niǎo)窩相異度,相異度用鳥(niǎo)窩的安全性和飛行時(shí)耗刻畫(huà),在這里用作業(yè)車(chē)間工件工序的執(zhí)行時(shí)間刻畫(huà)
(3)如果則,第i個(gè)國(guó)家就聚到相應(yīng)的c中心一類(lèi)中
步驟2.3利用改進(jìn)的布谷鳥(niǎo)搜索算法在不同類(lèi)中進(jìn)行調(diào)度,具體如下:
(1)初始化算法基本參數(shù):設(shè)置鳥(niǎo)窩個(gè)數(shù)(工件數(shù)量)n,宿主發(fā)現(xiàn)外來(lái)鳥(niǎo)蛋的概率Pa(作業(yè)搶占概率),以及最大迭代次數(shù)MaxT或搜索精度
(2)初始化鳥(niǎo)窩位置(工件加工完成時(shí)間):根據(jù)加工時(shí)間長(zhǎng)短呈上升趨勢(shì)排列
(3)計(jì)算目標(biāo)函數(shù)值:按照編碼規(guī)則將鳥(niǎo)窩位置(完成時(shí)間)轉(zhuǎn)換為工序排列,計(jì)算各鳥(niǎo)窩位置對(duì)應(yīng)的目標(biāo)函數(shù)值,并獲得當(dāng)前最優(yōu)鳥(niǎo)窩位置
(4)更新鳥(niǎo)窩位置:開(kāi)始迭代,保留上代最優(yōu)鳥(niǎo)窩位置不變,更新鳥(niǎo)窩位置(即全局搜索),從而隨機(jī)產(chǎn)生下一代鳥(niǎo)窩,并評(píng)估位置更新后每個(gè)鳥(niǎo)窩的目標(biāo)函數(shù)值,記錄當(dāng)前最優(yōu)鳥(niǎo)窩位置
(5)更新最優(yōu)函數(shù)值:比較本次迭代和上一次迭代鳥(niǎo)窩位置的最優(yōu)值,如果新的最優(yōu)值小于原最優(yōu)值,則把新的最優(yōu)值賦予當(dāng)前最優(yōu)鳥(niǎo)窩位置的目標(biāo)函數(shù)值
(6)當(dāng)?shù)竭_(dá)最大搜索次數(shù)或滿(mǎn)足搜索精度時(shí)轉(zhuǎn)入步驟(7),否則,轉(zhuǎn)(3)進(jìn)行下一次搜索
(7)輸出最優(yōu)調(diào)度值和對(duì)應(yīng)的調(diào)度方案(染色體序列)
步驟3:如果所得解滿(mǎn)足要求或迭代次數(shù)達(dá)到一定值,轉(zhuǎn)步驟4,否則,以當(dāng)前各聚類(lèi)的平均飛行時(shí)耗作為中心,返回步驟2.2
步驟4:算法結(jié)束,輸出最優(yōu)調(diào)度方案。
2.根據(jù)權(quán)利要求1中所述的一種基于布谷鳥(niǎo)搜索算法解決作業(yè)車(chē)間工藝瓶頸問(wèn)題,其特征是,以上所述步驟2中的具體計(jì)算過(guò)程如下:
步驟2:優(yōu)化瓶頸:利用改進(jìn)的布谷鳥(niǎo)搜索算法優(yōu)化車(chē)間瓶頸工藝加工的調(diào)度,具體流程如下:
步驟2.1:初始化鳥(niǎo)窩數(shù)量n
步驟2.2:利用改進(jìn)的K_means算法對(duì)這些鳥(niǎo)窩進(jìn)行聚類(lèi),分出安全性和飛行時(shí)耗不同的鳥(niǎo)窩群體,具體方法如下:
1.初始化數(shù)據(jù)集:鳥(niǎo)窩集
2.選擇初始解,隨機(jī)產(chǎn)生一組中心解,有k個(gè)中心
3.聚類(lèi),把安全性和飛行時(shí)耗時(shí)相近的鳥(niǎo)窩聚為一類(lèi),具體為:
(1)計(jì)算每個(gè)鳥(niǎo)窩的安全性和飛行時(shí)耗,鳥(niǎo)窩安全性用隨機(jī)概率p表示,鳥(niǎo)窩飛行時(shí)耗用動(dòng)力學(xué)公式表示如下:
其中,為第i個(gè)鳥(niǎo)窩的飛行時(shí)耗,為第i個(gè)鳥(niǎo)窩與布谷鳥(niǎo)的距離,v 為布谷鳥(niǎo)的平均飛行速度
(2)計(jì)算鳥(niǎo)窩相異度,相異度用鳥(niǎo)窩的安全性和飛行時(shí)耗刻畫(huà),在這里用作業(yè)車(chē)間工件工序的執(zhí)行時(shí)間刻畫(huà),相異度:
式中,是常數(shù),此處定義
(3)如果則,第i個(gè)國(guó)家就聚到相應(yīng)的c中心一類(lèi)中
步驟2.3利用改進(jìn)的布谷鳥(niǎo)搜索算法在不同類(lèi)中進(jìn)行調(diào)度,具體如下:
(1)初始化算法基本參數(shù):設(shè)置鳥(niǎo)窩個(gè)數(shù)(工件數(shù)量)n,宿主發(fā)現(xiàn)外來(lái)鳥(niǎo)蛋的概率Pa(作業(yè)搶占概率),以及最大迭代次數(shù)MaxT或搜索精度
(2)初始化鳥(niǎo)窩位置(工件加工完成時(shí)間):根據(jù)加工時(shí)間長(zhǎng)短呈上升趨勢(shì)排列
(3)計(jì)算目標(biāo)函數(shù)值:按照編碼規(guī)則將鳥(niǎo)窩位置(完成時(shí)間)轉(zhuǎn)換為工序排列,計(jì)算各鳥(niǎo)窩位置對(duì)應(yīng)的目標(biāo)函數(shù)值,并獲得當(dāng)前最優(yōu)鳥(niǎo)窩位置,具體實(shí)現(xiàn)為:
其中,式(1)表示目標(biāo)函數(shù),即完成時(shí)間(Makespan);式(2)表示工藝約束條件決定的每個(gè)工件的操作的先后順序;式(3)表示加工每個(gè)工件的每臺(tái)機(jī)器的先后順序;式(4)表示完工時(shí)間變量約束條件;式(5)表示變量可能的取值大小,上述公式中所涉及的符號(hào)定義含義如下:分別為第o個(gè)訂單中的第i個(gè)工件在機(jī)器k上的完成時(shí)間點(diǎn)和加工時(shí)間長(zhǎng)度;M是一個(gè)足夠大的整數(shù);和分別為指示系數(shù)和指示變量,其含義為:
(4)更新鳥(niǎo)窩位置:開(kāi)始迭代,保留上代最優(yōu)鳥(niǎo)窩位置不變,更新鳥(niǎo)窩位置(即全局搜索),從而隨機(jī)產(chǎn)生下一代鳥(niǎo)窩,并評(píng)估位置更新后每個(gè)鳥(niǎo)窩的目標(biāo)函數(shù)值,記錄當(dāng)前最優(yōu)鳥(niǎo)窩位置,具體實(shí)施方案如下數(shù)學(xué)公式所示:
其中,表示第i只布谷鳥(niǎo)在第t代的鳥(niǎo)窩位置(在車(chē)間調(diào)度問(wèn)題中用表示),是步長(zhǎng)大小參數(shù),服從均勻分布,,參數(shù)S是隨機(jī)游動(dòng)的步長(zhǎng),計(jì)算公式如下:
其中,
在局部搜索時(shí)對(duì)每一鳥(niǎo)窩位置按條件進(jìn)行更新:用一個(gè)隨機(jī)數(shù)Ra作為鳥(niǎo)窩主人發(fā)現(xiàn)外來(lái)鳥(niǎo)蛋的概率并與Pa進(jìn)行比較,若Ra>Pa,則隨機(jī)改變鳥(niǎo)窩位置,否則保持原來(lái)位置不變,并計(jì)算位置移動(dòng)后每個(gè)鳥(niǎo)窩的目標(biāo)函數(shù)值,記錄當(dāng)前最優(yōu)鳥(niǎo)窩位置,用如下0-1規(guī)劃模型表示:
(5)更新最優(yōu)函數(shù)值:比較本次迭代和上一次迭代鳥(niǎo)窩位置的最優(yōu)值,如果新的最優(yōu)值小于原最優(yōu)值,則把新的最優(yōu)值賦予當(dāng)前最優(yōu)鳥(niǎo)窩位置的目標(biāo)函數(shù)值
(6)當(dāng)?shù)竭_(dá)最大搜索次數(shù)或滿(mǎn)足搜索精度時(shí)轉(zhuǎn)入步驟(7),否則,轉(zhuǎn)(3)進(jìn)行下一次搜索
(7)輸出最優(yōu)調(diào)度值和對(duì)應(yīng)的調(diào)度方案(染色體序列)。