Cuadro Opciones de cálculo de optimización - Pestaña General
Accesible desde Cuadro Opciones de cálculo de optimización
Los algoritmos genéticos (GA) utilizados por DesignBuilder requieren varios ajustes para controlar cómo evolucionan las soluciones. Estos y otros ajustes se realizan en la pestaña General del cuadro Opciones de cálculo, como se describe a continuación.
El motor de optimización utilizado es JEA, un potente motor desarrollado por EnSims.
Descripción del cálculo
Descripción del cálculo
Introduce una descripción del cálculo. Este texto identificará los resultados en el gráfico y otras salidas relacionadas.
Desde
Se muestra la fecha de inicio configurada para la simulación base en la pantalla de análisis, pero no puede editarse aquí.
Hasta
Se muestra la fecha de fin configurada para la simulación base en la pantalla de análisis, pero no puede editarse aquí.
Opciones de optimización
Tamaño de población por generación
Número de soluciones que se evaluarán en cada generación. Las simulaciones de la primera generación se seleccionan al azar, pero sirven de base para las siguientes. En general, más variables de diseño requieren una población mayor. La elección también puede depender del número de núcleos de procesador disponibles. El valor predeterminado es 15.
Consejo: El tamaño de población por generación suele estar entre 10 y 50 según el tamaño del análisis. Para 3 variables de diseño con, por ejemplo, 10 opciones cada una, elige una población inicial entre 10 y 20. Para 10 variables con 10 opciones cada una, elige entre 20 y 50. Como ocurre con otros ajustes de este cuadro, la experiencia ayudará a elegir los mejores valores para una convergencia rápida y fiable. Mientras tanto, 15 funciona bien para la mayoría de las aplicaciones habituales.
Nota: Todas las simulaciones de una generación deben terminar antes de iniciar la siguiente. Si dispones de muchos núcleos paralelos y el tiempo de simulación es el principal cuello de botella, en lugar de la generación de IDF, puede resultar útil un número mayor.
Generaciones para convergencia
Esta opción decide cuándo detener las simulaciones de optimización. A medida que avanza el proceso y se identifican la mayoría de las soluciones óptimas, se encuentran cada vez menos soluciones nuevas y llega un momento en que conviene parar. Al final de cada generación, DesignBuilder comprueba si se han encontrado nuevas soluciones óptimas en las últimas generaciones para convergencia generaciones. Si es así, continúan las simulaciones; de lo contrario, se considera terminada la optimización y se muestran los resultados. No es posible garantizar que no se encuentren nuevas soluciones óptimas si se continúa, pero este ajuste permite detener las simulaciones cuando parece que ya se ha identificado la mayoría.
El valor predeterminado es 5 generaciones. Introduce un número mayor para aumentar las posibilidades de encontrar todas las soluciones, o uno menor si no necesitas encontrar todas las soluciones óptimas. También puedes introducir un número muy alto, por ejemplo igual a Número máximo de generaciones, si deseas controlar manualmente la convergencia mediante el botón Detener .
Este ajuste funciona junto con los ajustes Tiempo máximo transcurrido y Evaluaciones máximas : la optimización se detiene cuando se alcanza cualquiera de los límites.
Aplicar restricciones al frente de Pareto
Esta opción controla cómo se muestran los conjuntos de resultados de una optimización con restricciones, pero no afecta al proceso de optimización. Solo está disponible cuando se aplica una o más restricciones . Las opciones son:
- 1-Mostrar todos los puntos en la que todos los puntos, incluso los que no cumplen las restricciones, pueden aparecer en el frente de Pareto.
- 2-Aplicar restricciones al frente de Pareto, opción predeterminada y recomendada en la que solo se incluyen soluciones viables en el frente de Pareto y las no viables se muestran en amarillo.
- 3-Aplicar restricciones a todos los puntos del gráfico en la que no se muestran las soluciones no viables que incumplen las restricciones.
La selección Aplicar restricciones al frente de Pareto puede cambiarse durante la simulación.
Ejecutar todas las combinaciones
En algunos casos puede ser útil simular todas las combinaciones posibles de variables de diseño sin intentar optimizar los resultados. Esto se parece más al análisis paramétrico, pero este solo admite un máximo de 2 variables de diseño, por lo que se necesita otro enfoque si deseas incluir más de 2.
Para simular todas las combinaciones posibles es necesario desactivar la optimización y ejecutar sistemáticamente todas las simulaciones.
Cuando terminen todas las simulaciones puedes exportar el conjunto completo de resultados a una hoja de cálculo para analizarlos en detalle y representarlos como análisis paramétrico.
Nota: Como esta opción desactiva completamente la optimización, si detienes la ejecución antes de simular todas las combinaciones los resultados pueden no ser adecuados para interpretarlos como análisis paramétrico u optimización.
Opciones avanzadas
Generaciones máximas
El número máximo de generaciones determina el tiempo y los recursos informáticos necesarios para completar el análisis. El valor suele reflejar el tamaño y la complejidad del análisis. Los valores habituales están entre 50-500 según el tamaño del problema y de la población.
Consejo 1: El número exacto de generaciones máximas no suele ser crucial siempre que utilices un valor alto, como 100 o más.
Consejo 2: Si buscas resultados óptimos precisos y utilizas un valor elevado de generaciones máximas, puede ser útil probar tasas de mutación mayores para evitar una convergencia temprana.
Tamaño máximo de población
El número de soluciones incluidas en cada generación puede aumentar a medida que crece el archivo de Pareto. Este es el número máximo de soluciones de una generación. El parámetro establece un límite superior y, si se supera, se descartarán algunas soluciones existentes de Pareto.
Tasa de mutación
Este ajuste define la frecuencia con la que se aplican cambios aleatorios a las nuevas soluciones. Se prefiere un valor bajo para converger rápidamente y evitar que el algoritmo se comporte como una búsqueda aleatoria por ensayo y error. Por otro lado, es importante evitar la «convergencia prematura», en la que la optimización se estabiliza en un frente de Pareto incompleto o impreciso. La mutación ayuda a mantener la diversidad de la población para explorar todo el espacio de parámetros y evitar la convergencia prematura y la pérdida de soluciones óptimas.
Las tasas de mutación bajas, por ejemplo 0.2, evitan perder tiempo explorando partes no óptimas del espacio de parámetros y permiten converger rápidamente; sin embargo, los resultados pueden ser menos precisos que con valores mayores. DesignBuilder utiliza un valor predeterminado equilibrado de 0.4.
Tasa de cruce
El cruce es un operador genético que combina información genética de dos progenitores para generar descendientes. Es una forma de generar estocásticamente nuevas soluciones a partir de una población existente, análoga al cruce de la reproducción sexual. JEA utiliza un método de cruce de «enteros híbridos». La tasa de cruce define la frecuencia con que se crean soluciones combinando características de soluciones existentes. Normalmente se utiliza un valor alto de 1.0.
Tamaño del torneo
La selección por torneo consiste en realizar varios «torneos» entre unos pocos individuos elegidos al azar de la población. El ganador de cada torneo, el de mejor aptitud, se selecciona para el cruce. Con torneos mayores, los individuos débiles tienen menos posibilidades de ser seleccionados, porque aumenta la probabilidad de que haya un individuo más fuerte en el mismo torneo. Cuanto mayor es el torneo, mayor es la presión del algoritmo hacia los objetivos deseados. Un tamaño de 1 equivale a una selección aleatoria. Un tamaño de 2 suele ofrecer un buen equilibrio.
Sesgo de objetivos
Este ajuste controla la presión para lograr viabilidad, es decir, cumplir las restricciones aplicadas. Controla el sesgo de clasificación entre la clasificación de Pareto y las puntuaciones de incumplimiento de restricciones. 0 significa priorizar las restricciones; 1, mejorar primero los objetivos; 0.5 establece una estrategia equilibrada.
Evaluaciones máximas
Introduce el número máximo de iteraciones de la optimización. Si sigue en ejecución después de ese número, se considerará terminada. Este límite funciona junto con los ajustes Generaciones para convergencia y Tiempo máximo transcurrido : la optimización se detiene al alcanzar el primero. Si no deseas limitarla por el número de iteraciones, introduce un valor alto como 50,000.
Tiempo máximo transcurrido
Introduce el límite de tiempo de la optimización en horas. Si sigue en ejecución después de ese periodo, se considerará terminada. Este límite funciona junto con los ajustes Generaciones para convergencia y Evaluaciones máximas : la optimización se detiene al alcanzar el primero. Si no deseas limitarla por tiempo, introduce un valor alto como 240 (10 días).
Pausar si hay errores
Es importante entender la causa de los errores durante una optimización. La opción Pausar si hay errores , si está marcada, muestra un mensaje y pausa la optimización. Por ejemplo, si se solapan las consignas de calefacción y refrigeración, se muestra el siguiente error en configuraciones donde la consigna de calefacción supera la de refrigeración:
Este tipo de error no causa un problema para el estudio global. Si una variante de diseño tiene una configuración no válida, se le asigna una penalización mediante la puntuación máxima del objetivo, suponiendo que se minimizan los objetivos. Esto aplica presión evolutiva para desalentar variantes no válidas similares en generaciones futuras.
Una vez entendida la causa de los errores, normalmente querrás dejar de ver avisos y permitir que continúe la optimización. Para ello desmarca la casilla Pausar si hay errores . Las simulaciones con errores aparecen en rojo en la cuadrícula, como se muestra abajo.
Las causas habituales de errores son:
- Combinaciones no válidas de variables, como consigna de calefacción > consigna de refrigeración. DesignBuilder detecta estos errores antes de ejecutar una simulación.
- Fallo de simulación por errores de entrada no detectados por DesignBuilder.
- Un error grave de EnergyPlus, como inestabilidad de simulación.
- Un fallo de la infraestructura de simulación, por ejemplo un fallo de red al usar un servidor de simulación en red.
Reintentar sin avisar si el servidor no está disponible
Normalmente, si DesignBuilder no puede acceder al servidor de simulación solicitado, te pregunta si deseas Abortar, Reintentar o Ignorar el servidor ausente. Abortar cancela todo el análisis. Seleccionar Reintentar o Ignorar indica al programa que siga intentándolo. Esta última opción se elegiría si el servidor dejara de estar disponible temporalmente, por un error de red o una caída.
Sin embargo, si ejecutas un análisis largo y no quieres recibir estas preguntas por una interrupción temporal del servidor, puedes marcar esta opción. Es similar a preseleccionar reintentar o ignorar.
Conservar resultados del Administrador de Simulaciones
Normalmente los resultados de cada simulación se conservan en el gestor solo el tiempo necesario y se eliminan cuando los resultados clave se cargan en DesignBuilder. Si necesitas conservar los resultados de cada simulación en el gestor, marca esta casilla.
Respaldar tabla de resultados cada generación
Si te preocupa la estabilidad del proceso de optimización, por ejemplo por posibles problemas de memoria, puedes seleccionar esta opción para guardar los resultados resumidos en un archivo externo al final de cada generación. Así podrás cargar resultados parciales en una hoja de cálculo para procesarlos fuera de DesignBuilder.
Las copias de resultados de optimización se guardan en la carpeta DesignBuilder Data\Backup\Opt Results y tienen el formato de nombre: OPTResults_dd_mm_yyyy_hh_mm_ss.txt donde la fecha y hora se definen al procesar la primera generación.
El archivo utiliza el carácter «#» como delimitador de campos, que no es estándar para herramientas externas. Para cargarlo en Excel, sigue estos pasos:
-
Abre Excel y selecciona el comando para abrir archivo y la opción Examinar.
-
Selecciona el archivo .txt correspondiente de la carpeta DesignBuilder Data\Backup\Opt Results .
-
En el «Asistente para importar texto» de Excel, utiliza los siguientes ajustes:
Pulsa Siguiente
Pulsa Finalizar
Los datos deberían estar listos para procesarse en Excel.
Nota: Este proceso no recupera los nombres de las columnas, pero conserva su orden natural, por lo que normalmente podrás identificar los encabezados comparándolos con la tabla de resultados de DesignBuilder.
Consideraciones para elegir los ajustes
Un aspecto importante que suele pasarse por alto es el tiempo que tarda DesignBuilder en generar el archivo de entrada IDF de cada diseño. Cuanto mayor sea respecto al tiempo de simulación, mayor será el cuello de botella de generación del modelo y menos útil será ejecutar muchas simulaciones en paralelo. Por otro lado, cuanto mayor y más complejo sea el modelo y más detalladas las simulaciones, por ejemplo con ventilación natural, HVAC detallado o más pasos de tiempo, más tiempo se dedica a simular y relativamente menos a generar IDF. En un modelo extremadamente grande o complejo se habrán generado todas las entradas IDF antes de obtener los primeros resultados y las simulaciones paralelas acelerarán el proceso. En modelos pequeños, el cuello de botella de generación IDF suele ser más importante y los primeros resultados llegan antes de generar la 3rd o 4th entrada IDF; en ese caso no se utilizan todos los núcleos. Esto suele suceder con modelos sencillos de una sola zona. Para observarlo puede ser útil mantener abierto el cuadro independiente Gestor de simulaciones durante la optimización. Verás cómo se envían, ponen en cola y simulan nuevas tareas.
Gráfico de dispersión de Pareto multiobjetivo
Cuando se definen 2 funciones objetivo, el equilibrio para el rango de variables considerado se representa en el gráfico de dispersión. Las soluciones óptimas de Pareto se muestran en rojo, la generación actual en azul y las anteriores en gris oscuro.
Gráfico de objetivo único
Cuando se utiliza un único objetivo, el gráfico muestra la evolución de la función objetivo en cada iteración. Como no existe un equilibrio entre objetivos, solo la solución óptima se destaca en verde en la tabla.



