黨少杰,張迪
(合肥工業(yè)大學機械工程學院,安徽 合肥 230009)
基于LINGO的多智能配送單元任務分配策略研究
黨少杰,張迪
(合肥工業(yè)大學機械工程學院,安徽 合肥 230009)
為了解決作業(yè)車間任務分配缺乏合理規(guī)劃等問題,本文以路徑最短為目標建立了任務分配模型,然后利用LINGO軟件對模型進行求解。實例結果表明,利用LINGO軟件可以快速、準確的給出分配方案,從而為解決任務分配問題提供了一個有效的解決辦法。
任務分配;整數規(guī)劃;LINGO
隨著制造業(yè)市場的競爭越來越激烈,企業(yè)都在考慮如何提高生產效率,降低成本。而任務分配是企業(yè)以前很少關注的一個問題,并且該環(huán)節(jié)處理的好壞將直接影響智能配送單元對物料需求的響應速度以及物料的配送成本。一個合理的任務分配方案可以減少運送次數以及運送成本,這些指標對于企業(yè)提高生產效率節(jié)約成本起著重要作用。所以對作業(yè)車間智能配送單元的任務分配策略的研究有著非常重要的理論價值和實際意義。
對于作業(yè)車間配送單元的任務分配策略問題,目前已經有不少的文章進行了研究。傳統(tǒng)的平衡指派問題(AP,Assignment Problem)采用匈牙利算法進行求解,在匈牙利算法的基礎上,提出了一種任務指派問題的快速求解方法-剪枝優(yōu)化算法,該算法大大提高了求解任務指派問題的求解速度。文獻提出一類帶時間約束的指派問題,即每臺機器有執(zhí)行任務的時間窗限制,并給出分枝定界算法。文獻采用lingo軟件求解了鋼鐵企業(yè)產成品轉庫運作中的混合車輛指派及路徑優(yōu)化問題。目前對基于時間窗和容量雙約束的研究不足,本文的模型基于時間窗和容量雙約束建立。
隨著計算機技術的大戰(zhàn),已經有十分強大的軟件用于解決運籌學問題,其中對規(guī)劃問題的求解最好的軟件就是LINGO軟件,目前LINGO軟件已經升級到12.0版本,本文就是通過LINGO軟件來對模型求解,實例結果表明其可以迅速給出一套經濟、可行的任務分配方案。
作業(yè)車間任務分配策略是合理規(guī)劃、指派智能配送單元以便于將物料可以及時、準確地運送到需求工位,由于作業(yè)車間多智能配送單元的任務分配策略問題比較復雜,因此在建模的過程中必須考慮智能配送單元任務分配原則、物料需求情況、配送單元的最大容量、作業(yè)車間的布局等因素,如果智能配送單元物料配送策略不合理,可能使物料配送時間過長,導致生產成本增加,鑒于作業(yè)車間中物料配送多智能配送單元任務分配策略研究的復雜性,故作如下假設:(1)生產節(jié)拍、作業(yè)車間布局、智能配送單元數量和容載量已知。(2)所有需求工位只需配送一次,一個智能配送單元一次最多只能去一個工位。(3)假定所有智能配送單元同一型號(容載量、速度等)。(4)智能配送單元的容載量要大于需求工位的需求量。
建立的數學模型如下:
其中式(1)為目標函數;式(3)代表每個需求工位只能由一個智能配送單元的某個任務去配送;式(4)代表某個智能配送的指定任務最多只能去一個需求工位;式(5)表示智能配送單元完成所有的物料配送任務;式(6)是時間窗約束;式(7)是容量約束;式(8)示每臺智能配送單元任務的總數小于總的物料配送任務。
某工廠6個小車,8個需求工位距離二位表和工位時間表如圖1所示。
表1 小車—工位距離表
表2 小車—工位時間表
下面是針對模型寫的編寫的lingo程序。
model:
sets:
car/car1..car6/: limit_assitant,capacity;
number/number1..number3/:num;
station/station1..station8/: request,time_start,time_ end;
links(car,number,station):distance, time_between, vo;
endsets
!目標函數;
min=@sum(links : distance*time_between* vo);
!一個車一次最多只能去1個工位(一次可以去多個工位);
@for(car(I):
@for(number(J):
@sum(station(K): vo(I,J,K))<=1));
!一個工位只能由一個車去響應;
@for(station(K):
@sum(number(J):
@sum(car(I): vo(I,J,K)))=1);
!容量約束加變量;
@for(car(I):
@for(number(J):
@sum(station(K):vo(I,J,K)*request(K))<= capacity(I)));
!任務數約束;
@for(car(I):
@sum(number(J):
sum(station(K):vo(I,J,K)))<= imit_assitant(I));
!整數約束;
@for(links: @bin(vo));
!總和約束;
@sum(car(I):
@sum(number(J):
@sum(station(K):vo(I,J,K))))=8;
!時間窗約束;
@for(station(K):
@for(number(J):
@sum(car(I):time_between(I,J,K)*vo(I,J,K)) <=time_end(K)-time_start(K)));
在LINGO12.0上運行程序返回如下結果(圖1~2)
圖1 LINGO求解狀態(tài)
圖2 LINGO求解結果
因此,任務分配方案是:1號車配送工位5和2;2號車配送工位7;3號車配送工位3;4號車配送工位8;5號車配送工位1;6號車配送工位6;6號車配送工位4。
本文對作業(yè)車間的任務分配問題進行分析,建立了數學模型,并且采用LINGO軟件進行了求解。實驗證明采用LINGO軟件可以高效、便捷地求解此類問提。當然一些啟發(fā)式算法、智能算法也可以求解此問題,值得另行研究。
[1]鄒莉. 多目標電梯群控系統(tǒng)的研究[J]. 自動化與儀器儀表, 2010(3):14-16.
[2]馬云紅, 井哲, 周德云. 一種任務分配問題的快速剪枝優(yōu)化算法[J]. 西北工業(yè)大學學報, 2013, 31(1):40-43.
TH165
A
1671-0711(2017)07(上)-0206-03