RISKOptimizer - Palisade Corporation

advertisement
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)
sales@palisade.com (e-mail)
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.
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
Tabla de contenidos
iii
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
iv
Glosario
223
Índice
233
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
Capítulo 1: Introducción
1
2
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.
Capítulo 1: Introducción
3
Problemas de
optimización
tradicional
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.
Optimización
de modelos
inciertos
4
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.
Introducción
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.
Modelando la
incertidumbre
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.
Optimización
usando
simulación
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
Capítulo 1: Introducción
5
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.
Resultados de
simulación
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!
Aplicaciones
personalizadas
usando
RISKOptimizer
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.
6
Introducción
Aplicaciones de
Optimización
por simulación
usando el
RISKOptimizer
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.
Capítulo 1: Introducción
7
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 llamar
8
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.
Introducción
Contactando
a Palisade
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 asupport@palisade.com.
•
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 support@palisade-europe.com.
•
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 support@palisade.com.au.
•
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.
Capítulo 1: Introducción
9
Versiones
estudiantiles
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:
10
•
PC Pentium PC o superior con un disco duro.
•
Microsoft Windows 2000 SP4 o superior.
•
Microsoft Excel Versión2000 o superior.
Introducción
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.
Eliminando el
RISKOptimizer
de su
computadora
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.
Capítulo 1: Introducción
11
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”).
12
Instrucciones de instalación
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:
•
Capítulo 1: Introducción
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.
13
Otra información de RISKOptimizer
Se puede encontrar información adicional sobre el RISKOptimizer en
las siguientes fuentes:
Archivo léame
de
RISKOptimizer
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.
Tutorial del
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.
14
Instrucciones de instalación
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
Capítulo 2: Contexto
15
16
¿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.
Capítulo 2: Contexto
17
¿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.
Algoritmos
genéticos
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.
Distribuciones
de probabilidad
y Simulación
18
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.
¿Qué es el RISKOptimizer?
¿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.
Capítulo 2: Contexto
19
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.
20
¿Qué es el RISKOptimizer?
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.
Capítulo 2: Contexto
21
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.
22
¿Qué es el RISKOptimizer?
Más precisos,
más
significativos
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.
Más flexible
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.
Capítulo 2: Contexto
23
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.
Más fácil de
usar
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.
24
¿Qué es el RISKOptimizer?
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)
Capítulo 2: Contexto
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.
25
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).
26
Optimización tradicional versus la optimización por simulación
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.
Introduciendo
distribuciones
de probabilidad
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.
Capítulo 2: Contexto
27
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.
Identificando la
celda objetivo
y el estadístico
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
28
Optimización tradicional versus la optimización por simulación
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.
Introduciendo
las celdas
ajustables
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.
Introduciendo
restricciones
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:
Capítulo 2: Contexto
♦
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
29
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.
Definiendo las
opciones de
optimización y
de simulación
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.
30
Optimización tradicional versus la optimización por simulación
Ejecutando la
optimización
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.
Capítulo 2: Contexto
31
32
Optimización tradicional versus la optimización por simulación
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
Capítulo 3: RISKOptimizer: Paso a paso
33
34
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.
Capítulo 3: RISKOptimizer: Paso a paso
35
36
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.
La barra de
herramientas
del
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.
Abriendo un
modelo ejemplo
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.
Capítulo 3: RISKOptimizer: Paso a paso
37
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 sobrevendié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
38
Un tour a lo largo del RISKOptimizer
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
Capítulo 3: RISKOptimizer: Paso a paso
39
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.
40
Un tour a lo largo del RISKOptimizer
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.
Capítulo 3: RISKOptimizer: Paso a paso
41
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.
42
Un tour a lo largo del RISKOptimizer
Introduciendo el
rango min-Max
para las celdas
ajustables
La mayoría de las veces usted podría querer restringir los posibles
valores para un rango de celdas ajustables a un rango mínimomá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.
Capítulo 3: RISKOptimizer: Paso a paso
43
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”.
44
Un tour a lo largo del RISKOptimizer
Seleccionando
un Método
de solución
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”.
Capítulo 3: RISKOptimizer: Paso a paso
45
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.
Restricciones
de iteración y
de simulació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.
46
Un tour a lo largo del RISKOptimizer
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:
Añadiendo una
restricción
♦
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.
Capítulo 3: RISKOptimizer: Paso a paso
47
Restricciones
de rangos
simples de
valores y de
fórmulas
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.
48
Un tour a lo largo del RISKOptimizer
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.
Capítulo 3: RISKOptimizer: Paso a paso
49
Su diálogo de Modelo con la sección completada de restricciones
debería verse como acá:
50
Un tour a lo largo del RISKOptimizer
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.
Condiciones de
detención de
optimización
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.
Capítulo 3: RISKOptimizer: Paso a paso
51
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 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).
Progreso 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.
Fórmula es verdadera 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.
52
Un tour a lo largo del RISKOptimizer
Condiciones de
detención de
simulación
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.
Capítulo 3: RISKOptimizer: Paso a paso
53
Llevando una
bitácora de
datos de
simulación
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.
54
Un tour a lo largo del RISKOptimizer
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.
Capítulo 3: RISKOptimizer: Paso a paso
55
El Observador
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.
56
Un tour a lo largo del RISKOptimizer
Deteniendo la
optimización
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.
Capítulo 3: RISKOptimizer: Paso a paso
57
Reporte
resumen
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.
58
Un tour a lo largo del RISKOptimizer
Colocando los
resultados en
su modelo
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.
Capítulo 3: RISKOptimizer: Paso a paso
59
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.
60
Un tour a lo largo del RISKOptimizer
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
Capítulo 4: Aplicaciones ejemplo
61
62
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.
Capítulo 4: Aplicaciones ejemplo
63
64
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.
Capítulo 4: Aplicaciones ejemplo
65
Cómo funciona
el modelo
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.
Cómo resolverlo
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.
66
Distribución presupuestaria
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.
Capítulo 4: Aplicaciones ejemplo
67
Cómo funciona
el modelo
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.
Cómo resolverlo
Utilice el método de solución de receta (“recipe”) para la celda G5.
Maximice la media simulada en B21.
68
Planeamiento de capacidad
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.
Capítulo 4: Aplicaciones ejemplo
69
Cómo funciona
el modelo
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.
70
Programador de clases
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.
Cómo resolverlo
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.
Capítulo 4: Aplicaciones ejemplo
71
72
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.
Capítulo 4: Aplicaciones ejemplo
73
Cómo funciona
el modelo
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).
Cómo resolverlo
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.
74
Haciendo coberturas con futuros
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
Capítulo 4: Aplicaciones ejemplo
75
Cómo funciona
el modelo
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.
Cómo resolverlo
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.
76
Programación de producción en un taller
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.
Capítulo 4: Aplicaciones ejemplo
77
Cómo funciona
el modelo
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).
78
Balanceo de una cartera de inversiones
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.
Cómo resolverlo
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.
Capítulo 4: Aplicaciones ejemplo
79
80
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
Capítulo 4: Aplicaciones ejemplo
81
Cómo funciona
el modelo
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%.
Cómo resolverlo
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.
82
Mezcla de carteras
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.
Capítulo 4: Aplicaciones ejemplo
83
Cómo funciona
el modelo
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%.
Cómo resolverlo
84
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.
Riesgo de cartera
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.
Capítulo 4: Aplicaciones ejemplo
85
Cómo funciona
el modelo
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.
Cómo resolverlo
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.
86
Problema del vendedor ambulante
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.
Capítulo 4: Aplicaciones ejemplo
87
Cómo funciona
el modelo
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.
Cómo resolverlo
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.
88
Administración de rendimientos
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 Capítulo 5: Guía de referencia del RISKOptimizer
89
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 90
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.
Capítulo 5: Guía de referencia del RISKOptimizer
91
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.
•
92
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.
Comando de definición de modelo
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 dropdown. 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).
Capítulo 5: Guía de referencia del RISKOptimizer
93
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.
94
Comando de definición de modelo
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.
Capítulo 5: Guía de referencia del RISKOptimizer
95
•
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.
•
96
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.
Comando de definición de modelo
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.
Capítulo 5: Guía de referencia del RISKOptimizer
97
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.
98
Comando de definición de modelo
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í.
Capítulo 5: Guía de referencia del RISKOptimizer
99
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).
Método de
solución de
receta
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.
100
Conjunto original de Un conjunto posible
valores de variables 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
Comando de definición de modelo
Método de
solución de
orden
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 Un conjunto posible
valores de variables 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
Capítulo 5: Guía de referencia del RISKOptimizer
101
Método de
solución de
agrupamiento
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.
102
Comando de definición de modelo
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”).
Método de
solución de
presupuesto
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.
Capítulo 5: Guía de referencia del RISKOptimizer
103
Método de
solución de
proyecto
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.
104
Comando de definición de modelo
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.
Método de
solución de
calendarización
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.
Capítulo 5: Guía de referencia del RISKOptimizer
105
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:
106
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.
Comando de definición de modelo
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.
Capítulo 5: Guía de referencia del RISKOptimizer
107
Tasa de cruce y
de mutación
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
108
Comando de definición de modelo
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
Capítulo 5: Guía de referencia del RISKOptimizer
109
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.
110
Comando de definición de modelo
Número de
bloques de
tiempo y celdas
de restricción
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.
Tareas
precedentes
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.
Operadores
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.
Capítulo 5: Guía de referencia del RISKOptimizer
111
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:
112
♦
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.
Comando de definición de modelo
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.
Capítulo 5: Guía de referencia del RISKOptimizer
113
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.
Añadiendo
restricciones
114
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.
Comando de definición de modelo
Tipos de
restricciones
Momento de
evaluación
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.
Capítulo 5: Guía de referencia del RISKOptimizer
115
Restricciones
de simulación
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).
Restricciones
simples y de
fórmula
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.
116
Comando de definición de modelo
•
Restricciones
blandas
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.
Capítulo 5: Guía de referencia del RISKOptimizer
117
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.
•
118
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.
Comando de definición de modelo
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.
Capítulo 5: Guía de referencia del RISKOptimizer
119
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:
•
120
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.
Comando de configuración de optimización – pestaña General
•
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.
Capítulo 5: Guía de referencia del RISKOptimizer
121
•
122
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.
Comando de configuración de optimización – pestaña General
Capítulo 5: Guía de referencia del RISKOptimizer
123
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.
124
Comando de configuración de optimización – pestaña Tiempo de ejecución
Capítulo 5: Guía de referencia del RISKOptimizer
125
Opciones de
ejecución de
optimizació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.
126
•
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.
Comando de configuración de optimización – pestaña Tiempo de ejecución
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.
Capítulo 5: Guía de referencia del RISKOptimizer
127
Opciones de
ejecución de
simulació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.
128
Comando de configuración de optimización – pestaña Tiempo de ejecución
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.
Capítulo 5: Guía de referencia del RISKOptimizer
129
130
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.
Capítulo 5: Guía de referencia del RISKOptimizer
131
132
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.
Capítulo 5: Guía de referencia del RISKOptimizer
133
•
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.
134
Comando de configuración de optimización – pestaña Macros
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.
Capítulo 5: Guía de referencia del RISKOptimizer
135
Las opciones en la Barra de herramientas de la ventana de progreso
del RISKOptimizer incluyen:
136
•
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.
Comando de inicio de optimización
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.
Capítulo 5: Guía de referencia del RISKOptimizer
137
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.
138
Comando de utilitarios
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.
Capítulo 5: Guía de referencia del RISKOptimizer
139
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.
140
Comando de utilitarios
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.
Capítulo 5: Guía de referencia del RISKOptimizer
141
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.
142
El Observador del RISKOptimizer
Caja de diálogo
de opciones de
gráfico
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.
Capítulo 5: Guía de referencia del RISKOptimizer
143
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.
144
El Observador del RISKOptimizer
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).
Capítulo 5: Guía de referencia del RISKOptimizer
145
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:
146
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
El Observador del RISKOptimizer
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
Capítulo 5: Guía de referencia del RISKOptimizer
147
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.
148
El Observador del RISKOptimizer
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.
Capítulo 5: Guía de referencia del RISKOptimizer
149
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.
150
El Observador del RISKOptimizer
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.
Capítulo 5: Guía de referencia del RISKOptimizer
151
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.
152
El Observador del RISKOptimizer
•
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.
Capítulo 5: Guía de referencia del RISKOptimizer
153
154
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 Capítulo 6: Optimización
155
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.
156
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
XyY
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.
Capítulo 6: Optimización
157
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.
158
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.
Capítulo 6: Optimización
159
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
Solución actual
Escenario oeste
Escenario este
Escenario norte
Escenario sur
160
Quiebre 1 (x)
11:00am
10:45am
11:15am
11:00am
11:00am
Quiebre 2 (y)
3:00pm
3:00pm
3:00pm
3:15pm
2:45pm
“Nota” (z)
= 46.5
= 44.67
= 40.08
= 49.227
= 43.97
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.
Capítulo 6: Optimización
161
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.
162
Tipos de problemas
Algunos tipos distintos de problemas típicamente se optimizan.
Problemas
lineales
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.
Problemas no
lineales
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.
Capítulo 6: Optimización
163
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) .
164
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.
Problemas
basados en
tablas
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.
Capítulo 6: Optimización
165
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.
Problemas
Combinatorios
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.
166
Capítulo 7: Algoritmos
genéticos
Introducción ....................................................................................169 Historia.............................................................................................169 Un ejemplo biológico .....................................................................173 Un ejemplo digital...........................................................................175 Capítulo 7: Algoritmos genéticos
167
168
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.
Teoría de la
evolución
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”.
Capítulo 7: Algoritmos genéticos
169
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.
170
Historia
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.
Adaptaciones
modernas de
los algoritmos
genéticos
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!
Capítulo 7: Algoritmos genéticos
171
172
Historia
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.
Capítulo 7: Algoritmos genéticos
173
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.
174
Un ejemplo biológico
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:
Capítulo 7: Algoritmos genéticos
175
Escenario 1
Escenario 2
Antes
Después
3.4, 5.0
2.6, 5.0
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:
176
Un ejemplo digital
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.
Capítulo 7: Algoritmos genéticos
177
178
Un ejemplo digital
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 Capítulo 8: Simulación y análisis de riesgos
179
180
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.
Capítulo 8: Simulación y análisis de riesgos
181
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.
182
¿Qué es el riesgo?
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?
Capítulo 8: Simulación y análisis de riesgos
183
♦
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.
184
¿Qué es el riesgo?
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.
Capítulo 8: Simulación y análisis de riesgos
185
186
¿Qué es el riesgo?
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:
Variables
ciertas o
inciertas
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.
Capítulo 8: Simulación y análisis de riesgos
187
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.
Independientes
o dependientes
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.
188
Creación de un modelo en el RISKOptimizer
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.
Capítulo 8: Simulación y análisis de riesgos
189
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.
190
Análisis de un modelo mediante simulación
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 Capítulo 9: Extras del RISKOptimizer
191
192
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.
Capítulo 9: Extras del RISKOptimizer
193
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.
194
Añadiendo restricciones
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.
Capítulo 9: Extras del RISKOptimizer
195
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.
196
Añadiendo restricciones
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.
Funciones de
penalización
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.
Introduciendo
una función de
penalización
Capítulo 9: Extras del RISKOptimizer
197
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.
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.
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
198
Añadiendo restricciones
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
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.
Introduciendo
restricciones
blandas en su
hoja de cálculo
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.
Capítulo 9: Extras del RISKOptimizer
199
Más ejemplos
de funciones de
penalización
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.
Usando
funciones de
penalización
200
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).
Añadiendo restricciones
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).
Capítulo 9: Extras del RISKOptimizer
201
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.
202
Añadiendo restricciones
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.
Capítulo 9: Extras del RISKOptimizer
203
204
♦
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.
Mejorando la velocidad
¿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.
Selecció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.
Cruce
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.
Capítulo 9: Extras del RISKOptimizer
205
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.
Mutación
206
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).
¿Cómo se implemente la optimización del RISKOptimizer?
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).
Reemplazo
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.
Restricciones
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.
Capítulo 9: Extras del RISKOptimizer
207
208
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.
Apéndice A: Automatizando el RISKOptimizer
209
210
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.
Apéndice B: Resolución de problemas / Preguntas y respuestas
211
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.
212
Resolución de problemas / Preguntas y respuestas
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.
Apéndice B: Resolución de problemas / Preguntas y respuestas
213
214
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.
Apéndice C: Recursos adicionales
215
•, 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.
216
Recursos adicionales de aprendizaje
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.
Apéndice C: Recursos adicionales
217
• 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. MillerFreeman,.
•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
218
Recursos adicionales de aprendizaje
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.
Apéndice C: Recursos adicionales
219
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).
220
Recursos adicionales de aprendizaje
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
Apéndice C: Recursos adicionales
221
222
Glosario
Para información adicional sobre cualquier término, refiérase al índice
del RISKOptimizer en el siguiente capítulo.
Algoritmo
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.
Algoritmo
genético
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.
Algoritmos de
ascenso de
colinas
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.
Barra de estado
La barra de estado aparece en la parte inferior de la ventana de Excel,
y despliega la actividad actual del RISKOptimizer.
Caja de diálogo
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.
Campo
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.
Celda
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
Glosario
223
Excel 2003), para un total de más de 4 millones de celdas en cada hoja
de cálculo en Excel.
Celda ajustable
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.
Celda objetivo
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).
Cruce
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
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
Desviación
estándar
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
Determinístico
El término determinístico referido a una variable indica que no hay
incertidumbre asociada con ella.
Distribución
acumulativa
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
continua
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
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.
224
Distribución de
frecuencia
acumulativa
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
Distribución de
probabilidad
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
Distribución
discreta
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
Escenario
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.
Estocástico
El término estocástica aplicado a una variable es sinónimo de
incertidumbre o riesgo.
Véase Riesgo o Determinada (variable)
Fenotipos
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
Función de
aptitud
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.
Glosario
225
Función de
penalización
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.
Funciones
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.
Generación
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.
Generador de
número
aleatorio
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
Genotipo
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.
226
Grupo de celdas
ajustables
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.
Iteración
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)
Latino
Hipercúbico
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
Máximo global
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.
Máximo local
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).
Media
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
Método de
solución
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.
Modelo
Para los propósitos de este manual, un modelo es una representación
numérica en Excel de una situación del mundo real.
Glosario
227
Momentos
superiores
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
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
Muestra
aleatoria
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.
Mutación
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.
Optimización
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.
Organismo
Un bloque de memoria en una población que almacena un conjunto
de valores de variables (escenario).
Percentil
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.
228
Población
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
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
Pruebas
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.
Rangos
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).
Restricciones
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.
Restricciones
blandas
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
Glosario
229
ser más valioso que una no tan buena solución que sí satisface
restricciones duras.
230
Restricciones
duras
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.
Sesgo
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
Simulación
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.
Solución
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.
Solucionador
pequeño
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”.
Supervivencia
del más apto
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.
Valor más
probable
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.
Glosario
231
Variable
dependiente
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
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
232
Í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
Índice
233
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
234
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
Índice
235
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
236
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
Índice
237
Descargar