预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN109886588A(43)申请公布日2019.06.14(21)申请号201910149784.7(22)申请日2019.02.28(71)申请人长安大学地址710064陕西省西安市碑林区南二环路中段(72)发明人栾飞李富康蔡宗琰吴书强杨嘉(74)专利代理机构西安通大专利代理有限责任公司61200代理人徐文权(51)Int.Cl.G06Q10/06(2012.01)G06N7/08(2006.01)G06N3/00(2006.01)权利要求书3页说明书12页附图3页(54)发明名称一种基于改进鲸鱼算法求解柔性作业车间调度的方法(57)摘要本发明公开了一种基于改进鲸鱼算法求解柔性作业车间调度的方法,包括以下步骤:1)建立柔性作业车间调度问题的数学模型;2)设置算法参数并生成初始种群;3)得到当前最优的调度解;4)判断当前迭代次数是否大于最大迭代次数;是,输出调度解;否,当前最优个体的计数器值是否不小于预设值;是,进行变邻域搜索操作,更新调度解;否,将调度解转换为鲸鱼个体位置向量,并保留调度解对应的鲸鱼个体;5)采用改进鲸鱼算法更新鲸鱼个体位置信息,将鲸鱼个体位置向量转换为调度解完成种群更新,迭代次数加1,返回3)。本方法可以很好的求解得柔性作业车间调度的所有最优解,并提高求解速度和精度。CN109886588ACN109886588A权利要求书1/3页1.一种基于改进鲸鱼算法求解柔性作业车间调度的方法,其特征在于,包括以下步骤:步骤1:对柔性作业车间调度的机器选择和工序排序进行编码,建立柔性作业车间调度问题的数学模型;步骤2:设置改进鲸鱼算法种群规模、最大迭代次数和位置元素,并利用混沌反向学习策略和搜索法生成初始种群;步骤3:定义适应度函数:其中,Fmax表示工件的最大完工时间,表示工件i的完工时间,n表示工件数;计算种群中各调度解的适应度值,得到当前最优的调度解;步骤4:判断当前迭代次数是否大于最大迭代次数;否,则执行步骤5-8;是,则执行步骤9;步骤5:为最优鲸鱼个体设置计数器,若改进鲸鱼算法迭代一次后最优鲸鱼个体未发生改变,则计数器值加1,判断当前最优鲸鱼个体的计数器值是否不小于预设值;是,则执行步骤6;否,则执行步骤7;步骤6:对调度解执行变邻域搜索操作,更新调度解;步骤7:将调度解转换为鲸鱼个体位置向量,并保留调度解对应的鲸鱼个体;步骤8:采用改进鲸鱼算法更新鲸鱼个体位置信息;将鲸鱼个体位置向量转换为调度解S完成种群更新,令t=t+1;其中,t为当前迭代次数,转至步骤3;步骤9:输出调度解。2.根据权利要求1所述的基于改进鲸鱼算法求解柔性作业车间调度的方法,其特征在于,所述改进鲸鱼算法包括环绕捕食、发泡网攻击和随机搜索;其中:环绕捕食的数学模型为:其中:t表示当前迭代次数,和是系数向量,是当前最优鲸群个体的位置向量,是当前鲸群个体的位置向量,||是取绝对值,·是逐元素相乘,在迭代过程中其内部元素非线性收敛因子a在发泡网攻击和随机搜索中从2线性递减到0,表达式为tmax为最大迭代次数;为随机向量,r取值范围为[0,1];发泡网攻击包括收缩包围和螺旋式位置更新;收缩包围时的变动范围随着的减少而缩小,的取值范围为[-1,1];螺旋式位置更新的数学模型为:其中,为鲸鱼最佳位置与猎物之间的距离;b为定义的控制对数螺线2CN109886588A权利要求书2/3页形状的常数,l为[-1,1]之间的随机数;同时引入自适应权重ω:则发泡网攻击的数学模型为:随机搜索的数学模型为:其中,为从当前种群中随机选择的个体位置矢量,p是[0,1]中的一个随机数。3.根据权利要求1所述的基于改进鲸鱼算法求解柔性作业车间调度的方法,其特征在于,所述步骤1中采用等长的两段式编码方式对柔性作业车间调度的机器选择和工序排序进行编码。4.根据权利要求1所述的基于改进鲸鱼算法求解柔性作业车间调度的方法,其特征在于,所述步骤6的具体方法为:步骤6-1:构建邻域结构N1、N2和N3;步骤6-2:进行変邻域搜索,具体包括以下步骤:*步骤6-2-1:将当前最优个体位置X作为变邻域初始解X,设置λ←1,qmax←3最大迭代次数ηmax;步骤6-2-2:设置q←1;步骤6-2-3:若q=1,则X'←N1(X);若q=2,则X'←N2(X);若q=3,则X'←N3(X);步骤6-2-4:将X'作为初始解进行局部搜索,得到最优解X”;步骤6-2-5:若X”优于X,则X←X”,并设置q←1;否则,设置q←q+1;步骤6-2-6:判断q>qmax是否满足,若满足,则设置q←q+1,转到步骤6-2-7;否则,转到步骤6-2-3;步骤6-2-7:判断η>ηmax是否满足,若满足,结束;否则,转到步骤6-2-