首页> 中国专利> 一种基于构造型启发式算法的生产线调度方法

一种基于构造型启发式算法的生产线调度方法

摘要

本发明提供一种基于构造型启发式算法的生产线调度方法,该方法包括如下步骤:S1、若n个工件在m台机器上加工,设p

著录项

  • 公开/公告号CN102566560A

    专利类型发明专利

  • 公开/公告日2012-07-11

    原文格式PDF

  • 申请/专利权人 成都信息工程学院;

    申请/专利号CN201210061685.1

  • 发明设计人 唐聃;舒红平;罗飞;刘魁;

    申请日2012-03-11

  • 分类号

  • 代理机构成都赛恩斯知识产权代理事务所(普通合伙);

  • 代理人朱月仙

  • 地址 610225 四川省成都市西南航空港经济开发区学府路一段24号

  • 入库时间 2023-12-18 05:55:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-08

    未缴年费专利权终止 IPC(主分类):G05B19/418 授权公告日:20150729 终止日期:20180311 申请日:20120311

    专利权的终止

  • 2015-07-29

    授权

    授权

  • 2012-09-12

    实质审查的生效 IPC(主分类):G05B19/418 申请日:20120311

    实质审查的生效

  • 2012-07-11

    公开

    公开

说明书

技术领域

本发明涉及自动控制与信息技术领域,尤其涉及一种基于构造型启 发式算法的生产线调度方法。

背景技术

生产线调度是制造企业生产过程中非常重要的问题,良好的调度策 略将极大的提高生产效率。总完工时间(makespan)是调度过程中一个 非常重要的性能指标,总完工时间最小可使得资源更加有效利用、任务 更迅速传递及在制品库存最小。目前的生产线调度方法分为两种类型, 一种为穷举法,如动态规划法、分支定界法等,虽然可以对工件的加工 顺序得到最优的调度,但是这些方法的搜索空间会随着工件数量的增加 呈指数式急剧增长,计算复杂度高,对机器硬件的要求较高,难以应用 在大规模的生产线调度上;另一种方法为启发式算法,包括元启发式算 法与构造型启发式算法,目前提出的构造型启发式算法如(1)Palmer 算法——Palmer D S.Sequencing Jobs through a Multi-Stage Process in the  Minimum Total Time-a Quick Method of Obtaining a near Optimum[J]. Operational Research Quarterly,1965,16:101-107;(2)Gupta算法 ——Gupta J.A Functional Heuristic Algorithm for the Flowshop Scheduling  Problem[J].Operational Research Quarterly,1971,22:39-47;(3)CDS算 法——Campbell H G,Dudek R A,Smith M L.A Heuristic Algorithm for the n-Job,m-Machine Scheduling Problem.[J].Management Science,1970,16: 630-637;(4)RA算法——Dannenbring D G.An Evaluation of Flow Shop  Sequencing Heuristics[J].Management Science,1977,23(11):1174-1182; (5)NEH算法——Nawaz M,Enscore E,Ham I.A Heuristic Algorithm for  the m Machine,n Job Flow Shop[J].OMEGA:The International Journal of  Management Sciences,1983,11(1):91-95等,以上几种构造型启发式算法 中以NEH算法的性能最佳。然而,NEH算法在实现过程中需要通过多 次计算拟定工件序列的总完工时间并进行比较,因此,计算复杂度将远 大于其他构造型启发式算法。

发明内容

针对现有技术存在的问题,本发明的主要目的在于提供一种具有较 高的调度性能,同时计算复杂度较低的基于构造型启发式算法的生产线 调度方法。

为实现上述目的,本发明提供一种基于构造型启发式算法的生产线 调度方法的实施例,该方法包括如下步骤:

S1、若n个工件在m台机器上加工,设pi,j为第j个工件在第i台机 器上的执行时间,构成矩阵P,其中i=1,2,Λ,m;j=1,2,Λ,n;

S2、任意选择矩阵P中的两列元素,即工件a,b分别在m台机器 上的执行时间Pa和Pb,其中1≤a,b≤n,a≠b;

S3、确定工件a,b的加工顺序;

S4、判断矩阵P中的n列元素是否均已两两比较,若是,则结束判 断,否则,返回步骤S2,

其中步骤S3包含如下步骤:

S31、将矩阵P中两列元素Pa,Pb的值分别代入 计算得到Sa和Sb

S32、判断Sa*Sb<=0是否成立,若成立,则进入步骤S321,若不 成立,则进入步骤S33;

S321、判断Sa>0是否成立,若成立,则将元件a的加工顺序置于 元件b之前,若不成立,则将元件b的加工顺序置于元件a之前;

S33、判断Sa,Sb>0是否成立,若成立,则进入步骤S34,若不成立, 则进入步骤S35;

S34、将任意选择的矩阵P中的两列元素Pa,Pb的值分别代入 计算得到sum_ca和sum_cb

S341、判断sum_ca<sum_cb是否成立,若成立,则将元件a的加工 顺序置于元件b之前;若不成立,则进入步骤S342;

S342、判断sum_ca>sum_cb是否成立,若成立,则将元件b的加工 顺序置于元件a之前,若不成立,则去掉Pa和Pb列的最末一个元素并 返回步骤S31;

S35、将任意选择的矩阵P中的两列元素Pa,Pb的值分别代入 计算得到sum_fa和sum_fb

S351、判断sum_fa>sum_fb是否成立,若成立,则将元件a的加工 顺序置于元件b之前,若不成立,则进入步骤S352;

S352、判断sum_fa<sum_fb是否成立,若成立,则将元件b的加工 顺序置于元件a之前,若不成立,则去掉Pa和Pb列的首个元素并返回 步骤S31。

进一步地,当判断矩阵P中的n列元素均已两两比较,则按确定的 加工顺序对工件进行调整,并依次在m台机器上进行加工。

本发明以总完工时间最小为目标来实现流水车间生产线的调度,通 过对工件加工顺序的调整来减小每个工件在加工前的等待时间。相对于 现有技术,本发明计算复杂度低,计算时间短,且具有较好的调度性能。

附图说明

图1是流水车间生产线调度示意图。

图2是本发明基于构造型启发式算法的生产线调度方法流程图。

图3是本发明基于构造型启发式算法的生产线调度方法中步骤S3 的流程图。

具体实施方式

下面结合附图,详细说明本发明的具体实施方式。

如图1所示,为本发明的流水车间生产线调度示意图,表述为n个 工件在m台机器上加工,即每个工件需要经过m道工序,每道工序要求 不同的机器,但n个工件通过m台机器的顺序相同,即n个工件在每台 机器上的加工顺序相同。即工件1、工件2......工件n按顺序分别经过机 器1、机器2......机器m的加工,但这种加工顺序有可能并不是最佳的, 为了使总加工时间最短,必须调整工件的加工顺序。

定义Oi,j为第j个工件在第i台机器上操作,pi,j为Oi,j的执行时间,ci,j为Oi,j的完成时间,ci,j为Oi,j加等待时间。其中i=1,2,Λ,m;j=1,2,Λ,n。为了确 定n个工件的加工任务在每台机器上的最优加工顺序,使所有工件的加 工任务全部完工的时间最短。在进行工件加工时,每个加工任务在机器 上的加工顺序相同,均为1,2,Λ,m;每台机器同时只能进行一个加工任务; 一个加工任务不能同时在不同的机器上进行;各加工任务在加工完后立 即送下一道工序;任务在机器上开始加工,必须一直进行到该工序完工, 中途不允许停下来插入其它任务;所有任务在0时刻已准备就绪,机器 调整时间包括在加工时间内;允许任务在工序之间等待;允许机器在任 务未到达时闲置。最大完成时间makespan(Cmax)也即是最后一个工件加工的 完成时间cm,n,找到一个工件的加工顺序,工件a,工件b......工件n,使 得总完工时间(makespan)最小。

设工件数量为i时的总完工时间(makespan)为Ci,其中1≤i≤n,当 i=n时,定义Ci=Cn=C;设第j个工件在第i台机器上加工前的等待时间 为ti,j,其中ti,1=0,1≤i≤m,1≤j≤n;设第n个工件在第i台机器上加工前的 等待时间为Di,其中D1=0,即所有工件在第一台机器上的等待时间均为 0,1≤i≤m;设n个工件在m台机器上的加工时间矩阵为P,其中: P=p1,1p1,2Λp1,np2,1p2,2Λp2,nMMOMpm,1pm,2Λpm,n,在矩阵P中,pi,j表示第j个工件在第i台机器上的 加工时间,1≤i≤m,1≤j≤n。

当工件数量为1,即n=1时,工件在每个机器上加工前的等待时间为 0,因此总完工时间(makespan)为该工件在所有机器上的加工时间之和: C1=p1,1+p2,1+Λ+pm,1=Σi=1mpi,1;

当工件数量为2,即n=2时,总完工时间(makespan)为第1个工件 在所有机器上的加工时间之和、第二个工件在最后一台机器上的加工时 间与第二个工件在最后一台机器上的加工前等待时间之和: C2=C1+pm,2+D2,而D2=t2,n,可按如下方式进行计算:t2,2=max(p2,1-p1,2,0), t2,3=max(t2,2+p2,2-p′1,3,0),Λ,t2,n=max(t2,n-1+p2,n-1-p′1,n,0),其中 p′i,j=pi,j+max(pi-1,j-pj,i-1,0),2≤i≤m,1≤j≤n;

以此类推,当工件数量为n时,Cn=Cn-1+pm,n+Dn,而Dn=tm,n,可按如 下方式计算:tm,2=max(pm,1-p′m-1,2,0),tm,3=max(tm,2+pm,2-p′m-1,3,0),Λ, tm,n=max(tm,n-1+pm,n-1-p′m-1,n,0)。即:

makespan=C=

Cn=Cn-1+pm,n+Dn

=Cn-2+pm-1,n+pm,n+Dn-1+Dn

=Cn-3+pm-2,n+pm-1,n+pm,n+Dn-2+Dn-1+Dn

M

=p1,1+p2,1+Λ+pm,1+pm,2+pm,3+Λ+pm,n+D1+D2+Λ+Dn

=Σi=1mpi,1+Σj=2npm,j+Σk=1nDk

若要使总完工时间(makespan)最小,则需找一个工件加工序列, 使得第n个工件在第m台机器上的完成时间尽量接近或等于 即要缩小第一个工件在所有机器的加工时间之和、 除第一个工件之外的其他工件在最后一台机器的加工时间之和以及除第 一个工件之外的其他工件在加工前的等待时间之和。

如图2所示,为本发明基于构造型启发式算法的生产线调度方法流 程图,该方法包括如下步骤:

S1、若n个工件在m台机器上加工,设pi,j为第j个工件在第i台机 器上的执行时间,构成矩阵P,P=p1,1p1,2Λp1,np2,1p2,2Λp2,nMMOMpm,1pm,2Λpm,n,其中 i=1,2,Λ,m;j=1,2,Λ,n;

S2、任意选择矩阵P中的两列元素,即工件a,b分别在m台机器上 的执行时间Pa和Pb,其中1≤a,b≤n,a≠b;

S3、确定工件a,b的加工顺序;

S4、判断矩阵P中的n列元素是否均已两两比较,若是,则结束判 断,按确定的加工顺序对工件进行调整,并依次在m台机器上进行加工, 否则,返回步骤S2。

如图3所示,为本发明基于构造型启发式算法的生产线调度方法中 步骤S3的流程图。步骤S3,即确定工件a,b的加工顺序,具体包含如 下步骤:

S31、将矩阵P中两列元素Pa,Pb的值分别代入(Sj为矩阵P中第j列的加权值),计算得到Sa和Sb

S32、判断Sa*Sb<=0是否成立,若成立,则进入步骤S321,若 不成立,则进入步骤S33;

S321、判断Sa>0是否成立,若成立,则进入步骤S322,即将元件 a的加工顺序置于元件b之前,若不成立,则进入步骤S323,即将元件 b的加工顺序置于元件a之前;

S33、判断Sa,Sb>0是否成立,若成立,则进入步骤S34,若不成立, 则进入步骤S35;

S34、将任意选择的矩阵P中的两列元素Pa,Pb,代入 (sum_cj为不断去掉矩阵P中第j列最后一个元素的 和),计算得到sum_ca和sum_cb

S341、判断sum_ca<sum_cb是否成立,若成立,则进入步骤S343, 即将元件a的加工顺序置于元件b之前;若不成立,则进入步骤S342;

S342、判断sum_ca>sum_cb是否成立,若成立,则进入步骤S345, 即将元件b的加工顺序置于元件a之前,若不成立,可知 sum_ca=sum_cb,则进入步骤S344,即去掉Pa和Pb列的最末一个元 素并返回步骤S31;

S35、将任意选择的矩阵P中的两列元素Pa,Pb,代入 (sum_fj为不断去掉矩阵P中第j列最前一个元素的 和),计算得到sum_fa和sum_fb

S351、判断sum_fa>sum_fb是否成立,若成立,则进入步骤S353, 即将元件a的加工顺序置于元件b之前,若不成立,则进入步骤S352;

S352、判断sum_fa<sum_fb是否成立,若成立,则进入步骤S355, 即将元件b的加工顺序置于元件a之前,若不成立,可知 sum_fa=sum_fb,则进入步骤S354,即去掉Pa和Pb列的首个元素并 返回步骤S31。

通过实验结果说明本发明的基于构造型启发式算法的生产线调度方 法的实际调度性能。其中Y为最优率,即在特定样本规模中,使用某种 调度方法得出最优解占所有样本数量的比例,该数值越高,则表明使用 该调度方法得出最优解的比例越高,性能更优。另外,最优偏差率 E=(MK-MKp)·100/MKp,其中MK为使用某种调度方法排序后工件的实际总 完工时间,MKp为该组工件在最优加工顺序时的总完工时间,最优偏差 率E越小则表明使用某种调度方法对工件加工顺序的排列越好,而E=0 则表明某次工件的加工顺序排列为最优。

实验所用到的工件在各机器上的加工时间矩阵P中的各个元素Pi,j为 0到9的随机整数(1≤i≤m,1≤j≤n),下表给出了多个以样本规模20为单 位的测试数据,从下表可以看出,利用本发明的基于构造型启发式算法 的生产线调度方法最优偏差率E>10%的非常少,平均最优偏差率基本都 在5%以下,表明该方法的调度性能较优。另外,本发明的基于构造型启 发式算法的生产线调度方法算法复杂度为nlog(n)+nm,计算复杂度低,计 算时间短。

实施例一

假设5个工件在4台机器上的加工时间矩阵P如下,Pi表示P的第 i列。

P=113773992397377106872

任意选择矩阵P中的两列元素P1、P2

将P1、P2的值分别代入计算得到S1=33,S2=13;

因为S1,S2>0,将P1、P2的值分别代入计算得到 sum_C1=13,sum_C2=17;

因为sum_C1<sum_C2,因此将P1的加工顺序置于P2之前;

任意选择矩阵P中的两列元素P1、P3

将P1、P3的值分别代入计算得到S1=33,S3=9;

因为S1,S3>0,将P1、P3的值分别代入计算得到 sum_C1=13,sum_C3=15;

因为sum_C1<sum_C3,因此将P1的加工顺序置于P3之前;

任意选择矩阵P中的两列元素P1、P4

将P1、P4的值分别代入计算得到S1=33,S4=4;

因为S1,S4>0,将P1、P4的值分别代入计算得到 sum_C1=13,sum_C4=16;

因为sum_C1<sum_C4,因此将P1的加工顺序置于P4之前;

任意选择矩阵P中的两列元素P1、P5

将P1、P5的值分别代入计算得到S1=33,S5=-10;

因为S1·S5<=0,且S1>0,因此将P1的加工顺序置于P5之前;

任意选择矩阵P中的两列元素P2、P3

将P2、P3的值分别代入计算得到S2=13,S3=9;

因为S2,S3>0,将P2、P3的值分别代入计算得到 sum_C2=17,sum_C3=15;

因为sum_C2>sum_C3,因此将P3的加工顺序置于P2之前;

任意选择矩阵P中的两列元素P2、P4

将P2、P4的值分别代入计算得到S2=13,S4=4;

因为S2,S4>0,将P2、P4的值分别代入计算得到 sum_C2=17,sum_C4=16;

因为sum_C2>sum_C4,因此将P4的加工顺序置于P2之前;

任意选择矩阵P中的两列元素P2、P5

将P2、P5的值分别代入计算得到S2=13,S5=-10;

因为S2·S5<=0,且S2>0,因此将P2的加工顺序置于P5之前;

任意选择矩阵P中的两列元素P3、P4

将P3、P4的值分别代入计算得到S3=9,S4=4;

因为S3,S4>0,将P3、P4的值分别代入计算得到 sum_C3=15,sum_C4=16;

因为sum_C3<sum_C4,因此将P3的加工顺序置于P4之前;

任意选择矩阵P中的两列元素P3、P5

将P3、P5的值分别代入计算得到S3=9,S5=-10;

因为S3·S5<=0,且S3>0,因此将P3的加工顺序置于P5之前;

任意选择矩阵P中的两列元素P4、P5

将P4、P5的值分别代入计算得到S4=4,S5=-10;

因为S4·S5<=0,且S4>0,因此将P4的加工顺序置于P5之前;

矩阵P中的5列元素均已两两比较,各工件的最终加工顺序为 P1P3P4P2P5

调整工件的加工顺序为P1P3P4P2P5,依次在m台机器上进行加工。

以上介绍了基于构造型启发式算法的生产线调度方法。本发明并不 限定于以上实施例,任何未脱离本发明技术方案,即仅仅对其进行本领 域普通技术人员所知悉的改进或变更,均属于本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号