通过出力方案得到段价:
function y = select(x)
dj = [ -505 -505 124 124 124 252 252 252 252 489-560 -560 182 203 245 300 320 320 320 495-610 -610 152 152 233 233 308 356 356 500-500 150 170 200 255 302 325 325 325 800-590 0 116 116 188 215 215 310 396 510-607 -607 159 173 173 252 305 380 380 520-500 120 180 251 260 306 315 335 348 548-800 -800 183 183 253 253 303 318 400 800];
drl = [ 70 70 120 120 120 150 150 150 150 19030 30 50 58 73 79 81 81 81 89110 110 150 150 180 180 200 240 240 28055 60 70 80 90 100 115 115 115 11675 80 95 95 110 125 125 135 145 15595 95 105 125 125 140 150 170 170 18050 65 70 85 95 105 110 120 123 12570 70 90 90 110 110 130 140 155 160];
[m,n]=size(drl);
for i = 1:mch = x(i);for j=1:nif j==1if ch<=drl(i,j)y(i) = dj(i,j);break;elseif ch>drl(i,j)&&ch<drl(i,j+1)y(i) = dj(i,j+1);break;endelseif j==nif ch>=drl(i,j)y(i) = dj(i,j);break;elseif ch>drl(i,j-1)&&ch<drl(i,j)y(i) = dj(i,j);break;endelseif ch==drl(i,j)y(i) = dj(i,j);break;elseif ch>drl(i,j)for k = j+1:n-1if ch<dj(i,k)y(i) = dj(i,k);break;endend endendendend
通过负荷得到基本出力方案:
clear;clc;
drl = [70 0 50 0 0 30 0 0 0 40
30 0 20 8 15 6 2 0 0 8
110 0 40 0 30 0 20 40 0 40
55 5 10 10 10 10 15 0 0 1
75 5 15 0 15 15 0 10 10 10
95 0 10 20 0 15 10 20 0 10
50 15 5 15 10 10 5 10 3 2
70 0 20 0 20 0 20 10 15 5
];
dj = [-505 0 124 168 210 252 312 330 363 489-560 0 182 203 245 300 320 360 410 495-610 0 152 189 233 258 308 356 415 500-500 150 170 200 255 302 325 380 435 800-590 0 116 146 188 215 250 310 396 510-607 0 159 173 205 252 305 380 405 520-500 120 180 251 260 306 315 335 348 548-800 153 183 233 253 283 303 318 400 800];
Fh = input('请输入负荷需求量(MW):');
S = 0;
pri = 0;
A = [dj(:) drl(:)];
AA = sortrows(A,1);
SS = zeros(1,8);
v = [2.2 1 3.2 1.3 1.8 2 1.4 1.8];
g = [120 73 180 80 125 125 81.1 90];
gmax = g+v*15;
gmin = g-v*15;
for i = 1:80if sum(SS)<Fhpri = pri+AA(i,1);[row,~] = (find((AA(i,1)==dj)&(AA(i,2)==drl)));for j =1:length(row)if (SS(row(j))<gmax(row(j)))&&(SS(row(j)) + AA(i,2))<gmax(row(j))SS(row(j)) = SS(row(j)) + AA(i,2);elseif (SS(row(j))<gmax(row(j)))&&(SS(row(j)) + AA(i,2))>=gmax(row(j))SS(row(j)) = gmax(row(j));endendelsedisp('清算价为:')qs = AA(i-1,1)break;end
endremain = sum(SS)-Fh;[row1,~] = (find((AA(i-1,1)==dj)&(AA(i-1,2)==drl)));SS(row1) = SS(row1) - remain;disp('各个机组出力为:')SS
本文发布于:2024-01-31 21:10:48,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170670664931377.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |