联系我们

Contact

安徽智浩钢结构工程有限公司
电话:15209809766 
联系人:卢经理
地址:安徽省六安市裕安区城南镇汪家行村
网址:laxygs.com
当前位置:首页> 行业资讯

基于Memetic算法的作业动态调度策略研究

* 来源: * 作者: * 发表时间: 2019-07-15 16:00:38 * 浏览: 7
目前,国内外动态调度研究主要有三种方法,即人工智能和专家系统方法及仿真。从算法流程图可以看出,Memetic算法采用类似于遗传算法的框架,但它不仅限于简单的遗传算法,它充分吸收了遗传算法和局部搜索算法的优点。它不仅具有强大的全局优化能力,而且在每次交叉和突变后还执行本地搜索。通过优化种群分布,及早消除不良种群,从而减少迭代次数,加快算法速度,加快算法解决方案的质量。 。在Memetic算法中,局部搜索策略非常关键,这直接影响算法的计算效率。滚动窗口,也称为滑动窗口,其主要思想是优化滚动分区,静态动态问题,并将连续问题离散化。具体操作流程如下:在初始时刻,在具有处理条件的所有可调度工件组中定义待处理工件的子集,即工件窗口,并从可调度集中移除子集,然后优化窗口中的工件。根据调度方案进行处理直到满足触发机制,然后重新更新窗口,并重复上述过程。它将动态调度过程划分为多个调度时刻。当调度时刻到来时,根据当前生产状态选择最佳调度方案。它放弃了全局优化的概念,在线优化每个调度间隔,使系统在这个时间间隔内达到最优,使调度方案能够适应复杂动态的环境。窗口工件的选择规则和重新安排周期的确定是滚动窗口实现的关键,这直接影响调度优化的整体效率。窗口工件的数量会影响调度优化的效果。如果选择的工件太少,优化调度的整体效果就不理想,机床的利用率也很低。如果选择了太多的工件,则紧急情况的响应时间会更长。它会影响车间的生产率,因此选择合适数量的工件非常重要。一般而言,驱动策略有三种类型:事件驱动策略,循环驱动策略和基于周期和事件的混合驱动策略。事件驱动策略是指在发生更改系统状态的事件时立即重新安排。循环驱动策略根据先前设定的时间执行每个其他生产周期的重新安排。事件驱动的策略可以处理紧急情况,但缺乏对未来事件的预测能力,并且没有整体概念。循环驱动策略可以提高生产的稳定性,但它们无法应对紧急情况。基于循环和事件驱动的混合驱动策略结合了前两种策略的优点,不仅能够很好地响应实际的动态环境,还能保持一定的稳定性。因此,本文采用基于周期和事件的混合驱动策略。 3基于模因的动态调度算法3.1染色体编码和解码本文采用基于过程的编码方法,即每个工件过程由相应的工件编号表示,并且每个工件编号看起来等于操作的总操作数。工件,然后根据染色体出现的顺序进行编译,第k次出现的工件数表示工件的第k个过程。对于动态调度问题的解码,通常可以通过两种方式处理:半主动调度和主动调度。本文采用插件贪心解码算法,可以保证染色体被解码并生成主动调度,保证解码后的解决方案是可行的解决方案,从而减少搜索空间,提高计算效率。解码算法描述如下:按照序列的顺序执行解码首先安排序列中的第一个过程,然后进行序列中的第二个过程,并将最佳可行的处理插入到相应的机器中。始终以这样的方式安排处理:序列中的所有处理都布置在最佳位置。 3.2交叉策略对于基于过程编码的动态调度问题,本文采用顺序交叉策略,可以保留父母的局部排列,并融合不同新安排的有序结构,增加人口的多样性从而提高交叉效率。该交换1828的操作如下:后代1直接遗传亲本1中阴影所示的基因串,并且在遗传遗传基因被删除后,剩余的基因位置被亲本2删除。 (在阴影中显示)按顺序填充,并且同一个子2直接继承父2中父母所示的基因串,并且在删除遗传基因后,父母1中的基因删除其余基因。填充生成后代2. 3.3变异策略4x3调度问题在解决车间调度问题时,常用的变异算子有交换变异,插入变异和逆变换。本文采用了一种基于邻域搜索的新型变异算子,通过邻域搜索增加了种群的多样性,提高了后代的性能。具体步骤为:随机选择三个不同的点Pi,P2,P3,根据三个点的不同排列,可以生成其他五个不同的邻域染色体,并比较每个染色体的适应值,并使适应值最大化。如图所示,染色体被保存为儿童的变体。有许多本地搜索策略来解决调度问题。本文采用改进的模拟退火搜索算法。在传统的模拟退火算法中,初始退火温度to通常设置得高,冷却速率At非常慢,导致迭代次数过多,因此计算量很大。本文采用改进的模拟退火搜索策略。当温度高时,冷却速率很快。当温度低时,冷却速率很小。这不仅保证了算法的全局搜索能力,而且加快了算法的收敛速度。该算法如下操作。 1将初始温度设定为,测定温度t,冷却速率At和冷却系数a2,以比较染色体适合度,A = /(X,+ i) - /(X,),其中/(X,)代表第i个交叉或突变后的染色体适应值,如果Arandom(0,1),接受交叉或突变,终止算法,否则拒绝,重新交叉或变异,3改变退火温度,使t + i 4实例仿真和分析仿真调度实例动态调度问题没有标准示例。因此,基于FT10问题,适当地添加了一些动态数据。动态数据主要包括工件延迟和紧急插入两种类型,然后根据这些测试数据,最大完成。时间是930个时间单位,并且该调度方案将用作后续动态调度的初始方案。 4.1.2工件延迟重新调度本节仅讨论工件延迟问题。假设在生成初始调度之后,在第480个时间单元中,发生紧急动态事件以延迟工件。具体的动态事件是:由于机器故障,工作丢失或其他原因,机器3上的过程(9,5)的处理时间由于提前交付而延迟30个时间单位,过程(7, 8)机器9必须提前20个时间单位处理。此时,由于发生了两个动态事件,需要重新安排。 Memetic算法用于在480个时间单位后重新调度所有操作。显示调度优化方案,运行时间为23s,最大完成时间为979.时间单位。随着时间的推移,在第550个时间单位,有紧急事件。由于工人的下蹲等,机器4上的过程(4,8)与过程(2,5)交换,并且由于提前交付,机器8上的过程(7,9)必须在处理之前处于过程(5,8)中。此时,由于两个动态1829事件的发生,需要重新安排。 Memetic算法用于在550个时间单位后重新调度所有过程,运行时间为16秒,最大完成时间为989个时间单位。 Memetic算法用于在第500个时间单元之后重新调度未处理的工件和新的紧急工件,显示新获得的调度优化方案。重新优化时间为21秒,最大完成时间为1018个时间单位。 4.1.3调度插入重新调度表1加工机器和过度工件的加工时间本节仅讨论紧急插入的问题。假设在初始调度产生之后,新的紧急动态事件以500个时间单位发生,即新工件11和工件12的紧急插入,表1显示了两个紧急工件的加工机器和处理时间。初始调度优化方案Gabga¢:紧急调度后第480个时间单元重新调度方案中调度点的重新调度方案4.2结果通过调度实验研究了工件延迟和紧急两类动态事件结果可以得出以下结论:1利用滚动窗口技术,可以将复杂的动态调度问题划分为多个连续调度子区间。通过优化每个调度子区间,调度方案可以适应复杂动态环境变化的要求。解决动态调度问题是一种可行的策略,2在动态事件发生后的重新调度方案中,最大完成时间可以控制在一个良好的范围内,并且重新优化操作时间也是合理的,表明Memetic算法解决调度优化问题是一种有效的算法。 3考虑到动态调度问题的复杂多样性,本节仅讨论两个动态事件的处理,但该策略具有很强的通用性,可以应用于其他动态调度问题的解决方案。结论本文重点研究了研讨会的动态调度问题,重点研究了伪影延迟和调度两种动态事件,提出了一种基于Memetic算法的动态调度策略。使用周期性和事件驱动的混合重新调度策略,并使用滚动窗口策略,动态调度过程分为连续静态调度间隔,Memetic算法用于每个间隔的调度优化,以便调度方案可以适应复杂的动态环境。改变的要求。最后,通过改进Job-shop基准的实验验证了该策略的可行性和有效性。