阿拉善盟衛康大藥店運輸路徑優化_第1頁
阿拉善盟衛康大藥店運輸路徑優化_第2頁
阿拉善盟衛康大藥店運輸路徑優化_第3頁
阿拉善盟衛康大藥店運輸路徑優化_第4頁
阿拉善盟衛康大藥店運輸路徑優化_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

題目:阿拉善盟衛康大藥店運輸路徑優化緒論1.1研究背景與意義隨著時代的進步,人們越來越重視身體健康問題,大健康產業取得了高速的發展,而大健康產業其中包含著藥店這一重要板塊。衛康大藥店作為阿拉善盟零售藥業行業中的中堅力量,成為了廣大市民日常藥品需求的主要來源。經營過程中,配送環節的成本結構將直接影響到整個企業的盈利比值。本文立足于實地調研衛康大藥店在當地的真實情況的基礎上,通過分析現階段衛康大藥店在當地物流配送路徑規劃上所存在的問題,決定分別使用節約里程算法和模擬退火算法來進行配送路徑的優化處理然后將結果作對比分析,選出最優配送方案。1.2國內外研究現狀國內學者張寶友,鈕亮(2015)為了求解大規模城市路網中的物流配送最短路徑問題,提出了基于MapReduce的并行算法和CIS仿真結合的求解方法[1]。劉婷婷,于衛紅(2018)認為雖然目前國內外解決物流配送最短路徑規劃的方法有很多,但是也存在著一些不足之處。于是采用Kruskal算法構建物流配送網絡最短路線規劃模型,比較權值大小并用canvas畫布顯示最終路徑圖形等過程,得出物流配送網絡的最佳路徑并用實例進行了驗證[2]。鄧楠名,唐世軒等(2017)為了高效、準確地解決島礁補給最優路徑規劃問題,分別對蟻群算法和模擬退火算法路徑規劃進行了仿真分析[3]。周君,賈昆霖(2017)認為旅行商路徑規劃問題(GTSP)是一個典型的NP完全問題。針對這一困難問題,改進了能夠求解GTSP問題的傳統模擬退火算法,這樣的做法回避了傳統算法的一些缺點,大量實驗結果證明,改進的模擬退火算法能夠在更短的時間內收斂,并可得到比傳統方法質量更好的最優解[4]。國外學者ReineltG,TspliB(1991)針對二維eucli-dean旅行商問題(tsp),提出了一種改進的混合遺傳算法。該算法將遺傳算法與局部搜索完美結合,期望在合理的計算時間內獲得更高質量的tsp問題解[5]。ShowalterS,ManleyJ(2016)研究了兩自由度移動機器人在平面內穿越多邊形未移動障礙物的運動規劃問題。采用hopfield神經網絡的方法。在雙目標框架中追求最大化路徑和最小化路徑長度[6]。綜上所述,國內外學者對路徑優化問題難分千秋,雖然國外學者提供的理論方法更為先進,由上述時間軸就可看出,國外對于路徑優化問題在90年代就已經有了一定的認識與見解,因此理論或許經過了時間長河的一次又一次驗算,可卻在國內鮮有理論與實際相結合的案列。國內學者依據物流中將可能遇到的路徑問題提出了各種各樣的解決方法,做了大量實驗,依照本國國情,卻顯實際有效一些[3]。當然也存在著諸多不足之處。因此期盼國內外學者就此問題做更深入的研究,以求未來在此問題上有更加簡潔且適用的方法。1.3研究內容及方法第1步:理論研究。通過上網查詢及搜集物流工作中路徑優化相關書籍,深入了解其理論概念,羅列出物流配送路徑優化的要素,這樣更利于理清研究思路。然后查閱其他學者的研究成果及所用方法,在諸多方法中初步大膽做對比猜測,最終選擇認為適用的兩方法,其一為老生常談的節約里程法,另一種為模擬退火算法。第2步:深入了解企業配送現狀。對阿拉善盟衛康大藥房進行實地調研,收集企業的真實數據資料,并收取詳細的分店位置信息。因為對本文研究方向來說,位置坐標是最重要的一個參數,因此在此項采集數據的工作流程上切勿發生“大概”的模糊性數據。整合原始數據,以便于更科學有效的分析問題。第3步:分析原有配送路徑存在的問題。結合企業實際運營情況及人力物力消耗情況,做進一步的剖析,找出企業在配送作業中路徑規劃產生問題的主要原因[7]。第4步:獲得優化方案。根據企業實際問題建立數學模型,先通過節約里程法對原有配送路徑進行優化,再利用MATLAB編程軟件對原有配送路徑進行代碼描述,其中要謹慎調試“退火速率”這項參數,這項參數的大小或影響最終運行結果。將兩種不同方法所得出的優化方案做數據性對照。第5步:分析兩種優化方法的適用性。綜合企業運營情況和經濟實力等因素,最終確定最適合本企業的路徑優化方法。1.4技術路線圖本文的研究思路圖如圖1-1所示 圖1-1研究思路示意圖

2物流配送路徑優化相關理論概述2.1物流配送路徑優化內涵高效率合理的配送是物流系統順利運行的保證,配送線路安排的合理與否對配送速度、成本、效益影響很大。可真正在現實中我們可以看出,諸多企業在物流配送就路徑規劃上還是存在著問題。這不但可以看出物流配送路徑優化問題確實是有難度有技術的一項工作,還說明了物流配送路徑優化對于現今企業是非常重要的戰略計劃,無論是物流企業還是非物流企業都離不開貨物流轉,面對飛速發展的社會以及人們對購物速度的需求進一步增長,物流的問題將是人們老生常談的話題[8]。所以人們通過建立相關數學模型,對模型進行求解獲得最優配送方案,正確合理地安排車輛的配送線路,實現合理的線路運輸可以使企業達到科學化的物流管理,同時滿足了廣大消費者對購物速度的要求,這也是企業提高自身競爭力的有效途徑之一。2.2物流配送路徑優化要素物流配送路徑優化所包含的幾個要素如圖2-1所示圖2-1物流配送路徑優化四大要素(1)成本支出最少物流成本的支出量直接影響著整個物流環節在企業的資金支出比重。企業如果想追求整體利益最大化,則必須正視物流成本問題,并且爭對實際情況通過合理有效的路徑優化使物流成本降到最低[9],這不僅做到了資金優化,而且還管理為企業的發展提供一定程度的新機會。(2)人力物力耗損最少在物流配送活動過程中,需要調動大量的人力和物力,那么將給企業帶來一定的資源配置壓力。企業常常因資源使用不科學而導致物流配送效率低下,但卻同時也消耗了企業中不小的人力物力資源。所以將人力物力損耗率將至最少是物流配送路徑優化中最重要的要素之一。(3)行駛里程最短所謂行駛里程即行駛線路長度總和。要將行駛里程調整到最短,那么一定離不開對行駛線路的科學規劃,而在現實中涉及的問題錯綜復雜,同時要考慮諸多因素才可做到最好的縮短行駛里程。其一:要考慮眾多配送點的實際位置以及彼此間位置,掌握實地情況和相關數據。其二:每個配送點中消費者消費速度不同,在企業定時配送時,需求量存在差異。因此要結合本企業貨車載重量情況來作線路安排。最終使得企業配送活動過程中達到行駛里程最短的目的(4)配送服務優配送服務雖然是整個物流配送中最末端環節,可它的角色舉足輕重。配送服務可被看成物流過程中的附加項,可它離客戶最近、接觸最緊密。將配送服務調整到最優,或將直接影響企業形象與口碑,所以企業在做貨物配送路徑優化時應重視提升配送服務質量[10]。2.3配送路徑優化的方法2.3.1節約里程法節約里程算法是解決運輸車輛數量不確定問題最著名的啟發式算法,也稱為節約型算法或節約法。它以并行方式和串行方式對運行距離進行優化,將運輸問題中的兩條或多條線路集成到一個線路中是節約里程法的核心思想。以最小化單線路運距來組合成總運輸距離,且直到達到一輛車的車輛負載極限,進行下一輪優化。優化過程分為并行模式和串行模式兩種模式。進行線路優化工作前,先要確定好整個運輸工作的配送中心的位置。首先從配送中心的運輸能力和配送中心到各個配送點的距離以及各配送點之間相隔的距離出發,確定各配送點的需求量,然后為線路優化制定一定的限制條件。最終制定在限制條件內總體最優的配送方案,使車輛運輸里程最小化。節約里程法在實施過程中需滿足的條件:(1)客戶的實際需求;(2)所使用的貨車不得超載過量;(3)每輛車每次的總運行里程不超過上限。節約里程法的節本原理為幾何原理之一:三角形一邊之長必定小于另外兩邊之和。節約里程法基本原理表示圖如圖2-2所示:圖2-2節約里程基本原理圖示節約里程法的核心是將配送運輸中存在的兩個回來合并為一個整體回路。最終使總里程總長產生變化,所產生的變化量用△CAB來表示,則有算式如下所示:(2-1)2.3.2模擬退火算法模擬退火算法是一種基于概率的算法,它來源于固體退火的原理。其原理基本思想是將給定固體充分加溫到至高點,再讓其溫度慢慢冷卻。在固體被加溫的過程中,固體內部粒子隨著溫度逐漸升高變成無序狀,類似于粒子在給定范圍內劇烈抖動,隨之內能增大;而固體慢慢冷卻時粒子逐漸趨于有序。當每個粒子都達到平衡靜止狀態,固體溫度回歸常溫狀態,隨之內能也降至最小。它是迭代求解策略的一種隨機尋優算法,其出發點是基于物理中固體物質的退火過程與一般組合優化問題之間的相似性。模擬退火算法從某一較高初溫出發,伴隨溫度參數的不斷下降,結合概率突跳特性在解空間中隨機尋找目標函數的全局最優解,即在局部最優解能概率性地跳出并最終趨于全局最優。模擬退火算法是一種通用的優化算法,理論上算法具有概率的全局優化性能,目前已在工程中得到了廣泛應用,諸如機器學習、神經網絡、信號處理等領域[11]。說通俗一點,模擬退火算法的過程就好比人拿著一個桶,桶里裝著大小形狀不一的石頭,將桶不停震動,桶里的石頭便隨著桶的搖擺而時刻變動著位置,當人將桶震動一段時間后,那么同種石頭在某種概率下或許達到最小縫隙。那么就相當于模擬退火算法中在某種概率下溫度降至最低而獲得的最優解。模擬退火算法步驟為[14]:第1步設定溫度上限與下限。初始溫度為T0,隨機得到一個可行解Xi,令當前解為Xi=X0;溫度為Ti=T0。第2步若退火過程中獲得的解溫度Ti>Ti-1,那么所獲得的解不為最優解,需要繼續降溫。若在該溫度達到內循環停止,那么可以轉到第3步。第3步輸出結果,算法停止。

3阿拉善盟衛康大藥店物流配送現狀分析3.1阿拉善盟衛康大藥店企業背景阿拉善盟衛康大藥店連鎖有限責任公司成立于2003年09月14日,主要經營范圍為許可經營項目:中藥材、中成藥、中藥飲片、化學藥制劑、生化藥品、生物制品、抗生素、保健品、普通診察器械、物理治療及康復設備、中醫器械、醫用衛生材料及敷料、醫用高分子材料及制品,胰島素的銷售等。企業人數達到360人,其中物流配送部門下人數可達50人。阿拉善盟衛康大藥店作為當地藥業支柱,依舊在一天天的發展壯大。但因處特殊產業,存貨量的需求高,以及在配送路徑規劃方面存在一定的問題,導致企業資金流轉不迅速,因此一直不能成為阿拉善盟頂尖企業。3.2阿拉善盟衛康大藥店網點布局阿拉善盟衛康大藥店網點布局圖如圖3-1所示。圖3-1阿拉善衛康大藥店網點布局圖如圖3-1所示:衛康大藥店(溫馨花園店為總配送中心店)記作Q點A:農牧局店B:巴彥花園店C:太西店D:錫林南路店E:鴻福店F:環城南路店G:煜豐錦城店H:第四中學店I:怡和店J:城管局店3.3阿拉善盟衛康大藥店配送網絡按照地圖上上北下南左西右東的地理位置,使用比例尺的方法將配送路徑圖畫出,如圖3-2所示圖3-2阿拉善盟衛康大藥店配送路徑圖阿拉善盟衛康大藥店共有10個分店配送點,配送中心現有載重量為2t和4t兩種貨車車型,但因未作科學的配送路徑規劃,則一直采用2t或4t的貨車對10個配送點兩兩為一條配送線對配送分店進行配送。總里程為:78.3千米。各分店間距離如表3-1所示。

表3-1各分店間距離表QABCDEFGHIJQ0A13.20B6.37.50C6.376.92.70D3.610E4.513.88.737.273.650F2.414.47.017.905.826.770G315.99.2795.594.143.940H110.366.73.886.312.370I5.418.111.711.538.998.643.704.586.340J6.918.312.6511.627.924.548.070各分店到配送中心的距離和需求量如表3-2所示。表3-2運輸任務表(單位:千米)分店ABCDEFGHIJ貨運量0.8配送距離

4阿拉善盟衛康大藥店配送路徑存在問題原因分析阿拉善盟衛康大藥店作為本地區醫藥業領軍企業,大量的物流配送工作是企業必不可少的運營環節。在上一章節中陳述了本企業經營狀況及在物流環節具體的配送路徑方案。本章將結合企業實際情況,對企業在配送路徑的規劃上所導致產生諸多問題的原因進行分析。存在問題分析餅狀圖如圖4-1所示圖4-1阿拉善盟衛康大藥店配送路徑問題占比圖4.1物流配送路徑規劃缺乏科學性近年來,物流配送路徑規劃問題的研究越來越受廣大學者爭鋒研究,這也詮釋出了一個道理,任何工作都需要追求更科學更合理和更具依據的方法來保障其更順利的運作,當然,尋求科學性的方法對于物流行業來說無疑更是重中之重。如果僅依靠以往個人經驗來對物流環節中的路徑問題進行解答的話,那么將對企業造成資源浪費的嚴重經營性錯誤。從阿拉善盟衛康大藥店為本企業制定的物流配送路徑方案可看出,企業在制定路徑方案僅僅是依據經驗來判斷進而選擇路線,沒有科學的數據分析作支撐[12],隨機性太強,因此常常導致配送不及時。4.2物流配送路徑規劃浪費大量人物力資源現今社會企業間競爭力越來越大,因此也對企業的綜合實力要求非常高。人力物力資源被稱作企業的靈魂力量,企業所擁有的人物力資源越雄厚,或者說企業將自身所擁有的人物力資源最大程度的安排優化使用[13],那么將大大提升企業在業內的競爭力。阿拉善盟衛康大藥店在配送時并未十分重視資源的優化,分別采用2t或4t的貨車對10個配送點兩兩為一條配送線進行配送,因此一共須動用5輛貨車完成全部配送任務。配送作業時通常派遣兩名員工同車出行,則在總體配送作業中利用了大量不必要的人力和物力。4.3物流配送路徑行駛總里程太長物流配送路徑的方案制定中,所追求的最大目標定是利用科學的手段實現車輛行駛路徑最短化[15],最短化意味著貨物能夠以最快時間到達各分店,滿足各分店的經營需求和消費者對藥物的即時性需求,同時也意味著為企業節省了一筆不小的開銷。如果因配送路徑制定不合理而導致的車輛總里程太長,那么或將造成分店屢次不能及時滿足臨近消費者藥物需求而流失了消費者,進而長期以往必將影響企業口碑及危害企業形象。阿拉善盟衛康大藥店沒有采用科學的方法去制定配送路路,使得配送路徑總里程過長。

5阿拉善盟衛康大藥店配送路徑優化方案5.1原配送路徑基本數據分析目前,阿拉善盟衛康大藥店所采用的配送方案及每條線路的云貨量等基本信息如表5-1所示。表5-1配送信息表線路運輸里程運貨量車型司機最大載重量周期(KM)(t)(t)(人)(T)(周)Q-A-B-Q271.92t1人2t1Q-C-D-Q13.51.72t1人2t1Q-E-J-Q162.44t2人4t1Q-H-G-Q9.51.82t1人2t1Q-I-F-Q12.31.72t1人2t1從上表可獲知,企業每周需要載重量為2t的貨車出車4次、載重量為4t的貨車出車1次。司機總用人達6人。運輸總里程為78.3千米。5.2建立阿拉善盟衛康大藥店配送多回路VRP模型依據對阿拉善盟衛康大藥店收集的基礎數據對阿拉善盟衛康大藥店的配送系統建立VRP模型。基本條件:阿拉善盟衛康大藥店總配送中心需要配送貨物給10個分店,設配送中心為Q點,10個分店依次為A,B,…,J,現有載重為2t和4t的貨車。模型目標:明確在VRP模型下配送貨車使用數目、載重車型、每車次出車行駛路徑以及司機數目。在合理的范圍內,達到總行駛里程最短、所用人力物力資源最少、最經濟。限制條件:每天每車次運送里程不得超過50KM每輛車在配送結束必須返回配送中心Q點一條配送線的貨物載重量不得超過4t貨車最大載重量。5.3基于節約里程法配送路徑優化已知阿拉善盟衛康大藥店配送中心為Q點,分別向10個分店配送,本企業擁有載重量為2t和4t兩種類型的貨車。設分店C=﹛Ci,j=A,B,C…J﹜,各分店間節約距離為?Cij。每輛車載重量為Di,D求節約里程。參照表3-1,計算出各分店之間的節約里程數,并且按照從大到小的順序依次排列,填入節約里程順序表中。如表5-2所示表3-1各分店間距離表QABCDEFGHIJQ0A13.20B6.37.50C6.376.92.70D3.610E4.513.88.737.273.650F2.414.47.017.905.826.770G315.99.2795.594.143.940H110.366.73.886.312.370I5.418.111.711.538.998.643.704.586.340J6.918.312.6511.627.924.548.070表5-2節約里程順序表連接點節約里程連接點節約里程連接點節約里程A-C12.67A-E3.9A-H1.1A-B12G-I3.82F-J1.06H-J10.06C-E3.6D-G1.01B-C9.97E-G3.36C-F0.87E-J6.87D-J2.58B-J0.55A-D6.3B-E2.07A-I0.5C-D6.26D-H2C-G0.37G-H5.73A-J1.8A-G0.3E-H5.72B-F1.69B-H0.29G-J5.6C-J1.65C-I0.24B-D4.77F-G1.46D-F0.18D-E4.45E-I1.26E-F0.13I-J4.23A-F1.2B-G0.03H-I4.16F-H1.19D-I0.01F-I4.1C-H1.11B-I0按節約里程從大到小排列順序進行合并路徑(1)? D L故合并A,C兩點,則 I(2)?DA+故合并A,B兩點,則 I(3)? D L故合并H,J兩點,則 I(4)?CBC=9.97KM(5)? D L L故合并H,I兩點,則 I(6)?D L L故合并A,D兩點,則 I(7)?CCD=6.26KM(8)?C(9)?CEH=5.72KM,(10)?C(11)?CBD=4.77KM(12)?CDE=4.5KM(13)?D L L故合并I,J兩點,則 I(14)?CHI=4.16KM,(15)?C(16)?CAE=3.9KM(17)?C(18)?CCE=4.16KM,(19)?C(20)?CDJ=2.58KM(21)?CBE=2.07KM(22)?CDH=2.KM(23)?CAJ=1.8KM(24)?C(25)?CCJ=1.65KM(26)?D L故合并F,G兩點,則 I至此,合并結束。得到優化后的結果如表5-3所示:表5-3節約里程優化結果線路運距載重量最大載重量車型司機(KM)(t)(t)(t)(人)Q-E-J-H-I-Q22.713.9t4t4t2人Q-B-A-C-D-Q28.013.6t4t4t2人Q-G-F-Q9.342t2t2t1人從上表可知,阿拉善盟衛康大藥店每周需要派遣4t載重車兩車次、2t載重車一車次向10個分店進行配送貨物。在滿足車輛不超重、總里程最短的情況下,一共需要6名司機在崗。運輸總里程為60.06千米,節約總里程為18.24千米。優化后線路圖如圖5-1所示 圖5-1優化后線路圖5.4基于模擬退火算法在MATLAB中實現路徑優化當中心倉庫車輛數為k,客戶數為n時,每輛車都必將分配有若干客戶,每輛車分配的客戶沒有交集,且總客戶數要為n。將此前各點之間的相對距離數據放入CAD視圖軟件中,將配送中心Q點坐標設為(0,0)獲得各點直角系坐標如表5-4所示:表5-4各分店坐標配送點XY需求量A-13.201.5B-5.9727-2.00410.4C-6.33280.67180.5D-2.91482.11281.2E-0.15344.49741.6F1.0364-2.16470.8G2.63521.43371.2H3.62093.59160.6I4.7049-2.65020.9J4.28185.41070.8

第1步:將配送中心各配送點數據單獨分裝在名為readdata程序中functionmotor=readdata(filename)[adata1,bdata1,cdata1]=xlsread(filename,'分店數據');xy=adata1(:,2:3);%各客戶點位置坐標needdata=adata1(:,4);%各客戶點的需求量q=[0;needdata];[adata2,bdata2,cdata2]=xlsread(filename,'配送中心坐標');XYdc=adata2(1,2:3);%配送中心的坐標位置[adata3,bdata3,cdata3]=xlsread(filename,'車型數據');Q=adata3(:,2);%車輛載重限制V=adata3(:,3);%速度F=adata3(:,4);%固定成本G=adata3(:,5);%變動成本m=size(Q,1);xy=[XYdc;xy;];%所有點坐標n=size(xy,1);%節點個數第2步:在固定車輛數的情況下,為車輛隨機分配可能客戶。MATLAB算法主要程序如下:clearall;clc;closeall;formatshortg;tic;%讀取數據filename='數據10.xlsx';motor=readdata(filename);Ncity=motor.N-1;%客戶個數Demand=motor.q;%每個客戶點的需求量Distance=motor.D;%計算距離矩陣InitalTemperature=10000;%初始溫度LowTemperature=10;%終止溫度DampFactor=0.96;%降溫速率%GenerateinitialsolutionSolutionTSP=GenerateSolutionRandom(Ncity);%隨機產生初始路線[SolutionVRP,Bus,ValueVRP]=ConvertToVRPSolution(SolutionTSP,Demand,motor);%TSP==>>VRP%CatatkondisiawalTemperature=InitalTemperature;bestSolutionTSP=SolutionTSP;bestSolutionVRP=SolutionVRP;bestValueVRP=ValueVRP;bestBus=Bus;initalSolutionTSP=SolutionTSP;%solusiiterasiinitalSolutionVRP=SolutionVRP;%solusiiterasiinitalValueVRP=ValueVRP;%jaraksolusiiterasiinitalBus=Bus;count=0;Iter=ceil(double(solve(['10000*(0.99)^x=',num2str(10)])));%Iron=Iter/10;%switch分級別用的wait_hand=waitbar(0,'running...','tag','TMWWaitbar');%進度條%BeginiterationofSAwhileTemperature>LowTemperaturecount=count+1;temp(1,20)=struct('TSP',[],'VRP',[],'Value',[],'BusStyle',[]);%儲存每一鏈條下的結果fork=1:20%鏈長為200%selectlocalsearchbyrandomSelect=randi(3);switch(Select)case1%1-insertnewSolutionTSP=PerformInsert(initalSolutionTSP);[newSolutionVRP,MinBus,newValueVRP]=ConvertToVRPSolution(newSolutionTSP,Demand,motor);[newSolutionVRP,MinBus,newValueVRP]=OptBus(newSolutionVRP,MinBus,motor)case2%1-swapnewSolutionTSP=PerformSwap(initalSolutionTSP);[newSolutionVRP,MinBus,newValueVRP]=ConvertToVRPSolution(newSolutionTSP,Demand,motor);[newSolutionVRP,MinBus,newValueVRP]=OptBus(newSolutionVRP,MinBus,motor);case3%2-inversenewSolutionTSP=PerformInverse(initalSolutionTSP);[newSolutionVRP,MinBus,newValueVRP]=ConvertToVRPSolution(newSolutionTSP,Demand,motor);[newSolutionVRP,MinBus,newValueVRP]=OptBus(newSolutionVRP,MinBus,motor);end%CheckwhethernewsolutionisbetterthantheinitalsolutionifnewValueVRP<initalValueVRPinitalSolutionTSP=newSolutionTSP;initalSolutionVRP=newSolutionVRP;initalValueVRP=newValueVRP;initalBus=MinBus;%Checkwhethernewsolutionisbetterthanthebestsolutiondecidedaboveelse%Ifnewsolutionisnotbetterthantheinitalsolution,determineacceptbyprobabilityornotifrand<(Temperature-LowTemperature)/(InitalTemperature-LowTemperature);initalSolutionTSP=newSolutionTSP;initalSolutionVRP=newSolutionVRP;initalValueVRP=newValueVRP;initalBus=MinBus;endendtemp(k).TSP=initalSolutionTSP;temp(k).VRP=initalSolutionVRP;temp(k).Value=initalValueVRP;temp(k).BusStyle=initalBus;endMinTSP=temp(index).TSP;%找出當前溫度下的最優tspVRP=temp(index).VRP;%找出當前溫度下的最優vrpMinBus=temp(index).BusStyle;%找出當前溫度下的最優車型安排%Opt優化[totalCost,Route]=Opt2(VRP,MinBus,motor);iftotalCost<bestValueVRPbestSolutionTSP=MinTSP;bestSolutionVRP=Route;bestValueVRP=totalCost;bestBus=MinBus;end%PlotVrp(newSolutionVRP,motor.xy)%畫出路線圖Temperature=Temperature*DampFactor;disp(['第',num2str(count),'代'])disp(['%%%%%總成本:'num2str(bestValueVRP)])Fee(count)=bestValueVRP;%記錄每一代的最優值畫迭代圖用%現實完成進度百分比ifIter-count<=10waitbar(count/Iter,wait_hand,'即將完成');elseword=['進度',num2str(count/Iter*100),'%'];waitbar(count/Iter,wait_hand,word,'facecolor','b');end%waitbar(count/Iter,wait_hand);%顯示進度比enddelete(wait_hand);%刪除進度條%PlotVrp(bestSolutionVRP,motor.xy)%畫出路線圖%subplot(1,2,1)figure(1)PlotVrp(bestSolutionVRP,motor.xy);%畫出行車路線圖%subplot(1,2,2)figure(2)plot(1:count,Fee,'b-');%畫出迭代圖xlabel('迭代次數');ylabel('成本');title('迭代圖');disp('bestSolutionVRP:');OutputPath(bestSolutionVRP);disp('bestValueVRP');disp(bestValueVRP);%CarType(bestValueVRP,Bus,motor);%%顯示車輛信息car=length(find(bestSolutionVRP==1))-1;hh=find(bestSolutionVRP==1);disp('');disp(['一共使用--',num2str(car),'--輛車']);DLWeight=0;DLong=0;fori=1:carduan=bestSolutionVRP(hh(i):hh(i+1));disp(['第',num2str(i),'輛:','車型為:',num2str(bestBus(i))]);disp(['路線為:',num2str(duan)]);forj=1:length(duan)-1DLWeight=DLWeight+motor.q(duan(j));DLong=DLong+motor.D(duan(j),duan(j+1));enddisp(['載重量:',num2str(DLWeight),'']);disp(['載重率:',num2str((DLWeight/motor.Q(bestBus(i)))*100),'%','']);disp(['行駛距離:',num2str(DLong),'']);DLWeight=0;DLong=0;end

優化迭代過程如圖5-2所示:圖5-2優化迭代圖通過利用模擬退火算法的思想在matlab中運行程序最終的結果如圖5-3所示:圖5-3運行結果圖以上思路為通過模擬退火算法的概率思想得出運輸最短路徑。已知企業配有2t和4t兩種車輛,結合各分店需求量情況。對MATLAB線路優化結果進行VRP多目標規劃。包含車輛及人員的安排如表5-5所示表5-5模擬退火算法優化結果線路運距載重量最大載重量車型司機(KM)(t)(t)(t)(人)Q-D-C-A-B-Q28.00933.6t4t4t2人Q-I-H-J-E-Q22.69893.9t4t4t2人Q-F-G-Q9.33762t2t2t1人從上表可知,阿拉善盟衛康大藥店每周需要派遣4t載重車兩車次和2t載重車1車次向10個分店進行配送貨物。在滿足車輛不超重、總里程最短的情況下,一共需要5名司機在崗。運輸總里程約為60.06千米,通過計算結果可看出節約總里程為18.24千米。5.5驗證分析(1)節約里程法優化前后對比節約里程法優化前后對比如表5-5所示。表5-5優化前后對比表線路運距車型司機線路運距車型司機(KM)(t)(人)(KM)(t)(人)Q-A-B-Q272t1人Q-E-J-H-I-Q22.74t2人Q-C-D-Q13.52t1人Q-E-J-Q164t2人Q-B-A-C-D-Q284t2人Q-H-G-Q9.52t1人Q-I-F-Q12.32t1人Q-G-F-Q9.32t1人經過節約里程法對原有配送路線優化,優化前后結果分析:優化前:企業每周需要載重量為2t的貨車出車4次、載重量為4t的貨車出車1次。司機總用人達6人。運輸總里程為78.3千米。優化后:企業每周需要載重量為2t的貨車出車1次、載重量為4t的貨車出車2次。司機總用人達5人。運輸總里程約為60.06千米。(2)模擬退火算法優化前后對比模擬退火算法優化前后對比如表5-6所示。表5-6優化前后對比表線路運距車型司機線路運距車型司機(KM)(t)(人)(KM)(t)(人)Q-A-B-Q272t2人Q-E-J-H-I-Q22.69894t2人Q-C-D-Q13.52t2人Q-E-J-Q164t2人Q-B-A-C-D-Q28.00934t2人Q-H-G-Q9.52t2人Q-I-F-Q12.32t2人Q-G-F-Q9.33762t1人經過模擬退火算法對原有配送路線優化,優化前后結果分析:優化前:企業每周需要載重量為2t的貨車出車4次、載重量為4t的貨車出車1次。司機總用人達6人。運輸總里程為78.3千米。優化后:企業每周需要載重量為4t的貨車出車3次。司機總用人達5人。運輸總里程為60.06千米。

6結論與展望6.1結論阿拉善盟衛康大藥店作為當地藥業支柱企業,發展的硬實力越來越強。但是在企業運營活動中的物流配送環節存在著配送體系混亂、缺乏科學規劃的問題。物流配送實力的強弱直接決定著企業的軟實力是否強大。本文通過對阿拉善盟衛康大藥店實地調查與分析,建立VRP數學模型,分別運用節約里程法和模擬退火算法對企業原有配送路徑進行科學的優化,使得企業物流配送路徑體系更為科學完善,進一步提升阿拉善盟衛康大大藥店本企業的軟實力。經過模型求解,獲得最優配送路徑方案。已知企業原有配送方案需企業每周調動載重量為2t的貨車出車4次、載重量為4t的貨車出車1次;現每周需要調動載重量為2t的貨車出車1次、載重量為4t的貨車出車2次,滿載率較高。從總配送車次來看,優化后節省了2車次;從配送效率來看,原多采用2t載重車進行配送,無法同時完成多分店配送,效率低下,優化后多分店合并為一條配送線路中,效率大大提升。在企業配送路徑優化前,運輸總里程為78.3千米;優化后運輸總里程為60.06千米。總節約里程為:18.24千米表6-1節約里程法和模擬退火算法對比表線路運距車型載重率線路運距車型載重率(KM)(t)(KM)(t)Q-E-J-H-I-Q22.74tQ-E-J-H-I-Q22.69894tQ-B-A-C-D-Q284t較高Q-B-A-C-D-Q28.00934t較高Q-G-F-Q9.32tQ-G-F-Q9.33762t在阿拉善盟衛康大藥店配送案例中,利用節約里程法和模擬退火算法這兩種算法分別對原有配送路線進行科學優化。通過上述計算結果可得出,在本案例中,節約里程算法獲得的計算結果與模擬退火算法計算結果幾乎相同。同樣都為本案例中企業節省了18.24千米的運輸里程。結合兩種算法的不同思想來考慮這個結果,從模擬退火算法來看,模擬退火算法是一種以概率性事件為主要思想的方法,當數據量巨大的情況下,或許這種算法會存在一定的誤差,當計算數據為本案例中所涉及的少量數據下時,便可通過機器在一段時間內獲得出最優解;從節約里程算法來看,節約里程算法通過逐個排查是否滿足所設定目標的方法,算法可謂是比較嚴謹的計算方法,但此種算法或許并不適用于存在大量數據的案例中。算法雖然嚴

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論