一种基于pso算法的谐波抑制方法

文档序号:9750620
一种基于pso算法的谐波抑制方法
【技术领域】
[0001] 本发明涉及微电网谐波抑制方法领域,更具体地,涉及一种基于PS0算法的谐波抑 制方法。
【背景技术】
[0002] 目前,优化微网系统中LC滤波器参数的方法有很多,归纳起来可以分为两类:一类 是常规优化方法主要包括非线性规划法、二次规划方法、线性规划法及内点法等;另一类是 人工智能优化算法,主要包括遗传算法、模拟退火算法、禁忌搜索、粒子群优化以及各种进 化规划方法。第一类方法最主要的优点是计算迅速、收敛可靠,但需要某些假设条件,如连 续、可导及单峰等。在解决某些问题时,需要将整数变量视为连续变量参与优化计算,得到 最优解后再进行归整。对于大规模的实际系统,由归整产生的误差一般是不可接受的。第二 类方法中遗传算法应用最为广泛,对优化问题无可导和连续性要求,只需一个适应性函数 或性能指标,且具有全局收敛性,其主要缺点是"早熟收敛"问题和收敛速度难于满足实时 控制的需要。粒子群优化(Particle Swarm Optimization,PS0)算法作为一种新型的基于 群体智能计算方法,在解决经典优化算法难以求解的诸如不连续、不可微的非线性病态优 化问题和组合优化问题时显示出了强大的优势。与其他进化算法相比,它具有思想简单、容 易实现、可调参数较少和应用效果明显等优点,因此在优化微网系统滤波器参数中应用中 比较广泛。
[0003] 目前,PS0在微网系统优化滤波器参数整定时,需要已知滤波器参数与目标函数谐 波率之间的精确关系,所以要将微网系统转化为状态方程式或者是传递函数,然后运行PS0 程序得到滤波参数最优值。但是,在微网系统内部结构复杂的情况下,微网系统的状态方程 式或者传递函数难以直接得到,这就需要花费较多的时间用于计算微网系统的状态方程式 或传递函数,从而增大计算量,甚至影响优化效率。

【发明内容】

[0004] 本发明提供一种计算量小,效率较高的基于PS0算法的谐波抑制方法。
[0005] 为了达到上述技术效果,本发明的技术方案如下:
[0006] -种基于PS0算法的谐波抑制方法,包括以下步骤:
[0007] 1)、初始化参数;
[0008] 2)、初始化粒子(每个粒子代表问题的一个潜在解即滤波器中L、C的参数)的位置、 速度,调用微网仿真系统程序f itness,以及初始化适应度值Present;
[0009] 3)、对粒子位置和速度进行更新;
[0010] 4)、调用微网仿真系统程序fitness,更新粒子适应度值Present;
[0011] 5)、适应度评价,更新个体历史极值pbest;
[0012] 6)、更新全局极值gbest。
[0013] 进一步地,步骤(1)包括:
[0014] 1-1)、确定PS0程序中的最大迭代次数、粒子数、维度数、学习因子及惯性权重的取 值;
[0015] 1-2)、确定需要优化的参数的大致范围。
[0016] 进一步地,步骤(2)初始化粒子的位置、速度,调用微网仿真系统程序fitness,以 及初始化适应值的具体步骤如下:
[0017] 2-1)、初始化粒子当前位置;
[0018] 2-2)、初始化粒子当前速度;
[0019] 2-3)、调用微网仿真系统程序fitness;
[0020] 2-4)、根据初始化位置计算适应度值Present;
[0021 ] 2-5)、记每个粒子的历史最优值为pbest;
[0022] 2-6)、记全局最优值为gbest。
[0023] 进一步地,步骤(2-3)中微网仿真系统程序fitness的编写的具体步骤如下:
[0024] A1)、通过open_system函数可以打开微网仿真系统;
[0025] A2)、通过set_param函数将微网simulink仿真系统中需要优化的LC滤波器中1^和0 的参数值分别设为变量,记为1和c;
[0026] A3 )、通过s im函数运行微网仿真系统;
[0027] A4)、根据要优化的滤波器参数确定作为检验参数优劣标准的目标函数即微网谐 波率,编程写出目标函数微网谐波率,同样设置为一个变量记为THD。
[0028] 进一步地,步骤(3)包括:
[0029] 3-1)、确定迭代次数是否到达上限,若到达上限,则整个优化过程结束;若没有到 达上限,则跳转至步骤(3-2);
[0030] 3-2)、根据下式得粒子速度更新:
[0031 ] vf+1 - wv^ + e,/j(xf -xf ) + c2:/j(ji:* -X^)
[0032] 根据上式得粒子位置更新:
[0033] x^1 =Χ·
[0034] 其中i = l,2,...,Ν是粒子个数,是粒子在第k次迭代中的速度,是粒子i在第k次迭 代中的位置,是粒子i在第k次迭代中的个体最优位置,也记为pbest; X*是粒子i在第k次迭 代中的全局最优位置,也记为gbest;rl和r2为均勾分布于[0,1]之间的随机数,cl和c2为加 速因子,ω为惯性因子。
[0035] 进一步地,步骤(4)包括:
[0036] 4-1)、再次调用微网仿真系统程序fitness;
[0037] 4-2)、更新粒子适应度值present。
[0038] 进一步地,步骤(5)包括:
[0039] 5-1 )、根据条件判断粒子当前适应值present是否优于历史最优值pbest,若 present优于pbest则跳转至步骤(5-2),若不优于则跳转至步骤(6);
[0040] 5-2)、用present的值代替pbest中的值,作为当前粒子最优值。
[0041] 进一步地,步骤(6)包括:
[0042] 6-1)、看算法是否满足结束条件,若不满足则跳转至步骤(3-1),若满足则跳转至 步骤(6-2);
[0043] 6-2)、更新全局极值gbest,并输出gbest和LC滤波器的最优参数值。
[0044]本发明的技术构思是:在用PS0程序优化微网系统滤波器参数时,本发明只需已知 要优化的滤波器参数和作为目标函数的微网谐波率,直接编写微网仿真系统程序fitness, 流程图如图2所示,即首先用open_system函数打开微网仿真系统,并用set_param函数设定 需优化的LC滤波器参数为变量,然后用sim函数来控制微网仿真系统的运行,最后用程序编 写得到目标函数微网谐波率。在微网仿真系统程序fitness编写完成后,利用PS0程序调用 微网仿真系统程序fitnes^PSO程序每得到一次滤波器参数值,微网系统便运行一次得到 目标函数的值。这是个不断寻优不断仿真的过程,在实际应用中可以根据具体的运行状况 进一步完善程序。
[0045] 与现有技术相比,本发明技术方案的有益效果是:
[0046] 在用PS0优化微网系统滤波器参数时,不必再将微网系统转化为状态方程式或者 是传递函数,亦不必已知需优化的滤波器参数和目标函数微网谐波率之间的确切关系,而 是只需知道微网系统要进行优化的滤波器参数和作为评价参数优劣的目标函数即可。因 此,本发明能够有效降低计算量,提高PS0优化微网系统滤波器参数效率,从而达到有效抑 制微网谐波的效果。
【附图说明】
[0047]图1基于PS0优化算法的微网谐波抑制方法流程图;
[0048]图2微网仿真系统程序fitness流程图;
[0049]图3 PS0算法优化微网系统中滤波器的参数结构图;
[0050]图4并网到孤岛PS0优化和按经验值法得到的负载输出端电压对比图;
[0051 ]图5孤岛到并网PS0优化和按经验值法得到的负载输出端电压对比图。
【具体实施方式】
[0052] 附图仅用于示例性说明,不能理解为对本专利的限制;
[0053] 为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品 的尺寸;
[0054] 对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解 的。
[0055] 下面结合附图和实施例对本发明的技术方案做进一步的说明。
[0056] 实施例1
[0057] 如图1-2所示,一种基于PS0算法的谐波抑制方法,包括以下步骤:
[0058] 1)、初始化参数;
[0059] 2)、初始化粒子(每个粒子代表问题的一个潜在解即滤波器中L、C的参数)的位置、 速度,调用微网仿真系统程序f itness,以及初始化适应度值Present;
[0060] 3)、对粒子位置和速度进行更新;
[0061 ] 4)、调用微网仿真系统程序fitness,更新粒子适应度值Present;
[0062] 5)、适应度评价,更新个体历史极值pbest;
[0063] 6)、更新全局极值gbest。
[0064] 步骤(1)包括:
[0065] 1-1)、确定PS0程序中的最大迭代次数、粒子数、维度数、学习因子及惯性权重的取 值;
[0066] 1-2)、确定需要优化的参数的大致范围。
[0067] 步骤(2)初始化粒子的位置、速度,调用微网仿真系统程序fitness,以及初始化适 应值的具体步骤如下:
[0068] 2-1)、初始化粒子当前位置;
[0069] 2-2)、初始化粒子当前速度;
[0070] 2-3)、调用微网仿真系统程序fitness;
[0071 ] 2-4)、根据初始化位置计算适应度值Present;
[0072] 2-5)、记每个粒子的历史最优值为pbe
再多了解一些
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1