数学建模经典问题——旅行商问题
研究生数学建模答案范文

研究生数学建模答案范文为了培养研究生们的数学建模能力,数学系组织了一场数学建模竞赛。
下面是一份研究生数学建模竞赛的答案范文,展示了参赛团队对于题目的解决方案和相关分析。
Question 1:某城市公交公司需要制定一份新的公交路线规划,以增加乘客出行的满意度。
已知该城市总共有n个重要地点,编号为1至n。
现给定了这些地点之间的距离矩阵D,其中D[i][j]表示地点i到地点j的距离。
请为该城市设计一条公交路线,要求从起点s出发遍历所有重要地点,最终回到起点s,并使得路线总长度最小。
Answer:该问题是一个旅行商问题(Traveling Salesman Problem, TSP)。
我们可以使用分支界定法来求解最佳公交路线。
首先,我们需要定义一个状态空间树,并通过贪心算法初始解得到一个较优解。
1. 初始化阶段:a. 将初始节点s标记为已访问节点;b. 初始化最小路线长度为无穷大。
2. 主循环开始:a. 从起点s出发,并按照贪心算法选择下一个未访问的节点;b. 通过计算当前节点到下一个节点的距离和已访问节点的最小路线长度,得到一个临时最小路线长度;c. 如果临时最小路线长度已经超过当前最小路线长度,则剪枝,不再继续搜索该分支;d. 如果所有重要地点都已经被访问过且回到起点s,更新最小路线长度。
3. 输出最优解。
通过上述算法,可以得到一条相对较优的公交路线规划,满足问题的要求。
Question 2:某公司计划开发一款智能投资系统,用于预测股票市场的涨跌情况。
根据历史数据,该公司已经构建了一套数学模型,希望通过该模型提供实时预测结果。
现在给定一个测试集,包含一系列历史股票指数数据,请根据该数据集预测下一个时间点的股票指数涨跌情况。
Answer:对于这个问题,我们可以使用回归模型对未来的股票指数涨跌进行预测。
首先,我们需要对给定的历史数据进行特征工程,提取相关的指标作为模型的输入。
1. 特征工程:a. 将时间序列数据转化为离散值,并计算相关统计特征,如均值、最大值、最小值等;b. 根据技术指标,如移动平均线、指数平滑移动平均线等,计算相应的特征;c. 提取其他与市场因素相关的特征,如利率、CPI指数等。
旅行商问题(TSP)

iS jS
除起点和终点外,各边不构成圈
xij
0, 1
(7 1) (7 2) (7 3)
5
0 8 5 9 12 14 12 16 17 22
8
0
9 15 17
8
11
18
14
22
5 9 0 7 9 11 7 12 12 17
9 15 7 0
lingo解决旅行商问题 model: sets: city/1..6/:u; link(city,city):dist,x; endsets data: dist=99999,702,454,842,2396,1196,
702,99999,324,1093,2136,764, 454,324,99999,1137,2180,798, 842,1093,1137,99999,1616,1857, 2396,2136,2180,1616,99999,2900, 1196,764,798,1857,2900,99999; enddata
C=v1,v2,…,vi,vj,…,vj-1,vi+1,vj+1,…,vm,v1 (3)C0C,重复步骤(2),直到条件不满足为止,最后得 到的C即为所求。
例对下图的K6,用二边逐次修正法求较优H圈.
较优H圈: 其权为W(C3)=192
分析: 这个解的近似程度可用最优H圈的权的下界与
其比较而得出.即利用最小生成树可得最优H圈的一个下界.
设C是G的一个最优H圈,则对G的任一顶点v, C-v是
G-v的生成树.如果T是G-v的最小生成树,且e1是e2与v关联
的边中权最小的两条边,则w(T)+w(e1)+w(e2)将是w(C)
北交大LINGO考试2 旅行商问题,最大流问题等

《物流软件》实验报告实验编号:实验2学号:序号:姓名:班级:2015年10月一、旅行商问题(1)数学模型设di是两点i与j之间的距离,Xij=0或1(1表示连接,0表示不连接)则有Min∑∈VjXij dij*s.t. ∑∈VjXij=1 ,(每个点只有一条边出去),i∈V∑∈VjXji=1,(每个点只有一条边进入),i∈V(除起点与重点外,个边不构成圈)(2)L INGO程序MODEL:SETS:CENTERS/1..8/:LEVEL;LINK(CENTERS,CENTERS):DISTANCE,X;ENDSETSDATA:DISTANCE = 0 3 2 3 4 3 5 63 0 2 3 2 3 1 42 2 0 1 43 2 53 3 1 0 1 14 3 44 2 4 1 0 2 2 33 3 3 14 2 0 8 45 1 2 3 2 8 0 36 4 5 4 3 4 3 0;ENDDATAN=@SIZE(CENTERS);MIN=@SUM(LINK(I,J)|i #ne# j :distance(i,j)*x(i,j));@for(centers(i):@sum(centers(j)|j #ne# i:x(j,i))=1;@SUM(CENTERS(J)|J #NE# I:X(I,J)) = 1;@FOR(CENTERS(j)|J #GT# 1 #AND# J #NE# I :LEVEL(J)>=LEVEL(I)+X(I,J)-(N-2)*(1-X(i,J))+(N-3)*X(J,I););); @FOR(LINK:@BIN(X));@FOR(CENTERS(I)|I #GT# 1:LEVEL(I)<=N-1-(N-2)*X(1,I);LEVEL(I)>=1+(N-2)*X(I,1););ENDCENTERS/1..8/是基本集合名字,元素为1到8。
LEVEL 为其元素。
旅行商问题

一、 问题描述旅行商问题:给定一个完全无向带权图G=(V,E),其每条边(u,v)∈E 有一非负整数权值w(u,v)。
要求找出G 的一条经过每个顶点一次且仅经过一次的回路,使得该回路上所有边的权值之和尽可能地小。
二、 算法分析旅行商问题的各个城市间的距离可以用代价矩阵来表示,就是邻接矩阵表示法。
如果E j i ∉),(,则∞=ij c 。
先说明旅行商问题具有最优解结构。
设s s s s p ,,.....,,21是从s 出发的一条路径长度最短的简单回路,假设从s 到下一个城市1s 已经求出,则问题转化为求1s 到S 的最短路径,显然s s s s p ,,.....,,21一定构成一条从1s 到S 的最短路径,如果不然,设s r r r s q ,,.....,,,211是一条从1s 到S 的最短路径且经过n-1个城市,则s r r r s s q ,,.....,,,,211将是从S 出发的路径长度最短的简单回路且比s s s s s p ,,.....,,,21要短,从而导致矛盾。
所以,旅行商问题一定满足最优性原理。
穷举法:穷举法解决旅行商问题的思路很简单,就是遍历所有可能的情况,然后把符合条件(最短)的路径找到并输出可以了。
动态规划法:假设从顶点i 出发,令)',(V i d 表示从顶点i 出发经过V ’中各个顶点一次且仅一次,最后回到出发点i 的最短路径的长度,开始时,V ’=V-{i},于是,旅行商问题的动态规划函数为:)({}),()'})}({',(min{)',(i k c k d V k k V k d c V i d ki ik ≠=∈-+=)2()1( 下面举个实例说明算法的执行过程。
下图是无向带权图的邻接矩阵表示法:⎢⎢⎢⎢⎣⎡∞=763C323∞ 226∞ ⎥⎥⎥⎥⎦⎤∞237在上图所示的带权图中,从城市0出发,经城市1,2,3然后回到城市0的最短路径长度为:})}2,1{,3(}),3,1{,2(}),3,2{,1(min{})3,2,1{,0(030201d c d c d c d +++=这是最后一个阶段的决策,它必须知道})3,1{,3(}),3,1{,2(}),3,2{,1(d d d 的计算结果,而:})}2{,3(}),3{,2(min{})3,2{,1(1312d c d c d ++=})}1{,3(}),3{,1(min{})3,1{,2(2321d c d c d ++= })}1{,2(}),2{,1(min{})2,1{,3(3231d c d c d ++=这一阶段的决策又依赖于下面的计算结果:{}),2(})2{,3({}),,3(})3{,2({}),,2(})2{,1(322312d c d d c d d c d +=+=+= {}),1(})1{,3({}),,1(})1{,2({}),,3(})3{,1(312113d c d d c d d c d +=+=+= 而下面的就可以直接获得(括号中是该策略引起的路径):)03(7{}),3(),02(6{}),2(),01(3})0{,1(302010>-==>-==>-==c d c d c d向前推导,可以得到:)23(862{}),2(})2{,3()13(633{}),1(})1{,3()12(532{}),1(})1{,2()32(972{}),3(})3{,2()31(1073{}),3(})3{,1()21(862{}),2(})2{,1(323121231312>-=+=+=>-=+=+=>-=+=+=>-=+=+=>-=+=+=>-=+=+=d c d d c d d c d d c d d c d d c d再向前推导有:)23(7}7,11min{})}1{,2(}),2{,1(min{})2,1{,3()32(8}8,12min{})}1{,3(}),3{,1(min{})3,1{,2()21(11}11,11min{})}2{,3(}),3{,2(min{})3,2{,1(323123211312>-==++=>-==++=>-==++=d c d c d d c d c d d c d c d 最后有:})}2,1{,3(}),3,1{,2(}),3,2{,1(min(})3,2,1{,0(030201d c d c d c d +++=)302010(14}14,14,14min{}77,86,113min{>->->-==+++=or or所以,从顶点0出发的旅行商问题的最短路径长度为14,其中一条路径为01320>->->->-。
旅行商问题+背包问题--经典问题

旅⾏商问题+背包问题--经典问题问题描述:旅⾏商问题(Traveling Salesman Problem,TSP)是旅⾏商要到若⼲个城市旅⾏,各城市之间的费⽤是已知的,为了节省费⽤,旅⾏商决定从所在城市出发,到每个城市旅⾏⼀次后返回初始城市,问他应选择什么样的路线才能使所⾛的总费⽤最短?此问题可描述如下:设G=(V,E)是⼀个具有边成本cij的有向图,cij的定义如下,对于所有的i和j,cij>0,若<i,j>不属于E,则cij=∞。
令|V|=n,并假设n>1。
G的⼀条周游路线是包含V中每个结点的⼀个有向环,周游路线的成本是此路线上所有边的成本和。
旅⾏商问题(Traveling Saleman Problem,TSP)⼜译为旅⾏推销员问题、货郎担问题,简称为TSP问题,是最基本的路线问题,该问题是在寻求单⼀旅⾏者由起点出发,通过所有给定的需求点之后,最后再回到原点的最⼩路径成本。
最早的旅⾏商问题的数学规划是由Dantzig(1959)等⼈提出。
TSP问题在物流中的描述是对应⼀个物流配送公司,欲将n个客户的订货沿最短路线全部送到。
如何确定最短路线。
TSP问题最简单的求解⽅法是枚举法。
它的解是多维的、多局部极值的、趋于⽆穷⼤的复杂解的空间,搜索空间是n个点的所有排列的集合,⼤⼩为(n-1)。
可以形象地把解空间看成是⼀个⽆穷⼤的丘陵地带,各⼭峰或⼭⾕的⾼度即是问题的极值。
求解TSP,则是在此不能穷尽的丘陵地带中攀登以达到⼭顶或⾕底的过程。
问题分析旅⾏商问题要从图G的所有周游路线中求取最⼩成本的周游路线,⽽从初始点出发的周游路线⼀共有(n-1)!条,即等于除初始结点外的n-1个结点的排列数,因此旅⾏商问题是⼀个排列问题。
排列问题⽐⼦集合的选择问题通常要难于求解得多,这是因为n个物体有n!种排列。
通过枚举(n-1)!条周游路线,从中找出⼀条具有最⼩成本的周游路线的算法,其计算时间显然为O(n!)。
组合优化中的旅行商问题求解

组合优化中的旅行商问题求解在组合优化领域中,旅行商问题(Traveling Salesman Problem,TSP)是一类具有重要实际应用价值和理论研究意义的问题。
该问题要求在给定一系列城市和各城市之间的距离情况下,找到一条最短路径,使得旅行商能够恰好访问每个城市一次,并最终回到出发城市。
TSP在计算机科学、运筹学和数学等多个领域都得到了广泛的关注和研究。
1. TSP的数学建模旅行商问题可以用图论中的图来描述和解决。
首先,我们将每个城市表示为图中的一个节点,城市之间的距离表示为节点之间的边。
若每对节点之间的边都有权重,表示相应城市之间的距离,旅行商问题就可以转化为求解图的最短哈密顿回路(Hamiltonian cycle)的问题。
2. 求解TSP的经典算法2.1 蛮力算法蛮力算法是最简单直观的求解TSP的方法,它遍历所有可能的路径,并计算出总的路径长度,然后选择最短路径作为解。
然而,蛮力算法的时间复杂度为O(n!),当城市数量增加时,计算时间将呈指数级增长,因此适用于城市数量较少的情况。
2.2 最邻近插入算法最邻近插入算法从一个起始城市开始,每次选择离当前城市最近的未访问城市作为下一个访问城市,直到访问完所有城市,并回到起始城市。
该算法的时间复杂度为O(n^2),但它可能会得到次优解,因为贪心策略在选择下一个城市时只考虑了当前状态,没有考虑到整体最优解。
2.3 分支限界法分支限界法是一种基于回溯的求解TSP的优化方法,其思想是通过剪枝操作,去掉一些分支,从而减少搜索空间。
该算法首先选择一个起始城市,然后逐步扩展路径,每次选择一个未访问的城市,并通过计算路径长度来更新当前最优路径。
同时,在搜索过程中,根据当前路径长度和已知的最短路径长度,进行剪枝操作,以减少无效的计算。
分支限界法可以得到较优的解,但其时间复杂度仍然较高,因此在处理大规模问题时可能会面临困难。
3. 近似算法及元启发式算法为了求解大规模问题或提高求解效率,研究者们提出了许多近似算法和元启发式算法。
TSP问题

TSP(旅行商)问题
旅行商问题,即TSP问题(Travelling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。
假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。
路径的选择目标是要求得的路径路程为所有路径之中的最小值。
TSP问题是一个组合优化问题。
该问题可以被证明具有NP计算复杂性。
因此,任何能使该问题的求解得以简化的方法,都将受到高度的评价和关注。
旅行推销员问题是数图论中最著名的问题之一,即“已给一个n个点的完全图,每条边都有一个长度,求总长度最短的经过每个顶点正好一次的封闭回路”。
Edmonds,Cook和Karp 等人发现,这批难题有一个值得注意的性质,对其中一个问题存在有效算法时,每个问题都会有有效算法。
迄今为止,这类问题中没有一个找到有效算法。
倾向于接受NP完全问题(NP-Complete或NPC)和NP难题(NP-Hard或NPH)不存在有效算法这一猜想,认为这类问题的大型实例不能用精确算法求解,必须寻求这类问题的有效的近似算法。
此类问题中,经典的还有子集和问题;;Hamilton回路问题;最大团问题。
数学建模经典问题——旅行商问题

度最短的两条边之和; C*(T):最优回路长度;
25
于是,dmin(i, 1)代表与第i个结点关联的所有边 中最长边的长度,dmin_j(i, 1) 代表与第i个结点关联 的所有边中次长边的另一个结点编号(其中一个结点 编号为i),第i结点的dmin(i, k)和dmin_j(i, k)可由距 离矩阵w轻易求得。
20
当然,用该方法有时会找不到TSP的最优解, 因为很可能在进行了几轮迭代后,却找不到新的不 等式。Padborg与Hong曾计算了74个TSP,其中54 个得到了最优解,其余的虽未得到最优解,却得到 了很好的下界,如果与近似方法配合,可以估计近 似解的精确程度。如,他们解过一个有313个城市的 TSP,获得一个下界41236.46,而用近似方法能得 到一条长为41349的路线,于是可估计出所得近似解 与最优解的误差不超过0.26%。
14
早在1954年,Dantzig等人就曾提出过一种方 法(非多项式算法),并且求出了一个42城市的 TSP最优解。到了1960年代,不少人用分支定界法 解决了许多有几十个城市的TSP。还有人提出了一 些近似方法,也解决了许多有几十个城市甚至上百 个城市的TSP(有时找到的仅是近似解)。更值得 注意的是,从1970年代中期开始,Grotschel与 Padberg等人深入研究了TS多面体的最大面 (facet),并从所得结果出发获得了一种解TSP的 新算法,可以解决一些有100多个城市的TSP,且都 在不长的时间内找到了最优解。
一、数学模型 1. 标准TSP 旅行商问题(简称TSP),也称货郎担问题或 旅行推销员问题,是运筹学中一个著名的问题,其 一般提法为:有一个旅行商从城市1出发,需要到城 市2、3、…、n去推销货物,最后返回城市1,若任 意两个城市间的距离已知,则该旅行商应如何选择 其最佳行走路线
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
记为赋权图G=(V,E),V为顶点集,E为边集, 各顶点间的距离dij已知。设
1 , xij 0,
n n
若 i, j 在回路路径上
其他
则经典的TSP可写为如下的数学规划模型:
min Z d i j 1 n xij 1, i 1 xij S 1, iS jS xij 0, 1
14
早在1954年,Dantzig等人就曾提出过一种方 法(非多项式算法),并且求出了一个42城市的 TSP最优解。到了1960年代,不少人用分支定界法 解决了许多有几十个城市的TSP。还有人提出了一 些近似方法,也解决了许多有几十个城市甚至上百 个城市的TSP(有时找到的仅是近似解)。更值得 注意的是,从1970年代中期开始,Grotschel与 Padberg等人深入研究了TS多面体的最大面 (facet),并从所得结果出发获得了一种解TSP的 新算法,可以解决一些有100多个城市的TSP,且都 在不长的时间内找到了最优解。
8
从严格的数学意义而言,瓶颈TSP(简称BTSP) 并没有降低问题的难度,也未能提供任何特殊的解决 办法。 瓶颈TSP的数学模型与标准TSP类似,仅目标函 数不同:
min Z max d ij xij
i, j V
由于目标函数为瓶颈值,故求得的最佳巡回路 线与标准TSP的往往截然不同。
15
考虑个顶点的完全图Kn ,则解TSP就相当于在 中求一条总长度最短的Hamilton回路。现在,对每 条边ej,定义一个变量xj与之对应,这样,TSP的一 条路线T,即Kn的一条Hamilton回路,就可对应一 个向量X={x1,x2,….xm},其中,
x j 1, x j 0, 若e j T 若e j T
i V j V S V , 2 S n 1
(7 1) (7 2) (7 3)
模型中,为集合中所含图的顶点数。约束( 7 - 1 ) 和(7-2)意味着对每个点而言,仅有一条边进和一条 边出;约束(7-3)则保证了没有任何子回路解的产生。 于是,满足约束(7-1)、(7-2)和(7-3)的解构 6 成了一条Hamilton回路。
9
(2) 最小比率TSP 最小比率TSP(简称MRTSP)是从经典TSP引 申出来的另一个变形问题,假定从一个城市走到另 一个城市可得到某种收益(记为),则MRTSP的 目标就是确定最佳行走路线,使得回路的总行程与 总收益之比最小。这种优化目标的思想类似于人们 日常生活中经常使用的费用效益比,与单纯的总行 程最短相比,往往更具实际意义。
21
§7-2 求解算法
一、下界和上界算法 1. 下界 (1)下界b1和b2 针对TSP对应图的邻接矩阵,将矩阵中每一行最小的元 素相加,就可得到一个简单的下界b1。经进一步改进,可得 到更好的下界:考虑一个TSP的完整解,在每条路径上,每 个城市都有两条邻接边,一条进,一条出,那么,如果把矩 阵中每一行最小的两个元素相加再除以2(不失一般性,可 假定图中所有距离权重都为整数),再对其结果向上取整, 就可得到一个合理的下界b2。 显然,b2≥b1,因此,一般不采用b1作为TSP的下界。
n c(n) 6 60 8 41420 10 8841970 20 30 1.5*1018 1.5*1031 50 1060 120 2*1017
9
19
可以看出,当增大时,最大面个数增长得非常快。 在TS多面体理论的基础上,可以考虑先解TSP的松弛问 题,如果得到的最优解正好是某一条路线的关联向量,那么 就找到TSP的最优解了;否则,就设法找一些新的不等式作 为额外约束,再解新的线性规划,直至找到恰好是关联向量 的最优解。这种做法的基本思想与解整数规划的割平面法是 同一类的,Gotschel 等人曾用这种方法解过有120个城市的 TSP,所增加的不等式只有子回路消去不等式与梳子不等式 两类,在进行了13轮计算后,即解了13个线性规划后,就找 到了TSP的精确最优解,每一轮的当时计算时间仅在30秒至 2分钟之间。有趣的是,当n = 120时,仅梳子不等式就有 2*10179个,但在计算过程中,总共却只(凭经验)添加了 96个子回路消去不等式与梳子不等式。
第 7章
旅行商问题
1
目录
第 7章 旅行商问题
1.问题概述 2.求解算法
2.1.下界和上界算法 2.2.分支定界法 2.3.动态规划法 2.5.近似算法 2.5.竞赛题
2
§7-1 问题概述
一、数学模型
1. 标准TSP 旅行商问题(简称TSP),也称货郎担问题或 旅行推销员问题,是运筹学中一个著名的问题,其 一般提法为:有一个旅行商从城市1出发,需要到 城市2、3、…、n去推销货物,最后返回城市1,若 任意两个城市间的距离已知,则该旅行商应如何选 择其最佳行走路线?
(b) 距离矩阵
23
解: 将矩阵中每一行最小的元素相加,1+3+1+3+2 = 10,即得b1=10。将矩阵中每一行最小的两个元素相 加再除以2,再对结果向上取整,即可得b2 = ((1+3) + (3+6) + (1+2) + (3+4) + (2+3))/2 = 14。
24
(2)下界b3 为便于描述下界b3,先定义如下符号: T:对称TSP问题; n:结点总个数; w(i,j):结点i与j之间距离; dmin(i, k):与第i个结点关联的所有边中第k (k = 1, 2, 3)长边的 长度; dmin_j(i, k):与第i个结点关联的所有边中第k (k = 1, 2, 3) 长边 的另一个结点的编号(其中一个结点编号为i); node_ base(i)= dmin_j(i, 1)+ dmin_j(i, 2):表示与i点关联边中长 度最短的两条边之和; C*(T):最优回路长度;
22
例1 已知TSP及其距离矩阵如图7-1所示,试求其下 界
1 5 3 6 7 4 2 5 9 1 3 2
8
4 3
3 1 5 8 3 6 7 9 1 5 4 2 5 7 4 3 8 9 2 3
(a) 无向图 图7-1 无向图及 距离矩阵
18
TS多面体研究中的一个重要问题就是寻找能导出Qn 最大面的不等式,Grotschel等人发现了一类很重要的能导 出最大面的梳子不等式,并予以了证明。此外,还有其它 能导出最大面的不等式,如团树不等式等。可见, Qn的最 大面极多,曾经计算过由梳子不等式所导出的最大面个数 如表7-1所示:
表 7- 1
25
于是,dmin(i, 1)代表与第i个结点关联的所有边 中最长边的长度,dmin_j(i, 1) 代表与第i个结点关联 的所有边中次长边的另一个结点编号(其中一个结点 编号为i),第i结点的dmin(i, k)和dmin_j(i, k)可由距 离矩阵w轻易求得。 通过对下界b2进行改进,可以得出一个求对称 型TSP更好的下界b3。 在求b2的过程中,只有当与每一结点关联的边 中长度最小的两条边都出现在最优TSP回路中时, 等号才成立,下面就来分析如何提高这个下界。
当dij=dji (i, j∈V) 时,问题被称为对称型TSP,否 则称为非对称型TSP。 若对所有1≤i, j, k≤n ,有不等式dij + djk ≥ dik成 立,则问题被称为是满足三角形不等式的,简称为 ΔTSP。
7
2. 扩展TSP (1) 瓶颈TSP 瓶颈问题是最早从TSP延伸出来的一种扩展型 TSP,其含义与经典的TSP类似,仅目标不同,要 求巡回路线中经过的最长距离最短,即最小化瓶颈 距离。该情形体现了那些并不追求总巡回路线最短, 而只希望在巡回路线中每次从一个地点至另一个地 点的单次行程尽可能短的实际应用问题的特征。
1, xij 0,
若有某推销员从城市i 到城市j 否则
则MTSP的数学模型为:
12
min Z d ij xij
i 1 j 0
m
n -1
s.t.
n -1 1, 对j 1, 2, , n 1 xkj m, 对j 0 k 0 n -1 1, 对i 1, 2, , n 1 xik m, 对i 0 k 0 x 0, 1 , x 0, i, j ii ij 且不存在任何子回路
3
TSP在图论意义下又常常被称为最小Hamilton圈问题, Euler等人最早研究了该问题的雏形,后来由英国的 Hamilton爵士作为一个悬赏问题而提出。但这个能让普通人 在几分钟内就可理解的游戏之作,却延续至今仍未能完全解 决,成了一个世界难题。 TSP有着明显的实际意义,如,邮局里负责到各信箱开 箱取信的邮递员,以及去各分局送邮件的汽车等,都会遇到 类似的问题。有趣的是,还有一些问题表面上看似乎与TSP 无关,而实质上却可以归结为TSP来求解。已经证明,TSP 是个NP难题,除非P = NP,否则不存在有效算法。
20
当然,用该方法有时会找不到TSP的最优解, 因为很可能在进行了几轮迭代后,却找不到新的不 等式。Padborg与Hong曾计算了74个TSP,其中54 个得到了最优解,其余的虽未得到最优解,却得到 了很好的下界,如果与近似方法配合,可以估计近 似解的精确程度。如,他们解过一个有313个城市 的TSP,获得一个下界41236.46,而用近似方法能 得到一条长为41349的路线,于是可估计出所得近 似解与最优解的误差不超过0.26%。
n
i 1, i 0, i 1, 2,, s i 1
s
17
Qn是Rm中的一个凸多面体,称做TS多面体。 显然, Qn是有界的,其极点正好是Kn的Hamilton回 路关联向量。 研究Qn的面非常重要的,因为根据线性不等式 及凸多面体的理论, Qn一定是某一个有限线性不等 式组的解集合,或者说, Qn一定是有限多个半空间 的交。因此,如果能找出定义Qn的线性不等式组来, 就可将TSP作为一个线性规划来解。