• 大小: 267KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-18
  • 语言: Matlab
  • 标签: jizuzu  Matlab  

资源简介

关于机组组合优化的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


评论

共有 条评论