Skip to content

旅行商问题的遗传算法实现与可视化

bhadaljf/TSP-Genetic-Algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TSP问题遗传算法实验平台

项目简介

本项目实现了一个完整的旅行商问题(TSP)遗传算法求解平台,包含算法核心实现和多种可视化分析功能。项目采用Python开发,提供交互式菜单界面,支持不同规模城市的TSP问题求解,并生成专业的可视化分析图表。

文件结构

  • TSP.py - 主程序文件,包含遗传算法核心逻辑和用户交互界面
  • display.py - 可视化模块,负责生成五种专业分析图表
  • README.md - 项目说明文档

核心功能

项目提供三种主要运行模式:

  1. 手动指定N - 用户自定义城市数量进行单次实验
  2. 随机生成N - 系统随机生成5-60个城市进行实验
  3. 性能对比分析 - 预设三组不同规模城市(小规模:5,8,10;中规模:15,20,25,30;大规模:40,50,60)进行批量测试和对比分析

算法特性

遗传算法采用完整优化流程:

  • 编码方案:路径顺序编码
  • 选择算子:锦标赛选择,平衡选择压力与多样性
  • 交叉算子:顺序交叉(OX),保持路径有效性
  • 变异算子:交换变异,引入随机扰动
  • 精英策略:保留最优个体,确保收敛性
  • 适应度函数:基于路径长度的倒数,引导搜索方向

可视化分析

系统生成五种专业图表:

  1. 路径可视化图 - 在[-500,500]坐标系中显示城市分布和最优路径

路径可视化图

  1. 收敛曲线图 - 展示算法迭代过程中的优化趋势

收敛曲线图

  1. 最优距离柱状图 - 比较不同城市数量的平均求解质量

最优距离柱状图

  1. 性能分析双轴图 - 同时显示路径长度和运行时间的对比趋势

性能分析双轴图

  1. 箱线分布图 - 统计分析多次实验的结果分布情况

箱线分布图

使用流程

  1. 运行python TSP.py启动程序
  2. 在文本菜单中选择功能模式(1-3)
  3. 根据提示选择输出详细程度(y/n)
  4. 查看控制台输出的运行结果
  5. 在自动生成的时间戳文件夹中查看分析图表

技术特点

  • 智能文件管理 - 自动创建年-月-日-小时-分钟-function{i}格式的文件夹,分类保存实验结果
  • 灵活参数配置 - 支持种群大小、迭代次数、交叉变异率等参数调整
  • 完整监控记录 - 实时跟踪运行代数、计算时间等性能指标
  • 可视化 - 所有图表包含网格线、图例说明和色彩区分,达到论文级质量

环境要求

pip install numpy matplotlib

开发用于人工智能导论实验课程

About

旅行商问题的遗传算法实现与可视化

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages