How to scope and implement a micro hydro scheme
GRID CONNECTION STANDARDS
Los algoritmos genéticos (GA) son métodos estocásticos de búsqueda global basados en los mecanismos de la selección y genética natural, combinando la supervivencia artificial de los “más aptos” con operadores abstraídos de la naturaleza (Holland, 1975; Goldberg, 1989; citado por Wang, 1997). Los algoritmos genéticos difieren de otras técnicas de búsqueda en el sentido de utilizar una población de puntos, codificar la combinación de los valores de parámetros y emplear reglas de transición probabilísticas en lugar de determinísticas (Wang, 1997).
En el GA, se selecciona inicialmente una población de N puntos de forma aleatoria a partir del espacio paramétrico Θ. La función objetivo (FO), la cual es una medida del ajuste entre la respuesta simulada y la observada y adquiere valores menores para mejores resultados, es evaluada para cada uno de los puntos que conforman dicha población inicial. De los N puntos, dos son seleccionados aleatoriamente, dando mayor probabilidad de selección a aquellos que tengan menores valores en la FO. Ambos puntos seleccionados son utilizados de manera subsiguiente para generar un nuevo punto, en cierta forma aleatoria (cruce) y ocasionalmente adicionando alguna perturbación al azar (mutación). Este procedimiento se repite hasta obtener N puntos nuevos; también existe la opción de conservar algunos de los mejores puntos para la siguiente generación (elitismo). Se espera que la nueva población de puntos generada (generación) esté más concentrada alrededor de la solución óptima, en relación con la población inicial o anterior. El procedimiento que genera una nueva población se repite de manera sucesiva hasta alcanzar los criterios de convergencia especificados (e.g. diferencia relativa de la FO para el mejor punto de m generaciones sucesivas, máximo número de iteraciones o generaciones).
El GA utilizado en el presente trabajo de investigación está disponible en la herramienta de MATLAB® llamada Global Optimization Toolbox. Una diferencia importante del GA aplicado en esta herramienta respecto a los algoritmos tradicionales, es que no se hace la codificación binaria de las combinaciones de parámetros sino que se utilizan directamente los valores reales de cada elemento. A continuación se describen los pasos y criterios seleccionados, teniendo en cuenta que esta herramienta incluye diversos mecanismos para llevar a cabo cada uno de las operaciones del GA (selección, cruce y mutación, ver Figura 4-2).
Figura 4-2: Representación gráfica de las reglas de evolución natural. a) Elitismo b) cruce y c) mutación. Tomado de The MathWorks (2009)
1. Muestreo aleatorio, siguiendo una distribución uniforme, de 30 puntos a lo largo del espacio paramétrico acotado por los rangos de calibración asignados a cada parámetro del modelo.
2. Evaluación de la función objetivo para cada una de las 30 combinaciones de la población inicial.
3. Escalamiento de los puntos evaluados de acuerdo con su valor de FO. El escalamiento convierte los valores de FO en puntajes aptos para el algoritmo de selección. Este último utiliza los valores escalados para escoger las parejas progenitoras de la siguiente generación; dicho algoritmo asigna mayor probabilidad de selección a los individuos con mayores valores escalados. El rango de los valores escalados afecta el desempeño del algoritmo genético: si dichos valores cambian drásticamente, los individuos con valores más altos se reproducirán muy rápido, reduciendo de forma importante la capacidad de explorar ampliamente el espacio paramétrico; por el contrario, si los valores varían poco entre sí, todos los individuos tendrán prácticamente la misma posibilidad de reproducción, haciendo el proceso de búsqueda muy lento (poco eficiente). La opción de escalamiento seleccionada, reproduce el puntaje de cada individuo de acuerdo con su clasificación. La clasificación del individuo con menor FO (mejor ajuste) corresponde al número 1, al siguiente se le asigna el número 2, y así sucesivamente. El valor de escalamiento es proporcional a 1/√ , siendo k la clasificación. La suma de los valores escalados de toda la población debe ser igual al número de individuos requeridos para crear la siguiente generación.
4. Selección de las parejas progenitoras de nuevos puntos. Un individuo puede ser elegido más de una vez para generar uno nuevo. El método de selección utilizado en esta tesis corresponde al “estocástico uniforme”. En este, se traza una línea en la que cada individuo corresponde a una sección de la misma, de longitud proporcional a su valor de escalamiento; la longitud total de dicha línea es, por lo tanto, igual al número de progenitores. El algoritmo se mueve a lo largo de la línea en pasos de igual tamaño, el cual se define como la longitud de la línea dividida entre el número de progenitores. En cada paso, el algoritmo localiza un progenitor de acuerdo con la sección sobre la que cae. El primer paso es un número aleatorio de una distribución uniforme, menor o igual al tamaño de paso.
5. Reproducción de la población por elitismo, cruce y mutación. Esto se hace de acuerdo con el número de individuos para los cuales se garantiza la supervivencia hacia la siguiente generación, que en este caso es de 2, así como la fracción de la siguiente generación que se genera por cruce, siendo la restante generada por mutación. Dicha fracción se definió en 0.7. Resumiendo, en la población de la siguiente generación, 2 vienen directamente de la anterior (los dos con mejor FO), 20 son generados por cruce (40 progenitores requeridos) y 8 por mutación, para un total de 30.2 La mutación consiste en un algoritmo
que hace pequeños cambios aleatorios en los individuos de la población para proveer diversidad genética y permitir una exploración más amplia del espacio paramétrico. El algoritmo de mutación seleccionado es el “adaptable factible”, el cual genera aleatoriamente valores de acuerdo con los resultados de la última generación, de manera que se satisfagan los límites del espacio paramétrico. El algoritmo de cruce seleccionado, denominado “disperso”, consiste en generar un vector binario aleatorio, seleccionando los elementos del primer progenitor correspondientes a los 1 del vector binario, y
2 Para el caso de la calibración de Coliformes Totales y SST, se estableció una población de 20
seleccionado los elementos del segundo progenitor correspondientes a los 0 del mismo vector aleatorio:
P1= [a b c d e f g h] P2= [1 2 3 4 5 6 7 8]
Vector binario aleatorio = [1 1 0 0 1 0 0 0] Punto nuevo = [a b 3 4 e 6 7 8]
6. Se repiten los pasos 2 al 5 hasta que se alcance alguno de los siguientes criterios de convergencia: máximo número de generaciones igual a 100 y número consecutivo de máximo 10 generaciones sin mostrar cambios en la mejor FO, y cambio promedio en el valor de la mejor FO menor a 1x10-6.
Finalmente, es importante resaltar que diferentes tipos de Algoritmos Genéticos han sido implementados para la calibración de modelos de calidad del agua en corrientes superficiales (e.g Mulligan y Brown, 1998; Zou y Lung, 2004; Pelletier et al., 2006). En Colombia, ésta aproximación de calibración es frecuente en la práctica ya que la herramienta de modelación QUAL2Kw incluye un algoritmo genético para la estimación automática de los parámetros del modelo. Dicho software es ampliamente utilizado en el país suramericano, en procesos asociados con el ordenamiento del recurso hídrico y con la evaluación ambiental de vertimientos.