《案例:最佳灾情巡视路线(五月二十六).ppt》由会员分享,可在线阅读,更多相关《案例:最佳灾情巡视路线(五月二十六).ppt(20页珍藏版)》请在金锄头文库上搜索。
1、1 问题引入与分析 1 98年全国大学生数学建模竞赛B题 最佳灾 今年 1998年 夏天某县遭受水灾 为考察灾情 组织自救 县领导决定 带领有关部门负责人到 全县各乡 镇 村巡视 巡视路线指从县政府 所在地出发 走遍各乡 镇 村 又回到县政 府所在地的路线 情巡视路线 中的前两个问题是这样的 1 若分三组 路 巡视 试设计总路程最 短且各组尽可能均衡的巡视路线 2 假定巡视人员在各乡 镇 停留时间T 2 小时 在各村停留时间t 1小时 汽车行驶速度V 35公里 小时 要在24小时内完成巡视 至少应分 几组 给出这种分组下最佳的巡视路线 公路边的数字为该路段的公里数 2 问题分析 本题给出了某县
2、的公路网络图 要求的是在不 同的条件下 灾情巡视的最佳分组方案和路线 将每个乡 镇 或村看作一个图的顶点 各乡 镇 村之间的公路看作此图对应顶点间的边 各条 再回到点O 使得总权 路程或时间 最小 公路的长度 或行驶时间 看作对应边上的权 所 给公路网就转化为加权网络图 问题就转化图论中 一类称之为旅行售货员问题 即在给定的加权网络 图中寻找从给定点O出发 行遍所有顶点至少一次 如第一问是三个旅行售货员问题 第二问是四 本题是旅行售货员问题的延伸 多旅行售货员问题 本题所求的分组巡视的最佳路线 也就是m条 众所周知 旅行售货员问题属于NP完全问题 显然本问题更应属于NP完全问题 有鉴于此 经过
3、同一点并覆盖所有其他顶点又使边权之和达到 最小的闭链 闭迹 个旅行售货员问题 即求解没有多项式时间算法 一定要针对问题的实际特点寻找简便方法 想找到 解决此类问题的一般方法是不现实的 对于规模较大 的问题可使用近似算法来求得近似最优解 6 最佳灾情巡视路线的模型的建立与求解 问题转化为在 给定的加权网 络图中寻找从 给定点O出发 行遍所有顶点 至少一次再回 回到点O 使得 总权 路程或时 时间 最小 即 最佳旅行售货 员问题 最佳旅行售货员问题是NP 完全问题 采用一种 近似算法求其一个近似最优解 来代替最优解 算法一求加权图的最佳旅行售货员回路近似算法 1 用图论软件包求出G中任意两个顶点间
4、的最短路 构造出完全图 2 输入图的一个初始H圈 3 用对角线完全算法 见 23 产生一个初始圈 4 随机搜索出中若干个H圈 例如2000个 5 对第2 3 4 步所得的每个H圈 用二边逐次 修正法进行优化 得到近似最优H圈 6 在第5 步求出的所有H圈中 找出权最小的一个 此即要找的最优H圈的近似解 因二边逐次修正法的结果与初始圈有关 故本算法 第2 3 4 步分别用三种方法产生初始圈 以保 证能得到较优的计算结果 问题一若分为三组巡视 设计总路程最短且各 组尽可能均衡的巡视路线 此问题是多个售货员的最佳旅行售货员问题 4 此问题包含两方面 a 对顶点分组 b 在每组中 求 单个售货员 最佳
5、旅行售货员回路 因单个售货员的最佳旅行售货员回路问题不存 存在多项式时间内的精确算法 故多 也不 而图中节点数较多 为53个 我们只能去寻求 一种较合理的划分准则 对图1进行粗步划分后 求 出各部分的近似最佳旅行售货员回路的权 再进一 进一步进行调整 使得各部分满足均衡性条件3 从O点出发去其它点 要使路程较小应尽量走 O点到该点的最短路 故用软件包求出O点到其余顶点的最短路 这些最短路构成一棵O为树根的树 将从O点出发的树枝称为干枝 从O点出发到其它点共有6条干枝 它们的名称 分别为 在分组时应遵从准则 准则1尽量使同一干枝上及其分枝上的点分在同一组 准则2应将相邻的干枝上的点分在同一组 准
6、则3尽量将长的干枝与短的干枝分在同一组 由上述分组准则 我们找到两种分组形式如下 分组1 分组2 分组1极不均衡 故考虑分组2 分组2 对分组2中每组顶点的生成子图 用算法一求出近似最优解及相应的巡视路线 在每个子图所构造的完全图中 取一个尽量包含上图中树上的边的H圈作为其第2 步输入的初始圈 分组2的近似解 因为该分组的均衡度 所以此分法的均衡性很差 为改善均衡性 将第 组中的顶点C 2 3 D 4 分给第 组 顶点2为这两组的公共点 重新分 分组后的近似最优解见表2 因该分组的均衡度 所以这种分法的均衡性较好 问题二当巡视人员在各乡 镇 村的停留 停留时间一定 汽车的行驶速度一定 要在24
7、小时内 完成巡视 至少要分几组及最佳旅行的巡视路线 由于T 2小时 t 1小时 V 35公里 小时 需访问 的乡镇共有17个 村共有35个 计算出在乡 镇 及 村的总停留时间为172 35 69小时 要在24小时 内完成巡回 若不考虑行走时间 有 69 i 24 i为 分的组数 得i最小为4 故至少要分4组 由于该网络的乡 镇 村分布较为均匀 故有可 能找出停留时间尽量均衡的分组 当分4组时各组停 停留时间大约为69 4 17 25小时 则每组分配在路 路途上的时间大约为24 17 25 6 75小时 而前面讨 论过 分三组时有个总路程599 8公里的巡视路线 分4组时的总路程不会比599 8
8、公里大太多 不妨以 599 8公里来计算 路上约用599 8 35 17小时 若平 均分配给4个组 每个组约需17 4 4 25小时 6 75小 小时 故分成4组是可能办到的 现在尝试将顶点分为4组 分组的原则 除遵从 前面准则1 2 3外 还应遵从以下准则 准则4尽量使各组的停留时间相等 用上述原则在下图上将图分为4组 同时计算 各组的停留时间 然后用算法一算出各组的近似最 最佳旅行售货员巡回 得出路线长度及行走时间 从而得出完成巡视的近似最佳时间 用算法一计 计算时 初始圈的输入与分三组时同样处理 这4组的近似最优解见表3 表3符号说明 加有底纹的表示前面经过并停留过 此次只经过不停留 加框的表示此点只经过不停留 可看出 表3分组的均衡度很好 且完全满足24 小时完成巡视的要求 该分组实际均衡度4 62