周 迅,張惠珍
(上海理工大學管理學院,上海 200093)
設施選址與車輛路徑是供應鏈網絡中的兩個關鍵問題,對公司運營和盈利有著重大影響。因此,設施選址問題[1](Facility Location Problem,FLP)與車輛路徑問題[2](Vehicle Routing Problem,VRP)引起了眾多研究者關注。隨著物流系統的日益復雜,選址和運輸之間的耦合越來越高,儲運之間關系日益密切。在解決許多實際問題時,應綜合考慮兩者關系進行決策,從而實現整體優化,由此形成具有容量的設施選址問題(Capacitated Location Routing Problem,CLRP)[3],該問題是當前物流研究熱點。近年來,越來越多的企業將主要精力投入到核心業務中以獲得競爭優勢,同時將企業物流活動外包給第三方物流供應商。通常服務車輛由第三方物流公司擁有,在完成客戶服務之后,這些車輛返回到第三方物流公司,而不是企業配送中心或倉庫,因此帶來由第三方物流配送的開放式選址路徑問題(Open Capacitated Location Routing Problem,OCLRP)[4]。CLRP 與相應OCLRP 區別如圖1 所示。圖中實線部分給出了OCLRP 問題解決方案,每輛車在為最后一個客戶結束服務后無需回到倉庫;圖中實線和虛線整體構成了相應CL?RP 解決問題的方案,車輛在為最后一個客戶結束服務后需返回倉庫。從圖1 可以看出,CLRP 與OCLRP 的主要區別為OCLRP 中的每條路徑都是哈密頓路徑,而CLRP 中的每條路徑都是哈密頓回路。

Fig.1 The difference between CLRP and corresponding OCLRP圖1 CLRP 與相應OCLRP 之間的區別
在實際配送中,OCLRP 會面臨各種限制條件。比如,很多客戶對交貨期都有一定要求。配送服務最好提前在約定的時間窗口內完成,否則會因違反時間窗口約束而受到處罰。此外,在很多情況下,車輛不僅需要為客戶進行送貨服務,還有可能在客戶所在位置進行取貨,將貨物運回收貨點或第三方公司車輛中心。因此,本文將OCLRP 與同時取送貨及軟時間窗[5]相結合,提出了帶軟時間窗的同時取送貨[6]開放式選址路徑問題(Open Capacitated Loca?tion Routing Problem with Soft Time Windows and Simultane?ous Pickup-Delivery,OCLRP-STWSPD)。OCLRP-STWSPD問題集FLP 和VRP 兩個NP-hard 問題為一體,并結合物流配送的實際情況增加了軟時間窗和同時取送貨限制,不僅復雜度更高,且更貼近現實。
當采用精確算法求解大規模組合優化NP-hard 問題時,通常難以得到最優解,且求解效率不高,而智能優化算法具有在較短的時間內對大規模優化問題提供近似最優解的優點。智能優化算法常被用來求解此類問題,如蟻群算法[7]、遺傳算法[8]、模擬退火算法[9]、粒子群算法[10]等。煙花算法[11](Fireworks Algorithm,FWA)是2010 年Tan &Zhu 受煙花爆炸產生火花這一自然現象啟發而提出的一種新型智能優化算法,具有尋優效果好、穩定性強、效率高的優點。近年來,很多改進的FWA 算法已被提出,如反向煙花算法[12]、混沌煙花算法[13]、二進制煙花算法[14]等,同時FWA 也被廣泛應用于云計算[15]、WEB 服務[16]、置換流水車間[17]等多個領域。鑒于OCLRP-STWSPD 問題的復雜性及FWA 良好的優化性能,本文對FWA 加以改進并用于求解OCLRP-STWSPD 問題。
本文根據OCLRP-STWSPD 問題特征,提出新的解表示方法,并對標準的FWA 加以改進,提出求解OCLRP-ST?WSPD 的離散煙花算法。實驗證明該算法可有效解決目前第三方物流配送中同時取送貨和配送時間約束問題,對節約企業配送成本、提高客戶滿意度具有重要意義,同時又可進一步拓展煙花算法應用領域。
OCLRP-STWSPD 是在傳統OCLRP 問題上加入同時取送貨和軟時間窗限制,車輛需在客戶能夠接受的時間內進行配送或取貨,否則將產生懲罰成本。OCLRP-STWSPD 依據客戶點和候選倉庫點空間位置與服務需求關系,確定開放倉庫與配送路徑,由開放倉庫派出車輛為客戶提供配送和取貨服務,使物流系統總成本達到最小,并要求:①車輛對客戶除了提供配送服務,還可能從客戶處取走貨物(客戶貨物量已知);②在配送過程中每位客戶有且僅能被1 輛車訪問1 次,且客戶配送需求或取貨需求需得到滿足,車輛在配送過程中任意時刻的裝載量不能超過車輛最大裝載量;③分配給任一開放倉庫的客戶總需求不能大于該倉庫容量;④每輛車為最后1 個客戶完成服務后不返回倉庫,而是返回收貨點或第三方公司車輛中心;⑤在配送過程中,每個客戶有自己接受服務的時間窗限制,車輛可在客戶預先給定的服務時間之外為其服務,即車輛可早到或晚到,但違反時間窗的服務會產生一定的懲罰成本;⑥若一位客戶同時具有配送和取貨需求,則服務順序應該為先卸貨后取貨。
模型主要參數設置包括:Vp為第三方物流公司的停車場集合;Vd為候選倉庫集合,Vd={1,23,…,m},其中m為候選倉庫數量;Vc為客戶點集合,Vc={m+1,m+2,…,m+n},其中n為客戶數量;V為停車場、候選倉庫和客戶點集合,V=Vp∪Vd∪Vc;K為配送車輛集合;Oi為倉庫i開放成本;di為客戶i配送量;bi為客戶i取貨量;Qi為倉庫i容量;P為每一輛車最大裝載量,假設所有配送車輛相同;cij為節點i到節點j的距離;e為單位距離的運輸成本;w為每輛車固定使用成本;ETi為客戶i接受服務的最早開始時間;LTi為客戶i接受服務的最晚開始時間;Ti為配送車輛到達節點i的時間;si為客戶i的服務時間;tij為從節點i到節點j的時間;pe為提前到達的單位時間懲罰成本;pl為延遲服務的單位時間懲罰成本;aik為車輛k在離開節點i時的裝載量。
決策變量設置如下:

ujk=用于消除第k條配送路線中子回路的輔助變量
在上述參數和決策變量設置基礎上,OCLRP-STWSPD數學模型可構建為:

其中,目標函數(1)表示最小化總成本,包括倉庫開放成本、車輛的固定啟用成本、行駛成本和懲罰成本;約束(2)確保每個客戶只由1 輛車提供1 次服務;約束條件(3)表示車輛在任何時刻的載重量都不超過其最大裝載量;約束條件(4)表示車輛在離開倉庫時的載重量,即配送路線上所有客戶配送量之和;式(5)為車輛在離開各個客戶時的裝載量的等式約束;約束條件(6)表示分配給倉庫的客戶總需求不能超過倉庫的總容量;約束(7)保證每條配送路線連續性;約束(8)表明任意兩個倉庫之間沒有連接;約束(9)確保配送車輛為最后1 位客戶完成服務后不返回倉庫;約束(10)說明每個客戶都必須被一個開放的倉庫提供服務;約束(11)表示兩個決策變量之間的關系;約束(12)表示車輛在行駛過程中的時間窗約束;約束(13)用于消除子回路;約束(14)-(16)表示3 組不同的0-1 決策變量;約束(17)為消除子回路所用的輔助變量。
煙花算法[11]是一種受煙花爆炸現象啟發,通過模擬煙花爆炸過程實現的群體智能優化算法。為了保持種群多樣性,煙花算法設計了兩個爆炸搜索過程。煙花算法將每一個煙花和煙花爆炸產生的每一個火花視為一個可行解,每一次煙花在不同爆炸半徑內產生不同數量的火花。通過調整爆炸半徑和火花數量,實現全局搜索與局部搜索平衡。該算法由爆炸算子、變異算子和選擇策略3 部分組成。
2.1.1 爆炸算子
假設研究問題是最小化目標函數f(x),F為解的可行域。首先在可行域F上初始化生成N個煙花Xi(i=1,2,3,…,N),并評估初始煙花函數f(Xi)。煙花Xi通過爆炸算子在半徑Ai上產生Si個火花,每個煙花爆炸半徑Ai與產生的爆炸火花數Si的計算公式分別為:

其中,ymin為當前煙花種群對應的目標函數最小值,ymax為目標函數最大值;ε 是一個很小的常數,以防止分母為0。A0和M0為常數,分別用以調整每個煙花爆炸產生的半徑大小和爆炸火花總數量。為了區分煙花優劣,函數值越小的煙花在小半徑內產生的火花越多,相應局部搜索能力越強[15];相反,函數值較高的煙花在較大范圍內產生相對較少的火花,具有一定的全局搜索能力。
為控制火花數量過多或過少,引入式(18)所示的機制控制每個煙花產生的火花數量Si。

其中,a和b為兩個常數,round為四舍五入函數。
2.1.2 變異算子
在變異算子中,通常采用高斯變異產生變異火花加強煙花種群多樣性。高斯變異火花產生過程為:首先,在煙花種群中隨機選擇1 個煙花Xi;然后,隨機選擇Xi中的若干分量,并按照公式(19)進行變異操作[10],重復M1次,即可產生M1個變異火花。

其中,r為服從均值和標準差均為1的高斯分布隨機數。
2.1.3 選擇策略
為了將當前煙花種群中的優秀信息傳遞到下一代種群中,煙花算法會在候選種群H中選擇N個個體作為下一代煙花。其中,候選種群H由煙花、爆炸火花和高斯變異火花組成[10]。選擇過程為:首先,采用精英策略保留最優秀的煙花,即函數值最小解;其次,使用輪盤賭策略從候選集合中選擇N-1 個個體。其中每個個體被選中的概率為:

傳統煙花算法最初用于連續域函數優化,算法步驟中的爆炸算子和變異算子僅適用于連續域空間搜索。由于離散優化問題與連續優化問題的區別,傳統煙花算法不能直接應用于OCLRP-STWSPD 和其他離散優化問題求解。因此,本文依據OCLRP-STWSPD 問題特征和煙花算法搜索機制,對爆炸算子和變異算子重新定義,并針對OCLRPSTWSPD 提出新的解表示方法,在算法搜索過程中加入自適應策略,進而提出求解OCLRP-STWSPD 問題的離散煙花算法(Discrete Fireworks Algorithm,DFWA)。
2.2.1 初始解構建
(1)編碼方式。假設有m個候選倉庫和n個客戶,則初始解由Vd={1,2,3,…,m}集合內的元素和Vc={m+1,m+2,…,m+n}中的元素以及一些輔助數字0 組成。其中,輔助數字0 用來分割路徑,輔助數字0 的數量應該等于或小于表示大于或等于x的最小整數)。分配給每個倉庫的客戶位于它與下一個不同的倉庫之間,如果在一個倉庫之后沒有客戶,則表示該候選倉庫沒有開放。
圖2 給出1 個10 位客戶和3 個備選倉庫的例子。如圖2 所示,倉庫3 未開放,倉庫1、2 開放。其中,從倉庫1 出發的兩條配送路線為1 →9 →10→13 和1 →12→4;從倉庫2 出發的兩條配送路線為2→8 →11→5 和2 →6→7。

Fig.2 Solution representation圖2 解的表示
(2)種群初始化。為了產生好的初始種群,本文采用基于貪婪思想的策略構建初始解。
步驟1:設Per為Vd中m個倉庫的隨機排列。將Per中的第i個元素表示為Peri,令i=1。
步驟2:設Cus為未被分配客戶的集合,C(Peri)表示未被分配客戶中需求不超過倉庫Peri剩余能力的客戶集合。首先,對未分配的客戶進行分配,并從Peri倉庫開始一條新的路線,將C(Peri)中距離Peri倉庫最近的客戶分配給Peri倉庫;其次,將C(Peri)中距離上一個已分配客戶最近的客戶分配到當前路線中,如果該客戶需求量大于車輛剩余容量,則將該客戶從該路線中刪除,并繼續從C(Peri)中尋找距離上一個客戶最近且需求量滿足車輛剩余容量的客戶。若不存在客戶滿足條件,則從Peri開始一條新的路線,并重復上述操作,直到Peri倉庫剩余容量無法服務任何新客戶為止。
步驟3:如果Cus不為空,則令i=i+1,并重復步驟2。否則,將使用2.1.1 中的編碼方式對當前序列進行編碼作為一個初始解。
步驟4:如果初始解的個數小于預先設定的煙花種群大小N,返回步驟1;否則,輸出初始種群。
2.2.2 爆炸算子
針對OCLRP-STWSPD 離散特征,本文采用交換操作實現爆炸算子[5],并將爆炸半徑Ai定義為交換次數。具體操作為對煙花Xi,隨機選取Xi上的Ai對客戶,并對選中位置上的元素進行交換,得到新的序列。
圖3 為爆炸算子具體操作。如圖3 所示,當煙花Xi爆炸半徑Ai為2 時,對煙花序列Xi選擇兩對客戶進行交換操作,選擇5 和7、10 和12 進行交換操作形成新序列。

Fig.3 Illustration of generating a spark with Ai=2圖3 為2 時的爆炸算子操作
2.2.3 變異算子
(1)變異算子實現。DFWA 變異算子是通過插入和逆轉兩種搜索機制[5]實現的。變異火花通過這兩種操作產生,兩種操作概率均為0.5。
生成隨機數rand,若rand小于0.5,則使用插入操作:隨機選取Xi的兩個位置a、b,將b位置上的元素插入到a位置元素的前面;若rand大于等于0.5,則使用逆轉操作:隨機選取Xi的兩個位置a、b,逆轉a、b之間的元素排列。

圖4 和圖5 分別給出了變異算子的兩種實現方法。圖4 為插入操作,將元素9 插入到元素7 前面產生一個新的序列;圖5 為逆轉操作,將元素5 和元素13 之間的所有元素逆轉其排列順序生成1 個新的序列。

Fig.4 Illustration of the insertion move圖4 插入操作

Fig.5 Illustration of the inverse move圖5 逆轉操作
(2)自適應策略。基本思想為:如果當前代搜索到更優解,則認為當前煙花種群具有較強的尋優能力;否則,說明可能已經陷入局部最優。基于該思想,算法利用變異算子中的參數q改變種群尋優能力。若當前代搜索到更優解,則減小q以加強局部搜索;若當前最優解沒有得到改進,則增大q以提高接受較差解的概率,以便更快跳出局部最優解。
在離散優化過程中,往往很難在1 次迭代中得到較好的解。因此,當煙花種群落入局部極值時,往往需多次迭代才能跳出局部收斂。鑒于此,本文設定如果連續10 代不改進最優值,則增大q值。公式(22)-(23)分別用來增大和減小q值。其中,r和h均為常數,分別為增長因子和衰退因子。

基于上述操作,求解OCLRP-STWSPD 的DFWA 具體步驟為(見圖6):
步驟1:初始化。首先,初始化煙花種群大小N、爆炸因子A0、爆炸火花數M0、變異火花數M1、控制參數q、增長因子r、衰退因子h、最大迭代次數T;然后使用貪婪策略初始化煙花種群。
步驟2:對煙花種群進行爆炸算子和變異算子操作,產生新的爆炸火花和變異火花。
步驟3:從候選種群(煙花,爆炸火花,變異火花)中選擇N個煙花作為下一代種群。
步驟4:若當前代搜索過程產生更優解,則減小q;若當前代解連續10 代沒有得到改進,則增大q值。
步驟5:重復步驟2、3、4、5,直到達到最佳迭代次數T,輸出最優解。

Fig.6 The flow of DFWA algorithm圖6 DFWA 算法流程
假設初始煙花種群大小為N,n名客戶和m個倉庫,爆炸算子產生M0個爆炸火花,變異算子產生M1個變異火花。DFWA 在構建初始解階段需生成N個初始解,且對每個倉庫進行客戶分配排序,其時間復雜度為O(N×m×n);在爆炸算子階段,N個煙花產生M0個爆炸火花,其時間復雜度為O(N×M0);在變異算子階段產生了個M1變異火花,其時間復雜度為O(M1)。在選擇階段需從候選種群中保留最優個體,涉及到所有候選種群個體排序,其時間復雜度為O((N+M0+M1)log2(N+M0+M1))。綜合各個步驟,DF?WA 時間復雜度為O(N×m×n)+O(N×M0) +O(M1)+O((N+M0+M1)log2(N+M0+M1))=O(N×m×n)+O(N×M0) +O((N+M0+M1)log2(N+M0+M1))。
參數設置可能影響DFWA 性能。因此,本文進行靈敏度分析以確定最佳參數設置。實驗在Windows10 系統下的MATLAB R2016a 環境進行。測試參數值設置如下:

每種參數組合獨立運行10 次,并使用平均目標函數值與平均運行時間為評價指標。當研究其中一個參數與算法性能之間關系時,其他參數保持不變。
3.1.1 煙花種群大小N
如圖7 所示,實線與虛線曲線分別表示在不同參數N下的目標函數值和計算時間。隨著N的增大,解空間也隨之變大,因此得到優秀解的概率也會增加。從圖1 可以看出,N對DFWA 的影響較大,當N增大時,目標值會不斷減小,計算時間也會相應提高。當N提高到1.25(n+m)后,解的質量提升速度明顯下降,而計算時間依然會增加,因此綜合解質量和計算時間,本文選取N=1.25()n+m作為煙花種群大小。

Fig.7 Sensitivity analysis of parameter N圖7 參數N 的靈敏度分析
3.1.2 爆炸因子A0
在DFWA 中,A0用于調整爆炸半徑,以控制產生每個火花所需交換次數。當A0較小時,交換次數較小,交換產生的火花不能得到充分改善;但是當A0較大時,也可能陷入無意義迭代,增加計算時間。如圖8 所示,當A0=2N時,計算結果較好,相應計算時間也相對合理。

Fig.8 Sensitivity analysis of parameter A0圖8 參數A0的靈敏度分析
3.1.3 爆炸火花數M0
爆炸火花數M0越少,對鄰域搜索力度越小,得到最優解的可能性越小。但是,較多的爆炸火花可能與窮舉法非常相似,會大幅增加計算時間。如圖9 所示,當M0=(n+m)時,DFWA 尋優效果和計算時間較為合理。因此,本文將爆炸火花數量設置為M0=(n+m)。

Fig.9 Sensitivity analysis of parameter M0圖9 參數M0的靈敏度分析
3.1.4 變異火花數M1
變異火花數M1和爆炸火花數M0效果相似。變異火花可提高種群多樣性,可有效防止算法陷入局部最優解。M1值越小,其搜索范圍越小;M1值越大,其搜索范圍越大,種群多樣性也越高,但M1取值較大時,相應計算時間也越高。如圖10 所示,當M1=(n+m)時,可較好平衡解質量和計算時間。

Fig.10 Sensitivity analysis of parameter M1圖10 參數M1的靈敏度分析
3.1.5 控制參數q
在DFWA 中,參數q用來調節接受較差解的概率。當q較小時,接受差解的概率也較小,可加速收斂速度,同時也可降低種群多樣性,加大陷入局部最優解的可能性;當q較大時,接受差解的概率較大,種群多樣性提高的同時也降低了收斂速度。圖11 給出了在不同q值大小下DFWA 的表現,可以看到當q值較小或較大時,DFWA 尋優效果并不理想。當q=1 時,DFWA 可較好平衡收斂速度與尋優效果。

Fig.11 Sensitivity analysis of parameter q圖11 參數q 的靈敏度分析
目前尚未有標準的實驗數據,為了驗證本文OCLRPSTWSPD 模型與DFWA 算法有效性與可行性,對文獻[19]和[20]給出的CLRP 算例加以改造進行實驗。算例中各節點坐標、倉庫費用和容量、車輛最大容量、客戶配送量以及各項固定成本費用均采用文獻[19]、[20]所給算例原始數據,客戶取貨量采用均勻分布的方式生成,均勻分布上下限為對應算例中配送量最小值和最大值,而客戶時間窗上下限ETi和LTi同樣采用均勻分布的方式生成,均勻分布區間分別為[0,10]和[ETi+30,ETi+60]。DFWA 參數設置為參數設置與靈敏度分析中找到的最優參數,此外,增長因子r=1.1、衰退因子h=0.98、最大迭代次數T=500。
第一組數據客戶數為20 或50,候選倉庫數均為5,單位運輸成本為100,每輛車固定租賃成本為1 000,單位懲罰成本Pe和Pl分別為50 和80,車輛行駛速度為3;第二組數據客戶數量范圍從8 到50,候選倉庫數為2 或5,單位運輸成本為1,單位懲罰成本Pe和Pl分別設置為5 和8,車輛行駛速度為5。表1 和表2 分別給出了DFWA 對第一組算例中每個算例獨立求解10 次的結果,包括最小成本值、最小成本值出現次數、平均成本值、平均運行時間以評估算法性能。如表1 所示,算法求解20-5 的算例時,均可達到最小成本值,平均運行時間最長達10.33s。對于50-5 的算例,算法可在10 次運行中至少2 次達到最小成本值,平均運行時間最長達32.93s。表2 給出了DFWA 對第二組算例中每個算例獨立求解10 次的結果。對于第二組算例,算法在10 次運行中至少3 次可達到最小成本值,且計算時間不高于31.63s。
為了更進一步驗證DFWA 性能,本文選擇文獻[18]中的OCLRP 算例進行直接計算并與文獻[18]中的算法進行比較,使用DFWA 運行每組算例10 次后取其中最優值,其比較結果如表3 所示。
表3 提供了CPLEX 優化器、SA[18]、DFWA 在18 組算例上的表現。從求解結果方面看,CPLEX 求解器可以在16 組算例上達到最優值,而SA(模擬退火算法)和DFWA 均可以在17 組算例上取得最優值;從求解效率上來看,CPLEX 優化器在小規模且客戶數不多于22 的算例上效率更高,甚至在一些算例上可以在1s 以內得到優化結果。但在大規模的算例上,CPLEX 求解效率較低,某些大規模算例在4 小時內仍未求得最優解。而SA 和DFWA 在大規模算例上的求解效率明顯更高,從時間上來看,DFWA 在13 組算例上的計算時間少于SA,且計算時間大幅度下降。綜合來看,DF?WA 在求解此類問題時,能夠在較短時間內求解出令人滿意的解,且具有尋優效果好、求解效率高的優點。

Table 1 The OCLRP-STWSPD results of the first set of data表1 第一組數據的OCLRP-STWSPD 結果

Table 2 The OCLRP-STWSPD results of the second set of data表2 第二組數據的OCLRP-STWSPD 結果
為證明OCLRP-STWSPD 模型在現實生活中的適用性,本部分對上述數據集在相同時間窗和相同參數設置下,進行帶軟時間窗的同時取送貨有容量選址路徑問題(Capacitated Location Routing Problem with Soft Time Win?dows and Simultaneous Pickup-Delivery,CLRP-STWSPD)實驗,并將CLRP-STWSPD 運行結果與上述OCLRP-STWSPD結果進行對比。
表4 給出了運用DFWA 對OCLRP-STWSPD 和OCL?RP-STWSPD 在所給算例上的求解結果、差值(差值=CL?RP-STWSPD- OCLRP-STWSPD)和Gap值(Gap=。

Table 3 Comparison of DFWA and other algorithms表3 DFWA 與其他算法的比較結果

Table 4 Comparison of solution results of OCLRP-STWSPD and CLRP-STWSPD表4 OCLRP-STWSPD 與CLRP-STWSPD 求解結果對比
從表4 可知,在相同時間窗下,OCLRP-STWSPD 成本值遠小于CLRPSTW-STWSPD,最大Gap達到30.20%,可節省高達15 270 單位的成本。這是由于OCLRP-STWSPD 物流系統外包給第三方公司,為所有客戶完成服務后的車輛無需返回倉庫以節省開支。這些結果進一步證明了OCL?RP-STWSPD 在現實生活中的適用性,同時也表明如果公司將配送活動外包給第三方,可節省大量配送成本。
本文提出了一個應用背景更符合實際的帶軟時間窗同時取送貨開放式選址路徑問題,并以最小化倉庫開放成本、配送成本、固定車輛車本、懲罰成本之和為目標建立數學模型。針對傳統煙花算法求解離散問題的局限性,基于交叉逆轉等操作重新定義爆炸算子與變異算子以維持種群多樣性,并加入自適應策略避免過早陷入局部最優解,提高算法搜索能力。同時,在算法中加入新的解表示方式分割求解路徑。最后通過算例求解與結果比較,證明了DFWA 在求解OCLRP-STWSPD 問題上有效性和可行性,可很好地解決目前第三方物流配送中面臨的現實問題,對企業節約配送成本與提高客戶滿意度具有重要意義。下一步將集中從3 個方面開展更深入研究:①考慮更多的約束條件,比如考慮交通路況的OCLRP、帶模糊需求的OCLRP、多目標的OCLRP;②設計其他啟發式算法解決OCLRP 問題;③采用DFWA 解決FLP 與VRP 其他變體。