【布局优化】基于粒子群算法求解配电网重构matlab源码

传统配电网的运行优化问题主要涉及发电机机端电压的调整、变压器分接头的调节和电容器容量的配置。在接入分布式电源和储能装置之后,配电网的优化问题还将包括对分布式电源和储能装置的控制。配电网运行优化问题的目标函数主要有最小化系统的有功功率损耗,减少设备的运行成本等等。优化变量包括连续型变量即分布式电源和储能装置的有功无功等,离散型变量即变压器的分接头和电容器的投切组数,接入设备的位置和容量等。约束条件主要有1.发电机机端电压的最大最小限制2.变压器分接头的档位限制以及电容器的容量限制3.变压器和电容器每日最大操作数的限制, 4. 分布式电源和储能装置的有功无功功率约束等。综合配电网优化的目标函数、变量以及约束条件,该优化问题可以看作是一个多目标、多变量的混合整数非线性规划问题。
针对配电网的优化问题,目前主要的求解方法有传统的数学优化方法和人工智能方法。传统的数学优化方法主要包括线性/非线性规划法、动态规划法等,而人工智能方法主要包括遗传算法、模拟退火法和粒子群优化算法等。传统的优化算法从全局考虑整个优化问题,原理严格,计算时间较短。但是对目标函数和优化变量的初值要求较高。人工智能算法对目标函数和初值的要求不高,并且能够求解高维度的优化问题,其缺点是容易陷入局部最优,计算时间较长。
综上,配电网的优化方向主要内容有:(1)含分布式发电设备与储能设备的运行方式研究(2)配电网中接入的分布式发电设备与储能装置的安装位置和容量的选择(3)综合考虑分布式发电设备以及储能装置的运行与规划的优化问题研究

一、粒子群算法的概念

  粒子群优化算法(PSO:Particle swarm optimization) 是一种进化计算技术(evolutionary computation)。源于对鸟群捕食的行为研究。粒子群优化算法的基本思想:是通过群体中个体之间的协作和信息共享来寻找最优解.
  PSO的优势:在于简单容易实现并且没有许多参数的调节。目前已被广泛应用于函数优化、神经网络训练、模糊系统控制以及其他遗传算法的应用领域。

二、粒子群算法分析

1、基本思想

  粒子群算法通过设计一种无质量的粒子来模拟鸟群中的鸟,粒子仅具有两个属性:速度和位置,速度代表移动的快慢,位置代表移动的方向。每个粒子在搜索空间中单独的搜寻最优解,并将其记为当前个体极值,并将个体极值与整个粒子群里的其他粒子共享,找到最优的那个个体极值作为整个粒子群的当前全局最优解,粒子群中的所有粒子根据自己找到的当前个体极值和整个粒子群共享的当前全局最优解来调整自己的速度和位置。下面的动图很形象地展示了PSO算法的过程:


2、更新规则

  PSO初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

公式(1)的第一部分称为【记忆项】,表示上次速度大小和方向的影响;公式(1)的第二部分称为【自身认知项】,是从当前点指向粒子自身最好点的一个矢量,表示粒子的动作来源于自己经验的部分;公式(1)的第三部分称为【群体认知项】,是一个从当前点指向种群最好点的矢量,反映了粒子间的协同合作和知识共享。粒子就是通过自己的经验和同伴中最好的经验来决定下一步的运动。以上面两个公式为基础,形成了PSO的标准形式。

公式(2)和 公式(3)被视为标准PSO算法。

function main()
clear,clc
disp('请输入粒子数');
n = input('');
Y = CreatPSO(n);
 
for i = 1:n
   disp(['第 ',num2str(i),' 个粒子']);
   disp(Y(i,:));
   [loss(i),minV(i)] = PLoss(Y(i,:));
end
   least = min(loss);
   leastIndex = find(loss == least);
   disp(['网损最小的粒子为第( ',num2str(leastIndex),' )个粒子']);
   disp('粒子为值为');
   disp(Y(leastIndex,:));
   disp(['网损有功功率P最小为( ',num2str(least),' )kW']);
   disp(['节点电压p.u最小为 ',num2str(minV(leastIndex))]);
 
   disp('网络拓扑见图');
 
  figure(2);
   Read(Y(leastIndex,:));
   
end
【布局优化】基于粒子群算法求解配电网重构matlab源码

【布局优化】基于粒子群算法求解配电网重构matlab源码【布局优化】基于粒子群算法求解配电网重构matlab源码

完整代码添加QQ1575304183

上一篇:字节跳动算法工程师总结:中高级java开发面试题


下一篇:小白看完都会了!Java开发的项目责任描述