本發(fā)明涉及一種生產(chǎn)調(diào)度方法及系統(tǒng),特別涉及不確定性因素擾動下的離散裝配車間生產(chǎn)調(diào)度。
背景技術(shù):
復(fù)雜產(chǎn)品裝配是典型的離散型裝配,具有所需資源復(fù)雜多變、裝調(diào)周期長等特點,例如衛(wèi)星、飛機、船舶等,其裝配過程圍繞著產(chǎn)品進行,不同產(chǎn)品具有不同的工藝路線,不同工藝路線的工序之間相互獨立,同時復(fù)雜產(chǎn)品裝配過程中存在很多的不確定性生產(chǎn)擾動,常常導(dǎo)致實際執(zhí)行過程與生產(chǎn)計劃之間易產(chǎn)生偏差,車間任務(wù)延誤、車間人員忙閑不均、資源浪費等現(xiàn)象。
目前,國內(nèi)外研究學(xué)者針對生產(chǎn)擾動導(dǎo)致的車間調(diào)度問題,通常采用反應(yīng)式調(diào)度和魯棒調(diào)度等應(yīng)對方式。反應(yīng)式調(diào)度使用調(diào)度規(guī)則對生產(chǎn)過程進行控制,但由于復(fù)雜產(chǎn)品裝配車間現(xiàn)場生產(chǎn)擾動多、約束多,難以全面的為反應(yīng)式調(diào)度設(shè)定調(diào)度規(guī)則,因此實用性較差。魯棒調(diào)度在生產(chǎn)執(zhí)行前會準(zhǔn)備工序間隔時間余量和資源余量等來消除生產(chǎn)擾動偏差,在滿足生產(chǎn)約束的前提下最大程度的減輕生產(chǎn)擾動產(chǎn)生的影響,但是魯棒調(diào)度的時間余量和資源余量極易造成成本上漲、資源浪費等問題。
目前,國內(nèi)外針對柔性化程度較高的自動裝配生產(chǎn)線的調(diào)度有著較多的研究成果,而針對手工裝配為主的復(fù)雜產(chǎn)品裝配車間調(diào)度的研究較少,由于復(fù)雜產(chǎn)品裝配過程中存在著大量的逆向操作和資源協(xié)調(diào),特別是產(chǎn)品研制階段,其設(shè)計更改頻繁、不確定性生產(chǎn)擾動多,導(dǎo)致生產(chǎn)調(diào)度極其復(fù)雜和困難。同時復(fù)雜產(chǎn)品的結(jié)構(gòu)復(fù)雜,其裝配層次復(fù)雜、涉及資源多、時間周期長,甚至相關(guān)的約束隨著時間發(fā)生變化,加大了生產(chǎn)調(diào)度的難度。
國內(nèi)外學(xué)者們針對不確定因素擾動下的調(diào)度問題還進行了大量的研究,但是由于實際情況過于復(fù)雜,各項研究成果的適用環(huán)境不同,目前還未形成全面且完善的解決方法,理論成果難以復(fù)用到復(fù)雜產(chǎn)品裝配車間,針對目前復(fù)雜產(chǎn)品裝配過程中缺乏行之有效的擾動事件處理機制。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例要解決的技術(shù)問題是提供一種生產(chǎn)調(diào)度方法及系統(tǒng),用以實現(xiàn)對復(fù)雜產(chǎn)品裝配過程進行調(diào)度。
為解決上述技術(shù)問題,本發(fā)明實施例提供了一種生產(chǎn)調(diào)度方法,包括:
獲取當(dāng)前生產(chǎn)裝配任務(wù)的裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù);
根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表;
其中,所述調(diào)度問題模型中包括:最小完工時間的調(diào)度目標(biāo)、工位執(zhí)行約束、工位種類約束、完工時間要求約束、工序優(yōu)先級約束和資源使用約束;
依據(jù)所述工序執(zhí)行時間表和資源使用時間表生成裝配調(diào)度信息。
進一步的,在根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟之后,所述方法還包括:
獲取當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行變動信息;
根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表;
其中,所述工序執(zhí)行變動信息包括:工序執(zhí)行時間變動、工序暫停、工序新增和工序取消。
進一步的,所述最小完工時間的調(diào)度目標(biāo)具體為:
f=max(min{RT1-(T1K+b1K),RT2-(T2K+b2K),...,RTj-(TjK+bjK)})
其中,TjK是任務(wù)j的最后一道工序的開始時間,bjK是任務(wù)j的最后一道工序的預(yù)設(shè)執(zhí)行時間,RTj是任務(wù)j的預(yù)設(shè)完成時間,K是任務(wù)j下工序的數(shù)量。
進一步的,所述工位執(zhí)行約束具體為:
j1,j2∈[1,J],k1,k2∈[1,K],j1≠j2或k1≠k2;
其中,Tjk是任務(wù)j的最后一道工序的開始時間,bjk是任務(wù)j的最后一道工序的預(yù)設(shè)執(zhí)行時間,Pjk是任務(wù)j的第k道工序,PWnt是工位Wnt上執(zhí)行的工序的集合。
進一步的,所述工位種類約束具體為:
PWn∈PRW;
其中,PRW是工序要求的工位種類的集合,PWn是為工序分配的工位種類。
進一步的,所述完工時間要求約束具體為:
TjK+bjK≤RTj;
其中,TjK是任務(wù)j的最后一道工序的開始時間,bjK是任務(wù)j的最后一道工序的預(yù)設(shè)執(zhí)行時間,RTj是任務(wù)j的預(yù)設(shè)完成時間。
進一步的,所述工序優(yōu)先級約束具體為:
其中,P1k為子工序,P2k父工序,數(shù)值0表示工序P1k與P2k之間沒有父子關(guān)系,1表示工序P1k與P2k之間存在父子關(guān)系,為工序P12的開始執(zhí)行時間,為工序P21的開始執(zhí)行時間,是工序P21的執(zhí)行時間。
進一步的,所述資源使用約束具體為:
其中,NDA表示第A個工序占用D資源的數(shù)量,D是資源種類編號,A表示現(xiàn)有裝配線上工序總和,是第A1道工序的開始時間,是第A1道工序的執(zhí)行時間,F(xiàn)Dk表示第k個工序所處時間段中D資源被占用的數(shù)量,F(xiàn)RDk表示D資源在第k道工序的時間段內(nèi)車間中擁有的數(shù)量。
進一步的,所述根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟,包括:
根據(jù)以遺傳算法為基礎(chǔ)的生產(chǎn)調(diào)度算法,及所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),對所述調(diào)度問題模型進行求解,獲得工序執(zhí)行序列;
將所述工序執(zhí)行序列中的工序分配至工位,獲得工序執(zhí)行時間表;
根據(jù)裝配工藝參數(shù)及工序執(zhí)行時間表,獲得資源使用時間表;
其中,所述資源使用時間表包括:可重用資源使用時間表和不可重用資源使用時間表。
進一步的,所述根據(jù)以遺傳算法為基礎(chǔ)的生產(chǎn)調(diào)度算法,及所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),對所述調(diào)度問題模型進行求解,獲得工序執(zhí)行序列的步驟,包括:
根據(jù)裝配工藝參數(shù),獲得工位信息和工序信息;
依據(jù)遺傳算法,對所述工位信息和工序信息進行染色體編碼,形成第一染色體編碼,其中所述第一染色體編碼包括多個基因,每一基因包括工序可選工位信息、工序所屬線路信息、工序預(yù)設(shè)工時信息;
對所述第一染色體編碼進行染色體選擇操作,獲得第二染色體編碼;
對所述第二染色體編碼上相同基因位進行染色體交叉操作,獲得第三染色體編碼;
對所述第三染色體編碼上任意兩個基因位進行染色體互換變異操作,獲得第四染色體編碼;
根據(jù)所述第四染色體編碼,獲得第一工序執(zhí)行序列;
判斷所述第一工序執(zhí)行序列是否滿足所述調(diào)度問題模型,當(dāng)所述第一工序執(zhí)行序列滿足所述調(diào)度問題模型時,確定所述第一工序執(zhí)行序列為工序執(zhí)行序列;
當(dāng)所述第一工序執(zhí)行序列不滿足所述調(diào)度問題模型時,重新執(zhí)行所述對所述第一染色體編碼進行染色體選擇操作,獲得第二染色體編碼的步驟。
進一步的,所述將所述工序執(zhí)行序列中的工序分配至工位,獲得工序執(zhí)行時間表的步驟,包括:
計算所述工序執(zhí)行序列中的每一工序在可選工位的預(yù)計開工時間;
對所述可選工位的預(yù)計開工時間進行比較并按時間順序排序,確定預(yù)計開工時間位于第一預(yù)設(shè)位置的可選工位為執(zhí)行所述工序的工位;
當(dāng)所述可選工位的預(yù)計開工時間存在相同時間時,獲得所述可選工位與所述工序的上一工序的執(zhí)行工位間的距離,確定距離最短的工位為執(zhí)行所述工序的工位;
當(dāng)所述工序為任一支線的第一道工序時,確定所述支線的第一道工序的開工時間為所述支線的第一道工序在所述工序執(zhí)行序列中的上一工序的完工時間;
當(dāng)所述工序為任一主線或輔線的第一道工序時,確定執(zhí)行所述工序的工位的上一工序的完工時間為所述工序的開工時間;
當(dāng)所述工序為分支匯合節(jié)點的工序時,對匯合至所述節(jié)點的工序的完工時間進行排序,確定第二預(yù)設(shè)位置的工序的完工時間為所述工序的開工時間;
根據(jù)所述開工時間,獲得工序執(zhí)行時間表。
進一步的,所述根據(jù)裝配工藝參數(shù)及工序執(zhí)行時間表,獲得資源使用時間表的步驟包括:
根據(jù)所述工序執(zhí)行時間表,獲取每一工序的開工時間和完工時間;
確定位于每一工序的開工時間和完工時間之間的預(yù)設(shè)時間點為每一工序的資源變動點,獲取每一資源變動點的資源變動數(shù)據(jù);
根據(jù)所述資源變動數(shù)據(jù),獲取第一資源使用時間表;
判斷所述第一資源使用時間表是否滿足所述調(diào)度問題模型,當(dāng)所述第一資源使用時間表滿足所述調(diào)度問題模型時,將所述第一資源使用時間表替換為資源使用時間表;
當(dāng)所述第一資源使用時間表不滿足所述調(diào)度問題模型時,根據(jù)所述第四染色體編碼,獲得第二工序執(zhí)行序列,根據(jù)所述第二工序執(zhí)行序列,獲取工序執(zhí)行時間表,重新執(zhí)行所述根據(jù)所述工序執(zhí)行時間表,獲取每一工序的開工時間和完工時間的步驟,其中,所述第二工序執(zhí)行序列的優(yōu)先級小于所述第一工序執(zhí)行序列的優(yōu)先級。
進一步的,當(dāng)所述工序執(zhí)行變動信息為工序執(zhí)行時間變動時,所述根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表的步驟,包括:
將位于執(zhí)行時間變動的工序后的工序按變動時間依次移動,并形成第二工序執(zhí)行時間表;
判斷所述第二工序執(zhí)行時間表是否滿足所述調(diào)度問題模型,當(dāng)所述第二工序執(zhí)行時間表滿足所述調(diào)度問題模型時,將所述第二工序執(zhí)行時間表替換為工序執(zhí)行時間表,并更新所述工序執(zhí)行時間表和資源使用時間表;
當(dāng)所述第二工序執(zhí)行時間表不滿足所述調(diào)度問題模型時,重新執(zhí)行所述根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟,并根據(jù)重新獲取的工序執(zhí)行時間表和資源使用時間表,更新所述工序執(zhí)行時間表和資源使用時間表。
進一步的,當(dāng)所述工序執(zhí)行變動信息為工序暫停時,所述根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表的步驟,包括:
判斷暫停工序的前后工序是否存在跨序操作工序;
當(dāng)存在跨序操作工序時,對所述跨序操作工序及未完成工序重新執(zhí)行所述根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟,并根據(jù)重新獲取的工序執(zhí)行時間表和資源使用時間表,更新所述工序執(zhí)行時間表和資源使用時間表;
當(dāng)不存在跨序操作工序時,對不包括所述暫停工序及與所述暫停工序相關(guān)的工序的未完成工序重新執(zhí)行所述根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟,并根據(jù)重新獲取的工序執(zhí)行時間表和資源使用時間表,更新所述工序執(zhí)行時間表和資源使用時間表;
當(dāng)所述暫停工序恢復(fù)時,將所述暫停工序及與所述暫停工序相關(guān)的工序作為工序新增,執(zhí)行所述根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表的步驟。
進一步的,當(dāng)所述工序執(zhí)行變動信息為工序新增或工序取消時,所述根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表的步驟,包括:
當(dāng)新增工序或取消工序時,重新執(zhí)行所述根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟,并根據(jù)重新獲取的工序執(zhí)行時間表和資源使用時間表,更新所述工序執(zhí)行時間表和資源使用時間表。
本發(fā)明實施例提供了一種生產(chǎn)調(diào)度系統(tǒng),包括:工藝信息模塊、裝配任務(wù)模塊和生產(chǎn)執(zhí)行模塊,
其中,所述工藝信息模塊包括:第一獲取單元,所述第一獲取單元用于獲取當(dāng)前生產(chǎn)裝配任務(wù)的裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù);
所述裝配任務(wù)模塊包括:第二獲取單元,所述第二獲取單元用于根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表;
其中,所述調(diào)度問題模型中包括:最小完工時間的調(diào)度目標(biāo)、工位執(zhí)行約束、工位種類約束、完工時間要求約束、工序優(yōu)先級約束和資源使用約束;
所述生產(chǎn)執(zhí)行模塊包括:生成單元,所述生成單元用于依據(jù)所述工序執(zhí)行時間表和資源使用時間表生成裝配調(diào)度信息。
進一步的,所述第二獲取單元用于根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表中,所述第二獲取單元包括:
第三獲取單元,用于獲取當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行變動信息;
更新單元,用于根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表;
其中,所述工序執(zhí)行變動信息包括:工序執(zhí)行時間變動、工序暫停、工序新增和工序取消。
與現(xiàn)有技術(shù)相比,本發(fā)明實施例提供的一種生產(chǎn)調(diào)度方法及系統(tǒng),至少具有以下有益效果:本發(fā)明實施例有效解決了復(fù)雜產(chǎn)品離散裝配難的問題,通過預(yù)先構(gòu)建的調(diào)度問題模型給出針對復(fù)雜產(chǎn)品離散裝配車間的工序執(zhí)行時間表和資源使用時間表,并根據(jù)工序執(zhí)行時間表和資源使用時間表生成裝配調(diào)度信息,滿足了復(fù)雜產(chǎn)品離散裝配車間的調(diào)度。同時,本發(fā)明實施例還根據(jù)可能發(fā)生的工序執(zhí)行變動信息對工序執(zhí)行時間表和資源使用時間表進行更新,進而生成更新后的裝配調(diào)度信息,滿足了離散裝配車間的復(fù)雜調(diào)度,可以有效提高離散裝配車間生產(chǎn)效率。
附圖說明
圖1為本發(fā)明第一實施例的生產(chǎn)調(diào)度方法的流程圖;
圖2為本發(fā)明第二實施例的生產(chǎn)調(diào)度方法的流程圖;
圖3為本發(fā)明第三實施例的生產(chǎn)調(diào)度方法的流程圖;
圖4為本發(fā)明第四實施例的生產(chǎn)調(diào)度方法的流程圖;
圖5為本發(fā)明第五實施例的生產(chǎn)調(diào)度方法的流程圖;
圖6為本發(fā)明第六實施例的生產(chǎn)調(diào)度方法的流程圖;
圖7為本發(fā)明第七實施例的生產(chǎn)調(diào)度方法的流程圖;
圖8為本發(fā)明第八實施例的生產(chǎn)調(diào)度方法的流程圖;
圖9為本發(fā)明第九實施例的生產(chǎn)調(diào)度方法的流程圖;
圖10為本發(fā)明實施例的生產(chǎn)調(diào)度方法的裝配任務(wù)一流程圖;
圖11為本發(fā)明實施例的生產(chǎn)調(diào)度方法的裝配任務(wù)二流程圖;
圖12為本發(fā)明實施例的生產(chǎn)調(diào)度方法的裝配任務(wù)三流程圖;
圖13為本發(fā)明實施例的生產(chǎn)調(diào)度方法的染色體的適應(yīng)度曲線圖;
圖14為本發(fā)明第十實施例的生產(chǎn)調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例進行詳細描述。在下面的描述中,提供諸如具體的配置和組件的特定細節(jié)僅僅是為了幫助全面理解本發(fā)明的實施例。因此,本領(lǐng)域技術(shù)人員應(yīng)該清楚,可以對這里描述的實施例進行各種改變和修改而不脫離本發(fā)明的范圍和精神。另外,為了清楚和簡潔,省略了對已知功能和構(gòu)造的描述。
應(yīng)理解,說明書通篇中提到的“一個實施例”或“一實施例”意味著與實施例有關(guān)的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個實施例中。因此,在整個說明書各處出現(xiàn)的“在一個實施例中”或“在一實施例中”未必一定指相同的實施例。此外,這些特定的特征、結(jié)構(gòu)或特性可以任意適合的方式結(jié)合在一個或多個實施例中。
第一實施例
參見圖1,本發(fā)明實施例提供了一種生產(chǎn)調(diào)度方法,包括:
步驟101,獲取當(dāng)前生產(chǎn)裝配任務(wù)的裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù);
在本發(fā)明實施例的生產(chǎn)調(diào)度方法中,首先對獲取當(dāng)前生產(chǎn)裝配任務(wù)的裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),其中,裝配工藝參數(shù)包括:工序所需可重用資源、工序所需工種、工序所需人員數(shù)量、工序?qū)の坏囊?、工序?yōu)先級、工序額定工時和工序所需不可重用資源,實際生產(chǎn)約束參數(shù)包括:可重用資源的數(shù)量和種類、人員的數(shù)量和工種、工位的數(shù)量和功能類別、不可重用資源的數(shù)量和種類、任務(wù)優(yōu)先級、工序優(yōu)先級和任務(wù)要求完成時間。
步驟102,根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表;
其中,所述調(diào)度問題模型中包括:最小完工時間的調(diào)度目標(biāo)、工位執(zhí)行約束、工位種類約束、完工時間要求約束、工序優(yōu)先級約束和資源使用約束;
其中,工序執(zhí)行時間表:依據(jù)裝配流程圖中工序之間的父子級關(guān)系、工位要求、車間工位種類數(shù)量限制、任務(wù)要求時間限制和工序額定工時,生成工序執(zhí)行時間表,車間裝配組長通過工序執(zhí)行時間表下發(fā)日作業(yè)計劃,形成日作業(yè)計劃,形成日作業(yè)計劃執(zhí)行時間表。資源使用時間表:包括可重用資源使用時間表和不可重用資源使用時間表兩個部分,可重用資源時間表,如人員派工單,從工序執(zhí)行時間表獲取執(zhí)行工序所需的人員數(shù)量和工種,人員排班表是車間人員的實際工作時間表,通過工序執(zhí)行時間表和人員排班表形成人員派工單;不可重用資源使用時間表,如物料配送單,從工序執(zhí)行時間表中獲取執(zhí)行工序需要的物料種類和數(shù)量,結(jié)合車間物料庫存數(shù)據(jù),確定物料配送的時間點、配送工位、種類和數(shù)量等信息,形成物料配送單。
步驟103,依據(jù)所述工序執(zhí)行時間表和資源使用時間表生成裝配調(diào)度信息。
對于實際生產(chǎn)僅僅獲得工序執(zhí)行時間表和資源使用時間表是不夠的,還需要根據(jù)工序執(zhí)行時間表和資源使用時間表形成不同工序的人員所需執(zhí)行的裝配工序信息,該信息的集合即裝配調(diào)度信息。在本發(fā)明實施例的生產(chǎn)調(diào)度中,對于獲得裝配調(diào)度信息,在下文中亦會表述為初始調(diào)度,因在實際生產(chǎn)中發(fā)生擾動事件的可能性較大,故而,在下文中將根據(jù)擾動事件對工序執(zhí)行時間表和資源使用時間表進行更新,繼而獲得更新后的裝配調(diào)度信息,在下文中亦會表述為重調(diào)度。
第二實施例
參見圖2,進一步的,對于第一實施例中,在根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟之后,所述方法還包括:
步驟203,獲取當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行變動信息;
其中,所述工序執(zhí)行變動信息包括:工序執(zhí)行時間變動、工序暫停、工序新增和工序取消。
步驟204,根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表。
復(fù)雜產(chǎn)品裝配的生產(chǎn)過程不穩(wěn)定性,不確定擾動因素多。例如工藝層中裝配工藝路線改變,則執(zhí)行層中正在執(zhí)行的原有裝配任務(wù)被取消,產(chǎn)生新的裝配任務(wù)替代。阻礙裝配流程順利運行的事件都可以被認為是生產(chǎn)擾動事件,常見的擾動事件有儀器設(shè)備故障、物料配送延時、排故、緊急插單、任務(wù)取消、物料缺失、返工返修、任務(wù)要求完成時間變更、工序執(zhí)行時間誤差和人員排班表變更等。故而,本發(fā)明的實施例充分考慮復(fù)雜產(chǎn)品的裝配的上述特性,結(jié)合工序執(zhí)行變動信息,對工序執(zhí)行時間表和資源使用時間表進行更新。當(dāng)更新工序執(zhí)行時間表和資源使用時間表后,對于第一實施例中的步驟103,依據(jù)所述工序執(zhí)行時間表和資源使用時間表生成裝配調(diào)度信息,亦將根據(jù)更新后的工序執(zhí)行時間表和資源使用時間表形成新的裝配調(diào)度信息,以滿足生產(chǎn)裝配的調(diào)度需求。
故而,本實施例的生產(chǎn)調(diào)度方法包括:
步驟201,獲取當(dāng)前生產(chǎn)裝配任務(wù)的裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù);
步驟202,根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表;
其中,所述調(diào)度問題模型中包括:最小完工時間的調(diào)度目標(biāo)、工位執(zhí)行約束、工位種類約束、完工時間要求約束、工序優(yōu)先級約束和資源使用約束;
步驟203,獲取當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行變動信息;
步驟204,根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表;
步驟205,依據(jù)所述工序執(zhí)行時間表和資源使用時間表生成裝配調(diào)度信息。
區(qū)別于第一實施例,在本實施例中,對于步驟203,當(dāng)有變動時(獲取到了當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行變動信息)則執(zhí)行步驟204,進而執(zhí)行步驟205,也就是根據(jù)更新后的工序執(zhí)行時間表和資源使用時間表生成裝配調(diào)度信息;若沒有變動(未獲取到當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行變動信息)則無需更新工序執(zhí)行時間表和資源使用時間表。
其中,復(fù)雜產(chǎn)品裝配過程存在的各類擾動事件,影響工序的執(zhí)行,使得工序的執(zhí)行狀態(tài)發(fā)生變動,具體如表1表1所示。
表1工序執(zhí)行狀態(tài)變更表
其中,對于前述實施例中的調(diào)度問題模型,包括:最小完工時間的調(diào)度目標(biāo)、工位執(zhí)行約束、工位種類約束、完工時間要求約束、工序優(yōu)先級約束和資源使用約束,其中,所述最小完工時間的調(diào)度目標(biāo)具體為:
f=max(min{RT1-(T1K+b1K),RT2-(T2K+b2K),...,RTj-(TjK+bjK)})
其中,TjK是任務(wù)j的最后一道工序的開始時間,bjK是任務(wù)j的最后一道工序的預(yù)設(shè)執(zhí)行時間,RTj是任務(wù)j的預(yù)設(shè)完成時間,K是任務(wù)j下工序的數(shù)量。
最小完工時間的調(diào)度目標(biāo)的目標(biāo)為完工時間最短,即求取裝配線上裝配任務(wù)的預(yù)計完成時間與任務(wù)要求完成時間的差值,獲取其中的最小值,使該值最大。
其中,所述工位執(zhí)行約束具體為:
j1,j2∈[1,J],k1,k2∈[1,K],j1≠j2或k1≠k2;
其中,TjK是任務(wù)j的最后一道工序的開始時間,bjK是任務(wù)j的最后一道工序的預(yù)設(shè)執(zhí)行時間,Pjk是任務(wù)j的第k道工序,PWnt是工位Wnt上執(zhí)行的工序的集合。
工位執(zhí)行約束的目標(biāo)為在單個工位上同一時間段內(nèi)只允許執(zhí)行一道工序。
其中,所述工位種類約束具體為:
PWn∈PRW;
其中,PRW是工序要求的工位種類的集合,PWn是為工序分配的工位種類。
工位種類約束的目標(biāo)為分配的工位種類需滿足工序?qū)の坏囊蟆?/p>
其中,所述完工時間要求約束具體為:
TjK+bjK≤RTj;
其中,TjK是任務(wù)j的最后一道工序的開始時間,bjK是任務(wù)j的最后一道工序的預(yù)設(shè)執(zhí)行時間,RTj是任務(wù)j的預(yù)設(shè)完成時間。
完工時間要求約束表示完工時間要求約束。
其中,所述工序優(yōu)先級約束具體為:
其中,P1k為子工序,P2k父工序,數(shù)值0表示工序P1k與P2k之間沒有父子關(guān)系,1表示工序P1k與P2k之間存在父子關(guān)系,為工序P12的開始執(zhí)行時間,為工序P21的開始執(zhí)行時間,是工序P21的執(zhí)行時間。
工序優(yōu)先級約束的目標(biāo)為獲取不同工序間是否存在順序限制,若存在順序限制,則前一順序的優(yōu)先級高于后一順序的優(yōu)先級。工序優(yōu)先級指的是同一個任務(wù)下工序的前后順序限制,由工藝流程圖決定;在所有任務(wù)中,緊急插單的任務(wù)的優(yōu)先級最高,優(yōu)先分配人員、資源和工位。需要注意的是,上述緊急插單的任務(wù)的優(yōu)先級最高為一般情況,工序的優(yōu)先級為根據(jù)實際情況可預(yù)設(shè)的,本發(fā)明實施例并不限定緊急插單的任務(wù)的優(yōu)先級一定為最高優(yōu)先級。
其中,所述資源使用約束具體為:
其中,NDA表示第A個工序占用D資源的數(shù)量,D是資源種類編號,A表示現(xiàn)有裝配線上工序總和,是第A1道工序的開始時間,是第A1道工序的執(zhí)行時間,F(xiàn)Dk表示第k個工序所處時間段中D資源被占用的數(shù)量,F(xiàn)RDk表示D資源在第k道工序的時間段內(nèi)車間中擁有的數(shù)量。
資源使用約束的目標(biāo)為在任一時間段內(nèi),可重用資源的使用量不允許超過車間中現(xiàn)有數(shù)量。
第三實施例
參見圖3,進一步的,所述根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟,包括:
步驟301,根據(jù)以遺傳算法為基礎(chǔ)的生產(chǎn)調(diào)度算法,及所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),對所述調(diào)度問題模型進行求解,獲得工序執(zhí)行序列;
步驟302,將所述工序執(zhí)行序列中的工序分配至工位,獲得工序執(zhí)行時間表;
步驟303,根據(jù)裝配工藝參數(shù)及工序執(zhí)行時間表,獲得資源使用時間表;
其中,所述資源使用時間表包括:可重用資源使用時間表和不可重用資源使用時間表。
調(diào)度問題模型涉及的約束多,為減少求解過程的計算量,將調(diào)度問題的求解過程分步處理,工序執(zhí)行時間表是生成資源使用時間表的基礎(chǔ),調(diào)度算法的求解過程可分為生成工序執(zhí)行時間表(生成日作業(yè)計劃執(zhí)行時間表)和資源使用時間表兩個步驟。在本發(fā)明實施例的生產(chǎn)調(diào)度方法中在生成工序執(zhí)行時間表時再進一步處理工位和工序的關(guān)系。故首先采用遺傳算法求解,獲得工序執(zhí)行序列。其中,對于生產(chǎn)調(diào)度算法,該算法以基礎(chǔ)遺傳算法為基礎(chǔ),結(jié)合復(fù)雜產(chǎn)品裝配過程中的約束對算法進行了以下改進:1)加入篩選機制,每次迭代時根據(jù)工藝條件和車間資源約束(裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù))篩選出可行最優(yōu)染色體和種群最優(yōu)染色體,在交叉操作時,在兩點交叉法的基礎(chǔ)上,為保持工序種類和數(shù)量總額不變,只交替兩條染色體上相同的基因位;2)在多工位多分支的條件下,建立工序執(zhí)行時間表求取機制,獲取滿足工位和工序優(yōu)先級約束的工序執(zhí)行時間表;3)建立資源使用時間表求取機制,在工序執(zhí)行時間表的基礎(chǔ)上,求得滿足車間資源限制的機器、物料等資源使用時間表。
第四實施例
參見圖4,進一步的,所述根據(jù)以遺傳算法為基礎(chǔ)的生產(chǎn)調(diào)度算法,及所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),對所述調(diào)度問題模型進行求解,獲得工序執(zhí)行序列的步驟,包括:
步驟401,根據(jù)裝配工藝參數(shù),獲得工位信息和工序信息;
步驟402,依據(jù)遺傳算法,對所述工位信息和工序信息進行染色體編碼,形成第一染色體編碼,其中所述第一染色體編碼包括多個基因,每一基因包括工序可選工位信息、工序所屬線路信息、工序預(yù)設(shè)工時信息;
在本發(fā)明實施例中采用字母編碼,結(jié)合工位和工序信息形成染色體編碼,如X={ABACBACCB},A、B、C分別代表一個工藝信息集合,其包含工序可選工位信息、工序所屬線路信息(所屬主輔線)、工序預(yù)設(shè)工時信息(額定工時)三部分信息,表示為A={HW,M,RW}??蛇x工位HW是工位種類集合,表示該道工序可以在哪些種類的工位上進行作業(yè),所屬主輔線M是工序主線或者輔線的代號集合,分支匯合的工序的M集合中會有多個代號,其余只有一個代號,額定工時RW是當(dāng)前工序的額定工時。
步驟403,對所述第一染色體編碼進行染色體選擇操作,獲得第二染色體編碼;
在本發(fā)明實施例中,選擇操作采用輪賭盤選擇策略,個體適應(yīng)度函數(shù)值為個體目標(biāo)函數(shù)值與該代種群中最小目標(biāo)函數(shù)值的差值,保證個體適應(yīng)度不為負數(shù)。
步驟404,對所述第二染色體編碼上相同基因位進行染色體交叉操作,獲得第三染色體編碼;
在本發(fā)明實施例中,染色體中的基因代表工序,基因的種類和數(shù)量都是定值,在兩點交叉法的基礎(chǔ)上進行小幅度修改,保證基因的種類和數(shù)量在交叉前后不發(fā)生變化,在兩個父染色體的交叉片段上從前往后逐個查找相同基因進行交換,直至該種基因無法在另一個父染色體的交叉片段上找到相同基因。
步驟405,對所述第三染色體編碼上任意兩個基因位進行染色體互換變異操作,獲得第四染色體編碼;
在本發(fā)明實施例中,由于染色體中基因的種類和數(shù)目都是恒定值,無法使用基本位變異對單個基因進行變異操作。變異的主要目的是為了保證GA算法的局部搜索能力,采用染色體自身基因互換的方法,選擇染色體上的任意兩個基因,將兩個基因的位置進行互換。
步驟406,根據(jù)所述第四染色體編碼,獲得第一工序執(zhí)行序列;
在本發(fā)明實施例中,染色體有工序編碼而成,故而將第四染色體編碼中的信息解讀即可得到第一工序執(zhí)行序列。
步驟407,判斷所述第一工序執(zhí)行序列是否滿足所述調(diào)度問題模型,當(dāng)所述第一工序執(zhí)行序列滿足所述調(diào)度問題模型時,確定所述第一工序執(zhí)行序列為工序執(zhí)行序列;
上述確定所述第一工序執(zhí)行序列為工序執(zhí)行序列,也就是將第一工序執(zhí)行序列替換為工序執(zhí)行序列。
步驟408,當(dāng)所述第一工序執(zhí)行序列不滿足所述調(diào)度問題模型時,重新執(zhí)行所述對所述第一染色體編碼進行染色體選擇操作,獲得第二染色體編碼的步驟。
第五實施例
參見圖5,進一步的,所述將所述工序執(zhí)行序列中的工序分配至工位,獲得工序執(zhí)行時間表的步驟,包括:
步驟501,計算所述工序執(zhí)行序列中的每一工序在可選工位的預(yù)計開工時間;
步驟502,對所述可選工位的預(yù)計開工時間進行比較并按時間順序排序,確定預(yù)計開工時間位于第一預(yù)設(shè)位置的可選工位為執(zhí)行所述工序的工位;
在本文中所述的確定并非特指人為確定,例如本步驟中,確定預(yù)計開工時間位于第一預(yù)設(shè)位置的可選工位為執(zhí)行所述工序的工位,即將排序表中預(yù)設(shè)順位的工位安排為執(zhí)行工位,又例如步驟503中的確定,即獲得可選工位與所述工序的上一工序的執(zhí)行工位間的距離,將距離最短的安排為執(zhí)行工位,類似的確定均是建立在可執(zhí)行的規(guī)則的基礎(chǔ)上。其中,對于預(yù)設(shè)位置均為根據(jù)實驗結(jié)果可預(yù)設(shè)的,例如第一預(yù)設(shè)位置則可是根據(jù)序列從前到后分配,計算該工序在每個可選工位的預(yù)計開工時間(預(yù)計開工時間為該工序前一道工序的完工時間或者是該工位上一道工序的完工時間),選擇其中較晚者,因位于第一位的在實際執(zhí)行中難以即可到達,即可開工,故而順序選擇其中較晚者,該預(yù)設(shè)位置的確定可根據(jù)實驗和實際情況確定,例如第一預(yù)設(shè)位置為排序中的第2~4位,對于下述的第二預(yù)設(shè)位置的選擇也與此類似。
步驟503,當(dāng)所述可選工位的預(yù)計開工時間存在相同時間時,獲得所述可選工位與所述工序的上一工序的執(zhí)行工位間的距離,確定距離最短的工位為執(zhí)行所述工序的工位;
步驟504,當(dāng)所述工序為任一支線的第一道工序時,確定所述支線的第一道工序的開工時間為所述支線的第一道工序在所述工序執(zhí)行序列中的上一工序的完工時間;
步驟505,當(dāng)所述工序為任一主線或輔線的第一道工序時,確定執(zhí)行所述工序的工位的上一工序的完工時間為所述工序的開工時間;
步驟506,當(dāng)所述工序為分支匯合節(jié)點的工序時,對匯合至所述節(jié)點的工序的完工時間進行排序,確定第二預(yù)設(shè)位置的工序的完工時間為所述工序的開工時間;
步驟507,根據(jù)所述開工時間,獲得工序執(zhí)行時間表。
在本發(fā)明實施例中,工序執(zhí)行序列已經(jīng)通過遺傳算法求得,將該序列上的工序按照規(guī)則分配到各個工位,進而求得工序執(zhí)行時間表。分配規(guī)則:1)選擇可行最早開工時間,根據(jù)序列從前到后分配,計算該工序在每個可選工位的預(yù)計開工時間(預(yù)計開工時間為該工序前一道工序的完工時間或者是該工位上一道工序的完工時間),選擇其中較晚者,如果該工序在兩個或兩個以上的工位都具有相同的最早完工時間,則選擇離上一道工序執(zhí)行工位較近的工位;2)任意支線的第一道工序的開工時間為前一道工序的完工時間,如若該工序是主線或者輔線上的第一道工序,則直接采用所選工位上一道工序的完工時間;3)分支匯合節(jié)點的開工時間計算,分支匯合節(jié)點的開工時間不僅需要考慮所選工位上一道工序的完工時間和主線的上一道工序的完工時間,還要比較不同分支的上一道工序的完工時間,選擇其中較晚者作為開工時間。
第六實施例
參見圖6,進一步的,所述根據(jù)裝配工藝參數(shù)及工序執(zhí)行時間表,獲得資源使用時間表的步驟包括:
步驟601,根據(jù)所述工序執(zhí)行時間表,獲取每一工序的開工時間和完工時間;
步驟602,確定位于每一工序的開工時間和完工時間之間的預(yù)設(shè)時間點為每一工序的資源變動點,獲取每一資源變動點的資源變動數(shù)據(jù);
步驟603,根據(jù)所述資源變動數(shù)據(jù),獲取第一資源使用時間表;
步驟604,判斷所述第一資源使用時間表是否滿足所述調(diào)度問題模型,當(dāng)所述第一資源使用時間表滿足所述調(diào)度問題模型時,將所述第一資源使用時間表替換為資源使用時間表;
步驟605,當(dāng)所述第一資源使用時間表不滿足所述調(diào)度問題模型時,根據(jù)所述第四染色體編碼,獲得第二工序執(zhí)行序列,根據(jù)所述第二工序執(zhí)行序列,獲取工序執(zhí)行時間表,重新執(zhí)行所述根據(jù)所述工序執(zhí)行時間表,獲取每一工序的開工時間和完工時間的步驟,其中,所述第二工序執(zhí)行序列的優(yōu)先級小于所述第一工序執(zhí)行序列的優(yōu)先級。
在本發(fā)明實施例中,由于裝配工藝參數(shù)(工藝文件)中對所需人員數(shù)量、物料、機器設(shè)備等工藝基礎(chǔ)信息有明確的要求,根據(jù)工序執(zhí)行時間表分步求得各類資源使用時間表,以人員派工時間表和物料配送時間表為例,獲取工序執(zhí)行時間表中各工序的開工時間Ps和完工時間Pe作為時間點,以時間點T作為資源變動點,遍歷工序,當(dāng)Ps≤T<Pe時,記錄該工序的人員和物料的“種類”和數(shù)量,統(tǒng)計資源變動點的工序資源記錄,生成資源使用時間表。將資源使用時間表與車間資源進行匹配,如無法滿足車間資源限制,則選擇種群中次優(yōu)染色體再一次計算(在本發(fā)明實施例中,上述工序執(zhí)行序列即最優(yōu)染色體解碼獲得,當(dāng)該最優(yōu)染色體不滿足調(diào)度問題模型時,即使用次優(yōu)染色體進行計算,直至滿足條件,其中,對于最優(yōu)染色體和次優(yōu)染色體,在本發(fā)明實施例中的遺傳算法計算后已全部獲得,無需再次運算),求取最優(yōu)染色體,如此循環(huán)往復(fù)。
第七實施例
參見圖7,進一步的,當(dāng)所述工序執(zhí)行變動信息為工序執(zhí)行時間變動時,所述根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表的步驟,包括:
步驟701,將位于執(zhí)行時間變動的工序后的工序按變動時間依次移動,并形成第二工序執(zhí)行時間表;
步驟702,判斷所述第二工序執(zhí)行時間表是否滿足所述調(diào)度問題模型,當(dāng)所述第二工序執(zhí)行時間表滿足所述調(diào)度問題模型時,將所述第二工序執(zhí)行時間表替換為工序執(zhí)行時間表,并更新所述工序執(zhí)行時間表和資源使用時間表;
步驟703,當(dāng)所述第二工序執(zhí)行時間表不滿足所述調(diào)度問題模型時,重新執(zhí)行所述根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟,并根據(jù)重新獲取的工序執(zhí)行時間表和資源使用時間表,更新所述工序執(zhí)行時間表和資源使用時間表。
在本發(fā)明實施例中,對于工序執(zhí)行時間變動,將后續(xù)工序依次移動,形成滿足約束要求的時間表,如果無法通過微調(diào)獲得新時間表(即獲得的不滿足調(diào)度問題模型),則重新計算。
第八實施例
參見圖8,進一步的,當(dāng)所述工序執(zhí)行變動信息為工序暫停時,所述根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表的步驟,包括:
步驟801,判斷暫停工序的前后工序是否存在跨序操作工序;
步驟802,當(dāng)存在跨序操作工序時,對所述跨序操作工序及未完成工序重新執(zhí)行所述根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟,并根據(jù)重新獲取的工序執(zhí)行時間表和資源使用時間表,更新所述工序執(zhí)行時間表和資源使用時間表;
步驟803,當(dāng)不存在跨序操作工序時,對不包括所述暫停工序及與所述暫停工序相關(guān)的工序的未完成工序重新執(zhí)行所述根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟,并根據(jù)重新獲取的工序執(zhí)行時間表和資源使用時間表,更新所述工序執(zhí)行時間表和資源使用時間表;
步驟804,當(dāng)所述暫停工序恢復(fù)時,將所述暫停工序及與所述暫停工序相關(guān)的工序作為工序新增,執(zhí)行所述根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表的步驟。
在本發(fā)明實施例中,對于工序暫停,由于難以確定工序的暫停時間,在生成新的時間表時,不計算該工序所屬任務(wù),直到“被暫停工序”恢復(fù),將其作為新任務(wù)插入到時間表中,重新計算。車間管理人員指定跨序操作工序,被選擇的工序加入時間表執(zhí)行重調(diào)度(即前述的更新)。
第九實施例
參見圖9,進一步的,當(dāng)所述工序執(zhí)行變動信息為工序新增或工序取消時,所述根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表的步驟,包括:
步驟901,當(dāng)新增工序或取消工序時,重新執(zhí)行所述根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟,并根據(jù)重新獲取的工序執(zhí)行時間表和資源使用時間表,更新所述工序執(zhí)行時間表和資源使用時間表。
在本發(fā)明實施例中,對于工序新增和工序取消,一旦發(fā)生工序新增和工序取消,則直接進行重調(diào)度計算(即前述更新),生成新的時間表。
參見圖10至圖13,下述為對本發(fā)明實施例的生產(chǎn)調(diào)度方法的驗證,設(shè)定三個任務(wù)(對應(yīng)圖10~12),確定完成任務(wù)所需的額定工時、工位、人員、物料等數(shù)據(jù),如圖10~13和表2和表4所示,車間資源條件能否滿足生產(chǎn)要求,將直接決定調(diào)度的結(jié)果是否可行。首先,在不考慮資源限制的情況下生成最優(yōu)調(diào)度方案,其次,在考慮可重用資源(人員)和不可重用資源(物料)下,生成可行最優(yōu)調(diào)度方案,用于理想環(huán)境下調(diào)度方案的實施,車間資源限制如表4所示。
表2人員、工位的需求表
表3物料、額定工時表
表4車間資源限制
設(shè)定初始調(diào)度方案(即第一次調(diào)度,未包括工序執(zhí)行變動信息)中遺傳算法的相關(guān)變量,其中迭代次數(shù)為50、種群數(shù)量為60、交叉概率0.7、變異概率為0.05,運算結(jié)果中的最優(yōu)染色體的適應(yīng)度曲線如圖13所示??尚凶顑?yōu)染色體的適應(yīng)度和最優(yōu)染色體的適應(yīng)度之間有著較大差距,選取各自適應(yīng)度最高點,生成對應(yīng)的調(diào)度時間表,如表5所示。求得人員需求時間表和物料需求時間表,通過比對資源使用時間表和車間資源限制,車間資源滿足所求得的人員需求時間表,但無法滿足物料需求時間表,在工序3-7開工時,所需物料17還未能采購到位,阻礙了該工序的執(zhí)行。
表5最優(yōu)染色體的工序執(zhí)行時間表
物料缺失使得工序暫停,打亂時間表的執(zhí)行,觸發(fā)了時間表的重調(diào)度流程(即產(chǎn)生工序執(zhí)行變動信息,需更新所述工序執(zhí)行時間表和資源使用時間表),獲取各工位的最早可開工時間和需重調(diào)度工序集,使用調(diào)度算法再次進行計算。在最優(yōu)染色體的工序時間表中,工序3-7在物料缺失時暫停,經(jīng)由車間管理人員裁定工序3-8和工序3-9可以進行跨序操作,未開工工序為開始時間大于42小時的工序,在時間表中,只有工序3-8和3-9是未開工工序,獲取各工位最早開工時間,工位1的最早開工時間為第42小時,工位2的最早開工時間為第42小時,工位3的最早開工時間為第47小時,重新計算后,工序3-8的執(zhí)行時間是[42,45],工序3-9的執(zhí)行時間是[47,48],工序3-7的執(zhí)行時間是[50,56]。
在該實施例中只考慮了人員和物料約束,但包含了對可重用資源和不可重用資源的兩種不同的處理方式,可進一步擴展機器設(shè)備等資源限制,算法對車間現(xiàn)場復(fù)雜資源環(huán)境限制具備擴展能力。
第十實施例
參見圖14,本發(fā)明實施例提供了一種生產(chǎn)調(diào)度系統(tǒng),包括:工藝信息模塊1、裝配任務(wù)模塊2和生產(chǎn)執(zhí)行模塊3,
其中,所述工藝信息模塊1包括:第一獲取單元11,所述第一獲取單元11用于獲取當(dāng)前生產(chǎn)裝配任務(wù)的裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù);
所述裝配任務(wù)模塊2包括:第二獲取單元21,所述第二獲取單元21用于根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表;
其中,所述調(diào)度問題模型中包括:最小完工時間的調(diào)度目標(biāo)、工位執(zhí)行約束、工位種類約束、完工時間要求約束、工序優(yōu)先級約束和資源使用約束;
所述生產(chǎn)執(zhí)行模塊3包括:生成單元31,所述生成單元31用于依據(jù)所述工序執(zhí)行時間表和資源使用時間表生成裝配調(diào)度信息。
其中,工藝基礎(chǔ)信息模塊用于工藝師編制工藝文件,將工藝結(jié)構(gòu)化信息輸入并存儲到系統(tǒng)中,工藝基礎(chǔ)信息包括工藝流程圖、工藝資源需求、工序基礎(chǔ)信息等。工藝流程圖模塊表示工序之間的優(yōu)先級關(guān)系,工藝的資源需求信息主要有執(zhí)行該工序所需的零件、標(biāo)準(zhǔn)件、工裝工具、輔助材料、儀器設(shè)備和元器件信息,工序基礎(chǔ)信息包含額定工時、工位、工種、人員數(shù)量等信息。
進一步的,所述第二獲取單元21用于根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表中,所述第二獲取單元21包括:
第三獲取單元,用于獲取當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行變動信息;
更新單元,用于根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表;
其中,所述工序執(zhí)行變動信息包括:工序執(zhí)行時間變動、工序暫停、工序新增和工序取消。
進一步的,所述最小完工時間的調(diào)度目標(biāo)具體為:
f=max(min{RT1-(T1K+b1K),RT2-(T2K+b2K),...,RTj-(TjK+bjK)})
其中,TjK是任務(wù)j的最后一道工序的開始時間,bjK是任務(wù)j的最后一道工序的預(yù)設(shè)執(zhí)行時間,RTj是任務(wù)j的預(yù)設(shè)完成時間,K是任務(wù)j下工序的數(shù)量。
進一步的,所述工位執(zhí)行約束具體為:
j1,j2∈[1,J],k1,k2∈[1,K],j1≠j2或k1≠k2;
其中,TjK是任務(wù)j的最后一道工序的開始時間,bjK是任務(wù)j的最后一道工序的預(yù)設(shè)執(zhí)行時間,Pjk是任務(wù)j的第k道工序,PWnt是工位Wnt上執(zhí)行的工序的集合。
進一步的,所述工位種類約束具體為:
PWn∈PRW;
其中,PRW是工序要求的工位種類的集合,PWn是為工序分配的工位種類。
進一步的,所述完工時間要求約束具體為:
TjK+bjK≤RTj;
其中,TjK是任務(wù)j的最后一道工序的開始時間,bjK是任務(wù)j的最后一道工序的預(yù)設(shè)執(zhí)行時間,RTj是任務(wù)j的預(yù)設(shè)完成時間。
進一步的,所述工序優(yōu)先級約束具體為:
其中,P1k為子工序,P2k父工序,數(shù)值0表示工序P1k與P2k之間沒有父子關(guān)系,1表示工序P1k與P2k之間存在父子關(guān)系,為工序P12的開始執(zhí)行時間,為工序P21的開始執(zhí)行時間,是工序P21的執(zhí)行時間。
進一步的,所述資源使用約束具體為:
其中,NDA表示第A個工序占用D資源的數(shù)量,D是資源種類編號,A表示現(xiàn)有裝配線上工序總和,是第A1道工序的開始時間,是第A1道工序的執(zhí)行時間,F(xiàn)Dk表示第k個工序所處時間段中D資源被占用的數(shù)量,F(xiàn)RDk表示D資源在第k道工序的時間段內(nèi)車間中擁有的數(shù)量。
進一步的,所述第二獲取單元21用于根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表中,所述第二獲取單元21包括:
第四獲取單元,用于根據(jù)以遺傳算法為基礎(chǔ)的生產(chǎn)調(diào)度算法,及所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),對所述調(diào)度問題模型進行求解,獲得工序執(zhí)行序列;
第五獲取單元,用于將所述工序執(zhí)行序列中的工序分配至工位,獲得工序執(zhí)行時間表;
第六獲取單元,用于根據(jù)裝配工藝參數(shù)及工序執(zhí)行時間表,獲得資源使用時間表;
其中,所述資源使用時間表包括:可重用資源使用時間表和不可重用資源使用時間表。
進一步的,所述第四獲取單元用于根據(jù)以遺傳算法為基礎(chǔ)的生產(chǎn)調(diào)度算法,及所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),對所述調(diào)度問題模型進行求解,獲得工序執(zhí)行序列中,所述第四獲取單元包括:
第一獲取子單元,用于根據(jù)裝配工藝參數(shù),獲得工位信息和工序信息;
編碼單元,用于依據(jù)遺傳算法,對所述工位信息和工序信息進行染色體編碼,形成第一染色體編碼,其中所述第一染色體編碼包括多個基因,每一基因包括工序可選工位信息、工序所屬線路信息、工序預(yù)設(shè)工時信息;
選擇單元,用于對所述第一染色體編碼進行染色體選擇操作,獲得第二染色體編碼;
交叉單元,用于對所述第二染色體編碼上相同基因位進行染色體交叉操作,獲得第三染色體編碼;
變異單元,用于對所述第三染色體編碼上任意兩個基因位進行染色體互換變異操作,獲得第四染色體編碼;
第二獲取子單元,用于根據(jù)所述第四染色體編碼,獲得第一工序執(zhí)行序列;
第一判斷單元,用于判斷所述第一工序執(zhí)行序列是否滿足所述調(diào)度問題模型,當(dāng)所述第一工序執(zhí)行序列滿足所述調(diào)度問題模型時,確定所述第一工序執(zhí)行序列為工序執(zhí)行序列,
當(dāng)所述第一工序執(zhí)行序列不滿足所述調(diào)度問題模型時,重新執(zhí)行所述對所述第一染色體編碼進行染色體選擇操作,獲得第二染色體編碼的步驟。
進一步的,所述第五獲取單元用于將所述工序執(zhí)行序列中的工序分配至工位,獲得工序執(zhí)行時間表中,所述第五獲取單元包括:
計算單元,用于計算所述工序執(zhí)行序列中的每一工序在可選工位的預(yù)計開工時間;
確定單元,用于對所述可選工位的預(yù)計開工時間進行比較并按時間順序排序,確定預(yù)計開工時間位于第一預(yù)設(shè)位置的可選工位為執(zhí)行所述工序的工位,
當(dāng)所述可選工位的預(yù)計開工時間存在相同時間時,獲得所述可選工位與所述工序的上一工序的執(zhí)行工位間的距離,確定距離最短的工位為執(zhí)行所述工序的工位,
當(dāng)所述工序為任一支線的第一道工序時,確定所述支線的第一道工序的開工時間為所述支線的第一道工序在所述工序執(zhí)行序列中的上一工序的完工時間,
當(dāng)所述工序為任一主線或輔線的第一道工序時,確定執(zhí)行所述工序的工位的上一工序的完工時間為所述工序的開工時間,
當(dāng)所述工序為分支匯合節(jié)點的工序時,對匯合至所述節(jié)點的工序的完工時間進行排序,確定第二預(yù)設(shè)位置的工序的完工時間為所述工序的開工時間;
第三獲取子單元,用于根據(jù)所述開工時間,獲得工序執(zhí)行時間表。
進一步的,所述第六獲取單元用于根據(jù)裝配工藝參數(shù)及工序執(zhí)行時間表,獲得資源使用時間表中,所述第六獲取單元包括:
第四獲取子單元,用于根據(jù)所述工序執(zhí)行時間表,獲取每一工序的開工時間和完工時間;
第五獲取子單元,用于確定位于每一工序的開工時間和完工時間之間的預(yù)設(shè)時間點為每一工序的資源變動點,獲取每一資源變動點的資源變動數(shù)據(jù);
第六獲取子單元,用于根據(jù)所述資源變動數(shù)據(jù),獲取第一資源使用時間表;
第二判斷單元,用于判斷所述第一資源使用時間表是否滿足所述調(diào)度問題模型,當(dāng)所述第一資源使用時間表滿足所述調(diào)度問題模型時,將所述第一資源使用時間表替換為資源使用時間表,
當(dāng)所述第一資源使用時間表不滿足所述調(diào)度問題模型時,根據(jù)所述第四染色體編碼,獲得第二工序執(zhí)行序列,根據(jù)所述第二工序執(zhí)行序列,獲取工序執(zhí)行時間表,重新執(zhí)行所述根據(jù)所述工序執(zhí)行時間表,獲取每一工序的開工時間和完工時間的步驟,其中,所述第二工序執(zhí)行序列的優(yōu)先級小于所述第一工序執(zhí)行序列的優(yōu)先級。
進一步的,當(dāng)所述工序執(zhí)行變動信息為工序執(zhí)行時間變動時,所述更新單元用于根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表,所述更新單元還用于:
將位于執(zhí)行時間變動的工序后的工序按變動時間依次移動,并形成第二工序執(zhí)行時間表;
判斷所述第二工序執(zhí)行時間表是否滿足所述調(diào)度問題模型,當(dāng)所述第二工序執(zhí)行時間表滿足所述調(diào)度問題模型時,將所述第二工序執(zhí)行時間表替換為工序執(zhí)行時間表,并更新所述工序執(zhí)行時間表和資源使用時間表;
當(dāng)所述第二工序執(zhí)行時間表不滿足所述調(diào)度問題模型時,重新執(zhí)行所述根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟,并根據(jù)重新獲取的工序執(zhí)行時間表和資源使用時間表,更新所述工序執(zhí)行時間表和資源使用時間表。
進一步的,當(dāng)所述工序執(zhí)行變動信息為工序暫停時,所述更新單元用于根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表,所述更新單元還用于:
判斷暫停工序的前后工序是否存在跨序操作工序;
當(dāng)存在跨序操作工序時,對所述跨序操作工序及未完成工序重新執(zhí)行所述根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟,并根據(jù)重新獲取的工序執(zhí)行時間表和資源使用時間表,更新所述工序執(zhí)行時間表和資源使用時間表;
當(dāng)不存在跨序操作工序時,對不包括所述暫停工序及與所述暫停工序相關(guān)的工序的未完成工序重新執(zhí)行所述根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟,并根據(jù)重新獲取的工序執(zhí)行時間表和資源使用時間表,更新所述工序執(zhí)行時間表和資源使用時間表;
當(dāng)所述暫停工序恢復(fù)時,將所述暫停工序及與所述暫停工序相關(guān)的工序作為工序新增,執(zhí)行所述根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表的步驟。
進一步的,當(dāng)所述工序執(zhí)行變動信息為工序新增或工序取消時,所述更新單元用于根據(jù)所述工序執(zhí)行變動信息,更新所述工序執(zhí)行時間表和資源使用時間表,所述更新單元還用于:
當(dāng)新增工序或取消工序時,重新執(zhí)行所述根據(jù)所述裝配工藝參數(shù)和實際生產(chǎn)約束參數(shù),并依據(jù)預(yù)先設(shè)定的調(diào)度問題模型,獲得當(dāng)前生產(chǎn)裝配任務(wù)的工序執(zhí)行時間表和資源使用時間表的步驟,并根據(jù)重新獲取的工序執(zhí)行時間表和資源使用時間表,更新所述工序執(zhí)行時間表和資源使用時間表。
綜上,本發(fā)明實施例有效解決了復(fù)雜產(chǎn)品離散裝配難的問題,通過預(yù)先構(gòu)建的調(diào)度問題模型給出針對復(fù)雜產(chǎn)品離散裝配車間的工序執(zhí)行時間表和資源使用時間表,并根據(jù)工序執(zhí)行時間表和資源使用時間表生成裝配調(diào)度信息,滿足了復(fù)雜產(chǎn)品離散裝配車間的調(diào)度。同時,本發(fā)明實施例還根據(jù)可能發(fā)生的工序執(zhí)行變動信息對工序執(zhí)行時間表和資源使用時間表進行更新,進而生成更新后的裝配調(diào)度信息,滿足了離散裝配車間的復(fù)雜調(diào)度,可以有效提高離散裝配車間生產(chǎn)效率。
還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含。
以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。