Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

电动汽车路径优化系统

基于遗传算法的多约束电动物流车辆路径规划 Web 系统,支持场景随机生成、参数调节、实时求解进度与结果可视化。

项目亮点

  • 多约束优化:同时考虑载重、电量、时间窗、充电行为
  • 遗传算法求解:支持种群与迭代参数调节
  • 实时进度反馈:通过 Socket.IO 推送求解过程
  • 结果可视化:车辆路径图、成本构成图、收敛曲线、详细时间线
  • 前端布局升级:控制台式页面结构,移动端自适应
  • 图表配色升级:结果图统一为更专业、对比更清晰的色系

功能模块

1) 场景设置

  • 随机生成客户点与需求
  • 可配置客户数量、随机种子、需求上下界
  • 展示配送中心、客户、充电站及时间窗信息

2) 参数配置

  • 车辆参数:车辆数量、载重、电池容量、能耗、时间成本
  • 算法参数:种群大小、迭代次数

3) 智能求解

  • 后台线程执行遗传算法
  • WebSocket 实时回传代数、最优成本、进度百分比

4) 结果展示

  • 解决方案摘要(总成本、总路程、充电次数等)
  • 路径可视化图
  • 成本构成饼图
  • 收敛曲线图
  • 车辆详细路径与时间线

技术栈

后端

  • Flask
  • Flask-SocketIO
  • NumPy
  • Matplotlib

前端

  • Bootstrap 5
  • Socket.IO
  • 原生 JavaScript

目录结构

  • app.py:Web API 与 Socket 事件
  • optimized_vrp_solver.py:核心算法与图表生成
  • run.py:启动脚本(会自动打开浏览器)
  • templates/index.html:页面模板
  • static/css/style.css:页面样式
  • static/js/main.js:前端交互逻辑
  • requirements.txt:依赖列表

快速开始

环境要求

  • Python 3.8 及以上
  • 推荐使用虚拟环境

安装依赖

Windows PowerShell:

pip install -r requirements.txt

启动服务

python run.py

启动后访问:

使用流程

  1. 在 场景设置 中生成随机场景
  2. 在 参数配置 中调整车辆和算法参数
  3. 点击 开始求解优化
  4. 在 优化结果 查看图表与详细路线

关键接口说明

  • GET /:主页
  • GET /api/battery-model:电池模型参数
  • GET /api/electricity-pricing:分时电价数据
  • POST /api/generate-scenario:生成随机场景
  • POST /api/solve:启动求解
  • GET /api/solution-details:获取详细结果

模型说明

目标函数:

总成本 = 时间成本 + 电池损耗成本 + 电费成本

主要约束:

  • 载重约束
  • 电量约束(SOC 安全范围)
  • 时间窗约束
  • 充电站与充电时长约束

可视化说明(已更新)

当前结果图采用统一风格配色:

  • 路径图:配送中心/客户/充电站颜色区分更明确
  • 成本构成图:蓝青橙色系,标签与百分比可读性更高
  • 收敛图:主曲线 + 浅色填充,趋势更清晰

常见问题

1) 启动失败(Exit Code 1)

可按以下顺序排查:

  1. 检查依赖是否安装完整:

    pip install -r requirements.txt
    
  2. 检查端口 5000 是否被占用

  3. 检查 Python 版本是否满足要求

  4. 查看控制台最后一行报错信息(通常是缺包或端口冲突)

2) 页面能打开但无法求解

  • 先生成场景再求解
  • 检查参数是否为有效正数
  • 检查浏览器控制台和后端日志

3) 图像中文显示异常

  • 当前已设置常见中文字体回退
  • 若本机缺少字体,可能导致中文显示不完整

开发建议

  • 优先在 optimized_vrp_solver.py 中扩展算法逻辑
  • 前端交互优先修改 static/js/main.js
  • 页面视觉优先修改 static/css/style.css

版本记录

v1.1.0

  • 页面布局与视觉系统重构
  • 优化结果图配色升级
  • README 文档更新(运行、接口、排障)

如需进一步扩展:可增加参数预设方案、结果对比视图、导出 PDF 报告。

About

EVRouteOpt is a web-based Electric Vehicle Routing Problem (EVRP) optimization system for logistics scenarios with time windows, battery constraints, and charging decisions. It uses a genetic algorithm to search for cost-efficient multi-vehicle routes, while balancing travel time cost, battery degradation cost, and electricity cost.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages