system: [SYSTEM]

user: 2. 模型建立与求解 2.1. 城市的最短长度的模型——Prim算法 由最小生成树MST性质知，假设 G = ( V ， { E } ) 是一个连通网，U是顶点集V的一个非空子集，若 ( u ， v ) 是一条具有最小权值(代价)的边，其中 u ∈ U ， v ∈ V - U ，则必存在一颗包含边 ( u ， v ) 的最小生成树。 假设 G = ( V ， { E } ) 是连通图，TE是G上最小生成树中边的集合。算法从 U = { u 0 } ( u 0 ∈ V ) ， T E = { 1 } 开始，重复执行下述操作：在所有 u ∈ U ， v ∈ V - U 的边 ( u ， v ) ∈ E 中找一条代价最小的边 ( u 0 ， v 0 ) 并入集合TE，同时 v 0 并入U，直至 U = V 为止。此时，TE中必有n-1条边，则 T = ( V ， { T E } ) 为G的最小生成树， 使用matpoltlib库 [ 6 ] 进行绘制，得到效果图，总边数为138条，总长度约为25，342.380千米，具体连接如图1所示。 图1. 效果图 2.2. 启用战备节点的个数和地理坐标的模型 删去三个城市后，整张图分为4个连通分量，备用节点的选取为与北京相连的三个城市(图中以绿色表示)，张家口，天津，保定的中心点，并再度与之相连(用绿色的点线连接)，红色字表示毁坏的城市。如图2所示。 图2. 北京连通图 备用节点坐标为(115.85738151138278， 39.58078078596456)，武汉同上，如图3所示。 图3. 武汉连通图 备用节点坐标为(114.5698910377149， 31.175871971198767)。 对于上海，由于上海在图中属于边缘节点，只有一个相连城市，毁坏后不影响整体的连通性，但考虑到上海本身较为重要，可以在原址启用备用节点并与原来相连的城市保持连接。 2.3. 区域性结点被集中毁灭与衡量网络连通性能指标的模型 删去九个城市后，整张图有5个连通分量，如图4所示。 图4. 删掉九市连通图 针对区域性结点被集中毁灭的情况，寻找被毁灭区域的中心点，生成中心点的节点集合选取标准是若原通信线路中包含路线(s，t)，s或t中一个节点被摧毁，则另一节点加入生成中心点的集合中。计算中心点。 给定n个点的经纬度值， ( lon 1 ，lat 1 ) ( lon 2 ，lat 2 ) ⋯ ( lon n ，lat n ) ， 将 lat 1 和 lon 1 转化为弧度， lon 1 = lon 1 π / 180 lat 1 = lat 1 π / 180 . 将 lon 1 和 lat 1 转化到笛卡尔坐标系， x 1 = cos ( lat 1 ) *cos ( lon 1 ) y 1 = cos ( lat 1 ) *sin ( lon 1 ) z 1 = sin ( lat 1 ) ， 对上述所有节点做1-2操作。 计算笛卡尔坐标系下的x，y，z坐标， x = ( x 1 + x 2 + ⋯ + x n ) / n y = ( y 1 + y 2 + ⋯ + y n ) / n z = ( z 1 + z 2 + ⋯ + z n ) / n ， 将笛卡尔系坐标(x，y，z)转化， lon = arctan 2 ( y ， x ) hyp = x 2 + y 2 lat = arctan 2 ( z ，hyp ) . 将经纬度从弧度换算成角度， lon=lon* 180 / π lat=lat* 180 / π . 设经过计算得到中心点为M ( lon m ，lat m ) ；设经过摧毁的后，原网络被分割成了k个连通分量，在每个连通分量重选取距离M最近的点将其连线，重新生成一个完全连通的网络 [ 7 ]。 根据两点球面距离公式，对于 ( lon x ，lat x ) ( lon y ，lat y ) 其球面劣弧距离， L = 2 R × arcsin ( sin 2 ( lat x − lat y 2 ) + con ( lat x ) + con ( lat y ) × sin 2 ( lon x − lon y 2 ) ) . 对于每一个因为节点被摧毁而断开形成的连通分量(简称为C)，其中的节点表示为 V 1 ， V 2 ， ⋯ ， V n 。在C中，对任意的 V i 与M相连，选取 arg min L ( V i ， M ) ，如图5所示。 图5. 五市连通图 选取出的每个连通分量的城市分别为，襄樊，合肥，景德镇，长沙，常德，将上述五个城市与备用节点相连，即为连接方案。战备节点的坐标为(113.9505006856059， 30.579120212841232)，对于衡量网络连通性能的指标 [ 8 ]，引入了连通度 H ( G ) 这一概念。 对于一个无向图G，其中有n个连通分量，用 C i 来表示， i ∈ ( 1 ， n ) ； m ( C i ) 表示 C i 这一连通分量的阶数，也就是节点数； m ( G ) 表示总节点数。 H ( G ) = ∑ i = 1 n m ( C i ) 2 + n − 1 m ( G ) 2 当毁坏城市数为0时，连通分量个数为1，也就是最小生成树构造的连通图， H ( G ) = 1 ，连通度这一概念，会作为下个模型中AHP层次分析法的一个衡量准则。 2.4. 网络增强方案模型优化比较 70年代初期，美国运筹学家T.LSaaty教授提出层次分析法，它是对一些比较复杂、比较模糊的问题作出决策的一种方法，它可以将复杂的评价对象用一个有序的递阶层次结构整体表现出来。其步骤大致上可以分为四步：建立递阶层次结构模型；构造比较判别矩阵；层次单排序及一致性检验；层次总排序及一致性检验。 2.4.1. 递阶层次结构的建立 应用层次分析法解决问题时，首先应把问题条理化、层次化，构造出一个层次清晰的结构模型。层次结构一般分为目标层、准则层和方案层：目标层是分析问题的预定目标或理想结果，这一层只有一个元素；准则层包含了实现目标所涉及的中间环节，它可以有若干个层次组成；方案层包括了为实现目标可供选择的各种措施，决策方案等。 采取以下5种方案。 A：最小生成树基础上，添加最近2个点连线，如图6所示； B：最小生成树基础上添加最近3个点连线，如图7所示； C：最小生成树基础上添加重要城市最近2个点连线 非重要城市1个点连线，如图8所示； D：最小生成树基础上添加重要城市最近3个点连线，非重要城市2个点连线，如图9所示； E：最小生成树基础上添加重要城市最近4个点连线，非重要城市2个点连线，如图10所示。 图6. 方案A 图7. 方案B 图8. 方案C 图9. 方案D 图10. 方案E 图11. 三个准则层 如图11所示： 准则一：经济性，即路线总长度，总长度越短，花费越少，越低越好； 准则二：连通度，主要计算方法为，使用python随机进行1000次破坏，求 的平均数； 准则三：重要城市，采用的标准为重要城市的连接度数。 2.4.2. 比较判别矩阵的构造 在现实中，当对一个问题的影响因素较多时，直接比较各因素对问题的影响程度往往比较困难的，常常会因顾此失彼而做出错误的判断，通过各因素两两进行对比便容易的多。两两对比的具体方法为：用 a i j 来表示层次中第i个因素对第j个因素的相对重要性， a i j 的取值为正整数1~9及其倒数。 2.4.3. 层次单排序及其一致性检验 对应于判断矩阵 [ 9 ] 最大特征根 λ max 的特征向量，经归一化(使向量中各元素之和为1)后记为W。W的元素为同一层次元素对于上一层因素某因素相对重要性的排序权值，这一过程称为层次单排序。 定义一致性指标： CI = λ − n n − 1 CI = 0有完全的一致性；CI接近于0，有满意的一致性；CI越大，不一致越严重。 为了衡量CI的大小，引入随机一致性指标RI，如表1所示： Table 1 Random consistency inde n 1 2 3 4 5 6 7 8 9 10 11 RI 0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51 表1. 随机一致性指标 定义一致性比率： CR = CI RI 一般认为一致性比率 CR < 0. 1 时，认为A的不一致程度在容许范围之内，有满意的一致性，通过一致性检验。可用其归一化特征向量作为权向量，否则要重新构造成对比较矩阵A，对 a i j 加以调整。 构造准则层对目标的成对比较阵： A = 1 1 / 2 1 2 1 1 2 1 1 权 向 量 w = 0.2 0.4 0.4 . 其中，CR = CI = 0，符合一致性。 2.4.4. 层次总排序及一致性检验 层次单排序 [ 10 ] 得到的是一组元素对其上一层中对应元素的权重向量，最终要得到层次总排序，总排序权重要将层次单排序的权重进行合成。设准则层对目标层的权重为 W j ，方案层对准则层的单层次排序权重为 W i j ，则方案层对目标层的总目标的排序权重为： W i = ∑ j = 1 m W i j × W j ， i = 1 ， 2 ， ⋯ ， n 根据下面通信线路总长度的表，如图12所示，构建对于准则一的矩阵 B 1 = [ 1 6 / 3.8 2.5 / 3.8 3.9 / 3.8 4.2 / 3.8 3.8 / 6 1 2.5 / 6 3.9 / 6 4.2 / 6 3.8 / 2.5 6 / 2.5 1 3.9 / 2.5 4.2 / 2.5 3.8 / 3.9 6 / 3.9 2.5 / 3.9 1 4.2 / 3.9 3.8 / 4.2 6 / 4.2 2.5 / 4.2 3.9 / 4.2 1 ] W 1 = [ 0.1987 0.1258 0.3020 0.1936 0.1798 ] CR = 0，一致性可以接受。 图12. 通信线路总长度的表 根据下面平均连通度，如图13所示，选取破坏城市数为14作为基准，构建对于准则二的矩阵： B 2 = [ 1 40 / 74 40 / 21 40 / 45 40 / 49 74 / 40 1 74 / 21 74 / 45 74 / 49 21 / 40 21 / 74 1 21 / 45 21 / 49 45 / 40 45 / 74 45 / 21 1 45 / 49 49 / 40 49 / 74 49 / 21 49 / 45 1 ] W 2 = [ 0.1747 0.3231 0.0917 0.1965 0.2140 ] CR = 0一致性可以接受。 图13. 平均连通度 最后，根据重要城市连接数的平方构建对于准则三的矩阵，重要城市连接数分别为 494916 ， B 3 = [ 1 4 / 9 1 4 / 9 4 / 16 9 / 4 1 9 / 4 74 / 45 9 / 16 1 4 / 9 1 4 / 9 4 / 16 9 / 4 1 9 / 4 1 9 / 16 16 / 4 16 / 9 16 / 4 16 / 9 1 ] W 3 = [ 0.0952 0.2143 0.0952 0.2143 0.3810 ] CR = 0一致性可以接受。 方案n的最终结果 S n = A [ 1 ] × B 1 [ n ] + A [ 2 ] × B 2 [ n ] + A [ 3 ] × B 3 [ n ] ， 最终结果为 S = [ 0.1477 0.24012 0.13516 0.20304 0.27396 ] 。 方案E的权重最高，即在考虑到经济性，连通度，重要城市这三种因素时，方案E的总体效果最好。 方案E在最小生成树基础上添加重要城市最近4个点连线，非重要城市2个点连线，如图14所示。 图14. 方案E完善图 随机攻击10%的城市(14个)后的结果之一，如图15所示。 图15. 随机攻击10%的城市连接图 随机摧毁1000次的连通度平均值为0.48268774908131074。