资源简介
yalmip(matlab)解决UC问题范例1(补充).rar

代码片段和文件信息
Nunits = 3;
Horizon = 48;
Pmax = [100;50;25];
Pmin = [20;40;1];
Q = diag([.04 .01 .02]);
C = [10 20 20];
Pforecast = 100 + 50*sin((1:Horizon)*2*pi/24);
onoff = binvar(NunitsHorizon‘full‘);
P = sdpvar(NunitsHorizon‘full‘);
Constraints = [];
for k = 1:Horizon
Constraints = [Constraints onoff(:k).*Pmin <= P(:k) <= onoff(:k).*Pmax];
end
for k = 1:Horizon
Constraints = [Constraints sum(P(:k)) >= Pforecast(k)];
end
objective = 0;
for k = 1:Horizon
objective = objective + P(:k)‘*Q*P(:k) + C*P(:k);
end
ops = sdpsettings(‘verbose‘1‘debug‘1);
optimize(Constraintsobjectiveops)
stairs(value(P)‘);
legend(‘Unit 1‘‘Unit 2‘‘Unit 3‘);
minup = [6;30;1];
mindown = [3;6;3];
for k = 2:Horizon
for unit = 1:Nunits
% indicator will be 1 only when switched on
indicator = onoff(unitk)-onoff(unitk-1);
range = k:min(Horizonk+minup(unit)-1);
% Constraints will be redundant unless indicator = 1
Constraints = [Constraints onoff(unitrange) >= indicator];
end
end
for k = 2:Horizon
for unit = 1:Nunits
% indicator will be 1 only when switched off
indicator = onoff(unitk-1)-onoff(unitk);
range = k:min(Horizonk+mindown(unit)-1);
% Constraints will be redundant unless indicator = 1
Constraints = [Constraints onoff(unitrange) <= 1-indicator];
end
end
ops = sdpsettings(‘verbose‘2‘debug‘1);
optimize(Constraintsobjectiveops);
stairs(value(P)‘);
legend(‘Unit 1‘‘Unit 2‘‘Unit 3‘);
Unit3Levels = [0 1 6 10 12 20];
for k = 1:Horizon
Constraints = [Constraints ismember(P(3k)Unit3Levels)];
end
optimize(Constraintsobjective);
stairs(value(P)‘);
legend(‘Unit 1‘‘Unit 2‘‘Unit 3‘);
Nhist = max([minup;mindown]);
Pforecast = sdpvar(1Horizon);
HistoryOnOff = sdpvar(NunitsNhist‘full‘);
DemandSlack = sdpvar(1Horizon);
PreviusP = sdpvar(31);
DemandPenalty = 1000;
ChangePenalty = 1000;
Constraints = [];
objective = 0;
for k = 1:Horizon
Constraints = [Constraints onoff(:k).*Pmin <= P(:k) <= onoff(:k).*Pmax];
Constraints = [Constraints sum(P(:k))+DemandSlack(k) >= Pforecast(k)];
Constraints = [Constraints DemandSlack(k) >= 0];
objective = objective + P(:k)‘*Q*P(:k) + C*P(:k);
objective = objective + DemandPenalty*DemandSlack(k);
end
Constraints = [Constraints consequtiveON([HistoryOnOff onoff]minup)];
Constraints = [Constraints consequtiveON(1-[HistoryOnOff onoff]mindown)];
for k = 2:Horizon
objective = objective + ChangePenalty*norm(P(:k)-P(:k-1)1);
end
objective = objective + ChangePenalty*norm(P(:1)-PreviusP1);
Parameters = {HistoryOnOff Pforecast PreviusP};
Outputs = {Ponoff};
ops = sdpsettings(‘verbose‘2‘debug‘1);
Controller = optimizer(ConstraintsobjectiveopsParametersOutputs);
oldOnOff = repmat([1;1;0]1Nhist);
oldP = repmat([100;40;0]1Nhist);
for k = 1:500
% base-line forecast
forecast = 100;
% Daily fluctuation
forecast = forecast + 50*sin((k:k+Horizon-1)*2*p
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4285 2018-10-29 20:25 yalmip解决UC问题范例1(补充)\最终程序.m
文件 26449 2018-10-28 11:22 yalmip解决UC问题范例1(补充)\补充1-考虑将机组启停时间限制.docx
文件 1491 2018-10-28 11:08 yalmip解决UC问题范例1(补充)\补充1程序-考虑将机组启停时间限制.m
文件 27579 2018-10-29 19:54 yalmip解决UC问题范例1(补充)\补充2.docx
文件 17775 2018-10-29 20:29 yalmip解决UC问题范例1(补充)\补充3.docx
文件 29491 2018-10-27 17:08 yalmip解决UC问题范例1(补充)\附录-yalmip范例解析1.docx
目录 0 2018-10-29 20:29 yalmip解决UC问题范例1(补充)
----------- --------- ---------- ----- ----
107070 7
相关资源
- 《MATLAB仿真在现代通信中的应用》徐
- KECA1.m
- zw_支持向量机与朴素贝叶斯算法matl
- test1_mat.m
- Finnal6.m
- odefun1.m
-
飞控simuli
nk仿真.zip -
光伏发电最大功率点跟踪simuli
nk仿真 - MATLAB全球磁场绘图程序.zip
- MATLAB人脸识别考勤系统摄像头,记录
- MATLAB多方法车牌识别系统bp+模板+GUI
- 四旋翼MATLAB仿真文件实验报告.zip
-
4.1基于Simuli
nk的图像、视频处理.z -
Simuli
nk的低通数字滤波器的仿真分析 - matlabR2017b迅雷种子文件及安装教程.
- 最优化方法及其matlab程序实现.zip
- 5d5680a96365f0e9a0c7114890f97460.mobi
- 《全面详解LTE:MATLAB建模、仿真与实
- XXXXXXRobustControlDesignwithMATLAB.pdf
- matlab图像处理包括数据反演以及其他
- Matlab常用32种算法.zip
- 传感器网络节点定位算法matlab代码.
- 基于DCT变换和DFT变换的数字图像压缩
- 10900257雷达系统设计MATLAB仿真.pdf
- 神经网络、遗传算法、支持向量机、
- 《先进PID控制MATLAB仿真第3版》仿真程
- 雷达系统设计MATLAB仿真.pdf196612
- 滑模变结构控制MATLAB仿真(第1版)(
- [Matlab作品]matlab实现视频中动态目标跟
- zw_qq_15023225-7501331-S函数的BP神经网络
评论
共有 条评论