一种基于双目标作业车间调度的混合果蝇算法的制作方法

文档序号:15888686发布日期:2018-11-09 19:54阅读:164来源:国知局
一种基于双目标作业车间调度的混合果蝇算法的制作方法

本发明涉及作业车间调度技术领域,尤其涉及一种基于双目标作业车间调度的混合果蝇算法。

背景技术

作业车间调度作为许多实际生产调度问题的抽象模型,是一类典型np-hard的复杂优化问题。在实际生产过程中,大部分作业车间调度问题是面向多个目标的优化组合与决策,因此,探索如何有效求解多目标作业车间调度问题具有重要的理论意义和应用价值。

如今,制造业的竞争日益激烈,制造企业正朝着有不同完工时间和产品要求的多类型、小批量的生产模式发展。如何利用现有资源,满足加工任务所需各种约束,使所有任务能尽量按时完成,即如何有效地解决作业车间调度问题,成为一个十分现实和迫切的问题。高效调度算法,可以大大提高生产效益和资源利用率,从而增强企业的竞争能力,因此对作业车间调度问题的研究有非常重要的理论和实用价值。

目前,求解作业车间双目标调度问题的主要方法是群智能优化算法,如遗传算法、模拟退火算法、禁忌搜索算法、蚁群算法、粒子群算法、蛙跳算法以及各种混合调度算法等。遗传算法是根据自然进化论得出的一种并行优化搜索算法,该算法能够以较大概率找到全局优化解。蚁群算法是模拟蚂蚁寻路的过程而设计出的一种大量个体相互协作的启发式搜索算法,也能够很快搜索到比较好的解。但是,这些算法的参数设置较多、计算复杂度较大,并不能够有效的解决车间调度的问题。



技术实现要素:

本发明所解决的技术问题在于提供一种可以有效地解决车间双目标调度问题、提高作业车间调度效率的基于双目标作业车间调度的混合果蝇算法。

为解决上述技术问题,本发明提供了一种基于双目标作业车间调度的混合果蝇算法,包括以下步骤:

(1)根据作业车间的特点,建立作业车间的数学模型;

(2)构建每个工件不同工序的加工顺序的约束条件;

(3)构建每台机器上不同工件的工序加工顺序的约束条件;

(4)建立基于最大完工时间最小和机器总空闲时间最小的的作业车间调度双目标函数;

(5)通过基于工序的编码方式,进行果蝇个体及果蝇种群初始化;

(6)采用混合步长的嗅觉搜索方法,得到新的果蝇种群并进行全局协作机制;

(7)对得到新的果蝇种群进行评价,并依此进行迭代寻优;

(8)进行终止条件判定,若条件不满足,则跳转至步骤(6)并依次进行余下步骤;若满足终止条件,则进行步骤(9);

(9)对多次运行得到的非劣解集进行合并维护和均匀分布筛选,得到pareto解集。

更进一步的,所述步骤(1)中,建立作业车间调度数学模型:

现有m台机器,表示为[1,2,…m,…,k,…,m],m和k代表不同的两台机器,即m≠k;每台机器加工一道固定工序,各机器加工的工序不相同;不同工件的不同工序的完成时间相互独立;设加工过程中,机器不会发生故障;

现有n个工件需要加工,表示为[1,2,…,n,…,i,…,n],n和i代表两个不同的工件,即n≠i;每个工件的工序加工顺序各不相同,每个工件的每道工序的完成时间相互独立;

工件n在机器m上的完成时刻为cn,m,工件n在机器m上的加工时间长度为ln,m,工件n在机器k上的完成时刻为cn,k,工件i在机器m上的完成时刻为ci,m。

更进一步的,所述步骤(2)中,构建每个工件的不同工序的加工顺序的约束条件为:cnm-lnm+d(1-ankm)≥cnk;

其中,d是一个足够大的正数,ankm是指示系数,表示为:

更进一步的,所述步骤(3)中,构建每台机器上不同工件的工序加工顺序的约束条件为:cnm-cim+d(1-xinm)≥lnm;

其中,d是一个足够大的正数,xinm是指示变量,表示为:

更进一步的,所述步骤(4)中,确定基于最大完工时间最小的作业车间调度目标函数为:f1=max{ci|i∈1,2,…,n},表示完成所有工件的最大完工时间最小;

表示完成所有工件的机器总空闲时间最小。

更进一步的,其中所述步骤(5)中,进行果蝇个体和果蝇种群初始化;

每个调度方案代表一个果蝇个体,并采用基于工序的编码规则;调度方案是由n×m个元素jn,m组成的一个表示加工顺序的序列,其中jn,m表示加工第n个工件的第m道工序,解码时再按照序列的加工顺序就可转化为一个调度方案;果蝇初始种群中的个体是通过随机方式生成的。

更进一步的,所述步骤(6)中,将步骤(5)中编码好的果蝇个体代入目标函数,并计算出每个果蝇个体的最大完工时间和机器总空闲时间,确定出初始最优果蝇种群,并保存其对应的工序编码;对初始最优果蝇种群内的果蝇个体进行混合步长的嗅觉搜索策略,得出新的果蝇种群。

更进一步的,所述步骤(7)中,对步骤(6)中得出的果蝇种种群进行评价,确定出新的最优个体,并依此进行迭代寻优;

其中,对步骤(6)中得出的果蝇种群评价是指将种群中的个体继续代入目标函数中,计算每个果蝇个体的最大完工时间和机器总空闲时间,确定出新的最优个体;将新的最优个体与上一代最优个体通过目标函数进行比较,选出最大完工时间较小者和机器总空闲时间较小者作为最优个体;依此迭代寻优。

更进一步的,其中所述步骤(8)中,进行终止条件判定,若条件不满足,则跳转至步骤(6)并依次进行余下步骤;否则进行步骤(9);

其中,终止条件判定指是否满足最大迭代次数。

更进一步的,其中所述步骤(9)中,对多次运行得到的非劣解集进行合并维护和均匀分布筛选,得到pareto解集;

其中,非劣解就是在步骤(8)中停止运行以后得到的解集,也就最后的车间调度方案的较优解。

本发明的基于双目标作业车间调度的混合果蝇算法,只需要设置两个参数,算法实现简单,大大降低了作业车间调度的复杂度,并提升了作业车间调度的效率;同时,本发明的基于双目标作业车间调度的混合果蝇算法的全局寻优能力较强,能够有效地解决作业车间调度问题;具有参数设置少,收敛性强,鲁棒性强等优点,在解决生产调度问题中具有一定的可行性和有效性。

附图说明

图1为本发明的基于双目标作业车间调度的混合果蝇算法的流程图;

图2为本发明的基于双目标作业车间调度的混合果蝇算法与强度pareto进化算法的pareto最优解个数对比图表;

图3为本发明的基于双目标作业车间调度的混合果蝇算法与强度pareto进化算法基于指标c的算法之间的对比结果图表。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

以下结合附图1至图3所示,详细说明发明的实施例所提供的技术方案。

本实施例提供一种基于双目标作业车间调度的混合果蝇算法,包括以下步骤:

步骤(1)根据作业车间的特点,建立作业车间的数学模型;

所述步骤(1)中,建立作业车间调度数学模型:

现有m台机器,表示为[1,2,…m,…,k,…,m],m和k代表不同的两台机器,即m≠k;每台机器加工一道固定工序,各机器加工的工序不相同;不同工件的不同工序的完成时间相互独立;设加工过程中,机器不会发生故障;

现有n个工件需要加工,表示为[1,2,…,n,…,i,…,n],n和i代表两个不同的工件,即n≠i;每个工件的工序加工顺序各不相同,每个工件的每道工序的完成时间相互独立;

工件n在机器m上的完成时刻为cn,m,工件n在机器m上的加工时间长度为ln,m,工件n在机器k上的完成时刻为cn,k,工件i在机器m上的完成时刻为ci,m。

步骤(2)构建每个工件不同工序的加工顺序的约束条件;

所述步骤(2)中,构建每个工件的不同工序的加工顺序的约束条件为:cnm-lnm+d(1-ankm)≥cnk;

其中,d是一个足够大的正数,ankm是指示系数,表示为:

步骤(3)构建每台机器上不同工件的工序加工顺序的约束条件;

所述步骤(3)中,构建每台机器上不同工件的工序加工顺序的约束条件为:cnm-cim+d(1-xinm)≥lnm;

其中,d是一个足够大的正数,xinm是指示变量,表示为:

步骤(4)建立基于最大完工时间最小和机器总空闲时间最小的的作业车间调度双目标函数;

所述步骤(4)中,确定基于最大完工时间最小的作业车间调度目标函数为:f1=max{ci|i∈1,2,…,n},表示完成所有工件的最大完工时间最小;

表示完成所有工件的机器总空闲时间最小。

步骤(5)通过基于工序的编码方式,进行果蝇个体及果蝇种群初始化;

其中所述步骤(5)中,进行果蝇个体和果蝇种群初始化;

每个调度方案代表一个果蝇个体,并采用基于工序的编码规则;调度方案是由n×m个元素jn,m组成的一个表示加工顺序的序列,其中jn,m表示加工第n个工件的第m道工序,解码时再按照序列的加工顺序就可转化为一个调度方案;果蝇初始种群中的个体是通过随机方式生成的。

步骤(6)采用混合步长的嗅觉搜索方法,得到新的果蝇种群并进行全局协作机制;

所述步骤(6)中,将步骤(5)中编码好的果蝇个体代入目标函数,并计算出每个果蝇个体的最大完工时间和机器总空闲时间,确定出初始最优果蝇种群,并保存其对应的工序编码;对初始最优果蝇种群内的果蝇个体进行混合步长的嗅觉搜索策略,得出新的果蝇种群;

基于混合步长的嗅觉搜索的操作原理是以一种基本的邻域位置生成方法为基础的,此基本方法记为单步长嗅觉搜索;

混合步长搜索策略所用到的参数有:sp表示一次迭代生成步长种类数目,s表示一个局部变量,取值范围是0~sp,sn表示一个果蝇位置生成邻域的位置数目,k表示生成的新位置保存下来的概率;

混合步长的嗅觉搜索的目的是使得产生的邻域中有近ks×(p×sn)个位置是调用s次单步长嗅觉搜索,这样就可以通过调整混合步长嗅觉搜索的参数来控制多目标果蝇优化算法产生邻域的种类数目和每种步长所占的概率;以果蝇种群中一个位置来说明混合步长嗅觉搜索的具体操作;

将s=0,

该位置果蝇使用单步长嗅觉搜索向邻域生产sn个邻域位置,生成的邻域位置按概率保存下来,s加1;

当s<sp时,

新生成且保留下的位置重复步骤(2),s=sp时混合步长嗅觉搜索结束。

步骤(7)对得到新的果蝇种群进行评价,并依此进行迭代寻优;

所述步骤(7)中,对步骤(6)中得出的果蝇种种群进行评价,确定出新的最优个体,并依此进行迭代寻优;

其中,对步骤(6)中得出的果蝇种群评价是指将种群中的个体继续代入目标函数中,计算每个果蝇个体的最大完工时间和机器总空闲时间,确定出新的最优个体;将新的最优个体与上一代最优个体通过目标函数进行比较,选出最大完工时间较小者和机器总空闲时间较小者作为最优个体;依此迭代寻优。

步骤(8)进行终止条件判定,若条件不满足,则跳转至步骤(6)并依次进行余下步骤;若满足终止条件,则进行步骤(9);

其中所述步骤(8)中,进行终止条件判定,若条件不满足,则跳转至步骤(6)并依次进行余下步骤;否则进行步骤(9);

其中,终止条件判定指是否满足最大迭代次数。

步骤(9)对多次运行得到的非劣解集进行合并维护和均匀分布筛选,得到pareto解集;

其中所述步骤(9)中,对多次运行得到的非劣解集进行合并维护和均匀分布筛选,得到pareto解集;

其中,非劣解就是在步骤(8)中停止运行以后得到的解集,也就最后的车间调度方案的较优解。

本发明的基于双目标作业车间调度的混合果蝇算法,只需要设置两个参数,算法实现简单,大大降低了作业车间调度的复杂度,并提升了作业车间调度的效率;同时,本发明的基于双目标作业车间调度的混合果蝇算法的全局寻优能力较强,能够有效地解决作业车间调度问题;具有参数设置少,收敛性强,鲁棒性强等优点,在解决生产调度问题中具有一定的可行性和有效性。

以上所述,仅是本发明的最佳实施例而已,并非对本发明作任何形式上的限制,任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,利用上述揭示的方法内容对本发明技术方案做出许多可能的变动和修饰,均属于权利要求保护的范围。

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