NumN = 32;
%load bus 2 & 3 demand == source ieee 4
Pd2 = 100;
Pd3 = 300;
Qd2 = 0;
Qd3 = 100;
%Gen bus 2 & 3 demand
Pd1 = 0;
Pd4 = 0;
Qd1 = 0;
Qd4 = 0;
%Generator max and min limits
Pg1max = 1000;
Pg2max = 1000;
Pg1min = 0;
Pg2min = 0;
Qr1max = 1000;
Qr2max = 1000;
Qr1min = 0;
Qr2min = 0;
% allowable voltage limits V^2 max and min
V1max = 1.50;
V2max = 1.50;
V3max = 1.50;
V4max = 1.50;
V1min = 0;
V2min = 0;
V3min = 0;
V4min = 0;
%constant values
B = [Pd2 Pd3 Qd2 Qd3 Pd1 Pd4 Qd1 Qd4 0 1.05^2 ...
Pg1max Pg2max Pg1min Pg2min Qr1max Qr2max Qr1min Qr2min ...
V1max V2max V3max V4max V1min V2min V3min V4min 1 1 1 1]';
% Y bus imaginery part of transfer admittance
r = 0.005+j*0.05;
a = 1/r;
Y = [a -a 0 0 ;
-a 3*a -a -a;
0 -a 2*a -a;
0 -a -a 2*a];
b = imag(Y);
g = real(Y);
% the cost ocefficients == source example 2 ECE 585
A0 = zeros(NumN,NumN);
A0(1,1) = 0.004;
A0(1,2) = 5.3/2;
A0(2,1) = 5.3/2;
A0(2,2) = 500;
A0(3,3) = 0.006;
A0(3,4) = 5.5/2;
A0(4,3) = 5.5/2;
A0(4,4) = 400;
A1 = zeros(NumN,NumN);
A1(17,19) = -0.5*g(2,1);
A1(19,17) = -0.5*g(2,1);
A1(18,19) = 0.5*b(2,1);
A1(19,18) = 0.5*b(2,1);
A1(18,20) = -0.5*g(2,1);
A1(20,18) = -0.5*g(2,1);
A1(17,20) = -0.5*b(2,1);
A1(20,17) = -0.5*b(2,1);
A1(19,19) = -g(2,2);
A1(20,20) = -g(2,2);
A1(19,21) = -0.5*g(2,3);
A1(21,19) = -0.5*g(2,3);
A1(19,22) = 0.5*b(2,3);
A1(22,19) = 0.5*b(2,3);
A1(20,22) = -0.5*g(2,3);
A1(22,20) = -0.5*g(2,3);
A1(20,21) = -0.5*b(2,3);
A1(21,20) = -0.5*b(2,3);
A1(19,23) = -0.5*g(2,4);
A1(23,19) = -0.5*g(2,4);
A1(19,24) = 0.5*b(2,4);
A1(24,19) = 0.5*b(2,4);
A1(20,24) = -0.5*g(2,4);
A1(24,20) = -0.5*g(2,4);
A1(20,23) = -0.5*b(2,4);
A1(23,20) = -0.5*b(2,4);
A2 = zeros(NumN,NumN);
A2(19,21) = -0.5*g(3,2);
A2(20,21) = 0.5*b(3,2);
A2(20,22) = -0.5*g(3,2);
A2(19,22) = -0.5*b(3,2);
A2(21,19) = -0.5*g(3,2);
A2(21,20) = 0.5*b(3,2);
A2(22,20) = -0.5*g(3,2);
A2(22,19) = -0.5*b(3,2);
A2(21,21) = -g(3,3);
A2(22,22) = - g(3,3);
A2(23,21) = -0.5*g(3,4);
A2(24,21) = 0.5*b(3,4);
A2(24,22) = -0.5*g(3,4);
A2(23,22) = -0.5*b(3,4);
A2(21,23) = -0.5*g(3,4);
A2(21,24) = 0.5*b(3,4);
A2(22,24) = -0.5*g(3,4);
A2(22,23) = -0.5*b(3,4);
A3 = zeros(NumN,NumN);
A3(20,17) = -0.5*g(2,1);
A3(20,18) = 0.5*b(2,1);
A3(18,19) = 0.5*g(2,1);
A3(19,17) = 0.5*b(2,1);
A3(17,20) = -0.5*g(2,1);
A3(18,20) = 0.5*b(2,1);
A3(19,18) = 0.5*g(2,1);
A3(17,19) = 0.5*b(2,1);
A3(20,20) = b(2,2);
A3(19,19) = b(2,2);
A3(20,21) = -0.5*g(2,3);
A3(20,22) = 0.5*b(2,3);
A3(22,19) = 0.5*g(2,3);
A3(19,21) = 0.5*b(2,3);
A3(21,20) = -0.5*g(2,3);
A3(22,20) = 0.5*b(2,3);
A3(19,22) = 0.5*g(2,3);
A3(21,19) = 0.5*b(2,3);
A3(20,23) = -0.5*g(2,4);
A3(20,24) = 0.5*b(2,4);
A3(24,19) = 0.5*g(2,4);
A3(19,23) = 0.5*b(2,4);
A3(23,20) = -0.5*g(2,4);
A3(24,20) = 0.5*b(2,4);
A3(19,24) = 0.5*g(2,4);
A3(23,19) = 0.5*b(2,4);
A4 = zeros(NumN,NumN);
A4(19,22) = -0.5*g(3,2);
A4(20,22) = 0.5*b(3,2);
A4(20,21) = 0.5*g(3,2);
A4(19,21) = 0.5*b(3,2);
A4(23,22) = -0.5*g(3,4);
A4(24,22) = 0.5*b(3,4);
A4(24,21) = 0.5*g(3,4);
A4(23,21) = 0.5*b(3,4);
A4(22,19) = -0.5*g(3,2);
A4(22,20) = 0.5*b(3,2);
A4(21,20) = 0.5*g(3,2);
A4(21,19) = 0.5*b(3,2);
A4(22,23) = -0.5*g(3,4);
A4(22,24) = 0.5*b(3,4);
A4(21,24) = 0.5*g(3,4);
A4(21,23) = 0.5*b(3,4);
A4(22,22) = b(3,3);
A4(21,21) = b(3,3);
A5 = zeros(NumN,NumN);
A5(1,2) = 0.5;
A5(2,1) = 0.5;
A5(17,17) = -g(1,1);
A5(18,18) = -g(1,1);
A5(19,17) = -0.5*g(1,2);
A5(20,17) = 0.5*b(1,2);
A5(20,18) = -0.5*g(1,2);
A5(19,18) = -0.5*b(1,2);
A5(17,19) = -0.5*g(1,2);
A5(17,20) = 0.5*b(1,2);
A5(18,20) = -0.5*g(1,2);
A5(18,19) = -0.5*b(1,2);
A6 = zeros(NumN,NumN);
A6(3,4) = 0.5;
A6(4,3) = 0.5;
A6(19,24) = -0.5*b(4,2);
A6(20,24) = -0.5*g(4,2);
A6(20,23) = 0.5*b(4,2);
A6(19,23) = -0.5*g(4,2);
A6(21,24) = -0.5*b(4,3);
A6(22,24) = -0.5*g(4,3);
A6(22,23) = 0.5*b(4,3);
A6(21,23) = -0.5*g(4,3);
A6(24,24) = -g(4,4);
A6(23,23) = -g(4,4);
A6(24,19) = -0.5*b(4,2);
A6(24,20) = -0.5*g(4,2);
A6(23,20) = 0.5*b(4,2);
A6(23,19) = -0.5*g(4,2);
A6(24,21) = -0.5*b(4,3);
A6(24,22) = -0.5*g(4,3);
A6(23,22) = 0.5*b(4,3);
A6(23,21) = -0.5*g(4,3);
A7 = zeros(NumN,NumN);
A7(9,10) = 0.5;
A7(10,9) = 0.5;
A7(18,18) = b(1,1);
A7(17,17) = b(1,1);
A7(19,18) = -0.5*g(1,2);
A7(20,18) = 0.5*b(1,2);
A7(20,17) = 0.5*g(1,2);
A7(19,17) = 0.5*b(1,2);
A7(18,19) = -0.5*g(1,2);
A7(18,20) = 0.5*b(1,2);
A7(17,20) = 0.5*g(1,2);
A7(17,19) = 0.5*b(1,2);
A8 = zeros(NumN,NumN);
A8(11,12) = 0.5;
A8(12,11) = 0.5;
A8(19,24) = -0.5*g(4,2);
A8(20,24) = 0.5*b(4,2);
A8(20,23) = 0.5*g(4,2);
A8(19,23) = 0.5*b(4,2);
A8(21,24) = -0.5*g(4,3);
A8(22,24) = 0.5*b(4,3);
A8(22,23) = 0.5*g(4,3);
A8(21,23) = 0.5*b(4,3);
A8(24,24) = b(4,4);
A8(23,23) = b(4,4);
A8(24,19) = -0.5*g(4,2);
A8(24,20) = 0.5*b(4,2);
A8(23,20) = 0.5*g(4,2);
A8(23,19) = 0.5*b(4,2);
A8(24,21) = -0.5*g(4,3);
A8(24,22) = 0.5*b(4,3);
A8(23,22) = 0.5*g(4,3);
A8(23,21) = 0.5*b(4,3);
A9 = zeros(NumN,NumN);
A9(24,24) = 0; %f4^2
A10 = zeros(NumN,NumN);
A10(23,23) = 1.05^2; %e4^2
A11 = zeros(NumN,NumN);
A11(1,2) = 0.5;
A11(2,1) = 0.5;
A11(5,5) = 1;
A12 = zeros(NumN,NumN);
A12(4,3) = 0.5;
A12(3,4) = 0.5;
A12(7,7) = 1;
A13 = zeros(NumN,NumN);
A13(1,2) = 0.5;
A13(2,1) = 0.5;
A13(6,6) = -1;
A14 = zeros(NumN,NumN);
A14(3,4) = 0.5;
A14(4,3) = 0.5;
A14(8,8) = -1;
A15 = zeros(NumN,NumN);
A15(9,10) = 0.5;
A15(10,9) = 0.5;
A15(13,13) = 1;
A16 = zeros(NumN,NumN);
A16(11,12) = 0.5;
A16(12,11) = 0.5;
A16(15,15) = 1;
A17 = zeros(NumN,NumN);
A17(9,10) = 0.5;
A17(10,9) = 0.5;
A17(14,14) = -1;
A18 = zeros(NumN,NumN);
A18(11,12) = 0.5;
A18(12,11) = 0.5;
A18(16,16) = -1;
A19 = zeros(NumN,NumN);
A19(17,17) = 1;
A19(18,18) = 1;
A19(25,25) = 1;
A20 = zeros(NumN,NumN);
A20(19,19) = 1;
A20(20,20) = 1;
A20(27,27) = 1;
A21 = zeros(NumN,NumN);
A21(21,21) = 1;
A21(22,22) = 1;
A21(29,29) = 1;
A22 = zeros(NumN,NumN);
A22(23,23) = 1;
A22(24,24) = 1;
A22(31,31) = 1;
A23 = zeros(NumN,NumN);
A23(17,17) = 1;
A23(18,18) = 1;
A23(26,26) = -1;
A24 = zeros(NumN,NumN);
A24(19,19) = 1;
A24(20,20) = 1;
A(28,28) = -1;
A25 = zeros(NumN,NumN);
A25(21,21) = 1;
A25(22,22) = 1;
A25(30,30) = -1;
A26 = zeros(NumN,NumN);
A26(23,23) = 1;
A26(24,24) = 1;
A26(32,32) = -1;
A27 = zeros(NumN,NumN);
A27(2,2) = 1; %dg1^2
A28 = zeros(NumN,NumN);
A28(4,4) = 1; %dg2^2
A29 = zeros(NumN,NumN);
A29(10,10) = 1; %dr1^2
A30 = zeros(NumN,NumN);
A30(12,12) = 1; %dr2^2
cvx_begin
cvx_solver sedumi;
variable X(NumN,NumN) symmetric;
minimize trace(A0*X);
subject to
A1*X - B(1) == 0;
A2*X - B(2) == 0;
A3*X - B(3) == 0;
A4*X - B(4) == 0;
A5*X - B(5) == 0;
A6*X - B(6) == 0;
A7*X - B(7) == 0;
A8*X - B(8) == 0;
A9*X - B(9) == 0;
A10*X - B(10) == 0;
A11*X - B(11) == 0;
A12*X - B(12) == 0;
A13*X - B(13) == 0;
A14*X - B(14) == 0;
A15*X - B(15) == 0;
A16*X - B(16) == 0;
A17*X - B(17) == 0;
A18*X - B(18) == 0;
A19*X - B(19) == 0;
A20*X - B(20) == 0;
A21*X - B(21) == 0;
A22*X - B(22) == 0;
A23*X - B(23) == 0;
A24*X - B(24) == 0;
A25*X - B(25) == 0;
A26*X - B(26) == 0;
A27*X - B(27) == 0;
A28*X - B(28) == 0;
A29*X - B(29) == 0;
A30*X - B(30) == 0;
X == semidefinite(NumN);
cvx_end
Rango = rank(X)