PSO

使用了pso工具箱。对调用的函数的参数进行一下记录:

pso_Trelea_vectorized(functname, D, mv,VarRange ,minmax, PSOparams, plotfcn, PSOseedValue)

functname目标函数名

D待优化问题的维度

mv最大粒子速度,长度为D的标量或向量。(允许每个参数拥有独自的最大速度)(默认4)

VarRange参数变化范围矩阵[min1 max1 min2 max2 … minD maxD](默认100~100)

minmax寻优类型 0(默认):最小; 1:最大; 2:

PSOparams 参数矩阵

P(1)每迭代多少次显示一次中间过程,若为0则不显示中间过程。默认100。

P(2)最大迭代次数,默认2000

P(3)种子数,即初初始化多少个种子。种子数越多,越有可能收敛到全局最优值,但算法收敛速度慢。默认24。

P(4)P(5) 算法的加速度参数,分别影响局部最优值和全局最优值,据说2对大多数情况来说都是挺好的选择,所以一般不需要修改。默认2、2。

P(6)P(7)初始时刻和收敛时刻的加权值,在最早的PSO算法中,没有此参数,靠其它几个参数的调整来保证收敛,但收敛速度和收敛精度难以同时满足,后来在改进算法中,加入此权值,使得兼顾收敛速度和收敛精度成为可能。默认0.9、0.4 。

P(8)指定的当迭代次数超过此值时,加权值取其最小(如上面的0.4)。默认1500 。

P(9) 用于终止算法的阈值。当连续的两次迭代中对应的种群最优值小于此阈值时,算法停止。默认1e-25 。

P(10) 用于终止算法的阈值。当连续250次迭代中函数的梯度之仍然没有变化,则推出迭代。默认250。

P(11)用于说明优化的情况,默认NaN时表示为非约束下的优化问题(即没有附加约束方程)。

P(12) 用于指定采用何种PSO类型,默认0表示通常的PSO算法。

P(13 )用于说明是否认为指定种子,默认0表示随机产生种子,1表示用户自行产生种子。

plotfcn寻优过程中用于展示寻优过程的画图函数。默认goplotpso。

PSO seedValue:可允许用户输入任意多组初始粒子。P(13)必须为1或2。

results matching ""

    No results matching ""