2) 中国北京 100081 中国地震局地球物理研究所
2) China Earthquake Administration Institute of Geophysics, Beijing 100081, China
地震台站巡检是确保地震监测系统正常运行、提高数据质量的基础工作。定期巡检可以确保地震台站的各种观测设备和传感器处于良好的工作状态,有助于及早发现观测设备的潜在问题,并进行预防性维护;有助于发现并修复传感器偏差、数据采集故障或其他可能导致数据不准确的问题,提高设备的可靠性,减少因设备故障而导致的数据缺失(戴波等,2017;陈凯等,2018)。
目前,重庆辖区内有36个测震台站、23个地球物理台站,台站分布较平均。随着“国家烈度速报与预警工程”重庆子项目的和重庆市烈度速报与预警工程项目的建设,截至2024年初,重庆地区共建成地震预警台站61个,地震监测能力有了较大提高。根据职能职责划分,地震监测中心站需对重庆的各类观测站点定期开展季度、半年度、年度巡检。由于重庆市辖区面积大,台站分布广,中心站运维人员少,因此,科学规划巡检路径,提高巡检效率,用较少的人力、时间成本高效地完成巡检任务,具有现实的科学意义(吕帅等,2023)。
1 系统架构寻找地震台站最优巡检路径是一个典型的旅行商问题(traveling salesman problem,TSP)的变种。在TSP中,有1个旅行商要拜访一系列城市,并且希望找到最短的路径,使得每个城市都被访问1次,然后最终回到起始城市(Applegate et al,2007;Li,2013;Ye et al,2014;杨俊成等,2017)。TSP的目标是找到1条经过所有城市1次且回到起始城市的最短路径。在寻找地震台站最优巡检路径问题中,地震台站充当“城市”,将地震台站的位置坐标作为问题的节点,计算每2个节点之间的实际路径的长度(戴波等,2017)。在进行路径优化时,通常需要定义1个成本函数作为目标函数,其包含路径长度、时间、费用等参数。在搜索最优路径时通常选择启发式算法来进行路径的优化(Gao et al,2006;Yu et al,2014),该算法是相对于最优化算法而提出的,在可接受的时间、空间开销内给出待解决组合优化问题的1个可行解,模拟退火法、遗传算法、蚁群算法是TSP问题中经常使用的算法(Guntsch et al,2001;张广林等,2011;Erdiwansyah et al,2016)。
遗传算法的优势在于其通用性、随机性、并行性、鲁棒性、可扩展性。通过评价函数和概率机制进行迭代,过程简洁,易于与其他算法融合。然而,其编码解码过程相对复杂,参数选择依赖经验,可能影响解的质量,且搜索速度较慢。蚁群算法则以其鲁棒性、并行性、寻找优质解的能力而著称,易于与多种启发式算法结合。但是,初始信息素的稀缺导致收敛速度慢、搜索时间长,并可能出现停滞现象。模拟退火算法具备摆脱局部最优解及渐进收敛、并行的特点,其以简单、通用、易实现性受到青睐。只是该算法对参数依赖性强,优化过程较长,效率有待提高(李元昊等,2022)。本文使用模拟退火法来进行巡检路径的优化。
在场景应用中,张昊等(2009)提出了基于自适应模拟退火遗传算法的特征选择方法,有效提高了特征选择效率。于莹莹等(2014)改进了遗传算法求解旅行商问题,采用基于贪婪方法的启发式交叉算子提升了算法的寻优能力。叶威惠等(2017)借助百度地图API接口,在快递配送过程中得到优化配送方案及分段路径规划。戴波等(2017)结合江苏省地震台站实际巡检流程,开发了基于TOGAF架构的巡检系统,规范了巡检流程。吕帅等(2023)利用遗传算法实现云南省地震预警台站巡检路径规划,提升了巡检效率。本文采用百度地图API,基于模拟退火算法编写python程序自动求解最低成本的台站巡检路径的近似最优解(向玉云等,2017)。
系统根据需要巡检的台站信息随机确定巡检路径,随机选择2个台站并交换它们的顺序,得到1个新的路径。将每个巡检路径的成本作为判断该路径优劣的依据,根据模拟退火算法中对该路径的接受度不断迭代寻找成本最低的巡检路径。为了与实际巡检路程中的情景相一致,系统接入了百度地图API服务来进行台站路径的计算。由于百度地图上的坐标点使用了坐标偏移算法,需利用API接口进行坐标转换,生成系统内用于计算的台站位置信息。同时,利用百度地图的API接口,可以计算得到巡检台站间的驾车距离、时间等信息作为巡检成本,考虑与实际情况相一致,本研究只采用驾车距离作为算法的成本函数。
系统由台站坐标输入与转换、巡检路径计算、模拟退火算法计算、最优路径输出与展示等4个部分构成。台站坐标输入与转换模块读取需要进行巡检的台站信息列表,并利用百度地图API接口将其转换成新的台站经纬度坐标。巡检路径计算模块则读取转换后的台站信息中的经纬度,调用百度地图的API接口来计算每2个台站之间的驾车距离和时间。在使用百度地图的API接口时,注册并申请开发者的Key,利用Web服务的Url和参数传递请求到API服务,将计算得到的结果保存到本地的excel表格中,便于后续进行路径序列的计算。为了方便计算,假设2个台站之间的起点和终点的顺序不影响驾车距离和时间的计算。根据设定好的出发台站和结束台站,模拟退火算法模块随机生成初始的巡检路径,随机交换其中2个台站的顺序并按照设定的温度、冷却率、迭代次数来进行最优路径的迭代更新,直到迭代结束并输出最后路径序列作为近似最优解。
2 软件实现采用python编程语言进行系统开发,主要利用NumPy、pandas、math、matplotlib等一系列用于科学计算和图形展示的依赖库。开始计算前,系统先进行台站信息的读取,主要有参与巡检的台站代码、经度、纬度等3列,利用GET请求将读取到的经纬度及开发者key值传递到https://api.map.baidu.com/geoconv/v1/?coords=parameter服务地址来进行坐标转换,其中,parameter表示需要传递的参数,转换完成后的坐标经纬度保存到本地表格中。读取转换后的表格进行台站路径计算,利用GET请求将读取到的参数传递到https://api.map.baidu.com/routematrix/v2/driving=parameter来进行计算,返回的内容包括distance(驾驶距离)和duration(驾驶时间)。
利用模拟退火法来迭代计算最优路径,其基本原理如图 1所示。
(1)初始路径生成:从台站集合中随机生成1个初始的巡检路径。
(2)定义成本函数:确定1个成本函数,利用该函数对路径进行评估。利用路径的总长度来定义成本函数。
(3)定义温度和冷却率:引入温度和冷却率2个参数。温度表示系统的活跃程度,而冷却率表示温度下降的速度。
(4)迭代搜索:在每个迭代中,模拟退火法通过随机更换2个台站的顺序生成新的巡检路径。
(5)接受劣质解:新路径被接受的概率与其相对于当前路径的成本差有关。如果新路径更好,则始终接受它;如果新路径较差,则以一定的概率接受,以避免陷入局部最优解。
(6)降低温度:在每次迭代结束后,通过降低温度来减小系统的活跃程度。随着温度的降低,算法更趋向于接受成本减小的解,同时也减少了接受劣质解的可能性。
(7)终止条件:当温度降低到足够低(接近零)或达到最大迭代次数时,算法停止。此时,当前路径被认为是近似最优解。
模拟退火算法通过在搜索空间中随机游走,逐渐减小搜索的范围,从而在解空间中找到全局最优解或近似最优解,最终将找到的巡检路径的台站序号输出,同时,将成本函数计算出的最优路径的驾车距离和耗费时间一并输出。结果可视化模块则利用python中的matplotlib库将找到的台站序列用箭头相连并形成完整的路径通过图形界面展示给用户。
3 结果分析重庆地震中心站负责运维重庆市辖区内的所有地震台站,以下将分别展示基于现有地球物理观测台站、测震台站的计算结果。首先,将基于百度API接口计算的所有地震监测台站两两之间的驾驶距离和驾驶时间保存到本地文件中,将中心站作为巡检路径的起点和终点,分别将需要巡检的地球物理台站和测震台站的经纬度输入程序,模拟退火法的初始温度则设置为1 000度,冷却率设置为0.9,迭代的最大次数分别设置为1 000次、2 000次,2类台站的计算结果分别如图 2、图 3所示。由图 2可见,地球物理台站巡检驾车距离在迭代200次以内降低较快,在500次以后驾车距离趋于稳定,最终最短驾驶距离为3 020 km,最短驾驶时间为26 h,相比最开始随机生成的路径有明显的提升。由图 3可见,测震台站巡检驾车距离在迭代250次以内降低较快,在750次以后驾车距离趋于稳定,最终最短驾驶距离为5 240 km,最短驾驶时间为55 h。辖区测震台站数量约为101个,地球物理台站数量约为30个,由于测震台站的数量较地球物理台站的数量明显上升,在计算最短驾驶距离时发现,距离相近的不同路径会有一定的驾驶时间差异,分析认为,这可能是重庆地区为丘陵地貌,不同路径的路况不同所致。
随着预警项目的建设,需要巡检的台站总数不断增多,单纯依靠1个小组来进行巡检会给工作人员带来较大的工作负担,这时就需要分组或分时段进行巡检。此问题从TSP衍生为多旅行商问题(multiple traveling salesman problems,MTSP),即求解几个旅行商同时开始访问周边城市,访问路径不重复,最终再回到原点的最优方案问题(Bektas,2006)。中心站运维人员最多可以支持3组巡检任务的同时开展,此时需要合理地划分巡检的台站,并为其规划最优路径。
数据分类是数据挖掘和机器学习中的关键任务之一,有许多算法可用于对数据进行分类(张润等,2016)。按照学习方式进行分类,机器学习算法可以分为监督学习、非监督学习、半监督学习、强化学习。其中,非监督学习是指在机器学习过程中,用来训练机器的数据是没有标签的,机器只能依靠自己不断探索,对知识进行归纳和总结,尝试发现数据中的内在规律和特征,从而对训练数据打标签(Sapkal et al,2007),本文中台站分组就是这样一种情况。
非监督学习算法主要有3种:聚类、降维、关联。聚类算法是非监督学习中最常用的算法,目的是将相似的东西聚在一起,它将观察值聚成一个一个的组,每个组都含有1个或几个特征。本文采用的K均值聚类是一种常用的非监督学习算法,主要用于将数据集分成预定数量的簇(Nazeer et al,2009;杨俊闯等,2019)。其基本原理:首先,需要确定要将数据集分成多少个簇,并随机选择K个数据点作为初始的簇中心;将每个数据点分配到距离最近的簇中心;计算每个簇的新中心,即该簇中所有数据点的平均值;不断迭代,重新分配数据点和更新簇中心,直到收敛或达到预定的最大迭代次数。本文按照台站的经纬度分布,分别选取2、3、4作为需要分簇的参数,计算结果如图 4所示。
将上述分组的台站分别利用模拟退火法进行巡检路径优化,得到如图 5所示的分组巡检路径规划图,不同颜色表示不同分组。分组后工作人员可以分组进行台站的巡检,也可以分时段进行巡检。这些分组的优化路径可以直观地展示出模拟退火法的优化效果。
当需要巡检的台站数量较少时,采用人工和机器学习算法规划的巡检路径差距并不明显。但当巡检台站数量增加到几十上百个时,人工往往很难找出最优巡检路径,而利用机器学习算法规划的台站巡检路径在同等条件下巡检成本更低,尤其是百度地图API的接入,使得计算的距离和时间与实际工况更加一致,方便工作人员更好地规划行程,提高其工作效率。
5 结束语利用机器学习中的模拟退火算法和K均值聚类算法进行地震台站巡检路径的优化。路径的选择往往需要考虑多个因素,本文综合考虑了距离和时间2个主要因素。选择的模拟退火算法通过在搜索空间中随机游走,逐渐降低温度,找到近似最优解,是一种启发式的全局优化算法。在系统实现方面,为了与实际情况一致采用了百度地图API进行台站驾车距离和时间的计算。通过模拟退火算法的迭代优化,找到了最优的巡检路径,并将结果可视化展示出来。此外,为了应对巡检任务的不断增多,引入了数据分类的概念,采用了K均值聚类算法对台站进行分组,进一步优化了巡检路径。研究结果表明,在台站数量较多的情况下,机器学习算法相较于人工规划更能有效地找到最优路径,提高了工作效率。
陈凯, 易江, 孙国栋, 等. 基于Android平台的地震台站运维系统的设计与实现[J]. 华北地震科学, 2018, 36(4): 79-83. DOI:10.3969/j.issn.1003-1375.2018.04.011 |
戴波, 张扬, 缪发军, 等. 江苏省地震台站巡检系统架构[J]. 地震地磁观测与研究, 2017, 38(6): 110-116. DOI:10.3969/j.issn.1003-3246.2017.06.019 |
李元昊, 段鹏飞, 郭绍义, 等. 船舶全局路径规划相关算法研究综述[J]. 船舶标准化工程师, 2022, 55(5): 26-30. |
吕帅, 刘鹏飞, 安小伟, 等. 基于遗传算法和高德地图API实现地震预警台站巡检路径自动规划[J]. 华南地震, 2023, 43(3): 63-69. |
向玉云, 高爽, 陈云红, 等. 百度、高德及Google地图API比较研究[J]. 软件导刊, 2017, 16(9): 19-21. |
杨俊成, 李淑霞, 蔡增玉. 路径规划算法的研究与发展[J]. 控制工程, 2017, 24(7): 1 473-1 480. |
杨俊闯, 赵超. K-Means聚类算法研究综述[J]. 计算机工程与应用, 2019, 55(23): 7-14. DOI:10.3778/j.issn.1002-8331.1908-0347 |
叶威惠, 张飞舟. 真实路况下的快递配送路径优化研究[J]. 计算机工程与科学, 2017, 39(8): 1 530-1 537. |
于莹莹, 陈燕, 李桃迎. 改进的遗传算法求解旅行商问题[J]. 控制与决策, 2014, 29(8): 1 483-1 488. |
张广林, 胡小梅, 柴剑飞, 等. 路径规划算法及其应用综述[J]. 现代机械, 2011(5): 85-90. DOI:10.3969/j.issn.1002-6886.2011.05.031 |
张昊, 陶然, 李志勇, 等. 基于自适应模拟退火遗传算法的特征选择方法[J]. 兵工学报, 2009, 30(1): 81-85. |
张润, 王永滨. 机器学习及其算法和发展研究[J]. 中国传媒大学学报(自然科学版), 2016, 23(2): 10-18. DOI:10.3969/j.issn.1673-4793.2016.02.002 |
Applegate D L, Bixby R E, Chvátal V, et al. The traveling salesman problem: a computational study[M]. aaa: Princeton University Press, 2007.
|
Bektas T. The multiple traveling salesman problem: an overview of formulations and solution procedures[J]. Omega, 2006, 34(3): 209-219. DOI:10.1016/j.omega.2004.10.004 |
Erdiwansyah E, Gani T A, Away Y. Hibridisasi Simulated Annealing dengan Algorithm Evolutionary dalam Penyelesaian Travelling Salesman problem (TSP)[J]. Kitektro, 2016, 1(1): 1-5. |
Gao H C, Feng B Q, Zhu L. Reviews of the meta-heuristic algorithms for TSP[J]. Control and Decision, 2006, 3(21): 241-247. |
Guntsch M, Middendorf M, Schmeck, H. An ant colony optimization approach to dynamic TSP[C]//Proceedings of the 3rd Annual Conference on Genetic and Evolutionary Computation. San Francisco, CA, United States: Morgan Kaufmann Publishers Inc, 2001.
|
Li J. An improved dynamic programming algorithm for Bitonic TSP[J]. Applied Mechanics and Materials, 2013(347/348/349/350): 309-3 098. |
Nazeer K A A, Sebastian M P. Improving the accuracy and efficiency of the k-means clustering algorithm[C]//Proceedings of the World Congress on Engineering 2009 Vol I. London, 2009.
|
Sapkal S D, Kakarwal S N, Revankar P S. Analysis of classification by supervised and unsupervised learning[C]//Proceedings of International Conference on Computational Intelligence and Multimedia Applications (ICCIMA 2007), Sivakasi, India: IEEE, 2007.
|
Ye C, Yang Z C, Yan T X. An efficient and scalable algorithm for the traveling salesman problem[C]//Proceedings of 2014 IEEE 5th International Conference on Software Engineering and Service Science. Beijing, China: IEEE, 2014.
|
Yu H, Zhang K. Optimizing the Greedy algorithm used in the TSP abstract problems[J]. Applied Mechanics and Materials, 2014, 651/652/653: 2 352-2 355. |