基于物流路径网络的复杂离散制造系统物流建模仿真方法与流程

文档序号:17002508发布日期:2019-03-02 01:52阅读:340来源:国知局
基于物流路径网络的复杂离散制造系统物流建模仿真方法与流程

本发明涉及离散制造系统建模仿真技术领域,具体为一种基于物流路径网络的复杂离散制造系统物流建模仿真方法。



背景技术:

以复杂航空结构件制造为代表的离散制造系统物流关系十分复杂,主要体现在(1)物流设备多种多样,如agv、机器人、传送带、堆垛机等。(2)物流路径布置形式多种多样,如直线型、环型、网络型等。(3)控制逻辑多种多样,例如agv可以自动循迹,堆垛机一般只能沿固定导轨行驶。现有物流建模方法多集中于单一物流设备、单一物流路径下的建模仿真,如agv的物流调度、agv路径规划等,尚且缺乏针对多种物流设备、多种物流路径、多种物流控制逻辑下的统一建模、统一路径规划和物流调度方法。



技术实现要素:

针对上述问题,本发明的目的在于提供一种对复杂离散制造系统的多种物流设备、多种物流布置形式、多种物流控制逻辑进行统一的建模仿真方法。技术方案如下:

一种基于物流路径网络的复杂离散制造系统物流建模仿真方法,包括以下步骤:

s1:建立物流路径网络模型:

将各类物流路径统一映射为无向图g;将物流设备绑定到相应物流路径上,将各类物流设备统一映射为执行器集e_set;将物流路径上分布的各个离散控制点统一映射为虚拟服务节点集vsn_set,虚拟服务节点包括不同路径不同执行器之间的物质交互点,并通过虚拟服务节点定义不同路径间不同执行器间的交互逻辑和交互位置;从而构成物流路径网络模型;

s2:映射车间物流关系:

基于所述物流路径网络模型,将车间物流关系映射成物流路径网络集lpn_set,并确定不同物流路径之间的交互点;

s3:根据物流路径网络进行路径规划:

从物流路径网络集lpn_set中任取两个点,分别记作初始点oi(xi,yi)和目标点oj(xj,yj),求出从oi到oj的一条最短物流路径lp(oi,oj);

s4:基于物流路径网络进行物流调度:

将物流任务记作t={f:oi→oj},含义为:将待搬运物f从点oi运输到点oj;根据规划的最短物流路径,求出执行该物流任务t运输距离最短的执行器e(o)。

进一步的,所述物流路径网络模型的代数定义为:

lpn=<e_set,g,vsn_set>

所述无向图g=(v,e′,w),v表示图的顶点,且v={“端点”,“交点”},e′表示图的边,w表示边的权重;

物流路径的几何属性由顶点邻接矩阵g(vi,vj)来描述,且

wij=distance(vi,vj)

其中,vi,vj表示无向图的顶点,aij表示顶点vi与vj的邻接关系,wij表示顶点vi与vj的最短距离。

更进一步的,所述求出从oi到oj的一条最短物流路径lp(oi,oj)的具体方法为:

首先判断oi和oj是否位于同一物流路径网络上;

若oi和oj位于同一物流路径网络上,则为单源最短路径问题,根据dijkstra算法得到一条最短路径lp(oi,oj);

若oi和oj位于不同物流路径网络上,假设oi位于lpni,oj位于lpnj,且lpni和lpnj通过交互点pi和pj联通;则分解为两个单源最短路径问题,分别求解oi到pi的一条最短物流路径lp1(oi,pi)和pj到oj的一条最短物流路径lp2(pj,oj),两次调用dijkstra算法得到最短路径lp(oi,oj)=lp1(oi,pi)+lp2(pj,oj)。

所述求出执行该物流任务t运输距离最短的执行器e(o)的具体方法为:

首先读取物流任务t={f:oi→oj},判断oi和oj是否位于同一物流路径网络上;

若oi和oj位于同一物流路径网络上,遍历该物流路径网络的执行器集e_set,得到状态为空闲的可选执行器集e(idle)_set;

再遍历可选执行器集e(idle)_set,以任一执行器ei的当前位置p(ei)为源点,待搬运物的当前位置oi为目标点,依次调用dijkstra算法,找到使物流路径lp(pi,oi)最短的执行器e(o);将物流任务t分派给e(o);

若oi和oj位于不同物流路径网络上,假设oi位于lpni,oj位于lpnj,且lpni和lpnj通过交互点pi和pj联通;则物流任务t分解为两个子任务t1={f:oi→pi}和t2={f:pj→oj};

遍历lpni的执行器集e_seti,得到状态为空闲的可选执行器集e(idle)_seti;再遍历e(idle)_seti,以执行器ei的当前位置p(ei)为源点,待搬运物初始位置oi为目标点,依次调用dijkstra算法,找到使物流路径lp(oi,pi)最短的执行器e(o)1;将物流任务t1分派给执行器e(o)1;

遍历lpnj的执行器e_setj,得到状态为空闲的可选执行器集e(idle)_setj;再遍历e(idle)_setj,以执行器ej的当前位置p(ej)为源点,待搬运物初始位置pj为目标点,依次调用dijkstra算法,找到使物流路径lp(pj,oj)最短的执行器e(o)2;将物流任务t2分派给执行器e(o)2。

本发明的有益效果是:本发明提出了物流路径网络模型,对复杂系统中的多种物流设备、多种物流路径和多种物流控制逻辑进行了统一建模,并给出了代数规范,为更快速进行物流布局设计和分析以及规划更高效更经济的物流调度路径提供了有效的技术支撑。

附图说明

图1为物流路径网络建模仿真步骤流程图。

图2为基于lpn的路径规划算法流程图。

图3为基于lpn的物流调度算法流程图。

图4为本发明实施例中某结构件加工车间布局示意图。

图5为本发明实施例中基于lpn的某结构件加工车间物流统一建模实施图。

具体实施方式

下面结合附图对本发明做进一步详细说明。如图1所示,一种基于物流路径网络的复杂离散制造系统物流建模仿真方法具体步骤为:

步骤s1、物流路径网络建模

将复杂离散制造系统中的各类物流设备统一映射为执行器(executor,e),将物流设备绑定到相应物流路径上,并用执行器集e_set来描述物流设备集。将车间各种布置形式的物流路径统一用无向多连通图描述,记为g(v,e′,w),并用顶点邻接矩阵g(vi,vj)来描述物流的几何属性。将物流路径上分布的离散控制点统一映射为虚拟服务节点(virtualservicenode,vsn),并用虚拟服务节点集vsn_set来描述其控制逻辑。

虚拟服务节点包括不同路径不同执行器之间的物质交互点和服务单元与执行器的物质交互点两种,通过虚拟服务节点定义服务单元和执行器的交互逻辑和交互位置、不同路径间不同执行器间的交互逻辑和交互位置。

关于服务单元:将生产活动抽象为“服务”,包括缓冲服务和加工服务,此处的加工为广义的加工,涉及所有与生产工艺相关的活动,如机械加工、装配、检测、包装等。服务单元是由七元组或其子集组成的、通过虚拟服务节点关联起来的一个子系统。

物流路径网络(logisticspathnetwork,lpn)模型的代数定义为:

lpn=<e_set,g,vsn_set>(1)

其中:

e_set:执行器(executor,e)集,将物流设备统一映射成执行器,接收物流任务并执行,统一了各类物流设备。

g:无向多联通图,令g=(v,e′,w),其中v表示图的顶点,v={“端点”,“交点”},e′表示图的边,w表示边的权重。通过顶点邻接矩阵g(vi,vj)来描述物流路径。

vsn_set:虚拟服务节点(virtualservicenode,vsn)集,通过虚拟服务节点一方面定义了路径上与生产设备的交互点,另一方面通过虚拟服务节点定义了不同路径网络的交互点。

步骤s2、车间物流关系映射

将车间物流关系映射成物流路径网络集(lpn_set),并定义不同物流路径之间的交互点(虚拟服务节点的一种)。

步骤s3、基于物流路径网络的路径规划

所讨论的路径规划问题可以详细描述为,从物流路径网络集(lpn_set)中任取两个点,分别为初始点oi(xi,yi)和目标点oj(xj,yj),求从oi到oj的一条最短物流路径lp(oi,oj)。

其具体流程如图2所示,首先任取点oi和oj,判断oi和oj是否位于同一lpn上。

若oi和oj位于同一lpn上,则为单源最短路径问题,根据dijkstra算法【e.w.dijkstra,anoteontwoproblemsinconnectionwithgraphs,numericalmathematics1(1)(1959)269–271】可以得到一条最短路径lp(oi,oj)。

若oi和oj位于不同lpn上,假设oi位于lpni,oj位于lpnj,且lpni和lpnj通过点pi和点pj联通;则可分解为两个单源最短路径问题,分别求解lp1(oi,pi)和lp2(pj,oj),两次调用dijkstra算法可得到最短路径lp(oi,oj)=lp1(oi,pi)+lp2(pj,oj)。

步骤s4、基于物流路径网络的物流调度

所讨论的物流调度问题可以详细描述为,已知车间物流路径网络集(lpn_set)和物流任务t={f:oi→oj},其中物流任务t含义为:将待搬运物f,从点oi运输到点oj;求将执行该物流任务t运输距离最短的执行器e(o)。

其具体流程如图3所示,首先读取物流任务t={f:oi→oj},判断oi和oj是否位于同一lpn上。

若oi和oj位于同一lpn上,遍历lpn的执行器集e_set,得到状态为空闲的可选执行器集e(idle)_set;再遍历e(idle)_set,以执行器ei的当前位置p(ei)为源点,待搬运物的当前位置oi为目标点,依次调用dijkstra算法,找到使物流路径lp(pi,oi)最短的执行器e(o);最后将物流任务t分派给e(o)。

若oi和oj位于不同lpn上,假设oi位于lpni,oj位于lpnj,且lpni和lpnj通过点pi和点pj联通;则物流任务t可分解为两个子任务t1={f:oi→pi}和t2={f:pi→oj}。

遍历lpni的执行器集e_seti,得到状态为空闲的可选执行器集e(idle)_seti;再遍历e(idle)_seti,以执行器ei的当前位置p(ei)为源点,待搬运物初始位置oi为目标点,依次调用dijkstra算法,找到使物流路径lp(pi,oi)最短的执行器e(o)1;将物流任务t1分派给执行器e(o)1;

并遍历lpnj的执行器e_setj,得到状态为空闲的可选执行器集e(idle)_setj;再遍历e(idle)_setj,以执行器ej的当前位置p(ej)为源点,待搬运物初始位置pj为目标点,依次调用dijkstra算法,找到使物流路径lp(pj,oj)最短的执行器e(o)2;将物流任务t2分派给执行器e(o)2。

以下结合一个具体案例,简要介绍本发明的具体实施过程。如图4所示,某结构件加工车间分为6个区域,分别为立体仓库区(a#1)、装卸区(a#2)、数控加工区(a#3)、数控加工区(a#4)、柔性生产线(a#5)、柔性生产线(a#6);物流设备分为1台出入库agv、3台物料agv、1台带导轨机器人和1台带导轨堆垛机;物流路径包括网络型的agv路径、直线型带导轨机器人路径、直线型带导轨堆垛机路径,各路径之间通过交互点联通。其中立体仓库区(a#1)与装卸区(a#2)通过出入库agv路径联通,由出入库agv运送物料;装卸区(a#2)与数控加工区(a#3)、数控加工区(a#4)通过物料agv路径联通,由3台物料agv运送物料;数控加工区(a#3)、数控加工区(a#4)与柔性生产线(a#5)通过物料agv路径联通,柔性生产线(a#5)内部由带导轨机器人运送物料;数控加工区(a#3)、数控加工区(a#4)与柔性生产线(a#6)通过物料agv路径联通,由柔性生产线(a#6)内部带导轨堆垛机运送物料。

以该车间较为复杂的物料agv路径p2为例,物流路径网络建模实施过程如下:

其如图5所示,3台物料agv分别映射为执行器e1,e2和e3,得到执行器集e_set2={ei|1≤i≤3},并绑定到物料agv路径上。将网络型的物料agv路径p2用无向图描述,记为g2(v,e′,w),p2共有顶点8个(其中端点2个,交点6个),得到其顶点邻接矩阵g2(v8,v8)。将物流路径上分布的离散控制点统一映射为虚拟服务节点(virtualservicenode,vsn),得到虚拟服务节点集vsn_set2={{vsn3},{vsni|11≤i≤23}},其中vsn3为p2与p1的交互点,vsn22为p2与p4的交互点,vsn23为p2与p4的交互点,其余11个vsn为执行器与服务单元进行物质交互的服务点。

物料agv路径p2的物流路径网络模型lpn2的具体代数建模结果如下:

lpn2=<g2,eext_set2,vsn_set2>

其中

e_set2={ei|1≤i≤3}

mapping:agvi→ei

vsn_set2={{vsn3},{vsni|11≤i≤23}}

以图4所示车间为例,其车间物流关系映射结果如下:

lpn_set={lpni|1<i<4},其中4条路径(p1至p4)之间的交互点为:p1和p2的交互点为vsn3和vsn4;p2和p3的交互点为vsn22和vsn24;p2和p4的交互点为vsn23和vsn7。

基于图5所描述的lpn模型,其路径规划具体实施过程如下:

假设取起始点vsn1和目标点vsn5,求从vsn1到vsn5的一条最短物流路径lp(vsn1,vsn5)。由图5可知,vsn1和vsn5均位于lpn1上,故为单源最短路径问题,根据dijkstra算法【e.w.dijkstra,anoteontwoproblemsinconnectionwithgraphs,numericalmathematics1(1)(1959)269–271】可以得到一条最短路径lp(vsn1,vsn5)={vsn1,vsn2,vsn6,vsn5}。

又假设取起始点vsn1和目标点vsn18,求从vsn1到vsn18的一条最短物流路径lp(vsn1,vsn18)。由图5可知,vsn1位于lpn1上,而vsn18均位于lpn2上,且lpn1和lpn2通过交互点vsn3和vsn4联通,则可分解为两个单源最短路径问题,分别求解lp1(vsn1,vsn4)和lp2(vsn3,vsn18),两次调用dijkstra算法可得到最短路径lp(vsn1,vsn18)=lp1(vsn1,vsn4)+lp2(vsn3,vsn18);最后得到具体最短路径为lp(vsn1,vsn18)={vsn1,vsn2,vsn6,vsn5,vsn4,vsn21,vsn20,vsn19,vsn18}。

基于图5所描述的lpn模型,其物流调度具体实施过程如下:

假设现有物流任务t={f:vsn1→vsn5},由图5可知,vsn1和vsn5均位于lpn1上,且lpn1上绑定了执行器集e_set1且e_set1={e1|e1={出入库agv}},遍历e_set1,若e1空闲,则将t分配给e1;若e1状态不为空闲,则该物流任务挂起,等待执行。

又假设有物流任务t={f:vsn1→vsn18},由图5可知,vsn1位于lpn1上,而vsn18均位于lpn2上,且lpn1和lpn2通过交互点vsn3和vsn4联通,则物流任务t可分解为两个子任务t1={f:vsn1→vsn4}和t2={f:vsn3→vsn18}。

遍历lpn1的执行器集e_set1且e_set1={e1|e1={出入库agv}},遍历e_set1,若e1空闲,则将t分配给e1;若e1状态不为空闲,则该物流任务挂起,等待执行。

遍历lpn2的执行器e_set2且e_set2={ei|ei={物料agvi}(1≤i≤3)},假设物料agv1和物料agv2状态为空闲,物料agv3状态为非空闲;则得到状态为空闲的可选执行器集e(idle)_set2={e1,e2|e1=物料agv1,e2=物料agv2};再遍历e(idle)_set2,分别以执行器e1(e2)的当前位置pe1(pe2)为源点,待搬运物初始位置pf为目标点,依次调用dijkstra算法,得到物流路径lp(pe1,pf)和物流路径lp(pe2,pf),若lp(pe1,pf)≤lp(pe2,pf),则将物流任务t2分配给e1(物料agv1);若lp(pe1,pf)>lp(pe2,pf),则将物流任务t2分配给e2(物料agv2)。

以上实施例仅对本发明的方法进行解释、说明,而非对其进行限制。凡是参照该实施例进行的修改和变更的行为,均在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1