樽海鞘群算法(Tunicate Swarm Optimization,TSO)是一种基于自然生物群体行为的启发式优化算法,它模拟了樽海鞘在食物搜索和繁殖过程中的行为。
算法步骤如下:
1、初始化参数:
设定种群大小(Population Size) 为N。
设定最大迭代次数(MaxIterations)为Maxlter。
设定惯性权重范围(InertiaWeight Range)为[MinWeight,MaxWeight]。
设定差分变异缩放因子(Scaling Factor)为F。
2、初始化种群:
随机生成N个解向量作为初始种群。
计算每个解向量的适应度值。
3、迭代优化:
设置当前迭代次数为iter=1。
当iter<=Maxlter时,执行以下步骤:
更新惯性权重W,其中W=MinWeight +(MaxWeight - MinWeight)*rand()。
对于每个个体i=1到N,执行以下步骤:
随机选择三个不同的解向量a、b和c,其中a≠b≠c≠i。
生成差分变异解向量v,其中v = a +F *(b- c)。
对于每个维度j=1到解向量的维度数,执行以下步骤:
.如果rand() <= W,更新解向量的第j维度值为v的第j维度值。
否则,更新解向量的第j维度值为当前个体i的第j维度值。
计算更新后解向量的适应度值。
·如果更新后的适应度值优于个体i的适应度值,则用更新后的解向量替换个体i。
增加迭代次数iter=iter+1.
4、返回最优解:
从经过Maxlt