管理学旅游最短路径选择
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《运筹学》课程设计旅游最短路径选择
院(系)名称信息工程学院
专业班级09普本信计1班
学号090111046
学生姓名王晓驹
指导教师马艳琴
2011年12月06日
运筹学课程设计评阅书
课程设计任务书
2011—2012学年第二学期
专业班级:09普本信计1班学号:090111046 姓名:王晓驹
课程设计名称:运筹学
完成期限:自2011年12 月01 日至2011 年12 月06 日共 1 周
一、设计目的
在节假日中我们经常遇到这样的问题,想在最短的时间内旅游完自己想去的所有的城市。
于是我们面临这样的一个选择,怎样选一条合适的旅游路径,本文将给你一个合适的方法(TSP模型)帮你解决这一问题。
二、设计要求
1.运用LINDO或者LINGO软件计算。
2.对结果进行误差分析。
3.写一篇不少于3000字的课程设计。
三、参考文献
[1]胡运权.运筹学基础及应用(第四版).高等教育出版社,2003年11月.
[2] 王树禾.图论.科学教育出版社.2004年1月第一版.
[3] 姜启源.谢金星.叶俊.数学模型(第三版).北京:高等教育出版社,2003.8.
[4] 谢金星.薛毅.优化模型与LINDO/LINGO软件.清华大学出版社2005年7月第一版.
计划答辩时间:2011年12月06号
工作任务与工作量要求:查阅文献资料不少于3篇,课程设计报告1篇不少于3000字。
指导教师(签字):教研室主任(签字):
批准日期:年月日
旅游最短路径选择
摘要
此次设计是为了研究如何选择最短旅游路径而设计的数学模型。
主要运用TSP模型,建立矩阵,借助LINGO工具,计算综合最短路径、最经济、用时最短这三方面选出一条最佳路径,最终对结果进行优缺点分析。
通过建立矩阵,把问题数学化,简单化,来进行解答。
此次设计借助这次题目主要说明数学在生活中的重要应用,并会用建模的方法解决实际问题。
关键词:TSP模型,LINGO,最短路径,最经济,用时最短
目录
一问题提出 (1)
二问题分析 (1)
三模型建立 (1)
3.1模型一的建立 (3)
3.2模型二的建立 (6)
3.3模型三的建立 (7)
四结果分析 (9)
五模型评价 (9)
5.1模型优点 (9)
5.2模型缺点 (9)
六参考文献 (10)
一 问题提出
周先生退休后想到各地旅游。
计划从沈阳走遍华北各大城市。
请你为他按下面要求制定出行方案:
1. 按地理位置(经纬度)设计最短路旅行方案;
2. 如果2010年5月1日周先生从沈阳市出发,每个城市停留3天,可选择航
空、铁路(快车卧铺或动车),设计最经济的旅行互联网上订票方案;
3. 设计最省时的旅行方案,建立数学模型,修订你的方案;
二 问题分析
第一问要求按地理位置(经纬度)设计最短路旅行方案,求最短路径是一个典型的旅行售货商(TSP )模型。
TSP 模型可解的是知道任意两个城市之间的距离,通过查阅资料可以华北各个城市所在的经纬度,所以首先就需要通过
经纬度计算出任意两个城市之间的距离,得到一个距离矩阵,再建立()TSP 模型,
对模型进行求解。
问题的目标函数为 ij n i n j ij x d z ∑∑==1min (
)j i ≠
其中10或=ij x ,
若1=ij x 表示周先生直接从i 市到j 市。
建立整数目标规划,用Lindo 软件求解,找出所有1=ij x ,确定最短路的旅行方案。
第二问要求最经济,所以应从票价方面进行考虑,通过查阅资料可得各城市之间航空、铁路(快车卧铺或动车)的不同票价,由于要求最经济的旅行互联网上订票方案,所以选取三种类型票价中最低的票价,构建票价矩阵。
用票价矩阵代替第一问中的距离矩阵,求解出一条最经济路径。
第三问要求设定省时的方案就需要考虑时间因素,因为以上三种交通工具中航空用时最短,选择飞机作为旅行交通工具。
通过查阅资料得到各城市间航班的时间矩阵,用时间矩阵代替第一问中的距离矩阵,求解一条最省时的路径。
三 模型建立
在具体的实现上,我们采用了整数规划法,并辅以LINGO 软件编程实现
在下述意义下,引入一些0—1变量:
⎩⎨⎧≠=其他情况且到巡回路线是从0
,1j i j i x ij 其目标是使∑∑=n i n
j ij ij x d 1
)(j i ≠最小。
(ij d 表示i 市到j 市的距离) 这里有两个明显的必须满足的条件:
访问城市i 后必须要有一个即将访问的确切城市;访问城市j 前必须要有一个刚刚访问过的确切城市。
用下面的两组约束分别实现上面的两个条件。
⎪⎪⎩⎪⎪⎨⎧=≠==≠=∑∑==n j ij n
i ij n j j i x n i j i x 11)
,2,1,(1),,2,1,(1 到此我们得到了一个模型,他是一个指派问题的整数规划模型。
但以上两个条件对于TSP 来说并不充分,仅仅是必要条件。
例如:
以上两个条件都满足,但它显然不是TSP 的解,它存在两个子巡回。
这里,我们将叙述一种在原模型上附加充分的约束条件以避免产生子巡回的方法。
把额外变量i u ),2,1(n i =附加到问题中。
可把这些变量看作是连续的。
现在附件下面形式的约束条件:
,1-≤+-n nx u u ij j i .2n j i ≤≠≤
为了证明该约束条件有预期的效果,必须证明:(1)任何含子巡回的路线都不满足该约束条件;(2)全部巡回都满足该约束条件。
首先证明(1),用反证法。
假设还存在子巡回,也就是说至少有两个子巡回。
那么至少存在一个子巡回中不含城市1.把该子巡回记为 1,2,1i ik i i ,则必有: 1 2 3 4 6
⎪⎪⎩⎪⎪⎨⎧-≤+--≤+--≤+-1
1113221n n u u n n u u n n u u i ik i i i i 把这k 各式子相加,有1-≤n n ,矛盾。
故假设不正确,结论1得证。
下面证明(2),采用构造法。
对于任意的总巡回1,1i … 1-n i ,1,可取 i u 为访问城市的顺序数,取值范围为{1,2,…,n-1}。
因此,,2-≤-n u u j i .2n j i ≤≠≤下面来证明总巡回满足该约束条件。
(I)总巡回上的边
⎪⎪⎩⎪⎪⎨⎧-≤-=+---≤-=+--≤-=+--1
12111112221n n n u u n n n u u n n n u u in in i i i i
(II)非总巡回上的边
⎩⎨⎧-∈-≤-=+--∈-=-≤-≤-+}{},3,2{,
11},{},,3,2{,2,2,1,12211r i i r r j ir i n j n n n u u i i n j n r n n u u 从而结论(2)得证。
这样我们把TSP 转化成了一个混合整数线性规划问题。
我们就可以利用数学软件LINGO 来求解该问题。
ij n i n
j
ij x d z ∑∑==1min (
)j i ≠ s.t.⎪⎪⎪⎩⎪⎪⎪⎨⎧≥=-≤+-==∑∑==0,101
1111i ij ij j i n j ij n i ij u x n nx u u x x 或 ()()()n j n i j i n i j i n j j i ,,3,2;,3,2;,,2,1;,,2,1; ==≠=≠=≠ 3.1模型一的建立
虽然地球不是一个标准的球体,但南北与东西长度相差不大,可以假设地
球为一个球体,球体半径6371229=R 公里。
根据球面定理用两点之间的经度差计算出东西向的距离差为:
()180÷⨯⨯-=R a a j
i ij πλ 根据球面定理用两点之间的纬度差计算出南北向的距离差为:
()()1801802cos ÷⨯⨯-⨯⨯⨯-=ππμj
i j
i ij a a R b b 最后用勾股定理求出两点之间距离为:
22ij ij ij d μλ+=
沈阳1 北京2 天津3 石家庄4 太原5 济南6 呼和浩特7 沈阳1 0 517.8 520.6 864.8 992.5 825.3 897.1 北京2 517.8 0 113.8 283.9 408.9 364.8 400.1 天津3 520.6 113.8 0 259.8 428.9 272.7 494.2 石家庄4 864.8 283.9 259.8 0 165.4 276.5 387.5 太原5 992.5 408.9 428.9 165.4 0 424.5 335.1 济南6 825.3 364.8 272.7 276.5 424.5 0 662.5 呼和浩特7 897.1 400.1 494.2 387.5 335.1
662.5 0
知道两个城市之间的距离,周先生要自某一城市出发巡回旅游,使总行程最短,可以看出就是在一个赋权完全图中,找一个最小权的Humilton 回路问题。
以点0 表示周先生的出发城市,称为源点,点N
,,2,1 ,表示n 个周先生需访问的城市。
1=ij x 表示周先生需要从点i 到点j ,因外周先生一定离开某一个城市去另一个城市所以 j i ≠,0=ij x 表示不需要从点i 到点j ;i u 表示旅游城市的顺序数;ij d 表示对应城市j i →的距离。
建立目标函数以及约束条件为: ij n i n
j
ij x d z ∑∑==1min (
)j i ≠ s.t.⎪⎪⎪⎩⎪⎪⎪⎨⎧≥=-≤+-==∑∑==0,101
1111i ij ij j i n j ij n i ij u x n nx u u x x 或 ()()()n j n i j i n i j i n j j i ,,3,2;,3,2;,,2,1;,,2,1; ==≠=≠=≠ 其中辅助条件()n i u i
,,2,1 =可以是连续变化的,虽然这些变量在最优解中
是普通的整数值。
该模型的第一个约束条件是保证每一个城市必须旅游到,第二个约束条件表示旅行者必须离开每个城市。
若模型只有这两个约束,则是一个标准的分配问题,但其解会存在子回路,因此最后的约束是为了防止子回路出现的约束。
以总路线最短为原则,利用整数规划模型求得各城市的旅行优先顺序。
LINDO 软件求解结果如下:
LAST INTEGER SOLUTION IS THE BEST FOUND
RE-INSTALLING BEST SOLUTION...
OBJECTIVE FUNCTION V ALUE
1) 2488.200
V ARIABLE V ALUE REDUCED COST
X12 1.000000 517.799988
X27 1.000000 400.100006
X31 1.000000 520.599976
X46 1.000000 276.500000
X54 1.000000 165.399994
X63 1.000000 272.700012
X75 1.000000 335.100006
U3 5.000000 0.000000
U4 3.000000 0.000000
U5 2.000000 0.000000
U6 4.000000 0.000000
U7 1.000000 0.000000
运行结果只摘取1=ij x 的结果,求得目标函数的最优解为2488.200公里,最短路径为:沈阳→北京→呼和浩特→太原→石家庄→济南→天津→沈阳
呼和浩特 太原
北京 天津 沈阳 石家庄 济南
周先生的最短路的旅游路线如图所示,行程为2488.200公里。
显然这是
一个循环圈,无论从哪个城市开始,顺序或逆序最总所走的路径总长度都是2488.200公里。
3.2模型二的建立
由于要求最经济,所以可以从票价方面进行考虑,通过查阅资料可以得到
各个城市之间航空、铁路(快车卧铺或动车)的不同票价,由于要求最经济,的旅行互联网上订票方案,所以选取三种类型票价中最低的票价,构建票价矩阵。
用票价矩阵代替第一问中的距离矩阵作为回路的边权值。
沈阳 北京 天津 石家庄 太原 济南 呼和浩特 沈阳 0 121.86 119.43 170.91 210.95 181.31 241.12 北京 126.54 0 20.80 48.02 88.06 85.80 111.46 天津 119.43 20.80 0 67.08 112.67 61.88 135.21 石家庄 170.91 48.02 67.08 0 39.00 52.70 161.21 太原 210.95 88.06 112.67 39.00 0 91.70 110.94 济南 181.31 85.80 61.88 52.70 91.70 0 209.05 呼和浩特 241.12 111.46 135.21 161.21 110.94
209.05 0 知道两个城市之间的票价,周先生要自某一城市出发巡回旅游,使总费用最少,可以看出就是在一个赋权完全图中,找一个最小权的回路问题。
以点0 表示周先生的出发城市,称为源点, ij c 表示对应城市j i →的票价。
建立目标函数以及约束条件为: ij n i n
j
ij x c z ∑∑==1min (
)j i ≠ s.t.⎪⎪⎪⎩⎪⎪⎪⎨⎧≥=-≤+-==∑∑==0,101
1111i ij ij j i n j ij n i ij u x n nx u u x x 或 ()()()n j n i j i n i j i n j j i ,,3,2;,3,2;,,2,1;,,2,1; ==≠=≠=≠
以总费用最少为原则建立整数规划模型,用Lindo 求解结果如下:
LAST INTEGER SOLUTION IS THE BEST FOUND
RE-INSTALLING BEST SOLUTION...
OBJECTIVE FUNCTION VALUE
1) 617.2700
VARIABLE VALUE REDUCED COST
X12 1.000000 121.860001
X27 1.000000 111.459999
X31 1.000000 119.430000
X46 1.000000 52.700001
X54 1.000000 39.000000
X63 1.000000 61.880001
X75 1.000000 110.940002
U2 0.000000 0.000000
U3 5.000000 0.000000
U4 3.000000 0.000000
U5 2.000000 0.000000
U6 4.000000 0.000000
U7 1.000000 0.000000
根据Lindo求得结果,设计周先生旅行的最经济的路径为:沈阳→北京→呼和浩特→太原→石家庄→济南→天津→沈阳。
3.3模型三的建立
现在再讨论最省时的订票方案。
三种交通工具的速度分别为:民航飞机行驶一般为800公里/ 小时,动车速度在150公里/小时—200公里/小时,快速列车在120公里/小时以内,特快在160公里/小时以内,可见飞机最快,其次动车,最慢是快车。
假设三种交通方式的速度是不变的,则单位里程三种交通方式所花费的时间分别为航空最短,其次是动车,最长的为快车。
所以以时间最省为原则时,我们采用全程均用飞机为交通工具的方案。
根据匀速运动物体速度与路程的关系(T=S/V)可以在已知两地直线距离的基础上求得民航飞机在任意两城市之间的飞行时间。
这样,我们就将最短路线的模型在改变权数的基础上成功的转化到了求解时间最省的问题上来。
沈阳
北京 天津 石家庄 太原 济南 呼和浩特 沈阳 0
0.6472 0.6508 1.0810 1.2406 1.0316 1.1214 北京 0.6472
0 0.1422 0.3549 0.5111 0.4560 0.5001 天津 0.6508
0.1422 0 0.3248 0.5361 0.3409 0.6178 石家庄 1.0810
0.3549 0.3248 0 0.2068 0.3456 0.4844 太原 1.2406
0.5111 0.5361 0.2068 0 0.5306 0.4189 济南 1.0316
0.4560 0.3409 0.3456 0.5306 0 0.8281 呼和浩特
1.1214
0.5001 0.6178 0.4844 0.4189 0.8281 0
以点0 表示周先生的出发城市,称为源点, ij s 表示对应城市j i →的飞行时间。
建立目标函数以及约束条件为:
ij n i n
j
ij x s z ∑∑==1min (
)j i ≠ s.t.⎪⎪⎪⎩⎪⎪⎪⎨⎧≥=-≤+-==∑∑==0,101
1111i ij ij j i n j ij n i ij u x n nx u u x x 或 ()()()n j n i j i n i j i n j j i ,,3,2;,3,2;,,2,1;,,2,1; ==≠=≠=≠
以用时最短为原则建立整数规划模型,用Lindo 求解结果如下:
OBJECTIVE FUNCTION VALUE
1) 3.110300
VARIABLE VALUE REDUCED COST
X13 1.000000 0.650800
X21 1.000000 0.647200
X36 1.000000 0.340900
X45 1.000000 0.206800
X57 1.000000 0.418900
X64 1.000000 0.345600
X72 1.000000 0.500100
U2 6.000000 0.000000
U3 0.000000 0.000000
U4 2.000000 0.000000
U5 3.000000 0.000000
U6 1.000000 0.000000
U7 4.000000 0.000000
根据Lindo 求得结果为周先生设计最省时的旅行方式,周先生选择飞机为交通工具,的旅行路线是:沈阳→天津→济南→石家庄→太原→呼和浩特→北京→沈阳。
四 结果分析
本题为一个小规模的旅行商问题,可能存在的路径共有(n-1)!/2条。
利用城市的经纬度确定城市的直接距离,写出城市间的距离矩阵,查询资料得到最低票价矩阵和时间矩阵,构建整数规划模型并引入0—1变量,并引进变量i u 表示城市的旅游顺序,约束条件1-≤+-n nx u u ij j i 避免产生子回路。
采用分枝定界法并使用Lindo 软件求的最优解。
可以从时间,路程,经济的某一个方面考虑,为旅行者设计符合自己要求的旅行方案。
五 模型评价
5.1模型优点:
(1)建立的旅行商模型实用性强,对问题求解有很好的针对性。
(2)利用lindo 软件可以求解小规模的旅行商问题,可以有效避免陷入局优,克服初值依赖性,描述简单,使用灵活,运用广泛,运行效率高。
5.2模型缺点:
(1)利用lindo 软件求解具有一定的局限性,无法求得大规模的问题;
(2)问题三中最省时方案所得的结果与最优解有一定相差,原因在于模型片面过于依赖城市间空间直线距离。
六参考文献
[1]胡运权.运筹学基础及应用(第四版).高等教育出版社,2003年11月.
[2] 王树禾.图论.科学教育出版社.2004年1月第一版.
[3] 姜启源.谢金星.叶俊.数学模型(第三版).北京:高等教育出版社,2003.8.
[4] 谢金星.薛毅.优化模型与LINDO/LINGO软件.清华大学出版社2005年7月第一版.。