一種考慮前視距離的相容工件族的優化控制方法與流程
2023-05-30 15:43:41
本發明屬於生產調度領域,具體的說是一種考慮前視距離的相容工件族的優化控制方法。
背景技術:
隨著科學技術的發展,生產規模逐步擴大,複雜性也越來越高,因此對生產過程的管理、監控和決策的要求有所提高。生產調度是將優先的資源分配給在一定時間內的不同任務的決策過程,它需要在滿足各種系統約束的條件下使某個或某些性能指標最優。生產調度作為現代化生產作業中的核心內容,對提高生產效率、提高生產資源的利用率、降低生產成本等具有重要的作用,因此生產調度在現實生產環境中有著廣泛應用,如半導體晶片製造系統,鋼鐵生產,帶託盤的車床加工等。
傳統的調度方法都是針對確定性問題,即把生產過程中的很多因素(如工件的到達時間,加工時間等)都當成確定已知的來考慮,並基於此來制定調度方案。由於實際生產中含有很多隨機性的不確定因素,因此隨機調度問題在近年來受到了廣泛的關注,相容工件族的隨機調度是其中很重要的一類。但是在現有的對隨機調度問題進行優化控制的方法中,如一些啟發式規則和元啟發式規則,較少考慮到未來工件到達信息,不能針對未來工件的到達情況對調度方案做出及時調整,因此還存在著浪費生產資源,生產率不夠高的缺點。
技術實現要素:
本發明是為解決上述現有技術存在的不足之處,提出一種考慮前視距離的相容工件族的優化控制方法,以期能在對相容工件族優化控制時考慮未來工件到達信息,從而能提高生產系統的生產效率以及降低生產過程中的工件流失率。
本發明為解決技術問題採用如下技術方案:
本發明一種考慮前視距離的相容工件族的優化控制方法的特點是,所述優化控制方法是應用於由傳送帶上傳送的m種工件、自動撿取裝置、m個緩衝庫、容量為k的批處理機和紅外線感知器所構成的單機生產系統中;所述m種工件分別屬於m個不同的工件族,並對所述的m個工件族按加工率降序排序;任意第m個緩衝庫的容量記為nm,並用於存儲屬於第m個工件族的工件;假設所述第m個緩衝庫中存儲的工件數為nm,nm∈[0,nm];由m個緩衝庫中存儲的工件個數構成所述單機生產系統的聯合狀態s=(n1,n2,…,nm,…,nm);m≥2;
所述紅外線感知器設置在傳送帶的末端,以所述紅外線感知器所在的位置為起點,並以朝向傳送帶的一段傳送距離作為前視距離lmax表示最大前視距離;
定義選擇加工工件族動作為pm表示所述批處理機加工由前m個工件族所構成的批;
由所述前視距離和選擇加工工件族動作構成的聯合動作且vs∈d=d1×d2;d表示所述單機生產系統的動作空間;
定義決策時刻為批處理機為空閒狀態且有工件到達緩衝庫,或批處理機完成加工的時刻;
所述優化控制方法是按如下步驟進行:
步驟1、定義變量k,並初始化k=1;定義初始決策時刻為第k-1個決策時刻;
定義q值表中的元素為狀態-動作對值,並初始化初始決策時刻的q值表;
步驟2、利用強化學習算法得到最優q值表;
步驟2.1、定義計數器為g,並初始化g=1;定義最大學習次數為g;定義貪心概率ε;
步驟2.2、在第k-1個決策時刻,系統的聯合狀態為根據ε-貪心算法選擇動作:以貪心概率ε選擇當前q值表中狀態sk-1對應的最優動作,以1-ε的概率隨機選擇動作空間d中的其他動作;
產生一個隨機數,若所述隨機數屬於(0,ε),則執行所述最優動作,若所述隨機數屬於(ε,1),則執行所述其他動作,從而得到第k-1個決策時刻轉移到第k個決策時刻轉移樣本軌道其中,δk為第k-1個決策時刻與第k個決策時刻的時間間隔,為第k-1個決策時刻轉移到第k個決策時刻的過程中第w個工件到達相應的緩存庫後的時刻與第k個決策時刻之間的存儲時間,lk表示第k-1個決策時刻轉移到第k個決策時刻過程中傳送帶上流失工件數的流失代價;
步驟2.3、利用式(1)計算第k-1個決策時刻轉移到第k個決策時刻過程中的即時代價rk-1,k:
式(1)中,為第k-1個決策時刻轉移到第k個決策時刻過程中,緩衝庫內所有工件的存儲代價;為第k-1個決策時刻轉移到第k個決策時刻過程中,到達緩衝庫工件的累計存儲代價;β表示所述流失代價lk的權重;
步驟2.4、利用式(2)對第k-1個決策時刻的狀態-動作對值進行更新,並令g+1賦值給g:
式(2)中,α為學習步長;dk-1表示差分公式,並有:
式(3)中,v表示所述動作空間d中的任一動作;
步驟2.5、判斷g>g是否成立,若成立,表示學習結束,並得到最優q值表;否則,令k+1賦值給k後,返回步驟2.2;
步驟3、在第k+g個決策時刻,系統的聯合狀態若所有緩衝庫為空,則等待下個工件到達並存入相應緩衝庫中,否則,根據所述狀態sk+g查找所述最優q值表,從而選擇相應的前視距離和選擇加工工件族動作
步驟4、判斷第k+g個決策時刻的前視距離內是否有工件,若有工件,則等待相應工件到達並存入對應的緩衝庫中,否則,根據第k+g個決策時刻的選擇加工工件族動作選擇相應的批送入批處理機中進行加工,並等待加工完成;
步驟5、令k+g+1賦值給k+g,並返回步驟3。
與現有技術相比,本發明的有益效果在於:
1.本發明用於加工相容工件族的單機生產系統中,通過控制前視距離來平衡工件的到達過程和工件的加工過程,而且還能通過選擇加工工件族動作決定批處理機所加工的批的包含工件情況,以最小化工件的存儲代價和加工過程中的工件流失代價為優化目標,通過紅外感知器獲取未來工件到達信息,以系統中各個緩衝庫中工件個數為聯合狀態,紅外感知器的前視距離和加工工件族動作為聯合動作,採用強化學習算法實現了對加工相容工件族的單機生產系統的優化控制,從而有效地提高了生產效率,降低了工件的流失率,降低了庫存以及縮短了產品的製造周期。
2.本發明通過紅外感知器獲取未來工件到達信息,避免了因為不考慮未來工件到達而帶來的誤加工或者誤等待,從而產生了不必要的庫存以及延長產品的製造周期。因此,本發明能夠有效地平衡生產中的加工和等待過程。
3.本發明針對的是生產過程中生產信息為隨機的不確定因素,工件隨機到達,批處理機加工完一批工件的時間也是隨機的,每個決策時刻,根據系統的實時狀態選擇相應的動作。因此,該發明相比以往的方法更貼近現實生產環境。
4.本發明採用強化學習算法,不需要模型的具體參數,只需根據生產系統的實際生產過程進行在線學習,從而有效地實現了優化控制。
附圖說明
圖1為本發明方法流程圖;
圖2為本發明在線生產系統的示意圖。
具體實施方式
本實施例中,一種考慮前視距離的相容工件族的優化控制方法,應用於如圖2所示的由傳送帶上傳送的m種工件1、自動撿取裝置2、m個緩衝庫3、容量為k的批處理機4和紅外線感知器5所構成的單機生產系統中;生產系統中m種工件2沿著傳送帶隨機到達,當有工件到達撿取線時,自動撿取裝置2將該工件撿取放入3中相應緩衝庫,該撿取過程的時間不考慮。m種工件分別屬於m個不同的相容工件族,並對這m個工件族按加工率降序排序,相容工件族是指屬於不同族的工件能在同一批中進行加工;任意第m個緩衝庫的容量記為nm,並用於存儲屬於第m個工件族的工件;假設第m個緩衝庫中存儲的工件數為nm,nm∈[0,nm];由m個緩衝庫中存儲的工件個數構成該單機生產系統的聯合狀態s=(n1,n2,…,nm,…,nm);m≥2;所有可取的狀態構成了狀態空間,系統總的狀態數為a。容量為k的批處理機4表示該處理機能夠同時加工上限為k個的工件,且屬於每個族的工件都只佔用一個單位容量,批處理機4加工完一批工件的時間是隨機的。
紅外線感知器5設置在傳送帶的末端,以紅外線感知器5所在的位置為起點,並以朝向傳送帶的一段傳送距離作為前視距離lmax表示最大前視距離,用一個較小的數δ來離散化[0,lmax],得到{0,δ,2δ,…,lmax-δ,lmax};圖2中7為最大前視點即最大前視距離對應的點。∞表示紅外線感知器5前視無窮遠。∞用於系統在實際運行中存在的一種特殊工作狀態:當所有緩衝庫3都為空時,只能等待有工件到達並放入緩衝庫3中。
定義選擇加工工件族動作為pm表示批處理機4加工由前m個工件族所構成的批;該批中屬於這m個工件族的工件個數由低加工率優先加工規則決定,具體見文獻《controlofabatchprocessingmachineservingcompatiblejobfamilies》。確定加工的工件後,通過自動撿取裝置2將這些工件從緩衝庫3中撿取並放入批處理機4中進行加工,同樣不考慮該撿取過程的時間。系統在實際運行中還存在一種特殊工作狀態:當緩衝庫3不全為空,且空緩衝庫中最小的序號為i,這些狀態下d2={p1,p2,…,pi-1}。
由前視距離和選擇加工工件族動作構成的聯合動作且vs∈d=d1×d2;d表示該單機生產系統的動作空間;d中總的動作數為b;
定義決策時刻為批處理機4為空閒狀態且有工件到達緩衝庫,或批處理機4完成加工的時刻;
因此這種考慮前視距離的相容工件族的優化控制方法,如圖1所示,是按如下步驟進行:
步驟1、定義變量k,並定義初始決策時刻為第k-1個決策時刻;
定義q值表中的元素為狀態-動作對值,即以系統的狀態為q值表的行,以系統的動作為q值表的列,表中s1表示的是狀態空間中第一個狀態(0,0,…,0,…,0),sa為狀態空間中最後一個狀態(n1,n2,…,nm,…,nm),v1表示的是動作空間中第一個動作(0,p1),vb為動作空間中最後一個動作(∞,pm);初始化初始決策時刻的q值表,表中除了狀態(0,0,…,0,…,0)行,動作列,以及狀態動作列,對應的q值表元素為「inf」外,q值表中其他的元素均為「0」;其中,若q(sa,vb)為「inf」表示的是在狀態sa下,動作vb不可取的。
步驟2、利用強化學習算法得到最優q值表;
步驟2.1、定義計數器為g,並初始化g=1;定義最大學習次數為g;定義貪心概率ε;
步驟2.2、在第k-1個決策時刻,系統的聯合狀態為根據ε-貪心算法選擇動作:以ε的概率選擇當前q值表中狀態sk-1對應的最優動作,即選擇q值表中狀態sk-1行下最小q值所對應的動作,以1-ε概率隨機選擇動作空間d中的其他動作。
產生一個隨機數,若隨機數屬於(0,ε),則執行最優動作,若隨機數屬於(ε,1),則執行其他動作,從而得到第k-1個決策時刻轉移到第k個決策時刻轉移樣本軌道其中,δk為第k-1個決策時刻與第k個決策時刻的時間間隔,為第k-1個決策時刻轉移到第k個決策時刻的過程中第w個工件到達相應的緩存庫後的時刻與第k個決策時刻之間的存儲時間,lk表示第k-1個決策時刻轉移到第k個決策時刻過程中傳送帶上流失工件數的流失代價;
步驟2.3、利用式(1)計算第k-1個決策時刻轉移到第k個決策時刻過程中的即時代價rk-1,k:
式(1)中,為第k-1個決策時刻轉移到第k個決策時刻過程中,緩衝庫內所有工件的存儲代價;為第k-1個決策時刻轉移到第k個決策時刻過程中,到達緩衝庫工件的累計存儲代價;β表示流失代價lk的權重,通過調整β可以協調對存儲代價和流失代價這兩個目標的重視程度;
步驟2.4、利用式(2)對第k-1個決策時刻的狀態-動作對值進行更新,並令g+1賦值給g:
式(2)中,α為學習步長,一般取0<α<1保證算法的收斂性;dk-1表示差分公式,並有:
式(3)中,v表示動作空間d中的任一動作;
步驟2.5、判斷g>g是否成立,若成立,表示學習結束,並得到最優q值表;否則,令k+1賦值給k後,返回步驟2.2。
步驟3、在第k+g個決策時刻,通過傳感器等設備獲得緩衝庫3中各個緩衝庫的工件個數,獲得聯合狀態若此時即所有緩衝庫為空,只需等待下個工件到達撿取線6,由自動撿取裝置2撿取該工件並存入緩衝庫中,否則,根據狀態sk+g,查找步驟2所得最優q值表,從而選擇相應的前視距離和選擇加工工件族動作
步驟4、通過紅外感知器5前視並判斷第k+g個決策時刻的前視距離內是否有工件,若有工件,則等待相應工件到達撿取線6,由自動撿取裝置2撿取該工件並存入對應的緩衝庫中,否則,根據第k+g個決策時刻的選擇加工工件族動作由自動撿取裝置2從緩衝庫3中撿取工件送入批處理機4中進行加工,並等待加工完成;
步驟5、令k+g+1賦值給k+g,並返回步驟3。