2010-05-21 Resultados Finales

Posted By dmmedina

Date: mayo 21st, 2010

Al haber determinado la eficiencia de nuestros algoritmos en la búsqueda del mejor Robusto, para el periodo de Control, hemos procedido a realizar los cálculos para el periodo Futuro, y estos son los resultados:



Con las políticas Robustas cuasi-óptimas calculadas procedimos a calcular los indicadores.







2010-05-04 Busqueda Robusto con nivel normal de la Presa

Posted By dmmedina

Date: mayo 4th, 2010

Category: Optimo-Robusto

Como ya lo dijimos ayer, vamos a buscar una política Robusta usando el nivel actual Máximo de la presa Paute, para verificar si hay o no una política robusta para las condiciones actuales.

Para este objetivo ejecutamos el optimizador usando 10.000 generaciones, Luego de esto en la búsqueda del robusto vamos utilizar 10 Muestras de 100 series cada una.

El óptimo tubo un costo de $ 105'018.543,07 y en la 4ta muestra alcanzó 52% de fallos y es muy probable que no mejore porque el % de variación se hace más pequeño mientras se avanza en la búsqueda.

Vamos a realizar un ensayo usando el % de variación fija en 70%, aunque sabemos que se aleja mucho más de óptima encontrada

2010-05-03 Analisis de la Política Robusta y cuasi Óptima

Posted By dmmedina

Date: mayo 3rd, 2010

Category: Optimo-Robusto

Como ya hemos alcanzado nuestro objetivo (encontrar una política Robusta y cuasi Óptima)

Vamos a analizar ciertos resultados que podemos generar utilizando esta política.

Primero, al revisarla usando las 10.000 series de caudales obtuvimos un 15% de fallas, es decir 85% de Aciertos. Y para ver mejor esto vamos a graficar como cambian los volúmenes de consolidados de la presa.

Tuvimos que separarlo en 6 gráficas porque no se entendía en uno solo. Son 360 meses, divididos en 60 meses representados en cada gráfico.
Son gráficos continuos, las líneas verdes representan los límites mínimos y máximos permitidos permitidos.






Estábamos pensando obtener los indicadores usando esta política, pero antes de eso, necesitamos hacer lo siguiente:

  1. Buscar una política Robusta usando el nivel actual Máximo de la presa Paute, para verificar si hay o no una política robusta para las condiciones actuales.
  2. Como necesitamos verificar el comportamiento de nuestros algoritmos, vamos a buscar datos reales de Furnas para por lo menos 30 años.

2010-04-30 Idea para encontrar un Robusto más óptimo

Posted By dmmedina

Date: abril 30th, 2010

Category: Optimo-Robusto

Aunque el ensayo que realizamos ayer nos dio un buen resultado, podría ser mejor.

Lo que se me ocurre es hacer es que una vez que se encuentre un robusto (lo que normalmente implica que hay mas de uno) tomar como mejor poblador al de menor costo, y hacer esto en cada generación, de esta manera nos aseguramos de que siempre encontraremos un robusto y también óptimo.

Algo que también resultaría bueno sería mantener el porcentaje de variación, una vez que encontramos un robusto.

Ambos cambios espero probarlos hoy.

En la 1ra iteracion (búsqueda en la 1ra muestra) normalmente el % de fallas inicia en 100% y llega hasta un 20%.

Estamos utilizando como Política de búsqueda base la misma del ensayo anterior.




No fue reemplazada por tener mayor % de violaciones

Cambio la Robusta porque, mejoró en % de variación y Costo

Cambio la Robusta porque, mejoró en % de variación y Costo

Mantuvo la robusta

Cambio la Robusta porque, subió el % de variación, pero mejoró el Costo

Mantuvo la robusta

Mantuvo la robusta

Y con estos resultados podemos notar que estos 2 últimos complementos al método de búsqueda, esta dando muy buenos resultados. Aunque hay un pequeño error que casi no se nota pero al agregar la búsqueda del menos costoso, estaba tomando en cuanta a todos los individuos y no tan solo a los robustos, pero ya lo corregimos y tendremos los resultados el Lunes.

Pero al parecer voy a poder presentar un gráfico con resultados parciales de lo obtenido.
En el se ve como se avanza en la búsqueda de una solución Robusta y a la vez menos costosa.

Con este resultado podemos concluir que hemos alcanzado nuestro objetivo, encontrar una política Robusta y cuasi Óptima.

2010-04-29 Ensayo haciendo variable el % de Variación

Posted By dmmedina

Date: abril 29th, 2010

Category: Optimo-Robusto

Lo que vamos a hacer es variarlo de la siguiente manera, % Variación = (70/i); donde i=1,...,10 y representa el número de muestra que esta siendo evaluada. Es decir para la primera muestras sera 70% de variación, en la segunda 35%, en la tercera 23.3%, etc.

En cuanto a la búsqueda del robusto quedaría así:

  1. Tomamos como política de búsqueda base al óptimo de la 1ra muestra.
  2. Se ejecutan 5.000 generaciones, haciendo variaciones de (70/i)% a la política Base, minimizando el % de fallos.
  3. Al terminar la ejecución anterior, se reemplazará la base de búsqueda usando los siguientes criterios

Presentaremos a continuación la secuencia de los resultados que vamos a obtener.




En este punto ya encontró una robusta y no la cambiará hasta encontrar otra pero de menor costo.

No reemplaza la base de búsqueda porque ya es robusta y no ha encontrado otra con menor costo


De aquí en adelante ya no encontraba más políticas robustas, al parecer los variaciones muy pequeñas en el % de variación no le son muy favorables.

Aunque el resultado fue mejor que los obtenidos anteriormente, no esta tomando en cuenta el costo mientras busca sino al final de cada muestra. Si hicieramos así tendríamos mejores resultados, pero está un poco difícil hacerlo, hay que pensarlo muy bien.

2010-04-28 Pruebas variando tamaño de las muestras (M)

Posted By dmmedina

Date: abril 28th, 2010

Category: Optimo-Robusto

Tal como vimos en último ensayo realizado, hemos encontrado una Política Robusta aunque no tan Óptima utilizando 5 muestras (M=5) de 30 series c/u (N=30), y que al evaluar el resultado usando las 10.000 series de caudales, obtuvimos resultados muy similares a los ensayos con N=100.

A pesar de esto vamos a realizar unos cuantos ensayos con M=10 y variando N a: 50, 100, 500, 1000 y 5000; para luego comparar los resultados que obtendremos.

Pero antes modificaremos un poco el algoritmo de búsqueda de la Política Robusta para que haga lo siguiente:

  • Detenga la búsqueda con una muestra una vez que haya encontrado una robusta(dentro del rango aceptable, menor 10% de violaciones)
  • Reemplazar a la mejor Robusta solo si el costo de operación es menor, no solo porque tenga un menor % de violaciones.
  • Aunque creo que deberíamos buscar la manera de incluir el costo en el proceso de selección dentro del algoritmo genético que busca a la política robusta

El primer punto no resulto muy bien porque, una vez que alguna política es robusta y se la toma como base de búsqueda, en las primeras 10 generaciones de la siguiente búsqueda ya encuentra otra que también es robusto. Lo cual no ayuda mucho.

El segundo cambio tampoco aportó mucho ya que el objetivo del algoritmo que busca el robusto es minimizar el % de violaciones por consiguiente siempre encuentra una mejor robusta pero que es de mayor costo que la que se esté utilizando como base de búsqueda. Por tal razón siempre se queda con la primer robusta que encuentra.

Los ensayos realizados variando el parámetro N obtuvimos en cada uno de ellos (realizamos solo hasta 500, porque hubo desbordamiento en 1.000) resultados muy similares al arrojado por el M=5 y N=30.

Debido a las muestras escogidas aleatoriamente presentan en promedio el mismo comportamiento y las evaluaciones de una política de turbinameinto resultan en valores muy próximos, una modificación que resultaría muy efectiva, sería evaluar la Mejor Robusta obtenida con la misma Muestra y definir buenos criterios para cambiar la Política que se esté tomando como Base de la Búsqueda.

Lo que no hemos probado es hacer que el % de variación vaya disminuyendo conforme se avanza en cada muestra, porque hay que definir la cantidad a disminuir.

Ayer estuve toda la mañana y tarde haciendo lo del trámite para que nos suban al portal de compras públicas, pero no se lo pudo completar (faltan un par de firmas). Además es indispensable el obtener nuestros RUPs, lo cual es bastante rápido. La ing. Teresa Meza me dijo que para ser colocado mediante régimen especial hay que llevar una carta de justificando de que somos las personas: idóneas y más capacitadas  para realizar este trabajo. Es un poco irritante que ya para terminar con el proyecto tengamos que hacer todo esto.
Hasta hoy 28 de Abril de 2010 a las 14:20 la Ing. Meza no ha podido firmar la solicitud dirigida a Financiero para tener por escrito que existe disponibilidad presupuestaria para pagarnos.

Por este tipo de retrasos es que pienso que la ESPOL se debería hacer una Base de Conocimientos de libre acceso a través de internet, donde se detalle minuciosamente los pasos a seguir para cada trámite (por muy pequeño que sea) en cada departamento. Lo más probable es que al desarrollarlo, se optimicé significativamente cada proceso.

Se acabó el día y no fue firmada la solicitud, pero me aseguraron que para mañana a primera hora ya estaría lista. Estaba preocupado, pero ya no porque recordé Dios está en control, ya que he echado mis cargas sobre Él.

2010-04-26 Correción de algoritmo para Robusto

Posted By dmmedina

Date: abril 26th, 2010

Category: Optimo-Robusto

Como ya hemos encontrado una política Robusta con nuestro algoritmo, nos a tranquilizado mucho. Solo tenemos que corregir los picos máximos que se salen del rango máximo permitido para el turbinamiento.
Ya que no funcionó muy agregarlo como un valor en el fitness, procederemos a modificar los cromosomas que violen esta restricción, con este cambio los valores del fitness regresan a ser los mismos anteriores, 100% como máximo.

Algo que falto de presentar en la última prueba fueron los caudales promedios de las 5 Muestras de tamaño 30.

El comportamiento es el mismo que el de las muestra de 100 series c/u y si observamos el costo de las políticas óptima notaremos que también son muy similares a las obtenidas anteriormente. Lo que nos hace concluir parcialmente que el tamaño de la muestra no afecta en el momento de encontrar la Política Óptima, pero posiblemente si influya al encontrar la Robusta porque mientras con más series sea evaluada una Política más posibilidades tiene de convertirse en una Robusta.

Como ya lo habíamos dicho, la metodología de basarse en las políticas Óptimas de cada muestra no nos permite encontrar un Robusto. Vamos a utilizar como base el mejor Robusto que vayamos encontrando en cada muestra.
Haremos 2 experimentos: con 5 muestras de tamaño 30 y con 5 muestras de tamaño 100.

Lo primero que notamos es que ya fueron eliminadas todas las violaciones en cuanto al MAX de Turbinamiento.

El porcentaje de violaciones de las restricciones esta descrito en la leyenda del Gráfico.

La 2da y 4ta iteración no están porque se obtuvieron los mismos valores que en la 3ra y 5ta respectivamente. Y en las últimas muestras alcanzó un 0% de fallas o 100% de aciertos en la muestra de 30 series.

Al evaluar la Política Robusta en las 10.000 series obtuvimos, un 99% de aciertos lo que significa que es una política Robusta, pero no muy Óptima.


Podemos notar que el costo siempre aumenta cada vez que se encuentra una mejor política.

Por tal razón nuestro próximo objetivo es encontrar una política robusta pero de menor costo.

Les recuerdo que hay sacar el RUP para poder cobrar en esta parte final del proyecto!!

2010-04-23 Buscando nuevos resultados

Posted By dmmedina

Date: abril 23rd, 2010

Category: Optimo-Robusto

Luego de añadir la restricción del máximo de Turbinamiento en el momento de buscar la política robusta. Vamos a realizar un par de ejecuciones usando la metodología anterior para observar los resultados.

Primero probaremos usando un % de variación del 70%

Llego hasta a un 16% de violaciones e inicio desde 101% porque la violación del turbinamiento fue añadido al fitnees como un porcentaje aparte, es decir, pueden haber individuos que lleguen a tener hasta 200% de fitness.

Aunque aparentemente los picos hayan desaparecieron aún tenemos una política que sobrepasa el máximo permitido, por lo que debemos analizar un poco más de como superar este pequeño inconveniente. Porque cabe la posibilidad de que estemos dejando pasar mejores individuos.

Luego usando 5 Muestras de 30 series usando como base de búsqueda la Política Óptima y con el 70% de variación.

Podemos notar que alcanza mejores niveles de aciertos, pero aumenta el costo.

En la gráfica podemos notar que 4 de las 5 series tienen picos que sobrepasan el máximo de turbinamiento. Pero no son picos tan altos como la anterior política optima robusta.

2010-04-19 Resultados satisfactorios

Posted By dmmedina

Date: abril 19th, 2010

Category: Optimo-Robusto

Como lo indicamos el viernes anterior este fue el resultado obtenido con los cambios realizados.

Al probarla con las 10.000 serie de caudales obtuvimos solo 4% de violaciones, es decir, 96% de satisfacción, y con un máximo de 5 violaciones en cada una de las series que no fueron satisfechas.

Solo quedo un detalle que se nos pasó por alto, los límites de turbinación, el máximo definido esta en 200 m^3/s. Pero ya está siendo solucionado.

2010-04-16 Verificación satisfactoria de algoritmos

Posted By dmmedina

Date: abril 16th, 2010

Category: Optimo-Robusto

Observando los últimos dos resultados en cuanto al % de violaciones, se llegó a la conclusión de que existía un error recurrente. Este afectaba siempre a la primera Muestra y a cualquier otra que se iniciara con las mismas condiciones.

Al parecer el error era generado al momento de leer los archivos, porque el procedimiento es el siguiente:

  • Hay 3 módulos: Generador aleatorio de las muestras; Generador de Política Optima usando la media de las muestras anteriores; y Buscador de Política Robusta usando la óptima y las muestras de caudales.
  • El 3ro espera los resultados del 2do y el 2do espera los resultados del 1ro.
  • En la primera iteración el 2do comenzaba a leer datos que todavía no eran completamente fijados en memoria y lo mismo hacía el 3ro.

Lo solucionamos utilizando la función Sleep mientras se esperaba para leer el archivo del módulo anterior.

Realizamos una prueba con M=5 y N=100 y este fue el resultado.

Como podemos notar, ya no tiene el error anterior, además los resultados son como los esperábamos (del 30 al 50% de violaciones).

Con esto resuelto, procedimos a probar uno de las políticas cuasi robustas obtenidas (la 1ra, con 42% de violaciones)en Matlab, y como debería ser, dieron los mismos porcentajes de fallos en su muestra correspondiente.

Luego la probamos con todas las 10.000 series y obtuvimos 44% de violaciones, lo cual es muy satisfactorio porque quiere decir que con esta política satisfacemos el 56% de las 10.000 series de caudales. ¡Lo cual nos trae mucha tranquilidad y alegría!

Con esto en mente probamos la mejor de las 5 políticas encontradas (35 % de violaciones en su muestra) y nos dio 42% de violaciones en las 10.000 series, lo que representa 58% de satisfacción. Otro dato significativo es que 23 fue el número máximo de violaciones que provocó en las no pudo satisfacer y en general fueron menores de 10.

Y para hacer una última verificación, vamos a aumentar el % de variación del 30 al 50% y realizar una ejecución con M=5 y N=100, esto tomara aproximadamente 1h 20m.

Lo obtenido de esta ejecución es:

La mejor tuvo un 19% de violaciones y al probarla en la 10.000 muestras obtuvo 31% de violaciones, es decir, 69% de satisfacción y con 17 violaciones como máximo. Puede mejorar!

Lo siguiente en hacer es una variación en el módulo de búsqueda del robusto, la base actual para la búsqueda es la Política Óptima, lo que deseamos hacer ir almacenando la mejor Política Robusta y si esta es mejor que la Óptima de la Muestra actual, usarla como base para la búsqueda.

Bueno, los resultados obtenidos con este cambio no cambiaron casi nada, no porque no fuera efectivo si no que hay dos condiciones que considerar.

  1. Los Óptimos son todos muy parecidos y siempre (hasta el momento) son menores que la Robusta. ver las gráficas.
  2. Solo estábamos guardando como Política Robusta aquella que estuviera dentro del rango aceptable (10%), y hasta el momento no hemos obtenido ninguna.

Por estas razones estoy proponiendo lo siguiente:

  • Seguir generando un número M de muestras, cada una de N series.
  • Calcular una y solo una política óptima, usando la media de una de las muestras. (prácticamente todas las óptimas son iguales en cuanto a su costo)
  • Usar esa política como base inicial para buscar una óptima y para las siguientes muestras usar la mejor Robusta que vayamos encontrando.

Probando lo último esperamos tener mejores resultados. En un principio vamos a considerar como mejor a aquel que tenga menor % de violaciones, en un siguiente experimento lo haremos tomando en cuenta el costo de operación que generan la políticas, luego definiremos como usar las dos al mismo tiempo.

No vamos a colocar ningún gráfico como los anteriores pero, describiré el comportamiento.

  • Con la Óptima de la 1ra Muestra la búsqueda comenzó con 100% de violaciones y finalizó en 17%.
  • En la 2da muestra, tomando como base la Robusta anterior, inició con 29% de violaciones, en la generación 1.700 estaba en el 13% -parece no va a mejorar- y finalizó con 13%.
  • En la 3ra muestra, tomando como base la Robusta anterior, inició con 18% de violaciones, en la generación 500 estaba en el 12%, en la generación 800 estaba en el 8% -lo más probable es que no cambie- y terminó en 8%.
  • En la 4ta muestra, tomando como base la Robusta anterior, inició con 4% de violaciones -lo cual es excelente-, aunque puede significar simplemente que la misma política satisface mejor a la 4ta que a la 3ra, es muy probable que no mejore pero con esto hemos superado las expectativas que teníamos. Terminó con 4%.
  • En la 5ta muestra, tomando como base la Robusta anterior, inició con 2% de violaciones lo cual es wahu. Bueno hasta el lunes

Todo esto fue trabajado con M = 5, N = 100,  un 50% de variación y con 5.000 generaciones para la búsqueda del Robusto. Lo más probable es que no podamos presentar la Política Óptima casi robusta hoy por el tiempo (terminará la ejecución a las 16h30 y sola hay carros hasta las 16h00), pero el lunes estará a primera hora.

Ir a la barra de herramientas