它由Stefan Schröder所创建并由GraphHopper主持,由jsprit-core、jsprit-analysis、jsprit-io、jsprit-instances以及jsprit-example jsprit-core(核心):构建问题、核心算法、分析解决方案、报告问题信息; jsprit-analysis:将求解结果进行可视化的工具箱; jsprit-io:记录和输出求解等过程; jsprit-instances 可用于读入相同数据格式的算例的算例,便于实例的构造; jsprit-example:对一些VRP使用Jsprit的例子。 可以看到,对于规模为100的算例,OR-Tools的求解质量优于Jsprit,但Jsprit的收敛速度更快。 Jsprit的求解速度始终要比OR-Tools快,并且Jsprit的收敛速度要更快。
Jsprit官网: http://jsprit.github.io/ https://github.com/graphhopper/jsprit 01 Jsprit能干什么 据官网介绍,jsprit能够解决下列问题 02 如何使用Jsprit Jsprit有三个比较核心的部件,分别是jsprit-core、jsprit-analysis、jsprit-io jsprit-core从名字上我们就可以知道这个绝对是核心中的核心 此外还有jsprit-instances和jsprit-examples,这两部分我们在自己求解问题的时候并不需要用到,但是在学习的时候能够给我们一些帮助。 ; import com.graphhopper.jsprit.core.algorithm.VehicleRoutingAlgorithm; import com.graphhopper.jsprit.core.algorithm.box.Jsprit ; import com.graphhopper.jsprit.core.algorithm.box.Jsprit; import com.graphhopper.jsprit.core.problem.Location
在之前的推文车辆路径优化问题求解工具Jsprit的简单介绍与入门中,相信大家已经对Jsprit这款开源的车辆路径规划问题求解器有了基础的了解,那么Jsprit在具体的车辆路径规划问题上表现到底如何呢? 通过测试不同顾客数量的样例,可以评测Jsprit在不同数据规模下对于带时间窗车辆路径规划问题的表现。 花费指的是Jsprit的求解结果;最好情况是指已知的(从文献中或者某些网站上获取)最好的结果。 在所有顾客数为1000的测试样例中,Jsprit的最大偏差为19.86%,最小偏差为4.58%,偏差平均值为12.94%。 下面我们来分析下Jsprit在时间上的表现: ? 总结 可以看到,Jsprit与其在官网上的介绍一致,求解非常方便,对于各种各样的问题都能适用,值得一提的是,求解的可视化也做的很不错。 但Jsprit也存在所求解的质量差的缺点。
1.1.1 Jsprit简介 Jsprit 是一个基于 java 的开源工具包,用于解决旅行商问题 (Traveling Salesman Problem,简称TSP) 和多种车辆路径问题(Vehicle 其实,以前数据魔术师早就有推文介绍过Jsprit这个工具啦,想了解的童鞋可以看看:车辆路径优化问题求解工具Jsprit的简单介绍与入门。这篇推文小编觉得已经讲得非常详细、非常全面了。 Jsprit官方网站与下载地址: http://jsprit.github.io/ https://github.com/graphhopper/jsprit/ 1.1.2 Jsprit可以解决的车辆路径规划问题 2 工具使用 2.1 Jsprit的使用(JAVA) 2.1.1 资源导入 Jsprit和外部依赖库的资源还是找以前的推文哦,小编就是从那里下载的。 http://jsprit.github.io/ 车辆路径优化问题求解工具Jsprit的简单介绍与入门 第一步,构建问题。
Jsprit官网: http://jsprit.github.io/ https://github.com/graphhopper/jsprit 01 Jsprit能干什么 据官网介绍,jsprit能够解决下列问题 02 如何使用Jsprit Jsprit有三个比较核心的部件,分别是jsprit-core、jsprit-analysis、jsprit-io jsprit-core从名字上我们就可以知道这个绝对是核心中的核心 此外还有jsprit-instances和jsprit-examples,这两部分我们在自己求解问题的时候并不需要用到,但是在学习的时候能够给我们一些帮助。 ; import com.graphhopper.jsprit.core.algorithm.VehicleRoutingAlgorithm; import com.graphhopper.jsprit.core.algorithm.box.Jsprit ; import com.graphhopper.jsprit.core.algorithm.box.Jsprit; import com.graphhopper.jsprit.core.problem.Location
前言 哈啰 又见面啦 上次我们介绍了Jsprit与自研求解器的 简介与使用方法 (Jsprit和自研车辆路径规划求解器的介绍) 这次我们让它们来切磋切磋吧 1 求解准备 • 运行环境:IntelliJ Jsprit的更加好。 通过表格资料和线型图的对比我们可以直观地发现, 在收敛情况方面,自研求解器的收敛速度比Jsprit略微快一些,大概在200代左右就开始收敛;而Jsprit是在500代左右开始收敛。 在算法精度方面,Jsprit显然是掉进了局部最优,也就可以断言,Jsprit在这个问题上缺少跳出局部最优的能力;而自研求解器产生的解虽然不能保证是全局最优,但是把握的显然比Jsprit的要好。 按照小编自己的感受来看,Jsprit比我们自研的求解器慢得多:自研求解器的使用从上传到接收Json文件都可以做到数秒、甚至毫秒级别;而Jsprit可能要一分多钟。
在之前的推文车辆路径优化问题求解工具Jsprit的简单介绍与入门中,相信大家已经对Jsprit这款开源的车辆路径规划问题求解器有了基础的了解,那么Jsprit在具体的车辆路径规划问题上表现到底如何呢? 通过测试不同顾客数量的样例,可以评测Jsprit在不同数据规模下对于带时间窗车辆路径规划问题的表现。 花费指的是Jsprit的求解结果;最好情况是指已知的(从文献中或者某些网站上获取)最好的结果。 在所有顾客数为1000的测试样例中,Jsprit的最大偏差为19.86%,最小偏差为4.58%,偏差平均值为12.94%。 下面我们来分析下Jsprit在时间上的表现: ? 总结 可以看到,Jsprit与其在官网上的介绍一致,求解非常方便,对于各种各样的问题都能适用,值得一提的是,求解的可视化也做的很不错。 但Jsprit也存在所求解的质量差的缺点。
=40][#vehicles=8][#vehicleTypes=1][transportCost=[name=crowFlyCosts]][activityCosts=com.graphhopper.jsprit.core.problem.cost.WaitingTimeCosts