




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、.快遞公司送貨策略.;快遞公司送貨策略模型摘要本文是關于快遞公司送貨策略的優(yōu)化設計問題,即在給定送貨地點和給定設計規(guī)劃的前提下,確定所需的業(yè)務員人數(shù),每個業(yè)務員的行程路線,總的運行公里數(shù)及費用最省的策略。在問題一中,在考慮業(yè)務員工作時間及載重限制的兩方面因素的情況下,尋求路程最短的路線優(yōu)化組合,建立TSP(旅行商問題)模型,采用最近鄰算法,以原點(配送中心)為起點,通過距離矩陣依次尋找距離最近的未服務送貨點,運用MATLAB軟件求解出最優(yōu)的路線組合。并根據(jù)遺傳算法的思想,提出了模型優(yōu)化的方案,得到了一個相對較優(yōu)的策略,模型結果為:共需6名送貨員,所需總路程為536千米,所需總時間為26.44小
2、時。對于問題二,以業(yè)務員酬金最少為目標,選取最優(yōu)路線時應盡量避免快件回送現(xiàn)象,同樣建立TSP(旅行商問題)模型,依次尋找費用最小的點的組合,由此尋找最優(yōu)路線組合,優(yōu)化模型結果為:總路程是620千米,所花總時間是31.43小時,共需要送貨員8人,所需最少費用為16189.9元。對于問題三,業(yè)務員工作時間增加2小時,以尋找業(yè)務員人數(shù)最小的路線分配為目標,并盡量保證時間和路程的相對均衡。由于業(yè)務員工作時間對總的運行路線影響較小,所以只需對業(yè)務員數(shù)量和各業(yè)務員送貨線路進行調整,調整后將業(yè)務員人數(shù)減少到4人。關鍵字:TSP(旅行商問題) 最近鄰法 交叉算子一、問題重述目前,快遞行業(yè)正蓬勃發(fā)展,為我們的生
3、活帶來更多方便。一般地,所有快件到達某地后,先集中存放在總部,然后由業(yè)務員分別進行派送;對于快遞公司,為了保證快件能夠在指定的時間內(nèi)送達目的地,必須有足夠的業(yè)務員進行送貨,但是,太多的業(yè)務員意味著更多的派送費用。假定所有快件在早上7點鐘到達,早上9點鐘開始派送,要求于當天17點之前必須派送完畢,每個業(yè)務員每天平均工作時間不超過6小時,在每個送貨點停留的時間為10分鐘,途中速度為25km/h,每次出發(fā)最多能帶25千克的重量。為了計算方便,我們將快件一律用重量來衡量,平均每天收到總重量為184.5千克,公司總部位于坐標原點處(如圖2),每個送貨點的位置和快件重量見下表,并且假設送貨運行路線均為平行
4、于坐標軸的折線。(1)請你運用有關數(shù)學建模的知識,給該公司提供一個合理的送貨策略(即需要多少業(yè)務員,每個業(yè)務員的運行線路,以及總的運行公里數(shù));(2)如果業(yè)務員攜帶快件時的速度是20km/h,獲得酬金3元/km×kg;而不攜帶快件時的速度是30km/h,酬金2元/km,請為公司設計一個費用最省的策略;(3)如果可以延長業(yè)務員的工作時間到8小時,公司的送貨策略將有何變化?二、模型假設1.假設每個快遞員由派送中心出發(fā),可連續(xù)工作6小時,中途不休息,且送貨完畢后必須返回派送中心報到;2.假設每個快遞員獨立工作,送貨過程相互不影響;3.假設每個送貨點只能由一個業(yè)務員送貨且只需經(jīng)過一次,路線確
5、定后不再更改;4.若一個業(yè)務員需運送多條路線,中間返回總部取快件所花時間不計;5.假設快遞員送貨的公路均平行于所建立的坐標軸;6.假設快遞員在送貨途中不出現(xiàn)堵車現(xiàn)象,且沒有其他的事情耽擱;三、符號說明符號說明任意一條路線(1,2n)任意一條路線上具體某一送貨點(1,2m)總的運行公里數(shù)每一條最優(yōu)送貨路線的公里數(shù)每條路線上兩個送貨點之間的距離快件全部送完所花總時間業(yè)務員運送途中的速度每一條送貨路線的時間總的送貨點重量之和每一條路線送貨的重量每一條路線上每一個送貨點的重量任意一位送貨員總的送貨需要多少錢送貨員攜帶快件時的酬金送貨員未攜帶快件時的酬金業(yè)務員攜帶快件時途中的運行速度業(yè)務員未攜帶快件時途
6、中的運行速度三角距離函數(shù)四、問題分析本題屬于資源分配優(yōu)化問題,要求根據(jù)資源限制和約束條件來建立一個合理的郵件派送模型。在問題一中,要求我們根據(jù)時間和重量等方面的約束條件,建立合理的郵件派送路徑,使得運行線路最短且使用盡可能少的業(yè)務員。分析題目條件知道影響模型的主要因素有:1.業(yè)務員每天工作不可超過6小時;2.業(yè)務員每次出發(fā)至多可帶25千克的快件;3.公司需在9:00-17:00間將184.5千克的貨物分送到雜亂無序的30個送貨點。因此,我們需要建立最短送貨路徑的數(shù)學模型,首先,應用Dijkstra算法求解出坐標原點(公司總部)到各送貨點的最短路距離矩陣D1;利用TSP模型中的最近鄰法確定滿足條
7、件的8條最短路徑并依據(jù)各線路送貨時間進行送貨人員的分配;利用順序插入交叉算子對模型一提出優(yōu)化方案。問題二中,題目增加了業(yè)務員空載和重載的酬金以及速度的條件,要求公司設計一個費用最省的策略。因業(yè)務員重載的費用高于空載費用,而模型一僅給出路線最短,不能滿足問題二需求,所以對問題二提出費用優(yōu)化方案,即根據(jù)費用計算方式,運用最近鄰法尋找離原點(配送中心)費用最少的點,依次類推,找出費用最省的路徑組合并計算出所需費用;根據(jù)路徑組合和運送時間,在滿足問題一約束條件的基礎上重新分配送貨人員。問題三中,將業(yè)務員的工作時間延長到每天8小時,求解公司的運送策略將如何改變。業(yè)務員工作時間的調整對于總的運行路線的影響
8、并不大,只需對業(yè)務員的數(shù)量已及各業(yè)務員的安排路線進行調整即可。五、模型建立與求解5.1問題一模型建立與求解5.1.2模型的建立在問題一中,要求在每個業(yè)務員每天平均工作時間不超過6小時且必須從早上9點開始到當日17點(8小時內(nèi))全部派送完畢;平均每天送貨總重量為184.5千克,每人每次出發(fā)最多可帶25千克。如果將兩點之間的路線距離附為這兩點橫縱坐標之和,比如, 這兩點,則次兩點間的距離為: (5.1.1)用此方法結合MATLAB求出任意兩配送點的距離矩陣如下(圖5.1):圖5.1 距離矩陣D該問題為規(guī)劃模型,根據(jù)題意,結合距離矩陣D,設定目標函數(shù)為: (5.1.2)即為送貨總路線的最短路程。其約
9、束條件為:1、每條線路上個需求點需求量之和不超過業(yè)務員的最大負荷量: (5.1.3)2、每個業(yè)務員所有配送路徑來回的時間不能超過業(yè)務員一天最長的工作時間: (5.1.4)3、每一條送貨路線上送貨點數(shù)不超過總送貨點數(shù): (5.1.5)4、所有點都能夠被配送到: (5.1.6)5、總的送貨路線不超過每人送一個一個地點: (5.1.7)綜上:最終模型建立如下 (5.1.8) (5.1.9) 為方便快件公司進行人員分配和路線選擇,需計算每天路徑的送貨時間及派送完所有快件所花總時間 (5.1.10) (5.1.11)5.1.2利用最近鄰法求最短送貨路徑組合經(jīng)過分析,本題屬于業(yè)務員路徑問題,即VRP問題,
10、從本質上說,TSP(旅行商問題)是VRP的基本問題,因此,本文以TSP思想中的一種最近鄰算法為根據(jù),結合題目約束條件,利用MATLAB求解出業(yè)務員工作的最短路徑。TSP問題是典型的組合優(yōu)化問題,問題要求求得一條遍歷所有城市的最短路徑,是一個易于描述但難于處理的NP-HARD問題。TSP問題在交通運輸、計算機網(wǎng)絡、電路設計以及物流配送等領域內(nèi)有著廣泛的應用,目前,其主要算法主要有遺傳算法、貪婪算法、模擬退火法及最近鄰法等諸多方法。最近鄰算法是TSP近似算法中最簡單直觀的一種,其主要思想為:任取一點作為出發(fā)點,每次取最近的一個點加入到最優(yōu)解中,一直到所有點皆已進入解中。首先根據(jù)距離矩陣D找到距離送
11、貨中心最近的一個未服務送貨點,則分配一條路線,再找出距離最近的另外一個未服務的送貨點,對每一個服務店同理依次尋找出,同時,每經(jīng)過一個服務點對該服務點郵件的重量進行累加,即,直到此路線中所經(jīng)過的所有送貨點的郵件累計重量,則以上包含的點的組合即為該路線的路徑。依據(jù)上述原理,運用MATLAB軟件(程序詳見附件一)可得到8條最短路徑,由此分析配送路線及分配表如下表:表一:模型一路線分配表路線i路徑總時間(h)總路程(km)總重量(kg)10-1-3-4-51.95 3224.020-2-6-7-8-9-234.52 8824.530-10-11-122.34 4623.340-16-17-20-14-
12、133.23 6023.550-22-21-15-193.39 6824.260-18-24-253.22 6824.770-27-263.37 7622.080-29-28-304.42 9818.3合計26.44536184.5注:0為配送中心將以上模型求解得到的路線射線圖可用網(wǎng)絡圖象表達,如下(圖5.2):圖5.2 模型一路線射線圖 則每條路徑的具體路線如下(圖5.3):圖5.3 模型一路線圖在保證所有快件準時送達各個送貨點的情況下,合理安排路線及送貨員,使得所需送貨員的人數(shù)最少,線路及人員安排情況如下表:表二:模型一人員分配表送貨員R123456合計路線L24681、53、7-總時間(
13、h)4.523.233.224.425.345.7126.44總重量(kg)24.523.524.718.348.245.3184.5總路程(km)88606898100122536綜上,可得該模型所構建的路線共需6名送貨員,快件完全送完所需總路程為536千米,所需總時間為26.44小時。該模型較簡單直觀,但也存在不足。在路徑選擇時,當其中某一點被路線選定后,該點將不作為接下來的任意一條路線的備選送貨點,每一條路線均為當前條件下的最優(yōu)路線,將所有路線組合后不一定是整體送貨點的最優(yōu)路線,即局部最優(yōu)并非整體最優(yōu)。為提高工作效率,使所走總路程更短、時間更少,我們對上述模型進行了優(yōu)化。5.1.3利用順
14、序插入交叉算子(OIC)優(yōu)化模型一順序插入交叉算子是針對TSP問題的特點,在遺傳算法的交叉運算過程中設計的三角距離差函數(shù)作為評價標準,運用貪婪策略思想,提出的一種新的交叉算子,該算子有效的利用了局部信息,并且能很好的繼承父代優(yōu)秀的基因。順序插入交叉算子的基本思想是:對于兩個待交叉的染色體,將一個作為基本染色體,另一個作為參考染色體,按照在參考染色體中的送貨點間的鄰接順序,利用三角距離差函數(shù)作為評價標準,運用貪婪策略思想,逐步改變基本染色體的編碼順序,從而使經(jīng)過交叉得到的兩個子代染色體的適應度最高。優(yōu)化思想:利用順序插入交叉算子,我們將模型一中每一條進行染色體編碼定義,如,將上述染色體看成一個環(huán)
15、,染色體的下一個送貨點是。定義,設有3個送貨點,,定義三角距離函數(shù)G(a,b,c)如下: (5.1.12)其中,表示送貨點到送貨點的距離。設待交叉的雙親為和,設計交叉算子其求解步驟如下:1. 將父體作為基本染色體,父體作為參考染色體,在中隨機找到一個參考城市;2. 在染色體中找到城市,然后對函數(shù)值進行比較,若: (5.1.13)則染色體保持不變,否則,在染色體中刪除城市,然后再與之間插入,得到新染色體3.依次在參考染色體中取參考城市,重復步驟2,直至生成子代個體。4.再將作為基本染色體,將作為參考染色體,重復上述步驟直至得到最優(yōu)搭配方案。5.2問題二模型建立與求解5.2.1模型的建立問題二要求
16、根據(jù)題給空載和重載的速度與價格條件,優(yōu)化送貨路線使得送貨費用最小。根據(jù)條件,任意一條送貨路線的費用可分為兩部分組成:重載情況下到達最后一個送貨點通過該路線將快件從原點送到該路線上任意一點所需要的路程為: 則所需要的費用為 由此得到重載情況下到達最后一個送貨點的費用為 2.空載情況下由最后一個送貨點返回配送中心: 綜合1、2兩步,得到任意一條送貨路線的費用為 則將貨物送達完畢的費用為 可設定目標函數(shù)為: (5.2.1)上式即為送貨總費用的最省的線路。1、每條線路上的需求點需求量之和不超過業(yè)務員的最大負荷量,即: (5.2.2)2、每個業(yè)務員所有配送路徑來回的時間不能超過業(yè)務員一天最長的工作時間:
17、 (5.2.3)3、所有點都能夠被配送到: (5.2.4)4、每一條送貨路線上送貨點數(shù)不超過總送貨點數(shù): (5.2.5)5、總的送貨路線不超過每人送一個地點: (5.2.6)綜上:最終模型建立如下. (5.2.7) (5.2.8) 為方便快件公司進行人員分配和路線選擇,需計算每條路徑的送貨時間和派送完所有快件所花總時間,以及總的費用5.2.2模型的求解根據(jù)題意,本題目屬于求解費用最小的組合優(yōu)化模型,同樣利用問題一種的最近鄰法,結合送貨時間及重量的約束條件,利用路線費用計算公式來尋找費用最小的優(yōu)化模型。首先找到距離送貨中心送貨費用最少的一個未服務送貨點,則分配一條路線,再找出距離送貨費用最小的另
18、外一個未服務的送貨點,對每一個服務店同理依次尋找出,同時,每經(jīng)過一個服務點對該服務點郵件的重量進行累加,即,直到此路線中所經(jīng)過的所有送貨點的郵件累計重量,則以上包含的點的組合即為該路線的路徑。依據(jù)上述原理,運用MATLAB軟件(程序詳見附件)可得到9條最短路徑,由此分析配送路線及分配表如下表:表三:模型二路線分配圖路線i路徑總時間(h)總路程(km)總重量(kg)總費用10-9-8-14-20-16-5-6-03.835623.10002234.520-11-10-22-21-03.526623.60002205.630-2-7-13-23-03.67 7223.60001189.8 40-1
19、-3-4-15-03.10 5822.9000858.550-26-03.25 7410.0000118460-12-27-03.17 6824.7000205670-30-28-29-04.72 9818.30002955.180-19-25-02.75 5817.4000152590-17-18-24-03.43 70 20.90001981.4合計31.43 620184.50016189.9每條路徑的路線圖如下(圖5.4)所示:圖5.4 模型二路線圖根據(jù)送貨路線分配表,合理安排送貨員如下表:表四:模型二業(yè)務員分配表送貨員R12345678合計路線L1234,85679-總時間(h)3.
20、833.523.67 5.853.253.174.723.4331.43 總重量(kg)23.100023.600023.600040.300010.000024.700018.300020.9000184.500總路程(km)56667211674689870 620總費用(元)2234.52234.52234.52042.52056205620562056綜上,模型二所建立的優(yōu)化模型的總路程是620千米,所花總時間是31.43小時,共需要送貨員8人,所需最少費用為16189.9元5.3問題三模型建立與求解5.3.1模型的建立與求解由于業(yè)務員的日常工作時間由6小時增加到8小時,因此,需要根據(jù)
21、每天路徑的運送時間對模型一的路線重新分配業(yè)務員。模型三人員分配表如下:表五:模型三業(yè)務員分配表送貨員R1234合計路線L1,82,34,56,7-總時間(h)6.376.866.626.592644總重量(kg)42.347.847.746.7184.5總路程(km)130134128144536綜上,業(yè)務員工作時間調整后,共需業(yè)務員4人。六、模型的評價與改進6.1模型的評價6.1.1模型的優(yōu)點在模型建立的過程當中,我們將具體問題抽象成一個數(shù)學目標函數(shù),一方面在結果上具體分配出了送貨策略,另一方面模型的整個求解過程簡單清晰,便于理解和推廣。在求解分析中將有序路徑問題引入到矩陣中,并很好的融合了
22、TSP模型中求最短路徑的思想設計出自己的算法,模型的建立簡單明確,具有針對性,模型的計算結果經(jīng)過仿真測試,具有較高的準確度。最終得出了較為合理的送貨策略并對模型一提出了基于遺傳算法思想的優(yōu)化理論。6.1.2模型的缺點該模型主要采用TSP(旅行商問題)思想中的最近鄰算法,僅在現(xiàn)有條件內(nèi)實現(xiàn)了局部最優(yōu),并沒有達到整體最優(yōu)的效果,優(yōu)化方案模型不成熟。該模型選擇配送線路不能對客戶的需求進行靈活多變的處理。由于線代的消費者的需求傾向于個性化,引起企業(yè)的生產(chǎn)、銷售和配送也愈來愈傾向于小批量、多品種、多批次,而該模型更適合需求穩(wěn)定的環(huán)境。參考文獻1 孫海雷,劉瓊蓀,胡上尉。TSP問題的順序插入交叉算子J。計
23、算機工程與應用,2007,43(8)。2 張輝。TSP問題的算法與應用的研究J。計算機應用與軟件,2009,26(4)。附錄附錄1.模型求解相關matlab程序關鍵字: tsp模型 鄰近算法 狀態(tài)選擇模型求解的相關數(shù)據(jù)文件文件說明數(shù)據(jù)類文件:Point.xls 文件存入的是以送貨配發(fā)點為原點所建成的坐標體系上的各個點的相對坐標集合st.xls 文件存入的內(nèi)容為各個配送點的所需貨物的重量以及貨物送達的狀態(tài)Dis2.xls 文件存入的內(nèi)容為各個配送點的距離矩陣表gres.xls由問題模型一結果構成的路線矩陣Dis3.xls由距離矩陣和單價表構成的距離單價矩陣(用于問題二的模型)程序類文件getal
24、lDis.m文件(工具類程序文件) 表現(xiàn):function s = getallDis()主要功能:求出各個送貨點的距離舉證,并存入dis.txt源代碼:function s = getallDis()%UNTITLED1 Summary of this function goes here% Detailed explanation goes here% author:managerx=xlsread('point.xls','b3:b33');y=xlsread('point.xls','c3:c33');for i=1:31
25、 for j=1:31 a(i,j)=abs(x(i)-x(j)+abs(y(i)-y(j); endendfile=fopen('dis.txt','w'); for i=1:31 for j=1:31 % fprintf(file,','); fprintf(file,',%d',a(i,j); if mod(j,31)=0 fprintf(file,'n'); end end end fclose(file);getDis.m文件(工具類程序文件) 表現(xiàn):function k = getDis(i)主要功能:
26、獲取返還距離;源代碼:function k = getDis(i)%UNTITLED1 Summary of this function goes here% Detailed explanation goes hereif i=1 k=xlsread('dis2.xls','a1:a1');endif i=2 k=xlsread('dis2.xls','a2:a2');endif i=3 k=xlsread('dis2.xls','a3:a3');endif i=4 k=xlsread('
27、dis2.xls','a4:a4');endif i=5 k=xlsread('dis2.xls','a5:a5');endif i=6 k=xlsread('dis2.xls','a6:a6');endif i=7 k=xlsread('dis2.xls','a7:a7');endif i=8 k=xlsread('dis2.xls','a8:a8');endif i=9 k=xlsread('dis2.xls','a
28、9:a9');endif i=10 k=xlsread('dis2.xls','a10:a10');endif i=11 k=xlsread('dis2.xls','a11:a11');endif i=12 k=xlsread('dis2.xls','a12:a12');endif i=13 k=xlsread('dis2.xls','a13:a13');endif i=14 k=xlsread('dis2.xls','a14:a14&
29、#39;);endif i=15 k=xlsread('dis2.xls','a15:a15');endif i=16 k=xlsread('dis2.xls','a16:a16');endif i=17 k=xlsread('dis2.xls','a17:a17');endif i=18 k=xlsread('dis2.xls','a18:a18');endif i=19 k=xlsread('dis2.xls','a19:a19')
30、;endif i=20 k=xlsread('dis2.xls','a20:a20');endif i=21 k=xlsread('dis2.xls','a21:a21');endif i=22 k=xlsread('dis2.xls','a22:a22');endif i=23 k=xlsread('dis2.xls','a23:a23');endif i=24 k=xlsread('dis2.xls','a24:a24');endi
31、f i=25 k=xlsread('dis2.xls','a25:a25');endif i=26 k=xlsread('dis2.xls','a26:a26');endif i=27 k=xlsread('dis2.xls','a27:a27');endif i=28 k=xlsread('dis2.xls','a28:a28');endif i=29 k=xlsread('dis2.xls','a29:a29');endif i=3
32、0 k=xlsread('dis2.xls','a30:a30');endif i=31 k=xlsread('dis2.xls','a31:a31');endcaldis.m文件(工具類程序文件) 表現(xiàn):function ans = caldis(s,m,n)主要功能:計算矩陣的整體路徑源代碼:function ans = caldis(s,m,n)%UNTITLED1 Summary of this function goes here% Detailed explanation goes heredis=;tempdis=0
33、;for i=1:m tempdis=0; for j=1:n-1 m=j+1; if s(i,m)>0 tempdis=tempdis+GgetbothDis(s(i,j),s(i,m); dismy=GgetbothDis(s(i,j),s(i,m); tempdis else break; end end if s(i,j+1)=0 tempdis=tempdis+GgetbothDis(s(i,j),s(i,1) else tempdis=tempdis+GgetbothDis(s(i,j+1),s(i,1) end dis(i)=tempdis;end ans=dis; get
34、s.m文件(工具類程序文件) 表現(xiàn):function n = gets(i)主要功能:獲取i到各點的距離矩陣源代碼: function n = gets(i)%獲取i到個點的各個點的距離舉證if i=1 s=xlsread('dis2.xls','a1:a31'); endif i=2 s=xlsread('dis2.xls','b1:b31'); endif i=3 s=xlsread('dis2.xls','c1:c31'); endif i=4 s=xlsread('dis2.xls&
35、#39;,'d1:d31'); endif i=5 s=xlsread('dis2.xls','e1:e31'); endif i=6 s=xlsread('dis2.xls','f1:f31'); endif i=7 s=xlsread('dis2.xls','g1:g31'); endif i=8 s=xlsread('dis2.xls','h1:h31'); endif i=9 s=xlsread('dis2.xls','
36、i1:i31'); endif i=10 s=xlsread('dis2.xls','j1:j31'); endif i=11 s=xlsread('dis2.xls','k1:k31'); endif i=12 s=xlsread('dis2.xls','l1:l31'); endif i=13 s=xlsread('dis2.xls','m1:m31'); endif i=14 s=xlsread('dis2.xls','n1:n3
37、1'); endif i=15 s=xlsread('dis2.xls','o1:o31'); endif i=16 s=xlsread('dis2.xls','p1:p31'); endif i=17 s=xlsread('dis2.xls','q1:q31'); endif i=18 s=xlsread('dis2.xls','r1:r31'); endif i=19 s=xlsread('dis2.xls','s1:s31'
38、;); endif i=20 s=xlsread('dis2.xls','t1:t31'); endif i=21 s=xlsread('dis2.xls','u1:u31'); endif i=22 s=xlsread('dis2.xls','v1:v31'); endif i=23 s=xlsread('dis2.xls','w1:w31'); endif i=24 s=xlsread('dis2.xls','x1:x31'); e
39、ndif i=25 s=xlsread('dis2.xls','y1:y31'); endif i=26 s=xlsread('dis2.xls','z1:z31'); endif i=27 s=xlsread('dis2.xls','aa1:aa31'); endif i=28 s=xlsread('dis2.xls','ab1:ab31'); endif i=29 s=xlsread('dis2.xls','ac1:ac31');
40、endif i=30 s=xlsread('dis2.xls','ad1:ad31'); endif i=31 s=xlsread('dis2.xls','ae1:ae31'); endCloseDis.m文件 (問題一基本模型核心文件) 表現(xiàn):function n = closeDis(i,st,status)主要功能:在選擇狀態(tài)和貨物重量的限制下,求出與參數(shù)i點距離最近的點n并返回;源代碼:%用于計算和i點距離最近的點,并返回點的下標function n = closeDis(i,st,status)%UNTITLED1 Su
41、mmary of this function goes here% Detailed explanation goes here% i表示要尋找的點% st表示當前累計重量% status:所有貨物點的接受狀態(tài)%step1:尋找與i點距離最近的點且累計重量不超過25kg%獲得所有貨物點的坐標和標號x=xlsread('point.xls','b3:b33');y=xlsread('point.xls','c3:c33');%獲取所有貨物點的重量k=xlsread('st.xls','b1:b31')
42、;a=xlsread('st.xls','a1:a31');%獲取i到個點的各個點的距離舉證if i=1 s=0,5,6,9,11,8,14,16,15,12,14,20,20,21,22,21,18,24,28,27,28,27,21,36,34,29,37,34,44,41,46; endif i=2 s=5,0,5,4,6,9,9,11,10,7,13,15,15,16,17,16,15,19,23,22,23,22,20,31,29,24,32,29,39,36,41; endif i=3 s=6,5,0,5,5,4,8,10,9,12,18,18,14
43、,15,16,15,12,18,22,21,22,21,25,30,28,23,31,28,38,35,40; endif i=4 s=9,4,5,0,4,9,9,7,6,7,13,13,11,12,13,12,15,15,19,18,19,18,20,27,25,20,28,25,35,32,37; endif i=5 s=11,6,5,4,0,5,5,5,6,11,17,17,11,10,11,10,11,13,17,16,17,20,24,25,23,18,26,23,33,30,35; endif i=6 s=8,9,4,9,5,0,6,8,11,16,22,22,16,13,14,1
44、3,10,16,20,19,20,25,29,28,26,21,29,26,36,33,38; endif i=7 s=14,9,8,9,5,6,0,6,11,16,22,22,16,11,8,7,6,10,14,13,18,25,29,26,20,15,23,20,30,27,32; endif i=8 s=16,11,10,7,5,8,6,0,5,10,16,16,10,5,6,5,12,10,12,11,12,19,23,20,18,13,21,18,28,25,30; endif i=9 s=15,10,9,6,6,11,11,5,0,5,11,11,5,6,7,10,17,15,13
45、,12,13,14,18,21,19,14,22,19,29,26,31; endif i=10 s=12,7,12,7,11,16,16,10,5,0,6,8,8,9,10,15,22,20,16,15,16,15,13,24,22,17,25,22,32,29,34; endif i=11 s=14,13,18,13,17,22,22,16,11,6,0,6,6,11,16,21,28,26,20,13,14,13,7,22,20,15,23,20,30,27,32; endif i=12 s=20,15,18,13,17,22,22,16,11,8,6,0,6,11,16,21,28,2
46、6,20,11,8,7,7,16,18,13,17,14,24,21,26; endif i=13 s=20,15,14,11,11,16,16,10,5,8,6,6,0,5,10,15,22,20,14,7,8,9,13,16,14,9,17,14,24,21,26; endif i=14 s=21,16,15,12,10,13,11,5,6,9,11,11,5,0,5,10,17,15,9,6,7,14,18,15,13,8,16,13,23,20,25; endif i=15 s=22,17,16,13,11,14,8,6,7,10,16,16,10,5,0,5,12,10,6,5,12
47、,19,23,20,12,7,15,12,22,19,24; endif i=16 s=21,16,15,12,10,13,7,5,10,15,21,21,15,10,5,0,7,5,7,10,17,24,28,25,13,8,16,15,23,20,25; endif i=17 s=18,15,12,15,11,10,6,12,17,22,28,28,22,17,12,7,0,6,10,17,24,31,35,32,16,15,19,22,26,23,28; endif i=18 s=24,19,18,15,13,16,10,10,15,20,26,26,20,15,10,5,6,0,6,1
48、5,22,29,33,30,10,13,15,20,20,21,22; endif i=19 s=28,23,22,19,17,20,14,12,13,16,20,20,14,9,6,7,10,6,0,9,16,23,27,24,6,7,9,14,16,15,18; endif i=20 s=27,22,21,18,16,19,13,11,12,15,13,11,7,6,5,10,17,15,9,0,7,14,18,15,7,2,10,7,17,14,19; endif i=21 s=28,23,22,19,17,20,18,12,13,16,14,8,8,7,12,17,24,22,16,7
49、,0,7,11,8,14,9,9,6,16,13,18; endif i=22 s=27,22,21,18,20,25,25,19,14,15,13,7,9,14,19,24,31,29,23,14,7,0,6,9,21,16,14,9,17,14,19; endif i=23 s=21,20,25,20,24,29,29,23,18,13,7,7,13,18,23,28,35,33,27,18,11,6,0,15,25,20,18,13,23,20,25; endif i=24 s=36,31,30,27,25,28,26,20,21,24,22,16,16,15,20,25,32,30,2
50、4,15,8,9,15,0,22,17,15,10,14,9,10; endif i=25 s=34,29,28,25,23,26,20,18,19,22,20,18,14,13,12,13,16,10,6,7,14,21,25,22,0,5,7,12,10,13,14; endif i=26 s=29,24,23,20,18,21,15,13,14,17,15,13,9,8,7,8,15,13,7,2,9,16,20,17,5,0,8,7,15,12,17; endif i=27 s=37,32,31,28,26,29,23,21,22,25,23,17,17,16,15,16,19,15,
51、9,10,9,14,18,15,7,8,0,5,7,6,9; endif i=28 s=34,29,28,25,23,26,20,18,19,22,20,14,14,13,12,15,22,20,14,7,6,9,13,10,12,7,5,0,10,7,12; endif i=29 s=44,39,38,35,33,36,30,28,29,32,30,24,24,23,22,23,26,20,16,17,16,17,23,14,10,15,7,10,0,5,6; endif i=30 s=41,36,35,32,30,33,27,25,26,29,27,21,21,20,19,20,23,21
52、,15,14,13,14,20,9,13,12,6,7,5,0,5; endif i=31 s=46,41,40,37,35,38,32,30,31,34,32,26,26,25,24,25,28,22,18,19,18,19,25,10,14,17,9,12,6,5,0; end%找到最小值,在正確的狀態(tài)下尋找最小值minnum,num=min(s); while status(num)=1|(k(num)+st)>25 s(num)=inf; minnum,num=min(s); if minnum=inf break; endendif minnum=inf n=0;else n=num;endshowResult.m文件 (問題一基本模型核心文件) 表現(xiàn):function ans = showResult()主要功能:實現(xiàn)tsp最優(yōu)路徑選擇算法,并顯示路徑矩陣和重量矩陣源代碼:function ans = showResult() %UNTITLED1 Summary of this function goes here % Detail
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐館用工合同協(xié)議書
- 飯店入伙分紅協(xié)議書
- 重慶合作框架協(xié)議書
- 鐵嶺教師招聘協(xié)議書
- 冷卻塔維修保養(yǎng)協(xié)議書
- 銷售提成平分協(xié)議書
- 補繳社保賠償協(xié)議書
- 野營物品租用協(xié)議書
- 門窗安裝承保協(xié)議書
- 停車場物業(yè)租賃協(xié)議書
- 2025年金融科技創(chuàng)新解讀試題及答案
- 高考期間食品安全
- 2025黑河學院輔導員考試題庫
- 分娩質量管理的相關制度
- 光伏電廠防洪防汛應急預案演練方案
- 鄉(xiāng)鎮(zhèn)環(huán)境保護工作制度
- 現(xiàn)場實名制管理制度
- 浙江大學《分子生物學原理》2023-2024學年第二學期期末試卷
- 2025年“美好生活民法典相伴”主題宣傳月活動總結(2篇)
- 移動通信網(wǎng)絡流量分析與優(yōu)化策略制定
- 持續(xù)葡萄糖監(jiān)測臨床應用專家共識2024解讀
評論
0/150
提交評論