一种非线性规划的RGV动态调度方法与流程

文档序号:18564390发布日期:2019-08-30 23:50阅读:279来源:国知局
一种非线性规划的RGV动态调度方法与流程

本发明涉及一般的控制或调节系统;这种系统的功能单元;用于这种系统或单元的监视或测试装置的技术领域,特别涉及一种非线性规划的rgv动态调度方法。



背景技术:

rgv,是有轨制导车辆(railguidedvehicle)的英文缩写,可用于各类高密度储存方式的仓库,其可以根据指令自动控制移动方向和距离,并一般自带一个机械手臂、两只机械手爪和物料清洗槽,能够完成上下料及清洗物料等作业任务;小车通道可设计任意长,提高整个仓库储存量,并且在操作时无需叉车驶入巷道,安全性高,有效提高仓库的运行效率。

现有技术中,rgv的调度策略比较单一,在处理较为复杂的智能加工系统时,存在易出错、耗时等问题,无法较好完成系统工作,导致工作进度滞后,衔接不顺畅。



技术实现要素:

本发明解决了现有技术中,rgv的调度策略比较单一,在处理较为复杂的智能加工系统时,易出错、耗时,无法较好完成系统工作,导致工作进度滞后,衔接不顺畅的问题,提供了一种优化的非线性规划的rgv动态调度方法。

本发明所采用的技术方案是,一种非线性规划的rgv动态调度方法,所述方法包括以下步骤:

步骤1:以{h1,h2,…,hm}分别对应执行第m道工序的机床集合;{h1,h2,…,hm}初始化,满足h1∪h2∪…∪hm={cncj#|j=1,2,…,n}且任意两个子集合没有交集,其中,j为机床索引,n为机床的总台数,n为偶数;以k为工序索引,k为1至m的整数,k初始化为1;

步骤2:计算rgv从前一道工序的位置l1到后一道工序的位置l2的所有路径集合l;

步骤3:设置主目标函数f1(hk,hk+1),使得单位时间完成的前一道工序和后一道工序的数量差最小;设置次目标函数f2(hk,hk+1),使得定量物料从前一道工序的机床运输到后一道工序的机床的总时间之和最小;

步骤4:以h为的hk一个非空子集,转移h到hk+1;计算转移后的f1′(hk,hk+1)和f2′(hk,hk+1),以δf1=f′1(hk,hk+1)-f1(hk,hk+1),δf2=f′2(hk,hk+1)-f2(hk,hk+1);

步骤5:以p为替换接受的概率,得到最优解(hk,hk+1),其中,b为任一rgv自前一道工序的机床运输到后一道工序的机床的次数,t为f1(hk,hk+1),b>0,t>0;

步骤6:若未收敛,直接返回步骤4;若收敛,以最优解(hk,hk+1)确定每台机床编号对应的工序,判断k是否等于m-1,若否,k=k+1,返回步骤3,若是,进行下一步;

步骤7:计算mint=t1+t2+t3+t4,其中,t1、t2、t3、t4分别表示加工n个物料rgv的移动总时间、清洗总时间、上下料总时间和等待总时间。

优选地,所述步骤2包括以下步骤:

步骤2.1:以h1和h2分别为集合hk和hk+1中的一个元素;

步骤2.2:将机床转换为位置序号,得到集合hk的所有位置集合hk+1的所有位置其中,h1∈hk,h2∈hk+1;

步骤2.3:得到rgv从前一道工序的位置l1到后一道工序的位置l2的所有路径集合l={(l1,l2)},其中,l1∈r1,l2∈r2。

优选地,所述步骤3包括以下步骤:

步骤3.1:令处理前一道工序机床机器的数量e1=card(hk),处理后一道工序机床机器的数量e2=card(hk+1),e2=n-e1;

步骤3.2:其中,c1和c2分别为机床加工物料完成前一道工序和后一道工序的所需时间;

步骤3.3:其中,前一道工序的位置l1和后一道工序的位置l2间的权重

优选地,所述步骤4中,令e3=card(h),转移后主目标函数差转移后次目标函数差其中,l’为转移后的路径集合。

优选地,所述步骤7包括以下步骤:

步骤7.1:建立目标函数mint=t1+t2+t3+t4,其中,t1、t2、t3、t4分别表示加工n个物料rgv的移动总时间、清洗总时间、上下料总时间和等待总时间;

步骤7.2:t2=nt清,其中,表示rgv在处理第i物料和第i+1物料时移动对应单位所需时间,t清为rgv为一个物料清洗作业时间,bi为rgv为第i物料的上下料需要时间,ci为第i个到第i+1个物料的rgv等待时间,ri+1为集合hi+1中的所有位置,ri为集合hi中的所有位置;

步骤7.3:判断是否满足约束条件,若是,则计算目标函数,否则,重新进行步骤1。

优选地,所述步骤7.2中,其中,b1表示物料i在序号为奇数的第j个机床加工需要的上下料时间,b2表示物料i在序号为偶数的第j个机床加工需要的上下料时间,xij为物料i在第j号机床上加工关系的矩阵。

优选地,所述步骤7.3中,当机床加工完成一道工序的物料所需时间c不小于rgv处理n次上下料、清洗、移动的时间总和t,则rgv等待时间等于c和t的数值之差,否则为0。

优选地,所述步骤7.3中,约束条件

其中,y为第i个物料后的任一物料。

本发明提供了一种优化的非线性规划的rgv动态调度方法,通过计算rgv从前一道工序的位置到后一道工序的位置的所有路径集合l,设置主目标函数使得单位时间完成的前一道工序和后一道工序的数量差最小,设置次目标函数使得定量物料从前一道工序的机床运输到后一道工序的机床的总时间之和最小,以非空子集用于转移工序,基于模拟退火算法得到执行工序的机床编号,在得到编号的基础上分析rgv在工作过程中所需的移动总时间、清洗总时间、上下料总时间和等待总时间,以加工固定数量的物料的rgv所需总工作时间最小为目标函数,建立非线性规划模型。

本发明的有益效果在于:

(1)运用非线性规划建立的rgv动态调度模型可推广应用于大部分动态调度问题;

(2)简化问题,操作更加简便,便于得到最优的调度方案,提高了模型的实用性;

(3)运用模拟退火算法来解决rgv的动态调度问题,简单,使用灵活,运用广泛,较少受到初始条件约束。

附图说明

图1为本发明的流程图。

具体实施方式

下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。

本发明涉及一种非线性规划的rgv动态调度方法,存在两种情况,当一道工序的物料进行加工时,任一台cnc都可以对其加工,当两道工序的物料进行加工时,第一道和第二道工序需要由不同的两台cnc依次加工完成。

所述方法包括以下步骤。

步骤1:以{h1,h2,…,hm}分别对应执行第m道工序的机床集合;{h1,h2,…,hm}初始化,满足h1∪h2∪…∪hm={cncj#|j=1,2,…,n}且任意两个子集合没有交集,其中,j为机床索引,n为机床的总台数,n为偶数;以k为工序索引,k为1至m的整数,k初始化为1。

本发明中,为了效益最大化,机床一般为偶数,便于设置。

步骤2:计算rgv从前一道工序的位置l1到后一道工序的位置l2的所有路径集合l。

所述步骤2包括以下步骤:

步骤2.1:以h1和h2分别为集合hk和hk+1中的一个元素;

步骤2.2:将机床转换为位置序号,得到集合hk的所有位置集合hk+1的所有位置其中,h1∈hk,h2∈hk+1;

步骤2.3:得到rgv从前一道工序的位置l1到后一道工序的位置l2的所有路径集合l={(l1,l2)},其中,l1∈r1,l2∈r2。

本发明中,机床的设置一般为相对设置两列,两列中间为供rgv小车运动的通道,故相对的位置,如序号为1和2的机床,他们的位置序号均为1。

步骤3:设置主目标函数f1(hk,hk+1),使得单位时间完成的前一道工序和后一道工序的数量差最小;设置次目标函数f2(hk,hk+1),使得定量物料从前一道工序的机床运输到后一道工序的机床的总时间之和最小。

所述步骤3包括以下步骤:

步骤3.1:令处理前一道工序机床机器的数量e1=card(hk),处理后一道工序机床机器的数量e2=card(hk+1),e2=n-e1;

步骤3.2:其中,c1和c2分别为机床加工物料完成前一道工序和后一道工序的所需时间;

步骤3.3:其中,前一道工序的位置l1和后一道工序的位置l2间的权重

步骤4:以h为的hk一个非空子集,转移h到hk+1;计算转移后的f1′(hk,hk+1)和f2′(hk,hk+1),以δf1=f′1(hk,hk+1)-f1(hk,hk+1),δf2=f′2(hk,hk+1)-f2(hk,hk+1)。

所述步骤4中,令e3=card(h),转移后主目标函数差转移后次目标函数差其中,l’为转移后的路径集合。

步骤5:以p为替换接受的概率,得到最优解(hk,hk+1),其中,b为任一rgv自前一道工序的机床运输到后一道工序的机床的次数,t为f1(hk,hk+1),b>0,t>0。

本发明中,p表示替换接受的概率,当概率等于1时,表示一定替换;当概率等于0时,表示一定不替换;在0-1之间时,表示有可能替换。

本发明中,具体来说,如果改变后主目标函数(单位时间完成前一道工序的数量与完成后一道工序的数量)与之前相差绝对值变小,并且次目标函数(一定物件从前一道工序机床运输到后一道工序机床的时间之和)与之前减少,就以新解替换原来的解;如果改变后主目标函数(单位时间完成前一道工序的数量与完成后一道工序的数量)与之前相差绝对值变小,但是次目标函数(一定物件从前一道工序机床运输到后一道工序机床的时间之和)与之前增加,那么表示有可能替换;如果改变后主目标函数(单位时间完成前一道工序的数量与完成后一道工序的数量)与之前相差绝对值增加,那一定不替换;重复上述的过程,直到收敛。

本发明中,当新一轮的计算结果较前一轮的结果小则接受,否则以概率选择拒绝或接受,同时,拒绝的概率会随迭代次数的增加而变大,即接受的概率会越来越小。

步骤6:若未收敛,直接返回步骤4;若收敛,以最优解(hk,hk+1)确定每台机床编号对应的工序,判断k是否等于m-1,若否,k=k+1,返回步骤3,若是,进行下一步。

本发明中,当连续若干次不产生新解则判定为收敛,此处的次数可以由本领域技术人员自行设置。

步骤7:计算mint=t1+t2+t3+t4,其中,t1、t2、t3、t4分别表示加工n个物料rgv的移动总时间、清洗总时间、上下料总时间和等待总时间。

所述步骤7包括以下步骤:

步骤7.1:建立目标函数mint=t1+t2+t3+t4,其中,t1、t2、t3、t4分别表示加工n个物料rgv的移动总时间、清洗总时间、上下料总时间和等待总时间;

步骤7.2:t2=nt清,其中,表示rgv在处理第i物料和第i+1物料时移动对应单位所需时间,t清为rgv为一个物料清洗作业时间,bi为rgv为第i物料的上下料需要时间,ci为第i个到第i+1个物料的rgv等待时间,ri+1为集合hi+1中的所有位置,ri为集合hi中的所有位置;

所述步骤7.2中,其中,b1表示物料i在序号为奇数的第j个机床加工需要的上下料时间,b2表示物料i在序号为偶数的第j个机床加工需要的上下料时间,xij为物料i在第j号机床上加工关系的矩阵。

步骤7.3:判断是否满足约束条件,若是,则计算目标函数,否则,重新进行步骤1。

所述步骤7.3中,当机床加工完成一道工序的物料所需时间c不小于rgv处理n次上下料、清洗、移动的时间总和t,则rgv等待时间等于c和t的数值之差,否则为0。

所述步骤7.3中,约束条件

其中,y为第i个物料后的任一物料。

本发明中,当时,则否则ci为0。

本发明中,约束条件e分别表示:

(1)第i个物料只能在第j台机床加工的要求;

(2)同一台机床处理一个物料与下一个物料之间,至少需要一次上下料所需时间与加工完成一个一道工序的物料所需时间之和的约束;

(3)前n个上下料时rgv不需要等待。

本发明通过计算rgv从前一道工序的位置到后一道工序的位置的所有路径集合l,设置主目标函数使得单位时间完成的前一道工序和后一道工序的数量差最小,设置次目标函数使得定量物料从前一道工序的机床运输到后一道工序的机床的总时间之和最小,以非空子集用于转移工序,基于模拟退火算法得到执行工序的机床编号,在得到编号的基础上分析rgv在工作过程中所需的移动总时间、清洗总时间、上下料总时间和等待总时间,以加工固定数量的物料的rgv所需总工作时间最小为目标函数,建立非线性规划模型。

本发明的有益效果在于运用非线性规划建立的rgv动态调度模型可推广应用于大部分动态调度问题,简化问题,操作更加简便,便于得到最优的调度方案,提高了模型的实用性,运用模拟退火算法来解决rgv的动态调度问题,简单,使用灵活,运用广泛,较少受到初始条件约束。

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