本發(fā)明屬于生產(chǎn)調度領域,具體的說是一種考慮前視距離的相容工件族的優(yōu)化控制方法。
背景技術:
隨著科學技術的發(fā)展,生產(chǎn)規(guī)模逐步擴大,復雜性也越來越高,因此對生產(chǎn)過程的管理、監(jiān)控和決策的要求有所提高。生產(chǎn)調度是將優(yōu)先的資源分配給在一定時間內的不同任務的決策過程,它需要在滿足各種系統(tǒng)約束的條件下使某個或某些性能指標最優(yōu)。生產(chǎn)調度作為現(xiàn)代化生產(chǎn)作業(yè)中的核心內容,對提高生產(chǎn)效率、提高生產(chǎn)資源的利用率、降低生產(chǎn)成本等具有重要的作用,因此生產(chǎn)調度在現(xiàn)實生產(chǎn)環(huán)境中有著廣泛應用,如半導體芯片制造系統(tǒng),鋼鐵生產(chǎn),帶托盤的車床加工等。
傳統(tǒng)的調度方法都是針對確定性問題,即把生產(chǎn)過程中的很多因素(如工件的到達時間,加工時間等)都當成確定已知的來考慮,并基于此來制定調度方案。由于實際生產(chǎn)中含有很多隨機性的不確定因素,因此隨機調度問題在近年來受到了廣泛的關注,相容工件族的隨機調度是其中很重要的一類。但是在現(xiàn)有的對隨機調度問題進行優(yōu)化控制的方法中,如一些啟發(fā)式規(guī)則和元啟發(fā)式規(guī)則,較少考慮到未來工件到達信息,不能針對未來工件的到達情況對調度方案做出及時調整,因此還存在著浪費生產(chǎn)資源,生產(chǎn)率不夠高的缺點。
技術實現(xiàn)要素:
本發(fā)明是為解決上述現(xiàn)有技術存在的不足之處,提出一種考慮前視距離的相容工件族的優(yōu)化控制方法,以期能在對相容工件族優(yōu)化控制時考慮未來工件到達信息,從而能提高生產(chǎn)系統(tǒng)的生產(chǎn)效率以及降低生產(chǎn)過程中的工件流失率。
本發(fā)明為解決技術問題采用如下技術方案:
本發(fā)明一種考慮前視距離的相容工件族的優(yōu)化控制方法的特點是,所述優(yōu)化控制方法是應用于由傳送帶上傳送的m種工件、自動撿取裝置、m個緩沖庫、容量為k的批處理機和紅外線感知器所構成的單機生產(chǎn)系統(tǒng)中;所述m種工件分別屬于m個不同的工件族,并對所述的m個工件族按加工率降序排序;任意第m個緩沖庫的容量記為nm,并用于存儲屬于第m個工件族的工件;假設所述第m個緩沖庫中存儲的工件數(shù)為nm,nm∈[0,nm];由m個緩沖庫中存儲的工件個數(shù)構成所述單機生產(chǎn)系統(tǒng)的聯(lián)合狀態(tài)s=(n1,n2,…,nm,…,nm);m≥2;
所述紅外線感知器設置在傳送帶的末端,以所述紅外線感知器所在的位置為起點,并以朝向傳送帶的一段傳送距離作為前視距離
定義選擇加工工件族動作為
由所述前視距離
定義決策時刻為批處理機為空閑狀態(tài)且有工件到達緩沖庫,或批處理機完成加工的時刻;
所述優(yōu)化控制方法是按如下步驟進行:
步驟1、定義變量k,并初始化k=1;定義初始決策時刻為第k-1個決策時刻;
定義q值表中的元素為狀態(tài)-動作對值,并初始化初始決策時刻的q值表;
步驟2、利用強化學習算法得到最優(yōu)q值表;
步驟2.1、定義計數(shù)器為g,并初始化g=1;定義最大學習次數(shù)為g;定義貪心概率ε;
步驟2.2、在第k-1個決策時刻,系統(tǒng)的聯(lián)合狀態(tài)為
產(chǎn)生一個隨機數(shù),若所述隨機數(shù)屬于(0,ε),則執(zhí)行所述最優(yōu)動作,若所述隨機數(shù)屬于(ε,1),則執(zhí)行所述其他動作,從而得到第k-1個決策時刻轉移到第k個決策時刻轉移樣本軌道
步驟2.3、利用式(1)計算第k-1個決策時刻轉移到第k個決策時刻過程中的即時代價rk-1,k:
式(1)中,
步驟2.4、利用式(2)對第k-1個決策時刻的狀態(tài)-動作對值
式(2)中,α為學習步長;dk-1表示差分公式,并有:
式(3)中,v表示所述動作空間d中的任一動作;
步驟2.5、判斷g>g是否成立,若成立,表示學習結束,并得到最優(yōu)q值表;否則,令k+1賦值給k后,返回步驟2.2;
步驟3、在第k+g個決策時刻,系統(tǒng)的聯(lián)合狀態(tài)
步驟4、判斷第k+g個決策時刻的前視距離
步驟5、令k+g+1賦值給k+g,并返回步驟3。
與現(xiàn)有技術相比,本發(fā)明的有益效果在于:
1.本發(fā)明用于加工相容工件族的單機生產(chǎn)系統(tǒng)中,通過控制前視距離來平衡工件的到達過程和工件的加工過程,而且還能通過選擇加工工件族動作決定批處理機所加工的批的包含工件情況,以最小化工件的存儲代價和加工過程中的工件流失代價為優(yōu)化目標,通過紅外感知器獲取未來工件到達信息,以系統(tǒng)中各個緩沖庫中工件個數(shù)為聯(lián)合狀態(tài),紅外感知器的前視距離和加工工件族動作為聯(lián)合動作,采用強化學習算法實現(xiàn)了對加工相容工件族的單機生產(chǎn)系統(tǒng)的優(yōu)化控制,從而有效地提高了生產(chǎn)效率,降低了工件的流失率,降低了庫存以及縮短了產(chǎn)品的制造周期。
2.本發(fā)明通過紅外感知器獲取未來工件到達信息,避免了因為不考慮未來工件到達而帶來的誤加工或者誤等待,從而產(chǎn)生了不必要的庫存以及延長產(chǎn)品的制造周期。因此,本發(fā)明能夠有效地平衡生產(chǎn)中的加工和等待過程。
3.本發(fā)明針對的是生產(chǎn)過程中生產(chǎn)信息為隨機的不確定因素,工件隨機到達,批處理機加工完一批工件的時間也是隨機的,每個決策時刻,根據(jù)系統(tǒng)的實時狀態(tài)選擇相應的動作。因此,該發(fā)明相比以往的方法更貼近現(xiàn)實生產(chǎn)環(huán)境。
4.本發(fā)明采用強化學習算法,不需要模型的具體參數(shù),只需根據(jù)生產(chǎn)系統(tǒng)的實際生產(chǎn)過程進行在線學習,從而有效地實現(xiàn)了優(yōu)化控制。
附圖說明
圖1為本發(fā)明方法流程圖;
圖2為本發(fā)明在線生產(chǎn)系統(tǒng)的示意圖。
具體實施方式
本實施例中,一種考慮前視距離的相容工件族的優(yōu)化控制方法,應用于如圖2所示的由傳送帶上傳送的m種工件1、自動撿取裝置2、m個緩沖庫3、容量為k的批處理機4和紅外線感知器5所構成的單機生產(chǎn)系統(tǒng)中;生產(chǎn)系統(tǒng)中m種工件2沿著傳送帶隨機到達,當有工件到達撿取線時,自動撿取裝置2將該工件撿取放入3中相應緩沖庫,該撿取過程的時間不考慮。m種工件分別屬于m個不同的相容工件族,并對這m個工件族按加工率降序排序,相容工件族是指屬于不同族的工件能在同一批中進行加工;任意第m個緩沖庫的容量記為nm,并用于存儲屬于第m個工件族的工件;假設第m個緩沖庫中存儲的工件數(shù)為nm,nm∈[0,nm];由m個緩沖庫中存儲的工件個數(shù)構成該單機生產(chǎn)系統(tǒng)的聯(lián)合狀態(tài)s=(n1,n2,…,nm,…,nm);m≥2;所有可取的狀態(tài)構成了狀態(tài)空間,系統(tǒng)總的狀態(tài)數(shù)為a。容量為k的批處理機4表示該處理機能夠同時加工上限為k個的工件,且屬于每個族的工件都只占用一個單位容量,批處理機4加工完一批工件的時間是隨機的。
紅外線感知器5設置在傳送帶的末端,以紅外線感知器5所在的位置為起點,并以朝向傳送帶的一段傳送距離作為前視距離
定義選擇加工工件族動作為
由前視距離
定義決策時刻為批處理機4為空閑狀態(tài)且有工件到達緩沖庫,或批處理機4完成加工的時刻;
因此這種考慮前視距離的相容工件族的優(yōu)化控制方法,如圖1所示,是按如下步驟進行:
步驟1、定義變量k,并定義初始決策時刻為第k-1個決策時刻;
定義q值表中的元素為狀態(tài)-動作對值,即以系統(tǒng)的狀態(tài)為q值表的行,以系統(tǒng)的動作為q值表的列,
步驟2、利用強化學習算法得到最優(yōu)q值表;
步驟2.1、定義計數(shù)器為g,并初始化g=1;定義最大學習次數(shù)為g;定義貪心概率ε;
步驟2.2、在第k-1個決策時刻,系統(tǒng)的聯(lián)合狀態(tài)為
產(chǎn)生一個隨機數(shù),若隨機數(shù)屬于(0,ε),則執(zhí)行最優(yōu)動作,若隨機數(shù)屬于(ε,1),則執(zhí)行其他動作,從而得到第k-1個決策時刻轉移到第k個決策時刻轉移樣本軌道
步驟2.3、利用式(1)計算第k-1個決策時刻轉移到第k個決策時刻過程中的即時代價rk-1,k:
式(1)中,
步驟2.4、利用式(2)對第k-1個決策時刻的狀態(tài)-動作對值
式(2)中,α為學習步長,一般取0<α<1保證算法的收斂性;dk-1表示差分公式,并有:
式(3)中,v表示動作空間d中的任一動作;
步驟2.5、判斷g>g是否成立,若成立,表示學習結束,并得到最優(yōu)q值表;否則,令k+1賦值給k后,返回步驟2.2。
步驟3、在第k+g個決策時刻,通過傳感器等設備獲得緩沖庫3中各個緩沖庫的工件個數(shù),獲得聯(lián)合狀態(tài)
步驟4、通過紅外感知器5前視并判斷第k+g個決策時刻的前視距離
步驟5、令k+g+1賦值給k+g,并返回步驟3。