Evolver - Palisade Corporation

Anuncio
Guía para el uso de
Evolver
Solver de algoritmo genético
para Microsoft Excel
Versión 6
March, 2013
Palisade Corporation
798 Cascadilla St.
Ithaca, NY 14850
EE.UU.
+1-607-277-8000
+1-607-277-8001 (fax)
http://www.palisade.com (World Wide Web)
[email protected] (correo electrónico)
Copyright
Copyright © 2013, Palisade Corporation.
Reconocimiento de marcas comerciales
Microsoft, Excel y Windows son marcas comerciales registradas de Microsoft
Corporation.
IBM es una marca comercial registrada de International Business Machines, Inc.
Palisade, Evolver, TopRank, BestFit y RISKview son marcas comerciales registradas
de Palisade Corporation.
RISK es una marca comercial de Parker Brothers, división de Tonka Corporation, y se
utiliza bajo licencia.
Índice
Introducción
1 Introducción ........................................................................................3 Instrucciones para la instalación......................................................7 Información general
11 ¿Qué es Evolver? .............................................................................13 Evolver: Paso a paso
21 Introducción ......................................................................................23 Una visita por Evolver ......................................................................24 Guía de referencia de Evolver
43 Comando Definición de modelo......................................................45 Comando Configuraciones de optimización .................................65 Comando Iniciar optimización ........................................................77 Comandos de Utilidades..................................................................79 El Observador del Evolver ...............................................................83 Optimización
95 Métodos de optimización.................................................................97 Algoritmos genéticos y OptQuest
109 Introducción ....................................................................................111 Índice
i
Historia ............................................................................................ 111 Un ejemplo biológico ..................................................................... 115 Un ejemplo digital .......................................................................... 117 OptQuest ......................................................................................... 121 Extras de Evolver
123 Cómo añadir restricciones............................................................ 125 Mejora de la rapidez ....................................................................... 135 Cómo se implementa la optimización de algoritmo genético de
Evolver ......................................................................................... 137 Apéndice A: Automatización de Evolver
141 Apéndice B: Resolución de problemas / Preguntas y respuestas143 Resolución de problemas / Preguntas y respuestas.................. 143 Apéndice C: Recursos adicionales
147 Recursos adicionales de aprendizaje .......................................... 147 ii
Glosario
151 Índice
157 Introducción
Introducción ........................................................................................3 Antes de empezar .....................................................................................3 Lo que incluye el paquete.......................................................................3 Información sobre esta versión .............................................................3 El sistema operativo.................................................................................4 Cómo obtener ayuda................................................................................4 Requisitos del sistema para Evolver.....................................................6 Instrucciones para la instalación......................................................7 Instrucciones generales de instalación.................................................7 Los programas de DecisionTools Suite................................................7 Mensaje de advertencia de seguridad de macros al iniciar el
programa ....................................................................................................8 Activación del software...........................................................................9 Información adicional de Evolver.........................................................9 Aprendizaje de Evolver...........................................................................9 Introducción
1
2
Introducción
Evolver es el optimizador comercial basado en algoritmo genético
más rápido y avanzado que se ha ofrecido nunca. Evolver, mediante
la aplicación de potentes técnicas de optimización basadas en
algoritmo genético, puede hallar soluciones óptimas para problemas
que resultan "irresolubles" con optimizadores de resolución lineal y
no lineal estándar. El software de Evolver también incluye el
generador de optimización OptQuest, que encuentra rápidamente
soluciones a una amplia gama de problemas de optimización.
Además, los problemas lineales se manejan utilizando métodos de
programación lineal. Evolver se ofrece en dos versiones –Profesional e
Industrial– que le permiten seleccionar el optimizador con la
capacidad que usted necesita.
La Guía del Usuario de Evolver, que está leyendo ahora, ofrece una
introducción al programa Evolver y sus principios; y luego muestra
varias aplicaciones de ejemplo de la tecnología exclusiva de algoritmo
genético de Evolver. Este completo manual también se puede usar
como una guía de referencia con índice completo, con descripciones e
ilustraciones de cada una de las funciones de Evolver.
Antes de empezar
Antes de instalar y comenzar a trabajar con Evolver, asegúrese de que
su paquete de Evolver contiene todos los elementos necesarios, y
compruebe que su PC cumple los requisitos mínimos de uso.
Lo que incluye el paquete
Evolver se puede comprar independiente o como parte de las
versiones Profesional e Industrial de DecisionTools Suite. La
aplicación Evolver contiene el programa complementario Evolver
para Excel, varios ejemplos de Evolver y un sistema de ayuda
electrónico con índice completo para Evolver. Las versiones
Profesional e Industrial de DecisionTools Suite contienen todo lo
anterior, además de aplicaciones adicionales.
Información sobre esta versión
Esta versión de Evolver se puede instalar como programa de 32-bit
para Microsoft Excel 2003 o superior, o como programa de 64-bit para
Excel 2010.
Introducción
3
El sistema operativo
Esta guía para el uso del programa está diseñada para usuarios que
tienen un conocimiento general del sistema operativo Windows y de
Excel. En particular, el usuario debe:

Estar familiarizado con el uso del PC y del ratón.

Estar familiarizado con términos como iconos, hacer clic, hacer doble
clic, menú, ventana, comando y objeto.

Comprender los conceptos básicos de estructura de directorios y
archivos.
Cómo obtener ayuda
Se ofrece asistencia técnica gratuita a todos los usuarios registrados de
Evolver con un plan actual de mantenimiento, o también se ofrece por
un precio por incidente. Para asegurar que usted es un usuario
registrado de Evolver, regístrese electrónicamente en
http://www.palisade.com/support/register.asp.
Si se pone en contacto con nosotros por teléfono, tenga a mano el
número de serie y la guía para el uso del programa. Le podremos
asistir mejor si se encuentra delante del PC en el momento de llamar.
Antes de llamar
4
Antes de ponerse en contacto con el servicio de asistencia técnica,
repase la siguiente lista:

¿Ha consultado la ayuda electrónica?

¿Ha consultado esta Guía del Usuario y revisado el tutorial multimedia
electrónico?

¿Ha leído el archivo LEAME.RTF? Este archivo contiene información
actual referente a Evolver que puede no estar en la guía del programa.

¿Puede reproducir el problema consistentemente? ¿Puede reproducir el
problema en otro PC o con otro modelo?

¿Ha visitado nuestra página de World Wide Web? La dirección es
http://www.palisade.com. En nuestra página Web también podrá
encontrar las preguntas más frecuentes (una base de datos de preguntas
y respuestas sobre temas técnicos) y una serie de archivos de reparación
de Evolver en la sección de Asistencia técnica. Recomendamos que visite
nuestra página Web con regularidad para obtener información
actualizada sobre Evolver y sobre otros programas de Palisade.
Introducción
Cómo ponerse
en contacto
con Palisade
Palisade Corporation está abierto a sus preguntas, comentarios y
sugerencias referentes a Evolver. Póngase en contacto con nuestro
personal de asistencia técnica siguiendo uno de estos métodos:

Envíe un correo electrónico a [email protected].

Llame al teléfono +1-607-277-8000 los días laborables de 9:00 a.m. a
5:00 p.m., hora estándar del este de Estados Unidos. Para acceder al
servicio de asistencia técnica siga las indicaciones del sistema.

Envíe un fax al +1-607-277-8001

Envíe una carta a:
Technical Support
Palisade Corporation
798 Cascadilla St.
Ithaca, NY 14850
EE.UU.
Si quiere ponerse en contacto con Palisade en Europa.

Envíe correo electrónico a [email protected].

Llame al +44-1895 425050 (Reino Unido).

Envíe un fax al +44-1895 425051 (Reino Unido).

Envíe una carta postal a:
Palisade Europe
31 The Green
West Drayton
Middlesex
UB7 7PN
Reino Unido
Si quiere ponerse en contacto con Palisade en Asia-Pacífico.
Introducción

Envíe correo electrónico a [email protected].

Llame al +61-2 9252 5922 (Australia).

Envíe un fax al +61-2 9252 2820 (Australia).

Envíe una carta postal a:
Palisade Asia-Pacific Pty Limited
Suite 404, Level 4
20 Loftus Street
Sydney NSW 2000
Australia
5
Independientemente del método de contacto, mencione siempre el
nombre del producto, la versión y el número de serie. La versión
exacta se encuentra seleccionando el comando Acerca de… de la
Ayuda del menú de Evolver en Excel.
Versión para
estudiantes
La versión para estudiantes de Evolver no incluye asistencia técnica
por teléfono. Si necesita ayuda, recomendamos las siguientes
alternativas:

Consulte con su profesor o asistente.

Vaya a http://www.palisade.com y busque entre las respuestas a las
preguntas más frecuentes.

Póngase en contacto con nuestro departamento de asistencia técnica
enviando un fax o mensajes de correo electrónico.
Requisitos del sistema para Evolver
Los requisitos del sistema para usar Evolver son:
6

Microsoft Windows XP o superior.

Microsoft Excel 2003 o superior.
Introducción
Instrucciones para la instalación
Evolver es un programa de complemento para Microsoft Excel. Al
añadir comandos adicionales a las barras de menús de Excel, Evolver
mejora la funcionalidad del programa de hoja de cálculo.
Instrucciones generales de instalación
El programa de instalación copia los archivos del sistema de Evolver
en el directorio seleccionado del disco duro. Para ejecutar el programa
de instalación en Windows XP o superior:
1) Haga doble clic en Evolver Setup.exe, en el archivo descargado o en el
CD de instalación, y siga las instrucciones de la pantalla
Si tiene algún problema instalando Evolver, compruebe que hay
espacio suficiente en el disco en el que va a instalar el programa. Si
falta espacio, libere el espacio de disco que sea necesario e intente
instalar el programa de nuevo.
Cómo quitar
Evolver de su PC
Si desea quitar Evolver (o DecisionTools Suite) de su PC, utilice la
función Agregar/Quitar programas del Panel de control y seleccione
el elemento Evolver o DecisionTools Suite.
Los programas de DecisionTools Suite
Evolver se puede usar con DecisionTools Suite, un juego de productos
de análisis de riesgo y decisión que ofrece Palisade Corporation. El
procedimiento de instalación predeterminado de Evolver coloca
Evolver en un subdirectorio del directorio principal “Archivos de
programas\Palisade”. Algo similar ocurre con Excel, que
normalmente se instala como un subdirectorio del directorio
“Microsoft Office”.
Uno de los subdirectorios del directorio Archivos de
programas\Palisade será el directorio de Evolver (denominado de
forma predeterminada Evolver6). Este directorio contiene el archivo
del programa de complemento Evolver (EVOLVER.XLA) además de
modelos de ejemplo y otros archivos necesarios para el
funcionamiento de Evolver. Otro de los subdirectorios de Archivos de
programas\Palisade es el directorio SYSTEM, que contiene archivos
necesarios para todos los programas de DecisionTools Suite,
incluyendo archivos comunes de ayuda y librerías de programas.
Introducción
7
Mensaje de advertencia de seguridad de macros
al iniciar el programa
Microsoft Office proporciona varias configuraciones de seguridad (en
Herramientas>Macro>Seguridad) para evitar que se ejecuten macros
no deseados o maliciosos en los programas de Office. Cada vez que
intente cargar un archivo con macros aparecerá un mensaje de
advertencia, a menos que seleccione la configuración de seguridad
más baja. Para evitar que aparezca este mensaje cada vez que ejecute
un programa complementario de Palisade, Palisade identifica
digitalmente sus archivos de programas. Por lo tanto, cuando haya
especificado Palisade Corporation como fuente de datos segura,
podrá abrir cualquier programa auxiliar de Palisade sin que aparezca
el mensaje de advertencia. Para hacerlo:

8
Haga clic en Confiar siempre en los macros de esta fuente
cuando aparezca el cuadro de diálogo de Advertencia de
seguridad (como el de abajo) al iniciar Evolver.
Instrucciones para la instalación
Activación del software
La activación es un proceso que se realiza una sola vez para verificar
la licencia y es necesario para que el software de Palisade funcione
como un producto con licencia completa. En la factura impresa o
enviada por correo electrónico se encuentra una ID de activación, que
es una secuencia separada por guiones similar a esta: "DNA-6438907651282-CDM". Si introduce la ID de Activación durante la instalación,
el software se activa al final del proceso de instalación y no será
necesaria acción adicional alguna. Si desea activar el software después
de la instalación, seleccione el comando Administrador de Licencias
del menú Ayuda.
El Administrador de Licencias se puede usar para activar, desactivar
y mover licencias de software. También se usa para administrar
licencias en las instalaciones de red. Siga las instrucciones de los
cuadros de diálogo del Administrador de Licencias para realizar las
operaciones que desee con las licencias.
Información adicional de Evolver
Puede obtener información adicional sobre Evolver en los siguientes
lugares:
Archivo Léame
de Evolver
Este archivo contiene un breve resumen de Evolver, así como
cualquier noticia o información reciente sobre la última versión del
software. Para ver el archivo Léame, seleccione el comando Ayuda de
Evolver, luego el comando Documentación, y por último el comando
Léame.
El Tutorial de
Evolver
El tutorial electrónico de Evolver ofrece a los que usan el programa
por primera vez una introducción rápida a Evolver y los algoritmos
genéticos. La presentación sólo dura unos pocos minutos. Consulte la
sección Aprendizaje de Evolver más abajo para obtener información
sobre cómo acceder al tutorial.
Aprendizaje de Evolver
La forma más rápida de familiarizarse con Evolver es el tutorial
electrónico de Evolver, en el que nuestros expertos le guían a través
de los modelos de ejemplo en formato de película. Este tutorial es una
presentación multimedia sobre las funciones principales de Evolver.
El tutorial se puede ejecutar seleccionando el comando Videos que se
encuentra en la cinta o en la barra de herramientas de Evolver.
Introducción
9
10
Instrucciones para la instalación
Información general
¿Qué es Evolver? .............................................................................13 ¿Cómo funciona Evolver? .....................................................................14 OptQuest ....................................................................................14 Algoritmos genéticos ...............................................................14 Programación lineal .................................................................14 ¿Qué es optimización?...........................................................................15 ¿Para qué se crean modelos en Excel? ................................................16 ¿Para qué se usa Evolver? .....................................................................17 Se acabaron las suposiciones..................................................17 Más preciso y significativo .....................................................17 Más flexible ...............................................................................18 Más potente ...............................................................................18 Más fácil de usar .......................................................................18 Económico ..................................................................................19 Información general
11
12
¿Qué es Evolver?
El software de Evolver proporciona a sus usuarios un método fácil de
encontrar soluciones óptimas a prácticamente cualquier tipo de
problema. En pocas palabras, Evolver encuentra las mejores variables
de entrada que generan el resultado deseado. Se puede usar Evolver
para hallar la combinación, orden o agrupamiento adecuados para
producir beneficios más altos, riesgos más bajos o la producción del
mayor número de productos con el uso de la menor cantidad posible
de material. El uso más frecuente de Evolver es como programa
complementario del programa de hoja de cálculo Microsoft Excel; los
usuarios crean un modelo de su problema en Excel y luego utilizan
Evolver para resolverlo.
Primero debe modelar el problema en Excel y luego describirlo en el programa de
complemento Evolver.
Excel ofrece todas las fórmulas, funciones, gráficos y capacidades de
macro que la mayoría de los usuarios necesitan para crear modelos
realistas de sus problemas. Evolver proporciona la interfaz necesaria
para describir lo que usted busca; y ofrece la capacidad necesaria para
resolver el problema. Juntos, estos programas pueden encontrar las
soluciones óptimas para prácticamente cualquier problema que se
pueda modelar.
Información general
13
¿Cómo funciona Evolver?
Evolver usa OptQuest y algoritmos genéticos para buscar soluciones
óptimas a un problema. Además, si determina que un problema es
lineal, aplica métodos de programación lineal.
OptQuest
El generador OptQuest utiliza optimización matemática
metaheurística y componentes de una red neuronal para guiar la
búsqueda de las mejores soluciones para problemas de decisión y
planificación de todo tipo. Los métodos de OptQuest integran los
procedimientos metaheurísticos más modernos, incluyendo la
búsqueda tabú, las redes neuronales y la búsqueda dispersa, en un
solo método compuesto. Para obtener más información sobre
OptQuest, consulte Algoritmos genéticos y OptQuest.
Algoritmos
genéticos
Los algoritmos genéticos se usan en Evolver para encontrar la mejor
solución para su modelo. Los algoritmos genéticos imitan los
principios darwinianos de selección natural mediante la creación de
un entorno en el que cientos de posibles soluciones a un problema
compiten unas con otras, y sólo la “mejor adaptada” sobrevive. Como
sucede en la evolución biológica, cada solución puede transmitir sus
mejores “genes” a través de soluciones “descendientes” de forma que
toda la población de soluciones sigue evolucionando en soluciones
mejores.
Como ya se habrá dado cuenta, la terminología que se usa cuando se
trabaja con algoritmos genéticos es similar a la de su fuente de
inspiración. Hablamos de que las funciones de “cruce” ayudan a
concentrar la búsqueda de soluciones, de que el índice de las
“mutaciones” contribuye a diversificar la “reserva genética” y de que
evaluamos toda la “población” de soluciones u “organismos”. Para
obtener más información sobre cómo funciona el algoritmo genético
de Evolver, consulte Algoritmos genéticos y OptQuest.
Programación
lineal
14
Evolver resuelve problemas lineales rápidamente usando métodos de
programación lineal (si el Modo de Optimización se deja en
Automático en la pestaña Generador del cuadro de diálogo
Configuraciones de Optimización).
¿Qué es Evolver?
¿Qué es optimización?
Optimización es el proceso de búsqueda de la mejor solución a un
problema que puede tener muchas soluciones posibles. La mayoría de
los problemas tienen múltiples variables que interactúan según
fórmulas y restricciones establecidas. Por ejemplo, una compañía
puede tener tres centros de fabricación, cada uno de los cuales
produce diferentes cantidades de diversos productos. Dados los
costos de cada fábrica para producir cada producto, los costos de cada
planta para hacer los envíos a cada tienda y las limitaciones de cada
fábrica, ¿cuál es la forma óptima de satisfacer adecuadamente la
demanda de las tiendas locales minimizando al mismo tiempo los
costos de transporte? Este es el tipo de pregunta que los programas de
optimización pueden responder.
La optimización supone la búsqueda de la combinación que
genera lo máximo a partir de unos recursos dados.
En el ejemplo de arriba, cada una de las soluciones propuestas
consiste en una lista completa de los productos producidos, la fábrica
que los produce, el camión en el que se envían y la tienda a la que se
envían. Otros ejemplos de problemas de optimización consisten en
encontrar la forma de conseguir los mayores beneficios, los menores
costos, el mayor número de vidas salvadas, la menor cantidad de
ruido posible en un circuito, la ruta más corta entre dos ciudades o la
mezcla más eficaz de gastos en publicidad. Un subconjunto muy
importante de problemas de optimización está relacionado con la
programación, donde los objetivos pueden incluir la maximización de
la eficacia durante un turno de trabajo o la minimización de conflictos
de programación de grupos que se reúnen a diferentes horas. Para
obtener más información sobre la optimización, consulte
Optimización.
Información general
15
¿Para qué se crean modelos en Excel?
Para aumentar la eficacia de cualquier sistema, primero debemos
saber cómo funciona. Por eso creamos un modelo de trabajo del
sistema. Los modelos son abstracciones necesarias a la hora de
estudiar sistemas complejos, si bien para que los resultados sean
aplicables al “mundo real”, el modelo no debe simplificar en exceso
las relaciones causa-efecto entre las variables. Los programas de
software mejorados y los PC cada vez más potentes permiten a los
economistas crear modelos más realistas de la economía, a los
científicos mejorar las predicciones de las reacciones químicas y a los
profesionales de los negocios aumentar la sensibilidad de sus modelos
corporativos.
Durante los últimos años, el hardware de los PC y programas de
software como Microsoft Excel, han avanzado tanto que
prácticamente cualquier persona con un PC puede crear modelos
realistas de sistemas complejos. Las funciones incorporadas a Excel,
su capacidad para usar macros y su interfaz clara e intuitiva, permiten
que hasta un principiante pueda modelar y analizar sofisticados
problemas. Para obtener más información sobre la creación de
modelos, consulte Extras de Evolver.
16
¿Qué es Evolver?
¿Para qué se usa Evolver?
La tecnología exclusiva de Evolver permite a cualquiera que tenga un
PC y Excel para Windows disfrutar de las ventajas de la optimización.
Antes de Evolver, aquellos que querían aumentar la eficacia de
procesos o buscar soluciones óptimas, tenía tres opciones: hacer
suposiciones, usar software de poca potencia para la resolución de
problemas, o contratar a un experto en optimización de la industria
de la consultoría para diseñar y desarrollar software personalizado.
Estas son algunas de las ventajas más importantes de Evolver:
Se acabaron las
suposiciones
Cuando se trata con un gran número de variables que interactúan, y
se trata de encontrar la mejor combinación, el orden adecuado o el
agrupamiento óptimo de esas variables, la tentación es simplemente
hacer una “suposición informada”. Una sorprendente cantidad de
personas asume que cualquier tipo de modelación y análisis más allá
de la simple suposición requiere un complicado proceso de
programación o el uso de confusos algoritmos estadísticos y
matemáticos. Una buena solución optimizada puede ahorrar millones
de dólares, miles de galones de precioso combustible, meses de
tiempo perdido, etc. Ahora que los potentes PC de escritorio son cada
vez más económicos, y software como Excel y Evolver están al alcance
de la mano, no hay razón para hacer suposiciones sobre una solución
o perder valioso tiempo haciendo pruebas en diferentes escenarios
manualmente.
Más preciso y
significativo
Evolver permite utilizar la gama completa de fórmulas de Excel para
crear modelos más realistas de un sistema. Cuando se usa Evolver, no
es necesario poner en peligro la precisión del modelo porque el
algoritmo que se está utilizando no puede procesar las complejidades
del mundo real. Los programas de resolución “pequeños”
tradicionales (herramientas de programación estadística y lineal)
obligan al usuario a hacer suposiciones sobre cómo interactúan las
variables de sus problemas, y por lo tanto les obliga a crear modelos
poco realistas simplificados en exceso. Le obligan a presuponer
valores de variables inciertas porque el optimizador no puede
manejar los rangos de posibles valores de los componentes del
modelo incierto. Cuando el usuario simplifica el sistema lo suficiente
como para poder usar estos programas de resolución, la solución
resultante es demasiado abstracta como para que sea práctica.
Cualquier problema que incluya un gran número de variables,
funciones no lineales, tablas de referencia, secuencias si-entonces,
consultas con bases de datos o elementos estocásticos (aleatorios), no
se puede resolver con estos métodos, independientemente de lo
simple que sea el diseño de su modelo.
Información general
17
Más flexible
Hay muchos algoritmos de resolución que funcionan bien para
resolver problemas pequeños y simples de tipo lineal o no lineal,
como los de pasos ascendentes (hill-climbing), pequeños programas
de resolución (baby-solvers) y otros métodos matemáticos. Incluso
cuando se ofrecen en forma de programas complementarios de hoja
de cálculo, estas herramientas de optimización de uso general sólo
pueden realizar optimización numérica. Para problemas más grandes
o complejos se pueden crear algoritmos específicos personalizados
que ofrezcan buenos resultados, pero será necesario hacer un gran
esfuerzo de investigación y desarrollo. Incluso en esos casos, el
programa resultante requerirá modificaciones cada vez que cambie el
modelo.
Evolver no sólo es capaz de tratar problemas numéricos, sino que es el
único programa comercial del mundo que puede resolver la mayoría
de los problemas combinatorios. Estos son problemas en los que las
variables deben barajarse (permutarse) o combinarse. Por ejemplo, la
selección del orden de bateo de un equipo de béisbol es un problema
combinatorio; es cuestión de intercambiar las posiciones de los
jugadores en la lista. Evolver puede encontrar el orden óptimo de las
tareas que se deben realizar para un proyecto, evaluando sólo las
soluciones que cumplan las restricciones previamente especificadas
(es decir, restricciones que requieren que ciertas tareas se realicen
antes que otras). Los problemas de programación complejos también
son combinatorios. El mismo programa Evolver puede resolver todos
estos tipos de problemas y muchos más, algo que ningún otro puede
resolver.
Más potente
Evolver encuentra mejores soluciones. La mayoría de los programas
derivan las soluciones óptimas de forma matemática y sistemática.
Con frecuencia, estos métodos se limitan a tomar una solución
existente y buscar una respuesta cercana mejor. Esta solución “local”
puede estar muy lejos de ser la solución óptima. Evolver toma
muestras de forma inteligente de todo el espectro de posibilidades, lo
cual resulta en una solución “global” mucho mejor.
Más fácil de usar
A pesar de las ventajas más obvias de potencia y flexibilidad que
ofrece, Evolver sigue siendo fácil de usar porque no es en absoluto
necesario comprender las técnicas de optimización que utiliza.
Evolver no se preocupa de las “entrañas” del problema; sólo necesita
un modelo en hoja de cálculo que permite evaluar la idoneidad de los
diferentes escenarios. Sólo tiene que seleccionar las celdas de la hoja
de cálculo que contienen las variables e indicar a Evolver lo que usted
busca. Evolver oculta de forma inteligente la compleja tecnología,
automatizando el proceso “Y si ...” de análisis del problema.
18
¿Qué es Evolver?
Aunque se han creado muchos programas comerciales para
programación matemática y creación de modelos, las hojas de cálculo
son los más populares con diferencia, con literalmente millones de
ventas mensuales. Con su formato intuitivo de filas y columnas, las
hojas de cálculo son más fáciles de configurar y mantener que otros
programas especializados. También son más compatibles con otros
programas como procesadores de texto o bases de datos, y ofrecen
más fórmulas, opciones de formato, gráficos y capacidades de macro
que cualquier otro software de uso independiente. Como Evolver es
un programa complementario para Microsoft Excel, los usuarios
pueden acceder a la gama completa de funciones y herramientas de
programación para crear más fácilmente modelos más realistas de sus
sistemas.
Económico
Muchas compañías contratan consultores de formación para ofrecer
sistemas de optimización personalizados. Esos sistemas normalmente
funcionan muy bien, pero pueden requerir meses y grandes
inversiones de desarrollo e implementación. Estos sistemas son
también difíciles de aprender y por lo tanto requieren costosa
formación y mantenimiento constante. Si resulta necesario modificar
el sistema, puede que tenga que desarrollar un algoritmo totalmente
nuevo para encontrar las soluciones óptimas. Por una inversión
considerablemente menor, Evolver suministra los algoritmos de
optimización más potentes y permite generar soluciones rápidas y
precisas para una amplia variedad de problemas. Y como funciona se
usa en un entorno intuitivo y familiar, no hay prácticamente gastos de
formación y mantenimiento.
Puede incluso añadir la potencia de optimización de Evolver a sus
propios programas personalizados. En sólo unos días podrá usar
Visual Basic para crear sus propios sistemas de programación,
distribución, fabricación o administración financiera. Consulte el
Juego para Programadores de Evolver para obtener información
detallada sobre la programación de aplicaciones basadas en Evolver.
Información general
19
20
Evolver: Paso a paso
Introducción ......................................................................................23 Una visita por Evolver ......................................................................24 Inicio de Evolver.....................................................................................24 La barra de herramientas de Evolver ....................................24 Cómo abrir un modelo de ejemplo........................................24 El cuadro de diálogo Modelo de Evolver...........................................25 Selección de la celda objetivo ..............................................................26 Cómo añadir rangos de celda ajustables............................................26 Introducción de un rango mín-máx como celdas ajustables26 Selección de un método de solución...................................28 Restricciones ...........................................................................................29 Cómo añadir restricciones.......................................................30 Restricciones simples y de fórmula.......................................30 Otras opciones de Evolver ....................................................................33 Condiciones de detención.......................................................33 Opciones de visualización ......................................................35 Ejecución de la optimización ...............................................................36 Observador de Evolver ...........................................................37 Cómo parar la optimización ...................................................38 Informe de resumen .................................................................39 Colocación de los resultados en el modelo ..........................40 Evolver: Paso a paso
21
22
Introducción
En este capítulo le guiaremos a través de todo el sistema de
optimización de Evolver, paso a paso. Si no tiene Evolver instalado en
el disco duro, consulte la sección de instalación de la Introducción e
instale Evolver antes de comenzar con este tutorial.
Comenzaremos por abrir un modelo de hoja de cálculo preparada y
luego definiremos el problema para Evolver usando los cuadros de
diálogo de Evolver. Finalmente, comprobaremos el progreso de
Evolver mientras busca soluciones y exploraremos algunas de las
muchas opciones en el Observador de Evolver. Para obtener
información adicional sobre cualquier tema específico, consulte el
índice al final de este manual, o consulte la Referencia de Evolver.
NOTA: Las imágenes de pantalla que se muestran continuación son
de Excel 2010. Si está utilizando otras versiones de Excel, las
ventanas pueden tener un aspecto ligeramente diferente.
El proceso de resolución de problemas comienza con un modelo que
representa con exactitud su problema. El modelo debe ser capaz de
evaluar una serie dada de valores de entrada (celdas ajustables) y
producir una clasificación numérica de lo bien que esos valores de
entrada resuelven el problema (la evaluación de la función
“objetivo”). Cuando Evolver busca soluciones, esta función de
objetivo proporciona información, indicando a Evolver lo idónea o
inapropiada que es cada suposición, y permitiendo a Evolver generar
cada vez mejores suposiciones. Cuando se crea un modelo de un
problema, se debe prestar especial atención a la función de objetivo,
porque Evolver hará todo lo posible para maximizar (o minimizar)
esta celda.
Evolver: Paso a paso
23
Una visita por Evolver
Inicio de Evolver
Para iniciar Evolver: 1) haga clic en el icono de Evolver en el escritorio
de Windows, o 2) seleccione Palisade DecisionTools y luego
Evolver 6 en la lista de Programas del menú Inicio de Windows. Cada
uno de estos métodos sirve para iniciar tanto Microsoft Excel como Evolver.
La barra de
herramientas de
Evolver
Cuando se carga Evolver, en Excel aparece una nueva cinta o barra de
herramientas de Evolver. Esta barra de herramientas contiene botones
que se pueden usar para especificar configuraciones de Evolver e
iniciar, pausar o parar las optimizaciones.
Cómo abrir un
modelo de
ejemplo
Para repasar las características de Evolver, vamos a examinar un
modelo de ejemplo que se instaló con Evolver. Para hacerlo:
1) Abra la hoja de trabajo Panadería ‐ Versión práctica de tutorial.xlsx (o .xls) a través del comando Hojas de cálculo de
ejemplo del menú Ayuda.
24
Una visita por Evolver
Esta hoja de cálculo de ejemplo contiene un sencillo problema de
maximización de beneficios de un negocio de panadería. La panadería
produce 6 productos de pan. Usted es el gerente de la panadería y
hace un seguimiento de los ingresos, costos y beneficios de
producción. Quiere determinar el número de cajas de cada tipo de
pan que se deben producir para maximizar los beneficios totales y al
mismo tiempo cumplir las normas de límite de producción. Las
normas son: 1) cumplir la cuota de producción de pan bajo en calorías, 2)
mantener una relación aceptable de alto contenido de fibra y bajas calorías, 3)
mantener una relación aceptable de productos de 5 granos y bajas calorías, y
4) mantener el tiempo de producción dentro de los límites de horas por
persona.
El cuadro de diálogo Modelo de Evolver
Para establecer las opciones de Evolver para esta hoja de cálculo:
1) Haga clic en el icono Definición de modelo en la cinta de
Evolver (situado en el extremo izquierdo).
Se abrirá el siguiente cuadro de diálogo Modelo de Evolver:
El cuadro de diálogo Modelo de Evolver ha sido diseñado para que
los usuarios puedan describir sus problemas de una forma sencilla y
clara. En el ejemplo de este tutorial estamos tratando de encontrar el
número de cajas que se deben producir de cada producto de pan
diferente para maximizar los beneficios totales en general.
Evolver: Paso a paso
25
Selección de la celda objetivo
El "Beneficio total" del modelo de ejemplo es lo que se conoce como
celda objetivo. Esta es la celda cuyo valor trata de minimizar o
maximizar, o la celda cuyo valor trata de acercar lo más posible al
valor preestablecido. Para especificar la celda objetivo:
1) Establezca la opción “Meta de optimización” en “Máximo”.
2) Introduzca la celda objetivo $I$11 en el campo “Celda”.
Las referencias de celda se pueden introducir en los campos del
cuadro de diálogo de Evolver de dos formas: 1) puede hacer clic en el
campo con el cursor y escribir la referencia directamente en el campo,
o 2) con el cursor en el campo seleccionado, puede hacer clic en el
icono Referencia de celda para seleccionar la celda de la hoja de
cálculo directamente con el ratón.
Cómo añadir rangos de celda ajustables
Ahora debe especificar la ubicación de las celdas que contienen
valores que Evolver puede modificar para buscar soluciones. Estas
variables se añaden y editan de bloque en bloque a través de la
sección Rangos de celda ajustables del cuadro de diálogo Modelo. El
número de celdas que se pueden introducir en Rangos de celda
ajustables depende de la versión de Evolver que esté usando.
1) Haga clic en el botón “Añadir” de la sección "Rangos de celda
ajustables".
2) Seleccione $C$4:$G$4 como las celdas de Excel que quiere añadir
como rango de celdas ajustables.
Introducción de
un rango mín-máx
como celdas
ajustables
La mayoría de las veces será conveniente limitar los valores posibles
de un rango de celdas ajustables con un rango mínimo-máximo
específico. En Evolver esto se conoce como restricción de "rango".
Puede introducir rápidamente este rango mín-máx cuando seleccione
la serie de celdas que se pueden modificar. En el ejemplo de la
panadería, el valor mínimo de cajas producidas de cada tipo de
producto de pan para este rango es 0, y el máximo es 100,000. Para
introducir esta restricción de rango:
1) Introduzca 0 en la celda Mínimo y 100,000 en la celda Máximo.
26
Una visita por Evolver
2) En la celda Valores, haga clic en la flecha hacia abajo y seleccione
Entero en el cuadro de diálogo.
Ahora, introduzca un segundo rango de celdas ajustables:
1) Haga clic en Añadir para introducir una segunda celda ajustable.
2) Seleccione la celda B4.
3) Introduzca 20,000 como Mínimo y 100,000 como Máximo.
4) En la celda Valores, haga clic en la flecha hacia abajo y seleccione
Independiente en el cuadro de diálogo. Deje el valor
predeterminado Tamaño del Paso en 2.
Así se especifica la última celda ajustable, B4, que contiene el nivel de
producción de pan bajo en calorías. Al seleccionar un tamaño de paso
de 2, se requiere que el número de casos sea par (los valores
permitidos serán 20000, 20002, 20004, ...).
Evolver: Paso a paso
27
Si hubiera variables adicionales en este problema, seguiríamos
añadiendo series de celdas ajustables. En Evolver, puede crear un
número ilimitado de grupos de celdas ajustables. Para añadir más
celdas, haga clic en el botón “Añadir” de nuevo.
Es posible que quiera comprobar las celdas ajustables o cambiar
algunas de sus configuraciones más adelante. Para hacerlo, sólo
tendrá que editar el rango mín-máx en la tabla. También podrá
seleccionar una serie de celdas y eliminarla haciendo clic en el botón
“Eliminar”.
Selección de
un método
de solución
Cuando defina celdas ajustables, podrá especificar el método de
solución que se debe usar. Tipos de celdas ajustables diferentes
pueden ser resueltos con diferentes métodos de solución. Los
métodos de solución se establecen para cada grupo de celdas
ajustables y se pueden modificar haciendo clic en el botón “Grupo” y
seleccionando Editar para abrir el cuadro de diálogo Configuraciones
del grupo de celdas ajustables. Muchas veces podrá usar el método
de solución de “receta” predeterminado en el que cada valor de las
celdas se puede cambiar independientemente de las demás. Como
este es el método predeterminado, no es necesario que lo cambie.
Los métodos de solución de “receta” y “orden” son los más populares
y se pueden usar juntos para resolver problemas combinatorios
complejos. Específicamente, el método de solución de “receta” trata
cada variable como un ingrediente de una receta, tratando de
averiguar la “mejor mezcla” cambiando cada uno de los valores de las
variables independientemente. Por su parte, el método de solución de
“orden” intercambia valores entre variables, barajando los valores
originales para encontrar el “mejor orden” posible.
En este modelo, deje el Método de solución en Receta y simplemente:

28
Introduzca la etiqueta "Cajas producidas" en el campo
Descripción.
Una visita por Evolver
Restricciones
Evolver permite introducir restricciones, que son condiciones que
deben cumplirse para que una solución sea válida. En este modelo de
ejemplo hay tras restricciones adicionales que deben cumplirse para
que sea válida una serie de niveles de producción de cada producto
de pan. Estas restricciones son adicionales a las restricciones de
rangos que ya introdujimos en las celdas ajustables. Son las
siguientes:
1) Mantener el tiempo de producción dentro de los límites de
horas por persona (total de horas por persona < 50,000)
2) Mantener una relación aceptable de pan de alto contenido en
fibra y pan bajo en calorías (cajas producidas de pan de alto
contenido en fibra >= 1.5 * cajas producidas de pan bajo en
calorías)
3) Mantener una relación aceptable de pan de 5 granos y pan bajo
en calorías (cajas producidas de pan de 5 granos >= 1.5 * cajas
producidas de pan bajo en calorías)
Cada vez que Evolver genere una solución posible del modelo,
comprueba que las restricciones introducidas se cumplen.
Las restricciones se muestran en la parte inferior de la sección
Restricciones del cuadro de diálogo de Modelo de Evolver. Se pueden
especificar dos tipos de restricciones en Evolver:
Evolver: Paso a paso

Duras. Son condiciones que deben cumplirse para que una
solución sea válida (por ejemplo, una restricción dura de iteración
puede ser C10<=A4; en este caso, si una solución genera un valor
para C10 que es superior al valor de la celda A4, la solución se
descarta)

Blandas. Son condiciones que nos gustaría que se cumplieran en
la medida de lo posible, pero que podríamos ceder a cambio de
una gran mejora del resultado de la celda objetivo. (por ejemplo,
una restricción blanda sería C10<100. En este caso, C10 puede ser
superior a 100, pero cuando eso sucede el valor calculado de la
celda objetivo se reducirá en la misma medida según la función
de penalización que haya introducido).
29
Cómo añadir
restricciones
Para añadir restricciones:
1) Haga clic en el botón Añadir de la sección Restricciones del
cuadro diálogo principal de Evolver.
Se abrirá el cuadro de diálogo Configuraciones de restricciones en el
que podrá introducir las restricciones del modelo.
Restricciones
simples y de
fórmula
Se pueden usar dos formatos –Simple y Fórmula – para introducir
restricciones. El formato Simple permite introducir restricciones
usando las relaciones <,<=, >, >= ó =. Una restricción de formato
Simple típica sería 0< Valor de A1<10, donde A1 se introduce en el
cuadro Rango de celda, 0 se introduce en el cuadro Mín y 10 se
introduce en el cuadro Máx. El operador deseado se selecciona en los
cuadros de lista desplegable. En las restricciones con formato Simple
se puede introducir sólo un valor Mín, sólo un valor Máx o ambos.
Por otro lado, las restricciones con formato de fórmula permiten
introducir cualquier fórmula válida de Excel como una restricción.
Por ejemplo, se puede introducir la siguiente fórmula “=SI(A1>100,
B1>0, B1<0)”. En esta restricción, el requisito de que B1 sea positivo o
negativo depende del valor de la celda A1. La fórmula también se
puede introducir en una celda; si esa celda es C1, en el campo
Fórmula del cuadro de diálogo Configuraciones de Restricción se
puede introducir “=C1”. En general, la introducción de restricciones
en formato Simple ayuda a RISKOptimizer a encontrar la solución
óptima más rápidamente. La fórmula que acabamos de mencionar
puede introducirse en la celda D1 como “=SI(A1>100, B1, -B1)”.
Luego, se puede añadir una restricción en formato simple, con el
requisito de que D1>0.
30
Una visita por Evolver
Luego, se puede añadir una restricción en formato simple, con el
requisito de que D1>0. Estas son restricciones duras ya que las
condiciones introducidas deben cumplirse para que Evolver no
descarte la solución generada. Primero, introduzca las restricciones
duras con formato Simple:
1) Introduzca "Total aceptable de horas de trabajo" en el cuadro de
descripción.
2) En el cuadro Rango a Restringir, introduzca I8.
3) Seleccione el operador <= a la derecha de Rango a Restringir.
4) Introduzca 50,000 en el cuadro Máximo.
5) Haga clic en Aceptar para introducir la restricción.
Evolver: Paso a paso
31
Ahora vamos a introducir las restricciones duras con formato de
fórmula:
1) Haga clic en Añadir para abrir de nuevo el cuadro de diálogo
Configuraciones de restricción.
2) Introduzca "Relación aceptable de alto en fibra y bajo en
calorías" en el cuadro de descripción.
3) En el cuadro Estilo de entrada, seleccione Fórmula.
4) En el cuadro Fórmula de restricción, introduzca C4>= 1.5*B4.
5) Haga clic en Aceptar.
6) Haga clic en Añadir para abrir de nuevo el cuadro de diálogo
Configuraciones de restricción.
7) Introduzca "Relación aceptable de 5 granos y bajo en calorías" en
el cuadro de descripción.
8) En el cuadro Estilo de entrada, seleccione Fórmula.
9) En el cuadro Fórmula de restricción, introduzca D4>= 1.5*B4.
10) Haga clic en Aceptar
El cuadro de diálogo Modelo con la sección de restricciones completa
debe quedar así.
32
Una visita por Evolver
Otras opciones de Evolver
Se ofrecen opciones como Mostrar recálculo de Excel y Opciones de
tiempo de ejecución para controlar cómo funciona Evolver durante una
optimización. Especifiquemos algunas opciones de Tiempo de
Ejecución y configuraciones de actualización de pantalla.
Condiciones de
detención
Evolver sigue funcionando tanto tiempo como usted desee. Las
condiciones de detención permiten a Evolver parar automáticamente
cuando: a) se han examinado un número determinado de escenarios o
“pruebas”, b) ha transcurrido una cantidad de tiempo, c) no se ha
encontrado mejora alguna en las últimas n pruebas, o d) la fórmula
introducida en Excel genera un valor VERDADERO. Para ver y editar las
opciones de Tiempo de Ejecución:
1) Haga clic en el icono Configuraciones de la cinta o de la barra de
herramientas de Evolver.
2) Seleccione la pestaña de Tiempo de Ejecución.
Evolver: Paso a paso
33
En el cuadro de diálogo Configuraciones de optimización se puede
seleccionar cualquier combinación de estas condiciones de detención
de optimización, o ninguna en absoluto. Si selecciona más de una
condición de detención, Evolver parará cuando se cumpla cualquiera
de las condiciones seleccionadas. Si no selecciona ninguna condición
de detención, Evolver puede seguir funcionando hasta que usted lo
pare manualmente pulsando el botón “Parar” en la barra de
herramientas de Evolver; también puede parar cuando se han
probado todas las soluciones posibles.
Pruebas
Tiempo
Progreso
La fórmula es
verdadera
Esta opción
establece el número
de “pruebas” que
quiere que Evolver
ejecute. En cada
prueba, Evolver
evalúa una serie
completa de
variables, o una
posible solución al
problema.
Evolver parará
después de una
cantidad de tiempo
especificada. Este
número puede ser
una fracción (4.25).
Esta condición de
detención es la más
popular porque se
hace un seguimiento
de la mejora y
permite que Evolver
siga en
funcionamiento
hasta que el grado
de mejora se
reduzca. Por
ejemplo, Evolver
puede parar si se
hacen 20000 pruebas
y el valor de la celda
objetivo no ha
mejorado más de un
0.01%.
Evolver se detiene si
la fórmula
introducida en Excel
genera un valor de
VERDADERO en
uno de los
recálculos del
modelo.

34
Desactive todas las condiciones de detención para que Evolver
funcione libremente.
Una visita por Evolver
Opciones de
visualización
Mientras Evolver está funcionando, hay una serie de opciones
disponibles en la sección Visualizar para determinar lo que aparecerá
en la pantalla.
Las opciones de Mostrar Recálculos de Excel incluyen:
Cada prueba
Cada mejor nueva prueba
Esta opción actualiza la pantalla
después de cada cálculo y permite ver
cómo Evolver ajusta las variables y
calcula los resultados. Se recomienda
activar esta opción mientras esté
aprendiendo a usar Evolver, y también
cada vez que use Evolver en un nuevo
modelo, para comprobar que su modelo
se está calculando correctamente.
Esta opción actualiza la pantalla cada
vez que Evolver genere una nueva
respuesta mejorada, lo cual permite ver
la solución óptima actual en cualquier
momento durante la optimización.

Evolver: Paso a paso
Seleccione “Cada prueba”
35
Ejecución de la optimización
Ahora sólo queda optimizar este modelo para maximizar los
beneficios totales cumpliendo al mismo tiempo las normas de límite
de producción. Para hacerlo:
1) Haga clic en Aceptar para salir del cuadro de diálogo
Configuraciones de optimización.
2) Haga clic en el icono Iniciar optimización
Durante la ejecución, la ventana Progreso muestra: 1) la mejor
solución encontrada hasta el momento, 2) el valor original de la celda
objetivo cuando comenzó la optimización de Evolver, 3) el número de
pruebas que se han ejecutado y el número de pruebas válidas; es
decir, que cumplen todas las restricciones; y 4) el tiempo transcurrido
de la optimización.
En cualquier momento durante la ejecución puede hacer clic en el
icono Opciones de actualización de Excel para ver una actualización
en vivo de la pantalla en cada prueba.
36
Una visita por Evolver
Observador
de Evolver
Evolver también puede mostrar un registro de ejecución de las
simulaciones realizadas de cada solución de prueba. Este aparece en
el Observador del Evolver mientras Evolver está funcionando. Para
ver un registro de ejecución de las simulaciones realizadas:
1) Haga clic en el icono del Observador (el de la lupa) en la ventana
de Progreso para abrir el Observador del Evolver
2) Haga clic en la pestaña Registro.
En este informe aparecen los resultados de la simulación de cada
solución de prueba. La columna Resultado muestra el valor de la celda
objetivo que se está tratando de maximizar o minimizar por cada
prueba: en este caso los Beneficios totales de $I$11. Las columnas de
C4 a G4 identifican los valores usados en las celdas ajustables.
Evolver: Paso a paso
37
Cómo parar la
optimización
Como la optimización está en funcionamiento sin selecciones en la
pestaña Tiempo de Ejecución del cuadro de diálogo Configuraciones
de Optimización, debemos parar la optimización haciendo lo
siguiente:
1) Haciendo clic en el icono Parar de las ventanas Observador de
Evolver o Progreso.
Cuando el proceso de Evolver se detiene, Evolver abre la pestaña
Opciones de detención que ofrece las siguientes opciones:
Estas mismas opciones aparecen automáticamente cuando se cumple
cualquiera de las condiciones de detención establecidas en el cuadro
de diálogo Configuraciones de optimización de Evolver.
38
Una visita por Evolver
Informe de
resumen
Evolver puede crear un informe de resumen de la optimización que
contiene información como la fecha y la hora de la ejecución, las
configuraciones de optimización utilizadas, el valor calculado para la
celda objetivo y el valor original y mejor de cada una de las celdas
ajustables.
Este informe es útil para comparar los resultados de optimizaciones
sucesivas.
Evolver: Paso a paso
39
Colocación de los
resultados en el
modelo
Para colocar en la hoja de trabajo la nueva combinación optimizada de
niveles de producción de panadería de cada uno de los seis tipos de
pan:
1) Asegúrese de que la opción "Restaurar valores originales en las
celdas ajustables" no está seleccionada cuando aparezcan las
Opciones de Parada.
2) Haga clic en el botón “Aceptar”.
El programa regresará a la hoja de cálculo Panadería - Versión
práctica de tutorial.xlsx (o .xls), con todos los nuevos valores de las
variables generados en la mejor solución.
NOTA IMPORTANTE: Aunque en nuestro ejemplo se ve que Evolver
encontró una solución que generaba beneficios totales de 4.686.420, su
resultado puede ser superior o inferior a este. Estas diferencias se
deben a una importante distinción entre Evolver y los demás
algoritmos de resolución de problemas: El algoritmo genético de
Evolver y los generadores OptQuest permiten resolver una amplia
variedad de problemas y encontrar mejores soluciones.
40
Una visita por Evolver
Cuando guarde cualquier hoja de cálculo después de que Evolver
haya terminado su ejecución (incluso aunque “restaure” los valores
originales de la hoja de cálculo después de usar Evolver), todas las
configuraciones de Evolver de los cuadros de diálogo de Evolver se
guardarán con esa hoja. La próxima vez que abra la hoja, todas las
configuraciones más recientes de Evolver se cargarán
automáticamente. Todas las demás hojas de cálculo de ejemplo tienen
las configuraciones de Evolver preestablecidas y listas para la
optimización.
NOTA: Si quiere examinar el modelo de la panadería con todas las
configuraciones de optimización preestablecidas, abra el modelo de
ejemplo Panadería.xlsx (o .xls).
Evolver: Paso a paso
41
42
Guía de referencia de Evolver
Comando Definición de modelo......................................................45 Rangos de celda ajustables...................................................................47 Grupos de celdas ajustables.................................................................50 Método de Solución de Receta...............................................51 Método de solución de orden.................................................52 Método de solución de agrupación .......................................53 Método de solución de presupuesto .....................................54 Método de solución de proyecto............................................56 Método de solución de calendarización ...............................57 Número de bloques de tiempo y celdas de restricción......59 Restricciones ...........................................................................................60 Añadir – Cómo añadir restricciones......................................60 Precisión de la restricción .......................................................60 Estilo de entrada .......................................................................61 Restricciones blandas ..............................................................62 Comando Configuraciones de optimización .................................65 Comando Configuraciones de optimización – Pestaña Tiempo
de ejecución.............................................................................................65 Opciones de tiempo de ejecución de la optimización .......66 Comando Configuraciones de optimización –
Pestaña Generador .................................................................................68 Modalidad de optimización....................................................69 Optimizar usando.....................................................................69 Configuraciones de algoritmo genético................................69 Operadores.................................................................................72 Comando Configuraciones de optimización –
Pestaña Visualizar..................................................................................74 Comando Configuraciones de optimización – Pestaña Macros.....75 Comando Iniciar optimización ........................................................77 Comandos de Utilidades..................................................................79 Comando Configuraciones de aplicación..........................................79 Comando Solver de restricciones ........................................................80 Guía de referencia de Evolver
43
El Observador del Evolver .............................................................. 83 Observador del Evolver – Pestaña de Progreso ............................... 84 Cuadro de diálogo Opciones de gráfico .............................. 85 Observador del Evolver – Pestaña de Resumen .............................. 86 Observador del Evolver – Pestaña de Registro ................................ 87 Observador del Evolver – Pestaña de Población ............................. 88 Observador del Evolver – Pestaña de Diversidad ........................... 89 Observador del Evolver – Pestaña de Opciones de detención...... 90 44
Comando Definición de modelo
Define el objetivo, las celdas ajustables y las restricciones del
modelo
Al seleccionar el comando Definición de modelo (o haciendo clic en el
icono Modelo de la barra de herramientas de Evolver) aparece el
cuadro de diálogo Modelo.
El cuadro de diálogo Modelo de Evolver.
El cuadro de diálogo Modelo de Evolver se usa par especificar o
describir un problema de optimización en Evolver. Este cuadro de
diálogo se inicia vacío en cada libro de trabajo nuevo de Excel, y
guarda su información con cada libro de trabajo. Eso significa que
cuando se abre de nuevo la hoja, se llenará de la misma forma. Los
componentes del cuadro de diálogo se describen en esta sección.
Guía de referencia de Evolver
45
Las opciones del cuadro de diálogo Modelo son:

Meta de optimización. La opción Meta de optimización determina
que tipo de respuesta debe buscar Evolver. Si se selecciona
Mínimo, Evolver buscará valores de variable que generen el
menor valor posible en la celda objetivo (hasta un mínimo de 1e300). Si se selecciona Máximo, Evolver buscará valores de
variable que resulten en el mayor valor posible en la celda
objetivo (hasta +1e300).
Si se selecciona Valor objetivo, Evolver buscará valores de variable
que generen un valor en la celda objetivo lo más cercano posible
al valor especificado.
Cuando Evolver encuentra una solución que genera este
resultado, se detendrá automáticamente. Por ejemplo, si especifica
que Evolver debe encontrar un resultado cercano a 14, Evolver
puede encontrar escenarios que generen un resultado de 13.7 o
14.5. Observará que 13.7 es más cercano a 14 que 14.5; Evolver no
tiene en cuenta si el valor es mayor o menor que el valor
especificado, sólo busca lo cerca que se encuentra el valor.

Celda. La celda o celda objetivo contiene el resultado del modelo.
Se genera un valor en esta celda por cada "solución de prueba"
que genera Evolver (es decir, por cada combinación de posibles
valores de las celdas ajustables). La celda objetivo debe contener
una fórmula que depende (directamente o a través de una serie de
cálculos) de las celdas ajustables. Esta fórmula se puede crear con
fórmulas estándar de Excel como SUM() o con funciones de
macro VBA definidas por el usuario. Al usar funciones de macro
VBA puede hacer que Evolver evalúe los modelos que sean más
complejos.
Cuando Evolver busca una solución, utiliza el valor de la celda
objetivo como clasificación o “función de objetivo” para evaluar
lo idóneo que es cada escenario. Cuando se crea un modelo, la
celda objetivo debe reflejar la “idoneidad” de cualquier escenario,
por lo tanto, mientras Evolver calcula las posibilidades, puede
medir con precisión su progreso.
46
Comando Definición de modelo
Rangos de celda ajustables
La tabla de Rangos de celdas ajustables muestra todos los rangos que
contienen las celdas o valores que Evolver puede ajustar, junto con la
descripción introducida para esas celdas. Cada grupo de celdas
ajustables se incorpora a una fila horizontal. En un Grupo de celdas
ajustables se pueden incluir uno o más rangos de celdas ajustables.
Todos los rangos de celdas de un Grupo de Celdas Ajustables
comparten métodos de solución; si se usa el algoritmo genético,
también comparten la tasa de cruce, la tasa de mutación y los
operadores.
Como las celdas ajustables contienen las variables del problema, debe
definirse al menos un grupo de celdas ajustables para poder usar
Evolver. La mayoría de los problemas se pueden describir con un
grupo de celdas ajustables, pero otros problemas más complejos
pueden necesitar diferentes bloques de variables para su resolución
con diferentes métodos de solución simultáneos. Esta arquitectura
exclusiva permite crear fácilmente problemas altamente complejos a
partir de múltiples grupos de celdas ajustables.
Guía de referencia de Evolver
47
Las siguientes opciones están disponibles para su introducción en los
Rangos de celda ajustables:

Añadir. Se pueden añadir nuevas celdas ajustables haciendo clic
en el botón “Añadir” junto al cuadro de lista Celdas Ajustables.
Seleccione la celda o el rango de celdas a añadir, y aparecerá una
nueva fila en la tabla Rangos de Celdas Ajustables. En la tabla
podrá introducir un valor Mínimo y Máximo para las celdas del
rango, así como el tipo de Valores a probar: valores Enteros del
rango, valores Independientes con un tamaño de paso definido, o
Cualquier valor.

Mínimo y Máximo. Después de especificar la ubicación de las
celdas ajustables, los datos de Mínimo y Máximo establecen el
rango de valores aceptables para cada celda ajustable. De forma
predeterminada, cada celda ajustable puede tener un valor de
número real (punto flotante de doble precisión) entre –infinito y
+infinito.
Las configuraciones de rango son restricciones de cumplimiento
estricto. Evolver no permite que ninguna variable tenga un valor
fuera de los rangos establecidos. Para mejorar el funcionamiento
de Evolver, se recomienda establecer rangos más específicos para
las variables en la medida de lo posible. Por ejemplo, es posible
que se sepa que el valor no puede ser negativo, o que Evolver sólo
debe probar valores entre 50 y 70 para una variable determinada.

Rango. La referencia de las celdas a ajustar se introduce en el
campo Rango. Esta referencia se puede introducir seleccionando la
región de la hoja de cálculo con el ratón, introduciendo un
nombre de rango o escribiendo una referencia válida de Excel
como Hoja1!A1:B8. El campo Rango está disponible en todos los
métodos de solución. Sin embargo, en los métodos de solución de
receta y presupuesto, se pueden añadir opciones de Mínimo,
Máximo y Valores para poder introducir un rango para las celdas
ajustables.
NOTA: Al asignar rangos ajustados a las variables, se limita el
alcance de la búsqueda y se acelera la convergencia de Evolver en
una solución. Pero tenga cuidado para no limitar en exceso los
rangos de las variables porque podría impedir que Evolver
encuentre soluciones óptimas.
48
Comando Definición de modelo

Valores. La opción Valores permiten indicar que Evolver debe
tratar todas las variables del rango especificado como números
enteros(es decir, 20, 21, 22), números reales independientes (es
decir, 20, 20.5, 21, 21.5, 22, si el tamaño del paso es 0.5), o todos los
números reales de un rango especificado. Esta opción sólo está
disponible cuando se usan los métodos de solución “receta” y
“presupuesto”. El valor predeterminado es que se permitan todos
los números reales del rango especificado.
Por ejemplo, si se especifica el rango de valores del 1 y 4:

“Cualquier” significa que se incluyen todos los números
reales del 1 al 4.

“Entero” significa que se incluyen los valores 1, 2, 3 y 4.

“Independiente” con “Tamaño de paso” 0.5 significa que
se incluyen los valores 1, 1.5, 2, 2.5, 3, 3.5 y 4.
El valor predeterminado es incluir todos los números reales del rango
especificado. La opción “Valores” sólo está disponible cuando se usan
los métodos de solución “receta” y “presupuesto”.
El uso de celdas ajustables “Independientes” reduce en gran medida
el número de posibles soluciones en comparación con celdas
ajustables en las que se permite “Cualquier” valor; esto normalmente
se traduce en optimizaciones más rápidas.
Guía de referencia de Evolver
49
Grupos de celdas ajustables
Cada grupo de celdas ajustables puede contener múltiples rangos de
celdas. Esto permite crear una "jerarquía" de grupos de rangos de
celdas relacionados. Dentro de cada grupo, cada rango de celda
puede tener su propio rango Mín-Máx.
Todos los rangos de celdas de un Grupo de Celdas Ajustables
comparten un método de resolución común. Esto se especifica en el
cuadro de diálogo Configuraciones de Grupos de Celdas
Ajustables. Se puede acceder a este cuadro de diálogo haciendo clic
en el botón Grupo junto a la tabla Rangos de Celdas Ajustables. Se
puede crear un nuevo Grupo al que añadir rangos de celdas ajustables
o editar las configuraciones de un grupo existente.
Las opciones del cuadro de diálogo Grupo de Celdas Ajustables
incluyen las siguientes:

Descripción. Describe el grupo de rangos de celdas ajustables
para cuadros de diálogo e informes.

Método de solución. Selecciona el Método de Solución a usar en
cada rango de celdas ajustables del grupo.
Cuando se selecciona el rango de celdas que Evolver va a ajustar,
también se especifica el “método de solución” que se va a aplicar
cuando se ajusten esas celdas. Cada uno de los métodos de solución
baraja los valores de las variables de una forma diferente.
50
Comando Definición de modelo
El método de solución de “receta”, por ejemplo, trata cada variable
seleccionada como un entero en la receta; cada valor de una variable
se puede cambiar independientemente de los demás. Por su parte, el
método de solución de “orden” intercambia valores entre las celdas
ajustables, reordenando los valores originales.
Evolver tiene seis métodos de solución. Tres de los métodos de
solución (receta, orden y agrupamiento) usan algoritmos totalmente
diferentes. Los otros tres son descendientes de los tres primeros, con
restricciones adicionales añadidas.
La siguiente sección describe la función de cada método de solución.
Para comprender mejor cómo se usa cada método de solución,
también se recomienda explorar los archivos de ejemplo que se
incluyen con el software.
Método de
Solución de
Receta
El método de solución de “receta” es el más sencillo y popular de los
métodos de solución. Use la receta cuando se puedan variar
independientemente unas de otras las variables que se van a ajustar.
Piense en cada variable como en la cantidad de un ingrediente en un
pastel; cuando se usa el método de solución de “receta”, le indica a
Evolver que genere números para esas variables en busca de la mejor
combinación. La única restricción que se aplica a las variables de una
receta es el rango (el valor más alto y el más bajo) que esos valores
pueden tener. Establezca estos valores en los campos Mín y Máx del
cuadro de diálogo Celdas Ajustables (por ejemplo, 1 a 100), e indique
también si Evolver debe tratar esos números como enteros (1, 2, 7),
valores independientes de un rango con un tamaño de paso
especificado (1, 1.5, 2, 2.5, 3), o como números reales (1.4230024,
63.72442).
A continuación se muestran ejemplos de una serie de valores de
variables como podrían aparecer en una hoja de cálculo antes de abrir
Evolver, y cómo podrían ser dos escenarios diferentes después de
usar el método de solución de receta.
Grupo original de
valores de variables
Un grupo de valores
posibles de receta
Otro grupo de valores
posibles de receta
23.472
15.344
37.452
145
101
190
9
32.44
7.073
65,664
14,021
93,572
Guía de referencia de Evolver
51
Método de
solución de orden
El método de solución “orden” es el segundo más popular después
del de “receta”. Un orden es una permutación de una lista de
elementos, en el que se trata de encontrar la mejor forma de organizar
un grupo establecido de valores. A diferencia de los métodos de
“receta” y “presupuesto”, en los que Evolver genera valores para las
variables seleccionadas, en este método de solución Evolver usa los
valores existentes del modelo.
Un orden puede representar el orden en el que realizar una serie de
tareas. Por ejemplo, tal vez quiera encontrar el orden en el que
realizar cinco tareas, numeradas 1,2,3,4 y 5. El método de solución
“orden” baraja esos valores, por lo tanto uno de los escenarios podría
se 3,5,2,4,1. Como Evolver sólo prueba valores de variables de la hoja
original, no hay rango de Mín - Máx introducido para las celdas
ajustables cuando se usa el método de solución de Orden.
A continuación se muestran ejemplos de una serie de valores de
variables como podrían aparecer en una hoja de cálculo antes de abrir
Evolver, y cómo podrían ser dos escenarios diferentes después de
usar el método de solución de orden.
52
Grupo original de
valores de variables
Un grupo de valores
posibles de orden
Otro grupo de valores
posibles de orden
23.472
145
65,664
145
23.472
9
9
65,664
145
65,664
9
23.472
Comando Definición de modelo
Método de
solución de
agrupación
El método de solución “agrupamiento” debe usarse cuando el
problema incluya múltiples elementos que se deban reunir en grupos.
El valor predeterminado del número de grupos diferentes que crea
RISKOptimizer será igual al número de valores distintos presentes en
las celdas ajustables el iniciar la optimización. (Este funcionamiento
predeterminado se puede modificar usando el campo Identificaciones
de grupo, como se indica más adelante).
Por ejemplo, supongamos un rango de 50 celdas que contienen sólo
los valores 2, 3.5 y 17. Cuando seleccione 50 celdas y ajuste los valores
usando el método de solución “agrupamiento”, Evolver asignará cada
una de las cincuenta celdas a uno de los tres grupos: 2, 3.5 o 17. Todos
los grupos están representados por al menos una de las celdas
ajustables; como si se echara cada una de las 50 variables en un
“contenedor”, asegurándose de que hay al menos una variable en
cada contenedor. Otro ejemplo sería asignar unos (1), ceros (0) y
menos unos (-1) a un sistema para indicar comprar, vender o
mantener posiciones. Como en el método de solución “orden”,
Evolver organiza valores existentes, por lo tanto no hay rango mínmáx ni opción de Enteros definida.
NOTA: Cuando use el método de solución “agrupamiento”, no deje
celdas en blanco, a menos que quiera que el valor 0.0 sea considerado
uno de los grupos.
Tal vez piense que el método de solución “agrupamiento” se pueda
imitar usando el método de solución “receta” con la opción de enteros
“activada” y los rangos establecidos de 1 a 3 (o cualquiera que sea el
número de grupos). La diferencia está en la forma en que se realiza la
búsqueda para las celdas ajustables de receta o de agrupamiento. Al
resolver un problema de agrupamiento, el algoritmo se centra más en
los valores de todas las variables, porque puede permutar una serie
de variables de un grupo con una serie de variables de otro.
Guía de referencia de Evolver
53
A continuación se muestran ejemplos de una serie de valores de
variables como podrían aparecer en una hoja de cálculo antes de abrir
Evolver, y cómo podrían ser dos escenarios diferentes después de
usar el método de solución de agrupamiento.
Grupo original de
valores de variables
Un grupo de valores
posibles de
agrupamiento
Otro grupo de valores
posibles de
agrupamiento
6
6
8
7
6
7
8
8
6
8
7
7
Cuando utilice el método de resolución de Agrupamiento, hay 2
configuraciones adicionales en el cuadro de diálogo Configuraciones
de Grupo de Celdas Ajustables:
 Identificaciones de grupo (opcional). Esta configuración
permite a un usuario especificar un rango que contenga
identificaciones de grupo numéricas. Normalmente Evolver lee
las identificaciones de grupo en el rango ajustable. Por ejemplo,
si el rango ajustable es A1:D1, y contiene los números 1, 1, 3, 2,
entonces Evolver utiliza 1, 2 y 3 como identificaciones de grupo.
Sin embargo, puede haber más grupos que celdas ajustables; por
ejemplo, puede que queramos asignar los elementos
representados en las celdas A1:D1 a grupos numerados del 1 al 5.
En este caso, la configuración de Identificaciones de Grupo
permite al usuario especificar un rango que contenga cinco
celdas con los números del 1 al 5 para que se usen como
identificaciones de grupo durante la optimización.
 Deben usarse todos los grupos. Si esta opción está seleccionada,
todas las soluciones tendrán miembros de cada grupo. Por
ejemplo, si las celdas ajustables son A1:D1, y las identificaciones
de grupo son 1, 2 y 3, Evolver no probará una solución con 1
asignado a las cuatro celdas (sin 2 ni 3). Sin embargo, esta
solución se podría probar si la casilla de esta opción no estuviera
seleccionada.
54
Comando Definición de modelo
Método de
solución de
presupuesto
Un “presupuesto” es similar a una “receta” con la excepción de que
todos los valores de las variables deben totalizar un número
determinado. El número es el total de los valores de las variables en el
momento de iniciar una optimización.
Por ejemplo, tal vez busque la mejor forma de distribuir un
presupuesto anual entre un cierto número de departamentos. El
método de solución “presupuesto” toma el total de los valores
actuales de los departamentos y usa la suma como presupuesto total
que debe distribuirse óptimamente. A continuación se muestran
ejemplos de escenarios después de usar el método de solución de
presupuesto.
Grupo original de
valores de presupuesto
Un grupo de valores
posibles de
presupuesto
Otro grupo de valores
posibles de
presupuesto
200
93.1
223.5
3.5
30
0
10
100
-67
10
.4
67
Se prueban muchos valores diferentes, pero la suma de todos
los valores sigue siendo 223.5.
En lugar de usar el método de resolución de “presupuesto”, se podría
usar el método de resolución de “receta” y añadir una restricción que
especifique un valor total fijo de las celdas ajustables. Este método
funciona bien si se usa el generador OptQuest. Sin embargo, con el
algoritmo genético, el método de “presupuesto” será más eficiente.
Guía de referencia de Evolver
55
Método de
solución de
proyecto
El método de solución “proyecto” es similar al método de solución
“orden” con la excepción de que ciertos elementos (tareas) deben
preceder a otros. El método de solución “proyecto” se puede usar en
la administración de proyectos para reorganizar el orden en el que se
realizan las tareas, cuando el orden debe cumplir siempre las
restricciones de orden precedente.
Un problema modelado usando el método de solución Proyecto es más
fácil de usar y comprender si las celdas ajustables que contienen el
orden de las tareas están en una sola columna, en lugar de en una fila.
Esto es porque el método de solución espera que las celdas de las
tareas precedentes se organicen verticalmente y no horizontalmente, y
es más fácil examinar la hoja de cálculo si las celdas ajustables son
también verticales.
Después de especificar la ubicación de las celdas ajustables, debe
especificar la ubicación de las celdas de las tareas precedentes en la
sección Tareas precedentes del cuadro de diálogo. Esta es una tabla de
celdas que describe qué tareas deben ir precedidas de qué otras tareas.
El método de solución usa esta tabla para reorganizar el orden de las
variables en un escenario hasta que se cumplan las restricciones de
valores precedentes. Debe haber una fila en el rango de tareas
precedentes por cada tarea de las celdas ajustables. Empezando en la
primera columna del rango de tareas precedentes, el número de
identificación de cada tarea debe aparecer en columnas
independientes.
Ejemplo de cómo configurar valores precedentes con el
método de solución de Proyecto.
El rango de tareas precedentes debe especificarse como n filas por m
columnas, donde n es el número de tareas del proyecto (celdas
ajustables), y m es el número máximo de tareas precedentes que
puede tener una tarea determinada.
56
Comando Definición de modelo
A continuación se muestran ejemplos de una serie de valores de
variables tal y como aparecerían en una hoja de cálculo antes de usar
Evolver, y cómo son los dos nuevos escenarios después de usar el
método de solución de Proyecto, con la restricción de que 2 debe estar
siempre antes que 1, y 4 después de 2.
Método de
solución de
calendarización
Grupo original de
valores de variables
Un grupo de valores
posibles de proyecto
Otro grupo de valores
posibles de proyecto
1
1
1
2
3
2
3
2
4
4
4
3
Una calendarización es similar a un agrupamiento: es una asignación
de tareas en el tiempo. Cada tarea se presupone que dura la misma
cantidad de tiempo, como sucede con las clases de una escuela. Sin
embargo, a diferencia del agrupamiento, el cuadro de diálogo de
Configuraciones de grupos de celdas ajustables del método de
solución “calendarización” permite especificar directamente el
número de bloques de tiempo (o grupos) que se van a usar. Observe
que cuando se selecciona el método de “calendarización”, aparecen
varias opciones relacionadas en la parte inferior del cuadro de
diálogo.
Se puede especificar un rango en el que se definen las restricciones
relacionadas con el calendario. Este rango puede ser de cualquier
longitud, pero debe tener exactamente tres columnas de ancho. Se
reconocen ocho tipos de restricciones:
1) (con) Las tareas de las columnas 1 y 3 deben suceder en el mismo bloque
de tiempo.
2) (no con) Las tareas de las columnas 1 y 3 no pueden suceder en el mismo
bloque de tiempo.
3) (antes) La tarea de la columna 1 debe suceder antes que la tarea de la
columna 3.
Guía de referencia de Evolver
57
4) (en) La tarea de la columna 1 debe suceder en el bloque de tiempo que la
tarea de la columna 3.
5) (no después) La tarea de la columna 1 debe suceder al mismo tiempo o
antes que la tarea de la columna 3.
6) (no antes) La tarea de la columna 1 debe suceder al mismo tiempo o
después que la tarea de la columna 3.
7) (en) La tarea de la columna 1 no debe suceder en el bloque de tiempo de
la tarea de la columna 3.
8) (antes) La tarea de la columna 1 debe suceder después que la tarea de la
columna 3.
Como restricción se puede introducir un código numérico (del 1 al 8)
o la descripción (después, no en, etc.). (Nota: Todas las versiones
traducidas de RiskOptimizer reconocerán la descripción de la
restricción en inglés así como en el idioma propio). Se cumplirán
todas las restricciones especificadas en el problema. 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 medio represente los tipos de restricción. Un
número del 1 al 8 representa el tipo de restricción que se indica a
continuación. Las celdas del rango de restricción deben incluir los
datos de restricción antes de iniciar la optimización.
58
Esta tarea
Restricción
Esta tarea
5
4
2
12
2
8
2
3
1
7
1
5
6
2
4
9
3
1
Comando Definición de modelo
A continuación se muestran ejemplos de una serie de valores de
variables como podrían aparecer en una hoja de cálculo antes de
iniciar Evolver, y los nuevos escenarios después de usar el método de
solución de Calendarización.
Grupo original de
valores de variables
Un grupo de valores
posibles de
calendarización
Otro grupo de valores
posibles de
calendarización
1
1
1
2
1
3
3
3
1
1
1
2
2
2
2
3
3
2
NOTA: Cuando se selecciona el método de solución de
calendarización, se usan siempre los números enteros empezando por
1 (1,2,3...), independientemente de los valores originales de las celdas
ajustables. Estos valores representan periodos de tiempo, y el valor
máximo posible es igual al valor especificado en el campo Número de
Bloques de Tiempo.
Número de
bloques de
tiempo y celdas
de restricción
Para obtener más información sobre estas opciones, consulte el
método de solución Calendarización de la sección Métodos de solución de
este capítulo.
Guía de referencia de Evolver
59
Restricciones
Evolver permite introducir restricciones o condiciones que deben
cumplirse para que una solución sea válida. Las restricciones que ha
introducido se muestran en la tabla Restricciones del cuadro de
diálogo Definición de modelo.
Añadir – Cómo
añadir
restricciones
Si hace clic en el botón Añadir situado junto a la tabla Restricciones,
aparece el cuadro de diálogo Configuraciones de restricción en el
que se introducen las restricciones. Usando este cuadro de diálogo se
puede introducir el tipo de restricción deseada, junto con su
descripción, tipo y definición.
Precisión de la
restricción
Precisión de la restricción se refiere a las violaciones de la restricción
que son tan pequeñas que Evolver las descarta, tratando la solución
como si fuera válida, independientemente de estas pequeñas
violaciones. Estas pequeñas imprecisiones en el manejo de las
restricciones tienen que ver con el hecho de que las computadoras
sólo pueden manejar las operaciones matemáticas con una precisión
finita.
Se recomienda dejar el valor de Precisión en Automática; en ese caso,
el Resumen de Optimización incluirá el número de precisión real; esta
es la violación máxima de la restricción que se descartará. También se
puede introducir un número específico en el campo Precisión.
60
Comando Definición de modelo
Estilo de entrada
Se pueden usar dos Estilos de Entrada –Simple y Fórmula – para
introducir restricciones.

El formato Simple permite introducir restricciones usando las
relaciones <,<=, >, >= ó =. Una restricción Simple típica sería
0< Valor de A1<10, donde A1 se introduce en el cuadro Rango
de celda, 0 se introduce en el cuadro Mín y 10 se introduce en
el cuadro Máx. El operador deseado se selecciona en los
cuadros de lista desplegable. En las restricciones con formato
Simple se puede introducir sólo un valor Mín, sólo un valor
Máx o ambos.

Por otro lado, las restricciones de Fórmula permiten
introducir cualquier fórmula válida de Excel como una
restricción. Por ejemplo, se puede introducir la siguiente
fórmula “=SI(A1>100, B1>0, B1<0)”. En esta restricción, el
requisito de que B1 sea positivo o negativo depende del valor
de la celda A1. La fórmula también se puede introducir en
una celda; si esa celda es C1, en el campo Fórmula del cuadro
de diálogo Configuraciones de Restricción se puede
introducir “=C1”.
En general, la introducción de restricciones en formato Simple ayuda
a Evolver a encontrar la solución óptima más rápidamente. La
fórmula que acabamos de mencionar puede introducirse en la celda
D1 como “=SI(A1>100, B1, -B1)”. Luego, se puede añadir una
restricción en formato simple, con el requisito de que D1>0.
Guía de referencia de Evolver
61
Restricciones
blandas
Las restricciones blandas son condiciones que nos gustaría que se
cumplieran en la medida de lo posible, pero que podríamos ceder a
cambio de una gran mejora del resultado de la celda objetivo (valor de
función de objetivo). Cuando no se cumple una restricción blanda se
produce un cambio en la celda objetivo que la aleja del valor óptimo.
La cantidad del cambio causada por el incumplimiento de una
restricción blanda se calcula usando una función de penalización que
se introduce al especificar la restricción blanda.
A continuación se ofrece información adicional sobre las funciones de
penalización:

Introducción de una función de penalización. Evolver tiene una
función de penalización predeterminada que aparece cuando se
introduce una restricción blanda. Sin embargo, cualquier fórmula
de Excel válida se puede introducir para calcular la cantidad de la
penalización a aplicar cuando no se cumple una restricción
blanda. La función de penalización introducida debe incluir la
palabra clave desviación que representa la cantidad absoluta por
la que la restricción ha superado su límite. Con cada recálculo,
Evolver comprueba si se han cumplido las restricciones blandas;
si no, coloca la cantidad de la desviación en la fórmula de la
penalización introducida y luego calcula la cantidad de la
penalización a aplicar a la estadística de la celda objetivo.
La cantidad de la penalización se suma o se resta del valor de la
celda objetivo para que resulte menos "óptima". Por ejemplo, si se
ha seleccionado Máximo en el campo Objetivo de Optimización del
cuadro de diálogo Modelo de Evolver, la penalización se resta del
valor calculado en la celda objetivo.
62
Comando Definición de modelo

Visualización de los efectos de la función de penalización
introducida. Evolver incluye la hoja de trabajo Funciones de
penalización y restricciones blandas en Evolver.xlsx (o .xls) que
se puede usar para evaluar los efectos de diferentes funciones de
penalización en restricciones blandas y celdas objetivo específicas.
El libro de trabajo Funciones de penalización y restricciones
blandas en Evolver permite seleccionar una restricción blanda de su
modelo para analizar sus efectos. Luego, puede cambiar la función de
penalización para ver cómo la función transforma un valor específico
de la restricción blanda incumplida en un valor objetivo específico
penalizado. Por ejemplo, si la restricción blanda es A10<100, puede
usar Funciones de penalización y restricciones blandas en
Evolver.XLS para ver cuál sería el valor objetivo si se calcula un valor
de 105 en la celda A10.

Visualización de las penalizaciones aplicadas. Cuando se aplica
una penalización a la celda objetivo por incumplimiento de una
restricción blanda, la cantidad de la penalización se puede
visualizar en el Observador de Evolver. Además, los valores de
penalización se muestran en las hojas de cálculo Registro de
Optimización, que se puede crear tras la optimización.
NOTA: Si coloca una solución en la hoja de trabajo al final de una
optimización, el resultado de la celda objetivo calculado que muestra
la hoja de cálculo no incluirá ninguna penalización aplicada debido a
restricciones blandas incumplidas. Compruebe la hoja de cálculo
Registro de Optimización para ver el resultado penalizado de la
celda objetivo y la cantidad de la penalización impuesta debido a
cada una de las restricciones blandas no cumplidas.
Guía de referencia de Evolver
63

64
Implementación de restricciones blandas en las fórmulas de una
hoja de cálculo. Las funciones de penalización se pueden
implementar directamente en las fórmulas de la hoja de cálculo. Si
las restricciones blandas se implementan directamente en la hoja
de cálculo, no se deben introducir en el cuadro de diálogo
principal de Evolver. Para obtener más información sobre la
implementación de funciones de penalización en la hoja de
cálculo, consulte la sección Restricciones blandas en Extras de
Evolver.
Comando Definición de modelo
Comando Configuraciones de optimización
Comando Configuraciones de optimización –
Pestaña Tiempo de ejecución
Define las configuraciones de tiempo de ejecución de una
optimización
El cuadro de diálogo Configuraciones de optimización de la pestaña
Tiempo de Ejecución muestra las configuraciones de Evolver que
determinan el tiempo de ejecución de la optimización. Estas
condiciones de parada especifican cómo y cuándo se detiene Evolver
durante una optimización. Una vez seleccionado el comando Iniciar
optimización, Evolver se ejecuta continuamente, buscando una
solución mejor y ejecutando simulaciones hasta que se cumplen los
criterios de parada seleccionados. Se puede activar una o varias de
estas condiciones, o ninguna en absoluto si quiere que Evolver busque
indefinidamente (hasta que usted lo pare). Cuando se seleccionan
múltiples condiciones, Evolver se para en cuanto se cumple una de
esas condiciones. También se pueden ignorar estas selecciones y parar
Evolver en cualquier momento manualmente usando el botón de
parada del Observador del Evolver o las ventanas de Progreso.
Guía de referencia de Evolver
65
Opciones de
tiempo de
ejecución de la
optimización
Las opciones de Tiempo de ejecución de optimización de la pestaña
Tiempo de Ejecución son:

Pruebas – Esta opción, cuando se establece, detiene Evolver
cuando se genera un número determinado de soluciones de
prueba.
La configuración de Pruebas es particularmente útil para
comparar la eficacia de Evolver con diferentes métodos de
modelación. Al cambiar la forma de modelar un problema, o al
seleccionar un método de solución diferente, se puede aumentar
la eficacia de Evolver. Si permite que un modelo se ejecute un
número específico de simulaciones, comprobará la eficacia de
Evolver en la convergencia sobre una solución,
independientemente de cualquier diferencia en el número de
variables seleccionadas, la velocidad del hardware informático
que se utiliza, o el tiempo que se tarda en dibujar de nuevo la
pantalla. La hoja de trabajo de resumen de optimización de
Evolver también es útil para comparar resultados entre
ejecuciones. Para obtener más información sobre las hojas de
cálculo de Resumen de Optimización, consulte la sección
Observador del Evolver – Opciones de detención de este capítulo.
66

Tiempo - Esta opción, cuando se establece, detiene las
simulaciones de escenarios de Evolver después de un número
determinado de horas, minutos o segundos transcurridos. Esta
opción puede ser cualquier número real positivo (600, 5.2, etc.).

Progreso – Esta opción, cuando se establece, detiene las
simulaciones de escenarios de Evolver cuando la mejora de la
celda objetivo es menor de una cantidad especificada (criterios de
cambio). Se puede especificar como un número entero el número
de simulaciones transcurridas para comprobar la mejora. Se pude
introducir un valor porcentual –como 0.01%– como valor máximo
de cambio en el campo Cambio máximo.
Comando Configuraciones de optimización
Supongamos que estamos tratando de maximizar el valor de la
celda objetivo, y los parámetros que se usan en la condición de
parada de Progreso son 20000 pruebas y 0.01% de cambio.
Supongamos también que después de 10000 pruebas, la mejor
respuesta encontrada hasta el momento es 2000. Si la opción
“Progreso” es la única condición de parada seleccionada, cuando
Evolver llegue a la prueba número 30000 sólo continuará si es
capaz de encontrar una respuesta de al menos 2000.2 durante esas
últimas 20000 pruebas. Es decir, las respuestas de Evolver no han
mejorado al menos 0.01% en las últimas 20000 pruebas, presupone
que el margen de mejora es mínimo, y detiene la búsqueda.
Cuanto más complejo sea el problema de optimización, mayor
será el número de pruebas que deberá especificar en esta
condición de parada.
Esta es la condición de parada más usada, porque ofrece al
usuario una forma eficaz de parar Evolver después de que la tasa
de mejora haya bajado y Evolver no haya podido encontrar
mejores soluciones. Si está visualizando gráficos de los mejores
resultados en la pestaña Progreso del Observador del Evolver,
verá que el gráfico describe llega a un punto y mantiene una línea
plana antes de que se cumpla esta condición y Evolver se pare.
“Progreso” es realmente una forma automática de hacer lo que
usted haría con el gráfico: dejar que funciones hasta que deja de
producirse una mejora.

Fórmula es verdadera – Esta condición de parada detiene la
optimización cuando la fórmula de Excel introducida (o de
referencia) genera un valor VERDADERO durante la
optimización.

Detener en error – Esta condición de parada detiene la
optimización cuando se genera un valor de Error en la celda
objetivo.
NOTA: También puede no seleccionar ninguna condición de parada, y
Evolver seguirá en funcionamiento hasta que usted pulse el botón de
parada en las ventanas Progreso de Evolver u Observador de
Evolver, o hasta que determine que se han probado todas las
soluciones posibles.
Guía de referencia de Evolver
67
Comando Configuraciones de optimización –
Pestaña Generador
Selecciona el generador de optimización y las configuraciones
El cuadro de diálogo Configuraciones de Optimización de la pestaña
Generador selecciona el generador de optimización y las
configuraciones que se usarán durante una optimización. Evolver usa
OptQuest y algoritmos genéticos para buscar soluciones óptimas a un
problema. Además, resuelve problemas lineales utilizando métodos
de programación lineales, si el Modo de Optimización se deja en
Automático.
El campo Número de inicio indica el generador de número aleatorio
del algoritmo de optimización (algoritmo genético u OptQuest). Al
establecer un valor entero fijo en este campo, nos aseguramos de que
se genera la misma secuencia de soluciones para dos optimizaciones,
dados los mismos valores iniciales de las celdas ajustables. Al dejar
este campo en Automático permitimos que Evolver seleccione la
configuración inicial aleatoriamente.
68
Comando Configuraciones de optimización
Modalidad de
optimización
En la mayoría de los casos, Evolver puede detectar automáticamente
qué generador dará las mejores y más rápidas soluciones para el
modelo. La configuración Automático es la que especifica este
funcionamiento (y permite que Evolver use métodos de programación
lineal en problemas lineales). Sin embargo, en ocasiones tal vez
prefiera especificar el generador que se debe usar. Por ejemplo, puede
tener un modelo que requiera los métodos de resolución de Proyecto
o Calendarización, que sólo están disponibles con el generador de
algoritmo genético.
Optimizar usando
Se ofrecen dos generadores de optimización –algoritmo genético y
OptQuest– para buscar las soluciones óptimas a un problema.
El generador de algoritmo genético se originó en Evolver, el
programa de resolución de Palisade, y se utilizó en las versiones de
Evolver previas a la 6.0. El generador de algoritmo genético imitan
los principios darwinianos de selección natural mediante la creación
de un entorno en el que cientos de posibles soluciones a un problema
compiten unas con otras, y sólo la “mejor adaptad” sobrevive. Como
sucede en la evolución biológica, cada solución puede transmitir sus
mejores “genes” a través de soluciones “descendientes” de forma que
toda la población de soluciones sigue evolucionando en soluciones
mejores.
El generador OptQuest utiliza optimización matemática
metaheurística y componentes de una red neuronal para guiar la
búsqueda de las mejores soluciones para problemas de decisión y
planificación de todo tipo. Los métodos de OptQuest integran los
procedimientos metaheurísticos más modernos, incluyendo la
búsqueda tabú, las redes neuronales y la búsqueda dispersa, en un
solo método compuesto.
Configuraciones
de algoritmo
genético
Las Configuraciones de algoritmo genético de la pestaña Generador
incluyen las siguientes:
Tamaño de población. El tamaño de población indica a Evolver
cuántos organismos (o grupos completos de variables) deben
almacenarse en memoria en cada momento. Aunque hay mucho
debate e investigación sobre el tamaño óptimo de una población para
diferentes problemas, generalmente recomendamos usar 30-100
organismos en una población, dependiendo del tamaño del problema
(mayor población para problemas más grandes). La opinión general
es que una población grande tarda más tiempo en generar una
solución, pero tiene mayores probabilidades de encontrar una
respuesta global gracias a su reserva genética más diversa.
Guía de referencia de Evolver
69
Cruce y Mutación. Uno de los problemas más difíciles en la búsqueda
de soluciones óptimas, cuando el problema tiene aparentemente
infinitas posibilidades, es determinar dónde concentrar el esfuerzo. Es
decir, cuánto tiempo del PC debe dedicarse a buscar en nuevas áreas
del “espacio de solución”, y cuánto tiempo debe dedicarse a afinar las
soluciones de la población de soluciones que han demostrado ser
bastante buenas.
Gran parte del éxito del algoritmo genético se atribuye a su capacidad
de conservar de forma natural este equilibrio. La estructura del
algoritmo genético permite que las buenas soluciones se
“reproduzcan”, pero sólo conserva los organismos “menos
adaptados” para mantener la diversidad en espera de que un “gen”
latente resulte importante para la solución final.
Cruce y mutación son dos parámetros que afectan el alcance de la
búsqueda, y Evolver permite que el usuario cambie estos parámetros
antes e incluso durante el proceso de evolución. De esta forma, un
usuario experto puede ayudar al algoritmo genético decidiendo
dónde debe concentrar sus esfuerzos. En la mayoría los casos, las
configuraciones predeterminadas de cruce y mutación (0.5 y 0.1
respectivamente) no necesitan ajuste. Si quisiera afinar el algoritmo
para un problema, haga estudios comparativos, o para experimentar,
aquí tiene una breve introducción a estos dos parámetros:

Cruce. La tasa de cruce se puede ajustar entre 0.01 y 1.0, y refleja
la probabilidad de que futuros escenarios u “organismos”
contengan una mezcla de información de la generación previa de
organismos originales. Este índice puede ser alterado por
usuarios expertos para afinar el funcionamiento de Evolver en
problemas complejos.
Es decir, un índice de 0.5 significa que un organismo descendiente
contiene aproximadamente el 50% de sus valores de variable de
un padre y el resto de los valores del otro padre. Un índice de 0.9
significa que aproximadamente el 90% de los valores de un
organismo descendiente provienen del primer padre y el 10% del
segundo. Una tasa de cruce de 1 significa que no se producirá
ningún cruce, de forma que sólo se evaluarán los clones de los
padres.
El índice predeterminado que usa Evolver es 0.5. Cuando Evolver
ha comenzado a resolver un problema, se puede cambiar la tasa
de cruce usando el Observador de Evolver (consulte la sección
Observador de Evolver de este capítulo).
70
Comando Configuraciones de optimización

Tasa de mutación. La tasa de mutación se puede ajustar entre 0.0
y 1.0, y refleja la probabilidad de que futuros escenarios
contengan algunos valores aleatorios. Una tasa de mutación más
alto simplemente significa que se introducirán más mutaciones o
valores de “genes” aleatorios en la población. Como la mutación
sucede después del cruce, si ajusta la tasa de mutación a 1 (100%
de valores aleatorios) se impide efectivamente que el cruce tenga
efecto, y Evolver genera escenarios totalmente aleatorios.
Si todos los datos de la solución óptima se encuentran en la
población, el operador de cruce solo sería suficiente para generar
la solución. La mutación ha demostrado ser una poderosa fuerza
en el mundo biológico por muchas de las razones por las que es
necesaria en el algoritmo genético: Es vital mantener una
población diversa de organismos individuales, evitando así que la
población sea demasiado rígida e incapaz de adaptarse a un
entorno dinámico. Como en el algoritmo genético, muchas veces
son las mutaciones genéticas en los animales lo que finalmente
lleva al desarrollo de nuevas funciones vitales.
En la mayoría de los casos, la configuración predeterminada de la
mutación no necesita ajuste, si bien puede ser modificada por
usuarios expertos para afinar el funcionamiento de Evolver en
problemas complejos. Es posible que el usuario quiera potenciar
la tasa de mutación si la población de Evolver es bastante
homogénea, y no se han encontrado nuevas soluciones en los
últimos cientos de pruebas. Los cambios típicos de configuración
van de 0.06 a 0.2. Cuando Evolver ha comenzado a solucionar el
problema, se puede cambiar la tasa de mutación dinámicamente a
través del Observador de Evolver (consulte la sección Observador
de Evolver más adelante en este capítulo).
Si selecciona Auto en la lista desplegable del campo Tasa de
mutación, se selecciona ajuste automático de tasa de mutación. El
ajuste automático de la tasa mutación permite a Evolver aumentar
la tasa de mutación automáticamente cuando un organismo
"envejece" significativamente; es decir, ha permanecido invariable
durante un número extenso de pruebas. En muchos modelos,
especialmente cuando la tasa de mutación óptimo se desconoce,
seleccionar Auto puede generar mejores resultados más
rápidamente.
Guía de referencia de Evolver
71
Operadores
Evolver incluye operadores genéticos seleccionables cuando se usa el
método de solución Receta. Si hace clic en el botón Operadores del
cuadro de diálogo Configuraciones de Optimización de la pestaña
Generador podrá seleccionar un operador genético específico (como
cruce heurístico o mutación de límites) para su uso al generar posibles
valores de una serie de celdas ajustables. Además, puede hacer que
Evolver pruebe automáticamente todos los operadores disponibles e
identifique el que mejor funcione en su problema.
Los algoritmos genéticos usan operadores genéticos para crear nuevos
miembros de una población a partir de miembros actuales. Dos de los
tipos de operadores genéticos que usa Evolver son el de mutación y el
de cruce. El operador de mutación determina si se producirán cambios
aleatorios de “genes” (variables) y cómo se producirán. El operador
de cruce determina cómo intercambian genes los pares de miembros
de una población para producir “descendientes” que puedan ser
mejores respuestas que cualquiera de sus “padres”.
Evolver incluye los siguientes operadores genéticos especializados:
72

Operadores lineales – Diseñados para resolver problemas en los
que la solución óptima se encuentra en el límite del espacio de
búsqueda definido por las restricciones. Este par de mutación y
operador de cruce se adapta bien a la resolución de problemas de
optimización lineal.

Mutación de límites – Diseñada para optimizar rápidamente
variables que afectan el resultado de forma monotónica y puede
ajustarse en los extremos de su rango sin violar las restricciones.

Mutación Cauchy – Diseñada para producir pequeños cambios
en variables la mayoría de las veces, pero ocasionalmente puede
generar cambios grandes.

Mutación no uniforme – Produce mutaciones cada vez más
pequeñas según se van calculando pruebas. Esto permite que
Evolver “afine” las respuestas.
Comando Configuraciones de optimización

Cruce aritmético – Crea nuevos descendientes combinando
aritméticamente dos padres (en lugar de intercambiando genes).

Cruce heurístico – Usa el valor producido por los padres para
determinar cómo se produce la descendencia. Busca en la
dirección más prometedora y proporciona un ajuste fino local.
Dependiendo del tipo de problema de optimización, hay diferentes
combinaciones de mutación y operadores de cruce que pueden
producir mejores resultados que otras. En la pestaña Operadores del
cuadro de diálogo Configuraciones de Grupo de Celdas Ajustables, se
pueden seleccionar una serie de operadores cuando se usa el método
de solución Receta. Cuando se hacen múltiples selecciones, Evolver
prueba las combinaciones válidas de los operadores seleccionados
para identificar los que mejor funcionan en su modelo. Después de
una ejecución, la hoja de cálculo de Resumen de Optimización clasifica
cada uno de los operadores seleccionados según su funcionamiento
durante la ejecución (pero recuerde que estas puntuaciones sólo
aparecen si hubo suficientes pruebas en la optimización para
asignarlas). Para las siguientes ejecuciones del mismo modelo, si
selecciona sólo los operadores de mejor funcionamiento puede
permitir optimizaciones más rápidas de mejor funcionamiento.
Guía de referencia de Evolver
73
Comando Configuraciones de optimización –
Pestaña Visualizar
Define las configuraciones de visualización de una
optimización
El cuadro de diálogo Configuraciones de optimización de la pestaña
Visualizar muestra las configuraciones de Evolver que determinan lo
que se muestra durante la optimización.
Las opciones de la pestaña Visualizar son:
74

Minimizar el Excel al inicio. Esta opción minimiza Excel cuando
se inicia una optimización.

Mostrar recálculos de Excel. Esta opción actualiza Excel con Cada
mejor nueva prueba o el final de Cada prueba.
Comando Configuraciones de optimización
Comando Configuraciones de optimización –
Pestaña Macros
Define los macros a ejecutar durante la optimización
Los macros VBA se pueden ejecutar en diferentes momentos de una
optimización y de la ejecución de una simulación de cada solución de
prueba. Esto permite el desarrollo de cálculos personalizados que se
realizarán durante una optimización.
Los macros se pueden ejecutar en los siguientes momentos de una
optimización:

Al inicio de la optimización – El macro se ejecuta después de
hacer clic en el icono Iniciar y antes de que se genere la primera
solución de prueba.

Antes del recálculo de cada prueba – El macro se ejecuta antes de
que se realice el recálculo de cada prueba.

Después del recálculo de cada prueba – El macro se ejecuta
después de que se realice el recálculo de cada prueba.
Guía de referencia de Evolver
75

Después de almacenar variable de salida– El macro se ejecuta
después de cada prueba ejecutada y después de que el valor de la
celda objetivo se almacene en el generador de optimización. En
consecuencia, cualquier cambio realizado en los valores de la
celda no tendrán ningún efecto en la información que se transmite
al generador de optimización en esa prueba. Este macro se puede
usar para actualizar el progreso de la optimización para el usuario
(o para registrar el progreso de la optimización).

Al final de la optimización – El macro se ejecuta cuando se
completa la optimización.
Esta función permite que se lleven a cabo cálculos que sólo se pueden
realizar con un macro durante una optimización. Algunos ejemplos
de este tipo de cálculos llevados a cabo con macros son los cálculos de
operaciones repetitivas y los cálculos que requieren nuevos datos de
fuentes externas.
El Nombre de macro define el macro que se va a ejecutar.
76
Comando Configuraciones de optimización
Comando Iniciar optimización
Inicia una optimización
Si selecciona el comando Iniciar optimización o hace clic en el icono
Iniciar optimización, se inicia una optimización del modelo activo del
libro de trabajo. En cuanto Evolver se pone en funcionamiento, verá la
siguiente ventana Progreso de Evolver.
Aparecerá la ventana de Progreso :

Prueba o el número total de pruebas que se han ejecutado y
también puede indicar cuántas de esas pruebas eran válidas
(cumplieron todas las restricciones duras).

Tiempo de ejecución es el tiempo transcurrido durante la
ejecución

Original es el valor original de la celda objetivo.

Mejor es el mejor valor actual de la celda objetivo que se trata
de minimizar o maximizar.
Guía de referencia de Evolver
77
Las opciones de la barra de herramientas de la ventana Progreso de
Evolver son:
78

Mostrar opciones de actualización de Excel. Selecciona la
actualización de la pantalla de Excel en Cada prueba, en Cada
mejor nueva prueba o Nunca. Recuerde que en algunas
situaciones, la pantalla se actualiza independientemente de estas
configuraciones, por ejemplo, cuando se pausa la optimización.

Mostrar Observador del Evolver. Muestra la ventana completa
del Observador del Evolver.

Ejecutar. Si hace clic en el icono Ejecutar, Evolver comienza la
búsqueda de una solución basada en la descripción actual del
cuadro de diálogo Modelo de Evolver. Si pausa Evolver, seguirá
pudiendo hacer clic en el icono Ejecutar para continuar la
búsqueda de mejores soluciones.

Pausar. Si quiere pausar el proceso de Evolver, haga clic en el
icono Pausar y el proceso de Evolver se “congelará”
temporalmente. Mientras está pausado, puede abrir y explorar el
Observador de Evolver para ver el registro, copiar un gráfico o
cambiar los parámetros del algoritmo genético.

Parar. Detiene la optimización.
Comando Iniciar optimización
Comandos de Utilidades
Comando Configuraciones de aplicación
Muestra el cuadro de diálogo Configuraciones de aplicación
donde se establecen los ajustes predeterminados del
programa
Muchas de las configuraciones de Evolver se pueden establecer en
valores predeterminados que se usan cada vez que se usa Evolver.
Estas configuraciones predeterminadas incluyen las de detención, tasa
de cruce y mutación, etc.
Guía de referencia de Evolver
79
Comando Solver de restricciones
Ejecuta el Solver de restricciones
NOTA: El Solver de restricciones es útil cuando se optimiza con el
algoritmo genético. En general, las optimizaciones con OptQuest no
requieren el uso del Solver de Restricciones. La siguiente descripción
se refiere sólo al algoritmo genético.
El Solver de restricciones mejora la capacidad de Evolver de procesar
restricciones en un modelo. Cuando Evolver ejecuta una
optimización, se presupone que los valores originales de las celdas
ajustables cumplen todas las restricciones duras; es decir, que la
solución original es válida. Si no, el algoritmo puede tener que
ejecutar muchas simulaciones antes de encontrar una primera
solución válida. Sin embargo, si un modelo contiene múltiples
restricciones, puede que no resulte aparente qué valores de las celdas
ajustables cumplen todas ellas.
Si un modelo de Evolver tiene múltiples restricciones duras, y las
optimizaciones fallan y sólo generan soluciones no válidas, el
programa lo indicará y podrá ejecutar el Solver de restricciones. 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 duras. El progreso de la optimización se muestra al
usuario de la misma forma que en las optimizaciones normales. La
ventana Progreso muestra el número de restricciones que se cumplen
en la solución original y en la mejor solución.
80
Comandos de Utilidades
La ventana de Progreso tiene un botón que permite al usuario ir al
Observador del Evolver. En el modo de Solver de restricciones, los
detalles de progreso de la optimización se ofrecen como en las
optimizaciones realizadas en modo normal, en las pestañas Progreso,
Resumen, Registro, Población y Diversidad. En el modo de Solver
de restricciones, el Observador contiene una pestaña adicional
denominada Solver de restricciones. Esta pestaña muestra el estado
de cada restricción dura (Se cumple o No se cumple) de las
soluciones Mejor, Original y Última.
Una optimización del Solver de restricciones se detiene cuando se
encuentra una solución que cumple todas las restricciones duras;
también se puede parar haciendo clic en un botón de la ventana de
progreso o de la ventana Observador del Evolver. Después de la
ejecución del Solver de restricciones, en la pestaña Opciones de
detención del Observador del Evolver se puede optar por conservar
las soluciones Mejor, Original o Última, como sucede en las
optimizaciones realizadas en modo normal.
Recuerde que no es necesario configurar el Solver de restricciones
antes de su uso. El programa usa las configuraciones especificadas en
el modelo, y sólo cambia el objetivo de optimización: el nuevo
objetivo es encontrar una solución que cumpla todas las restricciones
duras.
Guía de referencia de Evolver
81
82
El Observador del Evolver
El icono de la lupa de la barra de herramientas de la ventana de
Progreso de Evolver permite abrir el Observador del Evolver. El
Observador del Evolver regula el funcionamiento del programa e
informa sobre las actividades de Evolver.
Desde el Observador del Evolver se pueden cambiar parámetros y
analizar el progreso de la optimización. Además, en la barra de estado
situada en la parte inferior del Observador del Evolver se pueden ver
en tiempo real los datos del problema y del progreso de Evolver.
Guía de referencia de Evolver
83
Observador del Evolver – Pestaña de Progreso
Muestra los gráficos de progreso del valor de la celda objetivo
La pestaña de Progreso del Observador del Evolver muestra
gráficamente cómo cambian los resultados, por simulación, de la
celda objetivo seleccionada.
Los gráficos de progreso muestran la cuenta de pruebas en el eje X y
el valor de la celda objetivo en el eje Y. Haciendo clic derecho en el
gráfico de Progreso se puede mostrar el cuadro de diálogo de
Opciones de gráfico en el que se pueden personalizar los gráficos.
84
El Observador del Evolver
Cuadro de diálogo
Opciones de
gráfico
El cuadro de diálogo Opciones de gráfico muestra las configuraciones
que controlan los títulos, leyendas, escala y fuentes del gráfico.
Guía de referencia de Evolver
85
Observador del Evolver – Pestaña de Resumen
Muestra los detalles de los valores de las celdas ajustables
La pestaña de Resumen del Observador de Evolver muestra una
tabla de resumen de los valores de celda ajustables probados durante
la optimización. Si el generador de algoritmo genético está en uso,
también aparecen opciones para ajustar las tasas de cruce y mutación.
Los Parámetros del algoritmo genético permiten cambiar las tasas de
cruce y mutación del algoritmo genético mientras el problema está en
proceso. Cualquier cambio que haga aquí sustituirá las
configuraciones originales de estos parámetros y tendrán efecto
inmediato.
Casi siempre se recomienda usar el valor predeterminado de cruce de
0.5. En el caso de la mutación, en muchos modelos se puede aumentar
hasta llegar a 0.4 si quiere encontrar la mejor solución y no le importa
esperar. Si establece el valor de mutación en 1 (el máximo) el
programa hará suposiciones totalmente aleatorias, ya que Evolver
realiza las mutaciones después de hacer el cruce. Esto significa que
después de cruzar los dos padres seleccionados para crear una
solución descendiente, el 100% de los “genes” de la solución mutarán
a números aleatorios, haciendo que el cruce no tenga significado (para
obtener más información, consulte las secciones “tasa de cruce, para
qué sirve” e “tasa de mutación, para qué sirve” del índice de este
manual).
86
El Observador del Evolver
Observador del Evolver – Pestaña de Registro
Muestra un registro de cada simulación ejecutada durante la
optimización
La pestaña de Registro del Observador del Evolver muestra una tabla
de resumen de cada simulación ejecutada durante la optimización. El
registro incluye los resultados de la celda objetivo, de cada celda
ajustable y de las restricciones introducidas.
Las opciones Mostrar establecen si se muestra un registro de Todas
las pruebas o sólo de aquellas pruebas en las que se produjo un Paso
de progreso (es decir, cuando los resultados de la optimización
mejoraron). El registro incluye:
1) Tiempo transcurrido, o el tiempo de inicio de la simulación
2) Resultado, o valor de la celda objetivo que está tratando d
minimizar o maximizar, incluyendo las penalizaciones de las
restricciones blandas
3) Media de resultado, Desviación Estándar de resultado, Mínimo
de resultado y Máximo de resultado, o valores estadísticos de la
distribución de probabilidad de la celda objetivo calculada
4) Columnas de entrada, o valores usados en la celdas ajustables
5) Columnas de restricciones que muestran si s han cumplido las
restricciones
Guía de referencia de Evolver
87
Observador del Evolver – Pestaña de Población
Incluye todas las variables de cada organismo (cada posible
solución) de la población actual
Si el generador de algoritmo genético está en uso, aparece la pestaña
Población. La pestaña Población es una cuadrícula que incluye todas
las variables de cada organismo (cada posible solución) de la
población actual. Estos organismos (“Org n”) se clasifican en orden de
peor a mejor. Como la tabla incluye todos los organismos de una
población, la configuración “tamaño de población” del cuadro de
diálogo Configuraciones de Evolver determina cuántos organismos se
incluyen (el valor predeterminado es 50). Además, la columna
Resultado muestra el valor resultante de la celda objetivo de cada
organismo.
88
El Observador del Evolver
Observador del Evolver – Pestaña de Diversidad
Muestra el diagrama de color de todas las variables de la
población actual
Esta pestaña sólo se incluye si se usa el algoritmo genético (no se
muestra cuando se usa el generador de optimización OptQuest). El
diagrama de la pestaña Diversidad asigna colores a los valores de las
celdas ajustables, basándose en la diferencia que hay entre el valor de
una celda determinada y la población de organismos (soluciones)
almacenadas en memoria en un momento determinado. (Usando la
terminología de optimización genética, esto es una indicación de la
diversidad que hay en la reserva genética.) Cada barra vertical del
diagrama corresponde a una celda ajustable. Las rayas horizontales
dentro de cada barra representan los valores de esa celda ajustable en
diferentes organismos (soluciones). Los colores de las rayas se asignan
dividiendo el rango entre el valor mínimo y el máximo de una celda
ajustable determinada en 16 intervalos de igual longitud; cada uno de
los cuales se representa con un color diferente. Por ejemplo, en la
imagen, el hecho de que la barra vertical que representa la segunda
celda ajustable tenga un solo color significa que la celda tiene el
mismo valor en cada solución que hay en memoria.
Guía de referencia de Evolver
89
Observador del Evolver – Pestaña de Opciones de
detención
Muestra las opciones de parada de la optimización
Cuando se hace clic en el botón Parar, aparece la pestaña Opciones de
detención del cuadro de diálogo Observador del Evolver. Esta
pestaña incluye las opciones disponibles de actualización de la hoja
de cálculo con los mejores valores calculados de las celdas ajustables,
restauración de los valores originales y generación de un informe de
resumen de la optimización.
Este cuadro de diálogo también aparece si se cumple alguna de las
condiciones de parada especificadas por el usuario (se ha evaluado el
número de pruebas establecido, han transcurrido los minutos
solicitados, etc.). Las Opciones de detención permiten restaurar los
valores originales de las celdas ajustables antes de que se ejecutara
Evolver.
Todas las acciones disponibles en la pestaña Opciones de Parada
también se pueden realizar usando los comandos del menú o de la
barra de herramientas de Evolver . Si se cierra el Observador haciendo
clic en Aceptar sin seleccionar ninguna acción, el usuario todavía
puede restablecer los valores originales de las celdas ajustables y
generar informes usando los comandos del menú o de la barra de
herramientas.
90
El Observador del Evolver
Las opciones Informes a Generar pueden generar hojas de trabajo de
resumen de optimización que se pueden usar para generar informes
de resultados de una ejecución y comparar los resultados entre
ejecuciones. Las opciones de Informe son:

Resumen de optimización. Este informe de resumen de la
optimización contiene información como la fecha y la hora de la
ejecución, las configuraciones de optimización utilizadas, el valor
calculado para la celda objetivo y el valor mejor y original de cada
una de las celdas ajustables.
Guía de referencia de Evolver
91
Este informe es útil para comparar los resultados de optimizaciones
sucesivas.

92
Registro de todas las pruebas. Este informe registra los
resultados de todas las pruebas realizadas. Los valores que
aparecen en magenta indican que no se cumplió una restricción.
El Observador del Evolver

Registro de los pasos de progreso. Ese informe registra los
resultados de todas las pruebas que mejoraron el resultado de la
celda objetivo.
Guía de referencia de Evolver
93
94
Optimización
Métodos de optimización.................................................................97 Los algoritmos de escalada ...................................................................99 Optimización local con el Solver de Excel.......................................102 Optimización global – Solver en comparación con los programas
auxiliares de Palisade ..........................................................................103 Tipos de problemas .............................................................................104 Problemas lineales..................................................................104 Problemas no lineales............................................................104 Problemas basados en tablas................................................106 Problemas combinatorios......................................................107 Optimización
95
96
Métodos de optimización
Ya hemos visto algunos ejemplos de problemas de optimización en
los tutoriales. Algunos problemas de optimización son más difíciles
de resolver que otros. En los problemas más difíciles, como la
búsqueda de la ruta más corta entre 1000 ciudades, no es posible
examinar todas las soluciones posibles. Hacerlo requeriría años de
cálculos en las computadoras más rápidas.
Para resolver ese tipo de problemas, es necesario hacer una búsqueda
en un subgrupo de todas las posibles soluciones. Al examinar estas
soluciones, podremos hacernos una idea de cómo encontrar mejores
soluciones. Esto se consigue con un algoritmo. Un algoritmo es una
descripción por pasos de cómo resolver un problema. Todos los
programas informáticos, por ejemplo, se desarrollan mediante la
combinación de muchos algoritmos.
Empecemos por explorar cómo representan un problema la mayoría
de los algoritmos de resolución de problemas. La mayoría de los
problemas se pueden dividir en tres componentes básicos: variables
de entrada, una función de algún tipo y un resultado de salida.
Qué se analiza: Qué se aplica: Para el mejor:
Componentes el
problema
Entradas
Función
Resultado
En Evolver/Excel
Variables
Modelo
Objetivo
Supongamos que nuestro problema de optimización tiene dos
variables, X e Y. Cuando se ponen en una ecuación, estas dos
variables producen un resultado =Z. Nuestro problema es encontrar
los valores X y Y que produzcan el valor Z más grande. Podemos
imaginar que Z es una “clasificación” que indica lo adecuado que es
cada par de valores X,Y.
Qué se analiza: Qué se aplica: Para el mejor:
En esta ejemplo
Optimización
XeY
Ecuación
Z
97
Un diagrama de todos los pares X,Y y la Z resultante generaría un
gráfico de superficie tridimensional como el que se muestra a
continuación.
Un “paisaje” de los posibles escenarios o soluciones.
Cada intersección de los valores de X e Y produce una altura Z. Los
picos y valles de este “paisaje” representan soluciones buenas y malas
respectivamente. En esta función, la búsqueda del punto máximo o
más elevado mediante el examen de cada solución tomaría demasiado
tiempo, incluso con la computadora más potente y con el programa
más rápido. * Recuerde que le damos a Excel sólo la función, no un
gráfico de la función, y que igualmente podría tratarse de un
problema de 200 dimensiones en lugar de este de dos dimensiones.
Por lo tanto, necesitamos un método que nos permita hacer menos
cálculos y genere la máxima productividad.
*
En nuestro diagrama, la función se muestra como un paisaje
uniforme. En los pocos casos en los que se usan funciones simples y
uniformes (diferenciables), se puede hacer un cálculo de los mínimos
y máximos. Sin embargo, los problemas más realistas no se describen
con funciones tan uniformes.
98
Métodos de optimización
Los algoritmos de escalada
Veamos un simple algoritmo denominado de escalada:
1) Se inicia en un punto aleatorio del paisaje (hace una suposición
aleatoria).
2) Se dirige en una dirección arbitraria durante una pequeña distancia.
3) Si ha llegado a un punto que es superior, permanezca en esa
posición y repita el paso 2. Si el nuevo punto es inferior, vuelva al
punto original e inténtelo de nuevo.
El método de escalada prueba una sola solución o escenario cada vez.
Usaremos un punto negro (•) para representar una posible solución
(un grupo de valores X, Y y Z). Si ponemos el punto en un punto
inicial aleatorio, esperamos que nuestro método de escalada lleve el
punto hasta el lugar más alto del gráfico.
En el diagrama de arriba podemos ver claramente que queremos que
el punto vaya hacia arriba a la derecha. Sin embargo, lo sabemos
porque ya hemos visto el paisaje completo. Cuando el algoritmo se
ejecuta, explora el paisaje situado inmediatamente alrededor, pero no
el paisaje completo; ve los árboles, pero no ve el bosque completo.
Optimización
99
En la mayoría de los problemas del mundo real, el paisaje no es
uniforme, y requeriría años calcularlo, por eso sólo calculamos el
escenario actual y los escenarios situados inmediatamente alrededor.
Imagine que el punto es una persona con los ojos vendados situada
entre colinas de subidas y bajadas suaves. Si esta persona emplea el
método de escalada, pondría un pie en cada dirección, y sólo se
movería cuando sintiera que el terreno sube. Esta persona seguirá
subiendo y finalmente acabaría en la cima de la colina con la tierra a
su alrededor a nivel más bajo que el terreno en el que se encuentra.
Esto parece simple. Sin embargo, tenemos un problema muy serio si
la persona empieza en otro lugar ... y sube la colina equivocada. (ver
el diagrama de abajo).
Incluso con una función uniforme, el método de escalada puede fallar
si se comienza en una posición ligeramente diferente (derecha).
La escalada sólo encuentra la colina más cercana, o máximo local. Por
eso, si un problema tiene un paisaje de solución muy irregular, como
la mayoría de los modelos realistas, es muy posible que el método de
escalada no encuentre la colina más alta, ni siquiera una de las más
altas.
La escalada tiene otro problema; ¿cómo se encuentra el terreno
alrededor de nuestra posición actual? Si el paisaje se describe con una
función uniforme, se puede usar diferenciación (una técnica de
cálculo) para averiguar en qué dirección se encuentra la pendiente
más pronunciada. Si el paisaje es discontinuo o no diferenciable
(como es más probable en los problemas reales), debemos calcular las
“puntuaciones” de los escenarios situados alrededor.
100
Métodos de optimización
Por ejemplo, supongamos que un banco contrata un guardia de
seguridad de 9:00 am a 5:00 pm para proteger el banco, pero el banco
debe dar al oficial dos (2) descansos de media hora. Debemos intentar
encontrar las horas de descanso óptimas, siguiendo reglas generales
sobre relaciones de rendimiento / fatiga, y considerando los
diferentes niveles de actividad de los clientes a lo largo del día.
Podemos empezar por probar diferentes combinaciones de descansos
y evaluarlos. Si en la actualidad usamos un horario en el que los
descansos están a las 11:00 am y a las 3:00 pm, podemos calcular la
productividad de los escenarios cercanos:
Dirección
Solución actual
Escenario oeste
Escenario este
Escenario norte
Escenario sur
Descanso 1 (x)
11:00 am
Descanso 2 (y)
3:00 pm
10:45 am
11:15 am
11:00 am
11:00 am
15:00 am
15:00 am
15:15 am
2:45 pm
–Puntuación” (z)
= 46.5
= 44.67
= 40.08
= 49.227
= 43.97
Si tuviéramos tres celdas ajustables (descansos) en lugar de dos,
necesitaríamos buscar en ocho direcciones diferentes. De hecho, si
tuviéramos sólo cincuenta variables, (algo realista para un problema
de tamaño medio), necesitaríamos calcular la productividad de 250, es
decir, más de cuatro mil billones de escenarios, y eso sólo para un
guardia.
Se pueden hacer modificaciones al método de escalada para mejorar
su capacidad de encontrar máximos globales (las colinas más altas de
todo el paisaje). La escalada resulta más útil a la hora de tratar
problemas unimodales (un solo pico); por eso algunos programas de
análisis usan esta técnica. En cualquier caso, es muy limitado para
tratar problemas complejos o grandes.
Optimización
101
Optimización local con el Solver de Excel
Excel incluye una utilidad de optimización denominada Solver. Su
algoritmo GRG es un ejemplo de algoritmo de escalada, que
encuentra una solución local, si bien no está diseñado para encontrar
la solución global. Una rutina de escalada comienza con los valores de
variable actuales y lentamente los ajusta hasta que el resultado de
salida deja de mejorar. Esto significa que los problemas con más de
una solución posible pueden ser imposibles de resolver correctamente
para GRG, porque Solver termina en una solución local y no puede
saltar a una solución global (ver la figura de abajo).
Paisaje de posibles soluciones.
Además, GRG requiere que la función representada por su modelo
sea continua. Esto significa que el resultado de salida debe cambiar
uniformemente con el ajuste de las variables de entrada. Si su modelo
usa tablas de referencia, adquiere datos con ruido en tiempo real de
otros programas, contiene elementos aleatorios o incluye reglas sientonces, su modelo será irregular y discontinuo. GRG no sería capaz
de resolver ese problema.
GRG era el único algoritmo de optimización no lineal que ofrecía
Solver antes de la aparición de Excel 2010 (Solver también incluye un
algoritmo de programación lineal para resolver problemas lineales).
En la versión de Solver de Excel 2010 se incluyeron algunas
herramientas de optimización global, como se explica en la siguiente
sección.
102
Métodos de optimización
Optimización global – Solver en comparación con
los programas auxiliares de Palisade
Los programas auxiliares Evolver y RISKOptimizer de Palisade para
Excel han incorporado métodos de optimización global después de su
versión original. Por otro lado, antes de la versión de Excel 2010,
Solver ofrecía sólo un método de optimización local para problemas
no lineales: el algoritmo GRG. Microsoft reconoció la necesidad de
herramientas de optimización global y las incluyó en el Solver de la
versión de Excel 2010.
El Solver de Excel 2010 ofrece métodos de optimización global
diferentes para resolver problemas continuos y no continuos. Para
buscar un máximo global con funciones continuas, el usuario puede
usar el método GRG con la opción “Use multistart” seleccionada. Para
la optimización global con funciones no continuas, se incluye el
método de resolución “Evolucionario”. Esto contrasta con los
programas auxiliares de Palisade, que no requieren que el usuario
identifique el tipo de problema de optimización y encuentre el
algoritmo apropiado para resolverlo. Ambos algoritmos, disponibles
en Evolver y RISKOptimizer (algoritmo genético y OptQuest), pueden
resolver los problemas de optimización globales continuos y no
continuos; generalmente el usuario de los productos de Palisade
puede dejar que el software haga la selección del algoritmo.
Además, el Solver de Excel es un software limitado en términos del
tamaño de los problemas que puede manejar. Como máximo permite
usar 200 variables (celdas ajustables) y 100 restricciones. (El límite de
restricciones no incluye las restricciones simples que definen límites
en las celdas ajustables).
También conviene recordar que Evolver ofrece la opción de definir
valores de celdas ajustables como independientes, con un tamaño de
paso especificado (por ejemplo, si el tamaño del paso es 0.5, entonces
los valores permitidos de una celda ajustable pueden ser 1, 1.5, 2, 2.5 y
3). El Solver de Excel no tiene esta función.
Optimización
103
Tipos de problemas
Normalmente se optimizan siete tipos diferentes de problemas.
Problemas
lineales
En los problemas lineales, todos los resultados son funciones lineales
simples de las variables de entrada, como en y=mx+b. Cuando los
problemas sólo aplican operaciones aritméticas simples como suma,
resta y funciones de Excel como TENDENCIA() o PRONOSTICO(),
quiere decir que las relaciones entre las variables son puramente
lineales.
Los problemas lineales han sido relativamente fáciles de solucionar
desde la llegada de las computadoras y la invención del Método
Simplex por parte de George Dantzig. Un problema lineal simple se
puede solucionar más rápidamente y con mayor precisión con una
utilidad de programación lineal. La utilidad del Solver que se incluye
con Excel se convierte en una herramienta de programación lineal
cuando se selecciona la casilla “Asumir modelo lineal” (en Excel 2007
y anterior) o se selecciona el método de resolución “Simplex LP” (en
Excel 2010). Solver usa luego una rutina de programación lineal para
encontrar rápidamente la solución perfecta. Si el problema se puede
expresar en términos puramente lineales, debe usar programación
lineal. Desafortunadamente, la mayoría de los problemas del mundo
real no se pueden describir linealmente.
A partir de la Versión 6, Evolver también resuelve problemas lineales
con programación lineal. A diferencia del Solver de Excel, el usuario
no necesita identificar que un problema es lineal. Si Evolver
determina que un problema es lineal, aplicará la programación lineal
(siempre que el Modo de Optimización se deje en Automático en la
pestaña Generador del cuadro de diálogo Configuraciones de
Optimización).
Problemas no
lineales
104
Si el costo de fabricación y transporte de 5,000 dispositivos es de
$5,000, ¿costaría $1 fabricar y transportar 1 dispositivo?
Probablemente no. La línea de producción de la fábrica de
dispositivos seguiría consumiendo energía, seguiría siendo necesario
completar y procesar el papeleo administrativo de los diferentes
departamentos, los materiales se seguirían comprando al por mayor,
los camiones requerirían la misma cantidad de gasolina para
transportar los dispositivos y el conductor del camión seguiría
recibiendo el pago de un día completo de salario independientemente
de lo lleno que esté su camión. La mayoría de los problemas del
mundo real no incluyen variables con relaciones lineales simples. Esos
problemas incluyen multiplicación, división, exponentes y funciones
incorporada de Excel como RCUAD() o CRECIMIENTO(). Cuando las
Métodos de optimización
variables tienen una relación desproporcionada entre ellas, el
problema deja de ser lineal para ser no lineal.
Un ejemplo perfecto de problema no lineal es la administración del
proceso de fabricación de una planta química. Imagine que queremos
mezclar algunos reactivos químicos y obtener un producto como
resultado. La relación de esta reacción puede variar de forma no lineal
con la cantidad de reactivos disponibles. En un momento dado, el
catalizador se satura y un exceso de reactivo supone un problema. El
siguiente diagrama muestra esta relación:
Si sólo necesitamos encontrar el nivel mínimo de reactivos que genere
el nivel más alto de reacción, podemos comenzar en cualquier punto
del gráfico y escalar por la curva hasta alcanzar la cima. Este método
para encontrar una respuesta se denomina escalada.
El método de escalada siempre halla la mejor respuesta si (a) la
función que se explora es uniforme y (b) los valores de la variable
inicial se encuentran junto a la colina más alta. Si no se cumple una de
estas condiciones, el método de escalada puede convertirse en una
solución local en lugar de alcanzar la solución global.
Los problemas altamente no lineales, los que se ven con frecuencia en
la práctica, tienen muchas posibles soluciones por todo un
complicado paisaje. Si un problema tiene muchas variables, o las
fórmulas tienen demasiado ruido o muchas curvas, la mejor respuesta
probablemente no se encontrará con el método de escalada, incluso
aunque se hagan cientos de pruebas desde diferentes puntos de inicio.
Lo más probable es que se encuentre una solución inferior a la óptima
y extremadamente local (ver la figura de abajo).
Optimización
105
El método de escalada encuentra el
máximo local, pero no el global.
Datos con ruido: el método de escalada no
es eficaz, incluso con múltiples pruebas.
RISKOptimizer y Evolver no utilizan métodos de escalada. En su
lugar, utilizan métodos de optimización estocástica global: el
algoritmo genético y el generador OptQuest. Esto permite a
RISKOptimizer saltar de un lado a otro dentro del espacio de solución
de un problema, examinando muchas combinaciones de valores de
entrada sin quedarse en el resultado óptimo local. Estos métodos
retienen en la memoria de la computadora la información de las
soluciones previamente probadas, y luego usan esa información para
suponer mejor los escenarios que más probabilidades tienen de éxito.
Evolver genera múltiples escenarios posibles y luego
refina la búsqueda basándose en los resultados obtenidos.
Problemas
basados en tablas
Muchos problemas requieren el uso de tablas de referencia y bases de
datos. Por ejemplo, para elegir las cantidades de diferentes materiales
a comprar, tal vez es necesario buscar los precios que se cobran por
las diferentes cantidades.
Las tablas y bases de datos hacen que los problemas sean
discontinuos (no uniformes). Esto dificulta que las rutinas de escalada
como los algoritmos GRG de Solver encuentren soluciones óptimas.
Excel 2010 añadió el método de resolución evolucionario para la
optimización no uniforme. Evolver y RISKOptimizer ofrecen el
método evolucionario/genético para problemas no uniformes desde
sus primeras versiones. En la versión 6 se añadió el generador de
optimización OptQuest, que representa un método moderno para la
optimización no uniforme. Además, los productos de Palisade no
requieren que el usuario identifique el problema como no uniforme;
los métodos de optimización del software de Palisade funcionan bien
tanto en problemas uniformes como no uniformes (a diferencia de la
opción predeterminada GRG del Solver).
106
Métodos de optimización
Problemas
combinatorios
Hay un grupo grande de problemas que son muy diferentes a los
problemas numéricos examinados hasta ahora. Se denominan
problemas combinatorios a los problemas en los que para obtener el
resultado se debe cambiar el orden de las variables existentes o se
deben agrupar subgrupos de variables de entrada. Estos problemas
son normalmente muy difíciles de resolver, porque frecuentemente
requieren una cantidad de tiempo exponencial; es decir, la cantidad
de tiempo necesaria para resolver un problema con 4 variables puede
ser de 4 x 3 x 2 x 1, y si multiplicamos por dos el número de variables
hasta 8, el tiempo de resolución se eleva a 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1, o
sea, un factor de 1,680. Mientras que el número de variables se
multiplica por dos, el número de posibles soluciones que deben
comprobarse aumenta 1,680 veces. Por ejemplo, la elección de los
jugadores titulares de un equipo de béisbol es un problema
combinatorio. Con 9 jugadores, se puede elegir uno entre los 9 como
primero en el orden de bateo. Luego puede elegir uno entre 8 como
segundo bateador; uno de entre los 7 restantes será el tercero, etc. Por
lo tanto hay 9x8x7x6x5x4x3x2x1 formas (9 factorial) de seleccionar el
orden de bateo de 9 jugadores. Esto supone unos 362,880 órdenes
diferentes. Si multiplicamos por dos el número de jugadores, hay 18
factorial posibles órdenes, o sea 6,402,373,705,000,000 posibles órdenes
de bateo.
Los algoritmos de RISKOptimizer y Evolver, el algoritmo genético y
OptQuest, son ambos capaces de buscar inteligentemente entre las
posibles permutaciones. Esto es mucho más práctico que buscar entre
todas las posibilidades, y es mucho más eficaz que examinar
permutaciones puramente aleatorias; se pueden conservar subórdenes de buenos escenarios y usarlos para crear escenarios aún
mejores.
Optimización
107
108
Algoritmos genéticos y
OptQuest
Introducción ....................................................................................111 Historia.............................................................................................111 Un ejemplo biológico .....................................................................115 Un ejemplo digital...........................................................................117 OptQuest..........................................................................................121 Algoritmos genéticos y OptQuest
109
110
Introducción
Desde sus versiones iniciales, Evolver ofrece algoritmos genéticos
para buscar las respuestas óptimas a los modelos. En la versión 6 de
Evolver se añadió el generador de optimización OptQuest. Este
capítulo proporciona información general sobre los algoritmos
genéticos y sobre OptQuest.
Historia
Los primeros algoritmos genéticos fueron desarrollados a principios
de los años setenta por John Holland en la University of Michigan. A
Holland le llamaba la atención la facilidad con la que los sistemas
biológicos realizaban tareas que no podían realizar ni siquiera las
supercomputadoras más avanzadas; los animales pueden reconocer
objetos sin problemas, comprender y traducir sonidos y navegar en
general a través de un entorno dinámico casi instantáneamente.
Durante décadas, los científicos pretendieron replicar esta capacidad
en las máquinas, pero empezamos a darnos cuenta de la dificultad
que entraña esta tarea. La mayoría de los científicos están de acuerdo
en que cualquier sistema biológico complejo que exhiba estas
cualidades ha evolucionado para llegar a ese punto.
Teoría de la
Evolución
La Evolución, según afirma la teoría, ha producido sistemas
asombrosos mediante elementos relativamente sencillos y autoreproductivos que siguen una serie de reglas simples:
1) La evolución se produce a nivel cromosómico. El organismo no
evoluciona sino que sirve de vehículo mediante el que se transportan
y transmiten los genes. Son los cromosomas los que cambian
dinámicamente con cada reorganización de los genes.
2) La naturaleza tiende a hacer más copias de los cromosomas que
producen organismos más “adaptados”. Si un organismo sobrevive lo
suficiente, y está sano, hay mayores probabilidades de que sus genes
se transmitan a una nueva generación de organismos a través de la
reproducción. Este principio se conoce como el de “supervivencia de
los mejor adaptados”. Recuerde que “mejor adaptado” es un término
relativo; para que un organismo tenga “éxito” sólo necesita adaptarse
en comparación con otros de la población actual.
Algoritmos genéticos y OptQuest
111
3) Debe mantenerse la diversidad de la población. En la naturaleza se
producen con frecuencia mutaciones aparentemente aleatorias que
aseguran la variación de los organismos. Estas mutaciones genéticas
resultan muchas veces en una función útil o incluso vital para la
supervivencia de una especia. Con una gama más amplia de posibles
combinaciones, una población es menos susceptible a debilidades
comunes que puedan destruir a todos sus elementos (virus, etc.) o a
otros problemas asociados con la reproducción con consanguinidad.
Cuando se divide la evolución en estas reglas fundamentales, es más
fácil aplicar estas técnicas al mundo informático y comenzar
verdaderamente un avance hacia máquinas de funcionamiento más
fluido y natural.
Holland empezó a aplicar estas propiedades de la evolución a
secuencias simples de números que representaban cromosomas.
Primero codificó el problema en secuencias binarias (filas de unos y
ceros) para representar los cromosomas, y luego hizo que la
computadora generara muchas de estas secuencias de “bit” para
formar una población completa. Programó una función de adaptación
que pudiera evaluar y clasificar cada secuencia de bit, y las secuencias
que se consideraron más “adaptadas” intercambiaban datos con otras
a través de una rutina de “cruce” para crear secuencias de bit de
“descendencia”. Holland incluso sometió sus cromosomas digitales a
un operador de “mutación” que introdujo aleatoriedad a los
cromosomas “descendientes” resultantes para conservar la diversidad
de la población. Esta función de adaptación reemplazaba el papel de
la muerte en el mundo biológico, determinando qué secuencias eran
buenas para continuar con la reproducción y cuáles dejarían de
conservarse en memoria.
112
Historia
El programa conservó un número determinado de estos
“cromosomas” en memoria, y esta “población” completa de
secuencias continuó evolucionando hasta maximizar la función de
adaptación. El resultado se decodificó de nuevo a sus valores
originales para revelar la solución. John Holland sigue siendo un
pionero activo en este campo, y ahora se unen a él cientos de
científicos y expertos que han dedicado la mayoría de su tiempo a
desarrollar esta prometedora alternativa a la tradicional
programación lineal y a las técnicas matemáticas y estadísticas.
El algoritmo genético original de Holland era bastante simple, a la vez
que extraordinariamente sólido, a la hora de encontrar soluciones
óptimas a una amplia variedad de problemas. Muchos programas
especiales en la actualidad resuelven problemas reales muy grandes y
complejos usando versiones que sólo son ligeras modificaciones de
ese algoritmo genético original.
Adaptaciones
modernas de
algoritmos
genéticos
Con el aumento del interés en entornos académicos y la incorporación
de una gran potencia de cálculo a las máquinas de comercialización
general, plataformas de referencia como Microsoft Windows y Excel
facilitaron el diseño y mantenimiento de modelos complejos. El uso
de números reales, en lugar de representaciones de secuencias de bits,
eliminaron la difícil tarea de codificar y decodificar los cromosomas.
La popularidad de algoritmo genético crece ahora exponencialmente,
con la creciente aparición de seminarios, libros, artículos periodísticos
y expertos consultores. La Conferencia Internacional sobre
Algoritmos Genéticos ya dedica su atención a aplicaciones prácticas,
una señal de madurez que no se muestra en otras tecnologías de
“inteligencia artificial”. Muchas de las compañías Fortune 500
emplean algoritmos genéticos regularmente para resolver problemas
del mundo real, desde agentes de bolsas y mercados de valores hasta
plantas energéticas, cadenas de restaurantes, fabricantes de
automóviles y emisoras de televisión. De hecho, es muy probable que
usted ya haya usado indirectamente un algoritmo genético.
Algoritmos genéticos y OptQuest
113
114
Un ejemplo biológico
veamos un sencillo ejemplo de evolución en el mundo biológico (a
pequeña escala). Por “evolución” queremos decir cualquier cambio de
distribución o frecuencia de los genes de una población. Por supuesto,
lo más interesante de la evolución es que tiende generar poblaciones
que se adaptan constantemente a sus entornos.
Imagine que estamos observando una población de ratones. Estos
ratones tienen dos tamaños, grande y pequeño, y dos colores, claro y
oscuro. Nuestra población consta de los siguientes ocho ratones:
Un día, los gatos llegaron al barrio y empezaron a comerse a los
ratones. Resulta que los ratones más oscuros y pequeños son más
difíciles de encontrar para los gatos. Por lo tanto, diferentes ratones
tienen diferentes posibilidades de evitar a los gatos lo suficiente como
para reproducirse. Esto afecta a la naturaleza de la siguiente
generación de ratones. Suponiendo que los ratones viejos mueren
poco después de reproducirse, la siguiente generación de ratones
sería así:
Observe que los ratones grandes, los ratones claros y, especialmente,
los ratones grandes y claros tienen problemas para sobrevivir lo
suficiente como para reproducirse. Esto continúa en la siguiente
generación.
Algoritmos genéticos y OptQuest
115
Ahora, la población consta mayoritariamente de ratones pequeños y
oscuros, porque estos ratones están mejor adaptados para la
supervivencia en este entorno que otros tipos de ratones. Del mismo
modo, cuando los gatos pasan hambre por la falta de comida, tal vez
los gatos que prefieren comer hierba estarán mejor adaptados y
transmitirán sus genes de comedores de hierba a la nueva generación
de gatos. Este es el concepto principal de la “supervivencia de los
mejor adaptados”. También podría decirse, de forma más exacta, que
se trata de la “supervivencia hasta la reproducción”. En términos de
evolución, ser el soltero más sano de la población no significa nada, ya
que es necesario reproducirse para que los genes influencien futuras
generaciones.
116
Un ejemplo biológico
Un ejemplo digital
Imaginemos un problema con dos variables, X e Y, que generan un
resultado Z. Si calculamos y hacemos el diagrama del resultado Z de
todos los valores posibles de X e Y, veremos aparecer un “paisaje” de
resultados (explicado en Optimización). Como estamos tratando de
obtener el valor máximo de “Z”, los picos de la función son soluciones
“buenas” y los valles son “malas”.
Cuando se usa un algoritmo genético para maximizar una función,
empezamos por crear varias soluciones o escenarios posibles
aleatorios (los puntos negros), en lugar de un solo punto inicial.
Luego se calcula el resultado de la función de cada escenario y se
incluye en el diagrama como un punto. A continuación, se clasifican
todos los escenarios según su altitud, de mejor a peor. Conservamos
los escenarios de la mitad superior de la lista y desechamos los demás.
Primero, se crea una “población” entera de
posibles soluciones. Unas son mejores (más
altas) que otras.
Algoritmos genéticos y OptQuest
Luego se clasifican todas y se conservan las
soluciones que generan mejores resultados.
117
Cada uno de los tres escenarios restantes se duplican, para que el
número total de escenario vuelva a ser de seis. Ahora viene la parte
más interesante: Cada uno de los seis escenarios se compone de dos
valores ajustables (en el diagrama como una coordenada de X e Y).
Los escenarios se emparejan aleatoriamente. Cada escenario
intercambia el primero de sus dos valores ajustables con el valor
correspondiente del otros. Por ejemplo:
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 cruce. Cuando los seis escenarios se
emparejan aleatoriamente y realizan los cruces, se puede obtener una
nueva serie de escenarios como esta:
En el ejemplo de arriba, presuponemos que los tres escenarios
originales, a, b y c, se emparejaron con los duplicados A, B y C, para
formar los pares aB, bC y bA. Luego, estos pares intercambiaron los
valores de la primera celda ajustable, que en nuestro diagrama es
equivalente a intercambiar las coordenadas x e y entre los pares de
puntos. La población de escenarios acaba de sobrevivir una
generación, con su ciclo de “muerte” y “nacimiento”.
118
Un ejemplo digital
Observe que algunos de los nuevos escenarios obtienen resultados
más bajos (altitud más baja) que cualquiera de los de la generación
original. Sin embargo, un escenario ha llegado a la cima más alta, lo
cual indica progreso. Si dejamos que la población evolucione otra
generación, podríamos ver una escena como la siguiente:
Se puede ver como el rendimiento promedio de la población de
escenarios aumenta por encima del rendimiento de la última
generación. En este ejemplo, no queda mucho espacio para la mejora.
Esto sucede porque sólo hay dos genes por organismo, sólo hay seis
organismos y no hay forma de que se creen nuevos genes. Esto
significa que hay una reserva genética limitada. La reserva genética es la
suma de todos los genes de todos los organismos de una población.
Los algoritmos genéticos pueden hacerse mucho más poderosos si
replican más elementos de la fuerza inherente de la evolución del
mundo biológico; aumentando el número de genes por organismo,
aumentando el número de organismos de una población y
permitiendo que se produzcan mutaciones aleatorias ocasionalmente.
Además, podemos elegir los escenarios que viven y se reproducen
como sucede naturalmente: con un elemento aleatorio con una ligera
tendencia hacia aquellos que se adaptan mejor, en lugar de elegir
simplemente a todos los que se adaptan mejor para reproducirse
(hasta al león más grande y fuerte le puede matar un rayo).
Todas estas técnicas estimulan el perfeccionamiento genético y
contribuyen a mantener la diversidad de la reserva genética,
manteniendo disponibles todo tipo de genes por si resultan útiles en
diferentes combinaciones. Evolver implementa automáticamente
todas estas técnicas.
Algoritmos genéticos y OptQuest
119
120
OptQuest
Introducción
El generador OptQuest incorpora métodos metaheurísticos para guiar
su algoritmo de búsqueda hacia las mejores soluciones. Este método
recuerda las soluciones que funcionaron bien y las recombina en
nuevas soluciones mejores. Además, esta técnica no queda atrapada
en soluciones locales o se desvía de su curso por datos con ruido
(inciertos) del modelo. El generador OptQuest combina la búsqueda
Tabú, la búsqueda dispersa, la programación de entera y las redes
neuronales en un sólo algoritmo de búsqueda compuesto que
proporciona la máxima eficacia para identificar escenarios nuevos.
Restricciones lineales
OptQuest genera soluciones que casi siempre cumplen todas las
restricciones lineales especificadas, y ahorra tiempo al no evaluar
soluciones no válidas. (Ocasionalmente OptQuest puede generar una
solución que no cumple una restricción lineal, debido al hecho de que
las computadoras no pueden manejar los cálculos con precisión
infinita. En esos casos, la solución se muestra como no válida en los
registros de Evolver).
El ejemplo de la panadería demuestra el manejo de restricciones
lineales en OptQuest. Dos de las tres restricciones son lineales, y todas
las soluciones generadas por OptQuest cumplen estas dos
restricciones. Por otro lado, la restricción "Total aceptable de horas de
trabajo" no es lineal, y no se satisface en algunas de las soluciones
generadas.
Restricciones no lineales
OptQuest maneja las restricciones no lineales eficazmente, incluyendo
las situaciones en las que los valores originales de las celdas ajustables
no son válidos (no cumplen las restricciones especificadas). El
algoritmo genético generalmente requiere que los valores originales
de las celdas ajustables cumplan las restricciones. Si la solución
original no es válida, la herramienta “Solver de restricciones”
encuentra una solución válida, proporcionando un punto de inicio
para una optimización con algoritmo genético. OptQuest no requiere
el uso del Solver de Restricciones. Si la solución original no es válida,
OptQuest puede iniciar la optimización generando una secuencia de
soluciones no válidas. Sin embargo, durante esta fase, recoge
Algoritmos genéticos y OptQuest
121
información sobre cuánto le falta a cada solución para cumplir la
restricción, con el objeto de encontrar soluciones válidas.
122
Extras de Evolver
Cómo añadir restricciones ............................................................125 Restricciones de rango.........................................................................126 Restricciones duras – personalizadas ...............................................127 Restricciones blandas ..........................................................................128 Funciones de penalización....................................................129 Introducción de una función de penalización...................129 Visualización de los efectos de la función de
penalización introducida ......................................................130 Visualización de las penalizaciones aplicadas..................130 Introducción de restricciones blandas en la hoja
de cálculo..................................................................................131 Más ejemplos de funciones de penalización.....................131 Uso de funciones de penalización .......................................132 Problemas de múltiples objetivos.....................................................133 Mejora de la rapidez .......................................................................135 Cómo se implementa la optimización de algoritmo genético
de Evolver ....................................................................................137 Extras de Evolver
123
124
Cómo añadir restricciones
Los problemas más realistas normalmente tienen una serie de
restricciones que deben cumplirse durante la búsqueda de la
respuesta óptima. Por ejemplo, en el ejemplo de la panadería que se
trató en el tutorial, hay una restricción que especifica el número
máximo de horas de trabajo disponibles.
Un escenario que cumple todas las restricciones de un modelo se
considera una solución viable o “válida”. A veces es difícil encontrar
soluciones viables para un modelo, y mucho menos encontrar una
solución viable óptima. Esto puede deberse a que el problema es muy
complejo y sólo tiene unas pocas soluciones viables, o a que el
problema tiene demasiadas especificaciones (muchas restricciones o
algunas restricciones interfieren con otras) y no hay soluciones
viables.
Hay tres tipos básicos de restricciones: restricciones de rango, o
rangos mín-máx colocados en celdas ajustables; restricciones duras,
que siempre deben cumplirse; y restricciones blandas que nos
gustaría cumplir en la medida de lo posible, pero que se podrían
ignorar en favor de una gran mejora en el valor de la celda objetivo
(función de objetivo).
Extras de Evolver
125
Restricciones de rango
Las restricciones duras más simples son las que se colocan en las
propias variables. Al establecer un cierto rango en cada variable, se
puede limitar el número total de posibles soluciones que Evolver
busca, lo cual resulta en una búsqueda más eficaz. Introduzca los
valores Mín y Máx en la ventana Modelo de la sección Rangos de
Celdas Ajustables para indicar a Evolver el rango de valores
aceptables para cada variable.
Evolver sólo probará valores entre 0 y 5,000 para las celdas especificadas.
Un segundo tipo de restricción dura colocada en la variable se ha
incorporado a algunos de los método de resolución de Evolver
(presupuesto, orden, agrupamiento, etc.). Por ejemplo, cuando se
ajustan variables usando el método de solución de presupuesto,
significa que Evolver tiene una restricción dura que sólo permite
hacer pruebas de grupos de valores que suman un mismo total. El
método de resolución de agrupamiento restringe a Evolver a usar sólo
valores de la lista especificada de ID de grupo. Como las restricciones
de rango, esta restricción dura también reduce el número de posibles
escenarios que deben buscarse.
Las opciones entero e independiente del cuadro de diálogo Modelo
también son una restricción dura; por ejemplo, podemos estar
indicando a Evolver que pruebe sólo valores enteros (1, 2, 3, etc.) en
lugar de números reales (1.34, 2.034, etc.) a la hora de ajustar los
valores de las variables.
126
Cómo añadir restricciones
Restricciones duras – personalizadas
Se puede introducir cualquier restricción que no esté en las
restricciones de variable de Evolver, usando el cuadro de diálogo
Configuraciones de Restricción.
Evolver no genera soluciones que no cumplan restricciones de rango y
de otras variables. Por otro lado, Evolver puede generar soluciones
que no cumplan restricciones personalizadas. En este caso se debe
evaluar una solución, antes de poder descartarla como no válida. Sin
embargo, con el generador de soluciones OptQuest, todas las
restricciones lineales se manejan como restricciones de rango de
variables: las soluciones que no cumplan una restricción no se
generan. Ejemplo de restricción lineal es una restricción que
especifique una suma fija de un grupo de celdas ajustables.
Corresponde a la restricción incorporada al método de resolución de
Presupuesto. Esto significa que en lugar de usar el método de
Presupuesto, el usuario puede seleccionar el método de Receta, y
especificar una restricción lineal apropiada.
Extras de Evolver
127
Restricciones blandas
Si se fuerza al programa para que sólo busque soluciones que
cumplan todas las restricciones, es posible que no se encuentre
ninguna solución viable. Con frecuencia, es más útil tener una
solución viable aproximada en la que no se cumplen algunas de las
restricciones.
Una alternativa al uso de “restricciones duras” que se deben cumplir
es reconfigurar el problema con “restricciones blandas”; restricciones
que Evolver tratarα de cumplir. Estas restricciones blandas son
frecuentemente más realistas y permiten que Evolver pruebe otras
muchas opciones. En el caso de problemas altamente restringidos (en
los que no hay muchas soluciones que cumplan todos los requisitos),
el algoritmo genético de Evolver tendrá más posibilidades de
encontrar la mejor solución si se le permite obtener información sobre
algunas soluciones cercanas a las soluciones que cumplen las
restricciones. (Estas consideraciones generalmente no se aplican si se
usa el generador de optimizaciones OptQuest. La diferencia está en
cómo ambos algoritmos tratan las soluciones no válidas, es decir, las
soluciones que no cumplen las restricciones duras. Generalmente
OptQuest explora y utiliza dichas soluciones eficazmente, sin
necesidad de usar restricciones blandas).
Cuando las restricciones son objetivos designados, como “producir el
doble de tenedores que de cuchillos”, muchas veces no es tan
importante que se cumplan exactamente: especialmente si obtener un
calendario de producción perfectamente equilibrado requiere un
proceso de optimización de un día de duración. En este caso, una
buena solución al problema, que casi cumple la restricción (la
producción es 40% tenedores, 23% cuchillos, 37% cucharas),
normalmente es mejor que esperar todo el día para averiguar que tal
vez no hay solución, porque no es posible cumplir todas las
restricciones.
128
Cómo añadir restricciones
Funciones de
penalización
Las restricciones blandas se pueden implementar fácilmente en Excel
a través del uso de funciones de penalización. En lugar de indicar a
Evolver que en ningún caso puede usar ciertos valores cuando busca
soluciones, permitimos que esos valores “no válidos” se examinen,
pero penalizaremos esas soluciones como corresponde. Por ejemplo,
un problema puede consistir en encontrar la forma más eficaz de
distribuir productos con la restricción de que se usen sólo tres
camiones. Un modelo más preciso incluiría una función de
penalización que permitiera usar más camiones, pero añadiera el gran
costo al resultado final. Las funciones de penalización se pueden
especificar en el cuadro de diálogo Configuración de Restricciones o
se puede introducir directamente en el modelo añadiendo una
fórmula que represente las funciones de penalización.
Introducción de
una función de
penalización.
Evolver tiene una función de penalización predeterminada que
aparece cuando se introduce una restricción blanda. Sin embargo,
cualquier fórmula de Excel válida se puede introducir para calcular la
cantidad de la penalización a aplicar cuando no se cumple una
restricción blanda. La función de penalización introducida debe
incluir la palabra clave desviación que representa la cantidad absoluta
por la que la restricción ha superado su límite. Al final de una
solución de prueba, Evolver comprueba si se han cumplido las
restricciones blandas; si no, coloca la cantidad de la desviación en la
fórmula de la penalización introducida y luego calcula la cantidad de
la penalización a aplicar al valor de la celda objetivo que se trata de
minimizar o maximizar.
Extras de Evolver
129
La cantidad de la penalización se suma o se resta a este valor en la
celda objetivo para que resulte menos "óptima". Por ejemplo, si se ha
seleccionado Máximo en el campo Encontrar el del cuadro de diálogo
Modelo de Evolver, la penalización se resta del valor en la celda
objetivo.
Visualización de
los efectos de la
función de
penalización
introducida
Evolver incluye la hoja de trabajo Funciones de penalización y
restricciones blandas en Evolver.xlsx (o .xls) que se puede usar para
evaluar los efectos de diferentes funciones de penalización en
restricciones blandas y celdas objetivo específicas.
Funciones de penalización y restricciones blandas en Evolver.xlsx
permite seleccionar una restricción blanda de su modelo para analizar
sus efectos. Luego puede cambiar la función de penalización para ver
cómo la función transforma un valor específico de la restricción
blanda incumplida en un valor para la celda objetivo. Por ejemplo, si
la restricción blanda es A10<100, puede usar Funciones de
penalización y restricciones blandas en Evolver.xlsx para ver cuál
sería el valor objetivo si se calcula un valor de 105 en la celda A10.
Visualización de
las penalizaciones
aplicadas
130
Cuando se aplica una penalización a la celda objetivo por
incumplimiento de una restricción blanda, la cantidad de la
penalización se puede visualizar en el Observador del Evolver.
Además, los valores de penalización se muestran en las hojas de
cálculo Registro de Optimización, que se puede crear tras la
optimización.
Cómo añadir restricciones
Introducción de
restricciones
blandas en la hoja
de cálculo
Las funciones de penalización también se pueden introducir
directamente en la hoja de cálculo. Una función de penalización
booleana asigna una penalización establecida a cualquier escenario
que no cumpla la restricción especializada. Por ejemplo, si quiere que
el valor de la celda B1(suministro) sea al menos tan grande como el
valor de la celda A1(demanda), puede crear esta función de
penalización en otra celda: =SI(A1>B1, -1000, 0). Si el resultado de
esta celda se añade al dato de la celda objetivo, cada vez que Evolver
prueba una solución que incumple esa restricción (es decir, el
suministro no satisface la demanda), el dato de la celda objetivo que
se trata de maximizar muestra un valor 1,000 unidades inferior al
resultado real. Cualquier solución que incumpla esta restricción
produce un valor bajo del dato de la celda objetivo, y Evolver acabará
por “eliminar” estos organismos.
También se puede usar una función de penalización de escala, que
penaliza con mayor precisión la solución dependiendo de en qué
medida incumple la restricción. Este método resulta frecuentemente
más práctico en el mundo real, ya que una solución en la que el
suministro no satisface totalmente la demanda será siempre mejor que
una solución que ni siquiera se aproximó a la demanda. Una simple
función de penalización de escala calcula la diferencia absoluta entre
el valor objetivo de la restricción y el valor real. Por ejemplo, en el
mismo problema donde A1(demanda) no debe exceder
B1(suministro), podríamos asignar la siguiente función de
penalización: =SI(A1>B1, (A1-B1)^2, 0). Este tipo de penalización
mide lo cerca que está el cumplimiento de una restricción, y exagera
esa diferencia elevándola al cuadrado. Ahora, la penalización cambia
dependiendo de lo mucho que una solución incumple una restricción.
Más ejemplos de
funciones de
penalización
Extras de Evolver
Por ejemplo, supongamos que crea un modelo de manufacturación en
el que una de las restricciones es que la cantidad de madera que se
usa debe ser igual a la cantidad de plástico que se usa. Esta restricción
se cumple cuando “CantidadDeMadera” = “CantidadDePlástico”.
Queremos encontrar soluciones que incluyan la misma cantidad de
ambos materiales, por lo tanto creamos una función de penalización
para no favorecer soluciones que se alejan de nuestro objetivo. La
fórmula “=ABS(CantidadDeMadera-CantidadDePlástico)” calcula la
diferencia absoluta (no negativa) entre la cantidad de madera y la
cantidad de plástico que se usan. Al usar la función ABS(), obtenemos
el mismo valor de penalización si CantidadDeMadera es superior en
más de 20 a CantidadDePlástico, o si CantidadDePlástico es menor en
más de 20 a CantidadDeMadera. Ahora, cuando se optimiza el
modelo, el objetivo es minimizar la media de los resultados de
simulación de esta diferencia absoluta.
131
Supongamos que imponemos esta otra restricción: La cantidad de
madera debe ser el doble que la cantidad de plástico. Entonces, la
función de penalización sería:
=ABS(CantidadDeMadera-CantidadDePlástico*2)
Una restricción diferente es que la cantidad de madera debe ser no
inferior a el doble de la cantidad de plástico. Mientras que el ejemplo
anterior producía una penalización si había demasiada madera, en
este caso sólo nos preocupa si no hay suficiente madera; si
CantidadDeMadera es diez veces mayor que CantidadDePlástico, no
queremos que se aplique ninguna penalización. La función de
penalización apropiada sería:
=SI(CantidadDeMadera<CantidadDePlastico*2,
ABS(CantidadDePlastico*2-CantidadDeMadera),0)
Si CantidadDeMadera es al menos el doble de CantidadDePlastico, la
función de penalización genera un valor 0. De lo contrario, la función
indica la diferencia de cuánto menor es el valor de
CantidadDeMadera con respecto al doble de CantidadDePlástico.
Uso de funciones
de penalización
Después de crear funciones de penalización para describir las
restricciones blandas del modelo, puede combinarlas con la fórmula
de la celda objetivo normal para obtener una fórmula de celda
objetivo restringida. En el ejemplo ilustrado abajo, si la celda C8
calcula el costo total de un proyecto y las celdas E3:E6 contienen cinco
funciones de penalización, entonces se puede crear la fórmula
=SUM(C8, E3:E6) en la celda C10 .
Cree una celda que añada las restricciones al total y minimice la
media de los resultados de la simulación de esta celda.
132
Cómo añadir restricciones
Esto añade las penalizaciones de la columna E al costo de C8 para
obtener una función de costo restringida o penalizada en C10.
Observe que si esto fuera un problema de maximización debería
restar, en lugar de sumar, las penalizaciones a la celda objetivo
original. Ahora, cuando use Evolver, sólo tendrá que seleccionar esta
celda restringida, C10, como celda objetivo cuyo dato de simulación
se quiere optimizar.
Cuando Evolver trata de optimizar un dato restringido para la celda
objetivo, las funciones de penalización tenderán a forzar la búsqueda
hacia escenarios que cumplan las restricciones. Finalmente, Evolver
acabará con soluciones que son buenas respuestas y que cumplen o
casi cumplen todas las restricciones (las funciones de penalización
tendrán valores cercanos a 0).
Problemas de múltiples objetivos
Aunque se especifique una sola celda en el campo de celda objetivo
de Evolver, todavía se pueden resolver múltiples objetivos mediante
la creación de una función que combine los dos objetivos en un solo
objetivo. Por ejemplo, supongamos que un científico dedicado a los
polímeros pretende crear una sustancia flexible y al mismo tiempo
fuerte. El modelo calcula la fuerza, flexibilidad y peso que resultarían
de una mezcla determinada de combinaciones químicas. La cantidad
de cada producto químico a usar son las variables ajustables del
problema.
Como quiere maximizar la Fuerza de la sustancia (celda S3) pero
también quiere maximizar la Flexibilidad (celda F3), debe crear una
nueva celda con la fórmula: =(S3+F3). Esta sería la nueva celda
objetivo, porque cuando más alto sea este número, mejor será la
solución en general.
Si la flexibilidad fuera más importante que la fuerza, podríamos
cambiar la fórmula de la celda objetivo a =(S3+(F3*2)). De esta forma,
los escenarios que aumentan la flexibilidad en una cierta cantidad
serían mejores (generarían un valor de “función objetivo” más alta)
que los escenarios que aumentan la fuerza en esa misma medida.
Si quiere maximizar la Fuerza de la sustancia (celda S5) pero también
quiere minimizar el Peso (celda W5), debe crear una nueva celda con
la siguiente fórmula: =(S5^2)-(W5^2). Esta fórmula generará un
número más alto cuando la estructura sea a la vez fuerte y ligera, un
número más bajo cuando la estructura es débil y pesada y números
igualmente promedio en los escenarios débil y ligera, y fuerte pero
pesada. Por lo tanto, deberá usar esta nueva celda como objetivo y
maximizar su media para satisfacer ambos objetivos.
Extras de Evolver
133
134
Mejora de la rapidez
Cuando se utiliza Evolver para resolver un problema, se usa la
biblioteca de Evolver de rutinas compiladas para controlar el proceso
así como la función de evaluación de la hoja de cálculo de Excel para
examinar los diferentes escenarios. Gran parte del tiempo que utiliza
Evolver es realmente usado por Excel para recalcular la hoja de
cálculo. Hay una serie de cosas que se pueden hacer para acelerar la
optimización de Evolver y el proceso de recálculo de Excel.
Extras de Evolver

La velocidad de Evolver es directamente proporcional a la
velocidad del procesador del PC. Si multiplica por dos la
velocidad de procesamiento de su procesador, Evolver podrá
evaluar el doble de pruebas en la misma cantidad de tiempo.

Trate de evitar que se vuelva a generar la pantalla. El dibujo de
gráficos y números en pantalla consume tiempo, a veces más de la
mitad del tiempo que se dedica a una optimización. Si tiene tablas
o gráficos en la hoja, ralentizarán significativamente el tiempo de
recálculo. Puede indicar a Excel que no dedique tiempo a generar
la imagen mientras Evolver resuelve el problema desactivando la
opción “Mostrar recálculos de Excel” en la pestaña Visualizar del
cuadro de diálogo Configuraciones de Optimización, o
seleccionando “Minimizar el Excel al inicio” en la misma pestaña.
Puede ver lo rápido que se procesa un problema observando la
barra de estado.

Ajuste con mayor precisión los rangos de las celdas ajustables; de
esta forma se creará un área más pequeña en la que Evolver
buscará las soluciones, y por lo tanto se acelerará el proceso.
Asegúrese de que los rangos dan suficiente libertad a Evolver
como para explorar todas las soluciones realistas.
135
136
Cómo se implementa la optimización de
algoritmo genético de Evolver
En esta sección se describe más específicamente cómo se implementa
la optimización de algoritmo genético de Evolver.
NOTA: No es necesario conocer esta información para poder usar
Evolver.
La mayoría de la tecnología de algoritmo genético de Evolver, como
los métodos de solución de receta y orden, se basan en trabajos
académicos realizados en el campo de los algoritmos genéticos
durante los últimos diez años. Sin embargo, la mayoría de los
métodos de solución derivados que se incluyen en Evolver, y los
múltiples grupos de celdas ajustables, regresión, estrategia y
funciones de probabilidad, son exclusivas de Evolver.
Evolver utiliza un método de estado uniforme. Esto significa que sólo
un organismo se reemplaza cada vez, en lugar de reemplazar una
“generación” entera. Esta técnica de estado uniforme ha demostrado
funcionar tan bien, o mejor, que el método de reemplazo
generacional. Para encontrar el número equivalente de
“generaciones” que Evolver ha procesado, debe tomar el número de
pruebas individuales que ha explorado y dividirlo entre el tamaño de
la población.
Selección
Cuando se va a crear un nuevo organismo, se seleccionan dos padres
entre la población actual. Hay más probabilidades de que se
seleccionen como padres los organismos con valores de función
objetivo más altas.
En Evolver, los padres se seleccionan mediante un mecanismo basado
en la clasificación. A diferencia de algunos sistemas de algoritmos
genéticos en los que las posibilidades de selección de los padres para
la reproducción son directamente proporcionales a su valor de
función objetivo, el método basado en clasificación ofrece una curva
de probabilidad de selección más uniforme. Esto impide que los
organismos buenos dominen completamente la evolución desde el
principio.
Extras de Evolver
137
Cruce
Como cada método de solución ajusta las variables de diferentes
formas, Evolver emplea una rutina de cruce diferente optimizada
para ese tipo de problema.
El método de solución de receta básico realiza cruces usando una
rutina de cruce uniforme. Esto significa que en lugar de dividir la lista
de variables en un momento dado del escenario, procesando cada uno
de los dos bloques (denominados cruces de “un solo punto” o “doble
punto”), se forman dos grupos seleccionando aleatoriamente los
elementos que en un grupo u otro. Los cruces de punto x tradicionales
pueden influir sobre la búsqueda debido a la posición irrelevante de
las variables, mientras que el método de cruce uniforme se considera
mejor para preservar el esquema, y puede generar cualquier esquema
a partir de los dos padres.
El método de solución de orden realiza el cruce usando un algoritmo
similar al operador de cruce de orden descrito en el libro Handbook of
Genetic Algorithms de L. Davis. * De esta forma se seleccionan
elementos aleatoriamente a partir de un padre, se encuentran sus
posiciones en el otro padre, y se copian los elementos restantes en el
segundo padre en el mismo orden en el que aparecen en el primer
padre. Esto conserva algunos de los sub-órdenes de los padres
originales mientras se crean algunos sub-órdenes nuevos.
*
Davis, Lawrence (1991). Handbook of Genetic Algorithms. New
York: Van Nostrand Reinhold.
138
Cómo se implementa la optimización de algoritmo genético de Evolver
Mutación
Como sucede con el cruce, los métodos de mutación han sido
personalizados para cada uno de los diferentes métodos de solución.
El método de solución de receta básico realiza mutaciones
examinando cada variable individualmente. Se genera un número
aleatorio entre 0 y 1 para cada una de las variables del organismo, y si
una variable obtiene un número menor o igual a la tasa de mutación
(por ejemplo, 0.06), entonces esa variable se muta. La cantidad y
naturaleza de la mutación se determina automáticamente mediante
un algoritmo exclusivo. La mutación de una variable incluye su
reemplazo por un valor generado aleatoriamente (dentro de su rango
mín-máx válido).
Para conservar todos los valores originales, el método de solución de
orden realiza la mutación mediante el intercambio de posiciones de
algunas variables del organismo. El número de intercambios
realizados se incrementa o reduce proporcionalmente al incremento o
reducción de la configuración de la tasa de mutación (de 0 a 1).
Reemplazo
Como Evolver usa un método de orden de clasificación en lugar de un
método de reemplazo generacional, los organismos que peor se
adaptan son siempre reemplazados por un nuevo organismo que se
crea mediante selección, cruce y mutación, independientemente de su
valor de “función objetivo”.
Restricciones
Las restricciones duras se implementan mediante una tecnología
exclusiva de Palisade denominada “regresión”. Si un nuevo elemento
descendiente incumple alguna de las restricciones impuestas
externamente, Evolver regresa hacia uno de los padres del
descendiente, cambiando el descendiente hasta que se encuentre
dentro del espacio de solución válido.
Extras de Evolver
139
140
Apéndice A: Automatización de
Evolver
Evolver incluye un lenguaje completo de macros para el desarrollo de
aplicaciones personalizadas que usan funciones de Evolver. Las
funciones personalizadas de Evolver se pueden usar en Visual Basic
for Applications (VBA) para la configuración y ejecución de
optimizaciones y para mostrar los resultados de las optimizaciones.
Para obtener más información sobre esta interfaz de programación,
consulte el documento de ayuda del Juego de Desarrollo de Evolver,
disponible a través del menú de Ayuda de Evolver.
Apéndice A: Automatización de Evolver
141
142
Apéndice B: Resolución de
problemas / Preguntas y
respuestas
Resolución de problemas / Preguntas y
respuestas
Esta sección responde algunas de las preguntas más comunes
relacionadas con Evolver y ofrece información sobre cuestiones,
problemas y sugerencias habituales. Después de leer esta sección,
puede llamar al departamento de asistencia al cliente de Palisade a los
números de teléfono indicados en el capítulo inicial de este manual.
P: ¿Por qué tengo problemas para obtener una respuesta válida de
Evolver?
R: Asegúrese de que el cuadro de diálogo de Evolver está
configurado correctamente. La mayoría de los problemas están
asociados con la configuración de las variables. Cada grupo de
celdas ajustables debe ser exclusivo, de forma que ninguna celda
o grupo de celdas se procese con más de un método de solución.
P: ¿Evolver puede procesar conceptos o categorías en lugar de
números?
R: Evolver puede procesar indirectamente cualquier tipo de dato, ya
que los números no son más que símbolos. Use una tabla de
referencia en Excel para traducir números enteros a secuencias de
texto. Evolver (como el resto de los programas informáticos)
básicamente sólo procesa números, pero la interfaz puede usar
esos números para representar y mostrar cualquier tipo de
secuencia.
Apéndice B: Resolución de problemas / Preguntas y respuestas
143
P: Aunque completo los cuadros de diálogo de la misma forma y
Evolver se ejecuta la misma cantidad de tiempo, a veces Evolver
encuentra soluciones diferentes.
R: Como sucede en la selección natural del mundo biológico, el
algoritmo genético de Evolver no sigue siempre el mismo camino
para buscar soluciones (a menos que use un generador de número
aleatorio fijo). Resulta irónico que sea esta “impredecibilidad” la
que permita a Evolver resolver más tipos de problemas y, con
frecuencia, encontrar mejores soluciones que con los métodos
tradicionales. El motor del algoritmo genético de Evolver no sólo
ejecuta una serie de comandos pre-programados o coloca valores
mediante una fórmula matemática, sino que experimenta
eficazmente con escenarios hipotéticos aleatorios simultáneos,
para luego refinar la búsqueda mediante múltiples operadores de
“supervivencia de los mejor adaptados” que también contienen
elementos aleatorios.
Se puede dar una razón similar en el caso de OptQuest, el otro
algoritmo de optimización de Evolver. OptQuest experimenta con
diferentes posibles soluciones, controlando los resultados de los
experimentos realizados hasta el momento. La aleatoriedad del
proceso impide que regrese a una solución localmente óptima (si
existe una mejor solución óptima global).
Es posible especificar las configuraciones que hagan que dos
optimizaciones de Evolver generen idénticos resultados. Para
conseguirlo, escriba cualquier número entero en el campo
Número de inicio en la pestaña Visualizar del cuadro de diálogo
Configuraciones de Optimización. Además deben seleccionarse
las condiciones de parada “Pruebas” o “Progreso” en la pestaña
Tiempo de Ejecución de ese mismo cuadro de diálogo.
P: ¿Por qué no cambia la mejor solución encontrada?
R: Es posible que haya especificado la celda objetivo incorrecta en el
cuadro de diálogo Modelo de Evolver. Evolver está examinando
esta celda en blanco y el valor no cambia porque no contiene una
fórmula. Para solucionar este problema, abra el cuadro de diálogo
Modelo de Evolver y seleccione una celda objetivo apropiada; es
decir, una que refleje con exactitud lo buena o mala que es cada
posible solución. Una celda objetivo apropiada contiene una
fórmula que depende, directa o indirectamente, de las variables
que Evolver ajusta (celdas ajustables).
144
Resolución de problemas / Preguntas y respuestas
P: Algunas de las celdas del modelo de la hoja de cálculo
contienen los símbolos “####”.
R: Si la celda es demasiado pequeña para mostrar todo su contenido,
muestra varios signos ####. Aumente el tamaño de la celda.
P: Evolver funciona bien pero, ¿hay alguna forma más sencilla de
obtener mejores resultados?
R: Experimente con los dos algoritmos de optimización disponibles
en Evolver: el algoritmo genético y OptQuest. Pruebe a hacer
optimizaciones con ambos utilizando la opción Manual en la
pestaña Generador del cuadro de diálogo Configuraciones de
Optimización (recuerde que el informe de Resumen de
Optimización identifica el algoritmo de optimización que se
utilizó). En el caso del algoritmo genético se puede experimentar
aún más con el valor de la tasa de mutación y las selecciones de
operadores genéticos.
Cuantos más escenarios pueda ejecutar Evolver, mejor. Acelere el
proceso de Evolver asegurándose de que la opción "Mostrar
recálculos de Excel" está desactivada o en "Cada nueva prueba
mejorada" (en la pestaña Visualización del cuadro de diálogo
Configuraciones de Optimización).
Apéndice B: Resolución de problemas / Preguntas y respuestas
145
146
Apéndice C: Recursos
adicionales
Recursos adicionales de aprendizaje
La siguiente lista incluye una muestra de documentación relacionada
con los algoritmos genéticos y vida artificial. El asterisco (*) indica una
obra recomendada por Palisade.
Libros
• Bolles, R.C., & Beecher, M.D. (Eds.). (1988). Evolution and Learning.
Lawrence Erlbaum.
• Beer, R.D. (1990). Intelligence as Adaptive Behavior: An Experiment in
Computational Neuroethology. Academic Press.
• Davis, Lawrence (1987). Genetic Algorithms and Simulated Annealing. Palo
Alto, CA: Morgan Kaufman.
* Davis, Lawrence (1991). Handbook of Genetic Algorithms. New York: Van
Nostrand Reinhold.
• Darwin, Charles (1985). On The Origin of Species. London: Penguin
Classics. (originalmente publicado en 1859)
* Dawkins, Richard. (1976). The Selfish Gene. Oxford University Press.
• Eldredge, N. (1989). Macroevolutionary Dynamics: Species, Niches, and
Adaptive Peaks. McGraw-Hill.
• Fogel, L., Owens, J., and Walsh, J. (1966). Artificial Intelligence through
Simulated Evolution. New York: John Wiley and Sons.
• Goldberg, David (1989). Genetic Algorithms in Search, Optimization, and
Machine Learning. Reading, MA: Addison-Wesley Publishing.
• Holland, J.H. (1975). Adaptation in Natural and Artificial Systems. Ann
Arbor, MI: University of Michigan Press.
• Koza, John (1992). Genetic Programming. Cambridge, MA: MIT Press.
* Langton, C.L. (1989). Artificial Life. MIT Press. [ALife I]
• Levy, Steven (1992). Artificial Life. New York: Pantheon.
Apéndice C: Recursos adicionales
147
• Meyer, J.-A., & S.W. Wilson (Eds.). (1991). Proceedings of the First
International Conference on Simulation of Adaptive Behavior: From
Animals to Animats. MIT Press/Bradford Books.
* Proceedings of the Sixth International Conference (ICGA) on Genetic
Algorithms (1995). San Mateo, CA: Morgan Kaufman Publishing.
(También se ofrecen las actas de las cinco primeras conferencias de
ICGA).
• Proceedings of the Workshop on Artificial Life (1990). Christopher G.
Langton, Senior Editor. Reading, MA: Addison-Wesley Publishing.
• Rawlins, Gregory (1991). Foundations of Genetic Algorithms. San Mateo,
CA: Morgan Kaufman Publishing.
• Richards, R.J. (1987). Darwin and the Emergence of Evolutionary Theories
of Mind and Behavior. U. Chicago Press.
• Williams, G.C. (1966). Adaptation and Natural Selection. Princeton U. Press.
Artículos
* Antonoff, Michael (October, 1991). Software by Natural Selection. Popular
Science, p. 70-74.
• Arifovic, Jasmina (January, 1994). Genetic Algorithm Learning and the
Cobweb Model. Journal of Economic Dynamics & Control v18 p.3
* Begley, S (May 8, 1995). “Software au Naturel” In Newsweek p. 70
• Celko, Joe (April, 1993). Genetic Algorithms and Database Indexing. Dr.
Dobb’s Journal p.30
• Ditlea, Steve (November, 1994). Imitation of Life. In Upside Magazine p.48
• Gordon, Michael (June, 1991). User-based Document Clustering by
Redescribing Subject Descriptions with a Genetic Algorithm. Journal of
the American Society for Information Science v42 p.311
• Hedberg, Sara (September, 1994). Emerging Genetic Algorithms. AI Expert,
p. 25-29.
• Hinton, G.E., & Nowlan, S.J. (1987). How Learning Can Guide Evolution.
Complex Systems 1: p.495-502.
* Kennedy, Scott (June, 1995). Genetic Algorithms: Digital Darwinism.
Hitchhicker’s Guide to Artificial Intelligence Miller Freeman Publishers
• Kennedy, Scott (December, 1993). Five Ways to a Better GA. AI Expert, p.
35-38
• Lane, A (June, 1995). The GA Edge in Analyzing Data. AI Expert p.11
• Lee, Y.C. (Ed.). (1988). Evolution, learning, and cognition. World Scientific.
• Levitin, G and Rubinovitz, J (August, 1993). Genetic Algorithm for Linear
and Cyclic Assignment Problem. Computers & Operations Research v20
p.575
148
Recursos adicionales de aprendizaje
• Marler, P., & H.S. Terrace. (Eds.). (1984). The Biology of Learning. SpringerVerlag.
• Mendelsohn, L. (December, 1994) Evolver Review. Technical Analysis of
Stocks and Commodities. p.33
• Maynard Smith, J. (1987). When Learning Guides Evolution. Nature 329:
p.761-762.
• Murray, Dan (June, 1994). Tuning Neural Networks with Genetic
Algorithms. AI Expert p.27
• Wayner, Peter (January, 1991). Genetic Algorithms: Programming Takes a
Valuable Tip from Nature. Byte Magazine v16 p.361
Revistas y hojas informativas
• Advanced Technology for Developers (hoja informativa mensual). Jane
Klimasauskas, Ed., High-Tech Communications, 103 Buckskin Court,
Sewickley, PA 15143 (412) 741-7699
• AI Expert (revista mensual). Larry O’Brien, Ed., 600 Harrison St., San
Francisco, CA 94107 (415) 905-2234. *Aunque AI Expert dejó de
publicarse en la primavera de 1995, su ediciones anteriores contienen
muchos artículos de gran utilidad. Miller-Freeman, San Francisco.
• Applied Intelligent Systems (hoja informativa bimensual). New Science
Associates, Inc. 167 Old Post Rd., Southport, CT 06490 (203) 259-1661
• Intelligence (hoja informativa mensual). Edward Rosenfeld, Ed., PO Box
20008, New York, NY 10025-1510 (212) 222-1123
• PC AI Magazine (revista mensual). Joseph Schmuller, Ed., 3310 West Bell
Rd., Suite 119, Phoenix, AZ 85023 (602) 971-1869
• Release 1.0 (hoja informativa mensual). Esther Dyson, Ed., 375 Park
Avenue, New York, NY 10152 (212) 758-3434
• Sixth Generation Systems (hoja informativa mensual). Derek Stubbs, Ed.,
PO Box 155, Vicksburg, MI, 49097 (616) 649-3592
Apéndice C: Recursos adicionales
149
150
Recursos adicionales de aprendizaje
Glosario
Para obtener información adicional sobre cualquier término, consulte
el índice de Evolver en el siguiente capítulo.
Algoritmo
Método de solución por pasos de base matemática para ciertos tipos
de problemas. Todos los programas informáticos se desarrollan
mediante la combinación de muchos algoritmos.
Algoritmo de
escalada
Procedimiento de optimización que comienza en un escenario
determinado y se mueve a pequeños pasos repetidamente en la
dirección que más lo mejora. Los algoritmos de escalada son rápidos y
simples, pero tienen dos inconvenientes. Primero, puede ser necesario
mucho trabajo para encontrar la dirección que ofrece la mayor mejora.
Segundo, los algoritmos normalmente suben a la colina más cercana,
o máximo local. Esto impide que el algoritmo encuentre el máximo
global en un problema difícil.
Algoritmo
genético
Procedimiento para mejorar los resultados de algunas operaciones
mediante la prueba repetitiva de varias soluciones posibles y la
reproducción y mezcla de componentes de las mejores soluciones. El
proceso es básicamente similar y está inspirado en el proceso de
evolución del mundo biológico, en el que los mejor adaptados
sobreviven para reproducirse.
Barra de estado
La barra de estado aparece en la parte inferior de la ventana de Excel
y muestra la actividad actual de Evolver.
Campo
La unidad básica de introducción de datos. Dependiendo del tipo de
campo, un campo puede contener texto, imágenes o números. La
mayoría de los campos de los cuadros de diálogo de Evolver solicitan
al usuario la ubicación de celdas de una hoja de cálculo u opciones
sobre cómo debe funcionar Evolver.
Celda
Una celda es la unidad básica de una hoja de cálculo en la que se
almacenan datos. En cada hoja de cálculo de Excel hay hasta 256
columnas y 16,000 filas, para un total de más de 4 millones de celdas.
Celda ajustable
Una celda de hoja de cálculo cuyo valor se puede ser ajustado por
Evolver para tratar de optimizar el valor de la celda objetivo. Una
celda ajustable es un valor de variable y debe contener siempre un
número simple, y no una ecuación.
Glosario
151
Celda objetivo
La celda de la hoja de cálculo cuyo valor queremos minimizar o
maximizar. Esta celda se establece en el cuadro de diálogo Modelo de
Evolver (seleccionando el comando Definición de modelo de Evolver
o el icono Modelo).
Cruce
En un contexto de base genética, un cruce es un intercambio de
material genético equivalente al que se produce entre dos cromátidas
homólogas durante la meiosis. En Evolver, el término cruce se usa
para expresar el equivalente informático de un cruce en el que se
produce un intercambio entre variables que genera nuevas
combinaciones de escenarios.
Cuadro de diálogo
Es la ventana que se muestra en un PC en la que se solicita que el
usuario introduzca información. También se denomina caja o cuadro
de diálogo. Evolver contiene dos cuadros de diálogo principales: el
cuadro de diálogo Modelo de Evolver y el cuadro de diálogo
Configuraciones de Optimización.
Escenario
Grupo de valores de las variables de un modelo de una hoja de
cálculo. Cada escenario frecuentemente representa una posible
solución.
Estocástica
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, es una característica observable de un individuo que
surge mediante la interacción entre genes, y entre los genes y el
entorno. En el estudio de GA, el fenotipo se usa para describir las
variables individuales o “genes” que componen una solución
completa o “cromosoma”. (ver Genotipo)
Función objetivo
Es una fórmula que puede calcular lo buena o lo mala que puede ser
una solución propuesta a un problema dado. En el campo de
algoritmos genéticos también significa “función de idoneidad”.
Función de
penalización
Una ecuación de una hoja de cálculo que Evolver puede usar para
penalizar escenarios que no cumplen ciertos criterios. Las funciones
de penalización se usan para minimizar efectos secundarios de los
escenarios o para alcanzar múltiples objetivos. A diferencia de las
restricciones duras, las funciones de penalización permiten la
exploración de soluciones no válidas, pero las empeora de forma que
la población evolucione distanciándose de esas soluciones. Las
penalizaciones booleanas pueden estar activas o inactivas,
penalizando todas las soluciones no válidas en la misma medida. Las
penalizaciones de escala son más fluidas y asignan una penalización
proporcional a lo mucho o lo poco que se incumple una restricción.
152
Recursos adicionales de aprendizaje
Funciones
En Excel, una función es una fórmula predefinida que toma un valor,
realiza una operación y genera un valor. Excel contiene cientos de
fórmulas incorporadas (como “SUM”) que ahorran tiempo y espacio,
y son más rápidas. Por ejemplo, en lugar de escribir A1+ A2+ A3+
A4+ A5+ A6, puede escribir SUM(A1:A6) y obtener el mismo
resultado.
Generación
En el campo de los algoritmos genéticos, cada población
completamente nueva de soluciones “descendientes” es una nueva
“generación”. Algunas rutinas de algoritmo genético emparejan a
todos los miembros de una población a la vez, creando una
“generación” totalmente nueva de organismos descendientes que
reemplaza a la población anterior. Evolver evalúa y reemplaza un
organismo cada vez (ordenados en clasificación) y por lo tanto no usa
el término “generación” en su documentación. Esta técnica de estado
uniforme funciona tan bien como el reemplazo generacional.
Semilla de
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.
Ver Muestra aleatoria
Genotipo
En biología, es la constitución genética de un individuo. El término
normalmente se refiere a la suma total de todos los genes
individuales. En el estudio de los GA, genotipo se usa para describir
el “cromosoma” artificial que se evalúa como posible solución al
problema.
Grupo de celdas
ajustables
Un grupo de celdas ajustables es un grupo de variables junto con la
forma en que se tratarán. Evolver incluye todos los grupos de celdas
ajustables en la sección variables del cuadro de diálogo Modelo de
Evolver. Este tipo de arquitectura permite construir y describir
problemas complejos como varios grupos de celdas ajustables.
Máximo global
El valor más grande posible de una función determinada. Las
funciones o modelos complejos pueden tener muchos valores
máximos locales, pero un solo máximo global.
Máximo local
El mayor valor posible de una función determinada dentro de un
rango de valores. El máximo local se encuentra en un grupo de
valores de variables de una función en el que un cambio ligero de
cualquier valor de las variables o de todas ellas produce un resultado
menor en la función. (Comparar con máximo global).
Glosario
153
Método de
solución
Evolver incluye seis de estos métodos, cada uno de los cuales usa un
algoritmo personalizado para resolver un tipo específico de problema.
Por cada conjunto de variables seleccionado en un problema, el
usuario debe asignar el método de solución que se debe usar con esas
variables. Los seis métodos de solución son: agrupamiento, orden,
receta, presupuesto, proyecto y calendarización.
Modelo
En este manual, un modelo es una representación numérica, en Excel,
de una situación del mundo real.
Mutación
En el mundo biológico, la mutación de un gen es la fuente de
variación necesaria para una selección natural selectiva. De la misma
forma, un algoritmo genético utiliza técnicas de mutación para
mantener la diversidad en una población de posibles escenarios.
Optimización
El proceso de encontrar valores de variables de forma que el resultado
de una función se pueda maximizar (obtener el mayor posible) o
minimizar (obtener el menor posible). La optimización mediante la
resolución de una ecuación se puede hacer fácilmente en funciones
que cambian uniformemente con pocas variables, pero resulta muy
difícil en muchos de los problemas del mundo real. Los problemas
difíciles generalmente necesitan un mecanismo de búsqueda. Evolver
optimiza utilizando un algoritmo genético o el generador de
optimización OptQuest.
OptQuest
Generador de optimización (algoritmo que guía la búsqueda de la
mejor solución). Los métodos de OptQuest integran los
procedimientos metaheurísticos más modernos, incluyendo la
búsqueda tabú, las redes neuronales y la búsqueda dispersa, en un
solo método compuesto.
Población
El grupo entero de escenarios que el algoritmo genético de Evolver
conserva en memoria a partir de los cuales se generan nuevos
escenarios.
Programas
pequeños de
resolución
(Baby Solver)
Programas de software simples que buscan las variables de entrada
que generan un resultado de salida deseado usando una combinación
de técnicas de programación lineales, o algoritmos básicos de
escalada. Los programas pequeños de resolución hacen frecuentes
suposiciones y refinan sus respuestas para llegar a una solución
“local”, en lugar de a una solución “global”.
Pruebas
El proceso por el cual Evolver genera un valor para cada variable de
un problema para luego recalcular el escenario para su evaluación.
154
Recursos adicionales de aprendizaje
Rangos
En Evolver:
El usuario establece el rango, o el valor más alto y más bajo que
Evolver puede probar cuando ajusta una variable determinada.
Aunque no es necesario para resolver un problema, el establecimiento
de estos rangos limita las posibilidades y, por lo tanto, reduce la
búsqueda de Evolver.
En Excel:
Un bloque de celdas contiguas de una hoja de cálculo que se define
entre 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 conviene cumplir (restricciones
blandas) o que tienen que cumplirse (restricciones duras) para que un
escenario sea considerado válido.
Restricciones
blandas
Cuando una restricción no se tiene que cumplir necesariamente, se
pueden imponer como una restricción blanda en lugar de dura. Esto
se hace especificando una función de penalización en Evolver o
añadiendo una función de penalización a la función de adaptación de
la celda objetivo.
Frecuentemente, es mejor que las restricciones sean blandas en la
medida de lo posible. La razón es la siguiente: 1. Normalmente,
Evolver puede resolver más rápidamente problemas con restricciones
blandas, y 2. Un modelo con restricciones blandas frecuentemente
encuentra una solución muy buena que casi cumple las restricciones
blandas, lo cual puede tener más valor que una solución no tan buena
que cumple las restricciones duras.
Restricciones
duras
Una restricción que debe cumplirse siempre. Por ejemplo, los rangos
de las variables de un problema de receta son restricciones duras; una
variable con un rango entre 10 y 20 nunca puede tener un valor menor
de 10 o mayor de 20.
Ver Restricciones blandas
Solución
Cualquier sistema contiene múltiples variables de entrada que
generan un resultado de salida. En Evolver, una “solución” se refiere
a una de las posibles combinaciones de variables, más que a la mejor
combinación.
Supervivencia
de los mejor
adaptados
Es una idea que describe cómo los organismos mejor adaptados a un
entorno tienen más posibilidades de vivir lo suficiente como para
reproducirse y transmitir sus genes a la siguiente generación de la
población.
Glosario
155
156
Recursos adicionales de aprendizaje
Índice
A actualización de pantalla
imagen
agrupamiento
método de solución
algoritmo, definición
algoritmos genéticos
¿Para qué se usan?
añadir restricciones
Aprendizaje de Evolver
Archivo Leame
35
53
97
17
60
9
9
B barra de estado
basados en tablas, problemas
bases de datos
151
106
106
C calendarización
método de solución
celda objetivo
celdas ajustables
combinatorios, problemas
Condiciones de detención
introducción
condiciones de parada
Configuraciones de aplicación, comando
cruce
tasa
57
26, 46, 152
26, 47
96–97, 96–97
33
66
79
86
E escalada
descrita
Índice
105
157
ejemplo
uso de Solver
especificaciones técnicas
Evolver
¿Para qué se usa?
¿Qué es?
capacidad
Observador
quitar
Tutorial
105
102
137
17
13
96–97
37, 83
7
9
F función de objetivo
funciones de penalización
ejemplos
explicación
uso
46
131
129
132
G generaciones
por qué no se usan
gráficos
137
37
L lineal
problema
104
M meta de optimización
método de reemplazo
Método Simplex
métodos de solución
agrupamiento
calendarización
como restricciones
orden
presupuesto
proyecto
receta
minutos
Modelo, cuadro de diálogo
mutación
158
26, 46
139
104
53
57
126
52
55
56
51
66
25, 45
Recursos adicionales de aprendizaje
tasa
86
N no lineales, problemas
105
O Observador
Operadores
operadores genéticos
optimización
¿Qué es?
ejemplo
métodos
orden
método de solución
37, 83
72
72
15
101
97
52
P paisaje de soluciones
Palisade Corporation
presupuesto
método de solución
problemas
basados en tablas
combinatorios
de múltiples objetivos
lineales
no lineales
Progreso de gráfico
imagen
proyecto
método de solución
98
5
55
106
107
133
104
105
35
56
Q quitar Evolver
7
R rapidez, mejora
receta
método de solución
regresión
Índice
135
51
139
159
reserva genética
restricciones
blandas
implementación
rutina de selección
119
133
62, 128
139
137
S solución
global
local
Solver de restricciones, comando
102
102
80
T tasa de cruce
cómo se implementa
para qué sirve
tasa de mutación
cómo se implementa
para qué sirve
tiempo de ejecución de optimización, opciones
tutorial
86, 118
138
70
86
139
71
66
9
V ventana Progreso
160
77
Recursos adicionales de aprendizaje
Descargar