国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Excel求解旅行商問題及實現(xiàn)

2017-01-12 23:17:44劉芊
東方教育 2016年13期

劉芊

摘要:旅行商問題歷來是大家感興趣的一個難題,對其求解也有各種算法。Excel中規(guī)劃求解也是有效解決問題的方案之一,通過介紹其基本原理,求解思路和在旅行商問題中的具體實現(xiàn)步驟,希望能對讀者學習Excel的高級應用有很好的借鑒作用。

關鍵詞:旅行商問題;規(guī)劃求解;加載宏

1 引言

旅行商問題(TSP),是假設一個旅行商出于業(yè)務需要,要到N個城市去,那么如何找出一條最佳的路徑使其能既經過每個城市,又路徑最短。旅行商問題在實際工作中有很多具體應用,如貨物配送、家用管網規(guī)劃、網絡路由選擇等。該類問題與普通的求最短路徑的根本區(qū)別是:既要經過已知的所有節(jié)點,又要從起點到終點形成封閉回路,在滿足這兩個前提下路徑最短。對于較大規(guī)模的該類問題,需要通過智能算法(蝙蝠、蟻群等)求解,對于一定規(guī)模的旅行商問題可采用Excel的規(guī)劃求解來解決。

2 方法概述

規(guī)劃求解是Excel的“可使用加載宏”的一種,它能夠對存在多個變量的線性或非線性問題求解,以求出最優(yōu)值。通過規(guī)劃求解,可以幫助用戶得到最優(yōu)的設計方案。其工作原理是可以設計多個可調整的單元格,給出這些單元格需遵守的約束條件,同時給出目標單元格的公式,通過改變可變單元格的值,求出目標單元格的最大值、最小值或指定值。

3解決方案:

以下圖為例,共有A、B、C、D、E、F六個城市,它們之間的路徑及距離如圖1所示

3.1 打開Excel 2010,建立一個工作簿,名為“旅行商問題”

3.2 在C4:C19單元格,用“9999”來替換“-”,如圖所示,該步驟是給不存在的路徑用一個很大的數(shù)來表示,防止以后選擇該路徑。

3.3 建立解決模型,如下圖所示。

在以上模型中,我們用“來源唯一性”限制出發(fā)地,用“目標唯一性”限制抵達地,以確保都任何時候只能走一條路徑,不能同時存在多條路徑。

打開Excel 2010的“加載宏”選擇,選擇其中的“規(guī)劃求解加載項”前的復選框,然后“確定”,操作后我們再打開“數(shù)據(jù)”選項卡,就能看到“規(guī)劃求解”。

給單元格輸入公式,其中,I14 單元格 =sum(c14:h14),填充I15:I1

C20 單元格=sum(c14:c19),填充D20:H20

J14 單元格 =sumproduct(c4:h4,c14:h14),填充J15:J19

J20 單元格 =sum(j14:j19)

C14:H19 的“單元格格式”我們可以設置為“數(shù)字”,選擇“自定義”中的“0”,我們用該區(qū)域表示實際路徑的選擇情況,選擇即為“1”,不選即為“0”,然后對應出發(fā)地、抵達地,形成一條回路。這個區(qū)域是可變區(qū)域,代表了不同路徑的組合可能,J20是規(guī)劃求解的目標單元格,即總路徑,在這里,根據(jù)題意我們給J20選“最小值”。

3.4 觀察求解結果,可以看到,選擇的路徑是:C-A-C,B-D-B,E-F-E,它們不能形成封閉回路,所以不符合要求,為解決這個問題,我們需要加上限制條件,防止返回情況發(fā)生,也就是E14和C16不能同時為“1”,F(xiàn)15和D17不能同時為“1”,H18和G19不能同時為“1”

在下面可選C23:C25輸入這些“添加條件”,C22單元格錄入“添加條件”,C23至 C25錄入公式。

C23單元格 =E14+C16

C24單元格 =F15+D17

C25單元格 =H18+G19

3.5 繼續(xù)規(guī)劃求解,可以在“規(guī)劃求解參數(shù)”對話框中增加約束條件,設置C23:C25<=1

3.6 得出新的規(guī)劃求解結果,如下圖所示。

3.7 經觀察,這次求得路徑為B-A-C-B,D-F-E-D,仍讓沒有形成閉合回路,那就要同上增加新的約束條件,C26單元格=D14+E15,C27單元格=F19+G17,

3.8 然后重新設計“規(guī)劃參數(shù)”,如下圖所示。

3.9 得出最優(yōu)的規(guī)劃求解結果,如下圖所示。

3.10 觀察下,這次形成的路徑是B-D-F-E-C-A-B,為封閉路徑,符合要求,那么旅行商路徑即為B-D-F-E-C-A-B,反向路徑B-A-C-E-F-D-B 也是旅行商的解,路徑長同為250。

4 結束語

用Excel2010求解旅行商問題及實現(xiàn)如上分析,具體節(jié)點數(shù)不同,數(shù)據(jù)不同,求解過程會有差異,但總體思路是一致的,根據(jù)具體路線,有繁有簡,實現(xiàn)的步驟也會略有差異。

參考文獻:

[1]金曉龍. Excel高級應用實例教程,2012第一版:144-150

余姚市| 玛曲县| 泉州市| 普安县| 和政县| 台北县| 杨浦区| 黔江区| 吴江市| 枣阳市| 崇仁县| 怀集县| 涿鹿县| 南昌市| 宾阳县| 云龙县| 泽库县| 丰宁| 沈阳市| 宜都市| 大冶市| 凤庆县| 临沧市| 鹤峰县| 东丽区| 富民县| 富源县| 鄂尔多斯市| 长白| 海安县| 富平县| 潜山县| 桃园县| 南汇区| 通榆县| 嵊泗县| 长顺县| 丽江市| 水富县| 蒲江县| 景德镇市|