La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

EN LA INDUSTRIA ELÉCTRICA

Presentaciones similares


Presentación del tema: "EN LA INDUSTRIA ELÉCTRICA"— Transcripción de la presentación:

1 EN LA INDUSTRIA ELÉCTRICA
SEMINARIO INGENIERÍA ELÉCTRICA USO DEL PYTHON EN LA INDUSTRIA ELÉCTRICA GONZALO OSCAR EULATE CHOQUE GONZALO OSCAR EULATE CHOQUE MAYO 2017

2 INTRODUCCIÓN Los SEP’s y las Redes de Distribución se encuentran en constante crecimiento requieren el análisis exhaustivo de la operación bajo determinados niveles de demanda y bajo contingencias en los elementos de los Sep’s, para el conocimiento y comportamiento de las diferentes variables eléctricas.

3 INTRODUCCIÓN En la mayoría de los casos, el análisis es de manera informática y repetitiva que demandan tiempo y recursos, por lo cual la automatización de las tareas repetitivas proporcionan los elementos necesarios para la toma de decisiones para la operación optima de los sistemas y permiten disponer información en tiempo real.

4 INTRODUCCIÓN En Bolivia la base de datos del SIN, es actualizada en forma semestral por el CNDC en el software DIgSILENT POWER FACTORY. En este software, es posible la automatización de tareas mediante el uso del lenguaje de programación Python, el cual permite acceder a la modificación de sus parámetros.

5 Herramientas en la Industria Eléctrica
Power Factory Digsilent, para análisis de sistemas eléctricos de potencia. Cymdist, para análisis de redes de distribución. Matlab, para análisis numérico y científico. ArcGis, para sistemas de información geográfica.

6 Python El software Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible. Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Python puede ser utilizado en diversas plataformas y sistemas operativos

7 Python Lenguaje de programación de alto nivel del tipo scripting.
Diseñado para ser fácil de leer y simple de implementar. Es código abierto (de libre uso). Puede ejecutarse en Mac, Windows y sistemas Unix; también ha sido portado a máquinas virtual JAVA y .NET. Es a menudo usado para desarrollar aplicaciones web y contenido web dinámico.

8 INTRODUCCIÓN SOFTWARE PYTHON Mediante el uso de Python, se puede acceder: a las variables de entrada y salida, a los comandos de cálculo, a los archivos de resultados, graficas, bases de datos, interactuar con el Excel, etc.

9 POWER FACTORY DIGSILENT
A partir de la versión , se tiene la opción del uso de script para la automatización en el análisis de los sistemas eléctricos de potencia.

10 MATLAB Software para análisis numérico, científico, presenta la alternativa de convertir el código programado en Matlab a código en Python. En el presente seminario, se utilizará el Python para el siguiente ejemplo de solución al despacho económico, mediante algoritmos genéticos.

11 CE = AG + EE + PE + PG ALGORITMOS GENÉTICOS
Técnicas de búsqueda que pertenecen a los Algoritmos Evolutivos. CE = AG + EE PE PG Programación Evolutiva Fogel, Owens y Walsh 1966 Algoritmos Genéticos Holland 1975 Estrategias Evolutivas Rechenberg 1973 Programación Genética Koza 1992 Computación Evolutiva

12 ALGORITMOS GENÉTICOS UN AG TIENE 5 COMPONENTES BÁSICOS:
Una representación de las soluciones potenciales del problema. Un procedimiento para crear una población inicial, posibles soluciones (normalmente en proceso aleatorio). Una función de evaluación que representa al “ambiente”, clasificando las soluciones en términos de su aptitud. Un conjunto de operadores de evolución que alteran la composición de los individuos de la población a través de las generaciones. Una configuración paramétrica (tamaño de la población, probabilidad de cruzamiento, probabilidad de mutación, criterio de parada, etc.).

13 POBLACIÓN INICIAL Población Inicial Población de POSIBLES SOLUCIONES
Forma de generación: - Aleatorio > round(rand()*100) = 45 > dec2bin(45) = EJEMPLO POBLACIÓN DE 100 INDIVIDUOS 100 POSIBLES SOLUCIONES

14 OPERADOR CRUCE CRUCE MONOPUNTO PADRES HIJOS HIJO 1 HIJO 2

15 OPERADOR MUTACIÓN SELECCIÓN ALEATORIA GEN A MUTAR Muta = 1 - Val

16 fi = f(xi, yi) FUNCIÓN DE ADAPTACIÓN
En cada iteración toda la población es evaluada (la función objetivo). fi = f(xi, yi) Ordenación ascendente o descendente

17 DESPACHO ECONÓMICO - AG
Sistema de tres generadores conectados a una barra, con una demanda de 120 MW. 𝑪𝒐𝒔𝒕𝒐=𝒂+𝒃×𝑷𝒈+𝒄× 𝑷𝒈 𝟐

18 SOLUCIÓN PROPUESTA 𝐹 𝑚𝑖𝑛 = 𝐶 1 + 𝐶 2 + 𝐶 3 𝑃𝑔 𝑚𝑖𝑛 ≤𝑃𝑔≤ 𝑃𝑔 𝑚𝑎𝑥
“DESPACHO ECONÓMICO ES LA ASIGNACIÓN ÓPTIMA DE LA POTENCIAS DE GENERACIÓN, PARA MINIMIZAR EL COSTO TOTAL DE GENERACIÓN, EN UN SISTEMA ELÉCTRICO DE POTENCIA”. FUNCIÓN OBJETIVO 𝐹 𝑚𝑖𝑛 = 𝐶 𝐶 𝐶 3 RESTRICCIONES 𝑖=1 𝑁 𝑃𝑔 𝑖 = 𝑃𝑝𝑑 𝑃𝑔 𝑚𝑖𝑛 ≤𝑃𝑔≤ 𝑃𝑔 𝑚𝑎𝑥 CONSIDERACIONES 𝑃𝑔 3 = 𝑃𝑝𝑑 −𝑃𝑔 1 − 𝑃𝑔 2

19 SOLUCIÓN PROPUESTA 𝐹 𝑚𝑖𝑛 = 𝐶 1 + 𝐶 2 + 𝐶 3 + w 𝑃𝑔 𝑖 ≤ 𝑃𝑔 𝑚𝑖𝑛 −→𝑤=1000
FUNCIÓN OBJETIVO 𝐹 𝑚𝑖𝑛 = 𝐶 𝐶 𝐶 3 + w PENALIZACIÓN 𝑃𝑔 𝑖 ≤ 𝑃𝑔 𝑚𝑖𝑛 −→𝑤=1000 𝑃𝑔 𝑖 ≥ 𝑃𝑔 𝑚𝑎𝑥 −→𝑤=1000

20 SOLUCIÓN PROPUESTA 𝑃𝑔 1 , 𝑃𝑔 2, 𝑃𝑔 3
REPRESENTACIÓN 𝑃𝑔 1 , 𝑃𝑔 2, 𝑃𝑔 3 VALORES REALES POBLACIÓN INICIAL 𝑝𝑜𝑏 𝑖,1..𝑁 = 𝑃𝑔 𝑚𝑖𝑛 + 𝑟𝑎𝑛𝑑× 𝑃𝑔 𝑚𝑎𝑥 − 𝑃𝑔 𝑚𝑖𝑛

21 OPERADOR GENÉTICO CRUCE DE WRIGHT 𝑃𝑎𝑑𝑟𝑒𝑠 𝑖𝑛𝑑𝑖𝑣𝑖𝑑𝑢𝑜𝑠 𝑎 𝑦 𝑏
Hijos individuos c, d y e 𝑝𝑜𝑏 𝑐 = 𝛼× 𝑝𝑜𝑏 𝑎 + 1−𝛼 × 𝑝𝑜𝑏 𝑏 𝑝𝑜𝑏 𝑑 = 1+𝛼 × 𝑝𝑜𝑏 𝑎 −𝛼× 𝑝𝑜𝑏 𝑏 𝑝𝑜𝑏 𝑒 = 𝛼× 𝑝𝑜𝑏 𝑎 + 1+𝛼 × 𝑝𝑜𝑏 𝑏 0 ≤ 𝛼 ≤1

22 OPERADOR GENÉTICO FUNCIÓN DE ADAPTACIÓN
𝑆𝐸 𝑂𝑅𝐷𝐸𝑁𝐴 𝐷𝐸 𝑀𝐸𝑁𝑂𝑅 𝐴 𝑀𝐴𝑌𝑂𝑅 𝐸𝐿 𝐶𝑂𝑆𝑇𝑂 𝑇𝑂𝑇𝐴𝐿 SUSTITUCIÓN DE LA POBLACIÓN 𝑅𝐸𝐸𝑀𝑃𝐿𝐴𝑍𝑂 𝐷𝐸𝐿 20% 𝐶𝑂𝑁 𝑀𝐸𝑁𝑂𝑅 𝐴𝐷𝐴𝑃𝑇𝐴𝐶𝐼Ó𝑁 CRITERIO DE TERMINACIÓN 𝐶𝐴𝑁𝑇𝐼𝐷𝐴𝐷 𝐷𝐸 𝐺𝐸𝑁𝐸𝑅𝐴𝐶𝐼𝑂𝑁𝐸𝑆 (𝐼𝑇𝐸𝑅𝐴𝐶𝐼𝑂𝑁𝐸𝑆)

23 Npob = Tamaño de la población 600 Individuos
CÓDIGO PYTHON Sistema de tres generadores conectados a una barra, con una demanda de 120 MW. Npob = Tamaño de la población 600 Individuos Individuo Pg1 Pg2 Pg3 Costo import numpy as np Npob, Ngen, Pd = 600, 100, 120 pob = np.random.rand(Npob,4) aux = np.ones((Npob,1)) penaliza = np.zeros((Npob,1)) inf , sup = 30*aux, sup = 50*aux Población 34,5 44,2 42, ,50 44,5 34,5 43,2 900,80

24 𝑝𝑜𝑏 𝑖,1..𝑁 = 𝑃𝑔 𝑚𝑖𝑛 + 𝑟𝑎𝑛𝑑× 𝑃𝑔 𝑚𝑎𝑥 − 𝑃𝑔 𝑚𝑖𝑛
CÓDIGO PYTHON Parte del programa para generar la población inicial 𝑝𝑜𝑏 𝑖,1..𝑁 = 𝑃𝑔 𝑚𝑖𝑛 + 𝑟𝑎𝑛𝑑× 𝑃𝑔 𝑚𝑎𝑥 − 𝑃𝑔 𝑚𝑖𝑛 #genera poblacion inicial pob = inf+(sup-inf)*pob #se almacenan las funciones de costos a = np.array([[40,50,45]]) b = np.array([[4.50,3.50,3.3]]) c = np.array([[0.015,0.010,0.02]])

25 Matriz pob Pg1 Pg2 Pg3 Costo 0 1 2 3 Costo costo = a + b*pg + c*pg**2
CÓDIGO PYTHON Parte del programa que inicia el proceso evolutivo Matriz pob Pg1 Pg2 Pg3 Costo for t in range(1,2): pg = pob[:,0:3] pg[:,2] = Pd-pg[:,0]-pg[:,1] costo = a + b*pg + c*pg**2 pob[:,3] = costo[:,1]+costo[:,0]+costo[:,2]+penaliza[:,0] pob = pob[pob[:,3].argsort(),] Costo costo = a + b*pg + c*pg**2

26 CÓDIGO PYTHON 𝑝𝑜𝑏 𝑐 = 𝛼× 𝑝𝑜𝑏 𝑎 + 1−𝛼 × 𝑝𝑜𝑏 𝑏
#realiza el cruce padres = np.random.randint(1, 0.4*Npob,0.4*Npob) padres1 = padres[0:0.2*Npob,] padres2 = padres[0.2*Npob:0.4*Npob,] ax = np.random.rand() A = ax*pob[padres1,] + (1-ax)*pob[padres2,] B = (1+ax)*pob[padres1,] - ax*pob[padres2,] C = ax*pob[padres1,] + (1+ax)*pob[padres2,] pob[0.4*Npob:0.6*Npob,] = A pob[0.6*Npob:0.8*Npob,] = B pob[0.8*Npob:Npob,] = C 𝑝𝑜𝑏 𝑐 = 𝛼× 𝑝𝑜𝑏 𝑎 + 1−𝛼 × 𝑝𝑜𝑏 𝑏 𝑝𝑜𝑏 𝑑 = 1+𝛼 × 𝑝𝑜𝑏 𝑎 −𝛼× 𝑝𝑜𝑏 𝑏 𝑝𝑜𝑏 𝑒 = 𝛼× 𝑝𝑜𝑏 𝑎 + 1+𝛼 × 𝑝𝑜𝑏 𝑏

27 𝑃𝑔<𝑃𝑔𝑚𝑖𝑛 −→ 𝑝𝑒𝑛𝑎𝑙𝑖𝑧𝑎=1000 𝑃𝑔>𝑃𝑔𝑚𝑎𝑥 −→ 𝑝𝑒𝑛𝑎𝑙𝑖𝑧𝑎=1000
CÓDIGO PYTHON #penaliza a los individuos que están fuera de los limites penaliza = np.zeros((Npob,1)) for i in range(0,Npob): for j in range(0,3): if pob[i,j] < 30: penaliza[i,0] = penaliza[i,0] if pob[i,j] > 50: 𝑃𝑔<𝑃𝑔𝑚𝑖𝑛 −→ 𝑝𝑒𝑛𝑎𝑙𝑖𝑧𝑎=1000 𝑃𝑔>𝑃𝑔𝑚𝑎𝑥 −→ 𝑝𝑒𝑛𝑎𝑙𝑖𝑧𝑎=1000 Se suma al costo

28 CÓDIGO PYTHON #calcula nuevamente el costo pg = pob[:,0:3]
pg[:,2] = Pd-pg[:,0]-pg[:,1] costo = a + b*pg + c*pg**2 pob[:,3] = costo[:,1]+costo[:,0]+costo[:,2]+penaliza[:,0] pob = pob[pob[:,3].argsort(),]

29 CÓDIGO PYTHON #genera poblacion inicial
#el 20 % de los peores individuos aux1 = np.random.rand(Npob,4) aux1 = inf+(sup-inf)*aux1 n1 = 0.2*Npob pob[n1:Npob,0:3] = aux1[n1:Npob,0:3] print "resultado despacho economico" print pob[1:20,:]

30 en la Industria Eléctrica
Python Python en la Industria Eléctrica GONZALO OSCAR EULATE CHOQUE GONZALO OSCAR EULATE CHOQUE GRACIAS MAYO 2017


Descargar ppt "EN LA INDUSTRIA ELÉCTRICA"

Presentaciones similares


Anuncios Google