电力系统最优潮流-电力系统最优潮流计算

本文目录一览:

电力系统最优潮流用什么求解器求解

最优潮流考虑的因素不一样,其模型的特点也是不一样的,相应所能够求解的算法也不一样。

1、不含切机、切负荷、切容抗器等01变量的最优潮流,其模型一般是连续的,可以采用IPOPT内点法工具箱求解。这个工具箱是免费的,windows和linux系统都支持,在使用时要注意采用稀疏存储模式,并且不要使用自动求导工具(ADOL+Colpack),求解工具bug很多,只能用来对比验证自动手动求导的正确与否。

2、含01变量的二次连续型最优潮流,若可以线性化,则可以采用Cplex求解器,不能线性化的,可以采用GAMS平台(Cplex是GAMS其中一个求解器)。这个求解器是商用的,需要找破解版。

3、除上述两种情况外,最优潮流模型离散,一般情况下只能采用粒子群等智能搜索算法。

4、国内传说很牛什么问题都能解的求解器1stopt。不过也是收费的(他们自己放出的免费1.5版本问题多多,基本上用不了),优点是问题模型描述简单,真的是非常简单,没有求导等复杂问题,但是这个所谓的简单方法并不支持最优潮流这类优化问题,必须使用编程模式,所以就一样变得复杂(没有逐步调试功能)。不足问题就是没有逐步调试功能,运行时变量的值无法跟踪,很不方便查找问题出在哪;输入和输出操作都不太方便,虽然支持嵌入式excel输入数据,但是运行时会卡顿一会;版本不向下兼容,低版本的命令到了高版本就不一定能用;不支持多个子代码文件,所有程序必须写在同一个代码本里,没有像c++和matlab可以把代码放在不同文件调度的功能,不方便模块化编程。

用matpower做24小时的最优潮流调度,动态修改case*.m中节点矩阵数据

load=xlsread('D:\opf\data.xlsx','sheet1','a1:i24');

mpc=loadcase('case9');

for i=1:24

mpc.bus(:,3)=load(i,:);

result=runopf(mpc)

end

这样是不是更快一点,避免每次循环都读文件

电力系统最优潮流用不用区分节点类型?

最优潮流要区分节点类型,因为要建立等式约束条件。以pv节点为例,如果只是解潮流,pv已知,但是你是解最优潮流,此时的p可以在一个范围内取值,就是它的不等式约束(如发电机出力上下极限),不同的取值p可以得到不同的目标函数值,寻求那个最小的目标函数值就是解最优潮流。

电力系统潮流调控的唯一目的是使电力网的有功功率损耗最小,以实现电力系统的经济运行。

提问者提此问题的原因是学习了以网损最小为目标的最优潮流问题吧?这句话当然是不正确的。就实际的电力系统来说,安排潮流的硬约束是安全和稳定,如果安全性和经济性矛盾,经济性必须服从安全性,所以网损小的方式不够安全就不能采纳。另外,实际电厂安排发电计划的时候还要考虑电厂的性质,是煤电、水电还是新能源?如果是清洁能源,网损大一些也没什么,更不用说实际发电安排有很多长期合约和政策性约束。最后,就算是单纯的作业题,也不应该就以网损最小为目标啊,而是包括电厂的全社会成本最低,要考虑发电厂的发电成本。


原文链接:https://527256.com/12350.html

相关文章

访客
访客
发布于 2022-07-09 16:42:46  回复
目标函数值,寻求那个最小的目标函数值就是解最优潮流。电力系统潮流调控的唯一目的是使电力网的有功功率损耗最小,以实现电力系统的经济运行。提问者提此问题的原因是学习了以网损最小为目标的最优潮流问题吧?这句话当然是不正确的。就实际的电力系统来说,安排潮流的硬约束是安全和稳定,如果安全
访客
访客
发布于 2022-07-09 13:04:18  回复
l输入数据,但是运行时会卡顿一会;版本不向下兼容,低版本的命令到了高版本就不一定能用;不支持多个子代码文件,所有程序必须写在同一个代码本里,没有像c++和matlab可以把代码放在不同文件调度的功能,不方便模块化编程。用matpower做24小时的最优潮流调度,动态修改ca
访客
访客
发布于 2022-07-09 15:52:55  回复
都能解的求解器1stopt。不过也是收费的(他们自己放出的免费1.5版本问题多多,基本上用不了),优点是问题模型描述简单,真的是非常简单,没有求导等复杂问题,但是这个所谓的简单方法并不支持最优潮流这类优化问题,必须使用编程模式,所以就一样变得复
访客
访客
发布于 2022-07-09 12:33:45  回复
够求解的算法也不一样。1、不含切机、切负荷、切容抗器等01变量的最优潮流,其模型一般是连续的,可以采用IPOPT内点法工具箱求解。这个工具箱是免费的,windows和linux
访客
访客
发布于 2022-07-09 16:46:47  回复
et1','a1:i24');mpc=loadcase('case9');for i=1:24 mpc.bus(:,3)=load(i,:);result=ru

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

返回顶部