jsprit的策略:
(1)ruin (破坏)
a.随机破坏 (RuinRadom.java) , 随机删除路径上的节点
b.最差破坏 (RuinWorst.java) , 选取代价最大的n个节点
c.聚类破坏(RuinClusters.java) 通过ruin/DBSCANCluster.java计算聚类距离, 逻辑:循环10次,对于一个路线,选集选择2个节点,查看距离,计算平均距离和最小距离,距离半径=(平均距离-最小距离)*(0.5+random(0,1)) , 聚类某辆车的节点,删除某个聚类所有节点
注意:Jsprit.java中对 聚类策略 进行了jobneighborhoods的初始化, 计算每个节点,距离最近的n个节点
(2)recreate (恢复)
a. 单点最优恢复 (BestInsertion.java)
首先根据节点的优先级排序
对于一个节点,根据 "节点位置选取" 逻辑,选取最优位置
选取最优的位置插入该节点
执行插入操作
b.全局最优恢复(RegretInsertion.java)
遍历每个节点
对于一个节点,根据 "节点位置选取"逻辑,选取最优位置和次优位置
对于一个节点,根据score.java中的公式,计算插入的打分
把所有节点都查看一遍后,得到打分最高的插入节点和位置
执行插入操作
(3)acceptor (接受新解)
节点位置选取
VehicleTypeDependentJobInsertionCalculator.java
如果插入的路线有车辆,则使用此车辆,如果支持切换车,使用其他车型车辆
如果插入的车辆是空车,则拿出所有可用车辆
遍历所有车辆, 在ServcieInsertionCalculator.java中,对待插入节点,进行限制判断,查看是否可以插入
找到打分最高的的插入位置并返回
相关推荐
python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python ...
云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-云的学习...
2024届求职-C++后端-学习笔记-操作系统、计算机网络、C++语言+算法 2024届求职-C++后端-学习笔记-操作系统、计算机网络、C++语言+算法 2024届求职-C++后端-学习笔记-操作系统、计算机网络、C++语言+算法 2024届求职-...
云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-云的学习...
Linux课程学习笔记 -韩顺平 包含c/c++/python/java 专项 面试题 PDF PPT 笔记 面试题 (百度网盘链接 永久有效) 自学,做笔记,复习可用
学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记...
Apollo学习笔记-感知简介 Apollo学习笔记-感知简介是Apollo的核心组件之一,负责感知环境中的物体和事件。下面是Apollo学习笔记-感知简介的相关知识点: 1. 感知步骤: Apollo学习笔记-感知简介中,感知步骤包括...
DAMA学习笔记-第01-17章细化第5章数据建模较多内容
ccnp学习笔记---stp
Python学习笔记--皮大庆
统计学习方法笔记-基于Python算法实现。统计学习方法笔记-基于Python算法实现 所有代码均可直接运行。统计学习方法笔记-基于Python算法实现。统计学习方法笔记-基于Python算法实现 所有代码均可直接运行。统计学习...
资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...