鋼板冷軋MES機組作業計劃過程中的任務分配法
基于鞍鋼新軋集團股份有限公司冷軋薄板廠MES工程的實際情況,介紹了機組排產作業計劃過程中的任務分配方法。該方法以機組與生產任務的最佳匹配、機組的負荷平衡為性能指標,采用了實時最小負荷分配規則,科學地解決了冷軋生產線CIMS環境下機組排產作業計劃的在線生成問題,實現了生產線上的生產路徑優化控制,從而提高了生產質量和設備利用率。
鞍鋼新軋鋼鐵股份有限公司冷軋薄板廠MES工程實現了生產經營活動集成化管理,為企業提供了先進的管理手段,改善了企業生產管理模式,實現了從合同管理、主生產計劃、要料計劃、各車間機組排產作業計劃、生產物料單卷跟蹤、異常處理、生產調度、在產品生產質量跟蹤分析、原料庫存管理、在制品管理、成品管理到交貨全過程的具有優化生產控制功能的閉環生產管理。實現了生產系統與設備、備件、軋輥管理系統的集成,促進了老企業向現代企業的轉變。該軟件現已成為該公司冷軋薄板廠生產運行不可缺少的組成部分。
對冷軋廠這樣大型復雜的企業, 為開發出有效、實用的覆蓋全廠所有生產活動、全面實現計算機管理的軟件,本文著重介紹機組排產作業計劃生成過程中的關鍵技術之一的生產任務分配方法。
所謂生產任務分配,是對各生產車間(工序)的生產任務具體指定一個生產機組進行生產。關于生產任務分配方法特別是離散制造系統的生產路徑規劃方法已有很多的研究結果,但本文的特點不是側重于理論方法研究,而是側重于易于實現、有效的實用方法。這一特點是軟件所必須的,因為它必須是可編程的和計算速度能夠滿足實際要求。
機組生產任務分配是機組排產作業計劃過程中的重要內容,一個好的生產任務分配方法,可使得軟件程序易于實現,并且生產任務分配合理,符合實際生產情況,可最大限度地達到機組和生產任務的最佳匹配,使得機組負荷平衡,提高產品質量和成品率、提高生產設備利用率,提高生產效率,降低生產成本。反之,如果任務分配方法不得當,即使軟件程序能夠實現,也無法達到用戶滿意。
2 冷軋薄板廠實際生產線生產流程簡介
冷軋生產線各車間機組排產作業計劃是基于實際生產過程的,其實際生產流程如圖1所示。
圖1 冷軋生產線實際生產流程
圖1所描述的生產流程只對90%左右的產品是正確的,1%左右的產品并不完全遵循該生產流程,主要特征是具有逆向流程和跳躍流程,比如二次軋制、二次退火、酸洗后直接剪切及一些異常情況處理等等。
從該生產流程可以看出,冷軋生產是帶有有限中間庫的半連續性的流程式生產,總體可看成是一個串行生產線,但與串行生產線不同的是各車間(工序)有多臺相同或不同型號的并行生產設備,本文把這個生產線稱為冷軋生產線,其特點如下:
①多級串行;
②多機并行;
③部分產品具有逆向流程和跳躍流程特征;
④多品種規格同時處于生產線中;
⑤生產約束多(工作輥、支撐輥、生產工藝規則等等);
⑥產品生產路徑復雜。
上述特點決定了冷軋生產線既有串行生產線的均衡生產問題,也有離散生產的排產與調度問題。因此使得冷軋生產線均衡生產的機組排產作業計劃是非常重要的。
3 機組排產作業計劃過程中的生產任務分配方法
1)特定機組生產鋼卷分配方法
在冷軋生產過程中,部分產品(10%左右)質量要求高,有些工序需特定的機組生產。為了解決該問題,本文采用引入‘工藝碼’來處理。
所謂工藝碼是用來描述產品的生產工藝流程的,如上節所述,冷軋廠有10%左右的產品不完全遵循標準的生產流程,為了軟件程序開發,需設計引用工藝碼,以規范生產流程過程,解決軟件程序的控制流程關系。
對每一個生產鋼卷,依用戶合同要求都將生成一個工藝碼,其形式為:
x0z1r0p0j0b0
其中,英文字母代表生產工序(x為酸洗;z為軋鋼;r為熱處理;p為平整;j為剪切;b為包裝),英文字母后的數字則代表生產機組(0為未指定特定機組;1為指定1機組;2為指定2機組;…;n為指定n機組)。顯然英文字母和數字的任意可重復組合,可描述所有產品生產流程過程和指定生產機組。
在機組任務分配時,首先查看工藝碼,當該工序的數字不為0時,則按其數字分配給相應的生產機組。
2)非特定無質量差別機組生產鋼卷分配方法
所謂非特定機組生產是指在工藝碼中沒有指定特定的生產機組,即工藝碼中該工序后的數字為0,所謂無質量差別是指對該生產鋼卷生產加工的機組其質量標準都是相同的。這樣的生產任務在生產過程的某些車間(工序)可能有多個機組能夠對其進行生產加工,具體分配給哪個機組進行生產加工,存在優化分配問題。為了說明機組任務分配方法,定義如下符號。
針對某一個車間(工序),設:
有n個任務W(I,t)等待生產加工,其中,W為生產鋼卷;I為鋼卷序號(I=1,2,…,n);t為鋼卷質量。將生產鋼卷按鋼卷質量從大到小排列,記為{W(i,t)},W(i,t)表示{W(i,t)}中的元素。
P(j)為機組生產能力,其中j為機組號。機組生產能力表達機組單位時間最大生產產品質量,在機組無故障情況下該量是常量。
L(i,j)為機組即時負荷,其中j為機組號,i為生產卷號的隊列序號。機組即時負荷表達當時已分配給該機組并且尚未進行生產的生產鋼卷的質量合計。
M(i,j)為機組j生產加工生產鋼卷W(i,t)的特征函數,即:
令:F(i,j)=(L(i,j)+t×M(i,j))/P(j) (2)
式中,j=1,2,…,J(J為該車間機組總數);i和t為W(i,t)中的i和t。
令:f=min{F(i,1),F(i,2),…,F(i,J)} (3)
如果f=F(i,j0),則分配W(i,t)到j0機組生產加工,i=1,…, n。
從特征函數式(1)和運算式(2)可以得出:當特征函數不為1時,任務W(i,t)不可能分配給機組j,因為這時F(i,j)的值也為+ ∞,并且由于該道工序工藝碼的數字為0,所以至少有一臺機組可以生產加工該生產鋼卷W(i,t ),所以至少存在一個F(i,j)的值不為+∞。不失一般性設有J0(J0≤J)個M(i,j)的值為1,即有J0個機組可以生產加工W(i,t)。所以有J0個F(i,j)的值不為+∞,該值的實際意義其實就是機組的時間負荷,由于同一個生產鋼卷的質量雖然不變,但在不同機組生產加工的時間由機組的生產能力不同而不同,因此無法用質量來度量機組的負荷,但經過式(2)的轉換,就可把各機組的負荷度量統一到機組生產加工時間上來,因此所謂機組負荷平衡,就是本文的任務分配方法, 在滿足條件約束下能夠最大限度地使得:F(n,1),F(n,2),…,F(n,J)的值相接近。用數學符號表達就是在滿足條件約束下能夠最大限度地使得下式成立。
式中,j1≠j2;J={1,2,…,J}。
3)非特定有質量差別機組生產鋼卷分配方法所謂有質量差別是指在生產過程中某些車間(工序)對該生產鋼卷生產加工的機組可能有多臺,但其生產質量所達標準不同。這樣的生產任務在生產分配過程中不能單純地考慮機組負荷平衡,也應考慮生產質量。為了說明機組任務分配方法,本文定義如下特征函數:
對這種情況,首先采用上節的分配方法,當有些機組負荷超出計劃時間段的負荷時,將調整負荷向特征函數為2的機組。
4 生產鋼卷分配方法的軟件實現
生產鋼卷分配方法的軟件實現,其特征函數將由機組生產鋼卷最佳匹配表給出。下面的一段程序為冷軋廠CIMS 工程中實用的機組排產作業計劃過程中的機組任務分配子程序,開發工具為Developer2000。數據表名及其字段名和變量名不做詳解。
DECLARE
CURSOR fzcmx cursor IS
select distinct schth,ylbh from pp fzcmx where substr(zt,1,1)=‘5’and dclbz=‘0’
group by schth,ylbh;
BEGIN
OPEN fzcmx_cursor;
loop
FEMotorH fzcmx cursor INTO v schth,v_ylbh;
EXIT WHEN fzcmx_cursor % NOTFOUND;
select gz,cphd,cpkd,cpcd zl into v_gzbm,v_cphd,v_cpkd,v_cpcd,p
from pp_fzcmx
where ylbh=v ylbh;
select subst(r zt,4)into v bc from pp fzcmx where ylbh=v ylbh;
v_b:=to_numbe(r v bc)+1;
select subst(r gym,v_b,1)into v_c from pp_fzcmx where ylbh=v_ylbh;
if v_c>‘ ’then
if v_c=‘1’then
INSERT INTO pp_jq1rjh( schth,ylbh,gzbm,cphd,cpkd,cpcd,sl,rq,ztm)
SELECT schth,ylbh,gzbm,cphd,cpkd,cpcd,sl,sysdate,
FROM pp_jqrjh1
WHERE lh=v_lh and ph=v_ph1;
elsif v_c=‘2’then
INSERT INTO pp_jq2rjh(schth,ylbh,gzbm,cphd,cpkd,cpcd,sl,rq,ztm)
SELECT schth,ylbh,gzbm,cphd,cpkd,cpcd,sl,sysdate,0
FROM pp_jqrjh1
WHERE lh=v_lh and ph=v_ph1;
elsif v_c=‘3’then
INSERT INTO pp jq3rjh( schth,ylbh,gzbm,cphd,cpkd,cpcd,sl,rq,ztm)
SELECT schth,ylbh,gzbm,cphd,cpkd,cpcd,sl,sysdate,0
FROM pp_jqrjh1
WHERE lh=v_lh and ph=v_ph1;
Else v_next:=1;
end if;
else message(‘****’);
end if;
END loop;
CLOSE fzcmx_cursor;
5 結 語
本文通過鞍鋼新軋鋼鐵集團股份有限公司冷軋薄板廠MES 工程的實例,介紹了機組排產作業計劃過程中機組任務分配方法,綜合所有車間(或工序),實際是一種實時路徑規劃方法。該軟件已在現場運行半年多時間,結果表明,軟件運行穩定,取得了良好的管理效應和生產效益,得到了用戶的肯定和好評。