车辆路线问题(VRP)最早是由Dantzig和Ramser于1959年首次提出,它是指一定数量的客户,各自有不同数量的货物需求,配送中心向客户提供货物,由一个车队负责分送货物,组织适当的行车路线,目标是使得客户的需求得到满足,并能在一定的约束下,达到诸如路程最短、成本最小、耗费时间最少等目的。
车辆路径问题的类型
一般而言车辆路线问题大致可以分为以下三种类型:
1、相异的单一起点和单一终点。
2、相同的单一起点和终点。
3、多个起点和终点。
好了,进入今天的话题,
jsprit 特性
- 支持无限和有限车队
- 支持混合车队
- 支持多仓库
- 支持开放线路
- 支持不同出发和达到地
- 支持多尺寸/分割的运力
- 支持中途拣货和投放
- 支持服务时间限制
- 支持有时间窗的任务
- 支持具有一定技能或载具要求的任务
- 支持优先级
- 支持定义额外的无状态和有状态的约束/条件以解释复杂问题的能力
针对经典问题实例的检验
支持可视化结果的工具集
活跃的开发
包含丰富的单元和集成测试
包含大量的实例
基于Apache V2协议
模块
jsprit是一个多模块项目,包含如下模块:
jsprit-core
jsprit-analysis
jsprit-instances
jsprit-examples
jsprit-io
基本概念
Meta-Heuristic:元启发式算法是相对于最优化算法提出来的,一个问题的最优化算法可以求得该问题的最优解,而元启发式算法是一个基于直观或经验构造的算法,它可以在可接受的花费(指计算时间和空间)下给出问题的一个可行解,并且该可行解与最优解的偏离程度不一定可以事先预计。
元启发式算法包括禁忌搜索算法、模拟退火算法、遗传算法、蚁群优化算法、粒子群优化算法、人工鱼群算法、人工蜂群算法、人工神经网络算法等。
好了 ,具体jsprit 怎么实现,下次分析。
----老王原创,不要商业转载呦!
聊技术,聊人生,可私聊,可留言,老王等你,不在隔壁!
领取专属 10元无门槛券
私享最新 技术干货