您现在的位置:机床商务网>技术中心>分析标准

开学季 | 第一课《车辆路径问题与算法》

2020年04月10日 09:44点击:668来源:杭州蓝芯科技有限公司>>进入该公司展台

请问膜拜技术大牛除了献上膝盖还有什么更好的方式?答:可以把大家的膝盖一起献上,又或者好好学习天天向上,利用碎片化时间多为自己充电,一起参与技术的交流与探讨。——四月,我们迎来了蓝芯科技的开学季,我们将在此分享机器人相关技术知识。今天是开学第一课《车辆路径问题与算法》,欢迎大家留言一起探讨。  
 


一 、车辆路径问题
在介绍 (Vehicle Routing Problem,VRP)问题前,先介绍它的一个特例,旅行商问题(Traveling Salesman Problem, TSP):有一个旅行商人,要拜访n个城市,每个城市只能访问一次,后返回到原来出发的城市。该商人要选择一条路径,路径的选择目标是旅程短。
 

 

图1 TSP问题
 

车辆路径问题(Vehicle Routing Problem,VRP)早是由Dantzig和Ramser于1959年*提出,它是指一定数量有一定数量(n个)的客户,各自有不同数量的货物需求(qi),配送中心或车场(depot)向客户提供货物,由一个车队(m辆车)负责分送货物,组织适当的行车路线,目标是使得客户的需求得到满足,并能在一定的约束下(例如车辆存在载荷上限Q、里程长度上限L),达到总旅行成本小、耗费时间少等目的[1, 2]。

 


图 2 VRP问题

在理解了车辆路径问题后,接下来介绍几个常用的路径搜索算法。

 

二、路径搜索算法

在路径搜索算法中,常用的算法用Dijkstra算法和 A*算法。这里不对算法原理进行详细介绍,仅简单给出相应的使用示例。给出一个网格图,如图3所示。在该网格图中,仅横、纵向相邻网格可以通过,其中黑色背景网格不可通过。在网各图中,每移动一格会增加一个单位成本。现给定一个起点(46)和终点(49),通过Dijkstra算法和A*算法分别求解短路径。

图 3网格图示例

 

2.1 Dijkstra算法
该算法的思想是从起点开始,每次新扩展一个距离短的点,并更新从起点到该点的距离与路线。直到拓展到终点,并且往其他方向拓展点的距离不比该点的距离更近时停止。对图 3 的求解过程如图4所示。终的路线是

 

图 4 Dijkstra算法拓展过程

 

2.2 A*算法在Dijkstra中,当前拓展到的点的距离为从起点到当前点的实际短距离。而A* 算法与 Dijkstra相比增加了一个启发项,即在计算当前点的路线距离时,使用从起点到当前点的实际短距离加上从当前拓展的点到终点的估计距离。因此,在实际距离相同时,估计距离近的点优先继续拓展。使用A*算法对图3 的求解结果如图5 所示。终的路线是

 


图 5 A*算法拓展过程示例
 

2.3 多访问点的路径搜索算法
前面提到的Dijkstra和 A*算法主要是针对两个点(起点、终点)寻找一条短路径,但是对于多访问点找短路的问题,比如在文初提到的TSP问题,就不适用了。我们开发了一个快速求解的算法。

我们首先使用 Dijkstra算法找出所有两点之间的短路并存储相应的路线信息。然后针对多访问点寻短路问题,分两个阶段进行搜索。
第一阶段:基于动态规划(DP)求解 TSP的框架,控制初始搜索步长快速得出初始解。
第二阶段:对第一阶段得到的初始解使用变邻域搜索(VND)进行优化。


假设我们有1个出发点(编号为)和6个访问点(编号为),车辆从出发,需要完成对所有访问点的访问。如果终让车辆停留在zui后一个访问点的访问点,这就是一个开环的路径,如果要求车辆必须返回出发地,则是闭环的路径。这里假设为开环路径,即认为路径结束的标志是完成所有任务中所有访问点的配货。

 

因为一共有7个点(1个出发点加6个访问点),所以搜索划分为6个step,方向为从右至左(从终点至起点),如图6所示。

 

图 6基于 DP框架的step示例
 

计算过程为,以zui后一列的点为终点,搜索第一个弧(arc),即step(1)的路径,然后再增加一个 arc,即在step(1)的基础上搜索step(2)的路径,以此类推。假设以为终点进行搜索,搜索中的部分过程如图7所示。终搜索完step(6) 时会搜索出完整的路线。需要注意的一点是,一旦发现某条路线不是可行解时(比如一个访问点在路线中多次出现),后面可以不再基于此结果进行搜索。

 

图7基于 DP框架的部分搜索过程示例

 

我们这里控制了初始搜索步长len,意为从step(1) 到step(len) 搜索出的路径是按照 DP的方式搜索到的当前精确合适的路线,而从step(len+1)开始,只记录该step下的n条路径中合适的结果。因此,当len的值越大,终搜索的结果越接近精确合适解,但是相应的求解时间也会越长。假设通过该阶段终搜索出的合适结果为,接下来将基于此结果执行变邻域搜索操作。由于是规定的出发点需要保持在输出路径的首先位置,因此我们对序列{2,6,1,5,4,3}进行邻域搜索。VND的框架如图8 所示。

 

图 8  VND算法框架

 

在邻域搜索中,常用的变换策略有Reinsert、Exchange和Reverse,如图9所示。


图 9 三种常见的邻域变换策略

 

使用VND不断地对序列变换得到新的序列,并求新序列的路径成本。需要注意的是,求路径成本时要将出发点考虑在内,即将出发点添加到序列前,求该完整路径的旅行成本。经过VND过程的处理,输出的路线即作为终规划的路线,例如一个可能的终输出路径果是,需要注意的是,这里的节点相当于是“关键节点”,即只包含的出发点和需要进行配货操作的访问点。而相邻“关键节点”之间的路线,则是根据前述的 Dijkstra计算的两点之间的路线进行行驶。今天的介绍就到这里,希望小伙伴们能对路径规划问题和算法有所了解和收获!

本文为杭州蓝芯科技有限公司原创文章,转载请注明出处


  • 凡本网注明"来源:机床商务网"的所有作品,版权均属于机床商务网,转载请必须注明机床商务网,//www.jc35.com/。违反者本网将追究相关法律责任。
  • 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

  • 浙江金火科技实业有限公司
  • 技术详细页右侧1

该企业产品分类
智能搬运机器人
新能源行业AGV 全向车型搬运机器人 潜入式AGV 自主移动式搬运机器人 工厂无人搬运机器人 仓储自动搬运机器人 仓储AGV小车 工业自主搬运机器人 柔性物流搬运机器人 工厂柔性搬运机器人 智能柔性搬运机器人 无标记视觉导航机器人 柔性化机器人 货物运输机器人 料车搬运机器人 车间货物搬运机器人 滚筒对接机器人 背负式移动机器人 潜入顶升搬运机器人 自然无轨搬运机器人 辊筒对接机器人 视觉引导式AGV AGV无人搬运车 AGV智能机器人 智能无人搬运机器人 自动化搬运机器人 仓库智能搬运机器人 自主机器人搬运系统 智能仓储搬运车 无标识搬运机器人 无轨智能搬运机器人 智能自主搬运机器人 无轨导引AGV小车 工厂物料搬运机器人 背负自主搬运机器人 视觉移动AGV机器人 车间物料搬运机器人 仓库搬运机器人 潜入顶升式机器人 智能调度系统 智能自主移动搬运机器人 电商物流搬运机器人 顶升式自主移动搬运机器人 智能AGV机器人 智能物料搬运机器人 AGV自主移动搬运机器人 配件 呼叫器 载具-协作机器人 视觉导航无人托盘车 多机调度智能化生产线 3C电子制造业物料搬运 3C行业移动机器人 电商自主移动搬运机器人 电商行业自主搬运机器人 顶升搬运智能机器人 物流搬运小车 电商仓储搬运智能小车 电商仓储机器人 智能移动搬运机器人 智能移动搬运小车 顶升搬运小车 自然导航小车 智能仓储搬运机器人 仓储机器人厂家 自主移动机器人 VR全景直播搬运机器人 无轨导航机器人 滚筒搬运AGV 无标识AGV
3D视觉传感器
机器视觉外观检测系统 机器视觉识别系统 深度视觉抓取系统 三维立体视觉系统 三维视觉相机 立体相机 TOF相机 3D深度相机 高精度3D视觉相机 3D视觉上料系统 工业机器人视觉定位系统 高精度3D相机 机器人视觉定位系统 深度视觉感知系统 机器人视觉导航系统 Eagle3D传感器 工业级3D相机 深度视觉传感器 视觉导航模块 混杂多货品分拣系统 3D视觉引导定位系统 3D视觉拆垛系统 双目视觉传感器 双目3D视觉定位系统 工业机器人3D视觉系统 Eagle 3D相机 机器人3D视觉引导 3D机器视觉相机 自动拆垛系统 3D视觉识别系统 3D智能抓取系统 3D视觉解决方案 机器视觉拆垛系统 3D拆垛系统 3D分拣系统 机器人视觉引导系统 机器人视觉拆垛 视觉引导定位系统 3D视觉快递分拣 工业3D视觉系统 3D视觉系统 3D相机无序分拣 机器人视觉系统 3D视觉技术 高精度悟空3D相机 机器视觉3D引导系统 机器人3D混合无序抓取 3D抓取系统 3D视觉分拣系统 机器人智能无序分拣系统 激光3D机器视觉 机器人3D定位系统 机器视觉 3D成像系统
视觉导航机器人
智能搬运AGV
视觉AGV小车 无轨AGV小车
3D视觉传感器解决方案
视觉引导码垛 3D视觉工业案例 药瓶分拣 独立工件定位 视觉引导产线 3D机器视觉检测零件 机器人3D视觉方案 3D视觉拆垛方案 3D视觉分拣方案 麻袋拆垛 3D视觉零件上料系统 视觉引导纸箱拆垛 3D视觉电商快递分拣 3D视觉机械上下料 3D视觉零件拣选 混合物流包裹分拣 3D相机零部件上料 物流快递包裹分拣 3D视觉系统糖垛拆垛上料 快递供包 电商仓储订单分拣 货品分拣 混合码垛 包裹体积动态测量 动态高速分拣 快递包裹无序混合分拣 零食无序分拣装箱 无人码垛 机械零件自动上下料 混杂分拣解决方案 视觉引导拆垛解决方案 工业机器人上料解决方案 货品拣选解决方案 药品包装无人码垛 药品包装无人拆垛 输送带模型分拣 洗衣机装配 快递包裹体积测量 超市物流配货混合码垛
工业机器人
无序分拣机器人 视觉码垛机器人 视觉拆垛机器人 混合分拣机器人
无人叉车系列
智能无人叉车机器人 车间叉车AGV 智能搬运无人叉车 电动堆高无人叉车 智能无人托盘搬运叉车 AGV无人化叉车 托盘电动搬运叉车 智能升降叉车 自主无人叉车 托盘式堆高叉车 托盘式搬运叉车 堆高叉车式AGV 无人搬运AGV叉车 智能仓储无人叉车 工业无人搬运叉车 仓库无人叉车 自主无人搬运叉车 仓库搬运无人叉车 自动叉车机器人 智能叉车机器人 电动叉车机器人 AGV叉车机器人 无人智能驾驶叉车 智能AGV叉车 智能无人搬运叉车 无人叉车式AGV 托盘搬运叉车AGV 堆垛式叉车 电动托盘搬运叉车 电动堆高式叉车 无人电动叉车 无人AGV叉车 工业叉车AGV 全自动电动叉车 自动AGV叉车 无人驾驶叉车 叉车AGV 无轨叉车 视觉导航叉车 无人叉车LXLR-FR2100
智能拣选机器人
货箱到人机器人 自动拣货移动机器人 料箱仓储机器人 自主料箱移动拣货机器人 料箱移动机器人 料箱机器人 料仓到产线收发料解决方案 移动料箱拣货机器人
医疗机器人
医院搬运机器人 医院物流机器人
上下料机器人
SMT上下料机器人 印刷机上下料机器人
智能装车系统


图说机床

更多>>

旗下子站

玉环机床网泰州机床网滕州机床网宁波机床网沧州机床附件网工量刃具网加工中心网电加工机床网锻压机床网附件配件网车床网铣床网钻床网雕刻机网锯床网二手机床网
磨床网激光网机器人网立式加工中心卧式加工中心立式车床卧式车床龙门铣床摇臂钻床外圆磨床无心磨床数控折弯机冲床中走丝线切割拖链防护罩数控系统驱动器