当前位置:文档之家› 基于Lingo的旅游计划制定方法(含代码)

基于Lingo的旅游计划制定方法(含代码)

海南大学《数学模型课程设计》论文题目:基于Lingo的旅游计划制定方法班级:信息与计算科学姓名:体贴的瑾色学号:指导教师:日期:2017.06目录基于Lingo的旅游计划制定方法 (3)摘要 (3)一、问题描述 (3)二、模型假设 (3)三、问题分析 (3)四、符号说明 (4)五、模型建立 (4)六、问题解决 (7)七、回答问题 (9)八、模型推广 (10)九、心得体会 (11)参考文献 (11)程序附录 (11)基于Lingo 的旅游计划制定方法摘要本文针对海南十八个城市制定旅游规划,在收集了大量的数据情况下,建立评价指标,找到最优的旅游路线。

对于问题一因为不要求求出具体的路程最小值,所以我们使用matlab 处理海南省的地图,找到每个城市在地图的相对坐标,从而得到城市之间的相对距离。

以距离为权,以旅程的长度为评价标准建立模型,规划最优路线得到最小相对距离1488。

11,注意这里的最小距离并不是实际上的最小距离。

对于问题二将最小费用矩阵代替距离矩阵,以旅程的总车费为评价标准建立模型,规划最优路线,得到最小费用为276元。

对于问题三,在一二问的基础上,综合考虑省时省钱,得到评价标准表达式1488.11276min 0.50.51488.11276D M --=+,建立模型,规划最优路线。

一、问题描述本题要求在不同的约束条件下规划出海南的最佳旅游路线,路线的基本要求是必须从海口出发并回到海口,并且经过且经过海南的每个城市(包括县城)一次,并且每个市县玩两天。

不同的问题约束条件是: (1)要求总路程最短。

(2)允许选择动车和大巴作为出行工具,规划的路线使得出行总交通费用最少。

(3)综合考虑一二问的条件,得到最优路线,设定出相应的评价准则和指标,修正模型。

二、模型假设(1) 城市之间路程用城市的直线距离代替。

(2) 近期城市之间的动车价格和大巴价格视为定值。

(3) 城市之间路费取自动车价格和大巴价格的最小值。

(4) 假设不同城市之间的交通工具的速度均相差不大,即旅行时间由旅行路程唯一决定。

三、问题分析通过查询知道海南的市县数量总共是有18个(三沙市除外),那么显然这个问题是一个18个城市的TSP 问题。

用图论的内容来等价话描述为:设(,,)G V E W =是一个有向赋权图,其中将城市看做节点构成顶点集V ,如果i V 和j V 之间存在边,i j E ,即表示制定的旅游方案中是从城市i 到城市j 。

,i j W 表示边,i j E 所赋的非负权重。

那么该问题就是指在带权有向图G 中,寻找从指定起始节点的一条经过且仅经过一次所有节点的具有最小权值总和的闭合路径。

不同的问题中所赋的权重代表的内容不同:(1) 问题一中,因为不要求求出具体的最小值,所以我们使用matlab 处理海南省的地图,找到每个城市在地图的具体坐标,从而得到城市之间的距离。

以距离为权建立模型,规划最优路线。

(2) 问题二中,针对不同城市间的交通条件,选择合适的交通方式,通过互联网票务查询得到结果。

(3) 问题三中,综合考虑条件,设计出省时又省钱的最优化路线。

四、符号说明,i j W 城市i 与城市j 之间的距离(路程,费用等),10i j i x i j ⎧=⎨⎩与j 有边相连与无边相连 i u 与城市i 相对应的任意实数n 城市的数量1,2,...,18i = 1,2,...,18j =M 旅行车费D 旅行路程五、模型建立首先建立一二问的模型: 目标函数为:1818,,11min *i j i j j i W x ===∑∑保证从每个城市只离开一次:18,11i jj x==∑保证只进入每个城市一次:18,11i ji x==∑变量约束:,01i j x =或者但是满足上述变量并不能保证找到最优解,因为如果生成的路径包含有两个不连通的闭合子路径,也满足上述条件,但并不符合题意。

所以还要增加约束使得不出现这种情况。

文献[1]中证明了如果满足下述条件:,*1i j i j u u n x n -+≤-其中i j ≠,1,2,...,18i =,1,2,...,18j =,那么能保证不出现独立的闭合子路径。

城市之间的距离估算使用如下图一所示海南省行政图作为对象,使用matlab 的ginput 函数,找到每个市县的具体坐标,后如下图二所示对城市进行编号,计算得到城市之间的距离矩阵,结果如下图三所示,注意这里并不需要考虑城市间是否有交通工具来往,因为查询知道相近的城市均有直达车次,只有部分相距较远的城市不可来往,而第一问要求的是路程最短,所以路线选择只可能考虑相近城市来往。

之间并无直达车次,我们规定如果去其他城市转乘次数不超过一次,那么这两个城市间的车费就是转乘后的总车费,若转乘次数超过两次,两个城市就视为不能直接来往。

在第二问中,因为要求计算车费最小的路线,所以我们规定不能直接来往的城市车费记为10000元。

数据结果显示如下图四。

第三问要求综合考虑省时,省钱,制定最优方案。

由假设条件知,本题的目标函数应该为:min (1)aD a M =+-其中a 为(0,1)区间的一个实数,但是因为路程和费用的量纲不同,这样得到的结果并不是很好,所以我们对目标函数做一个修正,设一二问求得的最短的路程和最少的车费分别为*D 和*M ,目标函数(评价标准)为:****min (1)D D M M a a D M --=+-我们假设游客对省时和省钱同样的看中,即0.5a =,那么目标函数为:****min 0.50.5D D M M D M--=+ 本文的约束条件是一二问所有的约束条件。

六、问题解决采用lingo编程(程序见附录)求解得到第一问的,i jx矩阵使用matlab编程(程序见附录)处理数据得到路线和路线图为:路线:1—>4—>3—>2—>6—>10—>9—>13—>14—>15—>16—>18—>17—>12—>11—> 7—>8—>5—>1第二问模型求解后得到的轨迹图为:路线为:1—>2—>6—>13—>10—>9—>11—>7—>14—>15—>18—>16—>17—>12—>8—> 5—>4—>3—>1第三问得到的轨迹图为:路线为:1—>2—>6—>13—>10—>9—>14—>15—>16—>18—>17—>12—>11—>7—>3—> 4—>8—>5—>1灵敏度分析:a ,则结果变为:第三文中如果比较在意经济方面,那么令0.8路线为:1—>3—>4—>5—>8—>12—>17—>18—>16—>15—>14—>7—>11—>9—>10—>1 3—>6—>2—>1a ,那么结果变为:如果经济比较宽裕,那么令0.2路线为:1—>2—>6—>13—>10—>9—>14—>15—>16—>18—>17—>12—>11—>7—>8—> 5—>4—>3—>1七、回答问题回答问题(1):要使路程最短,路线应该设计为:海口=>定安=>澄迈=>临高=>儋州=>白沙=>昌江=>东方=>乐东=>五指山=>保亭=>三亚=>陵水=>万宁=>琼中=>屯昌=>琼海=>文昌=>海口回答问题(2):要使费用最少,路线应该规划为:海口=>临高=>儋州=>东方=>白沙=>昌江=>琼中=>屯昌=>乐东=>五指山=>三亚=>保亭=>陵水=>万宁=>琼海=>文昌=>定安=>澄迈=>海口回答问题(3): 如果同等看重经济和时间则路线为(0.5)a =:海口=>临高=>儋州=>东方=>白沙=>昌江=>乐东=>五指山=>保亭=>三亚=>陵水=>万宁=>琼中=>屯昌=>澄迈=>定安=>琼海=>文昌=>海口如果较看重经济则路线为(0.8)a =:海口=>澄迈=>定安=>文昌=>琼海=>万宁=>陵水=>三亚=>保亭=>五指山=>乐东=>屯昌=>琼中=>昌江=>白沙=>东方=>儋州=>临高=>海口如果较看重时间则路线为(0.2)a =:海口=>临高=>儋州=>东方=>白沙=>昌江=>乐东=>五指山=>保亭=>三亚=>陵水=>万宁=>琼中=>屯昌=>琼海=>文昌=>定安=>澄迈=>海口八、模型推广本文解决的问题是针对海南旅游,推广到一般情况,某人计划到n 个城市进行旅游,要求分别从省时,省钱和综合考虑两个方面进行规划路线。

设计划决策变量为 :,10i j i x i j ⎧=⎨⎩与j 有边相连与无边相连 目标函数为:1818,,11min *i j i j j i W x ===∑∑,i j W 城市i 与城市j 之间的距离(路程,费用等)约束条件为:18,11i j j x==∑18,11i j i x==∑,,(1)0,1,2,,,2,3,...,i j i j x x i n j n -===,*1i j i j u u n x n -+≤-九、心得体会通过本次建模实验,我对数学建模了解更加深刻了一些。

本题开始我是通过使用遗传算法解决,发现虽然收敛的十分迅速,但是进入到了一个局部最优解,始终找不到全局最优解。

然而使用数学建模的方法,找到约束条件,用lingo 计算,很快的就找到了最优解。

所以,建模中算法并非最重要的,根本还是要实实在在的建立模型。

参考文献[1]王继强。

基于LINGO 的旅行商问题的建模方法[J]。

计算机工程与科学,2014,(05):947-950。

[2]姜启源,谢金星。

数学模型(第四版)。

北京:高等教育出版社,2011,1。

[3]谢金星,薛毅。

相关主题