欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2017108666673
申请人: 郑州航空工业管理学院
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-02-23
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于改进帝国竞争算法的柔性作业车间调度方法,其特征在于,包括以下步骤:步骤1:参数设置,设置帝国竞争算法求解柔性作业车间调度问题的相关参数,包括:国家数量Npop、帝国主义国家数量Nimp、殖民地国家数量Ncol、迭代次数Niter,帝国内部同化概率Pcimp,帝国内部革命概率Pmimp,殖民地国家影响因子α;帝国竞争算法的终止条件为:若在还未达到迭代次数Niter就只剩一个帝国时,算法终止,否则,运行到迭代次数为止;

步骤2:随机初始化国家,每一个国家代表一组柔性作业车间调度问题的可行方案,传统帝国竞争算法解决连续型优化问题,编码方式不适合离散型柔性作业车间调度问题,结合柔性作业车间调度问题特点设计两段式实数编码方式进行国家个体的编码,随机产生Npop个国家;

步骤3:通过成本函数,计算每个国家的成本值;

步骤4:产生Nimp个帝国主义国家和Ncol个殖民地国家,最终形成Nimp个帝国,依据步骤3中得到的每个国家个体的成本值,按照由低到高的顺序进行排列,取前Nimp个成本低的国家作为帝国主义国家,那么后面的Ncol个国家就是殖民地国家;

然后,对Nimp个帝国主义国家进行规范化处理,得到每个帝国主义国家的相对势力:NCi=round{pi×Ncol}

其中,Ci是ci标准化代价,ci是第i个帝国主义国家的成本函数值,pi是标准化势力大小,round是一个将小数四舍五入成整数的函数,NCi是第i个帝国主义国家的初始殖民地国家数量,从Ncol个殖民地国家中随机选择相应个数的国家分配给各个帝国主义国家,国家势力相对强大的帝国主义国家被分配到的殖民地国家数量就会多,帝国主义国家和它所拥有的殖民地国家形成初始的Nimp个帝国;

步骤5:帝国内部进行同化操作,帝国内部的殖民地国家与帝国主义国家之间进行同化操作,使得殖民地国家不断向帝国主义国家移动;

为了提高效率,在殖民地国家中选择一部分个体进行同化操作,选择步骤为:

1)随机产生与该帝国所属殖民地国家数量相等的向量 向量Rc中的每个变量服从[0,1]均匀分布,

2)向量Rc中的值小于帝国内部同化概率Pcimp的殖民地国家作为同化操作对象;

国家个体采用两段式表达方法,当殖民地国家与帝国主义国家进行信息交换时,分别对两个部分进行操作,确保同化操作后的国家仍是可行的;

加工机器部分:此部分必须保证国家个体表达式的先后顺序保持不变,

1)在[1,L]之间随机产生一个整数r,r=rand(1,L);

2)在[1,L]之间产生r个互不相等的整数组成的序列R;

3)按照序列R中的顺序,依次将对应位置上的数字替换掉殖民地国家加工机器部分表达式中的数字,将帝国主义国家加工机器部分相应位置的数字替换掉殖民地国家加工机器部分的数字,而产生新的殖民地国家,L为所有工件的所有工序和;

加工工序部分:将殖民地国家的加工工序部分与帝国主义国家的加工工序部分进行信息交换,更新殖民地国家的加工工序部分,按照下面的步骤进行操作:

1)将所有工件J={J1,J2,...,Jn}随机划分为两个工件集Jobset1和Jobset2,n代表多个工件的工件数,

2)随机选择其中一个工件集Jobset,

3)复制帝国主义国家中包含在工件集Jobset中的工件到新的殖民地国家,保持它们的位置和顺序,

4)将殖民地国家中不包含在工件集Jobset中的工件复制到新的殖民地国家中,保持它们的顺序;

步骤6:帝国内部进行革命操作,帝国内部的殖民地国家为防止同化作用造成过早收敛,需要进行革命操作;

步骤7:帝国内部判断是否更换帝国主义国家,对各个帝国内部的国家进行成本计算,将成本最小的殖民地与其所属的帝国主义国家进行比较,如果比其所属帝国主义国家的成本还低,就替换该帝国主义国家,而成为统治者;

步骤8:帝国之间的竞争操作,势力最强的帝国占有势力最弱的帝国中的殖民地,使得强大的帝国更加强大,弱小的帝国更加弱小;具体的操作步骤如下:

1)计算每个帝国的总成本函数值,也就是总的势力大小,包括帝国主义国家和所属的殖民地国家,计算公式为:其中,TCm表示第m个帝国的总成本值,cm表示第m个帝国主义国家的成本值,NCm表示第m个帝国拥有的殖民地数,α是殖民地国家影响因子,其大小决定了殖民地国家对整个帝国势力的影响程度,且0<α<1,

2)依据1)中计算的每个帝国的总成本值,选择最弱的帝国中最弱的殖民地作为各个帝国间竞争的对象,势力越大的帝国越有可能占有该殖民地国家,每个帝国占有最弱殖民地国家的占有概率按照下式进行计算,其中,TCm和NTCm分别是第m个帝国的总成本和标准化总代价,Pm是第m个帝国占有殖民地的概率,每个帝国的占有概率计算完毕后,形成一个概率向量P:

3)为了能够使得每个帝国都有占领最弱殖民地国家的机会,也防止算法过早收敛,对形成的每个帝国的占有概率值进行处理,随机生成一个与向量P同维的,且每个变量服从在[0,1]区间均匀分布的向量Rx将向量P和Rx进行相减操作,产生向量D

在向量D中,0<k≤Nimp,其中dk是经过调整改进后的每个帝国的势力大小,将最弱的殖民地国家分配给D中最大值,也就是势力最强的帝国;

步骤9:弱势帝国的灭亡,删除掉没有殖民地的帝国,该帝国灭亡;

步骤10:计算每个国家成本;

步骤11:判断算法是否终止,依据参数中对算法停止条件的设定,判断算法是否终止,若算法终止,则输出运行结果;反之,算法还没有终止,则回到步骤5继续执行。