小时 发表于 2012-7-13 22:56

2011年数学建模B题国家一等奖

2011高教社杯全国大学生数学建模竞赛

承  诺  书

我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题.
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出.
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性.如有违反竞赛规则的行为,我们将受到严肃处理.

我们参赛选择的题号是(从A/B/C/D中选择一项填写): B                     
        我们的参赛报名号为(如果赛区设置报名号的话):                           
所属学校(请填写完整的全名):            
参赛队员 (打印并签名) :1.                                       
                       2.                                       
                       3.                                         
指导教师或指导教师组负责人  (打印并签名):               

                                              日期:  2011  年  9 月 11 日





赛区评阅编号(由赛区组委会评阅前进行编号):

2011高教社杯全国大学生数学建模竞赛

编 号 专 用 页



赛区评阅编号(由赛区组委会评阅前进行编号):



赛区评阅记录(可供赛区评阅时使用):




                                                                               




                                                                               



                                                                               




全国统一编号(由赛区组委会送交全国前编号):





全国评阅编号(由全国组委会评阅前进行编号):





交巡警服务平台的设置与调度
摘   要
由于警务资源是有限的,所以根据城市的实际情况与需求,合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是有关部门面临的一个实际课题.本文着力于通过所给资料,寻找最优化的交巡台设置与调度方案. 按照设置交巡警服务平台的原则和任务,我们首先对问题1用Floyd算法,提出最佳的交巡警服务平台管辖区域划分方案,缩短了出警时间,平衡了工作量,然后采用回溯法,给出了应对突发事件的警力比较合理调度方案;对于问题2,我们将其归结为全局的配置问题,首先用优化后的Floyd算法对该市现有六城区的交巡警服务平台设置进行改进,其次以时间最短、围堵区域最小为原则,提出了应对重大刑事案件的最佳围堵方案.
对于问题1,本文将最短时间问题转化为单向最短路径问题.我们没有运用经典的求最短距的Dijkstra算法,采取时间复杂度更简便的Floyd算法,应用Matlab编程,以出警时间最短为原则,将72个交通节点分配给20个交巡警服务平台;对于出现突发事件,本文采用回溯法,以最节省警力、实现全区封锁联动时间(即封锁路口最长时间)最短为目标,成功的实现了应对突发事件时警力的合理调度;对于某些交巡警服务平台工作量大、出警时间过长等问题,本文利用Mathematica对附表2中的数据进行分析,整理分析A区各节点事故发生率后,利用图论的相关知识,提出应增设4个服务平台,基本实现警力的最优配置.最后,借助于Matlab和Mathematica软件,对附件中所提供的数据进行了筛选,去除异常数据,对残缺数据进行适当补充,并从中随机抽取了3组数据(每组8个采样)对理论结果进行了数据模拟,结果显示,理论结果与数据模拟结果吻合良好.
而对于问题2,我们对附件中所提供的A,B,C,D,E,F六城区的数据进行了整合与分析,并做出了直观的图表.遵循警情主导警务原则、快速出警原则、方便与安全原则,并结合辖区地域特征、人口分布、交通状况、治安状况和未来城市发展规划等实际情况,在充分考虑现有警力和财力并确保安全的条件下,科学分析现有平台的数量和具体位置的合理性.数据显示C区和F区的事故发生率较高、交巡警服务平台工作量高于全市平均水平、交巡警服务平台平均每天出警时间过长,针对以上问题我们再次利用均衡二分法,并考虑区域边界处的设点拥挤问题,提出了在C区增设5个交巡平台、F区增设1个交巡平台.对于该市地点P(第32个节点)处发生了重大刑事案件的围堵问题,本文将其归结为资源调配问题.本文合理假设了犯罪嫌疑人的车行驶速度(分三种情况考虑:等于警车速度,警车速度的二倍,警车速度的一半),确定三分钟后犯罪嫌疑人逃逸的可能覆盖范围,从而利用回溯法的思想采用Matlab编程确定犯罪嫌疑人的车的所有可能位置.以时间最短、围堵区域最小为原则,采用改进的穷举算法,快速地形成围堵区域,并实现了围堵区域最小的目的.实现了资源调配问题的优化决策.
考虑到该城市未来发展规划,只需对本文所建模型进行适当改进即可,在此不进行详细解答.


关键词    最短路径  Floyd算法  回溯法  穷举法  优化决策



目   录
交巡警服务平台的设置与调度        1
摘   要        1
1.问题重述        1
2.问题分析        1
2.1对于问题一的分析        1
2.2对问题二的分析        1
3.模型假设        2
4.定义与符号说明        2
5.模型的建立与求解        2
5.1 问题一的模型        2
5.1.1 模型建立        2
5.1.2 模型求解        3
5.2 问题二的模型        8
5.2.1 模型建立        8
5.2.2 模型求解        9
7.模型的评价与推广        10
8. 附件        10
附件1:用Floyd算法分配个服务平台管辖区域        10
附件2:邻接矩阵的matlab实现程序        22
附件3:围堵方案的java实现程序        29
附件4:全区的交巡警平台有效覆盖范围(有效代表三分钟内可以到达)        30
附件5:用Mathmatica求数据均值与方差        30
附件6:输入任意两点的坐标,输出两点间距离        30
附件7:A区各线路距离        31







1.问题重述
“有困难找警察”,是家喻户晓的一句流行语.警察肩负着刑事执法、治安管理、交通管理、服务群众四大职责.为了更有效地贯彻实施这些职能,需要在市区的一些交通要道、人员密集区和重要部位设置交巡警服务平台.每个交巡警服务平台的职能和警力配备基本相同.由于警务资源的有限性,根据城市的实际情况与需求,合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题.本文着力于寻找最优化的设置与调度方案.
问题1要求合理分配交巡警服务平台的管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地;对于重大突发事件,给出该区交巡警服务平台警力合理的调度方案,尽快封锁道路;拟在该区内再增加2至5个平台,以减少出警时间、平均工作量,确定需要增加平台的具体个数和位置.
问题2要求分析研究该市现有交巡警服务平台设置方案的合理性并给出解决方案;如果该市地点P(第32个节点)处发生了重大刑事案件,在案发3分钟后接到报警,犯罪嫌疑人已驾车逃跑.为了快速搜捕嫌疑犯,给出调度全市交巡警服务平台警力资源的最佳围堵方案.
2.问题分析
本题所要解决的是A区以及全市的安巡警服务平台设置与调度问题,根据现实生活状况,我们首先要考虑的是警力资源的限制,即要使得所布置的警力尽可能的少.其次是在交巡台数量最少的情况下,力求警员到达现场的时间在3分钟以内,解决突发状况.
2.1对于问题一的分析
该市中心城区A的交通网络有92个节点和20个交巡警服务平台,要求当突发事件发生时,尽量能在3分钟内有交巡警到达事发地,已知警车的时速为V=60km/h,我们将最短时间转化为最短路问题,应用Floyd算法,求解出A区距离每一节点最近的交巡台,即将该节点分配给该交巡台.
对于重大突发事件,要实现对进出该区的13条交通要道进行快速封锁,即需调度交巡台尽快到达13个节点,重复Floyd算法,找出最近交巡台,即可找出调配方案.但需注意的是,有的出入口本来就有交巡台,但为了达最优化,需进行重新分配,故应用回溯法,找到调度方案.
现有交巡台工作量不均衡和有些地方出警时间过长,统计A区各个交巡台案发率,计算均值与方差,在案发率较高地带增设交巡台,平衡工作量,尽量缩短出警时间.
2.2对问题二的分析
对于问题二,是对问题一的进一步改进与推广,在遵循警情主导警务原则,快速出警原则与方便与安全原则,结合辖区地域特征、人口分布和治安状况等实际情况,充分考虑现有警力和财力并确保安全的条件下,设置交巡平台,重复上一问的做法,评估交巡平台的合理性.对于改进方案,应考虑城区内部工作量,城区之间的联系以及城市边界的警力调度.
对于突发状况的围堵方案,应在最短时间内对可能逃逸区域进行合围,最小范围内缩小包围圈.
3.模型假设
1.假设题中所给数据均真实可靠.
2.出警时道路恒畅通(无交通事故、交通堵塞等发生),警车行驶正常,警车及肇事车辆行驶时均以60km/h匀速行驶,转弯处不需要花费时间.
3.事故均发生在路口节点,两节点连线上认为没有事故发生.
4.每条线路行驶都是双向的.
5.考虑肇事车辆在P点向各个方向逃逸的概率相等.
6.在整个行驶中,车辆只在主要干道行驶.
7.发生事故时,忽略反应调度时间.
4.定义与符号说明           

任意两个标志点 与 之间的距离


标志点间的距离组成的距离矩阵

标志点的邻接矩阵

邻接矩阵的元素

相邻标志点间的距离矩阵

相邻标志点 与 间的距离


标志点的权值矩阵
  
标志点间的最短距离矩阵

标志点 与 之间的最短距离


肇事车辆逃逸速度

  
5.模型的建立与求解
5.1 问题一的模型
5.1.1 模型建立
此问是关于最短路径的模型分析及MATLAB的实现A区道路状况及交巡台的设置如图1所示.本文应用Floyd算法,通过构造距离矩阵,依次找出距离每一节点最近的交巡台,使得有事故发生时,交巡警在最短时间内到达事故现场,以此为依据分配管辖区域.如果道路不通时,认为两端节点的距离为无穷.
                   图1  A区各节点及服务平台示意图
当有重大突发事件时,要对进出该区的13条交通要道进行快速封锁,固定13个出入口,应用回溯法,找到距离节点最近的交巡平台.封锁时间决定于最后到达节点的时间,由于一个平台的警力最多封锁一个路口,至少需调动13个平台的警力.
为达到工作量的均衡和出警时间尽可能的短,需进行优化决策.考虑每一节点案发率的不同,在A区增设2到5个平台,使得每一平台的工作量均衡,平均出警时间大体相同.
5.1.2 模型求解
首先我们可以根据题中所给的各个标志点的坐标,用matlab计算出任意两点之间的直线距离,得到92*92的距离矩阵:

根据题中的分布图,我们可以得到各标志点的邻接矩

即如果两个点相邻,则邻接矩阵中相对应的元素的值为1,否则为0;例如:3和44这两个点相邻,那么  .
    根据Floyd算法,我们是要求出任意两节点之间的距离,所以我们需要得到相邻两个结点的直线距离.我们可以利用距离矩阵的元素 与 的点乘积得到相邻标志点间的距离矩阵:

对于D中不相邻点间距离0改为无穷大(Inf)从而得到节点与节点间的权值矩阵:

即如果15和10之间不相邻,也即不能直接到达,那么D中的 和 都将变成 和 等于无穷大(Inf),否则则等于D中相应元素的数据.
运用Floyd算法求出任意两点间最短距离,得到最短距离矩阵 :

由Floyd算法,运行MATLAB程序,可统计出距离每一节点最近的交巡台的位置,MATLAB运行结果如表1所示.带括号的节点为发生事故时任意交巡台都不能在三分钟内赶到节点.
交巡台—节点        距离        交巡台—节点        距离
13—21        27.0831         4—57        18.6815
13—22        9.0554        6—58        23.8414
13—23        5.0000         6—59        16.0312
13—24        23.8537         4—60        17.9240
12—25        17.8885         4—(61)        52.1055
11—26        9.0000         4—62        3.5000
11—27        16.4330         4—63        10.3087
15—(28)        47.5184         4—64        9.3632
15—(29)        57.0052        3—65        15.2398
7—30        5.8310         3—66        18.4012
9—31        20.5572        1—67        14.9158
7—32        11.4018        1—75—68        10.7927
8—33        8.2765        1—69        5.0000
9—34        5.0249         2—70        8.6023
9—35        4.2426         1—74—71        11.2650
16—36        6.0828         2—72        16.4031
16—37        11.1818         18—73        19.7231
16—(38)        34.0588         1—74        6.2650
2—(39)        36.8219        1—75        6.2650
2—40        19.1442         1—76        9.8005
17—41        8.5000         19—77        9.8489
17—42        9.8489        1—78        6.4031
2—43        8.0000        19—79        4.4721
2—44        9.8468        18—80        8.0623
9—45        10.9508         18—81        6.7082
8—46        9.3005        18—82        10.7935
7—47        12.8062        18—83        5.3852
7—48        12.9021        20—84        11.7522
5—49        5.0000        20—85        4.4721
5—50        8.4853        20—86        3.6050
5—51        12.8932        20—87        14.6511
5—52        17.1944        20—88        12.9464
5—53        11.7082        20—89        14.7522
3—54        22.7089        18—90        19.5256
3—55        12.6590        20—91        16.0060
5—56        21.4370        20—(92)        36.0060
表1  该市A区指定节点到交巡警服务平台最短距离
由上表可初步确定A区20个交巡台的管辖范围,如表2所示.带括号的节点为发生事故时任意交巡台都不能在三分钟内赶到节点.
交巡台序号        辖区内节点        辖区内案发率        交巡台序号        辖区内节点        辖区内案发率
1        67 68 69 71 74 75 76 78         9.4        2         40 43 44 70 72 39        9.7
3        54 55 65 66        5.6        4        57 60 62 63 64        6.6
5        49 50 51 52 53 56        7.7        6        58 59        4.5
7        30 32 47 48 61        9        8        33 46        5
9        31 34 35 45        8.2        10                 1.6
11        26 27        4.6        12         25        4
13        21 22 23 24        8.5        14                 2.5
15        (28) (29)        4.8        16        36 37 (38)         5
17        41 42        5.3        18        73 80 81 82 83        7
19        77 79        3.4        20        84 85 86 87 88 89 91 90 (92)        11.5
表2  该市A区交巡警服务平台所管辖交叉路口清单


图2  A区各交巡台管辖区域示意图
    需要说明的是,同一条路整体归一个交巡台管理.
当有重大突发事件时,固定13个进出A区的节点,运用回溯法,结合上表,找到距离节点最近的交巡台,以此来达到总体时间的最短,我们一共可以得到四个方案,在这个过程中可以发现,有些交巡台要避免去最近的节点封锁而去较远的节点,以此来节省警力.具体封锁方案如表3、表4所示.最短调度时间均为8.0155.
方案一:
交巡台        过程        出入口节点号
2        路径        40 39
38
        时间        3.9822min       
4        路径                62
        时间        0.3500min       
6        路径        47 48        30
        时间        3.1829min       
7        路径        30        29
        时间        8.0154min       
8        路径        47        48
        时间        3.0995min       
9        路径        35 36        16
        时间        1.5083min       
10        路径        26 27        12
        时间        7.5863min       
11        路径                22
        时间        3.2696min       
12        路径        25        24
        时间        3.5916min       
13        路径                23
        时间        0.5000min       
14        路径                21
        时间        3.2649min       
15        路径                28
        时间        4.7518min       
16        路径                14
        时间        6.7417min       
表3  A区突发事件封锁方案一
方案二        方案三        方案四
路口标号        平台号        路口标号        平台号        路口标号        平台号
12        13        12        13        12        10
14        16        14        23        14        16
16        6        16        9        16        6
21        14        21        11        21        14
22        10        22        10        22        12
23        11        23        14        23        13
24        12        24        12        24        11
28        15        28        15        28        15
29        7        29        7        29        7
30        8        30        6        30        9
38        19        38        17        38        1
48        5        48        9        48        8
62        20        62        20        62        2
表4  A区突发事件封锁方案二、三、四
在对交巡台均衡工作量,加快出警时间方面,综合各节点的案发率、交巡台到其辖区内任一节点的路程进行综合评估,做出优化决策.
在案发率较高地带增设交巡台,以缓解周围交巡台的工作压力,为达均衡工作量的目的,将32号节点从7号交巡台归到8号交巡台,44号节点从2号交巡台归到3号交巡台,39号节点从2号交巡台归到16号交巡台,47号节点从6号交巡台归到7号交巡台,61号节点从7号交巡台归到4号交巡台.这样,A区每交巡台平均每天处理案件数从6.1950件、方差6.8289降到每天处理5.1917件、方差2.2182,极大的协调了工作量.对于个别节点的重新划分,会增加出警时间,但在总体上平均每天的出警时间大大缩短了.
综上考虑,共增设4个交巡台,重新分配的结果如表4所示.
交巡台序号        负责区域内的节点        管辖区域内的案发率        平均每天出警时间
1        69 71 74 75 78        6.6        3.5069
2        40 43 70 72         7.2        6.6736
3        54 55 44        5.2        4.9314
4        57 60 61 62 63        6.4        7.7015
5        49 50 51 52 53 56        7.7        5.9456
6        58 59 47        6.1        6.3949
7        30 48        5.9        3.5258
8        33 46           5.0             2.2748
9        35 45        4.9        2.1271
10                1.6       
11        26 27        4.6        2.3946
12        25        4.0        2.8622
13        23 24        5.7        3.8239
14                2.5       
15        (28) (29)        4.8        14.1580
16        36 37 (38) (39)        6.4        10.0562
17        41 42        5.3        2.5689
18        73 80 81 83        5.9        3.8438
19        77 79        3.4        1.1457
20        85 86 87 (92)        6.4        5.5354
21        22        2.8        2.5239
31        32 34        4.9        4.3962
66        64 65 67 68 76         5.1        2.6655
90        82 84 88 89 91        6.2        3.2171
表5  优化后的A区交巡台管辖区域示意图

图3  A区增设平台示意图
    图中方块所示节点即为增设平台处.
5.2 问题二的模型
5.2.1 模型建立
对于问题2,对附件中所提供的A,B,C,D,E,F六城区的数据进行整合,做出直观的图表.遵循警情主导警务原则、快速出警原则、方便与安全原则,结合辖区地域特征、人口分布、交通状况、治安状况和未来城市发展规划等实际情况,充分考虑现有警力和财力并确保安全,科学分析现有平台的数量和具体位置的合理性.
对于该市地点P(第32个节点)处发生了重大刑事案件的围堵问题,本文将其归结为资源调配问题.本文合理假设了犯罪嫌疑人的车行驶速度(分三种情况考虑:等于警车速度,警车速度的二倍,警车速度的一半),并确定三分钟后犯罪嫌疑人的车行驶的最远距离,从而利用回溯法的思想采用Matlab编程确定犯罪嫌疑人的车的所有可能位置.以时间最短、围堵区域最小为原则,采用改进的双层Floyd算法,快速地形成围堵区域,并使围堵区域尽可能的小.
5.2.2 模型求解
全市整体状况如表5所示,数据显示C区和F区的事故发生率较高、交巡警服务平台工作量高于全市平均水平且交巡警服务平台平均每天出警时间过长,针对以上问题本文再次利用问题1的Floyd算法,并考虑区域边界处的设点拥挤问题,本文提出了在C区增加5个服务平台、在F区增加1个服务平台.
全市六个城区        城区面积        城区人口        平台数        平均人口        全区案发率        各区平台案发率均值
A        22        60        20        2.727        124.5        6.625
B        103        21        8        0.204        66.4        8.3
C        221        49        17        0.223        187.2        11.012
D        383        73        9        0.191        67.8        7.533
E        432        76        15        0.176        119.4        7.96
F        274        53        11        0.193        109.2        9.927
均值                53.3333        13.3333        0.619
112.4167
8.5595
表6  全市整体状况

图4  全市增设交巡台位置示意图(方块所示区域)
对于P点发生重大刑事案件,动用全市警力进行围堵,我们希望使得包围圈尽可能的小,由于犯罪嫌疑人的车速度未知,我们分以下三种情况进行考虑:
1)当犯罪嫌疑人的车速与警车速度同,即 .
运用穷举法,对肇事车辆可能的逃逸路线进行分析,以3分钟路程为半径,找到肇事车辆逃逸的覆盖范围,如图5所示,其中实线表示可能路径,在此范围内有8、9、10、15号共4个交巡平台,保证这4个平台警力不动,组成第一范围包围圈.

图5 肇事车逃逸3分钟内覆盖区域示意图
    进一步分析可能的逃逸路线,调度16号交巡台到36号节点,2号交巡台到3号节点,3号交巡台到55号节点,6号交巡台到47号节点,组成第二组半包围,保证对A区的封锁.若肇事车辆经36号节点逃往16号节点,则会与16号交巡台在途中相遇.
对于从32号节点经7号节点逃逸到30号和47号节点,存在从A区逃往其他城区的可能,需调动其他城区交巡台的支援.将C区119号交巡台调度到237号节点,将D区320号交巡台调度到371号节点,321号交巡台经368号、369号节点到370号节点,至此,在全市范围内实现全面封锁.
2)当犯罪嫌疑人的车速比警车车速小,即 ,我们令
    方法同1),寻找分钟逃逸范围内所覆盖的全部交巡台,经过整合分析,保持7号、8号、9号、15号共4个交巡台原地封锁,10号交巡台到34号节点封锁,6号交巡台到47号节点封锁,16号交巡台到36号节点封锁,3号交巡台经55号节点到46号节点进行封锁,2号交巡台经3号节点到45号节点封锁,在此过程中,10号、2号和3号交巡台会在途中与肇事车辆相遇.
3)当犯罪嫌疑人的车速比警车车速大,即 ,我们令
由于肇事车辆逃逸速度较快,可能会逃逸到C区和F区,故需调动C区和F区警力进行围堵.
   A区将20号交巡台调到62号节点,16号交巡台调到36号节点,2号交巡台经40号到39号节点,17号交巡台调到41号节点,15号、10号、4号、3号、5号、7号、8号、9号交巡台原地封锁,其余交巡台向其邻近的路口节点进行增援.经过分析,肇事车辆可能由28号、48号、30号进入C区及A、D两区的交汇地带,或由16号节点逃逸到F区,在此,对C区、D区、F区交巡台进行如下调配,实现全市封锁:
   C区:240号交巡台调到239号节点,170号交巡台调到225节点,167号交巡台调到259节点.
   D区:320号交巡台调度到371号节点,321号交巡台经368号、369号节点到370号节点.
   F区:477号交巡台调度到501号节点,518号交巡台调到521号节点,478号节点调到527号节点,484号节点到571号节点.
7.模型的评价与推广
本文避免了时间复杂度较复杂的Dijkstra算法,选用Floyd算法,在求最短路径上提高了效率,代码编写简单.
模型的建立思路清晰,遵循可操作性、科学性、可比性原则,该模型建立出了在较理想状态下交巡警平台的最优设置,减少出警时间,均衡工作量,提高工作效率,在遇突发事件时,可尽快实现道路封锁,给生活中交巡警平台的设立予参考,具有一定的实际应用价值,也可以应用于其他适用区域.模型的运算由矩阵、向量的运算组成,易于用数学软件求解和验证.
本模型较好的解决了交巡警平台的最优选址问题,当事故发生时,交巡警可以第一时间到达事发地点,有效的改善了交巡警在执行任务中的效率,在经济迅猛发展的今天,城市加速扩张,人口迅速增长,交巡警平台的设置是平安城市的最好保障.该模型也可运用到其他最优选址问题中去,比如关于消防救援工作最优路径问题、重大生产安全事故应急救援问题、公共交通的最优路径问题等. 同时也可利用该模型算法拓展模型在其他领域的适用范围.
该模型也有一定的局限性,如现实中不能时刻都保证道路的畅通性.既不能保证出警的时间总是维持在3分钟之内.忽略了实际地形对于车速的影响以及实际生活中存在的不定因素.

参考文献
        [徐孝凯,王凤禄],《数据结构简明教程》第二版,北京:清华大学出版社,2005年4月1日
        [李建中,骆吉洲],《华章数学译丛》第二版,北京:机械工业出版社,2002年6月
        [陈庆华等],《组合最优化技术及其应用》第1版,北京:国防科技大学出版社,1989年8月
        ,《Graph Theory》,英国:Cambridge University Press,2001年3月1日
8.附件
附件1:用Floyd算法分配个服务平台管辖区域
=find (location_all _daolu<=92);
road_index _a=;
road_index _a

a1=find (road_index _a (:,2)==1);
a2=find (road_index _a (:,2)==2);
A=road_index _a (a1,1);B=road_index _a (a2,1); = intersect (A,B);
c

size (c)

for i=1:140
    tt=c (i);
    uu=location_all _daolu (tt,:);
    uu1=uu (1);uu2=uu (2);
    vv1=location_a _zuobiao (uu1,:);
    vv2=location_a _zuobiao (uu2,:);
    ww1=;
    ww2=;
    line (ww1,ww2)
end
for i=1:140
    tt=c (i);
    uu=location_all _daolu (tt,:);
    uu1=uu (1);uu2=uu (2);
    vv1=location_a _zuobiao (uu1,:);
    vv2=location_a _zuobiao (uu2,:);
    ww1=;
    ww2=;
    line (ww1,ww2,'k')
end
% ??? Error using ==> line
% String argument is an unknown option.

for i=1:140
    tt=c (i);
    uu=location_all _daolu (tt,:);
    uu1=uu (1);uu2=uu (2);
    vv1=location_a _zuobiao (uu1,:);
    vv2=location_a _zuobiao (uu2,:);
    ww1=;
    ww2=;
    line (ww1,ww2,'Color',[.8 .8 .8])
end
save data_b _problem

% A区节点间的邻接矩阵
load data_b _problem;
matric_lingjie=zeros (92,92);
=find (matric_lingjie==0);matric_lingjie (xx,yy)=inf;
for i=1:92
        matric_lingjie (i,i)=0;
end


for i=1:140
    tt=c (i);
    uu=location_all _daolu (tt,:);
    uu1=uu (1);uu2=uu (2);                       % 端点序号
    vv1=location_a _zuobiao (uu1,:);           % 第一个端点坐标
    vv2=location_a _zuobiao (uu2,:);           % 第二个端点坐标
    % 计算端点间距离
    distance=sqrt ((vv1 (1)-vv2 (1))^2+(vv1 (2)-vv2 (2))^2);
    matric_lingjie (uu1,uu2)=distance;
    matric_lingjie (uu2,uu1)=distance;        % 赋值给邻接矩阵
end

=floyd (matric_lingjie);

matric_fenkuai=D (1:20,:);

for i=1:20
    for j=1:92
        if matric_fenkuai (i,j)>30
            matric_fenkuai (i,j)=0;
        end
    end
end

ti=zeros (1,92);
ti (1)=text (location_a _zuobiao (1,1),location_a _zuobiao (1,2)+1.5,'1');
ti (2)=text (location_a _zuobiao (2,1),location_a _zuobiao (2,2)+1.5,'2');
ti (3)=text (location_a _zuobiao (3,1),location_a _zuobiao (3,2)+1.5,'3');
ti (4)=text (location_a _zuobiao (4,1),location_a _zuobiao (4,2)+1.5,'4');
ti (5)=text (location_a _zuobiao (5,1),location_a _zuobiao (5,2)+1.5,'5');
ti (6)=text (location_a _zuobiao (6,1),location_a _zuobiao (6,2)+1.5,'6');
ti (7)=text (location_a _zuobiao (7,1),location_a _zuobiao (7,2)+1.5,'7');
ti (8)=text (location_a _zuobiao (8,1),location_a _zuobiao (8,2)+1.5,'8');
ti (9)=text (location_a _zuobiao (9,1),location_a _zuobiao (9,2)+1.5,'9');
ti (10)=text (location_a _zuobiao (10,1),location_a _zuobiao (10,2)+1.5,'10');
ti (11)=text (location_a _zuobiao (11,1),location_a _zuobiao (11,2)+1.5,'11');
ti (12)=text (location_a _zuobiao (12,1),location_a _zuobiao (12,2)+1.5,'12');
ti (13)=text (location_a _zuobiao (13,1),location_a _zuobiao (13,2)+1.5,'13');
ti (14)=text (location_a _zuobiao (14,1),location_a _zuobiao (14,2)+1.5,'14');
ti (15)=text (location_a _zuobiao (15,1),location_a _zuobiao (15,2)+1.5,'15');
ti (16)=text (location_a _zuobiao (16,1),location_a _zuobiao (16,2)+1.5,'16');
ti (17)=text (location_a _zuobiao (17,1),location_a _zuobiao (17,2)+1.5,'17');
ti (18)=text (location_a _zuobiao (18,1),location_a _zuobiao (18,2)+1.5,'18');
ti (19)=text (location_a _zuobiao (19,1),location_a _zuobiao (19,2)+1.5,'19');
ti (20)=text (location_a _zuobiao (20,1),location_a _zuobiao (20,2)+1.5,'20');
ti (21)=text (location_a _zuobiao (21,1),location_a _zuobiao (21,2)+1.5,'21');
ti (22)=text (location_a _zuobiao (22,1),location_a _zuobiao (22,2)+1.5,'22');
ti (23)=text (location_a _zuobiao (23,1),location_a _zuobiao (23,2)+1.5,'23');
ti (24)=text (location_a _zuobiao (24,1),location_a _zuobiao (24,2)+1.5,'24');
ti (25)=text (location_a _zuobiao (25,1),location_a _zuobiao (25,2)+1.5,'25');
ti (26)=text (location_a _zuobiao (26,1),location_a _zuobiao (26,2)+1.5,'26');
ti (27)=text (location_a _zuobiao (27,1),location_a _zuobiao (27,2)+1.5,'27');
ti (28)=text (location_a _zuobiao (28,1),location_a _zuobiao (28,2)+1.5,'28');
ti (29)=text (location_a _zuobiao (29,1),location_a _zuobiao (29,2)+1.5,'29');
ti (30)=text (location_a _zuobiao (30,1),location_a _zuobiao (30,2)+1.5,'30');
ti (31)=text (location_a _zuobiao (31,1),location_a _zuobiao (31,2)+1.5,'31');
ti (32)=text (location_a _zuobiao (32,1),location_a _zuobiao (32,2)+1.5,'32');
ti (33)=text (location_a _zuobiao (33,1),location_a _zuobiao (33,2)+1.5,'33');
ti (34)=text (location_a _zuobiao (34,1),location_a _zuobiao (34,2)+1.5,'34');
ti (35)=text (location_a _zuobiao (35,1),location_a _zuobiao (35,2)+1.5,'35');
ti (36)=text (location_a _zuobiao (36,1),location_a _zuobiao (36,2)+1.5,'36');
ti (37)=text (location_a _zuobiao (37,1),location_a _zuobiao (37,2)+1.5,'37');
ti (38)=text (location_a _zuobiao (38,1),location_a _zuobiao (38,2)+1.5,'38');
ti (39)=text (location_a _zuobiao (39,1),location_a _zuobiao (39,2)+1.5,'39');
ti (40)=text (location_a _zuobiao (40,1),location_a _zuobiao (40,2)+1.5,'40');
ti (41)=text (location_a _zuobiao (41,1),location_a _zuobiao (41,2)+1.5,'41');
ti (42)=text (location_a _zuobiao (42,1),location_a _zuobiao (42,2)+1.5,'42');
ti (43)=text (location_a _zuobiao (43,1),location_a _zuobiao (43,2)+1.5,'43');
ti (44)=text (location_a _zuobiao (44,1),location_a _zuobiao (44,2)+1.5,'44');
ti (45)=text (location_a _zuobiao (45,1),location_a _zuobiao (45,2)+1.5,'45');
ti (46)=text (location_a _zuobiao (46,1),location_a _zuobiao (46,2)+1.5,'46');
ti (47)=text (location_a _zuobiao (47,1),location_a _zuobiao (47,2)+1.5,'47');
ti (48)=text (location_a _zuobiao (48,1),location_a _zuobiao (48,2)+1.5,'48');
ti (49)=text (location_a _zuobiao (49,1),location_a _zuobiao (49,2)+1.5,'49');
ti (50)=text (location_a _zuobiao (50,1),location_a _zuobiao (50,2)+1.5,'50');
ti (51)=text (location_a _zuobiao (51,1),location_a _zuobiao (51,2)+1.5,'51');
ti (52)=text (location_a _zuobiao (52,1),location_a _zuobiao (52,2)+1.5,'52');
ti (53)=text (location_a _zuobiao (53,1),location_a _zuobiao (53,2)+1.5,'53');
ti (54)=text (location_a _zuobiao (54,1),location_a _zuobiao (54,2)+1.5,'54');
ti (55)=text (location_a _zuobiao (55,1),location_a _zuobiao (55,2)+1.5,'55');
ti (56)=text (location_a _zuobiao (56,1),location_a _zuobiao (56,2)+1.5,'56');
ti (57)=text (location_a _zuobiao (57,1),location_a _zuobiao (57,2)+1.5,'57');
ti (58)=text (location_a _zuobiao (58,1),location_a _zuobiao (58,2)+1.5,'58');
ti (59)=text (location_a _zuobiao (59,1),location_a _zuobiao (59,2)+1.5,'59');
ti (60)=text (location_a _zuobiao (60,1),location_a _zuobiao (60,2)+1.5,'60');
ti (61)=text (location_a _zuobiao (61,1),location_a _zuobiao (61,2)+1.5,'61');
ti (62)=text (location_a _zuobiao (62,1),location_a _zuobiao (62,2)+1.5,'62');
ti (63)=text (location_a _zuobiao (63,1),location_a _zuobiao (63,2)+1.5,'63');
ti (64)=text (location_a _zuobiao (64,1),location_a _zuobiao (64,2)+1.5,'64');
ti (65)=text (location_a _zuobiao (65,1),location_a _zuobiao (65,2)+1.5,'65');
ti (66)=text (location_a _zuobiao (66,1),location_a _zuobiao (66,2)+1.5,'66');
ti (67)=text (location_a _zuobiao (67,1),location_a _zuobiao (67,2)+1.5,'67');
ti (68)=text (location_a _zuobiao (68,1),location_a _zuobiao (68,2)+1.5,'68');
ti (69)=text (location_a _zuobiao (69,1),location_a _zuobiao (69,2)+1.5,'69');
ti (70)=text (location_a _zuobiao (70,1),location_a _zuobiao (70,2)+1.5,'70');
ti (71)=text (location_a _zuobiao (71,1),location_a _zuobiao (71,2)+1.5,'71');
ti (72)=text (location_a _zuobiao (72,1),location_a _zuobiao (72,2)+1.5,'72');
ti (73)=text (location_a _zuobiao (73,1),location_a _zuobiao (73,2)+1.5,'73');
ti (74)=text (location_a _zuobiao (74,1),location_a _zuobiao (74,2)+1.5,'74');
ti (75)=text (location_a _zuobiao (75,1),location_a _zuobiao (75,2)+1.5,'75');
ti (76)=text (location_a _zuobiao (76,1),location_a _zuobiao (76,2)+1.5,'76');
ti (77)=text (location_a _zuobiao (77,1),location_a _zuobiao (77,2)+1.5,'77');
ti (78)=text (location_a _zuobiao (78,1),location_a _zuobiao (78,2)+1.5,'78');
ti (79)=text (location_a _zuobiao (79,1),location_a _zuobiao (79,2)+1.5,'79');
ti (80)=text (location_a _zuobiao (80,1),location_a _zuobiao (80,2)+1.5,'80');
ti (81)=text (location_a _zuobiao (81,1),location_a _zuobiao (81,2)+1.5,'81');
ti (82)=text (location_a _zuobiao (82,1),location_a _zuobiao (82,2)+1.5,'82');
ti (83)=text (location_a _zuobiao (83,1),location_a _zuobiao (83,2)+1.5,'83');
ti (84)=text (location_a _zuobiao (84,1),location_a _zuobiao (84,2)+1.5,'84');
ti (85)=text (location_a _zuobiao (85,1),location_a _zuobiao (85,2)+1.5,'85');
ti (86)=text (location_a _zuobiao (86,1),location_a _zuobiao (86,2)+1.5,'86');
ti (87)=text (location_a _zuobiao (87,1),location_a _zuobiao (87,2)+1.5,'87');
ti (88)=text (location_a _zuobiao (88,1),location_a _zuobiao (88,2)+1.5,'88');
ti (89)=text (location_a _zuobiao (89,1),location_a _zuobiao (89,2)+1.5,'89');
ti (90)=text (location_a _zuobiao (90,1),location_a _zuobiao (90,2)+1.5,'90');
ti (91)=text (location_a _zuobiao (91,1),location_a _zuobiao (91,2)+1.5,'91');
ti (92)=text (location_a _zuobiao (92,1),location_a _zuobiao (92,2)+1.5,'92');


fenpei=[1        1
1        67
1        68
1        69
1        71
1        73
1        74
1        75
1        76
1        78
2        2
2        39
2        40
2        43
2        44
2        70
2        72
3        3
3        54
3        55
3        65
3        66
4        4
4        57
4        60
4        62
4        63
4        64
5        5
5        49
5        50
5        51
5        52
5        53
5        56
5        58
5        59
6        6
7        7
7        30
7        32
7        47
7        48
7        61
8        8
8        33
8        46
9        9
9        31
9        34
9        35
9        45
10        10
11        11
11        26
11        27
12        12
12        25
13        13
13        21
13        22
13        23
13        24
14        14
15        15
15        28
15        29
16        16
16        36
16        37
16        38
17        17
17        41
17        42
18        18
18        80
18        81
18        82
18        83
19        19
19        77
19        79
20        20
20        84
20        85
20        86
20        87
20        88
20        89
20        90
20        91
20        92];

for i=1:92
    if fenpei (i,1)==1
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'b');hold on;
    elseif fenpei (i,1)==2
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'g');hold on;
    elseif fenpei (i,1)==3
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'r');hold on;
    elseif fenpei (i,1)==4
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'c');hold on;
    elseif fenpei (i,1)==5
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'m');hold on;
    elseif fenpei (i,1)==6
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'y');hold on;
    elseif fenpei (i,1)==7
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'k');hold on;
    elseif fenpei (i,1)==8
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'b+');hold on;
    elseif fenpei (i,1)==9
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'bo');hold on;
    elseif fenpei (i,1)==10
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'bs');hold on;
    elseif fenpei (i,1)==11
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'g+');hold on;
    elseif fenpei (i,1)==12
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'go');hold on;
    elseif fenpei (i,1)==13
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'gs');hold on;
    elseif fenpei (i,1)==14
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'r+');hold on;
    elseif fenpei (i,1)==15
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'ro');hold on;
    elseif fenpei (i,1)==16
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'rs');hold on;
    elseif fenpei (i,1)==17
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'c+');hold on;
    elseif fenpei (i,1)==18
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'co');hold on;
    elseif fenpei (i,1)==19
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'cs');hold on;
    else
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'m+');hold on;
    end
end

for i=1:92
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'b');hold on;
end
axis ();
for i=1:140
    tt=c (i);
    uu=location_all _daolu (tt,:);
    uu1=uu (1);uu2=uu (2);
    vv1=location_a _zuobiao (uu1,:);
    vv2=location_a _zuobiao (uu2,:);
    ww1=;
    ww2=;
    line (ww1,ww2,'Color',[.5 .5 .5])
end

ti=zeros (1,92);
ti (1)=text (location_a _zuobiao (1,1),location_a _zuobiao (1,2)+1.5,'1');
ti (2)=text (location_a _zuobiao (2,1),location_a _zuobiao (2,2)+1.5,'2');
ti (3)=text (location_a _zuobiao (3,1),location_a _zuobiao (3,2)+1.5,'3');
ti (4)=text (location_a _zuobiao (4,1),location_a _zuobiao (4,2)+1.5,'4');
ti (5)=text (location_a _zuobiao (5,1),location_a _zuobiao (5,2)+1.5,'5');
ti (6)=text (location_a _zuobiao (6,1),location_a _zuobiao (6,2)+1.5,'6');
ti (7)=text (location_a _zuobiao (7,1),location_a _zuobiao (7,2)+1.5,'7');
ti (8)=text (location_a _zuobiao (8,1),location_a _zuobiao (8,2)+1.5,'8');
ti (9)=text (location_a _zuobiao (9,1),location_a _zuobiao (9,2)+1.5,'9');
ti (10)=text (location_a _zuobiao (10,1),location_a _zuobiao (10,2)+1.5,'10');
ti (11)=text (location_a _zuobiao (11,1),location_a _zuobiao (11,2)+1.5,'11');
ti (12)=text (location_a _zuobiao (12,1),location_a _zuobiao (12,2)+1.5,'12');
ti (13)=text (location_a _zuobiao (13,1),location_a _zuobiao (13,2)+1.5,'13');
ti (14)=text (location_a _zuobiao (14,1),location_a _zuobiao (14,2)+1.5,'14');
ti (15)=text (location_a _zuobiao (15,1),location_a _zuobiao (15,2)+1.5,'15');
ti (16)=text (location_a _zuobiao (16,1),location_a _zuobiao (16,2)+1.5,'16');
ti (17)=text (location_a _zuobiao (17,1),location_a _zuobiao (17,2)+1.5,'17');
ti (18)=text (location_a _zuobiao (18,1),location_a _zuobiao (18,2)+1.5,'18');
ti (19)=text (location_a _zuobiao (19,1),location_a _zuobiao (19,2)+1.5,'19');
ti (20)=text (location_a _zuobiao (20,1),location_a _zuobiao (20,2)+1.5,'20');
ti (21)=text (location_a _zuobiao (21,1),location_a _zuobiao (21,2)+1.5,'21');
ti (22)=text (location_a _zuobiao (22,1),location_a _zuobiao (22,2)+1.5,'22');
ti (23)=text (location_a _zuobiao (23,1),location_a _zuobiao (23,2)+1.5,'23');
ti (24)=text (location_a _zuobiao (24,1),location_a _zuobiao (24,2)+1.5,'24');
ti (25)=text (location_a _zuobiao (25,1),location_a _zuobiao (25,2)+1.5,'25');
ti (26)=text (location_a _zuobiao (26,1),location_a _zuobiao (26,2)+1.5,'26');
ti (27)=text (location_a _zuobiao (27,1),location_a _zuobiao (27,2)+1.5,'27');
ti (28)=text (location_a _zuobiao (28,1),location_a _zuobiao (28,2)+1.5,'28');
ti (29)=text (location_a _zuobiao (29,1),location_a _zuobiao (29,2)+1.5,'29');
ti (30)=text (location_a _zuobiao (30,1),location_a _zuobiao (30,2)+1.5,'30');
ti (31)=text (location_a _zuobiao (31,1),location_a _zuobiao (31,2)+1.5,'31');
ti (32)=text (location_a _zuobiao (32,1),location_a _zuobiao (32,2)+1.5,'32');
ti (33)=text (location_a _zuobiao (33,1),location_a _zuobiao (33,2)+1.5,'33');
ti (34)=text (location_a _zuobiao (34,1),location_a _zuobiao (34,2)+1.5,'34');
ti (35)=text (location_a _zuobiao (35,1),location_a _zuobiao (35,2)+1.5,'35');
ti (36)=text (location_a _zuobiao (36,1),location_a _zuobiao (36,2)+1.5,'36');
ti (37)=text (location_a _zuobiao (37,1),location_a _zuobiao (37,2)+1.5,'37');
ti (38)=text (location_a _zuobiao (38,1),location_a _zuobiao (38,2)+1.5,'38');
ti (39)=text (location_a _zuobiao (39,1),location_a _zuobiao (39,2)+1.5,'39');
ti (40)=text (location_a _zuobiao (40,1),location_a _zuobiao (40,2)+1.5,'40');
ti (41)=text (location_a _zuobiao (41,1),location_a _zuobiao (41,2)+1.5,'41');
ti (42)=text (location_a _zuobiao (42,1),location_a _zuobiao (42,2)+1.5,'42');
ti (43)=text (location_a _zuobiao (43,1),location_a _zuobiao (43,2)+1.5,'43');
ti (44)=text (location_a _zuobiao (44,1),location_a _zuobiao (44,2)+1.5,'44');
ti (45)=text (location_a _zuobiao (45,1),location_a _zuobiao (45,2)+1.5,'45');
ti (46)=text (location_a _zuobiao (46,1),location_a _zuobiao (46,2)+1.5,'46');
ti (47)=text (location_a _zuobiao (47,1),location_a _zuobiao (47,2)+1.5,'47');
ti (48)=text (location_a _zuobiao (48,1),location_a _zuobiao (48,2)+1.5,'48');
ti (49)=text (location_a _zuobiao (49,1),location_a _zuobiao (49,2)+1.5,'49');
ti (50)=text (location_a _zuobiao (50,1),location_a _zuobiao (50,2)+1.5,'50');
ti (51)=text (location_a _zuobiao (51,1),location_a _zuobiao (51,2)+1.5,'51');
ti (52)=text (location_a _zuobiao (52,1),location_a _zuobiao (52,2)+1.5,'52');
ti (53)=text (location_a _zuobiao (53,1),location_a _zuobiao (53,2)+1.5,'53');
ti (54)=text (location_a _zuobiao (54,1),location_a _zuobiao (54,2)+1.5,'54');
ti (55)=text (location_a _zuobiao (55,1),location_a _zuobiao (55,2)+1.5,'55');
ti (56)=text (location_a _zuobiao (56,1),location_a _zuobiao (56,2)+1.5,'56');
ti (57)=text (location_a _zuobiao (57,1),location_a _zuobiao (57,2)+1.5,'57');
ti (58)=text (location_a _zuobiao (58,1),location_a _zuobiao (58,2)+1.5,'58');
ti (59)=text (location_a _zuobiao (59,1),location_a _zuobiao (59,2)+1.5,'59');
ti (60)=text (location_a _zuobiao (60,1),location_a _zuobiao (60,2)+1.5,'60');
ti (61)=text (location_a _zuobiao (61,1),location_a _zuobiao (61,2)+1.5,'61');
ti (62)=text (location_a _zuobiao (62,1),location_a _zuobiao (62,2)+1.5,'62');
ti (63)=text (location_a _zuobiao (63,1),location_a _zuobiao (63,2)+1.5,'63');
ti (64)=text (location_a _zuobiao (64,1),location_a _zuobiao (64,2)+1.5,'64');
ti (65)=text (location_a _zuobiao (65,1),location_a _zuobiao (65,2)+1.5,'65');
ti (66)=text (location_a _zuobiao (66,1),location_a _zuobiao (66,2)+1.5,'66');
ti (67)=text (location_a _zuobiao (67,1),location_a _zuobiao (67,2)+1.5,'67');
ti (68)=text (location_a _zuobiao (68,1),location_a _zuobiao (68,2)+1.5,'68');
ti (69)=text (location_a _zuobiao (69,1),location_a _zuobiao (69,2)+1.5,'69');
ti (70)=text (location_a _zuobiao (70,1),location_a _zuobiao (70,2)+1.5,'70');
ti (71)=text (location_a _zuobiao (71,1),location_a _zuobiao (71,2)+1.5,'71');
ti (72)=text (location_a _zuobiao (72,1),location_a _zuobiao (72,2)+1.5,'72');
ti (73)=text (location_a _zuobiao (73,1),location_a _zuobiao (73,2)+1.5,'73');
ti (74)=text (location_a _zuobiao (74,1),location_a _zuobiao (74,2)+1.5,'74');
ti (75)=text (location_a _zuobiao (75,1),location_a _zuobiao (75,2)+1.5,'75');
ti (76)=text (location_a _zuobiao (76,1),location_a _zuobiao (76,2)+1.5,'76');
ti (77)=text (location_a _zuobiao (77,1),location_a _zuobiao (77,2)+1.5,'77');
ti (78)=text (location_a _zuobiao (78,1),location_a _zuobiao (78,2)+1.5,'78');
ti (79)=text (location_a _zuobiao (79,1),location_a _zuobiao (79,2)+1.5,'79');
ti (80)=text (location_a _zuobiao (80,1),location_a _zuobiao (80,2)+1.5,'80');
ti (81)=text (location_a _zuobiao (81,1),location_a _zuobiao (81,2)+1.5,'81');
ti (82)=text (location_a _zuobiao (82,1),location_a _zuobiao (82,2)+1.5,'82');
ti (83)=text (location_a _zuobiao (83,1),location_a _zuobiao (83,2)+1.5,'83');
ti (84)=text (location_a _zuobiao (84,1),location_a _zuobiao (84,2)+1.5,'84');
ti (85)=text (location_a _zuobiao (85,1),location_a _zuobiao (85,2)+1.5,'85');
ti (86)=text (location_a _zuobiao (86,1),location_a _zuobiao (86,2)+1.5,'86');
ti (87)=text (location_a _zuobiao (87,1),location_a _zuobiao (87,2)+1.5,'87');
ti (88)=text (location_a _zuobiao (88,1),location_a _zuobiao (88,2)+1.5,'88');
ti (89)=text (location_a _zuobiao (89,1),location_a _zuobiao (89,2)+1.5,'89');
ti (90)=text (location_a _zuobiao (90,1),location_a _zuobiao (90,2)+1.5,'90');
ti (91)=text (location_a _zuobiao (91,1),location_a _zuobiao (91,2)+1.5,'91');
ti (92)=text (location_a _zuobiao (92,1),location_a _zuobiao (92,2)+1.5,'92');
   
help voronoi
= voronoi (location_a _zuobiao _x,location_a _zuobiao _y);

for i=1:92
    if fenpei (i,1)==1
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'bh');hold on;
    elseif fenpei (i,1)==2
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'gh');hold on;
    elseif fenpei (i,1)==3
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'rh');hold on;
    elseif fenpei (i,1)==4
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'ch');hold on;
    elseif fenpei (i,1)==5
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'mh');hold on;
    elseif fenpei (i,1)==6
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'yh');hold on;
    elseif fenpei (i,1)==7
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'kh');hold on;
    elseif fenpei (i,1)==8
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'b+');hold on;
    elseif fenpei (i,1)==9
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'bo');hold on;
    elseif fenpei (i,1)==10
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'bs');hold on;
    elseif fenpei (i,1)==11
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'g+');hold on;
    elseif fenpei (i,1)==12
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'go');hold on;
    elseif fenpei (i,1)==13
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'gs');hold on;
    elseif fenpei (i,1)==14
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'r+');hold on;
    elseif fenpei (i,1)==15
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'ro');hold on;
    elseif fenpei (i,1)==16
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'rs');hold on;
    elseif fenpei (i,1)==17
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'c+');hold on;
    elseif fenpei (i,1)==18
    plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'co');hold on;
    elseif fenpei (i,1)==19
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'cs');hold on;
    else
        plot (location_a _zuobiao (i,1),location_a _zuobiao (i,2),'m+');hold on;
    end
end
附件2:邻接矩阵的matlab实现程序
data=[
1   75
1   78
2   44
3   45
3   65
4   39
4   63
5   49
5   50
6   59
7   32
7   47
8   9
8   47
9   35
10  34
11  22
11  26
12  25
12  471
14  21
15  7
15  31
16  14
16  38
17  40
17  42
17  81
18  81
18  83
19  79
20  86
21  22
22  372
22  13
23  13
23  383
24  13
24  25
25  11
26  27
26  10
27  12
28  29
28  15
29  30
30  7
30  48
31  32
31  34
32  33
33  34
33  8
34  9
35  45
36  35
36  37
36  16
36  39
37  7
38  39
38  41
39  40
40  2
41  17
41  92
42  43
43  2
43  72
44  3
45  46
46  8
46  55
47  48
47  6
47  5
48  61
49  50
49  53
50  51
51  52
51  59
52  56
53  52
53  54
54  55
54  63
55  3
56  57
57  58
57  60
57  4
58  59
60  62
61  60
62  4
62  85
63  64
64  65
64  76
65  66
66  67
66  76
67  44
67  68
68  69
68  75
69  70
69  71
69  1
70  2
70  43
71  72
71  74
72  73
73  74
73  18
74  1
74  80
75  76
76  77
77  78
77  19
78  79
79  80
80  18
81  82
82  83
82  90
83  84
84  85
85  20
86  87
86  88
87  88
87  92
88  89
88  91
89  20
89  84
89  90
90  91
91  92
];
x=data(:,1);
y=data(:,2);
z=[6.264982043
6.403124237
9.486832981
42.46469122
15.23975065
45.60975773
10.30776406
5
8.485281374
16.03121954
11.40175425
12.80624847
11.5974135
20.79663434
4.242640687
49.21635907
32.69556545
9
17.88854382
384.4697647
32.64965543
38.18376618
40
67.41661516
34.05877273
26.87936011
9.848857802
40.22437072
6.708203932
5.385164807
4.472135955
3.605551275
18.02775638
358.0460864
9.055385138
5
347.6348659
23.85372088
18.02775638
20.02498439
7.433034374
35.38361203
33.04920574
9.486832981
47.51841748
74.3236167
5.830951895
7.071067812
11.70469991
15.53222457
5.099019514
7.566372975
8.276472679
5.024937811
6.708203932
5
5.099019514
6.08276253
35.0142828
30.41381265
3
40.07804885
17.67766953
19.14418972
8.5
46.31684359
8.062257748
8
8.062257748
11.62970335
6
9.300537619
29.42787794
10.19803903
14.56021978
56.26944108
29
10.44030651
6.708203932
3.807886553
4.301162634
2.915475947
4.242640687
8.544003745
22.8035085
10.04987562
24.18677324
12.6589889
12.3794184
7.5
8.139410298
18.68154169
7.810249676
13.89244399
34.71310992
3.5
60.01666435
9.055385138
5.830951895
13.15294644
3.16227766
4.242640687
9.219544457
14.76482306
4.123105626
7.071067812
4.527692569
5.385164807
6.403124237
5
8.602325267
7.615773106
5
6.103277808
8.062257748
4.031128874
19.72308292
6.264982043
16.91892432
3.535533906
4.472135955
10
9.848857802
6.708203932
4.472135955
8.062257748
5.024937811
5.408326913
8.732124598
9.848857802
7.280109889
4.472135955
11.04536102
9.340770846
4.031128874
21.37755833
4.031128874
3.041381265
9.486832981
3
3.535533906
4.74341649
20.02498439
];
xx=zeros(92);
for i=1:143
    xx(x(i),y(i))=z(i);
    xx(y(i),x(i))=z(i);
end
for i=1:92
    for j=1:92
    if xx(i,j)==0
        xx(i,j)=10000;
    end
    end
end
for i=1:92
    xx(i,i)=0;
end

附件3:围堵方案的java实现程序
public void SearchMax(ArrayList<SerachNode>  searchnode ,int[][]quantu,ArrayList<Node> allNode)
{
while(searchnode.size()>0)
{
SerachNode tmp=searchnode.get(0);
searchnode.remove(0);

for(int j=0;j<quantu.length;j++) //扩展当前结点
{
int i=tmp.getBianhao();
if(quantu>0)
{

SerachNode newNode=new SerachNode(allNode.get                                                  (j),tmp.getCurrentQuanzhi()+quantu) ;

if(!bounderMAX(newNode))
{
MaxresultSet.add(newNode);
continue;

}


if(!this.contain(searchnode, newNode))
{
searchnode.add(newNode);
}
}}}

附件4:全区的交巡警平台有效覆盖范围(有效代表三分钟内可以到达)


附件5:用Mathmatica求数据均值与方差
data={9.1,5.6,7.6,9,8.2,4.6,8.5,4.8,5.3,3.4,8.3,7.2,4.5,5,1.6,4,2.5,6.4,7.9,10.6};
Mean
Variance

附件6:输入任意两点的坐标,输出两点间距离
程序中以节点10和34间距离为例(Mathematica)
In:
Clear["Glibal'*"]
x1=328;
x2=282;
y1=342.5;
y2=325;
d=Sqrt[(x1-x2)^2+(y1-y2)^2]
Out:49.2164

附件7:A区各线路距离
路线起点
标号        路线终点
标号        起点
横坐标        起点
纵坐标        终点
横坐标        终点
纵坐标        距离
1        75        413        359        418.5        356        6.2649820431
1        78        413        359        417        364        6.4031242374
2        44        403        343        394        346        9.4868329805
3        45        383.5        351        342        342        42.464691215
3        65        383.5        351        395        361        15.239750654
4        39        381        377.5        371        333        45.609757728
4        63        381        377.5        391        375        10.307764064
5        49        339        376        342        372        5
5        50        339        376        345        382        8.4852813742
6        59        335        383        351        382        16.031219542
7        32        317        362        326        355        11.401754251
7        47        317        362        325        372        12.806248475
8        9        334.5        353.5        333        342        11.597413505
8        47        334.5        353.5        325        372        20.796634343
9        35        333        342        336        339        4.2426406871
10        34        282        325        328        342.5        49.216359069
11        22        247        301        234        271        32.695565449
11        26        247        301        256        301        9
12        25        219        316        227        300        17.88854382
12        471        219        316        155        316        64
14        21        280        292        251        277        32.649655435
15        7        290        335        317        362        38.183766184
15        31        290        335        314        367        40
16        14        337        328        280        292        67.416615163
16        38        337        328        371        330        34.058772732
17        40        415        335        388.5        330.5        26.879360111
17        42        415        335        419        344        9.8488578018
17        81        415        335        438        368        40.224370722
18        81        432        371        438        368        6.7082039325
18        83        432        371        434        376        5.3851648071
19        79        418        374        420        370        4.472135955
20        86        444        394        447        392        3.6055512755
21        22        251        277        234        271        18.027756377
22        372        234        271        232.5        264        7.1589105316
22        13        234        271        225        270        9.0553851381
23        13        225        265        225        270        5
23        383        225        265        192        264        33.015148038
24        13        212        290        225        270        23.853720884
24        25        212        290        227        300        18.027756377
25        11        227        300        247        301        20.024984395
26        27        256        301        250.5        306        7.4330343737
26        10        256        301        282        325        35.383612026
27        12        250.5        306        219        316        33.049205739
28        29        243        328        246        337        9.4868329805
28        15        243        328        290        335        47.518417482
29        30        246        337        314        367        74.323616704
30        7        314        367        317        362        5.8309518948
30        48        314        367        315        374        7.0710678119
31        32        315        351        326        355        11.704699911
31        34        315        351        328        342.5        15.532224567
32        33        326        355        327        350        5.0990195136
33        34        327        350        328        342.5        7.5663729752
33        8        327        350        334.5        353.5        8.2764726786
34        9        328        342.5        333        342        5.0249378106
35        45        336        339        342        342        6.7082039325
36        35        336        334        336        339        5
36        37        336        334        331        335        5.0990195136
36        16        336        334        337        328        6.0827625303
36        39        336        334        371        333        35.0142828
37        7        331        335        317        362        30.413812651
38        39        371        330        371        333        3
38        41        371        330        411        327.5        40.078048855
39        40        371        333        388.5        330.5        17.67766953
40        2        388.5        330.5        403        343        19.144189719
41        17        411        327.5        415        335        8.5
41        92        411        327.5        444        360        46.316843588
42        43        419        344        411        343        8.0622577483
43        2        411        343        403        343        8
43        72        411        343        418        347        8.0622577483
44        3        394        346        383.5        351        11.62970335
45        46        342        342        342        348        6
46        8        342        348        334.5        353.5        9.3005376189
46        55        342        348        371        353        29.427877939
47        48        325        372        315        374        10.198039027
47        6        325        372        339        376        14.560219779
47        5        325        372        381        377.5        56.269441085
48        61        315        374        335        395        29
49        50        342        372        345        382        10.440306509
49        53        342        372        348        369        6.7082039325
50        51        345        382        348.5        380.5        3.8078865529
51        52        348.5        380.5        351        377        4.3011626335
51        59        348.5        380.5        351        382        2.9154759474
52        56        351        377        354        374        4.2426406871
53        52        348        369        351        377        8.5440037453
53        54        348        369        370        363        22.803508502
54        55        370        363        371        353        10.049875621
54        63        370        363        391        375        24.186773245
55        3        371        353        383.5        351        12.658988901
56        57        354        374        363        382.5        12.379418403
57        58        363        382.5        357        387        7.5
57        60        363        382.5        369        388        8.139410298
57        4        363        382.5        381        377.5        18.681541692
58        59        357        387        351        382        7.8102496759
60        62        369        388        381        381        13.892443989
61        60        335        395        369        388        34.713109915
62        4        381        381        381        377.5        3.5
62        85        381        381        440        392        60.016664352
63        64        391        375        392        366        9.0553851381
64        65        392        366        395        361        5.8309518948
64        76        392        366        405        368        13.152946438
65        66        395        361        398        362        3.1622776602
66        67        398        362        401        359        4.2426406871
66        76        398        362        405        368        9.2195444573
67        44        401        359        394        346        14.76482306
67        68        401        359        405        360        4.1231056256
68        69        405        360        410        355        7.0710678119
68        75        405        360        405.5        364.5        4.5276925691
69        70        410        355        408        350        5.3851648071
69        71        410        355        415        351        6.4031242374
69        1        410        355        413        359        5
70        2        408        350        403        343        8.602325267
70        43        408        350        411        343        7.6157731059
71        72        415        351        418        347        5
71        74        415        351        418.5        356        6.1032778079
72        73        418        347        422        354        8.0622577483
73        74        422        354        418.5        356        4.0311288741
73        18        422        354        432        371        19.723082923
74        1        418.5        356        413        359        6.2649820431
74        80        418.5        356        424        372        16.918924316
75        76        405.5        364.5        405        368        3.5355339059
76        77        405        368        409        370        4.472135955
77        78        409        370        417        364        10
77        19        409        370        418        374        9.8488578018
78        79        417        364        420        370        6.7082039325
79        80        420        370        424        372        4.472135955
80        18        424        372        432        371        8.0622577483
81        82        438        368        438.5        373        5.0249378106
82        83        438.5        373        434        376        5.4083269132
82        90        438.5        373        440.5        381.5        8.7321245983
83        84        434        376        438        385        9.8488578018
84        85        438        385        440        392        7.2801098893
85        20        440        392        444        394        4.472135955
86        87        447        392        448        381        11.045361017
86        88        447        392        444.5        383        9.3407708461
87        88        448        381        444.5        383        4.0311288741
87        92        448        381        444        360        21.377558326
88        89        444.5        383        441        385        4.0311288741
88        91        444.5        383        445        380        3.0413812651
89        20        441        385        444        394        9.4868329805
89        84        441        385        438        385        3
89        90        441        385        440.5        381.5        3.5355339059
90        91        440.5        381.5        445        380        4.7434164903
91        92        445        380        444        360        20.024984395

liupeng723911 发表于 2012-7-19 09:07

楼主你太好了.........

hbdkfk2 发表于 2012-8-18 17:16

谢谢楼主!!!!!

467857726de 发表于 2012-8-26 13:03

不错哦  谢谢楼主

qqwhw2012 发表于 2013-6-18 00:27

好东西
111

往东就亮 发表于 2013-6-28 12:32

谢谢楼主分享!!!!

霜之咏叹调 发表于 2013-7-25 10:42

haobaniyignla  

李梦龙33 发表于 2013-8-10 15:13

谢谢楼主分享,正在做。。。

莫西莫西 发表于 2013-8-17 11:07

灰常好,就是看着太费劲

Dou1 发表于 2013-9-2 20:30

太详细了,谢谢楼主
页: [1]
查看完整版本: 2011年数学建模B题国家一等奖