1.一种资源受限混合流水车间优化方法,其特征在于,所述方法包括:S1:提出基于二维向量的编码策略和相适应的局部搜索策略而改进帝国主义竞争过程的离散的帝国主义竞争算法;
S2:结合模拟退火算法来提高离散的帝国主义竞争算法的性能;
S3:在解码过程中动态分配资源。
2.根据权利要求1所述的资源受限混合流水车间优化方法,其特征在于,所述S1中离散的帝国主义竞争算法实现过程还包括:步骤1帝国初始化:
步骤2帝国同化阶段;
步骤3帝国竞争阶段;
步骤4帝国灭亡阶段。
3.根据权利要求2所述的资源受限混合流水车间优化方法,其特征在于:所述S1中离散的帝国主义竞争算法的编码策略如下:使用一个包含两个基于两向量(TVB)表示和一个基于机器甘特图(MGB)表示的两相编码机制,两向量一维是机器向量,一维是调度向量;
所述S1中步骤1是这样实现的:
按照算例,把生成的国家分为帝国和殖民地,并根据帝国的势力分配给各个帝国,帝国的势力根据公式(2)来标准化:Cn=cn-max{ci} (2)其中,cn是第N个帝国的适应度,Cn是帝国的标准化势力;根据帝国的标准化势力,用公式(3)来计算帝国的力量:是帝国的总势力,Pn是一个比率,帝国的力量越大,拥有的殖民地数量就越多,最后根据公式(4)计算每个帝国的殖民地数量:N.C.n=round{Pn*Ncol} (4)N.C.n是每个帝国最初拥有殖民地的数量,根据这个数字,殖民地被随机分配到每个帝国,所有帝国和殖民地的初始化阶段就完成了。
4.根据权利要求3所述的资源受限混合流水车间优化方法,其特征在于:所述S1中,步骤2帝国同化阶段是这样实现的:同化过程的本质是使一个帝国内的所有殖民地趋向于帝国内的局部最优解决方案,同化的过程通过将殖民地移入帝国来实现殖民地移动到帝国的距离X到新位置,X定义为:X~U(0,β*d) (5)其中β是一个大于1的实数,d是帝国和殖民地之间的距离,β>1表示殖民地可以从不同的方向向帝国移动;
在移动后添加一个随机偏移变量θ,以在帝国周围执行更广泛的搜索,θ服从均匀分布的随机数:θ~U(-γ,γ) (6)其中γ是调整与原始方向偏差的参数,β和γ的值通常分别取2和π/4;
局部搜索策略如下:
对于两向量解的表示的局部搜索策略:步骤1:对于机器分配向量,我们随机选择一个操作并将其分配给不同的可用机器;
步骤2:对于调度向量,我们随机使用交换和插入操作符;对于交换运算符,我们在调度向量中随机选择两个作业编号,然后交换这两个作业以生成不同的解决方案;对于插入操作符,我们在调度向量中随机选择两个作业,然后删除一个作业并将其插入到另一个选定作业的前面;
对于机器甘特图解的表示的局部搜索策略:步骤1:计算最后一步每台机器的完成时间;
步骤2:找到完成时间最长的机器,并将它们存储在一个称为BM的向量中;
步骤3:从BM中随机选择一台机器Bm,并将BM正在处理的所有作业存储在一个名为BJ的向量中;
步骤4:在BJ中随机选择一个作业Bj,随机选择一个阶段j,找到在阶段j中处理BJ的指定机器MJ;
步骤5:从Mj中删除作业Bj,随机分配Bj到J阶段的另一台机器,并在新分配的机器中找到Bj的最佳位置。
5.根据权利要求4所述的资源受限混合流水车间优化方法,其特征在于:所述S1中,步骤3帝国竞争阶段是这样实现的:策略一:
步骤1:将帝国按照殖民地数量排序;
步骤2:殖民地少的帝国作为弱小帝国,殖民地多的作为强大帝国;
步骤4:打乱弱小帝国的殖民地顺序;
步骤5:从弱小帝国的殖民地中随机选择selectNum个殖民地归属到强大的帝国中;
或
策略二:
步骤1:按照帝国及其殖民地的适应度总和从小到大排序;
步骤2:适应度大的作为弱小帝国,适应度小的作为强大帝国;
步骤3:打乱弱小帝国的殖民地顺序;
步骤4:从弱小帝国的殖民地中随机选择selectNum个殖民地归属到强大的帝国中。
6.根据权利要求5所述的资源受限混合流水车间优化方法,其特征在于:所述S2模拟退火算法过程如下:步骤1:初始化温度;
步骤2:创建随机解决方案x并评估f(x);
步骤3:把x储存在xbest里;
步骤4:当停止条件不满足时;
步骤5:创建邻域解决方案xnew并评估f(xnew);
步骤6:接受概率为P(x,xnew,T);
步骤7:如果x优于xbest,将x存入xbest;
步骤8:降温,算法结束。
7.根据权利要求6所述的优化方法,其特征在于,所述S3中,动态分配资源的过程如下:对于操作Oi,j,在计算其开始时间Si,j时,我们考虑以下条件:(1)Ji上一阶段Ci,j-1的完成时间;(2)可用的机器时间Ik;(3)K机器所需资源的最大可用时间;因此,Si,j计算如下:其中,Ar是资源r∈Rk的可用时间,ARk是机器k所需的所有资源的最大可用时间。
如果Oi,j是Ji的第一个操作,则开始时间Si,j计算如下:Oi,j完成后,Rk资源将被消耗并立即释放以用于其他操作;因此,Rk和Ik的可用时间将更新如下:在所有的操作都安排好之后,总完工时间计算如下: