0001
0002
0003
0004
0005
0006
0007
0008 function [A_reserve b_Ureserve]= reserve_constraints (numBlocks,...
0009 numCuts,...
0010 numOfPeriods)
0011
0012 A_reserve_blocks = sparse(numBlocks, numBlocks * numOfPeriods);
0013
0014 A_reserve_cuts = sparse(numCuts, numCuts * numOfPeriods);
0015
0016
0017 for iBlocks = 1 : numBlocks
0018 for iPeriods = 1:numOfPeriods
0019
0020 A_reserve_blocks(iBlocks, (((iPeriods - 1)* numBlocks) + iBlocks )) = 1;
0021 end
0022 end
0023
0024 for iCuts = 1 : numCuts
0025 for iPeriods = 1:numOfPeriods
0026
0027 A_reserve_cuts (iCuts, ( (iPeriods - 1)* numCuts + iCuts ) ) = 1;
0028 end
0029 end
0030
0031 b_Ureserve_blocks = ones(numBlocks, 1);
0032
0033 b_Ureserve_cuts = ones(numCuts, 1);
0034
0035 [m1 n] = size(A_reserve_blocks);
0036 [m2 n] = size(A_reserve_cuts);
0037
0038 A_reserve = [sparse(m1, numCuts*numOfPeriods) A_reserve_blocks sparse(m1, numCuts*numOfPeriods);
0039 sparse(m2, numCuts*numOfPeriods) sparse(m2, numBlocks*numOfPeriods) A_reserve_cuts ];
0040
0041 A_reserve = sparse(A_reserve);
0042
0043 b_Ureserve = [b_Ureserve_blocks; b_Ureserve_cuts];
0044
0045 end