一种基于改进的变邻域遗传算法的多班制计划排程法的制作方法

文档序号:17444321发布日期:2019-04-17 05:18阅读:279来源:国知局
一种基于改进的变邻域遗传算法的多班制计划排程法的制作方法

本发明涉及一种基于改进的变邻域遗传算法的计划排程法,属智能制造领域。



背景技术:

计划排程是根据企业的生产订单的交货期、各设备的产能以及库存量的综合指标对生产订单的每一个工序的加工时间、加工设备等进行安排的过程,目的是排出基本满足所有生产订单交货期指标并能使设备加工均衡、各类资源合理利用的方案。在以多品种、小批量为特征的离散制造企业中,生产订单较多,在车间情况较复杂的情况下,人工的计划排程的工作量巨大,排程成本也大大增加。近年来,基于智能算法的计划排程法被广泛的用于企业的计划排程中,其不仅可以提高排程的效率和准确性,且能在得到用户许可的情况下根据车间的实时状况快速调整排程方案。

计划排程的优劣决定着生产车间的生产效率和生产成本。中国专利“一种基于遗传算法的高级计划排程系统及方法”(专利申请号:cn201510679268.7)阐述了一种基于遗传算法的高级计划排程方法,可用于典型的离散制造企业,但不能解决遗传算法容易陷入局部最优的问题;中国专利“一种面向离散制造业的生产排程算法”(专利申请号:cn201711472521.7阐述了一种以各生产要素的生产特性为关键排程因素的排程方法,根据关键排程因素的变化,调整设备的任务执行顺序,达到高效、降本的目的,但该方法没有考虑各生产任务的优先级问题,紧急订单和近交货期订单可能无法优先排程,造成订单延期;中国专利“生产订单的排产管理方法与系统”(专利申请号:cn201610787236.3)阐述了一种基于遗传算法的多目标排程方法,目标确定之后,无法根据用户的实际需求对排程目标和结果进行调整。以上专利都没有考虑各设备之间的不同班制问题,柔性化程度不高。



技术实现要素:

针对离散制造企业的计划排程存在的人工效率不高、排程柔性化程度低和排程结果与实际需求有差距等问题,发明了一种基于改进的变邻域遗传算法的多班制计划排程法,解决了兼顾车间实际生产状况、用户需求和各设备班制的排程问题。

为解决上述技术问题,本发明采用的技术方案是:

一种基于改进的变邻域遗传算法的多班制计划排程法,包括以下步骤:

步骤一:读取系统数据库中计划排程表中的全部作业计划信息和已完成作业计划表中的已完成的作业计划信息,对目前已排程但有部分工序未开始加工的生产任务的剩余未加工工序进行重排程,重排程后将所有加工设备上已排程工序的最后一个工序的加工结束时间作为该加工设备下一步排程的可用的开始时间;

步骤二:对于系统数据库中生产任务中的所有未排程生产任务进行优先级判定,优先级指标包括:生产任务价值、顾客重要程度、生产任务加工总时长与交货期剩余时间之比以及是否为紧急单,选取所有未排程生产任务中优先级最高的x-w(即x与w之差,x为预先设定的一次排程的订单数,w为上次排程未完成的生产任务个数)个生产任务进入系统数据库中待排程生产任务表,作为待排程生产任务;

步骤三:获取系统数据库中生产任务表中生产任务的工时信息、设备状态表中的设备班制信息和班制表中的班制时间信息,加以计算得瓶颈工序比较参数pn:pn=(tz+sz)/kz(tz为由待排程生产任务的工序工时计算出每一工序的工时总和,sz为步骤一中每一工序对应的加工设备组下一步排程的可用的开始时间的总和,kz为每一工序的设备组每一天的可用工时)。其中,瓶颈工序比较参数值最大的工序为瓶颈工序;

步骤四:通过变邻域遗传算法获取预先设定的种群数n,交叉概率pc,变异概率pm,最大迭代次数g,运用十进制编码方式以待排程生产任务瓶颈工序的加工顺序随机生成规模为n的初始种群,基于各设备的可排程开始时间计算初始种群中每条染色体的适应度值,初始种群中将适应度最高的染色体存为b,采用轮盘赌与随机竞争相结合的方式更新初始种群为种群z,以交叉概率pc对种群z中的染色体进行随机数目的随机基因段交叉得到种群z’,以变异概率pm对种群z’中的染色体进行变邻域变异得到种群z”,计算种群z”的适应度值,用染色体b替换种群z”中适应度最差的染色体,以z”为初始种群重复以上步骤,直至重复次数大于最大迭代次数g,输出最后一次迭代z”中适应度最高的染色体l;

步骤五:根据步骤三中适应度最高的待排程生产任务瓶颈工序的加工顺序即染色体l,采用前推后拉的方式算出每一工序的订单加工顺序。生产任务各工序的加工开始时间、加工结束时间和加工设备的计算过程如下:一、根据瓶颈加工顺序l和瓶颈设备组的可用的开始时间对瓶颈工序排程;二、将生产任务的瓶颈工序的加工开始时间与瓶颈工序的前一工序的工时之差的升序作为所有瓶颈前工序的加工顺序,瓶颈前工序按瓶颈前的加工顺序和该工序加工设备的可用工时进行倒排,即先排瓶颈工序的前一道工序,再逐渐往前推,直至第一道工序排程完成;三、判断生产任务的瓶颈前一道工序的加工结束时间的升序与瓶颈加工顺序l是否一致,一致则只需根据瓶颈前一道工序的结束时间对第一步中已排程完的瓶颈工序的时间进行修正,不一致则以生产任务的瓶颈前一道工序的加工结束时间的升序为瓶颈工序的加工顺序,结合瓶颈工序加工设备组的可用工时对瓶颈工序重新排程;四、瓶颈工序后的所有工序都以顺排方式进行排程,即以前一工序的加工结束时间的升序为工序的加工顺序。根据系统数据库中设备状态表中的设备班制信息、班制表中的班制时间信息将生产任务各工序的加工开始时间、加工结束时间和加工设备转化为实际的生产任务各工序加工开始时间和加工结束时间和与甘特图相对应的生产任务各工序加工开始时间和加工结束时间,前者用于存入系统数据库中的计划排程表中各作业计划的“加工开始时间”和“加工结束时间”列,后者作为在绘制甘特图时生产任务各工序加工开始时间和加工结束时间横坐标数据。

作为更进一步的优选方案,步骤一中,从系统数据库的正加工作业计划表、已完成作业计划表和作业计划表中获取正加工作业计划、上次排程已完成作业计划和上次排程的所有生产任务,从当前排程的所有生产任务剔除正加工作业计划和上次排程已完成作业计划相关的工序,删除上次排程未开始加工的所有作业计划,再从中选出部分工序未开始加工的生产任务,对部分工序未开始加工的生产任务的剩余工序从第二道工序开始依次排程,重排程结束后将所有加工设备已排程工序的结束时间更新为所有加工设备的可排程开始时间。

作为更进一步的优选方案,步骤二中,紧急单的优先级计算公式如下,其中q1、q2、q3分别代表订单价值、顾客重要程度和剩余时间与总加工时间比率权重值,gklr为顾客重要程度平均值与订单价值平均值之比,gkgs为顾客重要程度平均值与剩余时间与总加工时间的比率之比,lr为某生产任务的订单价值,gki为某生产任务的顾客重要程度,gsb为某生产任务的剩余时间与总加工时间的比率,y为紧急单的优先级系数(y>10),保证该生产任务能在选取待排程任务时优先被选取:

作为更进一步的优选方案,将步骤一中的各设备的可排程开始时间以工序划分为设备组,计算出每一工序对应的加工设备组下一步排程的可用的开始时间的总和sz,由设备班制计算出每一工序的设备组每一天的可用工时kz,由待排程生产任务的工序工时计算出每一工序的工时总和tz;每一工序的瓶颈工序比较参数pn的计算公式如下:pn=(tz-sz)/kz。

作为更进一步的优选方案,步骤四中,以总加工时间最小、各订单提前期均衡、最小提前期最大和瓶颈设备利用率最高的多目标函数为评价标准,适应度函数公式:

其中p1、p2、p3和p4分别代表总加工时间、各生产任务提前期均衡指标、最小提前期和瓶颈设备利用率的权重值,tm为该染色体的最大加工时间,var为各订单的提前期方差,用于衡量各订单的排列是否均衡,et为提前期最小值,pjlyl为瓶颈设备利用率,cf为惩罚系数(cf<0.1);在排程前获取所有加工设备的可开始加工时间矩阵szt和设备班制工作时长矩阵sdt,根据szt和sdt计算出各设备可开始加工工作日矩阵szt',公式如下:szt'=szt/sdt;在进行单次工序任务的设备选取时,选取即将排程的工序的可用设备中szt'值最小的设备,排程后更新szt'的值,公式:szt'=mszt'+ti/sdt0,其中,mszt'为选取即将排程的工序的可用设备中szt'值最小的设备的szt'值,ti为即将排程的工序的加工时长和sdt0为即将排程的工序的可用设备中szt'值最小的设备的班制每日工作时长。

作为更进一步的优选方案,步骤五中,对于设备利用率低于百分之八十的设备,根据预先设置的连续生产或及早生产的排程模式,修改计划排程后的各生产任务的加工开始时间和加工结束时间并生成甘特图。

有益效果

与现有技术相比,本发明的优点如下:

1.分批排程策略、生产任务优先级、惩罚系数及计划排程后生产任务提前期方差目标的结合,保证了紧急单和近交货期生产任务的优先生产。

2.改进的变邻域遗传算法的选择操作将适应度太差的染色体剔除,交叉和变异操作则尽可能的扩大了算法的搜索范围,提高了收敛速度和解的质量。

3.以瓶颈工序的加工顺序为基础进行瓶颈工序排程,再以瓶颈各工序开始加工时间与瓶颈前一工序加工时间之差的升序为瓶颈前工序排程顺序,瓶颈前工序排程完成后,根据瓶颈前一工序的生产任务的结束时间对瓶颈工序加工顺序微调,保证了瓶颈设备资源的充分利用,也使瓶颈前设备能根据瓶颈工序的加工顺序有序生产。

4.计划排程过程采用多班制排程法,可以适应不同设备在不同负荷状态下的工作班制并合理安排排程。

5.对于加工离散时间较多的设备,用户可根据车间实际选择设备是否连续生产的方式排程,贴合车间实际需求。

附图说明

图1是本发明一种基于改进的变邻域遗传算法的多班制计划排程法的总体流程图;

图2是变邻域遗传算法计算获得最佳染色体的具体流程图;

图3是计划排程及获取适应度值的具体流程图;

图4是多班制计划排程法具体流程图。

具体实施方式

下面结合附图详细说明本发明的优选技术方案。

在该计划排程法中,采用变邻域遗传算法,遗传算法的选择操作采用轮盘赌选择和随机竞争选择法相结合的方式,避免轮盘赌选择的随机性太大的缺点,交叉操作采用随机数目的随机基因段交叉,扩大搜索范围,变异操作与变邻域算法相结合,取变异染色体的邻域中适应度最佳的染色体作为最终变异的染色体,选择、交叉和变异操作完成后用上次迭代适应度最好的个体替换本次迭代适应度最差的个体,避免变邻域遗传算法早熟的同时实现了快速收敛;采用分批排程的方式从所有未排程生产任务中选取优先级较高的生产任务,生产任务的优先级由顾客重要程度、订单价值、加工时长与剩余可加工时间之比和是否为紧急单综合指标评定,保证优先级高的生产任务能优先加工,在计划排程的多目标函数中加入最大完工时间、惩罚系数、提前期方差和瓶颈设备利用率指标,确保各生产任务都能按期交货;设备生产过程中可能存在离散时间,离散时间过多造成工人成本和设备开机成本的浪费,本计划排程方法设计一种自动检测设备离散时间是否过多的方法,并在用户确认的情况下将指定设备安排为连续生产或及早生产两种生产状态,便于根据车间的实时状况调整排程方案;为生产车间不同工序的不同生产负荷,使生产同步,各设备的班制也不同,本计划排程法提出一种多班制的排程方法,即根据设备的班制进行计划排程,班制时间可由用户实时更改,提高计划排程方法的适应性。

本发明提出的一种基于改进的变邻域算法的多班制计划排程法,通过顾客重要程度、订单价值、加工时长与剩余可加工时间之比和是否为紧急单综合指标评定优先级,优先级较高的生产任务作为待排程生产任务优先排程。通过设备可开始加工时间和待排程生产任务的工时评价出瓶颈工序。以待排程生产任务的瓶颈工序的加工顺序的十进制编码作为遗传算法的染色体形成初始种群,通过轮盘赌与随即竞争结合的选择操作、随机数随机基因段交叉操作、变邻域变异操作和精英保留操作更新种群。对于每条染色体的适应度的获取,在基于瓶颈理论前拉后推的思想上进行改进,瓶颈前工序的加工顺序为各瓶颈工序开始加工时间与瓶颈前一工序的差值的升序,瓶颈前工序排程完毕后根据各工序加工结束时间对瓶颈工序排程进行微调,在排程时根据设备的班制进行排程。适应度函数为多目标适应度函数,包括最大完工时间最小,提前期方差最小和最小提前期最大三个目标,用量纲归一化方法将各目标值归一后乘以各自的权重值并相加求得适应度,对无法满足生产任务交货期要求的染色体设置惩罚系数降低其适应度值。如图1所示,具体包括以下步骤:

步骤一:部分工序未开始加工的生产任务的排程。

作业计划为生产任务排程后的结果,生产任务的一个工序就会生成一个作业计划,作业计划的内容包括:作业计划编号、所属生产任务、工序、加工设备、加工开始时间、加工结束时间和数量。

从系统数据库的正加工作业计划表、已完成作业计划表和作业计划表中获取正加工作业计划、上次排程已完成作业计划和上次排程的所有生产任务,从当前排程的所有生产任务剔除正加工作业计划和上次排程已完成作业计划相关的工序,删除上次排程未开始加工的所有作业计划,再从中选出部分工序未开始加工的生产任务,对部分工序未开始加工的生产任务的剩余工序从第二道工序开始依次排程,重排程结束后将各设备已排程工序的结束时间更新为各设备的可排程开始时间

步骤二:待排程生产任务的确定。

从系统数据库的生产任务表中获取所有的生产任务,从中剔除已完成的生产任务、未到合同履行时间的生产任务和上次排程的生产任务,剩余的生产任务进行优先级评定,评价指标包括:订单价值、顾客重要程度、剩余时间与总加工时间的比率、是否为紧急单四项,紧急单的优先级计算公式如下(其中q1、q2、q3分别代表订单价值、顾客重要程度和剩余时间与总加工时间比率权重值,gklr为顾客重要程度平均值与订单价值平均值之比,gkgs为顾客重要程度平均值与剩余时间与总加工时间的比率之比,lr为某生产任务的订单价值,gki为某生产任务的顾客重要程度,gsb为某生产任务的剩余时间与总加工时间的比率,y为紧急单的优先级系数(y>10),保证该生产任务能在选取待排程任务时优先被选取):

选取所有未排程生产任务中优先级最高的x-w(w为上次排程未完成的生产任务个数)个生产任务进入数据库中待排程生产任务表,作为待排程生产任务。

步骤三:确定瓶颈工序。

从系统数据库的生产任务的工时信息、设备状态表中的设备班制信息和班制表中的班制时间信息中获取待排程生产任务的工序工时、设备班制和班制时间。将步骤一中的各设备的可排程开始时间以工序划分为设备组,计算出每一工序对应的加工设备组下一步排程的可用的开始时间的总和sz,由设备班制计算出每一工序的设备组每一天的可用工时kz,由待排程生产任务的工序工时计算出每一工序的工时总和tz。每一工序的瓶颈工序比较参数pn的计算公式如下:

pn=(tz-sz)/kz

瓶颈工序比较参数代表的是对于待排程生产任务的对应工序的设备组所要加工的天数,各工序中瓶颈工序比较参数最大的工序即为瓶颈工序。

步骤四:运用变邻域遗传算法确定最佳染色体。

图1中变邻域遗传算法计算获得最佳染色体的具体流程图如图2所示,具体的过程为:

1.获取预先设置的参数:n(种群数),g(最大迭代次数),c(种群规模数),pc(交叉概率),pm(变异概率),运用十进制的编码方式,以待排程生产任务的瓶颈工序的加工顺序为染色体,随机产生n个染色体为初始种群;

2.基于染色体进行计划排程,获得当前种群的染色体适应度,并将适应度最高的染色体存为最佳染色体,判断迭代次数是否大于最大迭代次数g,若不大于,进行下一步的选择操作;若大于,输出目前种群中适应度最高的染色体为最终染色体;

3.选择操作采用轮盘赌与随机竞争相结合的方式,如图3所示,运用轮盘赌随机选择2n个初始种群中的染色体,将2n个染色体分为两个个数为n的染色体组,两组染色体中各取一个染色体形成n个对比组,随机生成两组0-1的n个的均匀分布数,各取一个分布数形成n个对比组,染色体对比组与均匀分布数对比组一一对应,比较染色体相对应的均匀分布数的大小,取n个对比组中均匀分布数较大的相对应的n个染色体进入选择操作后的种群;

4.交叉操作以交叉概率pc随机取选择操作后的种群中的待交叉染色体,两条染色体一组成为父系染色体组,随机取小于基因段总数且不为1的一个整数为交叉基因段数,随机从一组父系染色体中的一个染色体取交叉基因段段数个基因段,从另一个父系染色体中取出相应的基因段,按顺序将对方的基因段填至自身染色体中,新生成的两条染色体为子系染色体,对父系染色体及子系染色体进行计划排程获得适应度,子系染色体适应度高于父系染色体的以0.8的概率替换选择操作后的种群中父系染色体,新生成的种群为交叉操作后的种群;

5.变异操作以变异概率pm随机取交叉操作后的种群中的待变异染色体,每条染色体随机取小于基因段总数且不为1的一个整数为变异基因段数,随机从该染色体中取变异基因段数个基因段,取打乱的变异基因段数个基因段顺序的50个邻域,并将这50个打乱的变异基因段数个基因段按顺序填入到染色体中,生成50个变异染色体,对变异染色体进行计划排程并获得其适应度,取适应度最高的变异染色体作为最终变异染色体替换交叉操作后的种群中待交叉染色体,新生成的种群为变异操作后的种群;

6.计算变异操作后的染色体的适应度值,以步骤2中生成的最佳染色体替换变异操作后的种群中适应度值最小的染色体,实现精英保留,重复步骤2;

变邻域遗传算法的选择、交叉和变异操作都需要对种群中染色体进行计划排程并获得适应度值,计划排程及获取适应度值的具体流程如图3所示。获取染色体即瓶颈工序加工顺序和设备可开始排程时间后对瓶颈工序进行计划排程,将生产任务的瓶颈工序的加工开始时间与瓶颈工序的前一工序的工时之差的升序作为所有瓶颈前工序的加工顺序,进行所有瓶颈前工序的计划排程,将计划排程完毕的瓶颈前一工序的加工结束的升序与染色体对比,若不相同,则以瓶颈前一工序的加工结束的升序为瓶颈工序的加工顺序对瓶颈工序重排程。瓶颈后工序均以前一工序的加工结束时间的升序为加工顺序进行计划排程。种群a中每条染色体的适应度值,以总加工时间最小、各订单提前期均衡、最小提前期最大和瓶颈设备利用率最高的多目标函数为评价标准,适应度函数公式如下(p1、p2、p3和p4分别代表总加工时间、各生产任务提前期(生产任务的加工结束时间与交货期之间的差值)均衡指标、最小提前期和瓶颈设备利用率的权重值,tm为该染色体的最大加工时间,var为各订单的提前期方差,用于衡量各订单的排列是否均衡,et为提前期最小值,pjlyl为瓶颈设备利用率,cf为惩罚系数(cf<0.1),保证存在加工结束时间大于交货期的情况时,该条染色体的适应度值大大减小):

由于不同的设备的班制不同,为保证计划排程结果的实用性,在计划排程提出一种多班制计划排程法,如图4所示。

在排程前获取各设备的可开始加工时间矩阵szt和设备班制工作时长矩阵sdt,根据szt和sdt计算出各设备可开始加工工作日矩阵szt',公式如下:

szt'=szt/sdt

选取即将排程的工序的可用设备中szt'值最小的设备,记录其szt'’值为mszt',将工序排程于该设备后,获取工序的加工时长ti和该设备班制每日工作时长sdt0,更新该设备的szt'的值,公式如下:

szt'=mszt'+ti/sdt0

步骤五:最终染色体计划排程及甘特图输出。

及早生产模式:按照最终染色体的计划排程结果生成甘特图,受前一工序的加工结束时间影响,加工任务之间除加工缓冲时间外,有离散时间,这一模式下,无需对计划排程结果作调整。

连续生产模式:将设备利用率低于百分之八十的设备上的加工任务以该设备上最后一个加工任务的完工时间为基准,加工任务全体往后挪,直至加工任务之间除加工缓冲时间外,无离散时间,更新加工任务的加工开始时间和加工结束时间并生成甘特图。

对步骤四输出的最终染色体进行计划排程,但不计算其适应度。对于设备利用率低于百分之八十的设备,根据预先设置的连续生产或及早生产的排程模式,修改计划排程后的各生产任务的加工开始时间和加工结束时间并生成甘特图,甘特图以日期为横轴,以设备为纵轴。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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