1、选址问题摘要目前,社区的优化管理和最佳服务已经成为一种趋势,并且为城市的发展作出了一定的贡献。本文针对在社区中选址问题及巡视路线问题,分别建立了多目标决策模型、约束最优化线路模型,并分别提供了选址社区和巡视路线。对于问题一,我们建立了单目标优化模型,考虑到各社区居民到收费站点的平均距离最小,我们使用 floyd 算法并通过 matlab 编程,算出任意两个社区之间的最短路径,并以此作为工具,使用 01 变量列出了目标函数。在本题中,我们根据收费站数、超额覆盖等确定了约束条件,以保证收费站覆盖每个社区,同时保证居民与最近煤气站之间的平均距离最小,最终利用 lingo 软件求得收费站建在 M、Q、
2、W 三个社区。对于问题二,同样是单目标优化模型,较之问题一不同的是,问题二不需要考虑人口问题,但需要确定选址的个数。接下来的工作分了两步,第一步,我们通过 01 变量列出目标函数,以超额覆盖等确定约束条件,用 lingo 软件编程求出最小派出所站点的个数;第二步,我们利用第一步中求出的派出所个数作为新的约束条件,建立使总距离最小的优化模型,最终利用 lingo 软件求得三个派出所分别建在 W、 Q、K 社区。对于问题三,我们建立了约束最优化线路模型,根据 floyd 算法求得的任意两个社区之间的最短路径,建立了以 w 点为树根的最短路径生成树,并据此对各点的集中区域进行划分,再利用破圈法得到最
3、短回路。在本题中,我们初定了两种方案,并引入均衡度 对两种方案进行比较,最终采用了方案二。最后,我们用 matlab 编程求解方案二中各组的巡视路线为 113 百米,123 百米,117 百米,均衡度 8.13%。具体路线见关键词:最短路径 hamilton 圈 最优化 floyd 算法1 问题重述在社区中缴费站的选址对于居民快速缴费和充分的利用公共设施的资源有很重要的指导意义。某城市共有 24 个社区,各社区的人口(单位:千人)如下:编号 A B C D E F G H I J K L人口 10 12 18 6 10 15 4 8 7 11 13 11编号 M N P Q R S T U V
4、 W X Y人口 11 8 9 22 14 8 7 10 15 28 18 13各社区的的道路连接如下图VCDGUFEIQSRATWXBJYLHNKMP1 0 1 587971 41 061 11 2892 02 41 61 51 82 21 1661 22 381 01 181 11 51 02 51 51 992 881 091 181 9(注:横线上的数据表示相邻社区之间的距离,单位:百米)本题要解决的问题如下:(1) 方便社区居民缴纳煤气费,煤气公司现拟建三个煤气缴费站,问煤气缴费站为了怎样选址才能使得居民与最近煤气站之间的平均距离最小。(2) 市公安局拟在该城区建立若干个派出所,请为
5、派出所分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在 3 分钟内有警察(警车的时速为 50km/h)到达事发地,问设置多少个派出所比较合理,位置选在哪?(3) 社区 W 是市政府所在地,市领导从 W 出发巡视,分三组巡视所有社区,为了尽快完成巡视,请问如何安排巡视路线。2 模型假设与符号说明2.1 模型假设:假设 1:相邻两个社区之间的道路近似认为是直线,把城市地图抽象成由点和线组成的无向网络赋权图;假设 2:假设警车到达事发点的途中没有障碍,即不考虑路况和其他突发事件的影响,警车按照其行驶速度匀速行驶直至到达事件发生的地点。假设 3:巡视过程中,各个小组行驶的速度基本相同。假设
6、4:各个小组巡视过程中,不因特殊情况延误时间。假设 5:各个小组巡视过程中,不考虑小组在每个社区的停留时间。假设 6:不考虑警察的反应时间,即接到事故报警后,能够立即赶往事故发生地。2.2 模型符号: I收费站集合(一)或派出所集合(二)J社区集合jwj社区的人口数,即 j社区的权重ijd社区 i到社区 的最短距离 juj社区被超额覆盖的次数iy(01)变量, 1 表示在社区 i建立煤气站(一)或派出所(二)iyijz(01)变量, 1 表示煤气站(一)或派出所 i覆盖社区 jijz说明:“一”代表问题一中符号表示的意义, “二”表示问题二中符号所表示的意义。3 问题分析3.1 问题一分析本问
7、题的目标是从一个有多个社区组成的区域中,选出一定数目的社区设置收费站,建立所得收费站网络,实现居民与最近的收费站之间平均距离最小.在多目标的选址问题中,宜采用单目标优化模型,并充分体现收费站的效率性。首先我们使用 floyd 算法并通过 matlab 编程,算出任意两个社区之间的最短路径,并以此作为工具,使用 01 变量列出了目标函数。在问题一中,我们根据收费站数、超额覆盖等确定了约束条件,以保证收费站覆盖每个社区,同时保证居民与最近煤气站之间的平均距离最小3.2 问题二分析第二问需要求出在相应的时间限制下,为了使中位选址问题达到最优需要,在该社区建立派出所站点的个数。根据警车的行驶速度 50
8、km/h 以及反应时间限制在 3 分钟内,得出派出所站点与相应区域内的点的最大距离应小于d350/60km=25(百米)。运用中位点问题模型,采用参数规划的约束法,可以很好的解决该问题。首先我们利用 floyd 算法算出每对顶点的最短距离,然后利用单目标最优化模型以派出所的个数的和为目标函数,保证每个点被覆盖一次,考虑某个社区派出所站点与社区是否被站点覆盖的关系,其它点到站点的最小距离小于等于 25 百米,利用 lingo 软件求出最少派出所的个数,最后以其它点到站点的最小总的距离为目标函数。在第一步的基础上加上站点的个数,最终利用 lingo软件求出站点位置。3.3 问题三分析此题研究的是最
9、佳巡视路线设计问题,要求从 w 点出发分三组巡视完所有社区后,并尽快回到 w 点。此问题可以转化为推销员问题,再设计相应的算法求解。为了使三组能够在短时间内完成巡视,那么就要求三组所走总路程最小;同时,为了使三组能够在几乎等量的时间内完成巡视,我们就要求三组巡视路程尽可能的均衡。综上两点考虑,我们建立了以三组巡视路线总路程值最小和三组路程的均衡度两个目标函数的模型。首先我们可以利用第一问求出的 w 点到其余顶点的最短路, 建立了以 w 点为树根的最短路径生成树,其中规定从 w点出发的树枝称为干支,然后把所得的生成树按以下原则分成三组。准则一:尽量使同一干支上及其分支上的点分在同一组;准则二:应
10、将相邻的干支上的点分在同一组;准则三:尽量将长的干支与短的干支分在同一组。然后利用 hamilton 算法分别构造出每组路线值最小的回路,如果两个目标值不佳,我们可以重新分组,经过多次调整达到较为合适的结果,最终找出该区域的最佳巡视路径。4 数据分析4.1 模型一的数据分析:首先画出各社区的人口图各 社 区 人 口 数 目 比 较 图051015202530ABCDEFGHIJKLMNPQRSTUVWXYZ社 区人数根据人口图可以看出 C 社区、Q 社区和 W 社区的人口比较多,在考虑建煤气站时应该使这些地区到煤气站的距离比较短,这样的话选的煤气站的地址会更合理。4.2 模型二的分析:由于要求
11、警车 3 分钟类到达事发地点。因根据警车的行驶速度 50km/h,得出派出所站点与相应区域内的点的最大距离应小于 d350/60km=25(百米)。即即警车行驶最远行车距离为 25 百米4.3 模型三的数据分析:(1)定义 一个图 G 是指一个二元组( V(G),E(G)),其中元素称为图 G 的顶点(2)给出一种求最小生成树的方法(破圈法):设 G 由 n 个结点构成的连通图,下面的算法产生的最小生成树。算法的基本思想:先将图 G 的边按权的递减顺序排列后,依次检验每条边,在保持连通的情况下,每次删除最大权边,直到余下 n-1 条边为止。(3)均衡度的定义 ( 越小说明分组的均衡性越好) 。
12、i(4)我们把 24 个社区看作 24 个顶点,它们之间的距离为权重,建立邻接矩阵,求出各点到 w 的最短距离。则画出以 w 为根的树如下:VCDGUFEIQSRATWXBJYLHNKMP7971 461 181 61 52 21 1681 181 51 081 091 181 95 模型的建立与求解首先,我们用 floyd 算法求出任意两个社区之间的最短距离,以便问题一,问题二,问题三的求解。5.1 问题一:煤气站的选址问题5.1.1 确定目标函数由问题一的题目要求,要求煤气站的选址能够使居民到最近煤气站的平均距离最小,此问题等价于求煤气站的选址使 24 个社区的所有居民到最近煤气站的总距离
13、最小。因此,我们把目标函数定为:所有居民到最近煤气站的总距离S. iji ijjjzdws*2415.1.2 确定约束条件(1)根据题目要求,所建煤气站数目为 3,即:241iiy(2)只有在 i社区建立了煤气站, j社区才能被覆盖,即:iijyz(3) j社区被 i社区覆盖的总次数减去被超额覆盖的次数应该大于等于 1,即:1241ijijuz(4) 社区建立煤气站不在社区建立煤气站在iiyi 01(5) jizij 不 覆 盖 社 区煤 气 站 覆 盖 社 区煤 气 站015.1.3 综上所述,得到问题一的单目标最优化模型 ijijijjzdws*min241jjzuiyzytsijijij
14、iiiji 不 覆 盖 社 区煤 气 站 覆 盖 社 区煤 气 站社 区 不 建 煤 气 站社 区 建 立 煤 气 站01013.242415.1.4 模型一的求解及结果分析我们通过 lingo 软件编程,得到三个煤气站应分别建在 W,Q,M 社区,居民与最近煤气站的平均距离为 11.7118 百米。首先这三个社区分别分布于整个区域的西北部,东部,和南部,可以为各个社区的居民服务,从而又使平均距离达到最小,满足了题目要求。5.2 问题二:派处所的选址问题 5.2.1 确定目标函数一在已知警车运行速度的前提下,我们将时间约束转换成最远距离约束,即最远行车距离为 25 百米。此时我们并不知道要在最
15、远行车距离为 25 百米的前提下,需要建多少个派出所站点才能覆盖全部社区。因此,我们首先以最小派出所站点的个数为目标函数,即:5.2.2 确定目标函数一的约束条件(1)每个社区且仅被一个派出所覆盖,即:241iijz(2) (2)派出所 到社区 的最短距离小于等于 25 百米,即:ij25ijzd(3)只有在社区 建立派出所,它才有可能覆盖社区 ,即:i j0iijy5.2.3 综上所述。目标函数一的模型为: 241miniiz0251.241ijijijiijyzdzts用 lingo 软件编程计算出在警车限制时间内,在该社区建立的最少派出所站点为 3。5.2.4 确定目标函数二在派出所的个
16、数为 3 的前提下,我们建立所有社区到最近派出所总距离最小的目标函数,即: 241minijijzdz5.2.5 确定目标函数二的约束条件目标函数二只比目标函数一多了一个约束条件,为所建派出所的个数为3,即:241miniiyz2413iiy5.2.4 综上所述,目标函数二的模型为: 241minijijzdz5.2.5 问题二的求解及结果分析我们通过 lingo 软件编程,求得所建派出所个数为 3,分别建在 W,Q,K 社区。所用程序见附录。5.3 问题三:巡线问题5.3.1 目标函数的建立根据题意,我们将巡视路线图抽象为一个赋权无向连通图 G(V,E),先要分三组进行巡视,则需要将 G(V
17、,E)分成三个子图 ,在每个子图iG3,21中寻找路程最小的回路 (i=1,2,3) ,于是我们以各组的总路程和各组的iGiS行驶路程的均衡度为目标函数: 1iiSMniniiii Sax5.3.2 约束条件为:241241305.iiiijijiijyzdzts2431iiV5.3.3 结果分析其中方案一划分的区域如下(颜色相同的点在同一组):VCDGUFEIQSRATWXBJYLHNKMP7971 461 181 61 52 21 1681 181 51 081 091 181 9用改良的 Hamilton 圈算法最终算出个小组的路径和路线长度如下:小组名称 路线 总路线长度 (百米)路线总长度(百米)第一小组 W-X-A-X-B-I-P-I-G-W 149第二小组 W-F-E-T-V-Q-R-S-D-C-W 95第三小组 W-F-U-J-N-M-K-H-Y-L-F-W107351因为该组的均衡度为: 36.2%iiii SMaxn1495所以该分法的均衡度比较差,不宜采用。方案二划分的准则如下(颜色相同的点在同一组)