一种混合流水车间调度节能控制方法转让专利

申请号 : CN201711493838.9

文献号 : CN108153268B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孟磊磊任彩乐张超勇林文文詹欣隆林海许飞冀道立易文凯

申请人 : 武汉誉德节能数据服务有限公司

摘要 :

本发明涉及一种混合流水车间调度节能控制方法。该方法包括:步骤1,确定车间能耗;步骤2,根据所述车间能耗,以MBO算法为基础,对混合流水车间调度节能问题进行优化,获得优化的混合流水车间调度节能问题;步骤3,对所述优化的混合流水车间调度节能问题进行编码,获得编码方案;步骤4,对所述编码方案进行解码,根据解码获得的数据完成工件加工。本发明的技术方案可有效降低混合流程车间调度问题的能耗,并减少能源消耗对环境的影响。

权利要求 :

1.一种混合流水车间调度节能控制方法,其特征在于,所述方法包括:步骤1,确定车间能耗;

步骤2,根据所述车间能耗,以MBO算法为基础,对混合流水车间调度节能问题进行优化,获得优化的混合流水车间调度节能问题;

步骤3,对所述优化的混合流水车间调度节能问题进行编码,获得编码方案;

步骤4,对所述编码方案进行解码,根据解码获得的数据完成工件加工。

2.根据权利要求1所述的混合流水车间调度节能控制方法,其特征在于,所述车间能耗包括机床能耗和公共能耗,所述机床能耗包括加工能耗和空闲等待能耗;

所述加工能耗表示为:PEi,k=Pi,kpti,k;

其中,i为工件序号,k为机床序号,PEi,k为工件i在机床k上的加工能耗,Pi,k为工件i在机床k上的加工功率,pti,k为工件i在机床k上的加工时间;

所述空闲等待能耗表示为:

其中,WEk,t为机床k在第t到t+1位置之间的待机能耗, 为机床k第t到t+1位置之间的待机时间, 表示机床k的待机功率,Sk,t+1为机床k上第t+1个位置的开始时间,Fk,t为机床k上第t个位置的结束时间;

所述公共能耗表示为:CE=P0Cmax;

其中,CE为加工一批任务的公共能耗,P0为公共功率,Cmax为最大完工时间。

3.根据权利要求2所述的混合流水车间调度节能控制方法,其特征在于,所述步骤2具体包括:步骤2.1,初始化种群;

步骤2.2,对领飞鸟进行最优插入和最优交换操作,产生k个邻域解,用最优邻域解替换领飞鸟,剩余未使用的x个邻域解分别存入PNL和PNR,其中,PNL和PNR为每个个体传给下一个个体的邻域解集;

步骤2.3,对左队列跟飞鸟进行最优插入和最优交换操作,产生k-x个邻域解,用该k-x个邻域解和PNL中的最优解替换该跟飞鸟,清空PNL,剩余未使用的x个邻域解存入PNL;

步骤2.4,对右队列跟飞鸟进行与步骤2.3的对应操作;

步骤2.5,当巡回次数达到设定值时,根据flag的值替换领飞鸟,并将领飞鸟移动至该队列末端,否则,执行步骤2.2,其中,flag用来标记用哪列队伍的跟飞鸟替换领飞鸟,当其等于1时,表示用左队列的第一只跟飞鸟替换领飞鸟,当其等于0时,表示用右队列的第一只跟飞鸟替换领飞鸟;

步骤2.6,循环执行步骤2.2至步骤2.5,直至种群进化代数满足设定值。

4.根据权利要求3所述的混合流水车间调度节能控制方法,其特征在于,所述步骤4具体包括:步骤4.1.1,记j=1,j为加工阶段序号;

步骤4.1.2,根据各工件在阶段j上的加工顺序依次判断每个工件i在阶段j上第k台机床上的释放时间rk和工件i在阶段j-1上的完成时间Ci,j-1之间的最大值max(rk,Ci,j-1),其中Ci,0=0;

步骤4.1.3,对于每个工件i,根据max(rk,Ci,j-1)+pti,k选择值最小的机床作为工件i的加工机床,当存在多个机床值相同时,随机选择,更新工件i在第j阶段上的加工完成时间及机床k的释放时间;

步骤4.1.4,令j=j+1;

步骤4.1.5,重复步骤4.1.2至4.1.4,直到所有阶段加工完成。

5.根据权利要求3所述的混合流水车间调度节能控制方法,其特征在于,所述步骤4具体包括:步骤4.2.1,记j=1,j为加工阶段序号;

步骤4.2.2,根据各工件在阶段j上的加工顺序依次判断每个工件i在阶段j上第k台机床上加工时所消耗的机床加工能耗Pi,kpti,k,选择Pi,kpti,k值最小的机床加工工件i,当存在多个机床值相同时,随机选择,更新工件i在第j阶段上的加工完成时间及机床k的释放时间;

步骤4.2.3,令j=j+1;

步骤4.2.4,重复步骤4.2.2至4.2.4,直到所有阶段加工完成。

6.根据权利要求3所述的混合流水车间调度节能控制方法,其特征在于,所述步骤4具体包括:步骤4.3.1,记j=1,j为加工阶段序号;

步骤4.3.2,根据各工件在阶段j上的加工顺序依次判断每个工件i在阶段j上第k台机床上加工时所增加的机床能耗步骤4.3.3,对于每个工件i,根据 选择值最小的机床作为工件i的加工机床,当存在多个机床值相同时,随机选择,更新工件i在第j阶段上的加工完成时间及机床k的释放时间;

步骤4.3.4,令j=j+1;

步骤4.3.5,重复步骤4.3.2至4.3.4,直到所有阶段加工完成。

7.根据权利要求3所述的混合流水车间调度节能控制方法,其特征在于,所述步骤4具体包括:步骤4.4.1,记j=1,j为加工阶段序号;

步骤4.4.2,根据各工件在阶段j上的加工顺序依次判断每个工件i在阶段j上第k台机床上加工时所增加的机床能耗与增加的车间公共能耗之和其中, 表示由于工件i在第j阶段

的第k台机床安排后的最大完工时间,C'max表示没有安排工件i时的最大完工时间;

步骤4.4.3,对于每个工件i,根据

选择值最小的机床作为工件i的加工机床,当存在多个机床值相同时,随机选择,更新工件i在第j阶段上的加工完成时间及机床k的释放时间;

步骤4.4.4,令j=j+1;

步骤4.4.5,重复步骤4.4.2至4.4.4,直到所有阶段加工完成。

8.根据权利要求4至7任一项所述的混合流水车间调度节能控制方法,其特征在于,对于一个工序,如果为关键工序,则不可移动;如果为非关键工序,则在约束条件下移动;其中,在车间调度问题中,一个可行调度中工序间无时间间隔的最长路径称为关键路径。

9.根据权利要求8所述的混合流水车间调度节能控制方法,其特征在于,所述移动的目的包括关机重启和延迟开机。

10.根据权利要求9所述的混合流水车间调度节能控制方法,其特征在于,当所述移动的目的为关机重启时,两个关键工序之间非关键工序移动前的前后空闲时间段长度为ΔA和ΔB,移动之后的前后空闲时间段长度为ΔA'和ΔB',Δ为该非关键工序在两相邻阶段间处于未加工状态的时间段长度,该非关键工序的最大移动范围为Δ'=min(ΔB,Δ)。

说明书 :

一种混合流水车间调度节能控制方法

技术领域

[0001] 本发明涉及计算机应用技术领域,具体涉及一种混合流水车间调度节能控制方法。

背景技术

[0002] 混合流水车间调度问题(hybrid flow-shop scheduling problem,HFSP),又称柔性流水车间调度问题,广泛存在于机械、物流、钢铁和纺织等工业领域。目前,以流水车间内机床批量化加工工件为例,HFSP研究主要集中在如何最小化总完工时间与最小化总流程时间等问题上,这些指标侧重于生产效率。但是,随着生产力的不断提高以及经济的快速发展,全球对能源的需求量日益增加,能源消耗所造成的环境问题也日益突出。但是,针对HFSP的能耗控制还没有有效的解决方案。

发明内容

[0003] 为了有效降低混合流程车间调度问题的能耗,并减少能源消耗对环境的影响,本发明提供一种混合流水车间调度节能控制方法。
[0004] 本发明提供了一种混合流水车间调度节能控制方法,该方法包括:
[0005] 步骤1,确定车间能耗;
[0006] 步骤2,根据所述车间能耗,以MBO算法为基础,对混合流水车间调度节能问题进行优化,获得优化的混合流水车间调度节能问题;
[0007] 步骤3,对所述优化的混合流水车间调度节能问题进行编码,获得编码方案;
[0008] 步骤4,对所述编码方案进行解码,根据解码获得的数据完成工件加工。
[0009] 本发明提供的混合流水车间调度节能控制方法的有益效果是,针对混合流水车间调度问题,以包括多台加工工件的机床的混合流水车间的能源消耗为基础,以控制整体能耗为指标,根据MBO算法对混合流水车间调度节能问题进行优化,通过编码和解码获得数据指导完成工件加工,有效降低了混合流程车间调度问题中的能耗,并减少能源消耗对环境的影响。

附图说明

[0010] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0011] 图1为本发明实施例的一种混合流水车间调度节能控制方法的流程示意图;
[0012] 图2为本发明实施例的MBO算法的流程示意图;
[0013] 图3为本发明实施例中两关键工序之间非关键工序移动前后图;
[0014] 图4为本发明实施例中两关键工序之间非关键工序移动前后图。

具体实施方式

[0015] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0016] 以具有多台用于加工工件的机床的车间为研究对象,在工件加工过程中,需要对各工件和机床加工任务进行合理调度,以实现降低整体能耗的目标。
[0017] 首先对模型的符号进行定义。记i为工件序号,n为工件总数,I为工件集合{1,2,…,n},且i∈I;j为加工阶段序号,S为加工阶段总数,J为加工阶段集合{1,2,…,S},且j∈J;k为机床编号,m为机床总数,mj为加工阶段j的并行机数,Kj为加工阶段j的并行机床集合{1,2,…,mj},K为总机床集合{1,2,…,m};t为机床位置序号,POS为机床位置集合{1,
2,…,n},且t∈POS;pti,k为工件i在机床k上的加工时间,Pi,k表示工件i在机床k上的加工功率, 表示机床k的待机功率,M为一个极大正数。EnergySk表示机床k关机重启一次所需要的能耗,Tk表示机床k关机重启一次所需要的时间,TBk表示机床k的空载平衡时间;Bi,j为工序Oi,j的开始时间,Ei,j为工序Oi,j的完工时间;Sk,t为机床k上第t个位置的开始时间,Fk,t为机床k上第t个位置的结束时间;Cmax为最大完工时间。
[0018] 如图1所示,本发明实施例的一种混合流水车间调度节能控制方法包括:
[0019] 步骤1,确定车间能耗。
[0020] 步骤2,根据所述车间能耗,以MBO算法为基础,对混合流水车间调度节能问题进行优化,获得优化的混合流水车间调度节能问题。
[0021] 步骤3,对所述优化的混合流水车间调度节能问题进行编码,获得编码方案。
[0022] 步骤4,对所述编码方案进行解码,根据解码获得的数据完成工件加工。
[0023] 车间能耗主要包括机床能耗、公共能耗两部分,机床能耗主要包括加工能耗以及空闲等待能耗。机床主要包括停机、启动、关机、待机、加工5种状态。
[0024] (1)加工能耗
[0025] 加工能耗是指机床处于加工状态所消耗的能耗,工件i在机床k上的加工能耗PEi,k可表示为:
[0026] PEi,k=Pi,kpti,k。
[0027] 总加工能耗PE可表示为:
[0028]
[0029] 其中,Xi,k为0-1变量,表示如果工件i选择在机床k上加工,则Xi,k=1,否则,Xi,k=0。
[0030] (2)空闲等待能耗
[0031] 空闲等待能耗是指机床由于工件未到达,而出现闲置状态所消耗的能量,机床k第t到t+1位置之间的待机能耗WEk,t可表示为:
[0032]
[0033] 其中, 为机床k第t到t+1位置之间的待机时间。
[0034] 机床k的总待机能耗WEk可表示为:
[0035]
[0036] 所有机床总待机能耗WE可表示为:
[0037]
[0038] (3)公共能耗
[0039] 公共能耗是指车间公共设施的能源消耗,是指为了维持车间正常运行,所必须消耗的能源,主要包括照明、通风、采暖、空调等耗能的总和,其为公共功率P0与最大完工时间Cmax的乘积,加工一批任务的公共能耗CE可表示为:
[0040] CE=P0Cmax。
[0041] (4)车间总能耗
[0042] 因此,车间总能耗TEC为总加工、总待机以及公共能耗之和,可表示为:
[0043]
[0044] 当机床待机时间段Sk,t+1-Fk,t比较长时,可以实施关机重启策略,节约机床待机能耗。可以实行关机重启策略的最短空闲时间,即空载平衡时间为:
[0045]
[0046] 其中,Tk表示机床k一次关机重启策略所需要的时间,包括一次关机、开机、预热、程序准备时间等,是从开始关机到机床恢复准备加工状态所需的所有时间,而非一次关机、开机时间。EnergySk表示机床k一次关机重启策略所需要的能耗,其中包括机床关机、开机、机床预热、程序准备等阶段所需要的能耗,而非只是关机、开机能耗,空载平衡时间TBk表示机床在空载的过程中,当空载的时间不小于一次关机重启策略所需要的时间Tk,且机床空载所消耗的能耗不小于机床一次关机重启所需要的能耗EnergySk时才可实施关机重启策略。
[0047] 引入关机重启策略后,待机段能耗WEk,t可表示为,
[0048]
[0049] 其中Energyk,t表示机床k上第t到t+1位置间的能耗(待机能耗或者关机重启能耗)。
[0050] 引入关机重启策略后,车间总能耗可表示为,
[0051]
[0052] 需要注意的是,由于机械加工车间中能耗部分很多,还包括传动带、叉车、吊车等的传输能耗,同一机床加工不同工件间的调整能耗等,因为本申请不考虑不同机床间的传输距离、传输时间、以及机床调整时间等,则相应的能耗也不再考虑。
[0053] MBO算法灵感来源于候鸟迁徙过程中V字形队列能够减少能量损耗这一生物现象。众所周知,单独候鸟在飞行过程中,翅膀扇动会让周围的空气流动进而形成旋涡,这股气流由中央向下流动,形成的压强对于后面飞行的候鸟有上升的作用,后方的候鸟利用这种压强可以节省自身消耗的能量,所以相比独自飞行,以V字形队伍飞行能够节省能量,进而提高候鸟群的飞行距离。
[0054] 如图2所示,MBO算法分为四个阶段,分别为:鸟群初始化、领飞鸟进化、跟飞鸟进化和领飞鸟替换。算法步骤介绍如下:
[0055] (1)鸟群初始化:用于产生整个候鸟群(包括左队列候鸟和右队列候鸟);
[0056] (2)领飞鸟进化:领飞鸟是指队列的第一只候鸟,领飞鸟进化指对领飞鸟进行邻域搜索,并用产生的邻域解中的最好解替代领飞鸟;
[0057] (3)跟飞鸟进化:在该跟飞鸟邻域搜索后获得的邻域解和该跟飞鸟前面的候鸟的邻域解中未使用的较好解中寻找最好解替换该跟飞鸟;
[0058] (4)领飞鸟替换:经过一定次数(巡回次数)的领飞鸟进化和跟飞鸟进化后,领飞鸟移动到左或右队列的尾部,领飞鸟后面的候鸟(左或右队列)成为新的领飞鸟。
[0059] 上述过程一直进行到满足一定准则,然后输出最好的候鸟作为问题的解。
[0060] 为方便阐述,定义以下变量:PSize为种群大小,k为领飞鸟产生邻域解的数量,x为每个个体传给下一个个体的邻域解数量,G为巡回次数,PNL(PNR)为每个个体传给下一个个体的邻域解集,flag用来标记用哪列队伍的跟飞鸟替换领飞鸟,当其等于1(0)时,表示用左队列(右队列)的第一只跟飞鸟替换领飞鸟。
[0061] 本发明实施例中解决混合流水车间的MBO算法流程如下:
[0062] 步骤2.1,初始化实验参数,初始化种群。
[0063] 步骤2.2,对领飞鸟进行最优插入和最优交换操作,产生k个邻域解,用最优邻域解替换领飞鸟,剩余未使用的x个邻域解分别存入PNL和PNR。
[0064] 步骤2.3,对左队列跟飞鸟进行最优插入和最优交换操作,产生k-x个邻域解,用该k-x个邻域解和PNL中的最优解替换该跟飞鸟,清空PNL,剩余未使用的x个邻域解存入PNL。
[0065] 步骤2.4,对右队列跟飞鸟进行与步骤2.3的相似操作。
[0066] 步骤2.5,若巡回次数达到设定值,根据flag的值替换领飞鸟,并将领飞鸟移动至该队列末端。否则,执行步骤2.2。
[0067] 步骤2.6,循环执行步骤2.2~步骤2.5,直至种群进化代数满足设定值。
[0068] 设计邻域结构是为了让种群朝着所期望的方向进化。在MBO算法中,除领飞鸟外,其他所有个体的邻域解集由两部分组成,即自己产生的邻域解和前面个体未使用的邻域解。在本实施例中,采用的邻域结构基于最优插入操作和最优交换操作。
[0069] 最优插入操作,即随机选择一个工件j,将j从原工件序列π中删除,得到有n-1个工件的新工件序列π’,工件j在工件序列π中有n个可插入位置,分别计算工件j插入这些位置后的目标函数值,取目标函数值最小的情况,进而得到经过最优插入操作后的最优工件序列。
[0070] 最优交换操作,即随机选择一个工件j,分别将工件j和工件序列的其他所有位置的工件交换位置,共有n-1次交换操作,计算所有交换操作执行后的目标函数值,取目标函数值最小的情况,进而得到经过最优交换操作后的最优工件序列。
[0071] 在本实施例中,对于每个个体,分别有0.5的概率执行最优插入操作和最优交换操作,即随机产生一个0~1的随即数r,若r<0.5,则对该个体执行最优插入操作,否则,对该个体执行最优交换操作。
[0072] 种群初始化需要考虑种群的多样性,因此种群中个体采用随机策略产生,且要求新产生的个体不同于当前种群中的任何个体,并以种群中的最好个体作为领飞鸟。
[0073] 采用排列编码的方式对HFSP模型进行编码。取所有工件序号的排列作为一个个体,然后在第一阶段按照各个工件在该排列中的位置,依次对工件进行机床选择。例如4个工件的情况,工件序列{1,2,3,4},表示在第一阶段,先为工件1安排机床,然后依次为工件2、3、4安排机床。
[0074] 以最小化能耗为目标的HFSP需要考虑车间机床加工能耗,机床待机能耗,车间公共能耗等,因此,本实施例针对以最小化能耗的HFSP提出4种解码方法。
[0075] (1)基于最小化最大完工时间的解码方法
[0076] 因为不同的车间,公共能耗大小不同,要求较高的车间,公共功率则比较大,则最大完工时间对总能耗的影响比较大。因此解码方法1采用最小化完工时间的解码方法,其步骤如下:
[0077] 步骤4.1.1,记j=1。
[0078] 步骤4.1.2,根据各工件在阶段j上的加工顺序依次判断每个工件i在阶段j上第k台机床上的最早允许加工时间,即机床k的释放时间rk和工件i在阶段j-1上的完成时间Ci,j-1之间的最大值max(rk,Ci,j-1),其中Ci,0=0。
[0079] 步骤4.1.3,对于每个工件i,根据max(rk,Ci,j-1)+pti,k选择值最小的机床作为工件i的加工机床,当存在多个机床值相同时,随机选择,更新工件i在第j阶段上的加工完成时间及机床k的释放时间。
[0080] 步骤4.1.4,令j=j+1。
[0081] 步骤4.1.5,重复步骤4.1.2至4.1.4,直到所有阶段加工完成。
[0082] (2)基于机床加工能耗的解码方法
[0083] 基于机床加工能耗的解码方法是指在解码过程中选择机床加工能耗最小的机床。
[0084] 步骤4.2.1,记j=1。
[0085] 步骤4.2.2,根据各工件在阶段j上的加工顺序依次判断每个工件i在阶段j上第k台机床上加工时所消耗的机床加工能耗Pi,kpti,k,选择Pi,kpti,k值最小的机床加工工件i,当存在多个机床值相同时,随机选择,更新工件i在第j阶段上的加工完成时间及机床k的释放时间。
[0086] 步骤4.2.3,令j=j+1。
[0087] 步骤4.2.4,重复步骤4.2.2至4.2.4,直到所有阶段加工完成。
[0088] (3)基于机床能耗的解码方法
[0089] 当公共功率比较小的时候,机床能耗对总能耗影响较大,因此,解码方法3基于机床能耗(加工能耗+待机能耗),即选择增加的机床能耗(空闲等待+加工能耗)最小的机床进行加工。其步骤如下:
[0090] 步骤4.3.1,记j=1。
[0091] 步骤4.3.2,根据各工件在阶段j上的加工顺序依次判断每个工件i在阶段j上第k台机床上加工时所增加的机床能耗,即工件i在机床k上加工时所增加的机床加工能耗加上机床待机能耗,其计算公式为
[0092]
[0093] 步骤4.3.3,对于每个工件i,根据 选择值最小的机床作为工件i的加工机床,当存在多个机床值相同时,随机选择,更新工件i在第j阶段上的加工完成时间及机床k的释放时间;
[0094] 步骤4.3.4,令j=j+1。
[0095] 步骤4.3.5,重复步骤4.3.2至4.3.4,直到所有阶段加工完成。
[0096] (4)基于车间总能耗的解码方法
[0097] 解码方法4同时考虑机床能耗与公共能耗的影响。 表示由于工件i在第j阶段的第k台机床安排后的最大完工时间;C'max表示工件没有安排工件i时的最大完工时间,由于流水车间的特性。解码方法4的步骤如下:
[0098] 步骤4.4.1,记j=1。
[0099] 步骤4.4.2,根据各工件在阶段j上的加工顺序依次判断每个工件i在阶段j上第k台机床上加工时所增加的机床能耗与增加的车间公共能耗之和,其计算公式为其中, 表示由于工件i在第j阶段的第k台机床安排后的最大完工时间,C'max表示没有安排工件i时的最大完工时间。
[0100] 步骤4.4.3,对于每个工件i,根据选择值最小的机床作为工件i的加工机床,当存在多个机床值相同时,随机选择,更新工件i在第j阶段上的加工完成时间及机床k的释放时间。
[0101] 步骤4.4.4,令j=j+1。
[0102] 步骤4.4.5,重复步骤4.4.2至4.4.4,直到所有阶段加工完成。
[0103] 在车间调度问题中,一个可行调度中工序间无时间间隔的最长路径称为关键路径(critical path),其长度等于该调度的最大完工时间。属于关键路径上的每道工序称为关键工序。在混合流水车间中,一台机床上可能存在多个关键工序,也可能不存在关键工序。
[0104] 对于一个工序,如果为关键工序,则不可移动;若为非关键工序,则在一定约束条件下可以移动。由于解码方法的限制,每个工序按最早开始时间解码,因此所有工序没有左移的空间,只能向右移动。考虑流水车间自身的特点,所有右移从最后一阶段机床到第二阶段机床依次进行,第一阶段不进行移动,同一阶段机床上工序的移动是独立的,不会互相影响。所有机床开机时间不同,按照具体调度方案,依据机床上的第一道工序的开始时间进行开机。本实施例分两种情况进行移动,移动1是为了使较长待机时间段尽量可以实行开机重启策略,从而减少机床待机能耗。移动2目的是缩短待机时间段及延迟机床的开机时间,从而减少能耗。
[0105] 移动1,关机重启策略
[0106] 对于两个关键工序之间的非关键工序,在一定约束条件下可以适当移动该工序,移动的目的是调整非关键工序与前后两个关键工序之间的空闲时间段长度,使其尽可能可以实现关机重启,进而减少能耗。如图3和4所示,是两关键工序之间非关键工序移动前后对比图,其中移动前的前后空闲时间段长度为ΔA和ΔB,移动之后为ΔA'和ΔB',Δ为该非关键工序在两相邻两阶段间处于未加工状态的时间段长度,该非关键工序的最大移动范围为Δ'=min(ΔB,Δ)。
[0107] 对于图3的情况,可以直接移动非关键工序使ΔB=0,然后判断ΔA'是否可以实行关机重启即可。因此,下面只分情况讨论图4这种情况时工件Ji的移动,其中,若移动前后能耗相同,则选择关机重启次数少的方案;若移动前后能耗相同且关机重启次数也相同,则采用移动的方案,因为这可能为工件Ji在阶段j-1创造移动空间。记移动前能耗为mbE,移动前但实施关机重启策略时能耗为mbsE且记此时的关机重启次数为N1,移动后并实行关机重启策略后的能耗为masE,对应的关机重启次数为N2。
[0108] 由以上讨论,可得出移动前能耗mbE=Pidle*ΔA+Pidle*ΔB。
[0109] (1)ΔA≥TB且ΔB≥TB
[0110] 移动前ΔA,ΔB执行关机重启,mbsE=2*EnergyS≤mbE,N1=2。
[0111] 1)如果移动后,ΔB'≥TB,则对移动后的ΔA',ΔB'段分别实行一次关机重启策略,移动后能耗masE=2*EnergyS=mbsE,N2=2。
[0112] 2)如果移动后ΔB'<TB,则应对移动后的ΔA'实行一次关机重启策略,ΔB'待机,对应能耗为masE=EnergyS+Pidle*ΔB',N2=1。此时masE与mbsE的大小需要讨论:
[0113] ①如果 则masE≤mbsE,因此最终策略是尽量右移工件Ji,ΔA'实行一次关机重启策略,ΔB'待机;
[0114] ②如果 则mbsE<masE,那么在保证ΔB'≥TB前提下,尽可能右移,ΔA',ΔB'实行一次关机重启策略。
[0115] (2)ΔA≥TB且ΔB
[0116] 尽可能右移,减少ΔB待机长度。
[0117] (3)ΔA
[0118] 移动前ΔA,ΔB待机,mbsE=Pidle*ΔA+Pidle*ΔB=mbE,N1=0。
[0119] 1)如果移动后ΔA'≥TB,则对ΔA'段实行一次关机重启策略,阶段ΔB'保持待机,此时能耗为masE=EnergyS+Pidle*ΔB'≤mbsE,N2=1。
[0120] 2)如果移动之后ΔA'<TB,则ΔA',ΔB'都保持待机。
[0121] (4)ΔA
[0122] 移动前ΔA待机,ΔB关机重启,mbsE=Pidle*ΔA+EnergyS≤mbE,N1=1。
[0123] 1)如果移动后,ΔA'≥TB,ΔB'<TB,则ΔA'关机重启,ΔB'待机,对应能耗为masE=EnergyS+Pidle*ΔB',N2=1。此时masE与mbsE的大小需要讨论:
[0124] ①如果ΔA≥ΔB',则masE≤mbsE,最终策略是尽量右移工件Ji,对ΔA'段实行一次关机重启策略,ΔB'保持待机。
[0125] ②如果ΔA<ΔB',mbsE<masE,最终策略是不移动,ΔA待机,ΔB关机重启。
[0126] 2)如果移动后,ΔA'≥TB,ΔB'≥TB,则对ΔA'与ΔB'段分别实行一次关机重启策略,对应能耗为masE=2*EnergyS,N2=2。此时masE与mbsE的大小需要讨论:
[0127] ①若 则masE≤mbsE,最终策略是最终策略是尽量右移工件Ji,对ΔA'与ΔB'段分别实行一次关机重启策略。
[0128] ②若 则masE>mbsE,最终策略是不移动,ΔA待机,ΔB关机重启。
[0129] 3)如果移动后,ΔA'<TB,不移动,ΔA保持待机,ΔB实行一次关机重启策略。
[0130] 移动2,延迟开机策略
[0131] 在移动2中,规定除了移动1中的情况和每台机床上的最后一个工序,其他非关键工序在一定约束条件下均向右移动。这样做的目的是尽可能延迟开机时间和缩小待机时间段。
[0132] 因为情况太多,如两个关键工序之间存在两个或多个非关键工序情况、最后一个关键工序后面的工序等情况,因为这些移动之间交互作用太强,想设计具体的移动准则特别困难,因此除移动1与移动2情况,其他的情况都不再进行移动,直接判别两工序之间的空闲时间段,符合关机重启策略的就关机重启,否则保持空闲待机。
[0133] MBO算法以C++为编程语言,在Visual Studio2010开发环境中运行,采用候鸟优化算法相关参数的取值,即种群大小PSize=51,巡回次数G=10,领飞鸟产生邻域解数量k=3,每个个体传给下一个个体的邻域解数量x=1。
[0134] 测试实例有41组,其中37组实例名字以“EX”开头,其加工时间数据及能耗相关数据见附录表1-表3。37组实例的名字中包含两个(x-z)或三个数字(x-y-z),第一个数字x表示第x个实例,最后一个数字z表示工件数,中间的数字y(如果有)表示取对应实例的前y个阶段;以“j10c5”开头的4组实例的加工时间数据及能耗不再给出。
[0135] 表1
[0136]
[0137] 表2
[0138]
[0139]
[0140] 表3
[0141]
[0142] 为验证实施例在移动策略和关机重启策略的有效性,分别采用添加移动策略和关机重启策略的MBO算法(记为Move-SwitchMBO)和没有添加以上策略的MBO算法(记为Non-Move-SwitchMBO)对41组实例进行求解,在这里我们仅取基于完工时间的解码方法(DM1)和基于车间总能耗的解码方法(DM4)做测试。表4是当公共功率为20时两种情况的对比结果,表中第1列为实例的名字,最后两列指无移动和关机重启策略的MBO算法求得的结果(r1)相对于有移动和关机重启策略的MBO算法求得的结果(r2)的百分比偏差,其计算方式为[0143] 表4
[0144]
[0145] 从表4中最后两列的百分比偏差可以看出,41组实例中有37组实例的Non-Move-Switch MBO求得的结果大于Move-Switch MBO求得的结果,也就是说本文提出的移动和关机重启策略确实能够减少车间能量消耗。进一步对比Move-Switch MBO求解的结果与Non-Move-Switch MBO求解的结果:对于基于最大完工时间的解码方法,Move-Switch MBO求得的结果最多比Non-Move-Switch MBO求得的结果小7.98%(实例j10c5b1);对于基于车间总能耗的解法方法,Move-Switch MBO求得的结果最多比Non-Move-Switch MBO求得的结果小3.31%(实例j10c5b1)。对于机械制造业这种高能耗企业,这将为企业节约可观的能耗。因此可以说,本发明提出的移动和关机重启策略是有效的,它能够有效的减少机床待机能耗,进而减少车间的总能耗。
[0146] 读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0147] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。