1.基于混合鲸鱼优化算法的柔性车间调度方法,其特征在于,包括如下步骤:S1,分析柔性车间调度问题,确定FJSP的数学模型;
S2,根据FJSP的数学模型定义对离散的车间调度进行连续化处理;
S3,通过Tent混沌映射初始化鲸鱼优化算法中鲸鱼个体的位置;
S4,根据适应度函数计算所有鲸鱼个体的适应度;
S5,根据设定的位置更新公式,更新鲸鱼位置;
S6,通过禁忌搜索,搜索邻域结构;
S7,判断鲸鱼位置更新的次数是否达到最大迭代次数,若没达到,则返回步骤S4,若达到则继续步骤S8;
S8,输出最佳鲸鱼位置;
S9,根据最佳鲸鱼位置,输出找到机器的最大完工时间,并画出甘特图。
2.根据权利要求1所述的基于混合鲸鱼优化算法的柔性车间调度方法,其特征在于,步骤S1包括如下步骤:S11,对FJSP的数学模型作出如下设定:工件是独立的,每台机器一次只能处理一个工件;
不能同时处理同一工件的不同操作;
所有工件和机器在零时都是可用的;
在一台机器上处理完一个工件后,会立即被传送到下一台机器,忽略传输时间;
机器上操作的设置时间独立于操作顺序,并计入处理时间;
安排生产之后不能中断,并且能正常成调度;
S12,定义相关符号,具体定义如下:
n:工件的数量;
m:机器的数量;
i:工件序号,i∈{1,2,…,n};
ni:工件i的总操作数;
j:工件的第j道工序,j∈{1,2,…,ni};
k:机器序号,k∈{1,2,…,m};
Mk:表示第k台机器;
Oi,j:第i个工件的第j道工序;
Mi,j:第i个工件的第j个操作可选的机器集;
Ti,j,k:第i个工件的第j道工序在第k台设备上的加工时间;JSi,j:第i个工件的第j道工序开始时间;
JEi,j:第i个工件的第j道工序结束时间;
Sk,h:第k台设备第h操作的开始时间;
Ek,h:第k台设备第h操作的结束时间;
xi,j,k:表示工件i的第j道工序在是否在第k台设备上加工;Ck:机器k的完成时间;
Cmax:最大完成时间;
决策变量如下:
以最小化最大完工时间为优化目标,目标函数如下:Cmax=min(max(C1,C2,…,Cm)) (2)优化目标的约束条件如下:
JSi,j≤JEi,j‑1 (4)Sk,h ≤Ek,h‑1 (5)Ck≤Cmax (6)Sk,h≥0,JSi,j≥0 (7)Mi,j≥1 (8)其中,公式(3)表示每道工序只能在Mi,j选择一台机器上处理;公式(4)表示工件不同工序的处理顺序,必须等上一工序处理完之后才可以处理下一道工序;公式(5)表示机器k在同一时刻只能处理一个工件,必须等上一操作完成之后才可以处理第h道工序;公式(6)保证每台机器的完工时间都不超过最大完工时间;公式(7)保证工件的开始时间和机器的开始时间都大于等于零;公式(8)表示工件工序的处理至少可以分配到一台机器上。
3.根据权利要求2所述的基于混合鲸鱼优化算法的柔性车间调度方法,其特征在于,步骤S2包括如下步骤:S21,编码:
将个体位置向量分为MS和OS部分;MS部分为机器选择,确定每个工序分配的机器,设定M1,1表示对应工序的可选机器数量,即表示O1,1工序可以选择M1、M4和M5加工;再通过公式(9)转换为个体位置向量,x(j)是个体位置向量的第j个分量,choicei,j表示从Mi,j选择的机器序号,若Mi,j=1,x(j)为[‑n,n]内的随机数;OS部分为工件排序,确定不同工件的加工顺序,对于OS编码,先通过生成与总工序一样长度的随机数,按照升序为每一个随机数分配一ROV值,再将ROV值与工件编号映射;
S22,解码:
MS部分的解码按照公式(10)解码,x(j)是个体位置向量的第j个分量,round是四舍五入符号,若Mi,j=1,则x(j)为[‑n,n]内的随机数;OS部分通过对位置向量排序,为每个位置向量分配一个ROV值,将ROV值与工件编号映射便可得到位置向量对于的工序;
4.根据权利要求3所述的基于混合鲸鱼优化算法的柔性车间调度方法,其特征在于,步骤S3中所述Tent混沌映射具体如下:其中zk代表第k个混沌数,p∈(0,1),且p的取值为0.5,通过公式(21)生成序列,替代原来的伪随机初始化序列。
5.根据权利要求4所述的基于混合鲸鱼优化算法的柔性车间调度方法,其特征在于,步骤S4包括如下步骤:S41,先通过公式(10)进行解码,再通过工件排序和机器分配计算最大完工时间,且最大完工时间越小,FJSP的数学模型越高。
6.根据权利要求5所述的基于混合鲸鱼优化算法的柔性车间调度方法,其特征在于,步骤S5包括如下步骤:S51,鲸鱼优化算法WOA包括了泡泡网攻击、搜索猎物、包围猎物三个策略,在包围猎物的同时执行泡泡网攻击策略,通过模拟鲸鱼群体的捕食行为建立数学模型;
包围猎物:当p<0.5并且|A|<1使用公式(11)进行位置更新:*
X(t+1)=X(t)‑AD (11)*
D=|C·X(t)‑X(t)| (12)A=2a·r‑a (13)C=2r (14)*
A和C是系数向量,X(t)当前鲸鱼个体的位置,X (t)表示目前为止获得的全局最优个体位置,D表示当前个体位置与全局最优个体之间的距离,t表示迭代次数,r是一个随机数,且r取值范围为[0,1];a为非线性控制参数,用来平衡全局搜索和局部搜索;
泡泡网攻击:通过计算猎物与鲸鱼个体之间的距离实现螺旋形路径,探索当前鲸鱼个体与猎物之间其他位置解的可能,用于提高种群多样性;其中l为[‑1,1]之间的随机数,b为常数;当p≥0.5时采用公式(16)更新:* bl
X(t+1)=X(t)+De cos(2πl) (16)搜索猎物:当p<0.5并且|A|≥1时采用公式(17)进行位置更新;
其中,Xrand(t)为随机获取的鲸鱼个体位置;sign[rand‑1/2]包含‑1、0、1三个值,通过[rand‑1/2]决定取值,rand为[0,1]的随机数;
s是Lévy飞行的步长,通过公式(18)获得:β=1.5,u和v分别服从正态分布:
7.根据权利要求6所述的基于混合鲸鱼优化算法的柔性车间调度方法,其特征在于,步骤S6包括如下步骤:S61,当搜索邻域结构生成的邻域解集中,存在不在禁忌表中的最优解,则将当前最优解加入禁忌表,并返回更新位置向量;否则,选择邻域解集中最优解,更新禁忌表并释放最先进去禁忌表中的解并更新个体位置向量。
8.基于混合鲸鱼优化算法的柔性车间调度系统,用于实现权利要求1‑7任一项所述的基于混合鲸鱼优化算法的柔性车间调度方法,其特征在于,所述基于混合鲸鱼优化算法的柔性车间调度系统包括:模型确定模块,用于分析柔性车间调度问题,确定FJSP的数学模型;
连续化处理模块,用于根据FJSP的数学模型定义对离散的车间调度进行连续化处理;
Tent混沌映射模块,用于通过Tent混沌映射初始化鲸鱼优化算法中鲸鱼个体的位置;
适应度计算模块,用于根据适应度函数计算所有鲸鱼个体的适应度;
位置更新模块,用于根据设定的位置更新公式,更新鲸鱼位置;
搜索模块,用于通过禁忌搜索,搜索邻域结构;
判断模块,用于判断鲸鱼位置更新的次数是否达到最大迭代次数,若没达到,则返回适应度计算模块,若达到则输出最佳鲸鱼位置;
输出模块,用于根据最佳鲸鱼位置,输出找到机器的最大完工时间,并画出甘特图。