├── SCUC-GitHub.zip ├── SCUC-GitHub ├── example │ ├── case30mod.m │ ├── case14mod_SCUC.m │ └── case118mod.m ├── function │ ├── initial.m │ └── makeYbus.m ├── README.txt ├── DC │ └── SCUC_DC.m └── AC │ └── SCUC_AC.m └── README.md /SCUC-GitHub.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wang-Yanping1996/Secured-Constraints-Unit-Commitment-SCUC-model-of-Power-system/HEAD/SCUC-GitHub.zip -------------------------------------------------------------------------------- /SCUC-GitHub/example/case30mod.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wang-Yanping1996/Secured-Constraints-Unit-Commitment-SCUC-model-of-Power-system/HEAD/SCUC-GitHub/example/case30mod.m -------------------------------------------------------------------------------- /SCUC-GitHub/function/initial.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wang-Yanping1996/Secured-Constraints-Unit-Commitment-SCUC-model-of-Power-system/HEAD/SCUC-GitHub/function/initial.m -------------------------------------------------------------------------------- /SCUC-GitHub/example/case14mod_SCUC.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wang-Yanping1996/Secured-Constraints-Unit-Commitment-SCUC-model-of-Power-system/HEAD/SCUC-GitHub/example/case14mod_SCUC.m -------------------------------------------------------------------------------- /SCUC-GitHub/README.txt: -------------------------------------------------------------------------------- 1 | 安全约束机组组合(SCUC)模型 2 | 目前为仅包含基态约束的版本 3 | 4 | 项目中包含交流模型和直流模型 5 | 其中采用交流潮流的模型进行了二阶锥松弛以保证凸性,但是计算仍然缓慢 6 | 7 | 直流模型请运行DC文件夹下的SCUC_DC.m 8 | 交流模型请运行AC文件夹下的SCUC_AC.m 9 | 10 | 本模型基于MATLAB,Yalmip,采用cplex求解器进行求解 11 | 12 | 王砚平 13 | 2020.04 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Secured-Constraints-Unit-Commitment-SCUC-model-of-Power-system 2 | Secured Constraints Unit Commitment model of Power system, including the model based on AC flow equation and DC flow equation(the AC model is relaxed by 'Second Order Cone Relaxation' to get a convex problem). 3 | Only the constraints in pre-contingency state are considered. 4 | There is a piecewise function expression for power generation costs. 5 | However, I'm sorry that the version is relative old, and it may be difficult to read or modify. 6 | 电力系统安全约束机组组合问题模型,包括基于交流潮流方程和直流潮流方程的模型(交流潮流模型进行了二阶锥松弛以确保问题是凸的)。 7 | 仅考虑意外前状态下的约束。 8 | 有一个用于发电成本的分段函数表达式。 9 | 但是,很抱歉该版本相对较旧,可能难以阅读或修改。 10 | 11 | Besides, note that the model is based on the Matlab, Yalmip, and the solver is Gurobi. It can be changed to other solvers, such as Cplex, by modifying the parameter 'gurobi' in sentence 'ops = settings('solver','gurobi''. 12 | 此外,请注意,该模型基于Matlab,Yalmip,求解器为Gurobi。 通过修改句子'ops = settings('solver','gurobi'中的参数'gurobi',可以将其更改为其他求解器,例如Cplex。 13 | 14 | If you have any idea on improving this model, please contact me. 15 | 如果您有任何改进此模型的想法,请联系我. 16 | 17 | 注:matlab上传github,中文注释乱码的问题,暂时没找到解决办法,如果您有,可以告诉我。目前我的解决方法是,上传了一个.zip的压缩包,下载后解压应该不会乱码。 18 | Note that: when I upload the .m files to github, its Chinese notes will be error codes, I didn't find any way to solve it, if you know, please tell me. Now my solution is that a .zip file is uploaded, upzip it seems to avoid the error codes problem. 19 | -------------------------------------------------------------------------------- /SCUC-GitHub/function/makeYbus.m: -------------------------------------------------------------------------------- 1 | function [Ybus, Yf, Yt] = makeYbus(baseMVA, bus, branch) 2 | %MAKEYBUS Builds the bus admittance matrix and branch admittance matrices. 3 | % [Ybus, Yf, Yt] = makeYbus(baseMVA, bus, branch) returns the full 4 | % bus admittance matrix (i.e. for all buses) and the matrices Yf and Yt 5 | % which, when multiplied by a complex voltage vector, yield the vector 6 | % currents injected into each line from the "from" and "to" buses 7 | % respectively of each line. Does appropriate conversions to p.u. 8 | 9 | % MATPOWER Version 2.0 10 | % by Ray Zimmerman, PSERC Cornell 12/19/97 11 | % Copyright (c) 1996, 1997 by Power System Engineering Research Center (PSERC) 12 | % See http://www.pserc.cornell.edu/ for more info. 13 | 14 | %% constants 15 | j = sqrt(-1); 16 | nb = size(bus, 1); %% number of buses 17 | nl = size(branch, 1); %% number of lines 18 | 19 | %% ----- define named indices into bus, branch matrices 20 | PQ=1; PV=2; REF=3; NONE=4; BUS_I=1; BUS_TYPE=2; PD=3; QD=4; GS=5; BS=6; BUS_AREA=7; 21 | VM=8; VA=9; BASE_KV=10; ZONE=11; VMAX=12; VMIN=13; LAM_P=14; LAM_Q=15; MU_VMAX=16; MU_VMIN=17; 22 | 23 | F_BUS=1; T_BUS=2; BR_R=3; BR_X=4; BR_B=5; RATE_A=6; RATE_B=7; RATE_C=8;% standard notation (in input) 24 | TAP=9; SHIFT=10; BR_STATUS=11; BR_angmin=12; BR_angmax=13;% standard notation (in input) 25 | PF=12; QF=13; PT=14; QT=15; MU_SF=16; MU_ST=17; % MU_SF: idx of MU on MVA lim at "f" bus (in opf) 26 | 27 | %% ----- check that bus numbers are equal to indices to bus (one set of bus numbers) 28 | if any(bus(:, BUS_I) ~= [1:nb]') 29 | error('buses must appear in order by bus number') 30 | end 31 | 32 | %% for each branch, compute the elements of the branch admittance matrix where 33 | %% 34 | %% | If | | Yff Yft | | Vf |; 35 | %% | | = | | * | |; 36 | %% | It | | Ytf Ytt | | Vt |; 37 | %% 38 | stat = branch(:, BR_STATUS); %% ones at in-service branches 39 | Ys = stat ./ (branch(:, BR_R) + j * branch(:, BR_X)); %% series admittance 40 | Bc = stat .* branch(:, BR_B); %% line charging susceptance 41 | tap = ones(nl, 1); %% default tap ratio = 1 42 | i = find(branch(:, TAP)); %% indices of non-zero tap ratios 43 | tap(i) = branch(i, TAP); %% assign non-zero tap ratios 44 | tap = tap .* exp(j*pi/180 * branch(:, SHIFT)); %% add phase shifters 45 | Ytt = Ys + j*Bc/2; 46 | Yff = Ytt ./ (tap .* conj(tap)); 47 | Yft = - Ys ./ conj(tap); 48 | Ytf = - Ys ./ tap; 49 | 50 | %% compute shunt admittance 51 | %% if Ps is the real power consumed by the shunt at V = 1.0 p.u. 52 | %% and Qs is the reactive power injected by the shunt at V = 1.0 p.u. 53 | %% then Ps - j Qs = V * conj(Ys * V) = conj(Ys) = Gs - j Bs, 54 | %% i.e. Ys = Ps + j Qs, so ... 55 | Ys = (bus(:, GS) + j * bus(:, BS)) / baseMVA; %% vector of shunt admittances 56 | 57 | %% build Ybus 58 | f = branch(:, F_BUS); %% list of "from" buses 59 | t = branch(:, T_BUS); %% list of "to" buses 60 | Cf = sparse(f, 1:nl, ones(nl, 1), nb, nl); %% connection matrix for line & from buses 61 | Ct = sparse(t, 1:nl, ones(nl, 1), nb, nl); %% connection matrix for line & to buses 62 | Ybus = spdiags(Ys, 0, nb, nb) + ... %% shunt admittance 63 | Cf * spdiags(Yff, 0, nl, nl) * Cf' + ... %% Yff term of branch admittance 64 | Cf * spdiags(Yft, 0, nl, nl) * Ct' + ... %% Yft term of branch admittance 65 | Ct * spdiags(Ytf, 0, nl, nl) * Cf' + ... %% Ytf term of branch admittance 66 | Ct * spdiags(Ytt, 0, nl, nl) * Ct'; %% Ytt term of branch admittance 67 | 68 | %% Build Yf and Yt such that Yf * V is the vector of complex branch currents injected 69 | %% at each branch's "from" bus, and Yt is the same for the "to" bus end 70 | if nargout > 1 71 | i = [[1:nl]'; [1:nl]']; %% double set of row indices 72 | Yf = sparse(i, [f; t], [Yff; Yft]); 73 | Yt = sparse(i, [f; t], [Ytf; Ytt]); 74 | end 75 | 76 | return; 77 | 78 | -------------------------------------------------------------------------------- /SCUC-GitHub/DC/SCUC_DC.m: -------------------------------------------------------------------------------- 1 | %SCUC采用了直流潮流方程 2 | clc; 3 | clear; 4 | close all; 5 | clear all class; 6 | 7 | addpath('../example'); 8 | addpath('../function'); 9 | 10 | alltime = tic; 11 | tic 12 | %% 13 | % 读入 14 | % casename = input('Please enter case name : ', 's'); 15 | casename = 'case14mod_SCUC'; 16 | % casename = 'case30mod'; 17 | % casename = 'IEEE118_new'; 18 | k_safe = 0.95; %安全系数,用于留一定的裕度,针对潮流安全约束 19 | 20 | n_T = 24; % 时段数t 用于机组组合优化 21 | n_L = 20; % 发电机曲线 二次函数 分段线性化 22 | 23 | % 初始化文件 24 | initial; 25 | PD = bus(:, BUS_PD)/baseMVA; 26 | QD = bus(:, BUS_QD)/baseMVA; 27 | % PD = PD*ones(1, n_T); 28 | % QD = QD*ones(1, n_T); 29 | % 24小时的负荷数据 30 | Q_factor = QD/sum(QD); 31 | P_factor = PD/sum(PD); 32 | %P_sum = sum(PD)-sum(PD)/2*sin(pi/12*[0:n_T-1]+pi/3); 33 | P_sum = mpc.PD'/baseMVA; 34 | QD = Q_factor*sum(QD)*P_sum/sum(PD); 35 | PD = P_factor*P_sum; 36 | spnningReserve = 1.02*P_sum; 37 | 38 | %% 39 | %导纳矩阵计算 40 | % [Ybus, Yf, Yt] = makeYbus(baseMVA, bus, M_branch); % build admitance matrix 41 | [Bbus, Bf, Pbusinj, Pfinj] = makeBdc(baseMVA, bus, branch); %直流潮流 42 | %% 43 | % 创建决策变量 44 | % 发电机出力 非发电机节点取0 45 | gen_P = sdpvar(n_bus, n_T); 46 | gen_P_upper = sdpvar(n_bus, n_T); %发电机有功出力上界 47 | % gen_Q = sdpvar(n_bus, n_T); 48 | % 各节点电压幅值 相角 49 | % Vm = sdpvar(n_bus, n_T); %幅值 50 | Vm = ones(n_bus, n_T); %幅值 直流潮流 51 | Va = sdpvar(n_bus, n_T); %相角 52 | 53 | % 各支路潮流 54 | PF_D = sdpvar(n_branch, n_T); %P Flow Direct 正向有功潮流 1->2 55 | % QF_D = sdpvar(n_M_branch, n_T); %Q Flow Direct 正向无功潮流 1->2 56 | % PF_R = sdpvar(n_branch, n_T); %P Flow Reverse 反向有功潮流 2->1 57 | % QF_R = sdpvar(n_M_branch, n_T); %Q Flow Reverse 反向无功潮流 2->1 58 | 59 | % 机组状态 60 | u_state = binvar(n_bus, n_T); %按母线数,非发电机节点取0 61 | C = []; %约束 62 | % C = sdpvar(C)>=0; 63 | 64 | %% 65 | %发电机费用曲线 二次函数分段线性化 66 | P_nl = sdpvar(n_gen, n_L, n_T); 67 | for i = 1: n_gen 68 | for t = 1: n_T 69 | C = [C, 70 | gen_P(gen(i,GEN_BUS),t) == sum(P_nl(i,:,t))+gen(i,GEN_PMIN)*u_state(gen(i,GEN_BUS),t)/baseMVA, 71 | ]; 72 | for l = 1: n_L 73 | C = [C, 74 | 0 <= P_nl(i,l,t) <= (gen(i, GEN_PMAX)-gen(i, GEN_PMIN))/n_L/baseMVA, 75 | ]; 76 | end 77 | end 78 | end 79 | %% 80 | % 机组开机费用 Cjk 81 | cost_up = sdpvar(n_gen, n_T); 82 | C = [C, cost_up >= 0]; 83 | for k = 1: n_T 84 | for t = 1: k-1 85 | C = [C, 86 | cost_up(:,k) >= start_cost(:,t).*(u_state(gen(:,GEN_BUS),k) - sum(u_state(gen(:,GEN_BUS),[k-t: k-1]),2)) 87 | ]; 88 | end 89 | end 90 | for i = 1: n_gen 91 | if (init_state(gen(i,GEN_BUS)) == 0) 92 | C = [C, 93 | cost_up(i,1) >= start_cost(i,init_down(i))*(u_state(gen(i,GEN_BUS),1)-init_down(i)*init_state(gen(i,GEN_BUS))) 94 | ]; 95 | end 96 | end 97 | for k = 2: n_T 98 | for i = 1: n_gen 99 | if (init_state(gen(i,GEN_BUS)) == 0) 100 | C = [C, 101 | cost_up(i,k) >= start_cost(i,k+init_down(i)-1)*(u_state(gen(i,GEN_BUS),k)-sum(u_state(gen(i,GEN_BUS),[1: k-1]))-init_down(i)*init_state(gen(i,GEN_BUS))) 102 | ]; 103 | end 104 | end 105 | end 106 | %% 107 | % 机组组合约束 108 | %系统功率平衡约束 109 | for t = 1: n_T 110 | C = [C, 111 | sum(gen_P(gen(:,GEN_BUS),t)) >= sum(PD(:,t)), 112 | ]; 113 | end 114 | %% 115 | % 机组组合约束 116 | % 爬坡限制 117 | for t = 1: n_T 118 | if (t > 1) 119 | C = [C, 120 | %这个约束是照2006年文献 121 | %A Computationally Efficient Mixed-Integer Linear Formulation for the Thermal Unit Commitment Problem 122 | %写的,不知道Pmax*(1-u)这项有什么用 123 | %爬坡限制和启动限制 (ramp-up & startup) (18) 124 | gen_P_upper(gen(:,GEN_BUS),t) <= gen_P(gen(:,GEN_BUS),t-1) + RU.*u_state(gen(:,GEN_BUS),t-1) + ... 125 | SU.*(u_state(gen(:,GEN_BUS),t)-u_state(gen(:,GEN_BUS),t-1)) + ... 126 | (gen(:, GEN_PMAX)/baseMVA).*(1-u_state(gen(:,GEN_BUS),t)), 127 | %下坡限制 (ramp-down) (20) 128 | gen_P(gen(:,GEN_BUS),t-1) - gen_P(gen(:,GEN_BUS),t) <= RD.*u_state(gen(:,GEN_BUS),t) + ... 129 | SD.*(u_state(gen(:,GEN_BUS),t-1)-u_state(gen(:,GEN_BUS),t)) + ... 130 | (gen(:, GEN_PMAX)/baseMVA).*(1-u_state(gen(:,GEN_BUS),t-1)), 131 | ]; 132 | end 133 | if (t < n_T) 134 | C = [C, 135 | %关机限制 (shutdown) (19) 136 | gen_P_upper(gen(:,GEN_BUS),t) <= (gen(:, GEN_PMAX)/baseMVA).*u_state(gen(:,GEN_BUS),t+1) + ... 137 | SD.*(u_state(gen(:,GEN_BUS),t)-u_state(gen(:,GEN_BUS),t+1)), 138 | ]; 139 | end 140 | end 141 | %% 142 | % 机组组合约束 143 | %最小启动时间限制 144 | for i = 1: n_gen 145 | Gi = min(n_T, (min_up(i)-init_up(i))*init_state(gen(i,GEN_BUS))); 146 | %分三段 起始,中间,结尾 147 | %起始时考虑初始状态的影响,中间不需考虑太多,结尾保证开了以后没关过 148 | if (Gi >= 1) 149 | C = [C, 150 | sum(u_state(gen(i,GEN_BUS), [1: Gi])) == Gi, 151 | ]; 152 | end 153 | for t = Gi+1: n_T-min_up(i)+1 154 | if (t > 1) 155 | C = [C, 156 | sum(u_state(gen(i,GEN_BUS),[t: t+min_up(i)-1])) >= min_up(i).*(u_state(gen(i,GEN_BUS),t)-u_state(gen(i,GEN_BUS),t-1)), 157 | ]; 158 | elseif (t == 1) 159 | C = [C, 160 | sum(u_state(gen(i,GEN_BUS),[t: t+min_up(i)-1])) >= min_up(i).*(u_state(gen(i,GEN_BUS),t)-init_state(gen(i,GEN_BUS))), 161 | ]; 162 | else 163 | end 164 | end 165 | for t = n_T-min_up(i)+2: n_T 166 | if (t > 1) 167 | C = [C, 168 | sum(u_state(gen(i,GEN_BUS),[t: n_T])) >= (n_T-t+1).*(u_state(gen(i,GEN_BUS),t)-u_state(gen(i,GEN_BUS),t-1)), 169 | ]; 170 | elseif (t == 1) 171 | C = [C, 172 | sum(u_state(gen(i,GEN_BUS),[t: n_T])) >= (n_T-t+1).*(u_state(gen(i,GEN_BUS),t)-init_state(gen(i,GEN_BUS))), 173 | ]; 174 | else 175 | end 176 | end 177 | end 178 | %% 179 | % 机组组合约束 180 | %最小关机时间限制 同最小开机时间限制 181 | for i = 1: n_gen 182 | Li = min(n_T, (min_down(i)-init_down(i))*(1-init_state(gen(i,GEN_BUS)))); 183 | if (Li >= 1) 184 | C = [C, 185 | sum(u_state(gen(i,GEN_BUS), [1: Li])) == 0, 186 | ]; 187 | end 188 | for t = Li+1: n_T-min_down(i)+1 189 | if (t > 1) 190 | C = [C, 191 | sum(u_state(gen(i,GEN_BUS), [t: t+min_down(i)-1])) <= min_down(i).*(1-u_state(gen(i,GEN_BUS),t-1)+u_state(gen(i,GEN_BUS),t)), 192 | ]; 193 | elseif (t == 1) 194 | C = [C, 195 | sum(u_state(gen(i,GEN_BUS), [t: t+min_down(i)-1])) <= min_down(i).*(1-init_state(gen(i,GEN_BUS))+u_state(gen(i,GEN_BUS),t)), 196 | ]; 197 | else 198 | end 199 | end 200 | for t = n_T-min_down(i)+2: n_T 201 | if (t > 1) 202 | C = [C, 203 | sum(u_state(gen(i,GEN_BUS),[t: n_T])) <= (n_T-t+1).*(1-u_state(gen(i,GEN_BUS),t-1)+u_state(gen(i,GEN_BUS),t)), 204 | ]; 205 | elseif (t == 1) 206 | C = [C, 207 | sum(u_state(gen(i,GEN_BUS),[t: n_T])) <= (n_T-t+1).*(1-init_state(gen(i,GEN_BUS))+u_state(gen(i,GEN_BUS),t)), 208 | ]; 209 | else 210 | end 211 | end 212 | end 213 | 214 | %% 215 | New_Br_temp = 1: n_bus; 216 | New_Br_temp(gen(:, GEN_BUS)) = []; 217 | C = [C, 218 | gen_P(New_Br_temp, :) == 0, 219 | % gen_Q(New_Br_temp, :) == 0, 220 | u_state(New_Br_temp, :) == 0 %考虑机组组合 非法电机节点取0 221 | ]; %非发电机节点有功无功为0 222 | 223 | %% 224 | %潮流方程 225 | % 支路潮流约束 226 | for t = 1: n_T 227 | C = [C, 228 | PF_D(:, t) == Bf*Va(:, t) + Pfinj, 229 | ]; 230 | end 231 | 232 | %% 233 | %节点功率平衡约束 234 | for t = 1: n_T 235 | for i = 1: n_bus 236 | C = [C, 237 | gen_P(i,t) == PD(i,t) + ... 238 | sum(PF_D(branch(:, F_BUS) == i,t)) - ... 239 | sum(PF_D(branch(:, T_BUS) == i,t)) + ... 240 | bus(i, BUS_GS)/baseMVA, 241 | ]; 242 | end 243 | end 244 | %% 245 | % 旋转备用约束 246 | for t = 1: n_T 247 | C = [C, 248 | sum(gen_P_upper(gen(:, GEN_BUS), t)) >= sum(spnningReserve(:, t)) 249 | ]; 250 | end 251 | %% 252 | %发电机有功出力约束 253 | for t = 1: n_T 254 | for i = 1: n_gen 255 | C = [C, 256 | gen_P_upper(gen(i, GEN_BUS),t) >= gen_P(gen(i, GEN_BUS),t) >= u_state(gen(i, GEN_BUS),t).*gen(i, GEN_PMIN)/baseMVA, 257 | u_state(gen(i, GEN_BUS),t).*gen(i, GEN_PMAX)/baseMVA >= gen_P_upper(gen(i, GEN_BUS),t) >= 0 258 | ]; 259 | end 260 | end 261 | 262 | %% 263 | %支路潮流约束 264 | % 测试结果 考虑视在功率约束 P^2+Q^2<=S^2 265 | % for i = 1: n_branch 266 | % if (branch(i, RATE_A) ~= 0) %rateA为0则认为不需要添加安全约束 267 | % C = [C, 268 | % PF_D(i)^2+QF_D(i)^2 <= (branch(i, RATE_A)/baseMVA)^2 269 | % ]; 270 | % end 271 | % end 272 | % -Pmax <=P <= Pmax 273 | for i = 1: n_branch 274 | if (branch(i, RATE_A) ~= 0) %rateA为0则认为不需要添加安全约束 275 | C = [C, 276 | -k_safe*branch(i, RATE_A)/baseMVA <= PF_D(i,:) <= k_safe*branch(i, RATE_A)/baseMVA 277 | ]; 278 | end 279 | end 280 | %% 281 | % 故障态约束 282 | %% 283 | %发电机成本函数,仅考虑2次函数 如果多次要重写 284 | opf_value = sum(gencost(:, GENCOST_C2)'*(gen_P(gen(:, GEN_BUS),:)*baseMVA).^2) + ... 285 | sum(gencost(:, GENCOST_C1)'* gen_P(gen(:, GEN_BUS),:)*baseMVA) + ... 286 | sum(gencost(:, GENCOST_C0)'*u_state(gen(:, GEN_BUS),:)) + ... 287 | sum(sum(cost_up)); 288 | %分段线性化形式 289 | opf_value = 0; 290 | for i = 1: n_gen 291 | for t = 1: n_T 292 | opf_value = opf_value + A_gen(i)*u_state(gen(i,GEN_BUS),t); 293 | for l = 1: n_L 294 | opf_value = opf_value + Fij(i,l)*P_nl(i,l,t)*baseMVA; 295 | end 296 | end 297 | end 298 | opf_value = opf_value + sum(sum(cost_up)); 299 | % ones(1,n_gen)*cost_up*ones(n_T,1); %最小值 300 | 301 | %% 302 | %配置 看不太懂 303 | % ops = sdpsettings('solver','mosek','verbose',2,'usex0',0); %使用初值 主要是电压取1 304 | ops = sdpsettings('solver','cplex','verbose',2,'usex0',0); 305 | % ops.gurobi.MIPGap = 1e-2; 306 | % ops.mosek.MSK_IPAR_MIO_CONIC_OUTER_APPROXIMATION = 'MSK_ON'; 307 | % ops.moesk.MSK_DPAR_OPTIMIZER_MAX_TIME = 300; 308 | % ops.mosek.MSK_IPAR_MIO_HEURISTIC_LEVEL = 4; 309 | % ops.mosek.MSK_DPAR_MIO_TOL_REL_GAP = 1e-6; 310 | % ops.mosek.MSK_DPAR_MIO_REL_GAP_CONST = 1e-4; 311 | %mosek 不需要yalmip转换二阶锥约束,cplex和gurobi需要 很耗内存 312 | % ops = sdpsettings('verbose',2); 313 | % ops.sedumi.eps = 1e-6; 314 | % ops.gurobi.MIPGap = 1e-6; 315 | %% 316 | toc 317 | %求解 318 | result = optimize(C, opf_value, ops); 319 | toc(alltime) 320 | %调试用 321 | % gen_P = value(gen_P); 322 | % gen_Q = value(gen_Q); 323 | % xij_1 = value(xij_1); 324 | % xij_2 = value(xij_2); 325 | % x_i = value(x_i); 326 | % PF_D = value(PF_D); 327 | % QF_D = value(QF_D); 328 | % PF_R = value(PF_R); 329 | % QF_R = value(QF_R); 330 | % u_state = value(u_state); 331 | 332 | if result.problem == 0 % problem =0 代表求解成功 333 | else 334 | error('求解出错'); 335 | end 336 | plot([0: n_T], [init_gen_P(gen(:,GEN_BUS)) value(gen_P(gen(:,GEN_BUS),:))]); %各机组出力 337 | 338 | gen_P = value(gen_P); 339 | % gen_Q = value(gen_Q); 340 | PF_D = value(PF_D); 341 | u_state = value(u_state); 342 | cost_up = value(cost_up); 343 | 344 | 345 | %% 346 | 347 | 348 | -------------------------------------------------------------------------------- /SCUC-GitHub/AC/SCUC_AC.m: -------------------------------------------------------------------------------- 1 | %SCUC采用流潮流方程,但是采用了二阶锥松弛 2 | clc; 3 | clear; 4 | close all; 5 | clear all class; 6 | warning off; 7 | 8 | addpath('../example'); 9 | addpath('../function'); 10 | 11 | alltime = tic; 12 | tic 13 | %% 14 | % 读入 15 | % casename = input('Please enter case name : ', 's'); 16 | casename = 'case14mod_SCUC'; 17 | % casename = 'case30mod'; 18 | k_safe = 0.95; %安全系数,用于留一定的裕度,针对潮流安全约束 19 | 20 | n_T = 24; % 时段数t,用于机组组合优化 21 | n_L = 20; % 发电机曲线 二次函数 分段线性化 22 | 23 | % 初始化文件 24 | initial; 25 | PD = bus(:, BUS_PD)/baseMVA; 26 | QD = bus(:, BUS_QD)/baseMVA; 27 | % PD = PD*ones(1, n_T); 28 | % QD = QD*ones(1, n_T); 29 | % 24小时的负荷数据 30 | Q_factor = QD/sum(QD); 31 | P_factor = PD/sum(PD); 32 | %P_sum = sum(PD)-sum(PD)/2*sin(pi/12*[0:n_T-1]+pi/3); 33 | P_sum = mpc.PD'/baseMVA; 34 | QD = Q_factor*sum(QD)*P_sum/sum(PD); 35 | PD = P_factor*P_sum; 36 | spnningReserve = 1.02*P_sum; 37 | % gbus = gen(:, GEN_BUS); % form generator vector 38 | 39 | %% 40 | %导纳矩阵计算 41 | [Ybus, Yf, Yt] = makeYbus(baseMVA, bus, branch); % build admitance matrix 42 | % G = real(Ybus); 43 | % B = imag(Ybus); 44 | % % G B 矩阵中都是导纳值的负数 45 | % g = -G; 46 | % b = -B; 47 | 48 | %% 49 | % 创建决策变量 50 | % 发电机出力 非发电机节点取0 51 | gen_P = sdpvar(n_bus, n_T); 52 | gen_Q = sdpvar(n_bus, n_T); 53 | gen_P_upper = sdpvar(n_bus, n_T); %发电机有功出力上界 54 | % 各节点电压幅值 相角 55 | % Vm = sdpvar(n_bus, 1); %幅值 56 | % Va = sdpvar(n_bus, 1); %相角 57 | % 松弛变量 代替 58 | x_i = sdpvar(n_bus, n_T); %xi = Vi^2 59 | % xij_1 = sdpvar(n_bus, n_bus, n_T, 'skew'); %xij1 = Vi*Vj*sin(Oi-Oj) 反对称矩阵 A = -A' 60 | % xij_2 = sdpvar(n_bus, n_bus, n_T, 'symmetric'); %xij2 = Vi*Vj*cos(Oi-Oj) 对称矩阵 A = A' 61 | xij_1 = sdpvar(n_branch, n_T); %xij_1 = Vi*Vj*sin(Oi-Oj) 62 | xij_2 = sdpvar(n_branch, n_T); %xij_2 = Vi*Vj*cos(Oi-Oj) 63 | 64 | % 各支路潮流 65 | PF_D = sdpvar(n_branch, n_T); %P Flow Direct 正向有功潮流 1->2 66 | QF_D = sdpvar(n_branch, n_T); %Q Flow Direct 正向无功潮流 1->2 67 | PF_R = sdpvar(n_branch, n_T); %P Flow Reverse 反向有功潮流 2->1 68 | QF_R = sdpvar(n_branch, n_T); %Q Flow Reverse 反向无功潮流 2->1 69 | 70 | % 机组状态 71 | u_state = binvar(n_bus, n_T); %按母线数,非发电机节点取0 72 | C = []; %约束 73 | % C = sdpvar(C)>=0; 74 | 75 | assign(xij_1, 0); 76 | assign(xij_2, 1); 77 | assign(x_i, 1); 78 | 79 | %% 80 | % 机组组合约束 81 | %系统功率平衡约束 82 | for t = 1: n_T 83 | C = [C, 84 | sum(gen_P(gen(:,GEN_BUS),t)) >= sum(PD(:,t)), 85 | ]; 86 | end 87 | %% 88 | % 旋转备用约束 89 | for t = 1: n_T 90 | C = [C, 91 | sum(gen_P_upper(gen(:, GEN_BUS), t)) >= sum(spnningReserve(:, t)) 92 | ]; 93 | end 94 | %% 95 | % 机组组合约束 96 | % 爬坡限制 97 | for t = 1: n_T 98 | if (t > 1) 99 | C = [C, 100 | %这个约束是照2006年文献 101 | %A Computationally Efficient Mixed-Integer Linear Formulation for the Thermal Unit Commitment Problem 102 | %写的,不知道Pmax*(1-u)这项有什么用 103 | %爬坡限制和启动限制 (ramp-up & startup) (18) 104 | gen_P_upper(gen(:,GEN_BUS),t) <= gen_P(gen(:,GEN_BUS),t-1) + RU.*u_state(gen(:,GEN_BUS),t-1) + ... 105 | SU.*(u_state(gen(:,GEN_BUS),t)-u_state(gen(:,GEN_BUS),t-1)) + ... 106 | (gen(:, GEN_PMAX)/baseMVA).*(1-u_state(gen(:,GEN_BUS),t)), 107 | %下坡限制 (ramp-down) (20) 108 | gen_P(gen(:,GEN_BUS),t-1) - gen_P(gen(:,GEN_BUS),t) <= RD.*u_state(gen(:,GEN_BUS),t) + ... 109 | SD.*(u_state(gen(:,GEN_BUS),t-1)-u_state(gen(:,GEN_BUS),t)) + ... 110 | (gen(:, GEN_PMAX)/baseMVA).*(1-u_state(gen(:,GEN_BUS),t-1)), 111 | ]; 112 | end 113 | if (t < n_T) 114 | C = [C, 115 | %关机限制 (shutdown) (19) 116 | gen_P_upper(gen(:,GEN_BUS),t) <= (gen(:, GEN_PMAX)/baseMVA).*u_state(gen(:,GEN_BUS),t+1) + ... 117 | SD.*(u_state(gen(:,GEN_BUS),t)-u_state(gen(:,GEN_BUS),t+1)), 118 | ]; 119 | end 120 | end 121 | %% 122 | % 机组组合约束 123 | %最小启动时间限制 124 | for i = 1: n_gen 125 | Gi = min(n_T, (min_up(i)-init_up(i))*init_state(gen(i,GEN_BUS))); 126 | %分三段 起始,中间,结尾 127 | %起始时考虑初始状态的影响,中间不需考虑太多,结尾保证开了以后没关过 128 | if (Gi >= 1) 129 | C = [C, 130 | sum(u_state(gen(i,GEN_BUS), [1: Gi])) == Gi, 131 | ]; 132 | end 133 | for t = Gi+1: n_T-min_up(i)+1 134 | if (t > 1) 135 | C = [C, 136 | sum(u_state(gen(i,GEN_BUS),[t: t+min_up(i)-1])) >= min_up(i).*(u_state(gen(i,GEN_BUS),t)-u_state(gen(i,GEN_BUS),t-1)), 137 | ]; 138 | elseif (t == 1) 139 | C = [C, 140 | sum(u_state(gen(i,GEN_BUS),[t: t+min_up(i)-1])) >= min_up(i).*(u_state(gen(i,GEN_BUS),t)-init_state(gen(i,GEN_BUS))), 141 | ]; 142 | else 143 | end 144 | end 145 | for t = n_T-min_up(i)+2: n_T 146 | if (t > 1) 147 | C = [C, 148 | sum(u_state(gen(i,GEN_BUS),[t: n_T])) >= (n_T-t+1).*(u_state(gen(i,GEN_BUS),t)-u_state(gen(i,GEN_BUS),t-1)), 149 | ]; 150 | elseif (t == 1) 151 | C = [C, 152 | sum(u_state(gen(i,GEN_BUS),[t: n_T])) >= (n_T-t+1).*(u_state(gen(i,GEN_BUS),t)-init_state(gen(i,GEN_BUS))), 153 | ]; 154 | else 155 | end 156 | end 157 | end 158 | %% 159 | % 机组组合约束 160 | %最小关机时间限制 同最小开机时间限制 161 | for i = 1: n_gen 162 | Li = min(n_T, (min_down(i)-init_down(i))*(1-init_state(gen(i,GEN_BUS)))); 163 | if (Li >= 1) 164 | C = [C, 165 | sum(u_state(gen(i,GEN_BUS), [1: Li])) == 0, 166 | ]; 167 | end 168 | for t = Li+1: n_T-min_down(i)+1 169 | if (t > 1) 170 | C = [C, 171 | sum(u_state(gen(i,GEN_BUS), [t: t+min_down(i)-1])) <= min_down(i).*(1-u_state(gen(i,GEN_BUS),t-1)+u_state(gen(i,GEN_BUS),t)), 172 | ]; 173 | elseif (t == 1) 174 | C = [C, 175 | sum(u_state(gen(i,GEN_BUS), [t: t+min_down(i)-1])) <= min_down(i).*(1-init_state(gen(i,GEN_BUS))+u_state(gen(i,GEN_BUS),t)), 176 | ]; 177 | else 178 | end 179 | end 180 | for t = n_T-min_down(i)+2: n_T 181 | if (t > 1) 182 | C = [C, 183 | sum(u_state(gen(i,GEN_BUS),[t: n_T])) <= (n_T-t+1).*(1-u_state(gen(i,GEN_BUS),t-1)+u_state(gen(i,GEN_BUS),t)), 184 | ]; 185 | elseif (t == 1) 186 | C = [C, 187 | sum(u_state(gen(i,GEN_BUS),[t: n_T])) <= (n_T-t+1).*(1-init_state(gen(i,GEN_BUS))+u_state(gen(i,GEN_BUS),t)), 188 | ]; 189 | else 190 | end 191 | end 192 | end 193 | 194 | %% 195 | New_Br_temp = 1: n_bus; 196 | New_Br_temp(gen(:, GEN_BUS)) = []; 197 | C = [C, 198 | gen_P(New_Br_temp, :) == 0, 199 | gen_Q(New_Br_temp, :) == 0, 200 | gen_P_upper(New_Br_temp, :) == 0, 201 | u_state(New_Br_temp, :) == 0 %考虑机组组合 非发电机节点取0 202 | ]; %非发电机节点有功无功为0 203 | %% 204 | % 关于引入的松弛变量x的约束 205 | for i = 1: n_branch 206 | m = branch(i, F_BUS); 207 | n = branch(i, T_BUS); 208 | for t = 1: n_T 209 | C = [C, 210 | % (2*xij_1(i,t)).^2 + (2*xij_2(i,t)).^2 + (x_i(m,t)-x_i(n,t)).^2 <= (x_i(m,t)+x_i(n,t)).^2 211 | rcone([xij_1(i,t); xij_2(i,t)], 0.5*x_i(m,t), x_i(n,t)), 212 | ]; 213 | end 214 | end 215 | %% 216 | %潮流方程 217 | % 支路潮流约束 218 | for i = 1: n_branch 219 | f_bus = branch_f_bus(i); % 支路i的起始母线 220 | t_bus = branch_t_bus(i); % 支路i的终端母线 221 | 222 | gff = real(Yf(i,branch_f_bus(i))); 223 | gft = real(Yf(i,branch_t_bus(i))); 224 | bff = imag(Yf(i,branch_f_bus(i))); 225 | bft = imag(Yf(i,branch_t_bus(i))); 226 | 227 | gtf = real(Yt(i,branch_f_bus(i))); 228 | gtt = real(Yt(i,branch_t_bus(i))); 229 | btf = imag(Yt(i,branch_f_bus(i))); 230 | btt = imag(Yt(i,branch_t_bus(i))); 231 | C = [C, 232 | PF_D(i,:) == x_i(f_bus,:)*gff+xij_2(i,:)*gft+xij_1(i,:)*bft, 233 | QF_D(i,:) == -x_i(f_bus,:)*bff+xij_1(i,:)*gft-xij_2(i,:)*bft, 234 | 235 | PF_R(i,:) == x_i(t_bus,:)*gtt+xij_2(i,:)*gtf-xij_1(i,:)*btf, 236 | QF_R(i,:) == -x_i(t_bus,:)*btt-xij_1(i,:)*gtf-xij_2(i,:)*btf 237 | ]; %各线路潮流方程 238 | end 239 | 240 | %% 241 | %节点功率平衡约束 242 | for i = 1: n_bus 243 | for t = 1: n_T 244 | C = [C, 245 | %转换成 n_T = 24 后,sum这么写应该是把行加起来,合成一行 246 | gen_P(i,t) == PD(i,t) + ... 247 | sum(PF_D(branch(:, F_BUS) == i,t)) + ... 248 | sum(PF_R(branch(:, T_BUS) == i,t)) + ... 249 | x_i(i,t)*bus(i, BUS_GS)/baseMVA, 250 | gen_Q(i,t) == QD(i,t) + ... 251 | sum(QF_D(branch(:, F_BUS) == i,t)) + ... 252 | sum(QF_R(branch(:, T_BUS) == i,t)) - ... 253 | x_i(i,t)*bus(i, BUS_BS)/baseMVA %考虑Gs Bs影响 254 | ]; %节点功率平衡方程 %x_i = Vi^2 255 | end 256 | end 257 | 258 | %% 259 | %各节点电压幅值约束 260 | for t = 1: n_T 261 | C = [C, 262 | bus(:, BUS_Vmax).^2 >= x_i(bus(:, BUS_I), t) >= bus(:, BUS_Vmin).^2 263 | ]; %x_i = Vi^2 264 | end 265 | %% 266 | %发电机有功出力约束 267 | for t = 1: n_T 268 | for i = 1: n_gen 269 | C = [C, 270 | gen_P_upper(gen(i, GEN_BUS),t) >= gen_P(gen(i, GEN_BUS),t) >= u_state(gen(i, GEN_BUS),t).*gen(i, GEN_PMIN)/baseMVA, 271 | u_state(gen(i, GEN_BUS),t).*gen(i, GEN_PMAX)/baseMVA >= gen_P_upper(gen(i, GEN_BUS),t) >= 0 272 | ]; 273 | end 274 | end 275 | %% 276 | %发电机无功出力约束 277 | for t = 1: n_T 278 | for i = 1: n_gen 279 | C = [C, 280 | %考虑机组组合 281 | u_state(gen(i, GEN_BUS),t).*gen(i, GEN_QMAX)/baseMVA >= gen_Q(gen(i, GEN_BUS),t) >= u_state(gen(i, GEN_BUS),t).*gen(i, GEN_QMIN)/baseMVA 282 | ]; 283 | end 284 | end 285 | 286 | %% 287 | %支路潮流约束 288 | % -Pmax <=P <= Pmax 289 | for i = 1: n_branch 290 | if (branch(i, RATE_A) ~= 0) %rateA为0则认为不需要添加安全约束 291 | C = [C, 292 | -k_safe*branch(i, RATE_A)/baseMVA <= PF_D(i,:) <= k_safe*branch(i, RATE_A)/baseMVA 293 | ]; 294 | end 295 | end 296 | 297 | %% 298 | %故障态约束 299 | 300 | %% 301 | %发电机成本函数,仅考虑2次函数 如果多次要重写 302 | obj_value = sum(gencost(:, GENCOST_C2)'*(gen_P(gen(:, GEN_BUS),:)*baseMVA).^2) + ... 303 | sum(gencost(:, GENCOST_C1)'* gen_P(gen(:, GEN_BUS),:)*baseMVA) + ... 304 | sum(gencost(:, GENCOST_C0)'*u_state(gen(:, GEN_BUS),:)); 305 | 306 | %% 307 | ops = sdpsettings('solver','cplex','verbose',2,'usex0',1); %使用初值 主要是电压取1 308 | % ops.mosek.MSK_IPAR_MIO_CONIC_OUTER_APPROXIMATION = 'MSK_ON'; 309 | % ops.moesk.MSK_DPAR_OPTIMIZER_MAX_TIME = 300; 310 | % ops.mosek.MSK_IPAR_MIO_HEURISTIC_LEVEL = 4; 311 | % ops.mosek.MSK_DPAR_MIO_TOL_REL_GAP = 1e-6; 312 | % ops.mosek.MSK_DPAR_MIO_REL_GAP_CONST = 1e-4; 313 | %mosek 不需要yalmip转换二阶锥约束,cplex和gurobi需要 很耗内存 314 | % ops = sdpsettings('verbose',2); 315 | % ops.sedumi.eps = 1e-6; 316 | % ops.gurobi.MIPGap = 1e-6; 317 | %% 318 | toc 319 | %求解 320 | result = optimize(C, obj_value, ops); 321 | toc(alltime) 322 | if result.problem == 0 % problem =0 代表求解成功 323 | % value(x) 324 | % value(opf_value) 325 | else 326 | % tic 327 | % ops = sdpsettings('solver','cplex','verbose',2,'usex0',1); %使用初值 主要是电压取1 328 | % result = optimize(C, opf_value, ops); 329 | % toc 330 | error('求解出错'); 331 | end 332 | plot([0: n_T], [init_gen_P(gen(:,GEN_BUS)) value(gen_P(gen(:,GEN_BUS),:))]); %各机组出力 333 | 334 | gen_P = value(gen_P(gen(:,GEN_BUS),:)); 335 | gen_Q = value(gen_Q(gen(:,GEN_BUS),:)); 336 | xij_1 = value(xij_1); 337 | xij_2 = value(xij_2); 338 | x_i = value(x_i); 339 | PF_D = value(PF_D); 340 | % QF_D = value(QF_D); 341 | PF_R = value(PF_R); 342 | % QF_R = value(QF_R); 343 | u_state = value(u_state(gen(:,GEN_BUS),:)); 344 | 345 | -------------------------------------------------------------------------------- /SCUC-GitHub/example/case118mod.m: -------------------------------------------------------------------------------- 1 | function mpc = case118mod 2 | %CASE118 Power flow data for IEEE 118 bus test case. 3 | % Please see CASEFORMAT for details on the case file format. 4 | % This data was converted from IEEE Common Data Format 5 | % (ieee118cdf.txt) on 15-Oct-2014 by cdf2matp, rev. 2393 6 | % See end of file for warnings generated during conversion. 7 | % 8 | % Converted from IEEE CDF file from: 9 | % https://labs.ece.uw.edu/pstca/ 10 | % With baseKV data take from the PSAP format file from the same site, 11 | % added manually on 10-Mar-2006. 12 | % Branches 86--87, 68--116 changed from transmission lines (tap ratio = 0) 13 | % to transformers (tap ratio = 1) for consistency with bus base voltages 14 | % on 2019-02-15. 15 | % 16 | % 08/25/93 UW ARCHIVE 100.0 1961 W IEEE 118 Bus Test Case 17 | 18 | % MATPOWER 19 | 20 | %% MATPOWER Case Format : Version 2 21 | mpc.version = '2'; 22 | 23 | %%----- Power Flow Data -----%% 24 | %% system MVA base 25 | mpc.baseMVA = 100; 26 | 27 | %% bus data 28 | % bus_i type Pd Qd Gs Bs area Vm Va baseKV zone Vmax Vmin 29 | mpc.bus = [ 30 | 1 2 51 27 0 0 1 0.955 10.67 138 1 1.06 0.94; 31 | 2 1 20 9 0 0 1 0.971 11.22 138 1 1.06 0.94; 32 | 3 1 39 10 0 0 1 0.968 11.56 138 1 1.06 0.94; 33 | 4 2 39 12 0 0 1 0.998 15.28 138 1 1.06 0.94; 34 | 5 1 0 0 0 -40 1 1.002 15.73 138 1 1.06 0.94; 35 | 6 2 52 22 0 0 1 0.99 13 138 1 1.06 0.94; 36 | 7 1 19 2 0 0 1 0.989 12.56 138 1 1.06 0.94; 37 | 8 2 28 0 0 0 1 1.015 20.77 345 1 1.06 0.94; 38 | 9 1 0 0 0 0 1 1.043 28.02 345 1 1.06 0.94; 39 | 10 2 0 0 0 0 1 1.05 35.61 345 1 1.06 0.94; 40 | 11 1 70 23 0 0 1 0.985 12.72 138 1 1.06 0.94; 41 | 12 2 47 10 0 0 1 0.99 12.2 138 1 1.06 0.94; 42 | 13 1 34 16 0 0 1 0.968 11.35 138 1 1.06 0.94; 43 | 14 1 14 1 0 0 1 0.984 11.5 138 1 1.06 0.94; 44 | 15 2 90 30 0 0 1 0.97 11.23 138 1 1.06 0.94; 45 | 16 1 25 10 0 0 1 0.984 11.91 138 1 1.06 0.94; 46 | 17 1 11 3 0 0 1 0.995 13.74 138 1 1.06 0.94; 47 | 18 2 60 34 0 0 1 0.973 11.53 138 1 1.06 0.94; 48 | 19 2 45 25 0 0 1 0.963 11.05 138 1 1.06 0.94; 49 | 20 1 18 3 0 0 1 0.958 11.93 138 1 1.06 0.94; 50 | 21 1 14 8 0 0 1 0.959 13.52 138 1 1.06 0.94; 51 | 22 1 10 5 0 0 1 0.97 16.08 138 1 1.06 0.94; 52 | 23 1 7 3 0 0 1 1 21 138 1 1.06 0.94; 53 | 24 2 13 0 0 0 1 0.992 20.89 138 1 1.06 0.94; 54 | 25 2 0 0 0 0 1 1.05 27.93 138 1 1.06 0.94; 55 | 26 2 0 0 0 0 1 1.015 29.71 345 1 1.06 0.94; 56 | 27 2 71 13 0 0 1 0.968 15.35 138 1 1.06 0.94; 57 | 28 1 17 7 0 0 1 0.962 13.62 138 1 1.06 0.94; 58 | 29 1 24 4 0 0 1 0.963 12.63 138 1 1.06 0.94; 59 | 30 1 0 0 0 0 1 0.968 18.79 345 1 1.06 0.94; 60 | 31 2 43 27 0 0 1 0.967 12.75 138 1 1.06 0.94; 61 | 32 2 59 23 0 0 1 0.964 14.8 138 1 1.06 0.94; 62 | 33 1 23 9 0 0 1 0.972 10.63 138 1 1.06 0.94; 63 | 34 2 59 26 0 14 1 0.986 11.3 138 1 1.06 0.94; 64 | 35 1 33 9 0 0 1 0.981 10.87 138 1 1.06 0.94; 65 | 36 2 31 17 0 0 1 0.98 10.87 138 1 1.06 0.94; 66 | 37 1 0 0 0 -25 1 0.992 11.77 138 1 1.06 0.94; 67 | 38 1 0 0 0 0 1 0.962 16.91 345 1 1.06 0.94; 68 | 39 1 27 11 0 0 1 0.97 8.41 138 1 1.06 0.94; 69 | 40 2 66 23 0 0 1 0.97 7.35 138 1 1.06 0.94; 70 | 41 1 37 10 0 0 1 0.967 6.92 138 1 1.06 0.94; 71 | 42 2 96 23 0 0 1 0.985 8.53 138 1 1.06 0.94; 72 | 43 1 18 7 0 0 1 0.978 11.28 138 1 1.06 0.94; 73 | 44 1 16 8 0 10 1 0.985 13.82 138 1 1.06 0.94; 74 | 45 1 53 22 0 10 1 0.987 15.67 138 1 1.06 0.94; 75 | 46 2 28 10 0 10 1 1.005 18.49 138 1 1.06 0.94; 76 | 47 1 34 0 0 0 1 1.017 20.73 138 1 1.06 0.94; 77 | 48 1 20 11 0 15 1 1.021 19.93 138 1 1.06 0.94; 78 | 49 2 87 30 0 0 1 1.025 20.94 138 1 1.06 0.94; 79 | 50 1 17 4 0 0 1 1.001 18.9 138 1 1.06 0.94; 80 | 51 1 17 8 0 0 1 0.967 16.28 138 1 1.06 0.94; 81 | 52 1 18 5 0 0 1 0.957 15.32 138 1 1.06 0.94; 82 | 53 1 23 11 0 0 1 0.946 14.35 138 1 1.06 0.94; 83 | 54 2 113 32 0 0 1 0.955 15.26 138 1 1.06 0.94; 84 | 55 2 63 22 0 0 1 0.952 14.97 138 1 1.06 0.94; 85 | 56 2 84 18 0 0 1 0.954 15.16 138 1 1.06 0.94; 86 | 57 1 12 3 0 0 1 0.971 16.36 138 1 1.06 0.94; 87 | 58 1 12 3 0 0 1 0.959 15.51 138 1 1.06 0.94; 88 | 59 2 277 113 0 0 1 0.985 19.37 138 1 1.06 0.94; 89 | 60 1 78 3 0 0 1 0.993 23.15 138 1 1.06 0.94; 90 | 61 2 0 0 0 0 1 0.995 24.04 138 1 1.06 0.94; 91 | 62 2 77 14 0 0 1 0.998 23.43 138 1 1.06 0.94; 92 | 63 1 0 0 0 0 1 0.969 22.75 345 1 1.06 0.94; 93 | 64 1 0 0 0 0 1 0.984 24.52 345 1 1.06 0.94; 94 | 65 2 0 0 0 0 1 1.005 27.65 345 1 1.06 0.94; 95 | 66 2 39 18 0 0 1 1.05 27.48 138 1 1.06 0.94; 96 | 67 1 28 7 0 0 1 1.02 24.84 138 1 1.06 0.94; 97 | 68 1 0 0 0 0 1 1.003 27.55 345 1 1.06 0.94; 98 | 69 3 0 0 0 0 1 1.035 30 138 1 1.06 0.94; 99 | 70 2 66 20 0 0 1 0.984 22.58 138 1 1.06 0.94; 100 | 71 1 0 0 0 0 1 0.987 22.15 138 1 1.06 0.94; 101 | 72 2 12 0 0 0 1 0.98 20.98 138 1 1.06 0.94; 102 | 73 2 6 0 0 0 1 0.991 21.94 138 1 1.06 0.94; 103 | 74 2 68 27 0 12 1 0.958 21.64 138 1 1.06 0.94; 104 | 75 1 47 11 0 0 1 0.967 22.91 138 1 1.06 0.94; 105 | 76 2 68 36 0 0 1 0.943 21.77 138 1 1.06 0.94; 106 | 77 2 61 28 0 0 1 1.006 26.72 138 1 1.06 0.94; 107 | 78 1 71 26 0 0 1 1.003 26.42 138 1 1.06 0.94; 108 | 79 1 39 32 0 20 1 1.009 26.72 138 1 1.06 0.94; 109 | 80 2 130 26 0 0 1 1.04 28.96 138 1 1.06 0.94; 110 | 81 1 0 0 0 0 1 0.997 28.1 345 1 1.06 0.94; 111 | 82 1 54 27 0 20 1 0.989 27.24 138 1 1.06 0.94; 112 | 83 1 20 10 0 10 1 0.985 28.42 138 1 1.06 0.94; 113 | 84 1 11 7 0 0 1 0.98 30.95 138 1 1.06 0.94; 114 | 85 2 24 15 0 0 1 0.985 32.51 138 1 1.06 0.94; 115 | 86 1 21 10 0 0 1 0.987 31.14 138 1 1.06 0.94; 116 | 87 2 0 0 0 0 1 1.015 31.4 161 1 1.06 0.94; 117 | 88 1 48 10 0 0 1 0.987 35.64 138 1 1.06 0.94; 118 | 89 2 0 0 0 0 1 1.005 39.69 138 1 1.06 0.94; 119 | 90 2 163 42 0 0 1 0.985 33.29 138 1 1.06 0.94; 120 | 91 2 10 0 0 0 1 0.98 33.31 138 1 1.06 0.94; 121 | 92 2 65 10 0 0 1 0.993 33.8 138 1 1.06 0.94; 122 | 93 1 12 7 0 0 1 0.987 30.79 138 1 1.06 0.94; 123 | 94 1 30 16 0 0 1 0.991 28.64 138 1 1.06 0.94; 124 | 95 1 42 31 0 0 1 0.981 27.67 138 1 1.06 0.94; 125 | 96 1 38 15 0 0 1 0.993 27.51 138 1 1.06 0.94; 126 | 97 1 15 9 0 0 1 1.011 27.88 138 1 1.06 0.94; 127 | 98 1 34 8 0 0 1 1.024 27.4 138 1 1.06 0.94; 128 | 99 2 42 0 0 0 1 1.01 27.04 138 1 1.06 0.94; 129 | 100 2 37 18 0 0 1 1.017 28.03 138 1 1.06 0.94; 130 | 101 1 22 15 0 0 1 0.993 29.61 138 1 1.06 0.94; 131 | 102 1 5 3 0 0 1 0.991 32.3 138 1 1.06 0.94; 132 | 103 2 23 16 0 0 1 1.001 24.44 138 1 1.06 0.94; 133 | 104 2 38 25 0 0 1 0.971 21.69 138 1 1.06 0.94; 134 | 105 2 31 26 0 20 1 0.965 20.57 138 1 1.06 0.94; 135 | 106 1 43 16 0 0 1 0.962 20.32 138 1 1.06 0.94; 136 | 107 2 50 12 0 6 1 0.952 17.53 138 1 1.06 0.94; 137 | 108 1 2 1 0 0 1 0.967 19.38 138 1 1.06 0.94; 138 | 109 1 8 3 0 0 1 0.967 18.93 138 1 1.06 0.94; 139 | 110 2 39 30 0 6 1 0.973 18.09 138 1 1.06 0.94; 140 | 111 2 0 0 0 0 1 0.98 19.74 138 1 1.06 0.94; 141 | 112 2 68 13 0 0 1 0.975 14.99 138 1 1.06 0.94; 142 | 113 2 6 0 0 0 1 0.993 13.74 138 1 1.06 0.94; 143 | 114 1 8 3 0 0 1 0.96 14.46 138 1 1.06 0.94; 144 | 115 1 22 7 0 0 1 0.96 14.46 138 1 1.06 0.94; 145 | 116 2 184 0 0 0 1 1.005 27.12 138 1 1.06 0.94; 146 | 117 1 20 8 0 0 1 0.974 10.67 138 1 1.06 0.94; 147 | 118 1 33 15 0 0 1 0.949 21.92 138 1 1.06 0.94; 148 | ]; 149 | 150 | %% generator data 151 | % bus Pg Qg Qmax Qmin Vg mBase status Pmax Pmin Pc1 Pc2 Qc1min Qc1max Qc2min Qc2max ramp_agc ramp_10 ramp_30 ramp_q apf 152 | mpc.gen = [ 153 | 1 0 0 15 -5 0.955 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 154 | 4 0 0 300 -300 0.998 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 155 | 6 0 0 50 -13 0.99 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 156 | 8 0 0 300 -300 1.015 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 157 | 10 450 0 200 -147 1.05 100 1 550 0 0 0 0 0 0 0 0 0 0 0 0; 158 | 12 85 0 120 -35 0.99 100 1 185 0 0 0 0 0 0 0 0 0 0 0 0; 159 | 15 0 0 30 -10 0.97 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 160 | 18 0 0 50 -16 0.973 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 161 | 19 0 0 24 -8 0.962 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 162 | 24 0 0 300 -300 0.992 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 163 | 25 220 0 140 -47 1.05 100 1 320 0 0 0 0 0 0 0 0 0 0 0 0; 164 | 26 314 0 1000 -1000 1.015 100 1 414 0 0 0 0 0 0 0 0 0 0 0 0; 165 | 27 0 0 300 -300 0.968 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 166 | 31 7 0 300 -300 0.967 100 1 107 0 0 0 0 0 0 0 0 0 0 0 0; 167 | 32 0 0 42 -14 0.963 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 168 | 34 0 0 24 -8 0.984 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 169 | 36 0 0 24 -8 0.98 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 170 | 40 0 0 300 -300 0.97 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 171 | 42 0 0 300 -300 0.985 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 172 | 46 19 0 100 -100 1.005 100 1 119 0 0 0 0 0 0 0 0 0 0 0 0; 173 | 49 204 0 210 -85 1.025 100 1 304 0 0 0 0 0 0 0 0 0 0 0 0; 174 | 54 48 0 300 -300 0.955 100 1 148 0 0 0 0 0 0 0 0 0 0 0 0; 175 | 55 0 0 23 -8 0.952 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 176 | 56 0 0 15 -8 0.954 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 177 | 59 155 0 180 -60 0.985 100 1 255 0 0 0 0 0 0 0 0 0 0 0 0; 178 | 61 160 0 300 -100 0.995 100 1 260 0 0 0 0 0 0 0 0 0 0 0 0; 179 | 62 0 0 20 -20 0.998 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 180 | 65 391 0 200 -67 1.005 100 1 491 0 0 0 0 0 0 0 0 0 0 0 0; 181 | 66 392 0 200 -67 1.05 100 1 492 0 0 0 0 0 0 0 0 0 0 0 0; 182 | 69 516.4 0 300 -300 1.035 100 1 805.2 0 0 0 0 0 0 0 0 0 0 0 0; 183 | 70 0 0 32 -10 0.984 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 184 | 72 0 0 100 -100 0.98 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 185 | 73 0 0 100 -100 0.991 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 186 | 74 0 0 9 -6 0.958 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 187 | 76 0 0 23 -8 0.943 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 188 | 77 0 0 70 -20 1.006 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 189 | 80 477 0 280 -165 1.04 100 1 577 0 0 0 0 0 0 0 0 0 0 0 0; 190 | 85 0 0 23 -8 0.985 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 191 | 87 4 0 1000 -100 1.015 100 1 104 0 0 0 0 0 0 0 0 0 0 0 0; 192 | 89 607 0 300 -210 1.005 100 1 707 0 0 0 0 0 0 0 0 0 0 0 0; 193 | 90 0 0 300 -300 0.985 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 194 | 91 0 0 100 -100 0.98 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 195 | 92 0 0 9 -3 0.99 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 196 | 99 0 0 100 -100 1.01 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 197 | 100 252 0 155 -50 1.017 100 1 352 0 0 0 0 0 0 0 0 0 0 0 0; 198 | 103 40 0 40 -15 1.01 100 1 140 0 0 0 0 0 0 0 0 0 0 0 0; 199 | 104 0 0 23 -8 0.971 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 200 | 105 0 0 23 -8 0.965 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 201 | 107 0 0 200 -200 0.952 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 202 | 110 0 0 23 -8 0.973 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 203 | 111 36 0 1000 -100 0.98 100 1 136 0 0 0 0 0 0 0 0 0 0 0 0; 204 | 112 0 0 1000 -100 0.975 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 205 | 113 0 0 200 -100 0.993 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 206 | 116 0 0 1000 -1000 1.005 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0; 207 | ]; 208 | 209 | %% branch data 210 | % fbus tbus r x b rateA rateB rateC ratio angle status angmin angmax 211 | mpc.branch = [ 212 | 1 2 0.0303 0.0999 0.0254 0 0 0 0 0 1 -360 360; 213 | 1 3 0.0129 0.0424 0.01082 0 0 0 0 0 1 -360 360; 214 | 4 5 0.00176 0.00798 0.0021 0 0 0 0 0 1 -360 360; 215 | 3 5 0.0241 0.108 0.0284 0 0 0 0 0 1 -360 360; 216 | 5 6 0.0119 0.054 0.01426 0 0 0 0 0 1 -360 360; 217 | 6 7 0.00459 0.0208 0.0055 0 0 0 0 0 1 -360 360; 218 | 8 9 0.00244 0.0305 1.162 0 0 0 0 0 1 -360 360; 219 | 8 5 0 0.0267 0 0 0 0 0.985 0 1 -360 360; 220 | 9 10 0.00258 0.0322 1.23 0 0 0 0 0 1 -360 360; 221 | 4 11 0.0209 0.0688 0.01748 0 0 0 0 0 1 -360 360; 222 | 5 11 0.0203 0.0682 0.01738 0 0 0 0 0 1 -360 360; 223 | 11 12 0.00595 0.0196 0.00502 0 0 0 0 0 1 -360 360; 224 | 2 12 0.0187 0.0616 0.01572 0 0 0 0 0 1 -360 360; 225 | 3 12 0.0484 0.16 0.0406 0 0 0 0 0 1 -360 360; 226 | 7 12 0.00862 0.034 0.00874 0 0 0 0 0 1 -360 360; 227 | 11 13 0.02225 0.0731 0.01876 0 0 0 0 0 1 -360 360; 228 | 12 14 0.0215 0.0707 0.01816 0 0 0 0 0 1 -360 360; 229 | 13 15 0.0744 0.2444 0.06268 0 0 0 0 0 1 -360 360; 230 | 14 15 0.0595 0.195 0.0502 0 0 0 0 0 1 -360 360; 231 | 12 16 0.0212 0.0834 0.0214 0 0 0 0 0 1 -360 360; 232 | 15 17 0.0132 0.0437 0.0444 0 0 0 0 0 1 -360 360; 233 | 16 17 0.0454 0.1801 0.0466 0 0 0 0 0 1 -360 360; 234 | 17 18 0.0123 0.0505 0.01298 0 0 0 0 0 1 -360 360; 235 | 18 19 0.01119 0.0493 0.01142 0 0 0 0 0 1 -360 360; 236 | 19 20 0.0252 0.117 0.0298 0 0 0 0 0 1 -360 360; 237 | 15 19 0.012 0.0394 0.0101 0 0 0 0 0 1 -360 360; 238 | 20 21 0.0183 0.0849 0.0216 0 0 0 0 0 1 -360 360; 239 | 21 22 0.0209 0.097 0.0246 0 0 0 0 0 1 -360 360; 240 | 22 23 0.0342 0.159 0.0404 0 0 0 0 0 1 -360 360; 241 | 23 24 0.0135 0.0492 0.0498 0 0 0 0 0 1 -360 360; 242 | 23 25 0.0156 0.08 0.0864 0 0 0 0 0 1 -360 360; 243 | 26 25 0 0.0382 0 0 0 0 0.96 0 1 -360 360; 244 | 25 27 0.0318 0.163 0.1764 0 0 0 0 0 1 -360 360; 245 | 27 28 0.01913 0.0855 0.0216 0 0 0 0 0 1 -360 360; 246 | 28 29 0.0237 0.0943 0.0238 0 0 0 0 0 1 -360 360; 247 | 30 17 0 0.0388 0 0 0 0 0.96 0 1 -360 360; 248 | 8 30 0.00431 0.0504 0.514 0 0 0 0 0 1 -360 360; 249 | 26 30 0.00799 0.086 0.908 0 0 0 0 0 1 -360 360; 250 | 17 31 0.0474 0.1563 0.0399 0 0 0 0 0 1 -360 360; 251 | 29 31 0.0108 0.0331 0.0083 0 0 0 0 0 1 -360 360; 252 | 23 32 0.0317 0.1153 0.1173 0 0 0 0 0 1 -360 360; 253 | 31 32 0.0298 0.0985 0.0251 0 0 0 0 0 1 -360 360; 254 | 27 32 0.0229 0.0755 0.01926 0 0 0 0 0 1 -360 360; 255 | 15 33 0.038 0.1244 0.03194 0 0 0 0 0 1 -360 360; 256 | 19 34 0.0752 0.247 0.0632 0 0 0 0 0 1 -360 360; 257 | 35 36 0.00224 0.0102 0.00268 0 0 0 0 0 1 -360 360; 258 | 35 37 0.011 0.0497 0.01318 0 0 0 0 0 1 -360 360; 259 | 33 37 0.0415 0.142 0.0366 0 0 0 0 0 1 -360 360; 260 | 34 36 0.00871 0.0268 0.00568 0 0 0 0 0 1 -360 360; 261 | 34 37 0.00256 0.0094 0.00984 0 0 0 0 0 1 -360 360; 262 | 38 37 0 0.0375 0 0 0 0 0.935 0 1 -360 360; 263 | 37 39 0.0321 0.106 0.027 0 0 0 0 0 1 -360 360; 264 | 37 40 0.0593 0.168 0.042 0 0 0 0 0 1 -360 360; 265 | 30 38 0.00464 0.054 0.422 0 0 0 0 0 1 -360 360; 266 | 39 40 0.0184 0.0605 0.01552 0 0 0 0 0 1 -360 360; 267 | 40 41 0.0145 0.0487 0.01222 0 0 0 0 0 1 -360 360; 268 | 40 42 0.0555 0.183 0.0466 0 0 0 0 0 1 -360 360; 269 | 41 42 0.041 0.135 0.0344 0 0 0 0 0 1 -360 360; 270 | 43 44 0.0608 0.2454 0.06068 0 0 0 0 0 1 -360 360; 271 | 34 43 0.0413 0.1681 0.04226 0 0 0 0 0 1 -360 360; 272 | 44 45 0.0224 0.0901 0.0224 0 0 0 0 0 1 -360 360; 273 | 45 46 0.04 0.1356 0.0332 0 0 0 0 0 1 -360 360; 274 | 46 47 0.038 0.127 0.0316 0 0 0 0 0 1 -360 360; 275 | 46 48 0.0601 0.189 0.0472 0 0 0 0 0 1 -360 360; 276 | 47 49 0.0191 0.0625 0.01604 0 0 0 0 0 1 -360 360; 277 | 42 49 0.0715 0.323 0.086 0 0 0 0 0 1 -360 360; 278 | 42 49 0.0715 0.323 0.086 0 0 0 0 0 1 -360 360; 279 | 45 49 0.0684 0.186 0.0444 0 0 0 0 0 1 -360 360; 280 | 48 49 0.0179 0.0505 0.01258 0 0 0 0 0 1 -360 360; 281 | 49 50 0.0267 0.0752 0.01874 0 0 0 0 0 1 -360 360; 282 | 49 51 0.0486 0.137 0.0342 0 0 0 0 0 1 -360 360; 283 | 51 52 0.0203 0.0588 0.01396 0 0 0 0 0 1 -360 360; 284 | 52 53 0.0405 0.1635 0.04058 0 0 0 0 0 1 -360 360; 285 | 53 54 0.0263 0.122 0.031 0 0 0 0 0 1 -360 360; 286 | 49 54 0.073 0.289 0.0738 0 0 0 0 0 1 -360 360; 287 | 49 54 0.0869 0.291 0.073 0 0 0 0 0 1 -360 360; 288 | 54 55 0.0169 0.0707 0.0202 0 0 0 0 0 1 -360 360; 289 | 54 56 0.00275 0.00955 0.00732 0 0 0 0 0 1 -360 360; 290 | 55 56 0.00488 0.0151 0.00374 0 0 0 0 0 1 -360 360; 291 | 56 57 0.0343 0.0966 0.0242 0 0 0 0 0 1 -360 360; 292 | 50 57 0.0474 0.134 0.0332 0 0 0 0 0 1 -360 360; 293 | 56 58 0.0343 0.0966 0.0242 0 0 0 0 0 1 -360 360; 294 | 51 58 0.0255 0.0719 0.01788 0 0 0 0 0 1 -360 360; 295 | 54 59 0.0503 0.2293 0.0598 0 0 0 0 0 1 -360 360; 296 | 56 59 0.0825 0.251 0.0569 0 0 0 0 0 1 -360 360; 297 | 56 59 0.0803 0.239 0.0536 0 0 0 0 0 1 -360 360; 298 | 55 59 0.04739 0.2158 0.05646 0 0 0 0 0 1 -360 360; 299 | 59 60 0.0317 0.145 0.0376 0 0 0 0 0 1 -360 360; 300 | 59 61 0.0328 0.15 0.0388 0 0 0 0 0 1 -360 360; 301 | 60 61 0.00264 0.0135 0.01456 0 0 0 0 0 1 -360 360; 302 | 60 62 0.0123 0.0561 0.01468 0 0 0 0 0 1 -360 360; 303 | 61 62 0.00824 0.0376 0.0098 0 0 0 0 0 1 -360 360; 304 | 63 59 0 0.0386 0 0 0 0 0.96 0 1 -360 360; 305 | 63 64 0.00172 0.02 0.216 0 0 0 0 0 1 -360 360; 306 | 64 61 0 0.0268 0 0 0 0 0.985 0 1 -360 360; 307 | 38 65 0.00901 0.0986 1.046 0 0 0 0 0 1 -360 360; 308 | 64 65 0.00269 0.0302 0.38 0 0 0 0 0 1 -360 360; 309 | 49 66 0.018 0.0919 0.0248 0 0 0 0 0 1 -360 360; 310 | 49 66 0.018 0.0919 0.0248 0 0 0 0 0 1 -360 360; 311 | 62 66 0.0482 0.218 0.0578 0 0 0 0 0 1 -360 360; 312 | 62 67 0.0258 0.117 0.031 0 0 0 0 0 1 -360 360; 313 | 65 66 0 0.037 0 0 0 0 0.935 0 1 -360 360; 314 | 66 67 0.0224 0.1015 0.02682 0 0 0 0 0 1 -360 360; 315 | 65 68 0.00138 0.016 0.638 0 0 0 0 0 1 -360 360; 316 | 47 69 0.0844 0.2778 0.07092 0 0 0 0 0 1 -360 360; 317 | 49 69 0.0985 0.324 0.0828 0 0 0 0 0 1 -360 360; 318 | 68 69 0 0.037 0 0 0 0 0.935 0 1 -360 360; 319 | 69 70 0.03 0.127 0.122 0 0 0 0 0 1 -360 360; 320 | 24 70 0.00221 0.4115 0.10198 0 0 0 0 0 1 -360 360; 321 | 70 71 0.00882 0.0355 0.00878 0 0 0 0 0 1 -360 360; 322 | 24 72 0.0488 0.196 0.0488 0 0 0 0 0 1 -360 360; 323 | 71 72 0.0446 0.18 0.04444 0 0 0 0 0 1 -360 360; 324 | 71 73 0.00866 0.0454 0.01178 0 0 0 0 0 1 -360 360; 325 | 70 74 0.0401 0.1323 0.03368 0 0 0 0 0 1 -360 360; 326 | 70 75 0.0428 0.141 0.036 0 0 0 0 0 1 -360 360; 327 | 69 75 0.0405 0.122 0.124 0 0 0 0 0 1 -360 360; 328 | 74 75 0.0123 0.0406 0.01034 0 0 0 0 0 1 -360 360; 329 | 76 77 0.0444 0.148 0.0368 0 0 0 0 0 1 -360 360; 330 | 69 77 0.0309 0.101 0.1038 0 0 0 0 0 1 -360 360; 331 | 75 77 0.0601 0.1999 0.04978 0 0 0 0 0 1 -360 360; 332 | 77 78 0.00376 0.0124 0.01264 0 0 0 0 0 1 -360 360; 333 | 78 79 0.00546 0.0244 0.00648 0 0 0 0 0 1 -360 360; 334 | 77 80 0.017 0.0485 0.0472 0 0 0 0 0 1 -360 360; 335 | 77 80 0.0294 0.105 0.0228 0 0 0 0 0 1 -360 360; 336 | 79 80 0.0156 0.0704 0.0187 0 0 0 0 0 1 -360 360; 337 | 68 81 0.00175 0.0202 0.808 0 0 0 0 0 1 -360 360; 338 | 81 80 0 0.037 0 0 0 0 0.935 0 1 -360 360; 339 | 77 82 0.0298 0.0853 0.08174 0 0 0 0 0 1 -360 360; 340 | 82 83 0.0112 0.03665 0.03796 0 0 0 0 0 1 -360 360; 341 | 83 84 0.0625 0.132 0.0258 0 0 0 0 0 1 -360 360; 342 | 83 85 0.043 0.148 0.0348 0 0 0 0 0 1 -360 360; 343 | 84 85 0.0302 0.0641 0.01234 0 0 0 0 0 1 -360 360; 344 | 85 86 0.035 0.123 0.0276 0 0 0 0 0 1 -360 360; 345 | 86 87 0.02828 0.2074 0.0445 0 0 0 1 0 1 -360 360; 346 | 85 88 0.02 0.102 0.0276 0 0 0 0 0 1 -360 360; 347 | 85 89 0.0239 0.173 0.047 0 0 0 0 0 1 -360 360; 348 | 88 89 0.0139 0.0712 0.01934 0 0 0 0 0 1 -360 360; 349 | 89 90 0.0518 0.188 0.0528 0 0 0 0 0 1 -360 360; 350 | 89 90 0.0238 0.0997 0.106 0 0 0 0 0 1 -360 360; 351 | 90 91 0.0254 0.0836 0.0214 0 0 0 0 0 1 -360 360; 352 | 89 92 0.0099 0.0505 0.0548 0 0 0 0 0 1 -360 360; 353 | 89 92 0.0393 0.1581 0.0414 0 0 0 0 0 1 -360 360; 354 | 91 92 0.0387 0.1272 0.03268 0 0 0 0 0 1 -360 360; 355 | 92 93 0.0258 0.0848 0.0218 0 0 0 0 0 1 -360 360; 356 | 92 94 0.0481 0.158 0.0406 0 0 0 0 0 1 -360 360; 357 | 93 94 0.0223 0.0732 0.01876 0 0 0 0 0 1 -360 360; 358 | 94 95 0.0132 0.0434 0.0111 0 0 0 0 0 1 -360 360; 359 | 80 96 0.0356 0.182 0.0494 0 0 0 0 0 1 -360 360; 360 | 82 96 0.0162 0.053 0.0544 0 0 0 0 0 1 -360 360; 361 | 94 96 0.0269 0.0869 0.023 0 0 0 0 0 1 -360 360; 362 | 80 97 0.0183 0.0934 0.0254 0 0 0 0 0 1 -360 360; 363 | 80 98 0.0238 0.108 0.0286 0 0 0 0 0 1 -360 360; 364 | 80 99 0.0454 0.206 0.0546 0 0 0 0 0 1 -360 360; 365 | 92 100 0.0648 0.295 0.0472 0 0 0 0 0 1 -360 360; 366 | 94 100 0.0178 0.058 0.0604 0 0 0 0 0 1 -360 360; 367 | 95 96 0.0171 0.0547 0.01474 0 0 0 0 0 1 -360 360; 368 | 96 97 0.0173 0.0885 0.024 0 0 0 0 0 1 -360 360; 369 | 98 100 0.0397 0.179 0.0476 0 0 0 0 0 1 -360 360; 370 | 99 100 0.018 0.0813 0.0216 0 0 0 0 0 1 -360 360; 371 | 100 101 0.0277 0.1262 0.0328 0 0 0 0 0 1 -360 360; 372 | 92 102 0.0123 0.0559 0.01464 0 0 0 0 0 1 -360 360; 373 | 101 102 0.0246 0.112 0.0294 0 0 0 0 0 1 -360 360; 374 | 100 103 0.016 0.0525 0.0536 0 0 0 0 0 1 -360 360; 375 | 100 104 0.0451 0.204 0.0541 0 0 0 0 0 1 -360 360; 376 | 103 104 0.0466 0.1584 0.0407 0 0 0 0 0 1 -360 360; 377 | 103 105 0.0535 0.1625 0.0408 0 0 0 0 0 1 -360 360; 378 | 100 106 0.0605 0.229 0.062 0 0 0 0 0 1 -360 360; 379 | 104 105 0.00994 0.0378 0.00986 0 0 0 0 0 1 -360 360; 380 | 105 106 0.014 0.0547 0.01434 0 0 0 0 0 1 -360 360; 381 | 105 107 0.053 0.183 0.0472 0 0 0 0 0 1 -360 360; 382 | 105 108 0.0261 0.0703 0.01844 0 0 0 0 0 1 -360 360; 383 | 106 107 0.053 0.183 0.0472 0 0 0 0 0 1 -360 360; 384 | 108 109 0.0105 0.0288 0.0076 0 0 0 0 0 1 -360 360; 385 | 103 110 0.03906 0.1813 0.0461 0 0 0 0 0 1 -360 360; 386 | 109 110 0.0278 0.0762 0.0202 0 0 0 0 0 1 -360 360; 387 | 110 111 0.022 0.0755 0.02 0 0 0 0 0 1 -360 360; 388 | 110 112 0.0247 0.064 0.062 0 0 0 0 0 1 -360 360; 389 | 17 113 0.00913 0.0301 0.00768 0 0 0 0 0 1 -360 360; 390 | 32 113 0.0615 0.203 0.0518 0 0 0 0 0 1 -360 360; 391 | 32 114 0.0135 0.0612 0.01628 0 0 0 0 0 1 -360 360; 392 | 27 115 0.0164 0.0741 0.01972 0 0 0 0 0 1 -360 360; 393 | 114 115 0.0023 0.0104 0.00276 0 0 0 0 0 1 -360 360; 394 | 68 116 0.00034 0.00405 0.164 0 0 0 1 0 1 -360 360; 395 | 12 117 0.0329 0.14 0.0358 0 0 0 0 0 1 -360 360; 396 | 75 118 0.0145 0.0481 0.01198 0 0 0 0 0 1 -360 360; 397 | 76 118 0.0164 0.0544 0.01356 0 0 0 0 0 1 -360 360; 398 | ]; 399 | 400 | %%----- OPF Data -----%% 401 | %% generator cost data 402 | % 1 startup shutdown n x1 y1 ... xn yn 403 | % 2 startup shutdown n c(n-1) ... c0 404 | mpc.gencost = [ 405 | 2 0 0 3 0.01 40 0; 406 | 2 0 0 3 0.01 40 0; 407 | 2 0 0 3 0.01 40 0; 408 | 2 0 0 3 0.01 40 0; 409 | 2 0 0 3 0.0222222222 20 0; 410 | 2 0 0 3 0.117647059 20 0; 411 | 2 0 0 3 0.01 40 0; 412 | 2 0 0 3 0.01 40 0; 413 | 2 0 0 3 0.01 40 0; 414 | 2 0 0 3 0.01 40 0; 415 | 2 0 0 3 0.0454545455 20 0; 416 | 2 0 0 3 0.0318471338 20 0; 417 | 2 0 0 3 0.01 40 0; 418 | 2 0 0 3 1.42857143 20 0; 419 | 2 0 0 3 0.01 40 0; 420 | 2 0 0 3 0.01 40 0; 421 | 2 0 0 3 0.01 40 0; 422 | 2 0 0 3 0.01 40 0; 423 | 2 0 0 3 0.01 40 0; 424 | 2 0 0 3 0.526315789 20 0; 425 | 2 0 0 3 0.0490196078 20 0; 426 | 2 0 0 3 0.208333333 20 0; 427 | 2 0 0 3 0.01 40 0; 428 | 2 0 0 3 0.01 40 0; 429 | 2 0 0 3 0.064516129 20 0; 430 | 2 0 0 3 0.0625 20 0; 431 | 2 0 0 3 0.01 40 0; 432 | 2 0 0 3 0.0255754476 20 0; 433 | 2 0 0 3 0.0255102041 20 0; 434 | 2 0 0 3 0.0193648335 20 0; 435 | 2 0 0 3 0.01 40 0; 436 | 2 0 0 3 0.01 40 0; 437 | 2 0 0 3 0.01 40 0; 438 | 2 0 0 3 0.01 40 0; 439 | 2 0 0 3 0.01 40 0; 440 | 2 0 0 3 0.01 40 0; 441 | 2 0 0 3 0.0209643606 20 0; 442 | 2 0 0 3 0.01 40 0; 443 | 2 0 0 3 2.5 20 0; 444 | 2 0 0 3 0.0164744646 20 0; 445 | 2 0 0 3 0.01 40 0; 446 | 2 0 0 3 0.01 40 0; 447 | 2 0 0 3 0.01 40 0; 448 | 2 0 0 3 0.01 40 0; 449 | 2 0 0 3 0.0396825397 20 0; 450 | 2 0 0 3 0.25 20 0; 451 | 2 0 0 3 0.01 40 0; 452 | 2 0 0 3 0.01 40 0; 453 | 2 0 0 3 0.01 40 0; 454 | 2 0 0 3 0.01 40 0; 455 | 2 0 0 3 0.277777778 20 0; 456 | 2 0 0 3 0.01 40 0; 457 | 2 0 0 3 0.01 40 0; 458 | 2 0 0 3 0.01 40 0; 459 | ]; 460 | 461 | %% bus names 462 | mpc.bus_name = { 463 | 'Riversde V2'; 464 | 'Pokagon V2'; 465 | 'HickryCk V2'; 466 | 'NwCarlsl V2'; 467 | 'Olive V2'; 468 | 'Kankakee V2'; 469 | 'JacksnRd V2'; 470 | 'Olive V1'; 471 | 'Bequine V1'; 472 | 'Breed V1'; 473 | 'SouthBnd V2'; 474 | 'TwinBrch V2'; 475 | 'Concord V2'; 476 | 'GoshenJt V2'; 477 | 'FtWayne V2'; 478 | 'N. E. V2'; 479 | 'Sorenson V2'; 480 | 'McKinley V2'; 481 | 'Lincoln V2'; 482 | 'Adams V2'; 483 | 'Jay V2'; 484 | 'Randolph V2'; 485 | 'CollCrnr V2'; 486 | 'Trenton V2'; 487 | 'TannrsCk V2'; 488 | 'TannrsCk V1'; 489 | 'Madison V2'; 490 | 'Mullin V2'; 491 | 'Grant V2'; 492 | 'Sorenson V1'; 493 | 'DeerCrk V2'; 494 | 'Delaware V2'; 495 | 'Haviland V2'; 496 | 'Rockhill V2'; 497 | 'WestLima V2'; 498 | 'Sterling V2'; 499 | 'EastLima V2'; 500 | 'EastLima V1'; 501 | 'NwLibrty V2'; 502 | 'West End V2'; 503 | 'S.Tiffin V2'; 504 | 'Howard V2'; 505 | 'S.Kenton V2'; 506 | 'WMVernon V2'; 507 | 'N.Newark V2'; 508 | 'W.Lancst V2'; 509 | 'Crooksvl V2'; 510 | 'Zanesvll V2'; 511 | 'Philo V2'; 512 | 'WCambrdg V2'; 513 | 'Newcmrst V2'; 514 | 'SCoshoct V2'; 515 | 'Wooster V2'; 516 | 'Torrey V2'; 517 | 'Wagenhls V2'; 518 | 'Sunnysde V2'; 519 | 'WNwPhil1 V2'; 520 | 'WNwPhil2 V2'; 521 | 'Tidd V2'; 522 | 'SWKammer V2'; 523 | 'W.Kammer V2'; 524 | 'Natrium V2'; 525 | 'Tidd V1'; 526 | 'Kammer V1'; 527 | 'Muskngum V1'; 528 | 'Muskngum V2'; 529 | 'Summerfl V2'; 530 | 'Sporn V1'; 531 | 'Sporn V2'; 532 | 'Portsmth V2'; 533 | 'NPortsmt V2'; 534 | 'Hillsbro V2'; 535 | 'Sargents V2'; 536 | 'Bellefnt V2'; 537 | 'SthPoint V2'; 538 | 'Darrah V2'; 539 | 'Turner V2'; 540 | 'Chemical V2'; 541 | 'CapitlHl V2'; 542 | 'CabinCrk V2'; 543 | 'Kanawha V1'; 544 | 'Logan V2'; 545 | 'Sprigg V2'; 546 | 'BetsyLne V2'; 547 | 'BeaverCk V2'; 548 | 'Hazard V2'; 549 | 'Pinevlle V3'; 550 | 'Fremont V2'; 551 | 'ClinchRv V2'; 552 | 'Holston V2'; 553 | 'HolstonT V2'; 554 | 'Saltvlle V2'; 555 | 'Tazewell V2'; 556 | 'Switchbk V2'; 557 | 'Caldwell V2'; 558 | 'Baileysv V2'; 559 | 'Sundial V2'; 560 | 'Bradley V2'; 561 | 'Hinton V2'; 562 | 'Glen Lyn V2'; 563 | 'Wythe V2'; 564 | 'Smythe V2'; 565 | 'Claytor V2'; 566 | 'Hancock V2'; 567 | 'Roanoke V2'; 568 | 'Cloverdl V2'; 569 | 'Reusens V2'; 570 | 'Blaine V2'; 571 | 'Franklin V2'; 572 | 'Fieldale V2'; 573 | 'DanRiver V2'; 574 | 'Danville V2'; 575 | 'Deer Crk V2'; 576 | 'WMedford V2'; 577 | 'Medford V2'; 578 | 'KygerCrk V2'; 579 | 'Corey V2'; 580 | 'WHuntngd V2'; 581 | }; 582 | 583 | % Warnings from cdf2matp conversion: 584 | % 585 | % ***** check the title format in the first line of the cdf file. 586 | % ***** negative Pg at bus 4 treated as Pd 587 | % ***** negative Pg at bus 8 treated as Pd 588 | % ***** negative Pg at bus 24 treated as Pd 589 | % ***** negative Pg at bus 27 treated as Pd 590 | % ***** negative Pg at bus 40 treated as Pd 591 | % ***** negative Pg at bus 42 treated as Pd 592 | % ***** negative Pg at bus 72 treated as Pd 593 | % ***** negative Pg at bus 73 treated as Pd 594 | % ***** negative Pg at bus 90 treated as Pd 595 | % ***** negative Pg at bus 91 treated as Pd 596 | % ***** negative Pg at bus 99 treated as Pd 597 | % ***** negative Pg at bus 107 treated as Pd 598 | % ***** negative Pg at bus 112 treated as Pd 599 | % ***** negative Pg at bus 113 treated as Pd 600 | % ***** negative Pg at bus 116 treated as Pd 601 | % ***** Insufficient generation, setting Pmax at slack bus (bus 69) to 805.2 602 | % ***** MVA limit of branch 1 - 2 not given, set to 0 603 | % ***** MVA limit of branch 1 - 3 not given, set to 0 604 | % ***** MVA limit of branch 4 - 5 not given, set to 0 605 | % ***** MVA limit of branch 3 - 5 not given, set to 0 606 | % ***** MVA limit of branch 5 - 6 not given, set to 0 607 | % ***** MVA limit of branch 6 - 7 not given, set to 0 608 | % ***** MVA limit of branch 8 - 9 not given, set to 0 609 | % ***** MVA limit of branch 8 - 5 not given, set to 0 610 | % ***** MVA limit of branch 9 - 10 not given, set to 0 611 | % ***** MVA limit of branch 4 - 11 not given, set to 0 612 | % ***** MVA limit of branch 5 - 11 not given, set to 0 613 | % ***** MVA limit of branch 11 - 12 not given, set to 0 614 | % ***** MVA limit of branch 2 - 12 not given, set to 0 615 | % ***** MVA limit of branch 3 - 12 not given, set to 0 616 | % ***** MVA limit of branch 7 - 12 not given, set to 0 617 | % ***** MVA limit of branch 11 - 13 not given, set to 0 618 | % ***** MVA limit of branch 12 - 14 not given, set to 0 619 | % ***** MVA limit of branch 13 - 15 not given, set to 0 620 | % ***** MVA limit of branch 14 - 15 not given, set to 0 621 | % ***** MVA limit of branch 12 - 16 not given, set to 0 622 | % ***** MVA limit of branch 15 - 17 not given, set to 0 623 | % ***** MVA limit of branch 16 - 17 not given, set to 0 624 | % ***** MVA limit of branch 17 - 18 not given, set to 0 625 | % ***** MVA limit of branch 18 - 19 not given, set to 0 626 | % ***** MVA limit of branch 19 - 20 not given, set to 0 627 | % ***** MVA limit of branch 15 - 19 not given, set to 0 628 | % ***** MVA limit of branch 20 - 21 not given, set to 0 629 | % ***** MVA limit of branch 21 - 22 not given, set to 0 630 | % ***** MVA limit of branch 22 - 23 not given, set to 0 631 | % ***** MVA limit of branch 23 - 24 not given, set to 0 632 | % ***** MVA limit of branch 23 - 25 not given, set to 0 633 | % ***** MVA limit of branch 26 - 25 not given, set to 0 634 | % ***** MVA limit of branch 25 - 27 not given, set to 0 635 | % ***** MVA limit of branch 27 - 28 not given, set to 0 636 | % ***** MVA limit of branch 28 - 29 not given, set to 0 637 | % ***** MVA limit of branch 30 - 17 not given, set to 0 638 | % ***** MVA limit of branch 8 - 30 not given, set to 0 639 | % ***** MVA limit of branch 26 - 30 not given, set to 0 640 | % ***** MVA limit of branch 17 - 31 not given, set to 0 641 | % ***** MVA limit of branch 29 - 31 not given, set to 0 642 | % ***** MVA limit of branch 23 - 32 not given, set to 0 643 | % ***** MVA limit of branch 31 - 32 not given, set to 0 644 | % ***** MVA limit of branch 27 - 32 not given, set to 0 645 | % ***** MVA limit of branch 15 - 33 not given, set to 0 646 | % ***** MVA limit of branch 19 - 34 not given, set to 0 647 | % ***** MVA limit of branch 35 - 36 not given, set to 0 648 | % ***** MVA limit of branch 35 - 37 not given, set to 0 649 | % ***** MVA limit of branch 33 - 37 not given, set to 0 650 | % ***** MVA limit of branch 34 - 36 not given, set to 0 651 | % ***** MVA limit of branch 34 - 37 not given, set to 0 652 | % ***** MVA limit of branch 38 - 37 not given, set to 0 653 | % ***** MVA limit of branch 37 - 39 not given, set to 0 654 | % ***** MVA limit of branch 37 - 40 not given, set to 0 655 | % ***** MVA limit of branch 30 - 38 not given, set to 0 656 | % ***** MVA limit of branch 39 - 40 not given, set to 0 657 | % ***** MVA limit of branch 40 - 41 not given, set to 0 658 | % ***** MVA limit of branch 40 - 42 not given, set to 0 659 | % ***** MVA limit of branch 41 - 42 not given, set to 0 660 | % ***** MVA limit of branch 43 - 44 not given, set to 0 661 | % ***** MVA limit of branch 34 - 43 not given, set to 0 662 | % ***** MVA limit of branch 44 - 45 not given, set to 0 663 | % ***** MVA limit of branch 45 - 46 not given, set to 0 664 | % ***** MVA limit of branch 46 - 47 not given, set to 0 665 | % ***** MVA limit of branch 46 - 48 not given, set to 0 666 | % ***** MVA limit of branch 47 - 49 not given, set to 0 667 | % ***** MVA limit of branch 42 - 49 not given, set to 0 668 | % ***** MVA limit of branch 42 - 49 not given, set to 0 669 | % ***** MVA limit of branch 45 - 49 not given, set to 0 670 | % ***** MVA limit of branch 48 - 49 not given, set to 0 671 | % ***** MVA limit of branch 49 - 50 not given, set to 0 672 | % ***** MVA limit of branch 49 - 51 not given, set to 0 673 | % ***** MVA limit of branch 51 - 52 not given, set to 0 674 | % ***** MVA limit of branch 52 - 53 not given, set to 0 675 | % ***** MVA limit of branch 53 - 54 not given, set to 0 676 | % ***** MVA limit of branch 49 - 54 not given, set to 0 677 | % ***** MVA limit of branch 49 - 54 not given, set to 0 678 | % ***** MVA limit of branch 54 - 55 not given, set to 0 679 | % ***** MVA limit of branch 54 - 56 not given, set to 0 680 | % ***** MVA limit of branch 55 - 56 not given, set to 0 681 | % ***** MVA limit of branch 56 - 57 not given, set to 0 682 | % ***** MVA limit of branch 50 - 57 not given, set to 0 683 | % ***** MVA limit of branch 56 - 58 not given, set to 0 684 | % ***** MVA limit of branch 51 - 58 not given, set to 0 685 | % ***** MVA limit of branch 54 - 59 not given, set to 0 686 | % ***** MVA limit of branch 56 - 59 not given, set to 0 687 | % ***** MVA limit of branch 56 - 59 not given, set to 0 688 | % ***** MVA limit of branch 55 - 59 not given, set to 0 689 | % ***** MVA limit of branch 59 - 60 not given, set to 0 690 | % ***** MVA limit of branch 59 - 61 not given, set to 0 691 | % ***** MVA limit of branch 60 - 61 not given, set to 0 692 | % ***** MVA limit of branch 60 - 62 not given, set to 0 693 | % ***** MVA limit of branch 61 - 62 not given, set to 0 694 | % ***** MVA limit of branch 63 - 59 not given, set to 0 695 | % ***** MVA limit of branch 63 - 64 not given, set to 0 696 | % ***** MVA limit of branch 64 - 61 not given, set to 0 697 | % ***** MVA limit of branch 38 - 65 not given, set to 0 698 | % ***** MVA limit of branch 64 - 65 not given, set to 0 699 | % ***** MVA limit of branch 49 - 66 not given, set to 0 700 | % ***** MVA limit of branch 49 - 66 not given, set to 0 701 | % ***** MVA limit of branch 62 - 66 not given, set to 0 702 | % ***** MVA limit of branch 62 - 67 not given, set to 0 703 | % ***** MVA limit of branch 65 - 66 not given, set to 0 704 | % ***** MVA limit of branch 66 - 67 not given, set to 0 705 | % ***** MVA limit of branch 65 - 68 not given, set to 0 706 | % ***** MVA limit of branch 47 - 69 not given, set to 0 707 | % ***** MVA limit of branch 49 - 69 not given, set to 0 708 | % ***** MVA limit of branch 68 - 69 not given, set to 0 709 | % ***** MVA limit of branch 69 - 70 not given, set to 0 710 | % ***** MVA limit of branch 24 - 70 not given, set to 0 711 | % ***** MVA limit of branch 70 - 71 not given, set to 0 712 | % ***** MVA limit of branch 24 - 72 not given, set to 0 713 | % ***** MVA limit of branch 71 - 72 not given, set to 0 714 | % ***** MVA limit of branch 71 - 73 not given, set to 0 715 | % ***** MVA limit of branch 70 - 74 not given, set to 0 716 | % ***** MVA limit of branch 70 - 75 not given, set to 0 717 | % ***** MVA limit of branch 69 - 75 not given, set to 0 718 | % ***** MVA limit of branch 74 - 75 not given, set to 0 719 | % ***** MVA limit of branch 76 - 77 not given, set to 0 720 | % ***** MVA limit of branch 69 - 77 not given, set to 0 721 | % ***** MVA limit of branch 75 - 77 not given, set to 0 722 | % ***** MVA limit of branch 77 - 78 not given, set to 0 723 | % ***** MVA limit of branch 78 - 79 not given, set to 0 724 | % ***** MVA limit of branch 77 - 80 not given, set to 0 725 | % ***** MVA limit of branch 77 - 80 not given, set to 0 726 | % ***** MVA limit of branch 79 - 80 not given, set to 0 727 | % ***** MVA limit of branch 68 - 81 not given, set to 0 728 | % ***** MVA limit of branch 81 - 80 not given, set to 0 729 | % ***** MVA limit of branch 77 - 82 not given, set to 0 730 | % ***** MVA limit of branch 82 - 83 not given, set to 0 731 | % ***** MVA limit of branch 83 - 84 not given, set to 0 732 | % ***** MVA limit of branch 83 - 85 not given, set to 0 733 | % ***** MVA limit of branch 84 - 85 not given, set to 0 734 | % ***** MVA limit of branch 85 - 86 not given, set to 0 735 | % ***** MVA limit of branch 86 - 87 not given, set to 0 736 | % ***** MVA limit of branch 85 - 88 not given, set to 0 737 | % ***** MVA limit of branch 85 - 89 not given, set to 0 738 | % ***** MVA limit of branch 88 - 89 not given, set to 0 739 | % ***** MVA limit of branch 89 - 90 not given, set to 0 740 | % ***** MVA limit of branch 89 - 90 not given, set to 0 741 | % ***** MVA limit of branch 90 - 91 not given, set to 0 742 | % ***** MVA limit of branch 89 - 92 not given, set to 0 743 | % ***** MVA limit of branch 89 - 92 not given, set to 0 744 | % ***** MVA limit of branch 91 - 92 not given, set to 0 745 | % ***** MVA limit of branch 92 - 93 not given, set to 0 746 | % ***** MVA limit of branch 92 - 94 not given, set to 0 747 | % ***** MVA limit of branch 93 - 94 not given, set to 0 748 | % ***** MVA limit of branch 94 - 95 not given, set to 0 749 | % ***** MVA limit of branch 80 - 96 not given, set to 0 750 | % ***** MVA limit of branch 82 - 96 not given, set to 0 751 | % ***** MVA limit of branch 94 - 96 not given, set to 0 752 | % ***** MVA limit of branch 80 - 97 not given, set to 0 753 | % ***** MVA limit of branch 80 - 98 not given, set to 0 754 | % ***** MVA limit of branch 80 - 99 not given, set to 0 755 | % ***** MVA limit of branch 92 - 100 not given, set to 0 756 | % ***** MVA limit of branch 94 - 100 not given, set to 0 757 | % ***** MVA limit of branch 95 - 96 not given, set to 0 758 | % ***** MVA limit of branch 96 - 97 not given, set to 0 759 | % ***** MVA limit of branch 98 - 100 not given, set to 0 760 | % ***** MVA limit of branch 99 - 100 not given, set to 0 761 | % ***** MVA limit of branch 100 - 101 not given, set to 0 762 | % ***** MVA limit of branch 92 - 102 not given, set to 0 763 | % ***** MVA limit of branch 101 - 102 not given, set to 0 764 | % ***** MVA limit of branch 100 - 103 not given, set to 0 765 | % ***** MVA limit of branch 100 - 104 not given, set to 0 766 | % ***** MVA limit of branch 103 - 104 not given, set to 0 767 | % ***** MVA limit of branch 103 - 105 not given, set to 0 768 | % ***** MVA limit of branch 100 - 106 not given, set to 0 769 | % ***** MVA limit of branch 104 - 105 not given, set to 0 770 | % ***** MVA limit of branch 105 - 106 not given, set to 0 771 | % ***** MVA limit of branch 105 - 107 not given, set to 0 772 | % ***** MVA limit of branch 105 - 108 not given, set to 0 773 | % ***** MVA limit of branch 106 - 107 not given, set to 0 774 | % ***** MVA limit of branch 108 - 109 not given, set to 0 775 | % ***** MVA limit of branch 103 - 110 not given, set to 0 776 | % ***** MVA limit of branch 109 - 110 not given, set to 0 777 | % ***** MVA limit of branch 110 - 111 not given, set to 0 778 | % ***** MVA limit of branch 110 - 112 not given, set to 0 779 | % ***** MVA limit of branch 17 - 113 not given, set to 0 780 | % ***** MVA limit of branch 32 - 113 not given, set to 0 781 | % ***** MVA limit of branch 32 - 114 not given, set to 0 782 | % ***** MVA limit of branch 27 - 115 not given, set to 0 783 | % ***** MVA limit of branch 114 - 115 not given, set to 0 784 | % ***** MVA limit of branch 68 - 116 not given, set to 0 785 | % ***** MVA limit of branch 12 - 117 not given, set to 0 786 | % ***** MVA limit of branch 75 - 118 not given, set to 0 787 | % ***** MVA limit of branch 76 - 118 not given, set to 0 788 | %% 789 | %modification 790 | mpc.branch(:, 6) = 500; 791 | % 792 | mpc.gen(:, 10) = 0.01*mpc.gen(:, 9); 793 | % 794 | mpc.SCUC_data = ones(size(mpc.gen, 1), 1)*[ 795 | 8 80 80 80 80 5 5 3 5 0 70 1e10; 796 | ]; 797 | mpc.PD = [ 798 | 166; 799 | 196; 800 | 229; 801 | 257; 802 | 263.4; 803 | 252; 804 | 246; 805 | 213; 806 | 192; 807 | 161; 808 | 147; 809 | 160; 810 | 170; 811 | 185; 812 | 208; 813 | 232; 814 | 246; 815 | 241; 816 | 236; 817 | 225; 818 | 204; 819 | 182; 820 | 161; 821 | 131; 822 | ]*15; 823 | --------------------------------------------------------------------------------