1 Seminario de Investigación IE-900 – Ing. Rolando Castillo Algoritmo Genético aplicado al despacho Energético Carlos Matute 20121009469 Tegucigalpa, Honduras cruzadali@unah.hn Fausto Videa 20141006078 Tegucigalpa, Honduras fausto.videa@unah.hn Resumen—La presente investigación pretende resolver un problema de despacho económico, empleando algoritmos evolutivos, en un sistema de prueba con un determinado número de barras considerando las capacidades de potencia de las unidades de generación termoeléctricas e hidroeléctricas y el balance de potencia en cada barra del sistema. Teniendo como objetivo encontrar el mínimo de la función de costos, evitar superar la capacidad de transmisión de las líneas y a la vez suplir toda la demanda en un periodo de tiempo dado. Palabras Clave—Algoritmos Genéticos, Despacho, Generación, Población, Adaptación, Codificación, Mutación. I. INTRODUCIÓN Muchos problemas de optimización que aparecen en los ámbitos de las ingenierías son muy difíciles de solucionar por medio de técnicas tradicionales, por lo que a menudo se aplican algoritmos evolutivos, inspirados en la naturaleza, que recogen un conjunto de modelos basados en la evolución de los seres vivos. La simulación de procesos de evolución natural de las especies da como resultado una técnica de optimización estocástica que posteriormente fue llamada algoritmos evolutivos, y que fueron enmarcados dentro de las técnicas no convencionales de búsqueda y optimización, con un comportamiento altamente paralelo, para problemas del mundo real. Los algoritmos evolutivos son métodos adaptativos, que permiten tratar problemas de optimización donde el objetivo es encontrar un conjunto de parámetros que minimizan o maximizan una función. También, se pueden describir como métodos de búsqueda, aprendizaje y optimización que emulan el proceso genético de los organismos biológicos en el cual, a lo largo de las generaciones, las poblaciones de individuos evolucionan en la naturaleza de acuerdo con los principios de selección natural II. OBJETIVOS 1) Analizar las variables que influyen en los costos de generación y las formas comunes de caracterizar la relación entre la fuente primaria y la energía eléctrica generada. 2) Incluir nuevas técnicas de inteligencia en el análisis de problemas de optimización para tener un mejor control en la generación de un sistema eléctrico de potencia. 3) Estudiar las bases del problema del despacho económico y los procedimientos empleados para su resolución. Ingeniería Eléctrica Industrial - UNAH Jose Lozano 20151005549 Tegucigalpa, Honduras jlozanoc@unah.hn III. MARCO TEÓRICO A. Computación Evolutiva Los principales paradigmas que forman la computación evolutiva son, por tanto: Programación Evolutiva, en la cual la inteligencia se ve como un comportamiento adaptativo; Estrategias Evolutivas, cuyo objetivo era resolver problemas hidrodinámicos de alto grado de complejidad; y Algoritmos Genéticos, cuya motivación principal es el aprendizaje de máquina. En primer lugar, la programación evolutiva enfatiza los nexos de comportamiento entre padres e hijos, en vez de buscar emular operadores genéticos específicos, como en el caso de los algoritmos genéticos. El algoritmo básico de la programación evolutiva es el siguiente: • Genera aleatoriamente una población inicial. • Aplica mutación. • Calcula la aptitud de cada hijo y usa un proceso de selección mediante torneo (normalmente estocástico) para determinar cuáles serán los hijos (soluciones) que se retendrán. La programación evolutiva es una abstracción de la evolución al nivel de las especies, por lo que no se requiere el uso de un operador de recombinación. Asimismo, usa selección probabilística. La programación evolutiva usa normalmente selección estocástica, mientras que las estrategias evolutivas usan selección determinista. Ambas técnicas operan a nivel fenotípico. La programación evolutiva es una abstracción de la evolución al nivel de las especies, por lo que no se requiere el uso de un operador de recombinación (diferentes especies no se pueden cruzar entre sí). En contraste, las estrategias evolutivas son una abstracción de la evolución al nivel de un individuo, por lo que la recombinación es posible. Por último, los algoritmos genéticos (denominados originalmente “planes reproductivos”) fueron desarrollados por John H. Holland a principios de los 1960s. Su motivación principal fue el aprendizaje de máquina. El algoritmo genético enfatiza la importancia del cruce sexual (operador principal) sobre el de la mutación (operador secundario), y usa selección probabilística. El algoritmo básico es el siguiente: • Generar (aleatoriamente) una población inicial. • Calcular aptitud de cada individuo. 2 Seminario de Investigación IE-900 – Ing. Rolando Castillo • • • Seleccionar (probabilísticamente con base en aptitudes. Aplicar operadores genéticos (cruce y mutación) para generar la siguiente población. Ciclar hasta que se satisfaga cierta condición de parada. B. Algoritmos Genéticos Los algoritmos genéticos son estrategias de búsqueda estocásticas basadas en el mecanismo de selección natural, y en algunos casos, los aspectos de la genética natural están involucrados, lo que imita la evolución biológica como una estrategia para resolver problemas. Los algoritmos genéticos difieren de las estrategias de búsqueda convencionales en que estos trabajan en un conjunto de posibles soluciones llamadas poblaciones. Esta población consiste en una serie de soluciones llamadas individuos, y un individuo consiste en una serie de posiciones que representan cada una de las variables involucradas en los procesos de optimización, y estos son llamadas cromosomas. Estos cromosomas consisten en una cadena de símbolos, que se muestra en muchos casos en números binarios. En un algoritmo genético, cada individuo se define como una estructura de datos, que representa una posible solución para la búsqueda de problemas. Las estrategias de evolución trabajan en individuos que representan las soluciones del problema, se desarrollan a través de generaciones. Los algoritmos genéticos toman para su definición terminología utilizada en Genética Natural y Ciencia Computacional, por lo que la literatura específica es una combinación entre los términos naturales y los artificiales, por esto se debe tener en cuenta: • La estructura de codificación con la cual se construyen las soluciones para el problema se llaman cromosomas. Uno o más cromosomas pueden ser requeridos para conformar una población. • El conjunto completo de cromosomas se llama genotipo y un individuo en particular, un organismo resultante, se llama fenotipo. • Cada cromosoma contiene una serie de valores individuales llamados genes. • Cada gen contiene información valiosa de una variable en particular y su ubicación dentro del individuo se conoce como loco. • Los diferentes valores de un gen son llamados alelos Los algoritmos genéticos se pueden caracterizar a través de los siguientes componentes: • • • • Trabajan sobre un conjunto codificado de soluciones, no sobre las soluciones mismas. Trabajan sobre un conjunto de soluciones, no sobre una solución única. Utilizan información simple para determinar la aptitud de los individuos, dejando de lado los procesos de derivación u otra información adicional. Usan procesos de transición probabilística para la búsqueda de la solución, no reglas determinísticas. Gracias a estas características, los algoritmos genéticos no requieren información matemática adicional sobre optimización, por lo que pueden tomar otro tipo de funciones objetivo y todo tipo de restricciones (lineales y no lineales) definidas sobre espacios discretos, continuos o espacios de búsqueda combinados. A diferencia de las soluciones obtenidas con un algoritmo genético, las búsquedas tradicionales operan sobre una solución particular del problema, buscando soluciones óptimas en las cercanías de esta solución particular, en muchos casos no encontrando soluciones globales para el problema. Por ello, los algoritmos genéticos proveen una gran flexibilidad para ser combinados con heurísticas específicas para la solución de un problema en particular. Representación para la solución del problema Para la solución de un problema en particular es importante definir una estructura del cromosoma de acuerdo con el espacio de búsqueda. En el caso de los algoritmos genéticos la representación más utilizada es la representación binaria, debido a su facilidad de manipulación por los operadores genéticos, su fácil transformación en números enteros o reales, además de la facilidad que da para la demostración de teoremas. La codificación de números reales en cadenas de números binarios se debe hacer teniendo en cuenta el siguiente proceso y la precisión requerida para la solución del problema: π₯π ∈ [ππ , ππ ] (1) En donde el rango de la variable debe quedar dividida en: (ππ − ππ ) ∗ 10π (2) Donde p es la precisión requerida por el proceso (determinando así su potencia) La longitud de la cadena binaria de caracteres denotada por ππ , para cada variable es calculada como: 2ππ−1 < (ππ − ππ ) ∗ 10π < 2ππ − 1 Definición del problema a optimizar Los algoritmos genéticos tienen su campo de aplicación importante en problemas de optimización complejos, donde se tiene diferentes parámetros o conjuntos de variables que deben ser combinadas para su solución. También se enmarcan en este campo problemas con muchas restricciones y problemas con espacios de búsqueda muy grandes. Este tipo de optimización difiere en muchos aspectos de los procesos convencionales de optimización, ya que los algoritmos genéticos: Ingeniería Eléctrica Industrial - UNAH (3) Evaluación del individuo Nos muestra el valor de aptitud de cada uno de los individuos. Esta aptitud viene dada por una función que es la unión entre el mundo natural y el problema a resolver matemáticamente. Esta función de aptitud es particular para cada problema particular a resolver y representa para un algoritmo genético lo que el medio ambiente representa para los humanos. 3 Seminario de Investigación IE-900 – Ing. Rolando Castillo D. Despacho Energético El despacho de energía tiene como objetivo lograr el perfil de operación más rentable en una planta de energía. Para dicho fin, se consideran los costos variables de cada planta (como el costo del combustible en una planta a carbón) junto con los precios pronosticados en los mercados de energía. Una planta de energía solo es rentable si sus costos variables son más bajos que los precios de venta de energía que se puedan lograr en el mercado. Por otro lado, también se genera un horario que determina la asignación de la capacidad de ajuste disponible para la planta o plantas. Para generar dicho horario se consideran factores como la ubicación, el tiempo y la graduación. Por lo general, se requiere que los operadores de centrales eléctricas registren su horario de producción con el operador de la red de transmisión para permitir el pronóstico de la energía disponible de la red. El despacho también se utiliza en el campo de las energías renovables. Los operadores de energías renovables fluctuantes, como la energía solar y eólica, evalúan los pronósticos meteorológicos y la disponibilidad de la planta para determinar el horario del día siguiente. Los operadores de energía renovable regulable (plantas de biomasa e hidroeléctricas) crean perfiles de operación de varios días para sus activos. Esto permite a un operador de planta basar la asignación de recursos en los precios del mercado eléctrico. En Latinoamérica, el sector residencial representa aproximadamente el 50% del consumo de energía a nivel de país. Es por esto que los horarios de mayor demanda se registran entre las 17:00 y las 21:00 horas. El sistema de tarifas eléctricas establece para sus principales clientes, mayores costos de la energía consumida en este período, considerado como horario pico. Fig. 1. Perspectiva general de generación y demanda en América Latina Procedimientos de control de la demanda El control manual de la demanda máxima puede dividirse en: ο· Programación de cargas (acomodo de carga). ο· Monitoreo de la variación de la demanda máxima. El método de control manual de la demanda máxima más sencillo y a la vez efectivo (también llamado acomodo de cargas), es hacer un itinerario o programación de la operación Ingeniería Eléctrica Industrial - UNAH de las diferentes cargas, especialmente las de más peso en la demanda. En la realización de un acomodo de cargas se persiguen los objetivos siguientes: ο· Desplazar el funcionamiento de los receptores del horario pico. ο· Disminuir la máxima demanda eléctrica. ο· Limitar el funcionamiento de los receptores al estrictamente necesario. ο· Detectar y eliminar fuentes de consumo innecesarias. Los algoritmos genéticos en la solución de problemas de optimización Los AG son parte de la computación evolutiva. Es un área creciente de la inteligencia artificial que está basada en la evolución natural biológica y pueden adaptarse a la resolución de múltiples problemas. Están basados en la teoría de la evolución de Darwin y son apropiados para resolver problemas donde el dominio de la solución pueda resultar demasiado extenso y/o discreto. Surgen como método para la solución de complejos problemas de búsqueda y optimización, producto del análisis de los sistemas adaptativos en la naturaleza, y como resultado de abstraer la esencia de su funcionamiento. El término algoritmo genético se usa por el hecho de que estos simulan los procesos de la evolución darwiniana por medio del uso de operadores genéticos (selección, mutación, cruzamiento, etc.) que operan sobre una población de individuos que “evoluciona” de una generación a otra. Estos algoritmos son un ejemplo de método que explota la búsqueda aleatoria “guiada” que ha ganado popularidad en los últimos años debido a la posibilidad de aplicarlos en una gran gama de campos. En el caso de la ingeniería eléctrica, se han utilizado con éxito en la solución de problemas como: el balance de fases en circuitos de distribución primaria, el planeamiento de redes de distribución, la reconfiguración de sistemas de distribución, así como la compensación de potencia reactiva en los sistemas de distribución primaria y de forma simultánea al problema de la reconfiguración. La aplicación más común de los algoritmos genéticos ha sido la solución de problemas de optimización, en donde han mostrado ser muy eficientes y confiables. No todos los problemas pudieran ser apropiados para la técnica, y se recomienda en general tomar en cuenta las siguientes características: a) Su espacio de búsqueda (sus posibles soluciones) debe estar delimitado dentro de un cierto rango. b) Debe poderse definir una función de aptitud que nos indique qué tan buena o mala es una cierta respuesta. c) Las soluciones deben codificarse de una forma que resulte relativamente fácil de implementar en la computadora. IV. MATERIALES Y EQUIPO En el proceso de creación del código a utilizar es necesario: 1) Python (Código de programación). 4 Seminario de Investigación IE-900 – Ing. Rolando Castillo V. PROCEDIMIENTO A. Planteamiento del problema El procedimiento elaborado del Algoritmo Genético para resolver el problema de despacho de carga en un sistema de potencia considerando la capacidad de transporte de los elementos de la red. Los pasos a seguir para resolver el problema son los siguientes: ο· Primeramente, tomamos los datos del sistema, como ser: número de nodos, números de conexiones, los límites de generación de los generadores, los datos de las líneas de transmisión, etc. Ya que estos servirán para modelar el sistema. ο· Se determina qué tipo de codificación se utilizará para cada individuo, su tamaño y limitaciones. Se utilizará codificación decimal debido a su facilidad, aunque representa menor diversidad al generar individuos en comparación con el decimal. El tamaño de nuestro individuo será de 14 alelos que representan cada grupo de generadores y se tendrá en cuenta la capacidad máxima de generación de dicho grupo al momento de generar los individuos, además de que la suma total de cada alelo del individuo se igual a la demanda de dada en ese momento. Fig. 2. Ejemplo de población generada bajo una demanda de 1900MW. ο· Se crea una población con determinado número de individuos, tomando todas las restricciones mencionadas anteriormente. ο· Luego de haber generado nuestra población seguimos a evaluar los costos de generación para cada individuo, debido a que nuestra función objetivo son los costos y trataremos de minimizarlos, teniendo en cuenta las limitaciones siguientes: ππ ππ‘ = πππ ∗ ∑ πΆπ ∗ ππππ‘ ∀π‘ π=1 (4) Sujeto a las siguientes restricciones: [ππ] + [S]*[f] = [d] ∀π‘; ∀π βΎ π β π (5) ππππππ ≤ ππ ≤ ππππππ₯ ∀π‘; ∀π βΎ π β ππ (6) |ππ| ≤ πππππ₯ ∀π‘; ∀π βΎ π β ππ (7) Donde: πΆπ Es el costo por US$/MWh del generador ππππ‘ Es la potencia generada i en un tiempo t [ππ] Y [π] son los vectores de generadores y demanda asociados al nodo n [π] π¦ [π] Son las matrices de incidencia y de flujos de carga en las conexiones ππππππ Es la potencia minina que puede generar dicha unidad ππππππ₯ Es la potencia máxima que puede generar dicha unidad πππ Es la potencia generada de dicha unidad ππ Es el flujo de potencia en la línea πππππ₯ Es el flujo de potencia máximo en la línea. Para hallar la solución óptima del problema, es decir al individuo mejor adaptado, se requiere la producción de un número adecuado de individuos en una población y la evolución de cierto número de generaciones de estas poblaciones hasta que la mayoría de sus individuos alcancen un nivel de adaptabilidad y evolución tal que, al decodificar sus valores, las variables del problema que representan contribuyan a obtener el resultado óptimo global del problema. Podemos sintetizar el proceso en 5 pasos claves: ο· Codificación: en el presente problema, las variables corresponden a la potencia generada por las unidades generadoras. La codificación que se empleará para representar estas variables será el decimal, por su facilidad de uso. ο· Adaptación: la función de adaptación depende de la función objetivo, que es la minimización de costos de operación del sistema, y de las restricciones del problema, que están representadas por la magnitud de la violación de las capacidades de generación máxima y mínima de la unidad marginal del sistema y de transporte de los elementos de la red. ο· Selección: un algoritmo genético puede utilizar muchas técnicas diferentes para seleccionar a los Fig. 3. Diagrama de flujo del algoritmo genético a implementar. Ingeniería Eléctrica Industrial - UNAH 5 Seminario de Investigación IE-900 – Ing. Rolando Castillo ο· ο· individuos que deben copiarse hacia la siguiente generación. Cruce: para el efecto se eligen primero dos individuos padres mejor adaptados y se define una probabilidad de cruce con valores entre 0.5 y 0.95. Se genera un número aleatorio que, si resulta menor a nuestro rango de cruce, entonces se procede al cruce de los individuos padres. Mutación: se define una probabilidad de mutación pm con valores de entre 0 y 1. Posteriormente, se genera un número aleatorio que si resulta ser menor que pm se procede con la mutación de un sub-cromosoma de un individuo seleccionado aleatoriamente también. Tabla 1. Datos técnicos de los generadores. B. Caso de Estudio El Algoritmo Genético (AG) propuesto en la presente publicación se aplica para resolver el problema de despacho de carga en la red IEEE-RTS (Sistema de prueba de confiabilidad IEEE) de 24 nodos, 33 conexiones (entre líneas y transformadores) y 32 unidades de generación convencional, entre las cuales se cuenta con generadores a carbón, gas natural, diésel y en base a tecnología nuclear. Tabla 2. Datos técnicos de las conexiones eléctricas. El periodo analizado es de 24 horas. La demanda máxima del día que se considera es de 2,856 MW. Las Tablas 3 y 4 muestran el porcentaje de esta demanda en cada hora del día y su participación en cada nodo o barra de la red. La Curva de Carga diaria que se consigue con estos valores se muestra en la Fig. 5. Tabla 3. Porcentaje de demanda máxima en los nodos del sistema Fig. 4. Sistema eléctrico IEEE-RTS de 24 nodos. La Tabla 1 de abajo muestra las características técnicas de las unidades generadoras consideradas, tales como el número de unidades, nodo al cual están conectadas, capacidad máxima y mínima, tipo de combustible que emplean y costos de operación La Tabla 2 muestra las características técnicas de las líneas y transformadores de potencia de la red como los nodos que conectan entre sí, valor de reactancias y la capacidad de transporte. Ingeniería Eléctrica Industrial - UNAH . 6 Seminario de Investigación IE-900 – Ing. Rolando Castillo Tabla 4. Porcentaje de demanda máxima en cada hora del día. Potencia Generada en MW NUCLEAR CARBON GAS NATURAL DIESEL 3000.00 2500.00 2000.00 1500.00 1000.00 500.00 0.00 1 3 5 7 9 11 13 15 17 19 21 23 Tiempo (Hrs) Fig. 6. Despacho de carga por tecnología de generación. También se muestra un gráfico de la Curva de carga diaria del sistema. Fig. 7. Flujo de potencia en cada conexión del sistema. Costos (US$) 50000 Fig. 5. Curva de carga diaria del sistema. 40000 30000 20000 10000 0 1 3 5 7 9 11 13 15 17 19 21 23 VI. Tiempo (Hrs) RESULTADOS Tabla 5. Despacho por unidad generadora Fig. 8. Costos de operación del sistema. VII. ANÁLISIS DE RESULTADOS La elaboración y simulación del Algoritmo Genético (AG) para resolver el problema de despacho de carga en la red IEEE-RTS de 24 barras, considerando restricciones de transmisión de la red se realizó en el lenguaje de programación Python. Como podemos observar todos los generadores se encuentran entre su rango máximo y mínimo de generación, de igual manera la generación de potencia de cada hora satisface totalmente la demanda de electricidad de ese instante. De la misma forma, el despacho es realizado de manera coherente, despachando a plena capacidad las unidades de generación con tecnologías más baratas como la nuclear y carbón en este caso y despachando en horas de demanda alta las unidades más caras del sistema. Se puede observar que hay unidades con pequeñas cantidades para generar, esto se podría resolver con más individuos por generación o más iteraciones, lo cual implicaría Ingeniería Eléctrica Industrial - UNAH 7 Seminario de Investigación IE-900 – Ing. Rolando Castillo más poder computacional. También se podría buscar mejoras en el algoritmo. Además, podemos también observar que la capacidad de transmisión de las líneas no excede el 100% en ninguno de los casos. Lo cual es un punto muy importante a considerar en el sistema. Es posible advertir que el máximo costo se da durante la hora de la máxima demanda VIII. 1. 2. 3. 4. CONCLUSIONES El método de Algoritmos Genéticos (AGs) se adapta de buena manera a la resolución de un problema de despacho económico de carga, considerando las restricciones de transmisión de la red eléctrica ya que permite la determinación de la potencia generada por las unidades generadoras para satisfacer la demanda diaria de electricidad del sistema al mínimo costo. Una de las mayores desventajas es el prolongado tiempo computacional que se empleó para la simulación de los resultados, el cual aumenta cuanto mejores resultados esperemos tener. Esto puede ser mejorado eligiendo un método de selección más elitista y complementando la metodología de métodos heurísticos de búsqueda. También se podría mejorar este tiempo usando conocimientos y técnicas de programación más avanzados a los aplicados en el algoritmo, y obviamente tener un equipo con mayor velocidad de procesamiento mejoraría los tiempos de resolución del problema. Además, debemos enfatizar que cuando el número de generadores a ser despachados aumenta, el tiempo de ejecución del algoritmo dinámico también se torna muy grande. Finalmente, como vemos que los algoritmos genéticos son una buena alternativa para solucionar problemas de optimización. IX. REFERENCIAS [1] Betancourt Uscátegui, Á. (2001). Algoritmos Genéticos en el Despacho de Energía Eléctrica. [2] Coello, C. A. C., & Zacatenco, C. S. P. (2004). Introducción a la computación evolutiva. México. [3] “Control de demanda eléctrica aplicando algoritmos genéticos”; Davel Borges Vasconcellos, Pedro Puch González, Geovanny Frías González; 8 de septiembre de 2016. [4] E. Gil Ságas. “Programación de la generación de corto plazo en sistemas hidrotérmicos usando algoritmos genéticos”. Departamento de Electricidad. Chile. 2001. [5] E.M. Carreño. “Efficient codifications solve distribution network reconfiguration for loss reduction problem”. IEEE Transactions on Power System. Vol. 32 Nº 4, pp. 1542-1551. 2008. ISSN: 0885-8950. [6] J. Font Fernández, D. Gamo, J. Ríos Carrión. “Redes de neuronas artificiales y computación evolutiva”. Fundación de la UPM. España. 2009. [7] L.R. Cabote. “Metodología para el rediseño de sistemas de suministro eléctrico, a partir de un uso más racional de la energía”. Tesis para optar al grado de magíster. Universidad de Camagüey. Cuba. 2011 Ingeniería Eléctrica Industrial - UNAH [8] Marcos; Rivero Gestal (Daniel; Rabuñal, Juan Ramón; Dorado, Julián; Pazos, Alejandro), & Gestal, M. (2010). Introducción a los algoritmos genéticos y la programación genética. Universidade da Coruña. [9] Mateos, A. (2004). Algoritmos evolutivos y algoritmos genéticos. Inteligencia en Redes de Comunicaciones, Ingeniería de Telecomunicación. Universidad Carlos III de Madrid. [10] Melián, M. B., Moreno, J. A., & Moreno, J. M. (2009). algoritmos genéticos. Una visión práctica. Números. Revista de Didáctica de las Matemáticas, 71, 29-47 [11] P. Viego, M. de Armas, I. Pérez, A. Padrón y L. Casas. “Temas Especiales de Sistemas Eléctricos Industriales”. Material no editado. Centro de Estudios de Energía y Medio Ambiente, pp. 133. Universidad de Cienfuegos. Cuba. 2006. [12] Ruiz, A. G., Galvis, J. C., & Carmona, O. G. (2006). Algoritmo evolutivo diferencial aplicado al problema de despacho hidrotérmico. Scientia et technica, 12(32), 187192. [13] San Martin, L. S. Aplicación de Algoritmos Genéticos en el Despacho de Carga considerando Restricciones en la Red de Transporte. [14] Sloss, A. N., & Gustafson, S. (2020). 2019 Evolutionary Algorithms Review. Genetic Programming Theory and Practice XVII, 307-344. [15] Valencia, P. E. (1997, August). Optimización mediante algoritmos genéticos. In Anales del Instituto de Ingenieros de Chile (Vol. 109, No. 2, pp. 83-92).