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

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

💥1 概述

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

📚2 运行结果

这里仅展现部分运行结果


%% Define 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代码实现

相关文章
|
2天前
|
资源调度 算法 块存储
m基于遗传优化的LDPC码OMS译码算法最优偏移参数计算和误码率matlab仿真
MATLAB2022a仿真实现了遗传优化的LDPC码OSD译码算法,通过自动搜索最佳偏移参数ΔΔ以提升纠错性能。该算法结合了低密度奇偶校验码和有序统计译码理论,利用遗传算法进行全局优化,避免手动调整,提高译码效率。核心程序包括编码、调制、AWGN信道模拟及软输入软输出译码等步骤,通过仿真曲线展示了不同SNR下的误码率性能。
9 1
|
2天前
|
算法 Serverless
m基于遗传优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真
MATLAB 2022a仿真实现了遗传优化的归一化最小和(NMS)译码算法,应用于低密度奇偶校验(LDPC)码。结果显示了遗传优化的迭代过程和误码率对比。遗传算法通过选择、交叉和变异操作寻找最佳归一化因子,以提升NMS译码性能。核心程序包括迭代优化、目标函数计算及性能绘图。最终,展示了SNR与误码率的关系,并保存了关键数据。
16 1
|
2天前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
2天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
2天前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
2天前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
2天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)
|
2天前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
2天前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)

热门文章

最新文章