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