matlab yalmip cplex,关于 cplex+matlab+yalmip问题
我想使用 cplex+matlab+yalmip求解一个微电网的最小成本规划问题。但是结果是 : Warning: Solver not applicable (cplex) (已安装cplex ),希望各位能江湖救急下Q=[-8 10 25 60 100 120 132 150 155 158 125 118 86 63 60 52 54 62 75 100 78 72 52 -16];%功..
我想使用 cplex+matlab+yalmip求解一个微电网的最小成本规划问题。
但是结果是 : Warning: Solver not applicable (cplex) (已安装cplex ),希望各位能江湖救急下
Q=[-8 10 25 60 100 120 132 150 155 158 125 118 86 63 60 52 54 62 75 100 78 72 52 -16];%功率差值
% clc;
% clear all;
N=4; % FC_1 FC_2 PCC Pnas
T=24;
Pmax=[80 100]'; %% FC_1 FC_2
Pmin=[20 20]';
Rmax=[35 35]'; %% 爬坡率
Rmin=[-35 -35]';
%%%%%%%%%%%%%%%%%%%% 储能 相关系数
a=0.08;
%%%%%%%%%%%%%%%%%%%%%% 可控机组 FC 相关系数
OM=0.029; %%运行维护系数
%%%%%%%% %%惩罚成本/相关系数
CO2=[6 4.5 0.01725]';
X=[0.014*exp(-3) 0.0027*exp(-3) 489*exp(-3)]';
Cgas=3.3;
LHV=10.47;
Cit=[30 30]';%启停状态
%%%%%%%%%%%%%%%%%%% 峰 平 谷 电价
buy=[1.407 0.844 0.361 ];
sell=[1.209 0.646 0.202 ];
%%%%%%%%%%%%%%%%
Nit1=binvar(2,T,'full'); %%机组状态
bb1=intvar(2,T,'full'); %%机组赋值
%%%%%%%%%%%%%%%%
P_ch=binvar(1,T,'full'); %% 1表示购电 PCC
P_dis=binvar(1,T,'full'); %% 1表示售电 PCC
PP_grid=intvar(1,T,'full'); %% 购电时的PCC赋值(+)
PS_grid=intvar(1,T,'full'); %% 售电时的PCC赋值(-)
%%%%%%%%%%%%%%%%
B_ch=binvar(1,T,'full'); %% 1表示充电 Pnas
B_dis=binvar(1,T,'full'); %% 1表示放电 Pnas
BC_nas=intvar(1,T,'full'); %% 充电时的Pnas赋值(+)
BD_nas=intvar(1,T,'full'); %% 放电时的Pnas赋值(-)
%%%%%%%%%%%%%%%%%%%%
Mit=[Nit1(:,1),((Nit1(:,2)-Nit1(:,1))+abs((Nit1(:,2)-Nit1(:,1))))./2,((Nit1(:,3)-Nit1(:,2))...+abs((Nit1(:,3)-Nit1(:,2))))./2,((Nit1(:,4)-Nit1(:,3))+abs((Nit1(:,4)-Nit1(:,3))))./2,...((Nit1(:,5)-Nit1(:,4))+abs((Nit1(:,5)-Nit1(:,4))))./2,((Nit1(:,6)-Nit1(:,5))+...
abs((Nit1(:,6)-Nit1(:,5))))./2,((Nit1(:,7)-Nit1(:,6))+abs((Nit1(:,7)-Nit1(:,6))))./2,((Nit1(:,8)-Nit1(:,7))+abs((Nit1(:,8)-Nit1(:,7))))./2,((Nit1(:,9)-Nit1(:,8))...+abs((Nit1(:,9)-Nit1(:,8))))./2,((Nit1(:,10)-Nit1(:,9))+abs((Nit1(:,10)-Nit1(:,9))))./2,... ((Nit1(:,11)-Nit1(:,10))+abs((Nit1(:,11)-Nit1(:,10))))./2,((Nit1(:,12)-Nit1(:,11))+... abs((Nit1(:,12)-Nit1(:,11))))./2,((Nit1(:,13)-Nit1(:,12))+abs((Nit1(:,13)-Nit1(:,12))))./2,((Nit1(:,14)-Nit1(:,12))+abs((Nit1(:,14)-Nit1(:,12))))./2,((Nit1(:,15)-Nit1(:,14))...+abs((Nit1(:,15)-Nit1(:,14))))./2,((Nit1(:,16)-Nit1(:,15))+abs((Nit1(:,16)-Nit1(:,15))))./2,... ((Nit1(:,17)-Nit1(:,16))+abs((Nit1(:,17)-Nit1(:,16))))./2,((Nit1(:,18)-Nit1(:,17))+... abs((Nit1(:,18)-Nit1(:,17))))./2,((Nit1(:,19)-Nit1(:,18))+abs((Nit1(:,19)-Nit1(:,18))))./2,((Nit1(:,20)-Nit1(:,19))+abs((Nit1(:,20)-Nit1(:,19))))./2,((Nit1(:,21)-Nit1(:,20))...+abs((Nit1(:,21)-Nit1(:,20))))./2,((Nit1(:,22)-Nit1(:,21))+abs((Nit1(:,22)-Nit1(:,21))))./2,...((Nit1(:,23)-Nit1(:,22))+abs((Nit1(:,23)-Nit1(:,22))))./2,((Nit1(:,24)-Nit1(:,23))+... abs((Nit1(:,24)-Nit1(:,23))))./2];
%% 约束条件
constraints=[];
%% 状态约束
for k=1:T %PCC状态 %Pnas状态
constraints=[constraints,P_ch(:,k)+P_dis(:,k)<=1];
constraints=[constraints,B_ch(:,k)+B_dis(:,k)<=1];
end
for k=1:23 %启停间隔约束
constraints=[constraints,Mit(:,k)+Mit(:,k+1)<=1.888];
end
%%机组上下限约束
for k=1:T %机组约束
constraints=[constraints,Nit1(:,k).*Pmin<=bb1(:,k)<=Nit1(:,k).*Pmax]; %FC_1,FC_2赋值
%PCC约束
constraints=[constraints,0<=PP_grid(:,k)<=45.*P_ch(:,k)]; %购电赋值
constraints=[constraints,0<=PS_grid(:,k)<=45.*P_dis(:,k)]; %售电赋值
%Pnas约束
constraints=[constraints,0<=BC_nas(:,k)<=100.*B_ch(:,k)]; %充电赋值
constraints=[constraints,0<=BD_nas(:,k)<=100.*B_dis(:,k)]; %放电赋值
end
%%荷电状态
for k=1:T
constraints=[constraints,0.2<=SOC(k)<=0.8];
constraints=[constraints,SOC(24)==0.5];
end
%%功率平衡约束
for k=1:T
constraints=[constraints,sum(bb1(:,k).*0.8+(PP_grid(:,k)-PS_grid(:,k)))==sum(Q(k)+BC_nas(:,k).*0.8-BD_nas(:,k).*0.8)];
end
ops = sdpsettings('solver', 'cplex', 'verbose', 2);
result=solvesdp(constraints,fff,ops);
stairs(value(bb1.*Nit1)')
hold on
stairs(value(P_ch.*PP_grid-P_dis.*PS_grid)','r') %% PCC
hold on
stairs(value(B_ch.*BC_nas.*0.8-B_dis.*BD_nas.*0.8)','g')
%
Objective=double(fff);
%
Pit1=double(bb1.*Nit1);
Nit1=double(Nit1);
%
PCC=double(P_ch.*PP_grid-P_dis.*PS_grid);
P_ch=double(P_ch);
P_dis=double(P_dis);
%
Pnas=double(B_ch.*BC_nas.*0.8-B_dis.*BD_nas.*0.8);
B_ch=double(B_ch);
B_dis=double(B_dis);
%
SOC=double(SOC);
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)