数学建模学习(81):群粒子算法求解最值(模板)

问题

在这里插入图片描述

案例实现

  • 如果需要优化其他问题,只需要调整下fit_fun即可
  • 也可以去调整PSO参数。

PSO参数具体如下:

  • dim:粒子的维度(变量个数)。
  • size:粒子个数m(种群大小)。m很小很容易陷入局部最优,m很大,pso的优化能力很好,当种群数目增长至一定水平时,再增长将不再有显著的作用。
  • x_max:变量x最大值
  • iter_num:迭代次数
  • max_vel:粒子最大速度。速度限制的作用为:维护算法的探索能力。较大时,探索能力强,但是粒子容易飞过最优解与开发能力的平衡;较小时,开发能力强,但是容易陷入局部最优解。一般设定为每维变量变化范围的10%~20%。
  • tol:截至条件

权重因子如下三个,何调整这三个参数使算法避免早熟又可以比较快的收敛,对于解决实际问题意义较大:

  • w:权重因子。 a. 惯性因子w=1表示基本的粒子群算法,w=0表示失去对粒子本身的速度记忆。
  • C1 = 0,无私型粒子群算法,“只有社会,没有自我”但是易迅速丧失群体多样性,易陷于局优而无法跳出。
  • C2 = 0,自我认知型粒子群算法,“只有自我,没有社会”,完全没有信息的社会共享导致算法收

猜你喜欢

转载自blog.csdn.net/weixin_46211269/article/details/126205036
今日推荐