资源简介
关于机组组合优化的matlab程序,包含原始数据,已经输出到表格里,可直接运行
代码片段和文件信息
clear
clc
yalmip;
Cplex;
%%系统参数
%所有参数均用有名值表示
paragen=xlsread(‘excel2017‘‘机组参数‘);
loadcurve=xlsread(‘excel2017‘‘负荷曲线‘);
netpara=xlsread(‘excel2017‘‘网络参数‘);
branch_num=size(netpara);%网络中的支路
branch_num=branch_num(11);
PL_max=netpara(:6);%线路最大负荷
PL_min=netpara(:7);%线路最小负荷
limit=paragen(:3:4);%机组出力上下限//limit(:1)表示上限,limit(:2)表示下限
para=paragen(:5:7);%成本系数//para(:1)表示系数apara(:2)表示系数bpara(:3)表示系数c。
price=100;
para=price*para;%价格换算
lasttime=paragen(:9);%持续时间
Rud=paragen(:8);%上下爬坡速率//因题中简化上坡下坡速度相同
H=paragen(:10);%启动成本
J=paragen(:11);%关停成本
u0=[1 1 1 1 1 1];%初始状态
%% 规模变量
%机组数
gennum=size(paragen);
gennum=gennum(11);
%节点数
numnodes=size(loadcurve);
numnodes=numnodes(11)-1;
%时间范围
T=size(loadcurve);
T=T(12)-1;
%线性化分段数(按需要更改)
m=4;
%各时刻节点总负荷
PL=loadcurve(numnodes+12:T+1);
%%
%决策变量
u=binvar(gennumT‘full‘);%状态变量
p=sdpvar(gennumT‘full‘);%即各机组实时功率p(it)
Ps=sdpvar(gennumTm‘full‘);%分段出力
costH=sdpvar(gennumT‘full‘);%启动成本
costJ=sdpvar(gennumT‘full‘);%关停成本
sum_PowerGSDF=sdpvar(Tbranch_numnumnodes‘full‘);%发电机的输出功率转移总和
%% 目标函数线性化
MaxPs=zeros(gennumTm);%这里表示分段出力的上限
st=[];%st约束初始化
for i=1:gennum %目标函数线性化后分段出力的不等式约束
for t=1:T
for s=1:m
MaxPs(its)=(limit(i1)-limit(i2))/m;
st=st+[Ps(its)>=0Ps(its)<=MaxPs(its)];
end
end
end
K=zeros(gennumm);%煤耗函数的斜率值
for i=1:gennum
for s=1:m
K(is)=2*para(i1)*(2*s-1)*MaxPs(i11)+para(i2);%推导简化后的煤耗斜率
end
end
%目标函数线性化后分段出力的等式约束
for i=1:gennum
for t=1:T
st=st+[p(it)==(sum(Ps(it:)3)+u(it)*limit(i2))];
end
end
%% 目标函数
totalcost=0;%机组费用成本最小
%线性化的最优成本目标
for i=1:gennum
for t=1:T
for s=1:m
totalcost=totalcost+K(is)*Ps(its);%线性化煤耗成本
end
totalcost=totalcost+u(it)*(para(i2)*limit(i2)+para(i1)*limit(i2)^2+para(i3));%加上表示机组开机并以最小出力 运行产生的煤耗
totalcost=totalcost+costH(it)+costJ(it);%加上机组启停产生的开停机成本
end
end
%原二次函数式的最优成本目标
% for i=1:gennum
% for t=1:T
% totalcost=totalcost+para(i1)*p(it).^2+para(i2)*p(it)+para(i3)*u(it); %煤耗成本
% totalcost=totalcost+costH(it); %启动成本
% totalcost=totalcost+costJ(it); %关停成本
% end
% end
%%
for t=1:T
st=st+[sum(p(:t))==PL(1t)];%负荷平衡约束;
end
%%
for t=1:T
for i=1:gennum
st=st+[u(it)*limit(i2)<=p(it)<=u(it)*limit(i1)];%机组出力上下限约束
end
end
%% 机组爬坡约束
%按下式进行推导编程
% %启动最大升速率
% Su=(Pmax+Pmin)/2;
% %停机最大降速率
% Sd=(Pmax+Pmin)/2;
%Ru=Rud;Rd=Rud;
% %上爬坡约束
% for t=2:T
% st=st+[p(:t)-p(:t-1)<=u(:t-1).*(Ru-Su)+Su];
% end
% %下爬坡约束
% for t=2:T
%st=st+[p(:t-1)-p(:t)<=u(:t).*(Rd-Sd)+Sd];
% end
%展开表达式:
for t=2:T
for i=1:gennum
% st=st+[-Rud(i1)*u(it)+(u(it)-u(it-1))*limit(i2)-limit(i1)*(1-u(it))<=p(it)-p(it-1)];
% st=st+[p(it)-p(it-1)<=Rud(i1)*u(it-1)+(u(it)-u(it-1))*limit(i2)+limit(i1)*(1-u(it))];
%由于原式可能关机以后就无法再开动了,改用下式
st=st+[p(it-1)-p(it)<=Rud(i1)*u(it)+(1-u(it))*(limit(i2)+l
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 53760 2017-11-13 19:03 电力系统机组组合优化\excel2017.xls
文件 7584 2017-11-24 21:46 电力系统机组组合优化\jizuzuheyouhua.m
文件 184428 2017-11-26 13:35 电力系统机组组合优化\基本要求.docx
文件 34092 2017-11-24 21:53 电力系统机组组合优化\热备用0.05机组各时段最优出力图表.vsdx
文件 69120 2017-11-24 22:16 电力系统机组组合优化\热备用0.05状态下的机组组合问题求解结果.xls
文件 36685 2017-11-24 22:23 电力系统机组组合优化\热备用0.2下的机组最优出力.vsdx
文件 69632 2017-11-24 22:21 电力系统机组组合优化\热备用0.2状态下的机组组合问题求解结果.xls
目录 0 2019-04-19 19:20 电力系统机组组合优化
----------- --------- ---------- ----- ----
455301 8
相关资源
- Pattern Recognition and Machine Learning(高清
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- HDB3码、AMI码的MATLAB实现
- 3点GPS定位MATLAB仿真
- MATLAB数字信号处理85个实用案例精讲入
- matlab从入门到精通pdf94795
- 欧拉放大论文及matlab代码
- 跳一跳辅助_matlab版本
- 全面详解LTE MATLAB建模、仿真与实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MATLAB Programming for Engineers 4th - Chapman
- matlab 各种谱分析对比
- 分数阶chen混沌matlab程序
- 基于粒子群算法的非合作博弈的matl
- MATLAB车流仿真 包括跟驰、延误
- matlab空间桁架计算程序
- 基于MATLAB的图像特征点匹配和筛选
- DMA-TVP-FAVAR
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- newmark法源程序
- 传统关联成像、计算鬼成像matlab
- pri传统分选算法
- 摆动滚子推杆盘形凸轮设计
- 医学图像重建作业matlab源码
- Matlab实现混沌系统的控制
- 检测疲劳驾驶
- Matlab锁相环仿真-Phase Locked Loop.rar
评论
共有 条评论