# Routing-problem--CVRP
---
# 项目准备阶段
## 准备相关论文,设计准备数据集,最终决定采用[CVRPLIB](http://vrp.atd-lab.inf.puc-rio.br/index.php/en/)上的标准数据集作为实验用数据。
# 项目第一阶段
## 参考论文用各种元启发式算法求解CVRP问题
### 采取的算法主要有:
### [贪心](https://github.com/Ellsom1945/Routing-problem--CVRP/blob/main/Greedy.py)、[遗传](https://github.com/Ellsom1945/route-project/blob/master/%E9%81%97%E4%BC%A0%E7%AE%97%E6%B3%95/%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B01)、[蚁群](https://github.com/Ellsom1945/route-project/blob/master/%E8%9A%81%E7%BE%A4%E7%AE%97%E6%B3%95/%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B02)、[禁忌](https://github.com/Ellsom1945/Routing-problem--CVRP/blob/main/H_Hy_Men/TABU.py)、[粒子群](https://github.com/Ellsom1945/route-project/blob/master/%E7%B2%92%E5%AD%90%E7%BE%A4/%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B02)
### 在实验前期出现的问题主要有:
* 遗传和粒子群算法由于参数过多,时间复杂度高,且收敛不稳定
* 贪心策略设计过于简单,效果很一般,但好在时间复杂度低
* 禁忌在前期的表现最优,其原因在于该算法的设计原理是找初始解的局部最优解,搜索域相较于整个解空间要小很多,其次选用贪心的结果作为初始解,部分问题的最优解特征与贪心的结果路径特征较为一致,导致在项目前期贪心+禁忌的组合效果一直最好
### 第一阶段的项目效果可参考[表格](https://github.com/Ellsom1945/Routing-problem--CVRP/tree/main/%E6%95%B0%E6%8D%AE%E6%AF%94%E8%BE%83)
# 项目第二阶段
## 项目第二阶段采取针对不同的算法进行优化,并加入一些其他种类的算法作为尝试
### 采取的算法主要有:
### [改进粒子群](https://github.com/Ellsom1945/Routing-problem--CVRP/blob/main/pso.py)、[遗传-退火](https://github.com/Ellsom1945/Routing-problem--CVRP/blob/main/H_Hy_Men/GASA.py)、[快速贪心](https://github.com/Ellsom1945/Routing-problem--CVRP/blob/main/H_Hy_Men/IMGR.py)、[改进蚁群](https://github.com/Ellsom1945/Routing-problem--CVRP/blob/main/%E8%9A%81%E7%BE%A41.py)、[粒子群-禁忌](https://github.com/Ellsom1945/Routing-problem--CVRP/blob/main/pso.py)、[Google-ortools](https://github.com/Ellsom1945/Routing-problem--CVRP/blob/main/ort.py)
### 这阶段的各个算法的问题主要有:
* 改进粒子群在时间复杂度和效果和上次比都有很大提升,但当数量级达到10<sup>3</sup>的时候,时间还是很不理想
* 遗传-退火
* 快速贪心主要采用了[KD-Tree](https://zh.wikipedia.org/wiki/K-d%E6%A0%91)+最小堆的,主要算法思想就是利用KD-Tree来聚类,再利用最小堆,以边为操作对象,拼出若干条路径,**这个算法的思路是我觉得现阶段最合理的,先聚类再分别解决每条路径**,首先时间复杂度很低,用于解决较大数量级问题是个不错的选择,其次,这个算法的思想也很合理,比较符合现代物流分层的设计方式,可惜实现的时候技术欠佳,未能达到该算法的本来效果
* 改进蚁群主要是加入了负反馈机制,效果比原先的蚁群算法是要好上不少,但这类元启发算法仍存在参数多时间复杂度高这一问题
* 粒子群-禁忌就是在改进粒子群的基础上加一个局部搜索得到
* ortools 是利用Google的开源框架[ortools](https://developers.google.cn/optimization/)实现的,ortools是一套约束问题、线性规划、图形算法工具包,这套算法其实已经足够优秀,**这套工具包已经足够优秀,在规模处于10<sup>3</sup>以内的问题基本都能输出最优解,而且时间足够优秀**,但由于算法都是利用的内置的足够优秀的模型求解该问题,而且由于底层互相引用过于复杂,导致我花了很长时间都未能成功了解该模型的求解流程,且我们的项目目标是构建超启发式算法,无奈只能放弃这个完美答案,**但如果要真正求解该类问题,这个工具包一定是我首选的方法**
### 第二阶段的项目效果可参考[表格](https://github.com/Ellsom1945/Routing-problem--CVRP/tree/main/%E6%95%B0%E6%8D%AE%E6%AF%94%E8%BE%83)
# 项目第三阶段
## 着手搭建超启发式算法框架
### 主要利用的算法是:
### [DQN神经网络](https://github.com/Ellsom1945/Routing-problem--CVRP/blob/main/H_Hy_Men/Hy_H.py)
### 该阶段主要问题有:
- 由于从未涉足过深度学习,神经网络等领域,要想从头搭建网络框架难度过大,于是又只能求助于各种深度学习开源框架,现阶段主流框架有[TensorFlow](https://github.com/tensorflow/tensorflow),[keras](https://github.com/keras-team/keras),[caffe](https://github.com/BVLC/caffe),[Microsoft Cognitive Toolkit](https://github.com/Microsoft/CNTK),[PyTorch](https://github.com/pytorch/pytorch),[...](https://www.kdnuggets.com/2018/04/top-16-open-source-deep-learning-libraries.html),鉴于各大框架的上手难度以及开源项目数量,最终选择TensorFlow来搭建DQN神经网络,**没错这个TenserFlow又是谷歌的团队开发的**
- 接口也是一个问题,由于DQN网络的输入是固定的action+state格式,需要将CVRP模型的部分特征提取为state,这里主要参考[论文](https://wenku.baidu.com/view/37c332420b12a21614791711cc7931b764ce7b72.html)
# 项目第四阶段
## 设计适合该超启发式算法框架的底层算子
### 主要算子参考[论文](https://github.com/Ellsom1945/Routing-problem--CVRP/tree/main/%E9%A1%B9%E7%9B%AE%E8%AE%BA%E6%96%87)
### 该阶段作为项目的收尾阶段,我总结一下整个项目和CVRP问题研究心得:
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
资源推荐
资源详情
资源评论
收起资源包目录
南邮大创项目,旨在用超启发式算法解决CVRP问题.zip(毕设&课设&实训&大作业&竞赛&项目) (108个子文件)
LICENSE 1KB
README.md 6KB
粒子群伪代码.md 2KB
改进蚁群伪代码.md 2KB
遗传退火伪代码.md 1KB
禁忌伪代码.md 1KB
贪心伪代码.md 781B
快速贪心伪代码.md 673B
[MATLAB智能算法30个案例分析].史峰等.扫描版(ED2000.COM).pdf 50MB
2.pdf 36.7MB
Book-Search Methodologies-First Edition.pdf 34.42MB
2.3.pdf 23.37MB
3.3.pdf 16.04MB
2.1_2.2.pdf 11.33MB
求解CVRP问题的一种改进启发式蚁群算法.pdf 11.01MB
Handbook_of_Metaheuristics_2nd_edition.pdf 9.4MB
Book-Search Method.pdf 8.79MB
Book-Optimization by GRASP and Path Relinking.pdf 8.59MB
一种基于CVRP的改进蚁群算法.pdf 8.25MB
求解 CVRP 的改进蚁群系统算法.pdf 7.57MB
2017_Book_Nature-Inspired algorithms and applied optimization.pdf 6.42MB
3.pdf 5.66MB
Essentials of Metaheuristics.pdf 5.05MB
Metaheuristics_for_Hard_Optimization.pdf 4.32MB
2.3 .pdf 2.66MB
基于信息素负反馈的超启发式蚁群优化算法_薛文艳.pdf 2.19MB
Ant Colony Optimization (Bradford Books)—2004.pdf 2.02MB
A novel multistart hyper-heuristic algorithm on the grid for the quadratic assignment problem.pdf 1.95MB
超启发算法研究进展综述_谢毅.pdf 1.91MB
2.2(3)_2.3_3.1.pdf 1.91MB
求解大规模VCVRP问题的快速动态规划算法.pdf 1.87MB
Recent advances in selection hyper-heuristics .pdf 1.26MB
基于马尔科夫链的灰狼优化算法收敛性研究_张孟健.pdf 1.24MB
基于超启发式算法的选址-路径问题研究.pdf 1.16MB
考虑运输能力限制的跨单元调度方法.pdf 1.15MB
大规模传感网移动多Sink生物超启发式路径规划.pdf 1.1MB
超启发式遗传算法求解带软时间窗的车辆路径问题.pdf 1.02MB
一种基于动态决策块的超启发式跨单元调度方法.pdf 1.01MB
基于共享机制的自适应超启发式算法求解区域化低碳选址_路径问题_冷龙龙.pdf 909KB
求解大规模CVRP问题的快速贪婪算法.pdf 714KB
启发式算法比较.pdf 680KB
带时间窗路径规划.pdf 537KB
文献[3]基于状态空间模型的实数编码遗传算法_李茂军.pdf 534KB
时间依赖型同时取送货VRP及超启发式算法_张景玲.pdf 514KB
改进的状态空间模型遗传算法及其全局收敛性分析_齐战.pdf 496KB
基于超启发式的多星协同任务规划算法研究.pdf 367KB
混合超启发式法求解大规模VRP的优化研究.pdf 338KB
基于全局边缘排序的超启发算法在绿色物流选址—路径优化问题中的应用_王万良.pdf 337KB
3.1_3.2.pdf 337KB
文献[15]蚁群算法的收敛速度分析_黄翰.pdf 334KB
基于改进蚁群算法的CVRP问题.pdf 297KB
求解物流配送同时取送货低碳选址—路径问题的量子超启发式算法_冷龙龙.pdf 280KB
基于强化学习的超启发算法求解有容量车辆路径问题_张景玲.pdf 269KB
2.2.1.pdf 269KB
文献[14]基于可达状态集扩张的粒子群算法收敛性改进_蔡昭权.pdf 150KB
GA_3.py 71KB
GA_2.py 35KB
greedyAlg3Data.py 26KB
Hy_H.py 25KB
GA_1.py 16KB
A-star.py 15KB
greedyAlg_3.2.py 15KB
GASA2.py 15KB
ACO.py 14KB
greedyAlg_3.3.py 12KB
dqn_test.py 12KB
GASA.py 12KB
IMGR.py 11KB
aco2.py 11KB
pso.py 10KB
greedyAlg_2.py 9KB
蚁群1.py 9KB
IMGR.py 8KB
greedyAlg_1.py 8KB
greedyAlg_3.1.py 8KB
MyGreedyAlg.py 8KB
PSO_2.py 8KB
Greedycopy.py 7KB
ort.py 7KB
TABU.py 7KB
PSO_1.py 7KB
2_opt.py 6KB
GASA_cross.py 6KB
SA.py 6KB
decide.py 5KB
aco.py 5KB
Greedy.py 5KB
oropt.py 5KB
GASA.py 4KB
Greedy2.py 3KB
Sp.py 3KB
change_path.py 2KB
变化.py 2KB
VRPLibReader2.py 2KB
SA.py 2KB
KDTree.py 2KB
program2.py 2KB
VRPLibReader.py 2KB
TABU_C.py 1KB
test.py 1KB
共 108 条
- 1
- 2
资源评论
热爱技术。
- 粉丝: 2486
- 资源: 7862
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功