本發(fā)明屬于生產(chǎn)調(diào)度技術(shù)領(lǐng)域,具體的說是一種基于需求驅(qū)動的不相容工件組在線分批加工方法。
背景技術(shù):
調(diào)度在大多數(shù)生產(chǎn)制造系統(tǒng)以及信息處理環(huán)境中扮演著重要的角色。在生產(chǎn)制造業(yè)中,合理的調(diào)度方案可以大幅提高生產(chǎn)效益和資源利用率,節(jié)省生產(chǎn)成本,從而增強企業(yè)的競爭力,推動生產(chǎn)制造業(yè)的發(fā)展。不相容工件組的分批加工問題屬于調(diào)度問題,其廣泛存在于生產(chǎn)生活中,如鋼鐵生產(chǎn)、生物制藥、金屬鍍膜和貨物運輸?shù)?。由于生產(chǎn)調(diào)度問題的廣泛性和重要性,國內(nèi)外學者對該領(lǐng)域進行了深入的研究;但是,過去的研究主要集中在工件加工信息確定的問題。lozano等人以安防玻璃制造為研究背景,針對安防玻璃的預熱、加工和冷卻等分批加工過程進行優(yōu)化控制,其中相同防護等級的待制品屬于相容工件組,并且假設工件的處理時間確定可知,見文獻lozanoaj,medagliaa.schedulingofparallelmachineswithsequence-dependentbatchesandproductincompatibilitiesinanautomotiveglassfacility[j].journalofscheduling,2014,17(6):521-540。
由于現(xiàn)實生產(chǎn)環(huán)境中的調(diào)度問題通常是多約束、多目標、具有隨機性的不確定優(yōu)化問題。通過確定性調(diào)度方法獲得的調(diào)度方案應用在調(diào)度信息具有隨機性的現(xiàn)實生產(chǎn)環(huán)境中,將引起生產(chǎn)系統(tǒng)不能長期穩(wěn)定運行、加工浪費以及生產(chǎn)效率低下等現(xiàn)象。此外,已有生產(chǎn)系統(tǒng)通常以最大化系統(tǒng)生產(chǎn)效率為目標;但是在現(xiàn)代化市場中,顧客或下游廠商對產(chǎn)品具有個性化和隨機性需求,所以單純的以生產(chǎn)效率最大化為目標的企業(yè)必將出現(xiàn)產(chǎn)能過剩和生產(chǎn)浪費現(xiàn)象。
技術(shù)實現(xiàn)要素:
本發(fā)明是為解決上述現(xiàn)有技術(shù)存在的不足之處,提出一種基于需求驅(qū)動的不相容工件組在線分批加工方法,以期能對需求驅(qū)動下的生產(chǎn)加工系統(tǒng)進行有效的在線優(yōu)化控制,從而能在滿足隨機需求的同時減少生產(chǎn)資源以及庫存空間的浪費。
本發(fā)明為解決技術(shù)問題采用如下技術(shù)方案:
本發(fā)明一種基于需求驅(qū)動的不相容工件組在線分批加工方法的特點是應用于由傳送帶、工件、自動搬運設備、緩存庫、批處理機器和成品庫組成的在線生產(chǎn)系統(tǒng)中;在所述在線生產(chǎn)系統(tǒng)中,工件隨機到達,并存放在所述緩沖庫中等待所述批處理機器加工,加工完成的工件存放在所述成品庫中;假設所述緩沖庫和成品庫中各存在m個不相容工件組,令所述緩沖庫中屬于第j個不相容工件組的工件個數(shù)為bfj、所述成品庫中屬于第j個不相容工件組的工件個數(shù)為bkj;從所述成品庫的m個不相容工件組中各取一個工件所形成的一套成品即能響應隨機到達的一次需求;所述基于需求驅(qū)動的不相容工件組在線分批加工方法是按如下步驟進行:
步驟1、定義所述在線生產(chǎn)系統(tǒng)的狀態(tài)空間φ={s|s=(bf1,bf2,…,bfm,bk1,bk2,…,bkm)},其中,s為所述狀態(tài)空間φ中的任一狀態(tài),s∈φ;
定義所述在線生產(chǎn)系統(tǒng)的行動空間為d={v0,v1,…,vj,…,vm};v0表示所述批處理機器等待一個工件到達緩沖庫中,vj表示所述批處理機器選擇第j個不相容工件組進行加工;
定義所述在線生產(chǎn)系統(tǒng)的決策時刻為所述批處理機器空閑,且有一個工件到達所述緩沖庫的時刻,或為所述批處理機器完成加工的時刻;
步驟2、利用所述在線生產(chǎn)系統(tǒng)在所有歷史狀態(tài)下所采取的行動來初始化控制策略表;
步驟3、定義變量k,并初始化k=1,設置玻爾茲曼常數(shù)k和溫度t;
定義q值表中的元素為狀態(tài)-行動對值,并初始化所述q值表中的元素均為“0”;
步驟4、在所述在線生產(chǎn)系統(tǒng)的第k個決策時刻,觀察所述在線生產(chǎn)系統(tǒng)的當前狀態(tài)并記為sk,令所述第k個決策時刻的當前狀態(tài)sk在q值表中所對應的狀態(tài)記為s′,則sk=s′;令所述第k個決策時刻的當前狀態(tài)sk下采取的行動記為
步驟5、利用式(1)計算所述在線生產(chǎn)系統(tǒng)從第k個決策時刻的當前狀態(tài)sk,采取行動
式(1)中,n表示所述狀態(tài)轉(zhuǎn)移過程中產(chǎn)生隨機需求的總數(shù);r表示所述狀態(tài)轉(zhuǎn)移過程中隨機需求得到響應的次數(shù),并有r=min(min(bk1,bk2,…,bkm),n);w表示一次需求未得到響應所產(chǎn)生的懲罰代價;lj表示所述成品庫中單位時間存儲第j個不相容工件組的代價;δti表示第i次需求與第i+1次需求的時間間隔,i=0時表示第k個決策時刻與第i+1次需求的時間間隔,i=r時表示第r次需求與第k+1個決策時刻的時間間隔;
步驟6、利用式(2)和式(3)所示的差分公式和q值更新公式,更新所述q值表中當前狀態(tài)sk下采取行動
式(2)中,δtk,k+1表示第k個決策時刻與第k+1個決策時刻的時間間隔;
式(3)中,
步驟7、選擇更新后q值表中每行最小的狀態(tài)-行動對值所對應的行動構(gòu)成當前行動集合,并利用當前行動集合更新所述控制策略表;
步驟8、將k+1賦值給k,并返回步驟4,直到所述控制策略表不再變化為止,從而以最終的控制策略表對m個不相容工件組進行在線分批加工。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:
1、本發(fā)明以最大化需求滿足率和最小化工件的存儲代價為優(yōu)化目標,通過q學習方法對不相容工件組的在線分批加工問題進行優(yōu)化控制;相比單純以最大化生產(chǎn)效率為目標的生產(chǎn)加工,本發(fā)明在滿足了隨機需求的同時,減少了生產(chǎn)資源以及庫存空間的浪費。
2、本發(fā)明以緩沖庫和成品庫為在線生產(chǎn)系統(tǒng)的聯(lián)合狀態(tài);以批處理機器空閑,且有一個工件到達緩沖庫的時刻,或批處理機器完成加工的時刻為決策時刻;把工件隨機到達的在線生產(chǎn)加工過程描述為半markov決策過程,并根據(jù)系統(tǒng)的實時狀態(tài)采取相應行動;因此本發(fā)明能夠有效的處理工件和需求隨機到達的不相容工件組在線分批加工問題。
3、本發(fā)明通過q學習方法對不相容工件組的在線分批加工問題進行優(yōu)化控制,相比理論求解方法,本發(fā)明不需要模型的完整參數(shù),并且可以根據(jù)實際生產(chǎn)系統(tǒng)的加工過程進行在線學習;
4、本發(fā)明給出的生產(chǎn)調(diào)度方法,實現(xiàn)簡單且效果明顯,可用于生物制藥、金屬鍍膜等帶有不相容工件組的生產(chǎn)調(diào)度問題。
附圖說明
圖1為本發(fā)明方法流程圖;
圖2為本發(fā)明在線生產(chǎn)系統(tǒng)的示意圖。
具體實施方式
本實施例中,一種基于需求驅(qū)動的不相容工件組在線分批加工方法,應用于如圖2所示傳送帶1、工件2、自動化搬運設備4、緩存庫5、批處理機器6和成品庫7組成的在線生產(chǎn)系統(tǒng)中;在線生產(chǎn)系統(tǒng)中,工件2沿傳送帶1隨機到達,且工件2分別屬于m個不相容工件組;不相容工件組是指屬于不同組的工件不能被安排在同一批中加工。隨機到達的工件2在固定撿取點3處,由自動化搬運設備4撿取到緩沖庫5中等待批處理機器6加工,加工完成的工件2存放在成品庫7中;并且批處理機器6的容量有限。假設緩沖庫5和成品庫7中各存在m個不相容工件組,令緩沖庫5中屬于第j個不相容工件組的工件個數(shù)為bfj、成品庫7中屬于第j個不相容工件組的工件個數(shù)為bkj;從成品庫7的m個不相容工件組中各取一個工件所形成的一套成品即能響應隨機到達的一次需求。
如圖1所示,該基于需求驅(qū)動的不相容工件組在線分批加工方法是按如下步驟進行:
步驟1、定義在線生產(chǎn)系統(tǒng)的狀態(tài)空間φ={s|s=(bf1,bf2,…,bfm,bk1,bk2,…,bkm)},其中,s為狀態(tài)空間φ中的任一狀態(tài),s∈φ;
定義在線生產(chǎn)系統(tǒng)的行動空間為d={v0,v1,…,vj,…,vm};v0表示批處理機器6等待一個工件2到達緩沖庫5中,vj表示批處理機器6選擇第j個不相容工件組進行加工;
定義在線生產(chǎn)系統(tǒng)的決策時刻為批處理機器空閑,且有一個工件到達緩沖庫的時刻,或為批處理機器完成加工的時刻;
步驟2、利用在線生產(chǎn)系統(tǒng)在所有歷史狀態(tài)下所采取的行動來初始化控制策略表;控制策略表如
步驟3、定義變量k,并初始化k=1;設置玻爾茲曼常數(shù)k和溫度t;
定義q值表中的元素為狀態(tài)-行動對值,并初始化q值表中的元素均為“0”;q值表的形
式如
步驟4、在線生產(chǎn)系統(tǒng)的第k個決策時刻,通過傳感器等設備獲得緩沖庫5和成品庫7中工件2存儲情況,并得到在線生產(chǎn)系統(tǒng)的當前狀態(tài)sk;令第k個決策時刻的當前狀態(tài)sk在q值表中所對應的狀態(tài)記為s′,則sk=s′;令第k個決策時刻的當前狀態(tài)sk下采取的行動記為
步驟5、利用式(1)計算在線生產(chǎn)系統(tǒng)從第k個決策時刻的當前狀態(tài)sk,采取行動
式(1)中,n表示狀態(tài)轉(zhuǎn)移過程中產(chǎn)生隨機需求的總數(shù);r表示狀態(tài)轉(zhuǎn)移過程中隨機需求得到響應的次數(shù),并有r=min(min(bk1,bk2,…,bkm),n);w表示一次需求未得到響應所產(chǎn)生的懲罰代價;lj表示成品庫中單位時間存儲第j個不相容工件組的代價;δti表示第i次需求與第i+1次需求的時間間隔,i=0時表示第k個決策時刻與第i+1次需求的時間間隔;i=r時表示第r次需求與第k+1個決策時刻的時間間隔;
步驟6、利用式(2)和式(3)所示的差分公式和q值更新公式,更新q值表中當前狀態(tài)sk下采取行動
式(2)中,δtk,k+1表示第k個決策時刻與第k+1個決策時刻的時間間隔;
式(3)中,
步驟7、選擇更新后q值表中每行最小的狀態(tài)-行動對值所對應的行動構(gòu)成當前行動集合,并利用當前行動集合更新控制策略表;
步驟8、將k+1賦值給k,并返回步驟4,直到控制策略表不再變化為止,從而以最終的控制策略表對m個不相容工件組進行在線分批加工。