You are on page 1of 11

Universidad Nacional San Antonio Abad del cusco

INGENIERÍA ELÉCTRICA
FACULTAD DE INGENIERÍA ELÉCTRICA, ELECTRÓNICA, INFORMÁTICA Y MECÁNICA

Optimización

ASIGNATURA:

Sistemas de control I
ALUMNO:
Bruno Ronaldo Mora Estrada 141078

SEMESTRE 2018-1
CUSCO-2018
INDICE

OPTIMIZACION ..................................................................................... 1
1. Introducción: ................................................................................... 1
2. Métodos clásicos de optimización ................................................... 1
 Método del gradiente descendiente ............................................. 1
 Calculo del gradiente ................................................................... 2
Código en matlab ............................................................................... 2
CORRIENTE TRANSITORIA DE LA MAQUINA SINCRONA ........ 4
Grafica en matlab ............................................................................... 7
Programa en guide ................................................................................ 7
OPTIMIZACION

1. Introducción:

La optimización representa el proceso de encontrar la “mejor solución” a un problema


entre un conjunto muy grande de soluciones posibles.
Un problema de optimización puede ser formulado como un proceso donde se desea
encontrar el valor óptimo “x” que maximiza o minimiza la función objetivo 𝑓(𝑥). Tal que:

Minimizar/Maximizar 𝑓(𝑥), 𝑿 = (𝑥1 , … . . , 𝑥𝑏 )𝜖ℝ𝑏 … … … … … … … … … … … … . (1.0)

Considerando 𝒙𝝐𝑿
Donde x es el vector de variables de decisión mientras que b especifica su número. X
representa el conjunto de soluciones, conocido también como espacio de búsqueda o
espacio de soluciones.

𝑿 = {𝒙 ∈ ℝ𝒃 |𝑙𝑖 ≤ 𝑥𝑖 ≤ 𝑢𝑖 , 𝑖 = 1, … , 𝑏}
Algunas veces es necesario minimizar y en otras maximizar con la siguiente relación:
max

𝑓(𝑥) ↔ min
+
−1 ∗ 𝑓(𝑥) … … … … … … … … … … … … … . . … … (2.0)
𝑎 𝑎

2. Métodos clásicos de optimización

En general la función 𝑓(𝑥) puede tener una forma no lineal con respecto a las
variables de decisión 𝑿. Debido a esta complejidad, los métodos de optimización
planten procesos iterativos para la exploración eficiente del espacio de búsqueda.

 Método del gradiente descendiente


En este método, partiendo de un punto inicial 𝑿0 , el vector de decisión se
modifica iterativamente hasta que transcurra un número Niter de iteraciones
pueda encontrarse la solución óptima x.

𝑿𝒌+𝟏 = 𝑿𝒌 − 𝜶 ∗ 𝒈(𝒇(𝒙)) … … … … … … … … … … … … … … … . (1.3)

Donde k representa la iteración actual y 𝛼 representa el tamaño del paso de la


búsqueda

El termino 𝒈(𝒇(𝒙)) representa la función del 𝒇(𝒙). El gradiente g de la función


𝒇(𝒙) en el punto x expresa la dirección en la función 𝒇(𝒙) presenta su máximo
crecimiento.

1
 Calculo del gradiente
El gradiente de una función multidimensional 𝒇(𝒙) (𝒙 = (𝑥1 , … . . , 𝑥𝑏 )𝜖ℝ𝑏 )
representa la manera en que la función varia con relación a uno de sus
dimensiones. Dicho gradiente es definido apropiadamente como:

𝜕𝑓(𝒙)
𝑔𝑥1 = … … … … … … … … … … … … … … … … … … . (4.0)
𝜕𝑥1

Para calcular nuevamente el gradiente 𝑔𝑥1 se sigue el siguiente procedimiento:


1. se genera un nuevo vector de decisión 𝒙̅𝒊 dicho vector es igual en todos las
variables de decisión que x excepto en . este valor será suministrado en
𝑥𝑖 + ℎ, donde ℎ es un valor muy pequeño.

𝒙̅𝒊 = (𝑥1 , 𝑥2 , … , 𝑥𝑖 + ℎ, . . . , 𝑥𝑏 ) … … … … … … … … … … … … … … … . (5.0)

2. se calcula el gradiente 𝑔𝑥1 mediante el siguiente modelo:

𝑓(𝒙̅𝒊 ) − 𝑓(𝑥)
𝑔𝑥1 = … … … … … … … … … … … … … … … … … (6.0)

Código en matlab

close all
clear all
d=2;
l=[-5,-5];
u=[10,10];
Max_iter=500;
Part_N=50;
x=l(1)+rand(Part_N,d).*(u(1)-l(1));
for i=1:Part_N
obj_func(i,:)=rosenbrock(x(i,:));
end
[glob_opt, ind]=min(obj_func);
G_opt=ones(Part_N,d);

G_opt(:, 1)=x(ind, 1);


G_opt(:, 2)=x(ind, 2);
Mejor_pos=[x(ind,1),x(ind,2)];
Loc_opt=x;
v=zeros(Part_N,d);
t=1;
while t<Max_iter
v=v+rand(Part_N,d).*(Loc_opt-x)+rand(Part_N,d).*(G_opt-x);
x=x+v;
for i=1:Part_N
if x(i,1)>u(1)
elseif x(i,1)<l(1)
x(i,1)=l(1);
elseif x(i,2)>u(2)
x(i,2)=u(2);

2
elseif x(i,2)<l(2)
x(i,2)=l(2);
end
Nva_obj_func(i,:)=rosenbrock(x(i,:));
if Nva_obj_func(i,:)<obj_func(i,:)
Loc_opt(i,:)=x(i,:);
obj_func(i,:)=Nva_obj_func(i,:);
end
end
[Nvo_glob_opt, ind]=min(obj_func);

if Nvo_glob_opt<glob_opt
glob_opt=Nvo_glob_opt;
G_opt(:,1)=x(ind,1);
G_opt(:,2)=x(ind,2);
Mejor_pos=[x(ind,1),x(ind,2)];
end
Evol_func_obj(t)=glob_opt;
t=t+1;
end
plot(Evol_func_obj,'g')
%grid on
title('algoritmo de optimizacion ')
legend('optimizacion')
xlabel('Iteraciones ')
ylabel('f(x1,x2)')
disp(['mejor posicion x: ',num2str(Mejor_pos)])
disp(['mejor valor funcion objetivo: ',num2str(glob_opt)])

3
CORRIENTE TRANSITORIA DE LA MAQUINA SINCRONA

Calculo de la corriente transitoria para una falla trifásica en terminales de una máquina
síncrona si inicialmente la máquina está en vacío. Graficar la corriente y sus
componentes en sus tres estados si estaba trabajando a tensión nominal y velocidad
nominal.
Fig. 1

𝑎
ℒ𝑝 = 𝑎𝑡;

𝑃𝑙𝑎𝑛𝑜: 𝑆 = 𝑎 ± 𝑗𝑏
Si:
𝑒(𝑡) = 𝑉𝑚 sin(𝑤𝑡 + 𝜃) …………………………………………(1.0)

El circuito:
Laplace (Ec. 1.0):

𝐸(𝑠) = 𝑉𝑚 × 𝐿𝑎𝑝𝑙𝑎𝑐𝑒(sin 𝑤𝑡 × cos 𝜃 + sin 𝜃 × cos 𝑤𝑡) ................................... (2.0)


𝑤
𝑙𝑎𝑝𝑙𝑎𝑐𝑒(sin 𝑤𝑡) =
𝑠2 + 𝑤 2
𝑤
𝑙𝑎𝑝𝑙𝑎𝑐𝑒(cos 𝑤𝑡) = 2
𝑠 + 𝑤2
𝑤 sin 𝜃×𝑠
𝐸(𝑠) = 𝑉𝑚 (cos 𝜃 × 𝑠2 +𝑤2 + 𝑠2 +𝑤 2
)………………………………..(3.0)

Luego:
𝑟
𝑍(𝑠) = 𝑟 + 𝑠𝐿 = (𝑠 + ) 𝐿……………………………………….(4.0)
𝐿

4
Fig. 2

𝐸(𝑠) 𝑉𝑚 ×(cos 𝜃×𝑊+sin 𝜃×𝑆)


𝐼(𝑠) = = 𝑟 ………………………………….(5.0)
𝑍(𝑠) 𝐿(𝑠+ )(𝑠2 +𝑤 2 )
𝐿

Por fracciones parciales:


𝐸(𝑠) 𝑉𝑚 ×(cos 𝜃×𝑊+sin 𝜃×𝑆) 𝐴 𝐵 𝐵
𝐼(𝑠) = 𝑍(𝑠) = 𝑟
1
= (𝑠+𝛼) + (𝑠+𝑎) 2
+ (𝑠+𝑏) …………………………(6.0)
𝐿(𝑠+ )(𝑠2 +𝑤 2 )
𝐿

𝑉𝑚 (cos 𝜃×𝑊+sin 𝜃×𝑆) 𝐴 𝐵 𝐵


𝐿
× 𝑟
1
= (𝑠+𝛼) + (𝑠+𝑎) 2
+ (𝑠+𝑏)……………………………. (7.0)
(𝑠+ )(𝑠+𝑗𝑤)(𝑠−𝑗𝑤)
𝐿

𝐴 𝐵1 𝐵2
𝐼(𝑠) = + + ……………………………………….(8.0)
(𝑠+𝛼) (𝑠+𝑎) (𝑠+𝑏)

Dónde:
𝑟
𝛼= 𝑉𝑚 (cos 𝜃 × 𝑊 + sin 𝜃 × 𝑆) 𝐴 𝐵1 𝐵2
𝐿
𝑎 = 𝑗𝑤 ; × 𝑟 = + +
𝐿 (𝑠 + )(𝑠 + 𝑗𝑤)(𝑠 − 𝑗𝑤) (𝑠 + 𝛼) (𝑠 + 𝑎) (𝑠 + 𝑏)
𝑎∗ = −𝑗𝑤 = 𝑏 𝐿
𝑉𝑚
(Wcos 𝜃 + 𝑆 sin 𝜃) = 𝐴(𝑠 + 𝑎)(𝑠 + 𝑏) + 𝐵1 (𝑠 + 𝐿)(𝑠 + 𝑏) + 𝐵2 (𝑠 + 𝛼)……(9.0)
𝐿

Cálculo de A:
𝑟
𝑆 = −𝛼 =
𝐿

𝑉𝑚 𝑟 1
𝐴= 𝐿
(cos 𝜃 × 𝑊 − 𝐿) × 𝑟 𝑟 ……………………………………(10)
(𝑗𝑤− )(− )
𝐿 𝐿−𝑗𝑤

𝑉𝑚 (cos 𝜃×𝑊×𝐿−𝑟 sin 𝜃) 𝑉𝑚 (cos 𝜃×𝑊×𝐿−𝑟 sin 𝜃)


𝐴= 𝑟2
= (𝑟 2 +𝑤 2 𝐿2 )
……………………………..(11)
𝐿×𝐿( 2 2 )
𝐿 +𝑤

5
Haciendo:
Fig. 3

|Z|
|jwL| = wL

ϕ
r
|𝑍| = √𝑟 2 + (𝑤𝐿)2 ; |𝑍|∠𝜙 = 𝑍̅ = 𝑟 + 𝑗𝑊𝐿 ⇒ ̅̅̅
𝑍 ∗ = 𝑟 − 𝑗𝑊𝐿; |𝑍| = √𝑟 2 + (𝑤𝐿)2
|𝑍̅|2 = 𝑟 2 + (𝑤𝐿)2 ……………………………………………..(12)

𝑟 = |𝑍̅| cos 𝜙…………………………………………………(13)

𝑉𝑚 (cos 𝜃 × 𝑊 × 𝐿 − 𝑟 sin 𝜃) |𝑍̅| × 𝑉𝑚 (cos 𝜃 × sin 𝜙 − sin 𝜃 cos 𝜙)


𝐴= =
(𝑟 2 + 𝑤 2 𝐿2 ) |𝑍̅|2
𝑉𝑚
𝐴= |𝑍̅|
sin(𝜃 − 𝜙)……………………………………………..(14)

Luego, idénticamente se calcula B1 y B2:


𝑉
𝑚
𝐵1 = |𝑍̅|×2 𝑒 −𝑗(𝜃−𝜙−90°) ; 1∠ − 𝜙 − 90° = 𝑒 −𝑗(𝜙+90°) ………………………..(15)

𝑉𝑚 (cos 𝜃×𝑊−𝑗𝑊 sin 𝜃) 𝑉


𝐵2 = 𝑟
𝑚
; 𝐵2 = |𝑍̅|×2 𝑒 𝑗(𝜃−𝜙−90°)…………………………..(16)
(𝑗𝑤+ )(𝑗𝑤+𝑗𝑤)
𝐿

Aplicando la transformada inversa de Laplace a i(s), se tendrá i en función del tiempo:


𝑖(𝑡) = 𝐴𝑒 −𝛼𝑡 + 𝐵1 𝑒 −𝑗𝑤𝑡 + 𝐵2 𝑒 −𝑗𝑤𝑡 ……………………………………(17)

Reemplazando los valores de A, B1, B2 se tiene finalmente:


𝑟
𝑉
𝑖(𝑡) = − |𝑍𝑚
̅|
[𝑒 −𝐿𝑡 × sin(𝜃 − 𝜙) + sin(𝑤𝑡 + 𝜃 − 𝜙)]…………………………….(18)

Introduciendo el signo negativo en la ecuación 18 se tendrá:


𝑉𝑚 −𝑟𝑡
𝑖(𝑡) = [𝑒 𝐿 × (− sin(𝜃 − 𝜙)) + (−sin(𝑤𝑡 + 𝜃 − 𝜙))]
|𝑍̅|
𝑟
𝑉𝑚
𝑖(𝑡) = |𝑍̅|
[𝑒 −𝐿𝑡 × cos(90° + 𝜃 − 𝜙) + cos(90° + 𝑤𝑡 + 𝜃 − 𝜙)]…………… (19)

Para la gráfica se consideran los siguientes datos:


Vm = 250v; r = 0.1Ω; L = 0.05H; Z = 1.16Ω; θ = 40°; ϕ = 44°; reemplazando estos valores
en la ecuación 19 se tendrá:
𝑖(𝑡) = 15𝑒 −2𝑡 + cos(377𝑡 + 1.5)……………………………………..(20)

6
Grafica en matlab

t= 0:0.001:pi/4;
x=15*exp(-2*t)+cos(377*t+1.5);
plot(t,x,'b')
ylabel('Corriente transitoria, Sub transitoria y Permanente') % x-axis
label
xlabel('Tiempo')
grid on

Programa en guide

function pushbutton1_Callback(hObject, eventdata, handles)


a1=get(handles.Vm,'string');
Vm=str2double(a1);
a2=get(handles.r,'string');
r=str2double(a2);
a3=get(handles.L,'string');
L=str2double(a3);
a4=get(handles.Z,'string');
Z=str2double(a4);
a5=get(handles.te,'string');
te=str2double(a5);
a6=get(handles.fi,'string');
fi=str2double(a6);

t=0:0.001:pi/4;
a=abs(Vm/Z);
b=r/L;

7
It=(a*(((exp(-b*t))*cosd(90+te-fi))))+cos((377*t)+1.5);
axes(handles.axes1);
plot(t,It,'r')
ylabel('Corriente transitoria, Sub transitoria y Permanente')
xlabel('Tiempo')
zoom on
grid on
hold on

function pushbutton2_Callback(hObject, eventdata, handles)


set(handles.Vm,'string','');
set(handles.r,'string','');
set(handles.L,'string','');
set(handles.Z,'string','');
set(handles.te,'string','');
set(handles.fi,'string','');
axes(handles.axes1);
cla reset

8
9

You might also like