/VRPScheduleSimple

一个基于模拟退火实现的 VRP 调度工具

Primary LanguagePython

基于模拟退火算法 VRP 问题解决方案

该项目用于规划路径,基于模拟退火算法解决 VRP 问题。

样例1

样例2

样例3

如何使用

该项目包含两个部分:前端和后端。

API Key

该项目使用了谷歌地图来绘制路径,需要一个 API Key。请在 frontend/src/config/index.ts 中填入你的 API Key。重要。

数据集

位于 backend/dataset 目录下,有关客户节点、车辆信息和地图信息的定义。

地图位置为 UKM 的某个校区。

后端

后端基于 Python,使用 Flask 作为 Web 框架。

需要安装 Python 3.8+,然后执行以下命令:

pip install -r requirements.txt
python app.py

或创建一个虚拟环境:

python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.py

对于 Windows 用户:

python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python app.py

前端

前端基于 Vue3 和 Vite 构建,使用 pnpm 作为包管理器。

如果你没有安装 pnpm,需要先安装 pnpm:

npm install -g pnpm

然后执行以下命令:

pnpm install
pnpm run dev

集成到后端

可以将前端静态文件全部放入 backend/frontend 目录下,之后可以直接运行后端。

可以直接在前端执行:

pnpm run build

将自动将静态文件打包到 backend/frontend 目录下。