本發(fā)明涉及車間生產調度控制技術,尤其涉及一種流水線車間調度方法和裝置。
背景技術:
流水線車間調度是一個無等待的車間調度問題,然而在企業(yè)的生產制造過程中,有百分之八十的時間會消耗在工件的運輸時間、或者工件的排隊時間、或者因工件沒有到達機器的等待時間等非加工過程中,這將導致企業(yè)的生產效益降低。
目前,解決流水線車間調度問題的主要算法有精確算法、啟發(fā)式算法和智能算法等。然而,精確算法只能求解小規(guī)模調度問題、啟發(fā)式算法構造復雜且所求得的調度解的質量不高,這兩種算法在實踐中未獲得大量應用。作為人工智能技術快速發(fā)展下的產物,遺傳算法、蟻群算法、螢火蟲優(yōu)化算法(glowwormswarmoptimizationalgorithm,gso)等智能算法,由于能夠在合理的時間內以較大概率獲得較高質量的調度解,在解決流水線車間調度問題的實踐中獲得了廣泛的應用與研究。
gso算法是由krishnanad等人于2005年模擬自然界螢火蟲求偶或覓食行為,提出的一種新型群智能優(yōu)化算法。gso算法由于具有較強的通用性、捕捉極值域速度快、捕捉效率高等優(yōu)點,在計算智能領域獲得了人們廣泛的關注與研究,并已成功應用于傳感器的噪聲測試和模擬機器等。但是,gso算法在解決流水線車間調度問題時,還存在易陷入局部最優(yōu)、后期迭代效率不高等缺陷,求得的調度序列使得流水車間生產效率不高。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明實施例期望提供一種流水線車間調度方法和裝置,能夠實現(xiàn)對生產調度的優(yōu)化配置,從而提高流水車間生產效率。
為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的:
本發(fā)明提供了一種流水線車間調度方法,所述方法包括:
根據(jù)預設的調度參數(shù),建立流水線車間調度的優(yōu)化目標函數(shù);
根據(jù)基于位置更新的離散螢火蟲優(yōu)化算法求解所述優(yōu)化目標函數(shù),獲取最優(yōu)調度序列。
上述方案中,在所述獲取最優(yōu)調度序列之前,所述方法還包括:
初始化所述基于位置更新的離散螢火蟲優(yōu)化算法的基本參數(shù),所述基本參數(shù)包括:螢火蟲數(shù)目m、最大迭代次數(shù)t、初始熒光素濃度i(0)、熒光素衰減因子ρ、熒光素更新率γ、初始決策半徑rs、控制鄰居螢火蟲數(shù)目變化范圍的鄰域變化率β、控制鄰居螢火蟲數(shù)目的鄰域閾值nτ、交叉變異閾值概率pc;
采用neh算法生成任意一個螢火蟲的初始位置,剩余的m-1個螢火蟲采用隨機鍵編碼方式生成初始位置。
上述方案中,所述根據(jù)基于位置更新的離散螢火蟲優(yōu)化算法求解所述優(yōu)化目標函數(shù),獲取最優(yōu)調度序列,包括:
計算螢火蟲i第t次迭代時在位置
根據(jù)ii(t)=(1-ρ)ii(t-1)+γj[xi(t)]更新螢火蟲i第t次迭代時的熒光素值ii(t);其中,0<i≤m,0<t≤t,ρ∈(0,1),j[xi(t)]表示螢火蟲i第t次迭代時所處的位置對應的目標適應度函數(shù)值;
根據(jù)
根據(jù)
根據(jù)
根據(jù)
計算螢火蟲i第t次迭代時所處的位置對應的目標適應度函數(shù)值,將所述具有最小目標適應度函數(shù)值的螢火蟲所處的位置作為最優(yōu)調度序列。
上述方案中,當所述螢火蟲i第t次迭代時決策半徑
根據(jù)
上述方案中,所述根據(jù)
當rand≥pc時,根據(jù)
當rand<pc時,根據(jù)
本發(fā)明還提供了一種流水線車間調度裝置,所述裝置包括:目標函數(shù)建立模塊、處理模塊;其中,
所述目標函數(shù)建立模塊,用于根據(jù)預設的調度參數(shù),建立流水線車間調度的優(yōu)化目標函數(shù);
所述處理模塊,用于根據(jù)基于位置更新的離散螢火蟲優(yōu)化算法求解所述優(yōu)化目標函數(shù),獲取最優(yōu)調度序列。
上述方案中,所述裝置還包括:初始化模塊,用于初始化所述基于位置更新的離散螢火蟲優(yōu)化算法的基本參數(shù),所述基本參數(shù)包括:螢火蟲數(shù)目m、最大迭代次數(shù)t、初始熒光素濃度i(0)、熒光素衰減因子ρ、熒光素更新率γ、初始決策半徑rs、控制鄰居螢火蟲數(shù)目變化范圍的鄰域變化率β、控制鄰居螢火蟲數(shù)目的鄰域閾值nτ、交叉變異閾值概率pc;
采用neh算法生成任意一個螢火蟲的初始位置,剩余的m-1個螢火蟲采用隨機鍵編碼方式生成初始位置。
上述方案中,所述處理模塊,具體用于:
計算螢火蟲i第t次迭代時在位置
根據(jù)ii(t)=(1-ρ)ii(t-1)+γj[xi(t)]更新螢火蟲i第t次迭代時的熒光素值ii(t);其中,0<i≤m,0<t≤t,ρ∈(0,1),j[xi(t)]表示螢火蟲i第t次迭代時所處的位置對應的目標適應度函數(shù)值;
根據(jù)
根據(jù)
根據(jù)
根據(jù)
計算螢火蟲i第t次迭代時所處的位置對應的目標適應度函數(shù)值,將所述具有最小目標適應度函數(shù)值的螢火蟲所處的位置作為最優(yōu)調度序列。
上述方案中,所述處理模塊,還用于當所述螢火蟲i第t次迭代時決策半徑
上述方案中,所述處理模塊根據(jù)
當rand≥pc時,根據(jù)
當rand<pc時,根據(jù)
本發(fā)明實施例提供的流水線車間調度方法和裝置,根據(jù)預設的調度參數(shù),建立流水線車間調度的優(yōu)化目標函數(shù);根據(jù)基于位置更新的離散螢火蟲優(yōu)化算法求解所述優(yōu)化目標函數(shù),獲取最優(yōu)調度序列。可見,本發(fā)明實施例通過對傳統(tǒng)的螢火蟲優(yōu)化算法中螢火蟲位置更新策略進行改進,運用改進后的螢火蟲優(yōu) 化算法求解流水線車間調度的最優(yōu)調度序列時,由于采用了交叉變異方式對螢火蟲個體的位置進行更新,螢火蟲種群不易陷入局部最優(yōu)解而且求解精度高,使得最終所求得的最優(yōu)調度序列能夠實現(xiàn)對生產調度的優(yōu)化配置,從而提高流水車間生產效率。
附圖說明
圖1為本發(fā)明實施例流水線車間調度方法的實現(xiàn)流程示意圖;
圖2為本發(fā)明實施例流水線車間調度裝置的組成結構示意圖。
具體實施方式
本發(fā)明實施例提供的一種流水線車間調度方法,如圖1所示,所述方法包括:
步驟101:設置調度參數(shù);
這里,所述設置調度參數(shù)是指設置流水線車間調度問題相關的調度參數(shù),包括工件數(shù)量、機器數(shù)量、單位加工時間;所述單位加工時間是指每個工件在每臺機器上的加工時間。
這里,所述流水線車間調度問題(permutationflowshopschedulingproblem,pfsp)可以描述為:有n個工件要在e臺機器上加工,每個工件需要經(jīng)過e道工序,每道工序要求在不同的機器上加工,n個工件在e臺機器上的加工順序相同,n個工件在每臺機器上的加工順序也相同;所述流水線車間調度問題的求解目標是:確定n個工件在每臺機器上的最優(yōu)加工順序,該最優(yōu)加工順序能夠最小化所有工件加工的最大完成時間。
通常,對所述流水線車間調度問題作如下假設:
1)每個工件按照從第1臺機器到第e臺機器的順序進行加工;
2)每臺機器在同一時間內只能加工一個工件;
3)每個工件的準備時間包含在該工件加工時間內,且與加工順序無關;
4)所有的機器都是連續(xù)工作不存在機器故障的可能;
5)一個加工工件在一臺機器上的加工操作是連續(xù)不可斷的。
基于上述假設條件,每個加工工件在每臺機器上的完成時間的數(shù)學公式可描述為:
s(pa,k)=max{t(pa-1,k),t(pa,k-1)};
tmax(p)=t(pn,e)。
其中,
步驟102:根據(jù)所述調度參數(shù),建立流水線車間調度的優(yōu)化目標函數(shù);
這里,所述建立流水線車間調度的優(yōu)化目標函數(shù)是指建立求解n個工件在每臺機器上的最優(yōu)加工順序的函數(shù),所述最優(yōu)加工順序能夠最小化所有工件在所有機器上加工的完成時間。
這里,所述優(yōu)化目標函數(shù)可表示為p*=arg{tmax(p)→min},
步驟103:根據(jù)基于位置更新的離散螢火蟲優(yōu)化算法求解所述優(yōu)化目標函數(shù),獲取最優(yōu)調度序列。
這里,所述最優(yōu)調度序列是指利用所述基于位置更新的離散螢火蟲優(yōu)化算 法求得的一種n個工件在每臺機器上的加工排序,該加工排序能夠最小化所有工件加工的完成時間。
本發(fā)明實施例中,在所述獲取最優(yōu)調度序列之前,所述方法還包括:
初始化所述基于位置更新的離散螢火蟲優(yōu)化算法的基本參數(shù),所述基本參數(shù)包括:螢火蟲數(shù)目m、最大迭代次數(shù)t、初始熒光素濃度i(0)、熒光素衰減因子ρ、熒光素更新率γ、初始決策半徑rs、控制鄰居螢火蟲數(shù)目變化范圍的鄰域變化率β、控制鄰居螢火蟲數(shù)目的鄰域閾值nτ、交叉變異閾值概率pc;
采用neh算法生成任意一個螢火蟲的初始位置,剩余的m-1個螢火蟲采用隨機鍵編碼方式生成初始位置。
這里,所述螢火蟲數(shù)目m是指集合ω中所有n個工件的全部排序的數(shù)目;所述最大迭代次數(shù)t用于控制所述離散螢火蟲優(yōu)化算法的計算次數(shù);所述初始熒光素濃度i(0)、熒光素衰減因子ρ、熒光素更新率γ用于更新每次迭代時每個螢火蟲的熒光素值;所述初始決策半徑rs、控制鄰居螢火蟲數(shù)目變化范圍的鄰域變化率β、控制鄰居螢火蟲數(shù)目的鄰域閾值nτ用于更新每次迭代時每個螢火蟲的決策半徑;所述交叉變異閾值概率pc用于更新每次迭代時每個螢火蟲所處的位置。
這里,所述neh算法的基本思想是賦予總加工時間越長的工件在排序中的插入優(yōu)先權,通過每次插入一個新工件,求得最好的局部解,從而構造出工件的加工順序;所述初始位置代表所述n個工件在每臺機器上加工的一種排序;所述采用neh算法生成任意一個螢火蟲的初始位置,剩余的m-1個螢火蟲采用隨機鍵編碼方式生成初始位置的目的是:使螢火蟲初始種群具備一定的質量,以達到在較短時間內找到較高質量的調度解。
其中,所述根據(jù)基于位置更新的離散螢火蟲優(yōu)化算法求解所述優(yōu)化目標函數(shù),獲取最優(yōu)調度序列,包括:
計算螢火蟲i第t次迭代時在位置
根據(jù)ii(t)=(1-ρ)ii(t-1)+γj[xi(t)]更新螢火蟲i第t次迭代時的熒光素值ii(t);其中,0<i≤m,0<t≤t,ρ∈(0,1),j[xi(t)]表示螢火蟲i第t次迭代時所處的位置對應的目標適應度函數(shù)值;
根據(jù)
根據(jù)
根據(jù)
根據(jù)
計算螢火蟲i第t次迭代時所處的位置對應的目標適應度函數(shù)值,將所述具有最小目標適應度函數(shù)值的螢火蟲所處的位置作為最優(yōu)調度序列。
這里,所述目標適應度函數(shù)值j[xi(t)]是指螢火蟲i第t次迭代時所處的位置
這里,所述根據(jù)
當rand≥pc時,根據(jù)
當rand<pc時,根據(jù)
這里,所述采用交叉變異方式同時對螢火蟲i個體的位置進行更新的原因是:采用交叉操作能夠使螢火蟲i獲得鄰居螢火蟲j的優(yōu)良基因片段,即獲得鄰居螢火蟲j的當前所述位置中的最優(yōu)部分,但是,僅使用交叉操作容易使整個螢火蟲種群陷入局部最優(yōu)解、降低收斂速度。因此,同時對螢火蟲i個體在一個較小的概率下進行變異操作,能夠提高整個螢火蟲種群的抗早熟能力,即螢火蟲種群不易陷入局部最優(yōu)解,使得最終所求解出的最優(yōu)調度序列能夠最大優(yōu)化生產調度的配置,從而提高流水車間生產效率。
這里,所述交叉變異閾值概率pc的選取關系到尋優(yōu)最優(yōu)調度序列,如果pc值過小,那么,上述位置更新方式將基本全部依靠螢火蟲個體變異操作,近似隨機搜索過程。對于大規(guī)模流水線調度問題,可行解的規(guī)模極大,單純依靠近似隨機枚舉的方式進行位置更新不可取。如果pc過大且接近于1,那么,上述位置更新方式將基本全部依靠螢火蟲個體交叉操作,這將容易使螢火蟲種群陷入局部最優(yōu)解。本發(fā)明實施例中,經(jīng)過大量研究實驗,取所述pc值為0.85,既保證螢火蟲個體之間的優(yōu)良基因片段能夠相互傳遞,又可以保持適當?shù)淖儺惛怕蚀_保螢火蟲種群不會陷入局部最優(yōu)解。
進一步的,所述根據(jù)
具體地,當螢火蟲i第t次迭代時決策半徑
這里,當?shù)螖?shù)達到設置的最大迭代次數(shù)t時,計算m個螢火蟲中每個螢火蟲i第t次迭代時所處的位置對應的目標適應度函數(shù)值j[xi(t)],那么,具有最小目標適應度函數(shù)值的螢火蟲所處的位置就是所求的最優(yōu)調度序列,該最優(yōu)調度序列能夠使所述步驟102中的優(yōu)化目標函數(shù)的值最小,即所有工件在所有機器上加工的完成時間最小。此外,在實際應用中,還可以根據(jù)需求對所述調度參數(shù)以及基本參數(shù)進行相應的調整,從而獲取相應的最優(yōu)調度序列。
為實現(xiàn)上述方法,對應的本發(fā)明實施例還提供了一種流水線車間調度裝置,如圖2所示,所述裝置包括:參數(shù)設置模塊21、目標函數(shù)建立模塊22、處理模塊24;其中,
所述參數(shù)設置模塊21,用于設置調度參數(shù);
這里,所述調度參數(shù)包括工件數(shù)量、機器數(shù)量、單位加工時間。
所述目標函數(shù)建立模塊22,用于根據(jù)所述調度參數(shù),建立流水線車間調度的優(yōu)化目標函數(shù);
所述處理模塊24,用于根據(jù)基于位置更新的離散螢火蟲優(yōu)化算法求解所述優(yōu)化目標函數(shù),獲取最優(yōu)調度序列。
這里,所述設置調度參數(shù)是指設置流水線車間調度問題相關的調度參數(shù),包括工件數(shù)量、機器數(shù)量、單位加工時間;所述單位加工時間是指每個工件在每臺機器上的加工時間。
這里,所述pfsp可以描述為:有n個工件要在e臺機器上加工,每個工件需要經(jīng)過e道工序,每道工序要求在不同的機器上加工,n個工件在e臺機器上的加工順序相同,n個工件在每臺機器上的加工順序也相同;所述流水線車間調度問題的求解目標是:確定n個工件在每臺機器上的最優(yōu)加工順序,該最優(yōu)加工順序能夠最小化所有工件加工的最大完成時間。
通常,對所述流水線車間調度問題作如下假設:
1)每個工件按照從第1臺機器到第e臺機器的順序進行加工;
2)每臺機器在同一時間內只能加工一個工件;
3)每個工件的準備時間包含在該工件加工時間內,且與加工順序無關;
4)所有的機器都是連續(xù)工作不存在機器故障的可能;
5)一個加工工件在一臺機器上的加工操作是連續(xù)不可斷的。
基于上述假設條件,每個加工工件在每臺機器上的完成時間的數(shù)學公式可描述為:
s(pa,k)=max{t(pa-1,k),t(pa,k-1)};
tmax(p)=t(pn,e)。
其中,
這里,所述建立流水線車間調度的優(yōu)化目標函數(shù)是指建立求解n個工件在每臺機器上的最優(yōu)加工順序的函數(shù),所述最優(yōu)加工順序能夠最小化所有工件在所有機器上加工的完成時間。
這里,所述優(yōu)化目標函數(shù)可表示為p*=arg{tmax(p)→min},
這里,所述最優(yōu)調度序列是指利用所述基于位置更新的離散螢火蟲優(yōu)化算法求得的一種n個工件在每臺機器上的加工排序,該加工排序能夠最小化所有工件加工的完成時間。
進一步的,所述裝置還包括:初始化模塊23,用于初始化所述基于位置更新的離散螢火蟲優(yōu)化算法的基本參數(shù),所述基本參數(shù)包括:螢火蟲數(shù)目m、最大迭代次數(shù)t、初始熒光素濃度i(0)、熒光素衰減因子ρ、熒光素更新率γ、初始決策半徑rs、控制鄰居螢火蟲數(shù)目變化范圍的鄰域變化率β、控制鄰居螢火蟲數(shù)目的鄰域閾值nτ、交叉變異閾值概率pc;
采用neh算法生成任意一個螢火蟲的初始位置,剩余的m-1個螢火蟲采用隨機鍵編碼方式生成初始位置。
這里,所述螢火蟲數(shù)目m是指集合ω中所有n個工件的全部排序的數(shù)目;所述最大迭代次數(shù)t用于控制所述離散螢火蟲優(yōu)化算法的計算次數(shù);所述初始熒光素濃度i(0)、熒光素衰減因子ρ、熒光素更新率γ用于更新每次迭代時每個螢火蟲的熒光素值;所述初始決策半徑rs、控制鄰居螢火蟲數(shù)目變化范圍的鄰域變化率β、控制鄰居螢火蟲數(shù)目的鄰域閾值nτ用于更新每次迭代時每個螢火蟲的決策半徑;所述交叉變異閾值概率pc用于更新每次迭代時每個螢火蟲所處的位置。
這里,所述neh算法的基本思想是賦予總加工時間越長的工件在排序中的插入優(yōu)先權,通過每次插入一個新工件,求得最好的局部解,從而構造出工件的加工順序;所述初始位置代表所述n個工件在每臺機器上加工的一種排序;所述采用neh算法生成任意一個螢火蟲的初始位置,剩余的m-1個螢火蟲采用隨機鍵編碼方式生成初始位置的目的是:使螢火蟲初始種群具備一定的質量,以達到在較短時間內找到較高質量的調度解。
其中,所述處理模塊24,具體用于計算螢火蟲i第t次迭代時在位置
這里,所述目標適應度函數(shù)值j[xi(t)]是指螢火蟲i第t次迭代時所處的位置
所述處理模塊24,具體用于根據(jù)ii(t)=(1-ρ)ii(t-1)+γj[xi(t)]更新螢火蟲i第t次迭代時的熒光素值ii(t);其中,0<i≤m,0<t≤t,ρ∈(0,1),j[xi(t)]表示螢火蟲i第t次迭代時所處的位置對應的目標適應度函數(shù)值。
所述處理模塊24,具體用于根據(jù)
所述處理模塊24,具體用于根據(jù)
所述處理模塊24,具體用于根據(jù)
當rand≥pc時,根據(jù)
當rand<pc時,根據(jù)
這里,所述采用交叉變異方式同時對螢火蟲i個體的位置進行更新的原因 是:采用交叉操作能夠使螢火蟲i獲得鄰居螢火蟲j的優(yōu)良基因片段,即獲得鄰居螢火蟲j的當前所述位置中的最優(yōu)部分,但是,僅使用交叉操作容易使整個螢火蟲種群陷入局部最優(yōu)解、降低收斂速度。因此,同時對螢火蟲i個體在一個較小的概率下進行變異操作,能夠提高整個螢火蟲種群的抗早熟能力,即螢火蟲種群不易陷入局部最優(yōu)解,使得最終所求解出的最優(yōu)調度序列能夠最大優(yōu)化生產調度的配置,從而提高流水車間生產效率。
這里,所述交叉變異閾值概率pc的選取關系到尋優(yōu)最優(yōu)調度序列,如果pc值過小,那么,上述位置更新方式將基本全部依靠螢火蟲個體變異操作,近似隨機搜索過程。對于大規(guī)模流水線調度問題,可行解的規(guī)模極大,單純依靠近似隨機枚舉的方式進行位置更新不可取。如果pc過大且接近于1,那么,上述位置更新方式將基本全部依靠螢火蟲個體交叉操作,這將容易使螢火蟲種群陷入局部最優(yōu)解。本發(fā)明實施例中,經(jīng)過大量研究實驗,取所述pc值為0.85,既保證螢火蟲個體之間的優(yōu)良基因片段能夠相互傳遞,又可以保持適當?shù)淖儺惛怕蚀_保螢火蟲種群不會陷入局部最優(yōu)解。
所述處理模塊24,具體用于根據(jù)
所述處理模塊24,還用于當所述螢火蟲i第t次迭代時決策半徑
具體地,當螢火蟲i第t次迭代時決策半徑
所述處理模塊24,具體用于計算螢火蟲i第t次迭代時所處的位置對應的目 標適應度函數(shù)值,將所述具有最小目標適應度函數(shù)值的螢火蟲所處的位置作為最優(yōu)調度序列。
這里,當?shù)螖?shù)達到設置的最大迭代次數(shù)t時,計算m個螢火蟲中每個螢火蟲i第t次迭代時所處的位置對應的目標適應度函數(shù)值j[xi(t)],那么,具有最小目標適應度函數(shù)值的螢火蟲所處的位置就是所求的最優(yōu)調度序列,該最優(yōu)調度序列能夠使所述步驟102中的優(yōu)化目標函數(shù)的值最小,即所有工件在所有機器上加工的完成時間最小。此外,在實際應用中,還可以根據(jù)需求對所述調度參數(shù)以及基本參數(shù)進行相應的調整,從而獲取相應的最優(yōu)調度序列。
在實際應用中,所述參數(shù)設置模塊21、目標函數(shù)建立模塊22、初始化模塊23、處理模塊24均可由位于終端的中央處理器(cpu)、微處理器(mpu)、數(shù)字信號處理器(dsp)、或現(xiàn)場可編程門陣列(fpga)等實現(xiàn)。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和范圍之內所作的任何修改、等同替換和改進等,均包含在本發(fā)明的保護范圍之內。