Академический Документы
Профессиональный Документы
Культура Документы
mpopt = mpoption;
mpopt.opf.violation = 1e-4;
end
if ischar(mpc)
mpc=loadcase(mpc);
end
GTOL = mpopt.opf.violation;
Se obtienen las matrices para el mdulo de perdidas:
[B, b1, b0] = makeBloss2(mpc);
PF_MAX_IT = mpopt.pf.nr.max_it;
=
mu_l,
mu_u = 0;
lambda = 0;
baseMVA = mpc.baseMVA;
bus = mpc.bus;
gen = mpc.gen;
branch = mpc.branch;
cost = mpc.gencost;
GTOL = GTOL * baseMVA;
Pg = 0;
f = 0;
exito
return
end
Pg0 = Xopt;
e = 1;
Para efectos del programa se ingresa el 2 ya que en
MatPower significa costos cuadrticos
[L, U] = lu(H + lambda0*B);
for i=1:ng
H(i,i) = 2 * cost(i,5);
end
h = cost(:,6);
lambda = lambda0;
Son los costos marginales donde es acumulativo y ya
dependiendo del caso muestra el lambda que necesite.
h0 = cost(:,7);
m = 0;
A = sparse( ones(1,ng) );
Nmero de iteraciones
Pgmin = gen(:,PMIN);
S = ones(ng,1);
Pgmax = gen(:,PMAX);
mu_l = zeros(ng,1);
[Xopt,
fopt,
exito,
solvout,
lambda0]
=
qps_matpower(H,h,A,L,U,Pgmin,Pgmax);
mu_u = zeros(ng,1);
lambda0 = lambda0.mu_l;
if isnan(lambda0) == 1
fprintf(\nError
en
la
funcin,
verifique la potencia demandada.\n);
exito = 0;
mu_l = 0;
dlambda = e / ( S' * M );
m = m + 1;
end
Ya con esta lambda se da la ms aproximada al real,
recordando que para el programa la variable M es el contador
de iteraciones; podemos ver una Dlambda que sera la suma de
los pequeos lambda, despus de eso se puede dar el valor
real.
Despus de esto se hacen los respectivos ciclos y avisos de
verificacin de valores como la convergencia de la funcin
despus de cierto nmero de iteraciones y tambin avisos y
plots correspondientes a arrojar los resultados de la funcin
if (m == PF_MAX_IT)
exito = 0;
mu_l = 0;
mu_u = 0;
lambda = 0;
Pg = 0;
f = 0;
fprintf(\nLa funcin no converge
despus de %2i iteraciones.\n, m);
return
end
f1 = [];
for i = 1:ng
f1(i) = H(i,i)/2 * Pg(i)2 + h(i) * Pg(i)
+ h0(i);
end
if (isnan(e) == 1)
exito = 0;
mu_l = 0;
mu_u = 0;
lambda = 0;
Pg = 0;
f = 0;
fprintf(\nLa funcion no
convergio, error en el
programa.\n);
return
end
III.
lambda
---------------------------------
lambda
---------------------------------
24.876028
10.980685
3.751980
-4.828217
24.895635
0.258208
3.752506
0.068292
24.896119
0.006377
3.752498
-0.001027
Pg =
Pg =
90.4347
43.8126
134.2580
57.9876
94.1734
23.1027
32.2327
f=
5.3106e+03
lambda =
24.8961
exito =
1
mu_l =
16.8229
17.4502
f=
573.7288
lambda =
3.7525
exito =
mu_l =
mu_u =
0
0
mu_u =
0
0
0
0
0
0
En ambos casos se hacen 3 iteraciones con xito y con una
respuesta baja de tiempo.
IV.
[1]
[2]
CONCLUSIONES
REFERENCIAS