王明偉 譚園園
摘要:針對無縫鋼管熱軋工序生產(chǎn)過程中訂單的多元化、設(shè)備產(chǎn)能的有限性及設(shè)備的高磨損性等因素,文章研究了考慮設(shè)備預(yù)防性維護的熱軋訂單計劃與調(diào)度問題,以最小化總余材長度和最大完工時間為優(yōu)化目標建立數(shù)學(xué)模型。結(jié)合問題特征設(shè)計了改進的人工蜂群(Artificial Bee Colony, ABC) 算法進行求解,對偵查蜂階段求解調(diào)度子問題的搜索策略進行改進,設(shè)計了考慮初始排序策略和局域優(yōu)化策略的啟發(fā)式算法?;趯嶋H生產(chǎn)數(shù)據(jù)生成不同規(guī)模實驗案例,實驗結(jié)果表明改進的ABC算法在目標值優(yōu)化效果上有顯著提高,驗證了算法的有效性。
關(guān)鍵詞:設(shè)備預(yù)防性維護;熱軋批量調(diào)度;訂單計劃;ABC算法
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2023)31-0118-04
開放科學(xué)(資源服務(wù))標識碼(OSID)
0 引言
我國是制造業(yè)大國,鋼鐵制造業(yè)是工業(yè)生產(chǎn)的支柱,生產(chǎn)過程的熱軋工序基于客戶訂單需求將板坯訂制成不同鋼材成品,其過程的計劃與調(diào)度問題是鋼鐵企業(yè)管理的重要問題之一[1]。合理的生產(chǎn)計劃和調(diào)度方案可有效提高生產(chǎn)效率。
近些年,學(xué)者對熱軋計劃問題和調(diào)度問題展開了廣泛研究。張浩等[2]研究了鋁錠熔煉生產(chǎn)的訂單組批問題,構(gòu)建特種鋁錠組爐優(yōu)化模型;李洪澤等[3]考慮軋輥更換產(chǎn)生設(shè)備調(diào)整時間問題,以最小化最大完工時間為目標對軋制單元進行排序;周登舉等[4]考慮加熱爐容量的有限性,構(gòu)建以最小化總完工時間、鋼坯駐爐時間和軋機待機時間為優(yōu)化目標的調(diào)度模型。但設(shè)備老化等因素會對實際生產(chǎn)造成影響,故本文對生產(chǎn)計劃與調(diào)度和設(shè)備維護活動集成優(yōu)化問題進行研究。
鋼廠的生產(chǎn)管理中根據(jù)設(shè)備維護開始時間是否固定,分為固定周期和柔性周期兩種維護方式,且柔性維護的靈活性與生產(chǎn)實際更符合。汪洋[5]研究了考慮機器調(diào)整時間的單機調(diào)度問題,通過決策檢修位置縮短或消除機器閑置時間。許紹云[6]考慮不同軋制單元間不可進行機器檢修的約束,構(gòu)造以最小化最大完工時間、機器調(diào)整成本和提前、拖期時間為目標的數(shù)學(xué)模型。
鑒于上述分析,本文考慮設(shè)備柔性預(yù)防性維護,針對計劃子問題,決策所有訂單中無縫鋼管在不同軋制單元內(nèi)的分配和同一軋制單元內(nèi)不同訂單無縫鋼管的加工順序;針對調(diào)度子問題,決策設(shè)備預(yù)防性維護的開始時間和軋制單元間的調(diào)度時刻表。
1 問題描述
考慮無縫鋼管的熱軋生產(chǎn)階段,因軋制單元計劃編制過程中產(chǎn)生余材浪費和軋制單元間的機器調(diào)整時間與預(yù)防性維護開始時間的不同而造成總完工時間延后問題,提出了考慮預(yù)防性維護的訂單計劃與調(diào)度優(yōu)化問題研究。熱軋階段抽象為單機環(huán)境,每一訂單包含多種外徑規(guī)格無縫鋼管,給定訂單內(nèi)鋼管信息和設(shè)備預(yù)防性維護周期,將軋制計劃和調(diào)度方案的制定分為兩步:1) 將訂單中的無縫鋼管按外徑規(guī)格進行組批,具有相同外徑規(guī)格的不同訂單的無縫鋼管為同一批次,以軋制單元長度的上限值為約束,生成多個軋制單元;2) 根據(jù)交貨期、調(diào)整時間等約束條件,通過對軋制單元的加工順序以及設(shè)備預(yù)防性維護的開始時間進行決策。本文以最小化總余材長度和最大完工時間為優(yōu)化目標。下面對問題進行詳細描述。
1.1 柔性設(shè)備預(yù)防性維護
本文預(yù)防性維護的柔性是指在時間窗[Dm, Cm]內(nèi)決策維護的開始和結(jié)束時間。m表示維護次數(shù),Dm和Cm表示第m次維護的最早開始和最晚結(jié)束時間,維護時間窗周期為t,維護時長T和時間窗長度TPM為固定常量。圖1為考慮柔性維護的調(diào)度計劃示意圖,前一次維護和下一次維護的完工時間之間的時間段為一個維護計劃周期。
1.2 機器調(diào)整時間
在無縫鋼管生產(chǎn)中,機器因加工多種規(guī)格鋼管需對設(shè)備孔型、機架類型以及相關(guān)設(shè)備參數(shù)等進行調(diào)整而產(chǎn)生機器調(diào)整時間。根據(jù)文獻[7]給出機器調(diào)整時間公式(1) ,其中Wh,h+1表示切換相鄰軋制單元間的機器調(diào)整時間,Oh表示軋制單元h中鋼管外徑, a, b為模型參數(shù), 依據(jù)實際情況進行設(shè)置。
[Wh,h+1=b+aOh+1-Oh]? ? ? (1)
2 問題建模
2.1 符號定義
為了便于模型的描述和建立,給出符號和變量的定義如下:
1) 索引與集合
j為鋼管索引號,j=1, 2, ..., J; i為訂單索引號,i=1, 2, ..., I; m為預(yù)防性維護索引號,m=1, 2, ..., M; h為軋制單元索引號,h=1, 2, ..., H,Ω為軋制單元集合。
2) 參數(shù)定義
oj為鋼管j外徑規(guī)格;Oh為軋制單元h中鋼管外徑規(guī)格;Ph為軋制單元h的加工時長;lij為訂單i中鋼管j的長度;di為訂單i的交付期;p為單位長度鋼管加工時長;Lmax為軋制單元長度上限;T為預(yù)防性維護時長;TPM為預(yù)防性維護時間窗長度;t為預(yù)防性維護時間窗周期;Z為一個無限大正數(shù);θij為若鋼管j屬于訂單i為1,否則為0。
3) 決策變量
sjh為軋制單元h中鋼管j的開始加工時間;Sh、Eh為軋制單元h的加工開始和完成時間;[SPMm、EPMm]為第m次預(yù)防性維護的開始和結(jié)束時間;[Wh1h2]為加工軋制單元h1和h2間機器調(diào)整時間。其中,0/1決策變量有:ηjh表示若鋼管j屬于軋制單元h為1,否則為0;[αh1h2]表示若軋制單元h1是軋制單元h2的直接前繼為1,否則為0;βhm表示若軋制單元h加工位于第m和m - 1次預(yù)防性維護之間為1,否則為0;[yh1h2]表示若軋制單元h1和h2之間存在預(yù)防性維護為1,否則為0。
2.2 數(shù)學(xué)模型
[minmaxh∈ΩEh]? ?(2)
[minh=1HLmax-i=1Ij=1Jθijηjhlij]? ? ?(3)
St.
[sjh+lijp-Z2-ηjh-η(j+1)h≤s(j+1)h, h=1, 2, ..., H, i=1, 2, ..., I, j=1, 2, ..., J-1] (4)
[ηjhoj=ηj'hoj', j, j'=1, 2, ..., J, h=1, 2, ..., H, j≠j']? ? ? ?(5)
[h=1Hθijηjh=1, i=1, 2, ..., I, j=1, 2, ..., J]? ? ? ? ?(6)
[θijsjh-Z(2-ηjh-ηj'h)≤θi'j'sj'h, di≤di']
[h=1, 2, ..., H, i, i'=1, 2,..., I, j, j'=1, 2, ..., J, i≠i', j≠j']? ? ? (7)
[j=1Ji=1Iθijηjhlij≤Lmax, h=1, 2, ..., H]? ? ? (8)
[SPMm+T=EPMm, m=1, 2, ..., M]? ? ? ?(9)
[SPMm-Dm≥0, Cm-EPMm≥0, m=1, 2, ..., M]? ? (10)
[Dm=EPMm-1+t, Cm=Dm+TPM, m=1, 2, ..., M, EPM0=0]? ? ?(11)
[EPMm-1+h=1HPhβhm+h1,h2=1HWh1h2αh1h2βh1mβh2m≤SPMm,m=1, 2, ...,M, EPM0=0]? ? ? ? ? ? ? ? ? ? (12)
[EPMm-1-Z3-yh1h2-βh1(m-1)-βh2m≤Sh2, h1,h2=1, 2, ..., H,m=1, 2, ..., M, EPM0=0] (13)
[Sh 2≥1-yh 1h 2Eh 1+Wh 1h 2+Eh 1+Tyh 1h 2-Z3-βh 1(m-1)-βh 2m-αh 1h 2]
[h 1, h 2=1 , 2 , ..., H,m=1 , 2 , ..., M]? ? ? (14)
[Eh=Sh+Ph, h=1 , 2 , ..., H]? ? ? ? ? (15)
[Ph=j=1Ji=1Iηjhlijp, h=1 , 2 , ..., H]? ? ?(16)
[Oh=ηjhoj, j=1, 2, ..., J, h=1, 2, ..., H]
[Wh1h2=1-yh1h2b+aOh2-Oh1, h1, h2=1, 2, ..., H]? ? ? ? ?(17)
式(2) (3) 表示最小化最大完工時間和總余材長度目標,式(4) (5) 表示同一軋制單元中,同一時刻只能加工一根鋼管且為一種外徑規(guī)格,式(6) 表示一根鋼管只能屬于一個軋制單元,式(7) 表示同一軋制單元內(nèi)不同訂單的鋼管按照訂單交付期由早到晚加工,式(8) 表示每個軋制單元長度上限約束,式(9) 對預(yù)防性維護時間進行定義,式(10) (11) 表示預(yù)防性維護時間窗的開始和結(jié)束時間的計算,且維護需在時間窗內(nèi)進行,式(12) (13) 表示每一軋制計劃中維護需在軋制單元完工后進行且維護完成后立即開始下一軋制計劃周期的加工,式(14) 表示若相鄰軋制單元間有預(yù)防性維護,則維護結(jié)束后無須進行機器調(diào)整即可加工下一軋制單元,式(15) (16) 表示軋制單元的完工時間和加工時長計算,式(17) 對機器調(diào)整時間進行定義。
3 求解算法設(shè)計
針對本文問題特點和數(shù)學(xué)模型復(fù)雜性,采用ABC算法對問題進行求解。 ABC算法是Karaboba[8]提出模擬蜜蜂覓食特點完成優(yōu)化的智能算法,被廣泛應(yīng)用于求解計劃與調(diào)度問題,蘇析超[9]針對甲板作業(yè)調(diào)度問題,引入差分進化的交叉變異策略提高ABC算法的種群搜索效率;陳暄[10]將改進的煙花算法與ABC算法融合,提高調(diào)度任務(wù)的求解效率。本文在傳統(tǒng)ABC算法基礎(chǔ)上,對偵察蜂階段的搜索策略融合啟發(fā)式算法進行改進,提高算法個體尋優(yōu)能力。下面將對改進的ABC算法進行詳細介紹。
3.1 編碼
個體編碼采用半編碼基因匹配結(jié)構(gòu),分為訂單IV、軋制單元OV和預(yù)防性維護PM層, OV層編碼由IV層解碼得到。IV層為浮點數(shù)編碼,整數(shù)位為訂單編號,小數(shù)位為鋼管外徑規(guī)格編號。OV層為整數(shù)編碼,PM層為0/1編碼。如圖2所示,假設(shè)單位軋制單元長度上限為15米,訂單1、 2中每根無縫鋼管長度分別為6米和8米,則第2個基因位為軋制單元1的最后一根無縫鋼管,IV層第1、2個基因位對應(yīng)生成OV層編碼1。
3.2 解碼
對IV層編碼相同小數(shù)位即同一外徑規(guī)格的鋼管進行長度求和,軋制單元長度上限值Lmax減去每個軋制單元長度求得對應(yīng)余材長度,多個余材長度累加求和即為計劃子問題目標值總余材長度。松弛預(yù)防性維護時間約束,根據(jù)每個軋制單元的完工時間確定預(yù)防性維護位置,取維護開始時間為[SPMm=max {Dm,? Eh}],維護后加工的軋制單元的加工開始和結(jié)束時間加上后移時間差[SPMm+T-Eh],最后一個軋制單元的完工時間即為調(diào)度子問題目標值最大完工時間。
3.3 跟隨蜂階段鄰域解產(chǎn)生
本文算法在IV和OV層采用逆序變異策略保證跟隨蜂階段產(chǎn)生一定數(shù)量新蜜源,以IV層為例如圖3所示,隨機選取父代P1的IV層染色體中基因段{1.1, 1.1, 2.1}和{3.2, 3.2, 4.2},按照逆序{2.1, 1.1, 1.1}和{4.2, 3.2, 3.2}重新插入染色體中得到子個體C1。
3.4 啟發(fā)式算法
為提高偵查蜂階段調(diào)度子問題的優(yōu)秀個體篩選能力,針對編碼OV層采用啟發(fā)式算法產(chǎn)生新解,算法執(zhí)行分為初始排序和局域優(yōu)化兩步,具體執(zhí)行步驟如下:
1) 初始排序
首先將具有相同規(guī)格鋼管的軋制單元為一個批次進行組批,然后將各個批次按照機器調(diào)整時間由小到大規(guī)則排序加工。各個軋制單元排入軋制計劃周期中后確定維護時間,形成初始序列具有最小化總機器調(diào)整時間。
2) 局域優(yōu)化
若維護前存在機器閑置時間,首先執(zhí)行交換操作,交換當前軋制計劃周期中最后一個軋制單元與后續(xù)軋制計劃周期中的軋制單元的位置。若交換后仍無法消除閑置時間,則搜索后續(xù)軋制單元前插到交換后的軋制單元之后,如圖4所示,交換軋制單元h8和軋制單元h20,將軋制單元h19前插在軋制單元h20后消除機器閑置時間。
4 數(shù)據(jù)實驗
4.1 實驗設(shè)計
本章實驗基于Windows 10系統(tǒng)運行,采用C++編程實現(xiàn),開發(fā)環(huán)境為VS 2019, MATLAB R2021a繪制仿真圖。本文對某大型無縫鋼廠的生產(chǎn)數(shù)據(jù)整理并使用。實驗數(shù)據(jù)設(shè)置如下:初始解個數(shù)100,軋制單位長度鋼管的時間1分鐘,設(shè)備最小維護開始時間為30分鐘,40分鐘為一個周期,維護時間窗長度為10分鐘,維護時長5分鐘,機器調(diào)整時間根據(jù)式(17) 計算, 取a = 0.1,b = 1,軋制單元長度上限為15米, NSGA-Ⅱ的交叉、變異概率分別取0.95和0.05,算法最大迭代次數(shù)為100。每一訂單中鋼管規(guī)格數(shù)為 [3, 6]個,對應(yīng)外徑規(guī)格為[0.3, 1]米,鋼管數(shù)量為[1, 50]根,不同訂單鋼管長度為[1, 4]米?;谏鲜鰠?shù)設(shè)置7組不同規(guī)模測試案例,采用NSGA-Ⅱ、ABC算法和改進的ABC算法對樣本數(shù)據(jù)進行實驗,給出實驗結(jié)果并進行分析驗證算法有效性。將算法所得非支配解中最優(yōu)解作為該次運行結(jié)果,運行5次后取均值作為案例最終結(jié)果。
4.2 實驗結(jié)果分析
實驗結(jié)果如表1所示,其中目標函數(shù)為f1總余材長度和f2最大完工時間。
1) NSGA-Ⅱ、ABC算法和改進的ABC算法實驗結(jié)果分析
改進的ABC算法較NSGA-Ⅱ和ABC算法求得的目標值更優(yōu)。對比相同訂單數(shù)不同鋼管規(guī)格數(shù),相同鋼管規(guī)格數(shù)不同訂單數(shù)的案例,改進的ABC算法優(yōu)化效果都好于ABC算法。改進的ABC算法求解時間略長于NSGA-Ⅱ和ABC算法,但改進的ABC算法仍能在可接受時間范圍內(nèi)實現(xiàn)滿意的求解,符合實際應(yīng)用需求。
2) 改進的ABC算法和ABC算法的Pareto前沿面分析
繪制改進的ABC算法與ABC算法的Pareto近似最優(yōu)解集的散點圖進行對比,圖5a、圖5b給出案例1、7的Pareto近似最優(yōu)解分布圖為例。可看出改進的ABC算法解集中每個解均位于ABC算法下方并具有一定的偏移量,達到了優(yōu)化效果。
5 結(jié)論
本文在最小化總余材長度和最大完工時間目標下, 研究并建立考慮設(shè)備預(yù)防性維護的熱軋訂單計劃與調(diào)度數(shù)學(xué)模型,提出了一種結(jié)合啟發(fā)式算法的改進ABC算法對偵察蜂階段調(diào)度子問題的搜索策略進行優(yōu)化。選用NSGA-Ⅱ,ABC算法與改進的ABC算法進行仿真實驗對比,實驗結(jié)果表明,改進的ABC算法具有良好的優(yōu)秀個體篩選能力與解集收斂性。
參考文獻:
[1] ZHANG B,WANG G S,YANG Y,et al.Solving the Order Planning Problem at the Steelmaking Shops by Considering Logistics Balance on the Plant-Wide Process[J].IEEE Access, 2019, 7:139938-139956.
[2] 張浩,庫濤,張丁一.考慮訂單組批特性的特種鋁錠組爐優(yōu)化[J].控制理論與應(yīng)用,2019,36(10):1492?1501.
[3] 李洪澤,凌衛(wèi)青,劉飛翔.面向人機物三元數(shù)據(jù)的熱軋調(diào)度問題研究[J].控制與決策,2021,36(11):2825-2832.
[4] 周登舉,王韋.爐容受限的加熱爐-熱軋集成調(diào)度模型與算法[J].價值工程,2022,41(34):105-108.
[5] 汪洋,吳子軒,李鐵克,王柏琳.考慮柔性機器檢修的鋼管熱軋批量調(diào)度方法[J].控制理論與應(yīng)用,2019,36(9):366-372.
[6] 許紹云,王雷,李鐵克,劉玉琢.圓鋼熱軋批量調(diào)度的多目標優(yōu)化方法[J].工業(yè)工程與管理,2015,20(5):143-150.
[7] 吳子軒,李鐵克,張文新.考慮機器檢修的熱軋鋼管批量計劃方法[J].控制理論與應(yīng)用,2017,34(9):1251?1259.
[8] KARABOGA D,AKAY B. A comparative study of arti?cial bee colony algorithm[J].Applied Mathematics & Computation, 2009, 214(1):108-132.
[9] 蘇析超,伍恒,崔榮偉,等.基于邊際-人工蜂群算法的艦載機機群出動保障人員配置-調(diào)度聯(lián)合優(yōu)化方法[J].北京航空航天大學(xué)學(xué)報,2020,46(11):2056-2068.
[10] 陳暄,王大偉,王常亮,等.基于IFWA-ABC的云計算資源任務(wù)調(diào)度算法的研究[J].計算機應(yīng)用研究,2019,36(10):3022-3026.
【通聯(lián)編輯:聞翔軍】