1. 基于WEB开发相关知识和工具,拟设计与实现一种晚点扩散仿真与分析系统,生成一个网页,为高铁网络晚点的问题的研究提供技术支撑。
2. 本项目采用前后端分离的B/S架构,主要使用的开发工具和技术栈如下:
• 后端:
o 编程语言:Python 3.8.20
o Web框架:Flask (轻量级Web服务框架)
o 数据库:MySQL 5.7+ (关系型数据库,存储基础数据及分析结果)
o 数据库连接库:Pymysql
o 网络分析库:NetworkX (用于图的创建、操作、复杂网络指标计算等)
o 核心算法库:random, collections.defaultdict (Python内置)
o 其他库:requests (用于HTTP请求)
• 前端:
o 核心技术:HTML5, CSS3, JavaScript (ES6+)
o 可视化库:ECharts (用于网络拓扑图、统计图表绘制和动态展示)
• 开发环境与工具:
o 操作系统:Windows
o Python环境管理:Conda
o IDE/编辑器:PyCharm
• 数据存储:
o 结构化数据:MySQL数据库
o 中间数据/缓存:JSON 文件 (例如,预处理后的网络拓扑数据、图表数据)
3. 系统主要包含以下三个核心功能模块:
1. 高铁网络结构分析模块:
o 从数据库中读取高铁站点和线路数据,构建高铁网络模型(节点代表站点,边代表线路)。
o 计算网络的拓扑结构指标,包括:度分布、聚类系数、平均路径长度等。
o 对网络进行社团结构划分。
o 可视化展示:高铁网络拓扑结构图(节点可交互)、各类指标的统计图(如度分布直方图)、社团划分结果(在拓扑图上以不同颜色区分)。
2. 高铁网络晚点扩散模拟与分析模块:
o 在已构建的高铁网络结构上,实现晚点扩散的仿真模拟。
o 支持采用SIS(易感-感染-易感)和SIR(易感-感染-移除/恢复)两种经典的传染病模型对晚点扩散进行建模。
o 用户可选择晚点源头节点,并可自定义参数。
o 动态展示晚点在网络中的扩散过程,标记出每一时间步的晚点节点和扩散路径。
o 统计并可视化展示每一时间步网络中晚点节点总数和未晚点节点总数的变化曲线。
o 用户可切换SIS/SIR模型进行对比分析。
3. 高铁网络关键节点识别模块:
o 基于中心性的节点评估:
计算节点的度中心性 (Degree Centrality)。
计算节点的介数中心性 (Betweenness Centrality)。
计算节点的接近中心性 (Closeness Centrality)。
可视化展示各中心性指标的统计图或Top-N节点列表。
o 基于模拟统计的关键节点识别:
多次重复晚点扩散模拟过程(可设定不同源头或随机因素)。
统计在多次模拟中,各个节点发生晚点的总次数。
展示晚点次数最多的Top-10节点列表。
o 基于进化算法的最优免疫节点选择:
设定一组节点(例如10个)为免疫状态(这些节点不会发生晚点,也不会传播晚点)。
在设定免疫节点后,进行晚点扩散模拟,观察网络整体的晚点情况。
利用遗传算法 (Genetic Algorithm) 等进化计算方法,在所有可能的N个免疫节点组合中搜索,找出使得网络晚点影响(例如,总晚点节点数、晚点持续时间等)最小化的最优10个免疫节点组合。
展示算法给出的最优10个免疫节点列表。