本发明属于作业车间分批调度优化技术领域,用于解决作业车间分批调度组合优化问题,涉及一种基于新型邻域结构的作业车间分批调度方法。
背景技术:
车间调度作为企业生产制造执行管理系统的一个基本组成部分,对于提高车间生产制造效率有重要作用,得到了广泛的研究。基于智能算法的车间调度能够根据车间生产的实际情况,合理地安排生产资源,减小人工经验安排带来的机器负荷不均匀,调度计划频繁变更的问题。
经典的作业车间调度问题中,假设每一种工件只加工一个,这与实际生产过程中工件批量加工的生产方式不符,因而限制了经典作业车间调度问题在实际生产中的应用。对作业车间进行分批调度能减小机器空闲时间、缩短最大完工时间。作业车间分批调度问题包含两个子问题:批量划分和对各个子批的加工排序。研究作业车间分批调度的方法,就是先按照合适的批量划分策略为每一类工件确定合适的批量,并且将每一个工件子批看作一个整体进行调度;再按照混合算法对分批后的各个子批进行调度求解。
对于批量划分问题,根据批量划分策略的不同可以分为等量分批、一致子批和可变子批三种方法,由于等量分批方法操作简单、易于实现,本发明采用等量分批进行批量划分。对于加工排序问题,求解方法主要分为两大类:精确方法和近似方法。精确方法主要包括分解方法、拉格朗日松弛法、分支定界法、数学规划方法等,能够保证求出问题的全局最优解,但只适用于解决小规模的问题。近似方法主要包括遗传算法、粒子群算法和蚁群算法,模拟退火算法、禁忌搜索算法等。大量的研究显示仅仅依靠单一智能算法难以很好的解决复杂的车间调度题,将多种算法有机的结合起来有着更强大的搜索求解能力,使得混合优化算法能快速求解出更高质量的解。遗传算法基于“物竞天择,适者生存”的进化机制对种群进行遗传操作的全局优化算法,具有很强的全局搜索能力和并行搜索能力,但是有容易早熟收敛、局部搜索能力较差的缺点;禁忌搜索算法在每次迭代中从一个解出发搜索该解的邻域解空间,能够快速地求解复杂组合优化问题,具有较强的局部搜索能力,但是其求解质量严重依赖于初始解的好坏,原因在于在进行搜索的过程中容易把解空间中一些有希望改善当前解的区域忽略掉,而且不具备遗传算法的全局搜索能力。本发明提供一种基于新型邻域结构的作业车间分批调度方法。
技术实现要素:
针对现有技术存在的缺陷,本发明为了克服对分批调度问题研究的不足,提供一种基于新型邻域结构的作业车间分批调度方法,对于作业车间调度问题的两个子问题,同时求解难度较大,因此,该方法采用两阶段求解算法分别完成批量划分和对分批后的各个子批进行加工排序,得到最优调度结果,从而解决加工过程中部分机器空闲时间过长、机器负荷不均衡的问题,减小最大完工时间,提高车间的生产效率,进而减小产品制造周期,降低企业生产成本。
在进行加工排序时,所设计的混合算法分别综合利用遗传算法和禁忌搜算法的优点,通过提出新的邻域结构和移动评价策略,并将改进的禁忌搜索算法嵌入到遗传算法的选择操作中,通过对种群中质量较好的几个个体进行禁忌搜索以改善其质量,进而提高混合算法的性能。
本发明的技术方案:
一种基于新型邻域结构的作业车间分批调度方法,是通过批量划分策略进行批量划分,通过混合算法对分批后的各个子批进行加工排序,得到调度结果,确定各个子批工件在机器上的加工先后顺序,并得到最大完工时间;具体流程如下:
先建立作业车间分批调度问题的数学模型:
目标函数:
其中,cmax表示最大完工时间,c(ji)表示工件ji的最大完工时间,j表示工件集合;
约束条件:
(1)工艺约束:同一子批的相邻工序间加工顺序存在先后约束关系,
stijpk-etij(p-1)k′≥0
(2)资源约束:在同一台机器上,只有当前一道工序完成加工后才能对后续工序进行加工,
sti′j′p′k-etijpk≥0
(3)分批约束:同一工件各个子批所含工件数量之和等于该工件的总批量,
其中,stijpk表示第i类工件的第j个子批的第p道工序在机器k上的开始加工时间,etij(p-1)k′表示第i类工件的第j个子批的第p-1道工序在机器k′上的结束加工时间,sti′j′p′k表示第i′类工件的第j′个子批的第p′道工序在机器k上的开始加工时间,etijpk第i类工件的第j个子批的第p道工序在机器k上的结束加工时间,si表示第i类工件的子批数,xij表示第i类工件的第j个子批所含工件数量,di表示第i类工件的总批量;
分批调度方法的具体步骤为:
步骤1:输入求解的分批调度问题,包括加工工件的种类、数量、加工时间和加工机器,设置当前最优解为+∞;
步骤2:对所有工件按照整批加工的方式,即所有工件子批数设置为1;
步骤3:采用混合算法对分批后的各个子批进行加工排序,得到该分批方案下的最优调度结果,判断该调度结果是否由于当前最优解,若优于,则更新当前最优解;
步骤4:判断当前批量划分方案下的调度结果是否满足车间要求,若满足,则转到步骤6,若不满足,则转到步骤5;
步骤5:采用批量划分策略对工件进行重新分批,转到步骤3;
步骤6:输出当前最优解;
其中,步骤3为了对分批后的各个子批进行加工排序,所采用的混合算法具体步骤为:
步骤3.1:按照一定调度规则初始化种群,生成p个可行调度解,p为种群规模;
步骤3.2:对种群中的个体进行适应度评价;
步骤3.3:判断是否达到算法终止条件,若满足则输出最优解,否则转到步骤3.4;
步骤3.4:按照选择策略选择个体进入下一代种群;
步骤3.5:在进行选择操作时,对种群中质量比较好的个体进行禁忌搜索,直接保留到下一代;
步骤3.6:以交叉概率pc对种群中个体进行交叉操作;
步骤3.7:以变异概率pm对种群中个体进行变异操作;
步骤3.8:生成得到新一代的种群,返回到步骤3.2。
其中,步骤3.5为了改善种群中质量比较好的个体,所采用的禁忌搜索算法具体步骤为:
步骤3.5.1:输入初始解,并设为当前解和最好解;
步骤3.5.2:判断是否达到算法终止条件,若满足则输出最好解,否则转到步骤3.5.3;
步骤3.5.3:按照一定邻域结构生成当前解的邻域解集;
步骤3.5.4:按照设计的移动评价策略对邻域解集中的解进行移动评价;
步骤3.5.5:判断是否满足特赦准则,若满足则将满足特设准则的解解禁,设为当前解和最好解;若不满足则在邻域解集的非禁忌对象中选择最好的解设为当前解;
步骤3.5.6:更新禁忌表,返回步骤3.5.2。
本发明的有益效果:
1.考虑到车间实际加工时,工件是按照批量加工的方式进行加工,研究作业车间分批调度问题,对工件进行合理的批量划分能减小机器的空闲时间和最大完工时间;
2.针对作业车间分批调度问题的两个子问题,通过提出两阶段的求解算法,先采用等量分批的方法确定批量划分方案,然后利用混合算法对分批后的子批进行加工排序。与同时求解这两个子问题的集成方法相比,两阶段的求解算法操作简单,求解效率更高。
3.在进行批量划分的混合算法设计中,通过将禁忌搜索算法嵌入到遗传算法的选择操作中,通过对种群中质量较好的几个个体进行局部搜索以改善其质量,解决遗传算法局部搜索能力不足的问题。
4.在禁忌搜索算法的设计中,通过设计新的邻域结构,在保证连通性、移动可行性的基础上,不遗漏能减小最大完工时间的移动操作,以提高算法搜索效率和性能。
5.在禁忌搜索算法的设计中,通过设计新的移动评价策略,在保证移动评价精度的前提下,减小移动评价公式的复杂性,减小计算时间,提高算法搜索速度。
附图说明
图1为本发明所述的算法详细流程图。
图2为一个调度解的析取图表示。
图3为所提出的邻域结构。
具体实施方式
以下结合附图和技术方案,进一步说明本发明的具体实施方式。
一、作业车间分批调度方法的流程图
图1是本发明实施例中提供的一种基于新型邻域结构的作业车间分批调度方法算法流程图。参见图1,在本实例中,针对作业车间分批调度的两个子问题——批量划分和加工排序,先对所有工件按照整批加工的方式进行调度;然后按照批量划分策略对工件进行重新分批,根据批量划分方案,采用混合算法对分批后的各个子批进行加工排序,得到该分批方案下的最优调度结果与当前最优解进行对比,若优于则更新当前最优解;如此重复多次批量划分和加工排序,直至调度结果满足车间要求,则输出当前最优解。
二、作业车间分批调度问题模型
一个3类工件在3台机器上加工的作业车间分批调度问题实例
上述表示的一个3类工件在3台机器上加工的实例,作业车间调度问题可以描述为n个独立的工件在m台机器上加工,记机器集为m={m1,m2,…,mm},工件集为j={j1,j2,…,jn},任一类工件ji(i=1,2,…,n)且包含ni个有固定加工顺序的工序,即
优化目标函数为:
其中,c(ji)表示工件ji的完工时间。
约束条件为:
1)工艺约束——同一类工件子批的相邻工序间加工顺序存在先后约束关系,
stijpk-etij(p-1)k′≥0
2)资源约束——在同一台机器上,只有当前一道工序完成加工后才能对后续工序进行加工。
sti′j′p′k-etijpk≥0
3)分批约束——同一类工件各个子批所含工件数量之和等于该工件的总批量,
其中,stijpk表示第i类工件的第j个子批的第p道工序在机器k上的开始加工时间,etij(p-1)k′表示第i类工件的第j个子批的第p-1道工序在机器k′上的结束加工时间,sti′j′p′k表示第i′类工件的第j′个子批的第p′道工序在机器k上的开始加工时间,etijpk第i类工件的第j个子批的第p道工序在机器k上的结束加工时间,si表示第i类工件的子批数,xij表示第i类工件的第j个子批所含工件数量。
三、调度解的析取图模型表示
结合图2给出的调度解的析取图模型表示,为了表示方便,图2中将问题实例中的每一类工件看作一个整体进行加工。析取图模型定义为g=(n,a,e),其中,n={oij|i=1,2,…,n;j=1,2,…,ni}∪{0,*}表示由所有工序所构成的节点集,0和*分别代表两个虚拟的起始工序和终止工序;
对于析取图g中的一道工序x,将连接弧集中在工序x之前(之后)加工的紧邻工序称为工序x的工件前继工序(工件后继工序),分别记做jp[x]和js[x]。将析取弧集中在工序x之前(或之后)加工的紧邻工序称为工序x的机器前继工序(或者机器后继工序),分别记做mp[x]、ms[x]。
四、关键路径和工序块
关键路径定义为析取图g中从起始工序到终止工序的最长路径,其长度等于调度解的最大完工时间。将关键路径上的工序成为关键工序关键路径可以分成若干个工序块,每个工序块是由同一台机器上最大序列的相邻工序组成,处于块首位的工序称为块首工序,处于块末位的工序成为块尾工序,其他的称为块内工序。
五、结合作业车间调度问题模型,给出作业车间分批调度方法的详细流程如下:
步骤1:输入求解的分批调度问题,包括加工工件的种类、数量、加工时间,加工机器等信息,设置当前最优解为+∞。
步骤2:对所有工件按照整批加工的方式,即所有工件子批数设置为1。
步骤3:采用混合算法对分批后的各个子批进行加工排序,得到该分批方案下的最优调度结果,判断该调度结果是否优于当前最优解,若优于,则更新当前最优解,混合算法的具体流程为:
步骤3.1:按照一定调度规则初始化种群,生成p个可行调度解,p为种群规模。
初始化种群采用的调度规则包括工序时间优先规则、工序数目优先规则、随机规则。
工序时间优先规则指的是若一个工件剩余工序的加工时间越多,则优先调度该工件。
工序数目优先规则是指若一个工件待调度工序的数目越多,则优先调度该工件。
随机规则是指按照生成的随机数对工件工序进行调度。
步骤3.2:对种群中的个体进行适应度评价。
算法是以最小化最大完工时间作为目标函数,即
步骤3.3:判断算法的迭代次数是否达到最大迭代次数d,若满足则输出最优解,否则转到步骤3.4。
步骤3.4:按照选择策略选择个体进入下一代种群。
算法采用轮盘赌选择加精英保留、锦标赛和随机选择三者相结合的方式进行选择操作,三种方法选择的个体数量比例分别为0.25、0.6、0.15。
轮盘赌选择是根据个体适应度值的大小来选择相应的染色体体,个体适应度越大,则被选中的概率也越大。精英保留法是将父代中的六个最优染色体直接保留到下一代种群中。
锦标赛选择是从种群中选出两个个体,将其中最好的一个个体直接保留到下一代种群中,重复进行该操作,直到选取的个体数量达到0.6p。
步骤3.5:在进行选择操作时,选取种群中个体进行禁忌搜索,直接保留到下一代,
具体过程为:在进行精英保留法选择时,对种群中质量最好的六个体进行禁忌搜索。以改善这六个个体的质量,并将搜索后的结果直接保留到下一代。
所述的禁忌搜索过程如下:
步骤3.5.1:从这六个个体中选择一个作为初始解,并设为当前解和最好解;
步骤3.5.2:判断是否达到算法终止条件,若满足则输出最好解,否则转到步骤3.5.3;
步骤3.5.3:按照所述的邻域结构生成当前解的邻域解集;
结合图3给出所述的新型邻域结构,如下所示:
①将块内工序移动到块首工序之前或块尾工序之后;
②将块首工序或块尾工序移动到工序块内部;
③将块首工序移动到块尾工序之后,或将块尾工序移动到块首工序之前。
所述邻域结构的理论基础是:将一道块内工序移动到另一道块内工序之前或之后都不能减小最大完工时间。
步骤3.5.4:按照所述的移动评价策略对邻域解集中的解进行移动评价;
所述的移动评价策略为:设析取图g中的一条关键路径cp上存在一个工序块b,工序块b上存在从工序u到v的工序序列q={u,l1,…,lk,v},按照所述的邻域结构对工序块b上的工序u和v进行移动。
对于工序w∈b,工序w的头时间rw定义为从起始工序到工序w的最长路径长度,尾时间tw定义为从工序w到终止工序的最长路径长度。用r″w和t″w表示对工序u和v进行移动后工序w的头时间r′w和尾时间t′w的近似评价值。
在工序u和v进行移动后,依次重新计算工序块b上工序的头时间和尾时间的近似评价值,最后按c″max=max{r″w+pw+t″w}(w∈b)来计算最大完工时间c′max的近似评价值,其中。pw表示工序w的加工时间。
按照移动方式的不同,移动评价策略包含以下两种情况:
①若将工序v移动到工序u之前,工序w的头时间的近似值r″w和尾时间的近似值t″w的计算公式分别为:
t″w=tjs[w]+pjs[w],w∈b
其中,rjp[w]、pjp[w]表示工序jp[w]的头时间和加工时间,rmp[w]、pmp[w]表示工序mp[w]的头时间和加工时间,r″mp[w]表示移动后工序mp[w]头时间的移动评价值。tjs[w]、pjs[w]表示工序js[w]的尾时间和加工时间。
②若将工序u移动到工序v之后,工序w的头时间的近似值r″w和尾时间的近似值t″w的计算公式分别为:
r″w=rjp[w]+pjp[w],w∈b
其中,tms[w]、pms[w]表示工序ms[w]的尾时间和加工时间,t″ms[w]和pms[w]表示移动后工序ms[w]的尾时间评价值和加工时间。
步骤3.5.5:判断是否满足特赦准则,若满足,则将满足特设准则的解解禁,设为当前解和最好解;若不满足,则在邻域解集的非禁忌对象中选择最好的解设为当前解;
所述的特赦准则是指当一个移动得到的邻域解要优于当前最好解,不管这个移动有没有被禁忌表禁忌掉,都接受这个移动。
所述的禁忌对象是指工序的移动属性,工序的移动属性具体包括:移动工序和目标工序,工序的移动方向,移动工序和目标工序在工序块中的位置索引,移动工序和目标工序在调度解中的位置索引。
步骤3.5.6:更新禁忌表,返回步骤3.5.2。
所述的禁忌表是指通过表中存储的禁忌对象来避免算法返回到搜索的原点,禁忌表的长度l=10+n/m,其中n表示工件数目,m表示机器数目。
步骤3.6:以交叉概率pc对种群中个体进行交叉操作;
步骤3.7:以变异概率pm对种群中个体进行变异操作;
步骤3.8:生成得到新一代的种群,返回到步骤3.2。
步骤4:判断当前批量划分方案下的调度结果是否满足要求,若满足,则转到步骤6,若不满足,则转到步骤5;
步骤5:采用批量划分策略对工件进行重新分批,转到步骤3;
采用的批量划分策略具体流程为:从第一个工件开始批量划分,按照等量分批的方法依次增加该工件的子批数,直到继续增加子批不能减小最大完工时间;选择下一个工件进行分批,分批过程同上,直到完成对所有工件的批量划分。
步骤6:输出当前最优解。
PHP网站源码南平网站搜索优化供应网站优化服务外包绵阳网站优化专业报价德州网站seo优化公司茂名网站优化代理漳州网站优化代理价钱北京移动网站优化公司收费标准深圳优化网站靠谱成都网站怎样优化嘉定区谷歌网站优化案例网站站内seo优化的技巧广州做网站优化费用壹起航如何对新网站进行网站优化沧州网站搜索优化哪家好网站优化与关键词广告体育行业网站优化营销韶关哪里有网站seo优化安庆网站排名优化公司优化网站陈目丿云速捷简单高效网站优化技巧纺织网站优化的效果网站搜索引擎优化平台上海企业网站seo优化报价延安网站优化机构句容优化网站价格广元网站优化联系方式国内网站优化系统加盟代理西安专业网站排名优化西夏区网站网络营销推广优化广饶外贸英文网站优化制作歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运