【最优潮流】直流最优潮流(OPF)课设(Matlab代码实现)

💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥


🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


座右铭:行百里者,半于九十。

📋 📋 📋 本文目录如下: 🎁 🎁 🎁
目录
💥1 概述
📚2 运行结果
🎉3 参考文献
🌈4 Matlab代码实现

💥1 概述

最优潮流(OPF)是指在满足电网约束的同时,以最小的成本将负荷分配给电厂。描述为在满足网络(潮流)约束的情况下最小化所有承诺的工厂的总燃料成本的优化问题。

📚2 运行结果

这里仅展现部分运行结果

%% fine Variables and Constraints

% decision variables

g = sdpvar(2,1);

p = sdpvar(5,1);

theta = sdpvar(4,1);

% objective function: min z = g1^2 + 40g1 + g2^2 + 50g2

P = [1 0;0 1];

q = [40;50];

z = g.'*P*g + q.'*g;

% constraints: A*g<=b; g>=0; IN*p=g-d; IN.'*theta=p.*X;

A = [1 2;4 3];

b = [40;120];

g_all = [g;0;0];

d = [0;0;10;20];

X = [0.01;0.01;0.01;0.02;0.01];

Cons = [A*g<=b; g>=0; IN*p==g_all-d; IN.'*theta==p.*X; p<=20; p>=-20];

% solve

ops = sdpsettings('verbose',0,'solver','gurobi');

sol = optimize(Cons,z,ops);

if(~sol.problem)

s_g = value(g)

s_p = value(p)

s_theta = value(theta)

s_z = value(z)

% visualization

G = digraph(startNode,endNode);

pic = plot(G);

%layout(pic,'layered');

labeledge(pic,1:numedges(G),s_p);% 画出线路潮流

for i = 1:4

if(i<3)

strMat{i,1}=[num2str(orderedNode(i,1)),',',num2str(s_g(i,1)),',',num2str(d(i,1)),',',num2str(s_theta(i,1))];

else

strMat{i,1}=[num2str(orderedNode(i,1)),',',num2str(0),',',num2str(d(i,1)),',',num2str(s_theta(i,1))];

end

end

labelnode(pic,1:numnodes(G),strMat);% 按编号、p、d、theta排列节点求解信息

else

printf('Optimal result not found!');

end

%% 该函数负责生成节点关联矩阵,考虑了非连续\编号不从0开始的情况,将节点从小到大排列

function [orderedNode,y] = myincidence(startNode,endNode)

uniNode = unique([startNode;endNode]);

orderedNode= sort(uniNode);

y = zeros(size(uniNode,2),size(startNode,1));

for i = 1:size(startNode,1)

y(orderedNode==startNode(i,1),i) = 1;

y(orderedNode==endNode(i,1),i) = -1;

end

end

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]金国彬,石超,陈庆,李国庆,潘狄,成龙.考虑变换器功率约束和直流电压约束的交直流混合配电网最优潮流计算[J].电网技术,2021,45(04):1487-1496.DOI:10.13335/j.1000-3673.pst.2020.1527.

🌈4 Matlab代码实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最优潮流(Optimal Power Flow,简称OPF)是电力系统运行和规划中的重要问题之一,可以用来确定电力系统中各发电机和负荷之间的功率分配,以实现最佳的系统操作和经济性。 在MATLAB中,可以使用Power System Toolbox来解决最优潮流问题。首先,需要构建电力系统模型,包括发电机、负荷、变压器、输电线路等元件。然后,可以使用OPF函数来进行潮流计算最优调度。在函数中,可以设置各个元件的功率限制、电压限制、输电线路的损耗等约束条件,以及经济目标函数,如最小化总成本或最小化总损耗。 以下是一个简单的MATLAB示例代码来解决最优潮流问题: ```matlab % 构建电力系统模型 mpc = loadcase('case9'); % 导入一个示例电力系统数据 % 设置 OPF 参数 mpopt = mpoption('opf.ac.solver', 'MIPS'); % 选择求解器 mpc.gencost(:, 4) = 0; % 去除发电机的恒定成本 % 运行 OPF results = runopf(mpc, mpopt); % 输出结果 disp(results); ``` 在这个示例中,我们使用了一个名为'case9'的示例电力系统数据,该数据包含9个节点、3个发电机和3个负荷。我们还通过设置`mpopt`来选择求解器和其他参数,然后使用`runopf`函数来运行最优潮流计算。最后,使用`disp`函数来显示计算结果。 注意,这只是一个简单的示例,实际应用中可能需要根据具体情况调整参数和约束条件。你可以根据自己的需求进一步修改和扩展代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值