- 28
- 0
- 约3.01千字
- 约 5页
- 2022-09-20 发布于山西
- 举报
对于函数 f=x*sin(x)*cos(2*x)-2*x*sin(3*x),求其在区间 [0,20]上
该函数的最大值。
*初始化种群
已知位置限制 [0,20],由于一维问题较为简单,因此可以取初始种
群 N为 50,迭代次数为 100,当然空间维数 d也就是 1。
位置和速度的初始化即在位置和速度限制内随机生成一个 N刈
的矩阵,对于此题,位置初始化也就是在 0~20内随机生成一个 50X1的
数据矩阵,而对于速度则不用考虑约束,一般直接在 0~1内随机生 成一
X
个 50 的数据矩阵。
此处的位置约束也可以理解为位置限制, 而速度限制是保证粒子
步长不超限制的,一般设置速度限制为 [-1,1]。
粒子群的另一个特点就是记录每个个体的历史最优和种群的历 史最
优,因此而二者对应的最优位置和最优值也需要初始化。 其中每
个个体的历史最优位置可以先初始化为当前位置,而种群的历史最优 位
置则可初始化为原点。对于最优值,如果求最大值则初始化为负无 穷,
相反地初始化为正无穷。
每次搜寻都需要将当前的适应度和最优
原创力文档

文档评论(0)