Está en la página 1de 227

Gua para el uso de

Evolver
Solver de algoritmo gentico
para Microsoft Excel
Versin 5.7
septiembre, 2010

Palisade Corporation
798 Cascadilla St.
Ithaca, NY USA 14850
+1-607-277-8000
+1-607-277-8001 (fax)
http://www.palisade.com (pgina Web)
sales@palisade.com (correo electrnico)

Copyright
Copyright 2010, 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, divisin de Tonka Corporation, y se
utiliza bajo licencia.

ndice
Captulo 1: Introduccin

Introduccin ........................................................................................3
Instrucciones para la instalacin......................................................7
Captulo 2: Informacin general

11

Qu es Evolver? .............................................................................13
Captulo 3: Evolver: Paso a paso

21

Introduccin ......................................................................................23
Una visita por Evolver ......................................................................25
Captulo 4: Ejemplos de aplicaciones

45

Introduccin ......................................................................................47
Seleccin de publicidad...................................................................49
Orden alfabtico ...............................................................................51
Asignacin de tareas........................................................................53
Panadera...........................................................................................55
Asignacin de presupuesto.............................................................57
Equilibrio qumico ............................................................................59
Programador de clases ....................................................................61
Segmentador de cdigos.................................................................65
Dakota: Rutas con restricciones.....................................................69
ndice

Programacin del trabajo de un taller............................................ 73


Ubicacin de una torre de radio ..................................................... 75
Cartera equilibrada........................................................................... 77
Mezcla de carteras ........................................................................... 81
Estaciones de potencia ................................................................... 83
Compras............................................................................................ 85
Problema del vendedor ................................................................... 87
Navegador espacial.......................................................................... 89
Agente de bolsa................................................................................ 91
Transformador.................................................................................. 93
Transporte......................................................................................... 95
Captulo 5: Gua de referencia de Evolver

97

Comando Definicin de Modelo ..................................................... 99


Comando Configuraciones de optimizacin............................... 123
Comando Iniciar optimizacin ...................................................... 131
Comandos de Utilidades ............................................................... 133
El Observador del Evolver ............................................................ 137
Captulo 6: Optimizacin

149

Mtodos de optimizacin .............................................................. 151


Excel Solver .................................................................................... 157
Tipos de problemas ....................................................................... 161
Captulo 7: Algoritmos genticos

165

Introduccin.................................................................................... 167
ii

Historia.............................................................................................167
Un ejemplo biolgico .....................................................................171
Un ejemplo digital...........................................................................173
Captulo 8: Extras de Evolver

177

Cmo aadir restricciones ............................................................179


Mejora de la rapidez .......................................................................189
Cmo se implementa la optimizacin de Evolver .......................191
Apndice A: Automatizacin de Evolver

195

Apndice B: Resolucin de problemas / Preguntas


y respuestas

197

Resolucin de problemas / Preguntas y respuestas ..................197


Apndice C: Recursos adicionales

201

Recursos adicionales de aprendizaje...........................................201

ndice

Glosario

207

ndice

217

iii

iv

Captulo 1: Introduccin
Introduccin ........................................................................................3
Antes de empezar .....................................................................................3
Lo que incluye el paquete.......................................................................3
Informacin sobre esta versin .............................................................3
El sistema operativo.................................................................................4
Cmo obtener ayuda................................................................................4
Antes de llamar ...........................................................................4
Cmo ponerse en contacto con Palisade.................................5
Versin para estudiantes...........................................................6
Requisitos del sistema para Evolver.....................................................6
Instrucciones para la instalacin......................................................7
Instrucciones generales de instalacin.................................................7
Cmo quitar Evolver de su PC .................................................7
Los programas de DecisionTools Suite................................................8
Configuracin de los iconos y de los accesos directos
de Evolver ..................................................................................................8
Mensaje de advertencia de seguridad de macros al iniciar el
programa ....................................................................................................9
Informacin adicional de Evolver.......................................................10
Archivo Lame de Evolver ......................................................10
El Tutorial de Evolver ..............................................................10
Aprendizaje de Evolver.........................................................................10

Captulo 1: Introduccin

Introduccin
Evolver es el optimizador comercial basado en algoritmo gentico
ms rpido y avanzado que se ha ofrecido nunca. Evolver, mediante
la aplicacin de potentes tcnicas de optimizacin basadas en
algoritmo gentico, puede hallar soluciones ptimas para problemas
que resultan "irresolubles" con optimizadores de resolucin lineal y
no lineal estndar. Evolver se ofrece en dos versiones Profesional e
Industrial que le permiten seleccionar el optimizador con la
capacidad que usted necesita.
La Gua del Usuario de Evolver, que est leyendo ahora, ofrece una
introduccin al programa Evolver y sus principios; y luego muestra
varias aplicaciones de ejemplo de la tecnologa exclusiva de algoritmo
gentico de Evolver. Este completo manual tambin se puede usar
como una gua 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, asegrese de que
su paquete de Evolver contiene todos los elementos necesarios, y
compruebe que su PC cumple los requisitos mnimos de uso.

Lo que incluye el paquete


Evolver se puede comprar independiente o como parte de las
versiones Profesional e Industrial de DecisionTools Suite. El CD-ROM
de Evolver contiene el programa complementario Evolver para Excel,
varios ejemplos de Evolver y un sistema de ayuda electrnico con
ndice completo para Evolver. Las versiones Profesional e Industrial
de DecisionTools Suite contienen todo lo anterior, adems de
aplicaciones adicionales.

Informacin sobre esta versin


Esta versin de Evolver se puede instalar como programa de 32-bit
para Microsoft Excel 2000 o posterior.

Captulo 1: Introduccin

El sistema operativo
Esta gua para el uso del programa est diseada 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 ratn.

Estar familiarizado con trminos como iconos, hacer clic, hacer doble
clic, men, ventana, comando y objeto.

Comprender los conceptos bsicos de estructura de directorios y


archivos.

Cmo obtener ayuda


Se ofrece asistencia tcnica gratuita a todos los usuarios registrados de
Evolver con un plan actual de mantenimiento, o tambin se ofrece por
un precio por incidente. Para asegurar que usted es un usuario
registrado de Evolver, regstrese electrnicamente en
http://www.palisade.com/support/register.asp.
Si se pone en contacto con nosotros por telfono, tenga a mano el
nmero de serie y la gua para el uso del programa. Le podremos
asistir mejor si se encuentra delante del PC en el momento de llamar.
Antes de llamar

Antes de ponerse en contacto con el servicio de asistencia tcnica,


repase la siguiente lista:

Ha consultado la ayuda electrnica?

Ha consultado esta Gua del Usuario y revisado el tutorial multimedia


electrnico?

Ha ledo el archivo LEAME.WRI? Este archivo contiene informacin


actual referente a Evolver que puede no estar en la gua del programa.

Puede reproducir el problema consistentemente? Puede reproducir el


problema en otro PC o con otro modelo?

Ha visitado nuestra pgina de World Wide Web? La direccin es


http://www.palisade.com. En nuestra pgina Web tambin podr
encontrar las preguntas ms frecuentes (una base de datos de preguntas
y respuestas sobre temas tcnicos) y una serie de archivos de reparacin
de Evolver en la seccin de Asistencia tcnica. Recomendamos que visite
nuestra pgina Web con regularidad para obtener informacin
actualizada sobre Evolver y sobre otros programas de Palisade.

Introduccin

Cmo ponerse
en contacto
con Palisade

Palisade Corporation est abierto a sus preguntas, comentarios y


sugerencias referentes a Evolver. Pngase en contacto con nuestro
personal de asistencia tcnica siguiendo uno de estos mtodos:

Enve un correo electrnico a support@palisade.com.

Llame al telfono +1-607-277-8000 los das laborables de 9:00 a.m. a


5:00 p.m., hora estndar del este de Estados Unidos. Para acceder al
servicio de asistencia tcnica siga las indicaciones del sistema.

Enve un fax al +1-607-277-8001

Enve una carta a:


Technical Support
Palisade Corporation
798 Cascadilla St.
Ithaca, NY 14850
EE.UU.

Si quiere ponerse en contacto con Palisade en Europa.

Enve correo electrnico a support@palisade-europe.com.

Llame al +44-1895425050 (Reino Unido).

Enve un fax al +44-1895425051 (Reino Unido).

Enve 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-Pacfico.

Enve correo electrnico a support@palisade.com.au.

Llame al +61 2 9252 5922 (Australia).

Enve un fax al +61 2 9252 2820 (Australia).

Enve una carta postal a:


Palisade Asia-Pacific Pty Limited
Suite 404, Level 4
20 Loftus Street
Sydney NSW 2000
Australia

Independientemente del mtodo de contacto, mencione siempre el


nombre del producto, la versin y el nmero de serie. La versin
exacta se encuentra seleccionando el comando Acerca de de la
Ayuda del men de Evolver en Excel.
Captulo 1: Introduccin

Versin para
estudiantes

La versin para estudiantes de Evolver no incluye asistencia tcnica


por telfono. 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 ms frecuentes.

Pngase en contacto con nuestro departamento de asistencia tcnica


enviando un fax o mensajes de correo electrnico.

Requisitos del sistema para Evolver


Los requisitos del sistema para usar Evolver son:

PC Pentium o superior con disco duro.

Microsoft Windows 2000 SP4 o superior.

Microsoft Excel Versin 2000 o superior.

Introduccin

Instrucciones para la instalacin


Evolver es un programa de complemento para Microsoft Excel. Al
aadir comandos adicionales a las barras de mens de Excel, Evolver
mejora la funcionalidad del programa de hoja de clculo.

Instrucciones generales de instalacin


El programa de instalacin copia los archivos del sistema de Evolver
en el directorio seleccionado del disco duro. Para ejecutar el programa
de instalacin en Windows 2000 o superior:
1) Introduzca el CD-ROM de Evolver o el de la versin Profesional o
Industrial de DecisionTools Suite en la unidad de CD-ROM
2) Haga clic en el botn Inicio, luego en Configuracin y luego en Panel de
control
3) Haga doble clic sobre el icono Agregar/Quitar programas
4) En la seccin Instalar/Desinstalar, pulse el botn Instalar
5) Siga las instrucciones de instalacin que aparecen en la pantalla
Si tiene algn 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.
Cmo quitar
Evolver de su PC

Si desea quitar Evolver (o DecisionTools Suite) de su PC, utilice la


funcin Agregar/Quitar programas del Panel de control y seleccione
el elemento Evolver o DecisionTools Suite.

Captulo 1: Introduccin

Los programas de DecisionTools Suite


Evolver se puede usar con DecisionTools Suite, un juego de productos
de anlisis de riesgo y decisin que ofrece Palisade Corporation. El
procedimiento de instalacin 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 Evolver5). Este directorio contiene el archivo
del programa de complemento Evolver (EVOLVER.XLA) adems 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 libreras de programas.

Configuracin de los iconos y de los accesos


directos de Evolver
En Windows, el programa de instalacin crea automticamente un
comando Evolver en el men Programas de la barra de tareas. Pero si
tiene algn problema durante la instalacin, o si desea hacerlo
manualmente en otro momento, siga estas instrucciones:
1) Haga clic en el botn Inicio y luego en Configuracin.
2) Haga clic en Barra de tareas y luego en la seccin Programas del men
Inicio.
3) Haga clic en Agregar y luego en Examinar.
4) Localice y haga doble clic en el archivo EVOLVER.EXE.
5) Haga clic en Siguiente y luego doble clic en el men en el que quiere que
aparezca el programa.
6) Escriba el nombre Evolver y luego haga clic en Terminar.

Instrucciones para la instalacin

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 configuracin de seguridad
ms 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:

Captulo 1: Introduccin

Haga clic en Confiar siempre en los macros de esta fuente


cuando aparezca el cuadro de dilogo de Advertencia de
seguridad (como el de abajo) al iniciar Evolver.

Informacin adicional de Evolver


Puede obtener informacin adicional sobre Evolver en los siguientes
lugares:
Archivo Lame
de Evolver

Este archivo contiene una breve resumen de Evolver, as como


cualquier noticia o informacin reciente sobre la ltima versin del
software. Puede leer el archivo Lame seleccionando Men Inicio de
Windows / Programas/ Palisade DecisionTools/ Archivos Lame y
haciendo clic en Evolver 5.5 Lame. Conviene leer este archivo antes
de usar Evolver.

El Tutorial de
Evolver

El tutorial electrnico de Evolver ofrece a los que usan el programa


por primera vez una introduccin rpida a Evolver y los algoritmos
genticos. La presentacin slo dura unos pocos minutos. Consulte la
seccin Aprendizaje de Evolver ms abajo para obtener informacin
sobre cmo acceder al tutorial.

Aprendizaje de Evolver
La forma ms rpida de familiarizarse con Evolver es el tutorial
electrnico de Evolver, en el que nuestros expertos le guan a travs
de los modelos de ejemplo en formato de pelcula. Este tutorial es una
presentacin multimedia sobre las funciones principales de Evolver.
El tutorial se puede ejecutar seleccionando el comando Tutorial
introductorio del men Ayuda de Evolver.

10

Captulo 2: Informacin general


Qu es Evolver? .............................................................................13
Cmo funciona Evolver? .....................................................................14
Algoritmos genticos ...............................................................14
Qu es optimizacin?...........................................................................15
Para qu se crean modelos en Excel? ................................................16
Para qu se usa Evolver? .....................................................................16
Se acabaron las suposiciones..................................................17
Ms preciso y significativo .....................................................17
Ms flexible ...............................................................................17
Ms potente ...............................................................................18
Ms fcil de usar .......................................................................18
Econmico ..................................................................................19

Captulo 2: Informacin general

11

12

Qu es Evolver?
El software de Evolver proporciona a sus usuarios un mtodo fcil de
encontrar soluciones ptimas a prcticamente 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 combinacin, orden o agrupamiento adecuados para
producir beneficios ms altos, riesgos ms bajos o la produccin del
mayor nmero de productos con el uso de la menor cantidad posible
de material. El uso ms frecuente de Evolver es como programa
complementario del programa de hoja de clculo 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 frmulas, funciones, grficos y capacidades de


macro que la mayora de los usuarios necesitan para crear modelos
realistas de sus problemas. Evolver proporciona la interfaz necesaria
para describir la incertidumbre de un modelo, as como lo que usted
busca; y ofrece la capacidad necesaria para resolver el problema.
Juntos, estos programas pueden encontrar las soluciones ptimas para
prcticamente cualquier problema que se pueda modelar.

Captulo 2: Informacin general

13

Cmo funciona Evolver?


Evolver utiliza un sistema de algoritmos genticos exclusivo para
buscar la solucin ptima a un problema, as como distribuciones de
probabilidad y simulaciones para gestionar la incertidumbre presente
en el modelo.
Algoritmos
genticos

Los algoritmos genticos se usan en Evolver para encontrar la mejor


solucin para su modelo. Los algoritmos genticos imitan los
principios darwinianos de seleccin natural mediante la creacin de
un entorno en el que cientos de posibles soluciones a un problema
compiten unas con otras, y slo la mejor adaptada sobrevive. Como
sucede en la evolucin biolgica, cada solucin puede transmitir sus
mejores genes a travs de soluciones descendientes de forma que
toda la poblacin de soluciones sigue evolucionando en soluciones
mejores.
Como ya se habr dado cuenta, la terminologa que se usa cuando se
trabaja con algoritmos genticos es similar a la de su fuente de
inspiracin. Hablamos de que las funciones de cruce ayudan a
concentrar la bsqueda de soluciones, de que la tasa de las
mutaciones contribuye a diversificar la reserva gentica y de que
evaluamos toda la poblacin de soluciones u organismos. Para
obtener ms informacin sobre cmo funciona el algoritmo gentico
de Evolver, consulte el Captulo 7 Algoritmos genticos.

14

Qu es Evolver?

Qu es optimizacin?
Optimizacin es el proceso de bsqueda de la mejor solucin a un
problema que puede tener muchas soluciones posibles. La mayora de
los problemas tienen mltiples variables que interactan segn
frmulas y restricciones establecidas. Por ejemplo, una compaa
puede tener tres centros de fabricacin, cada uno de los cuales
produce diferentes cantidades de diversos productos. Dados los
costos de cada fbrica para producir cada producto, los costos de cada
planta para hacer los envos a cada tienda y las limitaciones de cada
fbrica, cul 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
optimizacin pueden responder.

La optimizacin supone la bsqueda de la combinacin que


genera lo mximo 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 fbrica
que los produce, el camin en el que se envan y la tienda a la que se
envan. Otros ejemplos de problemas de optimizacin consisten en
encontrar la forma de conseguir los mayores beneficios, los menores
costos, el mayor nmero de vidas salvadas, la menor cantidad de
ruido posible en un circuito, la ruta ms corta entre dos ciudades o la
mezcla ms eficaz de gastos en publicidad. Un subconjunto muy
importante de problemas de optimizacin est relacionado con la
programacin, donde los objetivos pueden incluir la maximizacin de
la eficacia durante un turno de trabajo o la minimizacin de conflictos
de programacin de grupos que se renen a diferentes horas. Para
obtener ms informacin sobre la optimizacin, consulte el Captulo 6
- Optimizacin.
Captulo 2: Informacin general

15

Para qu se crean modelos en Excel?


Para aumentar la eficacia de cualquier sistema, primero debemos
saber cmo 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 ms potentes permiten a los
economistas crear modelos ms realistas de la economa, a los
cientficos mejorar las predicciones de las reacciones qumicas y a los
profesionales de los negocios aumentar la sensibilidad de sus modelos
corporativos.
Durante los ltimos aos, el hardware de los PC y programas de
software como Microsoft Excel, han avanzado tanto que
prcticamente 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 ms informacin sobre la creacin de
modelos, consulte el Captulo 9 Extras de Evolver.

Para qu se usa Evolver?


La tecnologa exclusiva de Evolver permite a cualquiera que tenga un
PC y Excel para Windows disfrutar de las ventajas de la optimizacin.
Antes de Evolver, aquellos que queran aumentar la eficacia de
procesos o buscar soluciones ptimas, tena tres opciones: hacer
suposiciones, usar software de poca potencia para la resolucin de
problemas, o contratar a un experto en optimizacin de la industria
de la consultora para disear y desarrollar software personalizado.
Estas son algunas de las ventajas ms importantes de Evolver:

16

Qu es Evolver?

Se acabaron las
suposiciones

Cuando se trata con un gran nmero de variables que interactan, y


se trata de encontrar la mejor combinacin, el orden adecuado o el
agrupamiento ptimo de esas variables, la tentacin es simplemente
hacer una suposicin informada. Una sorprendente cantidad de
personas asume que cualquier tipo de modelacin y anlisis ms all
de la simple suposicin requiere un complicado proceso de
programacin o el uso de confusos algoritmos estadsticos y
matemticos. Una buena solucin optimizada puede ahorrar millones
de dlares, miles de galones de precioso combustible, meses de
tiempo perdido, etc. Ahora que los potentes PC de escritorio son cada
vez ms econmicos, y software como Excel y Evolver estn al alcance
de la mano, no hay razn para hacer suposiciones sobre una solucin
o perder valioso tiempo haciendo pruebas en diferentes escenarios
manualmente.

Ms preciso y
significativo

Evolver permite utilizar la gama completa de frmulas de Excel e


incluso macros para crear modelos ms realistas de un sistema.
Cuando se usa Evolver, no es necesario poner en peligro la precisin
del modelo porque el algoritmo que se est utilizando no puede
procesar las complejidades del mundo real. Los programas de
resolucin pequeos tradicionales (herramientas de programacin
estadstica y lineal) obligan al usuario a hacer suposiciones sobre
cmo interactan las variables de sus problemas, y por lo tanto les
obliga a crear modelos poco realistas simplificados en exceso. Cuando
el usuario simplifica el sistema lo suficiente como para poder usar
estos programas de resolucin, la solucin resultante es demasiado
abstracta como para que sea prctica. Cualquier problema que incluya
un gran nmero de variables, funciones no lineales, tablas de
referencia, secuencias si-entonces, consultas con bases de datos o
elementos estocsticos (aleatorios), no se puede resolver con estos
mtodos, independientemente de lo simple que sea el diseo de su
modelo.

Ms flexible

Hay muchos algoritmos de resolucin que hacen un buen trabajo a la


hora de resolver problemas pequeos y simples de tipo lineal o no
lineal, como los de pasos ascendentes (hill-climbing), pequeos
programas de resolucin (baby-solvers) y otros mtodos matemticos.
Incluso cuando se ofrecen en forma de programas complementarios
de hoja de clculo, estas herramientas de optimizacin de uso general
slo pueden realizar optimizacin numrica. Para problemas ms
grandes o complejos se pueden crear algoritmos especficos
personalizados que ofrezcan buenos resultados, pero ser necesario
hacer un gran esfuerzo de investigacin y desarrollo. Incluso en esos
casos, el programa resultante requerir modificaciones cada vez que
cambie el modelo.

Captulo 2: Informacin general

17

Evolver no slo es capaz de tratar problemas numricos, sino que es el


nico programa comercial del mundo que puede resolver la mayora
de los problemas combinatorios. Estos son problemas en los que las
variables deben barajarse (permutarse) o combinarse. Por ejemplo, la
seleccin del orden de bateo de un equipo de bisbol es un problema
combinatorio; es cuestin de intercambiar las posiciones de los
jugadores en la lista. Los problemas de programacin complejos
tambin son combinatorios. El mismo programa Evolver puede
resolver todos estos tipos de problemas y muchos ms, algo que
ningn otro puede resolver. La tecnologa de algoritmo gentico
exclusiva de Evolver permite optimizar prcticamente cualquier tipo
de modelo, de cualquier tamao y nivel de complejidad.
Ms potente

Evolver encuentra mejores soluciones. La mayora de los programas


derivan las soluciones ptimas de forma matemtica y sistemtica.
Con frecuencia, estos mtodos se limitan a tomar una solucin
existente y buscar una respuesta cercana mejor. Esta solucin local
puede estar muy lejos de ser la solucin ptima. Evolver toma
muestras de forma inteligente de todo el espectro de posibilidades, lo
cual resulta en una solucin global mucho mejor.

Ms fcil de usar

A pesar de las ventajas ms obvias de potencia y flexibilidad que


ofrece, Evolver sigue siendo fcil de usar porque no es en absoluto
necesario comprender las complejas tcnicas de algoritmos genticos
que utiliza. Evolver no se preocupa de las entraas del problema;
slo necesita un modelo en hoja de clculo que permite evaluar la
idoneidad de los diferentes escenarios. Slo tiene que seleccionar las
celdas de la hoja de clculo que contienen las variables e indicar a
Evolver lo que usted busca. Evolver oculta de forma inteligente la
compleja tecnologa, automatizando el proceso Y si ... de anlisis
del problema.
Aunque se han creado muchos programas comerciales para
programacin matemtica y creacin de modelos, las hojas de clculo
son las ms populare, con literalmente millones de ventas mensuales.
Con su formato intuitivo de filas y columnas, las hojas de clculo son
ms fciles de configurar y mantener que otros programas
especializados. Tambin son ms compatibles con otros programas
como procesadores de texto o bases de datos, y ofrecen ms frmulas,
opciones de formato, grficos 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 programacin para
crear ms fcilmente modelos ms realistas de sus sistemas.

18

Qu es Evolver?

Econmico

Muchas compaas contratan consultores de formacin para ofrecer


sistemas de optimizacin personalizados. Esos sistemas normalmente
funcionan muy bien, pero pueden requerir meses y grandes
inversiones de desarrollo e implementacin. Estos sistemas son
tambin difciles de aprender y por lo tanto requieren costosa
formacin 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 inversin
considerablemente menor, Evolver suministra los algoritmos
genticos ms potentes y permite generar soluciones rpidas y
precisas para una amplia variedad de problemas. Y como funciona se
usa en un entorno intuitivo y familiar, no hay prcticamente gastos de
formacin y mantenimiento.
Puede incluso aadir la potencia de optimizacin de Evolver a sus
propios programas personalizados. En slo unos das podr usar
Visual Basic para crear sus propios sistemas de programacin,
distribucin, fabricacin o administracin financiera. Consulte el
Juego de Desarrollo de Evolver para obtener informacin detallada
sobre la programacin de aplicaciones basadas en Evolver.

Captulo 2: Informacin general

19

20

Captulo 3: Evolver: Paso a


paso
Introduccin ......................................................................................23
Una visita por Evolver ......................................................................25
Inicio de Evolver.....................................................................................25
La barra de herramientas de Evolver ....................................25
Cmo abrir un modelo de ejemplo........................................25
El cuadro de dilogo Modelo de Evolver...........................................26
Seleccin de la celda objetivo ..............................................................27
Cmo aadir rangos de celda ajustables............................................27
Seleccin de un mtodo de solucin.....................................30
Restricciones ...........................................................................................31
Cmo aadir restricciones.......................................................32
Restricciones de rango simple de valores y de frmula ....32
Otras opciones de Evolver ....................................................................35
Condiciones de detencin.......................................................35
Opciones de visualizacin ......................................................37
Ejecucin de la optimizacin ...............................................................38
El Observador del Evolver ......................................................39
Cmo parar la optimizacin ...................................................40
Informe de resumen .................................................................41
Colocacin de los resultados en el modelo ..........................42

Captulo 3: Evolver: Paso a paso

21

22

Introduccin
En este captulo le guiaremos a travs de todo el sistema de
optimizacin de Evolver, paso a paso. Si no tiene Evolver instalado en
el disco duro, consulte la seccin de instalacin del Captulo 1:
Introduccin e instale Evolver antes de comenzar con este tutorial.
Comenzaremos por abrir un modelo de hoja de clculo preparada y
luego definiremos el problema para Evolver usando distribuciones de
probabilidad y los cuadros de dilogo de Evolver. Finalmente,
comprobaremos el progreso de Evolver mientras busca soluciones y
exploraremos algunas de las muchas opciones en el Observador del
Evolver. Para obtener informacin adicional sobre cualquier tema
especfico, consulte el ndice al final de este manual, o consulte el
Captulo 5: Referencia de Evolver.
NOTA: Las imgenes de pantallas que se muestran a continuacin
son de Excel 2007. Si est utilizando otras versiones de Excel, las
ventanas pueden tener un aspecto ligeramente diferente.
El proceso de resolucin de problemas comienza con un modelo que
representa con exactitud su problema. El modelo debe ser capaz de
evaluar una serie determinada de valores de entrada (celdas
ajustables) y producir una clasificacin numrica de lo bien que esos
valores de entrada resuelven el problema (la evaluacin o
idoneidad de la funcin). Cuando Evolver busca soluciones, esta
funcin de idoneidad proporciona informacin, indicando a Evolver
lo idnea o inapropiada que es cada suposicin, y permitiendo a
Evolver generar cada vez mejores suposiciones. Cuando se crea un
modelo de un problema, se debe prestar especial atencin a la funcin
de idoneidad, porque Evolver har todo lo posible para maximizar (o
minimizar) esta celda.

Captulo 3: Evolver: Paso a paso

23

24

Introduccin

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
5.5 en la lista de Programas del men Inicio de Windows. Cada uno
de estos mtodos 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.

Cmo abrir un
modelo de
ejemplo

Para repasar las caractersticas de Evolver, vamos a examinar un


modelo de ejemplo que se instal con Evolver. Para hacerlo:
1) Abra la hoja de trabajo PanaderaPrcticadeTutorial.XLS a
travs del comando Hojas de clculo de ejemplo del men Ayuda.

Captulo 3: Evolver: Paso a paso

25

Esta hoja de clculo de ejemplo contiene un sencillo problema de


maximizacin de beneficios de un negocio de panadera. La panadera
produce 6 productos de pan. Usted es el gerente de la panadera y
hace un seguimiento de los ingresos, costos y beneficios de
produccin. Quiere determinar el nmero de cajas de cada tipo de
pan que se deben producir para maximizar los beneficios totales y al
mismo tiempo cumplir las normas de lmite de produccin. Las
normas son: 1) cumplir la cuota de produccin de pan bajo en caloras, 2)
mantener una relacin aceptable de alto contenido de fibra y bajas caloras, 3)
mantener una relacin aceptable de productos de 5 granos y bajas caloras, y
4) mantener el tiempo de produccin dentro de los lmites de horas por
persona.

El cuadro de dilogo Modelo de Evolver


Para establecer las opciones de Evolver para esta hoja de clculo:
1) Haga clic en el icono Definicin de modelo en la barra de
herramientas de Evolver (la situada en el extremo izquierdo).
Se abrir el siguiente cuadro de dilogo Modelo de Evolver:

El cuadro de dilogo Modelo de Evolver ha sido diseado 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
nmero de cajas que se deben producir de cada producto de pan
diferente para maximizar los beneficios totales en general.
26

Una visita por Evolver

Seleccin 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 ms posible al
valor preestablecido. Para especificar la celda objetivo:
1) Establezca la opcin Meta de optimizacin en Mximo.
2) Introduzca la celda objetivo $I$11 en el campo Celda.
Las referencias de celda se pueden introducir en los campos del
cuadro de dilogo 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
clculo directamente con el ratn.

Cmo aadir rangos de celda ajustables


Ahora debe especificar la ubicacin de las celdas que contienen
valores que Evolver puede modificar para buscar soluciones. Estas
variables se aaden y editan de bloque en bloque a travs de la
seccin Rangos de celda ajustables del cuadro de dilogo Modelo. El
nmero de celdas que se pueden introducir en Rangos de celda
ajustables depende de la versin de Evolver que est usando.
1) Haga clic en el botn Aadir de la seccin "Rangos de celda
ajustables".
2) Seleccione $C$4:$G$4 como las celdas de Excel que quiere aadir
como rango de celdas ajustables.

Captulo 3: Evolver: Paso a paso

27

Introduccin de
un rango mn-mx
como celdas
ajustables

La mayora de las veces ser conveniente limitar los valores posibles


de un rango de celdas ajustables con un rango mnimo-mximo
especfico. En Evolver esto se conoce como restriccin de "rango".
Puede introducir rpidamente este rango mn-mx cuando seleccione
la serie de celdas que se pueden modificar. En el ejemplo de la
panadera, el valor mnimo de cajas producidas de cada tipo de
producto de pan para este rango es 0, y el mximo es 100,000. Para
introducir esta restriccin de rango:
1) Introduzca 0 en la celda Mnimo y 100,000 en la celda Mximo.
2) En la celda Valores, seleccione Entero en la lista desplegable

28

Una visita por Evolver

Ahora, introduzca un segundo rango de celdas ajustables:


1) Haga clic en Aadir para introducir una segunda celda ajustable.
2) Seleccione la celda B4.
3) Introduzca 20,000 como Mnimo y 100,000 como Mximo.

As se especifica la ltima celda ajustable, B4, que contiene el nivel de


produccin de pan bajo en caloras.
Si hubiera variables adicionales en este problema, seguiramos
aadiendo series de celdas ajustables. En Evolver, puede crear un
nmero ilimitado de grupos de celdas ajustables. Para aadir ms
celdas, haga clic en el botn Aadir de nuevo.
Es posible que quiera comprobar las celdas ajustables o cambiar
algunas de sus configuraciones ms adelante. Para hacerlo, slo
tendr que editar el rango mn-mx en la tabla. Tambin podr
seleccionar una serie de celdas y eliminarla haciendo clic en el botn
Eliminar.

Captulo 3: Evolver: Paso a paso

29

Seleccin de
un mtodo
de solucin

Cuando defina celdas ajustables, podr especificar el mtodo de


solucin que se debe usar. Tipos de celdas ajustables diferentes
pueden ser resueltos con diferentes mtodos de solucin. Los
mtodos de solucin se establecen para cada grupo de celdas
ajustables y se pueden modificar haciendo clic en el botn Grupo
para abrir el cuadro de dilogo Configuraciones de grupos de celdas
ajustables. Muchas veces podr usar el mtodo de solucin de
receta predeterminado en el que cada valor de las celdas se puede
cambiar independientemente de las dems. Como este es el mtodo
predeterminado, no es necesario que lo cambie.

Los mtodos de solucin de receta y orden son los ms populares


y se pueden usar juntos para resolver problemas combinatorios
complejos. Especficamente, el mtodo de solucin 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 mtodo de solucin de
orden intercambia valores entre variables, barajando los valores
originales para encontrar el mejor orden posible.
En este modelo, deje el Mtodo de solucin en Receta y simplemente:

30

Introduzca la etiqueta "Cajas producidas" en el campo


Descripcin.

Una visita por Evolver

Restricciones
Evolver permite introducir restricciones, que son condiciones que
deben cumplirse para que una solucin sea vlida. En este modelo de
ejemplo hay tres restricciones adicionales que deben cumplirse para
que sea vlida una serie de niveles de produccin 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 una relacin aceptable de pan de alto contenido en
fibra y pan bajo en caloras (cajas producidas de pan de alto
contenido en fibra >= 1.5 * cajas producidas de pan bajo en
caloras)
2) Mantener una relacin aceptable de pan de 5 granos y pan bajo
en caloras (cajas producidas de pan de 5 granos >= 1.5 * cajas
producidas de pan bajo en caloras)
3) Mantener el tiempo de produccin dentro de los lmites de
horas por persona (total de horas por persona < 50,000)
Cada vez que Evolver genere una solucin posible del modelo,
comprueba que las restricciones introducidas se cumplen.
Las restricciones se muestran en la parte inferior de la seccin
Restricciones del cuadro de dilogo de Modelo de Evolver. Se pueden
especificar dos tipos de restricciones en Evolver:

Duras. Son condiciones que deben cumplirse para que una


solucin sea vlida (por ejemplo, una restriccin dura de iteracin
puede ser C10<=A4; en este caso, si una solucin genera un valor
para C10 que es superior al valor de la celda A4, la solucin se
descarta)

Blandas. Son condiciones que nos gustara que se cumplieran en


la medida de lo posible, pero que podramos ceder a cambio de
una gran mejora de la idoneidad o del resultado de la celda
objetivo. (por ejemplo, una restriccin blanda sera 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 segn la funcin de penalizacin que haya introducido).

Captulo 3: Evolver: Paso a paso

31

Cmo aadir
restricciones

Para aadir restricciones:


1) Haga clic en el botn Aadir de la seccin Restricciones del
cuadro dilogo principal de Evolver.
Se abrir el cuadro de dilogo Configuraciones de restricciones en el
que podr introducir las restricciones del modelo.

Restricciones de
rango simple de
valores y de
frmula

Se pueden usar dos formatos Simple y Frmula para introducir


restricciones. El formato de rango simple de valores permite
introducir restricciones usando las relaciones simples <,<=, >, >= o =.
Una restriccin tpica de rango simple de valores sera 0< Valor de
A1<10, donde A1 se introduce en el cuadro Rango de celda, 0 se
introduce en el cuadro Mn y 10 se introduce en el cuadro Mx. El
operador deseado se selecciona en los cuadros de lista desplegable. En
las restricciones con formato de rango simple de valores se puede
introducir slo un valor Mn, slo un valor Mx o ambos.
Por otro lado, las restricciones con formato de frmula permiten
introducir cualquier frmula vlida de Excel como una restriccin,
como puede ser A19<(1.2*E7)+E8. En cada solucin posible, Evolver
verifica si la frmula introducida genera un valor VERDADERO o
FALSO para comprobar si la restriccin se ha cumplido. Si desea
utilizar una restriccin de frmula booleana en la hoja de clculo,
simplemente haga referencia a esa celda en el campo Frmula del
cuadro de dilogo Configuraciones de restriccin.

32

Una visita por Evolver

Para introducir las restricciones del modelo de la panadera, deber


especificar tres nuevas restricciones duras. Estas son restricciones
duras ya que las condiciones introducidas deben cumplirse para que
Evolver no descarte la solucin generada. Primero, introduzca las
restricciones duras con formato de Rango simple de valores:
1) Introduzca "Total de horas trabajadas aceptable" en el cuadro de
descripcin.
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 Mximo.
5) Borre el valor predeterminado de 0 en el cuadro Mnimo.
6) A la izquierda de Rango a restringir, borre el operador
seleccionando la opcin en blanco de la lista desplegable
7) Haga clic en Aceptar para introducir la restriccin.

Captulo 3: Evolver: Paso a paso

33

Ahora vamos a introducir las restricciones duras con formato de


frmula:
1) Haga clic en Aadir para abrir de nuevo el cuadro de dilogo
Configuraciones de restriccin.
2) Introduzca "Relacin aceptable de alto contenido en fibra y bajo
en caloras" en el cuadro de descripcin.
3) En el cuadro Estilo de entrada, seleccione Frmula.
4) En el cuadro Frmula de restriccin, introduzca C4>= 1.5*B4.
5) Haga clic en Aceptar.
6) Haga clic en Aadir para abrir de nuevo el cuadro de dilogo
Configuraciones de restriccin.
7) Introduzca "Relacin aceptable de 5 granos y bajo en caloras" en
el cuadro de descripcin.
8) En el cuadro Estilo de entrada, seleccione Frmula.
9) En el cuadro Frmula de restriccin, introduzca D4>= 1.5*B4.
10) Haga clic en Aceptar
El cuadro de dilogo Modelo con la seccin de restricciones completa
debe quedar as.

34

Una visita por Evolver

Otras opciones de Evolver


Se ofrecen opciones como Actualizar la pantalla, Semilla de nmero
aleatorio o Condiciones de detencin de optimizacin para controlar como
opera Evolver durante una optimizacin. Especifiquemos algunas
condiciones de detencin y configuraciones de actualizacin de
pantalla.
Condiciones de
detencin

Evolver sigue funcionando tanto tiempo como usted desee. La


condiciones de detencin permiten que Evolver pare
automticamente cuando: a) se han examinado un nmero determinado de
escenarios o pruebas, b) ha transcurrido una cantidad de tiempo, c) no se
ha encontrado mejora alguna en los ltimos n escenarios, o d) la frmula
introducida en Excel genera un valor VERDADERO. Para ver y editar las
condiciones de detencin:
1) Haga clic en el icono Configuraciones de optimizacin de la barra
de herramientas de Evolver.
2) Seleccione la pestaa de Tiempo de ejecucin.

Captulo 3: Evolver: Paso a paso

35

En el cuadro de dilogo Configuraciones de optimizacin se puede


seleccionar cualquier combinacin de estas condiciones de detencin
de optimizacin, o ninguna en absoluto. Si selecciona ms de una
condicin de detencin, Evolver parar cuando se cumpla cualquiera
de las condiciones seleccionadas. Si no selecciona ninguna condicin
de detencin, Evolver seguir funcionando indefinidamente, hasta
que se pare manualmente pulsando el botn parar en la barra de
herramientas de Evolver.
Pruebas

Minutos

Cambio en la
ltima

La frmula es
verdadera

Esta opcin
establece el nmero
de pruebas que
quiere que Evolver
ejecute. En cada
prueba, Evolver
evala una serie
completa de
variables, o una
posible solucin al
problema.

Evolver parar
despus de una
cantidad de tiempo
especificada. Este
nmero puede ser
una fraccin (4.25).

Esta condicin de
detencin es la ms
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
pasan 100 pruebas y
sigue sin producirse
ningn cambio en el
mejor escenario
encontrado hasta el
momento.

Evolver se detiene si
la frmula
introducida en Excel
genera un valor de
VERDADERO en
uno de los
reclculos del
modelo.

36

Desactive todas las condiciones de detencin para que Evolver


funcione libremente.

Una visita por Evolver

Opciones de
visualizacin

Mientras Evolver est funcionando, hay una serie de opciones


disponibles en la seccin Visualizar para determinar lo que aparecer
en la pantalla.

Las opciones Durante la optimizacin son:


Cada prueba

Cada mejor nueva prueba

Nunca

Esta opcin actualiza la


pantalla despus de cada
clculo y permite ver cmo
Evolver ajusta las variables
y calcula los resultados. Se
recomienda activar esta
opcin mientras est
aprendiendo a usar
Evolver, y tambin cada
vez que use Evolver en un
nuevo modelo, para
comprobar que su modelo
se est calculando
correctamente.

Esta opcin actualiza la


pantalla cada vez que
Evolver genere una nueva
respuesta mejorada, lo cual
permite ver la solucin
ptima actual en cualquier
momento durante la
optimizacin.

Esta opcin nunca actualiza


la pantalla durante la
optimizacin. De esta
forma se pueden ejecutar
las optimizaciones de la
forma ms rpida posible,
pero no se ofrece
informacin sobre los
resultados calculados
durante la ejecucin.

Active la opcin Cada prueba

Captulo 3: Evolver: Paso a paso

37

Ejecucin de la optimizacin
Ahora slo queda optimizar este modelo para maximizar los
beneficios totales cumpliendo al mismo tiempo las normas de lmite
de produccin. Para hacerlo:
1) Haga clic en Aceptar para salir del cuadro de dilogo
Configuraciones de optimizacin.
2) Haga clic en el icono Iniciar optimizacin
Cuando Evolver comience a trabajar con el problema, usted ver los
mejores valores actuales de las celdas ajustables Cajas producidas- de
la hoja de clculo. El mejor valor de Beneficios totales se muestra en la
celda resaltada.

Durante la ejecucin, la ventana Progreso muestra: 1) la mejor


solucin encontrada hasta el momento, 2) el valor original de la celda
objetivo cuando comenz la optimizacin de Evolver, 3) el nmero de
pruebas que se han ejecutado y el nmero de pruebas vlidas; es
decir, que cumplen todas las restricciones; y 4) el tiempo transcurrido
de la optimizacin.
En cualquier momento durante la ejecucin puede hacer clic en el
icono Opciones de actualizacin de Excel para ver una actualizacin
en vivo de la pantalla en cada prueba.

38

Una visita por Evolver

Observador
de Evolver

Evolver tambin puede mostrar un registro de ejecucin de las


simulaciones realizadas de cada solucin de prueba. Este aparece en
el Observador del Evolver mientras Evolver est funcionando. El
Observador del Evolver permite explorar y modificar muchos
aspectos del problemas mientras se ejecuta. Para ver un registro de
ejecucin 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 pestaa Bitcora.

En este informe aparecen los resultados de la simulacin de cada


solucin 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.

Captulo 3: Evolver: Paso a paso

39

Cmo parar la
optimizacin

Despus de cinco minutos, Evolver parar la optimizacin. Tambin


se puede parar la optimizacin:
1) Haciendo clic en el icono Parar de las ventanas Observador del
Evolver o Progreso.
Cuando el proceso de Evolver se detiene, Evolver abre la pestaa
Opciones de detencin que ofrece las siguientes opciones:

Estas mismas opciones aparecen automticamente cuando se cumple


cualquiera de las condiciones de detencin establecidas en el cuadro
de dilogo Configuraciones de optimizacin de Evolver.

40

Una visita por Evolver

Informe de
resumen

Evolver puede crear un informe de resumen de la optimizacin que


contiene informacin como la fecha y la hora de la ejecucin, las
configuraciones de optimizacin utilizadas, el valor calculado para la
celda objetivo y el valor de cada una de las celdas ajustables.

Este informe es til para comparar los resultados de optimizaciones


sucesivas.
Captulo 3: Evolver: Paso a paso

41

Colocacin de los
resultados en el
modelo

Para colocar en la hoja de trabajo la nueva combinacin optimizada de


niveles de produccin de panadera de cada uno de los seis tipos de
pan:
1) Haga clic en el botn Parar.
2) Asegrese de que la opcin "Actualizar los valores de celdas
ajustables del libro de trabajo con" est establecida en Mejor
El programa regresar a la hoja de clculo Panadera - Prctica De
Tutorial.xls, con todos los nuevos valores de las variables generados
en la mejor solucin.

NOTA IMPORTANTE: Aunque en nuestro ejemplo se ve que Evolver


encontr una solucin que generaba beneficios totales de 3,940,486, su
resultado puede ser superior o inferior a este. Estas diferencias se
deben a una importante distincin entre Evolver y los dems
algoritmos de solucin de problemas: es la naturaleza aleatoria del
sistema del algoritmo gentico de Evolver lo que le permite resolver
una variedad ms amplia de problemas y encontrar mejores
soluciones.

42

Una visita por Evolver

Cuando guarde cualquier hoja de clculo despus de que Evolver


haya terminado su ejecucin (incluso aunque restaure los valores
originales de la hoja de clculo despus de usar Evolver), todas las
configuraciones de Evolver de los cuadros de dilogo de Evolver se
guardarn con esa hoja. La prxima vez que abra la hoja, todas las
configuraciones ms recientes de Evolver se cargarn
automticamente. Todas las dems hojas de clculo de ejemplo tienen
las configuraciones de Evolver preestablecidas y listas para la
optimizacin.
NOTA: Si quiere examinar el modelo de la panadera con todas las
configuraciones de optimizacin preestablecidas, abra el modelo de
ejemplo Panadera.xls

Captulo 3: Evolver: Paso a paso

43

44

Una visita por Evolver

Captulo 4: Ejemplos de
aplicaciones

Introduccin ......................................................................................47
Seleccin de publicidad...................................................................49
Orden alfabtico ...............................................................................51
Asignacin de tareas........................................................................53
Panadera...........................................................................................55
Asignacin de presupuesto.............................................................57
Equilibrio qumico ............................................................................59
Programador de clases ....................................................................61
Segmentador de cdigos.................................................................65
Dakota: Rutas con restricciones.....................................................69
Programacin del trabajo de un taller ............................................73
Ubicacin de una torre de radio......................................................75
Cartera equilibrada ...........................................................................77
Mezcla de carteras............................................................................81
Estaciones de potencia....................................................................83
Compras ............................................................................................85
Problema del vendedor ....................................................................87
Captulo 4: Ejemplos de aplicaciones

45

Navegador espacial.......................................................................... 89
Agente de bolsa................................................................................ 91
Transformador.................................................................................. 93
Transporte......................................................................................... 95

46

Introduccin
Este captulo explica cmo se puede usar Evolver en diferentes
aplicaciones. Es posible que estos ejemplos de aplicaciones no
incluyan todas las caractersticas que usted deseara en sus propios
modelos, pero pueden servir para generar ideas y como patrones de
modelos. Todos los ejemplos ilustran cmo Evolver encuentra
soluciones basndose en las relaciones que ya existen en la hoja de
clculo, y es importante que su modelo de hoja de clculo refleje con
exactitud el problema que est tratando de resolver.
Todas las hojas de clculo de ejemplo de Excel se encuentran en el
subdirectorio EXAMPLES del directorio EVOLVE32. Este captulo
incluye una lista alfabtica de las mismas. Los ejemplos utilizan los
siguientes cdigos de color:

celdas resaltadas en azul . . . . .

celdas ajustables que Evolver


modificar.

celdas resaltadas en rojo . . . . .

la celda objetivo.

Cada ejemplo viene con todas las configuraciones de Evolver


preseleccionadas, incluyendo la celda objetivo, las celdas ajustables,
los mtodos de solucin y las restricciones. Se recomienda que
examine estos cuadros de dilogo antes de realizar la optimizacin. Al
estudiar las frmulas y experimentar con las diferentes
configuraciones de Evolver, podr comprender mejor cmo funciona
Evolver. Los modelos tambin le permiten reemplazar los datos de la
muestra con sus propios datos de usuario. Si decide modificar o
adaptar estas hojas de ejemplo, conviene que las guarde con un nuevo
nombre para conservar los ejemplos originales para su referencia.

Captulo 4: Ejemplos de aplicaciones

47

48

Seleccin de publicidad
Una agencia publicitaria debe averiguar la forma ms eficaz de
invertir su dinero de publicidad para maximizar la cobertura de su
audiencia objetivo. No debe superar su presupuesto y la cantidad
invertida en TV debe ser mayor que la cantidad invertida en radio.
Archivo de ejemplo:

Seleccin de publicidad.xls

Objetivo:

Asignar compras de publicidad, dentro del


presupuesto, entre los diferentes medios de
comunicacin que tienen diferentes precios.
Maximizar el nmero de personas a las que se llega.

Mtodo de solucin:

Presupuesto

Problemas similares:

Problemas de tipo presupuestario con restricciones


adicionales.

Captulo 4: Ejemplos de aplicaciones

49

Cmo funciona
el modelo

Lo primero que debemos hacer es seleccionar un mtodo de solucin


que indique a Evolver lo que debe hacer con las variables. Consulte el
Captulo 5: Referencia completa para ver las descripciones de los
diferentes mtodos de solucin.
Este es bsicamente un problema de tipo presupuestario con la
restriccin adicional de que el gasto en TV debe ser superior al de la
radio.

Cmo resolverlo

50

Las variables que Evolver debe modificar estn en las celdas C5:C9.
Pediremos a Evolver que las baraje usando el mtodo de
presupuesto, para permitir que cada variable sea un valor
independiente. La audiencia total se calcula con la funcin SUM en la
celda G13; esta es la celda que pediremos a Evolver que maximice. Las
restricciones duras especifican que el gasto en TV debe ser mayor que
el gasto en radio.

Seleccin de publicidad

Orden alfabtico
Esta es una lista de siete nombres que queremos que Evolver ordene
alfabticamente. Aunque este ejemplo es simple, Evolver puede
administrar problemas complejos de ordenacin en los que los datos
son interdependientes, o en los que determinados nombres tienen
mayor valor segn otros datos del modelo.

Cmo funciona
el modelo

Archivo de ejemplo:

Orden alfabtico.xls

Objetivo:

Ordenar alfabticamente una lista de nombres.

Mtodo de solucin:

Orden

Problemas similares:

Cualquier problema de ordenacin que supere la


capacidad de Excel.

El archivo Orden alfabtico.xls es un modelo muy simple que


ilustra la capacidad de ordenacin de Evolver. La columna B contiene
los nombres de siete personas, y la columna A el nmero de ID
correspondiente de cada persona. La columna D utiliza la funcin
CONSULV de Excel para traducir cualquier nmero seleccionado en
la columna C en su nombre correspondiente. Las celdas E4:E9 usan
una funcin de penalizacin simple que asigna un valor 1 cada vez
que un nombre se ordena alfabticamente despus de otro nombre
alfabticamente posterior. La suma de todos estos errores est en la
celda E11, nuestra celda objetivo.

Captulo 4: Ejemplos de aplicaciones

51

Cmo resolverlo

En este modelo, las variables que se van a modificar se encuentran en


la columna C (C3:C9). Pediremos a Evolver que baraje las celdas
C3:C9 usando el mtodo de solucin orden. El mtodo de solucin
orden indica a Evolver que reorganice los valores seleccionados,
probando diferentes permutaciones de las variables en lugar de usar
nuevos valores. Pediremos a Evolver que encuentre el valor ms
cercano a 0 para el total de errores de la celda E11, porque cuando el
resultado de esta celda objetivo es 0, significa que todos los nombres
estn en el orden correcto.

Al no seleccionar ningn criterio de detencin en el cuadro de dilogo


Opciones de detencin de Evolver, indicamos a Evolver que siga
trabajando sin interrupcin hasta que se pare manualmente haciendo
clic en el botn parar de la barra de herramientas de Evolver. Pero
en este modelo hemos seleccionado la opcin de el valor ms cercano
a, de modo que Evolver parar automticamente cuando encuentre
una solucin que cumpla la opcin el valor ms cercano a 0.
Usamos una poblacin pequea porque, aunque no hay reglas sobre
la seleccin de un tamao de poblacin ptimo, generalmente
podemos seleccionar una poblacin menor cuando trabajamos con
problemas que tienen un nmero menor de soluciones posibles para
poder centrarnos en generar las soluciones de mejor rendimiento. En
este problema, slo hay 5040 rdenes posibles de 7 nombres.

52

Orden alfabtico

Asignacin de tareas
Este ejemplo modela un problema comn relativo a la asignacin de
recursos. En este problema, un gerente tiene 16 trabajadores
realizando 16 tareas. La capacidad de cada trabajador de realizar cada
tarea se ha clasificado en una escala del 1 al 10 (1= no sabe hacer la
tarea, 10= completa la tarea perfectamente). La dificultad aqu es
emparejar cada trabajador con una tarea de forma que la
productividad total de los trabajadores se maximice.
Archivo de ejemplo:

Asignacin de tareas.xls

Objetivo:

Asignar 16 trabajadores a 16 tareas de forma que se


maximice el rendimiento general.

Mtodo de solucin:

Orden

Problemas similares:

Problemas de asignacin, programar reuniones a las


horas ms convenientes para la mayora de los
trabajadores, encontrar las mejores mquinas para
una serie de trabajos.

Captulo 4: Ejemplos de aplicaciones

53

El modelo proporciona una tabla de 16 por 16 en las celdas B4:Q19 en


la que cada trabajador ha sido clasificado para cada tarea. La columna
"tarea elegida" (columna S) de la derecha de la tabla asigna
arbitrariamente cada trabajador a una tarea. La siguiente columna
(columna U) comprueba la tarea asignada e introduce la clasificacin
de cada trabajador para esa tarea. Finalmente, la puntuacin total de
la solucin total (en la celda U21) es la suma de todas las
clasificaciones individuales.
Cmo funciona
el modelo

Slo puede haber una persona para cada tarea, por lo tanto los
nmeros no se pueden duplicar y cada nmero debe usarse una vez.
La clasificacin de cada trabajador en esa tarea se registra en la
columna U usando la funcin INDICE(). Estas puntuaciones se suman
en la celda U21 para calcular la puntuacin total de esa serie de
asignaciones.

Cmo resolverlo

Pedimos a Evolver que baraje las variables de tarea elegida, que se


encuentran en la columna S (S4:S19). Pediremos a Evolver que baraje
estas celdas usando el mtodo de solucin orden. Este mtodo
baraja los valores existentes en las celdas, por lo tanto debe asegurarse
de que slo hay una instancia de cada valor antes de iniciar la
optimizacin. Pediremos a Evolver que encuentre el valor mximo de
la celda U21, la celda objetivo, porque cuanto mayor sea esta celda,
mejor ser la asignacin en general.

54

Asignacin de tareas

Panadera
Este ejemplo ilustra un problema comn en los problemas de decisin
de produccin, en los que encontrar la cantidad adecuada de cada
producto que se debe producir resulta muy difcil ... incluso con unos
pocos elementos. El propietario de una panadera debe determinar el
nmero de cajas que debe producir de cada tipo de pan para
maximizar los beneficios totales de la panadera. Asegrese de que
respeta las limitaciones descritas, como el nmero total de horas de
empleado y las relaciones correctas de produccin de productos.
(Nota: este modelo se describe con detalle en el Captulo 3: Evolver paso
a paso)
Archivo de ejemplo:

Panadera.xls

Objetivo:

Encontrar la cantidad ptima que se debe producir


de cada tipo de pan para cumplir las cuotas y
maximizar los beneficios.

Mtodo de solucin:

Receta

Problemas similares:

Desarrollo de carteras y planificacin de fabricacin

Captulo 4: Ejemplos de aplicaciones

55

Cmo funciona
el modelo

Este problema indica la cantidad de cada producto de pan que se


debe producir en la parte superior de la tabla, en la fila 4. Cuando se
modifican estas variables de cantidad (B4:G4), el modelo calcula las
horas y el gasto necesarios, as como los beneficios que se generaran
si se produjera esa cantidad. Los beneficios (en las celdas B11:G11) se
aaden en la celda I11, que se convierte en la celda objetivo que se
debe maximizar.

El modelo tiene tambin tres restricciones. Todas las restricciones son


duras. Una es una restriccin en formato de rango de valores simple y
dos son restricciones introducidas como frmulas de Excel.
Cmo resolverlo

56

Pedimos a Evolver que encuentre los valores de las celdas B4:G4 (las
cantidades que se deben producir) que maximicen el valor de la celda
I11 (beneficios totales). Como cada valor que se encuentra es
independiente de los dems, utilizaremos el mtodo de solucin de
receta. Tambin pediremos a Evolver que cumpla las restricciones
de las celdas C4, D4 y I8.

Panadera

Asignacin de presupuesto
Un jefe ejecutivo quiere averiguar la forma ms eficaz de distribuir
fondos entre diferentes departamentos de la compaa para
maximizar los beneficios. A continuacin se muestra el modelo de un
negocio y su pronstico de beneficios para el ao prximo. El modelo
estima los beneficios del ao prximo examinando el presupuesto
anual y haciendo suposiciones sobre, por ejemplo, el efecto que la
publicidad tiene sobre las ventas. Este es un modelo simple, pero
ilustra cmo se puede preparar cualquier modelo y usar Evolver para
introducir variables de entrada y encontrar el mejor resultado.
Archivo de ejemplo:

Asignacin de presupuesto.xls

Objetivo:

Asignar el presupuesto anual entre cinco


departamentos para maximizar los beneficios del ao
prximo.

Mtodo de solucin:

Presupuesto

Problemas similares:

Asignacin de cualquier recurso escaso (como mano


de obra, dinero, combustible o tiempo) a entidades
que lo pueden utilizar de diferentes formas o con
diferente eficacia.

Captulo 4: Ejemplos de aplicaciones

57

Cmo funciona
el modelo

El archivo Asignacin de presupuesto.xls modela los efectos del


presupuesto de una compaa en sus ventas y beneficios futuros. Las
celdas C4:C8 (las variables) contienen las cantidades que se van a
gastar en cada uno de los cinco departamentos. Estos valores suman
la cantidad total de la celda C10, el total del presupuesto anual de la
compaa. Este presupuesto lo establece la compaa y no se puede
cambiar.
Las celdas F6:F10 calculan una estimacin de la demanda de los
productos de la compaa para el ao prximo, basndose en los
presupuestos de publicidad y marketing. La cantidad de ventas reales
es el mnimo de la demanda calculada y el suministro. El suministro
depende del dinero asignado a los departamentos de produccin y
operaciones.

Cmo resolverlo

Maximice los beneficios de la celda I16 usando el mtodo de solucin


presupuesto para modificar los valores de las celdas C4:C8.
Establezca los rangos independientes de cada una de las celdas
ajustables del presupuesto de cada departamento, para evitar que
Evolver haga pruebas con nmeros negativos o nmeros que no
generara soluciones apropiadas (por ejemplo, todo a publicidad y
nada a produccin) en el presupuesto de los departamentos.
El mtodo de solucin presupuesto funciona como el mtodo de
solucin receta en el sentido de que trata de encontrar la mezcla
adecuada de las variables seleccionadas. Sin embargo, cuando se usa
el mtodo de presupuesto, se aade la restriccin de que todas las
variables deben sumar un mismo nmero, como lo hacan antes de
que Evolver comenzara la optimizacin.

58

Asignacin de presupuesto

Equilibrio qumico
Cualquier proceso que pueda ser modelado para producir un
resultado, con ciertas condiciones iniciales, se puede optimizar en
Evolver. Este ejemplo muestra la capacidad de Evolver de encontrar
los niveles de diferentes productos qumicos (productos y reactivos)
necesarios para minimizar la energa libre despus de que una
reaccin haya alcanzado su equilibrio. En procesos qumicos
complejos, los ingredientes (reactivos) y los productos se vuelven a
formar continuamente unos en otros hasta que la concentracin de los
compuestos es constante; es decir, hasta que se alcanza el equilibrio.
En cualquier momento despus de alcanzarse el equilibrio, un
porcentaje constante de los productos qumicos de equilibrio pueden
ser reactivos (por ejemplo, el 5%) y un porcentaje constante seran
productos (95%).
Archivo de ejemplo:

Equilibrio qumico.xls

Objetivo:

Calcule la energa libre del entorno de la reaccin y


encuentre los niveles de los productos qumicos,
teniendo en cuenta restricciones blandas (algunos
niveles de productos qumicos son proporcionales a
otros).

Mtodo de solucin:

Receta

Problemas similares:

Determinacin de las condiciones del equilibrio de


mercado ms estable.

Captulo 4: Ejemplos de aplicaciones

59

Cmo funciona
el modelo

Las variables de este problema de las celdas B4:B13 son los niveles de
los qumicos que se van a mezclar. La celda B15 calcula la cantidad
total, que se debe mantener dentro de un rango determinado segn
las penalizaciones.
Las restricciones de F20:F22 son restricciones blandas; es decir, que no
obligaremos a Evolver a aceptar solamente soluciones vlidas, sino
que en su lugar calcularemos las penalizaciones si ciertos qumicos se
salen de la proporcin deseada con respecto a otros qumicos. Estas
restricciones blandas utilizan funciones de penalizacin incorporadas
directamente en el modelo de la hoja de clculo. Las penalizaciones se
aaden al total de energa libre de la celda F17, de forma que cuando
Evolver est minimizando el objetivo, estar buscando soluciones que
no generen penalizaciones.

Cmo resolverlo

60

Use el mtodo de solucin de receta en las celdas B4:B13. Minimice la


celda F17.

Equilibrio qumico

Programador de clases
Una universidad debe asignar 25 clases diferentes en 6 bloques
predefinidos de tiempo. Cada clase dura exactamente un bloque de
tiempo. Normalmente, esto nos permitira tratar el problema con el
mtodo de solucin agrupamiento. Sin embargo, hay una serie de
restricciones que deben cumplirse mientras se prepara el calendario
de clases. Por ejemplo, biologa y qumica no pueden ser al mismo
tiempo para que los estudiantes de medicina puedan asistir a ambas
clases en un mismo semestre. Para cumplir estas restricciones,
utilizamos el mtodo de calendarizacin. El mtodo de solucin de
calendarizacin es como el mtodo de agrupamiento, con la
excepcin de que existen restricciones que indican que ciertas tareas
deben suceder (o no suceder) antes (o despus, o durante) que otras
tareas.
Archivo de ejemplo:

Programador de clases.xls

Objetivo:

Asignar 25 clases a 6 periodos de tiempo para


minimizar el nmero de estudiantes que no pueden
asistir a ciertas clases. Cumplir una serie de
restricciones sobre la coincidencia de clases.

Mtodo de solucin:

Calendarizacin

Problemas similares:

Cualquier problema de calendarizacin en el que


todas las tareas son de la misma duracin y pueden
asignarse a una serie de bloques de tiempo
independientes. Adems, cualquier problema de
agrupamiento en el que haya restricciones sobre qu
grupos pueden asignarse.

Captulo 4: Ejemplos de aplicaciones

61

Cmo funciona
el modelo

El archivo Programador de clases.xls contiene un modelo de un


problema tpico de programacin en el que deben cumplirse muchas
restricciones. Las celdas C5:C29 asignan 25 clases a 6 bloques de
tiempo. Slo hay cinco salas disponibles, por lo tanto, asignar ms de
cinco clases a un bloque de tiempo de al menos una hora no es
posible.
Las celdas K17:M25 contienen las restricciones; a la izquierda de las
restricciones se encuentran las descripciones de las restricciones.
Puede usar el nmero de cdigo o la descripcin como restriccin. La
lista de cdigos de restriccin de los problemas de programacin se
encuentra ms detallada en la seccin Mtodos de solucin del
Captulo 5: Referencia completa.
Cada uno de los posibles calendarios se evala mediante el clculo de
a) el nmero de clases que no pueden coincidir, y b) el nmero de
estudiantes que no pueden asistir a sus clases porque se ha alcanzado
la capacidad de la sala. Esta ltima restriccin impide que Evolver
programe todas las clases grandes al mismo tiempo. Si slo hay una o
dos clases grandes durante un bloque de tiempo, ms grandes sern
las salas que se pueden usar.

62

Programador de clases

Las celdas I8:N8 utilizan la funcin BCUENTA de Excel para contar


cuntas clases hay asignadas a cada bloque de tiempo. Justo debajo de
las celdas I9:N9 se calcula cuntas clases no se asignaron a una sala en
un periodo de tiempo. Todas las clases que no tienen sala se totalizan
en la celda K10.
Si el nmero de asientos necesario para una clase determinada excede
el nmero de asientos disponibles, las celdas I12:N12 calculan cuntos
sobran, y el nmero total de estudiantes sin asiento se calcula en la
celda K13. En la celda F6, este nmero total de estudiantes sin asiento
se aade al promedio de tamao de clase, y se multiplica por el
nmero de clases sin sala. De esta forma, tenemos una celda que
combina todas las penalizaciones de modo que un nmero reducido
en esta celda indica siempre un calendario ms adecuado.
Cmo resolverlo

Minimice el valor de las penalizaciones de F6 cambiando las celdas


C5:C29. Use el mtodo de solucin calendarizacin. Cuando se
selecciona este mtodo de solucin, aparecern una serie de opciones
relacionadas en la seccin inferior opciones del cuadro de dilogo.
Establezca el nmero de bloques de tiempo en 6, y las celdas de
restricciones en K17:M25.

Captulo 4: Ejemplos de aplicaciones

63

64

Segmentador de cdigos
Un programador de Windows quiere dividir un programa en varios
segmentos de cdigo, de forma que Windows pueda usar la memoria
de forma ms eficaz manteniendo en memoria slo los segmentos de
cdigo que estn actualmente en uso.
Este es un ejemplo de recoleccin de elementos similares en grupos.
Los elementos pueden interactuar eficazmente con otros del mismo
grupo, pero es difcil que los elementos de diferentes grupos
interacten. Cuando hay barreras naturales que impiden que cada
elemento interacte directamente con los dems (por ejemplo, que los
usuarios de PC estn conectados directamente a una impresora), es
necesario dividir los elementos en grupos. Un agrupamiento eficaz
puede tener un efecto significativo en la productividad general del
sistema.
Archivo de ejemplo:

Segmentador de cdigo.xls

Objetivo:

Agrupar rutinas de programacin en ocho


segmentos de cdigo diferentes de forma que el
programa se ejecute lo ms rpidamente posible.

Mtodo de solucin:

agrupamiento

Problemas similares:

Agrupacin de estaciones de trabajo en grupos LAN,


o circuitos en reas de un microchip, de modo que el
costo de la comunicacin entre grupos se minimice.

Captulo 4: Ejemplos de aplicaciones

65

Cmo funciona
el modelo

Los programadores de Windows normalmente dividen los programas


de esta forma para aumentar la eficacia del programa. Cuando una
rutina de otro segmento debe ejecutarse, Windows rechaza el
segmento activo y lee del disco el segmento que solicita activacin. Si
un programa de 2 MB se divide en 80 segmentos de 20 Kb cada uno,
el programa puede ejecutarse con slo 20 Kb de memoria disponible.
Sin embargo, para que se ejecute con un nivel de funcionamiento
aceptable, los segmentos de cdigo deben organizarse
cuidadosamente. La llamada de una funcin de otro segmentos tarda
ms que la llamada de una funcin del mismo segmento que la
funcin activa. La minimizacin del nmero de llamadas entre
segmentos se conoce como un problema de segmentacin de cdigo.
Como es posible optimizar algunas partes de una aplicacin
afectando la aplicacin en su totalidad, utilizaremos Evolver para
realizar una optimizacin global.
El archivo de ejemplo Segmentador de cdigo.xls presupone que la
aplicacin se ha compilado con cierta segmentacin. La aplicacin se
ejecuta tal y como la ejecutara un usuario, mientras una rutina de
seguimiento de rendimiento controla el nmero de veces que cada
funcin llama a otra funcin. Por lo tanto, los resultados representan
la naturaleza de las llamadas durante el uso tpico de la aplicacin. A
partir de ah se pueden hacer predicciones sobre la velocidad de la
aplicacin con diferentes estrategias de segmentacin.
Esa hoja de trabajo utiliza la funcin personalizada SegCost.
SegCost calcula el tiempo que tardara el usuario en ejecutar el
programa de la misma forma que cuando se obtuvieron las
estadsticas de uso tpico. El clculo se hace contando el nmero de
llamadas dentro de un segmento y entre segmentos, y multiplicando
cada uno por el costo de cada tipo de llamada. Aqu se presupone que
una llamada entre segmentos (o llamada cercana) usa siete ciclos del
reloj, y una llamada entre segmentos (o llamada lejana) usa 34 ciclos,
que es el caso en un PC 386.

66

Segmentador de cdigos

La funcin SegCost est escrita como macro VBA de Excel, como se


muestra aqu:
Function segCost(segs, calls, inP, outP) As Double
Dim inCost#, outCost#, total#, temp#, tempPtr#
Dim i%, j%, wide%, funcNumber%, ThisSeg%, OtherSeg%
Dim NumCalls%, NumInCall%, NumOutCall%, SegOrder$,
CallOrder$
SegOrder = Application.Names("segs").RefersTo
CallOrder = Application.Names("calls").RefersTo
NumInCall = 0
NumOutCall = 0
inCost = Range("k2")
outCost = Range("k3")
total = 0
wide = Range(CallOrder).Columns.Count
For i = 1 To Range(SegOrder).Rows.Count
ThisSeg = Range(SegOrder).Rows(i)
For j = 1 To wide
temp = Range(CallOrder).Rows(i).Columns(j)
If temp <> 0 Then
funcNumber = Int(temp)
OtherSeg = Range(SegOrder).Rows(funcNumber + 1)
NumCalls = 10000 * (temp - funcNumber)
If ThisSeg = OtherSeg Then
temp = NumCalls * inCost
NumInCall = NumInCall + 1
Else
temp = NumCalls * outCost
NumOutCall = NumOutCall + 1
End If
total = total + temp
End If
Next
Next
segCost = total
End Function

La aplicacin de muestra tiene 80 funciones. El nmero de veces que


cada funcin llama a otra se almacena en el rango llamadas
(C5:I104). Se puede crear una matriz de 80 por 80 para representar el
patrn de llamadas, pero este mtodo de n por n sera intil despus
de 250 funciones, porque Excel tiene un lmite de 256 columnas (y
porque el mtodo necesitara una cantidad exponencial de memoria).

Captulo 4: Ejemplos de aplicaciones

67

Tambin se puede usar una anotacin condensada para representar el


patrn de llamadas. Primero presuponemos que las funciones slo
llaman a un cierto nmero de funciones. En el archivo de ejemplo,
presuponemos que siete es el lmite superior; por eso el rango de
llamadas tiene un ancho de siete columnas, pero este lmite es
arbitrario. Tambin presuponemos que ninguna funcin puede ser
llamada por otra ms de 9999 veces.
Veamos la funcin 1, empezando en la celda C5. La Funcin 1 llama a
cuatro funciones: 3, 9, 81 y 41. C5:I5, la primera fila de las llamadas,
contiene un nmero real por cada funcin llamada (es decir, 3.0023).
La porcin entera (es decir, 3) representa la funcin llamada, y la
parte decimal multiplicada por 10,000 (es decir, .0023 x 10,000 = 23)
representa el nmero de veces que la funcin 1 llam a la funcin 3
durante el uso tpico de la aplicacin. Por lo tanto, 9.1117 significa que
la funcin llam la funcin 9 un total de 1,117 veces, etc. Este formato
conciso permite ahorrar memoria y aprovechar el nmero limitado de
columnas de Excel.
La celda A5:A104 (el rango segs) contiene el nmero del segmento
al que se asigna cada funcin. La celda K4 llama a la funcin
SegCost para calcular el rendimiento general de la estrategia de
segmentacin actual.
Cmo resolverlo

68

Minimice el valor de la celda K4 ajustando las celdas A5:A104. Use el


mtodo de agrupamiento. El mtodo de solucin de
agrupamiento indica a Evolver que organice las variables en x
grupos, donde x es el nmero de valores diferentes de las celdas
ajustables al iniciar una optimizacin.

Segmentador de cdigos

Dakota: Rutas con restricciones


Una empresa de bienes races necesita evaluar sus propiedades en
North Dakota en un orden determinado, de forma que ciertas
propiedades se visiten antes que otras. Similar al problema clsico del
vendedor que viaja, el objetivo de este problema es encontrar la ruta
ms corta entre una serie de ciudades para asegurarse de que cada
ciudad se visite una vez. Sin embargo, aqu aadimos la restriccin de
que ciertas ciudades deben visitarse antes que otras (como en el caso
de la ciudad nmero 2, que est despus de la ciudad nmero 4). Esto
significa de que en lugar de usar el mtodo de solucin orden
usaremos el mtodo de solucin proyecto.
Un proyecto es un orden para una serie de tareas en el que algunas
tareas deben preceder a otras. Se puede usar el mtodo de solucin
proyecto, junto con sus propias funciones personalizadas, para
encontrar la mejor secuencia de tiempo para un proyecto (basndose
en una combinacin de una serie de criterios, como tiempo de
terminacin, uso de recursos, etc.).
Archivo de ejemplo:

Dakota.xls

Objetivo:

Planifique una ruta entre 41 ciudades de North


Dakota para encontrar la ruta ms corta entre todas
las ciudades asegurndose de que algunas ciudades
se visitan antes que otras.

Mtodo de solucin:

proyecto

Problemas similares:

Revisin del calendario de un proyecto para


equilibrar el uso de recursos. Programacin del flujo
de trabajo de un taller de maquinaria para reducir el
tiempo total, asegurndose el mismo tiempo de que
algunos trabajos se hacen antes que otros.

Captulo 4: Ejemplos de aplicaciones

69

Cmo funciona
el modelo

Las celdas F3:F43 contienen el orden en el que se visitarn las


ciudades. La celda H10 calcula la longitud total de la ruta, basndose
en el orden y las ubicaciones x,y de las ciudades (celdas C3:D43). La
celda H10 usa la funcin personalizada BigRouteLength para
acelerar el clculo de la longitud total de la ruta.
Las celdas J3:L43 contienen las tareas precedentes. Esta es una tabla
que muestra qu ciudades (tareas) deben ser precedidas por otras
ciudades. Hay ocho ciudades (1,2,3,4,5,7, 11 y 13) que tienen que ser
visitadas despus de visitar ciertas ciudades.

70

Dakota: Rutas con restricciones

Cmo resolverlo

Minimice la longitud de la ruta de la celda H10 cambiando las celdas


F3:F43. Use el mtodo de solucin proyecto y establezca las tareas
precedentes en J3:L43. Estas tareas precedentes se establecen en el
campo Tareas Precedentes del cuadro de dilogo Configuraciones de
Grupo de Celda Ajustable:

Captulo 4: Ejemplos de aplicaciones

71

72

Programacin del trabajo de un taller


Un taller metalrgico necesita encontrar la mejor forma de programar
una serie de trabajos que se pueden dividir en pasos que se pueden
realizar en diferentes mquinas. Cada trabajo se compone de cinco
tareas, y las tareas deben realizarse en orden. Cada tarea debe hacerse
en una mquina especfica, y necesita una cantidad especfica de
tiempo para realizarse. Hay cinco trabajos y cinco mquinas.
Haciendo clic en el botn Dibujar Programa de la parte superior de la
hoja se redibuja el grfico de barras para mostrar cundo se debe
ejecutar cada una de las tareas programadas.
Archivo de ejemplo:

Programacin trabajo taller.xls

Objetivo:

Asigne partes de un trabajo (tareas) a diferentes


mquinas de forma que se minimice el tiempo total
para terminar todos los trabajos.

Mtodo de solucin:

Orden

Problemas similares:

Problemas de programacin o administracin de


proyectos

Captulo 4: Ejemplos de aplicaciones

73

Cmo funciona
el modelo

La celda D5 calcula el tiempo de produccin, o cunto tiempo pasa


entre el inicio de la primera tarea programada y el final de la ltima
tarea programada. Este tiempo es el que debemos minimizar. Las
celdas G11:G35 contienen las variables (las tareas) que se van a barajar
para encontrar el mejor orden posible de asignaciones. Las ecuaciones
de la hoja indican cundo se puede realizar cada tarea en la mquina
necesaria.

Cmo resolverlo

Seleccione una serie de celdas ajustables G11:G35 y seleccione el


mtodo de solucin de orden. Minimice el resultado de la celda D5.

74

Programacin del trabajo de un taller

Ubicacin de una torre de radio


Una cadena de radio quiere construir tres torres de radio en una
regin que tiene doce comunidades de importancia. Cada comunidad
tiene un tamao diferente de poblacin, y cada torre de radio tiene un
alcance de emisin diferente. El objetivo es colocar las torres de forma
que los radios de alcance de emisin de las torres cubran el mximo
nmero de oyentes potenciales.

Un ejemplo ms complejo de problema de ubicacin puede ser situar


varias fbricas de forma que a) estn cerca tanto de vendedores como
de clientes, b) estn en un terreno abierto y econmico, y c) estn cerca
de una fuerza laboral grande y tcnicamente capacitada. Tambin se
puede aadir al modelo cualquier influencia adicional para encontrar
las mejores ubicaciones, como incentivos fiscales. Evolver puede
encontrar las mejores ubicaciones en el espacio de coordinadas x,y o
incluso x,y,z.
Archivo de ejemplo:

Ubicacin torres radio.xls

Objetivo:

Encontrar las mejores coordenadas x,y para tres


torres de radio de forma que el alcance de emisin
cubra la mayor poblacin de potenciales oyentes.

Mtodo de solucin:

Receta

Problemas similares:

Bsqueda de lugares para almacenes que minimicen


los envos necesarios entre almacenes y tiendas.
Ubicar estaciones de bomberos de forma que cubran
mejor las poblaciones con un nmero limitado de
estaciones, incluyendo factores como la densidad de
viviendas.

Captulo 4: Ejemplos de aplicaciones

75

Cmo funciona
el modelo

El archivo Ubicacin torres radio.xls modela un terreno de dos


dimensiones en el que la colocacin de cinco torres de radio
determina a cuntos oyentes llega el alcance. Las celdas C6:D8
contienen las coordinadas x,y de las tres torres. La ilustracin del
modelo consta de dos elementos: uno es una imagen de bitmap de las
densidades de poblacin (en verde) pegada del programa Paintbrush
de Windows; el otro es un diagrama de dispersin de Excel que se
recalcula automticamente para mostrar las ubicaciones de las torres.
Hay diez comunidades representadas como ubicaciones de un solo
punto. El modelo de Excel calcula la distancia entre las comunidades
y las torres en K4:M15 para determinar si cada comunidad est
cubierta (s) o no lo est (no). El total de poblacin de todas las
comunidades cubiertas (el nmero que queremos maximizar) se
calcula en la celda O17.

Cmo resolverlo

Maximice la poblacin alcanzada en la celda O17 ajustando las celdas


C6:D8 de ubicacin de las torres. Use el mtodo de solucin receta y
establezca los rangos de las variables de 0 a 50 (los lmites de nuestra
rea de ubicacin).
El mtodo de solucin receta indica a Evolver que ajuste las
variables seleccionadas de la mejor forma. Como es el caso con una
receta para bancos, tratamos de encontrar la mezcla adecuada de
ingredientes (coordinadas x,y) para producir la solucin ptima.

76

Ubicacin de una torre de radio

Cartera equilibrada
Un agente tiene una lista de 80 acciones, cada una de ellas con un
valor monetario diferente. El agente quiere agrupar estas acciones en
cinco paquetes (carteras) que tengan un valor total lo ms similar
posible.
Este es un ejemplo de una categora general de problemas
denominados problemas de agrupamiento de intervalos. Otro
ejemplo es el agrupamiento de carga en la bodega de un barco de
transporte, de forma que cada grupo tenga un peso lo ms similar
posible. Si hay millones de pequeos elementos a agrupar en unos
pocos grupos, como puede ser granos de trigo en la bodega de un
barco, se puede presuponer una distribucin aproximadamente
normal sin grandes diferencias de peso. Sin embargo, varias docenas
de grupos, de pesos y tamaos diferentes, se pueden agrupar de
formas muy diferentes, y un agrupamiento eficaz puede mejorar el
equilibrio que se encontrara manualmente.
Archivo de ejemplo:

Cartera equilibrada.xls

Objetivo:

Dividir una lista de acciones en cinco carteras


diferentes cuyos valores totales estn lo ms cerca
posible unos de otros.

Mtodo de solucin:

agrupamiento

Problemas similares:

Creacin de equipos que tengan habilidades


colectivas equivalentes. Asignacin de
contenedores a la bodega de un barco de forma que
el peso quede distribuido uniformemente.

Captulo 4: Ejemplos de aplicaciones

77

Cmo funciona
el modelo

El archivo Cartera equilibrada.xls modela una asignacin tpica de


grupos. La Columna A contiene nmeros de identificacin de
acciones especficas, y la columna B contiene el valor monetario de
cada accin. La Columna C asigna cada accin a una de las cinco
carteras. Cuando se configura un problema de tipo agrupamiento o de
grupos de intervalos y se utiliza el mtodo de solucin agrupamiento,
debe asegurarse antes de inicia Evolver de que cada grupo (1-5) est
representado en el escenario actual al menos una vez.
Las celdas F6:F10 calculan el valor total de cada una de las cinco
carteras. Esto se hace con el criterio de base de datos de la columna I y
las frmulas BSUMA() de las celdas F6:F10. Por lo tanto, la celda F6,
por ejemplo, calcula BSUMA para todos los valores de la columna B
que han sido asignados al grupo 5 (en la columna C).

78

Cartera equilibrada

La celda F12 calcula la desviacin estndar entre todos los valores de


las carteras usando la funcin DESVEST(). Esto proporciona una
medida de la similitud del valor total de cada una de las carteras. El
grfico muestra el valor total de cada cartera, con una lnea de
referencia en el nmero objetivo en el que cada cartera estara si
fueran todas iguales.
Cmo resolverlo

Minimice el valor de la celda F12 ajustando las celdas C5:C104. Use el


mtodo de agrupamiento y asegrese de que los valores 1, 2, 3, 4 y
5 aparecen al menos una vez en la columna C.
El mtodo de solucin de agrupamiento indica a Evolver que
organice las variables en x grupos, donde x es el nmero de valores
diferentes de las celdas ajustables al iniciar una optimizacin.

Captulo 4: Ejemplos de aplicaciones

79

80

Mezcla de carteras
Una joven pareja tiene activos en diferentes tipos de inversiones, cada
una con sus propios beneficios, crecimiento potencial y riesgo.
Combinando varias frmulas que multiplican las diferentes
jerarquas, han personalizado un tipo de puntuacin que muestra lo
adecuada que es una mezcla determinada de inversiones para sus
necesidades.
Archivo de ejemplo:

Mezcla de carteras.xls

Objetivo:

Encontrar la mezcla ptima de inversiones para


maximizar los beneficios, dadas sus necesidades
actuales de riesgo /recuperacin.

Mtodo de solucin:

Presupuesto

Captulo 4: Ejemplos de aplicaciones

81

Cmo funciona
el modelo

Este es un modelo financiero clsico que trata de equilibrar el riesgo


de prdida y la recuperacin de la inversin. Todos los activos
incluido en la columna A tienen asignada una jerarqua en la columna
C. El modelo multiplica los porcentajes de recuperacin por la
jerarqua de cada activo de la cartera para generar una recuperacin
total en la celda C18. Tambin se calcula el nmero de riesgo total de
la celda C19, que no debe ser mayor que el riesgo aceptable de la
celda D19.

Cmo resolverlo

La puntuacin total de la celda C22 refleja la recuperacin total


menos una penalizacin por un riesgo superior al porcentaje
aceptable. Debemos maximizar esta puntuacin.

82

Mezcla de carteras

Estaciones de potencia
Una cadena de radio compra tres torres de radio abandonadas que no
funcionan en una regin que tiene diez comunidades de importancia.
La cadena quiere comprar transmisores de emisiones totalmente
nuevos e instalarlos en las torres para que puedan volver a emitir.
Como hay un presupuesto limitado, el objetivo es gastar la menor
cantidad de dinero en transmisores que sigan cubriendo las 9
comunidades. Se presupone un modelo de precio lineal en el que el
costo de un transmisor est directamente relacionado con su potencia,
por lo tanto tenemos que buscar la menor cantidad posible de
potencia para comprar, pero sera igual de fcil crear una tabla de
bsqueda de tipos y precios de transmisores.
Archivo de ejemplo:

Estaciones de potencia.xls

Objetivo:

Encontrar el transmisor ms pequeo (ms barato)


para cada una de las torres antiguas que permita
cubrir el rea de las diez comunidades.

Mtodo de solucin:

Receta

Problemas similares:

Problemas de cobertura fija, en los que deben


describirse una serie de elementos mediante un
pequeo nmero de grupos bien definidos.

Captulo 4: Ejemplos de aplicaciones

83

Cmo funciona
el modelo

Esto es muy similar al ejemplo de ubicacin de torres de radio


(Ubicacin torres radio.xls), excepto en que las ubicaciones son fijas, y
son las gamas de potencia de la torres de las celdas E5:E7 las variables
que deben ajustarse. Aadimos el costo de potencia de las tres torres
en la celda E12, la celda objetivo que queremos minimizar.
Las celdas K4:M12 calculan la distancia a la que se encuentra cada
comunidad de la torre, y la columna N genera un valor VERDADERO
si una comunidad est suficientemente cerca de un transmisor como
para estar cubierta. Todas estas restricciones se comprueban en una
sola restriccin dura denominada Todas las reas cubiertas?. Esta
restriccin tiene la frmula Y($N$4:$N$12) que genera un valor
VERDADERO slo si todos los valores de la columna N son
VERDADEROS.

Cmo resolverlo

84

Minimice la potencia necesaria en la celda E12 ajustando los radios de


las torres de las celdas E5:E7. Use el mtodo de solucin "receta" y
establezca los rangos de las variables de 0 a 100. La restriccin dura
nica, introducida usando el formato de frmula de Excel, se describe
arriba.

Estaciones de potencia

Compras
Cada vez que hay mltiples formas de ordenar elementos, los
descuentos de cantidad dificultan la determinacin de la forma ms
econmica de comprar elementos. Este modelo contiene una tabla
sencilla de precios, que incluye precios con descuentos de cantidad de
un disolvente especial. Debe comprar al menos 155 litros de este
disolvente, que se ofrece en barriles pequeos, medianos, grandes y
extra-grandes.
Trate de comprar la cantidad adecuada de cada tamao de barril para
minimizar su costo.
Archivo de ejemplo:

Compras.xls

Objetivo:

Gastar la menor cantidad posible de dinero


comprando 155 litros de disolvente.

Mtodo de solucin:

Receta

Problemas similares:

Lo opuesto: crear una tabla de precios que incentive


con regularidad y justicia los pedidos de grandes
cantidades.

Captulo 4: Ejemplos de aplicaciones

85

Cmo funciona
el modelo

Este disolvente se ofrece en barriles de 3, 6, 10 y 14 litros. La tabla de


precios de cada tamao se encuentra en las celdas D6:H9. Las celdas
H13:H16 contienen las cantidades a comprar de cada tamao. La
Columna K calcula el costo de cada compra, y la celda K18 es el costo
total. Este modelo permite cambiar la cantidad necesaria a comprar
(celda I19) de 155 a la cantidad que prefiera. La celda I18 contiene el
total de litros que se compran; por lo tanto, esta celda debe incluir al
menos el nmero necesario de la celda I19 (155). La restriccin dura
nica es que la cantidad de la compra exceda la cantidad necesaria.
Como necesitamos 155 litros, podemos comprar 11 barriles extragrandes (154 litros), y un barril pequeo (3 litros) para un total de 157
litros. Segn la tabla de precios, eso costara un total de $1,200. Pero si
ejecutamos la optimizacin se consigue una combinacin an ms
econmica.

Cmo resolverlo

86

Minimice el costo de la celda K18 ajustando las cantidades a comprar


de las celdas H13:H16. Use el mtodo de solucin de receta para
ajustar valores, y establezca los rangos de estas variables entre 1 y 20.
No se puede comprar slo una parte de un barril, as que indicaremos
a Evolver que use slo nmeros enteros marcando la opcin enteros
en el cuadro de dilogo Celdas Ajustables. Como no se pueden
comprar menos de 155 litros, introduzca una restriccin dura nica
que especifique I18>155.

Compras

Problema del vendedor


Un vendedor debe visitar una vez todas las ciudades de su territorio
asignado. Cul es la ruta ms corta posible que permita visitar todas
las ciudades? Este es un problema clsico de optimizacin y uno
extremadamente difcil de resolver usando tcnicas convencionales si
hay un gran nmero de ciudades (>50).
Un problema similar puede ser el de encontrar el mejor orden para
realizar tareas en una fbrica. Por ejemplo, puede ser mucho ms fcil
aplicar pintura negra despus de la pintura blanca que al revs. En
Evolver, estos tipos de problemas se pueden solucionar mejor con el
mtodo de solucin de orden.
Archivo de ejemplo:

Problema del vendedor.xls

Objetivo:

Encontrar la ruta ms corta entre n ciudades que


permita visitar una vez cada ciudad.

Mtodo de solucin:

Orden

Problemas similares:

Planificacin de la perforacin de orificios en una


placa de circuitos de la forma ms rpida.

Captulo 4: Ejemplos de aplicaciones

87

Cmo funciona
el modelo

El archivo Problema del vendedor.xls calcula la longitud de la ruta


de un viaje a varias ciudades buscando la distancia en la tabla. La
Columna A contiene los nmeros de identificacin de las ciudades. La
Columna B contiene los nombres que representan esos nmeros (con
una funcin de bsqueda). El orden de arriba a abajo en el que
aparecen las ciudades (y sus nmeros) representa el orden en el que
se visitan las ciudades. Por ejemplo, si introdujo 9 en la celda A3,
Ottawa sera la primera ciudad visitada. Si A4 contiene el nmero 6
(Halifax), Halifax sera la segunda ciudad visitadas.
Las distancias entre ciudades aparece en la tabla que comienza en la
celda C25. Las distancias de la tabla son simtricas (la distancia de A a
B es la misma que de B a A). Tambin es posible que otros modelos
ms realistas incluyan distancias no simtricas para representar
mayor dificultad de viaje en una direccin (debido a peajes,
transporte disponible, vientos, pendientes, etc.).
Se debe usar ahora una funcin para calcular la longitud de la ruta
entre estas ciudades. La longitud total de la ruta se almacena en la
celda G2, la celda que queremos optimizar. Para hacerlo, use la
funcin RouteLength. Esta es una funcin VBA personalizada para
Problema del vendedor.xls.

Cmo resolverlo

Minimice el valor de la celda G2 ajustando las celdas A3:A22. Use el


mtodo orden y asegrese de que los valores del 1 al 20 existen en
las celdas ajustables (A3:A22) antes de iniciar la optimizacin.
El mtodo de solucin orden indica a Evolver que reorganice las
variables seleccionadas, probando diferentes permutaciones de las
variables existentes.

88

Problema del vendedor

Navegador espacial
Como parte de la tripulacin de la lanzadera espacial Evolver III,
debe calcular la cantidad y la direccin del impulso de cada cohete
propulsor para alcanzar su destino usando la menor cantidad posible
de combustible. Las mejores soluciones probablemente pasarn por
aprovechar el efecto de impulso gravitacional de los soles cercanos
para conservar combustible.
Archivo de ejemplo:

Navegador espacial.xls

Objetivo:

Llevar la nave espacial a su destino usando la menor


cantidad posible de combustible. Aproveche la
gravedad de las estrellas que se mueven por la zona.

Mtodo de solucin:

Receta

Problemas similares:

Problemas de control de procesos

Captulo 4: Ejemplos de aplicaciones

89

Cmo funciona
el modelo

Las celdas Q5:R15 contienen los valores de tamao de impulsin y


direccin de cada una de los diez fases. La celda Q16, que es la que
queremos minimizar, es simplemente la suma de todo el combustible
quemado en las diez fases (Q4:Q13).
Las restricciones duras son: a) que la posicin final de la nave est a
un mximo de 10 unidades horizontales de su destino, y b) que est a
un mximo de 10 unidades verticales.

Cmo resolverlo

90

Minimice la celda Q16. Cree un grupo de celdas ajustables que


utilicen el mtodo de solucin de receta usando las celdas Q5:R13. Las
celdas de Impulsin (Q5:Q13) deben tener un rango entre 0 y 300 y las
celdas de Direccin (R5:R13) deben tener un rango entre -3 y 3, ya que
se utilizan radianes para representar la direccin de los impulsos. Un
radian equivale a 57 grados.

Navegador espacial

Agente de bolsa
Usted es agente de bolsa en el mercado de S&P 500, y ha determinado
que el anlisis tcnico proporciona previsiones ms precisas sobre las
acciones que el anlisis fundamental tradicional, y podra ahorrar
tiempo si creara un sistema. Podra haber un nmero infinito de
posibles reglas a seguir para invertir en bolsa, pero slo unas pocas le
habrn generado beneficios significativos si usted las ha seguido. Una
bsqueda inteligente con su PC podra ayudarle a determinar qu
reglas habran generado ms dinero en un periodo de tiempo
histrico.
Archivo de ejemplo:

Agente de bolsa.xls

Objetivo:

Encontrar un conjunto de tres reglas que habran


generado las mayores ganancias durante un periodo
de tiempo determinado.

Mtodo de solucin:

Receta

Problemas similares:

Bsqueda de promedios en movimiento ptimos que


habra generado los mejores resultados; cualquier
problema de bsqueda de reglas o criterios.

Captulo 4: Ejemplos de aplicaciones

91

Cmo funciona
el modelo

Este modelo usa varios grupos de celdas ajustables para resolver el


problema en general. Hay tres reglas que se evalan en cada da de
actividad. Si las condiciones de las tres reglas son verdaderas, el
sistema informtico comprar ese da; de lo contrario, vender. (Un
sistema de actividad ms realista no slo compra o vende, sino que
tambin mantiene lo que tiene.)
Cada regla se describe con una serie de cuatro nmeros en las celdas
C5:E8, lo cual indica varias cosas: 1) a qu fuente de datos se refiere la
regla, 2) si el valor de los datos debe estar por encima o por debajo de
un valor de corte, 3) el valor de corte que determina si la regla es
verdadera, y 4.) un valor modificador que determina si el propio valor
debe examinarse, o si debe examinarse el valor del ltimo da o del
cambio desde el ltimo da.
Los valores de corte tienen un rango de 0 a 1, y representan el
porcentaje del rango de la fuente de datos. Por ejemplo, si el volumen
tiene un rango de 5,000 a 10,000, entonces un valor de corte de 0.0
coincidira con un volumen de 5,000, un valor de corte de 1.0 sera el
del volumen de 10,000 y un valor de corte de 0.5 sera el de un
volumen de 7,500. Este sistema permite que las reglas se refieran a
cualquier fuente de datos, independientemente de los valores que
adquieran.

Cmo resolverlo

92

Cree los grupos de celdas ajustables, utilizando en todos ellos el


mtodo de solucin de receta. Cada fila de C5:E5, C6:E6, C7:E7 y
C8:E8 debe crearse separadamente, de forma que a cada grupo se le
pueda asignar fcilmente sus propias opciones de enteros, rangos, etc.
Las configuraciones para cada grupo de variables se incluyen en las
celdas F5:F8. Maximice la celda E10, que ejecuta un macro para
simular la actividad de la bolsa con esas reglas. El beneficio total
conseguido despus de la simulacin de cada da en la base de datos
histrica se enva a la celda E10.

Agente de bolsa

Transformador
El transformador de dos bobinados debe tener una capacidad de
1080 VA con prdidas bajo carga mxima no superiores a los 28 vatios
y una disipacin de calor en superficie no superior a los
0.16 vatios/cm2. Minimice el costo respetando los criterios de
rendimientos.
Archivo de ejemplo:

Transformador.xls

Objetivo:

Minimizar los costos iniciales y de operacin de un


transformador.

Mtodo de solucin:

Receta

Problemas similares:

Diseo de circuitos y diseo de puentes.

Captulo 4: Ejemplos de aplicaciones

93

Cmo funciona
el modelo

La capacidad, prdida de carga y disipacin de calor se deben


codificar como restricciones blandas. Las restricciones blandas se
crean penalizando aquellas soluciones que no cumplen nuestros
requisitos, y no son vlidas. A diferencia de las restricciones duras,
que deben cumplirse, Evolver permite probar algunas soluciones no
vlidas, pero como esas soluciones no vlidas son penalizadas por
una funcin del modelo que comprueba las violaciones existentes,
producirn resultados malos en la celda objetivo. Por lo tanto, a la
larga, estas soluciones no vlidas se descartarn de la poblacin que
evoluciona de posibles soluciones.
Un modelo con restricciones blandas puede funcionar mejor que una
restriccin dura si el problema tiene menos restricciones. Tambin
permite a Evolver aceptar una solucin excelente aunque no cumpla
mnimamente las restricciones, lo cual puede tener mayor valor que
una solucin no tan buena que cumpla todas las restricciones.

Cmo resolverlo

94

Calcule el costo de material (costo inicial) y costos de operacin (costo


de la electricidad * electricidad no aprovechada) en las celdas F11 y
F12. Combine estos valores con las funciones de penalizacin
establecidas en las celdas F18:F20 para establecer un costo restringido
en la celda F22. Minimice esta celda objetivo usando el mtodo de
solucin de receta.

Transformador

Transporte
Cul puede ser la forma ms econmica de transportar objetos en
camin por todo el pas? Este problema estndar ha sido expandido a
partir de un ejemplo antiguo de Microsoft Solver.
Minimice los costos de transportar productos desde los centros de
produccin a los almacenes cercanos a los centros de demanda del
rea metropolitana, sin exceder el suministro disponible de cada
centro de produccin y satisfaciendo la demanda de cada rea
metropolitana.
Para que el problema sea ms realista, los costos de transporte se han
cambiado para que no sean lineales, sino que dependan de cuntos
camiones son necesarios. Un camin puede cargar hasta 6 objetos, es
decir, transportar 14 objetos requiere 3 camiones (que transporten
6 + 6 + 2 objetos).
Archivo de ejemplo:

Transporte.xls

Objetivo:

Transporte objetos en camin desde tres centros de


produccin a cinco almacenes, de la forma ms
econmica posible.

Mtodo de solucin:

Receta

Problemas similares:

Diseo de redes de comunicacin

Captulo 4: Ejemplos de aplicaciones

95

Cmo funciona
el modelo

Las celdas C5:E7 contienen el nmero de objetos transportados desde


cada centro de produccin a cada almacn. Las celdas C13:E15
calculan el nmero de camiones que seran necesarios para
transportar esos objetos. Las restricciones duras son: 1) que el total de
transporte de cada centro de produccin sea menor o igual al
suministro disponible en el centro, y 2) que el total transportado de
todos los centros de produccin a cada almacn sea mayor o igual a la
cantidad que demanda el almacn. De esta forma se asegura que cada
almacn recibir lo que necesita, y ningn centro de produccin tenga
que pagar ms impuestos de los debidos.

Cmo resolverlo

Use el mtodo de solucin de receta en las celdas C5:E7, usando


nmeros enteros entre 0 y 500. Hay una serie de restricciones duras en
cada centro de produccin que especifican que los transportes de cada
centro de produccin <= suministro del centro. Hay un segundo
grupo de restricciones duras para cada almacn que especifican que el
total transportado al almacn >= demanda del almacn. Minimice los
costos de transporte de la celda B22.

96

Transporte

Captulo 5: Gua de referencia


de Evolver
Comando Definicin de Modelo ......................................................99
Rangos de celda ajustables.................................................................101
Grupos de celdas ajustables...............................................................104
Mtodo de Solucin de Receta.............................................106
Mtodo de solucin de orden...............................................106
Mtodo de solucin de agrupacin .....................................107
Mtodo de solucin de presupuesto ...................................108
Mtodo de solucin de proyecto..........................................109
Mtodo de solucin de calendarizacin .............................110
Tasa de cruce e tasa de mutacin .........................................112
Nmero de bloques de tiempo y celdas de restriccin....114
Tareas precedentes .................................................................114
Operadores...............................................................................115
Restricciones .........................................................................................117
Aadir Cmo aadir restricciones....................................117
Tipo de restriccin..................................................................118
Restricciones simples y de frmula.....................................118
Restricciones blandas ............................................................119
Comando Configuraciones de optimizacin ...............................123
Comando Configuraciones de optimizacin
Pestaa General ....................................................................................123
Comando Configuraciones de optimizacin
Pestaa Tiempo de ejecucin.............................................................125
Opciones de tiempo de ejecucin de la optimizacin .....126
Comando Configuraciones de optimizacin
Pestaa Visualizar................................................................................128
Comando Configuraciones de optimizacin
Pestaa Macros .....................................................................................129
Comando Iniciar optimizacin ......................................................131

Captulo 5: Gua de referencia de Evolver

97

Comandos de Utilidades ............................................................... 133


Comando Configuraciones de aplicacin ....................................... 133
Comando Solver de restricciones ..................................................... 134
El Observador del Evolver ............................................................ 137
Observador del Evolver Pestaa de Progreso ............................. 138
Cuadro de dilogo Opciones de Grficos ......................... 139
Observador del Evolver Pestaa de Resumen ............................ 140
Observador del Evolver Pestaa de Bitcora............................... 141
Observador del Evolver Pestaa de Poblacin ........................... 143
Observador del Evolver Pestaa de Diversidad ......................... 144
Observador del Evolver Pestaa de Opciones de detencin.... 145

98

Transporte

Comando Definicin de Modelo


Define el objetivo, las celdas ajustables y las restricciones del
modelo
Al seleccionar el comando Definicin de Modelo (o haciendo clic en el
icono Modelo de la barra de herramientas de Evolver) aparece el
cuadro de dilogo Modelo.

El cuadro de dilogo Modelo de Evolver.

El cuadro de dilogo Modelo de Evolver se usa par especificar o


describir un problema de optimizacin en Evolver. Este cuadro de
dilogo se inicia vaco en cada libro de trabajo nuevo de Excel, y
guarda su informacin 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 dilogo se describen en esta seccin.

Captulo 5: Gua de referencia de Evolver

99

Las opciones del cuadro de dilogo Modelo son:

Meta de optimizacin. La opcin Meta de optimizacin determina


que tipo de respuesta debe buscar Evolver. Si se selecciona
Mnimo, Evolver buscar valores de variable que generen el
menor valor posible en la celda objetivo (hasta un mnimo de 1e300). Si se selecciona Mximo, 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 ms cercano posible
al valor especificado.
Cuando Evolver encuentra una solucin que genera este
resultado, se detendr automticamente. 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 ms cercano a 14 que 14.5; Evolver no
tiene en cuenta si el valor es mayor o menor que el valor
especificado, slo 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 "solucin de prueba"
que genera Evolver (es decir, por cada combinacin de posibles
valores de las celdas ajustables). La celda objetivo debe contener
una frmula que depende (directamente o a travs de una serie de
clculos) de las celdas ajustables. Esta frmula se puede crear con
frmulas estndar de Excel como SUM() o con funciones de
macro VBA definidas por el usuario. Al usar funciones de macro
VBA puede hacer que Evolver evale los modelos que sean ms
complejos.
Mientras Evolver busca una solucin, utiliza el valor de la celda
objetivo como clasificacin o funcin de idoneidad para evaluar
lo apropiado que es cada posible escenario, y para determinar qu
valores de variable deben continuar reproducindose y cuales
deben desaparecer. En la evolucin biolgica, la muerte es la
funcin de idoneidad que determina qu genes siguen
reproducindose en una poblacin. Cuando se crea un modelo, la
celda objetivo debe reflejar la idoneidad o bondad de cualquier
escenario, por lo tanto, mientras Evolver calcula las posibilidades,
puede medir con precisin su progreso.

100

Comando Definicin de Modelo

Rangos de celda ajustables


La tabla de Rangos de celda ajustables muestra todos los rangos que
contienen las celdas o valores que Evolver puede ajustar, junto con la
descripcin 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 ms rangos de celdas ajustables.
Todos los rangos de celdas de un Grupo de celdas ajustables
comparten mtodos de solucin, tasa de cruce, tasa de mutacin y
operadores.

Como las celdas ajustables contienen las variables del problema, debe
definirse al menos un grupo de celdas ajustables para poder usar
Evolver. La mayora de los problemas se pueden describir con un
grupo de celdas ajustables, pero otros problemas ms complejos
pueden necesitar diferentes bloques de variables para su resolucin
con diferentes mtodos de solucin simultneos. Esta arquitectura
exclusiva permite crear fcilmente problemas altamente complejos a
partir de mltiples grupos de celdas ajustables.

Captulo 5: Gua de referencia de Evolver

101

Las siguientes opciones estn disponibles para su introduccin en los


Rangos de celda ajustables:

Aadir. Se pueden aadir nuevas celdas ajustables haciendo clic


en el botn Aadir junto al cuadro de lista Celdas Ajustables.
Seleccione la celda o el rango de celdas a aadir, y aparecer una
nueva fila en la tabla Rangos de celda ajustables. En la tabla
podr introducir un valor Mnimo y Mximo para las celdas del
rango, as como el Tipo de valores a probar: valores Enteros del
rango o Cualquier valor.

Mnimo y Mximo. Despus de especificar la ubicacin de las


celdas ajustables, los datos de Mnimo y Mximo establecen el
rango de valores aceptables para cada celda ajustable. De forma
predeterminada, cada celda ajustable puede tener un valor de
nmero real (punto flotante de doble precisin) 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 ms especficos 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 slo
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
regin de la hoja de clculo con el ratn, introduciendo un
nombre de rango o escribiendo una referencia vlida de Excel
como Hoja1!A1:B8. El campo Rango est disponible en todos los
mtodos de solucin. Sin embargo, en los mtodos de solucin de
receta y presupuesto, se pueden aadir opciones de Mnimo,
Mximo 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 bsqueda y se acelera la convergencia de Evolver en
una solucin. Pero tenga cuidado para no limitar en exceso los
rangos de las variables porque podra impedir que Evolver
encuentre soluciones ptimas.

102

Comando Definicin de Modelo

Valores. El dato Valores permite especificar que Evolver trate


todas las variables del rango especificado como enteros (por
ejemplo, 22), en lugar de como nmeros reales (por ejemplo,
22.395). Esta opcin slo est disponible cuando se usan los
mtodos de solucin receta y presupuesto. La configuracin
predeterminada es tratar las variables como nmeros reales.

Asegrese de que activa la configuracin Enteros si el modelo utiliza


variables para buscar elementos en una tabla (CONSULH(),
CONSULV(), INDICE(), DESREF(), etc.). Recuerde que la
configuracin Enteros afecta a todas las variables del rango
seleccionado. Si quiere tratar algunas variables como nmeros reales
y otras como enteros, puede crear dos grupos de celdas ajustables en
lugar de un solo, y tratar un bloque como enteros y el otro como
nmeros reales. Simplemente Aada un grupo de receta de celdas
ajustables y deje el campo Valores en Cualquiera. Luego, Aada
otro rango de celdas, esta vez seleccionando la configuracin Enteros
y seleccionando slo las celdas ajustables de nmeros enteros.

Captulo 5: Gua de referencia de Evolver

103

Grupos de celdas ajustables


Cada grupo de celdas ajustables puede contener mltiples rangos de
celdas. Esto permite crear una "jerarqua" de grupos de rangos de
celdas relacionados. Dentro de cada grupo, cada rango de celda
puede tener su propio rango Mn-Mx.
Todos los rangos de celdas de un Grupo de celdas ajustables
comparten mtodos de solucin, tasa de cruce, tasa de mutacin y
operadores. Estos datos se especifican en el cuadro de dilogo
Configuraciones de grupos de celdas ajustables. Se puede acceder a
este cuadro de dilogo haciendo clic en el botn Grupo junto a la
tabla Rangos de celda ajustables. Se puede crear un nuevo Grupo al
que aadir rangos de celdas ajustables o editar las configuraciones de
un grupo existente.

104

Comando Definicin de Modelo

Las opciones de la pestaa General del cuadro de dilogo


Configuraciones de grupos de celdas ajustables son:

Descripcin. Describe el grupo de rangos de celdas ajustables


para cuadros de dilogo e informes.

Mtodo de solucin. Selecciona el Mtodo de Solucin a usar en


cada rango de celdas ajustables del grupo.

Cuando se selecciona el rango de celdas que Evolver va a ajustar,


tambin se especifica el mtodo de solucin que se va a aplicar
cuando se ajusten esas celdas. Cada uno de los mtodos de solucin
es, en esencia, un algoritmo gentico totalmente diferente, con sus
propias rutinas optimizadas de seleccin, cruce y mutacin. Cada uno
de los mtodos de solucin baraja los valores de las variables de una
forma diferente.
El mtodo de solucin 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 dems. Por su parte, el
mtodo de solucin de orden intercambia valores entre las celdas
ajustables, reordenando los valores originales.
Evolver tiene seis mtodos de solucin. Tres de los mtodos de
solucin (receta, orden y agrupamiento) usan algoritmos totalmente
diferentes. Los otros tres son descendientes de los tres primeros, con
restricciones adicionales aadidas.

Captulo 5: Gua de referencia de Evolver

105

La siguiente seccin describe la funcin de cada mtodo de solucin.


Para comprender mejor cmo se usa cada mtodo de solucin,
tambin se recomienda explorar los archivos de ejemplo que se
incluyen con el software (ver Captulo 4: Ejemplos de Aplicaciones).
Mtodo de
Solucin de
Receta

El mtodo de solucin de receta es el ms sencillo y popular de los


mtodos de solucin. 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 mtodo de solucin de receta, le indica a
Evolver que genere nmeros para esas variables en busca de la mejor
combinacin. La nica restriccin que se aplica a las variables de una
receta es el rango (el valor ms alto y el ms bajo) que esos valores
pueden tener. Establezca estos valores en los campos Mn y Mx del
cuadro de dilogo Celdas Ajustables (por ejemplo, 1 a 100), e indique
tambin si Evolver debe tratar esos nmeros como enteros (1, 2, 7) o
como nmeros reales (1.4230024, 63.72442).
A continuacin se muestran ejemplos de una serie de valores de
variables como podran aparecer en una hoja de clculo antes de abrir
Evolver, y cmo podran ser dos escenarios diferentes despus de
usar el mtodo de solucin de receta.

Mtodo de
solucin de orden

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

32.44

7.073

65,664

14,021

93,572

El mtodo de solucin orden es el segundo ms popular despus


del de receta. Un orden es una permutacin 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 mtodos de
receta y presupuesto, en los que Evolver genera valores para las
variables seleccionadas, en este mtodo de solucin 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 mtodo de solucin
orden baraja esos valores, por lo tanto uno de los escenarios podra
ser 3,5,2,4,1. Como Evolver slo prueba valores de variables de la hoja

106

Comando Definicin de Modelo

original, no hay rango de Mn - Mx introducido para las celdas


ajustables cuando se usa el mtodo de solucin de Orden.
A continuacin se muestran ejemplos de una serie de valores de
variables como podran aparecer en una hoja de clculo antes de abrir
Evolver, y cmo podran ser dos escenarios diferentes despus de
usar el mtodo de solucin de orden.

Mtodo de
solucin de
agrupacin

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

65,664

145

65,664

23.472

El mtodo de solucin agrupamiento debe usarse cuando el


problema incluya mltiples variables que se deban reunir en grupos.
El nmero de grupos diferentes que crea Evolver ser igual al nmero
de valores distintos presentes en las celdas ajustables al iniciar la
optimizacin. Por lo tanto, cuando se crea un modelo del sistema,
asegrese de que cada grupo est representado al menos una vez.
Por ejemplo, supongamos un rango de 50 celdas que contienen slo
los valores 2, 3.5 y 17. Cuando seleccione 50 celdas y ajuste los valores
usando el mtodo de solucin agrupamiento, Evolver asignar cada
una de las cincuenta celdas a uno de los tres grupos: 2, 3.5 o 17. Todos
los grupos estn representados por al menos una de las celdas
ajustables; como si se echara cada una de las 50 variables en un
contenedor, asegurndose de que hay al menos una variable en
cada contenedor. Otro ejemplo sera asignar unos (1), ceros (0) y
menos unos (-1) a un sistema para indicar comprar, vender o
mantener posiciones. Como en el mtodo de solucin orden,
Evolver organiza valores existentes, por lo tanto no hay rango mnmx ni opcin de Enteros definida.
NOTA: Cuando use el mtodo de solucin 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 mtodo de solucin agrupamiento se pueda
imitar usando el mtodo de solucin receta con la opcin de enteros
activada y los rangos establecidos de 1 a 3 (o cualquiera que sea el
nmero de grupos). La diferencia est en la forma en que los mtodos
receta y agrupamiento realizan sus bsquedas. Sus rutinas de
seleccin, mutacin y cruce son diferentes; el agrupamiento se centra

Captulo 5: Gua de referencia de Evolver

107

ms en los valores de todas las variables, porque puede permutar una


serie de variables de un grupo con una serie de variables de otro.
A continuacin se muestran ejemplos de una serie de valores de
variables como podran aparecer en una hoja de clculo antes de abrir
Evolver, y cmo podran ser dos escenarios diferentes despus de
usar el mtodo de solucin de agrupamiento.

Mtodo de
solucin de
presupuesto

Grupo original de
valores de variables

Un grupo de valores
posibles de
agrupamiento

Otro grupo de valores


posibles de
agrupamiento

Un presupuesto es similar a una receta con la excepcin de que


todos los valores de las variables deben totalizar un nmero
determinado. El nmero es el total de los valores de las variables en el
momento de iniciar una optimizacin.
Por ejemplo, tal vez busque la mejor forma de distribuir un
presupuesto anual entre un cierto nmero de departamentos. El
mtodo de solucin presupuesto toma el total de los valores
actuales de los departamentos y usa la suma como presupuesto total
que debe distribuirse ptimamente. A continuacin se muestran
ejemplos de escenarios despus de usar el mtodo de solucin 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

10

100

-67

10

.4

67

Se prueban muchos valores diferentes, pero la suma de todos


los valores sigue siendo 223.5.

108

Comando Definicin de Modelo

Mtodo de
solucin de
proyecto

El mtodo de solucin proyecto es similar al mtodo de solucin


orden con la excepcin de que ciertos elementos (tareas) deben
preceder a otros. El mtodo de solucin proyecto se puede usar en
la administracin 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 mtodo de solucin Proyecto es ms
fcil de usar y comprender si las celdas ajustables que contienen el
orden de las tareas estn en una sola columna, en lugar de en una fila.
Esto es porque el mtodo de solucin espera que las celdas de las
tareas precedentes se organicen verticalmente y no horizontalmente, y
es ms fcil examinar la hoja de clculo si las celdas ajustables son
tambin verticales.
Despus de especificar la ubicacin de las celdas ajustables, debe
especificar la ubicacin de las celdas de las tareas precedentes en la
seccin Tareas precedentes del cuadro de dilogo. Esta es una tabla de
celdas que describe qu tareas deben ir precedidas de qu otras tareas.
El mtodo de solucin 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 nmero de
identificacin de cada tarea debe aparecer en columnas
independientes.

Ejemplo de cmo configurar valores precedentes con el


mtodo de solucin de Proyecto.

El rango de tareas precedentes debe especificarse como n filas por m


columnas, donde n es el nmero de tareas del proyecto (celdas
ajustables), y m es el nmero mximo de tareas precedentes que
puede tener una tarea determinada.

Captulo 5: Gua de referencia de Evolver

109

A continuacin se muestran ejemplos de una serie de valores de


variables tal y como apareceran en una hoja de clculo antes de usar
Evolver, y cmo son los dos nuevos escenarios despus de usar el
mtodo de solucin de Proyecto, con la restriccin de que 2 debe estar
siempre antes que 1, y 4 despus de 2.

Mtodo de
solucin de
calendarizacin

Grupo original de
valores de variables

Un grupo de valores
posibles de proyecto

Otro grupo de valores


posibles de proyecto

Una calendarizacin es similar a un agrupamiento: es una asignacin


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 dilogo de
Configuraciones de grupos de celdas ajustables del mtodo de
solucin calendarizacin permite especificar directamente el
nmero de bloques de tiempo (o grupos) que se van a usar. Observe
que cuando se selecciona el mtodo de calendarizacin, aparecen
varias opciones relacionadas en la parte inferior del cuadro de
dilogo.

En la seccin Parmetros de Optimizacin, observar que tambin puede


incorporar un rango de celdas de restriccin. 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.

110

Comando Definicin de Modelo

4) (en) La tarea de la columna 1 debe suceder en el bloque de tiempo que la


tarea de la columna 3.
5) (no despus) 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
despus 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 despus que la tarea de la
columna 3.
Como restriccin se puede introducir un cdigo numrico (del 1 al 8)
o la descripcin (despus, no en, etc.). (Nota: Todas las versiones
traducidas de RiskOptimizer reconocern la descripcin de la
restriccin en ingls as como en el idioma propio). Se cumplirn
todas las restricciones especificadas en el problema. Para crear
restricciones, busque un espacio en blanco en la hoja de clculo y cree
una tabla en la que las columnas izquierda y derecha representen
tareas, y la columna del medio represente los tipos de restriccin. Un
nmero del 1 al 8 representa el tipo de restriccin que se indica a
continuacin. Las celdas del rango de restriccin deben incluir los
datos de restriccin antes de iniciar la optimizacin.
Esta tarea

Restriccin

Esta tarea

12

Captulo 5: Gua de referencia de Evolver

111

A continuacin se muestran ejemplos de una serie de valores de


variables como podran aparecer en una hoja de clculo antes de
iniciar Evolver, y los nuevos escenarios despus de usar el mtodo de
solucin de Calendarizacin.
Grupo original de
valores de variables

Un grupo de valores
posibles de
calendarizacin

Otro grupo de valores


posibles de
calendarizacin

NOTA: Cuando se selecciona el mtodo de solucin de


calendarizacin, se usan siempre los nmeros enteros empezando por
1 (1,2,3...), independientemente de los valores originales de las celdas
ajustables.
Tasa de cruce e
tasa de mutacin

Uno de los problemas ms difciles en la bsqueda de soluciones


ptimas, cuando el problema tiene aparentemente infinitas
posibilidades, es determinar dnde concentrar el esfuerzo. Es decir,
cunto tiempo del PC debe dedicarse a buscar en nuevas reas del
espacio de solucin, y cunto tiempo debe dedicarse a afinar las
soluciones de la poblacin de soluciones que han demostrado ser
bastante buenas.
Gran parte del xito del algoritmo gentico se atribuye a su capacidad
de conservar de forma natural este equilibrio. La estructura del
algoritmo gentico permite que las buenas soluciones se
reproduzcan, pero slo conserva los organismos menos
adaptados para mantener la diversidad en espera de que un gen
latente resulte importante para la solucin final.

112

Comando Definicin de Modelo

Cruce y Mutacin son dos parmetros que afectan el alcance de la


bsqueda, y Evolver permite que el usuario cambie estos parmetros
antes e incluso durante el proceso de evolucin. De esta forma, un
usuario experto puede ayudar al algoritmo gentico decidiendo
dnde debe concentrar sus esfuerzos. En la mayora los casos, las
configuraciones predeterminadas de cruce y mutacin (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 introduccin a estos dos parmetros:

Tasa de 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 informacin de la generacin previa de
organismos originales. Esta tasa puede ser alterado por usuarios
expertos para afinar el funcionamiento de Evolver en problemas
complejos.
Es decir, una tasa 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. Una tasa 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
ningn cruce, de forma que slo se evaluarn los clones de los
padres.
La tasa predeterminada que usa Evolver es 0.5. Cuando Evolver
ha comenzado a resolver un problema, se puede cambiar la tasa
de cruce usando el Observador del Evolver (consulte la seccin
Observador del Evolver de este captulo).

Tasa de mutacin. La tasa de mutacin se puede ajustar entre 0.0


y 1.0, y refleja la probabilidad de que futuros escenarios
contengan algunos valores aleatorios. Una tasa de mutacin ms
alto simplemente significa que se introducirn ms mutaciones o
valores de genes aleatorios en la poblacin. Como la mutacin
sucede despus del cruce, si ajusta la tasa de mutacin a 1 (100%
de valores aleatorios) se impide efectivamente que el cruce tenga
efecto, y Evolver genera escenarios totalmente aleatorios.

Captulo 5: Gua de referencia de Evolver

113

Si todos los datos de la solucin ptima se encuentran en la


poblacin, el operador de cruce solo sera suficiente para generar
la solucin. La mutacin ha demostrado ser una poderosa fuerza
en el mundo biolgico por muchas de las razones por las que es
necesaria en el algoritmo gentico: Es vital mantener una
poblacin diversa de organismos individuales, evitando as que la
poblacin sea demasiado rgida e incapaz de adaptarse a un
entorno dinmico. Como en el algoritmo gentico, muchas veces
son las mutaciones genticas en los animales lo que finalmente
lleva al desarrollo de nuevas funciones vitales.
En la mayora de los casos, la configuracin predeterminada de la
mutacin 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 mutacin si la poblacin de Evolver es bastante
homognea, y no se han encontrado nuevas soluciones en los
ltimos cientos de pruebas. Los cambios tpicos de configuracin
van de 0.06 a 0.2. Cuando Evolver ha comenzado a solucionar el
problema, se puede cambiar la tasa de mutacin dinmicamente a
travs del Observador del Evolver (consulte la seccin
Observador del Evolver ms adelante en este captulo).
Si selecciona Auto en la lista desplegable del campo ndice de
Mutacin, se selecciona ajuste automtico de la tasa de mutacin.
El ajuste automtico de la tasa mutacin permite a Evolver
aumentar la tasa de mutacin automticamente cuando un
organismo "envejece" significativamente; es decir, ha
permanecido invariable durante un nmero extenso de pruebas.
En muchos modelos, especialmente cuando la tasa de mutacin
ptimo se desconoce, seleccionar Auto puede generar mejores
resultados ms rpidamente.
Nmero de
bloques de
tiempo y celdas
de restriccin

Para obtener ms informacin sobre estas opciones, consulte el


mtodo de solucin Calendarizacin de la seccin Mtodos de solucin de
este captulo.

Tareas
precedentes

Para obtener ms informacin sobre estas opciones, consulte el


mtodo de solucin Proyecto de la seccin Mtodos de solucin de este
captulo.

114

Comando Definicin de Modelo

Operadores

Evolver incluye operadores genticos seleccionables cuando se usa el


mtodo de solucin Receta. Si hace clic en la pestaa Operadores del
cuadro de dilogo Configuraciones de grupos de celdas ajustables
podr seleccionar un operador gentico especfico (como cruce
heurstico o mutacin de lmites) para su uso al generar posibles
valores de una serie de celdas ajustables. Adems, puede hacer que
Evolver pruebe automticamente todos los operadores disponibles e
identifique el que mejor funcione en su problema.

Los algoritmos genticos usan operadores genticos para crear nuevos


miembros de una poblacin a partir de miembros actuales. Dos de los
tipos de operadores genticos que usa Evolver son el de mutacin y el
de cruce. El operador de mutacin determina si se producirn cambios
aleatorios de genes (variables) y cmo se producirn. El operador
de cruce determina cmo intercambian genes los pares de miembros
de una poblacin para producir descendientes que puedan ser
mejores respuestas que cualquiera de sus padres.
Evolver incluye los siguientes operadores genticos especializados:

Cruce aritmtico Crea nuevos descendientes combinando


aritmticamente dos padres (en lugar de intercambiando genes).

Cruce heurstico Usa el valor producido por los padres para


determinar cmo se produce la descendencia. Busca en la
direccin ms prometedora y proporciona un ajuste fino local.

Mutacin Cauchy Diseada para producir pequeos cambios


en variables la mayora de las veces, pero ocasionalmente puede
generar cambios grandes.

Captulo 5: Gua de referencia de Evolver

115

Mutacin de frontera Diseada para optimizar rpidamente


variables que afectan el resultado de forma monotnica y puede
ajustarse en los extremos de su rango sin violar las restricciones.

Mutacin no-uniforme Produce mutaciones cada vez ms


pequeas segn se van calculando pruebas. Esto permite que
Evolver afine las respuestas.

Lineal Diseada para resolver problemas en los que la solucin


ptima se encuentra en el lmite del espacio de bsqueda definido
por las restricciones. Este par de mutacin y operador de cruce se
adapta bien a la resolucin de problemas de optimizacin lineal.

Bsqueda local Diseada para buscar en el espacio de solucin


en las cercanas de una solucin anterior, expandindose en
direcciones en las que hay mejoras, y contrayndose en
direcciones que generan peores resultados.

Dependiendo del tipo de problema de optimizacin, hay diferentes


combinaciones de mutacin y operadores de cruce que pueden
producir mejores resultados que otras. En la pestaa Operadores del
cuadro de dilogo Configuraciones de grupos de celdas ajustables, se
pueden seleccionar una serie de operadores cuando se usa el mtodo
de solucin Receta. Cuando se hacen mltiples selecciones, Evolver
prueba las combinaciones vlidas de los operadores seleccionados
para identificar los que mejor funcionan en su modelo. Despus de
una ejecucin, la hoja de clculo de Resumen de optimizacin clasifica
cada uno de los operadores seleccionados segn su funcionamiento
durante la ejecucin. Para las siguientes ejecuciones del mismo
modelo, si selecciona slo los operadores de mejor funcionamiento
puede permitir optimizaciones ms rpidas de mejor funcionamiento.
NOTA: Cuando cree mltiples grupos de celdas ajustables, compruebe
que ninguna celda de la hoja de clculo se incluye en varios grupos
diferentes de las celdas ajustables. Cada grupo de celdas ajustables
debe contener celdas ajustables exclusivas porque de lo contrario los
valores del primer grupo de celdas ajustables se ignorara y
sustituira con los valores del segundo grupo de celdas ajustables. Si
cree que un problema debe representarse con ms de un mtodo de
solucin, considere dividir las variables en dos o ms grupos.

116

Comando Definicin de Modelo

Restricciones
Evolver permite introducir restricciones o condiciones que deben
cumplirse para que una solucin sea vlida. Las restricciones que ha
introducido se muestran en la tabla Restricciones del cuadro de
dilogo Definicin de Modelo.

Aadir Cmo
aadir
restricciones

Si hace clic en el botn aadir situado junto a la tabla Restricciones,


aparece el cuadro de dilogo Configuraciones de restriccin en el
que se introducen las restricciones. Usando este cuadro de dilogo se
puede introducir el tipo de restriccin deseada, junto con su
descripcin, tipo, definicin y tiempo de evaluacin.

Captulo 5: Gua de referencia de Evolver

117

Tipo de
restriccin

Restricciones
simples y de
frmula

Se pueden especificar dos tipos de restricciones en Evolver:

Duras o condiciones que deben cumplirse para que una solucin


sea vlida (por ejemplo, una restriccin dura puede ser C10<=A4;
en este caso, si una solucin genera un valor para C10 que es
superior al valor de la celda A4, la solucin se descarta)

Blandas, o condiciones que nos gustara que se cumplieran en la


medida de lo posible, pero que podramos ceder a cambio de una
gran mejora en la adaptacin o en el resultado de la celda objetivo
(por ejemplo, una restriccin blanda sera C10<100; sin embargo,
C10 podra ser superior a 100, pero si eso sucede, el valor
calculado en la celda objetivo se reducira segn una funcin de
penalizacin introducida).

Se pueden usar dos formatos Simple y Frmula para introducir


restricciones. El tipo de informacin que se puede introducir para una
restriccin depende el formato seleccionado.

Formato simple El formato Simple permite introducir las


restricciones usando las relaciones simples <, <=, >, >= o = en las
que la celda se compara con un nmero introducido. Una
restriccin Simple sera:
0<Valor de A1<10
donde A1 se introduce en el cuadro Rango de celda, 0 se introduce
en el cuadro Mn y 10 se introduce en el cuadro Mx. El operador
deseado se selecciona en los cuadros de lista desplegable. En las
restricciones con formato de rango simple de valores se puede
introducir slo un valor Mn, slo un valor Mx o ambos. Los
valores Mn y Mx introducidos deben ser numricos en el
formato de restriccin de rango simple de valores.

118

Formato de frmula El formato de frmula permite introducir


cualquier frmula vlida de Excel como una restriccin, como
puede ser A19<(1.2*E7)+E8. Evolver verifica si la frmula
introducida genera un valor VERDADERO o FALSO para
comprobar si la restriccin se ha cumplido.

Comando Definicin de Modelo

Restricciones
blandas

Las restricciones blandas son condiciones que nos gustara que se


cumplieran en la medida de lo posible, pero que podramos ceder a
cambio de una gran mejora de la idoneidad o del resultado de la celda
objetivo. Cuando no se cumple una restriccin 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 restriccin blanda
se calcula usando una funcin de penalizacin que se introduce al
especificar la restriccin blanda.

A continuacin se ofrece informacin adicional sobre las funciones de


penalizacin:

Introduccin de una funcin de penalizacin. Evolver tiene una


funcin de penalizacin predeterminada que aparece cuando se
introduce una restriccin blanda. Sin embargo, cualquier frmula
de Excel vlida se puede introducir para calcular la cantidad de la
penalizacin a aplicar cuando no se cumple una restriccin
blanda. La funcin de penalizacin introducida debe incluir la
palabra clave desviacin que representa la cantidad absoluta por
la que la restriccin ha superado su lmite. Al final de cada
simulacin de una solucin de prueba, Evolver comprueba si se
han cumplido las restricciones blandas; si no, coloca la cantidad
de la desviacin en la frmula de la penalizacin introducida y
luego calcula la cantidad de la penalizacin a aplicar a la
estadstica de la celda objetivo.
La cantidad de la penalizacin se suma o se resta a la estadstica
calculada en la celda objetivo para que resulte menos ptima.
Por ejemplo, si se ha seleccionado Mximo en el campo Meta de
optimizacin del cuadro de dilogo Modelo, la penalizacin se
resta de la estadstica calculada en la celda objetivo.

Captulo 5: Gua de referencia de Evolver

119

Visualizacin de los efectos de la funcin de penalizacin


introducida. Evolver incluye la hoja de trabajo Penalizacin.xls
que se puede usar para evaluar los efectos de diferentes funciones
de penalizacin en restricciones blandas y celdas objetivo
especficas.

Penalizacin.xls permite seleccionar una restriccin blanda de su


modelo para analizar sus efectos. Luego, puede cambiar la funcin de
penalizacin para ver cmo la funcin transforma un valor especfico
de la restriccin blanda incumplida en un valor objetivo especfico
penalizado. Por ejemplo, si la restriccin blanda es A10<100, puede
usar Penalizacin.xls para ver cul sera el valor objetivo si se
calcula un valor de 105 en la celda A10.

120

Visualizacin de las penalizaciones aplicadas. Cuando se aplica


una penalizacin a la celda objetivo por incumplimiento de una
restriccin blanda, la cantidad de la penalizacin se puede
visualizar en el Observador del Evolver. Adems, los valores de
penalizacin se muestran en la hoja de clculo Bitcora de
Optimizacin, que se puede crear tras la optimizacin.

Comando Definicin de Modelo

NOTA: Si coloca una solucin en la hoja de trabajo usando las


opciones de Actualizacin de Valores de Celda Ajustable del cuadro
de dilogo Parar, el resultado de la celda objetivo calculado que
muestra la hoja de clculo no incluir ninguna penalizacin aplicada
debido a restricciones blandas incumplidas. Compruebe la hoja de
clculo Bitcora de Optimizacin para ver el resultado penalizado de
la celda objetivo y la cantidad de la penalizacin impuesta debido a
cada una de las restricciones blandas no cumplidas.

Implementacin de restricciones blandas en las frmulas de una


hoja de clculo. Las funciones de penalizacin se pueden
implementar directamente en las frmulas de la hoja de clculo. Si
las restricciones blandas se implementan directamente en la hoja
de clculo, no se deben introducir en el cuadro de dilogo
principal de Evolver. Para obtener ms informacin sobre la
implementacin de funciones de penalizacin en la hoja de
clculo, consulte la seccin Restricciones blandas del Captulo 9:
Extras de Evolver.

Captulo 5: Gua de referencia de Evolver

121

122

Comando Definicin de Modelo

Comando Configuraciones de optimizacin


Comando Configuraciones de optimizacin
Pestaa General
Define las configuraciones generales de una optimizacin
El cuadro de dilogo Configuraciones de optimizacin de la pestaa
General muestra las configuraciones de tamao de poblacin,
actualizacin de pantalla y generador de nmero aleatorio.

Las opciones Parmetros de optimizacin de la pestaa General son:

Tamao de poblacin. El tamao de poblacin indica a Evolver


cuntos organismos (o grupos completos de variables) deben
almacenarse en memoria en cada momento. Aunque hay mucho
debate e investigacin sobre el tamao ptimo de una poblacin
para diferentes problemas, generalmente recomendamos usar 30100 organismos en una poblacin, dependiendo del tamao del
problema (mayor poblacin para problemas ms grandes). La
opinin general es que una poblacin grande tarda ms tiempo en
generar una solucin, pero tiene mayores probabilidades de
encontrar una respuesta global gracias a su reserva gentica ms
diversa.

Captulo 5: Gua de referencia de Evolver

123

124

Semilla de generador de nmero aleatorio. La opcin de


generador de nmero aleatorio permite establecer el valor
generador inicial del generador de nmero aleatorio que utiliza
Evolver. Cuando se usa un mismo valor generador, una
optimizacin genera exactamente la misma respuesta para un
mismo modelo, siempre que el modelo no se haya modificado. El
valor del generador debe ser un nmero entero entre 1 y
2147483647.

Comando Configuraciones de optimizacin

Comando Configuraciones de optimizacin


Pestaa Tiempo de ejecucin
Define las configuraciones de tiempo de ejecucin de una
optimizacin
El cuadro de dilogo Configuraciones de optimizacin de la pestaa
Tiempo de Ejecucin muestra las configuraciones de Evolver que
determinan el tiempo de ejecucin de la optimizacin. Estas
condiciones de parada especifican cmo y cundo se detiene Evolver
durante una optimizacin. Una vez seleccionado el comando Iniciar
optimizacin, Evolver se ejecuta continuamente, buscando una
solucin 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
mltiples condiciones, Evolver se para en cuanto se cumple una de
esas condiciones. Tambin se pueden ignorar estas selecciones y parar
Evolver en cualquier momento manualmente usando el botn de
parada del Observador del Evolver o las ventanas de Progreso.

Captulo 5: Gua de referencia de Evolver

125

Opciones de
tiempo de
ejecucin de la
optimizacin

Las opciones de Tiempo de ejecucin de optimizacin de la pestaa


Tiempo de Ejecucin son:

Pruebas Esta opcin, cuando se establece, detiene Evolver


cuando se genera un nmero determinado de soluciones de
prueba.
La configuracin de Pruebas es particularmente til para
comparar la eficacia de Evolver con diferentes mtodos de
modelacin. Al cambiar la forma de modelar un problema, o al
seleccionar un mtodo de solucin diferente, se puede aumentar
la eficacia de Evolver. Si permite que un modelo se ejecute un
nmero especfico de simulaciones, comprobar la eficacia de
Evolver en la convergencia sobre una solucin,
independientemente de cualquier diferencia en el nmero de
variables seleccionadas, la velocidad del hardware informtico
que se utiliza, o el tiempo que se tarda en dibujar de nuevo la
pantalla. La hoja de trabajo de resumen de optimizacin de
Evolver tambin es til para comparar resultados entre
ejecuciones. Para obtener ms informacin sobre las hojas de
clculo de Resumen de Optimizacin, consulte la seccin
Observador del Evolver Opciones de detencin de este captulo.

Tiempo - Esta opcin, cuando se establece, detiene las


simulaciones de escenarios de Evolver despus de un nmero
determinado de horas, minutos o segundos transcurridos. Esta
opcin puede ser cualquier nmero real positivo (600, 5.2, etc.).

Progreso Esta opcin, 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 nmero entero el nmero
de simulaciones transcurridas para comprobar la mejora. Se
puede introducir un valor porcentual como 1% como valor
mximo de cambio en el campo Cambio mximo.
Supongamos que trata de maximizar la media de la celda objetivo,
y despus de 500 simulaciones, la mejor respuesta encontrada es
354.8. Si la opcin Progreso es la nica condicin de parada
seleccionada, Evolver se pausar en la simulacin 600 y slo
continuar si puede encontrar una respuesta de al menos 354.9
durante esas ltimas 100 simulaciones. Es decir, las respuestas de
Evolver no han mejorado al menos 0.1 en las ltimas 100
simulaciones, por lo tanto presupone que el margen de mejora es
mnimo, y detiene la bsqueda. En problemas ms complejos,
puede aumentar el nmero de simulaciones que ejecuta Evolver

126

Comando Configuraciones de optimizacin

(500) antes de decidir si hay suficiente margen de mejora para


seguir.
Esta es la condicin de parada ms usada, porque ofrece al
usuario una forma eficaz de parar Evolver despus de que la tasa
de mejora haya bajado y Evolver no haya podido encontrar
mejores soluciones. Si est visualizando grficos de los mejores
resultados en la pestaa Progreso del Observador del Evolver,
ver que el grfico llega a un punto y mantiene una lnea plana
antes de que se cumpla esta condicin y Evolver se pare.
Progreso es realmente una forma automtica de hacer lo que
usted hara con el grfico: dejar que funcione hasta que deja de
producirse una mejora.

Frmula es verdadera Esta condicin de parada detiene la


optimizacin cuando la frmula de Excel introducida (o de
referencia) genera un valor VERDADERO durante la
optimizacin.

Detener en error Esta condicin de parada detiene la


optimizacin cuando se genera un valor de Error en la celda
objetivo.

NOTA: Tambin puede optar por no seleccionar ninguna condicin de


parada, y Evolver seguir en funcionamiento indefinidamente hasta
que pulse el botn de parada en la ventana del Observador del
Evolver.

Captulo 5: Gua de referencia de Evolver

127

Comando Configuraciones de optimizacin


Pestaa Visualizar
Define las configuraciones de visualizacin de una
optimizacin
El cuadro de dilogo Configuraciones de optimizacin de la pestaa
Visualizar muestra las configuraciones de Evolver que determinan lo
que se muestra durante la optimizacin.

Las opciones de la pestaa Visualizar son:

128

Minimizar Excel al iniciar. Esta opcin minimiza Excel cuando se


inicia una optimizacin.

Mostrar reclculos de Excel. Esta opcin actualiza Excel con Cada


mejor nueva prueba o el final de Cada prueba.

Mantener bitcora de todas las pruebas. Esta opcin especifica


que Evolver conserve un registro de funcionamiento de cada
nueva simulacin que se realice. Este registro se puede ver en la
ventana del Observador del Evolver.

Comando Configuraciones de optimizacin

Comando Configuraciones de optimizacin


Pestaa Macros
Define los macros a ejecutar durante la optimizacin
Los macros VBA se pueden ejecutar en diferentes momentos de una
optimizacin y de la ejecucin de una simulacin de cada solucin de
prueba. Esto permite el desarrollo de clculos personalizados que se
realizarn durante una optimizacin.

Los macros se pueden ejecutar en los siguientes momentos de una


optimizacin:

Al inicio de la optimizacin El macro se ejecuta despus de


hacer clic en el icono Ejecutar y antes de que se genere la primera
solucin de prueba.

Antes del reclculo de cada prueba El macro se ejecuta antes de


que se realice el reclculo de cada prueba.

Despus del reclculo de cada prueba El macro se ejecuta


despus de que se realice el reclculo de cada prueba.

Despus de almacenar variable de salida El macro se ejecuta


despus de cada prueba ejecutada y despus de que se almacene
el valor de la celda objetivo.

Al final de la optimizacin El macro se ejecuta cuando se


completa la optimizacin.

Captulo 5: Gua de referencia de Evolver

129

Esta funcin permite que se lleven a cabo clculos que slo se pueden
realizar con un macro durante una optimizacin. Algunos ejemplos
de este tipo de clculos llevados a cabo con macros son los clculos de
operaciones repetitivas y los clculos que requieren nuevos datos de
fuentes externas.
El Nombre de macro define el macro que se va a ejecutar.

130

Comando Configuraciones de optimizacin

Comando Iniciar optimizacin


Inicia una optimizacin
Si selecciona el comando Iniciar optimizacin o hace clic en el icono
Iniciar optimizacin, se inicia una optimizacin 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 es el nmero total de pruebas ejecutadas y Nmero


vlido indica el nmero de esas pruebas que cumplen las
restricciones.

Tiempo de ejecucin es el tiempo transcurrido durante la


ejecucin

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.

Captulo 5: Gua de referencia de Evolver

131

Las opciones de la barra de herramientas de la ventana Progreso de


Evolver son:

132

Mostrar opciones de actualizacin de Excel. Selecciona la


actualizacin 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 optimizacin.

Mostrar Observador del Evolver. Muestra la ventana completa


del Observador del Evolver.

Ejecutar. Si hace clic en el icono Ejecutar, Evolver comienza la


bsqueda de una solucin basada en la descripcin actual del
cuadro de dilogo Modelo de Evolver. Si pausa Evolver, seguir
pudiendo hacer clic en el icono Ejecutar para continuar la
bsqueda 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, podr abrir y explorar el
Observador del Evolver y cambiar parmetros, examinar toda la
poblacin, ver el informe de estado o copiar un grfico.

Parar. Detiene la optimizacin.

Comando Iniciar optimizacin

Comandos de Utilidades
Comando Configuraciones de aplicacin
Muestra el cuadro de dilogo Configuraciones de aplicacin
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 Parada, ndice
de Cruce y Mutacin, etc.

Captulo 5: Gua de referencia de Evolver

133

Comando Solver de restricciones


Ejecuta el Solver de restricciones
El Solver de restricciones mejora la capacidad de Evolver de procesar
restricciones en un modelo. Cuando Evolver ejecuta una
optimizacin, se presupone que los valores originales de las celdas
ajustables cumplen todas las restricciones duras; es decir, que la
solucin original es vlida. Si no, el algoritmo puede tener que
ejecutar muchas simulaciones antes de encontrar una primera
solucin vlida. Sin embargo, si un modelo contiene mltiples
restricciones, puede que no resulte aparente qu valores de las celdas
ajustables cumplen todas ellas.
Si un modelo de Evolver tiene mltiples restricciones duras, y las
optimizaciones fallan y slo generan soluciones no vlidas, el
programa lo indicar y podr ejecutar el Solver de restricciones. El
Solver de restricciones ejecuta una optimizacin en un modo especial
en el que el objetivo es encontrar una solucin que cumpla todas las
restricciones duras. El progreso de la optimizacin se muestra al
usuario de la misma forma que en las optimizaciones normales. La
ventana Progreso muestra el nmero de restricciones que se cumplen
en la solucin original y en la mejor solucin.

134

Comandos de Utilidades

La ventana de Progreso tiene un botn que permite al usuario ir al


Observador del Evolver. En el modo de Solver de restricciones, los
detalles de progreso de la optimizacin se ofrecen como en las
optimizaciones realizadas en modo normal, en las pestaas Progreso,
Resumen, Bitcora, Poblacin y Diversidad. En el modo de Solver de
restricciones, el Observador contiene una pestaa adicional
denominada Solver de restricciones. Esta pestaa muestra el estado
de cada restriccin dura (Se cumple o No se cumple) de las
soluciones Mejor, Original y ltima.

Una optimizacin del Solver de restricciones se detiene cuando se


encuentra una solucin que cumple todas las restricciones duras;
tambin se puede parar haciendo clic en un botn de la ventana de
progreso o de la ventana Observador del Evolver. Despus de la
ejecucin del Solver de restricciones, en la pestaa Opciones de
detencin 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 slo cambia el objetivo de optimizacin: el nuevo
objetivo es encontrar una solucin que cumpla todas las restricciones
duras.

Captulo 5: Gua de referencia de Evolver

135

136

Comandos de Utilidades

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 parmetros y
analizar el progreso de la optimizacin. Adems, 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.

Captulo 5: Gua de referencia de Evolver

137

Observador del Evolver Pestaa de Progreso


Muestra los grficos de progreso del valor de la celda objetivo
La pestaa de Progreso del Observador del Evolver muestra
grficamente cmo cambian los resultados, por simulacin, de la
celda objetivo seleccionada.

Los grficos de progreso muestran la cuenta de simulaciones en el eje


X y el valor de la celda objetivo en el eje Y. Se puede modificar la
escala de los grficos de progreso haciendo clic en los lmites de eje y
arrastrando el eje hasta el nuevo valor de escala. Tambin se puede
hacer clic derecho en el grfico de Progreso para mostrar el cuadro de
dilogo de Opciones de Grfico en el que se pueden personalizar los
grficos.

138

El Observador del Evolver

Cuadro de dilogo
Opciones de
Grficos

El cuadro de dilogo Opciones de Grfico muestra las configuraciones


que controlan los ttulos, leyendas, escala y fuentes del grfico.

Captulo 5: Gua de referencia de Evolver

139

Observador del Evolver Pestaa de Resumen


Muestra los detalles de los valores de las celdas ajustables
La pestaa Resumen del Observador del Evolver muestra una tabla
de resumen de los valores de las celdas ajustables usados durante la
optimizacin, junto con herramientas para ajustar las tasas de cruce y
mutacin de cada Grupo de Celdas Ajustables del modelo.

Las Configuraciones de grupos de celdas ajustables permiten


cambiar las tasas de cruce y mutacin del algoritmo gentico mientras
el problema est en proceso. Cualquier cambio que se haga aqu
sustituye la configuracin original de estos parmetros y se activa
inmediatamente, afectando a la poblacin (o grupo de celdas
ajustables) seleccionado en el campo Grupo mostrado.
Casi siempre se recomienda usar el valor predeterminado de cruce de
0.5. En el caso de la mutacin, en muchos modelos se puede aumentar
hasta llegar a 0.4 si quiere encontrar la mejor solucin y no le importa
esperar. Si establece el valor de mutacin en 1 (el mximo) el
programa har suposiciones totalmente aleatorias, ya que Evolver
realiza las mutaciones despus de hacer el cruce. Esto significa que
despus de cruzar los dos padres seleccionados para crear una
solucin descendiente, el 100% de los genes de la solucin mutarn
a nmeros aleatorios, haciendo que el cruce no tenga significado (para
obtener ms informacin, consulte las secciones tasa de cruce, para
qu sirve e tasa de mutacin, para qu sirve del ndice de este
manual).
140

El Observador del Evolver

Observador del Evolver Pestaa de Bitcora


Muestra un registro de cada simulacin ejecutada durante la
optimizacin
La pestaa de Bitcora del Observador del Evolver muestra una tabla
de resumen de cada simulacin ejecutada durante la optimizacin. El
registro incluye los resultados de la celda objetivo, de cada celda
ajustable y de las restricciones introducidas. El registro slo est
disponible si se selecciona la opcin Mantener bitcora de todas las
pruebas en la pestaa Visualizar del cuadro de dilogo
Configuraciones de optimizacin.

Las opciones Mostrar establecen si se muestra un registro de Todas


las pruebas o slo de aquellas pruebas en las que se produjo un Paso
de progreso (es decir, cuando los resultados de la optimizacin
mejoraron). El registro incluye:
1) Tiempo transcurrido, o el tiempo de inicio de la simulacin
2) Pruebas, o nmero de iteraciones ejecutadas
3) Resultado, o valor de la celda objetivo que est tratando de
minimizar o maximizar, incluyendo las penalizaciones de las
restricciones blandas

Captulo 5: Gua de referencia de Evolver

141

4) Media de resultado, Desviacin Estndar de resultado, Mnimo


de resultado y Mximo de resultado, o valores estadsticos de la
distribucin de probabilidad de la celda objetivo calculada
5) Columnas de entrada, o valores usados en la celdas ajustables
6) Columnas de restricciones que muestran si se han cumplido las
restricciones

142

El Observador del Evolver

Observador del Evolver Pestaa de Poblacin


Incluye todas las variables de cada organismo (cada posible
solucin) de la poblacin actual
La tabla de poblacin es una cuadrcula que incluye todas las
variables de cada organismo (cada posible solucin) de la poblacin
actual. Estos organismos (Org n) se clasifican en orden de peor a
mejor. Como la tabla incluye todos los organismos de una poblacin,
la configuracin tamao de poblacin del cuadro de dilogo
Configuraciones de Evolver determina cuntos organismos se
incluyen (el valor predeterminado es 50). Adems, la primera
columna de la tabla muestra el valor resultante de la celda objetivo de
cada organismo.

Captulo 5: Gua de referencia de Evolver

143

Observador del Evolver Pestaa de Diversidad


Muestra el diagrama de color de todas las variables de la
poblacin actual
El diagrama de la pestaa Diversidad asigna colores a los valores de
las celdas ajustables, basndose en la diferencia que hay entre el valor
de una celda determinada y la poblacin de organismos (soluciones)
almacenadas en memoria en un momento determinado. (Usando la
terminologa de optimizacin gentica, esto es una indicacin de la
diversidad que hay en la reserva gentica.) 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 mnimo y el mximo de una celda
ajustable determinada en 16 intervalos de igual longitud; cada uno de
los cuales se representa con un color diferente. Por ejemplo, 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
solucin que hay en memoria.

144

El Observador del Evolver

Observador del Evolver Pestaa de Opciones de


detencin
Muestra las opciones de parada de la optimizacin
Cuando se hace clic en el botn Parar, aparece la pestaa Opciones de
detencin del cuadro de dilogo Observador del Evolver. Esta
pestaa incluye las opciones disponibles de actualizacin de la hoja
de clculo con los mejores valores calculados de las celdas ajustables,
restauracin de los valores originales y generacin de un informe de
resumen de la optimizacin.
Si hace clic en Aceptar, se destruye la poblacin de soluciones de
Evolver y se colocan los valores seleccionados en la hoja de clculo. Si
quiere guardar cualquier dato de la sesin de Evolver, incluyendo los
valores de la poblacin, la hora y el nmero de pruebas de la
ejecucin, asegrese de que selecciona crear un informe de resumen
de la optimizacin.

Captulo 5: Gua de referencia de Evolver

145

Este cuadro de dilogo tambin aparece si se cumple alguna de las


condiciones de parada especificadas por el usuario (se ha evaluado el
nmero de pruebas establecido, han transcurrido los minutos
solicitados, etc.). La alerta de parada ofrece tres opciones de
actualizacin de los valores de las celdas ajustables en la hoja de
clculo: Mejor, Original y ltimo.

146

Mejor. Esa opcin acepta los resultados de Evolver y termina la


bsqueda de una solucin mejor en Evolver. Cuando se
selecciona esta opcin, los valores del mejor escenario que
Evolver ha encontrado en su bsqueda se colocan en las celdas
ajustables de la hoja de clculo.

Original. Esta opcin restaura las celdas ajustables a sus valores


originales anteriores a la ejecucin de Evolver y termina la
bsqueda de mejores soluciones en Evolver.

ltimo. Esta opcin hace que Evolver coloque los ltimos valores
calculados de la optimizacin en la hoja de clculo. La opcin
ltimos Valores Calculados es especialmente til para refinar
modelos.

El Observador del Evolver

Las opciones Informes a generar pueden generar hojas de trabajo de


resumen de optimizacin que se pueden usar para generar informes
de resultados de una ejecucin y comparar los resultados entre
ejecuciones. Las opciones de informe son:

Resumen de optimizacin. Este informe de resumen de la


optimizacin contiene informacin como la fecha y la hora de la
ejecucin, las configuraciones de optimizacin utilizadas, el valor
calculado para la celda objetivo y el valor de cada una de las
celdas ajustables.

Captulo 5: Gua de referencia de Evolver

147

Este informe es til para comparar los resultados de optimizaciones


sucesivas.

148

Bitcora de todas las pruebas. Este informe registra los resultados


de todas las pruebas realizadas.

Bitcora de los pasos de progreso. Ese informe registra los


resultados de todas las pruebas que mejoraron el resultado de la
celda objetivo.

El Observador del Evolver

Captulo 6: Optimizacin

Mtodos de optimizacin...............................................................151
Los algoritmos de escalada .................................................................153
Excel Solver ....................................................................................157
Evolver y Solver....................................................................................158
Cundo se debe usar Evolver.............................................................159
Tipos de problemas........................................................................161
Problemas lineales..................................................................161
Problemas no lineales............................................................161
Problemas basados en tablas................................................163
Problemas combinatorios......................................................164

Captulo 6: Optimizacin

149

150

Mtodos de optimizacin
Ya hemos visto algunos ejemplos de problemas de optimizacin en
los tutoriales. Algunos problemas de optimizacin son ms difciles
de resolver que otros. En los problemas ms difciles, como la
bsqueda de la ruta ms corta entre 1000 ciudades, no es posible
examinar todas las soluciones posibles. Hacerlo requerira aos de
clculos en las computadoras ms rpidas.
Para resolver ese tipo de problemas, es necesario hacer una bsqueda
en un subgrupo de todas las posibles soluciones. Al examinar estas
soluciones, podremos hacernos una idea de cmo encontrar mejores
soluciones. Esto se consigue con un algoritmo. Un algoritmo es una
descripcin por pasos de cmo resolver un problema. Todos los
programas informticos, por ejemplo, se desarrollan mediante la
combinacin de muchos algoritmos.
Empecemos por explorar cmo representan un problema la mayora
de los algoritmos de resolucin de problemas. La mayora de los
problemas se pueden dividir en tres componentes bsicos: variables
de entrada, una funcin de algn tipo y un resultado de salida.
Qu se analiza: Qu se aplica: Para el mejor:
Componentes el
problema

Entradas

Funcin

Resultado

En Evolver/Excel

Variables

Modelo

Objetivo

Supongamos que nuestro problema de optimizacin tiene dos


variables, X e Y. Cuando se ponen en una ecuacin, estas dos
variables producen un resultado =Z. Nuestro problema es encontrar
los valores X y Y que produzcan el valor Z ms grande. Podemos
imaginar que Z es una clasificacin que indica lo adecuado que es
cada par de valores X,Y.
Qu se analiza: Qu se aplica: Para el mejor:
En esta ejemplo

Captulo 6: Optimizacin

XeY

Ecuacin

151

Un diagrama de todos los pares X,Y y la Z resultante generara un


grfico de superficie tridimensional como el que se muestra a
continuacin.

Un paisaje de los posibles escenarios o soluciones.

Cada interseccin 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 funcin, la bsqueda del punto mximo o
ms elevado mediante el examen de cada solucin tomara demasiado
tiempo, incluso con la computadora ms potente y con el programa
ms rpido.* Recuerde que le damos a Excel slo la funcin, no un
grfico de la funcin, y que igualmente podra tratarse de un
problema de 200 dimensiones en lugar de este de dos dimensiones.
Por lo tanto, necesitamos un mtodo que nos permita hacer menos
clculos y genere la mxima productividad.

En nuestro diagrama, la funcin se muestra como un paisaje


uniforme. En los pocos casos en los que se usan funciones simples y
uniformes (diferenciables), se puede hacer un clculo de los mnimos
y mximos. Sin embargo, los problemas ms realistas no se describen
con funciones tan uniformes.
152

Mtodos de optimizacin

Los algoritmos de escalada


Veamos un algoritmo simple denominado de escalada. El de escalada
es un algoritmo que funciona as:
1) Se inicia en un punto aleatorio del paisaje (hace una suposicin
aleatoria).
2) Se dirige en una direccin arbitraria durante una pequea distancia.
3) Si ha llegado a un punto que es superior, permanezca en esa
posicin y repita el paso 2. Si el nuevo punto es inferior, vuelva al
punto original e intntelo de nuevo.
El mtodo de escalada prueba una sola solucin o escenario cada vez.
Usaremos un punto negro () para representar una posible solucin
(un grupo de valores X, Y y Z). Si ponemos el punto en un punto
inicial aleatorio, esperamos que nuestro mtodo de escalada lleve el
punto hasta el lugar ms alto del grfico.

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.

Captulo 6: Optimizacin

153

En la mayora de los problemas del mundo real, el paisaje no es


uniforme, y requerira aos calcularlo, por eso slo 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
mtodo de escalada, pondra un pie en cada direccin, y slo se
movera cuando sintiera que el terreno sube. Esta persona seguir
subiendo y finalmente acabara en la cima de la colina con la tierra a
su alrededor a nivel ms 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 funcin uniforme, el mtodo de escalada puede fallar


si se comienza en una posicin ligeramente diferente (derecha).

La escalada slo encuentra la colina ms cercana, o mximo local. Por


eso, si un problema tiene un paisaje de solucin muy irregular, como
la mayora de los modelos realistas, es muy posible que el mtodo de
escalada no encuentre la colina ms alta, ni siquiera una de las ms
altas.
La escalada tiene otro problema; cmo se encuentra el terreno
alrededor de nuestra posicin actual? Si el paisaje se describe con una
funcin uniforme, se puede usar diferenciacin (una tcnica de
clculo) para averiguar en qu direccin se encuentra la pendiente
ms pronunciada. Si el paisaje es discontinuo o no diferenciable
(como es ms probable en los problemas reales), debemos calcular la
idoneidad de los escenarios situados alrededor.

154

Mtodos de optimizacin

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 da.
Podemos empezar por probar diferentes combinaciones de descansos
y evaluarlos. Si en la actualidad usamos un horario en el que los
descansos estn a las 11:00 am y a las 3:00 pm, podemos calcular la
productividad de los escenarios cercanos:
Direccin
Solucin actual

11:00 am

Descanso 2
(y)
3:00 pm

Escenario oeste

10:45 am
11:15 am
11:00 am
11:00 am

15:00 am
15:00 am
15:15 am
2:45 pm

Escenario este
Escenario norte
Escenario sur

Descanso 1 (x)

Puntuacin
(z)
= 46.5
= 44.67
= 40.08
= 49.227
= 43.97

Si tuviramos tres celdas ajustables (descansos) en lugar de dos,


necesitaramos buscar en ocho direcciones diferentes. De hecho, si
tuviramos slo cincuenta variables, (algo realista para un problema
de tamao medio), necesitaramos calcular la productividad de 250, es
decir, ms de cuatro mil billones de escenarios, y eso slo para un
guardia.
Se pueden hacer modificaciones al mtodo de escalada para mejorar
su capacidad de encontrar mximos globales (las colinas ms altas de
todo el paisaje). La escalada resulta ms til a la hora de tratar
problemas unimodales (un solo pico); por eso algunos programas de
anlisis usan esta tcnica. En cualquier caso, es muy limitado para
tratar problemas complejos o grandes.

Captulo 6: Optimizacin

155

156

Mtodos de optimizacin

Excel Solver
Excel incluye una utilidad de optimizacin denominada Solver.
Cumple una funcin similar a la de Evolver: encontrar soluciones
ptimas. Solver puede resolver dos tipos de problemas: problemas
lineales y problemas simples no lineales. Resuelve problemas lineales
usando una rutina de programacin lineal. Esta tcnica matemtica
clsica frecuentemente se denomina mtodo Simplex y encuentra
siempre respuestas perfectas a problemas pequeos puramente
lineales.
Como la mayora de los programas pequeos de resolucin, el
Microsoft Solver tambin resuelve problemas no lineales usando una
rutina de escalada (especficamente la rutina GRG2). 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 ms de una solucin posible pueden
ser imposibles de resolver correctamente para Solver, porque Solver
termina en una solucin local y no puede saltar a una solucin global
(ver la figura de abajo).

Paisaje de posibles soluciones.

Adems, Solver requiere que la funcin 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. Solver no sera
capaz de resolver ese problema.
Solver tambin pone un lmite al nmero de variables y al nmero de
restricciones del problema (200) por encima del cual hay que recurrir
a una tcnica ms potente.
Captulo 6: Optimizacin

157

Evolver y Solver
Tanto Excel Solver como Evolver tienen sus propias ventajas e
inconvenientes. En general, Solver es ms rpido a la hora de resolver
problemas simples y pequeos, mientras que Evolver es la nica
forma de resolver otros muchos tipos de problemas. Adems, notar
que Evolver encontrar mejores respuestas que Solver en problemas
ms grandes y complejos, del tipo que normalmente se encuentran en
el mundo real.
Evolver puede encontrar respuesta a muchos ms tipos de problemas
que Solver. Casi cualquier situacin numrica que pueda modelar en
Excel se puede optimizar en Evolver.
Ms especficamente, Evolver puede encontrar soluciones ptimas a
problemas numricos lineales, no lineales, basados en tablas o
estocsticos (aleatorios). Puede resolver problemas con cualquier
combinacin de estas cualidades. Evolver tambin puede generar
permutaciones de valores existentes, reordenar valores o agrupar
valores de diferentes formas para encontrar una solucin ptima. De
hecho, cada vez que se encuentre con un modelo de hoja de calculo
con variables que se pueden ajustar para modificar el resultado del
modelo, Evolver puede automatizar el proceso de bsqueda
procesando inteligentemente miles de escenarios y conservando los
mejores.
El proceso de algoritmo gentico de Evolver se adapta mejor que
Solver a las interrupciones. Se puede detener en proceso de Evolver
en cualquier momento para ver la mejor solucin que Evolver ha
encontrado hasta ese momento. Luego, puede hacer cambios en el
propio problema y continuar el proceso exactamente donde lo dej.
Por ejemplo, en un problema de programacin de trabajos, tal vez
quiera encontrar las mejores tareas para asignar a las mquinas.
Cuando una mquina est disponible, puede parar el proceso del
algoritmo gentico para encontrar la tarea ptima a asignar a esa
mquina. Luego, esa tarea se puede omitir en el problema y la
optimizacin puede continuar con el resto de los trabajos.
El algoritmo gentico que proporciona a Evolver la capacidad para
administrar todos esos tipos de problemas normalmente ser ms
lento que Solver y que otros mtodos matemticos o estadsticos
tradicionales. Algunas clases de problemas utilizan rutinas de
optimizacin bien conocidas y refinadas. En esos casos, encontrar las
respuestas ms rpidamente usando esos mtodos personalizados, en
lugar del mtodo de uso general que utiliza Evolver.
158

Excel Solver

Cundo se debe usar Evolver


Por lo general, Evolver se debe usar cuando:
1) Los algoritmos tradicionales no consiguen producir buenas soluciones
globales.
2) El problema es demasiado grande o contiene ms variables que las que el
algoritmo puede administrar.
3) El problema es demasiado complejo para ser resuelto mediante cualquier
otro mtodo.
4) El modelo contiene nmeros aleatorios, tablas de referencia, reglas sientonces o cualquier otra funcin discontinua que no permita el uso de
programas de resolucin tradicionales.
5) No tiene idea de cul puede ser la solucin y, por lo tanto, no tiene una
suposicin de arranque desde la que los programas de resolucin tradicionales
puedan iniciar la bsqueda.
6) Quiere tener la opcin de que algunas restricciones duras del problema
(X tiene que ser igual a Y) puedan ser ms blandas y, por lo tanto, ms
precisas (X debe ser igual Y, porque de lo contrario, pierdo parte de Z),
explorando un rango mucho ms amplio de posibles soluciones mejores,
aunque para conseguirlas no se cumplan algunas restricciones.
7) Prefiere conseguir una solucin bastante buena al problema ms
rpidamente que esperar mucho tiempo para encontrar la mejor solucin
absoluta .
8) Necesita muchas soluciones alternativas cercanas a la mejor solucin.
9) Desea incorporar un algoritmo de bsqueda simple y slido a su propia
aplicacin personalizada (consulte Desarrollo de Evolver para obtener ms
detalles).
NOTA: Cuando el tiempo lo permita, Evolver tambin se puede usar
adems de otros mtodos para comprobar la precisin del proceso.
Aunque tarde ms tiempo que otros mtodos, la mejor solucin que
Evolver pueda encontrar probablemente merezca la inversin
realizada.
Recuerde que como Evolver no necesita conocer los pormenores del
problema, Evolver puede resolver problemas sin necesidad de que el
usuario tenga conocimiento de tcnicas de programacin lineal, teora
de la optimizacin, matemticas o estadstica. El uso de Evolver slo
requiere que el usuario establezca las variables (las celdas que
contienen los valores que se pueden ajustar), el objetivo (la celda que
contiene el resultado) y una descripcin de los valores que Evolver
puede usar cuando busque la solucin ptima.
Captulo 6: Optimizacin

159

160

Excel Solver

Tipos de problemas
Normalmente se optimizan siete tipos diferentes de problemas. Si
usted comprende estos tipos de problemas, podr aplicar mejor
Evolver a sus propios modelos.
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 slo aplican operaciones aritmticas 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 fciles de solucionar
desde la llegada de las computadoras y la invencin del Mtodo
Simplex por parte de George Dantzig. Un problema lineal simple se
puede solucionar ms rpidamente y con mayor precisin con una
utilidad de programacin lineal. La utilidad Solver que ofrece Excel se
convierte en una herramienta de programacin lineal cuando se
marca la casilla Asumir modelo lineal.* Solver usa luego una rutina
de programacin lineal para encontrar rpidamente la solucin
perfecta. Si el problema se puede expresar en trminos puramente
lineales, debe usar programacin lineal. Desafortunadamente, la
mayora de los problemas del mundo real no se pueden describir
linealmente.

Problemas no
lineales

Si el costo de fabricacin y transporte de 5,000 dispositivos es de


$5,000, costara $1 fabricar y transportar 1 dispositivo?
Probablemente no. La lnea de produccin de la fbrica de
dispositivos seguira consumiendo energa, seguira siendo necesario
completar y procesar el papeleo administrativo de los diferentes
departamentos, los materiales se seguiran comprando al por mayor,
los camiones requeriran la misma cantidad de gasolina para
transportar los dispositivos y el conductor del camin seguira
recibiendo el pago de un da completo de salario independientemente
de lo lleno que est su camin. La mayora de los problemas del
mundo real no incluyen variables con relaciones lineales simples. Esos
problemas incluyen multiplicacin, divisin, exponentes y funciones
incorporadas de Excel como RCUAD() o CRECIMIENTO(). Cuando
las variables tienen una relacin desproporcionada entre ellas, el
problema deja de ser lineal para ser no lineal.
*

Para obtener detalles ms especficos sobre la utilidad del Solver de


Microsoft, consulte la Gua del Usuario de Excel.
Captulo 6: Optimizacin

161

Un ejemplo perfecto de problema no lineal es la administracin del


proceso de fabricacin de una planta qumica. Imagine que queremos
mezclar algunos reactivos qumicos y obtener un producto como
resultado. La relacin de esta reaccin 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 relacin:

Si slo necesitamos encontrar el nivel mnimo de reactivos que genere


el nivel ms alto de reaccin, podemos comenzar en cualquier punto
del grfico y escalar por la curva hasta alcanzar la cima. Este mtodo
para encontrar una respuesta se denomina escalada.
El mtodo de escalada siempre halla la mejor respuesta si (a) la
funcin que se explora es uniforme y (b) los valores de la variable
inicial se encuentran junto a la colina ms alta. Si no se cumple una de
estas condiciones, el mtodo de escalada puede convertirse en una
solucin local en lugar de alcanzar la solucin global.
Los problemas altamente no lineales, los que se ven con frecuencia en
la prctica, tienen muchas posibles soluciones por todo un
complicado paisaje. Si un problema tiene muchas variables, o las
frmulas tienen demasiado ruido o muchas curvas, la mejor respuesta
probablemente no se encontrar con el mtodo de escalada, incluso
aunque se hagan cientos de pruebas desde diferentes puntos de inicio.
Lo ms probable es que se encuentre una solucin inferior a la ptima
y extremadamente local (ver la figura de abajo).

El mtodo de escalada encuentra el


mximo local, pero no el global.

162

Datos con ruido: el mtodo de escalada no


es eficaz, incluso con mltiples pruebas.

Tipos de problemas

Evolver no utiliza el mtodo de escalada. En su lugar, usa una tcnica


de bsqueda estocstica dirigida, denominada algoritmo gentico.
Esto permite a Evolver saltar de un lado a otro dentro del espacio de
solucin de un problema, examinando muchas combinaciones de
valores de entrada sin quedarse en el resultado ptimo local. Adems,
Evolver permite que se comuniquen los buenos escenarios para
obtener valiosa informacin sobre el paisaje general de la solucin, y
luego usa esa informacin para hacer mejores suposiciones sobre los
escenarios con mayores probabilidades de xito. Si tiene un problema
complejo o altamente no lineal, debe utilizar y en ocasiones tiene que
utilizar Evolver.

Evolver genera mltiples escenarios posibles y luego


refina la bsqueda basndose 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 la bsqueda de soluciones
ptimas a las rutinas de escalada como la de Solver. Sin embargo,
Evolver no requiere continuidad en las funciones que evala, y puede
encontrar buenas soluciones para los problemas basados en tablas,
incluso en problemas que usan grandes tablas interrelacionadas.
Si el problema requiere la consulta de valores en una base de datos, o
una tabla de datos de Excel, en la que la tasa del elemento de la tabla
es una variable o una funcin de una variable, debe utilizar Evolver.
Si slo tiene que consultar un elemento constante una tabla (el mismo
registro se extrae de la tabla independientemente de los valores de las
variables de entrada), entonces slo se trata de una constante, y
probablemente podr usar Solver.

Captulo 6: Optimizacin

163

Problemas
combinatorios

Hay un grupo grande de problemas que son muy diferentes a los


problemas numricos examinados hasta ahora. 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, se denominan problemas combinatorios. Estos problemas
son normalmente muy difciles 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 nmero de variables
hasta 8, el tiempo de resolucin 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 nmero de variables se
multiplica por dos, el nmero de posibles soluciones que deben
comprobarse aumenta 1,680 veces. Por ejemplo, la eleccin de los
jugadores titulares de un equipo de bisbol 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 362,880 rdenes
diferentes. Si multiplicamos por dos el nmero de jugadores, hay 18
factorial posibles rdenes, o sea 6,402,373,705,000,000 posibles
rdenes de bateo!
El algoritmo gentico de Evolver busca inteligentemente entre las
posibles permutaciones. Esto es mucho ms prctico que buscar entre
todas las posibilidades, y es mucho ms eficaz que examinar
permutaciones puramente aleatorias; se pueden conservar subrdenes de buenos escenarios y usarlas para crear escenarios an
mejores.

164

Tipos de problemas

Captulo 7: Algoritmos
genticos
Introduccin ....................................................................................167
Historia.............................................................................................167
Un ejemplo biolgico .....................................................................171
Un ejemplo digital...........................................................................173

Captulo 7: Algoritmos genticos

165

166

Introduccin
Evolver utiliza el algoritmo gentico para buscar respuestas ptimas
en los modelos de simulacin. Este captulo proporciona informacin
general sobre algoritmos genticos que explica cmo se usan para la
optimizacin de modelos de simulacin.

Historia
Los primeros algoritmos genticos fueron desarrollados a principios
de los aos setenta por John Holland en la University of Michigan. A
Holland le llamaba la atencin la facilidad con la que los sistemas
biolgicos realizaban tareas que no podan realizar ni siquiera las
supercomputadoras ms avanzadas; los animales pueden reconocer
objetos sin problemas, comprender y traducir sonidos y navegar en
general a travs de un entorno dinmico casi instantneamente.
Durante dcadas, los cientficos pretendieron replicar esta capacidad
en las mquinas, pero empezamos a darnos cuenta de la dificultad
que entraa esta tarea. La mayora de los cientficos estn de acuerdo
en que cualquier sistema biolgico complejo que exhiba estas
cualidades ha evolucionado para llegar a ese punto.
Teora de la
Evolucin

La Evolucin, segn afirma la teora, ha producido sistemas


asombrosos mediante elementos relativamente sencillos y autoreproductivos que siguen una serie de reglas simples:
1) La evolucin se produce a nivel cromosmico. El organismo no
evoluciona sino que sirve de vehculo mediante el que se transportan
y transmiten los genes. Son los cromosomas los que cambian
dinmicamente con cada reorganizacin de los genes.
2) La naturaleza tiende a hacer ms copias de los cromosomas que
producen organismos ms adaptados. Si un organismo sobrevive lo
suficiente, y est sano, hay mayores probabilidades de que sus genes
se transmitan a una nueva generacin de organismos a travs de la
reproduccin. Este principio se conoce como el de supervivencia de
los mejor adaptados. Recuerde que mejor adaptado es un trmino
relativo; para que un organismo tenga xito slo necesita adaptarse
en comparacin con otros de la poblacin actual.

Captulo 7: Algoritmos genticos

167

3) Debe mantenerse la diversidad de la poblacin. En la naturaleza se


producen con frecuencia mutaciones aparentemente aleatorias que
aseguran la variacin de los organismos. Estas mutaciones genticas
resultan muchas veces en una funcin til o incluso vital para la
supervivencia de una especie. Con una gama ms amplia de posibles
combinaciones, una poblacin es menos susceptible a debilidades
comunes que puedan destruir a todos sus elementos (virus, etc.) o a
otros problemas asociados con la reproduccin con consanguinidad.
Cuando se divide la evolucin en estas reglas fundamentales, es ms
fcil aplicar estas tcnicas al mundo informtico y comenzar
verdaderamente un avance hacia mquinas de funcionamiento ms
fluido y natural.
Holland empez a aplicar estas propiedades de la evolucin a
secuencias simples de nmeros 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 poblacin completa. Program una funcin de adaptacin
que pudiera evaluar y clasificar cada secuencia de bit, y las secuencias
que se consideraron ms adaptadas intercambiaban datos con otras
a travs de una rutina de cruce para crear secuencias de bit de
descendencia. Holland incluso someti sus cromosomas digitales a
un operador de mutacin que introdujo aleatoriedad a los
cromosomas descendientes resultantes para conservar la diversidad
de la poblacin. Esta funcin de adaptacin reemplazaba el papel de
la muerte en el mundo biolgico, determinando qu secuencias eran
buenas para continuar con la reproduccin y cules dejaran de
conservarse en memoria.

168

Historia

El programa conserv un nmero determinado de estos


cromosomas en memoria, y esta poblacin completa de
secuencias continu evolucionando hasta maximizar la funcin de
adaptacin. El resultado se decodific de nuevo a sus valores
originales para revelar la solucin. John Holland sigue siendo un
pionero activo en este campo, y ahora se unen a l cientos de
cientficos y expertos que han dedicado la mayora de su tiempo a
desarrollar esta prometedora alternativa a la tradicional
programacin lineal y a las tcnicas matemticas y estadsticas.
El algoritmo gentico original de Holland era bastante simple, a la vez
que extraordinariamente slido, 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 slo son ligeras modificaciones de
ese algoritmo gentico original.
Adaptaciones
modernas de
algoritmos
genticos

Con el aumento del inters en entornos acadmicos y la incorporacin


de una gran potencia de clculo a las mquinas de comercializacin
general, plataformas de referencia como Microsoft Windows y Excel
facilitaron el diseo y mantenimiento de modelos complejos. El uso
de nmeros reales, en lugar de representaciones de secuencias de bits,
eliminaron la difcil tarea de codificar y decodificar los cromosomas.
La popularidad de algoritmo gentico crece ahora exponencialmente,
con la creciente aparicin de seminarios, libros, artculos periodsticos
y expertos consultores. La Conferencia Internacional sobre
Algoritmos Genticos ya dedica su atencin a aplicaciones prcticas,
una seal de madurez que no se muestra en otras tecnologas de
inteligencia artificial. Muchas de las compaas Fortune 500
emplean algoritmos genticos regularmente para resolver problemas
del mundo real, desde agentes de bolsas y mercados de valores hasta
plantas energticas, cadenas de restaurantes, fabricantes de
automviles y emisoras de televisin. De hecho, es muy probable que
usted ya haya usado indirectamente un algoritmo gentico.

Captulo 7: Algoritmos genticos

169

170

Historia

Un ejemplo biolgico
veamos un sencillo ejemplo de evolucin en el mundo biolgico (a
pequea escala). Por evolucin queremos decir cualquier cambio de
distribucin o frecuencia de los genes de una poblacin. Por supuesto,
lo ms interesante de la evolucin es que tiende generar poblaciones
que se adaptan constantemente a sus entornos.
Imagine que estamos observando una poblacin de ratones. Estos
ratones tienen dos tamaos, grande y pequeo, y dos colores, claro y
oscuro. Nuestra poblacin consta de los siguientes ocho ratones:

Un da, los gatos llegaron al barrio y empezaron a comerse a los


ratones. Resulta que los ratones ms oscuros y pequeos son ms
difciles 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
generacin de ratones. Suponiendo que los ratones viejos mueren
poco despus de reproducirse, la siguiente generacin de ratones
sera 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 contina en la siguiente
generacin.

Captulo 7: Algoritmos genticos

171

Ahora, la poblacin consta mayoritariamente de ratones pequeos y


oscuros, porque estos ratones estn 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 estarn mejor adaptados y
transmitirn sus genes de comedores de hierba a la nueva generacin
de gatos. Este es el concepto principal de la supervivencia de los
mejor adaptados. Tambin podra decirse, de forma ms exacta, que
se trata de la supervivencia hasta la reproduccin. En trminos de
evolucin, ser el soltero ms sano de la poblacin no significa nada, ya
que es necesario reproducirse para que los genes influencien futuras
generaciones.

172

Un ejemplo biolgico

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 el Captulo 6: Optimizacin). Como estamos
tratando de obtener el valor mximo de Z, los picos de la funcin
son soluciones buenas y los valles son malas.
Cuando se usa un algoritmo gentico para maximizar una funcin,
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 funcin de cada escenario y se
incluye en el diagrama como un punto. A continuacin, se clasifican
todos los escenarios segn su altitud, de mejor a peor. Conservamos
los escenarios de la mitad superior de la lista y desechamos los dems.

Primero, se crea una poblacin entera de


posibles soluciones. Unas son mejores (ms
altas) que otras.

Captulo 7: Algoritmos genticos

Luego se clasifican todas y se conservan las


soluciones que generan mejores resultados.

173

Cada uno de los tres escenarios restantes se duplican, para que el


nmero total de escenario vuelva a ser de seis. Ahora viene la parte
ms 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

Despus

3.4, 5.0

2.6, 5.0

2.6, 3.2

3.4, 3.2

Esta operacin 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 poblacin de escenarios acaba de sobrevivir una
generacin, con su ciclo de muerte y nacimiento.

174

Un ejemplo digital

Observe que algunos de los nuevos escenarios obtienen resultados


ms bajos (altitud ms baja) que cualquiera de los de la generacin
original. Sin embargo, un escenario ha llegado a la cima ms alta, lo
cual indica progreso. Si dejamos que la poblacin evolucione otra
generacin, podramos ver una escena como la siguiente:

Se puede ver como el rendimiento promedio de la poblacin de


escenarios aumenta por encima del rendimiento de la ltima
generacin. En este ejemplo, no queda mucho espacio para la mejora.
Esto sucede porque slo hay dos genes por organismo, slo hay seis
organismos y no hay forma de que se creen nuevos genes. Esto
significa que hay una reserva gentica limitada. La reserva gentica es la
suma de todos los genes de todos los organismos de una poblacin.
Los algoritmos genticos pueden hacerse mucho ms poderosos si
replican ms elementos de la fuerza inherente de la evolucin del
mundo biolgico; aumentando el nmero de genes por organismo,
aumentando el nmero de organismos de una poblacin y
permitiendo que se produzcan mutaciones aleatorias ocasionalmente.
Adems, 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 len ms grande y fuerte le puede matar un rayo).
Todas estas tcnicas estimulan el perfeccionamiento gentico y
contribuyen a mantener la diversidad de la reserva gentica,
manteniendo disponibles todo tipo de genes por si resultan tiles en
diferentes combinaciones. Evolver implementa automticamente
todas estas tcnicas.

Captulo 7: Algoritmos genticos

175

176

Un ejemplo digital

Captulo 8: Extras de Evolver

Cmo aadir restricciones ............................................................179


Restricciones de rango.........................................................................180
Restricciones duras - personalizadas................................................181
Restricciones blandas ..........................................................................182
Funciones de penalizacin....................................................182
Introduccin de una funcin de penalizacin...................183
Visualizacin de los efectos de la funcin de
penalizacin introducida ......................................................184
Visualizacin de las penalizaciones aplicadas..................184
Introduccin de restricciones blandas en la
hoja de clculo.........................................................................185
Ms ejemplos de funciones de penalizacin.....................185
Uso de funciones de penalizacin .......................................186
Problemas de mltiples objetivos.....................................................187
Mejora de la rapidez .......................................................................189
Cmo se implementa la optimizacin de Evolver .......................191
Seleccin...................................................................................191
Cruce .........................................................................................192
Mutacin ..................................................................................193
Reemplazo................................................................................193
Restricciones............................................................................193

Captulo 8: Extras de Evolver

177

178

Cmo aadir restricciones


Los problemas ms realistas normalmente tienen una serie de
restricciones que deben cumplirse durante la bsqueda de la
respuesta ptima. Por ejemplo, en el ejemplo del tutorial que pretende
encontrar el diseo de transformador ms econmico, una de las
restricciones es que el transformador debe permanecer enfriado, con
una radiacin de calor inferior a 0.16 vatios/cm2.
Un escenario que cumple todas las restricciones de un modelo se
considera una solucin viable o vlida. A veces es difcil encontrar
soluciones viables para un modelo, y mucho menos encontrar una
solucin viable ptima. Esto puede deberse a que el problema es muy
complejo y slo 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 bsicos de restricciones: restricciones de rango, con
rangos mn-mx colocados en celdas ajustables; restricciones duras,
que siempre deben cumplirse; y restricciones blandas que nos gustara
cumplir en la medida de los posible, pero que se podran ignorar en
favor de una gran mejora.

Captulo 8: Extras de Evolver

179

Restricciones de rango
Las restricciones duras ms simples son las que se colocan en las
propias variables. Al establecer un cierto rango en cada variable, se
puede limitar el nmero total de posibles soluciones que Evolver
busca, lo cual resulta en una bsqueda ms eficaz. Introduzca los
valores Mn y Mx en la ventana Modelo de la seccin Rangos de
celda ajustables para indicar a Evolver el rango de valores aceptables
para cada variable.

Evolver slo probar valores entre 0 y 5,000 para las celdas especificadas.

Un segundo tipo de restriccin dura colocada en la variable est


incorporada a cada mtodo de solucin de Evolver (receta, orden,
agrupamiento, etc.). Por ejemplo, cuando se ajustan variables usando
el mtodo de solucin de presupuesto, significa que Evolver tiene una
restriccin dura que slo permite hacer pruebas de grupos de valores
que suman un mismo total. Como en la configuracin de Rangos, esta
restriccin dura tambin reduce el nmero de posibles escenarios que
deben buscarse.
La opcin entero del cuadro de dilogo Modelo tambin es una
restriccin dura que indica a Evolver que pruebe slo valores enteros
(1, 2, 3, etc.) en lugar de nmeros reales (1.34, 2.034, etc.) a la hora de
ajustar los valores de las variables.

180

Cmo aadir restricciones

Restricciones duras - personalizadas


Se puede introducir cualquier restriccin que no est en las
restricciones de variable de Evolver, usando el cuadro de dilogo
Configuraciones de Restriccin.

NOTA: Como la evolucin en la naturaleza, el poder de resolucin de


un algoritmo gentico se encuentra principalmente en su capacidad de
explorar libremente muchas combinaciones de soluciones posibles y
naturalmente inclinarse hacia las mejores. Si prohibimos a Evolver
que examine las soluciones que no cumplen nuestras demandas, el
proceso de optimizacin del algoritmo gentico se puede inutilizar.
Siempre resulta ms fcil para Evolver encontrar soluciones que
cumplan las restricciones duras si el escenario inicial de la hoja de
clculo cumple esas restricciones. Eso permite a Evolver conocer el
punto de inicio del espacio de soluciones vlidas. Si no conoce ningn
escenario que cumpla las restricciones, ejecute Evolver con cualquier
escenario inicial para que el programa trate de encontrar escenarios
que cumplan las restricciones.

Captulo 8: Extras de Evolver

181

Restricciones blandas
Si se fuerza al programa para que slo busque soluciones que
cumplan todas las restricciones, es posible que no se encuentre
ninguna solucin viable. Con frecuencia, es ms til tener una
solucin 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 ms realistas y permite 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 gentico de Evolver tendr ms posibilidades de
encontrar la mejor solucin si se le permite obtener informacin sobre
algunas soluciones cercanas a las soluciones que cumplen las
restricciones.
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 produccin perfectamente equilibrado requiere un
proceso de optimizacin de un da de duracin. En este caso, una
buena solucin al problema, que casi cumple la restriccin (la
produccin es 40% tenedores, 23% cuchillos, 37% cucharas),
normalmente es mejor que esperar todo el da para averiguar que tal
vez no hay solucin, porque no es posible cumplir todas las
restricciones.
Funciones de
penalizacin

182

Las restricciones blandas se pueden implementar fcilmente en Excel


a travs del uso de funciones de penalizacin. En lugar de indicar a
Evolver que en ningn caso puede usar ciertos valores cuando busca
soluciones, permitimos que esos valores no vlidos se examinen,
pero penalizaremos esas soluciones como corresponde. Por ejemplo,
un problema puede consistir en encontrar la forma ms eficaz de
distribuir productos con la restriccin de que se usen slo tres
camiones. Un modelo ms preciso incluira una funcin de
penalizacin que permitiera usar ms camiones, pero aadiera el gran
costo al resultado final. Las funciones de penalizacin se pueden
especificar en el cuadro de dilogo Configuracin de Restricciones o
se puede introducir directamente en el modelo aadiendo una
frmula que represente las funciones de penalizacin.

Cmo aadir restricciones

Introduccin de
una funcin de
penalizacin.

Evolver tiene una funcin de penalizacin predeterminada que


aparece cuando se introduce una restriccin blanda. Sin embargo,
cualquier frmula de Excel vlida se puede introducir para calcular la
cantidad de la penalizacin a aplicar cuando no se cumple una
restriccin blanda. La funcin de penalizacin introducida debe
incluir la palabra clave desviacin que representa la cantidad absoluta
por la que la restriccin ha superado su lmite. Al final de una
simulacin de una solucin de prueba, Evolver comprueba si se han
cumplido las restricciones blandas; si no, coloca la cantidad de la
desviacin en la frmula de la penalizacin introducida y luego
calcula la cantidad de la penalizacin a aplicar a la estadstica de la
celda objetivo que se trata de minimizar o maximizar.
La cantidad de la penalizacin se suma o se resta a la estadstica
calculada en la celda objetivo para que resulte menos "ptima". Por
ejemplo, si se ha seleccionado Mximo en el campo Encontrar el del
cuadro de dilogo Modelo de Evolver, la penalizacin se resta de la
estadstica calculada en la celda objetivo.

Captulo 8: Extras de Evolver

183

Visualizacin de
los efectos de la
funcin de
penalizacin
introducida

Evolver incluye la hoja de trabajo Penalizacin.xls que se puede


usar para evaluar los efectos de diferentes funciones de penalizacin
en restricciones blandas y celdas objetivo especficas.

Penalizacin.xls permite seleccionar una restriccin blanda de su


modelo para analizar sus efectos. Luego, puede cambiar la funcin de
penalizacin para ver cmo la funcin transforma un valor especfico
de la restriccin blanda incumplida en un valor penalizado especfico
en la celda objetivo. Por ejemplo, si la restriccin blanda es A10<100,
puede usar Penalizacin.xls para ver cul sera el valor objetivo si
se calcula un valor de 105 en la celda A10.
Visualizacin de
las penalizaciones
aplicadas

184

Cuando se aplica una penalizacin a la celda objetivo por


incumplimiento de una restriccin blanda, la cantidad de la
penalizacin se puede visualizar en el Observador del Evolver.
Adems, los valores de penalizacin se muestran en las hojas de
clculo Bitcora de Optimizacin, que se puede crear tras la
optimizacin.

Cmo aadir restricciones

Introduccin de
restricciones
blandas en la hoja
de clculo

Las funciones de penalizacin tambin se pueden introducir


directamente en la hoja de clculo. Una funcin de penalizacin
booleana asigna una penalizacin establecida a cualquier escenario
que no cumpla la restriccin 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 funcin de
penalizacin en otra celda: =SI(A1>B1, -1000, 0). Si el resultado de
esta celda se aade al dato de la celda objetivo, cada vez que Evolver
prueba una solucin que incumple esa restriccin (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 solucin que incumpla esta restriccin
produce un valor bajo del dato de la celda objetivo, y Evolver acabar
por eliminar estos organismos.
Tambin se puede usar una funcin de penalizacin de escala, que
penaliza con mayor precisin la solucin dependiendo de en qu
medida incumple la restriccin. Este mtodo resulta frecuentemente
ms prctico en el mundo real, ya que una solucin en la que el
suministro no satisface totalmente la demanda ser siempre mejor que
una solucin que ni siquiera se aproxim a la demanda. Una simple
funcin de penalizacin de escala calcula la diferencia absoluta entre
el valor objetivo de la restriccin y el valor real. Por ejemplo, en el
mismo problema donde A1(demanda) no debe exceder
B1(suministro), podramos asignar la siguiente funcin de
penalizacin: =SI(A1>B1, (A1-B1)^2, 0). Este tipo de penalizacin
mide lo cerca que est el cumplimiento de una restriccin, y exagera
esa diferencia elevndola al cuadrado. Ahora, la penalizacin cambia
dependiendo de lo mucho que una solucin incumple una restriccin.

Ms ejemplos de
funciones de
penalizacin

Por ejemplo, supongamos que crea un modelo de manufacturacin en


el que una de las restricciones es que la cantidad de madera que se
usa debe ser igual a la cantidad de plstico que se usa. Esta restriccin
se cumple cuando CantidadDeMadera = CantidadDePlstico.
Queremos encontrar soluciones que incluyan la misma cantidad de
ambos materiales, por lo tanto creamos una funcin de penalizacin
para no favorecer soluciones que se alejan de nuestro objetivo. La
frmula =ABS(CantidadDeMadera-CantidadDePlstico) calcula la
diferencia absoluta (no negativa) entre la cantidad de madera y la
cantidad de plstico que se usan. Al usar la funcin ABS(), obtenemos
el mismo valor de penalizacin si CantidadDeMadera es superior en
ms de 20 a CantidadDePlstico, o si CantidadDePlstico es menor en
ms de 20 a CantidadDeMadera. Ahora, cuando se optimiza el
modelo, el objetivo es minimizar la media de los resultados de
simulacin de esta diferencia absoluta.

Captulo 8: Extras de Evolver

185

Supongamos que imponemos esta otra restriccin: La cantidad de


madera debe ser el doble que la cantidad de plstico. Entonces, la
funcin de penalizacin sera:
=ABS(CantidadDeMadera-CantidadDePlstico*2)

Una restriccin diferente es que la cantidad de madera debe ser no


inferior a el doble de la cantidad de plstico. Mientras que el ejemplo
anterior produca una penalizacin si haba demasiada madera, en
este caso slo nos preocupa si no hay suficiente madera; si
CantidadDeMadera es diez veces mayor que CantidadDePlstico, no
queremos que se aplique ninguna penalizacin. La funcin de
penalizacin apropiada sera:
=SI(CantidadDeMadera<CantidadDePlastico*2,
ABS(CantidadDePlastico*2-CantidadDeMadera),0)

Si CantidadDeMadera es al menos el doble de CantidadDePlastico, la


funcin de penalizacin genera un valor 0. De lo contrario, la funcin
indica la diferencia de cunto menor es el valor de
CantidadDeMadera con respecto al doble de CantidadDePlstico.
Uso de funciones
de penalizacin

Despus de crear funciones de penalizacin para describir las


restricciones blandas del modelo, puede combinarlas con la frmula
de la celda objetivo normal para obtener una frmula 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 penalizacin, entonces se puede crear la frmula
=SUM(C8, E3:E6) en la celda C10 .

Cree una celda que aada las restricciones al total y minimice la


media de los resultados de la simulacin de esta celda.

186

Cmo aadir restricciones

Esto aade las penalizaciones de la columna E al costo de C8 para


obtener una funcin de costo restringida o penalizada en C10.
Observe que si esto fuera un problema de maximizacin debera
restar, en lugar de sumar, las penalizaciones a la celda objetivo
original. Ahora, cuando use Evolver, slo tendr que seleccionar esta
celda restringida, C10, como celda objetivo cuyo dato de simulacin
se quiere optimizar.
Cuando Evolver trata de optimizar un dato restringido para la celda
objetivo, las funciones de penalizacin tendern a forzar la bsqueda
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 penalizacin
tendrn valores cercanos a 0).

Problemas de mltiples objetivos


Aunque se especifique una sola celda en el campo de celda objetivo
de Evolver, todava se pueden resolver mltiples objetivos mediante
la creacin de una funcin que combine los dos objetivos en un solo
objetivo. Por ejemplo, supongamos que un cientfico dedicado a los
polmeros pretende crear una sustancia flexible y al mismo tiempo
fuerte. El modelo calcula la fuerza, flexibilidad y peso que resultaran
de una mezcla determinada de combinaciones qumicas. La cantidad
de cada producto qumico a usar son las variables ajustables del
problema.
Como quiere maximizar la Fuerza de la sustancia (celda S3) pero
tambin quiere maximizar la Flexibilidad (celda F3), debe crear una
nueva celda con la frmula: =(S3+F3). Esta sera la nueva celda
objetivo, porque cuando ms alto sea este nmero, mejor ser la
solucin en general.
Si la flexibilidad fuera ms importante que la fuerza, podramos
cambiar la frmula de la celda objetivo a =(S3+(F3*2)). De esta forma,
los escenarios que aumentan la flexibilidad en una cierta cantidad
seran mejores (generaran una puntuacin de idoneidad ms alta)
que los escenarios que aumentan la fuerza en esa misma medida.
Si quiere maximizar la Fuerza de la sustancia (celda S5) pero tambin
quiere minimizar el Peso (celda W5), debe crear una nueva celda con
la siguiente frmula: =(S5^2)-(W5^2). Esta frmula generar un
nmero ms alto cuando la estructura sea a la vez fuerte y ligera, un
nmero ms bajo cuando la estructura es dbil y pesada y nmeros
igualmente promedio en los escenarios dbil y ligera, y fuerte pero
pesada. Por lo tanto, deber usar esta nueva celda como objetivo y
maximizar su media para satisfacer ambos objetivos.
Captulo 8: Extras de Evolver

187

188

Cmo aadir restricciones

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 funcin de evaluacin de la hoja de clculo de Excel para
examinar los diferentes escenarios. Gran parte del tiempo que utiliza
Evolver es realmente usado por Excel para recalcular la hoja de
clculo. Hay una serie de cosas que se pueden hacer para acelerar la
optimizacin de Evolver y el proceso de reclculo de Excel.

La velocidad de Evolver es directamente proporcional a la


velocidad del procesador del PC. Un Pentium/2.0 GHz ser
aproximadamente el doble de rpido que un Pentium/1.0 GHz.
Esto significa que Evolver podr evaluar el doble de pruebas en la
misma cantidad de tiempo.

Cuando Evolver ha convergido ms o menos en una solucin, y


no se producen una mejora de la mejor solucin desde hace
tiempo (por ejemplo, las ltimas 1000 pruebas), puede aumentar
la tasa de mutacin para permitir que Evolver ample su
bsqueda de soluciones, en lugar de continuar refinando la
solucin con la poblacin actual usando principalmente cruces.
Puede aumentar la tasa de mutacin a travs del Observador del
Evolver usando el comando Configuraciones de Poblacin.

Ajuste ms estrechamente los rangos de las celdas ajustables; de


esta forma se crear un rea ms pequea en la que Evolver
buscar las soluciones, y por lo tanto se acelerar el proceso.
Asegrese de que los rangos dan suficiente libertad a Evolver
como para explorar todas las soluciones realistas.

Captulo 8: Extras de Evolver

189

190

Mejora de la rapidez

Cmo se implementa la optimizacin de


Evolver
En esta seccin se describen ms especficamente cmo se
implementan los algoritmos de optimizacin de Evolver.
NOTA: No es necesario conocer esta informacin para poder usar
Evolver.
La mayora de la tecnologa de algoritmo gentico de Evolver, como
los mtodos de solucin de receta y orden, se basan en trabajos
acadmicos realizados en el campo de los algoritmos genticos
durante los ltimos diez aos. Sin embargo, la mayora de los
mtodos de solucin derivados que se incluyen en Evolver, y los
mltiples grupos de celdas ajustables, regresin, estrategia y
funciones de probabilidad, son exclusivas de Evolver.
Evolver utiliza un mtodo de estado uniforme. Esto significa que slo
un organismo se reemplaza cada vez, en lugar de reemplazar una
generacin entera. Esta tcnica de estado uniforme ha demostrado
funcionar tan bien, o mejor, que el mtodo de reemplazo
generacional. Para encontrar el nmero equivalente de
generaciones que Evolver ha procesado, debe tomar el nmero de
pruebas individuales que ha explorado y dividirlo entre el tamao de
la poblacin.
Seleccin

Cuando se va a crear un nuevo organismo, se seleccionan dos padres


entre la poblacin actual. Hay ms probabilidades de que se
seleccionen como padres los organismos con puntuaciones de
adaptacin ms altas.
En Evolver, los padres se seleccionan mediante un mecanismo basado
en clasificacin. A diferencia de algunos sistemas de algoritmos
genticos en los que las posibilidades de seleccin de los padres para
la reproduccin son directamente proporcionales a su adaptacin, el
mtodo basado en clasificacin ofrece una curva de probabilidad de
seleccin ms uniforme. Esto impide que los organismos buenos
dominen completamente la evolucin desde el principio.

Captulo 8: Extras de Evolver

191

Cruce

Como cada mtodo de solucin ajusta las variables de diferentes


formas, Evolver emplea una rutina de cruce diferente optimizada
para ese tipo de problema.
El mtodo de solucin de receta bsico 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 bsqueda debido a la posicin irrelevante de
las variables, mientras que el mtodo de cruce uniforme se considera
mejor para preservar el esquema, y puede generar cualquier esquema
a partir de los dos padres.

El mtodo de solucin 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.
192

Cmo se implementa la optimizacin de Evolver

Mutacin

Como sucede con el cruce, los mtodos de mutacin han sido


personalizados para cada uno de los diferentes mtodos de solucin.
El mtodo de solucin de receta bsico realiza mutaciones
examinando cada variable individualmente. Se genera un nmero
aleatorio entre 0 y 1 para cada una de las variables del organismo, y si
una variable obtiene un nmero menor o igual a la tasa de mutacin
(por ejemplo, 0.06), entonces esa variable se muta. La cantidad y
naturaleza de la mutacin se determina automticamente mediante
un algoritmo exclusivo. La mutacin de una variable incluye su
reemplazo por un valor generado aleatoriamente (dentro de su rango
mn-mx vlido).
Para conservar todos los valores originales, el mtodo de solucin de
orden realiza la mutacin mediante el intercambio de posiciones de
algunas variables del organismo. El nmero de intercambios
realizados se incrementa o reduce proporcionalmente al incremento o
reduccin de la configuracin de la tasa de mutacin (de 0 a 1).

Reemplazo

Como Evolver usa un mtodo de orden de clasificacin en lugar de un


mtodo de reemplazo generacional, los organismos que peor se
adaptan son siempre reemplazados por un nuevo organismo que se
crea mediante seleccin, cruce y mutacin, independientemente de su
puntuacin de adaptacin.

Restricciones

Las restricciones duras se implementan mediante una tecnologa


exclusiva de Palisade denominada regresin. 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 solucin vlido.

Captulo 8: Extras de Evolver

193

194

Cmo se implementa la optimizacin de Evolver

Apndice A: Automatizacin de
Evolver
VBA
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 configuracin y ejecucin de
optimizaciones y para mostrar los resultados de las optimizaciones.
Para obtener ms informacin sobre esta interfaz de programacin,
consulte el documento de ayuda del Juego de Desarrollo de Evolver,
disponible a travs del men de Ayuda de Evolver.

Apndice A: Automatizacin de Evolver

195

196

Apndice B: Resolucin de
problemas / Preguntas y
respuestas
Resolucin de problemas / Preguntas y
respuestas
Esta seccin responde algunas de las preguntas ms comunes
relacionadas con Evolver y ofrece informacin sobre cuestiones,
problemas y sugerencias habituales. Despus de leer esta seccin,
puede llamar al departamento de asistencia al cliente de Palisade a los
nmeros de telfono indicados en el captulo inicial de este manual.
P: Por qu tengo problemas para obtener una respuesta vlida de
Evolver?
R: Asegrese de que el cuadro de dilogo de Evolver est
configurado correctamente. La mayora de los problemas estn
asociados con la configuracin de las variables. Cada grupo de
celdas ajustables debe ser exclusivo, de forma que ninguna celda
o grupo de celdas se procese con ms de un mtodo de solucin.
P: Evolver puede procesar conceptos o categoras en lugar de
nmeros?
R: Evolver puede procesar indirectamente cualquier tipo de dato, ya
que los nmeros no son ms que smbolos. Use una tabla de
referencia en Excel para traducir nmeros enteros a secuencias de
texto. Evolver (como el resto de los programas informticos)
bsicamente slo procesa nmeros, pero la interfaz puede usar
esos nmeros para representar y mostrar cualquier tipo de
secuencia.

Apndice B: Resolucin de problemas / Preguntas y respuestas

197

P: Aunque completo los cuadros de dilogo de la misma forma y


Evolver se ejecuta la misma cantidad de tiempo, a veces Evolver
encuentra soluciones diferentes.
R: Como sucede en la seleccin natural del mundo biolgico, el
algoritmo gentico de Evolver no sigue siempre el mismo camino
para buscar soluciones (a menos que use un generador de nmero
aleatorio fijo). Resulta irnico que sea esta impredecibilidad la
que permita a Evolver resolver ms tipos de problemas y, con
frecuencia, encontrar mejores soluciones que con los mtodos
tradicionales. El motor del algoritmo gentico de Evolver no slo
ejecuta una serie de comandos pre-programados o coloca valores
mediante una frmula matemtica, sino que experimenta
eficazmente con escenarios hipotticos aleatorios simultneos,
para luego refinar la bsqueda mediante mltiples operadores de
supervivencia de los mejor adaptados que tambin contienen
elementos aleatorios.
P: Por qu no cambia la mejor solucin encontrada?
R: Es posible que haya especificado la celda objetivo incorrecta en el
cuadro de dilogo Modelo de Evolver. Evolver est examinando
esta celda en blanco y el valor no cambia porque no contiene una
frmula. Para solucionar este problema, abra el cuadro de dilogo
Modelo de Evolver y seleccione una celda objetivo apropiada; es
decir, una que refleje con exactitud lo buena o mala que es cada
posible solucin. Una celda objetivo apropiada contiene una
frmula que depende, directa o indirectamente, de las variables
que Evolver ajusta (celdas ajustables).
P: Algunas de las celdas del modelo de la hoja de clculo
contienen los smbolos ####.
R: Si la celda es demasiado pequea para mostrar todo su contenido,
muestra varios signos ####. Aumente el tamao de la celda.

198

Resolucin de problemas / Preguntas y respuestas

P: Evolver funciona bien pero, hay alguna forma ms sencilla de


obtener mejores resultados?
R: Considere la posibilidad de eliminar las restricciones del
problema, incluyendo los rangos de las variables. Cambie algunas
de las restricciones duras a restricciones blandas mediante
funciones de penalizacin (consulte Cmo aadir restricciones en
el Captulo 8: Extras de Evolver). La imposicin de demasiadas
restricciones sobre lo que Evolver est probando puede impedir
que Evolver explore un rea de posibilidades que genere mejores
resultados. Recuerde que cunto ms tiempo deje a Evolver
explorar las posibilidades, ms probable ser encontrar la
solucin ptima. Para obtener ms ideas sobre cmo afinar
Evolver, consulte el Captulo 8: Extras de Evolver.
Cuantos ms escenarios pueda ejecutar Evolver, mejor. Acelere el
proceso de Evolver desactivando la opcin Cada reclculo de
actualizacin de pantalla.

Apndice B: Resolucin de problemas / Preguntas y respuestas

199

200

Apndice C: Recursos
adicionales
Recursos adicionales de aprendizaje
La siguiente lista incluye una muestra de documentacin relacionada
con los algoritmos genticos 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.
Apndice C: Recursos adicionales

201

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.
(Tambin 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.

Artculos
* 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.
Dobbs 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.
Hitchhickers 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.

202

Recursos adicionales de aprendizaje

Levitin, G and Rubinovitz, J (August, 1993). Genetic Algorithm for Linear


and Cyclic Assignment Problem. Computers & Operations Research v20
p.575
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 OBrien, 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 artculos 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

Introduccin a la simulacin
Si est dando sus primeros pasos en el mundo de las simulaciones, o
si desea conseguir ms informacin general sobre las tcnicas, los
siguientes libros y artculos sern de utilidad:
* Baird, Bruce F. Managerial Decisions Under Uncertainty: John Wiley & Sons,
Inc. 1989.
* Clemen, Robert T. Making Hard Decisions: Duxbury Press, 1990.
Apndice C: Recursos adicionales

203

Hertz, D.B. "Risk Analysis in Capital Investment": HBR Classic, Harvard


Business Review, September/October 1979, pp. 169-182.
Hertz, D.B. and Thomas, H. Risk Analysis and Its Applications: John Wiley
and Sons, New York, NY, 1983.
Megill, R.E. (Editor). Evaluating and Managing Risk: PennWell Books,
Tulsa, OK, 1984.
Megill, R.E. An Introduction to Risk Analysis, 2nd Ed.: PennWell Books,
Tulsa, OK, 1985.
Morgan, M. Granger and Henrion, Max, with a chapter by Mitchell Small,
Uncertainty: Cambridge University Press, 1990.
Newendorp, P.D. Decision Analysis for Petroleum Exploration: Petroleum
Publishing Company, Tulsa, Okla., 1975.
Raiffa, H. Decision Analysis: Addison-Wesley, Reading, Mass., 1968.

Obras de referencia tcnica sobre la simulacin y


las tcnicas Monte Carlo
Si quiere examinar ms en profundidad los principios de la
simulacin, las tcnicas de recogida de muestras y la teora estadstica,
los siguientes libros sern de utilidad:
Iman, R. L., Conover, W.J. "A Distribution-Free Approach To Inducing Rank
Correlation Among Input Variables": Commun. Statist.-Simula.
Computa.(1982) 11(3), 311-334
* Law, A.M. and Kelton, W.D. Simulation Modeling and Analysis: McGrawHill, New York, NY, 1991,1982.
Rubinstein, R.Y. Simulation and the Monte Carlo Method: John Wiley and
Sons, New York, NY, 1981.

Obras tcnicas de referencia sobre el mtodo de


toma de muestras Hipercuadro Latino
Si est interesado en informarse sobre la relativamente nueva tcnica
de toma de muestras denominada Hipercuadro o Hipercubo Latino
(Latin Hypercube), las siguientes fuentes sern de utilidad:
Iman, R.L., Davenport, J.M., and Zeigler, D.K. "Latin Hypercube Sampling
(A Program Users Guide)": Technical Report SAND79-1473, Sandia
Laboratories, Albuquerque (1980).
Iman, R.L. and Conover, W.J. "Risk Methodology for Geologic Displosal of
Radioactive Waste: A Distribution - Free Approach to Inducing
Correlations Among Input Variables for Simulation Studies": Technical
Report NUREG CR 0390, Sandia Laboratories, Albuquerque (1980).
204

Recursos adicionales de aprendizaje

McKay, M.D, Conover, W.J., and Beckman, R.J. "A Comparison of Three
Methods for Selecting Values of Input Variables in the Analysis of
Output from a Computer Code": Technometrics (1979) 211, 239-245.
Startzman, R. A. and Wattenbarger, R.A. "An Improved Computation
Procedure for Risk Analysis Problems With Unusual Probability
Functions": SPE Hydrocarbon Economics and Evaluation Symposium
Proceedings, Dallas (1985).

Apndice C: Recursos adicionales

205

Ejemplos y casos de estudio que usan simulacin


Si desea consultar estudios que demuestran el uso de la simulacin en
situaciones de la vida real, consulte las siguientes obras:
Hertz, D.B. and Thomas, H. Practical Risk Analysis - An Approach Through
Case Histories: John Wiley and Sons, New York, NY, 1984.
* Murtha, James A. Decisions Involving Uncertainty, An @RISK Tutorial for
the Petroleum Industry: James A. Murtha, Houston, Texas, 1993
Newendorp, P.D. Decision Analysis for Petroleum Exploration: Petroleum
Publishing Company, Tulsa, Okla., 1975.
Pouliquen, L.Y. Risk Analysis in Project Appraisal: World Bank Staff
Occasional Papers Number Eleven. John Hopkins Press, Baltimore, MD,
1970.
* Trippi, Robert R. and Truban, Efraim, Neural Networks: In Finance and
Investing: Probus Publishing Co., 1993

206

Recursos adicionales de aprendizaje

Glosario
Para obtener informacin adicional sobre cualquier trmino, consulte
el ndice de Evolver en el siguiente captulo.
Algoritmo

Mtodo de solucin por pasos de base matemtica para ciertos tipos


de problemas. Todos los programas informticos se desarrollan
mediante la combinacin de muchos algoritmos.

Algoritmo de
escalada

Procedimiento de optimizacin que comienza en un escenario


determinado y se mueve a pequeos pasos repetidamente en la
direccin que ms lo mejora. Los algoritmos de escalada son rpidos y
simples, pero tienen dos inconvenientes. Primero, puede ser necesario
mucho trabajo para encontrar la direccin que ofrece la mayor mejora.
Segundo, los algoritmos normalmente suben a la colina ms cercana,
o mximo local. Esto impide que el algoritmo encuentre el mximo
global en un problema difcil.

Algoritmo
gentico

Procedimiento para mejorar los resultados de algunas operaciones


mediante la prueba repetitiva de varias soluciones posibles y la
reproduccin y mezcla de componentes de las mejores soluciones. El
proceso es bsicamente similar y est inspirado en el proceso de
evolucin del mundo biolgico, 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 bsica de introduccin de datos. Dependiendo del tipo de


campo, un campo puede contener texto, imgenes o nmeros. La
mayora de los campos de los cuadros de dilogo de Evolver solicitan
al usuario la ubicacin de celdas de una hoja de clculo u opciones
sobre cmo debe funcionar Evolver.

Celda

Una celda es la unidad bsica de una hoja de clculo en la que se


almacenan datos. En cada hoja de clculo de Excel hay hasta 256
columnas y 16,000 filas, para un total de ms de 4 millones de celdas.

Celda ajustable

Una celda de hoja de clculo 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
nmero simple, y no una ecuacin.

Glosario

207

Celda objetivo

La celda de la hoja de clculo cuyo valor queremos minimizar o


maximizar. Esta celda se establece en el cuadro de dilogo Modelo de
Evolver (seleccionando el comando Definicin de Modelo de Evolver
o el icono Modelo).

Cruce

En un contexto de base gentica, un cruce es un intercambio de


material gentico equivalente al que se produce entre dos cromtidas
homlogas durante la meiosis. En Evolver, el trmino cruce se usa
para expresar el equivalente informtico de un cruce en el que se
produce un intercambio entre variables que genera nuevas
combinaciones de escenarios.

Cuadro de dilogo

Es la ventana de un PC en la que se solicita que el usuario introduzca


informacin. Tambin se denomina caja de dilogo. Evolver contiene
dos cuadros de dilogo principales: el cuadro de dilogo Modelo de
Evolver y el cuadro de dilogo Celdas Ajustables.

Desviacin

Desviacin es una medida del perfil de una distribucin. La


desviacin indica el grado de asimetra de una distribucin. Las
distribuciones desviadas tienen ms valores a un lado del punto alto,
o valor ms probable, que al otro. Adems, una de las colas o
extremos es ms larga que la otra. Una desviacin de 0 indica una
distribucin simtrica, mientras que una desviacin negativa indica
que la distribucin est desviada hacia la izquierda. Una desviacin
positiva significa una desviacin hacia la derecha.
Ver Kurtosis

Desviacin
estndar

La desviacin estndar es una medida que indica la dispersin de


valores de una distribucin. Es igual a la raz cuadrada de la varianza.
Ver Varianza

Determinada
(variable)

El trmino determinada indica que no hay incertidumbre asociada a


un determinado valor o variable.

Distribucin
acumulativa

Una distribucin acumulativa o funcin de distribucin acumulativa


es el conjunto de puntos cada uno de los cuales es igual a la integral
de una distribucin de probabilidad, comenzando en un valor
mnimo y terminando en el valor asociado de la variable aleatoria.
Vase Distribucin de frecuencia acumulativa o Distribucin de probabilidad

Distribucin
continua

Distribucin de probabilidad en la que se puede dar cualquier valor


entre un mnimo y un mximo (tiene probabilidad finita).
Vase Distribucin independiente

208

Recursos adicionales de aprendizaje

Distribucin de
frecuencia

Distribucin de frecuencia es el trmino que define las distribuciones


de probabilidad de salida y las distribuciones de histograma de
entrada (HISTOGRM) de Evolver. La distribucin de frecuencia se
construye con datos, mediante la ordenacin de valores en clases, y
representando la frecuencia de ocurrencia de cualquier clase con la
altura de la barra. La frecuencia de ocurrencia se corresponde con la
probabilidad.

Distribucin de
frecuencia
acumulativa

Distribucin de frecuencia acumulativa es el trmino que define las


distribuciones acumulativas de salida y de entrada de Evolver. La
distribucin acumulativa se construye acumulando la frecuencia
(aadiendo progresivamente la altura de las barras del grfico) en el
rango de una distribucin de frecuencia. Una distribucin
acumulativa puede tener una curva inclinada hacia arriba en la que
se describe la probabilidad de un valor menor o igual al valor de
cualquier variable. La distribucin acumulativa tambin puede tener
una curva inclinada hacia abajo en la que se describe la
probabilidad de un valor mayor o igual al valor de cualquier variable.
Vase Distribucin acumulativa

Distribucin de
probabilidad

Una distribucin de probabilidad o funcin de densidad de


probabilidad es el trmino estadstico apropiado para denominar una
distribucin de frecuencia construida a partir de un grupo de valores
inicialmente grande cuyo tamao de clase es infinitesimalmente
pequeo.
Ver Distribucin de frecuencia

Distribucin
discreta

Una distribucin de probabilidad en la que slo se pueden dar un


nmero finito de valores independientes entre un mnimo y un
mximo.
Vase Distribucin continua

Escenario

Grupo de valores de las variables de un modelo de una hoja de


clculo. Cada escenario frecuentemente representa una posible
solucin.

Estocstica

El trmino estocstica aplicado a una variable es sinnimo de


incertidumbre o riesgo.
Vase Riesgo o Determinada (variable)

Fenotipos

En biologa, es una caracterstica observable de un individuo que


surge mediante la interaccin 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 solucin
completa o cromosoma. (ver Genotipo)

Glosario

209

Funcin de
idoneidad

Es una frmula que puede calcular lo buena o lo mala que puede ser
una solucin propuesta a un problema dado. El trmino se usa
frecuentemente en el mundo del algoritmo gentico como una
analoga de la adaptacin en la seleccin biolgica. El diseo de una
funcin de idoneidad precisa es fundamental cuando se usa un
algoritmo gentico para resolver un problema. El resultado de la
simulacin de esta funcin de idoneidad se convierte en el objetivo o
valor objetivo a optimizar.

Funcin de
penalizacin

Una ecuacin de una hoja de clculo que Evolver puede usar para
penalizar escenarios que no cumplen ciertos criterios. Las funciones
de penalizacin se usan para minimizar efectos secundarios de los
escenarios o para alcanzar mltiples objetivos. A diferencia de las
restricciones duras, las funciones de penalizacin permiten la
exploracin de soluciones no vlidas, pero las empeora de forma que
la poblacin evolucione distancindose de esas soluciones. Las
penalizaciones booleanas pueden estar activas o inactivas,
penalizando todas las soluciones no vlidas en la misma medida. Las
penalizaciones de escala son ms fluidas y asignan una penalizacin
proporcional a lo mucho o lo poco que se incumple una restriccin.

Funciones

En Excel, una funcin es una frmula predefinida que toma un valor,


realiza una operacin y genera un valor. Excel contiene cientos de
frmulas incorporadas (como SUM) que ahorran tiempo y espacio,
y son ms rpidas. Por ejemplo, en lugar de escribir A1+ A2+ A3+
A4+ A5+ A6, puede escribir SUM(A1:A6) y obtener el mismo
resultado.

Generacin

En el campo de los algoritmos genticos, cada poblacin


completamente nueva de soluciones descendientes es una nueva
generacin. Algunas rutinas de algoritmo gentico emparejan a
todos los miembros de una poblacin a la vez, creando una
generacin totalmente nueva de organismos descendientes que
reemplaza a la poblacin anterior. Evolver evala y reemplaza un
organismo cada vez (ordenados en clasificacin) y por lo tanto no usa
el trmino generacin en su documentacin. Esta tcnica de estado
uniforme funciona tan bien como el reemplazo generacional.

Semilla de
generador de
nmero aleatorio

El generador de nmero aleatorio es un algoritmo que determina la


seleccin de nmeros aleatorios, normalmente en un rango entre 0 y
1. Estos nmeros aleatorios son equivalentes a tomar una muestra de
una distribucin uniforme con un mnimo de 0 y un mximo de 1.
Estos nmeros aleatorios son la base de otras operaciones que los
convierten en muestras tomadas de tipos de distribuciones
especficas.
Ver Muestra aleatoria

210

Recursos adicionales de aprendizaje

Genotipo

En biologa, es la constitucin gentica de un individuo. El trmino


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 evala como posible solucin al
problema.

Grupo de celdas
ajustables

Un grupo de celdas ajustables es un grupo de variables junto con la


forma en que se tratarn. Evolver incluye todos los grupos de celdas
ajustables en la seccin variables del cuadro de dilogo Modelo de
Evolver. Este tipo de arquitectura permite construir y describir
problemas complejos como varios grupos de celdas ajustables.

Hipercubo Latino

La toma de muestras de Hipercubo Latino es un mtodo


relativamente nuevo de recogida de muestras por estratificacin que
se utiliza en la modelacin por simulacin. Las tcnicas de toma de
muestras estratificadas, al contrario que las tcnicas del tipo Monte
Carlo, tienden a alcanzar la convergencia de una distribucin con
menos muestras.
Ver Monte Carlo

Iteracin

Una iteracin es un reclculo del modelo durante una simulacin.


Una simulacin consta de mltiples reclculos o iteraciones. En cada
iteracin se recogen muestras de todas las variables inciertas una sola
vez, siguiendo las respectivas distribuciones de probabilidad, y el
modelo se calcula de nuevo utilizando estos nuevos valores.
Tambin se denomina prueba de simulacin

Kurtosis

Kurtosis es una medida del perfil de una distribucin. La Kurtosis


indica lo plana o irregular que es una distribucin. Cuanto ms alto
sea el valor de la Kurtosis, ms irregular ser una distribucin.
Ver Desviacin

Mximo global

El valor ms grande posible de una funcin determinada. Las


funciones o modelos complejos pueden tener muchos valores
mximos locales, pero un solo mximo global.

Mximo local

El mayor valor posible de una funcin determinada dentro de un


rango de valores. El mximo local se encuentra en un grupo de
valores de variables de una funcin en el que un cambio ligero de
cualquier valor de las variables o de todas ellas produce un resultado
menor en la funcin. (Comparar con mximo global).

Media

La media de un grupo de valores es la suma de todos los valores del


grupo dividida entre el nmero total de valores. Sinnimo de valor
esperado

Glosario

211

Mtodo de
solucin

Evolver incluye seis de estos mtodos, cada uno de los cuales usa un
algoritmo personalizado para resolver un tipo especfico de problema.
Por cada conjunto de variables seleccionado en un problema, el
usuario debe asignar el mtodo de solucin que se debe usar con esas
variables. Los seis mtodos de solucin son: agrupamiento, orden,
receta, presupuesto, proyecto y calendarizacin.

Modelo

En este manual, un modelo es una representacin numrica, en Excel,


de una situacin del mundo real.

Monte Carlo

Monte Carlo hace referencia a una tcnica tradicional de toma de


muestras para variables aleatorias en los procesos de modelacin por
simulacin. Las muestras son seleccionadas de forma completamente
aleatoria para todo el rango de la distribucin, y por lo tanto se
requiere una gran cantidad de muestras para alcanzar la convergencia
en distribuciones altamente desviadas o de extremos alargados ( o
larga cola).
Ver Hipercubo Latino

Muestra aleatoria

Una muestra aleatoria es un valor que se ha seleccionado de una


distribucin de probabilidad que describe una variable aleatoria. Esta
muestra se recoge aleatoriamente segn un "algoritmo" de recogida
de muestras. La distribucin de frecuencia que se construye con un
gran nmero de muestras aleatorias generadas por dicho algoritmo se
aproximar a la distribucin de probabilidad para la que se dise el
algoritmo.

Mutacin

En el mundo biolgico, la mutacin de un gen es la fuente de


variacin necesaria para una seleccin natural selectiva. De la misma
forma, un algoritmo gentico utiliza tcnicas de mutacin para
mantener la diversidad en una poblacin de posibles escenarios.

Optimizacin

El proceso de encontrar valores de variables de forma que el resultado


de una funcin se pueda maximizar (obtener el mayor posible) o
minimizar (obtener el menor posible). La optimizacin mediante la
resolucin de una ecuacin se puede hacer fcilmente para cambiar
uniformemente funciones con pocas variables, pero resulta muy
difcil en muchos de los problemas del mundo real. Los problemas
difciles generalmente necesitan un mecanismo de bsqueda. Evolver
utiliza un mecanismo de bsqueda de optimizacin basado en un
algoritmo gentico.

Organismo

Un bloque de memoria de una poblacin que almacena una serie de


valores de variables (escenario).

212

Recursos adicionales de aprendizaje

Percentil

Un percentil es un incremento de los valores de un grupo de datos.


Los percentiles dividen los datos en 100 partes iguales, cada una de
las cuales contiene el uno por ciento de los valores totales. El percentil
60, por ejemplo, es el valor del grupo de datos que tiene el 60% de los
valores por debajo y el 40 % por encima.

Poblacin

El grupo entero de escenarios que Evolver conserva en memoria a


partir de los cuales se generan nuevos escenarios. Evolver mantiene
una poblacin de posibles soluciones para cada grupo de celdas
ajustables de un sistema.

Probabilidad

Probabilidad es una medida de las posibilidades de que ocurra un


valor o suceso. Se puede medir como frecuencia, a partir de los datos
de una simulacin, calculando el nmero de repeticiones de un valor
o suceso dividido entre el nmero total de sucesos. Este clculo
genera un valor entre 0 y 1 que luego se puede convertir en un
porcentaje multiplicndolo por 100.
Ver Distribucin de frecuencia o Distribucin de probabilidad

Programas
pequeos de
resolucin
(Baby Solver)

Programas de software simples que buscan las variables de entrada


que generan un resultado de salida deseado usando una combinacin
de tcnicas de programacin lineales, o algoritmos bsicos de
escalada. Los programas pequeos de resolucin hacen frecuentes
suposiciones y refinan sus respuestas para llegar a una solucin
local, en lugar de a una solucin global.

Pruebas

El proceso por el cual Evolver genera un valor para cada variable de


un problema para luego recalcular el escenario para su evaluacin.

Puntos altos

Puntos altos (o momentos altos) son las estadsticas de una


distribucin de probabilidad. El trmino por lo general hace
referencia a la desviacin y a la kurtosis, los puntos (o momentos)
tercero y cuarto respectivamente. Los puntos (o momentos) primero y
segundo son la media y la desviacin estndar respectivamente.
Vase Kurtosis, Media y Desviacin estndar

Rangos

En Evolver:

El usuario establece el rango, o el valor ms alto y ms 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
bsqueda de Evolver.
En Excel:

Un bloque de celdas contiguas de una hoja de clculo que se define


entre la celda superior izquierda y la celda inferior derecha (por
ejemplo, A5:C9 describe un rango de 15 celdas).
Glosario

213

Restricciones

Las restricciones son condiciones que conviene cumplir (restricciones


blandas) o que tienen que cumplirse (restricciones duras) para que un
escenario sea considerado vlido.

Restricciones
blandas

Cuando una restriccin no se tiene que cumplir necesariamente, se


pueden imponer como una restriccin blanda en lugar de dura. Esto
se hace especificando una funcin de penalizacin en Evolver o
aadiendo una funcin de penalizacin a la funcin de adaptacin de
la celda objetivo.
Frecuentemente, es mejor que las restricciones sean blandas en la
medida de lo posible. La razn es la siguiente: 1. Normalmente,
Evolver puede resolver ms rpidamente problemas con restricciones
blandas, y 2. Un modelo con restricciones blandas frecuentemente
encuentra una solucin muy buena que casi cumple las restricciones
blandas, lo cual puede tener ms valor que una solucin no tan buena
que cumple las restricciones duras.

Restricciones
duras

Una restriccin 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

Simulacin

Simulacin es una tcnica por la que un modelo, como puede ser una
hoja de clculo de Excel, se calcula repetidas veces con diferentes
valores de entrada con la intencin de obtener una representacin
completa de todos los escenarios posibles que pudieran darse en una
situacin incierta.

Solucin

Cualquier sistema contiene mltiples variables de entrada que


generan un resultado de salida. En Evolver, una solucin se refiere
a una de las posibles combinaciones de variables, ms que a la mejor
combinacin.

Supervivencia
de los mejor
adaptados

Es una idea que describe cmo los organismos mejor adaptados a un


entorno tienen ms posibilidades de vivir lo suficiente como para
reproducirse y transmitir sus genes a la siguiente generacin de la
poblacin.

Valor ms
probable

El valor ms probable o moda es el valor que se produce con ms


frecuencia en un grupo de valores. En los histogramas y en las
distribuciones de resultados, es el valor central de la clase o barra con
mayor probabilidad.

214

Recursos adicionales de aprendizaje

Variable
dependiente

Una variable dependiente es la que depende de algn modo de los


valores de otras variables del modelo. El valor de una variable
dependiente incierta se puede calcular con una ecuacin que est en
funcin de otras variables inciertas del modelo. La variable
dependiente se puede obtener de una distribucin basada en el
nmero aleatorio correlacionado con el nmero aleatorio utilizado
para extraer una muestra de variable independiente.
Vase Variable independiente

Variable
independiente

Una variable independiente es la que no depende en modo alguno de


los valores de otras variables del modelo. El valor de una variable
independiente incierta se determina con una toma de muestra de la
distribucin de probabilidad correspondiente. Esta muestra se extrae
sin considerar ninguna otra muestra aleatoria tomada para cualquier
otra variable del modelo.
Ver Variable dependiente

Glosario

215

216

Recursos adicionales de aprendizaje

ndice
A
actualizacin de pantalla
imagen
agrupamiento
mtodo de solucin
algoritmo, definicin
algoritmos genticos
Para qu se usan?
aadir restricciones
Aprendizaje de Evolver

37
65, 77, 107
151
16
117
10

B
barra de estado
basados en tablas, problemas
bases de datos

207
163
163

C
calendarizacin
mtodo de solucin
celda objetivo
celdas ajustables
combinatorios, problemas
condiciones de detencin
introduccin
condiciones de parada
Configuraciones de aplicacin, comando

61, 110
27, 100, 208
27, 101
15051, 15051
35
126
133

E
ejemplos
agente de bolsa
asignacin de presupuesto
asignacin de tareas
ndice

91
57
53
217

calendarizador de clases
cartera equilibrada
compras
equilibrio qumico
estaciones de energa
mezcla de carteras
orden alfabtico
panadera
problema del vendedor
rutas
segmentador de cdigos
seleccin de publicidad
trabajo en un taller
transformador
transporte
ubicacin de una torre de radio
vendedor
enteros
escalada
descrita
ejemplo
uso de Solver
especificaciones tcnicas
Evolver
Para qu se usa?
Qu es?
capacidad
cundo se debe usar
en comparacin con Solver
Observador
quitar
Tutorial
Excel Solver

61
77
85
59
83
81
51
55
87
69
65
49
73
93
95
75
87
103
153
161
162
157
191
16
13
15051
159
158
39, 137
7
10
157

F
funcin de idoneidad
funciones de penalizacin
ejemplos
explicacin
uso

23, 100
185
182
186

G
generaciones
por qu no se usan
218

191
Recursos adicionales de aprendizaje

grficos

39

L
Lame, archivo
lineales, problemas

10
161

M
meta de optimizacin
mtodo de reemplazo
Mtodo Simplex
mtodos de solucin
agrupamiento
calendarizacin
como restricciones
orden
presupuesto
proyecto
receta
minutos
Modelo, cuadro de dilogo
modelos continuos

27, 100
193
161
65, 77, 107
61, 110
180
53, 73, 87, 106
49, 57, 81, 83, 108
69, 109
51, 55, 59, 75, 85, 91, 93, 95, 106
126
26, 99
157

N
no lineales, problemas

161

O
Observador
operadores genticos
Operadores, pestaa
optimizacin
Qu es?
ejemplo
mtodos
orden
mtodo de solucin

39, 137
115
115
15
155
151
53, 73, 87, 106

P
paisaje de soluciones
Palisade Corporation
ndice

152
5
219

percentil
presupuesto
mtodo de solucin
problemas
basados en tablas
combinatorios
de mltiples objetivos
lineales
no lineales
progreso de grfico
imagen
Progreso, ventana
proyecto
mtodo de solucin

213
49, 57, 81, 83, 108
163
164
187
161
161
37
131
69, 109

Q
quitar Evolver

R
rapidez, mejora
receta
mtodo de solucin
regresin
reserva gentica
restricciones
blandas
duras
implementacin
rutina de seleccin
rutinas GRG

189
51, 55, 59, 75, 85, 91, 93, 95, 106
193
175
17779
118, 119, 182
118
193
191
157

S
solucin global
comparacin con solucin local
solucin local
comparacin con solucin global
Solver
en comparacin con Evolver
Solver de restricciones, comando

220

157
157
157
158
134

Recursos adicionales de aprendizaje

T
tasa de cruce
cmo se implementa
para qu sirve
tasa de mutacin
cmo se implementa
para qu sirve
tiempo de ejecucin de optimizacin, opciones
tutorial

140, 174
192
113
140
193
113
126
10

V
valores

ndice

103

221

También podría gustarte