RISKOptimizer Es

241
Guía para el uso del RISKOptimizer Optimización con simulación para el Microsoft Excel Versión 5.7 septiembre, 2010 Palisade Corporation 798 Cascadilla St. Ithaca, NY USA 14850 +1-607-277-8000 +1-607-277-8001 (fax) http://www.palisade.com (website) [email protected] (e-mail)

Transcript of RISKOptimizer Es

Page 1: RISKOptimizer Es

Guía para el uso del

RISKOptimizer Optimización con simulación

para el Microsoft Excel

Versión 5.7 septiembre, 2010

Palisade Corporation 798 Cascadilla St. Ithaca, NY USA 14850 +1-607-277-8000 +1-607-277-8001 (fax) http://www.palisade.com (website) [email protected] (e-mail)

Page 2: RISKOptimizer Es

Aviso de derechos de autor Derechos de autor© 2010, Palisade Corporation. Reconocimiento de marcas Microsoft, Excel y Windows son marcas registradas de Microsoft Corporation IBM es una marca registrada de International Business Machines, Inc. Palisade, RISKOptimizer, TopRank, BestFit y RISKview son marcas registradas de Palisade Corporation. RISK es una marca registrada de Parker Brothers, División de Tonka Corporation y es utilizada bajo licencia.

Page 3: RISKOptimizer Es

Tabla de contenidos iii

Tabla de contenidos Tabla de contenidos iii

Capítulo 1: Introducción 1 Introducción.................................................................................................................3 Instrucciones de instalación....................................................................................11

Capítulo 2: Contexto 15 ¿Qué es el RISKOptimizer?......................................................................................17 Optimización tradicional versus la optimización por simulación........................25

Capítulo 3: RISKOptimizer: Paso a paso 33 Introducción...............................................................................................................35 Un tour a lo largo del RISKOptimizer......................................................................37

Capítulo 4: Aplicaciones ejemplo 61 Introducción...............................................................................................................63 Distribución presupuestaria ....................................................................................65 Planeamiento de capacidad.....................................................................................67 Programador de clases ............................................................................................69 Haciendo coberturas con futuros............................................................................73 Programación de producción en un taller..............................................................75 Balanceo de una cartera de inversiones ................................................................77 Mezcla de carteras ....................................................................................................81 Riesgo de cartera ......................................................................................................83 Problema del vendedor ambulante .........................................................................85 Administración de rendimientos .............................................................................87

Capítulo 5: Guía de referencia del RISKOptimizer 89 Comando de definición de modelo .........................................................................91 Comando de configuración de optimización – pestaña General .......................120

Page 4: RISKOptimizer Es

iv

Comando de configuración de optimización – pestaña Tiempo de ejecución 124 Comando de configuración de optimización – pestaña Visualizar ................... 131 Comando de configuración de optimización – pestaña Macros ....................... 133 Comando de inicio de optimización ..................................................................... 135 Comando de utilitarios........................................................................................... 137 El Observador del RISKOptimizer......................................................................... 141

Capítulo 6: Optimización 155

Capítulo 7: Algoritmos genéticos 167 Introducción ............................................................................................................ 169 Historia..................................................................................................................... 169 Un ejemplo biológico ............................................................................................. 173 Un ejemplo digital................................................................................................... 175

Capítulo 8: Simulación y análisis de riesgos 179 Introducción ............................................................................................................ 181 ¿Qué es el riesgo?.................................................................................................. 181 Creación de un modelo en el RISKOptimizer ...................................................... 187 Análisis de un modelo mediante simulación....................................................... 189

Capítulo 9: Extras del RISKOptimizer 191 Añadiendo restricciones........................................................................................ 193 Mejorando la velocidad.......................................................................................... 203 ¿Cómo se implemente la optimización del RISKOptimizer? ............................. 205

Apéndice A: Automatizando el RISKOptimizer 209

Apéndice B: Resolución de problemas / Preguntas y respuestas 211 Resolución de problemas / Preguntas y respuestas .......................................... 211

Apéndice C: Recursos adicionales 215 Recursos adicionales de aprendizaje................................................................... 215

Glosario 223

Índice 233

Page 5: RISKOptimizer Es

Capítulo 1: Introducción 1

Capítulo 1: Introducción

Introducción ........................................................................................3 ¿Por qué RISKOptimizer? ......................................................................3

Problemas de optimización tradicional..................................4 Optimización de resultados inciertos .....................................4 Modelando la incertidumbre....................................................5 Optimización usando simulación............................................5 Resultados de simulación .........................................................6 Aplicaciones personalizadas usando RISKOptimizer ........6 Aplicaciones de Optimización por simulación usando el RISKOptimizer.........................................................7

Antes de empezar .....................................................................................7 Lo que incluye el paquete.......................................................................7 Acerca de esta versión .............................................................................7 Trabajando con su ambiente operativo................................................8 Si necesita ayuda ......................................................................................8

Antes de llamar ...........................................................................8 Contactando a Palisade..............................................................9 Versiones estudiantiles ...........................................................10

Requerimientos de sistema para RISKOptimizer............................10 Instrucciones de instalación ...........................................................11

Instrucciones generales de instalación...............................................11 Eliminando el RISKOptimizer de su computadora ...........11

El DecisionTools Suite ..........................................................................12 Configurando los íconos de RISKOptimizer o los atajos...............12 Mensaje de advertencia de seguridad de macros en el Inicio........13 Otra información de RISKOptimizer.................................................14

Archivo léame de RISKOptimizer ........................................14 Tutorial del RISKOptimizer...................................................14

Aprendiendo el RISKOptimizer .........................................................14

Page 6: RISKOptimizer Es

2

Page 7: RISKOptimizer Es

Capítulo 1: Introducción 3

Introducción El RISKOptimizer combina la simulación y la optimización para permitir la optimización de modelos que contienen ciertos valores inciertos. El RISKOptimizer, por medio de la aplicación de poderosas técnicas de optimización de algoritmos genéticos y de la simulación Monte Carlo puede encontrar soluciones óptimas a problemas que no son solucionables para los optimizadores convencionales lineales y no lineales. El RISKOptimizer combina la tecnología de simulación de @RISK, el complemento de análisis de riesgos de Palisade, con Evolver, el solucionador de algoritmos genéticos de Palisade. Los usuarios familiarizados con el @RISK y tanto el Evolver o bien el Solver incorporado en el Excel podrían ser capaces de usar el RISKOptimizer con poca dificultad.

La Guía de usuario del RISKOptimizer, que es la que usted está leyendo en este momento, ofrece una Introducción al RISKOptimizer y de los principios que le subyacen, luego discurre para mostrar algunas aplicaciones ejemplo de las singulares tecnologías de algoritmos genéticos y simulación del RISKOptimizer. Este manual completo también puede ser utilizado como una guía de referencia totalmente indexada, con una descripción e ilustración de cada funcionalidad del RISKOptimizer.

¿Por qué RISKOptimizer? El RISKOptimizer abre un totalmente nuevo espectro de problemas de optimización. Con el RISKOptimizer, se pueden encontrar soluciones óptimas cuando los problemas contienen variables fuera de su control cuyos valores son desconocidos. Los optimizadores actuales tales como el Solver (un optimizador lineal y no lineal incluido en el Excel) y el Evolver (un optimizador basado en algoritmos genéticos de Palisade Corporation) no pueden encontrar soluciones óptimas cuando los rangos de los valores posibles se introducen para factores inciertos en un modelo.

Page 8: RISKOptimizer Es

4 Introducción

Los problemas de optimización tradicional basados en Excel que utilizan tanto el Solver como el Evolver se componen de:

• Una celda de salida u “objetivo” que usted desea minimizar o maximizar.

• Un conjunto de celdas de entrada o “ajustables” cuyos valores usted controla.

• Un conjunto de restricciones que deben ser satisfechas, usualmente especificadas utilizando expresiones tales como COSTOS<100 o A11>=0

Durante una optimización en Solver o Evolver, las celdas ajustables se cambian a lo largo de los rangos permisibles que usted especifica. Para cada posible conjunto de valores de celdas ajustables el modelo se recalcula, y se genera un nuevo valor para la celda objetivo. Cuando la optimización se completa, se encuentra una solución óptima (o bien una combinación de valores de celdas ajustables). Esta solución es la combinación de valores de celdas que generan el mejor valor (es decir, el mínimo o máximo) para el valor de la celda objetivo mientras se satisfacen las restricciones que usted ha introducido.

Sin embargo, cuando un modelo contiene elementos inciertos, tanto el Solver como el Evolver no pueden generar soluciones óptimas. En el pasado, muchos modelos de optimización simplemente ignoraban la incertidumbre, consiguiendo con esto que los modelos fueran optimizable pero irreales. Si se intentaba encontrar valores óptimos por medio del uso de simulación, se empleaba un método de “fuerza bruta” para buscar valores de celdas ajustables posibles por medio de una forma iterativa. Esto involucraba la ejecución de una simulación inicial, el cambio de uno o más valores, la re-ejecución de la simulación, y la repetición de este proceso hasta que se encontrara que se asemejase a una solución óptima. Este es un proceso extenso y usualmente no está claro cómo cambiar el valor desde una simulación a la otra.

Problemas de optimización tradicional

Optimización de modelos inciertos

Page 9: RISKOptimizer Es

Capítulo 1: Introducción 5

Con el RISKOptimizer, la incertidumbre presente en el modelo puede ser incluida y se pueden generar soluciones óptimas que consideren la incertidumbre. El RISKOptimizer usa simulación (del @RISK) para lidiar con la incertidumbre presente en el modelo y usa algoritmos genéticos (del Evolver) para generar posibles valores para las celdas ajustables. El resultado de esta “optimización simulada” es la combinación de valores para las celdas ajustables que minimizas o maximizas un estadístico para los resultados de simulación de la celda objetivo. Usted podría, por ejemplo, desear encontrar una combinación de valores de celdas ajustables que maximice la media de la distribución de probabilidad de la celda objetivo o que minimice la desviación estándar.

Para modelar la incertidumbre, el RISKOptimizer le permite a usted describir los posibles valores para cualquier elemento de una hoja de cálculo usando cualquiera de las funciones de distribución de probabilidad disponibles en el @RISK. Un valor de 10, por ejemplo en una celda de una hoja de cálculo, podría ser remplazada con la función @RISK =RiskNormal(10,2). Esto especificaría que los posibles valores para la celda están descritos por una distribución de probabilidad con una media de 10 y una desviación estándar de 2. Al igual que en @RISK las distribuciones de probabilidad pueden ser correlacionadas usando funciones @RISK tales como RiskCorrmat y DepC.

A la hora de optimizar, el RISKOptimizer ejecuta una simulación completa para cada posible solución de prueba que es generada por un optimizador basado en AGs (“algoritmos genéticos”). En cada iteración de una simulación de prueba de una solución, las funciones de distribución de probabilidad en la hoja de cálculo se muestrean y se genera un nuevo valor la celda objetivo. Al final de la simulación, el resultado para la solución de prueba es el estadístico para la distribución de la celda objetivo que usted desea minimizar o maximizar. Este valor se devuelve entonces al optimizador y es utilizado por los algoritmos genéticos para generar nuevas y mejores soluciones de prueba. Para cada nueva solución de prueba, se ejecuta otra simulación y se genera un valor para el estadístico del objetivo.

Al igual que en optimizadores tradicionales, se pueden introducir restricciones que requieren ser satisfechas en el RISKOptimizer. Las restricciones pueden ser verificadas durante cada iteración de la simulación (una restricción a nivel de “iteración”) o al final de cada simulación (una restricción a nivel de “simulación”). Las restricciones de iteración son restricciones del estilo típico como las tradicionales de Solver o Evolver, tales como A11>1000. Las

Modelando la incertidumbre

Optimización usando simulación

Page 10: RISKOptimizer Es

6 Introducción

restricciones de simulación son restricciones que hacen referencia a un estadístico de la distribución de los resultados de simulación para cualquier celda en el modelo que usted especifica. Una restricción de simulación típica podría ser “la media de A11>1000” o la media de los resultados de simulación de la distribución para la celda A11 debe ser mayor que 1000. Igual que en Evolver, las restricciones pueden ser duras o blandas, y la violación de una restricción dura causará que se rechace la solución de prueba.

A medida que grandes cantidades de simulaciones se ejecutan por medio del RISKOptimizer, se utilizan un par de técnicas importantes para minimizar el tiempo de ejecución y generar soluciones óptimas tan pronto como sea posible. Primero que todo, el RISKOptimizer usa el monitoreo de convergencia para determinar cuando un número suficiente de iteraciones ha sido ejecutado (pero no tantas). Esto asegura que el estadístico resultante de la distribución de probabilidad de la celda objetivo esté estable, y de cualesquiera estadísticos de las distribuciones de salida referenciadas en las restricciones estén estables. En segundo lugar, el RISKOptimizer usa los operadores genéticos de Evolver para generar soluciones de prueba que se muevan hacia una solución óptima tan rápidamente como esto sea posible.

El RISKOptimizer viene con un conjunto de funciones estadísticas de simulación que pueden ser utilizados para retornar resultados de simulación directamente a su hoja de cálculo. La función RiskMean(referencia de celda), por ejemplo, retorna la media de la distribución simulada para la celda introducida directamente en una celda o fórmula la hoja de cálculo. Adicionalmente, cualquier modelo construido en RISKOptimizer pueden ser simulado directamente en @RISK, el complemento de Palisade Corporation para análisis de riesgos y simulación en Excel, cuando usted desee obtener gráficos detallados y estadísticos de la mejor solución encontrada por el RISKOptimizer. Debido a que la simulación de RISKOptimizer está basada en el @RISK, ¡no se requieren cambios a un modelo de RISKOptimizer para simularlo en el @RISK!

El RISKOptimizer viene con un lenguaje de macros completo para construir aplicaciones personalizadas que utilicen las capacidades del RISKOptimizer. Las funciones personalizadas de RISKOptimizer pueden ser utilizadas en el Visual Basic for Applications (VBA) para definir los resultados de optimizaciones. Para mayor información en este interfaz de programación, véase el documento de ayuda del RISKOptimizer Developer Kit, el cual está disponible por medio del menú de ayuda del RISKOptimizer.

Resultados de simulación

Aplicaciones personalizadas usando RISKOptimizer

Page 11: RISKOptimizer Es

Capítulo 1: Introducción 7

La disponibilidad de optimización para modelos con incertidumbre permite la solución de muchos problemas previamente “no optimizables”. Como regla general, cualquier modelo que posea elementos inciertos puede ser optimizado por medio de una combinación de simulación y optimización, incluyendo:

♦ Selección de producciones óptimas y niveles de capacidad para nuevos productos con condiciones inciertas de mercado.

♦ Identificación de niveles óptimos de inventario con demandas inciertas

♦ Distribución de portafolios para minimización del riesgo

♦ Identificación de mezclas óptimas de producto en una planta de manufactura en donde los mercados de producto se distribuyen geográficamente y los niveles de demanda son inciertos

♦ Determinación de niveles óptimos para compras de opciones a la hora de búsqueda de coberturas

♦ Administración de rendimientos en donde un mismo producto es vendido en distintos precios ante restricciones diferentes

♦ Calendarización con tiempos de actividades inciertas

Antes de empezar Antes de instalar e iniciar a trabajar con el RISKOptimizer, asegúrese que su paquete de RISKOptimizer contenga todos los ítems requeridos y verifique que su computadora satisfaga los requerimientos mínimos para un uso apropiado.

Lo que incluye el paquete El RISKOptimizer se envía en la versión Industrial del @RISK y en la versión Industrial del DecisionTools Suite. El CD-ROM del @RISK Industrial contiene un complemento de Excel del RISKOptimizer, algunos ejemplos de RISKOptimizer y un sistema de ayuda en línea totalmente indexado de RISKOptimizer, adicional a los archivos de @RISK para Excel contenidos con el @RISK Industrial para Excel. La versión Industrial del DecisionTools Suite contiene todo lo anterior más otras aplicaciones adicionales.

Acerca de esta versión Esta versión del RISKOptimizer puede ser instalada como un programa de 32-bits para el Microsoft Excel 2000 o mayor.

Aplicaciones de Optimización por simulación usando el RISKOptimizer

Page 12: RISKOptimizer Es

8 Introducción

Trabajando con su ambiente operativo Esta Guía de Usuario asume que usted posee conocimientos generales del sistema operativo Windows y de Excel. En particular:

♦ Usted está familiarizado con su computador y con el uso del mouse.

♦ Usted está familiarizado contérminos tales como íconos, hacer clic, hacer doble clic, menú, ventana, comando y objeto.

♦ Usted comprende conceptos básicos tales como estructuras de directorio y nombramiento de archivos.

Si necesita ayuda Se provee soporte técnico gratuito para todos los usuarios registrados de RISKOptimizer con un plan actualizado de mantenimiento, o bien, éste está disponible con un cargo por incidente. Para asegurarse que usted es un usuario registrado de RISKOptimizer, por favor regístrese en línea en: http://www.palisade.com/support/register.asp.

Si usted nos contacta por teléfono, por favor tenga su número serial y su guía de usuario listos. Podemos ofrecer mejor soporte técnico si usted se encuentra al frente de su computador y listo para trabajar.

Antes de contactar soporte técnico, por favor revise la siguiente lista de verificación:

• ¿Ha verificado la ayuda en línea?

• ¿Ha verificado esta guía de usuario y revisado el tutorial multimedia en línea?

• ¿Ha leído el archivo README.WRI? Este contiene información actualizada del RISKOptimizer que podría no estar incorporada en el manual.

• ¿Puede duplicar el problema consistentemente? ¿Puede duplicar el modelo en una computadora diferente o con un modelo distinto?

• ¿Le ha echado un vistazo a nuestro sitio en la red? Este puede ser encontrado en http://www.palisade.com. Nuestro sitio web también contiene las últimas FAQ (“preguntas frecuentemente realizadas” por su traducción del inglés) (una base de datos explorable de preguntas y respuestas de soporte técnico) y parches de RISKOptimizer en nuestra sección de Soporte Técnico. Recomendamos que visite nuestro sitio web regularmente para toda la información más reciente sobre el RISKOptimizer y otro software de Palisade.

Antes de llamar

Page 13: RISKOptimizer Es

Capítulo 1: Introducción 9

Palisade Corporation agradece sus preguntas, comentarios o sugerencias respecto del RISKOptimizer. Contacte a nuestro personal de soporte técnico usando cualesquiera de los siguientes métodos:

• Envíenos un correo electrónico [email protected].

• Llámenos por teléfono al +1-607-277-8000 en Estados Unidos cualquier día entre lunes y viernes de 9:00 AM a5:00 PM, horario de la Costa Este. Siga las instrucciones para acceder a soporte técnico.

• Envíenos un fax al +1-607-277-8001.

• Escríbanos una carta a: Palisade Corporation 798 Cascadilla St. Ithaca, NY 14850 EE.UU.

Si desea contactar a Palisade Europa:

Envíenos un correo electrónico a [email protected].

• Llámenos por teléfono al +44 1895425050(UK).

• Envíenos un fax al +44 1895 425051(UK).

• Escríbanos una carta a: Palisade Europe

31 The Green West DraytonMiddlesexUB7 7PN Reino Unido

Si desea contactar a Palisade Asia-Pacífico:

• Envíenos un correo electrónico a [email protected].

• Llámenos por teléfono al +61 2 9252 5922 (AU).

• Envíenos un fax al +61 2 9252 2820 (AU).

• Escríbanos una carta a: Palisade Asia-Pacific Pty Limited

Suite 404, Level 4 20 Loftus Street Sydney NSW 2000 Australia

Independientemente de cómo nos contacte, por favor, incluya el nombre del producto, versión y número de serie. La versión exacta puede ser encontrada al seleccionar el comando de Ayuda Acerca de en el menú de RISKOptimizer en Excel.

Contactando a Palisade

Page 14: RISKOptimizer Es

10 Introducción

El soporte telefónico no está disponible con la versión estudiantil del RISKOptimizer. Si usted requiere de ayuda, recomendamos las siguientes alternativas:

♦ Consulte con su profesor o asistente académico.

♦ Vaya a http://www.palisade.compara respuestas a preguntas frecuentemente hechas.

♦ Contacte a nuestro departamento de soporte técnico vía correo electrónico o fax.

Requerimientos de sistema para RISKOptimizer Los requerimientos de sistema para el RISKOptimizer incluyen:

• PC Pentium PC o superior con un disco duro.

• Microsoft Windows 2000 SP4 o superior.

• Microsoft Excel Versión2000 o superior.

Versiones estudiantiles

Page 15: RISKOptimizer Es

Capítulo 1: Introducción 11

Instrucciones de instalación El RISKOptimizer es un programa de complemento del Excel de Microsoft. Al agregar comandos adicionales a la barra de menús del Excel, el RISKOptimizer mejora la funcionalidad del programa de hoja de cálculo.

Instrucciones generales de instalación El programa de Instalación copia los archivos de sistema del RISKOptimizer en un directorio que usted especifica en su disco duro. Para ejecutar el programa de Instalación en Windows 2000 o superior:

1) Inserte el CD ROM de la versión @RISK Industrial o la versión del DecisionTools Suite Industrial en el drive de CD-ROM

2) Haga clic sobre el botón de Inicio (Start), haga clic sobre Configuración (“Settings”) y luego haga clic sobre el Panel de Control. (“Control Panel”).

3) Haga doble clic sobre el ícono de Añadir/Eliminar Programas.

4) En la pestaña de Instalar/Desinstalar, haga clic sobre el botón de Instalar.

5) Siga las instrucciones de instalación en su pantalla.

Si se encuentra problemas a la hora de la instalación del RISKOptimizer, verifique que haya espacio adecuado en el drive en donde usted está tratando de instalar. Después de haber liberado un adecuado espacio, intente re ejecutarla instalación.

Si usted desea eliminar el RISKOptimizer de su computadora (además de la versión del @RISK Industrial o del DecisionTools Suite Industrial), utilice el utilitario del Panel de Control de Añadir/Eliminar Programas y seleccione la entrada correspondiente a @RISK o el DecisionTools Suite.

Eliminando el RISKOptimizer de su computadora

Page 16: RISKOptimizer Es

12 Instrucciones de instalación

El DecisionTools Suite El RISKOptimizer puede ser usado con el DecisionTools Suite, un conjunto de productos para análisis de riesgos y decisiones de Palisade Corporation. El procedimiento de instalación por defecto de RISKOptimizer posiciona al RISKOptimizer en un subdirectorio del directorio principal de “Archivos de Programa \ Palisade”. Esto es bastante similar a cómo Excel se instala frecuentemente en un subdirectorio del directorio de “Microsoft Office”.

Un subdirectorio del directorio “Archivos de Programa \ Palisade” será el directorio de RISKOptimizer (denominado por defecto RISKOptimizer 5). Este directorio contiene el archivo de complemento de RISKOptimizer (RISKOPT.) además de modelos ejemplo y otros archivos necesarios para que se ejecute el RISKOptimizer. Otro subdirectorio de “Archivos de Programa \ Palisade” es el directorio de SISTEMA el cual contiene los archivos requeridos por cada programa en el DecisionTools Suite, incluyendo los archivos comunes de ayuda y las bibliotecas de programas.

Configurando los íconos de RISKOptimizer o los atajos En Windows, la configuración crea automáticamente un comando de RISKOptimizer en el menú de Programas de la barra de tareas. Sin embargo, si se encuentran problemas durante la instalación, o si usted desea hacer esto manualmente en otro momento, siga estas instrucciones:

1) Haga clic sobre el botón de Iniciar, y luego apunte sobre Configuración (“Settings”).

2) Haga clic en la barra de tareas (“Taskbar”), y luego haga clic sobre la pestaña de Programas del Menú de Inicio.

3) Haga clic sobre Añadir (“Add”) y luego haga clic sobre Visualizar (“Browse”).

4) Localice el archivo RISKOPT.EXE y haga doble clic sobre él.

5) Haga clic sobre Siguiente (“Next”) y luego haga doble clic sobre el menú en donde usted desea que aparezca el programa.

6) Escriba el nombre “RISKOptimizer”,y luego haga clic sobre Finalizar (“Finish”).

Page 17: RISKOptimizer Es

Capítulo 1: Introducción 13

Mensaje de advertencia de seguridad de macros en el Inicio El Microsoft Office provee varias configuraciones de seguridad (debajo de Herramientas>Macro>Seguridad) para evitar que se ejecuten macros indeseadas o maliciosas en las aplicaciones de Office. Aparece un mensaje de advertencia cada vez que usted intente cargar un archivo con macros, a menos que usted utilice la configuración de menor nivel de seguridad. Para evitar que aparezca este mensaje cada vez que usted ejecute un complemento de Palisade, Palisade firma digitalmente sus archivos de complemento. De esta manera, una vez que usted haya especificado a Palisade Corporation como una fuente confiable, usted puede abrir cualquier complemento de Palisade sin que aparezcan estos mensajes de advertencia. Para realizar esto:

• Haga clic sobre Siempre confiar en macros de esta fuente cuando se despliega un mensaje de Advertencia de Seguridad (tal y como se presenta acá) a la hora de iniciar el RISKOptimizer.

Page 18: RISKOptimizer Es

14 Instrucciones de instalación

Otra información de RISKOptimizer Se puede encontrar información adicional sobre el RISKOptimizer en las siguientes fuentes:

Este archivo contiene un resumen rápido de RISKOptimizer, además de cualquier última noticia o información sobre la última versión de su software. Visualice el archivo Léame al seleccionar Menú de Iniciar Windows/ Programas/ Palisade DecisionTools/ Léame y al hacer clic sobre el RISKOptimizer 5.5 – Léame. Es una buena idea leer este archivo antes de usar el RISKOptimizer.

El tutorial del RISKOptimizer en línea les provee a los usuarios por primera vez de una breve introducción sobre el RISKOptimizer y los algoritmos genéticos. La presentación sólo toma unos pocos minutos para ver. Véase la sección de Aprendiendo el RISKOptimizer abajo para información de cómo acceder el tutorial.

Aprendiendo el RISKOptimizer La forma más rápida para familiarizarse con el RISKOptimizer es al utilizar el tutorial en línea del RISKOptimizer, en donde los expertos le guían a través de modelos ejemplo en formato de película. Este tutorial es una presentación multi media de las particularidades principales del RISKOptimizer.

El tutorial puede ser ejecutado al seleccionar el menú de ayuda del RISKOptimizer en el comando de Tutorial de Cómo Empezar.

Archivo léame de RISKOptimizer

Tutorial del RISKOptimizer

Page 19: RISKOptimizer Es

Capítulo 2: Contexto 15

Capítulo 2: Contexto

¿Qué es el RISKOptimizer? .............................................................17 ¿Como trabaja el RISKOptimizer?......................................................18

Algoritmos genéticos ...............................................................18 Distribuciones de probabilidad y Simulación....................18

¿Qué es la optimización? ......................................................................19 ¿Porqué construir modelos en Excel? .................................................20 Modelando incertidumbre en modelos Excel ...................................21 Usando simulación para contabilizar la incertidumbre..................22 ¿Porqué utilizar el RISKOptimizer?...................................................22

Más precisos, más significativos............................................23 Más flexible ...............................................................................23 Más fácil de usar .......................................................................24

Optimización tradicional versus la optimización por simulación......................................................................................25 Proceso de optimización tradicional de hoja de cálculo .................25 Proceso de optimización por simulación ...........................................26 Cada paso de una optimización con el RISKOptimizer .................27

Introduciendo distribuciones de probabilidad...................27 Identificando la celda objetivo y el estadístico...................28 Introduciendo las celdas ajustables ......................................29 Introduciendo restricciones ....................................................29 Definiendo las opciones de optimización y de simulación..................................................................................30 Ejecutando la optimización ....................................................31

Page 20: RISKOptimizer Es

16

Page 21: RISKOptimizer Es

Capítulo 2: Contexto 17

¿Qué es el RISKOptimizer? El paquete de software RISKOptimizer le provee a los usuarios una forma fácil de encontrar soluciones óptimas a modelos que incluyan incertidumbre. Puesto de manera sencilla, el RISKOptimizer encuentra las mejores variables de entrada que produzcan una variable de salida de simulación deseada. Usted puede utilizar el RISKOptimizer para encontrar la mezcla apropiada, el orden o el agrupamiento de variables que produzca el máximo valor esperado de utilidades, el menor riesgo (es decir, la mínima varianza) para las utilidades o bien, el máximo valor esperado para los bienes con la menor cantidad de materiales. El RISKOptimizer es un complemento al programa de hoja de cálculo Excel de Microsoft; los usuarios definen un modelo de su problema en Excel y luego invocan al RISKOptimizer para resolverlo.

Usted primeramente debe definir su modelo en Excel, y luego describírselo al

complemento de RISKOptimizer.

Excel provee todas las fórmulas, funciones, gráficos y capacidades de macros que la mayoría de los usuarios requieren para crear modelos realistas de sus problemas. El RISKOptimizer provee el interfaz para describir la incertidumbre en su modelo y lo que usted esté buscando, y provee los motores para encontrarlo. Conjuntamente, éstos pueden encontrar la solución óptima a virtualmente cualquier modelo que pueda ser modelado.

Page 22: RISKOptimizer Es

18 ¿Qué es el RISKOptimizer?

¿Como trabaja el RISKOptimizer? El RISKOptimizer utiliza un conjunto propietario de algoritmos genéticos para buscar soluciones óptimas a un problema, así como también las distribuciones de probabilidad y la simulación para administrar la incertidumbre presente en su modelo.

Los algoritmos genéticos son usados en el RISKOptimizer para encontrar la mejor solución en su modelo. Los algoritmos genéticos mimetizan los principios darwinianos de selección natural al crear un ambiente en donde cientos de posibles soluciones a un problema pueden competir entre sí, y sólo los “más aptos” sobreviven. Igual como sucede en la evolución biológica, cada solución puede pasar sus “genes” buenos a través de sus soluciones “descendientes” de forma tal que la población entera de soluciones continuará evolucionando hacia mejores soluciones.

Como ya usted podría darse cuenta, la terminología utilizada a la hora de trabajar con algoritmos genéticos es frecuentemente similar a aquella que la inspiró. Hablamos de cómo una función de “cruce” ayuda a enfocar la búsqueda de soluciones, las tasas de “mutación” ayudan a diversificar la “pila genética”, y evaluamos a la “población” entera de soluciones u “organismos”. Para aprender más acerca de cómo funcionan los algoritmos genéticos del RISKOptimizer, véase el Capítulo 7 – Algoritmos genéticos.

Las distribuciones de probabilidad y la simulación son utilizadas en el RISKOptimizer para gestionar la incertidumbre presente en las variables de su modelo. Estas capacidades son tomadas del @RISK, el complemento para Excel de análisis de riesgos de Palisade Corporation. Las distribuciones de probabilidad son utilizadas para describir el rango de posibles valores para los elementos inciertos en su modelo y son introducidas utilizando funciones de distribución de probabilidad tales como RiskTriang(10,20,30). Esto especificaría que una variable en su modelo podría tomar un valor mínimo de 10, un valor más esperado de 20 y un valor máximo de 30. Luego, la simulación es usada para generar una distribución de posibles resultados para cada solución de prueba que es generada por el optimizador.

Algoritmos genéticos

Distribuciones de probabilidad y Simulación

Page 23: RISKOptimizer Es

Capítulo 2: Contexto 19

¿Qué es la optimización? La optimización es el proceso de tratar de encontrar la mejor solución a un problema que puede tener muchas soluciones posibles. La mayoría de los problemas involucra muchas variables que interactúan basadas en determinadas fórmulas y restricciones. Por ejemplo, una empresa podría tener tres plantas de manufactura, cada una fabricando diferentes cantidades de distintos bienes. Dado el costo de cada planta para producir cada bien, los costos de cada planta para embarcar a cada uno de los puntos de ventas y las limitaciones de cada planta, ¿cuál es la forma óptima para satisfacer adecuadamente la demanda de las tiendas de ventas al detalle mientras que simultáneamente se minimizas los costos de transporte? Este es el tipo de problemas que las herramientas de optimización están diseñadas para contestar.

La optimización lidia usualmente con la búsqueda de combinaciones

que generen lo máximo de un conjunto dado de recursos.

En el ejemplo anterior, cada solución propuesta consistiría de una lista completa de cuáles bienes producidos por cuales plantas de manufactura se envían en cada camión a cuál tienda al detalle. Otros ejemplos de problemas de optimización incluyen el encontrar cómo producir la máxima utilidad, el mínimo costo, la mayor cantidad de vidas salvadas, la menor cantidad de ruido en un circuito, la ruta más corta entre un conjunto de ciudades o la mezcla más efectiva de compras de publicidad en medios. Un subconjunto importante de problemas de optimización involucra problemas de calendarización o programación, en donde las metas podrían incluir la maximización de la eficiencia durante una jornada de trabajo o la minimización de los conflictos de calendario de reuniones de grupos en diferentes horarios. Para aprender más de optimización, véase el Capítulo 6 – Optimización.

Page 24: RISKOptimizer Es

20 ¿Qué es el RISKOptimizer?

Cuando un problema involucra incertidumbre, los optimizadores tradicionales fallarán ya que no poseen capacidades para lidiar con la incertidumbre presente en un modelo. En el ejemplo anterior, qué pasa si la demanda de las tiendas al detalle es incierta, esto es, usted no sabe exactamente qué cantidades de productos serán demandados por cada tienda? Con un optimizador tradicional, usted sólo podría asumir una cantidad para la demanda de cada tienda. Esto le permitiría al modelo ser optimizado; sin embargo, los niveles asumidos de demanda harían que éste fuera una representación poco precisa de lo que en la realidad podría ocurrir. Con el RISKOptimizer, usted no tiene que asumir un nivel para la demanda. Usted describe los valores posibles de la demanda usando las distribuciones de probabilidad y luego usa las capacidades de simulación construidas en el RISKOptimizer para incluir todos los valores posibles de la demanda en sus resultados de optimización.

Cuando el RISKOptimizer se utiliza, la mejor solución generada por el optimizador no es un valor único mínimo o máximo para el objetivo o la “celda objetivo” en el modelo que usted está tratando de optimizar, sino más bien el máximo o mínimo estadístico simulado para el objetivo. Esta distribución posee una variedad de estadísticos, tales como la media, la desviación estándar, el mínimo, etc. En el ejemplo anterior, usted podría querer encontrar la combinación de variables de entrada que maximizan la media de la distribución de las utilidades o que minimiza su desviación estándar.

Para aprender más acerca de simulación, véase el Capítulo 8 – Simulación.

¿Porqué construir modelos en Excel? Para incrementar la eficiencia de cualquier sistema, debemos primero entender como éste se comporta. Esto es la razón por la cual construimos un modelo operativo del sistema. Los modelos son abstracciones necesarias a la hora de estudiar sistemas complejos; sin embargo, para que los resultados sean aplicables al “mundo real”, el modelo no debe sobre-simplificar las relaciones causa y efecto entre las variables. El software de mejor calidad y las computadoras cada vez más poderosas le permiten a los economistas construir modelos más realistas de la economía, a los científicos incrementar las predicciones de las reacciones químicas y a la gente de negocios incrementar la sensibilidad de sus modelos corporativos.

Page 25: RISKOptimizer Es

Capítulo 2: Contexto 21

En los últimos años, el hardware computacional y los programas de software tales como el Microsoft Excel, han avanzado tan dramáticamente que virtualmente cualquier persona con una computadora personal puede crear modelos realistas de sistemas complejos. Las funciones propias del Excel, las capacidades de las macros y el claro e intuitivo interfaz le permite a usuarios inicial es modelar y analizar problemas sofisticados. Para aprender más acerca de la construcción de modelos, véase el Capítulo 9 – Extras del RISKOptimizer.

Modelando incertidumbre en modelos Excel Las variables son los elementos básicos en sus modelos en Excel que usted ha identificado como ingredientes importantes para su análisis. Si usted está modelando una situación financiera, sus variables podrían ser cosas tales como Ventas, Costos, Ingresos o Utilidades. Si usted está modelando una situación geológica, sus variables podrían ser cosas tales como Profundidad a Depósito, Grosor de la Cama de Carbón o Porosidad. Cada situación tiene sus propias variables que usted identifica.

En algunos casos, usted podría conocer los valores que sus variables tomarán en el marco de tiempo de su modelo – estás son certeras o como la llaman los estadísticos, “determinísticas”. De manera alternativa, usted podría no conocer el valor que éstas asumirán, por lo que éstas son inciertas o “estocásticas”. Si sus variables son inciertas, usted deberá describir la naturaleza de la incertidumbre. Esto se realiza por medio de distribuciones de probabilidad, las cuales otorgan tanto el rango de valores que la variable podría asumir (mínimo a máximo), como la probabilidad de ocurrencia de cada valor dentro del rango. En el RISKOptimizer, las variables inciertas y los valores de las celdas se introducen como funciones de distribución de probabilidad, por ejemplo:

RiskNormal(100,10)

RiskUniform(20,30)

RiskExpon(A1+A2)

RiskTriang(A3/2.01,A4,A5)

Estas funciones de “distribución” pueden ser posicionadas en sus celdas de la hoja de cálculo y en las fórmulas de la misma forma que cualquier otra función de Excel.

Page 26: RISKOptimizer Es

22 ¿Qué es el RISKOptimizer?

Usando simulación para contabilizar la incertidumbre El RISKOptimizer usa la simulación, algunas veces denominada simulación Monte Carlo, para hacer un análisis de riesgo de cada posible solución generada durante una optimización. La simulación, en este sentido, se refiere al método por medio del cual la distribución de los posibles resultados es generada al permitir que un computador recalcule su hoja de cálculo una y otra vez, usando cada vez un conjunto de valores distintos aleatoriamente seleccionados para las distribuciones de probabilidad en sus valores en las celdas y en las fórmulas. En efecto, la computadora está probando todas las combinaciones válidas de los valores de sus variables de entrada para simular todos los resultados posibles. Esto es igual a si usted ejecutara cientos o miles de análisis del tipo “qué pasa si” sobre su hoja de cálculo, todo de una sola vez.

En cada iteración de la simulación, las funciones de distribución de probabilidad en la hoja de cálculo se muestrean y se genera un nuevo valor para la celda objetivo. Al final de la simulación, el resultado de la solución de prueba es el estadístico que usted desea minimizar o maximizar para la distribución de la celda objetivo. Este valor es entonces retornado al optimizador y usado por los algoritmos genéticos para generar nuevas y mejores soluciones de prueba. Para cada nueva solución de prueba, otra simulación se ejecuta y otro valor se genera para el estadístico objetivo.

¿Porqué utilizar el RISKOptimizer? Cuando usted está lidiando con un gran número de variables interactuantes, y está tratando de encontrar la mejor mezcla, el orden correcto o el agrupamiento óptimo de estas variables, usted podría estar tentado a simplemente pensar en una “adivinanza educada.” Un sorprendente número de personas asumen que cualquier tipo de creación de modelos y su análisis más allá de una simple adivinanza requerirá de una complicada programación, o de confusos algoritmos estadísticos y matemáticos. Una buena solución optimizada podría ahorrar millones de dólares, miles de galones de combustibles escasos, meses de tiempo desperdiciado, etc. Ahora que las computadoras poderosas de escritorio son cada vez más económicas, existen pocas razones para adivinar soluciones o perder tiempo valioso valorando muchos escenarios manualmente.

Page 27: RISKOptimizer Es

Capítulo 2: Contexto 23

El RISKOptimizer le permite a usted utilizar el rango completo de fórmulas Excel y de las distribuciones de probabilidad para construir modelos más realistas de cualquier sistema. Cuando usted usa el RISKOptimizer, usted no tiene porqué “comprometer” la precisión de sus modelos debido a que el algoritmo que usted esté utilizando no puede considerar las complejidades del mundo real. Los optimizadores tradicionales “de juguete” (herramientas estadísticas y de programación lineal) obligan a los usuarios a realizar una serie de supuestos acerca de la forma en que las variables en su problema interactúan, obligando por tanto a los usuarios a construir modelos sobre-simplificados y poco realistas de su problema. Los obligan a asumir valores para las variables inciertas ya que el optimizador no puede tomar en consideración en rango de posibles valores para los componentes de incertidumbre del modelo. Para cuando los usuarios hay simplificado lo suficiente el sistema para que el optimizador pueda ser usado, la solución resultante es, con frecuencia, demasiado abstracta como para que sea práctica. Cualesquiera problemas que involucren grandes cantidades de variables, funciones no lineales, tablas de búsqueda, sentencias si-entonces, búsquedas en bases de datos o elementos estocásticos (aleatorios) no pueden ser resueltos por estos métodos, independientemente de qué tan simple usted trate de diseñar su modelo.

Existen muchos algoritmos de solución que hacen un buen trabajo a la hora de resolver problemas pequeños de tipo lineal y no lineal, incluyendo los métodos de ascenso de colinas, solucionadores de juguete y otros métodos matemáticos. Aún cuando puedan ser ofrecidos como complementos (“add-ins”) para una hoja de cálculo, estas herramientas de optimización todo-propósito sólo pueden llevar a cabo optimizaciones numéricas. Para problemas más grandes o más complejos, usted podría ser capaz de escribir algoritmos hechos a la medida para obtener buenos resultados, pero esto requeriría mucha investigación y desarrollo. Aún así, el programa resultante requeriría de modificaciones cada vez que su modelo cambiara.

Más precisos, más significativos

Más flexible

Page 28: RISKOptimizer Es

24 ¿Qué es el RISKOptimizer?

No solamente que el RISKOptimizer puede gestionar problemas numéricos, es el único programa comercial del mundo que puede resolver la mayoría de problemas combinatorios. Estos son problemas en donde las variables pueden ser combinadas de otra forma (permutadas) o combinadas entre ellas. Por ejemplo, la escogencia del orden de bateo para un equipo de béisbol es un problema combinatorio; es una cuestión de permutar las posiciones de los jugadores en la alineación. El mismo RISKOptimizer puede resolver este tipo de problemas y muchos otros más que ningún otro software podría resolver. La singular tecnología del RISKOptimizer de algoritmos genéticos y simulación le permite virtualmente optimizar cualquier tipo de modelo; de cualquier tamaño y de cualquier complejidad.

A pesar de su obvio poder y ventajas de flexibilidad, el RISKOptimizer permanece siendo fácil de usar debido a que la comprensión de las complejas técnicas de los algoritmos genéticos que utiliza es completamente innecesaria. Al RISKOptimizer no le incumbe para nada los “dimes y diretes” de su problema; solamente requiere de un modelo en una hoja de cálculo que pueda evaluar qué tan buenos son los distintos escenarios. Solamente seleccione las celdas de cálculo que contienen las variables y dígale al RISKOptimizer qué es lo que estás buscando. El RISKOptimizer esconde inteligentemente la dificultad tecnológica, automatizando el proceso del tipo “qué pasa si” a la hora de analizar un problema.

Aún cuando han existido muchos programas comerciales desarrollados para programación matemática y para construcción de modelos, las hojas de cálculo son, por mucho, más populares, con literalmente millones de ellas vendiéndose todos los meses. Con su intuitivo formato de filas y columnas, las hojas de cálculo son más fáciles de definir y de mantener que otros paquetes dedicados. También son más compatibles con otros programas tales como los procesadores de palabras y las bases de datos, y ofrecen más fórmulas pre-construidas, opciones de formato, graficación y capacidades de macros que cualquier otro paquete independiente. Dado que el RISKOptimizer es un complemento para el Excel de Microsoft, los usuarios obtienen acceso al rango completo de funciones y de herramientas de desarrollo para construir modelos más realistas de su sistema.

Más fácil de usar

Page 29: RISKOptimizer Es

Capítulo 2: Contexto 25

Optimización tradicional versus la optimización por simulación El RISKOptimizer combina la simulación y la optimización para permitir la optimización de los modelos con factores inciertos. El optimizador usa los resultados de ejecuciones sucesivas del modelo de simulación para guiar su búsqueda de mejores soluciones y óptimas. Esta sección provee información de contexto de cómo la simulación y la optimización trabajan conjuntamente dentro del RISKOptimizer.

Proceso de optimización tradicional de hoja de cálculo En el proceso tradicional para optimizar una hoja de cálculo usando un complemento de optimización tal como el Solver o el Evolver, se llevan a cabo los siguientes pasos:

1) Se identifica una celda de salida o de “objetivo” que usted desea minimizar o maximizar.

2) Se identifica un conjunto de celdas de entrada o “ajustables” cuyos valores usted controla, y se describen los rangos de los posibles valores para tales celdas.

3) Se introduce un conjunto de restricciones que deben ser satisfechas, frecuentemente usando expresiones tales como COSTO<100 o bien A1>=0.

4) Se ejecuta una optimización en donde la hoja de cálculo se recalcula un número de veces sucesivo usando diferentes valores posibles para las celdas ajustables.

5) Durante este proceso:

a) Cada recálculo genera una nueva “respuesta” o valor para la celda objetivo.

b) El optimizador usa este nuevo valor de la celda objetivo para seleccionar el nuevo conjunto de valores para las celdas ajustables que intentará.

c) Se lleva a cabo otro recálculo, proveyendo una nueva respuesta que el optimizador puede usar para identificar un nuevo conjunto de valores para las celdas ajustables.

Page 30: RISKOptimizer Es

26 Optimización tradicional versus la optimización por simulación

Este proceso en 5) se repite una y otra vez, a medida que el optimizador se mueve hacia la identificación de una solución óptima – esto es, el conjunto de valores para las celdas ajustables que minimiza o maximiza el valor de la celda objetivo.

Proceso de optimización por simulación La optimización por simulación usando el RISKOptimizer sigue muchos de los mismos pasos especificados acá para el proceso de optimización tradicional en una hoja de cálculo. Sin embargo, se realizan algunos cambios para 1) permitir la introducción de la incertidumbre en la hoja de cálculo y 2) para usar la simulación, en vez de un simple recálculo de la hoja de cálculo, para proveer a la nueva celda objetivo de una “respuesta” que provea retroalimentación al optimizador para guiar en la selección de un nuevo conjunto de valores para las celdas ajustables.

El nuevo proceso de optimización por simulación usando el RISKOptimizer se describe a continuación, mostrando en negrita aquellas diferencias respecto de la optimización tradicional de una hoja de cálculo:

1) Se usan funciones de distribución de probabilidad para describir el rango de posibles valores para los elementos inciertos en el modelo.

2) Se identifica una celda de salida u “objetivo” y se selecciona el estadístico de simulación (media, desviación estándar, etc.) para la celda que usted desea minimizar o maximizar.

3) Se identifica un conjunto de celdas de entrada o “ajustables” cuyos valores usted controla, y se describen los rangos de los posibles valores para tales celdas.

4) Se introduce un conjunto de restricciones que deben ser satisfechas, frecuentemente usando expresiones tales como COSTOS<100 o bien A11>=0.Se pueden también introducir restricciones adicionales basadas en estadísticos de simulación (p.ej., el percentil 95 de A11>1000).

Page 31: RISKOptimizer Es

Capítulo 2: Contexto 27

5) Se ejecuta una optimización en donde la hoja de cálculo se simula un número de veces sucesivas, para donde en cada simulación se usan diferentes valores posibles para las celdas ajustables. Durante este proceso:

a) Cada simulación genera una nueva distribución de posibles valores para la celda objetivo. Se calcula estadístico de la distribución que usted desea minimizar o maximizar.

b) El optimizador usa este nuevo estadístico de la celda objetivo para seleccionar el próximo conjunto de valores para las celdas ajustables que probará.

c) Se lleva a cabo otra simulación, proveyendo otro nuevo estadístico que el optimizador puede usar para identificar un nuevo conjunto de valores para las celdas ajustables.

Este proceso en 5) se repite una y otra vez, a medida que el optimizador se mueve hacia la identificación de una solución óptima – esto es, el conjunto de valores para las celdas ajustables que minimiza o maximiza el valor de la celda objetivo.

Cada paso de una optimización con el RISKOptimizer Se detalla acá cada paso del proceso de optimización por simulación usado por el RISKOptimizer.

Las distribuciones de probabilidad se usan en el RISKOptimizer para describir la incertidumbre presente en los componentes de un modelo. Por ejemplo, usted podría introducir RiskUniform(10,20) en una celda en su hoja de cálculo. Esto especifica que los valores para la celda serán generados por una distribución uniforme con un mínimo de 10 y con un máximo de 20. Este rango de valores reemplaza el valor único “fijo” requerido por Excel. En una optimización tradicional de hoja de cálculo, no se puede añadir incertidumbre a un modelo de forma tal que no se usan distribuciones de probabilidad.

En el RISKOptimizer, se ejecuta una simulación de su modelo para cada combinación posible de valores de entrada generados por el optimizador. Las funciones de distribución son utilizadas por el RISKOptimizer durante estas simulaciones para muestrear conjuntos de posibles valores. Cada iteración de la simulación usa un nuevo conjunto de valores muestreados de cada función de distribución en su hoja de cálculo. Estos valores son luego utilizados para re calcular su hoja de cálculo y para generar un nuevo valores para su celda objetivo.

Introduciendo distribuciones de probabilidad

Page 32: RISKOptimizer Es

28 Optimización tradicional versus la optimización por simulación

Al igual que con las funciones de Excel, las funciones de distribución contienen dos elementos, un nombre de función y valores de argumentos que se encuentran encerrados por paréntesis. Una función de distribución típica sería:

RiskNormal(100,10)

Al igual que con las funciones de Excel, las funciones de distribución pueden poseer argumentos que son referencias a celdas o expresiones. Por ejemplo:

RiskTriang(B1,B2*1.5,B3)

En este caso el valor de la celda sería especificado por una distribución triangular con un valor mínimo tomado desde la celda B1, un valor más probables calculado al obtener el valor de la celda B2 y multiplicándolo por 1.5 y un valor máximo tomado desde la celda B3.

Las funciones de distribución pueden ser también usadas en fórmulas de celdas, igual como se hace con funciones de Excel. Por ejemplo, una fórmula de celda podría leerse:

B2: 100+RiskUniform(10,20)+(1.5*RiskNormal(A1,A2))

Para mayor información respecto de cómo insertar distribuciones de probabilidad, véase la Referencia: Funciones de distribución en el Manual del @RISK o en la Ayuda.

Tanto en el RISKOptimizer como en una optimización tradicional de hoja de cálculo, se debe de identificar una celda objetivo. Esta es la celda cuyo valor usted está tratando de minimizar o maximizar, o la celda cuyo valor usted está tratando de acercar lo más cercanamente posible a un valor pre-establecido. Típicamente, este es el “resultado” de su modelo – utilidades, el total general de su modelo, etc. – pero esencialmente podría ser cualquier celda en su hoja de cálculo. Se requiere que la celda contenga en ella una fórmula que retorne distintos valores a medida que cambian los valores de las celdas ajustables.

En el RISKOptimizer, no se está maximizando o minimizando el valor propiamente de la celda objetivo; usted está minimizando o maximizando el “estadístico” asociado con los resultados de simulación para la celda objetivo. Durante una optimización, el RISKOptimizer ejecutará simulaciones sucesivas, cada una con un conjunto diferente de celdas con valores ajustables. Cada simulación genera una distribución de posibles resultados para la celda objetivo. Usted está buscando por un conjunto de valores de las celdas

Identificando la celda objetivo y el estadístico

Page 33: RISKOptimizer Es

Capítulo 2: Contexto 29

ajustables que, por ejemplo, minimice la media de la distribución de la celda objetivo o bien que minimice su desviación estándar.

En el RISKOptimizer usted posee más opciones en cuanto a qué minimizar o maximizar (media, desviación estándar, mínimo, etc.) ya que – para cada solución probada por el optimizador – la simulación asociada no genera solamente una respuesta única. La simulación genera una distribución completa de posibles resultados para la celda objetivo, con un valor mínimo, un máximo, una media, una desviación estándar y así sucesivamente. Una optimización tradicional genera sólo una cosa –un nuevo valor para la celda objetivo – para cada solución probada por el optimizador y este valor es la única selección posible para minimizar o maximizar.

Las celdas ajustables se introducen de una forma similar tanto en una optimización tradicional de hoja de cálculo optimización como en el RISKOptimizer. Para cada celda que puede ser cambiada durante una optimización, se introduce un mínimo valor posible y un máximo valor posible.

Debido a que el optimizador usado por el RISKOptimizer está basado en el Evolver, la introducción de celdas ajustables en el RISKOptimizer posee las mismas opciones como en el Evolver. Esto incluye una tasa de mutación, métodos de solución y operadores genéticos. Para mayor información sobre la introducción de celdas ajustables, véase la sección “Rangos de celdas ajustables” en el Capítulo 5: Referencia del RISKOptimizer.

En el RISKOptimizer, así como en la optimización tradicional de hojas de cálculo, se pueden introducir las restricciones duras que deben ser satisfechas. Si no son satisfechas, se descarta la solución.

En el RISKOptimizer, se ejecuta una simulación completa para cada solución de prueba. Cada simulación está compuesta de un número de iteraciones o de recálculos individuales de la hoja de cálculo usando nuevas muestras de las distribuciones de probabilidad en el modelo. Una restricción dura puede ser probada:

♦ Para cada iteración de cada simulación (una restricción de iteración). Si una iteración genera valores que violan una restricción dura, la simulación se detiene (y se rechaza la solución de prueba) y se inicia la próxima simulación de prueba con su asociada simulación.

♦ Al final de cada simulación (una restricción de simulación). Este tipo de restricción se especifica en términos de un estadístico de simulación para una celda de la hoja de cálculo; por ejemplo la Media deA11>1000. En este caso, se evalúa la restricción al final

Introduciendo las celdas ajustables

Introduciendo restricciones

Page 34: RISKOptimizer Es

30 Optimización tradicional versus la optimización por simulación

de la simulación. Una restricción de simulación, en contraposición con una restricción de iteración, nunca causará que se detenga la simulación antes de que ésta se complete.

Una segunda forma de restricciones – "restricciones blandas" también pueden ser usadas en el RISKOptimizer. Las penalizaciones resultantes de las restricciones blandas se calculan al final de la simulación. Se suma (o se resta) cualquier penalización calculada al estadístico objetivo que está siendo minimizado o maximizado.

Para mayor información sobre la introducción de restricciones, véase la sección “Restricciones” en el Capítulo 5: Referencia del RISKOptimizer.

En el RISKOptimizer, al igual que en la optimización tradicional sobre hojas de cálculo, están disponibles una variedad de opciones para controlar por cuánto tiempo se ejecutará la optimización. Sin embargo, el RISKOptimizer añade nuevas opciones para controlar cuánto tiempo se ejecutará una solución de prueba.

El RISKOptimizer buscará mejores soluciones y ejecutará simulaciones hasta que se satisfagan las opciones de detención de la optimización. Usted podría hacer que el RISKOptimizer ejecute un número especificado de minutos, ejecutarse hasta que se haya generado un número específico de soluciones de prueba o ejecutarse hasta que el mejor estadístico de simulación para la celda objetivo no haya cambiado durante un número determinado de pruebas.

Usted también puede especificar durante cuánto tiempo se ejecutará una solución de prueba de simulación. Usted podría seleccionar que cada corrida de simulación se ejecute un número especificado de iteraciones o, de forma alternativa, permitir que el RISKOptimizer determine cuando detener la simulación. Cuando usted seleccione que sea el RISKOptimizer el que decida cuando detener cada simulación, éste detendrá la simulación cuando las distribuciones generadas para tanto 1) la celda objetivo de la optimización y 2) las celdas referenciadas en la las restricciones de simulación se hayan estabilizado y los estadísticos de interés hayan convergido.

Definiendo las opciones de optimización y de simulación

Page 35: RISKOptimizer Es

Capítulo 2: Contexto 31

Cuando el RISKOptimizer ejecuta una optimización la hoja de cálculo es simulada un número sucesivo de veces, con cada simulación usando valores posibles diferentes para las celdas ajustables. Durante este proceso:

1) El optimizador genera un conjunto de valores para las celdas ajustables.

2) La hoja de cálculo es simulada con el conjunto de las celdas ajustables ajustado a los valores generados por el optimizador. En cada iteración de la simulación todas las funciones de distribución en la hoja de cálculo se muestrean y la hoja de cálculo es re calculada, generando un nuevo valor para la celda objetivo. Si no se satisface alguna de las restricciones de iteración después del recálculo de la iteración, la simulación se detiene y el optimizador genera un nuevo conjunto de prueba para ser simulado.

3) Al final de cada simulación se genera una nueva distribución de los valores posibles para la celda objetivo. El estadístico que usted desea minimizar o maximizar es calculado desde esta distribución. Si alguna de las restricciones de simulación no se satisface, la solución de prueba y los resultados de simulación son descartados y el optimizador genera una nueva solución de prueba para ser simulada.

4) El optimizador usa el nuevo estadístico para la celda objetivo calculado en la simulación para seleccionar el próximo conjunto de valores para las celdas ajustables que probará.

5) Se ejecuta otra simulación, proveyendo así un nuevo estadístico que el optimizador usa para identificar un nuevo conjunto de valores para las celdas ajustables.

Este proceso se repite a sí mismo una y otra vez, a medida que el optimizador se mueve hacia la identificación de una solución óptima – esto es, el conjunto de valores para las celdas ajustables que minimizan o maximizar el estadístico para la celda objetivo.

Ejecutando la optimización

Page 36: RISKOptimizer Es

32 Optimización tradicional versus la optimización por simulación

Page 37: RISKOptimizer Es

Capítulo 3: RISKOptimizer: Paso a paso 33

Capítulo 3: RISKOptimizer: Paso a paso

Introducción ......................................................................................35 Un tour a lo largo del RISKOptimizer .............................................37

Iniciando el RISKOptimizer ................................................................37 La barra de herramientas del RISKOptimizer ....................37 Abriendo un modelo ejemplo ................................................37

Describiendo la incertidumbre en el modelo ...................................38 La caja de diálogo de modelo del RISKOptimizer ..........................41 Seleccionando el estadístico para la celda objetivo .........................42 Añadiendo rangos de celdas ajustables .............................................42

Introduciendo el rango min-Max para las celdas ajustables....................................................................................43 Seleccionando un Método de solución:................................45

Restricciones ...........................................................................................46 Restricciones de iteración y de de simulación ....................46 Añadiendo una restricción......................................................47 Restricciones de rangos simples de valores y de fórmulas ................................................................................48

Otras opciones de RISKOptimizer .....................................................51 Condiciones de detención de optimización.........................51 Condiciones de detención de simulación ............................53 Llevando una bitácora de datos de simulación...................54

Ejecutando la optimización ..................................................................55 El Observador del RISKOptimizer .......................................56 Deteniendo la optimización ...................................................57 Reporte resumen.......................................................................58 Colocando los resultados en su modelo ...............................59

Page 38: RISKOptimizer Es

34

Page 39: RISKOptimizer Es

Capítulo 3: RISKOptimizer: Paso a paso 35

Introducción En este capítulo, le llevaremos a lo largo de toda la optimización con RISKOptimizer paso a paso. Si usted no tiene el RISKOptimizer instalado en su disco duro, por favor refiérase a la sección de instalación del Capítulo 1: Introducción e instale el RISKOptimizer antes de que inicie este tutorial.

Iniciaremos abriendo un modelo de hoja de cálculo pre-construido, y luego definiremos el problema para el RISKOptimizer usando distribuciones de probabilidad y las cajas de diálogo del RISKOptimizer. Finalmente, visualizaremos el progreso del RISKOptimizer a medida que busca las soluciones, y exploraremos algunas de las tantas opciones en el Controlador del RISKOptimizer. Para información adicional acerca de cualquier tópico específico, véase el índice en la parte posterior de este manual, o refiérase al Capítulo 5: Referencia del RISKOptimizer.

NOTA: Las pantallas mostradas a continuación son del Excel 2007. Si usted está utilizando otras versiones del Excel, sus ventanas podrían aparecer ligeramente distintas de las mostradas en los cuadros.

El proceso de resolución del problema se inicia con un modelo que represente de manera precisa un problema. Su modelo debe ser capaz de evaluar un determinado conjunto de valores de entrada (celdas ajustables) y producir un índice numérico de qué tan bien tales variables de entrada resuelven su problema (la función de evaluación o de “aptitud”). Su modelo también requiere la inclusión de distribuciones de probabilidad que describan el rango de posibles valores para un determinado número de elementos inciertos. A medida que el RISKOptimizer busca soluciones, la simulación de la función de aptitud provee de retroalimentación, diciéndole al RISKOptimizer que reproduzca incrementalmente las mejores posibilidades. Cuando usted crea un modelo de su problema, debe de poner especial atención a la función de aptitud, ya que el RISKOptimizer estará haciendo todo lo que se encuentre a su alcance para maximizar (o minimizar) los resultados de simulación para esta celda.

Page 40: RISKOptimizer Es

36

Page 41: RISKOptimizer Es

Capítulo 3: RISKOptimizer: Paso a paso 37

Un tour a lo largo del RISKOptimizer Iniciando el RISKOptimizer Para iniciar el RISKOptimizer, bien: 1) haga clic sobre el ícono de RISKOptimizer en su escritorio de Windows, o 2) seleccione Palisade DecisionTools y luego RISKOptimizer 5.5 de las entradas de Programas en el menú de Inicio de Windows. Cada uno de estos métodos inicia tanto el Excel de Microsoft como el RISKOptimizer.

Cuando se haya cargado el RISKOptimizer, una nueva barra de herramientas del RISKOptimizer estará visible en el Excel. Esta barra de herramientas contiene botones que pueden ser utilizados para especificar las configuraciones del RISKOptimizer y para iniciar, pausar y detener las optimizaciones.

Para revisar las funcionalidades del RISKOptimizer, usted examinará un modelo ejemplo que fue instalado cuando se instaló el RISKOptimizer. Para hacer esto:

1) Abra el archivo de libro de trabajo LÍNEA AEREA.XLS desde su directorio de RISKOPTIMIZER5\EJEMPLOS.

La barra de herramientas del RISKOptimizer

Abriendo un modelo ejemplo

Page 42: RISKOptimizer Es

38 Un tour a lo largo del RISKOptimizer

Esta hoja ejemplo contiene un modelo de administración de rendimientos que identifica el número óptimo de asientos a tarifa completa y a tarifa de descuento que deben venderse para un vuelo en particular. También identifica el número óptimo de reservaciones a aceptar en exceso al número de asientos disponibles – el clásico problema de “sobreventa”. Solamente que hay un truco con este problema de optimización convencional – algunos de los estimados de este modelo son inciertos o “estocásticos”. Esto incluye al número de pasajeros que en realidad sí se presentarán para abordar el vuelo, el número de reservaciones que serán demandadas en cada categoría de tarifa y el costo de dejar en tierra a un pasajero (esto es, a veces un voucher de viaje de $100 será suficiente, mientras que otras veces se requerirá de un boleto ida y vuelta). Tradicionalmente, se usan estimaciones de punto único para estos ítems, permitiendo que se ejecute una optimización normal ¿Pero qué pasa si sus estimadores no son correctos? Usted podría terminar tomando muy pocas reservaciones, enviando el avión con asientos vacíos o sobre-vendiéndolo demasiado. Usted podría vender demasiados asientos a tarifa de descuento – disminuyendo sus utilidades. Usted también podría reservar muchos asientos a tarifa completa, resultando en aviones medio vacíos. El RISKOptimizer resolverá este problema de optimización mientras se permite que usted tome en consideración la incertidumbre inherente de su modelo.

Con el ejemplo de la aerolínea, primero usted describirá la incertidumbre presente en su modelo usando distribuciones de probabilidad. Luego utilizará las ventanas de diálogo del RISKOptimizer para configurar su problema de optimización. Luego, el RISKOptimizer se ejecutará para identificar el número óptimo de reservaciones a tarifa fija y a descuento que maximizan la utilidad mientras se mantiene el riesgo a niveles aceptables.

Describiendo la incertidumbre en el modelo En el RISKOptimizer, las distribuciones de probabilidad se utilizan para describir el rango de posibles valores para los elementos inciertos en su modelo. Una distribución de probabilidad especifica los valores mínimo y máximo para un factor incierto y las probabilidades relativas de los valores entre el mínimo y el máximo.

En el RISKOptimizer, las distribuciones de probabilidad se introducen usando funciones de distribución de probabilidad. Estas son funciones personalizadas del RISKOptimizer que pueden ser introducidas en las celdas y en las fórmulas de su hoja de cálculo de la

Page 43: RISKOptimizer Es

Capítulo 3: RISKOptimizer: Paso a paso 39

misma forma que son introducidas las funciones de Excel convencionales.

Por ejemplo, la función:

♦ RiskTriang(10,20,30) especifica una distribución triangular con un valor mínimo posible de 10, un valor más esperado de 20 y un máximo de 30.

En el modelo de la aerolínea existen cinco factores inciertos, cada uno de ellos descrito por distribuciones de probabilidad. La primera de estas es:

♦ Demanda por reservaciones a tarifa completa (en celda C8), descrita por la distribución de probabilidad RiskTriang(3,7,15). Esta función especifica que el número de reservaciones a tarifa completa que será demanda podría ser tan baja como de tres, tan alta como de 15 y con un valor más esperado de 7.

Para introducir esta distribución de probabilidad:

1) Seleccione la celda C8.

2) Introduzca la fórmula =REDONDEAR(RiskTriang(3,7,15),0). La función REDONDEAR del Excel toma simplemente la muestra retornada por la función RiskTriang y la redondea a su más próximo entero. (¡No se puede tener una demanda de 3.65 reservaciones!)

Las otras distribuciones en el modelo, listadas a continuación, ya han sido introducidas en Aerolíneas.XLS. Usted puede moverse a la celda en donde cada una está localizada y revisarlas si desea.

♦ % de ausencias – reservaciones a tarifa completa (en celda C7). Esta está descrita por RiskNormal(.2,.03), implicando que en promedio el 20% de las reservaciones a tarifa completa realizadas

Page 44: RISKOptimizer Es

40 Un tour a lo largo del RISKOptimizer

no se presentan al vuelo. El porcentaje real de ausencias variará alrededor del 20% tal y como la describe una distribución normal con una media de 0.2 y una desviación estándar de.03.

♦ % de ausencias – reservaciones a tarifa de descuento(en celda C11). Esta está descrita por RiskNormal(.1,.01), implicando que en promedio el 10% de las reservaciones a tarifa a descuento realizadas no se presentan al vuelo. El porcentaje real de ausencias variará alrededor del 10% tal y como la describe una distribución normal con una media de 0.2 y una desviación estándar de.03.Se presentan al vuelo una mayor cantidad de personas con reservación a tarifa a descuento en comparación con los de tarifa completa ya que existe un $75 de cargo por cambiar los tiquetes a descuento versus nada por cambiar boletos de tarifa completa totalmente reembolsables.

♦ Demanda por reservaciones a tarifa de descuento (en celda C12), descritas por la distribución de probabilidad RiskTrigen(12,20,40,10,90). Esta función especifica que el número de reservaciones a descuento demandadas está descrito por una distribución de probabilidad triangular cuyo décimo percentil es 12, el valor más probable es 20 y el nonagésimo percentil es 40.

♦ Costo de dejar en tierra a pasajeros (en celda C23), descrito por la distribución de probabilidad RiskDiscrete({100,150,200,250},{0.1,0.4,0.4,0.1}). Esto especifica que el costo por pasajero dejado en tierra podría ser de $100, $150, $200 ó$250, ya que algunas veces los pasajeros se ofrecerán como voluntarios para quedarse en tierra en un vuelo sobrevendido por un voucher de viaje de $100, mientras que otras veces se requerirá de una mayor compensación.

Para mayor información sobre ésta y otras distribuciones de probabilidad, véase Referencia: Funciones de distribución en el manual de @RISK o en la Ayuda.

Con las distribuciones de probabilidad describiendo la incertidumbre introducida en su modelo, ahora usted puede definir la optimización utilizando cajas de diálogo del RISKOptimizer.

Page 45: RISKOptimizer Es

Capítulo 3: RISKOptimizer: Paso a paso 41

La caja de diálogo de modelo del RISKOptimizer Para definir las opciones del RISKOptimizer para esta hoja de cálculo:

1) Haga clic en el ícono de Modelo del RISKOptimizer en la barra de herramientas de RISKOptimizer (la que se encuentra en el extremo izquierdo).

Esta despliega la siguiente caja de diálogo de Modelo de RISKOptimizer:

La caja de diálogo de Modelo de RISKOptimizer está diseñada de forma tal que los usuarios puedan describir su problema de una forma simple y directa. En nuestro ejemplo del tutorial, estamos tratando de encontrar el número de reservaciones para asientos a tarifa completa y a tarifa a descuento que deben ser aceptados para poder maximizar la utilidad total general.

Page 46: RISKOptimizer Es

42 Un tour a lo largo del RISKOptimizer

Seleccionando el estadístico para la celda objetivo Las “Utilidades” en la celda C27en el modelo de Aerolínea.XLS es lo que se conoce como celda objetivo. Esta es la celda cuyo estadístico de simulación usted está intentando minimizar o maximizar, o la celda cuyo estadístico de simulación usted está tratando de hacer que se aproxime tanto como sea posible a un valor predeterminado. Para especificar el estadístico de simulación para la celda objetivo:

1) Defina la opción de “Objetivo de optimización” a “Máximo.”

2) Introduzca la celda objetivo, $C$27, en el campo de “Celda”.

3) Seleccione “Media” de la lista de tipo dropdown de “Estadístico” para seleccionar la Media como el estadístico de simulación a maximizar.

Las referencias de celda pueden ser introducidas en los campos de la caja de diálogo del RISKOptimizer de dos formas distintas: 1) Usted podría hacer clic en el campo con su cursor, y digitar directamente la referencia en el campo o bien, 2) con su cursor en el campo seleccionado, usted podría hacer clic directamente con el mouse sobre el ícono de Entrada de Referencia para seleccionar la(s) celda(s) de la hoja de cálculo.

Añadiendo rangos de celdas ajustables Ahora usted debe especificar la localización de las celdas que contienen valores que el RISKOptimizer pueda ajustar para buscar soluciones. Estas variables son añadidas y editadas bloque por bloque por medio de la caja de diálogo de Celdas ajustables. El número de celdas que usted puede introducir en la caja de diálogo de Celdas ajustables depende de la versión del RISKOptimizer que usted esté utilizando:

1) Haga clic sobre el botón “Añadir” en la sección de “Rangos de celdas ajustables”.

2) Seleccione la celda A14 en Excel como aquella que usted desea definir como una celda ajustable.

Page 47: RISKOptimizer Es

Capítulo 3: RISKOptimizer: Paso a paso 43

La mayoría de las veces usted podría querer restringir los posibles valores para un rango de celdas ajustables a un rango mínimo-máximo. En el RISKOptimizer esto se conoce como una restricción de “rango”. Usted puede introducir rápidamente este rango mín-max cuando usted selecciona el conjunto de celdas a ser ajustado. Para el ejemplo de Aerolíneas, el mínimo valor posible para las reservaciones aceptadas en este rango es 19 y el máximo es de 30. Para introducir esta restricción de rango:

1) Introduzca un 19 en la celda de Mínimo y de un 30 en la celda de Máximo.

2) En la celda de valores, seleccione Entero de la lista de tipo dropdown.

Introduciendo el rango min-Max para las celdas ajustables

Page 48: RISKOptimizer Es

44 Un tour a lo largo del RISKOptimizer

Ahora, introduzca una segunda celda a ser ajustada:

1) Haga clic sobre Añadir para introducir una segunda celda ajustable.

2) Seleccione la celda C15.

3) Introduzca un 0 como el Mínimo y un 1 como el Máximo.

Esto especifica la última celda ajustable, C15, que representa el porcentaje de total de reservaciones que será asignada a asientos de tarifa completa.

Si hubiese variables adicionales en este problema, continuaríamos añadiendo conjuntos de celdas ajustables. En el RISKOptimizer, usted puede crear un número ilimitado de grupos de celdas ajustables. Para añadir más celdas, haga clic en el botón de “Añadir” una vez más.

Más adelante, usted podría verificar las celdas ajustables o cambiar alguna de sus configuraciones. Para hacer esto, simplemente edite el rango mín-máx en la tabla. Usted también podría seleccionar un conjunto de celdas y eliminarlas al hacer clic en el botón de “Eliminar”.

Page 49: RISKOptimizer Es

Capítulo 3: RISKOptimizer: Paso a paso 45

Cuando se definen las celdas ajustables, usted puede especificar un método de solución a ser utilizado. Se pueden manejar distintos tipos de celdas ajustables por los distintos métodos de solución. Los métodos de solución se especifican para un Grupo de celdas ajustables y se cambian al hacer clic sobre el botón de “Grupo” y al desplegar la caja de diálogo de Configuración de grupo de celdas ajustables. Con frecuencia, se usará el Método de solución: de “receta” en donde el valor de cada celda puede ser cambiado independientemente de las otras. Ya que éste es seleccionado como el método por defecto, usted no tiene que cambiarlo.

Los métodos de solución de “receta” y de “orden” son los más populares y pueden ser utilizados para resolver complejos problemas combinatorios. Específicamente, el Método de solución: de “receta” trata a cada variable como el ingrediente de una receta, tratando de encontrar la “mejor mezcla” al cambiar cada valor de variable de forma independiente. De forma contrastante, el Método de solución: de “orden” permuta valores entre variables, mezclando los valores originales para encontrar el “mejor orden”.

Seleccionando un Método de solución

Page 50: RISKOptimizer Es

46 Un tour a lo largo del RISKOptimizer

Restricciones El RISKOptimizer le permite introducir restricciones que son condiciones que deben ser satisfechas para que cierta solución sea válida. En este modelo de ejemplo existen dos restricciones adicionales que deben ser satisfechas para que un posible conjunto de valores sea válido respecto del máximo número de reservaciones aceptada y el % de boletos a tarifa completa. Estas son adicionales a las restricciones de rango que ya introdujimos para las celdas ajustables. Estas son:

♦ La utilidad debe ser siempre > 0.

♦ La desviación estándar de los resultados de simulación para la utilidad deben ser < 400.

Cada vez que el RISKOptimizer genera una solución posible para su modelo, se ejecutará una simulación para tal solución. Cada simulación involucrará cientos o miles de iteraciones o de recálculos de la hoja de cálculo. En cada iteración, se muestrea un valor desde cada distribución de probabilidad en el modelo, el modelo es re calculado usando estos nuevos valores muestreados y un nuevo valor se genera para la celda objetivo. Al final de la simulación de soluciones de prueba, se genera una distribución de probabilidad para la celda objetivo usando los mismos valores calculado para cada iteración.

El RISKOptimizer puede verificar de dos formas sus restricciones:

♦ Después de cada iteración de una simulación (una restricción de “iteración”)

♦ Al final de cada simulación (una restricción de “simulación")

En el modelo de Aerolíneas, las “Utilidades deben siempre ser > 0” es una restricción de iteración, mientras que “la desviación estándar de los resultados de simulación de las utilidades deben ser <400” es una restricción de simulación. En otras palabras, después de cada iteración de una simulación, el RISKOptimizer verificará para asegurarse que las Utilidades sean mayores que 0; si no es así, la solución de prueba será descartada. Si una simulación se completa exitosamente (esto es, Utilidades > 0 para todas las iteraciones), se verificará la desviación estándar de la distribución de probabilidad de las utilidades para asegurarse que sea menor a 400; si no es así, la solución de prueba será descartada.

Restricciones de iteración y de simulación

Page 51: RISKOptimizer Es

Capítulo 3: RISKOptimizer: Paso a paso 47

Las restricciones se despliegan en el botón de la sección de Restricciones en la caja de diálogo de Modelo del RISKOptimizer. Se pueden especificar dos tipos de restricciones con el RISKOptimizer:

♦ Duras. Estas son condiciones que deben ser satisfechas para que una solución sea válida (un restricción de iteración dura podría ser que C10<=A4; en este caso, si la solución genera un valor para C10 que es mayor que el valor de la celda A4, la solución será descartada).

♦ Blandas. Estas son condiciones que desearíamos que pudieran ser satisfechas en la medida de lo posible, pero para las cuales estaríamos dispuestos a ceder a cambio de un mejoramiento significativo en el ajuste o en el resultado de la celda objetivo. (esto es, una restricción blanda podría ser C10<100. En este caso, C10 podría ser mayor que 100, pero cuando esto sucede el valor calculado para la celda objetivo se disminuiría de acuerdo a una función de penalización que usted haya introducido.)

Para añadir una restricción:

1) Haga clic sobre el botón Añadir en la sección de Restricciones en la caja de diálogo del Modelo de RISKOptimizer.

Esto desplegará la caja de diálogo de Configuración de Restricciones, en donde usted introduce las restricciones para su modelo.

Añadiendo una restricción

Page 52: RISKOptimizer Es

48 Un tour a lo largo del RISKOptimizer

Se pueden usar dos formatos – Simples y de fórmula – para la introducción de restricciones. Un formato de Rango Simple de Valores permite que se introduzcan restricciones usando relaciones simples <, <=, >, >= o =. Una restricción típica de Rango Simple de Valores podría ser 0<Valor de A1<10, en donde A1 es introducido en la caja de Rango de celda, 0 se introduce en la caja de Mín y 10 se introduce en la caja de Máx. El operador deseado se selecciona de las cajas de listas tipo drop-down. Con una restricción de formato de Rango Simple de Valores, usted puede introducir solamente un valor mínimo, un valor máximo o ambos.

Por el otro lado, una restricción de fórmula, le permite introducir cualquier fórmula válida de Excel como una restricción, tal como A19<(1.2*E7)+E8. Para cada posible solución el RISKOptimizer verificará si la fórmula introducida evalúa un VERDADERO o un FALSO para ver si la restricción ha sido satisfecha. Si usted desea usar una fórmula booleana en una celda de la hoja de cálculo como restricción, simplemente haga referencia a esa celda en el campo de Fórmula de la caja de diálogo de la Configuración de Restricciones.

Para introducir las restricciones para el modelo de aerolíneas usted deberá especificar dos nuevas restricciones. Primero, introduzca la restricción de formato duro de Rango Simple de Valores para Utilidades > 0:

1) Introduzca "Utilidad> 0"en la caja de descripción.

2) En la caja de Rango a restringir, introduzca C27.

3) Seleccione el operador > a la derecha del Rango a Restringir.

4) Limpie del valor 0 por defecto en la caja de Máximo.

5) A la izquierda del Rango a Restringir, limpie el operador al seleccionar un espacio en blanco de la lista de tipo dropdown.

6) Haga clic sobre “Cada iteración de cada simulación”, y luego digite Aceptar. Esto especifica que usted siempre deberá asegurarse que la Utilidad es mayor que 0, independientemente del número de reservaciones que se admitan.

Restricciones de rangos simples de valores y de fórmulas

Page 53: RISKOptimizer Es

Capítulo 3: RISKOptimizer: Paso a paso 49

7) Haga clic sobre Aceptar para introducir esta restricción.

Ahora, introduzca la restricción de simulación:

1) Haga clic sobre Añadir para desplegar de nuevo la caja de diálogo de Configuración de Restricciones.

2) Teclee “Desv Est de Utilidad < 400” en la caja de descripción.

3) En la caja de Rango a Restringir, introduzca C27.

4) Seleccione el operador < a la derecha del Rango de Celda.

5) Introduzca 400 en la caja de Máx.

6) A la izquierda del Rango a Restringir, limpie el operador al seleccionar el espacio en blanco de la lista de tipo dropdown.

7) Haga clic sobre la lista de tipo dropdown de Estadístico a Restringir y seleccione "Desviación estándar".

8) Haga clic sobre Aceptar.

Page 54: RISKOptimizer Es

50 Un tour a lo largo del RISKOptimizer

Su diálogo de Modelo con la sección completada de restricciones debería verse como acá:

Page 55: RISKOptimizer Es

Capítulo 3: RISKOptimizer: Paso a paso 51

Otras opciones de RISKOptimizer Opciones tales como Actualizar despliegue, Semilla de número aleatorio, Condiciones de detención de optimización y Condiciones de detención de simulación están disponibles para poder controlar cómo el RISKOptimizer opera durante una optimización. Especifiquemos algunas condiciones de detención y configuraciones de actualización de despliegue.

El RISKOptimizer ejecutará una optimización todo lo que usted desee. Las condiciones de detención le permiten al RISKOptimizer detenerse automáticamente cuando ya sea: a) un determinado número de escenarios o “pruebas” hayan sido examinados, b) una determinada cantidad de tiempo ha transcurrido, c) no se ha encontrado mejoramiento en los últimos n escenarios, d) la fórmula Excel introducida retorna un VERDADERO, o e) se calcula un valor de error para la celda objetivo. Para visualizar y editar las condiciones de detención:

1) Haga clic sobre el ícono de Configuración de Optimización en la barra de herramientas del RISKOptimizer.

2) Seleccione la pestaña de Tiempo de ejecución.

Condiciones de detención de optimización

Page 56: RISKOptimizer Es

52 Un tour a lo largo del RISKOptimizer

En la caja de diálogo de Configuración de la Optimización usted puede seleccionar cualquier combinación de estas condiciones de detención de optimización, o ninguna. Si usted selecciona más de una condición de detención, el RISKOptimizer se detendrá cuando cualesquiera de las condiciones seleccionadas haya sido satisfecha. Si usted no selecciona ninguna condición de detención, el RISKOptimizer se ejecutará para siempre, hasta que usted digite manualmente el botón de “detención” en la barra de herramientas del RISKOptimizer.

Simulaciones  Tiempo  Progreso  Fórmula es verdadera 

Esta opción define el número de simulaciones que usted desea que el RISKOptimizer ejecute. El RISKOptimizer ejecuta una simulación para un conjunto completo de variables o una solución posible del problema.

El RISKOptimizer se detendrá después de que una cantidad especificada de tiempo haya transcurrido. El número puede ser una fracción.(4.25).

Esta condición de detención es la más popular porque rastrea el mejoramiento y permite que el RISKOptimizer se ejecute hasta que la tasa en mejoramiento haya decrecido. Por ejemplo, el RISKOptimizer podría detenerse si 100 simulaciones han pasado y aún no hemos encontrado algún cambio en el mejor escenario encontrado hasta ese momento.

El RISKOptimizer se detendrá si la fórmula introducida del Excel evalúa un VERDADERO en una simulación.

1) Defina los Minutos = 5 para permitir que el RISKOptimizer se ejecute durante cinco minutos.

Page 57: RISKOptimizer Es

Capítulo 3: RISKOptimizer: Paso a paso 53

El RISKOptimizer ejecuta una simulación completa de su modelo para cada prueba de solución que genere. Usted puede especificar cuánto ejecutar cada una de estas simulaciones utilizando las Condiciones de Detención de Simulación. Usted puede ejecutar cada simulación para un determinado número fijo de iteraciones, o alternativamente, permitir que el RISKOptimizer determine cuándo detener cada simulación.

Iteraciones  Detención en convergencia real 

Detención en convergencia proyectada 

Esta opción le permite ejecutar cada simulación durante un determinado número fijo de iteraciones. En este caso, el RISKOptimizer ejecutará el número especificado de iteraciones para cada simulación que se lleve a cabo para cada solución de prueba generada por el RISKOptimizer (a menos que se detenga prematuramente cuando no se satisfaga una restricción de iteración). 

Esta opción le instruye al RISKOptimizer que detenga cada simulación cuando la distribución generada tanto para 1) celda objetivo de la optimización y 2) las celdas referenciadas en las restricciones de simulación están estables y los estadísticos de interés hayan convergido. La cantidad de variación permitida en un estadístico cuando está marcado como “convergido” se define en la opción de Tolerancia. 

Esta opción le instruye al RISKOptimizer que detenga cada simulación cuando pueda proyectar internamente que las distribuciones generadas tanto para 1) la celda objetivo de la optimización y 2) las celdas referenciadas en las restricciones de simulación están estables. El RISKOptimizer proyecta la convergencia basada en los resultados de simulaciones previas que se hayan ejecutado durante la optimización.  

1) Defina las Iteraciones = 500 para hacer que el RISKOptimizer ejecute una rápida simulación para cada solución de prueba.

Condiciones de detención de simulación

Page 58: RISKOptimizer Es

54 Un tour a lo largo del RISKOptimizer

El RISKOptimizer puede desplegar una descripción persistente de cada simulación ejecutada durante una optimización, incluyendo el valor del estadístico objetivo calculado, los estadísticos básicos de la distribución simulada de los valores de la celda objetivo, los valores de la celda ajustable usados y si las restricciones han sido satisfechas o no. Para visualizar esta bitácora durante una optimización:

1) Haga clic sobre la pestaña de Visualizar y seleccione “Mantener bitácora de todas las simulaciones” en la caja de diálogo de Configuración de optimización.

Llevando una bitácora de datos de simulación

Page 59: RISKOptimizer Es

Capítulo 3: RISKOptimizer: Paso a paso 55

Ejecutando la optimización Ahora, todo lo que queda es optimizar el modelo para determinar el número máximo de reservaciones para cada categoría de tarifas que maximizan su utilidad. Para hacer esto:

1) Haga clic sobre Aceptar para salir de la caja de diálogo de Configuración de optimización.

2) Haga clic sobre el ícono de Iniciar Optimización.

A medida que el RISKOptimizer inicia a trabajar sobre su problema, usted verá el mejor valor actual para sus celdas ajustables – # total de reservaciones aceptadas y % de reservaciones de tarifa completa – en su hoja de cálculo. La mejor media para las Utilidades se muestra en azul con una flecha apuntando hacia la celda objetivo.

Durante la ejecución, la ventana de Progreso despliega: 1) la mejor solución encontrada hasta ese momento, 2) el valor original para el estadístico seleccionado de simulación para la celda objetivo cuando la optimización de RISKOptimizer se inició, 3) el número de simulaciones de su modelo que han sido ejecutadas y el número de tales simulaciones que fueron validas, esto es, en donde todas las restricciones fueron satisfechas y 4) el tiempo transcurrido durante la optimización.

En cualquier momento durante la ejecución usted puede hacer clic sobre el ícono de Opciones de Despliegue de Actualización de Excel para observar una actualización en vivo en la ventana de cada simulación.

Page 60: RISKOptimizer Es

56 Un tour a lo largo del RISKOptimizer

El RISKOptimizer también puede desplegar una bitácora dinámica de las simulaciones llevadas a cabo para cada solución de prueba. Esta se despliega en el Observador del RISKOptimizer mientras se ejecute el RISKOptimizer. El Observador del RISKOptimizer le permite a usted explorar y modificar muchos aspectos de su problema a medida que se ejecuta. Para visualizar una bitácora dinámica de las simulaciones llevadas a cabo:

1) Haga clic sobre el ícono de Observador (lente) en la ventana de Progreso para desplegar el Observador del RISKOptimizer.

2) Haga clic sobre la pestaña de Bitácora.

En este reporte, se muestran los resultados de la corrida de la simulación para cada solución de prueba. La columna de Resultado muestra para cada simulación el valor del estadístico de la celda objetivo que usted está intentando de maximizar o minimizar – en este caso, la media de la Utilidad en $C$27. Las columnas para Media del resultado, Desv Est del resultado, mín del resultado y máx del resultado describen la distribución de probabilidad para la celda objetivo Utilidad que fue calculada para cada simulación. Las columnas para $C$14 y $C$15 identifican los valores usados para sus celdas ajustables. Las columnas para Desv Est < 400 y Utilidad > 0 para mostrar que sus restricciones fueron satisfechas en cada simulación.

El Observador del RISKOptimizer

Page 61: RISKOptimizer Es

Capítulo 3: RISKOptimizer: Paso a paso 57

Después de cinco minutos, el RISKOptimizer detendrá la optimización. Usted también puede detener la optimización al:

1) Hacer clic sobre el ícono de Detener en las ventanas del Observador del RISKOptimizer o en la de Progreso.

Cuando el proceso del RISKOptimizer se detiene, el RISKOptimizer despliega una pestaña de Opciones de Detención que ofrece las siguientes opciones:

Estas mismas opciones aparecerán automáticamente cuando cualesquiera de las condiciones de detención que fueron definidas en la caja de diálogo de la Configuración de la Optimización del RISKOptimizer se satisfagan.

Deteniendo la optimización

Page 62: RISKOptimizer Es

58 Un tour a lo largo del RISKOptimizer

El RISKOptimizer puede crear un reporte resumen de optimización que contiene información tale como la fecha y hora de la corrida, las configuraciones de optimización utilizados, el valor calculado para la celda objetivo y el valor para cada una de las celdas ajustables.

Este reporte es útil para comparar los resultados de optimizaciones sucesivas.

Reporte resumen

Page 63: RISKOptimizer Es

Capítulo 3: RISKOptimizer: Paso a paso 59

Para colocarla nueva y optimizada mezcla de niveles de producción para las Aerolíneas de las dieciséis tareas en su hoja de cálculo:

1) Haga clic en el botón de “Detener”.

2) Asegúrese que la opción de “Actualizar valores de celda ajustable mostrados en el libro de trabajo” esté puesto en “Mejor”.

Usted será devuelto a la hoja de cálculo de AEROLINEAS.XLS, con todos los nuevos valores de variables que crearon la mejor solución. Recuérdese que la mejor solución es la media de los resultados de simulación para la Utilidad y éste no es el mismo valor mostrado para un simple recálculo de las Utilidades que use los mejores valores de la variable. La mejor media se muestra en la caja azul con la flecha que apunta hacia la Utilidad.

NOTA IMPORTANTE: Aún cuando en nuestro ejemplo usted puede observar que el RISKOptimizer encontró una solución que generó una utilidad total de 2236.03, su resultado podría ser un poco mayor o menor que este. El RISKOptimizer pudo también haber encontrado una combinación diferentes para el Máximo de Reservaciones Aceptadas y para el Porcentaje Vendido a Tarifa Completa que hubiese producido la misma nota total. Estas diferencias se deben a una distinción importante entre el RISKOptimizer y todos los algoritmos de resolución de problemas: es la naturaleza aleatoria del motor de algoritmos genéticos del RISKOptimizer lo que permite resolver una amplia variedad de problemas y de encontrar mejores soluciones.

Colocando los resultados en su modelo

Page 64: RISKOptimizer Es

60 Un tour a lo largo del RISKOptimizer

Cuando usted no guarda una hoja de cálculo después de que el RISKOptimizer se ha ejecutado sobre ella (aún cuando usted “restaure” a los valores originales de su hoja después de haber ejecutado el RISKOptimizer ), todas las configuraciones en las cajas de diálogo del RISKOptimizer serán guardadas junto con la hoja de cálculo. La próxima vez que la hoja sea abierta, todas las configuraciones más recientes del RISKOptimizer se cargarán automáticamente. Todas las otras hojas de cálculo de ejemplos contienen las configuraciones de RISKOptimizer previamente cargadas y listas para ser optimizadas.

NOTA: Si usted desea echar una mirada al modelo de Aerolíneas con todas las configuraciones de optimización previamente completadas, ábrase el archivo RENDAEREOS.XLS.

Page 65: RISKOptimizer Es

Capítulo 4: Aplicaciones ejemplo 61

Capítulo 4: Aplicaciones ejemplo

Introducción ......................................................................................63 Distribución presupuestaria............................................................65 Planeamiento de capacidad.............................................................67 Programador de clases....................................................................69 Haciendo coberturas con futuros ...................................................73 Programación de producción en un taller .....................................75 Balanceo de una cartera de inversiones........................................77 Mezcla de carteras............................................................................81 Riesgo de cartera..............................................................................83 Problema del vendedor ambulante.................................................85 Administración de rendimientos.....................................................87

Page 66: RISKOptimizer Es

62

Page 67: RISKOptimizer Es

Capítulo 4: Aplicaciones ejemplo 63

Introducción Este capítulo explica cómo el RISKOptimizer puede ser usado en una variedad de aplicaciones. Estas aplicaciones de ejemplo podrían no incluir todas las características que usted desearía tener en sus propios modelos, y son más efectivos como generadores de ideas y plantillas. Todos los ejemplos ilustran cómo el RISKOptimizer busca soluciones al basarse en las relaciones ya existentes en su hoja de cálculo, de tal forma que es importante que su modelo de hoja de cálculo refleje precisamente el problema que usted está tratando de resolver.

Todas las hojas de cálculo ejemplo de Excel pueden ser encontradas en su directorio de RISKOptimizer 5en el subdirectorio denominado “EJEMPLOS".

Cada ejemplo viene con todas las configuraciones de RISKOptimizer previamente seleccionadas, incluyendo la celda objetivo, las celdas ajustables, los métodos de solución y las restricciones. Lo motivamos a que examine estos diálogos de configuración antes de proceder a optimizar. Al estudiar las fórmulas y experimentar con distintas configuraciones del RISKOptimizer, usted puede obtener una mejor comprensión de cómo se utiliza el RISKOptimizer. También, los modelos le permiten reemplazar los datos muestrales con sus propios datos de “usuario”. Si usted decide modificar o adaptar estas hojas de ejemplo, sería recomendable que las guarde con un nuevo nombre para preservar los ejemplos originales para referencia posterior.

Page 68: RISKOptimizer Es

64

Page 69: RISKOptimizer Es

Capítulo 4: Aplicaciones ejemplo 65

Distribución presupuestaria Un ejecutivo principal desea encontrar la forma más efectiva para distribuir los fondos entre varios departamentos de la compañía para maximizar las utilidades. A continuación hay un modelo de un negocio y sus utilidades proyectadas para el próximo año. El modelo estima las utilidades del año entrante al examinar el presupuesto anual y al hacer supuestos sobre, por ejemplo, cómo la publicidad afecta las ventas. Las estimaciones inciertas incluyen distribuciones de probabilidad que reflejan los rangos de posibles valores. Este es un modelo simple, pero ilustra cómo usted puede configurar cualquier modelo y utilizar el RISKOptimizer para alimentarlo de variables de entrada para encontrar la mejor variable de salida.

Archivo ejemplo: Presup.xls

Objetivo: Distribuir el presupuesto anual entre cinco departamentos para maximizar las utilidades del año entrante.

Método de solución: presupuesto

Problemas similares: Distribuir cualquier recurso escaso (tal como mano de obra, dinero, energía, tiempo) a entidades que puedan utilizarlos en diferentes maneras o con diferentes eficiencias.

Page 70: RISKOptimizer Es

66 Distribución presupuestaria

El archivo “presup.xls” modela los efectos del presupuesto de una compañía sobre sus ventas futuras y su utilidad. Las celdas C4:C8 (las variables) contienen las cantidades a ser gastadas en cada uno de los cinco departamentos. Estos valores totalizan la cantidad en la celda C10, el presupuesto total anual para la compañía. Este presupuesto es definido por la compañía y es invariable.

Las celdas F6:F10 computan es estimado de la demanda para el producto de la compañía el año entrante, basado en los presupuestos de publicidad y de mercadeo. El monto de ventas reales es el mínimo de la demanda calculada y la oferta. La oferta es dependiente del monto asignado a los departamentos de producción y operaciones. Los estimados inciertos en el modelo se incluyen como distribuciones de probabilidad usados en los cálculos para la estimación de ventas en las celdas F6 a F10.

Maximice la utilidad en la celda I16 utilizando el método de solución de “presupuesto” (“budget”) para ajustar los valores en las celdas C4:C8. Defina los rangos independientes para cada una de las celdas ajustables para el presupuesto de cada departamento, para evitar que RISKOptimizer intente valores negativos, o números que no corresponderían a soluciones correctas (por ejemplo, todo en publicidad y nada en producción) para el presupuesto departamental.

El método de solución de “presupuesto” (“budget”) trabaja como el método de solución de “receta” (“recipe”), en el hecho de que está tratando de encontrar la “mezcla” adecuada a las variables escogidas. Cuando usted utiliza el método de presupuesto, sin embargo, usted agrega la restricción de que todas las variables deben sumar al mismo número que había antes de que RISKOptimizer iniciara la optimización.

Cómo funciona el modelo

Cómo resolverlo

Page 71: RISKOptimizer Es

Capítulo 4: Aplicaciones ejemplo 67

Planeamiento de capacidad Este modelo utiliza al RISKOptimizer para seleccionar el nivel de capacidad para una nueva planta para poder maximizar las utilidades. En el modelo, Zooco está pensando mercadear un nuevo fármaco utilizado para hacer más sanos a los hipopótamos. Un modelo de simulación estándar es utilizado para generar la distribución del VAN para la producción del nuevo fármaco. Sin embargo, es necesario decidir sobre cuál capacidad de planta construir. ¿Cuál nivel de capacidad maximiza el VAN ajustado al riesgo?

Archivo ejemplo: capacidad.xls

Objetivo: Maximizar la media de la distribución simulada para el VPN al cambiar la capacidad de planta.

Método de solución: receta

Problemas similares: Análisis de negocios que combinan los modelos de simulación tradicional con variables de decisión controladas por el usuario.

Page 72: RISKOptimizer Es

68 Planeamiento de capacidad

Al principio del año actual, existen 1,000,000 de hipopótamos que podrían utilizar el producto como se muestra en la celda B11. Cada hipopótamo utilizará el fármaco (o el fármaco de la competencia) como máximo una vez al año. Se estima que el número de hipopótamos crecerá a una tasa promedio de 5% por año, y estamos 95% seguros que el número de hipopótamos crecerá cada año entre 3% y 7% (modelado utilizando distribuciones de probabilidad en las celdas B11 a F11). No estamos seguros de cuál será la tasa de utilización del fármaco durante el año 1, pero nuestra estimación más pesimista es un 20% de uso, la más probable es un 40% y el más optimista en un 70% (modelado utilizando distribución de probabilidad en la celda B12). En años posteriores, creemos que la fracción de hipopótamos usando nuestro fármaco (o el de la competencia) se mantendrá igual, pero en el año después de que un competidor entra, perdemos el 20% de nuestra participación por cada competidor que entre. Cuesta $3.50 construir una unidad de capacidad anual y $0.30 por año operar una unidad de capacidad (sea que utilicemos o no la capacidad de producción del fármaco). Cualquier nivel de capacidad entre 100,000 y 500,000 unidades puede ser construido.

Utilice el método de solución de receta (“recipe”) para la celda G5. Maximice la media simulada en B21.

Cómo funciona el modelo

Cómo resolverlo

Page 73: RISKOptimizer Es

Capítulo 4: Aplicaciones ejemplo 69

Programador de clases Una universidad debe asignar 25 diferentes clases a 6 bloques predefinidos de tiempo. Debido a que el programa debe ser desarrollado antes de la matrícula de los estudiantes, el número real de estudiantes por clase es incierto. Cada clase utiliza exactamente un bloque de tiempo. Normalmente, esto nos permitiría tratar el problema con el método de solución de “agrupamiento”. Sin embargo, existen un número de restricciones que deben ser satisfechas a medida que las clases son programadas. Por ejemplo, biología y química no deben ocurrir en el mismo tiempo de forma tal que los estudiantes de pre-medicina puedan tomar ambas clases en el mismo semestre. Para satisfacer tales restricciones, utilizamos alternativamente el método de solución de “calendarización”. El método de solución de “calendarización es como el método de agrupamiento, sólo que con la restricción de que ciertas tareas deben (o no deben) ocurrir antes (o después o durante) otras tareas.

Archivo ejemplo: clases.xls

Objetivo: Asignar 25 clases a 6 periodos de tiempo para minimizar la media de la distribución simulada del número de estudiantes que quedan excluidos de los cursos. Satisfacer un número de restricciones respecto de qué clases debe suceder en qué momento.

Método de solución: calendarización

Problemas similares: Cualquier problema de programación en donde todas las tareas sean de la misma duración y puedan ser asignadas a cualquier número de bloques de tiempo discretos. También, cualquier problema de agrupamiento en donde existan restricciones respecto de ciertos ítems que deben ser asignados a determinados grupos.

Page 74: RISKOptimizer Es

70 Programador de clases

El archivo de “clases.xls” contiene un modelo de un problema típico de calendarización en donde se deben satisfacer muchas restricciones. El rango de posibles valores para cada clase está dado por las distribuciones de probabilidad introducidas en el rango D8:D32 denominado “Tamaño real”. Las celdas C8:C32 asignan las 25 clases a los 6 bloques de tiempo. Sólo existen cinco aulas disponibles, de forma tal que la asignación de más de cinco cursos a un bloque de tiempo implicaría que al menos una de los cursos no podría efectuarse.

Las celdas L20:N28 contienen las restricciones; a la izquierda de las restricciones se encuentran descripciones de las restricciones en castellano. Usted puede usar tanto el código de número o la descripción en castellano de la restricción. La lista de los códigos de restricción para problemas de calendarización puede ser encontrada con mayor detalle en la sección de “Métodos de solución” del Capítulo 5: Referencia del RISK.

Cada calendario posible es evaluado al calcular tanto a) el número de cursos que no pueden satisfacerse y b) el número de estudiantes que no pueden matricularse en sus cursos debido a que las aulas están llenas. Esta última restricción impide al RISKOptimizer de calendarizar todos los cursos grandes en el mismo tiempo. Si sólo uno o dos cursos se llevan a cabo durante un bloque de tiempo, las aulas más grandes pueden ser utilizadas para ellos.

Cómo funciona el modelo

Page 75: RISKOptimizer Es

Capítulo 4: Aplicaciones ejemplo 71

Las celdas J11:M11 usan la función de Excel DCONTAR para contar cuántas clases son asignadas a cada bloque de tiempo. La sección justo debajo de las celdas J12:M12 calcula cuántos cursos no obtuvieron asignación de aula para ese bloque de tiempo. Todos los cursos que no obtengan aula se totalizan en la celda L13.

Si el número de asientos requeridos por un curso en particular excede el número de asientos disponibles, las celdas J15:M15 calculan cuánto y el número total de estudiantes sin cupo se calcula en la celda L16. En la celda G9, el número total de estudiantes sin cupo se añada al tamaño de curso promedio y se multiplica por el número de cursos que no obtuvieron aula. De esta forma, tenemos una sola celda que combina todas las penalizaciones de forma tal que un número bajo en esta celda siempre indicará una mejor calendarización.

Minimice la media de la distribución simulada de las penalizaciones en la celda G9 al cambiar las celdas C8:C32. Use el método de solución de “calendario”. Cuando se selecciona este tipo de método de solución, usted verá un número de opciones relacionadas que aparecen en la sección inferior de “opciones” en la caja de diálogo. Defina el número de bloques de tiempo a 6 y defina las celdas de restricción en L20:N28.

Cómo resolverlo

Page 76: RISKOptimizer Es

72

Page 77: RISKOptimizer Es

Capítulo 4: Aplicaciones ejemplo 73

Haciendo coberturas con futuros Hoy es 8 de junio de 2000. GlassCo requiere comprar 500,000 galones de aceite de combustión el 8 de noviembre de 2000. El precio spot actual del aceite es de $0.42 por galón. Se asume que los precios del aceite obedecen a una variable aleatoria Lognormal con promedio = 0.08 y desviación estándar = 0.30. La tasa libre de riesgo es de 6%. Estamos buscando una cobertura sobre el riesgo de precio inherente a nuestra futura compra de aceite por medio de la compra de futuros de aceite que vencen al 8 de diciembre de 2000. ¿Cuántos futuros debemos adquirir?

Archivo ejemplo: petróleo.xls

Objetivo: Encuentre el número de contratos a futuro a adquirir para protegerse en contra de los cambios de precio respecto de la compra en el futuro.

Método de solución: receta

Problemas similares: Modelos de minimización de riesgo donde el objetivo consiste en minimizar la desviación estándar del objetivo.

Page 78: RISKOptimizer Es

74 Haciendo coberturas con futuros

El modelo intenta asegurarse que el costo de comprar 500,000 galones de aceite de combustión en el futuro sea tan predecible como sea posible utilizando contratos a futuro para protegerse en contra de las oscilaciones en los precios. Los factores inciertos en el modelo son el precio futuro spot del aceite (celda B13) y el precio futuro de los Futuros de Aceite (celda B15).

Lo primero que necesitamos hacer es escoger una celda ajustable. Para este modelo, deseamos ajustar la celda B12 – el # de contratos a futuro a ser adquiridos (posición “larga”) – para minimizar la desviación estándar del costo total en la celda B23. El número mínimo de contratos que pueden ser adquiridos es 0 y el máximo es 600,000.

Cómo funciona el modelo

Cómo resolverlo

Page 79: RISKOptimizer Es

Capítulo 4: Aplicaciones ejemplo 75

Programación de producción en un taller Un taller de metalmecánica requiere encontrar la mejor manera para programar un conjunto de trabajos que pueden ser atomizados en distintas actividades a ser llevadas a cabo en distintas máquinas. Cada trabajo se compone de cinco tareas, y las tareas deben ser completadas en orden. Cada tarea debe ser realizada en una máquina específica, u toma un tiempo incierto su finalización. Existen cinco trabajos y cinco máquinas.

Al hacer clic sobre el botón de Dibujar Programación (“Draw Schedule”) en la parte superior de la hoja, se redibujará el gráfico de barras para mostrar cuando está programado para ejecutarse cada trabajo.

Archivo ejemplo: taller.xls

Objetivo: Asignar piezas de trabajo (tareas) a máquinas de tal forma que el tiempo total en que se terminan todos los trabajos se minimice.

Método de solución: orden

Problemas similares: Problemas de programación o administración de proyectos

Page 80: RISKOptimizer Es

76 Programación de producción en un taller

La longitud incierta de cada tareas está descrita por las distribuciones de probabilidad en las celdas E11 a E35. La celda D5 computa la duración total, o cuánto tiempo transcurre entre el inicio de la primera tarea programada y el final de la última tarea programada. Este tiempo total es lo que deseamos minimizar. Las celdas G11:G35 mantienen las variables (las tareas) que deben ser programadas para encontrar el mejor orden de asignación. Las ecuaciones en la hoja calculan qué tan pronto cada tarea puede ejecutarse en la máquina que requiera.

Seleccione un conjunto de celdas ajustables G11:G35 y seleccione el método de solución de orden (“order”). Minimice la media de los resultados de simulación para la celda D5.

Cómo funciona el modelo

Cómo resolverlo

Page 81: RISKOptimizer Es

Capítulo 4: Aplicaciones ejemplo 77

Balanceo de una cartera de inversiones Un corredor bursátil tiene una lista de 80 activos financieros de distintos tipos que valdrán de manera distinta e incierta una cantidad de dinero en el futuro. El corredor desea agrupar estos activos en cinco paquetes (carteras) que se parezcan lo más posible entre sí mismos en valor total de acá a un año.

Este es un ejemplo de una clase general de problemas denominado problemas de empacamiento por compartimentos. Otro ejemplo es el del embalaje del contenido de un barco de carga de tal forma que cada contenedor pese tanto como los otros. Si existen millones de pequeños ítems a ser embalados en pocos grupos, tal y como granos de trigo en los contenedores de un barco, se puede estimar una distribución igual en términos brutos sin que se genere una gran diferencia en el peso. Sin embargo, algunas docenas de paquetes de diferentes pesos y/o tamaños pueden ser embalados en muchas distintas maneras, y el embalado eficiente puede mejorar el equilibrio que podría ser llevado a cabo manualmente.

Archivo ejemplo: cartequil.xls

Objetivo: Asignar piezas de trabajo (tareas) a máquinas de tal forma que el tiempo total en que se terminan todos los trabajos se minimice.

Método de solución: agrupamiento

Problemas similares: Creación de equipos que contengan en términos aproximados habilidades colectivas equivalentes. Embalaje de contenedores en las bodegas de un barco, de forma tal que el peso se distribuya parejamente.

Page 82: RISKOptimizer Es

78 Balanceo de una cartera de inversiones

El archivo “cartequil.xls” modela una asignación por agrupamiento típica. La columna A contiene números de identificación de activos financieros específicos, y la columna B identifica la clase de cada activo financiero (la hoja de trabajo ACTIVOS provee información sobre cada clase de activo). Las columnas C, D y E dan el valor en dólares actual de cada activo financiero y la media y la desviación estándar del rendimiento para el próximo año del activo financiero (de la forma cómo está determinado por la clase de activo). La columna F calcula el valor del activo financiero de aquí a un año utilizando la tasa de rendimiento muestreada de la distribución de probabilidad que utiliza la media y la desviación estándar mostradas. La columna G asigna cada activo financiero a una de las cinco carteras. A la hora de ajustar los parámetros de un problema de tipo de agrupamiento o de empacamiento por compartimentos y al utilizar el método de solución por agrupamiento (“grouping”), usted debe asegurarse que antes de iniciar el RISKOptimizer cada grupo (1-5) está representado en el escenario actual al menos una vez.

Las celdas F6:F10 calculan el valor total de cada uno de las cinco carteras. Esto se hace con un criterio de base de datos fuera de pantalla (en la columna I) y con fórmulas “DSUMA()” en las celdas F6:F10. De esta forma, la celda F6, por ejemplo, calcula la DSUMA de todos los valores en la columna B que han sido asignados al grupo 5 (en la columna C).

Cómo funciona el modelo

Page 83: RISKOptimizer Es

Capítulo 4: Aplicaciones ejemplo 79

La celda F12 computa la desviación estándar entre los valores de la cartera total utilizando la función “DESVEST()”. Esta provee una medida de qué tan cercanos se encuentran las carteras en valor total entre sí mismas. El gráfico muestra el valor total de cada cartera, con una línea de referencia marcada en el número meta en donde cada cartera estaría si todas estuviesen parejas.

Minimice la media de los resultados de simulación para la celda F12 al ajustar las celdas en C5:C104. Utilice el método de agrupamiento (“grouping”) y asegúrese que los valores 1, 2, 3, 4 y 5 aparezcan cada uno una vez en la columna C.

El método de solución por agrupamiento (“grouping”) le indica al RISKOptimizer que distribuya las variables en x grupos, donde x es el número de valores distintos en las celdas ajustables al inicio de una optimización.

Cómo resolverlo

Page 84: RISKOptimizer Es

80

Page 85: RISKOptimizer Es

Capítulo 4: Aplicaciones ejemplo 81

Mezcla de carteras Una joven pareja posee activos en muchos diferentes tipos de inversiones, cada uno con su propio rendimiento, potencial de crecimiento y riesgo. Su objetivo es encontrar la combinación de inversiones que maximice el rendimiento total y simultáneamente mantener el riesgo a un nivel aceptable.

Archivo ejemplo: MezclaCartera.xls

Objetivo: Encontrar la mezcla óptima de inversiones que maximice la utilidad, dadas sus necesidades actuales de riesgo versus rendimiento.

Método de solución: presupuesto

Page 86: RISKOptimizer Es

82 Mezcla de carteras

Este es el clásico modelo financiero que intenta equilibrar el riesgo de pérdida versus el rendimiento sobre la inversión. Cada activo listado en la columna A posee inciertos porcentajes de crecimiento de capitalización y rendimiento fijo. El rendimiento total suma el crecimiento por capitalización y el interés. El objetivo es maximizar el rendimiento total y simultáneamente mantener la desviación estándar del rendimiento sobre la cartera en menos del 9%.

El rendimiento total en la celda D33refleja la suma del crecimiento por capitalización total y el interés total. Maximizamos la media de la distribución simulada para esta celda. Se introduce una restricción dura de simulación que especifica que la desviación estándar de la celda D33debe ser menor a 0.09.

Cómo funciona el modelo

Cómo resolverlo

Page 87: RISKOptimizer Es

Capítulo 4: Aplicaciones ejemplo 83

Riesgo de cartera Un inversionista desea determinar la manera más segura para estructurar una cartera de distintas inversiones. Los datos históricos han demostrado que los rendimientos sobre las inversiones están correlacionados. El objetivo es dividir la cartera total entre tres inversiones disponibles para poder obtener el rendimiento deseado del 12% y al mismo tiempo minimizar el riesgo, o la desviación estándar, del rendimiento de la cartera.

Archivo ejemplo: matrizcorr.xls

Objetivo: Minimizar la desviación estándar del rendimiento de la cartera y simultáneamente obtener el rendimiento deseado.

Método de solución: presupuesto

Problemas similares: cualquier modelo de minimización.

Page 88: RISKOptimizer Es

84 Riesgo de cartera

Cada una de las tres inversiones disponibles posee un rendimiento incierto que es modelado utilizando las distribuciones de probabilidad en las celdas E3 a E5. Para correlacionar los rendimientos de las tres inversiones se utiliza la función RiskCorrmat con la matriz de correlación localizada en J9:L11. RISKOptimizer ajustará los porcentajes de la cartera distribuida a cada inversión. El método de solución de “presupuesto” (“budget”) se utiliza para asegurar que el porcentaje total distribuido siempre sume 100%.

El objetivo es minimizar la desviación estándar del rendimiento total de la cartera, y simultáneamente cumplir la restricción de que el rendimiento total sea mayor o igual a 12%.

Minimice la desviación estándar de los resultados de la simulación para la celda G6. Introduzca una restricción dura de simulación de que la media de los resultados de simulación para la celda G6 debe ser mayor o igual a 0.12.

Cómo funciona el modelo

Cómo resolverlo

Page 89: RISKOptimizer Es

Capítulo 4: Aplicaciones ejemplo 85

Problema del vendedor ambulante Se requiere que un vendedor visite una vez cada ciudad en el territorio asignado. ¿Cuál es la ruta con el mínimo tiempo de viaje posible que permite visitar todas las ciudades? Este es un problema de optimización clásico con una pequeña diferencia – el tiempo de viaje entre cada ciudad es incierto – y tal diferencia la hace extremadamente difícil de resolver para las técnicas convencionales si existe un gran número de ciudades involucradas. (> 50).

Un problema similar podría ser el de encontrar el mejor orden para ejecutar tareas en una fábrica. Por ejemplo, sería mucho más fácil aplicar la pintura negra después de aplicar la pintura blanca en vez de al revés. En el RISKOptimizer, este tipo de problemas puede ser resuelto de la mejor manera con el método de solución de orden (“order”).

Archivo ejemplo: vendedor.xls

Objetivo: Encuentre la ruta con el tiempo de viaje más corto entre n ciudades para visitar una vez cada ciudad.

Método de solución: orden

Problemas similares: Planeamiento del taladrado de los agujeros de una tarjeta de circuitos integrados de la manera más rápida posible.

Page 90: RISKOptimizer Es

86 Problema del vendedor ambulante

El archivo “vendedor.xls” calcula el tiempo de viaje de una ruta a varias ciudades al buscar desde una tabla los tiempos de viaje entre ciudades. Los tiempos de viaje entre cualesquiera dos ciudades se describe por una distribución de probabilidad (existen 200 distribuciones de probabilidad en la tabla). La columna A contiene números identificadores para ciudades específicas. La columna B contiene los nombres que tales números representan (con una función de búsqueda). El orden en que las ciudades (y sus números) aparecen desde arriba hacia abajo representan el orden en que las ciudades serán visitadas. Por ejemplo, si usted introdujese un “9” en la celda A3, entonces Ottawa sería la primera ciudad en visitar. Si A4 contuviere un “6” (Halifax), entonces Halifax sería la segunda ciudad visitada.

Los tiempos de viaje entre las ciudades están representados por las distribuciones de probabilidad en la tabla que se inicia en C25. Estas distribuciones hacen referencia a la tabla que se inicia en C48 que contiene las distancias de manejo reales entre las ciudades. Las distancias en la tabla son simétricas (la distancia de A a B es la misma de B a A). Sin embargo, los modelos más realistas podrían no incluir distancias simétricas para representar una mayor dificultad de travesía en cierto sentido (debido a puestos de peaje, disponibilidad de transporte, vientos de popa, pendiente, etc.).

Una función debe ser ahora utilizada para calcular la longitud de la ruta entre estas ciudades. La longitud total de la ruta será almacenada en la celda G2, la celda que deseamos optimizar. Para hacer esto, utilizamos la función “RouteLength”. Esta es una función personalizada en VBA en vendedor.xls.

Minimice el valor en la celda G2 al ajustar las celdas en A3:A22. Utilice el método de “orden” (“order”) y asegúrese que los valores desde 1 a 20 existan en las celdas ajustables (A3:A22) antes de empezar a optimizar.

El método de “orden” (“order”) le indica al RISKOptimizer que redistribuya las variables escogidas, intentando diferentes permutaciones de las variables existentes.

Cómo funciona el modelo

Cómo resolverlo

Page 91: RISKOptimizer Es

Capítulo 4: Aplicaciones ejemplo 87

Administración de rendimientos Este es un modelo de administración de rendimientos que identifica el número óptimo de asientos a tarifa completa y a tarifa de descuento que deben venderse en un vuelo en particular. También identifica el número óptimo de reservaciones que deben aceptarse en exceso del número de campos disponibles – el clásico problema de “sobreventa de vuelos”.

Archivo ejemplo: RendAéreo.xls

Objetivo: Identificar el número máximo de reservaciones a aceptar en las diferentes categorías de tarifa para maximizar la utilidad.

Método de solución: receta

Problemas similares: Cualquier problema de administración de rendimientos en donde una variedad de diferentes precios se ofrecen por el mismo producto.

Page 92: RISKOptimizer Es

88 Administración de rendimientos

El archivo “rendaereo.xls” es un modelo muy simple que ilustra el uso del RISKOptimizer para administración de rendimientos. Se asignan distribuciones de probabilidad a una variedad de factores inciertos en el modelo, incluyendo la demanda para reservaciones de tarifa completa (en celda C8), el % de ausentes respecto del total de reservaciones a tarifa completa (en celda C11), la demanda por reservaciones a tarifa descontada (en celda C12), y el costo de sobreventa (en celda C23). La utilidad bruta del vuelo se calcula al calcular el ingreso total de las reservaciones en cada categoría de tarifas menos el costo de dejar pasajeros en tierra producto de un vuelo sobrevendido.

En este modelo, las variables a ser ajustadas están localizadas en las celdas C14 y C15. Estas celdas contienen los valores para el máximo número de reservaciones aceptadas y el porcentaje de tales reservaciones que serán asignadas a asientos de tarifa completa. Una restricción de iteración es que “la utilidad deberá siempre ser > 0”, mientras que una restricción de simulación es que “la desviación estándar de los resultados de la simulación para la utilidad debe ser < 400”. El objetivo es maximizar la media de la distribución simulada de la utilidad y simultáneamente minimizar el riesgo de la forma que fue especificado en las restricciones introducidas.

Cómo funciona el modelo

Cómo resolverlo

Page 93: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 89

Capítulo 5: Guía de referencia del RISKOptimizer

Comando de definición de modelo.................................................91 

Rangos de celdas ajustables .................................................................95 Grupos de celdas ajustables.................................................................98 

Método de solución de receta...............................................100 Método de solución de orden...............................................101 Método de solución de agrupamiento ................................102 Método de solución de presupuesto ...................................103 Método de solución de proyecto..........................................104 Método de solución de calendarización .............................105 Tasa de cruce y de mutación .................................................108 Número de bloques de tiempo y celdas de restricción....111 Tareas precedentes .................................................................111 Operadores...............................................................................111 

Restricciones .........................................................................................114 Añadiendo Restricciones.......................................................114 Tipos de restricciones ............................................................115 Momento de evaluación ........................................................115 Restricciones de simulación .................................................116 Restricciones simples y de fórmula.....................................116 Restricciones blandas ............................................................117 

Comando de configuración de optimización – pestaña General .........................................................................................120 

Comando de configuración de optimización – pestaña Tiempo de ejecución...................................................................124 

Opciones de ejecución de optimización.............................126 Opciones de ejecución de simulación.................................128 

Comando de configuración de optimización – pestaña Visualizar......................................................................................131 

Comando de configuración de optimización – pestaña Macros ..........................................................................................133 

Comando de inicio de optimización .............................................135 

Page 94: RISKOptimizer Es

90

Comando de utilitarios .................................................................. 137 

Comando Configuraciones de aplicación ....................................... 137 Comando Solver de restricciones ..................................................... 138 

El Observador del RISKOptimizer ................................................ 141 

El Observador del RISKOptimizer – pestaña Progreso ............... 142 El Observador del RISKOptimizer – pestaña Resumen .............. 144 El Observador del RISKOptimizer – pestaña Bitácora ................ 146 El Observador del RISKOptimizer – pestaña Población ............. 148 El Observador del RISKOptimizer – pestaña Diversidad........... 149 El Observador del RISKOptimizer – pestaña Opciones de detención............................................................................................... 150 

Page 95: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 91

Comando de definición de modelo Define la meta, celdas ajustables y restricciones para un modelo

Al seleccionar el comando de definición de modelo de RISKOptimizer (o al hacer clic sobre el ícono de Modelo en la barra de herramientas de RISKOptimizer )se despliega la caja de diálogo de Modelo.

La ventana de diálogo de Modelo del RISKOptimizer.

La caja de diálogo de Modelo del RISKOptimizer se usa para especificarle o describirle un problema de optimización al RISKOptimizer. Esta caja de diálogo se inicia vacía con cada nuevo libro de trabajo de Excel, pero guarda su información con cada libro de trabajo. Esto significa que cuando la hoja se abre de nuevo, ésta será llenada de la misma manera. Cada componente de la caja de diálogo se describe en esta sección.

Page 96: RISKOptimizer Es

92 Comando de definición de modelo

Las opciones en la caja de diálogo de Modelo incluyen:

• Meta de Optimización. La opción de Meta de optimización determina qué tipo de respuesta es la que el RISKOptimizer buscará. Si se selecciona Mínimo, el RISKOptimizer buscará por valores de variables que produzcan los valores más bajos posibles para el estadístico seleccionado de los resultados de simulación para la celda objetivo(tan pequeños como de -1e300). Si se selecciona Máximo, el RISKOptimizer buscará por valores de variables que produzcan los valores más altos posibles para el estadístico (tan altos como de -1e300).

Si se selecciona Valor Objetivo, el RISKOptimizer buscará por valores variables que produzcan un valor para el estadístico seleccionado tan cercano como sea posible al valor que usted especifique. Cuando el RISKOptimizer encuentra una solución que produzca este resultado, se detendrá automáticamente. Por ejemplo, si usted le especifica al RISKOptimizer para que encuentre la media de la distribución de los resultados de simulación que sean lo más cercanos posibles a 14, el RISKOptimizer podría encontrar escenarios que resulten en una media tal como 13.7 o 14.5. Nótese que 13.7 es más cercano a 14 de lo que es 14.5; al RISKOptimizer no le importa si el valor del estadístico es mayor o menor que el valor que usted especifica, solamente se fija en qué tan cercano es tal valor.

• Celda. La celda o celda objetivo contiene la salida de su modelo. Se generará una distribución de los posibles valores para esta celda objetivo(vía simulación) para cada “solución de prueba” que el RISKOptimizer genere (esto es, cada combinación de posibles valores de celdas ajustables). La celda objetivo deberá contener una fórmula que dependa (ya sea directamente o por medio de una serie de cálculos) sobre las celdas ajustables. Esta fórmula puede ser hecha con fórmulas Excel convencionales tales como SUMA() o bien con funciones de macros definidas por el usuario con VBA. Al utilizar funciones de macros de VBA usted puede hacer que el RISKOptimizer evalúe modelos que son muy complejos.

Page 97: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 93

A medida que el RISKOptimizer busca por una solución utiliza el estadístico para los resultados de simulación de la celda objetivo como una calificación o “función de aptitud” para evaluar qué tan bien es cada escenario posible, y para determinar cuáles valores de variables deberán continuar cruzándose y cuáles deberán morir. En la evolución biológica, la muerte es la “función de aptitud” que determina cuales genes continúan perpetuándose a lo largo de la población. Cuando usted construye su modelo, su celda objetivo deberá reflejar la aptitud o “bondad” de determinado escenario, de forma tal que a medida que el RISKOptimizer calcula las posibilidades, puede de una manera precisa medir su progreso.

• Estadístico. La entrada del estadístico es donde usted especifica el estadístico de para su celda objetivo que usted desee minimizar, maximizar o definir para un valor específico. El estadístico real que usted desee minimizar, maximizar o definir para un valor específico se selecciona de una lista de tipo drop-down.

Para seleccionar el estadístico para la celda objetivo que usted desee minimizar, maximizar o definir para un valor específico, simplemente seleccione el estadístico deseado de la lista desplegada de tipo drop-down. Si usted desea seleccionar un percentil u objetivo para la distribución de la celda objetivo, simplemente:

1. Seleccione Percentil(X para un dado P) o bien Objetivo (P para un dado X).

Page 98: RISKOptimizer Es

94 Comando de definición de modelo

2. Para Percentil(X para un dado P), introduzca el valor de “P” deseado entre 0 y100 en el campo de %.El valor que será minimizado o maximizado será el valor asociado con el percentil introducido; esto es, Percentil(99%) causará que el RISKOptimizer identifique la combinación de valores de celdas ajustables que minimiza o maximiza el percentil 99 de la distribución de los resultados de simulación para la celda objetivo.

3. Para Objetivo (P para un dado X), introduzca el valor “X” deseado. El valor que será minimizad o maximizado será la probabilidad acumulada asociada con el valor introducido; esto es, Target(1000) provocará que el RISKOptimizer identifique la combinación de valores de celdas ajustables que minimiza o maximiza la probabilidad acumulada del valor 1000 (como éste sea calculado usando la distribución de los resultados de simulación para la celda objetivo).

Los usuarios pueden recolectar estadísticos dentro de sus modelos usando funciones estadísticas de @RISK/RISKOptimizer como RiskMean. Para optimizar el valor de una celda, el estadístico a optimizar no tiene que especificarse, ya que la propia celda contiene esa información. En este caso, seleccione la opción Valor en la lista desplegable Estadístico, indicando a RISKOptimizer que optimice el valor de una celda determinada al final de una simulación. Por ejemplo, si un usuario desea optimizar la media de la celda C5, puede escribir =RiskMean(C5) en la celda C6, especificar C6 como la celda a optimizar en la caja de diálogo Modelo, y seleccionar Valor en la lista desplegable Estadístico. Esto es equivalente a especificar C5 como celda a optimizar, y luego seleccionar Media en la lista desplegable Estadístico.

Page 99: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 95

Rangos de celdas ajustables La tabla de rangos de celdas ajustables despliega cada rango que contiene las celdas o valores que el RISKOptimizer puede ajustar, así como también la descripción introducida para tales celdas. Cada conjunto de celdas ajustables se lista en una fila horizontal. Uno o mas rangos de celdas ajustables pueden ser incluidas en un grupo de celdas ajustables. Todos los rangos de celdas en un grupo de celdas ajustables comparten un método de solución en común, una tasa de cruce, una tasa de mutación y los operadores.

Debido a que las celdas ajustables contienen las variables del problema, usted debe definir al menos un grupo de celdas ajustables para usar el RISKOptimizer. La mayoría de los problemas serán descritos por sólo un grupo de celdas ajustables, pero algunos problemas más complejos podrían requerir de diferentes bloques de variables para ser resueltos por distintos métodos de solución de forma simultánea. Esta singular arquitectura permite que problemas muy complejos sean construidos fácilmente a partir de muchos grupos de celdas ajustables.

Las siguientes opciones están disponibles para introducir los rangos de celdas ajustables:

• Añadir. Usted puede añadir nuevas celdas ajustables al hacer clic en el botón de “Añadir” a la par de la caja de lista de celdas ajustables. Seleccione la celda o rango de celdas a ser añadidos, y aparecerá una nueva fila en la tabla de Rangos de celdas ajustables. En la tabla, usted puede introducir un valor Mínimo y Máximo para las celdas en el rango, además del tipo de valores a evaluar –valores enteros a lo largo del rango o cualquier tipo de valor.

Page 100: RISKOptimizer Es

96 Comando de definición de modelo

• Mínimo y Máximo. Después de que haya especificado la localización de las celdas ajustables, las entradas de Mínimo y Máximo definen el rango de valores aceptables para cada celda ajustable. Por defecto, cada celda ajustable asume un valor real (punto flotante de precisión doble) entre –infinito hasta + infinito.

Las configuraciones de rango son restricciones que son cumplidas estrictamente. El RISKOptimizer no permitirá que ninguna variable asuma un valor fuera de los rangos definidos. Se le recomienda que usted defina rangos más específicos para sus variables cuando esto sea posible para mejorar el desempeñó del RISKOptimizer. Por ejemplo, usted podría saber que el número no puede ser negativo o de que el RISKOptimizer sólo debería evaluar valores entre 50 y 70 para determinada variable.

• Rango. La referencia a la(s) celda(s) a ser ajustadas se introduce en el campo de Rango. Esta referencia puede ser introducida al seleccionar la región en la hoja de cálculo con el mouse, introduciendo un nombre de rango o digitando una referencia válida de Excel tal como Hoja1!A1:B8. El campo de Rango está disponible para todos los métodos de solución. Sin embargo, para los métodos de receta y de presupuesto, se pueden añadir opciones de Mínimo, Máximo y Valores para permitirla introducción de un rango para las celdas ajustables.

NOTA: Al asignar rangos ajustados a sus variables, usted puede limitar la amplitud de la búsqueda y mejorar la velocidad de la convergencia del RISKOptimizer hacia una solución. Pero sea cuidadoso de no sobre limitar los rangos de sus variables muy ajustadamente; pues esto podría prevenir al RISKOptimizer que encontrara soluciones óptimas.

• Valores. La entrada de Valores le permite especificar que el RISKOptimizer trate a todas las variables en el rango especificado como enteros (p.ej.,22), en vez de números reales (p.ej., 22.395). Esta opción sólo está disponible cuando se utilizan los métodos de “receta” y de “presupuesto”. La opción por defecto es tratar a las variables como números reales.

Page 101: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 97

Asegúrese se encender la configuración de Enteros si su modelo usa variables para búsqueda de ítems de tablas (BUSCARH(), BUSCARV(), INDICE(), DESREF(), etc.) Observe que la configuración de Enteros afecta a todas las variables en el rango seleccionado. Si usted desea tratar algunas de sus variables como reales y algunas como enteras, usted puede crear dos grupos de celdas ajustables en vez de uno, y tratar un bloque como enteras y otro bloque como reales. Simplemente “añada” un grupo de receta de celdas ajustables y déjela opción de Valores en Cualquiera. A continuación, “Añada” otro rango de celda, esta vez seleccionando la configuración de Enteros y seleccionando solamente las celdas ajustables enteras.

Page 102: RISKOptimizer Es

98 Comando de definición de modelo

Grupos de celdas ajustables Cada grupo de celdas ajustables puede contener múltiples rangos de celdas. Esto permite que usted construya una “jerarquía” de grupos de rangos de celdas que estén relacionados entre sí. Dentro de cada grupo, cada rango de celda puede tener sus propias restricciones de rango mínimo y máximo.

Todos los rangos de celdas en un grupo de Celdas ajustables comparten un método de solución, tasa de cruce, tasa de mutación y operadores en común. Estos son especificados en la caja de diálogo de configuración de grupos de celdas ajustables. Esta caja de diálogo se accede al hacer clic en el botón de Grupo junto a la tabla de Rangos de celdas ajustables. Usted podría crear un nuevo grupo para la cual usted podría añadir rangos de celdas ajustables o editar la configuración para un grupo existente.

Page 103: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 99

Las opciones en la pestaña General de la caja de diálogo de configuración de los grupos de celdas ajustables incluyen:

• Descripción. Describe el grupo de rangos de celdas ajustables en las cajas de diálogo y los reportes.

• Método de solución. Selecciona el método de solución a ser usado para cada uno de los rangos de celdas ajustables en el grupo.

Cuando usted selecciona un rango de celdas a ser ajustadas por el RISKOptimizer, usted también está especificando un “método de solución” que usted desea aplicar cuando se ajustan tales celdas ajustables. Cada método de solución es, en esencia, un algoritmo genético completamente diferente, con su propia selección optimizada, y sus rutinas de cruce y de mutación. Cada método de solución procesa los valores de sus variables de forma distinta.

El método de solución de “receta”, por ejemplo, trata cada variable seleccionada como un ingrediente en una receta; el valor de cada variable puede ser cambiado independientemente del valor de las otras. En contraste, el método de solución de “orden” permuta valores entre las celdas ajustables, reordenando los valores que originalmente estaban allí.

Page 104: RISKOptimizer Es

100 Comando de definición de modelo

Existen seis métodos de solución que vienen con el RISKOptimizer. Tres de estos métodos de solución(receta, orden y agrupamiento) usan algoritmos enteramente distintos. Los otros tres son descendientes de los primeros tres, añadiendo restricciones adicionales.

La próxima sesión describe la función de cada método de solución. Para obtener un mejor entendimiento de cómo se utiliza cada método de solución, se le invita a que explore los archivos de ejemplos incluidos con el software. (Véase Capítulo 4: Aplicaciones de ejemplo).

El método de solución de receta (“recipe”) es el tipo de método de solución más simple y popular. Use este método de “receta” cuando el conjunto de variables que están siendo ajustadas pueden variar independientemente una de las otras. Piense de cada variable como la cantidad de un ingrediente en un pastel; cuando se utiliza el método de solución de “receta”, usted le está diciendo al RISKOptimizer que genere números para aquellas variables en un esfuerzo para encontrar la mejor mezcla. Las únicas restricciones que usted coloca sobre las variables de receta es el ajuste del rango (los valores más alto y más bajo) en medio de las cuales tales valores deberán encontrarse. Ajuste estos valores en los campos Min y Max de la caja de diálogo de Celdas Ajustables (“Adjustable Cells”) (por ejemplo, 1 a 100), y también indicar si RISKOptimizer debería o no tratar enteros (1, 2, 7) o números reales. (1.4230024, 63.72442).

A continuación hay ejemplos de un conjunto de valores de variables como se verían en una hoja de cálculo antes de que se invoque el RISKOptimizer, y de cómo se verían los dos nuevos escenarios después de utilizar el método de solución de receta.

Conjunto original de valores de variables

Un conjunto posible de valores de receta

Otro conjunto posible de valores de receta

23.472 15.344 37.452

145 101 190

9 32.44 7.073

65,664 14,021 93,572

Método de solución de receta

Page 105: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 101

El método de solución de “orden” (“order”) es el según método más popular, después del de “receta” (“recipe”). Un orden es una permutación de una lista de ítems, en donde usted está tratando de encontrar la mejor manera de estructurar un conjunto de valores dados. A diferencia de los métodos de “receta” (“recipe”) y de “presupuesto” (“budget”), que le preguntan al RISKOptimizer que genere valores para las variables escogidas, este método de solución le pregunta al RISKOptimizer que utilice los valores existentes en su modelo.

Un orden podría representar el orden en el cual deben ejecutarse una serie de tareas. Por ejemplo, usted podría encontrar el orden en el cual llevar a cabo cinco tareas, numeradas 1, 2, 3, 4 y 5. El método de solución de “orden” reordenaría estos valores, de tal forma que un escenario podría ser 3, 5, 2, 4, 1. Dado que el RISKOptimizer está tan sólo tratando valores de variables de su hoja inicial, no existe un rango Mínimo – Máximo introducido para las celdas ajustables cuando se utiliza el método de solución de “orden” (“order”).

Abajo hay ejemplos de cómo se vería un conjunto de valores de variables en una hoja antes de que el RISKOptimizer sea invocado, y cómo se verían dos nuevos escenarios después de haber utilizado el método de solución de orden. (“order”).

Conjunto original de valores de variables

Un conjunto posible de valores de receta

Otro conjunto posible de valores de receta

23.472 145 65,664

145 23.472 9

9 65,664 145

65,664 9 23.472

Método de solución de orden

Page 106: RISKOptimizer Es

102 Comando de definición de modelo

El método de solución por agrupamiento (“grouping”) debería ser utilizado cuando su problema involucre múltiples variables a ser agrupadas conjuntamente en grupos. El número de grupos diferentes que el RISKOptimizer crea será igual al número de valores singulares presentes en las celdas ajustables al inicio de la optimización. De esta forma, cuando usted construye un modelo de su sistema, asegúrese que cada grupo está representado al menos una vez.

Por ejemplo, suponga que un rango de 50 celdas conteniendo sólo valores de 2, 3.5 y 17. Cuando usted selecciona las 50 celdas y ajusta los valores utilizando el método de solución por “agrupamiento” (“grouping”), RISKOptimizer asignará cada una de las 50 celdas a uno de los tres grupos, 2, 3.5 o17. Todos los grupos están representados por al menos una celda ajustable; de la misma manera que se echan cada una de las 50 variables en uno de varios “compartimentos”, y asegurándose de que existe al menos una variable en cada compartimiento. Otro ejemplo sería la asignación de 1s y 0s, y -1s a un sistema de mercado que indique comprar, vender o mantener posiciones. De la misma manera que el método de solución de “orden” (“order”), RISKOptimizer está ordenando valores existentes, así que no existe un rango mínimo-máximo o una opción de números enteros a definir.

NOTA: Cuando utilice el método de solución por “agrupamiento” (“grouping”), no deje ninguna celda en blanco, a menos que usted desee que 0.0 sea considerado como uno de los grupos.

Usted podrá darse cuenta que el método de solución por “agrupamiento” (“grouping”) podría ser aproximado a la utilización del método de “receta” (“recipe”) con la opción de números enteros encendida (“on”) y los rangos ajustados desde 1 hasta 3 (o cualquier número de grupos que existan). Sus rutinas de selección, mutación y cruce son diferentes; un agrupamiento está mucho más interesado con los valores de todas las variables, porque puede alternar un conjunto de variables desde un grupo con un conjunto de variables desde otro grupo.

Método de solución de agrupamiento

Page 107: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 103

Abajo hay ejemplos de cómo se vería un conjunto de valores de variables en una hoja antes de que el RISKOptimizer sea invocado, y cómo se verían dos nuevos escenarios después de haber utilizado el método de solución por agrupamiento. (“grouping”).

Conjunto original de valores de variables

Un conjunto posible de valores de receta

Otro conjunto posible de valores de receta

6 6 8

7 6 7

8 8 6

8 7 7

Un “presupuesto” (“budget”) es similar a una “receta” (“recipe”) excepto de que todos los valores de las variables deberán totalizar un número determinado. Ese número es el total de los valores de las variables en el momento en que se inicia la optimización.

Por ejemplo, usted podría encontrar la mejor manes de distribuir un presupuesto anual entre un número de departamentos, y utilizar la suma como el presupuesto total a ser óptimamente distribuido. Abajo hay ejemplos de cómo se vería un conjunto de valores de variables en una hoja antes de que el RISKOptimizer sea invocado, y cómo se verían dos nuevos escenarios después de haber utilizado el método de solución por presupuesto. (“budget”).

Conjunto original de valores de presupuesto

Un conjunto posible de valores de presupuesto

Otro conjunto posible de valores de presupuesto

200 93.1 223.5

3.5 30 0

10 100 -67

10 .4 67

Many values are being tried, but the sum of all values remains 223.5.

Método de solución de presupuesto

Page 108: RISKOptimizer Es

104 Comando de definición de modelo

El método de solución por proyecto (“project”) es similar al método de solución de “orden” (“order”) excepto que ciertos ítems(tareas) deben preceder a otros. El método de solución por proyecto (“project”) puede ser utilizado en administración de proyectos para reasignar el orden en que las tareas son llevadas a cabo, pero el orden siempre cumplirá con las restricciones de precedencia.

Un problema modelado utilizando el método de solución por proyecto (“project”) será mucho más fácil de trabajar y entender si las celdas ajustables conteniendo el orden de las tareas se encuentran en una sola columna, en vez de estar en una fila. Esto es porque el método de solución espera que las celdas con las tareas precedentes estén estructuradas verticalmente en vez de que estén horizontalmente, y será más fácil examinar su hoja de trabajo si las celdas ajustables también se encuentran de forma vertical.

Después de que usted ha especificado la localización de las celdas ajustables, usted debe especificar la localización de las celdas con las tareas precedentes en la sección de Utilizar Opciones (“Use Options”) de la caja de diálogo. Esta es una tabla de celdas que describe qué tareas deberán ser precedidas por cuáles otras tareas. El método de solución utiliza esta tabla para reacomodar el orden de las variables en un escenario hasta que se cumplan las restricciones de precedencia. Debería existir una fila en el rango de las tareas precedentes para cada tarea en las celdas ajustables. Empezando en la primera columna del rango de las tareas precedentes, el número identificador de cada tarea de la cual tal tarea en fila depende, deberá ser listada en columnas separadas.

Ejemplo de cómo configurar los precedentes para un método de solución por proyecto.

El rango de tareas de precedencia debería ser especificado como uno de n filas por m columnas, donde n es el número de tareas en el proyecto (celdas ajustables), y m es el máximo número de tareas precedentes que alguna de las tareas posea.

Método de solución de proyecto

Page 109: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 105

Abajo hay ejemplos de cómo se vería un conjunto de valores de variables en una hoja antes de que el RISKOptimizer sea invocado, y cómo se verían dos nuevos escenarios después de haber utilizado el método de solución por proyecto (“project”), con la restricción de que 2 deberán siempre venir después de 1, y 4 deberá siempre venir después de 2.

Conjunto original de valores de variables

Un conjunto posible de valores por proyecto

Otro conjunto posible de valores por proyecto

1 1 1

2 3 2

3 2 4

4 4 3

Una calendarización (“schedule”) es similar a un “agrupamiento” (“grouping”); es una asignación de tareas a tiempos. Se asume que cada tarea dura la misma cantidad de tiempo, tal y como las clases en la escuela son de la misma duración. Sin embargo, a diferencia del agrupamiento (“grouping”), la caja de diálogo de Celdas Ajustables (“Adjustable Cells”) para el método de solución por calendarización (“schedule”) le permite a usted especificar directamente el número de bloques de tiempo (o grupos) a ser utilizados. Nótese que cuando usted selecciona el método de solución por calendarización (“schedule”), aparecen algunas opciones relacionadas en la porción inferior de la caja de diálogo.

Método de solución de calendarización

Page 110: RISKOptimizer Es

106 Comando de definición de modelo

En la sección de Parámetros de Optimización usted notará que usted puede también tener un rango de celdas de restricción adjunto. Este rango puede ser de cualquier longitud, pero deberá ser de exactamente tres columnas de ancho. Se reconocen ocho tipos de restricciones:

1. 1)(con) (“with”) Las tareas en la primera y tercera columnas deberán suceder en el mismo bloque de tiempo.

2. 2)(no con) (“not with”) Las tareas en la primera y tercera columnas no deberán suceder en el mismo bloque de tiempo.

3. 3)(antes) (“before”) La tarea en la primera columna deberá suceder antes que la tarea en la tercera columna.

4. 4)(en) (“at”) La tarea en la primera columna deberá ocurrir en el bloque de tiempo de la tercera columna.

5. 5)(no después) (“not after”) La tarea en la primera columna deberá ocurrir al mismo tiempo o antes que la tarea en la tercera columna.

6. 6)(no antes) (“not before”) La tarea en la primera columna deberá ocurrir al mismo tiempo o después de la tarea en la tercera columna.

7. 7)(no en) (“not at”) La tarea en la primera columna no deberá ocurrir en el bloque de tiempo de la tercera columna.

8. 8)(después) (“after”) La tarea en la primera columna deberá ocurrir después de la tarea en la tercera columna.

Page 111: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 107

Se puede introducir el código numérico (del 1 al 8) o la descripción (después, no en, etc.) como restricción. (Nota: Todas las versiones traducidas de RiskOptimizer reconocen la descripción de la restricción tanto si se introduce en inglés como si se introduce el término traducido). Todas las restricciones especificadas en su problema se cumplirán. Para crear restricciones, busque un espacio en blanco en la hoja de cálculo y cree una tabla en la que las columnas izquierda y derecha representen tareas, y la columna del centro represente el tipo de restricciones. Un número del 1 al 8 representa el tipo de restricciones indicadas arriba. Las celdas de la gama de restricción debe tener los datos de restricción incluidos antes de iniciar la optimización.

Esta tarea Restricción Esta tarea

5 4 2

12 2 8

2 3 1

7 1 5

6 2 4

9 3 1

Abajo hay ejemplos de cómo se vería un conjunto de valores de variables en una hoja antes de que el RISKOptimizer sea invocado, y cómo se verían dos nuevos escenarios después de haber utilizado el método de solución por calendarización. (“schedule”).

Conjunto original de valores de variables

Un conjunto posible de valores por proyecto

Otro conjunto posible de valores por proyecto

1 1 1

2 1 3

3 3 1

1 1 2

2 2 2

3 3 2

NOTA: Cuando usted selecciona el método de selección por calendarización (“schedule”), los números enteros empezando desde el 1 son siempre utilizados, independientemente de los valores originales en las celdas ajustables.

Page 112: RISKOptimizer Es

108 Comando de definición de modelo

Uno de los problemas más difíciles con la búsqueda de soluciones óptimas, cuando su problema tiene aparentemente posibilidades ilimitadas, es la determinación de en donde enfocar sus esfuerzos. En otras palabras, cuánto tiempo computacional debe ser enfocado en la búsqueda de nuevas áreas del “espacio de solución”, y cuánto tiempo debería ser dedicado a la calibración de las soluciones en nuestra población que ya ha sido probada como una muy buena solución.

Una gran porción del éxito del algoritmo genético ha sido atribuida a su habilidad para preservar inherentemente este balance. La estructura del algoritmo genético permite que las buenas soluciones se “reproduzcan”, pero también mantiene organismos “menos aptos” alrededor para mantener la diversidad con la esperanza que probablemente un “gen” latente podría ser importante en la solución final.

El cruce y la mutación son dos parámetros que afectan el rango de la búsqueda y el RISKOptimizer le permite a los usuarios cambiar tales parámetros antes y durante el proceso evolutivo. De esta forma, un usuario con experiencia puede ayudarle a algoritmo genético al decidir dónde debería enfocar su energía. Para la mayoría de los propósitos, las tasas de cruce y de mutación (0.5 y 0.1 respectivamente) no requieren de ajuste. En el evento que usted desee calibrar el algoritmo a su problema, llevar a cabo un estudio comparativo o simplemente experimentar, acá se presenta una breve introducción de estos parámetros:

• Cruce. La tasa de cruce, que puede ser cualquier valor entre 0.01 y 1.0, refleja la posibilidad de que los escenarios futuros contengan una mezcla de información de la generación previa de los organismos padre. Esta tasa puede ser cambiada por usuarios experimentados para afinar el desempeño de RISKOptimizer para problemas complejos.

En otras palabras, una tasa de 0.5 significa que un organismo descendiente contendrá aproximadamente 50% de sus valores variables de un padre y los valores remanentes del otro padre. Una tasa del 0.9 significa que aproximadamente un organismo descendiente contendrá 90% de sus valores variables de un padre y el 10% vendrá del segundo padre. Una tasa de cruce de 1 significa que no sucederá ningún cruce, así que sólo serán evaluados los clones de los padres.

La tasa por defecto utilizada por el RISKOptimizer es de 0.5. Una vez que el RISKOptimizer haya iniciado la resolución del problema, usted puede cambiar la tasa de cruce usando el

Tasa de cruce y de mutación

Page 113: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 109

Observador del RISKOptimizer (véase la sección en este capítulo del Observador del RISKOptimizer.)

• Tasa de mutación. La tasa de mutación puede ser definida entre 0.0 y 1.0, y refleja la posibilidad de que los futuros escenarios contengan algunos valores aleatorios. Una tasa de mutación más alta simplemente significa que más mutaciones o valores de “genes” aleatorios serán introducidos en la población con cada nueva solución. Debido a que la mutación ocurre después del cruce, al ajustar la tasa de mutación a 1 (100% valores aleatorios) efectivamente prevendrá que el cruce tenga efecto alguno, y RISKOptimizer generará escenarios totalmente aleatorios.

Si todos los datos de la solución óptima se encontrasen en algún lugar dentro de la población, entonces el operador de cruce por sí solo sería suficiente para eventualmente encontrar la solución. Se ha demostrado que la mutación es una poderosa fuerza en el mundo biológico por muchas de las mismas razones por la cual es requerida en un algoritmo genético: es vital para mantener una población diversa de los organismos individuales, por tanto previniendo que la población se torne muy rígida e incapaz de adaptarse a un ambiente dinámico. Igual que en un algoritmo genético, usualmente la mutación genética en los animales lo que eventualmente conducirá al desarrollo de nuevas funciones críticas.

Para la mayoría de los propósitos, la configuración por defecto de la tasa de mutación no requiere de ajuste, pero puede aún así, ser cambiada por usuarios expertos para calibrar el desempeño del RISKOptimizer en problemas complejos. Podría ser que el usuario desee incrementar la tasa de mutación si la población del RISKOptimizer es relativamente homogénea, y no se han encontrado nuevas soluciones en los últimos cientos de simulaciones. Los cambios típicos en esta configuración van desde 0.06 hasta 0.2. Una vez que el RISKOptimizer ha iniciado la resolución de un problema, usted puede modificar la tasa de mutación dinámicamente usando el Observador del RISKOptimizer.(véase la sección en este capítulo del Observador del RISKOptimizer.)

Al seleccionar Auto de la lista de tipo drop-down en el campo de tasa de mutación, se seleccione la tasa de ajuste automática de mutación. La tasa automática de mutación le permite al RISKOptimizer aumentar la tasa de mutación de forma automática cuando un organismo se “avejenta” significativamente; esto es, que ha permanecido en el mismo lugar

Page 114: RISKOptimizer Es

110 Comando de definición de modelo

sobre un periodo extenso de generaciones. Para muchos modelos, especialmente cuando la tasa de mutación no se conoce, la selección de la opción Automática puede generar mejores resultados más rápidamente.

Page 115: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 111

Para mayor información sobre estas opciones, véase el Método de solución por calendarización en la sección de Métodos de solución de este capítulo.

Para mayor información sobre estas opciones, véase el Método de solución de proyecto en la sección de Métodos de solución de este capítulo.

El RISKOptimizer incluye operadores genéticos seleccionables al ser utilizado con el método de solución de receta. Al hacer clic en la pestaña de Operadores de la caja de diálogo de configuración de grupos de celdas ajustables, le permite selecciones un operador genético específico (tal como cruce heurístico o mutación en frontera)para ser usado a la hora de generar posibles valores para un conjunto de celdas ajustables. Adicionalmente, usted puede hacer que el RISKOptimizer pruebe automáticamente todos los operadores disponibles y que identifique el que se desempeñe mejor para su problema.

Número de bloques de tiempo y celdas de restricción

Tareas precedentes

Operadores

Page 116: RISKOptimizer Es

112 Comando de definición de modelo

Los algoritmos genéticos usan los operadores genéticos para crear nuevos miembros de la población a partir de los miembros existentes. Dos de los tipos de operadores genéticos que el RISKOptimizer emplea son el de mutación y el de cruce. El operador de mutación determina si los cambios aleatorios en los “genes” (variables) ocurrirán y cómo ocurrirán. El operador de cruce determina como se permutan los pares de miembros en la población los genes para producir “descendientes” que podrían ser mejores respuestas que cualesquiera de sus “padres”.

RISKOptimizer incluye los siguientes operadores genéticos especializados:

♦ Operadores lineales´ (“Linear operators”) – Diseñados para resolver problemas donde la solución óptima se encuentra en la frontera del espacio de búsqueda definida por las restricciones. Esta pareja de operadores de mutación y de cruce está bien adaptada para resolver problemas de optimización lineal.

♦ Mutación en frontera (“Boundary Mutation”) – Diseñado para rápidamente optimizar variables que afectan el resultado de una forma monotónica y que puedan ser ajustados hacia los extremos de sus rangos sin violar las restricciones.

♦ Mutación de Cauchy (“Cauchy Mutation”) – Diseñada para producir pequeños cambios en las variables en la mayoría de las veces, pero que ocasionalmente puedan generar grandes cambios.

♦ Mutación No-uniforme: (“Non-uniform Mutation”) – Produce cada vez más pequeñas mutaciones a medida que se calculan más pruebas. Esto le permite al RISKOptimizer “afinar” las respuestas.

♦ Cruce aritmético: (“Arithmetic Crossover”) – Crea nuevos descendientes al combinar aritméticamente a los dos padres (en contraposición al proceso de intercambio de genes).

♦ Cruce heurístico: (“Heuristic Crossover”) – Utiliza los valores producidos por los padres para determinar cómo se producen los descendientes. Busca en la dirección más prometedora y provee de un afinamiento local bien detallado.

Page 117: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 113

Dependiendo del tipo de problema de optimización, distintas combinaciones de operadores de mutación y de cruce podrían producir mejores resultados que otros. En la pestaña de Operadores de la caja de diálogo de configuración de grupos de celdas ajustables, cuando se usa el método de solución de receta, cualquier cantidad de operadores puede ser seleccionada. Cuando se realizan múltiples selecciones, el RISKOptimizer probará combinaciones válidas de los operadores seleccionados para identificar aquellos que se desempeñan mejor para su modelo. Después de una corrida, la plantilla resumen de optimización jerarquiza por su desempeño durante la corrida a cada uno de los operadores seleccionados. Para corridas subsecuentes del mismo modelo, al seleccionar solo los operadores en la parte superior de la lista podría conducir a más rápidos y mejores desempeños durante la optimización.

NOTA: Al crear múltiples grupos de celdas ajustables, verifique para asegurarse que ninguna celda de la hoja de cálculo se incluya en varios grupos distintos de celdas ajustables. Cada grupo de celdas ajustables debería contener celdas ajustables únicas ya que los valores en el primer grupo de celdas ajustables serían ignorados y sobrescritos por los valores del segundo grupo de celdas ajustables. Si usted piensa que un problema debe ser representado por más de un método de solución, considere cómo atomizar las variables entre dos o más grupos.

Page 118: RISKOptimizer Es

114 Comando de definición de modelo

Restricciones El RISKOptimizer le permite introducir restricciones son condiciones que deben ser satisfechas para que una solución sea válida. Las restricciones que usted haya introducido se muestran en la tabla de restricciones en la caja de diálogo de definición de modelo.

Al hacer clic sobre el botón Añadir a la par de la tabla de restricciones se despliega la caja de diálogo de Configuración de restricciones en donde se introducen las restricciones. Al utilizar esta caja de diálogo, se puede introducir el tipo de restricción deseada así como también su descripción, tipo, definición y tiempo de evaluación.

Añadiendo restricciones

Page 119: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 115

Se pueden especificar dos tipos de restricciones en el RISKOptimizer:

• Duras, o condiciones que deben ser satisfechas para que una solución sea válida (esto es, una restricción dura podría ser C10><=A4; en este caso, si la solución genera un valor para C10 que es mayor que el valor de la celda en A4, la solución será descartada).

• Blandas, o condiciones que nos gustaría que pudieran ser satisfechas tanto como fuere posible, pero sobre las cuales estaríamos dispuestos a ceder a cambio de grandes mejoramientos en la aptitud o en el resultado de la celda objetivo (esto es, una restricción blanda podría ser C10<100; sin embargo, C10 podría exceder 100, pero si esto sucediera, el valor calculado para la celda objetivo se disminuiría basado en la función de penalización que usted ha introducido).

Las restricciones duras podrían ser evaluadas en 1) cada iteración de la corrida de simulación para la solución de prueba (una restricción de “iteración”), o bien, 2) al final de la corrida de la simulación para la solución de prueba (una restricción de “simulación”).

♦ Una restricción de iteración es una restricción que es evaluada en cada iteración de la corrida de simulación para una solución de prueba determinada. Si una iteración resulta en valores que violan la restricción dura, se detiene la simulación (y se rechaza la solución de prueba) y la próxima solución de prueba y su asociada simulación inicia.

♦ Una restricción de simulación se especifica en términos de un estadístico de simulación para una celda de una hoja de cálculo; por ejemplo, la media de A11>1000. En este caso, la restricción es evaluada al final de la simulación. Una restricción de simulación, en contra posición con una restricción de iteración, nunca causará que se detenga la simulación antes de que ésta se complete.

Tipos de restricciones

Momento de evaluación

Page 120: RISKOptimizer Es

116 Comando de definición de modelo

Una restricción de simulación se especifica en términos del estadístico de simulación para la celda de una hoja de cálculo; por ejemplo, la media de A11>1000. El estadístico a utilizar en la restricción se selecciona de la lista tipo drop-down disponible:

Cuando se utiliza una restricción de simulación, una distribución de los posibles valores para el Rango a restringir se genera durante cada prueba de la simulación de la solución. Al final de cada simulación, se verifica la restricción para ver si ésta ha sido satisfecha. Si la restricción de simulación es una restricción dura y la restricción es satisfecha, se descarta la solución de prueba. Si la restricción es una restricción blanda y no se satisface la restricción, el estadístico de la celda objetivo que está siendo minimizado o maximizado se penaliza de acuerdo a la función de penalización (véase la próxima sección de Restricciones blandas).

Se pueden utilizar dos formatos para la introducción de restricciones – Simples y de fórmula--.El tipo de información que usted puede introducir para una restricción depende del formato que usted seleccione.

• Formato simple. –El formato simple permite introducir restricciones usando relaciones simples <,<=, >, >= o= en donde una celda es comparada versus un número introducido. Una típica representación simple sería:

0<Valor de A1<10

en donde se introduce A1 en la caja de Rango de celda, se introduce 0 en la caja de Mín y se introduce 10 en la caja de Máx. Se selecciona el operador deseado de las cajas de lista de tipo drop-down. Con una restricción de formato de rango simple de valores, usted puede tan solo introducir un valor Mín, sólo un valor Máx o ambos. Los valores Mín y Máx introducidos deben ser numéricos en la restricción de formato simple de rango de valores.

Restricciones de simulación

Restricciones simples y de fórmula

Page 121: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 117

• Formato de fórmula –El formato de fórmula le permite introducir cualquier fórmula válida de Excel como una restricción, tal como A19<(1.2*E7)+E8. RISKOptimizer verificará si la fórmula introducida evalúa en un FALSO o en un VERDADERO, para verificar que la restricción haya sido satisfecha.

Las restricciones blandas son condiciones que nos gustaría que pudieran ser satisfechas tanto como fuere posible, pero sobre las cuales estaríamos dispuestos a ceder a cambio de grandes mejoramientos en la aptitud o en el resultado de la celda objetivo. Cuando una restricción blanda no se satisface causa un cambio en el resultado de la celda objetivo haciendo que éste se aleje de su valor óptimo. La cantidad de cambio causado por una restricción blanda no satisfecha se calcula utilizando una función de penalización que se introduce cuando usted especifica la restricción blanda.

Restricciones blandas

Page 122: RISKOptimizer Es

118 Comando de definición de modelo

La siguiente es más información acerca de las funciones de penalización:

• Introduciendo una función de penalización. El RISKOptimizer posee una función de penalización por defecto la cual se despliega la primera vez que usted introduce una restricción blanda. Sin embargo, cualquier fórmula válida de Excel puede ser introducida para calcular la cantidad de penalización a aplicar cuando no se satisface la restricción blanda. Una función de penalización introducida debe incluir la palabra clave desviación, la cual representa la cantidad absoluta en la cual la restricción se ha excedido por sobre su límite. Al final de cada simulación para una solución de prueba, el RISKOptimizer verifica si la restricción blanda ha sido satisfecha; de lo contrario, posiciona la cantidad de desviación en la fórmula de penalización introducida y luego calcula la cantidad de penalización a aplicar al estadístico de la celda objetivo.

La función de cantidad de penalización se suma o se resta del estadístico calculado para la celda objetivo para hacerla menos “óptima”. Por ejemplo, si se selecciona Máximo en el campo de Objetivo de optimización en la caja de diálogo de modelo de RISKOptimizer, la penalización es restada del estadístico calculado para la celda objetivo.

• Visualizando los efectos de una función de penalización introducida. El RISKOptimizer incluye una plantilla de Excel PENALIZACIÓN.XLS que puede ser utilizada para evaluar los efectos de distintas funciones de penalizaciones sobre las restricciones blandas y sobre los resultados de la celda objetivo.

Page 123: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 119

El archivo de PENALIZACIÓN.XLS le permite a usted seleccionar una restricción blanda de su modelo cuyos efectos usted desea analizar. Usted puede entonces cambiar la función de penalización para ver cómo la función mapeará un valor específico de la restricción blanda no satisfecha a un valor objetivo de penalización en particular. Por ejemplo, si su restricción blanda es A10<100, usted podría usar el archivo de PENALIZACIÓN.XLS para ver cual sería el valor objetivo si un valor de 105 fuese calculado para la celda A10.

• Visualizando las penalizaciones aplicadas. Cuando una penalización es aplicada a la celda objetivo debido a una restricción blanda no satisfecha, la cantidad de penalización aplicada puede ser visualizada en el Observador del RISKOptimizer. Adicionalmente, los valores de penalización se muestran en las hojas de la Bitácora de Optimización, creadas opcionalmente después de la optimización.

NOTA: Si usted coloca una solución en su hoja de cálculo utilizando las opciones de Actualizar Valores de Celda Ajustable en la caja de diálogo de Detener, el resultado de la celda objetivo calculado mostrado en la hoja de cálculo no incluirá ninguna penalización aplicada debido a restricciones blandas insatisfechas. Verifique la hoja resumen de optimización del RISKOptimizer para ver el resultado de la celda objetivo penalizada y la cantidad impuesta de penalización debido a la restricción blanda insatisfecha.

• Implementando restricciones blandas en fórmulas de la hoja de cálculo. Las funciones de penalización pueden ser implementadas directamente en las fórmulas de su hoja de cálculo. Si las restricciones blandas se implementan directamente en la hoja de cálculo éstas no deben ser introducidas en el campo de la caja de diálogo del RISKOptimizer. Para mayor información sobre la implementación de funciones de penalización en su hoja de cálculo, véase la sección Restricciones blandas en el Capítulo 9: Extras del RISKOptimizer.

Page 124: RISKOptimizer Es

120 Comando de configuración de optimización – pestaña General

Comando de configuración de optimización – pestaña General Define las configuraciones generales para una optimización La pestaña General de la caja de diálogo de Configuración de Optimización despliega las configuraciones para el tamaño de población, actualización del despliegue y la semilla de generador de número aleatorio.

Las opciones de Parámetros de optimización en la pestaña general incluyen:

• Tamaño de población. El tamaño de la población le dice al RISKOptimizer cuántos organismos (o conjuntos completos de variables) deberían ser almacenados en memoria en un determinado momento. Aún cuando existe todavía mucho debate e investigación respecto del tamaño de población óptimo para usar en diferentes problemas, recomendamos generalmente utilizar entre 30-100 organismos en su población, dependiendo del tamaño de su problema (mayores poblaciones para problemas más grandes). La visión generalizada es que una población mayor toma más tiempo en encontrar una solución, pero tiene una mayor posibilidad de encontrar una solución global debido a su banco genético más diverso.

Page 125: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 121

• Semilla de generador de número aleatorio. La opción de la semilla de generador de número aleatorio le permite a usted definir el valor de semilla inicial para el generador de número aleatorio usado en el RISKOptimizer. Cuando se utiliza la misma semilla, una optimización generará exactamente las mismas respuestas para el mismo modelo siempre y cuando el mismo no haya sido modificado y se seleccione la opción Use la misma semilla de generador de números aleatorios en cada simulación. La opción Use la misma semilla de generador de números aleatorios en cada simulación debe ser marcada para asegurarse que la aleatoriedad innecesaria de una simulación a otra no sea introducida en los resultados de la optimización. El valor semilla deber ser un entero en el rango de 1 hasta 2147483647.

Las opciones de muestreo en la pestaña General incluyen:

Tipo de muestreo. Las opciones de Tipo de Muestreo de Simulación definen el tipo de muestreo usado durante cada corrida de simulación durante una optimización. Los tipos de muestreo varían en cómo se obtienen las muestras a lo largo del rango de la distribución. El muestreo Latino Hipercúbico recreará de forma precisa las distribuciones de probabilidad especificadas por las funciones de distribución en una menor cantidad de iteraciones cuando se compara con el muestreo Monte Carlo. Recomendamos el uso del muestreo Latino Hipercúbico, la configuración de tipo de muestreo por defecto, a menos que su situación de creación de modelo específicamente invoque a un muestreo de Monte Carlo.

Use la misma semilla de generador de números aleatorios en cada simulación. Esta opción especifica que el RISKOptimizer usará una secuencia repetible de números aleatorios cada vez que se ejecuta cada simulación, asegurándose que las distribuciones retornen las mismas muestras durante cada simulación de prueba en la optimización.

Las opciones de Cuando las simulaciones no están ejecutando, las distribuciones muestran lo que se vea desplegado cada vez que se digita la tecla <F9> y se ejecuta un recálculo convencional de Excel. Estas opciones incluyen:

• Valores aleatorios (Monte Carlo). En este modo, las funciones de distribución retornan una muestra Monte Carlo durante un recálculo convencional. Este ajuste permite que sus valores de la hoja de cálculo aparezcan de la forma cómo se verían durante la ejecución de una simulación con nuevas muestras obtenidas de las funciones de distribución para cada recálculo.

Page 126: RISKOptimizer Es

122 Comando de configuración de optimización – pestaña General

• Valores estáticos. En este modo, las funciones de distribución retornan valores estáticos introducidos en una función de propiedad RiskStatic durante un recálculo convencional. Si un valor estático no se define para una función de distribución, ésta retornará:

- Valor esperado, o el valor que se espera de una distribución o valor medio. Para distribuciones discretas, el ajuste “Valor esperado corregido” utilizará el valor discreto en la distribución más cercano al valor esperado verdadero del valor permutado.

- Valor Esperado ’Verdadero’ genera los mismos valores a ser permutados como lo haría la opción Valor Esperado “Corregido”, excepto en el caso de tipos de distribuciones discretas, tales como la DISCRETE, POISSON y distribuciones similares. Para estas distribuciones el valor esperado verdadero será utilizado como el valor a permutar aún cuando el valor esperado podría no ocurrir para la distribución introducida, por ejemplo, si este no es uno de los puntos discretos en la distribución.

- Moda, o el valor modelo de la distribución.

- Percentil, o el valor introducido del percentil para cada distribución.

Page 127: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 123

Page 128: RISKOptimizer Es

124 Comando de configuración de optimización – pestaña Tiempo de ejecución

Comando de configuración de optimización – pestaña Tiempo de ejecución Define las configuraciones de ejecución para una optimización La pestaña Tiempo de ejecución de la caja de diálogo de configuración de optimización despliega las configuraciones del RISKOptimizer que determinan la ejecución de la optimización. Estas condiciones de detención especifican cómo y cuándo se detendrá el RISKOptimizer durante una optimización. Una vez que uno selecciones el comando de Iniciar Optimización, el RISKOptimizer se ejecutará continuamente, buscando por mejores soluciones y ejecutando simulaciones hasta que se satisfagan los criterios de detención seleccionados. Usted puede encender cualquier cantidad de estas condiciones o bien ninguna en absoluto si usted desea que el RISKOptimizer busque de manera indefinida (hasta que usted lo detenga). Cuando se verifican por múltiples condiciones, el RISKOptimizer se detendrá tan pronto una de estas condiciones seleccionadas sea satisfecha. Usted también podría sobrepasarse sobre cualquiera de estas selecciones y detener el RISKOptimizer en cualquier momento de forma manual usando el botón de detención en el Observador del RISKOptimizer o en la ventana de Progreso.

Page 129: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 125

Page 130: RISKOptimizer Es

126 Comando de configuración de optimización – pestaña Tiempo de ejecución

Las opciones de ejecución de optimización en la pestaña de Tiempo de ejecución incluyen:

• Simulaciones – Al seleccionar esta opción, se detiene el RISKOptimizer cuando el número determinado de simulación haya sido ejecutado. Se ejecuta una simulación para cada solución de prueba generada por el RISKOptimizer.

La configuración de Simulaciones es particularmente útil a la hora de comparar la eficiencia del RISKOptimizer cuando se intentan distintos métodos de modelos. Al cambiar la forma en que usted modela un problema, o al seleccionar un método de solución diferente, usted podría incrementar la eficiencia del RISKOptimizer. Al hacer que un modelo se ejecute un determinado número de simulación indicará qué tan eficientemente está convergiendo el RISKOptimizer sobre una solución, independientemente de cualesquiera diferencias en el número de variables seleccionadas, la velocidad del hardware del computador utilizado, o el tiempo de despliegue de pantalla. La hoja de cálculo resumen de optimización del RISKOptimizer también es útil para comparar los resultados entre distintas ejecuciones. Para mayor información sobre las hojas de cálculo de Resumen de Optimización, véase el Observador del RISKOptimizer – sección de Opciones de Detención en este capítulo.

• Tiempo – Al seleccionar esta opción, se detiene al RISKOptimizer de que simule escenarios después de que hay transcurrido un determinado número de horas, minutos o segundos. Esta entrada puede ser cualquier número real positivo ((600, 5.2, etc.).

• Progreso – Al seleccionar esta opción, se detiene al RISKOptimizer de que simule escenarios cuando el mejoramiento en la celda objetivo es menor que una cantidad especificada (criterio de cambio). Usted puede especificar, en forma de un entero, el número de simulaciones sobre las cuales verificar el mejoramiento. Un valor porcentual – tal como 1% – puede ser introducido como el máximo valor de cambio en el campo de Cambio máximo.

Opciones de ejecución de optimización

Page 131: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 127

Suponga que estamos tratando de maximizar la media de la celda objetivo, y después de 500 simulaciones, la mejor respuesta encontrada hasta ese momento es de 354.8. Si la opción de “Progreso” es la única condición de detención seleccionada, el RISKOptimizer pausará en la simulación #600 y sólo continuará si es capaz de encontrar una respuesta de al menos354.9 durante esas últimas 100 simulaciones. En otras palabras, las respuestas del RISKOptimizer no han mejorado en al menos 0.1 durante las últimas 100 simulaciones, así que asume que existiría muy poca posibilidad de mejoramiento adicional y detiene la búsqueda. Para problemas más complejos, usted podría querer incrementar el número de simulaciones que el RISKOptimizer ejecuta (500) antes de decidir si todavía existe suficiente mejoramiento para continuar.

Esta es la condición de detención más popular ya que le otorga al usuario un medio efectivo para detener el RISKOptimizer después que la tasa de mejoramiento ha empezado a disminuir, y el RISKOptimizer no pareciera estar encontrando mejores soluciones. Si usted está visualizando los gráficos de los mejores resultados en la pestaña de Progreso del Observador del RISKOptimizer, verá que los gráficos se aplanan por un rato antes de que esta condición se satisfaga y el RISKOptimizer se detenga. El “progreso” es realmente sólo una forma automática de hacer lo que usted podría hacer con el gráfico – dejarlo ejecutarse hasta que se nivele el mejoramiento.

• Fórmula es verdadera. Esta condición de detención causa que se detenga la optimización cuando la fórmula Excel introducida (o referenciada) evalúa un valor VERDADERO durante la optimización.

• Detener en error. Esta condición de detención causa que se detenga la optimización cuando ocurre un valor calculado de Error en la celda objetivo.

NOTA: Usted también puede seleccionar no tener condición de detención alguna, y el RISKOptimizer se ejecutará perpetuamente hasta que usted teclee el botón de detención en la ventana del Observador del RISKOptimizer.

Page 132: RISKOptimizer Es

128 Comando de configuración de optimización – pestaña Tiempo de ejecución

Las opciones de ejecución de simulación especifican cómo el RISKOptimizer determinará cuando detener cada simulación que ejecuta. Usted puede ejecutar cada simulación con un determinado número de iteraciones. En este caso, el RISKOptimizer ejecutará un número de iteraciones especificado o de forma alternativa, dejar que el RISKOptimizer determine cuando detener cada simulación.

Las opciones de ejecución de simulación en la pestaña de Tiempo de ejecución incluyen:

• Iteraciones – Esta opción le permite ejecutar cada simulación con un determinado número de iteraciones. En este caso, el RISKOptimizer se ejecutará con el número especificado de iteraciones con cada simulación que se ejecuta para cada solución de prueba generada por el RISKOptimizer (a menos que se detenga prematuramente cuando una restricción de iteración no se satisfaga).

• Convergencia – Se puede utilizar la convergencia como una condición de detención de simulación usando la convergencia real o proyectada.

- La convergencia real le indica al RISKOptimizer que detenga cada simulación cuando las distribuciones generadas tanto para 1) la celda objetivo de la optimización como para 2) las celdas referenciadas en las restricciones de simulación están estables y los estadísticos de interés convergen. La cantidad de variación permitida en el estadístico cuando está marcado como “convergido” se define en la opción de Tolerancia.

- Convergencia proyectada – Esta opción le indica al RISKOptimizer que detenga cada simulación cuando puede proyectar internamente que las distribuciones generadas tanto para la celda objetivo de la optimización como para 2) las celdas referenciadas en las restricciones de simulación están estables. El RISKOptimizer proyecta la convergencia basado en los resultados de simulaciones previas que han sido ejecutadas durante la optimización.

Se recomienda permitir que el RISKOptimizer controle cuando detenerse para asegurarse suficientes iteraciones a ser ejecutadas (¡pero no demasiadas!) de forma tal que los estadísticos de la salida devueltos al optimizador sean estables. Sin embargo, usted podría querer limitar las iteraciones ejecutadas al especificar un número determinado de iteraciones para acelerar las optimizaciones. Esto podría ser hecho cuando los modelos son muy grandes o en donde cada recálculo del Excel del modelo se demora mucho tiempo.

Opciones de ejecución de simulación

Page 133: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 129

La opción de tolerancia acepta valores entre 1 y 100 (o auto). Esto define la cantidad de cambio permitido cuando se haya determinado que el estadístico de interés haya convergido. Un nivel bajo requiere que exista muy poco cambio en el estadístico para que éste puede ser establecido como “convergido”; en comparación, niveles muy altos cercanos a 100 permiten una muchísima mayor variación sobre los estadísticos convergidos. La disyuntiva de una configuración de baja tolerancia versus una alta es la cantidad de tiempo requerido para ejecutar una optimización. Se requerirán muchas iteraciones adicionales por simulación para obtener convergencia con una configuración de baja tolerancia, usualmente sin ningún mejoramiento notable en los resultados generales de la optimización. Al seleccionar Auto se le especifica al RISKOptimizer que éste determinará la tolerancia de convergencia para usted.

Page 134: RISKOptimizer Es

130

Page 135: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 131

Comando de configuración de optimización – pestaña Visualizar Define las configuraciones de visualización para una optimización La pestaña Visualizar de la caja de diálogo de la configuración de optimización despliega las configuraciones del RISKOptimizer para determinar qué será mostrado durante una optimización.

Las opciones en la pestaña de visualizar incluyen:

• Minimizar el Excel al inicio. Esta opción seleccionar minimizar el Excel cuando se inicia la optimización.

• Mostrar recálculos de Excel. Esto especifica que se actualice el Excel ya sea con cada mejor nueva solución o bien al final de cada simulación. Nótese que en ciertas situaciones la pantalla será actualizada independientemente de esta configuración, por ejemplo cuando la optimización ha sido puesta en pausa.

• Mantener bitácora de todas las simulaciones. Esta opción especifica que el RISKOptimizer mantenga una bitácora en ejecución de cada nueva simulación llevada a cabo. Esta bitácora puede ser visualizada en la ventana del Observador del RISKOptimizer.

Page 136: RISKOptimizer Es

132

Page 137: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 133

Comando de configuración de optimización – pestaña Macros Define macros a ser ejecutadas durante una optimización Se pueden ejecutar macros de VBA en diferentes momentos durante una optimización y durante las ejecuciones de simulación para cada solución de prueba. Esto permite el desarrollo de cálculos hechos a la medida que serán invocados durante una optimización.

Se pueden ejecutar macros en los siguientes momentos durante una optimización:

• Al inicio de la optimización –la macro se ejecuta después de que el botón de Ejecutar haya sido digitado; antes de que se genere la primera solución de prueba.

• Antes de que inicie cada simulación – la macro se ejecuta antes de que se ejecute cada simulación (una simulación para cada solución de prueba generada por el optimizador).

• Antes del recálculo de cada iteración – la macro se ejecuta después del muestreo pero antes del recálculo de cada iteración de cada simulación que es ejecutada. La macro se ejecuta después de que las muestras hayan sido obtenidas de las funciones de distribución de probabilidad para la iteración pero antes del recálculo subsecuente del modelo.

Page 138: RISKOptimizer Es

134 Comando de configuración de optimización – pestaña Macros

• Después del recálculo de cada iteración – la macro se ejecuta después de que se haya ejecutado cada iteración de cada simulación. La macro se ejecuta después de obtener las muestras de las funciones de distribución de probabilidad para la iteración y el recálculo del modelo usando tales muestras; pero antes se de que se recolecte el valor para la celda objetivo.

• Después de que cada simulación finaliza – la macro se ejecuta después de la ejecución de cada simulación, pero antes de que se almacene el estadístico que está siendo optimizado para la distribución de la celda objetivo.

• Después de almacenar variable de salida – la macro se ejecuta después de la ejecución de cada simulación y después de que se almacene el estadístico que está siendo optimizado para la distribución de la celda objetivo.

• Al final de la optimización–la macro se ejecuta cuando se completa la optimización.

Esta funcionalidad permite cálculos que sólo pueden ser llevados a cabo por medio del uso de una macro a ser realizada durante una optimización. Algunos ejemplos de tales cálculos llevados a cabo por macros son los cálculos iterativos de “bucle” y cálculos que requieren nuevos datos de fuentes externas.

El nombre de macro define la macro a ser ejecutada.

Page 139: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 135

Comando de inicio de optimización Inicia una optimización Al seleccionar el comando de inicio de optimización o al hace clic sobre el ícono de Iniciar optimización, se inicia una optimización del modelo y del libro de trabajo activos. Apenas empieza a ejecutarse el RISKOptimizer, usted verá la ventana Progreso de RISKOptimizer.

La ventana de progreso despliega:

• Iteración o el número de iteraciones ejecutadas en la simulación actual.

• Simulación o el número total de simulaciones que han sido ejecutadas y el # válidas indica el número de tales simulaciones para las cuales todas las restricciones han sido satisfechas.

• Tiempo de ejecución o el tiempo transcurrido en la ejecución

• Original o el valor original para el estadístico de la celda objetivo de la forma que fue calculado desde la simulación inicial ejecutada usando los valores existentes en la hoja de cálculo para las celdas ajustables.

• Mejor o el mejor valor actual para la celda objetivo que está siendo minimizada o maximizada.

Durante una optimización, la barra de estado en Excel también despliega el progreso actual del análisis.

Page 140: RISKOptimizer Es

136 Comando de inicio de optimización

Las opciones en la Barra de herramientas de la ventana de progreso del RISKOptimizer incluyen:

• Opciones de despliegue de actualización de Excel. Seleccione la actualización del despliegue de Excel para cada simulación, o para cada mejor nueva solución o nunca. Nótese que en ciertas situaciones la pantalla será actualizada independientemente de esta configuración, por ejemplo cuando la optimización ha sido puesta en pausa.

• Desplegar el Observador del RISKOptimizer. Despliega toda la ventana del Observador del RISKOptimizer.

• Ejecutar. Al hacer clic sobre el botón de Ejecutar provoca que el RISKOptimizer empiece a buscar una solución basado en la descripción actual de la caja de diálogo de modelo de RISKOptimizer. Si usted pausa el RISKOptimizer estará todavía en capacidad de hacer clic sobre el ícono de Ejecutar para continuar la búsqueda de mejores soluciones.

• Pausa. Si usted deseara pausar el proceso de RISKOptimizer, simplemente haga clic sobre el ícono de Pausa y temporalmente “congelará” el proceso del RISKOptimizer. Mientras esté pausado, usted podría querer abrir y explorar el Observador del RISKOptimizer y cambiar parámetros, ver a toda la población, visualizar un reporte de estado o copiar un gráfico.

• Detener. Detiene la optimización.

Page 141: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 137

Comando de utilitarios Comando Configuraciones de aplicación Despliega la caja de diálogo de Configuraciones de aplicación en donde se pueden definir los valores del programa por defecto Una amplia variedad de configuraciones del RISKOptimizer pueden ser definidas por sus valores por defecto los cuales serán usados cada vez que se ejecute el RISKOptimizer. Estos incluyen Valores por defecto de detención, Valores por defecto de tasas de cruce y mutación y otros.

Page 142: RISKOptimizer Es

138 Comando de utilitarios

Comando Solver de restricciones Ejecuta el Solver de restricciones

El Solver de restricciones mejora la capacidad de RISKOptimizer de administrar las restricciones de un modelo. Cuando RISKOptimizer ejecuta una optimización, se supone que los valores originales de la celda ajustable cumplen todas las restricciones fijas; es decir, que la solución original es válida. Si no es el caso, el algoritmo puede ejecutar muchas simulaciones antes de encontrar una primera solución válida. Sin embargo, si un modelo contiene múltiples restricciones, puede no resultar obvio qué valores de celda ajustables cumplirán todas ellas.

Si un modelo de RISKOptimizer contiene múltiples restricciones fijas, y la optimización falla con la totalidad de soluciones resultando no válidas, el programa lo indicará y el Solver de restricciones se puede ejecutar. El Solver de restricciones ejecuta una optimización en un modo especial, en el que el objetivo es encontrar una solución que cumpla todas las restricciones fijas. El progreso de la optimización se muestra al usuario de la misma forma que las en optimizaciones regulares. La ventana de progreso muestra el número de restricciones que se cumplen en la solución original y en la mejor.

Page 143: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 139

Un botón de la Ventana de Progreso permite al usuario cambiar al Observador del RISKOptimizer. En el modo de Solver de restricciones, los detalles del progreso de la optimización están disponibles como en las optimizaciones que se hacen en modo normal, en las pestañas Progreso, Resumen, Bitácora, Población y Diversidad. En el modo de Solver de restricciones, el Observador contiene una pestaña adicional titulada Solver de restricciones. Esta pestaña muestra el estado de cada restricción fija (Satisfecha o No satisfecha) de las soluciones Mejor, Original y Última.

Una optimización del Solver de restricciones se detiene automáticamente cuando se encuentra una solución que cumple todas las restricciones fijas; también se puede parar haciendo clic en un botón de la ventana de progreso o en el Observador del RISKOptimizer. Después de una ejecución del Solver de restricciones, en la pestaña Opciones de detención del Observador del RISKOptimizer puede seleccionar mantener la solución Mejor, Original o Última, como en las optimizaciones que se hacen en modo regular.

Recuerde que no hay necesidad de configurar el Solver de restricciones antes de una ejecución. Se usan las configuraciones especificadas en el modelo, sólo cambiando el objetivo de optimización: el nuevo objetivo es encontrar una solución que cumpla todas las restricciones fijas.

Page 144: RISKOptimizer Es

140 Comando de utilitarios

En la pestaña Opciones de detención hay una opción adicional recomendada de Definir valor semilla usado en esta optimización. Esta opción se proporciona porque si la semilla de generador de número aleatorio no es fija, entonces las restricciones que se cumplieron durante una ejecución del Solver de restricciones pueden no cumplirse durante una ejecución en modo regular, incluso aunque los valores de celda ajustables sean los mismos (ya que los resultados de la simulación dependen de la semilla). La opción está desactivada si la semilla estaba fija en la caja de diálogo Configuraciones de Optimización antes de ejecutar el Solver de restricciones.

Page 145: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 141

El Observador del RISKOptimizer El ícono de la lupa en la barra de herramientas de la ventana de progreso del RISKOptimizer despliega el Observador del RISKOptimizer. El Observador del RISKOptimizer es responsable de la regulación y la creación de reportes de toda la actividad del RISKOptimizer.

Desde el Observador del RISKOptimizer usted puede cambiar parámetros y analizar el progreso de la optimización. También puede ver información en tiempo real acerca del problema e información del progreso del RISKOptimizer en la barra de estado en la parte inferior del Observador del RISKOptimizer.

Page 146: RISKOptimizer Es

142 El Observador del RISKOptimizer

El Observador del RISKOptimizer – pestaña Progreso Despliega gráficos de progreso para el valor de la celda objetivo La pestaña Progreso en el Observador del RISKOptimizer muestra gráficamente cómo los resultados están cambiando debido a la simulación para la celda objetivo seleccionada.

Los gráficos de progreso muestran el conteo de la simulación en el eje X y los valores de la celda objetivo en el eje Y. Los gráficos de progreso pueden ser re escalados al hacer clic en los límites del eje y al arrastrar el eje a un nuevo valor de escala. Alternativamente, al hacer clic derecho sobre el gráfico de progreso despliega la caja de diálogo de Opciones de gráfico en donde se permite una personalización aún mayor de los gráficos.

Page 147: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 143

La Caja de diálogo de opciones de gráfico despliega configuraciones que controlan el título, las leyendas, el escalamiento y las fuentes usadas sobre el gráfico desplegado.

Caja de diálogo de opciones de gráfico

Page 148: RISKOptimizer Es

144 El Observador del RISKOptimizer

El Observador del RISKOptimizer – pestaña Resumen Despliega detalles para los valores de las celdas ajustables La pestaña Resumen en el Observador del RISKOptimizer despliega una tabla resumen de los valores de las celdas ajustables evaluados durante la optimización, además de herramientas para ajustar las tasas de cruce y de mutación para cada Grupo de Celdas Ajustables en el modelo.

La Configuración de Grupos de Celdas Ajustables le permite cambiar las tasas de cruce y de mutación del algoritmo genético a medida que el problema se encuentra en progreso. Cualesquiera cambios hechos acá se superpondrán a las configuraciones originales de estos parámetros y se ejecutarán inmediatamente, afectando la población (o grupo de celdas ajustables) que fue seleccionado en el campo de Grupo mostrado.

Page 149: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 145

Recomendamos casi siempre usar la tasa de cruce por defecto en 0.5. Para la mutación, en muchos modelos usted podría incrementarla tan alto hasta como de 0.4 si usted desea encontrar la mejor solución y está dispuesto a esperar más tiempo por ella. Al definir el valor de mutación en 1 (su máximo) resultará en una adivinanza totalmente aleatoria, en la medida en que el RISKOptimizer lleva a cabo una mutación después de haber ejecutado un cruce. Esto significa que después de que los dos padres seleccionados son cruzados para crear una solución descendiente, el 100% de los “genes” de tal solución mutarán con números aleatorios, tornando efectivamente en inservible el proceso de cruce (véase “tasa de cruce, lo que hace” y “tasa de mutación, lo que hace” en el índice para mayor información).

Page 150: RISKOptimizer Es

146 El Observador del RISKOptimizer

El Observador del RISKOptimizer – pestaña Bitácora Despliega una bitácora de cada ejecución de simulación durante la optimización La pestaña Bitácora en el Observador del RISKOptimizer despliega una tabla resumen de cada ejecución de simulación durante la optimización. La bitácora incluye los resultados para la celda objetivo, para cada celda ajustable y para las restricciones introducidas. Sólo se dispondrá de una bitácora si la opción Mantener una bitácora de todas las simulaciones se selecciona de la caja de diálogo de Configuración de Simulación en la pestaña de Visualizar.

Las opciones de Mostrar seleccionan mostrar una bitácora de Todas las simulaciones o bien sólo aquellas simulaciones en donde un Paso de progreso (esto es, en donde el resultado de la optimización mejoró). La bitácora incluye:

1. Tiempo transcurrido, o el tiempo de inicio de la simulación

2. Iters, o el número de iteraciones ejecutadas

3. Resultado, o el valor del estadístico de la celda objetivo que usted está tratando de maximizar o minimizar, incluyendo las penalizaciones para las restricciones blandas

Page 151: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 147

4. Media del resultado, DesvEst del resultado, Mín del resultado, máx del resultado, o los estadístico para la distribución de probabilidad para la celda objetivo que fue calculada

5. Columnas de entradas, o los valores usados para sus celdas ajustables

6. Columnas de restricciones mostrando si las restricciones fueron satisfechas

Page 152: RISKOptimizer Es

148 El Observador del RISKOptimizer

El Observador del RISKOptimizer – pestaña Población Lista todas las variables de cada organismo (cada posible solución) en la población actual

La tabla de población es una parrilla que lista todas las variables para cada organismo (cada solución posible) en la población actual. Estos organismos (“Org n”) se jerarquizan en orden desde el peor hasta el mejor. Ya que esta tabla lista todos los organismos en la población, la configuración del “tamaño de población” definido en la caja de diálogo de las Configuraciones de RISKOptimizer determina cuántos organismos serán listados acá (por defecto 50). Adicionalmente, la primera columna de la tabla muestra el valor resultante para la celda objetivo para cada organismo.

Page 153: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 149

El Observador del RISKOptimizer – pestaña Diversidad Despliega un diagrama de colores para todas las variables en la población actual El gráfico de la pestaña Diversidad asigna colores a los valores de celda ajustables, basándose en la diferencia del valor de una celda determinada en una población de organismos (soluciones) que estén almacenados en memoria en un momento determinado. (Usando la terminología genética de optimización, esto es una indicación de la diversidad que existe en el conjunto génico.) Cada una de las barras verticales del gráfico se corresponde con una celda ajustable. Las bandas horizontales dentro de cada barra representan los valores de esa celda ajustable en diferentes organismos (soluciones). Los colores de las bandas se asignan dividiendo el rango entre el valor mínimo y máximo de una celda ajustable determinada entre 16 intervalos de igual longitud; cada uno de los intervalos se representa con un color diferente. Por ejemplo, en la imagen, el hecho de que la barra vertical que representa la segunda celda ajustable sea de un solo color significa que la celda tiene el mismo valor en cada una de las soluciones que hay en memoria.

Page 154: RISKOptimizer Es

150 El Observador del RISKOptimizer

El Observador del RISKOptimizer – pestaña Opciones de detención Despliega las opciones de detención para la optimización Cuando usted hace clic sobre el botón de Detener, la caja de diálogo del Observador del RISKOptimizer se despliega sobre la pestaña de opciones de detención. Esto incluye las opciones disponibles para actualizar su hoja de cálculo con los mejores valores calculados para las celdas ajustables, la restauración de los valores originales y la generación de un reporte de resumen de optimización.

Al hacer clic sobre Aceptar se destruye la población de soluciones del RISKOptimizer y se posicionan los valores seleccionados en su hoja de cálculo. Si usted desea guardar alguna información acerca de la sesión de RISKOptimizer, incluyendo los valores de la población, el tiempo y el número de pruebas ejecutadas, asegúrese seleccionar la creación de un reporte resumen de optimización.

Page 155: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 151

Esta caja de diálogo también aparecerá si alguna de las condiciones de detención especificadas por el usuario han sido satisfechas (el número de pruebas ejecutadas han sido evaluadas, minutos transcurridos requeridos, etc.). La alerta de detención ofrece tres alternativas para la actualización de los valores de las celdas ajustables en su hoja de cálculo: Mejor, Original y Ultimo.

• Mejor. Esto acepta los resultados del RISKOptimizer y finaliza la búsqueda del RISKOptimizer para mejores soluciones. Cuando usted selecciona esta opción, los valores del mejor escenario que el RISKOptimizer ha encontrado en su búsqueda se posicionan en las celdas ajustables de su hoja de cálculo.

• Original. Esto restaura las celdas ajustables a sus valores originales antes de que se ejecutara el RISKOptimizer, y finaliza la búsqueda del RISKOptimizer por mejores soluciones.

• Ultimo. Esto causa que el RISKOptimizer coloque los últimos valores calculados de la optimización en la hoja de cálculo. La opción de Últimos valores calculados es particularmente útil para revisar modelos y encontrar errores.

Page 156: RISKOptimizer Es

152 El Observador del RISKOptimizer

Las opciones de Reportes a Generar pueden generar hojas de cálculo resumen de optimización que pueden ser usadas para reportar sobre los resultados de la ejecución y para comparar los resultados entre ejecuciones. Las opciones de reporte incluyen:

• Resumen de optimización. Este reporte resumen contiene información tal como fecha y tiempo de ejecución, las configuraciones de optimización utilizadas, los valores calculados para la celda objetivo y el valor para cada una de las celdas ajustables.

Este reporte es útil para comparar los resultados de optimización sucesivas.

Page 157: RISKOptimizer Es

Capítulo 5: Guía de referencia del RISKOptimizer 153

• Bitácora de todas las simulaciones. Este reporte genera una bitácora de todos los resultados de las simulaciones de prueba llevadas a cabo.

• Bitácora de pasos de progreso. Este reporte genera una bitácora

de todas aquellas simulaciones de prueba llevadas a cabo que mejoraron el resultado para la celda objetivo.

Page 158: RISKOptimizer Es

154

Page 159: RISKOptimizer Es

Capítulo 6: Optimización 155

Capítulo 6: Optimización

Introducción ..........................................................................................156 Métodos de optimización ...................................................................156 Acerca de algoritmos de ascenso de colinas ....................................158 El Solver de Excel .................................................................................162 Tipos de problemas .............................................................................163 

Problemas lineales..................................................................163 Problemas no lineales............................................................163 Problemas basados en tablas................................................165 Problemas Combinatorios.....................................................166 

Page 160: RISKOptimizer Es

156

Introducción El RISKOptimizer combina optimización y simulación para permitirle optimizar problemas que contengan elementos inciertos. Los siguientes tres capítulos de este manual proveen información de contexto sobre las técnicas analíticas usadas en el RISKOptimizer, incluyendo1) optimización, 2) algoritmos genéticosy3) simulación.

Métodos de optimización Los problemas de optimización tradicional basados en Excel que utilizan tanto el Solver como el Evolver se componen de:

• Una celda de salida u “objetivo” que usted desea minimizar o maximizar.

• Un conjunto de celdas de entrada o “ajustables” cuyos valores usted controla.

• Un conjunto de restricciones que deben ser satisfechas, usualmente especificadas utilizando expresiones tales como COSTOS<100 o A11>=0

Durante una optimización en Solver o Evolver, las celdas ajustables se cambian a lo largo de los rangos permisibles que usted especifica. Para cada posible conjunto de valores de celdas ajustables el modelo se recalcula, y se genera un nuevo valor para la celda objetivo. Cuando la optimización se completa, se encuentra una solución óptima (o bien una combinación de valores de celdas ajustables). Esta solución es la combinación de valores de celdas que generan el mejor valor (es decir, el mínimo o máximo) para el valor de la celda objetivo mientras se satisfacen las restricciones que usted ha introducido.

Algunos problemas de optimización son muchísimo más difíciles de resolver que otros. Para problemas difíciles, tal y como un modelo de Excel para encontrar la ruta mínima posible entre 1000 ciudades, no es posible examinar cada posible solución. Tal enfoque requeriría años de cálculos en las computadoras más rápidas.

Para resolver tales problemas, es necesario buscar por medio de un subconjunto de todas las soluciones posibles. Al examinar tales soluciones, se puede obtener una idea de cómo encontrar mejores soluciones. Esto se lleva a cabo por medio de un algoritmo. Simplemente, un algoritmo es una descripción paso a paso de cómo enfocar un problema. Todos los programas computacionales, por ejemplo, se construyen combinando numerosos algoritmos.

Page 161: RISKOptimizer Es

Capítulo 6: Optimización 157

Iniciemos explorando cómo la mayoría de los algoritmos de resolución de problemas inician representando un problema. La mayoría de los problemas pueden ser divididos en tres componentes básicos: entradas, una función de cierto tipo y una salida resultante.

En busca de: Dado: Para obtener el mejor:

Componentes del problema

Entradas Función Salidas

Optimización en Excel

Variables Modelo Objetivo

Asumamos que nuestro problema de optimización involucrados variables, X e Y. A la hora de colocarlas en una ecuación, estas dos variables producen un resultado = Z. Nuestro problema es encontrar el valor para X e Y que produzca el mayor valor de Z. Podríamos pensar en Z como una “nota”, que indica qué tan bueno en particular, se ve el aparejamiento de X con Y.

En busca de: Dado: Para obtener el mejor:

En este ejemplo X y Y Ecuación Z

Un diagrama de cada conjunto de Xs e Ys, y las resultantes Zs producirían un gráfico de superficie de tres dimensiones tal y como el que se muestra a continuación:

Un “paisaje” de los posibles escenarios o soluciones.

Page 162: RISKOptimizer Es

158

Cada intersección de una X y una Y producen un valor de altura Z. Las cúspides y los valles de este “paisaje” representan respectivamente soluciones buenas y malas. La búsqueda por el punto más alto o máximo de esta función al examinar cada solución tomaría demasiado tiempo, aún con un computador poderosos y el programa más rápido. Recuerde que estamos otorgándole a Excel solamente la función en si misma, no un gráfico de la función, y de que igual de fácil podríamos estar lidiando con un problema de 200 dimensiones así como con este problema de dos dimensiones. Por tanto, necesitamos un método que nos permita realizar menos cálculos y que aún así encuentre la productividad máxima.

Acerca de algoritmos de ascenso de colinas Observemos un algoritmo simple denominado ascenso de colinas. El ascenso de colinas es un algoritmo que trabaja así:

1. Inicie en un punto aleatorio del paisaje (tome una muestra aleatoria).

2. Camine una pequeña distancia en alguna dirección arbitraria.

3. Si usted ha caminado a un nuevo punto que es mayor, quédese y repita el paso 2. Si su nuevo punto es menor, devuélvase al punto original e intente de nuevo.

El ascenso de colinas trata solamente una solución o escenario por vez. Utilizaremos un punto negro (•) para representar una solución posible (un conjunto de valores X, Y y Z). Si posicionamos el punto en un punto de inicio aleatorio, esperamos que nuestro método de ascenso de colinas lleve el punto a la cúspide del gráfico.

Page 163: RISKOptimizer Es

Capítulo 6: Optimización 159

Del diagrama acá arriba podemos ver claramente que deseamos que el punto vaya hacia arriba de la colina hacia la derecha. Sin embargo, sólo sabemos eso ya que hemos podido ver la totalidad del paisaje. A medida que el algoritmo se ejecuta, éste observa el paisaje alrededor de él inmediatamente, pero no todo el paisaje; observa los árboles pero no el bosque.1

En la mayoría de problemas de la vida real, el paisaje no es tan suave, y requeriría años para calcular, de forma tal que sólo calculamos el escenario actual y los escenarios en sus inmediaciones. Imagínese que el punto es una persona con los ojos tapados en medio de colinas suaves. Si la persona emplease el algoritmo de ascenso de colinas, este hombre pondría un pie en cada dirección y sólo se movería cuando sintiese una topografía más alta. Esta persona podría mover su pie exitosamente hacia arriba y eventualmente descansaría en la cúspide en donde todo el terreno a su alrededor fuese más bajo que el terreno sobre el que se encontrase. Esto parece simple. Sin embargo, entramos en un problema muy serio si la persona inicia en otro lugar… y asciende la colina equivocada! (véase el diagrama a continuación).

Aún con una función suave, el ascenso de colinas puede fallar

si usted inicia con una posición ligeramente diferente (derecha).

1 En nuestro diagrama, la función se muestra como un paisaje suave. En los casos poco frecuentes en donde lidiamos con funciones simples y suaves (diferenciables), es posible usar cálculo para encontrar los mínimos y los máximos. Si n embargo, la mayoría de los problemas de la vida real no pueden ser descritos con funciones suaves.

Page 164: RISKOptimizer Es

160

El ascenso de colinas sólo encuentra la cúspide más próxima, llamado el máximo local. Así que, si su problema posee un paisaje muy áspero y lleno de colinas, como lo que sucede con la mayoría de los problemas realistas, el ascenso de colinas no tiene una alta posibilidad de encontrar la cúspide más alta, o inclusive alguna de las más altas.

El ascenso de colinas tiene otro problema; cómo en realidad encontramos el terreno circundante respecto de nuestra posición actual? Si el paisaje está descrito por una función suave, podría ser posible utilizar diferenciación (una técnica de cálculo) para encontrar en qué dirección se encuentra la pendiente más pronunciada. Si el terreno es discontinuo o no diferenciable (como es más posible en muchos problemas del mundo real) debemos calcular el “aptitud” de los escenarios circundantes.

Por ejemplo, asuma que un banco contrata a un oficial de seguridad desde las 9:00am hasta las 5:00pm para cuidar del banco, pero el banco debe otorgarle dos descansos de media hora. Debemos encontrar los tiempos óptimos de descanso, dadas ciertas reglas generales de razones de desempeño/fatiga y considerando los diferentes niveles de actividad de los clientes a lo largo del día. Podríamos iniciar probando ciertas combinaciones de descansos de trabajo y evaluarlas. Si actualmente usamos un calendario en donde los descansos están programados para las 11:00am y para las 3:00pm, podríamos calcular la productividad de los escenarios circundantes:

Dirección Quiebre 1 (x) Quiebre 2 (y) “Nota” (z) Solución actual 11:00am 3:00pm = 46.5 Escenario oeste 10:45am 3:00pm = 44.67 Escenario este 11:15am 3:00pm = 40.08 Escenario norte 11:00am 3:15pm = 49.227 Escenario sur 11:00am 2:45pm = 43.97

Page 165: RISKOptimizer Es

Capítulo 6: Optimización 161

Si tuviésemos tres celdas ajustables (descansos) en vez de dos, deberíamos buscar en ocho distintas direcciones. De hecho, si sólo tuviésemos cincuenta variables (muy realista para un problema de tamaño mediano) deberíamos calcular una productividad para 250, solamente para un oficial de seguridad!!

Se pueden hacer modificaciones al ascenso de colinas para mejorar su habilidad de encontrar máximos globales (las cúspides más altas en el paisaje total). El ascenso de colinas es más útil para tratar problemas unimodales (una sola cúspide), y por eso es que ciertos programas de análisis utilizan tal técnica. Sin embargo, es muy limitado para problemas complejos o grandes.

Page 166: RISKOptimizer Es

162

El Solver de Excel El Excel incluye un utilitario de optimización denominado Solver. El Solver puede resolver dos tipos de problemas: problemas lineales y problemas no lineales simples. Resuelve problemas lineales utilizando una rutina de programación lineal. Esta clásica técnica matemática es comúnmente referida como el método Simplex y siempre encontrará respuestas perfectas para pequeños problemas puramente lineales.

Como muchos otros resolvedores pequeños, el Solver de Microsoft también resuelve problemas no lineales, utilizando una rutina de ascenso de colinas (específicamente la rutina GRG2). Una rutina de ascenso de colinas inicia con los valores actuales de las variables y las ajusta lentamente hasta que la salida del modelo no se mejore más. Esto implica que problemas con más de una solución posible podrían ser imposibles para que el Solver resolviera correctamente, ya que el Solver finaliza en una solución local y no puede saltar hacia la solución global. (véase la figura a continuación).

Paisaje de posibles soluciones.

Adicionalmente, el Solver requiere que la función representada por su modelo sea continua. Esto significa que la salida debería cambiar suavemente a medida que se ajustan las variables de entrada. Si su modelo utiliza tablas de búsqueda, obtiene información ruidos en tiempo real de otro programa, contiene elementos aleatorios o involucra reglas si-entonces, su modelo será muy cambiante y discontinuo. El Solver no podría ser capaz de resolver tal problema.

El Solver también impone un límite en el número de variables y en el número de restricciones en su problema (200) a partir del cual usted debería buscar por una técnica más poderosa.

Page 167: RISKOptimizer Es

Capítulo 6: Optimización 163

Tipos de problemas Algunos tipos distintos de problemas típicamente se optimizan.

En los problemas lineales, todas las variables de salida son funciones lineales simples en función de las variables de entrada, tal como y=mx + b. Cuando los problemas sólo usan operaciones aritméticas simples tales como la suma, la resta y funciones de Excel como TENDENCIA() y PRONOSTICO() esto indica que sólo existen relaciones lineales entre las variables.

Los problemas lineales son fáciles de resolver desde el advenimiento de las computadoras y de la invención del método Simplex por parte de George Dantzig. Un simple problema lineal puede ser resuelto más rápidamente y de forma precisa con un utilitario de programación lineal. El utilitario Solver incluido en el Excel se convierte en una herramienta de programación lineal cuando usted define la opción de “Asumir modelo lineal”. De esta forma, el Solver utiliza una rutina de programación lineal para encontrar rápidamente la solución perfecta. Si su problema puede ser expresado en términos puramente lineales, usted debería entonces utilizar programación lineal. Desafortunadamente, la mayoría de los problemas del mundo real no pueden ser descritos linealmente. 2¿Si el costo para manufacturar y enviar 5,000 artículos fuese de $5,000, costaría acaso $1 para manufacturar y enviar 1 artículo? Probablemente no. La línea de ensamblaje en la fábrica igual consumiría energía, la papelería igual tendría que completarse y procesarse a lo largo de varios departamentos, los materiales igual tendrían que adquirirse a granel, los camiones igual requerirían la misma cantidad de combustible para entregar los artículos, y el conductor del camión igual se le tendría que pagar un salario completo independientemente del tamaño de la carga de su vehículo. La mayoría de los problemas del mundo real no involucran variables con relaciones lineales simples. Estos problemas involucran multiplicación, división, exponenciación y funciones propias del Excel como RAIZ() y CRECIMIENTO(). En el momento en que las variables involucren una relación desproporcional de una contra las otras, el problema se transforma en no lineal.

2 Para mayor especificación, véase el Utilitario del Solver de Microsoft en la Guía de Usuario de Excel.

Problemas lineales

Problemas no lineales

Page 168: RISKOptimizer Es

164

Un ejemplo perfecto de un problema no lineal es la administración de un proceso de manufactura en una planta química. Imagínese que deseamos mezclar algunos reactivos químicos y obtener un producto químico como resultado. La velocidad de esta reacción podría variar no linealmente con la cantidad de reactivos disponibles; a partir de determinado punto, el catalizador se satura y el reactivo en exceso se vuelve un obstáculo. El siguiente diagrama muestra tal relación:

Si simplemente requerimos encontrar el nivel mínimo de reactivos que nos proporcione la tasa máxima de reacción, sólo requerimos iniciaren cualquier punto del gráfico y ascender a lo largo de la curva hasta que lleguemos a la cúspide. Este método de encontrar una respuesta se denomina ascenso de colinas.

El ascenso de colinas siempre encontrará la mejor solución si a) la función siendo explorada es suave y b) los valores de la variable inicial lo posicionan en un lado de la colina más alta. Si alguna de las dos condiciones no se satisface, el ascenso de colinas podría terminar en una solución local, en vez de encontrar la solución global.

Los problemas altamente no-lineales, los que se ven con más frecuencia en la práctica, poseen muchas soluciones posibles a lo largo de un paisaje complicado. Si un problema posee muchas variables, y/o las fórmulas involucradas contienen mucho ruido o son muy curveadas, la mejor respuesta probablemente no será encontrada con el ascenso de colinas, aún después de intentar cientos de veces desde distintos puntos de partida.

Más probablemente, se encontrará una solución sub-óptima y extremadamente local (véase figura abajo) .

Page 169: RISKOptimizer Es

Capítulo 6: Optimización 165

El ascenso de colinas encuentra el máximo local pero no el máximo global.

Datos ruidosos: El ascenso de colinas no es efectivo, aún con múltiples pruebas.

El RISKOptimizer y el Evolver(la fuente del optimizador basado en algoritmos genéticos usado en el RISKOptimizer )no utilizan el ascenso de colinas. En vez de eso, usan una técnica estocástica de búsqueda direccionada denominada algoritmo genético. Esto le permite al RISKOptimizer brincar en un espacio de solución de un problema, examinando muchas combinaciones de valores de entrada sin que se quede pegado en óptimos locales. Adicionalmente, el RISKOptimizer permite que los buenos escenarios “se comuniquen” con los otros para obtener información valiosa acerca de cómo se ve el paisaje de la solución global, y luego utiliza esta información para lograr mejores adivinanzas sobre cuáles escenarios tienen más probabilidad de ser exitosos.

El RISKOptimizer genera muchos escenarios posibles y luego refina su búsqueda basado en la retroalimentación que recibe.

Muchos problemas requieren el uso de tablas de búsqueda y de bases de datos. Por ejemplo, a la hora de escoger las diferentes cantidades de materiales a comprar, usted podría requerir buscar los precios cobrados para distintas cantidades.

Las tablas y las bases de datos convierten a los problemas en discontinuos (no suaves). Esto lo torna difícil para rutinas de ascenso de colinas como el Solver para poder encontrar soluciones óptimas. Sin embargo, el RISKOptimizer no requiere de continuidad en las funciones que evalúa y puede encontrar buenas soluciones para problemas basados en tablas, inclusive en problemas que usan muchas tablas grandes y entrelazadas.

Problemas basados en tablas

Page 170: RISKOptimizer Es

166

Si su problema involucra la búsqueda de valores desde una base de datos o de una tabla de datos en Excel, en donde el índice del ítem de la tabla es una variable o una función de una variable, usted necesita utilizar el Evolver o el RISKOptimizer. Si usted sólo puede buscar un único ítem contante de una tabla (el mismo registro es obtenido de la tabla independientemente de los valores de las variables de entrada), entonces en realidad, usted está solamente lidiando con una constante y probablemente usted podría utilizar el Solver de una forma efectiva.

Existe un gran grupo de problemas que es muy diferente de los problemas numéricos examinados hasta este momento. Son problemas en donde las variables de salida involucran el cambio de orden de una serie existente de variables de entrada o un agrupamiento de subconjuntos de las variables de entrada. Se llama problemas combinatorios. Estos problemas son usualmente muy difíciles de resolver ya que usualmente requieren de tiempo de forma exponencial; esto es, la cantidad de tiempo requerido para resolver un problema con 4 variables sería de4 x 3 x 2 x 1,y al doblar el número de variables a 8 el tiempo de resolución sería de 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1, o bien un factor de 1,680. El número de variables se duplica, pero el número de posibles soluciones que debe ser verificada se incrementa en 1,680 veces. Por ejemplo, la escogencia de la secuencia de jugadores a batear en un partido de béisbol es un problema combinatorio. Para 9 jugadores, usted puede escoger uno de cada uno de los 9 como su primer bateador. Luego usted puede escoger uno de los 8 remanentes como el segundo bateador, después uno de los 7 remanentes para el tercero y así sucesivamente. Existen 9x8x7x6x5x4x3x2x1 (9 factorial)formas para escoger una alineación de 9 jugadores. Esto es de 362,880 diferentes alineaciones. Ahora bien, si usted duplica el número de jugadores, existen entonces 18 formas factoriales de alineaciones, o bien 6,402,373,705,000,000 posibles alineaciones!

El algoritmo genético del RISKOptimizer y del Evolver busca inteligentemente a lo largo de posibles permutaciones. Esto es muchísimo más práctico que buscar todas las posibilidades, y es mucho más eficiente que examinar simplemente permutaciones al azar; ya que los sub-órdenes de buenos escenarios pueden ser retenidos para crear aún mejores escenarios.

Problemas Combinatorios

Page 171: RISKOptimizer Es

Capítulo 7: Algoritmos genéticos 167

Capítulo 7: Algoritmos genéticos

Introducción ....................................................................................169 

Historia.............................................................................................169 

Un ejemplo biológico .....................................................................173 

Un ejemplo digital...........................................................................175 

Page 172: RISKOptimizer Es

168

Page 173: RISKOptimizer Es

Capítulo 7: Algoritmos genéticos 169

Introducción El RISKOptimizer usa los algoritmos genéticos para buscar respuestas óptimas para los modelos de simulación. Los algoritmos genéticos utilizados son adaptados del Evolver, un complemento de optimización para el Excel de Palisade Corporation. Este capítulo provee información de contexto sobre los algoritmos genéticos para aclarar cómo son utilizados para modelos de simulación optimizada.

Historia Los primeros algoritmos genéticos fueron desarrollados a principios de los 1970s por John Holland en la Universidad de Michigan. Holland estaba impresionado con la facilidad con que los sistemas biológicos podían ejecutar tareas que eludían aún a las más poderosas súper computadoras; los animales pueden perfectamente reconocer un objeto, entender y traducir sonidos, y en general, navegar en medio de un ambiente dinámico de forma casi instantánea.

Por décadas, los científicos han prometido replicar estas capacidades en máquinas, pero estamos empezando a reconocer qué tan difícil es esta tarea. La mayoría de los científicos concuerda que cualquier sistema biológico complejo que exhibe estas cualidades ha evolucionado para convertirse en tal.

La evolución, afirma la teoría, ha producido sistemas con capacidades impresionantes a través de una serie de fundamentos relativamente simples y que se auto-reproducen que siguen, a su vez, unas pocas reglas simples:

1. La evolución sucede a nivel del cromosoma. El organismo por si mismo, no evoluciona, sino que, sólo sirve como un receptáculo en donde los genes son acarreados y traspasados. Son los cromosomas que están cambiando dinámicamente con cada reconfiguración de genes.

2. La naturaleza tiende a hacer más copias de los cromosomas, los cuales producen un organismo más “adaptado”. Si un organismo sobrevive lo suficiente, y está sano, sus genes tienen más probabilidad de ser pasados a la nueva generación de organismos a través de la reproducción. A este principio e le conoce generalmente como el de “la supervivencia del más apto”. Recuerde que el término “más apto” es un término relativo; un organismo sólo requiere ser apto en comparación con otros en su población actual para ser “exitoso”.

Teoría de la evolución

Page 174: RISKOptimizer Es

170 Historia

3. La diversidad debe ser mantenida en la población. De manera aparente, las mutaciones ocurren frecuentemente en la naturaleza para asegurar la variación de los organismos. Estas mutaciones genéticas resultan generalmente en una funcionalidad útil, o inclusive vital, para la supervivencia de una especia. Con un espectro aún más ancho de combinaciones posibles, una población también es menos susceptible a las debilidades comunes que podrían destruirlos a todos (virus, etc.), u otros problemas asociados con la reproducción.

Una vez que hemos descompuesto a la evolución en sus bloques fundamentales, se vuelve fácil aplicar estas técnicas al mundo computacional, y verdaderamente empezar a movernos hacia máquinas más fluidas y con un comportamiento más natural.

Holland empezó a aplicar estas propiedades de la evolución a hileras simples de números que representaran cromosomas. Primero, él codificó su problema en hileras binarias (filas de “1s” y “0s”) para representar a los cromosomas, y luego hizo que la computadora generará muchas de estas hileras “bit” para formar una población total de ellas. Se programa una función de “aptitud” que pudiese evaluar y jerarquizar cada hilera “bit”, y aquellas hileras que se observaran más “aptas” cruzarían datos con otras por medio de una rutina de “cruce” para crear hileras “bit” de “descendientes”. Inclusive, Holland sujetó sus cromosomas digitales a un operador de “mutación”, que inyectaba “aleatoriedad” a los cromosomas “descendientes” resultantes para retener la diversidad dentro de la población. Esta función de aptitud reemplazó el rol de la muerte en el mundo biológico; determinando cuáles hileras eran lo suficientemente buenas como para continuarse reproduciendo y cuáles no serían almacenadas más en memoria.

Page 175: RISKOptimizer Es

Capítulo 7: Algoritmos genéticos 171

El programa mantenía un número dado de estos “cromosomas” en memoria, y esta “población” total de hileras continuamente evolucionaba hasta que se maximizara la función de aptitud. El resultado luego era decodificado de vuelta a sus valores originales para revelar la solución. John Holland se mantiene como un pionero activo en este campo, y se encuentra ahora unido a cientos de científicos y escolásticos que han dedicado la mayoría de su tiempo hacia esta prometedora alternativa a la programación lineal u a las técnicas tradicionales matemáticas y estadísticas.

El algoritmo genético original de Holland era bien simple y, al mismo tiempo, sobresalientemente robusto, encontrando soluciones óptimas para una amplia variedad de problemas. Muchos programas personalizados de hoy en día resuelven problemas del mundo real muy grandes y complejos usando versiones ligeramente modificadas de este algoritmo genético original.

A medida que se acrecentaba el interés en los círculos académicos, y que el poder computacional en serio empezó a movilizarse hacia las computadores genéricas de escritorio, los estándares de Microsoft Windows y de Excel hicieron los complejos problemas de diseñar y mantener modelos muy sencillo. El uso de números reales en vez de representación de hileras de “bits” eliminó la difícil tarea de codificar y decodificar cromosomas.

La popularidad del algoritmo genético está creciendo ahora de manera exponencial, con seminarios, libros, artículos en revistas, y consultores con buenos conocimientos apareciendo por todo lado. La Conferencia Internacional de Algoritmos Genéticos ya se está enfocando en aplicaciones prácticas, una señal de madurez que todavía elude a otras tecnologías de la “inteligencia artificial”. Muchas compañías Fortune 500 emplean algoritmos genéticos regularmente para resolver problemas del mundo real, desde empresas de correduría bursátil hasta plantas de energía, compañías telefónicas, cadenas de restaurantes, fabricantes de automóviles y redes de televisión. ¡De hecho, existe una alta probabilidad de que usted haya utilizado indirectamente un algoritmo genético con anterioridad!

Adaptaciones modernas de los algoritmos genéticos

Page 176: RISKOptimizer Es

172 Historia

Page 177: RISKOptimizer Es

Capítulo 7: Algoritmos genéticos 173

Un ejemplo biológico Veamos un ejemplo simple de evolución en el mundo biológico (en pequeña escala). Por “evolución” acá queremos decir cualquier cambio en la distribución o frecuencia de los genes en una población. Por supuesto, lo interesante acerca de la evolución es que tiende a conducir a las poblaciones que se encuentran constantemente en adaptación a sus ambientes.

Imagínese que estamos viendo una población de ratones. Estos ratones exhiben dos tamaños, pequeño y grande, y exhiben dos colores, claros y oscuros. Nuestra población consiste de los siguientes ocho ratones:

Un día, llegan los gatos al vecindario y se empiezan a comer a los ratones. Resulta que los ratones más oscuros y pequeños son más difíciles de encontrar por parte de los gatos. De esta forma, distintos ratones poseen diferentes posibilidades de evitar a los gatos por un tiempo suficientemente largo como para poder reproducirse. Asumiendo que los ratones viejos mueren justo después de reproducirse, la próxima generación de ratones se ve como sigue:

Nótese que los ratones grandes, los ratones claros y particularmente los ratones grandes y claros están teniendo un particular problema para sobrevivir lo suficientemente como para reproducirse. Esto continúa en la próxima generación.

Page 178: RISKOptimizer Es

174 Un ejemplo biológico

Ahora que la población consiste más que todo de ratones pequeños y oscuros, ya que estos ratones están mejor adaptados a la supervivencia en este ambiente que otros tipos de ratones. Similarmente, a medida que los gatos se tornan más hambrientos con menos ratones que comer, probablemente aquellos gatos que prefieran un poco de legumbres estarán mejor adaptados y pasarán sus genes amantes de legumbres a la próxima generación de gatos. Este es el concepto central de “supervivencia del más apto”. Más precisamente, podría definirse como “supervivencia hasta la reproducción”. En términos evolutivos, el ser el más saludable solterón de la población no tiene ningún valor, ya que se debe reproducir para por medio de sus genes, influir sobre las futuras generaciones.

Page 179: RISKOptimizer Es

Capítulo 7: Algoritmos genéticos 175

Un ejemplo digital Imagine un problema con dos variables, X y Y, que producen un resultado Z. Si calculásemos y graficásemos la Z resultantes para cada valor posible X y Y, veríamos emerger un “paisaje” de solución (discutido también en el Capítulo 6: Optimización). Ya que estamos tratando de encontrar un “Z” máximo, los picos de la función son soluciones “buenas”, y los valles son “malas”.

Primeramente, créese una “población” entera de soluciones posibles.

Algunas serán mejores (más altas) que otras. Luego, las jerarquizamos a todas y mantenemos las soluciones

que rindan los mejores resultados.

Al utilizar algoritmos genéticos para maximizar nuestra función, empezamos creando algunas soluciones posibles o escenarios aleatorios (los puntos negros), en vez de solamente un punto de partida. Luego calculamos la salida de la función para cada escenario y graficamos cada escenario como un punto. Luego, jerarquizamos todos los escenarios por altitud, desde el mejor hasta el peor.

Mantenemos los escenarios de la mitad para arriba, y desechamos los otros.

Cada uno de los tres escenarios remanentes se duplica a si mismo, haciendo que el número de escenarios sea una vez más de seis. Ahora viene la parte interesante: cada uno de los seis escenarios está hecho de dos valores ajustables (graficados como una coordenada con un X y un Y). Los escenarios se emparejan con otro de manera aleatoria. Ahora, cada escenario intercambia cada uno de sus dos valores ajustables con el correspondiente valor de su pareja. Por ejemplo:

Page 180: RISKOptimizer Es

176 Un ejemplo digital

Antes Después Escenario 1 3.4, 5.0 2.6, 5.0

Escenario 2 2.6, 3.2 3.4, 3.2

Esta operación se denomina de cruce (“crossover”). Cuando nuestros seis escenarios se emparejan aleatoriamente y ejecutan un cruce, podríamos obtener un nuevo conjunto de escenarios como éste:

En el ejemplo de arriba, asumimos que los tres escenarios originales, a, b y c, se emparejaron con sus duplicados, A, B, C para formar las parejas aB, bC, bA. Estas parejas luego intercambiaron valores para la primera celda ajustable, que es equivalente en nuestro diagrama a intercambiar coordenadas x y y entre las parejas de puntos. La población de escenarios ya ha vivido por una generación, con su ciclo de “muerte” y “nacimiento”.

Nótese que algunos de los nuevos escenarios resultan en un resultado más bajo (menor altitud) que cualquiera que vimos en la generación original. Sin embargo, un escenario se ha movido bien alto a la colina más alta, indicando progreso. Si permitimos que la población evolucione una generación más, podríamos ver una escena como la siguiente:

Page 181: RISKOptimizer Es

Capítulo 7: Algoritmos genéticos 177

Usted puede ver cómo el desempeño normal de la población de escenarios se incrementa después de la última generación. En este ejemplo, no queda mucho campo disponible para el mejoramiento. Esto es porque sólo existen dos genes por organismo, sólo seis organismos, y no hay forma alguna para crear nuevos genes. Esto significa que existe una pila de genes limitada. La pila de genes es la suma de todos los genes de todos los organismos en la población.

Los algoritmos genéticos pueden ser hechos mucho más poderosos al replicar más de la fortaleza inherente de la evolución en el mundo biológico; incrementando el número de genes por organismo, incrementando el número de organismos en una población, y permitiendo mutaciones ocasionales y aleatorias. Adicionalmente, podemos escoger los escenarios que vivirán y se reproducirán más a como ocurre naturalmente: con un elemento aleatorio que posea un leve sesgo hacia aquellos que se desempeñen mejor, en vez de simplemente escoger a los mejores organismos a que se reproduzcan (¡aún el más grande y fuerte de los leones puede ser aniquilado por un trueno!)

Todas estas técnicas estimulan el refinamiento genético, y ayudan a mantener la diversidad en la pila de genes, manteniendo todo tipo de genes disponibles en caso de que sean útiles en combinaciones diferentes. El RISKOptimizer implementa automáticamente todas estas técnicas.

Page 182: RISKOptimizer Es

178 Un ejemplo digital

Page 183: RISKOptimizer Es

Capítulo 8: Simulación y análisis de riesgos 179

Capítulo 8: Simulación y análisis de riesgos

Introducción ....................................................................................181 

¿Qué es el riesgo?..........................................................................181 

Características del riesgo ....................................................................182 La necesidad del análisis de riesgo...................................................183 Estimación y cuantificación del riesgo.............................................184 Descripción del riesgo a través de una distribución de probabilidad..........................................................................................185 

Creación de un modelo en el RISKOptimizer ..............................187 

Variables ................................................................................................187 Variables ciertas o inciertas ..................................................187 Independientes o dependientes...........................................188 

Análisis de un modelo mediante simulación...............................189 

Simulación.............................................................................................189 Cómo funcionan las simulaciones ....................................................190 

Page 184: RISKOptimizer Es

180

Page 185: RISKOptimizer Es

Capítulo 8: Simulación y análisis de riesgos 181

Introducción El RISKOptimizer usa simulación para controlar la incertidumbre presente en los modelos de Excel que optimiza. Tanto los métodos para 1) modelar la incertidumbre presente en una hoja de cálculoy2)la ejecución de una simulación en el modelo son tomados del @RISK, un complemento de simulación y análisis de riesgos para Excel de Palisade Corporation. Este capítulo provee información de contexto sobre riesgos y simulación para aclarar cómo se definen los modelos de simulación en el RISKOptimizer.

¿Qué es el riesgo? Todo el mundo sabe que el “riesgo” afecta al jugador que se dispone a tirar los dados, al prospectador que perfora un suelo en busca de petróleo o al equilibrista que da sus primeros pasos en la cuerda floja. Pero aparte de estos ejemplos, el concepto de riesgo aparece con el reconocimiento de la incertidumbre del futuro: nuestra incapacidad para saber lo que sucederá en el futuro como consecuencia de una acción presente. El riesgo se refiere a acciones que pueden tener más de un resultado.

En este sentido, toda acción es “arriesgada”, desde el acto de cruzar una calle hasta la construcción de una presa. Pero generalmente este término se reserva para describir situaciones en las que el rango de posibles resultados de una acción es significativo. Acciones comunes, como cruzar una calle, no son arriesgadas, mientras que la construcción de una presa se enfrenta a una cantidad significativa de riesgo. En algún punto intermedio de estos extremos, las acciones pasan de no tener riesgo a ser arriesgadas. Esta distinción, aunque imprecisa, es importante. Si usted decide que una situación es arriesgada, el riesgo pasa a ser un factor a la hora de decidir la acción que se debe realizar. Es en ese momento cuando se presenta el concepto de análisis de riesgo.

Page 186: RISKOptimizer Es

182 ¿Qué es el riesgo?

Características del riesgo El riesgo se deriva de nuestra incapacidad de predecir el futuro e indica un grado de incertidumbre suficientemente importante como para que lo percibamos. Esta imprecisa definición se define un poco más cuando se mencionan algunas de las características más importantes del riesgo.

En primer lugar, el riesgo puede ser objetivo o subjetivo. Lanzar una moneda al aire representa un riesgo objetivo, porque las probabilidades son evidentes. Aunque el resultado sea incierto, el riesgo objetivo se puede describir basándose precisamente en teoría, experimentación o sentido común. Todo el mundo está de acuerdo cuando se describe un riesgo objetivo. La descripción de la probabilidad de que llueva el jueves no resulta tan obvia: se trata de un riesgo subjetivo. Teniendo en cuenta la misma información, teoría, cálculos computarizados, etc., el meteorólogo A puede pensar que la probabilidad de que llueva es del 30%, mientras que el meteorólogo B puede pensar que la probabilidad es del 65%. Ninguno de los dos está equivocado.

La descripción de un riesgo subjetivo está abierta a modificaciones porque siempre se puede mejorar la decisión con la llegada de nueva información, cuando se estudia más detenidamente la situación o si se escucha la opinión de otros. La mayoría de los riesgos son subjetivos. Esta afirmación debe ser contemplada por quien tenga que analizar un riesgo o tomar una decisión basándose en un análisis de riesgo.

En segundo lugar, decidir que algo es arriesgado o no requiere el uso del juicio personal, incluso en el caso de riesgos objetivos. Por ejemplo, supongamos que lanza una moneda al aire: si el resultado es cara, gana un dólar; si el resultado es cruz, pierde un dólar. La diferencia entre 1 dólar y -1 dólar no es demasiado importante para la mayoría de las personas. Si los resultados fueran 100.000 o 100.000, la mayoría de la gente consideraría la situación altamente arriesgada. Pero siempre habría un pequeño grupo que tampoco consideraría significativos estos posibles resultados.

En tercer lugar, las acciones arriesgadas y, por lo tanto, el riesgo, son cosas que normalmente podemos aceptar o evitar. Cada persona es diferente a la hora de decidir la cantidad de riesgo que está dispuesta a aceptar. Por ejemplo, dos individuos con el mismo capital podría reaccionar de un modo completamente diferente ante la apuesta de 100.000 dólares mencionada: uno podría aceptarla mientras el otro podría considerarla inaceptable. Su percepción personal del riesgo es diferente.

Page 187: RISKOptimizer Es

Capítulo 8: Simulación y análisis de riesgos 183

La necesidad del análisis de riesgo El primer paso para analizar el riesgo y modelar una situación es reconocer la necesidad de este tipo de análisis. ¿Es el riesgo un factor significativo en la situación que desea analizar? Aquí tiene algunos ejemplos que podrían ayudarle a evaluar una situación para determinar la presencia de un nivel significativo de riesgo:

♦ Riesgo en el desarrollo y puesta en el mercado de un nuevo producto— ¿El departamento de investigación y desarrollo podrá resolver los problemas técnicos a los que se enfrenta?¿La competencia llegará al mercado antes o con un producto mejor?¿Las normas y regulaciones del gobierno retrasarán la introducción del producto?¿Qué impacto tendrá la campaña publicitaria a nivel de ventas?¿Los costos de producción se mantendrán al nivel previsto?¿Habrá que cambiar el precio de venta propuesto para hacer frente a los imprevistos niveles de demanda del producto?

♦ Riesgo en el análisis del mercado de valores y en la administración de valores— ¿Cómo afectará una posible compra al valor de un cartera?¿Un nuevo equipo de administración afectaría el precio de mercado?¿La adquisición de una empresa aumentará las ganancias como estaba previsto?¿Cuál será el impacto que una corrección de mercado puede tener sobre una industria determinada?

♦ Riesgo en la administración de operaciones y en la planificación— ¿El nivel de inventario actual podrá satisfacer una demanda imprevista?¿Aumentarán los costos de mano de obra significativamente con las próximas negociaciones con los sindicatos?¿Cómo afectará la legislación medioambiental pendiente los costos de producción?¿Cómo afectarán los acontecimientos políticos y del mercado a los distribuidores extranjeros en cuanto a tasas de cambio de moneda, restricciones comerciales y calendarios de entrega?

♦ Riesgo en el diseño y construcción de estructuras(edificios, puentes, presas, etc.) —¿Los costos de los materiales de construcción y de la mano de obra se mantendrán al nivel previsto?¿Una huelga de trabajadores podría afectar el calendario de la construcción?¿Los límites de resistencia de una estructura en el momento de carga máxima se mantendrán dentro de lo previsto?¿En algún momento la estructura será sometida a presiones que la lleven al punto de fallo?

Page 188: RISKOptimizer Es

184 ¿Qué es el riesgo?

♦ Riesgo en inversiones para exploraciones petrolíferas y de minerales — ¿Se encontrará el material deseado? Si se encuentra un depósito, ¿se obtendrán los resultados económicos esperados?¿Los costos de explotación del depósito se ajustarán a lo previsto?¿La viabilidad económica del proyecto se verá drásticamente afectada por algún evento político como un embargo, una reforma fiscal o una nueva regulación ambiental?

♦ Riesgos de planificación de política de empresa — Si la política de empresa se somete a aprobación legislativa, ¿será aprobada?¿El nivel de cumplimiento de cualquier regulación sobre políticas será total o parcial?¿Los costos de implementación se ajustarán a lo previsto?¿El nivel de utilidades será el previsto?

Estimación y cuantificación del riesgo Reconocer que se encuentra ante una situación de riesgo es sólo el primer paso. ¿Cómo se puede cuantificar el riesgo en una situación incierta concreta? “Cuantificación del riesgo” es la determinación de todos los valores posibles que una variable de riesgo puede alcanzar, así como la probabilidad de que ocurra cada uno de ellos. Supongamos que la situación de incertidumbre es el resultado de lanzar una moneda al aire. Puede repetir el lanzamiento de la moneda un gran número de veces hasta determinar que la mitad de las veces el resultado es cara y la otra mitad es cruz. Otra forma es calcular matemáticamente este resultado a partir de los fundamentos básicos de la probabilidad y de la estadística.

En la mayoría de las situaciones reales no se puede llevar a cabo un “experimento” para calcular un riesgo tan fácilmente como ocurre en el caso de la moneda. ¿Cómo se puede calcular el tiempo de aprendizaje de los trabajadores cuando se utilizan nuevas máquinas en una fábrica? Tal vez pueda apoyarse en experiencias pasadas, pero una vez instaladas las máquinas, la incertidumbre deja de ser un factor. No existe una fórmula matemática que indique el riesgo asociado con posibles resultados. El riesgo deberá ser estimado en base a la información disponible.

Si puede calcular los riesgos de una situación de la misma manera que se calculan los riesgos de lanzar una moneda al aire, el riesgo es objetivo. Esto quiere decir que todo el mundo estaría de acuerdo en que usted está cuantificando el riesgo correctamente. Sin embargo, la mayoría de las cuantificaciones de riesgo exigen el ejercicio de su juicio personal.

Page 189: RISKOptimizer Es

Capítulo 8: Simulación y análisis de riesgos 185

Es posible que la información disponible referente a una situación concreta esté incompleta, la situación no se pueda repetir (tan fácilmente como en el caso de la moneda) o tal vez sea demasiado complicada como para darle una respuesta inequívoca. Este tipo de cuantificación de riesgo es subjetiva, lo cual significa que alguien puede no estar de acuerdo con su evaluación de la situación.

Los juicios subjetivos de riesgo tienden a cambiar cuando se recibe más información sobre una situación determinada. Si usted ha evaluado una situación de riesgo subjetivamente, siempre debe preguntarse si hay información adicional que pueda ayudarle a evaluar mejor la situación. Si hay información disponible, ¿cuánto esfuerzo o cuánto dinero puede costar obtenerla? ¿Qué tipo de información le convencería para cambiar la decisión que ya ha tomado? ¿Qué impacto tendrían estos cambios en los resultados finales del modelo que usted está analizando?

Descripción del riesgo a través de una distribución de probabilidad Si ya ha cuantificado el riesgo (o sea, ha determinado los posibles resultados y las probabilidades de que ocurran) podrá resumir este riesgo utilizando una distribución de probabilidad. Una distribución de probabilidad es una forma de presentar el riesgo cuantificado de una variable. @RISK utiliza distribuciones de probabilidad para describir valores inciertos en las hojas de cálculo de Excel y para presentar resultados. Existen muchas formas y tipos de distribuciones de probabilidad, cada una de las cuales describe el rango de valores posibles y, en cierta medida, la probabilidad de que ocurra cada valor posible. Existen muchas formas y tipos de distribuciones de probabilidad, cada una de las cuales describe el rango de valores posibles y la probabilidad de que ocurra cada valor. Tal vez haya oído hablar de la distribución normal: la tradicional “curva de campana”. Pero existe una amplia variedad de tipos de distribuciones desde las distribuciones uniforme y triangular a algunas formas más complejas como la gamma y la Weibull.

Todas las distribuciones utilizan una serie de argumentos para especificar un rango de valores reales y su distribución de probabilidad. La distribución normal, por ejemplo, utiliza como argumentos una media y una desviación estándar. La media define el valor alrededor del cual se centrará la curva de campana, y la desviación estándar define el rango de valores alrededor de la media. RISKOptimizer ofrece más de 30 tipos de distribuciones para describir distribuciones de valores inciertos en las hojas de cálculo de Excel.

Page 190: RISKOptimizer Es

186 ¿Qué es el riesgo?

Page 191: RISKOptimizer Es

Capítulo 8: Simulación y análisis de riesgos 187

Creación de un modelo en el RISKOptimizer Usted es el “experto” en comprender los problemas y las situaciones que debe analizar. Si tiene un problema que está sujeto al factor riesgo, @RISK y Excel le pueden ayudar a crear un modelo lógico y completo.

Uno de los puntos fuertes de RISKOptimizer es que permite trabajar en un entorno de generación de modelos familiar y estándar como es Microsoft Excel. El RISKOptimizer funciona con los modelos de Excel permitiéndole hacer análisis de riesgo y manteniendo al mismo tiempo las funciones típicas de una hoja de cálculo. Probablemente usted sabe cómo crear modelos de hojas de cálculo en Excel. El RISKOptimizer le permite modificar fácilmente estos modelos para llevar a cabo análisis de riesgo.

Variables Las variables son los elementos básicos de las hojas de cálculo de Excel que han sido identificados como de importancia para el análisis. Si está modelando una situación económica las variables pueden ser elementos como ventas, costos, ingresos o utilidades; mientras que si lo que modela es una situación geológica las variables serán cosas como profundidad del depósito, espesor de la veta de carbón o porosidad del material. Cada situación tiene sus propias variables que usted deberá identificar. En una hoja de cálculo típica, una variable es definida en una columna o en una fila de la hoja. Por ejemplo:

Tal vez conozca los valores que las variables alcanzarán en el periodo de tiempo establecido en el modelo. Por lo tanto esas variables son ciertas o, en términos estadísticos, “determinadas”. Por otro lado, no conoce los valores que alcanzarán ciertas variables. Estas variables se denominan inciertas o “estocásticas”. Si las variables son inciertas deberá describir la naturaleza de la incertidumbre. Esta labor se lleva a cabo con las distribuciones de probabilidad, que establecen el rango que los valores de una variable pueden alcanzar (del máximo al mínimo), y la probabilidad de que cada valor del rango realmente se produzca.

Variables ciertas o inciertas

Page 192: RISKOptimizer Es

188 Creación de un modelo en el RISKOptimizer

En el RISKOptimizer, las variables inciertas y los valores de las celdas se introducen como funciones de distribución de probabilidad. Por ejemplo:

RiskNormal(100,10) RiskUniform(20,30) RiskExpon(A1+A2) RiskTriang(A3/2.01,A4,A5)

Estas funciones de “distribución” se pueden colocar en las celdas de la hoja de cálculo y en las fórmulas como se hace con cualquier otras función de Excel.

Además de inciertas o inciertas, las variables de un modelo de análisis de riesgo pueden ser “independientes” o “dependientes”. Una variable independiente no se ve afectada en absoluto por ninguna otra variable del modelo. Por ejemplo, si estamos evaluando un modelo económico para analizar la viabilidad económica de una cosecha, se puede introducir una variable incierta denominada Cantidad de lluvia. Las demás variables de este modelo (como el precio del producto o el costo del fertilizante) no afectarán la cantidad de lluvia que caerá sobre la cosecha. Por lo tanto, la Cantidad de lluvia es una variable independiente.

Por el contrario, una variable dependiente se determina parcial o totalmente dependiendo de una o más variables del modelo. Por ejemplo, una variable denominada Producto de la cosecha en el modelo anterior, normalmente dependerá de la variable independiente Cantidad de lluvia. Si no cae suficiente lluvia o llueve en exceso, el producto de la cosecha será bajo. Si la cantidad de lluvia es más o menos normal, el producto de la cosecha fluctuará entre el nivel por debajo de la media y el nivel muy por encima de la media. Tal vez existan otras variables que afectan el producto de la cosecha, como puede ser la temperatura, la cantidad de producto perdida por los insectos, etc.

Cuando identifique los valores inciertos en las hojas de cálculo de Excel, deberá decidir si las variables están relacionadas. Estas variables estarían “relacionadas” entre ellas. La función Corrmat de @RISK se utiliza para identificar variables relacionadas. Es muy importante reconocer correctamente las relaciones entre las variables; de lo contrario un modelo puede dar resultados sin sentido. Por ejemplo, si ignora la relación entre la variable Cantidad de lluvia y la variable Producto de la cosecha, @RISK podría seleccionar un valor bajo para la Cantidad de lluvia y al mismo tiempo uno alto para el Producto de la cosecha, algo que la naturaleza no permitiría.

Independientes o dependientes

Page 193: RISKOptimizer Es

Capítulo 8: Simulación y análisis de riesgos 189

Análisis de un modelo mediante simulación Una vez colocados los valores inciertos en las celdas e identificadas las salidas del análisis, el RISKOptimizer puede analizar esta hoja de cálculo de Excel.

Simulación El RISKOptimizer utiliza la simulación, también llamada simulación Monte Carlo, para llevar a cabo el análisis de riesgo. Simulación en este sentido define un método de cálculo en el que la distribución de posibles resultados se genera mediante el cálculo repetido que la computadora hace de la hoja de cálculo, cada vez utilizando una serie diferente de valores en las celdas y en las fórmulas, escogidos aleatoriamente para crear la distribución de probabilidad. La computadora prueba todas las combinaciones válidas de valores de las variables de entrada para simular todos los posibles resultados. Es como si llevara a cabo cientos de miles de análisis de escenarios de suposición “Y si...” al mismo tiempo en una hoja de cálculo.

¿Qué quiere decir “probar todas las combinaciones válidas de valores de las variables de entrada”? Imaginemos un modelo que sólo tiene dos variables de entrada. Si no hay incertidumbre en estas dos variables, usted puede identificar un valor posible para cada variable. Estos dos valores singulares son combinados por las fórmulas de las hojas de cálculo para generar el resultado correspondiente, que también será un valor cierto y determinado. Por ejemplo, si las variables de entrada ciertas son:

Ingresos = 100

Costos = 90

entonces el resultado

Utilidades= 10

será calculado por Excel siguiendo la fórmula

Ingresos = 100 – 90

Sólo hay una posible combinación de los valores de las variables de entrada, porque sólo hay un valor posible para cada variable.

Page 194: RISKOptimizer Es

190 Análisis de un modelo mediante simulación

Ahora, consideremos un ejemplo en el que ambas variables de entrada son inciertas. Por ejemplo:

Ingresos = 100 ó 120

Costos = 90 ú 80

En este ejemplo cada variable de entrada tiene dos valores posibles. En una simulación, @RISK considerará todas las combinaciones posibles de los valores de estas variables para calcular los posibles valores del resultado, en esta caso Utilidades.

Por lo tanto habrá cuatro combinaciones posibles:

Utilidades= Ingresos – Costos

10 = 100 – 90

20 = 100 – 80

30 = 120 – 90

40 = 120 – 80

El resultado de Utilidades también es una variable incierta porque se ha calculado a partir de variables inciertas.

Cómo funcionan las simulaciones En el RISKOptimizer, las simulaciones llevan a cabo dos operaciones distintas:

♦ •Selección de una serie de valores para las funciones de distribución de probabilidad de las celdas y de las fórmulas de la hoja de cálculo

♦ •Recálculo de la hoja de cálculo de Excel utilizando los nuevos valores

En el RISKOptimizer, la simulación usa dos operaciones distintivas:

Selección de una serie de valores para las funciones de distribución de probabilidad de las celdas y de las fórmulas de la hoja de cálculo

Recálculo de la hoja de cálculo de Excel utilizando los nuevos valores

La selección de los valores de las distribuciones de probabilidad se denomina recolectada de muestras, tomas de muestras o ‘muestreo’, y cada nuevo cálculo de la hoja se denomina iteración.

Page 195: RISKOptimizer Es

Capítulo 9: Extras del RISKOptimizer 191

Capítulo 9: Extras del RISKOptimizer

Añadiendo restricciones................................................................193 

Restricciones de rango.........................................................................194 Restricciones duras – personalizadas ...............................................195 Restricciones de iteración versus restricciones de simulación .............................................................................................196 Restricciones blandas ..........................................................................196 

Funciones de penalización....................................................197 Introduciendo una función de penalización .....................197 Visualizando los efectos de una función de penalización introducida.......................................................198 Visualizando las penalizaciones..........................................199 Introduciendo restricciones blandas en su hoja de cálculo..................................................................................199 Más ejemplos de funciones de penalización.....................200 Usando funciones de penalización......................................200 

Problemas de metas múltiples...........................................................202 

Mejorando la velocidad..................................................................203 

¿Cómo se implemente la optimización del RISKOptimizer? .....205 

Selección...................................................................................205 Cruce .........................................................................................205 Mutación ..................................................................................206 Reemplazo................................................................................207 Restricciones............................................................................207 

Page 196: RISKOptimizer Es

192

Page 197: RISKOptimizer Es

Capítulo 9: Extras del RISKOptimizer 193

Añadiendo restricciones Los problemas en la realidad poseen comúnmente un número de restricciones que deben ser satisfechas a medida que se buscan las respuestas óptimas. Por ejemplo, en el tutorial, que busca el diseño de transformador con el menor costo, una de las restricciones es que el transformador deberá mantenerse frío, irradiando no más de 0.16 vatios/cm2.

Se dice que un escenario que cumpla con todas las restricciones en un modelo, es una solución viable o “válida”. A veces es difícil encontrar soluciones viables para un modelo, y con más razón una solución viable óptima. Esto podría ser porque el problema es muy complejo, y sólo posee unas cuantas soluciones viables, o porque el problema se ha sobre especificado (existen muchas restricciones, o algunas restricciones entran en conflicto con otras), y no existen soluciones viables.

Existen tres tipos básicos de restricciones: restricciones de rango, o rangos mín-máx colocados sobre las celdas ajustables, restricciones duras, que deben ser siempre cumplidas, y restricciones blandas que nos gustaría que se cumpliesen tanto como fuere posible, pero sobre las cuales estamos dispuestos a transar para obtener un gran mejoramiento en la aptitud.

Page 198: RISKOptimizer Es

194 Añadiendo restricciones

Restricciones de rango Las restricciones duras más simples son aquellas que son colocadas sobre las variables mismas. Al ajustar un rango determinado en cada variable, podemos limitar el número total posible de soluciones en donde RISKOptimizer buscará, resultando en una búsqueda más eficiente. Introduzca valores mínimo y máximo en la caja de diálogo de Celdas Ajustables para decirle al RISKOptimizer el rango de valores que son aceptables para cada variable.

RISKOptimizer sólo intentará valores entre 0 y 100,000 para las celdas especificadas.

Un segundo tipo de restricciones duras colocadas sobre las variables está construido dentro de los métodos de solución de RISKOptimizer (receta, orden, agrupamiento, etc.). Por ejemplo, cuando ajustamos las variables utilizando el método de solución de presupuesto (“budget”), que significa que RISKOptimizer tendrá la restricción dura para intentar sólo conjuntos de valores que sumen la misma cantidad. Como el parámetro ajustable de Rangos (“Ranges”), esta restricción dura también reduce el número de escenarios posibles que debe ser buscado.

La opción de Entero (“Integer”) en la caja de diálogo de Celdas Ajustables (“Adjustable Cells”) es también una restricción dura, que le indica al RISKOptimizer que intente sólo valores enteros, (1,2,3 etc.) en vez de números reales (1.34, 2.034, etc.) cuando ajuste los valores de las variables.

Page 199: RISKOptimizer Es

Capítulo 9: Extras del RISKOptimizer 195

Restricciones duras – personalizadas Cualquier restricción que esté fuera de las restricciones de variables de RISKOptimizer puede ser introducida usando la caja de diálogo de Definición de Restricciones

NOTA: De la misma manera que la evolución en la naturaleza, el poder de resolución de problemas de un algoritmo genético yace primordialmente en su habilidad para explorar libremente muchas combinaciones de soluciones posibles, y de naturalmente inclinarse hacia las mejores. Si restringimos al RISKOptimizer para que siquiera busque soluciones que no llenan nuestras demandas, el proceso de optimización del algoritmo genético puede ser inhabilitado.

Siempre es más fácil para RISKOptimizer encontrar soluciones que cumplan las restricciones duras si el escenario inicial en la hoja de trabajo cumple en sí las restricciones. Eso le permite al RISKOptimizer conocer un punto de partida en el espacio de soluciones válidas. Si usted no conoce un escenario que cumpla las restricciones, ejecute el RISKOptimizer con cualquier escenario inicial y él hará su mejor esfuerzo para encontrar escenarios que cumplan las restricciones.

Page 200: RISKOptimizer Es

196 Añadiendo restricciones

Restricciones de iteración versus restricciones de simulación Las restricciones duras en RISKOptimizer pueden ser evaluadas 1) cada iteración de una simulación corrida para una solución de prueba (“una restricción de iteración”)o 2) al final de la simulación corrida para una solución de prueba (una restricción de simulación”).

♦ Una restricción de iteración es una restricción evaluada en cada iteración de una simulación ejecutara para una solución de prueba. Si una iteración resulta en valores que violan la restricción dura, la simulación se detiene (y la solución de prueba es rechazada) y la próxima solución de prueba y su simulación asociada se inicia.

♦ Una restricción de simulación es especificada en términos de una estadística de simulación para una celda de la hoja de trabajo; por ejemplo la Media de A11>1000. En este caso, la restricción es evaluada al final de la simulación. Una restricción de simulación, en contraposición a una restricción de iteración, nunca causará que una simulación se detenga antes de que ésta se complete.

Restricciones blandas El forzar a un programa a que sólo encuentre soluciones que cumplan todas las restricciones puede resultar en que no se encuentren soluciones viables. Frecuentemente, es más útil obtener una solución viable aproximada, en donde, probablemente unas cuantas soluciones queden muy cerca de poder cumplir con las restricciones.

Una alternativa al uso de las “restricciones duras” que deben ser cumplidas consiste en reconfigurar el problema con “restricciones blandas”; restricciones que RISKOptimizer tenderá a cumplir. Estas restricciones blandas son generalmente más realistas, y le permiten a RISKOptimizer intentar muchas más opciones. En el caso de un problema altamente restringido (en donde no existen muchas soluciones posibles que podrían cumplir todos los requerimientos), el algoritmo genético de RISKOptimizer tendrá más posibilidad de encontrar la mejor solución si se le permite obtener retroalimentación en algunas de las soluciones que se encuentren cercanas a la satisfacción de las restricciones.

Page 201: RISKOptimizer Es

Capítulo 9: Extras del RISKOptimizer 197

Cuando las restricciones son metas de diseño, tales como “produzca el doble de tenedores respecto de cuchillos”, generalmente no es tan importante cumplir tales metas exactamente: especialmente si la obtención de un programa de producción perfectamente balanceado ha de requerir de un proceso de optimización de todo un día. En este caso, una buena solución al problema, que casi cumple la restricción (producción es 40% tenedores, 23% cuchillos, 37% cucharas), es usualmente mejor que el esperar todo el día para al final enterarse de que no hay solución posible, porque todas las restricciones no pudieron cumplirse.

Las restricciones blandas también pueden ser fácilmente implementadas en Excel por medio del uso de funciones de penalización. En vez de decirle al RISKOptimizer que no puede utilizar ciertos valores de forma absoluta a la hora de buscar soluciones, permitimos aquellos valores “inválidos” que sean explorados, pero penalizaremos aquellas soluciones correspondientemente. Por ejemplo, su problema podría involucrar encontrar la forma más eficiente para distribuir bienes con la restricción de que sólo utilice tres camiones. Un modelo más preciso incluiría una función de penalización que le permitiera usar más camiones, pero añadía un tremendo costo a la línea de utilidades. Se pueden especificar funciones de penalización en la caja de diálogo de Configuraciones de restricción o introducirlas directamente en su modelo al añadir fórmulas que representen las funciones de penalización.

Funciones de penalización

Introduciendo una función de penalización

Page 202: RISKOptimizer Es

198 Añadiendo restricciones

El RISKOptimizer posee una función de penalización por defecto la cual se despliega la primera vez que usted introduce una restricción blanda. Sin embargo, cualquier fórmula válida de Excel puede ser introducida para calcular la cantidad de penalización a aplicar cuando no se satisface la restricción blanda. Una función de penalización introducida debe incluir la palabra clave Deviation, la cual representa la cantidad absoluta en la cual la restricción se ha excedido por sobre su límite. Al final de cada simulación para una solución de prueba, el RISKOptimizer verifica si la restricción blanda ha sido satisfecha; de lo contrario, posiciona la cantidad de desviación en la fórmula de penalización introducida y luego calcula la cantidad de penalización a aplicar al estadístico de la celda objetivo que está siendo minimizada o maximizada.

La función de cantidad de penalización se suma o se resta del estadístico calculado para la celda objetivo para hacerla menos “óptima”. Por ejemplo, si se selecciona Máximo en el campo de Objetivo de optimización en la caja de diálogo de modelo de RISKOptimizer, la penalización es restada del estadístico calculado para la celda objetivo.

El RISKOptimizer incluye una plantilla de Excel PENALIZACIÓN.XLS que puede ser utilizada para evaluar los efectos de distintas funciones de penalizaciones sobre las restricciones blandas y sobre los resultados de la celda objetivo.

El archivo de PENALIZACIÓN.XLS le permite a usted seleccionar una restricción blanda de su modelo cuyos efectos usted desea analizar. Usted puede entonces cambiar la función de penalización para ver cómo la función mapeará un valor específico de la restricción

Visualizando los efectos de una función de penalización introducida.

Page 203: RISKOptimizer Es

Capítulo 9: Extras del RISKOptimizer 199

blanda no satisfecha a un valor objetivo de penalización en particular. Por ejemplo, si su restricción blanda es A10<100, usted podría usar el archivo de PENALIZACIÓN.XLS para ver cual sería el valor objetivo si un valor de 105 fuese calculado para la celda A10.

Cuando una penalización es aplicada a la celda objetivo debido a una restricción blanda no satisfecha, la cantidad de penalización aplicada puede ser visualizada en el Observador del RISKOptimizer. Adicionalmente, los valores de penalización se muestran en las hojas de la Bitácora de Optimización, creadas opcionalmente después de la optimización.

Las funciones de penalización también pueden ser introducidas directamente en su libro de trabajo. Una función de penalización booleana asignará una penalización especificada a cualquier escenario que no cumple una restricción en particular. Por ejemplo, si usted quisiera que su valor en la celda B1 (oferta) sea al menos tan grande como el valor en la celda A1 (demanda), usted podría crear esta función de penalización en otra celda: =SI(A1>B1, -1000, 0). Si el resultado de esta celda fuere adicionado al estadístico de la celda objetivo, entonces cada vez que RISKOptimizer probara una solución que violase esta restricción (es decir, que la oferta no alcanzase a la demanda), la estadística para la celda objetivo a ser maximizada mostraría un valor menor en 1,000 que el resultado real. Cualquier solución que violase esta restricción produciría un valor bajo para esta estadística para la celda objetivo, y eventualmente RISKOptimizer “aniquilaría” estos organismos.

Usted también puede utilizar una función escalonada de penalización, que penalice más precisamente la solución relativa a que tan mal esta viola la restricción. Esto es usualmente más práctico en el mundo real, pues una solución en donde la oferta no satisficiese a la demanda sería mejor que una solución en donde la oferta ni siquiera se le acercase a la demanda. Una simple función de penalización escalonada computa las diferencias absolutas entre el valor meta de la restricción y su valor real. Por ejemplo, en el mismo problema en donde A1 (demanda) no deba exceder a B1 (oferta), podríamos asignar la siguiente función de penalización: =SI(A1>B1, (A1-B1)^2, 0). Este tipo de función de penalización mide qué tan cercanamente se cumple una restricción, y exagera la diferencia al elevarla al cuadrado. Ahora nuestra penalización se transforma basada en que tan mas una solución viola la restricción.

Visualizando las penalizaciones

Introduciendo restricciones blandas en su hoja de cálculo

Page 204: RISKOptimizer Es

200 Añadiendo restricciones

Por ejemplo, suponga que usted ha creado un modelo de manufactura en donde una de las restricciones es que la cantidad de madera utilizada debe ser igual a la cantidad de plástico usado. Esta restricción es satisfecha cuando “CantidadMadera = CantidadPlástico”. Deseamos encontrar soluciones que incluyan la misma cantidad de ambos materiales, de forma tal que creamos una función de penalización que desincentiva las soluciones que se alejan de nuestra meta. La fórmula “=ABS(CantidadMadera – CantidadPlástico)” calcula la diferencia absoluta (no negativa) entre la cantidad de madera y la cantidad de plástico utilizados. Al utilizar la función ABS(), arribamos al mismo valor de penalización si CantidadMadera es 20 mayor que CantidadPlástico, o bien si Cantidad Plástico es 20 menor que CantidadMadera. Ahora, cuando optimizamos el modelo, nuestra meta es minimizar la media de los resultados de simulación para esta diferencia absoluta.

Suponga que más bien imponemos la siguiente restricción: La cantidad de madera debe ser del doble que la cantidad de plástico. La función de penalización sería entonces:

=(CantidadMadera – CantidadPlástico*2)

Una posible solución diferente es que la cantidad de madera fuera no menor que el doble de la cantidad del plástico. Mientras el ejemplo previo produjo una penalización si hubiese habido mucha madera, en este caso sólo nos importa si no hay suficiente madera; si CantidadMadera es diez veces la CantidadPlástico, no requerimos que se aplique una penalización. La función apropiada sería entonces:

=SI(CantidadMadera<CantidadPlástico*2, (CantidadPlástico*2-CantidadMadera),0)

Si CantidadMadera es al menos el doble que CantidadPlástico, la función de penalización retorna un 0.De lo contrario, nos otorga una medida de qué tanto menos que el doble es la CantidadPlástico con respecto al valor de CantidadMadera.

Después de que usted ha creado funciones de penalización para describir las restricciones blandas en su modelo, usted puede combinarlas con su fórmula normal de celda objetivo para obtener una fórmula restringida de celda objetivo. En el ejemplo ilustrado anteriormente, si la celda C8 calcula el costo total de un proyecto y las celdas E3:E6 contienen cinco funciones de penalización, entonces usted puede crear una fórmula en la celda C10 tal como=SUMA(C8, E3:E6).

Más ejemplos de funciones de penalización

Usando funciones de penalización

Page 205: RISKOptimizer Es

Capítulo 9: Extras del RISKOptimizer 201

Créese una celda que añada las restricciones a su total, y minimice

la media de los resultados de simulación para esta celda.

Esto añade las penalizaciones en la columna E al costo en C8 para obtener una función de costo restringido o penalizado en la celda C10. Nótese que si esto fuera un problema de maximización, usted restaría, en vez de sumar, las penalizaciones a la celda objetivo original. Ahora cuando usted use el RISKOptimizer, simplemente selecciona la celda restringida, C10, como su celda objetivo para ser aquella cuyo estadístico de simulación ha de ser optimizado.

Cuando el RISKOptimizer intenta optimizar un estadístico restringido para una celda objetivo, las funciones de penalización tenderán a forzar la búsqueda hacia escenarios que satisfagan las restricciones. Eventualmente, el RISKOptimizer finalizará con soluciones que son buenas respuestas y que satisfagan o cercanamente satisfagan todas las restricciones (las funciones de penalización tendrán valores cercanos a0).

Page 206: RISKOptimizer Es

202 Añadiendo restricciones

Problemas de metas múltiples Usted sólo puede especificar una celda en el campo de celda objetivo de RISKOptimizer, pero aún así usted puede resolver para múltiples metas al crear una función que combine las dos metas en una sola. Por ejemplo, como un científico de polímeros, usted puede estar intentando crear una sustancia que sea flexible y, al mismo tiempo, fuerte. Su modelo computa la fortaleza resultante, la flexibilidad y el peso que resultaría de una mezcla dada de combinaciones químicas. Las cantidades a ser utilizadas de cada químico son las variables ajustables del problema.

Ya que usted desea maximizar la fortaleza de la sustancia (en celda S3) pero también maximizar su flexibilidad (en celda F3), usted debería crear una nueva celda con la fórmula: =(S3+F3). Esta sería su nueva celda objetivo, pues entre más alto sea este número, mejor sería la solución completa. Si la flexibilidad fuese más importante que la fortaleza, podríamos transformar la fórmula en la celda objetivo para que fuese =(S3+(F3*2)). De esta forma, aquellos escenarios que incrementasen la flexibilidad en cierta cantidad se verían mejores (produciendo una “nota” de aptitud más alta) que los escenarios que incrementasen la fortaleza en la misma magnitud.

Si usted desease maximizar la fortaleza de una sustancia (encelda S5) pero también minimizar su peso (en celda W5), usted debería crear una nueva celda con la siguiente fórmula: =(S5^2)-(W5^2). Esta fórmula produciría un número mayor cuando la estructura fuese tanto fuerte y ligera, un número menor cuando la estructura fuese débil y pesada, y números igualmente promedio para escenarios de débil y ligera o bien fuerte y pesada. Por tanto, usted utilizaría esta nueva celda como su objetivo, y maximizaría su media para satisfacer ambas metas.

Page 207: RISKOptimizer Es

Capítulo 9: Extras del RISKOptimizer 203

Mejorando la velocidad Cuando usted usa el RISKOptimizer para resolver un problema, usted está utilizando tanto la biblioteca de RISKOptimizer de rutinas compiladas para controlar el proceso como la función de evaluación de la hoja de cálculo de Excel para examinar diferentes escenarios. Un gran porcentaje del tiempo usado por el RISKOptimizer es en realidad utilizad por el Excel a medida que recalcula su hoja de cálculo. Existe una serie de cosas que pueden ser hechas para mejorar la velocidad de optimización del RISKOptimizer y el proceso de recálculo del Excel.

♦ La velocidad del RISKOptimizer está directamente relacionada con la velocidad del procesador de su computadora. Una Pentium/200 será aproximadamente el doble de rápida que una Pentium/100. Esto significa que el RISKOptimizer será capaz de evaluar hasta el doble de pruebas con la misma cantidad de tiempo.

♦ Experimente con distintas condiciones de detención de simulación. Las pruebas iniciales de un modelo deberían ser hechas con un número fijo bajo de iteraciones por simulación. Una vez que esté seguro que su modelo y restricciones están desempeñándose como usted desea, haga que el RISKOptimizer determine cuántas iteraciones ejecutar para cada simulación al seleccionar Detener en convergencia real o bien Detener en convergencia proyectada. La configuración de Detener en convergencia proyectada produce resultados más rápidos de optimización que la de Detener en convergencia real.

♦ Incremente la configuración de Tolerancia de convergencia si usted está utilizando la condición de detención de simulación de Detener en convergencia real o la de Detener en convergencia proyectada. Esto impedirá que el RISKOptimizer ejecute iteraciones innecesarias sin cambiar significativamente los estadísticos de simulación. Sin embargo, al configurar en un valor muy alto la Tolerancia de Convergencia resultará en resultados de simulación inestables.

Page 208: RISKOptimizer Es

204 Mejorando la velocidad

♦ Trate de evitar los dibujos en su ventana. El dibujo de gráficos y la visualización de números en la pantalla toma tiempo, algunas veces más que la mitad del tiempo dedicado a la optimización! Si usted tiene diagramas o gráficos en su hoja, éstos disminuirán significativamente la velocidad del tiempo de recálculo. Usted le puede decir a Excel que no dedique tiempo a dibujar mientras el RISKOptimizer esté resolviendo un problema al apagar la opción de Actualizar despliegue en la caja de diálogo de Modelo del RISKOptimizer, o al minimizar la hoja de Excel. Usted podrá observar qué tan más rápidamente trabajará su problema al observar la barra de estado.

♦ Una vez que el RISKOptimizer ha convergido más o menos en una solución, y no ha habido mejoramiento sobre la mejor solución en un rato (por ejemplo, en las últimas 1000 pruebas), podría ser una buena idea incrementar la tasa de mutación para permitir que el RISKOptimizer amplíe su búsqueda de soluciones, en vez de continuar refinando soluciones en la población actual utilizando primariamente la tasa de cruce. Usted puede aumentar la tasa de mutación en el Observador del RISKOptimizer usando el comando de Configuración de población.

♦ Defina más ajustadamente los rangos para los cuales deben quedar contenidos las celdas ajustables; esto creará un área más pequeña en la que el RISKOptimizer deberá buscar soluciones, y por tanto debería mejorar la velocidad del proceso. Asegúrese que sus rangos permiten suficiente libertad para que el RISKOptimizer explore todas las soluciones realistas.

Page 209: RISKOptimizer Es

Capítulo 9: Extras del RISKOptimizer 205

¿Cómo se implemente la optimización del RISKOptimizer? En esta sección se describe más específicamente cómo se implementan los algoritmos de optimización del RISKOptimizer.

NOTA: Usted no necesita conocer este material para poder utilizar el RISKOptimizer.

La mayoría de la tecnología del algoritmo genético del RISKOptimizer tales como los métodos de solución de receta y de orden están basados en el trabajo académico en el campo de los algoritmos genéticos de los últimos diez años. Sin embargo, la mayoría de los métodos de solución descendientes incluidos en el RISKOptimizer, y los grupos múltiples de celdas ajustables, el rastreo revertido, y funcionalidades de estrategia y probabilidad son singulares del RISKOptimizer.

El RISKOptimizer utiliza un enfoque de estado-estacionario. Esto significa que solamente un organismo es reemplazado a la vez, en vez de que se reemplace toda una “generación” entera. Se ha demostrado que esta técnica de estado estacionario trabaja tan bien o mejor que los métodos de reemplazo generacional. Para encontrar el número equivalente de “generaciones” que el RISKOptimizer debe ejecutar, tómese el número de pruebas individuales que ha explorado y divídalas por el tamaño de la población.

Cuando se va a crear un nuevo organismo, se escogen un par de padres de la población actual. Los organismos que tengan altas notas de aptitud tendrán una más alta probabilidad de ser escogidos como padres.

En el RISKOptimizer, se escogen los padres basado en un mecanismo basado en la jerarquización. En vez de algunos sistemas de algoritmos genéticos, en donde la probabilidad de ser seleccionado del padre para la reproducción es directamente proporcional a su aptitud, el enfoque jerarquizado ofrece una curva de selección de probabilidad más suave. Esto previene que los mejores organismos dominen completamente la evolución desde un punto muy temprano.

Ya que cada método de solución a justa las variables de diferentes maneras, el RISKOptimizer emplea diferentes rutinas optimizadas de cruce para cada tipo de problema.

Selección

Cruce

Page 210: RISKOptimizer Es

206 ¿Cómo se implemente la optimización del RISKOptimizer?

El método de solución básico de receta lleva a cabo el cruce usando una rutina uniforme de cruce. Esto significa que en vez de seccionar la lista de variables en un escenario determinado en determinado momento y lidiando con cada uno de los dos bloques (llamado cruce por “puntos únicos” o “puntos dobles), se forman dos grupos al seleccionar ítems aleatoriamente para que se encuentren en un grupo o en el otro. Los cruces tradicionales de punto-x podrían sesgar la búsqueda con la irrelevante posición de las variables, mientras que un método de cruce uniforme se considera mejor para preservar los esquemas y puede generar cualquier esquema de los dos padres.

El método de solución de orden lleva a cabo un algoritmo similar al operador de cruce de orden descrito en el libro de L. Davis Handbook of Genetic Algorithms.*Este selecciona los ítems aleatoriamente de un padre, encuentra su lugar en el otro padre y copia los ítems restantes al segundo padre en el mismo orden en que aparecen en el primer padre. Esto preserva algo de los sub-ordenamientos en los padres originales mientras que crea algunos nuevos sub-órdenes.

Igual que el cruce, los métodos de mutación están hechos a la medida para cada uno de los diferentes métodos de solución. El método de solución básico de receta lleva a cabo la mutación al ver a cada variable de forma individual. Se genera un número aleatorio entre 0 y 1 y éste es generado para cada una de las variables en el organismo, y si una variable obtiene un número que es menor o igual a la tasa de mutación (por ejemplo, 0.06) entonces se muta la variable. La cantidad y naturaleza de la mutación se determina automáticamente por un algoritmo propietario. La mutación de una variable involucra su reemplazo con un valor generado aleatoriamente (dentro de su rango válido mín-máx).

Mutación

Page 211: RISKOptimizer Es

Capítulo 9: Extras del RISKOptimizer 207

Para preservar todos los valores originales, el método de solución de orden lleva a cabo la mutación al permutar las posiciones de algunas variables en el organismo. El número de permutas llevado a cabo se incrementa o disminuye proporcionalmente al incremento o disminución de la configuración de la tasa de mutación (desde 0 a 1).

Ya que el RISKOptimizer usa un método de reemplazo basado en órdenes de jerarquía en vez de un método de reemplazo generacional, aquellos organismos de más pobre desempeño son siempre reemplazados con el nuevo organismo que es creado por la selección, el cruce o la mutación independientemente de su “nota” de aptitud.

Las restricciones duras se implementan por medio de la tecnología de “rastreo revertido” propia de Palisade. Si un nuevo descendiente viola alguna restricción impuesta externamente, el RISKOptimizer hace un rastreo revertido hacia alguno de los padres del hijo, cambiando el hijo hasta que éste se encuentre dentro del espacio válido de solución.

Reemplazo

Restricciones

Page 212: RISKOptimizer Es

208

Page 213: RISKOptimizer Es

Apéndice A: Automatizando el RISKOptimizer 209

Apéndice A: Automatizando el RISKOptimizer

VBA El RISKOptimizer viene con un completo lenguaje de macros para construir aplicaciones hechas a la medida utilizando las capacidades del RISKOptimizer. Las funciones personalizadas del RISKOptimizer pueden ser utilizadas en Visual Basic for Applications (VBA) para configurar y desplegar los resultados de optimizaciones. Para mayor información sobre este interfaz de programación, véase el documento de ayuda del Kit de Desarrollador del RISKOptimizer disponible por medio del menú de Ayuda del RISKOptimizer.

Page 214: RISKOptimizer Es

210

Page 215: RISKOptimizer Es

Apéndice B: Resolución de problemas / Preguntas y respuestas 211

Apéndice B: Resolución de problemas / Preguntas y respuestas

Resolución de problemas / Preguntas y respuestas Esta sección responde algunas preguntas comúnmente formuladas respecto del RISKOptimizer y lo mantiene a usted actualizad sobre preguntas, problemas y sugerencias frecuentes. Después de leer esta sección, usted puede llamar a soporte técnico de Palisade al número listado al inicio del capítulo en este manual.

P: ¿Porqué estoy teniendo problemas para obtener una respuesta válida del RISKOptimizer?

R: Asegúrese que la caja de diálogo del RISKOptimizer esté definida correctamente. La mayoría de los problemas están asociados a la configuración de las variables. Cada grupo de celdas ajustables debe ser exclusivo, en el sentido que ninguna celda o rango de celdas sea tratada con más de un método de solución.

P: ¿Puede lidiar el RISKOptimizer con conceptos o categorías en vez de números?

R: El RISKOptimizer puede lidiar indirectamente con cualquier tipo de datos, ya que los números son solamente símbolos. Use una tabla de búsqueda en Excel para traducir entre enteros e hileras de texto. El RISKOptimizer (igual que todos los programas computacionales) puede en última instancia sólo lidiar con números, pero su interfaz podría usar tales números para representar y desplegar cualquier hilera.

Page 216: RISKOptimizer Es

212 Resolución de problemas / Preguntas y respuestas

P: Aún cuando estoy llenando las cajas de diálogo de la misma manera, y a pesar de que ejecuto el RISKOptimizer la misma cantidad de tiempo, ¿porqué es que el RISKOptimizer a veces encuentra soluciones distintas?

P: Igual que en el caso de la selección natural en el mundo biológico, el algoritmo genético de RISKOptimizer no necesariamente siempre seguirá la misma ruta a la hora de buscar soluciones (a menos que usted utilice una semilla fija de generador de números aleatorios). Irónicamente es precisamente esta “impredictibilidad” lo que le permite al RISKOptimizer resolver más tipos de problemas y frecuentemente encontrar mejores soluciones que las técnicas tradicionales. El motor de algoritmos genéticos del RISKOptimizer no está simplemente ejecutando una serie de comandos pre programados o insertando valores por medio de fórmulas matemáticas, sino que más bien está experimentando eficientemente con muchos escenarios hipotéticos aleatorios y luego refinando su búsqueda por medio de operadores de “supervivencia del más apto” que también contienen elementos aleatorios.

P: ¿Porqué es que la mejor solución encontrada no está cambiando?

R: Usted pudo haber especificado la celda objetivo errónea en la caja de diálogo de Modelo del RISKOptimizer. El RISKOptimizer está buscando en esta celda en blanco y el valor no cambia ya que no hay ninguna fórmula ahí. Para arreglar esto, despliegue la caja de diálogo de Modelo del RISKOptimizer y seleccione una celda objetivo apropiada; esto es, una que refleje precisamente qué tan buena o mala es cada solución posible. Una celda objetivo apropiada posee una fórmula que depende, directa o indirectamente, de las variables que el RISKOptimizer está ajustando(celdas ajustables).

P: Algunas de las celdas en mi modelo de hoja de cálculo contienen símbolos“####”.

R: Si la celda es muy pequeña para desplegar todo su contenido, desplegará algunos signos de ####. Incremente el tamaño de la celda.

Page 217: RISKOptimizer Es

Apéndice B: Resolución de problemas / Preguntas y respuestas 213

P: El RISKOptimizer está trabajando bien, pero existe algún método sencillo para obtener mejores resultados?

R: Considere relajar las restricciones en el problema, incluyendo los rangos de las variables. Cambie algunas de sus restricciones duras por restricciones blandas vía funciones de penalización (véase Añadiendo Restricciones en el Capítulo 8: Extras del RISKOptimizer ). Muchas restricciones existentes sobre lo que el RISKOptimizer está intentando podrían estar previniendo que el RISKOptimizer explore un área de posibilidades que podría generar mejores resultados. Recuerde que entre más tiempo deje usted al RISKOptimizer que explore las posibilidades, mayor será la posibilidad de encontrar la solución óptima. Para más ideas de cómo calibrar el RISKOptimizer, véase el Capítulo 8: Extras del RISKOptimizer. Entre más escenarios pueda ejecutar el RISKOptimizer, mejor. Acelere el proceso del RISKOptimizer al apagar la opción de “Cada recálculo” en la actualización del despliegue.

Page 218: RISKOptimizer Es

214

Page 219: RISKOptimizer Es

Apéndice C: Recursos adicionales 215

Apéndice C: Recursos adicionales

Recursos adicionales de aprendizaje La siguiente lista representa una muestra seleccionada de material sobre algoritmos genéticos vida-artificial. Una estrella (*) indica que es un favorito de Palisade.

Libros • Bolles, R.C., & Beecher, M.D. (Eds.). (1988). Evolution and

Learning.(“Evolución y aprendizaje”)Erlbaum.

• Beer, R.D. (1990). Intelligence as Adaptive Behavior: An Experiment in Computational Neuroethology. (“Inteligencia como conducta adaptativa: Un experimento en neuroteología computacional”)Academic Press.

• Davis, Lawrence (1987). Genetic Algorithms and Simulated Annealing. (“Algoritmos genéticos y enfriamientos simulados”) Palo Alto, CA: Morgan Amufan.

* Davis, Lawrence (1991). Handbook of Genetic Algorithms. (“Manual de Algoritmos genéticos.”)New York: Van Nostrand Reinhold.

• Darwin, Charles (1985). On The Origin of Species. (“Sobre el origen de las especies”) London: Penguin Classics. (originally 1859)

* Dawkins, Richard. (1976). The Selfish Gene. (“El gen egoísta”) Press.

• Eldredge, N. (1989). Macroevolutionary Dynamics: Species, Niches, and Adaptive Peaks. (“Dinámica macroevolutiva: Especies, nichos y picos adaptativos”) McGraw-Hill.

• Fogel, L., Owens, J., and Walsh, J. (1966). Artificial Intelligence through Simulated Evolution. (“Inteligencia artificial por medio de evolución simulada”) New York: John Wiley and Sons.

• Goldberg, David (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. (“Algoritmos genéticos en búsqueda, optimización y aprendizaje de máquinas”) Reading, MA: Addison-Wesley Publishing.

Page 220: RISKOptimizer Es

216 Recursos adicionales de aprendizaje

•, J.H. (1975). Adaptation in Natural and Artificial Systems. (“Adaptación en sistemas naturales y artificiales”) Ann Arbor, MI: University of Michigan Press.

• Koza, John (1992). Genetic Programming. (“Programación genética”) Cambridge,: MIT Press.

* Langton, C.L. (1989). Artificial Life. (“Vida artificial”) MIT Press. [ALife I]

• Levy, Steven (1992). Artificial Life. (“Vida artificial”): Pantheon.

• Meyer, J.-A., &amp; S.W. Wilson (Eds.). (1991). Proceedings of the First International Conference on Simulación of Adaptive Behavior: From Animals to Animats. (“Resúmenes de la Primera Conferencia Internacional sobre Simulación de Conductas Adaptativas: Desde animales hasta animados”) MIT Press/Bradford Books.

* Proceedings of the Sixth International Conference (ICGA) on Genetic Algorithms. (“Resúmenes de la Sexta Conferencia Internacional sobre Algoritmos Genéticos”) (1995). San Mateo, CA: Morgan Kaufman Publishing. (Also available; the first five ICGA proceedings).

• Proceedings of the Workshop on Artificial Life (1990). (“Resúmenes sobre el taller de Vida Artificial”) Christopher G. Langton, Senior Editor.: Addison-Wesley Publishing.

• Rawlins, Gregory (1991). Foundations of Genetic Algorithms. (“Fundamentos de Algoritmos Genéticos”): Morgan Kaufman Publishing.

• Richards, R.J. (1987). and the Emergence of Evolutionary Theories of Mind and Behavior. (“Darwin y la emergencia de teorías evolutivas sobre mente y conducta”)U. Press.

• Williams, G.C. (1966). Adaptation and Natural Selection. (Adaptación y selección natural”) Princeton U. Press.

Page 221: RISKOptimizer Es

Apéndice C: Recursos adicionales 217

Artículos * Antonoff, Michael (October, 1991). Software by Natural Selection.

(“Software para selección natural”) Popular Science, p. 70-74.

• Arifovic, Jasmina (January, 1994). Genetic algorithms. Learning and the Cobweb Model. (“Algoritmos genéticos: Aprendizaje y el modelo de tela de araña”) In Journal of Economic Dynamics &amp; Controlv18 p.3

* Begley, S (May 8, 1995). “Software au Naturel” (“Software al natural”) In Newsweekp. 70

• Celko, Joe (April, 1993). Genetic algorithms and Database Indexing. (“Algoritmos genéticos e indexación de bases de datos”) In Dr. Dobb’s Journalp.30

• Ditlea, Steve (November, 1994). Imitation of Life. (“Imitación de vida”) In Upside Magazinep.48

• Gordon, Michael (June, 1991). User -based Document Clustering by Redescribing Subject Descriptions with a Genetic Algorithm.(“Agrupamiento de documentos basado en usuarios por medio de una redescripción de descripciones de sujetos basado en algoritmos genéticos”)In Journal of the American Society for Information Sciencev42 p.311

• Hedberg, Sara (September, 1994). Emerging Genetic Algorithms. (“Algoritmos genéticos emergentes”). In AI Expert, p. 25-29.

• Hinton, G.E., &amp; Nowlan, S.J. (1987). How Learning Can Guide Evolution. (“Cómo el aprendizaje puede guiar la evolución”)In Complex Systems1: p.495-502.

* Kennedy, Scott (June, 1995). Genetic algorithms: Digital Darwinism. (“Algoritmos genéticos: Darwinismo digital”) In Hitchhicker’s Guide to Artificial IntelligenceMiller Freeman Publishers

• Kennedy, Scott (December, 1993). Five Ways to a Better GA. (“Cinco formas para un mejor algoritmo genético”)In AI Expert, p. 35-38

• Lane, A (June, 1995). The GA Edge in Analyzing Data. (“El borde de los algoritmos genéticos”) In AI Expertp.11

• Lee, Y.C. (Ed.). (1988). Evolution, learning, and cognition.(“Evolución, aprendizaje y cognitividad”) In World Scientific.

• Levitin, G and Rubinovitz, J (August, 1993). Genetic algorithmfor Linear and Cyclic Assignment Problem. (“Algoritmo genético para un problema de asignación lineal y cíclico”)In Computers &amp; Operations Researchv20 p.575

• Marler, P., &amp; H.S. Terrace. (Eds.). (1984). The Biology of Learning. (“La biología del aprendizaje”) Springer-Verlag.

Page 222: RISKOptimizer Es

218 Recursos adicionales de aprendizaje

• Mendelsohn, L. (December, 1994) Evolver Review (“Revisión del Evolver”) In Technical Analysis of Stocks and Commodities. p.33

• Maynard Smith, J. (1987). When Learning Guides Evolution. (“Cuando el aprendizaje guía a la evolución”) In Nature329: p.761-762.

• Murray, Dan (June, 1994). Tuning Neural Networks with Genetic Algorithms. (“Calibrando redes neuronales con Algoritmos genéticos”).In AI Expertp.27

• Wayner, Peter (January, 1991). Genetic algorithms: Programming Takes a Valuable Tip from Nature. (“Algoritmos genéticos: La programación obtiene una valiosa ayuda de la naturaleza”)In Byte Magazinev16 p.361

Revistas y cartas de noticias • Advanced Technology for Developers (carta de noticias

mensual).(“Tecnología avanzada para desarrolladores”)Jane Klimasauskas, Ed., High-Tech Communications, (412) 741-7699

• AI Expert (monthly magazine). (“Experto en inteligencia artificial”) Larry O’Brien, Ed., 600 Harrison St., San Francisco, CA 94107 (415) 905-2234. *Aún cuando esta carta de noticias cesó de publicarse en la primavera de 1995, sus emisiones contienen muchos artículos muy útiles. Miller-Freeman,.

•Applied Intelligent Systems (carta de noticias bi-mensual). (“Sistemas inteligentes aplicados”) New Science Associates, Inc. (203) 259-1661

• Intelligence (carta de noticias mensual). (“Inteligencia”) Edward Rosenfeld, Ed., (212) 222-1123

• PC AI Magazine (revista mensual). (“Revista de PC de Inteligencia Artificial”) Joseph Schmuller, Ed., 3310 West Bell Rd., Suite 119, Phoenix, AZ 85023 (602) 971-1869

• Release 1.0 (carta de noticias mensual). (“Versión 1.0”)Esther Dyson, Ed., 375 Park Avenue, New York, NY 10152 (212) 758-3434

• Sixth Generation Systems (carta de noticias mensual). (“Sistemas de sexta generación”) Derek Stubbs, Ed., PO Box 155, Vicksburg, MI, 49097 (616) 649-3592

Page 223: RISKOptimizer Es

Apéndice C: Recursos adicionales 219

Introducción a la Simulación Si usted está recién conociendo de simulación o si simplemente desea tener más información de contexto sobre la técnica, los siguientes libros y artículos podrían serle útiles:

* Baird, Bruce F. Managerial Decisions Under Uncertainty: (“Decisiones gerenciales bajo incertidumbre”) John Wiley &amp; Sons, Inc. 1989.

* Clemen, Robert T. Making Hard Decisions:(“Tomando decisiones difíciles”) Duxbury Press, 1990.

• Hertz, D.B. "Risk Analysis in Capital Investment": (Análisis de riegos en Inversiones de Capital”) HBR Classic, Harvard Business Review, September/October 1979, pp. 169-182.

• Hertz, D.B. and Thomas, H. Risk Analysis and Its Applications: (“Análisis de riesgos y sus aplicaciones”) John Wiley and Sons, 1983.

• Megill, R.E. (Editor). Evaluating and Managing Risk: (“Evaluando y administrando riesgos”) PennWell Books, 1984.

• Megill, R.E. An Introduction to Risk Analysis,(“Una introducción al análisis de riesgos”) 2nd Ed.: PennWell Books, Tulsa, OK, 1985.

• Morgan, M. Granger and Henrion, Max, con un capítulo por Mitchell Small, Uncertainty: (“Incertidumbre”) Cambridge University Press, 1990.

• Newendorp, P.D. Decision Analysis for Petroleum Exploration: (“Análisis de decisiones para exploraciones petroleras”) Petroleum Publishing Company, 1975.

• Raiffa, H. Decision Analysis: (“Análisis de decisiones”) Addison-Wesley, 1968.

Page 224: RISKOptimizer Es

220 Recursos adicionales de aprendizaje

Referencias técnicas para Simulacióny técnicas de Monte Carlo Si usted estuviese interesado en un examen más profundo de simulación, de técnicas de muestreo y de teoría estadística, los siguientes libros podrían ser útiles:

• Iman, R. L., Conover, W.J. "A Distribution-Free Approach To Inducing Rank Correlation Among Input Variables": (“Un enfoque desvinculado de distribuciones para inducir correlaciones de jerarquía entre variables de entrada.”) Commun. Statist.-Simula. Computa.(1982) 11(3), 311-334

* Law, A.M. and Kelton, W.D. SimulaciónModeling and Analysis: (“Modelación de simulaciones y análisis”) McGraw-Hill, NY, 1991,1982.

Rubinstein, R.Y. Simulaciónand the Monte Carlo Method: (Simulación y el método de Monte Carlo”) John Wiley and Sons, 1981.

Referencias técnicas para el método de muestreo LatinoHipercúbico Si usted está interesado en la relativamente nueva técnica de muestreo Latino Hipercúbica, las siguientes muestras podrían ser útiles:

• Iman, R.L., Davenport, J.M., and Zeigler, D.K. "Latin Hypercube Sampling (A Program Users Guide)": (“Muestreo latino hipercúbico: una guía de usuario de programación”) Technical Report 79-1473, Sandia Laboratories, Albuquerque (1980).

• Iman, R.L. and Conover, W.J. "Risk Methodology for Geologic Disposal of Radioactive Waste: A Distribution – Free Approach to Inducing Correlations Among Input Variables for SimulaciónStudies": (“Un enfoque desvinculado de distribuciones para inducir correlaciones de jerarquía entre variables de entrada.”) Reporte técnicoNUREG CR 0390, Sandia Laboratories, Albuquerque (1980).

• McKay, M.D, Conover, W.J., and Beckman, R.J. "A Comparison of Three Methods for Selecting Values of Input Variables in the Analysis of Output from a Computer Code": (“Una comparación de tres métodos para seleccionar valores de variables de entrada en el análisis de una variable de salida desde un código computacional”) Technometrics (1979) 211, 239-245.

• Startzman, R. A. and Wattenbarger, R.A. "An Improved Computation Procedure for Risk Analysis Problems With Unusual Probability Functions": (“Un procedimiento computacional mejorado para problemas de análisis de riesgos con funciones de probabilidad inusuales”) SPE Hydrocarbon Economics and Evaluation Symposium Proceedings, (“Resúmenes del Simposio de Evaluación y Economía de Hidrocarburos SPE”) Dallas (1985).

Page 225: RISKOptimizer Es

Apéndice C: Recursos adicionales 221

Ejemplos y estudios de caso usando simulación Si a usted le gustaría examinar estudios de caso mostrando el uso de simulaciónen situaciones de la vida real, véase el siguiente material:

Hertz, D.B. and Thomas, H. Practical Risk Analysis – An Approach Through Case Histories: (“Análisis práctico de riesgos – Un enfoque por medio de historias de casos”) John Wiley and Sons, New York, NY, 1984.

* Murtha, James A. Decisions Involving Uncertainty, An @RISK Tutorial for the Petroleum Industry: (“Decisiones involucrando incertidumbre: Un tutorial del @RISK para la industria petrolera”) James A. Murtha, Houston, Texas, 1993

• Newendorp, P.D. Decision Analysis for Petroleum Exploration: (“Análisis de decisiones para la exploración petrolera”)Petroleum Publishing Company, Tulsa, Okla., 1975.

• Pouliquen, L.Y. Risk Analysis in Project Appraisal: World Bank Staff Occasional Papers Number Eleven. (“Análisis de riesgos en evaluación de proyectos: Documentos de investigación ocasionales del Banco Mundial, número once”) John Hopkins Press, Baltimore, MD, 1970.

* Trippi, Robert R. and Truban, Efraim, Neural Networks: In Finance and Investing: (“Redes neuronales: En finanzas e inversiones”) Probus Publishing Co., 1993

Page 226: RISKOptimizer Es

222

Page 227: RISKOptimizer Es

Glosario 223

Glosario

Para información adicional sobre cualquier término, refiérase al índice del RISKOptimizer en el siguiente capítulo.

Un método matemáticamente basado para resolver paso a paso cierto tipo de problema. Todos los programas de computadora están construidos al combinar muchos algoritmos.

Un procedimiento para mejorar los resultados de cierta operación mediante la prueba repetitiva de algunas soluciones posibles y la reproducción y mezcla de componentes de las mejores soluciones. El proceso está inspirado y es crudamente muy similar al proceso de la evolución en el mundo biológico en donde los más aptos sobreviven para reproducirse.

Un procedimiento de optimización que inicia con un escenario en particular y mueve repetidamente el escenario en pequeños pasos en la dirección que más lo mejora. Los algoritmos de ascenso de colinas son rápidos y simples, pero tienen dos desventajas. Primero, podría requerirse de mucho trabajo para encontrar la dirección de mayor mejoramiento. Segundo, el algoritmo usualmente sube a la colina más próxima o máximo local. Esto le impide al algoritmo encontrar el máximo global en un problema complejo.

La barra de estado aparece en la parte inferior de la ventana de Excel, y despliega la actividad actual del RISKOptimizer.

La ventana o la pantalla de la computadora que le solicita al usuario que éste provea de información. El RISKOptimizer contiene dos cajas de diálogo principales; la caja de diálogo de Modelo del RISKOptimizer y lacaja de diálogo de Celdas Ajustables.

La unidad básica de entrada de datos. Dependiendo del tipo de campo, un campo puede contener texto, imágenes o números. La mayoría de los campos en las cajas de diálogo del RISKOptimizer le preguntan al usuario para que introduzca la localización de celdas de la hoja de cálculo, u opciones respecto de cómo deberá comportarse el RISKOptimizer.

La celda es la unidad básica de una hoja de cálculo en donde se almacenan datos. Existen hasta 256 columnas y 16,000 filas (en

Algoritmo

Algoritmo genético

Algoritmos de ascenso de colinas

Barra de estado

Caja de diálogo

Campo

Celda

Page 228: RISKOptimizer Es

224

Excel 2003), para un total de más de 4 millones de celdas en cada hoja de cálculo en Excel.

Una celda en una hoja de cálculo cuyo valor puede ser ajustado por el RISKOptimizer para tratar de optimizar el valor de la celda objetivo. Una celda ajustable es un valor variable y debe siempre contener un simple número, en vez de una ecuación.

La celda de la hoja de cálculo cuyo valor se desea minimizar o maximizar. Esta celda se define en la caja de diálogo de Modelo del RISKOptimizer (Seleccione el comando de Definición de Modelo del RISKOptimizer o el ícono de Modelo).

En un contexto genéticamente basado, el cruce es el intercambio equivalente de material genético entre cromátidos homólogos durante la meiosis. En el RISKOptimizer, el término cruce se utiliza para expresar el equivalente computacional de un cruce genético, en donde el intercambio entre variables genera una nueva combinación de escenarios.

Curtosis es una medida de la forma de una distribución. La Curtosis indica lo plana o lo “picudo” que es una distribución. Cuanto más alto sea el valor de la Curtosis, más “picuda” será una distribución. Véase Indice de sesgo

La desviación estándar es una medida que indica la dispersión de valores de una distribución. Es igual a la raíz cuadrada de la varianza. Véase Varianza

El término determinístico referido a una variable indica que no hay incertidumbre asociada con ella.

Una distribución acumulativa o función de distribución acumulativa es el conjunto de puntos cada uno de los cuales es igual a la integral de una distribución de probabilidad, comenzando en un valor mínimo y terminando en el valor asociado de la variable aleatoria. Véase Distribución de frecuencia acumulativa o Distribución de probabilidad

Distribución de probabilidad en la que se puede dar cualquier valor entre un mínimo y un máximo (tiene probabilidad finita). Véase Distribución independiente

Distribución de frecuencia es el término que define las distribuciones de probabilidad de salida y las distribuciones de histograma de entrada (HISTOGRM) del @RISK. La distribución de frecuencia se construye con datos, mediante la ordenación de valores en clases, y representando la frecuencia de ocurrencia de cualquier clase con la altura de la barra. La frecuencia de ocurrencia se corresponde con la probabilidad.

Celda ajustable

Celda objetivo

Cruce

Curtosis

Desviación estándar

Determinístico

Distribución acumulativa

Distribución continua

Distribución de frecuencia

Page 229: RISKOptimizer Es

Glosario 225

Distribución de frecuencia acumulativa es el término que define las distribuciones acumulativas de salida y de entrada de @RISK. La distribución acumulativa se construye acumulando la frecuencia (añadiendo progresivamente la altura de las barras del gráfico) en el rango de una distribución de frecuencia. Una distribución acumulativa puede tener una curva “inclinada hacia arriba” en la que se describe la probabilidad de un valor menor o igual al valor de cualquier variable. La distribución acumulativa también puede tener una curva “inclinada hacia abajo” en la que se describe la probabilidad de un valor mayor o igual al valor de cualquier variable. Véase Distribución acumulativa

Una distribución de probabilidad o función de densidad de probabilidad es el término estadístico apropiado para denominar una distribución de frecuencia construida a partir de un grupo de valores inicialmente grande cuyo tamaño de clase es infinitesimalmente pequeño. Véase Distribución de frecuencia

Una distribución de probabilidad en la que sólo se pueden dar un número finito de valores independientes entre un mínimo y un máximo. Véase Distribución continua

Un conjunto de valores para las variables en un modelo de hoja de cálculo. Cada escenario representa en la mayoría de los casos una solución posible.

El término estocástica aplicado a una variable es sinónimo de incertidumbre o riesgo. Véase Riesgo o Determinada (variable)

En biología, esto es un rasgo observable de un individuo que surge de interacciones entre los genes, y entre los genes y su medioambiente. En el estudio de los algoritmos genéticos, el fenotipo es usado para describir las variables individuales o “genes” que hacen una solución completa o “cromosoma”. Véase genotipo

Esta es una fórmula que puede calcular qué tan buena o qué tan mala es una solución propuesta respecto de un problema en particular. El término es usualmente utilizadoen el campo del algoritmo genético como una analogía de la “aptitud” en términos de selección biológica. El diseño de una función de aptitud precisa es crítico a la hora de que el algoritmo genético resuelva un problema. Un resultado de simulación para esta función de aptitud se convierte en la meta o el valor objetivo a ser optimizado.

Distribución de frecuencia acumulativa

Distribución de probabilidad

Distribución discreta

Escenario

Estocástico

Fenotipos

Función de aptitud

Page 230: RISKOptimizer Es

226

Una ecuación de hoja de cálculo que el RISKOptimizer puede utilizar para penalizar escenarios que fallan en satisfacer ciertos criterios. Las funciones de penalización son usadas para ayudar a minimizar los efectos de escenarios o para adquirir metas múltiples. A diferencia de una restricción dura, una función de penalización no permite que se exploren soluciones inválidas; simplemente hace que tales soluciones se vean mal de forma tal que la población evolucionará hacia rutas distintas lejos de tales soluciones. Las penalizaciones booleanas sólo pueden estar encendidas o apagadas; penalizando todas las soluciones inválidas en la misma cantidad. Las penalizaciones escalonadas son más fluidas, asignando una penalización en proporción a qué tan mal se viola una restricción.

En Excel, una función es una fórmula predefinida que asume un valor, lleva a cabo una operación y retorna un valor. Excel contiene cientos de fórmulas pre-definidas (como “SUMA”) que ahorran tiempo, espacio y son más rápidas. Por ejemplo, en vez de digitar A1+ A2+ A3+ A4+ A5+ A6, usted podría escribir SUMA(A1:A6) y obtener el mismo resultado.

En el campo de los algoritmos genéticos, cada completamente nueva población de soluciones “descendientes” constituye una nueva “generación”. Algunas rutinas de algoritmos genéticos cruzan todos los miembros de una población de una sola vez, creando una nueva “generación” de organismos descendientes que reemplaza la población previa. El RISKOptimizer evalúa y reemplaza un organismo a la vez (ordenado jerárquicamente) y por ende, no usa el término “generación” en su documentación. Esta técnica de estado estacionario trabaja tan bien como la de reemplazo generacional.

El generador de número aleatorio es un algoritmo que determina la selección de números aleatorios, normalmente en un rango entre 0 y 1. Estos números aleatorios son equivalentes a tomar una muestra de una distribución uniforme con un mínimo de 0 y un máximo de 1. Estos números aleatorios son la base de otras operaciones que los convierten en muestras tomadas de tipos de distribuciones específicas. Véase Muestra aleatoria

En biología, esta es la constitución genética de un individuo. El término usualmente se refiere a la suma total de los genes del individuo. En el estudio de los algoritmos genéticos, el genotipo es usado para describir el “cromosoma” artificial que está siendo evaluado como una posible solución al problema.

Función de penalización

Funciones

Generación

Generador de número aleatorio

Genotipo

Page 231: RISKOptimizer Es

Glosario 227

Cada conjunto de variables, además de la forma en que éstas serán tratadas, constituye un grupo de celdas ajustables. El RISKOptimizer listará todos los grupos de celdas ajustables en la sección de variables de la caja de diálogo de l Modelo de RISKOptimizer. Esta arquitectura permite la construcción de problemas complejos y descritos como varios grupos de celdas ajustables.

Una iteración es un recálculo del modelo durante una simulación. Una simulación consta de múltiples recálculos o iteraciones. En cada iteración se recolectan muestras de todas las variables inciertas una sola vez, siguiendo las respectivas distribuciones de probabilidad, y el modelo se calcula de nuevo utilizando estos nuevos valores. También se denomina prueba o intento (de una simulación)

El Latino Hibercúbico es un método relativamente nuevo de recolección de muestras por estratificación que se utiliza en la creación de modelos para simulación. Las técnicas de toma de muestras estratificadas, al contrario de las técnicas del tipo Monte Carlo, tienden a alcanzar la convergencia de una distribución con una menor cantidad demuestras. Véase Monte Carlo

El máximo valor posible para una función en particular. Algunas funciones o modelos complejos podrían tener muchos máximos locales pero sólo un máximo global.

El máximo valor posible para una función en particular dentro de un rango dado de valores. Existe un máximo local en un conjunto de valores para las variables en una función si al cambiar ligeramente cualesquiera de los valores de ellas o de todas las variables se produce un resultado un poco menor en la función. (Compárese contra el máximo global).

La media de un grupo de valores es la suma de todos los valores del grupo dividida entre el número total de valores. Sinónimo de valor esperado

El RISKOptimizer incluye seis de estos métodos, cada uno de ellos diseñado como un algoritmo hecho a la medida para resolver un tipo específico de problema. Para cada conjunto de variables seleccionadas en un problema, el usuario deberá asignar un método de solución a ser usado en tales variables. Los seis métodos de solución son: agrupamiento, orden, receta, presupuesto, proyecto y calendarización.

Para los propósitos de este manual, un modelo es una representación numérica en Excel de una situación del mundo real.

Grupo de celdas ajustables

Iteración

Latino Hipercúbico

Máximo global

Máximo local

Media

Método de solución

Modelo

Page 232: RISKOptimizer Es

228

Los momentos superiores son los estadísticos de una distribución de probabilidad. El término por lo general hace referencia al índice de sesgo o asimetría y a la curtosis, los momentos tercero y cuarto respectivamente. Los momentos primero y segundo son la media y la desviación estándar respectivamente. Véase Curtosis, Media y Desviación estándar

Monte Carlo hace referencia a una técnica tradicional de toma de muestras para variables aleatorias en los procesos de creación de modelos por medio de simulación. Las muestras son seleccionadas de forma completamente aleatoria para todo el rango de la distribución, y por lo tanto se requiere una gran cantidad de muestras para alcanzar la convergencia en distribuciones altamente desviadas o de extremos sesgados ( o “colas anchas”). Véase Latino Hibercúbico

Una muestra aleatoria es un valor que se ha seleccionado de una distribución de probabilidad que describe una variable aleatoria. Esta muestra se recolecta aleatoriamente según un “algoritmo” de recolección de muestras. La distribución de frecuencia que se construye con un gran número de muestras aleatorias generadas por dicho algoritmo se aproximará a la distribución de probabilidad para la que se diseñó el algoritmo.

En el mundo biológico, la mutación genética es la fuente de variación requerida para la selección natural efectiva. De igual manera, un algoritmo genético usa técnicas de mutación para mantener la diversidad en una población de posibles escenarios.

El proceso de encontrar valores para las variables de forma tal que la variable de salida de una función pueda ser maximizada (hecha tan grande como fuese posible) o minimizada (hecha tan pequeña como fuese posible). La optimización por medio de la resolución de ecuaciones es fácil para funciones que cambian suavemente con unas pocas variables, pero extremadamente difícil para muchos problemas del mundo real. Los problemas complicados usualmente requieren de un mecanismo de búsqueda. El RISKOptimizer usa un mecanismo de búsqueda de optimización basado en un algoritmo genético.

Un bloque de memoria en una población que almacena un conjunto de valores de variables (escenario).

Un percentil es un incremento de los valores de un grupo de datos. Los percentiles dividen los datos en 100 partes iguales, cada una de las cuales contiene el uno por ciento de los valores totales. El percentil 60, por ejemplo, es el valor del grupo de datos que tiene el 60% de los valores por debajo y el 40 % por encima.

Momentos superiores

Monte Carlo

Muestra aleatoria

Mutación

Optimización

Organismo

Percentil

Page 233: RISKOptimizer Es

Glosario 229

El conjunto completo de escenarios que el RISKOptimizer mantiene en memoria desde donde los nuevos escenarios son generados. El RISKOptimizer mantiene una población de soluciones posibles para cada grupo de celdas ajustables en un sistema.

Probabilidad es una medida de las posibilidades de que ocurra un valor o suceso. Se puede medir como frecuencia, a partir de los datos de una simulación, calculando el número de repeticiones de un valor o suceso dividido entre el número total de sucesos. Este cálculo genera un valor entre 0 y 1 que luego se puede convertir en un porcentaje multiplicándolo por 100. Véase Distribución de frecuencia o Distribución de probabilidad

El proceso del RISKOptimizer para generar un valor para cada variable en el problema, y luego para re calcular el escenario para la evaluación.

En el RISKOptimizer:

El usuario define el rango o los valores más alto y más bajo que el RISKOptimizer puede intentar para ajustar con respecto a cierta variable. Aún cuando esto no es necesario para resolver un problema, la definición de estos rangos limita las posibilidades y por tanto achica la búsqueda del RISKOptimizer.

En Excel:

Un bloque de celdas contiguas en una hoja de cálculo que está definida por la celda superior izquierda y la celda inferior derecha (por ejemplo, A5:C9 describe un rango de 15 celdas).

Las restricciones son condiciones que podrían ser satisfechas (restricciones blandas) o deberían obligatoriamente ser satisfechas(restricciones duras) para que un escenario se considere válido.

Cuando las restricciones no tienen necesariamente que ser satisfechas, pueden ser transformadas en blandas en vez de duras. Esto se hace al especificar una función de penalización en el RISKOptimizer o al añadir una función de penalización a la función de aptitud de la celda objetivo. Usualmente es mejor que, en la medida de lo posible, las restricciones sean blandas. Esto se debe a que: 1. El RISKOptimizer usualmente puede resolver problemas con restricciones blandas más rápidamente, y 2. Un modelo con restricciones blandas usualmente encontrará una gran solución que casi satisface las restricciones blandas, que podría

Población

Probabilidad

Pruebas

Rangos

Restricciones

Restricciones blandas

Page 234: RISKOptimizer Es

230

ser más valioso que una no tan buena solución que sí satisface restricciones duras.

Page 235: RISKOptimizer Es

Glosario 231

Una restricción que siempre debe cumplirse. Por ejemplo, los rangos para las variables en un problema de receta son restricciones duras; una variable configurada para oscilar entre 10 y 20 nunca podrá tener un valor menor a 10 o mayor a 20. Véase también restricciones blandas.

El sesgo o índice de sesgo (o bien, índice de asimetría) es una medida de la forma de una distribución. El índice de sesgo indica el grado de asimetría de una distribución. Las distribuciones sesgadas tienen más valores a un lado del punto alto, o valor más probable, que al otro. Además, uno de las colas o extremos es más largo que la otra. Un índice de sesgo de 0 indica una distribución simétrica, mientras que un índice de sesgo negativo indica que la distribución está sesgada hacia la izquierda. Un índice de sesgo positivo significa un sesgo hacia la derecha. Véase Curtosis

La simulación es una técnica por la que un modelo, como puede ser una hoja de cálculo de Excel, se calcula repetidas veces con diferentes valores de entrada con la intención de obtener una representación completa de todos los escenarios posibles que pudieran darse en una situación incierta.

Cualquier sistema en particular contiene muchas variables de entrada que producen una variable de salida. En el RISKOptimizer, una “solución” se referirá con mayor frecuencia a una de las posibles combinaciones de variables más que a la mejor combinación.

vernáculo. Programas simples de software que encuentran las variables de entrada que producen una variable de salida deseada usando una combinación de técnicas de programación lineal o algoritmos básicos de ascenso de colinas. Los solucionadores pequeños usualmente adivinan, y luego refinan su respuesta para arribar a una solución “local” en vez de una solución “global”.

La idea de que los organismos mejor adaptados a su medio ambiente tienen más probabilidad de vivir lo suficiente como para reproducirse y desplegar sus genes a lo largo de la siguiente generación poblacional.

El valor más probable o moda es el valor que se produce con más frecuencia en un grupo de valores. En los histogramas y en las distribuciones de resultados, es el valor central de la clase o barra con mayor probabilidad.

Restricciones duras

Sesgo

Simulación

Solución

Solucionador pequeño

Supervivencia del más apto

Valor más probable

Page 236: RISKOptimizer Es

232

Una variable dependiente es la que depende de algún modo de los valores de otras variables del modelo. El valor de una variable dependiente incierta se puede calcular con una ecuación que esté en función de otras variables inciertas del modelo. La variable dependiente se puede obtener de una distribución basada en el número aleatorio correlacionado con el número aleatorio utilizado para extraer una muestra de variable independiente. Véase Variable independiente

Una variable independiente es la que no depende en modo alguno de los valores de otras variables del modelo. El valor de una variable independiente incierta se determina con una toma de muestra de la distribución de probabilidad correspondiente. Esta muestra se extrae sin considerar ninguna otra muestra aleatoria tomada para cualquier otra variable del modelo. Véase Variable dependiente

Variable dependiente

Variable independiente

Page 237: RISKOptimizer Es

Índice 233

Índice

A

agrupamiento métodos de solución ............................................................................... 102

algoritmo definición................................................................................................ 156

Añadiendo restricciones ............................................................................. 114 Aprendiendo el RISKOptimizer ................................................................... 14 Archivo léame .............................................................................................. 14 archivos ejemplo

administración de rendimientos ................................................................ 87 balanceo de una cartera de inversiones..................................................... 77 distribución presupuestaria ....................................................................... 65 haciendo coberturas con futuros ............................................................... 73 mezcla de carteras..................................................................................... 81 planeamiento de capacidad ....................................................................... 67 problema del vendedor ambulante............................................................ 85 programación de producción en un taller.................................................. 75 programador de clases .............................................................................. 69 riesgo de cartera........................................................................................ 83

ascenso de colinas Uso del Solver ........................................................................................ 162

ascenso de colinas....................................................................................... 158 ascenso de colinas

ejemplo ................................................................................................... 164 ascenso de colinas

descrito ................................................................................................... 164

B

barra de estado............................................................................ 135, 141, 223 bases de datos ............................................................................................. 166 bitácora de datos de simulación.................................................................... 54 bitácora dinámica.......................................................................................... 56

Page 238: RISKOptimizer Es

234

C

calendarización métodos de solución ............................................................................... 105

celda objetivo............................................................................ 28, 42, 92, 224 celdas ajustables...................................................................................... 42, 95 combinatorios

problemas................................................................................................ 166 Condiciones de detención de optimización ............................................... 51 Condiciones de detención de simulación ...................................................... 53 Configuraciones de aplicación

comando.................................................................................................. 137 convergencia

condición de detención ........................................................................... 128 convergencia proyectada

condición de detención ........................................................................... 128

D

distribuciones de probabilidad ...................................................................... 27 Distribuciones de probabilidad ..................................................................... 18

E

Eliminando el RISKOptimizer...................................................................... 11 enteros........................................................................................................... 96 especificaciones técnicas ............................................................................ 205 Excel

Solver...................................................................................................... 162

F

función de aptitud ................................................................................... 35, 93 funciones de penalización........................................................................... 197

ejemplos.................................................................................................. 200 uso........................................................................................................... 200

G

generaciones por qué no se usan................................................................................... 205

glosario ....................................................................................................... 223 gráficos de progreso.................................................................................. 142

Page 239: RISKOptimizer Es

Índice 235

L

lineales problemas ............................................................................................... 163

M

Meta de optimización ................................................................................... 92 método de reemplazo.................................................................................. 207 método Simplex.......................................................................................... 163 métodos de solución ................................................................................... 194

administración de rendimientos ................................................................ 87 agrupamiento .......................................................................................... 102 balanceo de una cartera de inversiones..................................................... 77 calendarización ....................................................................................... 105 distribución presupuestaria ....................................................................... 65 haciendo coberturas con futuros ............................................................... 73 mezcla de carteras..................................................................................... 81 orden....................................................................................................... 101 planeamiento de capacidad ....................................................................... 67 presupuesto ............................................................................................. 103 problema del vendedor ambulante............................................................ 85 programación de producción en un taller.................................................. 75 programador de clases .............................................................................. 69 proyecto .................................................................................................. 104 receta ...................................................................................................... 100 riesgo de cartera........................................................................................ 83

Modelando la incertidumbre........................................................................... 5 Modelo

caja de diálogo.................................................................................... 41, 91 modelos continuos ...................................................................................... 162

N

no lineales problemas ............................................................................................... 164

O

objetivo......................................................................................................... 93 Objetivo de optimización.............................................................................. 42 Observador

pestaña Bitácora...................................................................................... 146 pestaña Diversidad.................................................................................. 149 pestaña Opciones de detención............................................................... 150

Page 240: RISKOptimizer Es

236

pestaña Población ................................................................................... 148 pestaña Progreso ..................................................................................... 142 pestaña Resumen .................................................................................... 144

Observador del RISKOptimizer............................................................ 56, 141 opciones de ejecución de optimización....................................................... 126 opciones de ejecución de simulación.......................................................... 128 Operadores.......................................................................................... 111, 112 operadores genéticos................................................................................... 112 optimización

métodos................................................................................................... 156 Optimización

¿Qué es?.................................................................................................... 19 optimización por simulación......................................................................... 26 optimización tradicional ............................................................................... 25 orden

métodos de solución ............................................................................... 101

P

paisaje de soluciones................................................................................... 158 Palisade Corporation....................................................................................... 9 percentil ......................................................................................... 26, 93, 228 pila de genes ............................................................................................... 177 presupuesto

métodos de solución ............................................................................... 103 problemas basados en tablas ....................................................................... 166 problemas combinatorios............................................................................ 166 problemas de metas múltiples..................................................................... 202 problemas lineales ...................................................................................... 163 problemas no lineales ................................................................................. 164 Progreso

ventana.................................................................................................... 135 proyecto

métodos de solución ............................................................................... 104

R

rastreo revertido .......................................................................................... 207 receta

métodos de solución ............................................................................... 100 restricción de iteración ............................................. 29, 31, 53, 115, 128, 196 restricción de simulación...................................29, 31, 53, 115, 116, 128, 196 restricciones ................................................................................................ 201

implementación....................................................................................... 207 restricciones blandas............................................................. 47, 115, 117, 196 restricciones duras ........................................................................ 47, 115, 195

Page 241: RISKOptimizer Es

Índice 237

RISKOptimizer ¿Qué es?.................................................................................................... 17 Observador ............................................................................................. 141 Tutorial ..................................................................................................... 14

rutina de selección ...................................................................................... 205 rutinas GRG................................................................................................ 162

S

solución global vs. solución local .................................................................................... 162

solución local vs. solución global .................................................................................. 162

Solver de Excel........................................................................................... 162 Solver de restricciones, comando ............................................................... 138

T

tasa de cruce ....................................................................................... 144, 176 descripción.............................................................................................. 108 implementación ...................................................................................... 205

tasa de mutación ......................................................................................... 144 descripción.............................................................................................. 109 implementación ...................................................................................... 206

tiempo condición de detención ........................................................................... 126

tiempo de ejecución .................................................................................... 126 Tutorial ......................................................................................................... 14

U

Use la misma semilla de generador de números aleatorios en cada simulación................................................................................................................ 121

V

Valores.......................................................................................................... 96 velocidad

mejorar.................................................................................................... 203