电力系统—转移因子法求潮流(Python实现,【2024Python最新学习路线

5、致谢


1、概述


在电力系统中计算潮流一般会选择牛顿——拉夫逊法、PQ分解法,我们上次也分享了完整代码和案例,代码很全面。计算潮流的方法也很多,但是转移因子法思想最简单,本次主要分析转移因子法求潮流。

2、原理及步骤


(1)原理

(2)步骤

如图所示的三节点系统中,节点1有两台发电机组,节点2分别有一台发电机组和一个负荷,节点3有一个负荷,三条支路的电抗都为0.25(标幺值),试求DCPF(转移因子矩阵)中各个矩阵元素的值。

第一步:节点功率净输入向量Pij=[P11+P12,P2-PD2,-PD3]

第二步:取节点1为参考节点。

第三步:初始化各节点功率为0,然后依次往各节点注入1单位功率,求解线路潮流。

第四步:得到线路功率:

3、案例简单分析


4、案例实现


(1)案例

    不考虑网络约束:

考虑网络约束:

(2)代码实现(方法1)

import numpy as np

from scipy.optimize import minimize

目标函数(FG1+FG2+FG3)

def fun(args1):

A0,a0, a1, a2,B0, b0, b1, b2,C0, c0, c1, c2 = args1

v = lambda x: (A0+a0*x[0] + a1 * x[1] + a2 * x[2]

  • B0+b0*x[3] + b1 * x[4] + b2 * x[5]

  • C0+c0*x[6] + c1 * x[7] + c2 * x[8])

return v

def con(args2):

D, x0min, x0max, x1min, x1max, x2min, x2max,x3min, x3max,x4min, x4max,x5min, x5max,x6min, x6max,x7min, x7max,x8min, x8max= args2

cons = ({‘type’: ‘eq’, ‘fun’: lambda x: (100+x[0] + x[1] + x[2]+100+x[3]+x[4]+x[5]+50+x[6]+x[7]+x[8])-D}, #等式约束

#不等式约束

{‘type’: ‘ineq’, ‘fun’: lambda x: 300-np.abs((-2/3)(100+x[3]+x[4]+x[5]-(1/3)(50+x[6]+x[7]+x[8]+(1/3)*D)))},

{‘type’: ‘ineq’, ‘fun’: lambda x: 300 - np.abs((-1 / 3) * (100 + x[3] + x[4] + x[5] - (2/ 3)*(50 + x[6] + x[7] + x[8] + (2/ 3) * D)))},

{‘type’: ‘ineq’, ‘fun’: lambda x: 330 - np.abs((1 / 3) * (100 + x[3] + x[4] + x[5] - (1 / 3)*(50 + x[6] + x[7] + x[8] + (1 / 3) * D)))},

#考虑网络约束

{‘type’: ‘ineq’, ‘fun’: lambda x: 190-(100+x[3]+x[4]+x[5]-(50+x[6]+x[7]+x[8]))},

#上下界

{‘type’: ‘ineq’, ‘fun’: lambda x: x[0] - x0min},

{‘type’: ‘ineq’, ‘fun’: lambda x: -x[0] + x0max},

{‘type’: ‘ineq’, ‘fun’: lambda x: x[1] - x1min},

{‘type’: ‘ineq’, ‘fun’: lambda x: -x[1] + x1max},

{‘type’: ‘ineq’, ‘fun’: lambda x: x[2] - x2min},

{‘type’: ‘ineq’, ‘fun’: lambda x: -x[2] + x2max},

{‘type’: ‘ineq’, ‘fun’: lambda x: x[3] - x3min},

{‘type’: ‘ineq’, ‘fun’: lambda x: -x[3] + x3max},

{‘type’: ‘ineq’, ‘fun’: lambda x: x[4] - x4min},

{‘type’: ‘ineq’, ‘fun’: lambda x: -x[4] + x4max},

{‘type’: ‘ineq’, ‘fun’: lambda x: x[5] - x5min},

{‘type’: ‘ineq’, ‘fun’: lambda x: -x[5] + x5max},

{‘type’: ‘ineq’, ‘fun’: lambda x: x[6] - x6min},

{‘type’: ‘ineq’, ‘fun’: lambda x: -x[6] + x6max},

{‘type’: ‘ineq’, ‘fun’: lambda x: x[7] - x7min},

{‘type’: ‘ineq’, ‘fun’: lambda x: -x[7] + x7max},

{‘type’: ‘ineq’, ‘fun’: lambda x: x[8] - x8min},

{‘type’: ‘ineq’, ‘fun’: lambda x: -x[8] + x8max})

return cons

def main():

args1 = (3300,40,50,57.5,4225,43.75,46.25,48.75,2910,55.8,57,58.2)

args2 = (800, 0,200,0,200,0,100,0,100,0,100,0,100,0,50,0,50,0,50)

cons = con(args2)

x0 = np.random.uniform(10, 400, 9) # 初值

res = minimize(fun(args1), x0, method=‘SLSQP’, constraints=cons)

print(‘FGi-代价:’, res.fun)

print(res.success)

x=res.x

pI11 = x[0]

pI12 = x[1]

pI13 = x[2]

pI21 = x[3]

pI22 = x[4]

pI23 = x[5]

pI31 = x[6]

pI32 = x[7]

pI33 = x[8]

PG1 = 100 + pI11 + pI12 + pI13

PG2 = 100 + pI21 + pI22 + pI23

PG3 = 50 + pI31 + pI32 + pI33

PD=800

线路潮流

PL12 = 0 * PG1 - (2 / 3) * PG2 - (1 / 3) * (PG3 - PD)

PL13 = 0 * PG1 - 0.5 * (1 / 3) * PG2 - (1 / 3) * (PG3 - PD)

PL23 = 0 * PG1 + (1 / 3) * PG2 - (1 / 3) * (PG3 - PD)

原理注解

PL13 = 0.5 * ((0.01 + 0.01) * (PG3 - 800) + 0.01 * PG2) / (0.01 + 0.01 + 0.01)

PL12 = ((0.01 + 0.01) * PG2 + 0.01 * (PG3 - 800)) / (0.01 + 0.01 + 0.01)

PL23 = ((0.01 + 0.01) * (PG3 - 800) + 0.01 * PG1) / (0.01 + 0.01 + 0.01)

print(‘机组PG1=’, PG1)

print(‘机组PG2=’, PG2)

print(‘机组PG3=’, PG3)

print(‘线路PL13=’, np.abs(PL13))

print(‘线路PL12=’, np.abs(PL12))

print(“线路PL23=”, np.abs(PL23))

if name == “main”:

main()

结果

FGi-代价: 35170.250000008295

True

机组PG1= 499.99999999971374

机组PG2= 245.00000000012272

机组PG3= 55.0000000001636

线路PL13= 207.49999999992502

线路PL12= 84.99999999986366

线路PL23= 329.99999999998636

Process finished with exit code 0

(3)代码实现(方法2)

import numpy as np

from scipy import optimize as opt

from scipy.optimize import minimize

目标函数

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
img

g_convert/99461e47e58e503d2bc1dc6f4668534a.png)

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
[外链图片转存中…(img-dwpbIXPY-1711022408942)]

  • 20
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值