SlideShare una empresa de Scribd logo
Guía para el uso de



                                 Evolver
                  Solver de algoritmo genético
                          para Microsoft Excel
                                                  Versión 5.7
                                            septiembre, 2010




Palisade Corporation
798 Cascadilla St.
Ithaca, NY USA 14850
+1-607-277-8000
+1-607-277-8001 (fax)
http://www.palisade.com (página Web)
sales@palisade.com (correo electrónico)
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, división de Tonka Corporation, y se
utiliza bajo licencia.
Índice

         Capítulo 1: Introducción                                                                            1 

         Introducción ........................................................................................3 

         Instrucciones para la instalación......................................................7 

         Capítulo 2: Información general                                                                   11 

         ¿Qué es Evolver? .............................................................................13 

         Capítulo 3: Evolver: Paso a paso                                                                  21 

         Introducción ......................................................................................23 

         Una visita por Evolver ......................................................................25 

         Capítulo 4: Ejemplos de aplicaciones                                                              45 

         Introducción ......................................................................................47 

         Selección de publicidad...................................................................49 

         Orden alfabético ...............................................................................51 

         Asignación de tareas........................................................................53 

         Panadería...........................................................................................55 

         Asignación de presupuesto.............................................................57 

         Equilibrio químico ............................................................................59 

         Programador de clases ....................................................................61 

         Segmentador de códigos.................................................................65 

         Dakota: Rutas con restricciones.....................................................69 

Índice                                                                                                             i
Programación del trabajo de un taller............................................ 73 

     Ubicación 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 

     Capítulo 5: Guía de referencia de Evolver                                                         97 

     Comando Definición de Modelo ..................................................... 99 

     Comando Configuraciones de optimización............................... 123 

     Comando Iniciar optimización ...................................................... 131 

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

     El Observador del Evolver ............................................................ 137 

     Capítulo 6: Optimización                                                                        149 

     Métodos de optimización .............................................................. 151 

     Excel Solver .................................................................................... 157 

     Tipos de problemas ....................................................................... 161 

     Capítulo 7: Algoritmos genéticos                                                                165 

     Introducción.................................................................................... 167 
ii
Historia.............................................................................................167 

         Un ejemplo biológico .....................................................................171 

         Un ejemplo digital...........................................................................173 

         Capítulo 8: Extras de Evolver                                                                     177 

         Cómo añadir restricciones ............................................................179 

         Mejora de la rapidez .......................................................................189 

         Cómo se implementa la optimización de Evolver .......................191 

         Apéndice A: Automatización de Evolver                                                             195 

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

         Resolución de problemas / Preguntas y respuestas ..................197 

         Apéndice C: Recursos adicionales                                                                  201 

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

         Glosario                                                                                          207 

         Índice                                                                                            217 




Índice                                                                                                               iii
iv
Capítulo 1: Introducción

                       Introducción ........................................................................................3
                           Antes de empezar .....................................................................................3
                           Lo que incluye el paquete.......................................................................3
                           Información sobre esta versión .............................................................3
                           El sistema operativo.................................................................................4
                           Cómo obtener ayuda................................................................................4
                                   Antes de llamar ...........................................................................4
                                   Cómo ponerse en contacto con Palisade.................................5
                                   Versión para estudiantes...........................................................6
                           Requisitos del sistema para Evolver.....................................................6
                       Instrucciones para la instalación......................................................7
                           Instrucciones generales de instalación.................................................7
                                  Cómo quitar Evolver de su PC .................................................7
                           Los programas de DecisionTools Suite................................................8
                           Configuración de los iconos y de los accesos directos
                           de Evolver ..................................................................................................8
                           Mensaje de advertencia de seguridad de macros al iniciar el
                           programa ....................................................................................................9
                           Información adicional de Evolver.......................................................10
                                  Archivo Léame de Evolver ......................................................10
                                  El Tutorial de Evolver ..............................................................10
                           Aprendizaje de Evolver.........................................................................10




Capítulo 1: Introducción                                                                                                                    1
2
Introducción
                     Evolver es el optimizador comercial basado en algoritmo genético
                     más rápido y avanzado que se ha ofrecido nunca. Evolver, mediante
                     la aplicación de potentes técnicas de optimización basadas en
                     algoritmo genético, puede hallar soluciones óptimas para problemas
                     que resultan "irresolubles" con optimizadores de resolución lineal y
                     no lineal estándar. Evolver se ofrece en dos versiones –Profesional e
                     Industrial– que le permiten seleccionar el optimizador con la
                     capacidad que usted necesita.
                     La Guía del Usuario de Evolver, que está leyendo ahora, ofrece una
                     introducción al programa Evolver y sus principios; y luego muestra
                     varias aplicaciones de ejemplo de la tecnología exclusiva de algoritmo
                     genético de Evolver. Este completo manual también se puede usar
                     como una guía de referencia con índice completo, con descripciones e
                     ilustraciones de cada una de las funciones de Evolver.

                     Antes de empezar
                     Antes de instalar y comenzar a trabajar con Evolver, asegúrese de que
                     su paquete de Evolver contiene todos los elementos necesarios, y
                     compruebe que su PC cumple los requisitos mínimos de uso.

                     Lo que incluye el paquete
                     Evolver se puede comprar independiente o como parte de las
                     versiones Profesional e Industrial de DecisionTools Suite. El CD-ROM
                     de Evolver contiene el programa complementario Evolver para Excel,
                     varios ejemplos de Evolver y un sistema de ayuda electrónico con
                     índice completo para Evolver. Las versiones Profesional e Industrial
                     de DecisionTools Suite contienen todo lo anterior, además de
                     aplicaciones adicionales.

                     Información sobre esta versión
                     Esta versión de Evolver se puede instalar como programa de 32-bit
                     para Microsoft Excel 2000 o posterior.




Capítulo 1: Introducción                                                                      3
El sistema operativo
                  Esta guía para el uso del programa está diseñada para usuarios que
                  tienen un conocimiento general del sistema operativo Windows y de
                  Excel. En particular, el usuario debe:
                      ♦   Estar familiarizado con el uso del PC y del ratón.
                      ♦   Estar familiarizado con términos como iconos, hacer clic, hacer doble
                          clic, menú, ventana, comando y objeto.
                      ♦   Comprender los conceptos básicos de estructura de directorios y
                          archivos.

                  Cómo obtener ayuda
                  Se ofrece asistencia técnica gratuita a todos los usuarios registrados de
                  Evolver con un plan actual de mantenimiento, o también se ofrece por
                  un precio por incidente. Para asegurar que usted es un usuario
                  registrado de Evolver, regístrese electrónicamente en
                  http://www.palisade.com/support/register.asp.
                  Si se pone en contacto con nosotros por teléfono, tenga a mano el
                  número de serie y la guía para el uso del programa. Le podremos
                  asistir mejor si se encuentra delante del PC en el momento de llamar.
Antes de llamar   Antes de ponerse en contacto con el servicio de asistencia técnica,
                  repase la siguiente lista:
                  •   ¿Ha consultado la ayuda electrónica?
                  •   ¿Ha consultado esta Guía del Usuario y revisado el tutorial multimedia
                      electrónico?
                  •   ¿Ha leído el archivo LEAME.WRI? Este archivo contiene información
                      actual referente a Evolver que puede no estar en la guía del programa.
                  •   ¿Puede reproducir el problema consistentemente? ¿Puede reproducir el
                      problema en otro PC o con otro modelo?
                  •   ¿Ha visitado nuestra página de World Wide Web? La dirección es
                      http://www.palisade.com. En nuestra página Web también podrá
                      encontrar las preguntas más frecuentes (una base de datos de preguntas
                      y respuestas sobre temas técnicos) y una serie de archivos de reparación
                      de Evolver en la sección de Asistencia técnica. Recomendamos que visite
                      nuestra página Web con regularidad para obtener información
                      actualizada sobre Evolver y sobre otros programas de Palisade.




4                                                                                  Introducción
Cómo ponerse         Palisade Corporation está abierto a sus preguntas, comentarios y
en contacto          sugerencias referentes a Evolver. Póngase en contacto con nuestro
con Palisade
                     personal de asistencia técnica siguiendo uno de estos métodos:
                     •     Envíe un correo electrónico a support@palisade.com.
                     •     Llame al teléfono +1-607-277-8000 los días laborables de 9:00 a.m. a
                           5:00 p.m., hora estándar del este de Estados Unidos. Para acceder al
                           servicio de asistencia técnica siga las indicaciones del sistema.
                     •     Envíe un fax al +1-607-277-8001
                     •     Envíe una carta a:
                           Technical Support
                           Palisade Corporation
                           798 Cascadilla St.
                           Ithaca, NY 14850
                           EE.UU.
                     Si quiere ponerse en contacto con Palisade en Europa.
                     •     Envíe correo electrónico a support@palisade-europe.com.
                     •     Llame al +44-1895 425050 (Reino Unido).
                     •     Envíe un fax al +44-1895 425051 (Reino Unido).
                     •     Envíe una carta postal a:
                           Palisade Europe
                           31 The Green
                           West Drayton
                           Middlesex
                           UB7 7PN
                           Reino Unido
                     Si quiere ponerse en contacto con Palisade en Asia-Pacífico.
                     •     Envíe correo electrónico a support@palisade.com.au.
                     •     Llame al +61 2 9252 5922  (Australia).
                     •     Envíe un fax al +61 2 9252 2820  (Australia).
                     •     Envíe una carta postal a:
                           Palisade Asia-Pacific Pty Limited
                           Suite 404, Level 4
                           20 Loftus Street
                           Sydney NSW 2000
                           Australia
                     Independientemente del método de contacto, mencione siempre el
                     nombre del producto, la versión y el número de serie. La versión
                     exacta se encuentra seleccionando el comando Acerca de… de la
                     Ayuda del menú de Evolver en Excel.
Capítulo 1: Introducción                                                                          5
Versión para   La versión para estudiantes de Evolver no incluye asistencia técnica
estudiantes    por teléfono. Si necesita ayuda, recomendamos las siguientes
               alternativas:
                   ♦   Consulte con su profesor o asistente.
                   ♦   Vaya a http://www.palisade.com y busque entre las respuestas a las
                       preguntas más frecuentes.
                   ♦   Póngase en contacto con nuestro departamento de asistencia técnica
                       enviando un fax o mensajes de correo electrónico.

               Requisitos del sistema para Evolver
               Los requisitos del sistema para usar Evolver son:
               •   PC Pentium o superior con disco duro.
               •   Microsoft Windows 2000 SP4 o superior.
               •   Microsoft Excel Versión 2000 o superior.




6                                                                             Introducción
Instrucciones para la instalación
                     Evolver es un programa de complemento para Microsoft Excel. Al
                     añadir comandos adicionales a las barras de menús de Excel, Evolver
                     mejora la funcionalidad del programa de hoja de cálculo.

                     Instrucciones generales de instalación
                     El programa de instalación copia los archivos del sistema de Evolver
                     en el directorio seleccionado del disco duro. Para ejecutar el programa
                     de instalación en Windows 2000 o superior:
                     1) Introduzca el CD-ROM de Evolver o el de la versión Profesional o
                        Industrial de DecisionTools Suite en la unidad de CD-ROM
                     2) Haga clic en el botón Inicio, luego en Configuración y luego en Panel de
                        control
                     3) Haga doble clic sobre el icono Agregar/Quitar programas
                     4) En la sección Instalar/Desinstalar, pulse el botón Instalar
                     5) Siga las instrucciones de instalación que aparecen en la pantalla
                     Si tiene algún problema instalando Evolver, compruebe que hay
                     espacio suficiente en el disco en el que va a instalar el programa. Si
                     falta espacio, libere el espacio de disco que sea necesario e intente
                     instalar el programa de nuevo.
Cómo quitar          Si desea quitar Evolver (o DecisionTools Suite) de su PC, utilice la
Evolver de su PC     función Agregar/Quitar programas del Panel de control y seleccione
                     el elemento Evolver o DecisionTools Suite.




Capítulo 1: Introducción                                                                           7
Los programas de DecisionTools Suite
    Evolver se puede usar con DecisionTools Suite, un juego de productos
    de análisis de riesgo y decisión que ofrece Palisade Corporation. El
    procedimiento de instalación predeterminado de Evolver coloca
    Evolver en un subdirectorio del directorio principal “Archivos de
    programasPalisade”. Algo similar ocurre con Excel, que
    normalmente se instala como un subdirectorio del directorio
    “Microsoft Office”.
    Uno de los subdirectorios del directorio Archivos de
    programasPalisade será el directorio de Evolver (denominado de
    forma predeterminada Evolver5). Este directorio contiene el archivo
    del programa de complemento Evolver (EVOLVER.XLA) además de
    modelos de ejemplo y otros archivos necesarios para el
    funcionamiento de Evolver. Otro de los subdirectorios de Archivos de
    programasPalisade es el directorio SYSTEM, que contiene archivos
    necesarios para todos los programas de DecisionTools Suite,
    incluyendo archivos comunes de ayuda y librerías de programas.

    Configuración de los iconos y de los accesos
    directos de Evolver
    En Windows, el programa de instalación crea automáticamente un
    comando Evolver en el menú Programas de la barra de tareas. Pero si
    tiene algún problema durante la instalación, o si desea hacerlo
    manualmente en otro momento, siga estas instrucciones:
    1) Haga clic en el botón Inicio y luego en Configuración.
    2) Haga clic en Barra de tareas y luego en la sección 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.




8                                               Instrucciones para la instalación
Mensaje de advertencia de seguridad de macros
                     al iniciar el programa
                     Microsoft Office proporciona varias configuraciones de seguridad (en
                     Herramientas>Macro>Seguridad) para evitar que se ejecuten macros
                     no deseados o maliciosos en los programas de Office. Cada vez que
                     intente cargar un archivo con macros aparecerá un mensaje de
                     advertencia, a menos que seleccione la configuración de seguridad
                     más baja. Para evitar que aparezca este mensaje cada vez que ejecute
                     un programa complementario de Palisade, Palisade identifica
                     digitalmente sus archivos de programas. Por lo tanto, cuando haya
                     especificado Palisade Corporation como fuente de datos segura,
                     podrá abrir cualquier programa auxiliar de Palisade sin que aparezca
                     el mensaje de advertencia. Para hacerlo:
                           •   Haga clic en Confiar siempre en los macros de esta fuente
                               cuando aparezca el cuadro de diálogo de Advertencia de
                               seguridad (como el de abajo) al iniciar Evolver.




Capítulo 1: Introducción                                                                    9
Información adicional de Evolver
                 Puede obtener información adicional sobre Evolver en los siguientes
                 lugares:
Archivo Léame    Este archivo contiene una breve resumen de Evolver, así como
de Evolver       cualquier noticia o información reciente sobre la última versión del
                 software. Puede leer el archivo Léame seleccionando Menú Inicio de
                 Windows / Programas/ Palisade DecisionTools/ Archivos Léame y
                 haciendo clic en Evolver 5.5 – Léame. Conviene leer este archivo antes
                 de usar Evolver.
El Tutorial de   El tutorial electrónico de Evolver ofrece a los que usan el programa
Evolver          por primera vez una introducción rápida a Evolver y los algoritmos
                 genéticos. La presentación sólo dura unos pocos minutos. Consulte la
                 sección Aprendizaje de Evolver más abajo para obtener información
                 sobre cómo acceder al tutorial.

                 Aprendizaje de Evolver
                 La forma más rápida de familiarizarse con Evolver es el tutorial
                 electrónico de Evolver, en el que nuestros expertos le guían a través
                 de los modelos de ejemplo en formato de película. Este tutorial es una
                 presentación multimedia sobre las funciones principales de Evolver.
                 El tutorial se puede ejecutar seleccionando el comando Tutorial
                 introductorio del menú Ayuda de Evolver.




10
Capítulo 2: Información general

                     ¿Qué es Evolver? .............................................................................13
                       ¿Cómo funciona Evolver? .....................................................................14
                              Algoritmos genéticos ...............................................................14
                       ¿Qué es optimización?...........................................................................15
                       ¿Para qué se crean modelos en Excel? ................................................16
                       ¿Para qué se usa Evolver? .....................................................................16
                              Se acabaron las suposiciones..................................................17
                              Más preciso y significativo .....................................................17
                              Más flexible ...............................................................................17
                              Más potente ...............................................................................18
                              Más fácil de usar .......................................................................18
                              Económico ..................................................................................19




Capítulo 2: Información general                                                                                            11
12
¿Qué es Evolver?
                     El software de Evolver proporciona a sus usuarios un método fácil de
                     encontrar soluciones óptimas a prácticamente cualquier tipo de
                     problema. En pocas palabras, Evolver encuentra las mejores variables
                     de entrada que generan el resultado deseado. Se puede usar Evolver
                     para hallar la combinación, orden o agrupamiento adecuados para
                     producir beneficios más altos, riesgos más bajos o la producción del
                     mayor número de productos con el uso de la menor cantidad posible
                     de material. El uso más frecuente de Evolver es como programa
                     complementario del programa de hoja de cálculo Microsoft Excel; los
                     usuarios crean un modelo de su problema en Excel y luego utilizan
                     Evolver para resolverlo.




                        Primero debe modelar el problema en Excel y luego describirlo en el programa de
                                                    complemento Evolver.


                     Excel ofrece todas las fórmulas, funciones, gráficos y capacidades de
                     macro que la mayoría de los usuarios necesitan para crear modelos
                     realistas de sus problemas. Evolver proporciona la interfaz necesaria
                     para describir 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
                     prácticamente cualquier problema que se pueda modelar.




Capítulo 2: Información general                                                                           13
¿Cómo funciona Evolver?
             Evolver utiliza un sistema de algoritmos genéticos exclusivo para
             buscar la solución óptima a un problema, así como distribuciones de
             probabilidad y simulaciones para gestionar la incertidumbre presente
             en el modelo.
Algoritmos   Los algoritmos genéticos se usan en Evolver para encontrar la mejor
genéticos    solución para su modelo. Los algoritmos genéticos imitan los
             principios darwinianos de selección natural mediante la creación de
             un entorno en el que cientos de posibles soluciones a un problema
             compiten unas con otras, y sólo la “mejor adaptada” sobrevive. Como
             sucede en la evolución biológica, cada solución puede transmitir sus
             mejores “genes” a través de soluciones “descendientes” de forma que
             toda la población de soluciones sigue evolucionando en soluciones
             mejores.
             Como ya se habrá dado cuenta, la terminología que se usa cuando se
             trabaja con algoritmos genéticos es similar a la de su fuente de
             inspiración. Hablamos de que las funciones de “cruce” ayudan a
             concentrar la búsqueda de soluciones, de que la tasa de las
             “mutaciones” contribuye a diversificar la “reserva genética” y de que
             evaluamos toda la “población” de soluciones u “organismos”. Para
             obtener más información sobre cómo funciona el algoritmo genético
             de Evolver, consulte el Capítulo 7 – Algoritmos genéticos.




14                                                                  ¿Qué es Evolver?
¿Qué es optimización?
                     Optimización es el proceso de búsqueda de la mejor solución a un
                     problema que puede tener muchas soluciones posibles. La mayoría de
                     los problemas tienen múltiples variables que interactúan según
                     fórmulas y restricciones establecidas. Por ejemplo, una compañía
                     puede tener tres centros de fabricación, cada uno de los cuales
                     produce diferentes cantidades de diversos productos. Dados los
                     costos de cada fábrica para producir cada producto, los costos de cada
                     planta para hacer los envíos a cada tienda y las limitaciones de cada
                     fábrica, ¿cuál es la forma óptima de satisfacer adecuadamente la
                     demanda de las tiendas locales minimizando al mismo tiempo los
                     costos de transporte? Este es el tipo de pregunta que los programas de
                     optimización pueden responder.




                                  La optimización supone la búsqueda de la combinación que
                                      genera lo máximo a partir de unos recursos dados.

                     En el ejemplo de arriba, cada una de las soluciones propuestas
                     consiste en una lista completa de los productos producidos, la fábrica
                     que los produce, el camión en el que se envían y la tienda a la que se
                     envían. Otros ejemplos de problemas de optimización consisten en
                     encontrar la forma de conseguir los mayores beneficios, los menores
                     costos, el mayor número de vidas salvadas, la menor cantidad de
                     ruido posible en un circuito, la ruta más corta entre dos ciudades o la
                     mezcla más eficaz de gastos en publicidad. Un subconjunto muy
                     importante de problemas de optimización está relacionado con la
                     programación, donde los objetivos pueden incluir la maximización de
                     la eficacia durante un turno de trabajo o la minimización de conflictos
                     de programación de grupos que se reúnen a diferentes horas. Para
                     obtener más información sobre la optimización, consulte el Capítulo 6
                     - Optimización.

Capítulo 2: Información general                                                                15
¿Para qué se crean modelos en Excel?
     Para aumentar la eficacia de cualquier sistema, primero debemos
     saber cómo funciona. Por eso creamos un modelo de trabajo del
     sistema. Los modelos son abstracciones necesarias a la hora de
     estudiar sistemas complejos, si bien para que los resultados sean
     aplicables al “mundo real”, el modelo no debe simplificar en exceso
     las relaciones causa-efecto entre las variables. Los programas de
     software mejorados y los PC cada vez más potentes permiten a los
     economistas crear modelos más realistas de la economía, a los
     científicos mejorar las predicciones de las reacciones químicas y a los
     profesionales de los negocios aumentar la sensibilidad de sus modelos
     corporativos.
     Durante los últimos años, el hardware de los PC y programas de
     software como Microsoft Excel, han avanzado tanto que
     prácticamente cualquier persona con un PC puede crear modelos
     realistas de sistemas complejos. Las funciones incorporadas a Excel,
     su capacidad para usar macros y su interfaz clara e intuitiva, permiten
     que hasta un principiante pueda modelar y analizar sofisticados
     problemas. Para obtener más información sobre la creación de
     modelos, consulte el Capítulo 9 – Extras de Evolver.

     ¿Para qué se usa Evolver?
     La tecnología exclusiva de Evolver permite a cualquiera que tenga un
     PC y Excel para Windows disfrutar de las ventajas de la optimización.
     Antes de Evolver, aquellos que querían aumentar la eficacia de
     procesos o buscar soluciones óptimas, tenía tres opciones: hacer
     suposiciones, usar software de poca potencia para la resolución de
     problemas, o contratar a un experto en optimización de la industria
     de la consultoría para diseñar y desarrollar software personalizado.
     Estas son algunas de las ventajas más importantes de Evolver:




16                                                          ¿Qué es Evolver?
Se acabaron las      Cuando se trata con un gran número de variables que interactúan, y
suposiciones         se trata de encontrar la mejor combinación, el orden adecuado o el
                     agrupamiento óptimo de esas variables, la tentación es simplemente
                     hacer una “suposición informada”. Una sorprendente cantidad de
                     personas asume que cualquier tipo de modelación y análisis más allá
                     de la simple suposición requiere un complicado proceso de
                     programación o el uso de confusos algoritmos estadísticos y
                     matemáticos. Una buena solución optimizada puede ahorrar millones
                     de dólares, miles de galones de precioso combustible, meses de
                     tiempo perdido, etc. Ahora que los potentes PC de escritorio son cada
                     vez más económicos, y software como Excel y Evolver están al alcance
                     de la mano, no hay razón para hacer suposiciones sobre una solución
                     o perder valioso tiempo haciendo pruebas en diferentes escenarios
                     manualmente.
Más preciso y        Evolver permite utilizar la gama completa de fórmulas de Excel e
significativo        incluso macros para crear modelos más realistas de un sistema.
                     Cuando se usa Evolver, no es necesario poner en peligro la precisión
                     del modelo porque el algoritmo que se está utilizando no puede
                     procesar las complejidades del mundo real. Los programas de
                     resolución “pequeños” tradicionales (herramientas de programación
                     estadística y lineal) obligan al usuario a hacer suposiciones sobre
                     cómo interactúan las variables de sus problemas, y por lo tanto les
                     obliga a crear modelos poco realistas simplificados en exceso. Cuando
                     el usuario simplifica el sistema lo suficiente como para poder usar
                     estos programas de resolución, la solución resultante es demasiado
                     abstracta como para que sea práctica. Cualquier problema que incluya
                     un gran número de variables, funciones no lineales, tablas de
                     referencia, secuencias si-entonces, consultas con bases de datos o
                     elementos estocásticos (aleatorios), no se puede resolver con estos
                     métodos, independientemente de lo simple que sea el diseño de su
                     modelo.
Más flexible         Hay muchos algoritmos de resolución que hacen un buen trabajo a la
                     hora de resolver problemas pequeños y simples de tipo lineal o no
                     lineal, como los de pasos ascendentes (hill-climbing), pequeños
                     programas de resolución (baby-solvers) y otros métodos matemáticos.
                     Incluso cuando se ofrecen en forma de programas complementarios
                     de hoja de cálculo, estas herramientas de optimización de uso general
                     sólo pueden realizar optimización numérica. Para problemas más
                     grandes o complejos se pueden crear algoritmos específicos
                     personalizados que ofrezcan buenos resultados, pero será necesario
                     hacer un gran esfuerzo de investigación y desarrollo. Incluso en esos
                     casos, el programa resultante requerirá modificaciones cada vez que
                     cambie el modelo.

Capítulo 2: Información general                                                          17
Evolver no sólo es capaz de tratar problemas numéricos, sino que es el
                    único programa comercial del mundo que puede resolver la mayoría
                    de los problemas combinatorios. Estos son problemas en los que las
                    variables deben barajarse (permutarse) o combinarse. Por ejemplo, la
                    selección del orden de bateo de un equipo de béisbol es un problema
                    combinatorio; es cuestión de intercambiar las posiciones de los
                    jugadores en la lista. Los problemas de programación complejos
                    también son combinatorios. El mismo programa Evolver puede
                    resolver todos estos tipos de problemas y muchos más, algo que
                    ningún otro puede resolver. La tecnología de algoritmo genético
                    exclusiva de Evolver permite optimizar prácticamente cualquier tipo
                    de modelo, de cualquier tamaño y nivel de complejidad.
Más potente         Evolver encuentra mejores soluciones. La mayoría de los programas
                    derivan las soluciones óptimas de forma matemática y sistemática.
                    Con frecuencia, estos métodos se limitan a tomar una solución
                    existente y buscar una respuesta cercana mejor. Esta solución “local”
                    puede estar muy lejos de ser la solución óptima. Evolver toma
                    muestras de forma inteligente de todo el espectro de posibilidades, lo
                    cual resulta en una solución “global” mucho mejor.
Más fácil de usar   A pesar de las ventajas más obvias de potencia y flexibilidad que
                    ofrece, Evolver sigue siendo fácil de usar porque no es en absoluto
                    necesario comprender las complejas técnicas de algoritmos genéticos
                    que utiliza. Evolver no se preocupa de las “entrañas” del problema;
                    sólo necesita un modelo en hoja de cálculo que permite evaluar la
                    idoneidad de los diferentes escenarios. Sólo tiene que seleccionar las
                    celdas de la hoja de cálculo que contienen las variables e indicar a
                    Evolver lo que usted busca. Evolver oculta de forma inteligente la
                    compleja tecnología, automatizando el proceso “Y si ...” de análisis
                    del problema.
                    Aunque se han creado muchos programas comerciales para
                    programación matemática y creación de modelos, las hojas de cálculo
                    son las más populare, con literalmente millones de ventas mensuales.
                    Con su formato intuitivo de filas y columnas, las hojas de cálculo son
                    más fáciles de configurar y mantener que otros programas
                    especializados. También son más compatibles con otros programas
                    como procesadores de texto o bases de datos, y ofrecen más fórmulas,
                    opciones de formato, gráficos y capacidades de macro que cualquier
                    otro software de uso independiente. Como Evolver es un programa
                    complementario para Microsoft Excel, los usuarios pueden acceder a
                    la gama completa de funciones y herramientas de programación para
                    crear más fácilmente modelos más realistas de sus sistemas.


18                                                                          ¿Qué es Evolver?
Económico            Muchas compañías contratan consultores de formación para ofrecer
                     sistemas de optimización personalizados. Esos sistemas normalmente
                     funcionan muy bien, pero pueden requerir meses y grandes
                     inversiones de desarrollo e implementación. Estos sistemas son
                     también difíciles de aprender y por lo tanto requieren costosa
                     formación y mantenimiento constante. Si resulta necesario modificar
                     el sistema, puede que tenga que desarrollar un algoritmo totalmente
                     nuevo para encontrar las soluciones óptimas. Por una inversión
                     considerablemente menor, Evolver suministra los algoritmos
                     genéticos más potentes y permite generar soluciones rápidas y
                     precisas para una amplia variedad de problemas. Y como funciona se
                     usa en un entorno intuitivo y familiar, no hay prácticamente gastos de
                     formación y mantenimiento.
                     Puede incluso añadir la potencia de optimización de Evolver a sus
                     propios programas personalizados. En sólo unos días podrá usar
                     Visual Basic para crear sus propios sistemas de programación,
                     distribución, fabricación o administración financiera. Consulte el
                     Juego de Desarrollo de Evolver para obtener información detallada
                     sobre la programación de aplicaciones basadas en Evolver.




Capítulo 2: Información general                                                           19
20
Capítulo 3: Evolver: Paso a
paso

                     Introducción ......................................................................................23

                     Una visita por Evolver ......................................................................25
                       Inicio de Evolver.....................................................................................25
                               La barra de herramientas de Evolver ....................................25
                               Cómo abrir un modelo de ejemplo........................................25
                       El cuadro de diálogo Modelo de Evolver...........................................26
                       Selección de la celda objetivo ..............................................................27
                       Cómo añadir rangos de celda ajustables............................................27
                               Selección de un método de solución.....................................30
                       Restricciones ...........................................................................................31
                               Cómo añadir restricciones.......................................................32
                               Restricciones de rango simple de valores y de fórmula ....32
                       Otras opciones de Evolver ....................................................................35
                               Condiciones de detención.......................................................35
                               Opciones de visualización ......................................................37
                       Ejecución de la optimización ...............................................................38
                               El Observador del Evolver ......................................................39
                               Cómo parar la optimización ...................................................40
                               Informe de resumen .................................................................41
                               Colocación de los resultados en el modelo ..........................42




Capítulo 3: Evolver: Paso a paso                                                                                                 21
22
Introducción
                     En este capítulo le guiaremos a través de todo el sistema de
                     optimización de Evolver, paso a paso. Si no tiene Evolver instalado en
                     el disco duro, consulte la sección de instalación del Capítulo 1:
                     Introducción e instale Evolver antes de comenzar con este tutorial.
                     Comenzaremos por abrir un modelo de hoja de cálculo preparada y
                     luego definiremos el problema para Evolver usando distribuciones de
                     probabilidad y los cuadros de diálogo de Evolver. Finalmente,
                     comprobaremos el progreso de Evolver mientras busca soluciones y
                     exploraremos algunas de las muchas opciones en el Observador del
                     Evolver. Para obtener información adicional sobre cualquier tema
                     específico, consulte el índice al final de este manual, o consulte el
                     Capítulo 5: Referencia de Evolver.
                     NOTA: Las imágenes de pantallas que se muestran a continuación
                     son de Excel 2007. Si está utilizando otras versiones de Excel, las
                     ventanas pueden tener un aspecto ligeramente diferente.
                     El proceso de resolución de problemas comienza con un modelo que
                     representa con exactitud su problema. El modelo debe ser capaz de
                     evaluar una serie determinada de valores de entrada (celdas
                     ajustables) y producir una clasificación numérica de lo bien que esos
                     valores de entrada resuelven el problema (la evaluación o
                     “idoneidad” de la función). Cuando Evolver busca soluciones, esta
                     función de idoneidad proporciona información, indicando a Evolver
                     lo idónea o inapropiada que es cada suposición, y permitiendo a
                     Evolver generar cada vez mejores suposiciones. Cuando se crea un
                     modelo de un problema, se debe prestar especial atención a la función
                     de idoneidad, porque Evolver hará todo lo posible para maximizar (o
                     minimizar) esta celda.




Capítulo 3: Evolver: Paso a paso                                                              23
24   Introducción
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 métodos sirve para iniciar tanto Microsoft Excel como
                     Evolver.
La barra de          Cuando se carga Evolver, en Excel aparece una nueva cinta o barra de
herramientas de      herramientas de Evolver. Esta barra de herramientas contiene botones
Evolver
                     que se pueden usar para especificar configuraciones de Evolver e
                     iniciar, pausar o parar las optimizaciones.




Cómo abrir un        Para repasar las características de Evolver, vamos a examinar un
modelo de            modelo de ejemplo que se instaló con Evolver. Para hacerlo:
ejemplo
                     1) Abra la hoja de trabajo Panadería ‐ Práctica de Tutorial.XLS a
                        través del comando Hojas de cálculo de ejemplo del menú Ayuda.




Capítulo 3: Evolver: Paso a paso                                                              25
Esta hoja de cálculo de ejemplo contiene un sencillo problema de
     maximización de beneficios de un negocio de panadería. La panadería
     produce 6 productos de pan. Usted es el gerente de la panadería y
     hace un seguimiento de los ingresos, costos y beneficios de
     producción. Quiere determinar el número de cajas de cada tipo de
     pan que se deben producir para maximizar los beneficios totales y al
     mismo tiempo cumplir las normas de límite de producción. Las
     normas son: 1) cumplir la cuota de producción de pan bajo en calorías, 2)
     mantener una relación aceptable de alto contenido de fibra y bajas calorías, 3)
     mantener una relación aceptable de productos de 5 granos y bajas calorías, y
     4) mantener el tiempo de producción dentro de los límites de horas por
     persona.

     El cuadro de diálogo Modelo de Evolver
     Para establecer las opciones de Evolver para esta hoja de cálculo:
     1) Haga clic en el icono Definición de modelo en la barra de
        herramientas de Evolver (la situada en el extremo izquierdo).
     Se abrirá el siguiente cuadro de diálogo Modelo de Evolver:




     El cuadro de diálogo Modelo de Evolver ha sido diseñado para que
     los usuarios puedan describir sus problemas de una forma sencilla y
     clara. En el ejemplo de este tutorial estamos tratando de encontrar el
     número de cajas que se deben producir de cada producto de pan
     diferente para maximizar los beneficios totales en general.

26                                                            Una visita por Evolver
Selección de la celda objetivo
                     El "Beneficio total" del modelo de ejemplo es lo que se conoce como
                     celda objetivo. Esta es la celda cuyo valor trata de minimizar o
                     maximizar, o la celda cuyo valor trata de acercar lo más posible al
                     valor preestablecido. Para especificar la celda objetivo:
                     1) Establezca la opción “Meta de optimización” en “Máximo”.
                     2) Introduzca la celda objetivo $I$11 en el campo “Celda”.
                     Las referencias de celda se pueden introducir en los campos del
                     cuadro de diálogo de Evolver de dos formas: 1) puede hacer clic en el
                     campo con el cursor y escribir la referencia directamente en el campo,
                     o 2) con el cursor en el campo seleccionado, puede hacer clic en el
                     icono Referencia de celda para seleccionar la celda de la hoja de
                     cálculo directamente con el ratón.

                     Cómo añadir rangos de celda ajustables
                     Ahora debe especificar la ubicación de las celdas que contienen
                     valores que Evolver puede modificar para buscar soluciones. Estas
                     variables se añaden y editan de bloque en bloque a través de la
                     sección Rangos de celda ajustables del cuadro de diálogo Modelo. El
                     número de celdas que se pueden introducir en Rangos de celda
                     ajustables depende de la versión de Evolver que esté usando.
                     1) Haga clic en el botón “Añadir” de la sección "Rangos de celda
                        ajustables".
                     2) Seleccione $C$4:$G$4 como las celdas de Excel que quiere añadir
                        como rango de celdas ajustables.




Capítulo 3: Evolver: Paso a paso                                                              27
Introducción de    La mayoría de las veces será conveniente limitar los valores posibles
un rango mín-máx   de un rango de celdas ajustables con un rango mínimo-máximo
como celdas
ajustables
                   específico. En Evolver esto se conoce como restricción de "rango".
                   Puede introducir rápidamente este rango mín-máx cuando seleccione
                   la serie de celdas que se pueden modificar. En el ejemplo de la
                   panadería, el valor mínimo de cajas producidas de cada tipo de
                   producto de pan para este rango es 0, y el máximo es 100,000. Para
                   introducir esta restricción de rango:
                   1) Introduzca 0 en la celda Mínimo y 100,000 en la celda Máximo.
                   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 Añadir para introducir una segunda celda ajustable.
                     2) Seleccione la celda B4.
                     3) Introduzca 20,000 como Mínimo y 100,000 como Máximo.




                     Así se especifica la última celda ajustable, B4, que contiene el nivel de
                     producción de pan bajo en calorías.
                     Si hubiera variables adicionales en este problema, seguiríamos
                     añadiendo series de celdas ajustables. En Evolver, puede crear un
                     número ilimitado de grupos de celdas ajustables. Para añadir más
                     celdas, haga clic en el botón “Añadir” de nuevo.
                     Es posible que quiera comprobar las celdas ajustables o cambiar
                     algunas de sus configuraciones más adelante. Para hacerlo, sólo
                     tendrá que editar el rango mín-máx en la tabla. También podrá
                     seleccionar una serie de celdas y eliminarla haciendo clic en el botón
                     “Eliminar”.




Capítulo 3: Evolver: Paso a paso                                                                 29
Selección de   Cuando defina celdas ajustables, podrá especificar el método de
un método      solución que se debe usar. Tipos de celdas ajustables diferentes
de solución
               pueden ser resueltos con diferentes métodos de solución. Los
               métodos de solución se establecen para cada grupo de celdas
               ajustables y se pueden modificar haciendo clic en el botón “Grupo”
               para abrir el cuadro de diálogo Configuraciones de grupos de celdas
               ajustables. Muchas veces podrá usar el método de solución de
               “receta” predeterminado en el que cada valor de las celdas se puede
               cambiar independientemente de las demás. Como este es el método
               predeterminado, no es necesario que lo cambie.




               Los métodos de solución de “receta” y “orden” son los más populares
               y se pueden usar juntos para resolver problemas combinatorios
               complejos. Específicamente, el método de solución de “receta” trata
               cada variable como un ingrediente de una receta, tratando de
               averiguar la “mejor mezcla” cambiando cada uno de los valores de las
               variables independientemente. Por su parte, el método de solución de
               “orden” intercambia valores entre variables, barajando los valores
               originales para encontrar el “mejor orden” posible.
               En este modelo, deje el Método de solución en Receta y simplemente:
               ♦   Introduzca la etiqueta "Cajas producidas" en el campo
                   Descripción.




30                                                              Una visita por Evolver
Restricciones
                     Evolver permite introducir restricciones, que son condiciones que
                     deben cumplirse para que una solución sea válida. En este modelo de
                     ejemplo hay tres restricciones adicionales que deben cumplirse para
                     que sea válida una serie de niveles de producción de cada producto
                     de pan. Estas restricciones son adicionales a las restricciones de
                     rangos que ya introdujimos en las celdas ajustables. Son las
                     siguientes:
                     1) Mantener una relación aceptable de pan de alto contenido en
                        fibra y pan bajo en calorías (cajas producidas de pan de alto
                        contenido en fibra >= 1.5 * cajas producidas de pan bajo en
                        calorías)
                     2) Mantener una relación aceptable de pan de 5 granos y pan bajo
                        en calorías (cajas producidas de pan de 5 granos >= 1.5 * cajas
                        producidas de pan bajo en calorías)
                     3) Mantener el tiempo de producción dentro de los límites de
                        horas por persona (total de horas por persona < 50,000)
                     Cada vez que Evolver genere una solución posible del modelo,
                     comprueba que las restricciones introducidas se cumplen.
                     Las restricciones se muestran en la parte inferior de la sección
                     Restricciones del cuadro de diálogo de Modelo de Evolver. Se pueden
                     especificar dos tipos de restricciones en Evolver:
                     ♦   Duras. Son condiciones que deben cumplirse para que una
                         solución sea válida (por ejemplo, una restricción dura de iteración
                         puede ser C10<=A4; en este caso, si una solución genera un valor
                         para C10 que es superior al valor de la celda A4, la solución se
                         descarta)
                     ♦   Blandas. Son condiciones que nos gustaría que se cumplieran en
                         la medida de lo posible, pero que podríamos ceder a cambio de
                         una gran mejora de la idoneidad o del resultado de la celda
                         objetivo. (por ejemplo, una restricción blanda sería C10<100. En
                         este caso, C10 puede ser superior a 100, pero cuando eso sucede el
                         valor calculado de la celda objetivo se reducirá en la misma
                         medida según la función de penalización que haya introducido).




Capítulo 3: Evolver: Paso a paso                                                               31
Cómo añadir        Para añadir restricciones:
restricciones
                   1) Haga clic en el botón Añadir de la sección Restricciones del
                      cuadro diálogo principal de Evolver.
                   Se abrirá el cuadro de diálogo Configuraciones de restricciones en el
                   que podrá introducir las restricciones del modelo.




Restricciones de   Se pueden usar dos formatos –Simple y Fórmula – para introducir
rango simple de    restricciones. El formato de rango simple de valores permite
valores y de
fórmula
                   introducir restricciones usando las relaciones simples <,<=, >, >= o =.
                   Una restricción típica de rango simple de valores sería 0< Valor de
                   A1<10, donde A1 se introduce en el cuadro Rango de celda, 0 se
                   introduce en el cuadro Mín y 10 se introduce en el cuadro Máx. El
                   operador deseado se selecciona en los cuadros de lista desplegable. En
                   las restricciones con formato de rango simple de valores se puede
                   introducir sólo un valor Mín, sólo un valor Máx o ambos.
                   Por otro lado, las restricciones con formato de fórmula permiten
                   introducir cualquier fórmula válida de Excel como una restricción,
                   como puede ser A19<(1.2*E7)+E8. En cada solución posible, Evolver
                   verifica si la fórmula introducida genera un valor VERDADERO o
                   FALSO para comprobar si la restricción se ha cumplido. Si desea
                   utilizar una restricción de fórmula booleana en la hoja de cálculo,
                   simplemente haga referencia a esa celda en el campo Fórmula del
                   cuadro de diálogo Configuraciones de restricción.




32                                                                    Una visita por Evolver
Para introducir las restricciones del modelo de la panadería, deberá
                     especificar tres nuevas restricciones duras. Estas son restricciones
                     duras ya que las condiciones introducidas deben cumplirse para que
                     Evolver no descarte la solución generada. Primero, introduzca las
                     restricciones duras con formato de Rango simple de valores:
                     1) Introduzca "Total de horas trabajadas aceptable" en el cuadro de
                        descripción.
                     2) En el cuadro Rango a restringir, introduzca I8.
                     3) Seleccione el operador <= a la derecha de Rango a restringir.
                     4) Introduzca 50,000 en el cuadro Máximo.
                     5) Borre el valor predeterminado de 0 en el cuadro Mínimo.
                     6) A la izquierda de Rango a restringir, borre el operador
                        seleccionando la opción en blanco de la lista desplegable
                     7) Haga clic en Aceptar para introducir la restricción.




Capítulo 3: Evolver: Paso a paso                                                            33
Ahora vamos a introducir las restricciones duras con formato de
     fórmula:
     1) Haga clic en Añadir para abrir de nuevo el cuadro de diálogo
        Configuraciones de restricción.
     2) Introduzca "Relación aceptable de alto contenido en fibra y bajo
        en calorías" en el cuadro de descripción.
     3) En el cuadro Estilo de entrada, seleccione Fórmula.
     4) En el cuadro Fórmula de restricción, introduzca C4>= 1.5*B4.
     5) Haga clic en Aceptar.
     6) Haga clic en Añadir para abrir de nuevo el cuadro de diálogo
        Configuraciones de restricción.
     7) Introduzca "Relación aceptable de 5 granos y bajo en calorías" en
        el cuadro de descripción.
     8) En el cuadro Estilo de entrada, seleccione Fórmula.
     9) En el cuadro Fórmula de restricción, introduzca D4>= 1.5*B4.
     10) Haga clic en Aceptar
     El cuadro de diálogo Modelo con la sección de restricciones completa
     debe quedar así.




34                                                    Una visita por Evolver
Otras opciones de Evolver
                     Se ofrecen opciones como Actualizar la pantalla, Semilla de número
                     aleatorio o Condiciones de detención de optimización para controlar como
                     opera Evolver durante una optimización. Especifiquemos algunas
                     condiciones de detención y configuraciones de actualización de
                     pantalla.
Condiciones de       Evolver sigue funcionando tanto tiempo como usted desee. La
detención            condiciones de detención permiten que Evolver pare
                     automáticamente cuando: a) se han examinado un número determinado de
                     escenarios o “pruebas”, b) ha transcurrido una cantidad de tiempo, c) no se
                     ha encontrado mejora alguna en los últimos n escenarios, o d) la fórmula
                     introducida en Excel genera un valor VERDADERO. Para ver y editar las
                     condiciones de detención:
                     1) Haga clic en el icono Configuraciones de optimización de la barra
                        de herramientas de Evolver.
                     2) Seleccione la pestaña de Tiempo de ejecución.




Capítulo 3: Evolver: Paso a paso                                                                35
En el cuadro de diálogo Configuraciones de optimización se puede
     seleccionar cualquier combinación de estas condiciones de detención
     de optimización, o ninguna en absoluto. Si selecciona más de una
     condición de detención, Evolver parará cuando se cumpla cualquiera
     de las condiciones seleccionadas. Si no selecciona ninguna condición
     de detención, Evolver seguirá funcionando indefinidamente, hasta
     que se pare manualmente pulsando el botón “parar” en la barra de
     herramientas de Evolver.

          Pruebas               Minutos              Cambio en la           La fórmula es
                                                       última                verdadera
     Esta opción           Evolver parará         Esta condición de      Evolver se detiene si
     establece el número   después de una         detención es la más    la fórmula
     de “pruebas” que      cantidad de tiempo     popular porque se      introducida en Excel
     quiere que Evolver    especificada. Este     hace un seguimiento    genera un valor de
     ejecute. En cada      número puede ser       de la mejora y         VERDADERO en
     prueba, Evolver       una fracción (4.25).   permite que Evolver    uno de los
     evalúa una serie                             siga en                recálculos del
     completa de                                  funcionamiento         modelo.
     variables, o una                             hasta que el grado
     posible solución al                          de mejora se
     problema.                                    reduzca. Por
                                                  ejemplo, Evolver
                                                  puede parar si
                                                  pasan 100 pruebas y
                                                  sigue sin producirse
                                                  ningún cambio en el
                                                  mejor escenario
                                                  encontrado hasta el
                                                  momento.

     ♦   Desactive todas las condiciones de detención para que Evolver
         funcione libremente.




36                                                                  Una visita por Evolver
Opciones de          Mientras Evolver está funcionando, hay una serie de opciones
visualización        disponibles en la sección Visualizar para determinar lo que aparecerá
                     en la pantalla.




                     Las opciones Durante la optimización son:

                            Cada prueba             Cada mejor nueva prueba                 Nunca
                     Esta opción actualiza la       Esta opción actualiza la      Esta opción nunca actualiza
                     pantalla después de cada       pantalla cada vez que         la pantalla durante la
                     cálculo y permite ver cómo     Evolver genere una nueva      optimización. De esta
                     Evolver ajusta las variables   respuesta mejorada, lo cual   forma se pueden ejecutar
                     y calcula los resultados. Se   permite ver la solución       las optimizaciones de la
                     recomienda activar esta        óptima actual en cualquier    forma más rápida posible,
                     opción mientras esté           momento durante la            pero no se ofrece
                     aprendiendo a usar             optimización.                 información sobre los
                     Evolver, y también cada                                      resultados calculados
                     vez que use Evolver en un                                    durante la ejecución.
                     nuevo modelo, para
                     comprobar que su modelo
                     se está calculando
                     correctamente.

                     ♦    Active la opción “Cada prueba”




Capítulo 3: Evolver: Paso a paso                                                                            37
Ejecución de la optimización
     Ahora sólo queda optimizar este modelo para maximizar los
     beneficios totales cumpliendo al mismo tiempo las normas de límite
     de producción. Para hacerlo:
     1) Haga clic en Aceptar para salir del cuadro de diálogo
        Configuraciones de optimización.
     2) Haga clic en el icono Iniciar optimización
     Cuando Evolver comience a trabajar con el problema, usted verá los
     mejores valores actuales de las celdas ajustables –Cajas producidas- de
     la hoja de cálculo. El mejor valor de Beneficios totales se muestra en la
     celda resaltada.




     Durante la ejecución, la ventana Progreso muestra: 1) la mejor
     solución encontrada hasta el momento, 2) el valor original de la celda
     objetivo cuando comenzó la optimización de Evolver, 3) el número de
     pruebas que se han ejecutado y el número de pruebas válidas; es
     decir, que cumplen todas las restricciones; y 4) el tiempo transcurrido
     de la optimización.
     En cualquier momento durante la ejecución puede hacer clic en el
     icono Opciones de actualización de Excel para ver una actualización
     en vivo de la pantalla en cada prueba.




38                                                         Una visita por Evolver
Observador           Evolver también puede mostrar un registro de ejecución de las
de Evolver           simulaciones realizadas de cada solución 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
                     ejecución de las simulaciones realizadas:
                     1) Haga clic en el icono del Observador (el de la lupa) en la ventana
                        de Progreso para abrir el Observador del Evolver
                     2) Haga clic en la pestaña Bitácora.




                     En este informe aparecen los resultados de la simulación de cada
                     solución de prueba. La columna Resultado muestra el valor de la celda
                     objetivo que se está tratando de maximizar o minimizar por cada
                     prueba: en este caso los Beneficios totales de $I$11. Las columnas de
                     C4 a G4 identifican los valores usados en las celdas ajustables.




Capítulo 3: Evolver: Paso a paso                                                             39
Cómo parar la   Después de cinco minutos, Evolver parará la optimización. También
optimización    se puede parar la optimización:
                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 pestaña
                Opciones de detención que ofrece las siguientes opciones:




                Estas mismas opciones aparecen automáticamente cuando se cumple
                cualquiera de las condiciones de detención establecidas en el cuadro
                de diálogo Configuraciones de optimización de Evolver.




40                                                                Una visita por Evolver
Informe de           Evolver puede crear un informe de resumen de la optimización que
resumen              contiene información como la fecha y la hora de la ejecución, las
                     configuraciones de optimización utilizadas, el valor calculado para la
                     celda objetivo y el valor de cada una de las celdas ajustables.




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


Capítulo 3: Evolver: Paso a paso                                                              41
Colocación de los   Para colocar en la hoja de trabajo la nueva combinación optimizada de
resultados en el    niveles de producción de panadería de cada uno de los seis tipos de
modelo
                    pan:
                    1) Haga clic en el botón “Parar”.
                    2) Asegúrese de que la opción "Actualizar los valores de celdas
                       ajustables del libro de trabajo con" está establecida en “Mejor”
                    El programa regresará a la hoja de cálculo Panadería - Práctica De
                    Tutorial.xls, con todos los nuevos valores de las variables generados
                    en la mejor solución.




                    NOTA IMPORTANTE: Aunque en nuestro ejemplo se ve que Evolver
                    encontró una solución que generaba beneficios totales de 3,940,486, su
                    resultado puede ser superior o inferior a este. Estas diferencias se
                    deben a una importante distinción entre Evolver y los demás
                    algoritmos de solución de problemas: es la naturaleza aleatoria del
                    sistema del algoritmo genético de Evolver lo que le permite resolver
                    una variedad más amplia de problemas y encontrar mejores
                    soluciones.




42                                                                     Una visita por Evolver
Cuando guarde cualquier hoja de cálculo después de que Evolver
                     haya terminado su ejecución (incluso aunque “restaure” los valores
                     originales de la hoja de cálculo después de usar Evolver), todas las
                     configuraciones de Evolver de los cuadros de diálogo de Evolver se
                     guardarán con esa hoja. La próxima vez que abra la hoja, todas las
                     configuraciones más recientes de Evolver se cargarán
                     automáticamente. Todas las demás hojas de cálculo de ejemplo tienen
                     las configuraciones de Evolver preestablecidas y listas para la
                     optimización.
                     NOTA: Si quiere examinar el modelo de la panadería con todas las
                     configuraciones de optimización preestablecidas, abra el modelo de
                     ejemplo Panadería.xls




Capítulo 3: Evolver: Paso a paso                                                            43
44   Una visita por Evolver
Capítulo 4: Ejemplos de
aplicaciones


                     Introducción ......................................................................................47

                     Selección de publicidad...................................................................49

                     Orden alfabético ...............................................................................51

                     Asignación de tareas........................................................................53

                     Panadería...........................................................................................55

                     Asignación de presupuesto.............................................................57

                     Equilibrio químico ............................................................................59

                     Programador de clases ....................................................................61

                     Segmentador de códigos.................................................................65

                     Dakota: Rutas con restricciones.....................................................69

                     Programación del trabajo de un taller ............................................73

                     Ubicación de una torre de radio......................................................75

                     Cartera equilibrada ...........................................................................77

                     Mezcla de carteras............................................................................81

                     Estaciones de potencia....................................................................83

                     Compras ............................................................................................85

                     Problema del vendedor ....................................................................87

Capítulo 4: Ejemplos de aplicaciones                                                                                      45
Navegador espacial.......................................................................... 89

     Agente de bolsa................................................................................ 91

     Transformador.................................................................................. 93

     Transporte......................................................................................... 95




46
Introducción
                     Este capítulo explica cómo se puede usar Evolver en diferentes
                     aplicaciones. Es posible que estos ejemplos de aplicaciones no
                     incluyan todas las características que usted desearía en sus propios
                     modelos, pero pueden servir para generar ideas y como patrones de
                     modelos. Todos los ejemplos ilustran cómo Evolver encuentra
                     soluciones basándose en las relaciones que ya existen en la hoja de
                     cálculo, y es importante que su modelo de hoja de cálculo refleje con
                     exactitud el problema que está tratando de resolver.
                     Todas las hojas de cálculo de ejemplo de Excel se encuentran en el
                     subdirectorio “EXAMPLES” del directorio EVOLVE32. Este capítulo
                     incluye una lista alfabética de las mismas. Los ejemplos utilizan los
                     siguientes códigos 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 métodos de solución y las restricciones. Se recomienda que
                     examine estos cuadros de diálogo antes de realizar la optimización. Al
                     estudiar las fórmulas y experimentar con las diferentes
                     configuraciones de Evolver, podrá comprender mejor cómo funciona
                     Evolver. Los modelos también 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.




Capítulo 4: Ejemplos de aplicaciones                                                             47
48
Selección de publicidad
                     Una agencia publicitaria debe averiguar la forma más 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:    Selección de publicidad.xls
                     Objetivo:              Asignar compras de publicidad, dentro del
                                            presupuesto, entre los diferentes medios de
                                            comunicación que tienen diferentes precios.
                                            Maximizar el número de personas a las que se llega.
                     Método de solución:    Presupuesto
                     Problemas similares:   Problemas de tipo presupuestario con restricciones
                                            adicionales.




Capítulo 4: Ejemplos de aplicaciones                                                              49
Cómo funciona     Lo primero que debemos hacer es seleccionar un método de solución
el modelo         que indique a Evolver lo que debe hacer con las variables. Consulte el
                  Capítulo 5: Referencia completa para ver las descripciones de los
                  diferentes métodos de solución.
                  Este es básicamente un problema de tipo presupuestario con la
                  restricción adicional de que el gasto en TV debe ser superior al de la
                  radio.
Cómo resolverlo   Las variables que Evolver debe modificar están en las celdas C5:C9.
                  Pediremos a Evolver que las baraje usando el método de
                  “presupuesto”, para permitir que cada variable sea un valor
                  independiente. La audiencia total se calcula con la función 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.




50                                                                  Selección de publicidad
Orden alfabético
                     Esta es una lista de siete nombres que queremos que Evolver ordene
                     alfabéticamente. Aunque este ejemplo es simple, Evolver puede
                     administrar problemas complejos de ordenación en los que los datos
                     son interdependientes, o en los que determinados nombres tienen
                     mayor valor según otros datos del modelo.

                     Archivo de ejemplo:    Orden alfabético.xls
                     Objetivo:              Ordenar alfabéticamente una lista de nombres.
                     Método de solución:    Orden
                     Problemas similares:   Cualquier problema de ordenación que supere la
                                            capacidad de Excel.




Cómo funciona        El archivo “Orden alfabético.xls” es un modelo muy simple que
el modelo            ilustra la capacidad de ordenación de Evolver. La columna B contiene
                     los nombres de siete personas, y la columna A el número de “ID”
                     correspondiente de cada persona. La columna D utiliza la función
                     CONSULV de Excel para traducir cualquier número seleccionado en
                     la columna C en su nombre correspondiente. Las celdas E4:E9 usan
                     una función de penalización simple que asigna un valor 1 cada vez
                     que un nombre se ordena alfabéticamente después de otro nombre
                     alfabéticamente posterior. La suma de todos estos errores está en la
                     celda E11, nuestra celda objetivo.
Capítulo 4: Ejemplos de aplicaciones                                                         51
Cómo 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 método de solución “orden”. El método de solución
                  “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 más
                  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
                  están en el orden correcto.




                  Al no seleccionar ningún criterio de detención en el cuadro de diálogo
                  Opciones de detención de Evolver, indicamos a Evolver que siga
                  trabajando sin interrupción hasta que se pare manualmente haciendo
                  clic en el botón “parar” de la barra de herramientas de Evolver. Pero
                  en este modelo hemos seleccionado la opción de “el valor más cercano
                  a”, de modo que Evolver parará automáticamente cuando encuentre
                  una solución que cumpla la opción “el valor más cercano a” 0.
                  Usamos una población pequeña porque, aunque no hay reglas sobre
                  la selección de un tamaño de población óptimo, generalmente
                  podemos seleccionar una población menor cuando trabajamos con
                  problemas que tienen un número menor de soluciones posibles para
                  poder centrarnos en generar las soluciones de mejor rendimiento. En
                  este problema, sólo hay 5040 órdenes posibles de 7 nombres.




52                                                                        Orden alfabético
Asignación de tareas
                     Este ejemplo modela un problema común relativo a la asignación 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:    Asignación de tareas.xls
                     Objetivo:              Asignar 16 trabajadores a 16 tareas de forma que se
                                            maximice el rendimiento general.
                     Método de solución:    Orden
                     Problemas similares:   Problemas de asignación, programar reuniones a las
                                            horas más convenientes para la mayoría de los
                                            trabajadores, encontrar las mejores máquinas para
                                            una serie de trabajos.




Capítulo 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 clasificación
                  de cada trabajador para esa tarea. Finalmente, la puntuación total de
                  la solución total (en la celda U21) es la suma de todas las
                  clasificaciones individuales.
Cómo funciona     Sólo puede haber una persona para cada tarea, por lo tanto los
el modelo         números no se pueden duplicar y cada número debe usarse una vez.
                  La clasificación de cada trabajador en esa tarea se registra en la
                  columna U usando la función INDICE(). Estas puntuaciones se suman
                  en la celda U21 para calcular la puntuación total de esa serie de
                  asignaciones.
Cómo 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 método de solución “orden”. Este método
                  baraja los valores existentes en las celdas, por lo tanto debe asegurarse
                  de que sólo hay una instancia de cada valor antes de iniciar la
                  optimización. Pediremos a Evolver que encuentre el valor máximo de
                  la celda U21, la celda objetivo, porque cuanto mayor sea esta celda,
                  mejor será la asignación en general.




54                                                                     Asignación de tareas
Panadería
                     Este ejemplo ilustra un problema común en los problemas de decisión
                     de producción, en los que encontrar la cantidad adecuada de cada
                     producto que se debe producir resulta muy difícil ... incluso con unos
                     pocos elementos. El propietario de una panadería debe determinar el
                     número de cajas que debe producir de cada tipo de pan para
                     maximizar los beneficios totales de la panadería. Asegúrese de que
                     respeta las limitaciones descritas, como el número total de horas de
                     empleado y las relaciones correctas de producción de productos.
                     (Nota: este modelo se describe con detalle en el Capítulo 3: Evolver paso
                     a paso)

                     Archivo de ejemplo:     Panadería.xls
                     Objetivo:               Encontrar la cantidad óptima que se debe producir
                                             de cada tipo de pan para cumplir las cuotas y
                                             maximizar los beneficios.
                     Método de solución:     Receta
                     Problemas similares:    Desarrollo de carteras y planificación de fabricación




Capítulo 4: Ejemplos de aplicaciones                                                             55
Cómo funciona
                  Este problema indica la cantidad de cada producto de pan que se
el modelo         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 generarían
                  si se produjera esa cantidad. Los beneficios (en las celdas B11:G11) se
                  añaden en la celda I11, que se convierte en la celda objetivo que se
                  debe maximizar.




                  El modelo tiene también tres restricciones. Todas las restricciones son
                  duras. Una es una restricción en formato de rango de valores simple y
                  dos son restricciones introducidas como fórmulas de Excel.
Cómo resolverlo   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 demás, utilizaremos el método de solución de
                  “receta”. También pediremos a Evolver que cumpla las restricciones
                  de las celdas C4, D4 y I8.




56                                                                                Panadería
Asignación de presupuesto
                     Un jefe ejecutivo quiere averiguar la forma más eficaz de distribuir
                     fondos entre diferentes departamentos de la compañía para
                     maximizar los beneficios. A continuación se muestra el modelo de un
                     negocio y su pronóstico de beneficios para el año próximo. El modelo
                     estima los beneficios del año próximo 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 cómo se puede preparar cualquier modelo y usar Evolver para
                     introducir variables de entrada y encontrar el mejor resultado.

                     Archivo de ejemplo:    Asignación de presupuesto.xls
                     Objetivo:              Asignar el presupuesto anual entre cinco
                                            departamentos para maximizar los beneficios del año
                                            próximo.
                     Método de solución:    Presupuesto
                     Problemas similares:   Asignación 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.




Capítulo 4: Ejemplos de aplicaciones                                                             57
Cómo funciona     El archivo “Asignación de presupuesto.xls” modela los efectos del
el modelo         presupuesto de una compañía 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
                  compañía. Este presupuesto lo establece la compañía y no se puede
                  cambiar.
                  Las celdas F6:F10 calculan una estimación de la demanda de los
                  productos de la compañía para el año próximo, basándose en los
                  presupuestos de publicidad y marketing. La cantidad de ventas reales
                  es el mínimo de la demanda calculada y el suministro. El suministro
                  depende del dinero asignado a los departamentos de producción y
                  operaciones.
Cómo resolverlo   Maximice los beneficios de la celda I16 usando el método de solución
                  “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 números negativos o números que no
                  generaría soluciones apropiadas (por ejemplo, todo a publicidad y
                  nada a producción) en el presupuesto de los departamentos.
                  El método de solución “presupuesto” funciona como el método de
                  solución “receta” en el sentido de que trata de encontrar la “mezcla”
                  adecuada de las variables seleccionadas. Sin embargo, cuando se usa
                  el método de presupuesto, se añade la restricción de que todas las
                  variables deben sumar un mismo número, como lo hacían antes de
                  que Evolver comenzara la optimización.




58                                                              Asignación de presupuesto
Equilibrio químico
                     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 químicos (productos y reactivos)
                     necesarios para minimizar la energía libre después de que una
                     reacción haya alcanzado su equilibrio. En procesos químicos
                     complejos, los ingredientes (reactivos) y los productos se vuelven a
                     formar continuamente unos en otros hasta que la concentración de los
                     compuestos es constante; es decir, hasta que se alcanza el “equilibrio”.
                     En cualquier momento después de alcanzarse el equilibrio, un
                     porcentaje constante de los productos químicos de equilibrio pueden
                     ser reactivos (por ejemplo, el 5%) y un porcentaje constante serían
                     productos (95%).

                     Archivo de ejemplo:    Equilibrio químico.xls
                     Objetivo:              Calcule la energía libre del entorno de la reacción y
                                            encuentre los niveles de los productos químicos,
                                            teniendo en cuenta restricciones blandas (algunos
                                            niveles de productos químicos son proporcionales a
                                            otros).
                     Método de solución:    Receta
                     Problemas similares:   Determinación de las condiciones del equilibrio de
                                            mercado más estable.




Capítulo 4: Ejemplos de aplicaciones                                                                59
Cómo funciona     Las variables de este problema de las celdas B4:B13 son los niveles de
el modelo         los químicos que se van a mezclar. La celda B15 calcula la cantidad
                  total, que se debe mantener dentro de un rango determinado según
                  las penalizaciones.
                  Las restricciones de F20:F22 son restricciones blandas; es decir, que no
                  obligaremos a Evolver a aceptar solamente soluciones válidas, sino
                  que en su lugar calcularemos las penalizaciones si ciertos químicos se
                  salen de la proporción deseada con respecto a otros químicos. Estas
                  restricciones blandas utilizan funciones de penalización incorporadas
                  directamente en el modelo de la hoja de cálculo. Las penalizaciones se
                  añaden al total de energía libre de la celda F17, de forma que cuando
                  Evolver esté minimizando el objetivo, estará buscando soluciones que
                  no generen penalizaciones.
Cómo resolverlo   Use el método de solución de receta en las celdas B4:B13. Minimice la
                  celda F17.




60                                                                        Equilibrio químico
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 permitiría tratar el problema con el
                     método de solución “agrupamiento”. Sin embargo, hay una serie de
                     restricciones que deben cumplirse mientras se prepara el calendario
                     de clases. Por ejemplo, biología y química 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 método de “calendarización”. El método de solución de
                     “calendarización” es como el método de “agrupamiento”, con la
                     excepción de que existen restricciones que indican que ciertas tareas
                     deben suceder (o no suceder) antes (o después, o durante) que otras
                     tareas.

                     Archivo de ejemplo:    Programador de clases.xls
                     Objetivo:              Asignar 25 clases a 6 periodos de tiempo para
                                            minimizar el número de estudiantes que no pueden
                                            asistir a ciertas clases. Cumplir una serie de
                                            restricciones sobre la coincidencia de clases.
                     Método de solución:    Calendarización
                     Problemas similares:   Cualquier problema de calendarización en el que
                                            todas las tareas son de la misma duración y pueden
                                            asignarse a una serie de bloques de tiempo
                                            independientes. Además, cualquier problema de
                                            agrupamiento en el que haya restricciones sobre qué
                                            grupos pueden asignarse.




Capítulo 4: Ejemplos de aplicaciones                                                              61
Cómo funciona   El archivo “Programador de clases.xls” contiene un modelo de un
el modelo       problema típico de programación en el que deben cumplirse muchas
                restricciones. Las celdas C5:C29 asignan 25 clases a 6 bloques de
                tiempo. Sólo hay cinco salas disponibles, por lo tanto, asignar más 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 número de código o la descripción como restricción. La
                lista de códigos de restricción de los problemas de programación se
                encuentra más detallada en la sección “Métodos de solución” del
                Capítulo 5: Referencia completa.
                Cada uno de los posibles calendarios se evalúa mediante el cálculo de
                a) el número de clases que no pueden coincidir, y b) el número de
                estudiantes que no pueden asistir a sus clases porque se ha alcanzado
                la capacidad de la sala. Esta última restricción impide que Evolver
                programe todas las clases grandes al mismo tiempo. Si sólo hay una o
                dos clases grandes durante un bloque de tiempo, más grandes serán
                las salas que se pueden usar.




62                                                                Programador de clases
Las celdas I8:N8 utilizan la función BCUENTA de Excel para contar
                     cuántas clases hay asignadas a cada bloque de tiempo. Justo debajo de
                     las celdas I9:N9 se calcula cuántas 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 número de asientos necesario para una clase determinada excede
                     el número de asientos disponibles, las celdas I12:N12 calculan cuántos
                     sobran, y el número total de estudiantes sin asiento se calcula en la
                     celda K13. En la celda F6, este número total de estudiantes sin asiento
                     se añade al promedio de tamaño de clase, y se multiplica por el
                     número de clases sin sala. De esta forma, tenemos una celda que
                     combina todas las penalizaciones de modo que un número reducido
                     en esta celda indica siempre un calendario más adecuado.
Cómo resolverlo      Minimice el valor de las penalizaciones de F6 cambiando las celdas
                     C5:C29. Use el método de solución “calendarización”. Cuando se
                     selecciona este método de solución, aparecerán una serie de opciones
                     relacionadas en la sección inferior “opciones” del cuadro de diálogo.
                     Establezca el número de bloques de tiempo en 6, y las celdas de
                     restricciones en K17:M25.




Capítulo 4: Ejemplos de aplicaciones                                                         63
64
Segmentador de códigos
                     Un programador de Windows quiere dividir un programa en varios
                     segmentos de código, de forma que Windows pueda usar la memoria
                     de forma más eficaz manteniendo en memoria sólo los segmentos de
                     código que estén actualmente en uso.
                     Este es un ejemplo de recolección de elementos similares en grupos.
                     Los elementos pueden interactuar eficazmente con otros del mismo
                     grupo, pero es difícil que los elementos de diferentes grupos
                     interactúen. Cuando hay barreras naturales que impiden que cada
                     elemento interactúe directamente con los demás (por ejemplo, que los
                     usuarios de PC estén 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 código.xls
                     Objetivo:              Agrupar rutinas de programación en ocho
                                            segmentos de código diferentes de forma que el
                                            programa se ejecute lo más rápidamente posible.
                     Método de solución:    agrupamiento
                     Problemas similares:   Agrupación de estaciones de trabajo en grupos LAN,
                                            o circuitos en áreas de un microchip, de modo que el
                                            costo de la comunicación entre grupos se minimice.




Capítulo 4: Ejemplos de aplicaciones                                                           65
Cómo funciona   Los programadores de Windows normalmente dividen los programas
el modelo       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 activación. Si
                un programa de 2 MB se divide en 80 segmentos de 20 Kb cada uno,
                el programa puede ejecutarse con sólo 20 Kb de memoria disponible.
                Sin embargo, para que se ejecute con un nivel de funcionamiento
                aceptable, los segmentos de código deben organizarse
                cuidadosamente. La llamada de una función de otro segmentos tarda
                más que la llamada de una función del mismo segmento que la
                función activa. La minimización del número de llamadas entre
                segmentos se conoce como un problema de segmentación de código.
                Como es posible optimizar algunas partes de una aplicación
                afectando la aplicación en su totalidad, utilizaremos Evolver para
                realizar una optimización global.
                El archivo de ejemplo “Segmentador de código.xls” presupone que la
                aplicación se ha compilado con cierta segmentación. La aplicación se
                ejecuta tal y como la ejecutaría un usuario, mientras una rutina de
                seguimiento de rendimiento controla el número de veces que cada
                función llama a otra función. Por lo tanto, los resultados representan
                la naturaleza de las llamadas durante el uso típico de la aplicación. A
                partir de ahí se pueden hacer predicciones sobre la velocidad de la
                aplicación con diferentes estrategias de segmentación.
                Esa hoja de trabajo utiliza la función personalizada “SegCost”.
                SegCost calcula el tiempo que tardaría el usuario en ejecutar el
                programa de la misma forma que cuando se obtuvieron las
                estadísticas de uso típico. El cálculo se hace contando el número 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 códigos
La función 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 aplicación de muestra tiene 80 funciones. El número de veces que
                     cada función llama a otra se almacena en el rango “llamadas”
                     (C5:I104). Se puede crear una matriz de 80 por 80 para representar el
                     patrón de llamadas, pero este método de n por n sería inútil después
                     de 250 funciones, porque Excel tiene un límite de 256 columnas (y
                     porque el método necesitaría una cantidad exponencial de memoria).




Capítulo 4: Ejemplos de aplicaciones                                                         67
También se puede usar una anotación condensada para representar el
                  patrón de llamadas. Primero presuponemos que las funciones sólo
                  llaman a un cierto número de funciones. En el archivo de ejemplo,
                  presuponemos que siete es el límite superior; por eso el rango de
                  llamadas tiene un ancho de siete columnas, pero este límite es
                  arbitrario. También presuponemos que ninguna función puede ser
                  llamada por otra más de 9999 veces.
                  Veamos la función 1, empezando en la celda C5. La Función 1 llama a
                  cuatro funciones: 3, 9, 81 y 41. C5:I5, la primera fila de las llamadas,
                  contiene un número real por cada función llamada (es decir, 3.0023).
                  La porción entera (es decir, 3) representa la función llamada, y la
                  parte decimal multiplicada por 10,000 (es decir, .0023 x 10,000 = 23)
                  representa el número de veces que la función 1 llamó a la función 3
                  durante el uso típico de la aplicación. Por lo tanto, 9.1117 significa que
                  la función llamó la función 9 un total de 1,117 veces, etc. Este formato
                  conciso permite ahorrar memoria y aprovechar el número limitado de
                  columnas de Excel.
                  La celda A5:A104 (el rango “segs”) contiene el número del segmento
                  al que se asigna cada función. La celda K4 llama a la función
                  “SegCost” para calcular el rendimiento general de la estrategia de
                  segmentación actual.
Cómo resolverlo   Minimice el valor de la celda K4 ajustando las celdas A5:A104. Use el
                  método de “agrupamiento”. El método de solución de
                  “agrupamiento” indica a Evolver que organice las variables en x
                  grupos, donde x es el número de valores diferentes de las celdas
                  ajustables al iniciar una optimización.




68                                                                  Segmentador de códigos
Dakota: Rutas con restricciones
                     Una empresa de bienes raíces necesita evaluar sus propiedades en
                     North Dakota en un orden determinado, de forma que ciertas
                     propiedades se visiten antes que otras. Similar al problema clásico del
                     vendedor que viaja, el objetivo de este problema es encontrar la ruta
                     más corta entre una serie de ciudades para asegurarse de que cada
                     ciudad se visite una vez. Sin embargo, aquí añadimos la restricción de
                     que ciertas ciudades deben visitarse antes que otras (como en el caso
                     de la ciudad número 2, que está después de la ciudad número 4). Esto
                     significa de que en lugar de usar el método de solución “orden”
                     usaremos el método de solución “proyecto”.
                     Un proyecto es un orden para una serie de tareas en el que algunas
                     tareas deben preceder a otras. Se puede usar el método de solución
                     “proyecto”, junto con sus propias funciones personalizadas, para
                     encontrar la mejor secuencia de tiempo para un proyecto (basándose
                     en una combinación de una serie de criterios, como tiempo de
                     terminación, uso de recursos, etc.).

                     Archivo de ejemplo:    Dakota.xls
                     Objetivo:              Planifique una ruta entre 41 ciudades de North
                                            Dakota para encontrar la ruta más corta entre todas
                                            las ciudades asegurándose de que algunas ciudades
                                            se visitan antes que otras.
                     Método de solución:    proyecto
                     Problemas similares:   Revisión del calendario de un proyecto para
                                            equilibrar el uso de recursos. Programación del flujo
                                            de trabajo de un taller de maquinaria para reducir el
                                            tiempo total, asegurándose el mismo tiempo de que
                                            algunos trabajos se hacen antes que otros.




Capítulo 4: Ejemplos de aplicaciones                                                                69
Cómo funciona   Las celdas F3:F43 contienen el orden en el que se visitarán las
el modelo       ciudades. La celda H10 calcula la longitud total de la ruta, basándose
                en el orden y las ubicaciones x,y de las ciudades (celdas C3:D43). La
                celda H10 usa la función personalizada “BigRouteLength” para
                acelerar el cálculo 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 después de visitar ciertas ciudades.




70                                                       Dakota: Rutas con restricciones
Cómo resolverlo      Minimice la longitud de la ruta de la celda H10 cambiando las celdas
                     F3:F43. Use el método de solución “proyecto” y establezca las tareas
                     precedentes en J3:L43. Estas tareas precedentes se establecen en el
                     campo Tareas Precedentes del cuadro de diálogo Configuraciones de
                     Grupo de Celda Ajustable:




Capítulo 4: Ejemplos de aplicaciones                                                        71
72
Programación del trabajo de un taller
                     Un taller metalúrgico necesita encontrar la mejor forma de programar
                     una serie de trabajos que se pueden dividir en pasos que se pueden
                     realizar en diferentes máquinas. Cada trabajo se compone de cinco
                     tareas, y las tareas deben realizarse en orden. Cada tarea debe hacerse
                     en una máquina específica, y necesita una cantidad específica de
                     tiempo para realizarse. Hay cinco trabajos y cinco máquinas.
                     Haciendo clic en el botón Dibujar Programa de la parte superior de la
                     hoja se redibuja el gráfico de barras para mostrar cuándo se debe
                     ejecutar cada una de las tareas programadas.

                     Archivo de ejemplo:    Programación trabajo taller.xls
                     Objetivo:              Asigne partes de un trabajo (tareas) a diferentes
                                            máquinas de forma que se minimice el tiempo total
                                            para terminar todos los trabajos.
                     Método de solución:    Orden
                     Problemas similares:   Problemas de programación o administración de
                                            proyectos




Capítulo 4: Ejemplos de aplicaciones                                                            73
Cómo funciona     La celda D5 calcula el tiempo de producción, o cuánto tiempo pasa
el modelo         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 cuándo se puede realizar cada tarea en la máquina
                  necesaria.
Cómo resolverlo   Seleccione una serie de celdas ajustables G11:G35 y seleccione el
                  método de solución de orden. Minimice el resultado de la celda D5.




74                                                     Programación del trabajo de un taller
Ubicación de una torre de radio
                     Una cadena de radio quiere construir tres torres de radio en una
                     región que tiene doce comunidades de importancia. Cada comunidad
                     tiene un tamaño diferente de población, y cada torre de radio tiene un
                     alcance de emisión diferente. El objetivo es colocar las torres de forma
                     que los radios de alcance de emisión de las torres cubran el máximo
                     número de oyentes potenciales.




                                  y                     x
                                   1                     1

                     Un ejemplo más complejo de problema de ubicación puede ser situar
                     varias fábricas de forma que a) estén cerca tanto de vendedores como
                     de clientes, b) estén en un terreno abierto y económico, y c) estén cerca
                     de una fuerza laboral grande y técnicamente capacitada. También se
                     puede añadir 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:    Ubicación torres radio.xls
                     Objetivo:              Encontrar las mejores coordenadas x,y para tres
                                            torres de radio de forma que el alcance de emisión
                                            cubra la mayor población de potenciales oyentes.
                     Método de solución:    Receta
                     Problemas similares:   Búsqueda de lugares para almacenes que minimicen
                                            los envíos necesarios entre almacenes y tiendas.
                                            Ubicar estaciones de bomberos de forma que cubran
                                            mejor las poblaciones con un número limitado de
                                            estaciones, incluyendo factores como la densidad de
                                            viviendas.




Capítulo 4: Ejemplos de aplicaciones                                                              75
Cómo funciona     El archivo “Ubicación torres radio.xls” modela un terreno de dos
el modelo         dimensiones en el que la colocación de cinco torres de radio
                  determina a cuántos oyentes llega el alcance. Las celdas C6:D8
                  contienen las coordinadas x,y de las tres torres. La ilustración del
                  modelo consta de dos elementos: uno es una imagen de bitmap de las
                  densidades de población (en verde) pegada del programa Paintbrush
                  de Windows; el otro es un diagrama de dispersión de Excel que se
                  recalcula automáticamente 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 población de todas las
                  comunidades cubiertas (el número que queremos maximizar) se
                  calcula en la celda O17.
Cómo resolverlo   Maximice la población alcanzada en la celda O17 ajustando las celdas
                  C6:D8 de ubicación de las torres. Use el método de solución “receta” y
                  establezca los rangos de las variables de 0 a 50 (los límites de nuestra
                  área de ubicación).
                  El método de solución “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 solución óptima.
76                                                          Ubicación 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 más similar
                     posible.
                     Este es un ejemplo de una categoría 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 más similar
                     posible. Si hay millones de pequeños elementos a agrupar en unos
                     pocos grupos, como puede ser granos de trigo en la bodega de un
                     barco, se puede presuponer una distribución aproximadamente
                     normal sin grandes diferencias de peso. Sin embargo, varias docenas
                     de grupos, de pesos y tamaños diferentes, se pueden agrupar de
                     formas muy diferentes, y un agrupamiento eficaz puede mejorar el
                     equilibrio que se encontraría manualmente.

                      Archivo de ejemplo:    Cartera equilibrada.xls
                      Objetivo:              Dividir una lista de acciones en cinco carteras
                                             diferentes cuyos valores totales estén lo más cerca
                                             posible unos de otros.
                      Método de solución:    agrupamiento
                      Problemas similares:   Creación de equipos que tengan habilidades
                                             colectivas equivalentes. Asignación de
                                             contenedores a la bodega de un barco de forma que
                                             el peso quede distribuido uniformemente.




Capítulo 4: Ejemplos de aplicaciones                                                               77
Cómo funciona   El archivo “Cartera equilibrada.xls” modela una asignación típica de
el modelo       grupos. La Columna A contiene números de identificación de
                acciones específicas, y la columna B contiene el valor monetario de
                cada acción. La Columna C asigna cada acción a una de las cinco
                carteras. Cuando se configura un problema de tipo agrupamiento o de
                grupos de intervalos y se utiliza el método de solución 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 fórmulas “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 desviación estándar entre todos los valores de
                     las carteras usando la función “DESVEST()”. Esto proporciona una
                     medida de la similitud del valor total de cada una de las carteras. El
                     gráfico muestra el valor total de cada cartera, con una línea de
                     referencia en el número objetivo en el que cada cartera estaría si
                     fueran todas iguales.
Cómo resolverlo      Minimice el valor de la celda F12 ajustando las celdas C5:C104. Use el
                     método de “agrupamiento” y asegúrese de que los valores 1, 2, 3, 4 y
                     5 aparecen al menos una vez en la columna C.
                     El método de solución de “agrupamiento” indica a Evolver que
                     organice las variables en x grupos, donde x es el número de valores
                     diferentes de las celdas ajustables al iniciar una optimización.




Capítulo 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 fórmulas que multiplican las diferentes
                     jerarquías, han personalizado un tipo de “puntuación” 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 /recuperación.
                     Método de solución:   Presupuesto




Capítulo 4: Ejemplos de aplicaciones                                                         81
Cómo funciona     Este es un modelo financiero clásico que trata de equilibrar el riesgo
el modelo         de pérdida y la recuperación de la inversión. Todos los activos
                  incluido en la columna A tienen asignada una jerarquía en la columna
                  C. El modelo multiplica los porcentajes de recuperación por la
                  jerarquía de cada activo de la cartera para generar una recuperación
                  total en la celda C18. También se calcula el número de riesgo total de
                  la celda C19, que no debe ser mayor que el riesgo aceptable de la
                  celda D19.
Cómo resolverlo   La “puntuación” total de la celda C22 refleja la recuperación total
                  menos una penalización por un riesgo superior al porcentaje
                  aceptable. Debemos maximizar esta puntuación.




82                                                                       Mezcla de carteras
Estaciones de potencia
                     Una cadena de radio compra tres torres de radio abandonadas que no
                     funcionan en una región 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 sería igual de fácil crear una tabla de
                     búsqueda de tipos y precios de transmisores.

                     Archivo de ejemplo:    Estaciones de potencia.xls
                     Objetivo:              Encontrar el transmisor más pequeño (más barato)
                                            para cada una de las torres antiguas que permita
                                            cubrir el área de las diez comunidades.
                     Método de solución:    Receta
                     Problemas similares:   Problemas de cobertura fija, en los que deben
                                            describirse una serie de elementos mediante un
                                            pequeño número de grupos bien definidos.




Capítulo 4: Ejemplos de aplicaciones                                                           83
Cómo funciona     Esto es muy similar al ejemplo de ubicación de torres de radio
el modelo         (Ubicación 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. Añadimos 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 restricción dura denominada ¿Todas las áreas cubiertas?. Esta
                  restricción tiene la fórmula Y($N$4:$N$12) que genera un valor
                  VERDADERO sólo si todos los valores de la columna N son
                  VERDADEROS.
Cómo resolverlo   Minimice la potencia necesaria en la celda E12 ajustando los radios de
                  las torres de las celdas E5:E7. Use el método de solución "receta" y
                  establezca los rangos de las variables de 0 a 100. La restricción dura
                  única, introducida usando el formato de fórmula de Excel, se describe
                  arriba.




84                                                                   Estaciones de potencia
Compras
                     Cada vez que hay múltiples formas de ordenar elementos, los
                     descuentos de cantidad dificultan la determinación de la forma más
                     económica 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 pequeños, medianos, grandes y
                     extra-grandes.
                     Trate de comprar la cantidad adecuada de cada tamaño de barril para
                     minimizar su costo.

                     Archivo de ejemplo:    Compras.xls
                     Objetivo:              Gastar la menor cantidad posible de dinero
                                            comprando 155 litros de disolvente.
                     Método de solución:    Receta
                     Problemas similares:   Lo opuesto: crear una tabla de precios que incentive
                                            con regularidad y justicia los pedidos de grandes
                                            cantidades.




Capítulo 4: Ejemplos de aplicaciones                                                               85
Cómo funciona     Este disolvente se ofrece en barriles de 3, 6, 10 y 14 litros. La tabla de
el modelo         precios de cada tamaño se encuentra en las celdas D6:H9. Las celdas
                  H13:H16 contienen las cantidades a comprar de cada tamaño. 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 número necesario de la celda I19 (155). La restricción dura
                  única es que la cantidad de la compra exceda la cantidad necesaria.
                  Como necesitamos 155 litros, podemos comprar 11 barriles extra-
                  grandes (154 litros), y un barril pequeño (3 litros) para un total de 157
                  litros. Según la tabla de precios, eso costaría un total de $1,200. Pero si
                  ejecutamos la optimización se consigue una combinación aún más
                  económica.
Cómo resolverlo   Minimice el costo de la celda K18 ajustando las cantidades a comprar
                  de las celdas H13:H16. Use el método de solución de receta para
                  ajustar valores, y establezca los rangos de estas variables entre 1 y 20.
                  No se puede comprar sólo una parte de un barril, así que indicaremos
                  a Evolver que use sólo números enteros marcando la opción “enteros”
                  en el cuadro de diálogo Celdas Ajustables. Como no se pueden
                  comprar menos de 155 litros, introduzca una restricción dura única
                  que especifique I18>155.




86                                                                                    Compras
Problema del vendedor
                     Un vendedor debe visitar una vez todas las ciudades de su territorio
                     asignado. ¿Cuál es la ruta más corta posible que permita visitar todas
                     las ciudades? Este es un problema clásico de optimización y uno
                     extremadamente difícil de resolver usando técnicas convencionales si
                     hay un gran número de ciudades (>50).
                     Un problema similar puede ser el de encontrar el mejor orden para
                     realizar tareas en una fábrica. Por ejemplo, puede ser mucho más fácil
                     aplicar pintura negra después de la pintura blanca que al revés. En
                     Evolver, estos tipos de problemas se pueden solucionar mejor con el
                     método de solución de orden.

                     Archivo de ejemplo:    Problema del vendedor.xls
                     Objetivo:              Encontrar la ruta más corta entre n ciudades que
                                            permita visitar una vez cada ciudad.
                     Método de solución:    Orden
                     Problemas similares:   Planificación de la perforación de orificios en una
                                            placa de circuitos de la forma más rápida.




Capítulo 4: Ejemplos de aplicaciones                                                              87
Cómo funciona     El archivo “Problema del vendedor.xls” calcula la longitud de la ruta
el modelo         de un viaje a varias ciudades buscando la distancia en la tabla. La
                  Columna A contiene los números de identificación de las ciudades. La
                  Columna B contiene los nombres que representan esos números (con
                  una función de búsqueda). El orden de arriba a abajo en el que
                  aparecen las ciudades (y sus números) representa el orden en el que
                  se visitan las ciudades. Por ejemplo, si introdujo “9” en la celda A3,
                  Ottawa sería la primera ciudad visitada. Si A4 contiene el número “6”
                  (Halifax), Halifax sería la segunda ciudad visitadas.
                  Las distancias entre ciudades aparece en la tabla que comienza en la
                  celda C25. Las distancias de la tabla son simétricas (la distancia de A a
                  B es la misma que de B a A). También es posible que otros modelos
                  más realistas incluyan distancias no simétricas para representar
                  mayor dificultad de viaje en una dirección (debido a peajes,
                  transporte disponible, vientos, pendientes, etc.).
                  Se debe usar ahora una función 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
                  función “RouteLength”. Esta es una función VBA personalizada para
                  Problema del vendedor.xls.
Cómo resolverlo   Minimice el valor de la celda G2 ajustando las celdas A3:A22. Use el
                  método “orden” y asegúrese de que los valores del 1 al 20 existen en
                  las celdas ajustables (A3:A22) antes de iniciar la optimización.
                  El método de solución “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 tripulación de la lanzadera espacial “Evolver III”,
                     debe calcular la cantidad y la dirección del impulso de cada cohete
                     propulsor para alcanzar su destino usando la menor cantidad posible
                     de combustible. Las mejores soluciones probablemente pasarán 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.
                     Método de solución:    Receta
                     Problemas similares:   Problemas de control de procesos




Capítulo 4: Ejemplos de aplicaciones                                                               89
Cómo funciona     Las celdas Q5:R15 contienen los valores de tamaño de impulsión y
el modelo         dirección 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 posición final de la nave esté a
                  un máximo de 10 unidades horizontales de su destino, y b) que esté a
                  un máximo de 10 unidades verticales.
Cómo resolverlo   Minimice la celda Q16. Cree un grupo de celdas ajustables que
                  utilicen el método de solución de receta usando las celdas Q5:R13. Las
                  celdas de Impulsión (Q5:Q13) deben tener un rango entre 0 y 300 y las
                  celdas de Dirección (R5:R13) deben tener un rango entre -3 y 3, ya que
                  se utilizan radianes para representar la dirección de los impulsos. Un
                  radian equivale a 57 grados.




90                                                                      Navegador espacial
Agente de bolsa
                     Usted es agente de bolsa en el mercado de S&P 500, y ha determinado
                     que el análisis técnico proporciona previsiones más precisas sobre las
                     acciones que el análisis fundamental tradicional, y podría ahorrar
                     tiempo si creara un sistema. Podría haber un número infinito de
                     posibles reglas a seguir para invertir en bolsa, pero sólo unas pocas le
                     habrán generado beneficios significativos si usted las ha seguido. Una
                     búsqueda inteligente con su PC podría ayudarle a determinar qué
                     reglas habrían generado más dinero en un periodo de tiempo
                     histórico.

                     Archivo de ejemplo:    Agente de bolsa.xls
                     Objetivo:              Encontrar un conjunto de tres reglas que habrían
                                            generado las mayores ganancias durante un periodo
                                            de tiempo determinado.
                     Método de solución:    Receta
                     Problemas similares:   Búsqueda de promedios en movimiento óptimos que
                                            habría generado los mejores resultados; cualquier
                                            problema de búsqueda de reglas o criterios.




Capítulo 4: Ejemplos de aplicaciones                                                            91
Cómo funciona     Este modelo usa varios grupos de celdas ajustables para resolver el
el modelo         problema en general. Hay tres reglas que se evalúan en cada día de
                  actividad. Si las condiciones de las tres reglas son verdaderas, el
                  sistema informático comprará ese día; de lo contrario, venderá. (Un
                  sistema de actividad más realista no sólo compra o vende, sino que
                  también mantiene lo que tiene.)
                  Cada regla se describe con una serie de cuatro números 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 día o del
                  cambio desde el último día.
                  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
                  coincidiría con un volumen de 5,000, un valor de corte de 1.0 sería el
                  del volumen de 10,000 y un valor de corte de 0.5 sería 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.
Cómo resolverlo   Cree los grupos de celdas ajustables, utilizando en todos ellos el
                  método de solución 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 fácilmente 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 después de la simulación de cada día en la base de datos
                  histórica se envía a la celda E10.




92                                                                           Agente de bolsa
Transformador
                     El transformador de dos bobinados debe tener una capacidad de
                     1080 VA con pérdidas bajo carga máxima no superiores a los 28 vatios
                     y una disipación 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 operación de un
                                            transformador.
                     Método de solución:    Receta
                     Problemas similares:   Diseño de circuitos y diseño de puentes.




Capítulo 4: Ejemplos de aplicaciones                                                              93
Cómo funciona     La capacidad, pérdida de carga y disipación de calor se deben
el modelo         codificar como restricciones blandas. Las restricciones blandas se
                  crean penalizando aquellas soluciones que no cumplen nuestros
                  requisitos, y no son válidas. A diferencia de las restricciones duras,
                  que deben cumplirse, Evolver permite probar algunas soluciones no
                  válidas, pero como esas soluciones no válidas son penalizadas por
                  una función del modelo que comprueba las violaciones existentes,
                  producirán resultados malos en la celda objetivo. Por lo tanto, a la
                  larga, estas soluciones no válidas se descartarán de la población que
                  evoluciona de posibles soluciones.
                  Un modelo con restricciones blandas puede funcionar mejor que una
                  restricción dura si el problema tiene menos restricciones. También
                  permite a Evolver aceptar una solución excelente aunque no cumpla
                  mínimamente las restricciones, lo cual puede tener mayor valor que
                  una solución no tan buena que cumpla todas las restricciones.
Cómo resolverlo   Calcule el costo de material (costo inicial) y costos de operación (costo
                  de la electricidad * electricidad no aprovechada) en las celdas F11 y
                  F12. Combine estos valores con las funciones de penalización
                  establecidas en las celdas F18:F20 para establecer un costo restringido
                  en la celda F22. Minimice esta celda objetivo usando el método de
                  solución de receta.




94                                                                            Transformador
Transporte
                     ¿Cuál puede ser la forma más económica de transportar objetos en
                     camión por todo el país? Este problema estándar ha sido expandido a
                     partir de un ejemplo antiguo de Microsoft Solver.
                     “Minimice los costos de transportar productos desde los centros de
                     producción a los almacenes cercanos a los centros de demanda del
                     área metropolitana, sin exceder el suministro disponible de cada
                     centro de producción y satisfaciendo la demanda de cada área
                     metropolitana”.
                     Para que el problema sea más realista, los costos de transporte se han
                     cambiado para que no sean lineales, sino que dependan de cuántos
                     camiones son necesarios. Un camión 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 camión desde tres centros de
                                            producción a cinco almacenes, de la forma más
                                            económica posible.
                     Método de solución:    Receta
                     Problemas similares:   Diseño de redes de comunicación




Capítulo 4: Ejemplos de aplicaciones                                                             95
Cómo funciona     Las celdas C5:E7 contienen el número de objetos transportados desde
el modelo         cada centro de producción a cada almacén. Las celdas C13:E15
                  calculan el número de camiones que serían necesarios para
                  transportar esos objetos. Las restricciones duras son: 1) que el total de
                  transporte de cada centro de producción sea menor o igual al
                  suministro disponible en el centro, y 2) que el total transportado de
                  todos los centros de producción a cada almacén sea mayor o igual a la
                  cantidad que demanda el almacén. De esta forma se asegura que cada
                  almacén recibirá lo que necesita, y ningún centro de producción tenga
                  que pagar más impuestos de los debidos.
Cómo resolverlo   Use el método de solución de receta en las celdas C5:E7, usando
                  números enteros entre 0 y 500. Hay una serie de restricciones duras en
                  cada centro de producción que especifican que los transportes de cada
                  centro de producción <= suministro del centro. Hay un segundo
                  grupo de restricciones duras para cada almacén que especifican que el
                  total transportado al almacén >= demanda del almacén. Minimice los
                  costos de transporte de la celda B22.




96                                                                                Transporte
Capítulo 5: Guía de referencia
de Evolver
                     Comando Definición de Modelo ......................................................99 
                       Rangos de celda ajustables.................................................................101 
                       Grupos de celdas ajustables...............................................................104 
                               Método de Solución de Receta.............................................106 
                               Método de solución de orden...............................................106 
                               Método de solución de agrupación .....................................107 
                               Método de solución de presupuesto ...................................108 
                               Método de solución de proyecto..........................................109 
                               Método de solución de calendarización .............................110 
                               Tasa de cruce e tasa de mutación .........................................112 
                               Número de bloques de tiempo y celdas de restricción....114 
                               Tareas precedentes .................................................................114 
                               Operadores...............................................................................115 
                       Restricciones .........................................................................................117 
                               Añadir – Cómo añadir restricciones....................................117 
                               Tipo de restricción..................................................................118 
                               Restricciones simples y de fórmula.....................................118 
                               Restricciones blandas ............................................................119 
                     Comando Configuraciones de optimización ...............................123 
                       Comando Configuraciones de optimización –
                       Pestaña General ....................................................................................123 
                       Comando Configuraciones de optimización –
                       Pestaña Tiempo de ejecución.............................................................125 
                              Opciones de tiempo de ejecución de la optimización .....126 
                       Comando Configuraciones de optimización –
                       Pestaña Visualizar................................................................................128 
                       Comando Configuraciones de optimización –
                       Pestaña Macros .....................................................................................129 
                     Comando Iniciar optimización ......................................................131 




Capítulo 5: Guía de referencia de Evolver                                                                                       97
Comandos de Utilidades ............................................................... 133 
       Comando Configuraciones de aplicación ....................................... 133 
       Comando Solver de restricciones ..................................................... 134 
     El Observador del Evolver ............................................................ 137 
       Observador del Evolver – Pestaña de Progreso ............................. 138 
             Cuadro de diálogo Opciones de Gráficos ......................... 139 
       Observador del Evolver – Pestaña de Resumen ............................ 140 
       Observador del Evolver – Pestaña de Bitácora............................... 141 
       Observador del Evolver – Pestaña de Población ........................... 143 
       Observador del Evolver – Pestaña de Diversidad ......................... 144 
       Observador del Evolver – Pestaña de Opciones de detención.... 145 




98                                                                                  Transporte
Comando Definición de Modelo
                     Define el objetivo, las celdas ajustables y las restricciones del
                     modelo
                     Al seleccionar el comando Definición de Modelo (o haciendo clic en el
                     icono Modelo de la barra de herramientas de Evolver) aparece el
                     cuadro de diálogo Modelo.




                                            El cuadro de diálogo Modelo de Evolver.

                     El cuadro de diálogo Modelo de Evolver se usa par especificar o
                     describir un problema de optimización en Evolver. Este cuadro de
                     diálogo se inicia vacío en cada libro de trabajo nuevo de Excel, y
                     guarda su información con cada libro de trabajo. Eso significa que
                     cuando se abre de nuevo la hoja, se llenará de la misma forma. Los
                     componentes del cuadro de diálogo se describen en esta sección.




Capítulo 5: Guía de referencia de Evolver                                                    99
Las opciones del cuadro de diálogo Modelo son:
      •   Meta de optimización. La opción Meta de optimización determina
          que tipo de respuesta debe buscar Evolver. Si se selecciona
          Mínimo, Evolver buscará valores de variable que generen el
          menor valor posible en la celda objetivo (hasta un mínimo de -
          1e300). Si se selecciona Máximo, Evolver buscará valores de
          variable que resulten en el mayor valor posible en la celda
          objetivo (hasta +1e300).
          Si se selecciona Valor objetivo, Evolver buscará valores de variable
          que generen un valor en la celda objetivo lo más cercano posible
          al valor especificado.
          Cuando Evolver encuentra una solución que genera este
          resultado, se detendrá automáticamente. Por ejemplo, si especifica
          que Evolver debe encontrar un resultado cercano a 14, Evolver
          puede encontrar escenarios que generen un resultado de 13.7 o
          14.5. Observará que 13.7 es más cercano a 14 que 14.5; Evolver no
          tiene en cuenta si el valor es mayor o menor que el valor
          especificado, sólo busca lo cerca que se encuentra el valor.
      •   Celda. La celda o celda objetivo contiene el resultado del modelo.
          Se genera un valor en esta celda por cada "solución de prueba"
          que genera Evolver (es decir, por cada combinación de posibles
          valores de las celdas ajustables). La celda objetivo debe contener
          una fórmula que depende (directamente o a través de una serie de
          cálculos) de las celdas ajustables. Esta fórmula se puede crear con
          fórmulas estándar de Excel como SUM() o con funciones de
          macro VBA definidas por el usuario. Al usar funciones de macro
          VBA puede hacer que Evolver evalúe los modelos que sean más
          complejos.
          Mientras Evolver busca una solución, utiliza el valor de la celda
          objetivo como clasificación o “función de idoneidad” para evaluar
          lo apropiado que es cada posible escenario, y para determinar qué
          valores de variable deben continuar reproduciéndose y cuales
          deben desaparecer. En la evolución biológica, la muerte es la
          “función de idoneidad” que determina qué genes siguen
          reproduciéndose en una población. 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 precisión su progreso.




100                                              Comando Definición 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
                     descripción introducida para esas celdas. Cada grupo de celdas
                     ajustables se incorpora a una fila horizontal. En un Grupo de celdas
                     ajustables se pueden incluir uno o más rangos de celdas ajustables.
                     Todos los rangos de celdas de un Grupo de celdas ajustables
                     comparten métodos de solución, tasa de cruce, tasa de mutación 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 mayoría de los problemas se pueden describir con un
                     grupo de celdas ajustables, pero otros problemas más complejos
                     pueden necesitar diferentes bloques de variables para su resolución
                     con diferentes métodos de solución simultáneos. Esta arquitectura
                     exclusiva permite crear fácilmente problemas altamente complejos a
                     partir de múltiples grupos de celdas ajustables.




Capítulo 5: Guía de referencia de Evolver                                                 101
Las siguientes opciones están disponibles para su introducción en los
      Rangos de celda ajustables:
      •   Añadir. Se pueden añadir nuevas celdas ajustables haciendo clic
          en el botón “Añadir” junto al cuadro de lista Celdas Ajustables.
          Seleccione la celda o el rango de celdas a añadir, y aparecerá una
          nueva fila en la tabla Rangos de celda ajustables. En la tabla
          podrá introducir un valor Mínimo y Máximo para las celdas del
          rango, así como el Tipo de valores a probar: valores Enteros del
          rango o Cualquier valor.
      •   Mínimo y Máximo. Después de especificar la ubicación de las
          celdas ajustables, los datos de Mínimo y Máximo establecen el
          rango de valores aceptables para cada celda ajustable. De forma
          predeterminada, cada celda ajustable puede tener un valor de
          número real (punto flotante de doble precisión) entre –infinito y
          +infinito.
          Las configuraciones de rango son restricciones de cumplimiento
          estricto. Evolver no permite que ninguna variable tenga un valor
          fuera de los rangos establecidos. Para mejorar el funcionamiento
          de Evolver, se recomienda establecer rangos más específicos para
          las variables en la medida de lo posible. Por ejemplo, es posible
          que se sepa que el valor no puede ser negativo, o que Evolver sólo
          debe probar valores entre 50 y 70 para una variable determinada.
      •   Rango. La referencia de las celdas a ajustar se introduce en el
          campo Rango. Esta referencia se puede introducir seleccionando la
          región de la hoja de cálculo con el ratón, introduciendo un
          nombre de rango o escribiendo una referencia válida de Excel
          como Hoja1!A1:B8. El campo Rango está disponible en todos los
          métodos de solución. Sin embargo, en los métodos de solución de
          receta y presupuesto, se pueden añadir opciones de Mínimo,
          Máximo y Valores para poder introducir un rango para las celdas
          ajustables.
          NOTA: Al asignar rangos ajustados a las variables, se limita el
          alcance de la búsqueda y se acelera la convergencia de Evolver en
          una solución. Pero tenga cuidado para no limitar en exceso los
          rangos de las variables porque podría impedir que Evolver
          encuentre soluciones óptimas.




102                                             Comando Definición 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 números reales (por ejemplo,
                          22.395). Esta opción sólo está disponible cuando se usan los
                          métodos de solución “receta” y “presupuesto”. La configuración
                          predeterminada es tratar las variables como números reales.
                     Asegúrese de que activa la configuración Enteros si el modelo utiliza
                     variables para buscar elementos en una tabla (CONSULH(),
                     CONSULV(), INDICE(), DESREF(), etc.). Recuerde que la
                     configuración Enteros afecta a todas las variables del rango
                     seleccionado. Si quiere tratar algunas variables como números 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
                     números reales. Simplemente “Añada” un grupo de receta de celdas
                     ajustables y deje el campo Valores en Cualquiera. Luego, “Añada”
                     otro rango de celdas, esta vez seleccionando la configuración Enteros
                     y seleccionando sólo las celdas ajustables de números enteros.




Capítulo 5: Guía de referencia de Evolver                                                  103
Grupos de celdas ajustables
      Cada grupo de celdas ajustables puede contener múltiples rangos de
      celdas. Esto permite crear una "jerarquía" de grupos de rangos de
      celdas relacionados. Dentro de cada grupo, cada rango de celda
      puede tener su propio rango Mín-Máx.
      Todos los rangos de celdas de un Grupo de celdas ajustables
      comparten métodos de solución, tasa de cruce, tasa de mutación y
      operadores. Estos datos se especifican en el cuadro de diálogo
      Configuraciones de grupos de celdas ajustables. Se puede acceder a
      este cuadro de diálogo haciendo clic en el botón Grupo junto a la
      tabla Rangos de celda ajustables. Se puede crear un nuevo Grupo al
      que añadir rangos de celdas ajustables o editar las configuraciones de
      un grupo existente.




104                                             Comando Definición de Modelo
Las opciones de la pestaña General del cuadro de diálogo
                     Configuraciones de grupos de celdas ajustables son:
                     •    Descripción. Describe el grupo de rangos de celdas ajustables
                          para cuadros de diálogo e informes.
                     •    Método de solución. Selecciona el Método de Solución a usar en
                          cada rango de celdas ajustables del grupo.




                     Cuando se selecciona el rango de celdas que Evolver va a ajustar,
                     también se especifica el “método de solución” que se va a aplicar
                     cuando se ajusten esas celdas. Cada uno de los métodos de solución
                     es, en esencia, un algoritmo genético totalmente diferente, con sus
                     propias rutinas optimizadas de selección, cruce y mutación. Cada uno
                     de los métodos de solución baraja los valores de las variables de una
                     forma diferente.
                     El método de solución de “receta”, por ejemplo, trata cada variable
                     seleccionada como un entero en la receta; cada valor de una variable
                     se puede cambiar independientemente de los demás. Por su parte, el
                     método de solución de “orden” intercambia valores entre las celdas
                     ajustables, reordenando los valores originales.
                     Evolver tiene seis métodos de solución. Tres de los métodos de
                     solución (receta, orden y agrupamiento) usan algoritmos totalmente
                     diferentes. Los otros tres son descendientes de los tres primeros, con
                     restricciones adicionales añadidas.



Capítulo 5: Guía de referencia de Evolver                                                     105
La siguiente sección describe la función de cada método de solución.
                    Para comprender mejor cómo se usa cada método de solución,
                    también se recomienda explorar los archivos de ejemplo que se
                    incluyen con el software (ver Capítulo 4: Ejemplos de Aplicaciones).
Método de           El método de solución de “receta” es el más sencillo y popular de los
Solución de         métodos de solución. Use la receta cuando se puedan variar
Receta
                    independientemente unas de otras las variables que se van a ajustar.
                    Piense en cada variable como en la cantidad de un ingrediente en un
                    pastel; cuando se usa el método de solución de “receta”, le indica a
                    Evolver que genere números para esas variables en busca de la mejor
                    combinación. La única restricción que se aplica a las variables de una
                    receta es el rango (el valor más alto y el más bajo) que esos valores
                    pueden tener. Establezca estos valores en los campos Mín y Máx del
                    cuadro de diálogo Celdas Ajustables (por ejemplo, 1 a 100), e indique
                    también si Evolver debe tratar esos números como enteros (1, 2, 7) o
                    como números reales (1.4230024, 63.72442).

                    A continuación se muestran ejemplos de una serie de valores de
                    variables como podrían aparecer en una hoja de cálculo antes de abrir
                    Evolver, y cómo podrían ser dos escenarios diferentes después de
                    usar el método de solución de receta.

                     Grupo original de       Un grupo de valores     Otro grupo de valores
                     valores de variables    posibles de receta      posibles de receta

                     23.472                  15.344                  37.452
                     145                     101                     190
                     9                       32.44                   7.073
                     65,664                  14,021                  93,572
Método de           El método de solución “orden” es el segundo más popular después
solución de orden   del de “receta”. Un orden es una permutación de una lista de
                    elementos, en el que se trata de encontrar la mejor forma de organizar
                    un grupo establecido de valores. A diferencia de los métodos de
                    “receta” y “presupuesto”, en los que Evolver genera valores para las
                    variables seleccionadas, en este método de solución Evolver usa los
                    valores existentes del modelo.
                    Un orden puede representar el orden en el que realizar una serie de
                    tareas. Por ejemplo, tal vez quiera encontrar el orden en el que
                    realizar cinco tareas, numeradas 1,2,3,4 y 5. El método de solución
                    “orden” baraja esos valores, por lo tanto uno de los escenarios podría
                    ser 3,5,2,4,1. Como Evolver sólo prueba valores de variables de la hoja


106                                                           Comando Definición de Modelo
original, no hay rango de Mín - Máx introducido para las celdas
                     ajustables cuando se usa el método de solución de Orden.
                     A continuación se muestran ejemplos de una serie de valores de
                     variables como podrían aparecer en una hoja de cálculo antes de abrir
                     Evolver, y cómo podrían ser dos escenarios diferentes después de
                     usar el método de solución de orden.

                      Grupo original de       Un grupo de valores      Otro grupo de valores
                      valores de variables    posibles de orden        posibles de orden

                      23.472                  145                      65,664
                      145                     23.472                   9
                      9                       65,664                   145
                      65,664                  9                        23.472
Método de            El método de solución “agrupamiento” debe usarse cuando el
solución de          problema incluya múltiples variables que se deban reunir en grupos.
agrupación
                     El número de grupos diferentes que crea Evolver será igual al número
                     de valores distintos presentes en las celdas ajustables al iniciar la
                     optimización. Por lo tanto, cuando se crea un modelo del sistema,
                     asegúrese de que cada grupo está representado al menos una vez.
                     Por ejemplo, supongamos un rango de 50 celdas que contienen sólo
                     los valores 2, 3.5 y 17. Cuando seleccione 50 celdas y ajuste los valores
                     usando el método de solución “agrupamiento”, Evolver asignará cada
                     una de las cincuenta celdas a uno de los tres grupos: 2, 3.5 o 17. Todos
                     los grupos están representados por al menos una de las celdas
                     ajustables; como si se echara cada una de las 50 variables en un
                     “contenedor”, asegurándose de que hay al menos una variable en
                     cada contenedor. Otro ejemplo sería asignar unos (1), ceros (0) y
                     menos unos (-1) a un sistema para indicar comprar, vender o
                     mantener posiciones. Como en el método de solución “orden”,
                     Evolver organiza valores existentes, por lo tanto no hay rango mín-
                     máx ni opción de Enteros definida.
                     NOTA: Cuando use el método de solución “agrupamiento”, no deje
                     celdas en blanco, a menos que quiera que el valor 0.0 sea considerado
                     uno de los grupos.
                     Tal vez piense que el método de solución “agrupamiento” se pueda
                     imitar usando el método de solución “receta” con la opción de enteros
                     “activada” y los rangos establecidos de 1 a 3 (o cualquiera que sea el
                     número de grupos). La diferencia está en la forma en que los métodos
                     receta y agrupamiento realizan sus búsquedas. Sus rutinas de
                     selección, mutación y cruce son diferentes; el agrupamiento se centra
Capítulo 5: Guía de referencia de Evolver                                                      107
más en los valores de todas las variables, porque puede permutar una
              serie de variables de un grupo con una serie de variables de otro.

              A continuación se muestran ejemplos de una serie de valores de
              variables como podrían aparecer en una hoja de cálculo antes de abrir
              Evolver, y cómo podrían ser dos escenarios diferentes después de
              usar el método de solución de agrupamiento.

              Grupo original de        Un grupo de valores        Otro grupo de valores
              valores de variables     posibles de                posibles de
                                       agrupamiento               agrupamiento

              6                        6                          8
              7                        6                          7
              8                        8                          6
              8                        7                          7
Método de     Un “presupuesto” es similar a una “receta” con la excepción de que
solución de   todos los valores de las variables deben totalizar un número
presupuesto
              determinado. El número es el total de los valores de las variables en el
              momento de iniciar una optimización.
              Por ejemplo, tal vez busque la mejor forma de distribuir un
              presupuesto anual entre un cierto número de departamentos. El
              método de solución “presupuesto” toma el total de los valores
              actuales de los departamentos y usa la suma como presupuesto total
              que debe distribuirse óptimamente. A continuación se muestran
              ejemplos de escenarios después de usar el método de solución de
              presupuesto.
              Grupo original de            Un grupo de valores        Otro grupo de valores
              valores de presupuesto       posibles de                posibles de
                                           presupuesto                presupuesto

              200                          93.1                       223.5
              3.5                          30                         0
              10                           100                        -67
              10                           .4                         67
                        Se prueban muchos valores diferentes, pero la suma de todos
                                     los valores sigue siendo 223.5.




108                                                          Comando Definición de Modelo
Método de            El método de solución “proyecto” es similar al método de solución
solución de          “orden” con la excepción de que ciertos elementos (tareas) deben
proyecto
                     preceder a otros. El método de solución “proyecto” se puede usar en
                     la administración de proyectos para reorganizar el orden en el que se
                     realizan las tareas, cuando el orden debe cumplir siempre las
                     restricciones de orden precedente.
                     Un problema modelado usando el método de solución Proyecto es más
                     fácil de usar y comprender si las celdas ajustables que contienen el
                     orden de las tareas están en una sola columna, en lugar de en una fila.
                     Esto es porque el método de solución espera que las celdas de las
                     tareas precedentes se organicen verticalmente y no horizontalmente, y
                     es más fácil examinar la hoja de cálculo si las celdas ajustables son
                     también verticales.
                     Después de especificar la ubicación de las celdas ajustables, debe
                     especificar la ubicación de las celdas de las tareas precedentes en la
                     sección Tareas precedentes del cuadro de diálogo. Esta es una tabla de
                     celdas que describe qué tareas deben ir precedidas de qué otras tareas.
                     El método de solución usa esta tabla para reorganizar el orden de las
                     variables en un escenario hasta que se cumplan las restricciones de
                     valores precedentes. Debe haber una fila en el rango de tareas
                     precedentes por cada tarea de las celdas ajustables. Empezando en la
                     primera columna del rango de tareas precedentes, el número de
                     identificación de cada tarea debe aparecer en columnas
                     independientes.




                                   Ejemplo de cómo configurar valores precedentes con el
                                             método de solución de Proyecto.

                     El rango de tareas precedentes debe especificarse como n filas por m
                     columnas, donde n es el número de tareas del proyecto (celdas
                     ajustables), y m es el número máximo de tareas precedentes que
                     puede tener una tarea determinada.


Capítulo 5: Guía de referencia de Evolver                                                   109
A continuación se muestran ejemplos de una serie de valores de
                  variables tal y como aparecerían en una hoja de cálculo antes de usar
                  Evolver, y cómo son los dos nuevos escenarios después de usar el
                  método de solución de Proyecto, con la restricción de que 2 debe estar
                  siempre antes que 1, y 4 después de 2.
                   Grupo original de       Un grupo de valores      Otro grupo de valores
                   valores de variables    posibles de proyecto     posibles de proyecto

                   1                       1                        1
                   2                       3                        2
                   3                       2                        4
                   4                       4                        3
Método de         Una calendarización es similar a un agrupamiento: es una asignación
solución de       de tareas en el tiempo. Cada tarea se presupone que dura la misma
calendarización
                  cantidad de tiempo, como sucede con las clases de una escuela. Sin
                  embargo, a diferencia del agrupamiento, el cuadro de diálogo de
                  Configuraciones de grupos de celdas ajustables del método de
                  solución “calendarización” permite especificar directamente el
                  número de bloques de tiempo (o grupos) que se van a usar. Observe
                  que cuando se selecciona el método de “calendarización”, aparecen
                  varias opciones relacionadas en la parte inferior del cuadro de
                  diálogo.




                  En la sección Parámetros de Optimización, observará que también puede
                  incorporar un rango de celdas de restricción. 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 Definición 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 después) La tarea de la columna 1 debe suceder al mismo tiempo o
                        antes que la tarea de la columna 3.
                     6) (no antes) La tarea de la columna 1 debe suceder al mismo tiempo o
                        después que la tarea de la columna 3.
                     7) (en) La tarea de la columna 1 no debe suceder en el bloque de tiempo de
                        la tarea de la columna 3.
                     8) (antes) La tarea de la columna 1 debe suceder después que la tarea de la
                        columna 3.
                     Como restricción se puede introducir un código numérico (del 1 al 8)
                     o la descripción (después, no en, etc.). (Nota: Todas las versiones
                     traducidas de RiskOptimizer reconocerán la descripción de la
                     restricción en inglés así como en el idioma propio). Se cumplirán
                     todas las restricciones especificadas en el problema. Para crear
                     restricciones, busque un espacio en blanco en la hoja de cálculo y cree
                     una tabla en la que las columnas izquierda y derecha representen
                     tareas, y la columna del medio represente los tipos de restricción. Un
                     número del 1 al 8 representa el tipo de restricción que se indica a
                     continuación. Las celdas del rango de restricción deben incluir los
                     datos de restricción antes de iniciar la optimización.

                      Esta tarea              Restricción              Esta tarea

                      5                       4                        2
                      12                      2                        8
                      2                       3                        1
                      7                       1                        5
                      6                       2                        4
                      9                       3                        1




Capítulo 5: Guía de referencia de Evolver                                                          111
A continuación se muestran ejemplos de una serie de valores de
                   variables como podrían aparecer en una hoja de cálculo antes de
                   iniciar Evolver, y los nuevos escenarios después de usar el método de
                   solución de Calendarización.

                   Grupo original de       Un grupo de valores    Otro grupo de valores
                   valores de variables    posibles de            posibles de
                                           calendarización        calendarización

                   1                       1                      1
                   2                       1                      3
                   3                       3                      1
                   1                       1                      2
                   2                       2                      2
                   3                       3                      2

                   NOTA: Cuando se selecciona el método de solución de
                   calendarización, se usan siempre los números enteros empezando por
                   1 (1,2,3...), independientemente de los valores originales de las celdas
                   ajustables.
Tasa de cruce e    Uno de los problemas más difíciles en la búsqueda de soluciones
tasa de mutación   óptimas, cuando el problema tiene aparentemente infinitas
                   posibilidades, es determinar dónde concentrar el esfuerzo. Es decir,
                   cuánto tiempo del PC debe dedicarse a buscar en nuevas áreas del
                   “espacio de solución”, y cuánto tiempo debe dedicarse a afinar las
                   soluciones de la población de soluciones que han demostrado ser
                   bastante buenas.
                   Gran parte del éxito del algoritmo genético se atribuye a su capacidad
                   de conservar de forma natural este equilibrio. La estructura del
                   algoritmo genético permite que las buenas soluciones se
                   “reproduzcan”, pero sólo conserva los organismos “menos
                   adaptados” para mantener la diversidad en espera de que un “gen”
                   latente resulte importante para la solución final.




112                                                           Comando Definición de Modelo
Cruce y Mutación son dos parámetros que afectan el alcance de la
                     búsqueda, y Evolver permite que el usuario cambie estos parámetros
                     antes e incluso durante el proceso de evolución. De esta forma, un
                     usuario experto puede ayudar al algoritmo genético decidiendo
                     dónde debe concentrar sus esfuerzos. En la mayoría los casos, las
                     configuraciones predeterminadas de cruce y mutación (0.5 y 0.1
                     respectivamente) no necesitan ajuste. Si quisiera afinar el algoritmo
                     para un problema, haga estudios comparativos, o para experimentar,
                     aquí tiene una breve introducción a estos dos parámetros:
                     •    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 información de la generación 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á
                          ningún cruce, de forma que sólo se evaluarán 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 sección
                          Observador del Evolver de este capítulo).
                     •    Tasa de mutación. La tasa de mutación se puede ajustar entre 0.0
                          y 1.0, y refleja la probabilidad de que futuros escenarios
                          contengan algunos valores aleatorios. Una tasa de mutación más
                          alto simplemente significa que se introducirán más mutaciones o
                          valores de “genes” aleatorios en la población. Como la mutación
                          sucede después del cruce, si ajusta la tasa de mutación a 1 (100%
                          de valores aleatorios) se impide efectivamente que el cruce tenga
                          efecto, y Evolver genera escenarios totalmente aleatorios.




Capítulo 5: Guía de referencia de Evolver                                                    113
Si todos los datos de la solución óptima se encuentran en la
                      población, el operador de cruce solo sería suficiente para generar
                      la solución. La mutación ha demostrado ser una poderosa fuerza
                      en el mundo biológico por muchas de las razones por las que es
                      necesaria en el algoritmo genético: Es vital mantener una
                      población diversa de organismos individuales, evitando así que la
                      población sea demasiado rígida e incapaz de adaptarse a un
                      entorno dinámico. Como en el algoritmo genético, muchas veces
                      son las mutaciones genéticas en los animales lo que finalmente
                      lleva al desarrollo de nuevas funciones vitales.
                      En la mayoría de los casos, la configuración predeterminada de la
                      mutación no necesita ajuste, si bien puede ser modificada por
                      usuarios expertos para afinar el funcionamiento de Evolver en
                      problemas complejos. Es posible que el usuario quiera potenciar
                      la tasa de mutación si la población de Evolver es bastante
                      homogénea, y no se han encontrado nuevas soluciones en los
                      últimos cientos de pruebas. Los cambios típicos de configuración
                      van de 0.06 a 0.2. Cuando Evolver ha comenzado a solucionar el
                      problema, se puede cambiar la tasa de mutación dinámicamente a
                      través del Observador del Evolver (consulte la sección
                      Observador del Evolver más adelante en este capítulo).
                      Si selecciona Auto en la lista desplegable del campo Índice de
                      Mutación, se selecciona ajuste automático de la tasa de mutación.
                      El ajuste automático de la tasa mutación permite a Evolver
                      aumentar la tasa de mutación automáticamente cuando un
                      organismo "envejece" significativamente; es decir, ha
                      permanecido invariable durante un número extenso de pruebas.
                      En muchos modelos, especialmente cuando la tasa de mutación
                      óptimo se desconoce, seleccionar Auto puede generar mejores
                      resultados más rápidamente.
Número de         Para obtener más información sobre estas opciones, consulte el
bloques de        método de solución Calendarización de la sección Métodos de solución de
tiempo y celdas   este capítulo.
de restricción


Tareas            Para obtener más información sobre estas opciones, consulte el
precedentes       método de solución Proyecto de la sección Métodos de solución de este
                  capítulo.




114                                                         Comando Definición de Modelo
Operadores           Evolver incluye operadores genéticos seleccionables cuando se usa el
                     método de solución Receta. Si hace clic en la pestaña Operadores del
                     cuadro de diálogo Configuraciones de grupos de celdas ajustables
                     podrá seleccionar un operador genético específico (como cruce
                     heurístico o mutación de límites) para su uso al generar posibles
                     valores de una serie de celdas ajustables. Además, puede hacer que
                     Evolver pruebe automáticamente todos los operadores disponibles e
                     identifique el que mejor funcione en su problema.




                     Los algoritmos genéticos usan operadores genéticos para crear nuevos
                     miembros de una población a partir de miembros actuales. Dos de los
                     tipos de operadores genéticos que usa Evolver son el de mutación y el
                     de cruce. El operador de mutación determina si se producirán cambios
                     aleatorios de “genes” (variables) y cómo se producirán. El operador
                     de cruce determina cómo intercambian genes los pares de miembros
                     de una población para producir “descendientes” que puedan ser
                     mejores respuestas que cualquiera de sus “padres”.
                     Evolver incluye los siguientes operadores genéticos especializados:
                     ♦    Cruce aritmético – Crea nuevos descendientes combinando
                          aritméticamente dos padres (en lugar de intercambiando genes).
                     ♦    Cruce heurístico – Usa el valor producido por los padres para
                          determinar cómo se produce la descendencia. Busca en la
                          dirección más prometedora y proporciona un ajuste fino local.
                     ♦    Mutación Cauchy – Diseñada para producir pequeños cambios
                          en variables la mayoría de las veces, pero ocasionalmente puede
                          generar cambios grandes.
Capítulo 5: Guía de referencia de Evolver                                                   115
♦   Mutación de frontera – Diseñada para optimizar rápidamente
          variables que afectan el resultado de forma monotónica y puede
          ajustarse en los extremos de su rango sin violar las restricciones.
      ♦   Mutación no-uniforme – Produce mutaciones cada vez más
          pequeñas según se van calculando pruebas. Esto permite que
          Evolver “afine” las respuestas.
      ♦   Lineal – Diseñada para resolver problemas en los que la solución
          óptima se encuentra en el límite del espacio de búsqueda definido
          por las restricciones. Este par de mutación y operador de cruce se
          adapta bien a la resolución de problemas de optimización lineal.
      ♦   Búsqueda local – Diseñada para buscar en el espacio de solución
          en las cercanías de una solución anterior, expandiéndose en
          direcciones en las que hay mejoras, y contrayéndose en
          direcciones que generan peores resultados.
      Dependiendo del tipo de problema de optimización, hay diferentes
      combinaciones de mutación y operadores de cruce que pueden
      producir mejores resultados que otras. En la pestaña Operadores del
      cuadro de diálogo Configuraciones de grupos de celdas ajustables, se
      pueden seleccionar una serie de operadores cuando se usa el método
      de solución Receta. Cuando se hacen múltiples selecciones, Evolver
      prueba las combinaciones válidas de los operadores seleccionados
      para identificar los que mejor funcionan en su modelo. Después de
      una ejecución, la hoja de cálculo de Resumen de optimización clasifica
      cada uno de los operadores seleccionados según su funcionamiento
      durante la ejecución. Para las siguientes ejecuciones del mismo
      modelo, si selecciona sólo los operadores de mejor funcionamiento
      puede permitir optimizaciones más rápidas de mejor funcionamiento.
      NOTA: Cuando cree múltiples grupos de celdas ajustables, compruebe
      que ninguna celda de la hoja de cálculo 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 ignoraría y
      sustituiría con los valores del segundo grupo de celdas ajustables. Si
      cree que un problema debe representarse con más de un método de
      solución, considere dividir las variables en dos o más grupos.




116                                              Comando Definición de Modelo
Restricciones
                     Evolver permite introducir restricciones o condiciones que deben
                     cumplirse para que una solución sea válida. Las restricciones que ha
                     introducido se muestran en la tabla Restricciones del cuadro de
                     diálogo Definición de Modelo.




Añadir – Cómo        Si hace clic en el botón añadir situado junto a la tabla Restricciones,
añadir               aparece el cuadro de diálogo Configuraciones de restricción en el
restricciones
                     que se introducen las restricciones. Usando este cuadro de diálogo se
                     puede introducir el tipo de restricción deseada, junto con su
                     descripción, tipo, definición y tiempo de evaluación.




Capítulo 5: Guía de referencia de Evolver                                                   117
Tipo de         Se pueden especificar dos tipos de restricciones en Evolver:
restricción
                •   Duras o condiciones que deben cumplirse para que una solución
                    sea válida (por ejemplo, una restricción dura puede ser C10<=A4;
                    en este caso, si una solución genera un valor para C10 que es
                    superior al valor de la celda A4, la solución se descarta)
                •   Blandas, o condiciones que nos gustaría que se cumplieran en la
                    medida de lo posible, pero que podríamos ceder a cambio de una
                    gran mejora en la adaptación o en el resultado de la celda objetivo
                    (por ejemplo, una restricción blanda sería C10<100; sin embargo,
                    C10 podría ser superior a 100, pero si eso sucede, el valor
                    calculado en la celda objetivo se reduciría según una función de
                    penalización introducida).
Restricciones   Se pueden usar dos formatos –Simple y Fórmula – para introducir
simples y de    restricciones. El tipo de información que se puede introducir para una
fórmula
                restricción 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 número introducido. Una
                    restricción Simple sería:
                    0<Valor de A1<10
                    donde A1 se introduce en el cuadro Rango de celda, 0 se introduce
                    en el cuadro Mín y 10 se introduce en el cuadro Máx. El operador
                    deseado se selecciona en los cuadros de lista desplegable. En las
                    restricciones con formato de rango simple de valores se puede
                    introducir sólo un valor Mín, sólo un valor Máx o ambos. Los
                    valores Mín y Máx introducidos deben ser numéricos en el
                    formato de restricción de rango simple de valores.
                •   Formato de fórmula – El formato de fórmula permite introducir
                    cualquier fórmula válida de Excel como una restricción, como
                    puede ser A19<(1.2*E7)+E8. Evolver verifica si la fórmula
                    introducida genera un valor VERDADERO o FALSO para
                    comprobar si la restricción se ha cumplido.




118                                                        Comando Definición de Modelo
Restricciones        Las restricciones blandas son condiciones que nos gustaría que se
blandas              cumplieran en la medida de lo posible, pero que podríamos ceder a
                     cambio de una gran mejora de la idoneidad o del resultado de la celda
                     objetivo. Cuando no se cumple una restricción blanda se produce un
                     cambio en la celda objetivo que la aleja del valor óptimo. La cantidad
                     del cambio causada por el incumplimiento de una restricción blanda
                     se calcula usando una función de penalización que se introduce al
                     especificar la restricción blanda.




                     A continuación se ofrece información adicional sobre las funciones de
                     penalización:
                     •    Introducción de una función de penalización. Evolver tiene una
                          función de penalización predeterminada que aparece cuando se
                          introduce una restricción blanda. Sin embargo, cualquier fórmula
                          de Excel válida se puede introducir para calcular la cantidad de la
                          penalización a aplicar cuando no se cumple una restricción
                          blanda. La función de penalización introducida debe incluir la
                          palabra clave desviación que representa la cantidad absoluta por
                          la que la restricción ha superado su límite. Al final de cada
                          simulación de una solución de prueba, Evolver comprueba si se
                          han cumplido las restricciones blandas; si no, coloca la cantidad
                          de la desviación en la fórmula de la penalización introducida y
                          luego calcula la cantidad de la penalización a aplicar a la
                          estadística de la celda objetivo.
                          La cantidad de la penalización se suma o se resta a la estadística
                          calculada en la celda objetivo para que resulte menos “óptima”.
                          Por ejemplo, si se ha seleccionado Máximo en el campo Meta de
                          optimización del cuadro de diálogo Modelo, la penalización se
                          resta de la estadística calculada en la celda objetivo.
Capítulo 5: Guía de referencia de Evolver                                                      119
•   Visualización de los efectos de la función de penalización
          introducida. Evolver incluye la hoja de trabajo “Penalización.xls”
          que se puede usar para evaluar los efectos de diferentes funciones
          de penalización en restricciones blandas y celdas objetivo
          específicas.




      “Penalización.xls” permite seleccionar una restricción blanda de su
      modelo para analizar sus efectos. Luego, puede cambiar la función de
      penalización para ver cómo la función transforma un valor específico
      de la restricción blanda incumplida en un valor objetivo específico
      penalizado. Por ejemplo, si la restricción blanda es A10<100, puede
      usar “Penalización.xls” para ver cuál sería el valor objetivo si se
      calcula un valor de 105 en la celda A10.
      •   Visualización de las penalizaciones aplicadas. Cuando se aplica
          una penalización a la celda objetivo por incumplimiento de una
          restricción blanda, la cantidad de la penalización se puede
          visualizar en el Observador del Evolver. Además, los valores de
          penalización se muestran en la hoja de cálculo Bitácora de
          Optimización, que se puede crear tras la optimización.




120                                            Comando Definición de Modelo
NOTA: Si coloca una solución en la hoja de trabajo usando las
                     opciones de Actualización de Valores de Celda Ajustable del cuadro
                     de diálogo Parar, el resultado de la celda objetivo calculado que
                     muestra la hoja de cálculo no incluirá ninguna penalización aplicada
                     debido a restricciones blandas incumplidas. Compruebe la hoja de
                     cálculo Bitácora de Optimización para ver el resultado penalizado de
                     la celda objetivo y la cantidad de la penalización impuesta debido a
                     cada una de las restricciones blandas no cumplidas.

                     •    Implementación de restricciones blandas en las fórmulas de una
                          hoja de cálculo. Las funciones de penalización se pueden
                          implementar directamente en las fórmulas de la hoja de cálculo. Si
                          las restricciones blandas se implementan directamente en la hoja
                          de cálculo, no se deben introducir en el cuadro de diálogo
                          principal de Evolver. Para obtener más información sobre la
                          implementación de funciones de penalización en la hoja de
                          cálculo, consulte la sección Restricciones blandas del Capítulo 9:
                          Extras de Evolver.




Capítulo 5: Guía de referencia de Evolver                                                 121
122   Comando Definición de Modelo
Comando Configuraciones de optimización
                     Comando Configuraciones de optimización –
                     Pestaña General
                     Define las configuraciones generales de una optimización
                     El cuadro de diálogo Configuraciones de optimización de la pestaña
                     General muestra las configuraciones de tamaño de población,
                     actualización de pantalla y generador de número aleatorio.




                     Las opciones Parámetros de optimización de la pestaña General son:
                     •    Tamaño de población. El tamaño de población indica a Evolver
                          cuántos organismos (o grupos completos de variables) deben
                          almacenarse en memoria en cada momento. Aunque hay mucho
                          debate e investigación sobre el tamaño óptimo de una población
                          para diferentes problemas, generalmente recomendamos usar 30-
                          100 organismos en una población, dependiendo del tamaño del
                          problema (mayor población para problemas más grandes). La
                          opinión general es que una población grande tarda más tiempo en
                          generar una solución, pero tiene mayores probabilidades de
                          encontrar una respuesta global gracias a su reserva genética más
                          diversa.




Capítulo 5: Guía de referencia de Evolver                                                 123
•   Semilla de generador de número aleatorio. La opción de
          generador de número aleatorio permite establecer el valor
          generador inicial del generador de número aleatorio que utiliza
          Evolver. Cuando se usa un mismo valor generador, una
          optimización genera exactamente la misma respuesta para un
          mismo modelo, siempre que el modelo no se haya modificado. El
          valor del generador debe ser un número entero entre 1 y
          2147483647.




124                                Comando Configuraciones de optimización
Comando Configuraciones de optimización –
                     Pestaña Tiempo de ejecución
                     Define las configuraciones de tiempo de ejecución de una
                     optimización
                     El cuadro de diálogo Configuraciones de optimización de la pestaña
                     Tiempo de Ejecución muestra las configuraciones de Evolver que
                     determinan el tiempo de ejecución de la optimización. Estas
                     condiciones de parada especifican cómo y cuándo se detiene Evolver
                     durante una optimización. Una vez seleccionado el comando Iniciar
                     optimización, Evolver se ejecuta continuamente, buscando una
                     solución mejor y ejecutando simulaciones hasta que se cumplen los
                     criterios de parada seleccionados. Se puede activar una o varias de
                     estas condiciones, o ninguna en absoluto si quiere que Evolver busque
                     indefinidamente (hasta que usted lo pare). Cuando se seleccionan
                     múltiples condiciones, Evolver se para en cuanto se cumple una de
                     esas condiciones. También se pueden ignorar estas selecciones y parar
                     Evolver en cualquier momento manualmente usando el botón de
                     parada del Observador del Evolver o las ventanas de Progreso.




Capítulo 5: Guía de referencia de Evolver                                               125
Opciones de       Las opciones de Tiempo de ejecución de optimización de la pestaña
tiempo de         Tiempo de Ejecución son:
ejecución de la
optimización      •   Pruebas – Esta opción, cuando se establece, detiene Evolver
                      cuando se genera un número determinado de soluciones de
                      prueba.
                      La configuración de Pruebas es particularmente útil para
                      comparar la eficacia de Evolver con diferentes métodos de
                      modelación. Al cambiar la forma de modelar un problema, o al
                      seleccionar un método de solución diferente, se puede aumentar
                      la eficacia de Evolver. Si permite que un modelo se ejecute un
                      número específico de simulaciones, comprobará la eficacia de
                      Evolver en la convergencia sobre una solución,
                      independientemente de cualquier diferencia en el número de
                      variables seleccionadas, la velocidad del hardware informático
                      que se utiliza, o el tiempo que se tarda en dibujar de nuevo la
                      pantalla. La hoja de trabajo de resumen de optimización de
                      Evolver también es útil para comparar resultados entre
                      ejecuciones. Para obtener más información sobre las hojas de
                      cálculo de Resumen de Optimización, consulte la sección
                      Observador del Evolver – Opciones de detención de este capítulo.
                  •   Tiempo - Esta opción, cuando se establece, detiene las
                      simulaciones de escenarios de Evolver después de un número
                      determinado de horas, minutos o segundos transcurridos. Esta
                      opción puede ser cualquier número real positivo (600, 5.2, etc.).
                  •   Progreso – Esta opción, cuando se establece, detiene las
                      simulaciones de escenarios de Evolver cuando la mejora de la
                      celda objetivo es menor de una cantidad especificada (criterios de
                      cambio). Se puede especificar como un número entero el número
                      de simulaciones transcurridas para comprobar la mejora. Se
                      puede introducir un valor porcentual –como 1%– como valor
                      máximo de cambio en el campo Cambio máximo.
                      Supongamos que trata de maximizar la media de la celda objetivo,
                      y después de 500 simulaciones, la mejor respuesta encontrada es
                      354.8. Si la opción “Progreso” es la única condición de parada
                      seleccionada, Evolver se pausará en la simulación 600 y sólo
                      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
                      mínimo, y detiene la búsqueda. En problemas más complejos,
                      puede aumentar el número de simulaciones que ejecuta Evolver

126                                              Comando Configuraciones de optimización
(500) antes de decidir si hay suficiente margen de mejora para
                         seguir.
                          Esta es la condición de parada más usada, porque ofrece al
                          usuario una forma eficaz de parar Evolver después de que la tasa
                          de mejora haya bajado y Evolver no haya podido encontrar
                          mejores soluciones. Si está visualizando gráficos de los mejores
                          resultados en la pestaña Progreso del Observador del Evolver,
                          verá que el gráfico llega a un punto y mantiene una línea plana
                          antes de que se cumpla esta condición y Evolver se pare.
                          “Progreso” es realmente una forma automática de hacer lo que
                          usted haría con el gráfico: dejar que funcione hasta que deja de
                          producirse una mejora.
                     •    Fórmula es verdadera – Esta condición de parada detiene la
                          optimización cuando la fórmula de Excel introducida (o de
                          referencia) genera un valor VERDADERO durante la
                          optimización.
                     •    Detener en error – Esta condición de parada detiene la
                          optimización cuando se genera un valor de Error en la celda
                          objetivo.
                     NOTA: También puede optar por no seleccionar ninguna condición de
                     parada, y Evolver seguirá en funcionamiento indefinidamente hasta
                     que pulse el botón de parada en la ventana del Observador del
                     Evolver.




Capítulo 5: Guía de referencia de Evolver                                                 127
Comando Configuraciones de optimización –
      Pestaña Visualizar
      Define las configuraciones de visualización de una
      optimización
      El cuadro de diálogo Configuraciones de optimización de la pestaña
      Visualizar muestra las configuraciones de Evolver que determinan lo
      que se muestra durante la optimización.




      Las opciones de la pestaña Visualizar son:
      •   Minimizar Excel al iniciar. Esta opción minimiza Excel cuando se
          inicia una optimización.
      •   Mostrar recálculos de Excel. Esta opción actualiza Excel con Cada
          mejor nueva prueba o el final de Cada prueba.
      •   Mantener bitácora de todas las pruebas. Esta opción especifica
          que Evolver conserve un registro de funcionamiento de cada
          nueva simulación que se realice. Este registro se puede ver en la
          ventana del Observador del Evolver.




128                                 Comando Configuraciones de optimización
Comando Configuraciones de optimización –
                     Pestaña Macros
                     Define los macros a ejecutar durante la optimización
                     Los macros VBA se pueden ejecutar en diferentes momentos de una
                     optimización y de la ejecución de una simulación de cada solución de
                     prueba. Esto permite el desarrollo de cálculos personalizados que se
                     realizarán durante una optimización.




                     Los macros se pueden ejecutar en los siguientes momentos de una
                     optimización:
                     •    Al inicio de la optimización – El macro se ejecuta después de
                          hacer clic en el icono Ejecutar y antes de que se genere la primera
                          solución de prueba.
                     •    Antes del recálculo de cada prueba – El macro se ejecuta antes de
                          que se realice el recálculo de cada prueba.
                     •    Después del recálculo de cada prueba – El macro se ejecuta
                          después de que se realice el recálculo de cada prueba.
                     •    Después de almacenar variable de salida – El macro se ejecuta
                          después de cada prueba ejecutada y después de que se almacene
                          el valor de la celda objetivo.
                     •    Al final de la optimización – El macro se ejecuta cuando se
                          completa la optimización.




Capítulo 5: Guía de referencia de Evolver                                                   129
Esta función permite que se lleven a cabo cálculos que sólo se pueden
      realizar con un macro durante una optimización. Algunos ejemplos
      de este tipo de cálculos llevados a cabo con macros son los cálculos de
      operaciones repetitivas y los cálculos que requieren nuevos datos de
      fuentes externas.
      El Nombre de macro define el macro que se va a ejecutar.




130                                 Comando Configuraciones de optimización
Comando Iniciar optimización
                     Inicia una optimización
                     Si selecciona el comando Iniciar optimización o hace clic en el icono
                     Iniciar optimización, se inicia una optimización del modelo activo del
                     libro de trabajo. En cuanto Evolver se pone en funcionamiento, verá la
                     siguiente ventana Progreso de Evolver.




                     Aparecerá la ventana de progreso:
                          •   Prueba es el número total de pruebas ejecutadas y Número
                              válido indica el número de esas pruebas que cumplen las
                              restricciones.
                          •   Tiempo de ejecución es el tiempo transcurrido durante la
                              ejecución
                          •   Original es el valor original de la celda objetivo.
                          •   Mejor es el mejor valor actual de la celda objetivo que se trata
                              de minimizar o maximizar.




Capítulo 5: Guía de referencia de Evolver                                                   131
Las opciones de la barra de herramientas de la ventana Progreso de
      Evolver son:
      •   Mostrar opciones de actualización de Excel. Selecciona la
          actualización de la pantalla de Excel en Cada prueba, en Cada
          mejor nueva prueba o Nunca. Recuerde que en algunas
          situaciones, la pantalla se actualiza independientemente de estas
          configuraciones, por ejemplo, cuando se pausa la optimización.
      •   Mostrar Observador del Evolver. Muestra la ventana completa
          del Observador del Evolver.
      •   Ejecutar. Si hace clic en el icono Ejecutar, Evolver comienza la
          búsqueda de una solución basada en la descripción actual del
          cuadro de diálogo Modelo de Evolver. Si pausa Evolver, seguirá
          pudiendo hacer clic en el icono Ejecutar para continuar la
          búsqueda de mejores soluciones.
      •   Pausar. Si quiere pausar el proceso de Evolver, haga clic en el
          icono Pausar y el proceso de Evolver se “congelará”
          temporalmente. Mientras está pausado, podrá abrir y explorar el
          Observador del Evolver y cambiar parámetros, examinar toda la
          población, ver el informe de estado o copiar un gráfico.
      •   Parar. Detiene la optimización.




132                                              Comando Iniciar optimización
Comandos de Utilidades
                     Comando Configuraciones de aplicación
                     Muestra el cuadro de diálogo Configuraciones de aplicación
                     donde se establecen los ajustes predeterminados del
                     programa
                     Muchas de las configuraciones de Evolver se pueden establecer en
                     valores predeterminados que se usan cada vez que se usa Evolver.
                     Estas configuraciones predeterminadas incluyen las de Parada, Índice
                     de Cruce y Mutación, etc.




Capítulo 5: Guía 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
      optimización, se presupone que los valores originales de las celdas
      ajustables cumplen todas las restricciones duras; es decir, que la
      solución original es válida. Si no, el algoritmo puede tener que
      ejecutar muchas simulaciones antes de encontrar una primera
      solución válida. Sin embargo, si un modelo contiene múltiples
      restricciones, puede que no resulte aparente qué valores de las celdas
      ajustables cumplen todas ellas.
      Si un modelo de Evolver tiene múltiples restricciones duras, y las
      optimizaciones fallan y sólo generan soluciones no válidas, el
      programa lo indicará y podrá ejecutar el Solver de restricciones. El
      Solver de restricciones ejecuta una optimización en un modo especial
      en el que el objetivo es encontrar una solución que cumpla todas las
      restricciones duras. El progreso de la optimización se muestra al
      usuario de la misma forma que en las optimizaciones normales. La
      ventana Progreso muestra el número de restricciones que se cumplen
      en la solución original y en la mejor solución.




134                                                    Comandos de Utilidades
La ventana de Progreso tiene un botón que permite al usuario ir al
                     Observador del Evolver. En el modo de Solver de restricciones, los
                     detalles de progreso de la optimización se ofrecen como en las
                     optimizaciones realizadas en modo normal, en las pestañas Progreso,
                     Resumen, Bitácora, Población y Diversidad. En el modo de Solver de
                     restricciones, el Observador contiene una pestaña adicional
                     denominada Solver de restricciones. Esta pestaña muestra el estado
                     de cada restricción dura (Se cumple o No se cumple) de las
                     soluciones Mejor, Original y Última.




                     Una optimización del Solver de restricciones se detiene cuando se
                     encuentra una solución que cumple todas las restricciones duras;
                     también se puede parar haciendo clic en un botón de la ventana de
                     progreso o de la ventana Observador del Evolver. Después de la
                     ejecución del Solver de restricciones, en la pestaña Opciones de
                     detención del Observador del Evolver se puede optar por conservar
                     las soluciones Mejor, Original o Última, como sucede en las
                     optimizaciones realizadas en modo normal.
                     Recuerde que no es necesario configurar el Solver de restricciones
                     antes de su uso. El programa usa las configuraciones especificadas en
                     el modelo, y sólo cambia el objetivo de optimización: el nuevo
                     objetivo es encontrar una solución que cumpla todas las restricciones
                     duras.




Capítulo 5: Guía 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 parámetros y
                     analizar el progreso de la optimización. Además, en la barra de estado
                     situada en la parte inferior del Observador del Evolver se pueden ver
                     en tiempo real los datos del problema y del progreso de Evolver.




Capítulo 5: Guía de referencia de Evolver                                                137
Observador del Evolver – Pestaña de Progreso
      Muestra los gráficos de progreso del valor de la celda objetivo
      La pestaña de Progreso del Observador del Evolver muestra
      gráficamente cómo cambian los resultados, por simulación, de la
      celda objetivo seleccionada.




      Los gráficos de progreso muestran la cuenta de simulaciones en el eje
      X y el valor de la celda objetivo en el eje Y. Se puede modificar la
      escala de los gráficos de progreso haciendo clic en los límites de eje y
      arrastrando el eje hasta el nuevo valor de escala. También se puede
      hacer clic derecho en el gráfico de Progreso para mostrar el cuadro de
      diálogo de Opciones de Gráfico en el que se pueden personalizar los
      gráficos.




138                                                   El Observador del Evolver
Cuadro de diálogo    El cuadro de diálogo Opciones de Gráfico muestra las configuraciones
Opciones de          que controlan los títulos, leyendas, escala y fuentes del gráfico.
Gráficos




Capítulo 5: Guía de referencia de Evolver                                              139
Observador del Evolver – Pestaña de Resumen
      Muestra los detalles de los valores de las celdas ajustables
      La pestaña Resumen del Observador del Evolver muestra una tabla
      de resumen de los valores de las celdas ajustables usados durante la
      optimización, junto con herramientas para ajustar las tasas de cruce y
      mutación de cada Grupo de Celdas Ajustables del modelo.




      Las Configuraciones de grupos de celdas ajustables permiten
      cambiar las tasas de cruce y mutación del algoritmo genético mientras
      el problema está en proceso. Cualquier cambio que se haga aquí
      sustituye la configuración original de estos parámetros y se activa
      inmediatamente, afectando a la población (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 mutación, en muchos modelos se puede aumentar
      hasta llegar a 0.4 si quiere encontrar la mejor solución y no le importa
      esperar. Si establece el valor de mutación en 1 (el máximo) el
      programa hará suposiciones totalmente aleatorias, ya que Evolver
      realiza las mutaciones después de hacer el cruce. Esto significa que
      después de cruzar los dos padres seleccionados para crear una
      solución descendiente, el 100% de los “genes” de la solución mutarán
      a números aleatorios, haciendo que el cruce no tenga significado (para
      obtener más información, consulte las secciones “tasa de cruce, para
      qué sirve” e “tasa de mutación, para qué sirve” del índice de este
      manual).

140                                                   El Observador del Evolver
Observador del Evolver – Pestaña de Bitácora
                     Muestra un registro de cada simulación ejecutada durante la
                     optimización
                     La pestaña de Bitácora del Observador del Evolver muestra una tabla
                     de resumen de cada simulación ejecutada durante la optimización. El
                     registro incluye los resultados de la celda objetivo, de cada celda
                     ajustable y de las restricciones introducidas. El registro sólo está
                     disponible si se selecciona la opción Mantener bitácora de todas las
                     pruebas en la pestaña Visualizar del cuadro de diálogo
                     Configuraciones de optimización.




                     Las opciones Mostrar establecen si se muestra un registro de Todas
                     las pruebas o sólo de aquellas pruebas en las que se produjo un Paso
                     de progreso (es decir, cuando los resultados de la optimización
                     mejoraron). El registro incluye:
                     1) Tiempo transcurrido, o el tiempo de inicio de la simulación
                     2) Pruebas, o número 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




Capítulo 5: Guía de referencia de Evolver                                               141
4) Media de resultado, Desviación Estándar de resultado, Mínimo
         de resultado y Máximo de resultado, o valores estadísticos de la
         distribución de probabilidad de la celda objetivo calculada
      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 – Pestaña de Población
                     Incluye todas las variables de cada organismo (cada posible
                     solución) de la población actual
                     La tabla de población es una cuadrícula que incluye todas las
                     variables de cada organismo (cada posible solución) de la población
                     actual. Estos organismos (“Org n”) se clasifican en orden de peor a
                     mejor. Como la tabla incluye todos los organismos de una población,
                     la configuración “tamaño de población” del cuadro de diálogo
                     Configuraciones de Evolver determina cuántos organismos se
                     incluyen (el valor predeterminado es 50). Además, la primera
                     columna de la tabla muestra el valor resultante de la celda objetivo de
                     cada organismo.




Capítulo 5: Guía de referencia de Evolver                                                  143
Observador del Evolver – Pestaña de Diversidad
      Muestra el diagrama de color de todas las variables de la
      población actual
      El diagrama de la pestaña Diversidad asigna colores a los valores de
      las celdas ajustables, basándose en la diferencia que hay entre el valor
      de una celda determinada y la población de organismos (soluciones)
      almacenadas en memoria en un momento determinado. (Usando la
      terminología de optimización genética, esto es una indicación de la
      diversidad que hay en la reserva genética.) Cada barra vertical del
      diagrama corresponde a una celda ajustable. Las rayas horizontales
      dentro de cada barra representan los valores de esa celda ajustable en
      diferentes organismos (soluciones). Los colores de las rayas se asignan
      dividiendo el rango entre el valor mínimo y el máximo de una celda
      ajustable determinada en 16 intervalos de igual longitud; cada uno de
      los cuales se representa con un color diferente. Por ejemplo, el hecho
      de que la barra vertical que representa la segunda celda ajustable
      tenga un solo color significa que la celda tiene el mismo valor en cada
      solución que hay en memoria.




144                                                   El Observador del Evolver
Observador del Evolver – Pestaña de Opciones de
                     detención
                     Muestra las opciones de parada de la optimización
                     Cuando se hace clic en el botón Parar, aparece la pestaña Opciones de
                     detención del cuadro de diálogo Observador del Evolver. Esta
                     pestaña incluye las opciones disponibles de actualización de la hoja
                     de cálculo con los mejores valores calculados de las celdas ajustables,
                     restauración de los valores originales y generación de un informe de
                     resumen de la optimización.
                     Si hace clic en Aceptar, se destruye la población de soluciones de
                     Evolver y se colocan los valores seleccionados en la hoja de cálculo. Si
                     quiere guardar cualquier dato de la sesión de Evolver, incluyendo los
                     valores de la población, la hora y el número de pruebas de la
                     ejecución, asegúrese de que selecciona crear un informe de resumen
                     de la optimización.




Capítulo 5: Guía de referencia de Evolver                                                   145
Este cuadro de diálogo también aparece si se cumple alguna de las
      condiciones de parada especificadas por el usuario (se ha evaluado el
      número de pruebas establecido, han transcurrido los minutos
      solicitados, etc.). La alerta de parada ofrece tres opciones de
      actualización de los valores de las celdas ajustables en la hoja de
      cálculo: Mejor, Original y Último.
      •   Mejor. Esa opción acepta los resultados de Evolver y termina la
          búsqueda de una solución mejor en Evolver. Cuando se
          selecciona esta opción, los valores del mejor escenario que
          Evolver ha encontrado en su búsqueda se colocan en las celdas
          ajustables de la hoja de cálculo.
      •   Original. Esta opción restaura las celdas ajustables a sus valores
          originales anteriores a la ejecución de Evolver y termina la
          búsqueda de mejores soluciones en Evolver.
      •   Último. Esta opción hace que Evolver coloque los últimos valores
          calculados de la optimización en la hoja de cálculo. La opción
          Últimos Valores Calculados es especialmente útil para refinar
          modelos.




146                                                   El Observador del Evolver
Las opciones Informes a generar pueden generar hojas de trabajo de
                     resumen de optimización que se pueden usar para generar informes
                     de resultados de una ejecución y comparar los resultados entre
                     ejecuciones. Las opciones de informe son:
                     •    Resumen de optimización. Este informe de resumen de la
                          optimización contiene información como la fecha y la hora de la
                          ejecución, las configuraciones de optimización utilizadas, el valor
                          calculado para la celda objetivo y el valor de cada una de las
                          celdas ajustables.




Capítulo 5: Guía de referencia de Evolver                                                   147
Este informe es útil para comparar los resultados de optimizaciones
      sucesivas.
      •   Bitácora de todas las pruebas. Este informe registra los resultados
          de todas las pruebas realizadas.




      •   Bitácora de los pasos de progreso. Ese informe registra los
          resultados de todas las pruebas que mejoraron el resultado de la
          celda objetivo.




148                                                  El Observador del Evolver
Capítulo 6: Optimización


                     Métodos de optimización...............................................................151
                       Los algoritmos de escalada .................................................................153
                     Excel Solver ....................................................................................157
                       Evolver y Solver....................................................................................158
                       Cuándo se debe usar Evolver.............................................................159
                     Tipos de problemas........................................................................161
                                  Problemas lineales..................................................................161
                                  Problemas no lineales............................................................161
                                  Problemas basados en tablas................................................163
                                  Problemas combinatorios......................................................164




Capítulo 6: Optimización                                                                                                   149
150
Métodos de optimización
                     Ya hemos visto algunos ejemplos de problemas de optimización en
                     los tutoriales. Algunos problemas de optimización son más difíciles
                     de resolver que otros. En los problemas más difíciles, como la
                     búsqueda de la ruta más corta entre 1000 ciudades, no es posible
                     examinar todas las soluciones posibles. Hacerlo requeriría años de
                     cálculos en las computadoras más rápidas.
                     Para resolver ese tipo de problemas, es necesario hacer una búsqueda
                     en un subgrupo de todas las posibles soluciones. Al examinar estas
                     soluciones, podremos hacernos una idea de cómo encontrar mejores
                     soluciones. Esto se consigue con un algoritmo. Un algoritmo es una
                     descripción por pasos de cómo resolver un problema. Todos los
                     programas informáticos, por ejemplo, se desarrollan mediante la
                     combinación de muchos algoritmos.
                     Empecemos por explorar cómo representan un problema la mayoría
                     de los algoritmos de resolución de problemas. La mayoría de los
                     problemas se pueden dividir en tres componentes básicos: variables
                     de entrada, una función de algún tipo y un resultado de salida.

                                            Qué se analiza: Qué se aplica: Para el mejor:
                      Componentes el          Entradas        Función         Resultado
                      problema
                      En Evolver/Excel        Variables       Modelo           Objetivo
                     Supongamos que nuestro problema de optimización tiene dos
                     variables, X e Y. Cuando se ponen en una ecuación, estas dos
                     variables producen un resultado =Z. Nuestro problema es encontrar
                     los valores X y Y que produzcan el valor Z más grande. Podemos
                     imaginar que Z es una “clasificación” que indica lo adecuado que es
                     cada par de valores X,Y.

                                            Qué se analiza: Qué se aplica: Para el mejor:
                      En esta ejemplo          XeY           Ecuación             Z




Capítulo 6: Optimización                                                                    151
Un diagrama de todos los pares X,Y y la Z resultante generaría un
      gráfico de superficie tridimensional como el que se muestra a
      continuación.




                    Un “paisaje” de los posibles escenarios o soluciones.

      Cada intersección de los valores de X e Y produce una altura Z. Los
      picos y valles de este “paisaje” representan soluciones buenas y malas
      respectivamente. En esta función, la búsqueda del punto máximo o
      más elevado mediante el examen de cada solución tomaría demasiado
      tiempo, incluso con la computadora más potente y con el programa
      más rápido.* Recuerde que le damos a Excel sólo la función, no un
      gráfico de la función, y que igualmente podría tratarse de un
      problema de 200 dimensiones en lugar de este de dos dimensiones.
      Por lo tanto, necesitamos un método que nos permita hacer menos
      cálculos y genere la máxima productividad.




      *En nuestro diagrama, la función se muestra como un paisaje
      uniforme. En los pocos casos en los que se usan funciones simples y
      uniformes (diferenciables), se puede hacer un cálculo de los mínimos
      y máximos. Sin embargo, los problemas más realistas no se describen
      con funciones tan uniformes.
152                                                           Métodos de optimización
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 suposición
                             aleatoria).
                           2) Se dirige en una dirección arbitraria durante una pequeña distancia.
                           3) Si ha llegado a un punto que es superior, permanezca en esa
                              posición y repita el paso 2. Si el nuevo punto es inferior, vuelva al
                              punto original e inténtelo de nuevo.
                     El método de escalada prueba una sola solución o escenario cada vez.
                     Usaremos un punto negro (•) para representar una posible solución
                     (un grupo de valores X, Y y Z). Si ponemos el punto en un punto
                     inicial aleatorio, esperamos que nuestro método de escalada lleve el
                     punto hasta el lugar más alto del gráfico.




                     En el diagrama de arriba podemos ver claramente que queremos que
                     el punto vaya hacia arriba a la derecha. Sin embargo, lo sabemos
                     porque ya hemos visto el paisaje completo. Cuando el algoritmo se
                     ejecuta, explora el paisaje situado inmediatamente alrededor, pero no
                     el paisaje completo; ve los árboles, pero no ve el bosque completo.




Capítulo 6: Optimización                                                                              153
En la mayoría de los problemas del mundo real, el paisaje no es
      uniforme, y requeriría años calcularlo, por eso sólo calculamos el
      escenario actual y los escenarios situados inmediatamente alrededor.
      Imagine que el punto es una persona con los ojos vendados situada
      entre colinas de subidas y bajadas suaves. Si esta persona emplea el
      método de escalada, pondría un pie en cada dirección, y sólo se
      movería cuando sintiera que el terreno sube. Esta persona seguirá
      subiendo y finalmente acabaría en la cima de la colina con la tierra a
      su alrededor a nivel más bajo que el terreno en el que se encuentra.
      Esto parece simple. Sin embargo, tenemos un problema muy serio si
      la persona empieza en otro lugar ... y sube la colina equivocada. (ver
      el diagrama de abajo).




             Incluso con una función uniforme, el método de escalada puede fallar
                si se comienza en una posición ligeramente diferente (derecha).

      La escalada sólo encuentra la colina más cercana, o máximo local. Por
      eso, si un problema tiene un paisaje de solución muy irregular, como
      la mayoría de los modelos realistas, es muy posible que el método de
      escalada no encuentre la colina más alta, ni siquiera una de las más
      altas.
      La escalada tiene otro problema; ¿cómo se encuentra el terreno
      alrededor de nuestra posición actual? Si el paisaje se describe con una
      función uniforme, se puede usar diferenciación (una técnica de
      cálculo) para averiguar en qué dirección se encuentra la pendiente
      más pronunciada. Si el paisaje es discontinuo o no diferenciable
      (como es más probable en los problemas reales), debemos calcular la
      “idoneidad” de los escenarios situados alrededor.




154                                                           Métodos de optimización
Por ejemplo, supongamos que un banco contrata un guardia de
                     seguridad de 9:00 am a 5:00 pm para proteger el banco, pero el banco
                     debe dar al oficial dos (2) descansos de media hora. Debemos intentar
                     encontrar las horas de descanso óptimas, siguiendo reglas generales
                     sobre relaciones de rendimiento / fatiga, y considerando los
                     diferentes niveles de actividad de los clientes a lo largo del día.
                     Podemos empezar por probar diferentes combinaciones de descansos
                     y evaluarlos. Si en la actualidad usamos un horario en el que los
                     descansos están a las 11:00 am y a las 3:00 pm, podemos calcular la
                     productividad de los escenarios cercanos:


                     Dirección           Descanso 1 (x)     Descanso 2     –Puntuación”
                                                                (y)        (z)
                     Solución actual       11:00 am          3:00 pm       = 46.5

                     Escenario oeste       10:45 am          15:00 am      = 44.67
                     Escenario este        11:15 am          15:00 am      = 40.08
                     Escenario norte       11:00 am          15:15 am      = 49.227
                     Escenario sur         11:00 am           2:45 pm      = 43.97


                     Si tuviéramos tres celdas ajustables (descansos) en lugar de dos,
                     necesitaríamos buscar en ocho direcciones diferentes. De hecho, si
                     tuviéramos sólo cincuenta variables, (algo realista para un problema
                     de tamaño medio), necesitaríamos calcular la productividad de 250, es
                     decir, más de cuatro mil billones de escenarios, y eso sólo para un
                     guardia.
                     Se pueden hacer modificaciones al método de escalada para mejorar
                     su capacidad de encontrar máximos globales (las colinas más altas de
                     todo el paisaje). La escalada resulta más útil a la hora de tratar
                     problemas unimodales (un solo pico); por eso algunos programas de
                     análisis usan esta técnica. En cualquier caso, es muy limitado para
                     tratar problemas complejos o grandes.




Capítulo 6: Optimización                                                                  155
156   Métodos de optimización
Excel Solver
                     Excel incluye una utilidad de optimización denominada Solver.
                     Cumple una función 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 programación lineal. Esta técnica matemática
                     clásica frecuentemente se denomina método Simplex y encuentra
                     siempre respuestas perfectas a problemas pequeños puramente
                     lineales.
                     Como la mayoría de los programas pequeños de resolución, el
                     Microsoft Solver también resuelve problemas no lineales usando una
                     rutina de escalada (específicamente 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 más de una solución posible pueden
                     ser imposibles de resolver correctamente para Solver, porque Solver
                     termina en una solución local y no puede saltar a una solución global
                     (ver la figura de abajo).




                                           Paisaje de posibles soluciones.

                     Además, Solver requiere que la función representada por su modelo
                     sea continua. Esto significa que el resultado de salida debe cambiar
                     uniformemente con el ajuste de las variables de entrada. Si su modelo
                     usa tablas de referencia, adquiere datos con ruido en tiempo real de
                     otros programas, contiene elementos aleatorios o incluye reglas si-
                     entonces, su modelo será irregular y discontinuo. Solver no sería
                     capaz de resolver ese problema.
                     Solver también pone un límite al número de variables y al número de
                     restricciones del problema (200) por encima del cual hay que recurrir
                     a una técnica más potente.


Capítulo 6: Optimización                                                                 157
Evolver y Solver
      Tanto Excel Solver como Evolver tienen sus propias ventajas e
      inconvenientes. En general, Solver es más rápido a la hora de resolver
      problemas simples y pequeños, mientras que Evolver es la única
      forma de resolver otros muchos tipos de problemas. Además, notará
      que Evolver encontrará mejores respuestas que Solver en problemas
      más grandes y complejos, del tipo que normalmente se encuentran en
      el “mundo real”.
      Evolver puede encontrar respuesta a muchos más tipos de problemas
      que Solver. Casi cualquier situación numérica que pueda modelar en
      Excel se puede optimizar en Evolver.
      Más específicamente, Evolver puede encontrar soluciones óptimas a
      problemas numéricos lineales, no lineales, basados en tablas o
      estocásticos (aleatorios). Puede resolver problemas con cualquier
      combinación de estas cualidades. Evolver también puede generar
      permutaciones de valores existentes, reordenar valores o agrupar
      valores de diferentes formas para encontrar una solución ó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 búsqueda
      procesando inteligentemente miles de escenarios y conservando los
      mejores.
      El proceso de algoritmo genético de Evolver se adapta mejor que
      Solver a las interrupciones. Se puede detener en proceso de Evolver
      en cualquier momento para ver la mejor solución 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 programación de trabajos, tal vez
      quiera encontrar las mejores tareas para asignar a las máquinas.
      Cuando una máquina está disponible, puede parar el proceso del
      algoritmo genético para encontrar la tarea óptima a asignar a esa
      máquina. Luego, esa tarea se puede omitir en el problema y la
      optimización puede continuar con el resto de los trabajos.
      El algoritmo genético que proporciona a Evolver la capacidad para
      administrar todos esos tipos de problemas normalmente será más
      lento que Solver y que otros métodos matemáticos o estadísticos
      tradicionales. Algunas clases de problemas utilizan rutinas de
      optimización bien conocidas y refinadas. En esos casos, encontrará las
      respuestas más rápidamente usando esos métodos personalizados, en
      lugar del método de uso general que utiliza Evolver.

158                                                               Excel Solver
Cuándo 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 más variables que las que el
                     algoritmo puede administrar.
                     3) El problema es demasiado complejo para ser resuelto mediante cualquier
                     otro método.
                     4) El modelo contiene números aleatorios, tablas de referencia, reglas si-
                     entonces o cualquier otra función discontinua que no permita el uso de
                     programas de resolución tradicionales.
                     5) No tiene idea de cuál puede ser la solución y, por lo tanto, no tiene una
                     suposición de arranque desde la que los programas de resolución tradicionales
                     puedan iniciar la búsqueda.
                     6) Quiere tener la opción de que algunas restricciones “duras” del problema
                     (X tiene que ser igual a Y) puedan ser más “blandas” y, por lo tanto, más
                     precisas (X debe ser igual Y, porque de lo contrario, pierdo parte de Z),
                     explorando un rango mucho más amplio de posibles soluciones mejores,
                     aunque para conseguirlas no se cumplan algunas restricciones.
                     7) Prefiere conseguir una solución bastante buena al problema más
                     rápidamente que esperar mucho tiempo para encontrar la mejor solución
                     absoluta .
                     8) Necesita muchas soluciones alternativas cercanas a la mejor solución.
                     9) Desea incorporar un algoritmo de búsqueda simple y sólido a su propia
                     aplicación personalizada (consulte Desarrollo de Evolver para obtener más
                     detalles).
                     NOTA: Cuando el tiempo lo permita, Evolver también se puede usar
                     además de otros métodos para comprobar la precisión del proceso.
                     Aunque tarde más tiempo que otros métodos, la mejor solución que
                     Evolver pueda encontrar probablemente merezca la inversión
                     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 técnicas de programación lineal, teoría
                     de la optimización, matemáticas o estadística. El uso de Evolver sólo
                     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 descripción de los valores que Evolver
                     puede usar cuando busque la solución óptima.

Capítulo 6: Optimización                                                                           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            En los problemas lineales, todos los resultados son funciones lineales
lineales             simples de las variables de entrada, como en y=mx+b. Cuando los
                     problemas sólo aplican operaciones aritméticas simples como suma,
                     resta y funciones de Excel como TENDENCIA() o PRONOSTICO(),
                     quiere decir que las relaciones entre las variables son puramente
                     lineales.
                     Los problemas lineales han sido relativamente fáciles de solucionar
                     desde la llegada de las computadoras y la invención del Método
                     Simplex por parte de George Dantzig. Un problema lineal simple se
                     puede solucionar más rápidamente y con mayor precisión con una
                     utilidad de programación lineal. La utilidad Solver que ofrece Excel se
                     convierte en una herramienta de programación lineal cuando se
                     marca la casilla “Asumir modelo lineal”.* Solver usa luego una rutina
                     de programación lineal para encontrar rápidamente la solución
                     perfecta. Si el problema se puede expresar en términos puramente
                     lineales, debe usar programación lineal. Desafortunadamente, la
                     mayoría de los problemas del mundo real no se pueden describir
                     linealmente.
Problemas no         Si el costo de fabricación y transporte de 5,000 dispositivos es de
lineales             $5,000, ¿costaría $1 fabricar y transportar 1 dispositivo?
                     Probablemente no. La línea de producción de la fábrica de
                     dispositivos seguiría consumiendo energía, seguiría siendo necesario
                     completar y procesar el papeleo administrativo de los diferentes
                     departamentos, los materiales se seguirían comprando al por mayor,
                     los camiones requerirían la misma cantidad de gasolina para
                     transportar los dispositivos y el conductor del camión seguiría
                     recibiendo el pago de un día completo de salario independientemente
                     de lo lleno que esté su camión. La mayoría de los problemas del
                     mundo real no incluyen variables con relaciones lineales simples. Esos
                     problemas incluyen multiplicación, división, exponentes y funciones
                     incorporadas de Excel como RCUAD() o CRECIMIENTO(). Cuando
                     las variables tienen una relación desproporcionada entre ellas, el
                     problema deja de ser lineal para ser no lineal.


                     *Para obtener detalles más específicos sobre la utilidad del Solver de
                     Microsoft, consulte la Guía del Usuario de Excel.
Capítulo 6: Optimización                                                                      161
Un ejemplo perfecto de problema no lineal es la administración del
      proceso de fabricación de una planta química. Imagine que queremos
      mezclar algunos reactivos químicos y obtener un producto como
      resultado. La relación de esta reacción puede variar de forma no lineal
      con la cantidad de reactivos disponibles. En un momento dado, el
      catalizador se satura y un exceso de reactivo supone un problema. El
      siguiente diagrama muestra esta relación:




      Si sólo necesitamos encontrar el nivel mínimo de reactivos que genere
      el nivel más alto de reacción, podemos comenzar en cualquier punto
      del gráfico y escalar por la curva hasta alcanzar la cima. Este método
      para encontrar una respuesta se denomina escalada.
      El método de escalada siempre halla la mejor respuesta si (a) la
      función que se explora es uniforme y (b) los valores de la variable
      inicial se encuentran junto a la colina más alta. Si no se cumple una de
      estas condiciones, el método de escalada puede convertirse en una
      solución local en lugar de alcanzar la solución global.
      Los problemas altamente no lineales, los que se ven con frecuencia en
      la práctica, tienen muchas posibles soluciones por todo un
      complicado paisaje. Si un problema tiene muchas variables, o las
      fórmulas tienen demasiado ruido o muchas curvas, la mejor respuesta
      probablemente no se encontrará con el método de escalada, incluso
      aunque se hagan cientos de pruebas desde diferentes puntos de inicio.
      Lo más probable es que se encuentre una solución inferior a la óptima
      y extremadamente local (ver la figura de abajo).




         El método de escalada encuentra el   Datos con ruido: el método de escalada no
          máximo local, pero no el global.     es eficaz, incluso con múltiples pruebas.
162                                                               Tipos de problemas
Evolver no utiliza el método de escalada. En su lugar, usa una técnica
                     de búsqueda estocástica dirigida, denominada algoritmo genético.
                     Esto permite a Evolver saltar de un lado a otro dentro del espacio de
                     solución de un problema, examinando muchas combinaciones de
                     valores de entrada sin quedarse en el resultado óptimo local. Además,
                     Evolver permite que se “comuniquen” los buenos escenarios para
                     obtener valiosa información sobre el paisaje general de la solución, y
                     luego usa esa información 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 múltiples escenarios posibles y luego
                                 refina la búsqueda basándose en los resultados obtenidos.

Problemas            Muchos problemas requieren el uso de tablas de referencia y bases de
basados en tablas    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 búsqueda de soluciones
                     óptimas a las rutinas de escalada como la de Solver. Sin embargo,
                     Evolver no requiere continuidad en las funciones que evalúa, 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 función de una variable, debe utilizar Evolver.
                     Si sólo 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 sólo se trata de una constante, y
                     probablemente podrá usar Solver.




Capítulo 6: Optimización                                                                     163
Problemas       Hay un grupo grande de problemas que son muy diferentes a los
combinatorios   problemas numéricos 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 difíciles de resolver, porque frecuentemente
                requieren una cantidad de tiempo exponencial; es decir, la cantidad
                de tiempo necesaria para resolver un problema con 4 variables puede
                ser de 4 x 3 x 2 x 1, y si multiplicamos por dos el número de variables
                hasta 8, el tiempo de resolución se eleva a 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1, o
                sea, un factor de 1,680. Mientras que el número de variables se
                multiplica por dos, el número de posibles soluciones que deben
                comprobarse aumenta 1,680 veces. Por ejemplo, la elección de los
                jugadores titulares de un equipo de béisbol es un problema
                combinatorio. Con 9 jugadores, se puede elegir uno entre los 9 como
                primero en el orden de bateo. Luego puede elegir uno entre 8 como
                segundo bateador; uno de entre los 7 restantes será el tercero, etc. Por
                lo tanto hay 9x8x7x6x5x4x3x2x1 formas (9 factorial) de seleccionar el
                orden de bateo de 9 jugadores. Esto supone 362,880 órdenes
                diferentes. Si multiplicamos por dos el número de jugadores, hay 18
                factorial posibles órdenes, o sea 6,402,373,705,000,000 posibles
                órdenes de bateo!
                El algoritmo genético de Evolver busca inteligentemente entre las
                posibles permutaciones. Esto es mucho más práctico que buscar entre
                todas las posibilidades, y es mucho más eficaz que examinar
                permutaciones puramente aleatorias; se pueden conservar sub-
                órdenes de buenos escenarios y usarlas para crear escenarios aún
                mejores.




164                                                                      Tipos de problemas
Capítulo 7: Algoritmos
genéticos
                     Introducción ....................................................................................167

                     Historia.............................................................................................167

                     Un ejemplo biológico .....................................................................171

                     Un ejemplo digital...........................................................................173




Capítulo 7: Algoritmos genéticos                                                                                          165
166
Introducción
                     Evolver utiliza el algoritmo genético para buscar respuestas óptimas
                     en los modelos de simulación. Este capítulo proporciona información
                     general sobre algoritmos genéticos que explica cómo se usan para la
                     optimización de modelos de simulación.

Historia
                     Los primeros algoritmos genéticos fueron desarrollados a principios
                     de los años setenta por John Holland en la University of Michigan. A
                     Holland le llamaba la atención la facilidad con la que los sistemas
                     biológicos realizaban tareas que no podían realizar ni siquiera las
                     supercomputadoras más avanzadas; los animales pueden reconocer
                     objetos sin problemas, comprender y traducir sonidos y navegar en
                     general a través de un entorno dinámico casi instantáneamente.
                     Durante décadas, los científicos pretendieron replicar esta capacidad
                     en las máquinas, pero empezamos a darnos cuenta de la dificultad
                     que entraña esta tarea. La mayoría de los científicos están de acuerdo
                     en que cualquier sistema biológico complejo que exhiba estas
                     cualidades ha evolucionado para llegar a ese punto.
Teoría de la         La Evolución, según afirma la teoría, ha producido sistemas
Evolución            asombrosos mediante elementos relativamente sencillos y auto-
                     reproductivos que siguen una serie de reglas simples:
                     1) La evolución se produce a nivel cromosómico. El organismo no
                     evoluciona sino que sirve de vehículo mediante el que se transportan
                     y transmiten los genes. Son los cromosomas los que cambian
                     dinámicamente con cada reorganización de los genes.
                     2) La naturaleza tiende a hacer más copias de los cromosomas que
                     producen organismos más “adaptados”. Si un organismo sobrevive lo
                     suficiente, y está sano, hay mayores probabilidades de que sus genes
                     se transmitan a una nueva generación de organismos a través de la
                     reproducción. Este principio se conoce como el de “supervivencia de
                     los mejor adaptados”. Recuerde que “mejor adaptado” es un término
                     relativo; para que un organismo tenga “éxito” sólo necesita adaptarse
                     en comparación con otros de la población actual.




Capítulo 7: Algoritmos genéticos                                                            167
3) Debe mantenerse la diversidad de la población. En la naturaleza se
      producen con frecuencia mutaciones aparentemente aleatorias que
      aseguran la variación de los organismos. Estas mutaciones genéticas
      resultan muchas veces en una función útil o incluso vital para la
      supervivencia de una especie. Con una gama más amplia de posibles
      combinaciones, una población es menos susceptible a debilidades
      comunes que puedan destruir a todos sus elementos (virus, etc.) o a
      otros problemas asociados con la reproducción con consanguinidad.
      Cuando se divide la evolución en estas reglas fundamentales, es más
      fácil aplicar estas técnicas al mundo informático y comenzar
      verdaderamente un avance hacia máquinas de funcionamiento más
      fluido y natural.
      Holland empezó a aplicar estas propiedades de la evolución a
      secuencias simples de números que representaban cromosomas.
      Primero codificó el problema en secuencias binarias (filas de unos y
      ceros) para representar los cromosomas, y luego hizo que la
      computadora generara muchas de estas secuencias de “bit” para
      formar una población completa. Programó una función de adaptación
      que pudiera evaluar y clasificar cada secuencia de bit, y las secuencias
      que se consideraron más “adaptadas” intercambiaban datos con otras
      a través de una rutina de “cruce” para crear secuencias de bit de
      “descendencia”. Holland incluso sometió sus cromosomas digitales a
      un operador de “mutación” que introdujo aleatoriedad a los
      cromosomas “descendientes” resultantes para conservar la diversidad
      de la población. Esta función de adaptación reemplazaba el papel de
      la muerte en el mundo biológico, determinando qué secuencias eran
      buenas para continuar con la reproducción y cuáles dejarían de
      conservarse en memoria.




168                                                                     Historia
El programa conservó un número determinado de estos
                     “cromosomas” en memoria, y esta “población” completa de
                     secuencias continuó evolucionando hasta maximizar la función de
                     adaptación. El resultado se decodificó de nuevo a sus valores
                     originales para revelar la solución. John Holland sigue siendo un
                     pionero activo en este campo, y ahora se unen a él cientos de
                     científicos y expertos que han dedicado la mayoría de su tiempo a
                     desarrollar esta prometedora alternativa a la tradicional
                     programación lineal y a las técnicas matemáticas y estadísticas.
                     El algoritmo genético original de Holland era bastante simple, a la vez
                     que extraordinariamente sólido, a la hora de encontrar soluciones
                     óptimas a una amplia variedad de problemas. Muchos programas
                     especiales en la actualidad resuelven problemas reales muy grandes y
                     complejos usando versiones que sólo son ligeras modificaciones de
                     ese algoritmo genético original.
Adaptaciones         Con el aumento del interés en entornos académicos y la incorporación
modernas de          de una gran potencia de cálculo a las máquinas de comercialización
algoritmos
genéticos
                     general, plataformas de referencia como Microsoft Windows y Excel
                     facilitaron el diseño y mantenimiento de modelos complejos. El uso
                     de números reales, en lugar de representaciones de secuencias de bits,
                     eliminaron la difícil tarea de codificar y decodificar los cromosomas.
                     La popularidad de algoritmo genético crece ahora exponencialmente,
                     con la creciente aparición de seminarios, libros, artículos periodísticos
                     y expertos consultores. La Conferencia Internacional sobre
                     Algoritmos Genéticos ya dedica su atención a aplicaciones prácticas,
                     una señal de madurez que no se muestra en otras tecnologías de
                     “inteligencia artificial”. Muchas de las compañías Fortune 500
                     emplean algoritmos genéticos regularmente para resolver problemas
                     del mundo real, desde agentes de bolsas y mercados de valores hasta
                     plantas energéticas, cadenas de restaurantes, fabricantes de
                     automóviles y emisoras de televisión. De hecho, es muy probable que
                     usted ya haya usado indirectamente un algoritmo genético.




Capítulo 7: Algoritmos genéticos                                                             169
170   Historia
Un ejemplo biológico
                     veamos un sencillo ejemplo de evolución en el mundo biológico (a
                     pequeña escala). Por “evolución” queremos decir cualquier cambio de
                     distribución o frecuencia de los genes de una población. Por supuesto,
                     lo más interesante de la evolución es que tiende generar poblaciones
                     que se adaptan constantemente a sus entornos.
                     Imagine que estamos observando una población de ratones. Estos
                     ratones tienen dos tamaños, grande y pequeño, y dos colores, claro y
                     oscuro. Nuestra población consta de los siguientes ocho ratones:




                     Un día, los gatos llegaron al barrio y empezaron a comerse a los
                     ratones. Resulta que los ratones más oscuros y pequeños son más
                     difíciles de encontrar para los gatos. Por lo tanto, diferentes ratones
                     tienen diferentes posibilidades de evitar a los gatos lo suficiente como
                     para reproducirse. Esto afecta a la naturaleza de la siguiente
                     generación de ratones. Suponiendo que los ratones viejos mueren
                     poco después de reproducirse, la siguiente generación de ratones
                     sería así:




                     Observe que los ratones grandes, los ratones claros y, especialmente,
                     los ratones grandes y claros tienen problemas para sobrevivir lo
                     suficiente como para reproducirse. Esto continúa en la siguiente
                     generación.




Capítulo 7: Algoritmos genéticos                                                             171
Ahora, la población consta mayoritariamente de ratones pequeños y
      oscuros, porque estos ratones están mejor adaptados para la
      supervivencia en este entorno que otros tipos de ratones. Del mismo
      modo, cuando los gatos pasan hambre por la falta de comida, tal vez
      los gatos que prefieren comer hierba estarán mejor adaptados y
      transmitirán sus genes de comedores de hierba a la nueva generación
      de gatos. Este es el concepto principal de la “supervivencia de los
      mejor adaptados”. También podría decirse, de forma más exacta, que
      se trata de la “supervivencia hasta la reproducción”. En términos de
      evolución, ser el soltero más sano de la población no significa nada, ya
      que es necesario reproducirse para que los genes influencien futuras
      generaciones.




172                                                       Un ejemplo biológico
Un ejemplo digital
                     Imaginemos un problema con dos variables, X e Y, que generan un
                     resultado Z. Si calculamos y hacemos el diagrama del resultado Z de
                     todos los valores posibles de X e Y, veremos aparecer un “paisaje” de
                     resultados (explicado en el Capítulo 6: Optimización). Como estamos
                     tratando de obtener el valor máximo de “Z”, los picos de la función
                     son soluciones “buenas” y los valles son “malas”.
                     Cuando se usa un algoritmo genético para maximizar una función,
                     empezamos por crear varias soluciones o escenarios posibles
                     aleatorios (los puntos negros), en lugar de un solo punto inicial.
                     Luego se calcula el resultado de la función de cada escenario y se
                     incluye en el diagrama como un punto. A continuación, se clasifican
                     todos los escenarios según su altitud, de mejor a peor. Conservamos
                     los escenarios de la mitad superior de la lista y desechamos los demás.




                     Primero, se crea una “población” entera de   Luego se clasifican todas y se conservan las
                     posibles soluciones. Unas son mejores (más   soluciones que generan mejores resultados.
                                   altas) que otras.




Capítulo 7: Algoritmos genéticos                                                                         173
Cada uno de los tres escenarios restantes se duplican, para que el
      número total de escenario vuelva a ser de seis. Ahora viene la parte
      más interesante: Cada uno de los seis escenarios se compone de dos
      valores ajustables (en el diagrama como una coordenada de X e Y).
      Los escenarios se emparejan aleatoriamente. Cada escenario
      intercambia el primero de sus dos valores ajustables con el valor
      correspondiente del otros. Por ejemplo:


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

      Esta operación se denomina cruce. Cuando los seis escenarios se
      emparejan aleatoriamente y realizan los cruces, se puede obtener una
      nueva serie de escenarios como esta:




      En el ejemplo de arriba, presuponemos que los tres escenarios
      originales, a, b y c, se emparejaron con los duplicados A, B y C, para
      formar los pares aB, bC y bA. Luego, estos pares intercambiaron los
      valores de la primera celda ajustable, que en nuestro diagrama es
      equivalente a intercambiar las coordenadas x e y entre los pares de
      puntos. La población de escenarios acaba de sobrevivir una
      generación, con su ciclo de “muerte” y “nacimiento”.




174                                                           Un ejemplo digital
Observe que algunos de los nuevos escenarios obtienen resultados
                     más bajos (altitud más baja) que cualquiera de los de la generación
                     original. Sin embargo, un escenario ha llegado a la cima más alta, lo
                     cual indica progreso. Si dejamos que la población evolucione otra
                     generación, podríamos ver una escena como la siguiente:




                     Se puede ver como el rendimiento promedio de la población de
                     escenarios aumenta por encima del rendimiento de la última
                     generación. En este ejemplo, no queda mucho espacio para la mejora.
                     Esto sucede porque sólo hay dos genes por organismo, sólo hay seis
                     organismos y no hay forma de que se creen nuevos genes. Esto
                     significa que hay una reserva genética limitada. La reserva genética es la
                     suma de todos los genes de todos los organismos de una población.
                     Los algoritmos genéticos pueden hacerse mucho más poderosos si
                     replican más elementos de la fuerza inherente de la evolución del
                     mundo biológico; aumentando el número de genes por organismo,
                     aumentando el número de organismos de una población y
                     permitiendo que se produzcan mutaciones aleatorias ocasionalmente.
                     Además, podemos elegir los escenarios que viven y se reproducen
                     como sucede naturalmente: con un elemento aleatorio con una ligera
                     tendencia hacia aquellos que se adaptan mejor, en lugar de elegir
                     simplemente a todos los que se adaptan mejor para reproducirse
                     (hasta al león más grande y fuerte le puede matar un rayo).
                     Todas estas técnicas estimulan el perfeccionamiento genético y
                     contribuyen a mantener la diversidad de la reserva genética,
                     manteniendo disponibles todo tipo de genes por si resultan útiles en
                     diferentes combinaciones. Evolver implementa automáticamente
                     todas estas técnicas.




Capítulo 7: Algoritmos genéticos                                                             175
176   Un ejemplo digital
Capítulo 8: Extras de Evolver


                     Cómo añadir restricciones ............................................................179
                       Restricciones de rango.........................................................................180
                       Restricciones duras - personalizadas................................................181
                       Restricciones blandas ..........................................................................182
                               Funciones de penalización....................................................182
                               Introducción de una función de penalización...................183
                               Visualización de los efectos de la función de
                               penalización introducida ......................................................184
                               Visualización de las penalizaciones aplicadas..................184
                               Introducción de restricciones blandas en la
                               hoja de cálculo.........................................................................185
                               Más ejemplos de funciones de penalización.....................185
                               Uso de funciones de penalización .......................................186
                       Problemas de múltiples objetivos.....................................................187
                     Mejora de la rapidez .......................................................................189

                     Cómo se implementa la optimización de Evolver .......................191
                                  Selección...................................................................................191
                                  Cruce .........................................................................................192
                                  Mutación ..................................................................................193
                                  Reemplazo................................................................................193
                                  Restricciones............................................................................193




Capítulo 8: Extras de Evolver                                                                                                    177
178
Cómo añadir restricciones
                     Los problemas más realistas normalmente tienen una serie de
                     restricciones que deben cumplirse durante la búsqueda de la
                     respuesta óptima. Por ejemplo, en el ejemplo del tutorial que pretende
                     encontrar el diseño de transformador más económico, una de las
                     restricciones es que el transformador debe permanecer enfriado, con
                     una radiación de calor inferior a 0.16 vatios/cm2.
                     Un escenario que cumple todas las restricciones de un modelo se
                     considera una solución viable o “válida”. A veces es difícil encontrar
                     soluciones viables para un modelo, y mucho menos encontrar una
                     solución viable óptima. Esto puede deberse a que el problema es muy
                     complejo y sólo tiene unas pocas soluciones viables, o a que el
                     problema tiene demasiadas especificaciones (muchas restricciones o
                     algunas restricciones interfieren con otras) y no hay soluciones
                     viables.
                     Hay tres tipos básicos de restricciones: restricciones de rango, con
                     rangos mín-máx colocados en celdas ajustables; restricciones duras,
                     que siempre deben cumplirse; y restricciones blandas que nos gustaría
                     cumplir en la medida de los posible, pero que se podrían ignorar en
                     favor de una gran mejora.




Capítulo 8: Extras de Evolver                                                             179
Restricciones de rango
      Las restricciones duras más simples son las que se colocan en las
      propias variables. Al establecer un cierto rango en cada variable, se
      puede limitar el número total de posibles soluciones que Evolver
      busca, lo cual resulta en una búsqueda más eficaz. Introduzca los
      valores Mín y Máx en la ventana Modelo de la sección Rangos de
      celda ajustables para indicar a Evolver el rango de valores aceptables
      para cada variable.




            Evolver sólo probará valores entre 0 y 5,000 para las celdas especificadas.

      Un segundo tipo de restricción dura colocada en la variable está
      incorporada a cada método de solución de Evolver (receta, orden,
      agrupamiento, etc.). Por ejemplo, cuando se ajustan variables usando
      el método de solución de presupuesto, significa que Evolver tiene una
      restricción dura que sólo permite hacer pruebas de grupos de valores
      que suman un mismo total. Como en la configuración de Rangos, esta
      restricción dura también reduce el número de posibles escenarios que
      deben buscarse.
      La opción entero del cuadro de diálogo Modelo también es una
      restricción dura que indica a Evolver que pruebe sólo valores enteros
      (1, 2, 3, etc.) en lugar de números reales (1.34, 2.034, etc.) a la hora de
      ajustar los valores de las variables.


180                                                             Cómo añadir restricciones
Restricciones duras - personalizadas
                     Se puede introducir cualquier restricción que no esté en las
                     restricciones de variable de Evolver, usando el cuadro de diálogo
                     Configuraciones de Restricción.




                     NOTA: Como la evolución en la naturaleza, el poder de resolución de
                     un algoritmo genético 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 optimización del algoritmo genético se puede inutilizar.
                     Siempre resulta más fácil para Evolver encontrar soluciones que
                     cumplan las restricciones duras si el escenario inicial de la hoja de
                     cálculo cumple esas restricciones. Eso permite a Evolver conocer el
                     punto de inicio del espacio de soluciones válidas. Si no conoce ningún
                     escenario que cumpla las restricciones, ejecute Evolver con cualquier
                     escenario inicial para que el programa trate de encontrar escenarios
                     que cumplan las restricciones.




Capítulo 8: Extras de Evolver                                                            181
Restricciones blandas
               Si se fuerza al programa para que sólo busque soluciones que
               cumplan todas las restricciones, es posible que no se encuentre
               ninguna solución viable. Con frecuencia, es más útil tener una
               solución viable aproximada en la que no se cumplen algunas de las
               restricciones.
               Una alternativa al uso de “restricciones duras” que se deben cumplir
               es reconfigurar el problema con “restricciones blandas”; restricciones
               que Evolver tratará de cumplir. Estas restricciones blandas son
               frecuentemente más realistas y 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 genético de Evolver tendrá más posibilidades de
               encontrar la mejor solución si se le permite obtener información sobre
               algunas soluciones cercanas a las soluciones que cumplen las
               restricciones.
               Cuando las restricciones son objetivos designados, como “producir el
               doble de tenedores que de cuchillos”, muchas veces no es tan
               importante que se cumplan exactamente: especialmente si obtener un
               calendario de producción perfectamente equilibrado requiere un
               proceso de optimización de un día de duración. En este caso, una
               buena solución al problema, que casi cumple la restricción (la
               producción es 40% tenedores, 23% cuchillos, 37% cucharas),
               normalmente es mejor que esperar todo el día para averiguar que tal
               vez no hay solución, porque no es posible cumplir todas las
               restricciones.
Funciones de   Las restricciones blandas se pueden implementar fácilmente en Excel
penalización   a través del uso de funciones de penalización. En lugar de indicar a
               Evolver que en ningún caso puede usar ciertos valores cuando busca
               soluciones, permitimos que esos valores “no válidos” se examinen,
               pero penalizaremos esas soluciones como corresponde. Por ejemplo,
               un problema puede consistir en encontrar la forma más eficaz de
               distribuir productos con la restricción de que se usen sólo tres
               camiones. Un modelo más preciso incluiría una función de
               penalización que permitiera usar más camiones, pero añadiera el gran
               costo al resultado final. Las funciones de penalización se pueden
               especificar en el cuadro de diálogo Configuración de Restricciones o
               se puede introducir directamente en el modelo añadiendo una
               fórmula que represente las funciones de penalización.



182                                                          Cómo añadir restricciones
Introducción de
una función de
penalización.




                     Evolver tiene una función de penalización predeterminada que
                     aparece cuando se introduce una restricción blanda. Sin embargo,
                     cualquier fórmula de Excel válida se puede introducir para calcular la
                     cantidad de la penalización a aplicar cuando no se cumple una
                     restricción blanda. La función de penalización introducida debe
                     incluir la palabra clave desviación que representa la cantidad absoluta
                     por la que la restricción ha superado su límite. Al final de una
                     simulación de una solución de prueba, Evolver comprueba si se han
                     cumplido las restricciones blandas; si no, coloca la cantidad de la
                     desviación en la fórmula de la penalización introducida y luego
                     calcula la cantidad de la penalización a aplicar a la estadística de la
                     celda objetivo que se trata de minimizar o maximizar.
                     La cantidad de la penalización se suma o se resta a la estadística
                     calculada en la celda objetivo para que resulte menos "óptima". Por
                     ejemplo, si se ha seleccionado Máximo en el campo Encontrar el del
                     cuadro de diálogo Modelo de Evolver, la penalización se resta de la
                     estadística calculada en la celda objetivo.




Capítulo 8: Extras de Evolver                                                              183
Visualización de     Evolver incluye la hoja de trabajo “Penalización.xls” que se puede
los efectos de la    usar para evaluar los efectos de diferentes funciones de penalización
función de
penalización
                     en restricciones blandas y celdas objetivo específicas.
introducida




                     “Penalización.xls” permite seleccionar una restricción blanda de su
                     modelo para analizar sus efectos. Luego, puede cambiar la función de
                     penalización para ver cómo la función transforma un valor específico
                     de la restricción blanda incumplida en un valor penalizado específico
                     en la celda objetivo. Por ejemplo, si la restricción blanda es A10<100,
                     puede usar “Penalización.xls” para ver cuál sería el valor objetivo si
                     se calcula un valor de 105 en la celda A10.
Visualización de     Cuando se aplica una penalización a la celda objetivo por
las penalizaciones   incumplimiento de una restricción blanda, la cantidad de la
aplicadas
                     penalización se puede visualizar en el Observador del Evolver.
                     Además, los valores de penalización se muestran en las hojas de
                     cálculo Bitácora de Optimización, que se puede crear tras la
                     optimización.




184                                                                 Cómo añadir restricciones
Introducción de      Las funciones de penalización también se pueden introducir
restricciones        directamente en la hoja de cálculo. Una función de penalización
blandas en la hoja
de cálculo
                     booleana asigna una penalización establecida a cualquier escenario
                     que no cumpla la restricción especializada. Por ejemplo, si quiere que
                     el valor de la celda B1(suministro) sea al menos tan grande como el
                     valor de la celda A1(demanda), puede crear esta función de
                     penalización en otra celda: =SI(A1>B1, -1000, 0). Si el resultado de
                     esta celda se añade al dato de la celda objetivo, cada vez que Evolver
                     prueba una solución que incumple esa restricción (es decir, el
                     suministro no satisface la demanda), el dato de la celda objetivo que
                     se trata de maximizar muestra un valor 1,000 unidades inferior al
                     resultado real. Cualquier solución que incumpla esta restricción
                     produce un valor bajo del dato de la celda objetivo, y Evolver acabará
                     por “eliminar” estos organismos.
                     También se puede usar una función de penalización de escala, que
                     penaliza con mayor precisión la solución dependiendo de en qué
                     medida incumple la restricción. Este método resulta frecuentemente
                     más práctico en el mundo real, ya que una solución en la que el
                     suministro no satisface totalmente la demanda será siempre mejor que
                     una solución que ni siquiera se aproximó a la demanda. Una simple
                     función de penalización de escala calcula la diferencia absoluta entre
                     el valor objetivo de la restricción y el valor real. Por ejemplo, en el
                     mismo problema donde A1(demanda) no debe exceder
                     B1(suministro), podríamos asignar la siguiente función de
                     penalización: =SI(A1>B1, (A1-B1)^2, 0). Este tipo de penalización
                     mide lo cerca que está el cumplimiento de una restricción, y exagera
                     esa diferencia elevándola al cuadrado. Ahora, la penalización cambia
                     dependiendo de lo mucho que una solución incumple una restricción.
Más ejemplos de      Por ejemplo, supongamos que crea un modelo de manufacturación en
funciones de         el que una de las restricciones es que la cantidad de madera que se
penalización
                     usa debe ser igual a la cantidad de plástico que se usa. Esta restricción
                     se cumple cuando “CantidadDeMadera” = “CantidadDePlástico”.
                     Queremos encontrar soluciones que incluyan la misma cantidad de
                     ambos materiales, por lo tanto creamos una función de penalización
                     para no favorecer soluciones que se alejan de nuestro objetivo. La
                     fórmula “=ABS(CantidadDeMadera-CantidadDePlástico)” calcula la
                     diferencia absoluta (no negativa) entre la cantidad de madera y la
                     cantidad de plástico que se usan. Al usar la función ABS(), obtenemos
                     el mismo valor de penalización si CantidadDeMadera es superior en
                     más de 20 a CantidadDePlástico, o si CantidadDePlástico es menor en
                     más de 20 a CantidadDeMadera. Ahora, cuando se optimiza el
                     modelo, el objetivo es minimizar la media de los resultados de
                     simulación de esta diferencia absoluta.

Capítulo 8: Extras de Evolver                                                               185
Supongamos que imponemos esta otra restricción: La cantidad de
                   madera debe ser el doble que la cantidad de plástico. Entonces, la
                   función de penalización sería:
                                  =ABS(CantidadDeMadera-CantidadDePlástico*2)
                   Una restricción diferente es que la cantidad de madera debe ser no
                   inferior a el doble de la cantidad de plástico. Mientras que el ejemplo
                   anterior producía una penalización si había demasiada madera, en
                   este caso sólo nos preocupa si no hay suficiente madera; si
                   CantidadDeMadera es diez veces mayor que CantidadDePlástico, no
                   queremos que se aplique ninguna penalización. La función de
                   penalización apropiada sería:
                                  =SI(CantidadDeMadera<CantidadDePlastico*2,
                                  ABS(CantidadDePlastico*2-CantidadDeMadera),0)
                   Si CantidadDeMadera es al menos el doble de CantidadDePlastico, la
                   función de penalización genera un valor 0. De lo contrario, la función
                   indica la diferencia de cuánto menor es el valor de
                   CantidadDeMadera con respecto al doble de CantidadDePlástico.
Uso de funciones   Después de crear funciones de penalización para describir las
de penalización    restricciones blandas del modelo, puede combinarlas con la fórmula
                   de la celda objetivo normal para obtener una fórmula de celda
                   objetivo restringida. En el ejemplo ilustrado abajo, si la celda C8
                   calcula el costo total de un proyecto y las celdas E3:E6 contienen cinco
                   funciones de penalización, entonces se puede crear la fórmula
                   =SUM(C8, E3:E6) en la celda C10 .




                             Cree una celda que añada las restricciones al total y minimice la
                                 media de los resultados de la simulación de esta celda.




186                                                                         Cómo añadir restricciones
Esto añade las penalizaciones de la columna E al costo de C8 para
                     obtener una función de costo restringida o penalizada en C10.
                     Observe que si esto fuera un problema de maximización debería
                     restar, en lugar de sumar, las penalizaciones a la celda objetivo
                     original. Ahora, cuando use Evolver, sólo tendrá que seleccionar esta
                     celda restringida, C10, como celda objetivo cuyo dato de simulación
                     se quiere optimizar.
                     Cuando Evolver trata de optimizar un dato restringido para la celda
                     objetivo, las funciones de penalización tenderán a forzar la búsqueda
                     hacia escenarios que cumplan las restricciones. Finalmente, Evolver
                     acabará con soluciones que son buenas respuestas y que cumplen o
                     casi cumplen todas las restricciones (las funciones de penalización
                     tendrán valores cercanos a 0).

                     Problemas de múltiples objetivos
                     Aunque se especifique una sola celda en el campo de celda objetivo
                     de Evolver, todavía se pueden resolver múltiples objetivos mediante
                     la creación de una función que combine los dos objetivos en un solo
                     objetivo. Por ejemplo, supongamos que un científico dedicado a los
                     polímeros pretende crear una sustancia flexible y al mismo tiempo
                     fuerte. El modelo calcula la fuerza, flexibilidad y peso que resultarían
                     de una mezcla determinada de combinaciones químicas. La cantidad
                     de cada producto químico a usar son las variables ajustables del
                     problema.
                     Como quiere maximizar la Fuerza de la sustancia (celda S3) pero
                     también quiere maximizar la Flexibilidad (celda F3), debe crear una
                     nueva celda con la fórmula: =(S3+F3). Esta sería la nueva celda
                     objetivo, porque cuando más alto sea este número, mejor será la
                     solución en general.
                     Si la flexibilidad fuera más importante que la fuerza, podríamos
                     cambiar la fórmula de la celda objetivo a =(S3+(F3*2)). De esta forma,
                     los escenarios que aumentan la flexibilidad en una cierta cantidad
                     serían mejores (generarían una “puntuación” de idoneidad más alta)
                     que los escenarios que aumentan la fuerza en esa misma medida.
                     Si quiere maximizar la Fuerza de la sustancia (celda S5) pero también
                     quiere minimizar el Peso (celda W5), debe crear una nueva celda con
                     la siguiente fórmula: =(S5^2)-(W5^2). Esta fórmula generará un
                     número más alto cuando la estructura sea a la vez fuerte y ligera, un
                     número más bajo cuando la estructura es débil y pesada y números
                     igualmente promedio en los escenarios débil y ligera, y fuerte pero
                     pesada. Por lo tanto, deberá usar esta nueva celda como objetivo y
                     maximizar su media para satisfacer ambos objetivos.
Capítulo 8: Extras de Evolver                                                                187
188   Cómo añadir 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 función de evaluación de la hoja de cálculo de Excel para
                     examinar los diferentes escenarios. Gran parte del tiempo que utiliza
                     Evolver es realmente usado por Excel para recalcular la hoja de
                     cálculo. Hay una serie de cosas que se pueden hacer para acelerar la
                     optimización de Evolver y el proceso de recálculo de Excel.
                     ♦   La velocidad de Evolver es directamente proporcional a la
                         velocidad del procesador del PC. Un Pentium/2.0 GHz será
                         aproximadamente el doble de rápido 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 más o menos en una solución, y
                         no se producen una mejora de la mejor solución desde hace
                         tiempo (por ejemplo, las últimas 1000 pruebas), puede aumentar
                         la tasa de mutación para permitir que Evolver amplíe su
                         búsqueda de soluciones, en lugar de continuar refinando la
                         solución con la población actual usando principalmente cruces.
                         Puede aumentar la tasa de mutación a través del Observador del
                         Evolver usando el comando Configuraciones de Población.
                     ♦   Ajuste más estrechamente los rangos de las celdas ajustables; de
                         esta forma se creará un área más pequeña en la que Evolver
                         buscará las soluciones, y por lo tanto se acelerará el proceso.
                         Asegúrese de que los rangos dan suficiente libertad a Evolver
                         como para explorar todas las soluciones realistas.




Capítulo 8: Extras de Evolver                                                               189
190   Mejora de la rapidez
Cómo se implementa la optimización de
Evolver
                     En esta sección se describen más específicamente cómo se
                     implementan los algoritmos de optimización de Evolver.
                     NOTA: No es necesario conocer esta información para poder usar
                     Evolver.
                     La mayoría de la tecnología de algoritmo genético de Evolver, como
                     los métodos de solución de receta y orden, se basan en trabajos
                     académicos realizados en el campo de los algoritmos genéticos
                     durante los últimos diez años. Sin embargo, la mayoría de los
                     métodos de solución derivados que se incluyen en Evolver, y los
                     múltiples grupos de celdas ajustables, regresión, estrategia y
                     funciones de probabilidad, son exclusivas de Evolver.
                     Evolver utiliza un método de estado uniforme. Esto significa que sólo
                     un organismo se reemplaza cada vez, en lugar de reemplazar una
                     “generación” entera. Esta técnica de estado uniforme ha demostrado
                     funcionar tan bien, o mejor, que el método de reemplazo
                     generacional. Para encontrar el número equivalente de
                     “generaciones” que Evolver ha procesado, debe tomar el número de
                     pruebas individuales que ha explorado y dividirlo entre el tamaño de
                     la población.
Selección            Cuando se va a crear un nuevo organismo, se seleccionan dos padres
                     entre la población actual. Hay más probabilidades de que se
                     seleccionen como padres los organismos con puntuaciones de
                     adaptación más altas.
                     En Evolver, los padres se seleccionan mediante un mecanismo basado
                     en clasificación. A diferencia de algunos sistemas de algoritmos
                     genéticos en los que las posibilidades de selección de los padres para
                     la reproducción son directamente proporcionales a su adaptación, el
                     método basado en clasificación ofrece una curva de probabilidad de
                     selección más uniforme. Esto impide que los organismos buenos
                     dominen completamente la evolución desde el principio.




Capítulo 8: Extras de Evolver                                                             191
Cruce   Como cada método de solución ajusta las variables de diferentes
        formas, Evolver emplea una rutina de cruce diferente optimizada
        para ese tipo de problema.
        El método de solución de receta básico realiza cruces usando una
        rutina de cruce uniforme. Esto significa que en lugar de dividir la lista
        de variables en un momento dado del escenario, procesando cada uno
        de los dos bloques (denominados cruces de “un solo punto” o “doble
        punto”), se forman dos grupos seleccionando aleatoriamente los
        elementos que en un grupo u otro. Los cruces de punto x tradicionales
        pueden influir sobre la búsqueda debido a la posición irrelevante de
        las variables, mientras que el método de cruce uniforme se considera
        mejor para preservar el esquema, y puede generar cualquier esquema
        a partir de los dos padres.




        El método de solución de orden realiza el cruce usando un algoritmo
        similar al operador de cruce de orden descrito en el libro Handbook of
        Genetic Algorithms de L. Davis.* De esta forma se seleccionan
        elementos aleatoriamente a partir de un padre, se encuentran sus
        posiciones en el otro padre, y se copian los elementos restantes en el
        segundo padre en el mismo orden en el que aparecen en el primer
        padre. Esto conserva algunos de los sub-órdenes de los padres
        originales mientras se crean algunos sub-órdenes nuevos.




        *Davis, Lawrence (1991). Handbook of Genetic Algorithms. New
        York: Van Nostrand Reinhold.
192                               Cómo se implementa la optimización de Evolver
Mutación             Como sucede con el cruce, los métodos de mutación han sido
                     personalizados para cada uno de los diferentes métodos de solución.
                     El método de solución de receta básico realiza mutaciones
                     examinando cada variable individualmente. Se genera un número
                     aleatorio entre 0 y 1 para cada una de las variables del organismo, y si
                     una variable obtiene un número menor o igual a la tasa de mutación
                     (por ejemplo, 0.06), entonces esa variable se muta. La cantidad y
                     naturaleza de la mutación se determina automáticamente mediante
                     un algoritmo exclusivo. La mutación de una variable incluye su
                     reemplazo por un valor generado aleatoriamente (dentro de su rango
                     mín-máx válido).
                     Para conservar todos los valores originales, el método de solución de
                     orden realiza la mutación mediante el intercambio de posiciones de
                     algunas variables del organismo. El número de intercambios
                     realizados se incrementa o reduce proporcionalmente al incremento o
                     reducción de la configuración de la tasa de mutación (de 0 a 1).
Reemplazo            Como Evolver usa un método de orden de clasificación en lugar de un
                     método de reemplazo generacional, los organismos que peor se
                     adaptan son siempre reemplazados por un nuevo organismo que se
                     crea mediante selección, cruce y mutación, independientemente de su
                     “puntuación” de adaptación.
Restricciones        Las restricciones duras se implementan mediante una tecnología
                     exclusiva de Palisade denominada “regresión”. Si un nuevo elemento
                     descendiente incumple alguna de las restricciones impuestas
                     externamente, Evolver regresa hacia uno de los padres del
                     descendiente, cambiando el descendiente hasta que se encuentre
                     dentro del espacio de solución válido.




Capítulo 8: Extras de Evolver                                                               193
194   Cómo se implementa la optimización de Evolver
Apéndice A: Automatización 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 configuración y ejecución de
                    optimizaciones y para mostrar los resultados de las optimizaciones.
                    Para obtener más información sobre esta interfaz de programación,
                    consulte el documento de ayuda del Juego de Desarrollo de Evolver,
                    disponible a través del menú de Ayuda de Evolver.




Apéndice A: Automatización de Evolver                                                  195
196
Apéndice B: Resolución de
problemas / Preguntas y
respuestas

Resolución de problemas / Preguntas y
respuestas
                    Esta sección responde algunas de las preguntas más comunes
                    relacionadas con Evolver y ofrece información sobre cuestiones,
                    problemas y sugerencias habituales. Después de leer esta sección,
                    puede llamar al departamento de asistencia al cliente de Palisade a los
                    números de teléfono indicados en el capítulo inicial de este manual.

                    P: ¿Por qué tengo problemas para obtener una respuesta válida de
                       Evolver?
                    R: Asegúrese de que el cuadro de diálogo de Evolver está
                       configurado correctamente. La mayoría de los problemas están
                       asociados con la configuración de las variables. Cada grupo de
                       celdas ajustables debe ser exclusivo, de forma que ninguna celda
                       o grupo de celdas se procese con más de un método de solución.

                    P: ¿Evolver puede procesar conceptos o categorías en lugar de
                       números?
                    R: Evolver puede procesar indirectamente cualquier tipo de dato, ya
                       que los números no son más que símbolos. Use una tabla de
                       referencia en Excel para traducir números enteros a secuencias de
                       texto. Evolver (como el resto de los programas informáticos)
                       básicamente sólo procesa números, pero la interfaz puede usar
                       esos números para representar y mostrar cualquier tipo de
                       secuencia.




Apéndice B: Resolución de problemas / Preguntas y respuestas                             197
P: Aunque completo los cuadros de diálogo de la misma forma y
         Evolver se ejecuta la misma cantidad de tiempo, a veces Evolver
         encuentra soluciones diferentes.
      R: Como sucede en la selección natural del mundo biológico, el
         algoritmo genético de Evolver no sigue siempre el mismo camino
         para buscar soluciones (a menos que use un generador de número
         aleatorio fijo). Resulta irónico que sea esta “impredecibilidad” la
         que permita a Evolver resolver más tipos de problemas y, con
         frecuencia, encontrar mejores soluciones que con los métodos
         tradicionales. El motor del algoritmo genético de Evolver no sólo
         ejecuta una serie de comandos pre-programados o coloca valores
         mediante una fórmula matemática, sino que experimenta
         eficazmente con escenarios hipotéticos aleatorios simultáneos,
         para luego refinar la búsqueda mediante múltiples operadores de
         “supervivencia de los mejor adaptados” que también contienen
         elementos aleatorios.

      P: ¿Por qué no cambia la mejor solución encontrada?
      R: Es posible que haya especificado la celda objetivo incorrecta en el
         cuadro de diálogo Modelo de Evolver. Evolver está examinando
         esta celda en blanco y el valor no cambia porque no contiene una
         fórmula. Para solucionar este problema, abra el cuadro de diálogo
         Modelo de Evolver y seleccione una celda objetivo apropiada; es
         decir, una que refleje con exactitud lo buena o mala que es cada
         posible solución. Una celda objetivo apropiada contiene una
         fórmula que depende, directa o indirectamente, de las variables
         que Evolver ajusta (celdas ajustables).

      P: Algunas de las celdas del modelo de la hoja de cálculo
         contienen los símbolos “####”.
      R: Si la celda es demasiado pequeña para mostrar todo su contenido,
         muestra varios signos ####. Aumente el tamaño de la celda.




198                         Resolución de problemas / Preguntas y respuestas
P: Evolver funciona bien pero, ¿hay alguna forma más 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 penalización (consulte Cómo añadir restricciones en
                       el Capítulo 8: Extras de Evolver). La imposición de demasiadas
                       restricciones sobre lo que Evolver está probando puede impedir
                       que Evolver explore un área de posibilidades que genere mejores
                       resultados. Recuerde que cuánto más tiempo deje a Evolver
                       explorar las posibilidades, más probable será encontrar la
                       solución óptima. Para obtener más ideas sobre cómo afinar
                       Evolver, consulte el Capítulo 8: Extras de Evolver.
                        Cuantos más escenarios pueda ejecutar Evolver, mejor. Acelere el
                        proceso de Evolver desactivando la opción “Cada recálculo” de
                        actualización de pantalla.




Apéndice B: Resolución de problemas / Preguntas y respuestas                           199
200
Apéndice C: Recursos
adicionales

Recursos adicionales de aprendizaje
                    La siguiente lista incluye una muestra de documentación relacionada
                    con los algoritmos genéticos y vida artificial. El asterisco (*) indica una
                    obra recomendada por Palisade.

                    Libros
                    • Bolles, R.C., & Beecher, M.D. (Eds.). (1988). Evolution and Learning.
                        Lawrence Erlbaum.
                    • Beer, R.D. (1990). Intelligence as Adaptive Behavior: An Experiment in
                        Computational Neuroethology. Academic Press.
                    • Davis, Lawrence (1987). Genetic Algorithms and Simulated Annealing. Palo
                        Alto, CA: Morgan Kaufman.
                    * Davis, Lawrence (1991). Handbook of Genetic Algorithms. New York: Van
                        Nostrand Reinhold.
                    • Darwin, Charles (1985). On The Origin of Species. London: Penguin
                        Classics. (originalmente publicado en 1859)
                    * Dawkins, Richard. (1976). The Selfish Gene. Oxford University Press.
                    • Eldredge, N. (1989). Macroevolutionary Dynamics: Species, Niches, and
                        Adaptive Peaks. McGraw-Hill.
                    • Fogel, L., Owens, J., and Walsh, J. (1966). Artificial Intelligence through
                        Simulated Evolution. New York: John Wiley and Sons.
                    • Goldberg, David (1989). Genetic Algorithms in Search, Optimization, and
                        Machine Learning. Reading, MA: Addison-Wesley Publishing.
                    • Holland, J.H. (1975). Adaptation in Natural and Artificial Systems. Ann
                        Arbor, MI: University of Michigan Press.
                    • Koza, John (1992). Genetic Programming. Cambridge, MA: MIT Press.
                    * Langton, C.L. (1989). Artificial Life. MIT Press. [ALife I]
                    • Levy, Steven (1992). Artificial Life. New York: Pantheon.


Apéndice C: Recursos adicionales                                                                    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.
           (También se ofrecen las actas de las cinco primeras conferencias de
           ICGA).
      • Proceedings of the Workshop on Artificial Life (1990). Christopher G.
          Langton, Senior Editor. Reading, MA: Addison-Wesley Publishing.
      • Rawlins, Gregory (1991). Foundations of Genetic Algorithms. San Mateo,
          CA: Morgan Kaufman Publishing.
      • Richards, R.J. (1987). Darwin and the Emergence of Evolutionary Theories
          of Mind and Behavior. U. Chicago Press.
      • Williams, G.C. (1966). Adaptation and Natural Selection. Princeton U. Press.

      Artículos
      * Antonoff, Michael (October, 1991). Software by Natural Selection. Popular
          Science, p. 70-74.
      • Arifovic, Jasmina (January, 1994). Genetic Algorithm Learning and the
          Cobweb Model. Journal of Economic Dynamics & Control v18 p.3
      * Begley, S (May 8, 1995). “Software au Naturel” In Newsweek p. 70
      • Celko, Joe (April, 1993). Genetic Algorithms and Database Indexing. Dr.
          Dobb’s Journal p.30
      • Ditlea, Steve (November, 1994). Imitation of Life. In Upside Magazine p.48
      • Gordon, Michael (June, 1991). User-based Document Clustering by
          Redescribing Subject Descriptions with a Genetic Algorithm. Journal of
          the American Society for Information Science v42 p.311
      • Hedberg, Sara (September, 1994). Emerging Genetic Algorithms. AI Expert,
          p. 25-29.
      • Hinton, G.E., & Nowlan, S.J. (1987). How Learning Can Guide Evolution.
          Complex Systems 1: p.495-502.
      * Kennedy, Scott (June, 1995). Genetic Algorithms: Digital Darwinism.
          Hitchhicker’s Guide to Artificial Intelligence Miller Freeman Publishers
      • Kennedy, Scott (December, 1993). Five Ways to a Better GA. AI Expert, p.
          35-38
      • Lane, A (June, 1995). The GA Edge in Analyzing Data. AI Expert p.11
      • Lee, Y.C. (Ed.). (1988). Evolution, learning, and cognition. World Scientific.




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. Springer-
                       Verlag.
                    • Mendelsohn, L. (December, 1994) Evolver Review. Technical Analysis of
                       Stocks and Commodities. p.33
                    • Maynard Smith, J. (1987). When Learning Guides Evolution. Nature 329:
                       p.761-762.
                    • Murray, Dan (June, 1994). Tuning Neural Networks with Genetic
                       Algorithms. AI Expert p.27
                    • Wayner, Peter (January, 1991). Genetic Algorithms: Programming Takes a
                       Valuable Tip from Nature. Byte Magazine v16 p.361

                    Revistas y hojas informativas
                    • Advanced Technology for Developers (hoja informativa mensual). Jane
                        Klimasauskas, Ed., High-Tech Communications, 103 Buckskin Court,
                        Sewickley, PA 15143 (412) 741-7699
                    • AI Expert (revista mensual). Larry O’Brien, Ed., 600 Harrison St., San
                        Francisco, CA 94107 (415) 905-2234. *Aunque AI Expert dejó de
                        publicarse en la primavera de 1995, su ediciones anteriores contienen
                        muchos artículos de gran utilidad. Miller-Freeman, San Francisco.
                    • Applied Intelligent Systems (hoja informativa bimensual). New Science
                        Associates, Inc. 167 Old Post Rd., Southport, CT 06490 (203) 259-1661
                    • Intelligence (hoja informativa mensual). Edward Rosenfeld, Ed., PO Box
                         20008, New York, NY 10025-1510 (212) 222-1123
                    • PC AI Magazine (revista mensual). Joseph Schmuller, Ed., 3310 West Bell
                        Rd., Suite 119, Phoenix, AZ 85023 (602) 971-1869
                    • Release 1.0 (hoja informativa mensual). Esther Dyson, Ed., 375 Park
                        Avenue, New York, NY 10152 (212) 758-3434
                    • Sixth Generation Systems (hoja informativa mensual). Derek Stubbs, Ed.,
                         PO Box 155, Vicksburg, MI, 49097 (616) 649-3592

                    Introducción a la simulación
                    Si está dando sus primeros pasos en el mundo de las simulaciones, o
                    si desea conseguir más información general sobre las técnicas, los
                    siguientes libros y artículos serán de utilidad:
                    * Baird, Bruce F. Managerial Decisions Under Uncertainty: John Wiley & Sons,
                         Inc. 1989.
                    * Clemen, Robert T. Making Hard Decisions: Duxbury Press, 1990.

Apéndice 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 técnica sobre la simulación y
      las técnicas Monte Carlo
      Si quiere examinar más en profundidad los principios de la
      simulación, las técnicas de recogida de muestras y la teoría estadística,
      los siguientes libros serán 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: McGraw-
          Hill, New York, NY, 1991,1982.
      Rubinstein, R.Y. Simulation and the Monte Carlo Method: John Wiley and
          Sons, New York, NY, 1981.

      Obras técnicas de referencia sobre el método de
      toma de muestras Hipercuadro Latino
      Si está interesado en informarse sobre la relativamente nueva técnica
      de toma de muestras denominada Hipercuadro o Hipercubo Latino
      (Latin Hypercube), las siguientes fuentes serán 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).




Apéndice C: Recursos adicionales                                                            205
Ejemplos y casos de estudio que usan simulación
      Si desea consultar estudios que demuestran el uso de la simulación 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 información adicional sobre cualquier término, consulte
                  el índice de Evolver en el siguiente capítulo.

Algoritmo         Método de solución por pasos de base matemática para ciertos tipos
                  de problemas. Todos los programas informáticos se desarrollan
                  mediante la combinación de muchos algoritmos.
Algoritmo de      Procedimiento de optimización que comienza en un escenario
escalada          determinado y se mueve a pequeños pasos repetidamente en la
                  dirección que más lo mejora. Los algoritmos de escalada son rápidos y
                  simples, pero tienen dos inconvenientes. Primero, puede ser necesario
                  mucho trabajo para encontrar la dirección que ofrece la mayor mejora.
                  Segundo, los algoritmos normalmente suben a la colina más cercana,
                  o máximo local. Esto impide que el algoritmo encuentre el máximo
                  global en un problema difícil.
Algoritmo         Procedimiento para mejorar los resultados de algunas operaciones
genético          mediante la prueba repetitiva de varias soluciones posibles y la
                  reproducción y mezcla de componentes de las mejores soluciones. El
                  proceso es básicamente similar y está inspirado en el proceso de
                  evolución del mundo biológico, en el que los mejor adaptados
                  sobreviven para reproducirse.
Barra de estado   La barra de estado aparece en la parte inferior de la ventana de Excel
                  y muestra la actividad actual de Evolver.
Campo             La unidad básica de introducción de datos. Dependiendo del tipo de
                  campo, un campo puede contener texto, imágenes o números. La
                  mayoría de los campos de los cuadros de diálogo de Evolver solicitan
                  al usuario la ubicación de celdas de una hoja de cálculo u opciones
                  sobre cómo debe funcionar Evolver.
Celda             Una celda es la unidad básica de una hoja de cálculo en la que se
                  almacenan datos. En cada hoja de cálculo de Excel hay hasta 256
                  columnas y 16,000 filas, para un total de más de 4 millones de celdas.
Celda ajustable   Una celda de hoja de cálculo cuyo valor se puede ser ajustado por
                  Evolver para tratar de optimizar el valor de la celda objetivo. Una
                  celda ajustable es un valor de variable y debe contener siempre un
                  número simple, y no una ecuación.
Glosario                                                                                   207
Celda objetivo      La celda de la hoja de cálculo cuyo valor queremos minimizar o
                    maximizar. Esta celda se establece en el cuadro de diálogo Modelo de
                    Evolver (seleccionando el comando Definición de Modelo de Evolver
                    o el icono Modelo).
Cruce               En un contexto de base genética, un cruce es un intercambio de
                    material genético equivalente al que se produce entre dos cromátidas
                    homólogas durante la meiosis. En Evolver, el término cruce se usa
                    para expresar el equivalente informático de un cruce en el que se
                    produce un intercambio entre variables que genera nuevas
                    combinaciones de escenarios.
Cuadro de diálogo   Es la ventana de un PC en la que se solicita que el usuario introduzca
                    información. También se denomina caja de diálogo. Evolver contiene
                    dos cuadros de diálogo principales: el cuadro de diálogo Modelo de
                    Evolver y el cuadro de diálogo Celdas Ajustables.
Desviación          Desviación es una medida del perfil de una distribución. La
                    desviación indica el grado de asimetría de una distribución. Las
                    distribuciones desviadas tienen más valores a un lado del punto alto,
                    o valor más probable, que al otro. Además, una de las colas o
                    extremos es más larga que la otra. Una desviación de 0 indica una
                    distribución simétrica, mientras que una desviación negativa indica
                    que la distribución está desviada hacia la izquierda. Una desviación
                    positiva significa una desviación hacia la derecha.
                    Ver Kurtosis
Desviación          La desviación estándar es una medida que indica la dispersión de
estándar            valores de una distribución. Es igual a la raíz cuadrada de la varianza.
                    Ver Varianza
Determinada         El término determinada indica que no hay incertidumbre asociada a
(variable)          un determinado valor o variable.
Distribución        Una distribución acumulativa o función de distribución acumulativa
acumulativa         es el conjunto de puntos cada uno de los cuales es igual a la integral
                    de una distribución de probabilidad, comenzando en un valor
                    mínimo y terminando en el valor asociado de la variable aleatoria.
                    Véase Distribución de frecuencia acumulativa o Distribución de probabilidad
Distribución        Distribución de probabilidad en la que se puede dar cualquier valor
continua            entre un mínimo y un máximo (tiene probabilidad finita).
                    Véase Distribución independiente




208                                                        Recursos adicionales de aprendizaje
Distribución de   Distribución de frecuencia es el término que define las distribuciones
frecuencia        de probabilidad de salida y las distribuciones de histograma de
                  entrada (HISTOGRM) de Evolver. La distribución de frecuencia se
                  construye con datos, mediante la ordenación de valores en clases, y
                  representando la frecuencia de ocurrencia de cualquier clase con la
                  altura de la barra. La frecuencia de ocurrencia se corresponde con la
                  probabilidad.
Distribución de   Distribución de frecuencia acumulativa es el término que define las
frecuencia        distribuciones acumulativas de salida y de entrada de Evolver. La
acumulativa
                  distribución acumulativa se construye acumulando la frecuencia
                  (añadiendo progresivamente la altura de las barras del gráfico) en el
                  rango de una distribución de frecuencia. Una distribución
                  acumulativa puede tener una curva “inclinada hacia arriba” en la que
                  se describe la probabilidad de un valor menor o igual al valor de
                  cualquier variable. La distribución acumulativa también puede tener
                  una curva “inclinada hacia abajo” en la que se describe la
                  probabilidad de un valor mayor o igual al valor de cualquier variable.
                  Véase Distribución acumulativa
Distribución de   Una distribución de probabilidad o función de densidad de
probabilidad      probabilidad es el término estadístico apropiado para denominar una
                  distribución de frecuencia construida a partir de un grupo de valores
                  inicialmente grande cuyo tamaño de clase es infinitesimalmente
                  pequeño.
                  Ver Distribución de frecuencia
Distribución      Una distribución de probabilidad en la que sólo se pueden dar un
discreta          número finito de valores independientes entre un mínimo y un
                  máximo.
                  Véase Distribución continua
Escenario         Grupo de valores de las variables de un modelo de una hoja de
                  cálculo. Cada escenario frecuentemente representa una posible
                  solución.
Estocástica       El término estocástica aplicado a una variable es sinónimo de
                  incertidumbre o riesgo.
                  Véase Riesgo o Determinada (variable)
Fenotipos         En biología, es una característica observable de un individuo que
                  surge mediante la interacción entre genes, y entre los genes y el
                  entorno. En el estudio de GA, el fenotipo se usa para describir las
                  variables individuales o “genes” que componen una solución
                  completa o “cromosoma”. (ver Genotipo)



Glosario                                                                                209
Función de         Es una fórmula que puede calcular lo buena o lo mala que puede ser
idoneidad          una solución propuesta a un problema dado. El término se usa
                   frecuentemente en el mundo del algoritmo genético como una
                   analogía de la “adaptación” en la selección biológica. El diseño de una
                   función de idoneidad precisa es fundamental cuando se usa un
                   algoritmo genético para resolver un problema. El resultado de la
                   simulación de esta función de idoneidad se convierte en el objetivo o
                   valor objetivo a optimizar.
Función de         Una ecuación de una hoja de cálculo que Evolver puede usar para
penalización       penalizar escenarios que no cumplen ciertos criterios. Las funciones
                   de penalización se usan para minimizar efectos secundarios de los
                   escenarios o para alcanzar múltiples objetivos. A diferencia de las
                   restricciones duras, las funciones de penalización permiten la
                   exploración de soluciones no válidas, pero las empeora de forma que
                   la población evolucione distanciándose de esas soluciones. Las
                   penalizaciones booleanas pueden estar activas o inactivas,
                   penalizando todas las soluciones no válidas en la misma medida. Las
                   penalizaciones de escala son más fluidas y asignan una penalización
                   proporcional a lo mucho o lo poco que se incumple una restricción.
Funciones          En Excel, una función es una fórmula predefinida que toma un valor,
                   realiza una operación y genera un valor. Excel contiene cientos de
                   fórmulas incorporadas (como “SUM”) que ahorran tiempo y espacio,
                   y son más rápidas. Por ejemplo, en lugar de escribir A1+ A2+ A3+
                   A4+ A5+ A6, puede escribir SUM(A1:A6) y obtener el mismo
                   resultado.
Generación         En el campo de los algoritmos genéticos, cada población
                   completamente nueva de soluciones “descendientes” es una nueva
                   “generación”. Algunas rutinas de algoritmo genético emparejan a
                   todos los miembros de una población a la vez, creando una
                   “generación” totalmente nueva de organismos descendientes que
                   reemplaza a la población anterior. Evolver evalúa y reemplaza un
                   organismo cada vez (ordenados en clasificación) y por lo tanto no usa
                   el término “generación” en su documentación. Esta técnica de estado
                   uniforme funciona tan bien como el reemplazo generacional.
Semilla de         El generador de número aleatorio es un algoritmo que determina la
generador de       selección de números aleatorios, normalmente en un rango entre 0 y
número aleatorio
                   1. Estos números aleatorios son equivalentes a tomar una muestra de
                   una distribución uniforme con un mínimo de 0 y un máximo de 1.
                   Estos números aleatorios son la base de otras operaciones que los
                   convierten en muestras tomadas de tipos de distribuciones
                   específicas.
                   Ver Muestra aleatoria

210                                                     Recursos adicionales de aprendizaje
Genotipo           En biología, es la constitución genética de un individuo. El término
                   normalmente se refiere a la suma total de todos los genes
                   individuales. En el estudio de los GA, genotipo se usa para describir
                   el “cromosoma” artificial que se evalúa como posible solución al
                   problema.
Grupo de celdas    Un grupo de celdas ajustables es un grupo de variables junto con la
ajustables         forma en que se tratarán. Evolver incluye todos los grupos de celdas
                   ajustables en la sección variables del cuadro de diálogo Modelo de
                   Evolver. Este tipo de arquitectura permite construir y describir
                   problemas complejos como varios grupos de celdas ajustables.
Hipercubo Latino   La toma de muestras de Hipercubo Latino es un método
                   relativamente nuevo de recogida de muestras por estratificación que
                   se utiliza en la modelación por simulación. Las técnicas de toma de
                   muestras estratificadas, al contrario que las técnicas del tipo Monte
                   Carlo, tienden a alcanzar la convergencia de una distribución con
                   menos muestras.
                   Ver Monte Carlo
Iteración          Una iteración es un recálculo del modelo durante una simulación.
                   Una simulación consta de múltiples recálculos o iteraciones. En cada
                   iteración se 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.
                   También se denomina prueba de simulación
Kurtosis           Kurtosis es una medida del perfil de una distribución. La Kurtosis
                   indica lo plana o irregular que es una distribución. Cuanto más alto
                   sea el valor de la Kurtosis, más irregular será una distribución.
                   Ver Desviación
Máximo global      El valor más grande posible de una función determinada. Las
                   funciones o modelos complejos pueden tener muchos valores
                   máximos locales, pero un solo máximo global.
Máximo local       El mayor valor posible de una función determinada dentro de un
                   rango de valores. El máximo local se encuentra en un grupo de
                   valores de variables de una función en el que un cambio ligero de
                   cualquier valor de las variables o de todas ellas produce un resultado
                   menor en la función. (Comparar con máximo global).
Media              La media de un grupo de valores es la suma de todos los valores del
                   grupo dividida entre el número total de valores. Sinónimo de valor
                   esperado




Glosario                                                                                   211
Método de           Evolver incluye seis de estos métodos, cada uno de los cuales usa un
solución            algoritmo personalizado para resolver un tipo específico de problema.
                    Por cada conjunto de variables seleccionado en un problema, el
                    usuario debe asignar el método de solución que se debe usar con esas
                    variables. Los seis métodos de solución son: agrupamiento, orden,
                    receta, presupuesto, proyecto y calendarización.
Modelo              En este manual, un modelo es una representación numérica, en Excel,
                    de una situación del mundo real.
Monte Carlo         Monte Carlo hace referencia a una técnica tradicional de toma de
                    muestras para variables aleatorias en los procesos de modelación por
                    simulación. Las muestras son seleccionadas de forma completamente
                    aleatoria para todo el rango de la distribución, y por lo tanto se
                    requiere una gran cantidad de muestras para alcanzar la convergencia
                    en distribuciones altamente desviadas o de extremos alargados ( o
                    “larga cola”).
                    Ver Hipercubo Latino
Muestra aleatoria   Una muestra aleatoria es un valor que se ha seleccionado de una
                    distribución de probabilidad que describe una variable aleatoria. Esta
                    muestra se recoge aleatoriamente según un "algoritmo" de recogida
                    de muestras. La distribución de frecuencia que se construye con un
                    gran número de muestras aleatorias generadas por dicho algoritmo se
                    aproximará a la distribución de probabilidad para la que se diseñó el
                    algoritmo.
Mutación            En el mundo biológico, la mutación de un gen es la fuente de
                    variación necesaria para una selección natural selectiva. De la misma
                    forma, un algoritmo genético utiliza técnicas de mutación para
                    mantener la diversidad en una población de posibles escenarios.
Optimización        El proceso de encontrar valores de variables de forma que el resultado
                    de una función se pueda maximizar (obtener el mayor posible) o
                    minimizar (obtener el menor posible). La optimización mediante la
                    resolución de una ecuación se puede hacer fácilmente para cambiar
                    uniformemente funciones con pocas variables, pero resulta muy
                    difícil en muchos de los problemas del mundo real. Los problemas
                    difíciles generalmente necesitan un mecanismo de búsqueda. Evolver
                    utiliza un mecanismo de búsqueda de optimización basado en un
                    algoritmo genético.
Organismo           Un bloque de memoria de una población 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.
Población       El grupo entero de escenarios que Evolver conserva en memoria a
                partir de los cuales se generan nuevos escenarios. Evolver mantiene
                una población 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 simulación, calculando el número de repeticiones de un valor
                o suceso dividido entre el número total de sucesos. Este cálculo
                genera un valor entre 0 y 1 que luego se puede convertir en un
                porcentaje multiplicándolo por 100.
                Ver Distribución de frecuencia o Distribución de probabilidad
Programas       Programas de software simples que buscan las variables de entrada
pequeños de     que generan un resultado de salida deseado usando una combinación
resolución
(Baby Solver)
                de técnicas de programación lineales, o algoritmos básicos de
                escalada. Los programas pequeños de resolución hacen frecuentes
                suposiciones y refinan sus respuestas para llegar a una solución
                “local”, en lugar de a una solución “global”.
Pruebas         El proceso por el cual Evolver genera un valor para cada variable de
                un problema para luego recalcular el escenario para su evaluación.
Puntos altos    Puntos altos (o momentos altos) son las estadísticas de una
                distribución de probabilidad. El término por lo general hace
                referencia a la desviación y a la kurtosis, los puntos (o momentos)
                tercero y cuarto respectivamente. Los puntos (o momentos) primero y
                segundo son la media y la desviación estándar respectivamente.
                Véase Kurtosis, Media y Desviación estándar
Rangos          En Evolver:
                El usuario establece el rango, o el valor más alto y más bajo que
                Evolver puede probar cuando ajusta una variable determinada.
                Aunque no es necesario para resolver un problema, el establecimiento
                de estos rangos limita las posibilidades y, por lo tanto, reduce la
                búsqueda de Evolver.

                En Excel:
                Un bloque de celdas contiguas de una hoja de cálculo que se define
                entre la celda superior izquierda y la celda inferior derecha (por
                ejemplo, A5:C9 describe un rango de 15 celdas).

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 válido.
Restricciones   Cuando una restricción no se tiene que cumplir necesariamente, se
blandas         pueden imponer como una restricción blanda en lugar de dura. Esto
                se hace especificando una función de penalización en Evolver o
                añadiendo una función de penalización a la función de adaptación de
                la celda objetivo.

                Frecuentemente, es mejor que las restricciones sean blandas en la
                medida de lo posible. La razón es la siguiente: 1. Normalmente,
                Evolver puede resolver más rápidamente problemas con restricciones
                blandas, y 2. Un modelo con restricciones blandas frecuentemente
                encuentra una solución muy buena que casi cumple las restricciones
                blandas, lo cual puede tener más valor que una solución no tan buena
                que cumple las restricciones duras.
Restricciones   Una restricción que debe cumplirse siempre. Por ejemplo, los rangos
duras           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
Simulación      Simulación es una técnica por la que un modelo, como puede ser una
                hoja de cálculo de Excel, se calcula repetidas veces con diferentes
                valores de entrada con la intención de obtener una representación
                completa de todos los escenarios posibles que pudieran darse en una
                situación incierta.
Solución        Cualquier sistema contiene múltiples variables de entrada que
                generan un resultado de salida. En Evolver, una “solución” se refiere
                a una de las posibles combinaciones de variables, más que a la mejor
                combinación.
Supervivencia   Es una idea que describe cómo los organismos mejor adaptados a un
de los mejor    entorno tienen más posibilidades de vivir lo suficiente como para
adaptados
                reproducirse y transmitir sus genes a la siguiente generación de la
                población.
Valor más       El valor más probable o moda es el valor que se produce con más
probable        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        Una variable dependiente es la que depende de algún modo de los
dependiente     valores de otras variables del modelo. El valor de una variable
                dependiente incierta se puede calcular con una ecuación que esté en
                función de otras variables inciertas del modelo. La variable
                dependiente se puede obtener de una distribución basada en el
                número aleatorio correlacionado con el número aleatorio utilizado
                para extraer una muestra de variable independiente.
                Véase Variable independiente
Variable        Una variable independiente es la que no depende en modo alguno de
independiente   los valores de otras variables del modelo. El valor de una variable
                independiente incierta se determina con una toma de muestra de la
                distribución de probabilidad correspondiente. Esta muestra se extrae
                sin considerar ninguna otra muestra aleatoria tomada para cualquier
                otra variable del modelo.
                Ver Variable dependiente




Glosario                                                                              215
216   Recursos adicionales de aprendizaje
Índice

         A

         actualización de pantalla
            imagen                                            37
         agrupamiento
            método de solución                        65, 77, 107
         algoritmo, definición                                151
         algoritmos genéticos
            ¿Para qué se usan?                                16
         añadir restricciones                                117
         Aprendizaje de Evolver                               10


         B

         barra de estado                                     207
         basados en tablas, problemas                        163
         bases de datos                                      163


         C

         calendarización
           método de solución                             61, 110
         celda objetivo                              27, 100, 208
         celdas ajustables                                27, 101
         combinatorios, problemas                 150–51, 150–51
         condiciones de detención
           introducción                                       35
         condiciones de parada                               126
         Configuraciones de aplicación, comando              133


         E

         ejemplos
            agente de bolsa                                   91
            asignación de presupuesto                         57
            asignación de tareas                              53

Índice                                                         217
calendarizador de clases                                        61
        cartera equilibrada                                             77
        compras                                                         85
        equilibrio químico                                              59
        estaciones de energía                                           83
        mezcla de carteras                                              81
        orden alfabético                                                51
        panadería                                                       55
        problema del vendedor                                           87
        rutas                                                           69
        segmentador de códigos                                          65
        selección de publicidad                                         49
        trabajo en un taller                                            73
        transformador                                                   93
        transporte                                                      95
        ubicación de una torre de radio                                 75
        vendedor                                                        87
      enteros                                                          103
      escalada                                                         153
        descrita                                                       161
        ejemplo                                                        162
        uso de Solver                                                  157
      especificaciones técnicas                                        191
      Evolver
        ¿Para qué se usa?                                                16
        ¿Qué es?                                                         13
        capacidad                                                   150–51
        cuándo se debe usar                                             159
        en comparación con Solver                                       158
        Observador                                                  39, 137
        quitar                                                            7
        Tutorial                                                         10
      Excel Solver                                                      157


      F

      función de idoneidad                                          23, 100
      funciones de penalización
        ejemplos                                                       185
        explicación                                                    182
        uso                                                            186


      G

      generaciones
        por qué no se usan                                             191

218                                       Recursos adicionales de aprendizaje
gráficos                                                    39


         L

         Léame, archivo                                              10
         lineales, problemas                                        161


         M

         meta de optimización                                   27, 100
         método de reemplazo                                        193
         Método Simplex                                             161
         métodos de solución
           agrupamiento                                      65, 77, 107
           calendarización                                       61, 110
           como restricciones                                        180
           orden                                         53, 73, 87, 106
           presupuesto                               49, 57, 81, 83, 108
           proyecto                                              69, 109
           receta                    51, 55, 59, 75, 85, 91, 93, 95, 106
         minutos                                                     126
         Modelo, cuadro de diálogo                                26, 99
         modelos continuos                                           157


         N

         no lineales, problemas                                     161


         O

         Observador                                             39, 137
         operadores genéticos                                       115
         Operadores, pestaña                                        115
         optimización
           ¿Qué es?                                                  15
           ejemplo                                                  155
           métodos                                                  151
         orden
           método de solución                           53, 73, 87, 106


         P

         paisaje de soluciones                                      152
         Palisade Corporation                                         5
Índice                                                                219
percentil                                                             213
      presupuesto
        método de solución                                  49, 57, 81, 83, 108
      problemas
        basados en tablas                                                   163
        combinatorios                                                       164
        de múltiples objetivos                                              187
        lineales                                                            161
        no lineales                                                         161
      progreso de gráfico
        imagen                                                               37
      Progreso, ventana                                                     131
      proyecto
        método de solución                                              69, 109


      Q

      quitar Evolver                                                          7


      R

      rapidez, mejora                                                       189
      receta
         método de solución                  51, 55, 59, 75, 85, 91, 93, 95, 106
      regresión                                                              193
      reserva genética                                                       175
      restricciones                                                      177–79
         blandas                                                  118, 119, 182
         duras                                                               118
         implementación                                                      193
      rutina de selección                                                    191
      rutinas GRG                                                            157


      S

      solución global
        comparación con solución local                                      157
      solución local
        comparación con solución global                                     157
      Solver                                                                157
        en comparación con Evolver                                          158
      Solver de restricciones, comando                                      134




220                                       Recursos adicionales de aprendizaje
T

         tasa de cruce                                   140, 174
            cómo se implementa                                192
            para qué sirve                                    113
         tasa de mutación                                     140
            cómo se implementa                                193
            para qué sirve                                    113
         tiempo de ejecución de optimización, opciones        126
         tutorial                                              10


         V

         valores                                             103




Índice                                                         221

Más contenido relacionado

PDF
Índice de libro: "Empire: Hacking Avanzado en el Red Team"
PDF
Índice del libro "Hacking Aplicaciones Web: SQL Injection"
PDF
Índice del libro "Spring Boot & Angular: Desarrollo de Webapps seguras" de 0x...
PDF
Hacking con Python
PDF
Índice de libro: "Spring Boot & Angular: Desarrollo de WebApps Seguras. Tomo ...
PDF
Índice del libro de Windows Server 2016: Administración, Seguridad y Operaciones
PDF
Lego education we do teacher's guide (wedo)
PDF
Diario Digital Opinasistemas
Índice de libro: "Empire: Hacking Avanzado en el Red Team"
Índice del libro "Hacking Aplicaciones Web: SQL Injection"
Índice del libro "Spring Boot & Angular: Desarrollo de Webapps seguras" de 0x...
Hacking con Python
Índice de libro: "Spring Boot & Angular: Desarrollo de WebApps Seguras. Tomo ...
Índice del libro de Windows Server 2016: Administración, Seguridad y Operaciones
Lego education we do teacher's guide (wedo)
Diario Digital Opinasistemas

La actualidad más candente (16)

PDF
Wndw3 es-ebook
PDF
Audition cs5.5 help
PDF
Índice del libro: "Python para pentesters" [2ª Edición] de 0xWord
PDF
Lego education we do guia del profesor
PDF
Code igniter spanish_userguide
PDF
Índice el Libro "Hacking Web Applications: Client-Side Attacks"
PDF
Epo 450 product_guide_es-es
PDF
Máxima Seguridad en WordPress
PDF
Code igniter spanish_userguide
PDF
Índice del libro "Hacking Web Technologies"
PDF
Índice del libro "Machine Learning aplicado a Ciberseguridad: Técnicas y ejem...
PDF
Libro Bitcoin: La tecnología Blockchain y su investigación
PDF
Índice del libro "Hacking con Drones" de 0xWord
PDF
Índice del libro "Hacking Web Technologies" Silver Edition de 0xWord
PDF
Índice del libro "Malware moderno: Técnicas avanzadas y su influencia en la i...
PDF
Índice del libro "Ataques en redes de datos IPv4&IPv6 (4ª Edición)"
Wndw3 es-ebook
Audition cs5.5 help
Índice del libro: "Python para pentesters" [2ª Edición] de 0xWord
Lego education we do guia del profesor
Code igniter spanish_userguide
Índice el Libro "Hacking Web Applications: Client-Side Attacks"
Epo 450 product_guide_es-es
Máxima Seguridad en WordPress
Code igniter spanish_userguide
Índice del libro "Hacking Web Technologies"
Índice del libro "Machine Learning aplicado a Ciberseguridad: Técnicas y ejem...
Libro Bitcoin: La tecnología Blockchain y su investigación
Índice del libro "Hacking con Drones" de 0xWord
Índice del libro "Hacking Web Technologies" Silver Edition de 0xWord
Índice del libro "Malware moderno: Técnicas avanzadas y su influencia en la i...
Índice del libro "Ataques en redes de datos IPv4&IPv6 (4ª Edición)"
Publicidad

Destacado (20)

PPTX
Magnetismo
PPTX
Pacie fases
PPTX
La conexión de elementos de protección
PPTX
Gbi buscadores
PPT
Actividades mes de Octubre
PDF
PEOU Bustaldea propuesta actual
DOCX
4 practica sonia
PPT
Madera alex
PDF
Cruceroregalo.com
PDF
Presentacion Informe amec de Coyuntura 2011 y Perspectivas 2012
PPTX
CIRCO DE LOS CINCO SENTIDOS POR VERÓNICA PALOMO
PDF
Clase1 introduccinalcurso
PPTX
Día del patrimonio cultural
PPT
Búsqueda efectivas en internet
PDF
Capitulo 4
PPTX
PPTX
Uso de la television educativa
PPT
Sevilla
PPTX
Pijamas enterizas
PPTX
AXIOLOGIAY ANOMIA
Magnetismo
Pacie fases
La conexión de elementos de protección
Gbi buscadores
Actividades mes de Octubre
PEOU Bustaldea propuesta actual
4 practica sonia
Madera alex
Cruceroregalo.com
Presentacion Informe amec de Coyuntura 2011 y Perspectivas 2012
CIRCO DE LOS CINCO SENTIDOS POR VERÓNICA PALOMO
Clase1 introduccinalcurso
Día del patrimonio cultural
Búsqueda efectivas en internet
Capitulo 4
Uso de la television educativa
Sevilla
Pijamas enterizas
AXIOLOGIAY ANOMIA
Publicidad

Similar a Evolver5 es (20)

PDF
Code igniter guia_usuario_2.1.0
PDF
Code igniter spanish_userguide
PDF
Fwpa doc-desarrollo
PDF
Documentacion de Codeigniter en español
PDF
Lógica de Programacion. Efrain Oviedo
PDF
Logica de programacion efrain oviedo
PDF
Manual crystal reports_xi
PDF
Manual crystal reports_xi
PDF
Manual del usuario de Crystal Reports XI
PDF
Manual de programacion_con_robots_para_la_escuela
PDF
Manual de programacion_con_robots_para_la_escuela
PDF
Español zelio logic_2_-_manual_do_usuario
PDF
Manual de-usuario-prog.-esp
PDF
PDF
Guiadel usuario
PDF
PDF
E xelearning
PDF
Guía de Exelearning
Code igniter guia_usuario_2.1.0
Code igniter spanish_userguide
Fwpa doc-desarrollo
Documentacion de Codeigniter en español
Lógica de Programacion. Efrain Oviedo
Logica de programacion efrain oviedo
Manual crystal reports_xi
Manual crystal reports_xi
Manual del usuario de Crystal Reports XI
Manual de programacion_con_robots_para_la_escuela
Manual de programacion_con_robots_para_la_escuela
Español zelio logic_2_-_manual_do_usuario
Manual de-usuario-prog.-esp
Guiadel usuario
E xelearning
Guía de Exelearning

Más de Gustavo Alvarez Sierra (8)

PDF
La condicion humana
PDF
Determinantes de la_satisafaccion_en_el_trabajo
PDF
INVESTIGACION
PDF
Circulo de viena
PDF
PDF
Risk sixsigma es
PDF
PDF
Neural tools5 es
La condicion humana
Determinantes de la_satisafaccion_en_el_trabajo
INVESTIGACION
Circulo de viena
Risk sixsigma es
Neural tools5 es

Último (20)

PPTX
Welcome to the 7th Science Class 2025-2026 Online.pptx
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PPTX
Welcome to the 8th Physical Science Class 2025-2026
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
TOMO II - LITERATURA.pd plusenmas ultras
PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PDF
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PPTX
Doctrina 1 Soteriologuia y sus diferente
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Welcome to the 7th Science Class 2025-2026 Online.pptx
Punto Critico - Brian Tracy Ccesa007.pdf
Escuelas Desarmando una mirada subjetiva a la educación
Welcome to the 8th Physical Science Class 2025-2026
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
TOMO II - LITERATURA.pd plusenmas ultras
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
V UNIDAD - SEGUNDO GRADO. del mes de agosto
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
Doctrina 1 Soteriologuia y sus diferente
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf

Evolver5 es

  • 1. Guía para el uso de Evolver Solver de algoritmo genético para Microsoft Excel Versión 5.7 septiembre, 2010 Palisade Corporation 798 Cascadilla St. Ithaca, NY USA 14850 +1-607-277-8000 +1-607-277-8001 (fax) http://www.palisade.com (página Web) sales@palisade.com (correo electrónico)
  • 2. 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, división de Tonka Corporation, y se utiliza bajo licencia.
  • 3. Índice Capítulo 1: Introducción 1  Introducción ........................................................................................3  Instrucciones para la instalación......................................................7  Capítulo 2: Información general 11  ¿Qué es Evolver? .............................................................................13  Capítulo 3: Evolver: Paso a paso 21  Introducción ......................................................................................23  Una visita por Evolver ......................................................................25  Capítulo 4: Ejemplos de aplicaciones 45  Introducción ......................................................................................47  Selección de publicidad...................................................................49  Orden alfabético ...............................................................................51  Asignación de tareas........................................................................53  Panadería...........................................................................................55  Asignación de presupuesto.............................................................57  Equilibrio químico ............................................................................59  Programador de clases ....................................................................61  Segmentador de códigos.................................................................65  Dakota: Rutas con restricciones.....................................................69  Índice i
  • 4. Programación del trabajo de un taller............................................ 73  Ubicación 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  Capítulo 5: Guía de referencia de Evolver 97  Comando Definición de Modelo ..................................................... 99  Comando Configuraciones de optimización............................... 123  Comando Iniciar optimización ...................................................... 131  Comandos de Utilidades ............................................................... 133  El Observador del Evolver ............................................................ 137  Capítulo 6: Optimización 149  Métodos de optimización .............................................................. 151  Excel Solver .................................................................................... 157  Tipos de problemas ....................................................................... 161  Capítulo 7: Algoritmos genéticos 165  Introducción.................................................................................... 167  ii
  • 5. Historia.............................................................................................167  Un ejemplo biológico .....................................................................171  Un ejemplo digital...........................................................................173  Capítulo 8: Extras de Evolver 177  Cómo añadir restricciones ............................................................179  Mejora de la rapidez .......................................................................189  Cómo se implementa la optimización de Evolver .......................191  Apéndice A: Automatización de Evolver 195  Apéndice B: Resolución de problemas / Preguntas y respuestas 197  Resolución de problemas / Preguntas y respuestas ..................197  Apéndice C: Recursos adicionales 201  Recursos adicionales de aprendizaje...........................................201  Glosario 207  Índice 217  Índice iii
  • 6. iv
  • 7. Capítulo 1: Introducción Introducción ........................................................................................3 Antes de empezar .....................................................................................3 Lo que incluye el paquete.......................................................................3 Información sobre esta versión .............................................................3 El sistema operativo.................................................................................4 Cómo obtener ayuda................................................................................4 Antes de llamar ...........................................................................4 Cómo ponerse en contacto con Palisade.................................5 Versión para estudiantes...........................................................6 Requisitos del sistema para Evolver.....................................................6 Instrucciones para la instalación......................................................7 Instrucciones generales de instalación.................................................7 Cómo quitar Evolver de su PC .................................................7 Los programas de DecisionTools Suite................................................8 Configuración de los iconos y de los accesos directos de Evolver ..................................................................................................8 Mensaje de advertencia de seguridad de macros al iniciar el programa ....................................................................................................9 Información adicional de Evolver.......................................................10 Archivo Léame de Evolver ......................................................10 El Tutorial de Evolver ..............................................................10 Aprendizaje de Evolver.........................................................................10 Capítulo 1: Introducción 1
  • 8. 2
  • 9. Introducción Evolver es el optimizador comercial basado en algoritmo genético más rápido y avanzado que se ha ofrecido nunca. Evolver, mediante la aplicación de potentes técnicas de optimización basadas en algoritmo genético, puede hallar soluciones óptimas para problemas que resultan "irresolubles" con optimizadores de resolución lineal y no lineal estándar. Evolver se ofrece en dos versiones –Profesional e Industrial– que le permiten seleccionar el optimizador con la capacidad que usted necesita. La Guía del Usuario de Evolver, que está leyendo ahora, ofrece una introducción al programa Evolver y sus principios; y luego muestra varias aplicaciones de ejemplo de la tecnología exclusiva de algoritmo genético de Evolver. Este completo manual también se puede usar como una guía de referencia con índice completo, con descripciones e ilustraciones de cada una de las funciones de Evolver. Antes de empezar Antes de instalar y comenzar a trabajar con Evolver, asegúrese de que su paquete de Evolver contiene todos los elementos necesarios, y compruebe que su PC cumple los requisitos mínimos de uso. Lo que incluye el paquete Evolver se puede comprar independiente o como parte de las versiones Profesional e Industrial de DecisionTools Suite. El CD-ROM de Evolver contiene el programa complementario Evolver para Excel, varios ejemplos de Evolver y un sistema de ayuda electrónico con índice completo para Evolver. Las versiones Profesional e Industrial de DecisionTools Suite contienen todo lo anterior, además de aplicaciones adicionales. Información sobre esta versión Esta versión de Evolver se puede instalar como programa de 32-bit para Microsoft Excel 2000 o posterior. Capítulo 1: Introducción 3
  • 10. El sistema operativo Esta guía para el uso del programa está diseñada para usuarios que tienen un conocimiento general del sistema operativo Windows y de Excel. En particular, el usuario debe: ♦ Estar familiarizado con el uso del PC y del ratón. ♦ Estar familiarizado con términos como iconos, hacer clic, hacer doble clic, menú, ventana, comando y objeto. ♦ Comprender los conceptos básicos de estructura de directorios y archivos. Cómo obtener ayuda Se ofrece asistencia técnica gratuita a todos los usuarios registrados de Evolver con un plan actual de mantenimiento, o también se ofrece por un precio por incidente. Para asegurar que usted es un usuario registrado de Evolver, regístrese electrónicamente en http://www.palisade.com/support/register.asp. Si se pone en contacto con nosotros por teléfono, tenga a mano el número de serie y la guía para el uso del programa. Le podremos asistir mejor si se encuentra delante del PC en el momento de llamar. Antes de llamar Antes de ponerse en contacto con el servicio de asistencia técnica, repase la siguiente lista: • ¿Ha consultado la ayuda electrónica? • ¿Ha consultado esta Guía del Usuario y revisado el tutorial multimedia electrónico? • ¿Ha leído el archivo LEAME.WRI? Este archivo contiene información actual referente a Evolver que puede no estar en la guía del programa. • ¿Puede reproducir el problema consistentemente? ¿Puede reproducir el problema en otro PC o con otro modelo? • ¿Ha visitado nuestra página de World Wide Web? La dirección es http://www.palisade.com. En nuestra página Web también podrá encontrar las preguntas más frecuentes (una base de datos de preguntas y respuestas sobre temas técnicos) y una serie de archivos de reparación de Evolver en la sección de Asistencia técnica. Recomendamos que visite nuestra página Web con regularidad para obtener información actualizada sobre Evolver y sobre otros programas de Palisade. 4 Introducción
  • 11. Cómo ponerse Palisade Corporation está abierto a sus preguntas, comentarios y en contacto sugerencias referentes a Evolver. Póngase en contacto con nuestro con Palisade personal de asistencia técnica siguiendo uno de estos métodos: • Envíe un correo electrónico a support@palisade.com. • Llame al teléfono +1-607-277-8000 los días laborables de 9:00 a.m. a 5:00 p.m., hora estándar del este de Estados Unidos. Para acceder al servicio de asistencia técnica siga las indicaciones del sistema. • Envíe un fax al +1-607-277-8001 • Envíe una carta a: Technical Support Palisade Corporation 798 Cascadilla St. Ithaca, NY 14850 EE.UU. Si quiere ponerse en contacto con Palisade en Europa. • Envíe correo electrónico a support@palisade-europe.com. • Llame al +44-1895 425050 (Reino Unido). • Envíe un fax al +44-1895 425051 (Reino Unido). • Envíe una carta postal a: Palisade Europe 31 The Green West Drayton Middlesex UB7 7PN Reino Unido Si quiere ponerse en contacto con Palisade en Asia-Pacífico. • Envíe correo electrónico a support@palisade.com.au. • Llame al +61 2 9252 5922  (Australia). • Envíe un fax al +61 2 9252 2820  (Australia). • Envíe una carta postal a: Palisade Asia-Pacific Pty Limited Suite 404, Level 4 20 Loftus Street Sydney NSW 2000 Australia Independientemente del método de contacto, mencione siempre el nombre del producto, la versión y el número de serie. La versión exacta se encuentra seleccionando el comando Acerca de… de la Ayuda del menú de Evolver en Excel. Capítulo 1: Introducción 5
  • 12. Versión para La versión para estudiantes de Evolver no incluye asistencia técnica estudiantes por teléfono. Si necesita ayuda, recomendamos las siguientes alternativas: ♦ Consulte con su profesor o asistente. ♦ Vaya a http://www.palisade.com y busque entre las respuestas a las preguntas más frecuentes. ♦ Póngase en contacto con nuestro departamento de asistencia técnica enviando un fax o mensajes de correo electrónico. Requisitos del sistema para Evolver Los requisitos del sistema para usar Evolver son: • PC Pentium o superior con disco duro. • Microsoft Windows 2000 SP4 o superior. • Microsoft Excel Versión 2000 o superior. 6 Introducción
  • 13. Instrucciones para la instalación Evolver es un programa de complemento para Microsoft Excel. Al añadir comandos adicionales a las barras de menús de Excel, Evolver mejora la funcionalidad del programa de hoja de cálculo. Instrucciones generales de instalación El programa de instalación copia los archivos del sistema de Evolver en el directorio seleccionado del disco duro. Para ejecutar el programa de instalación en Windows 2000 o superior: 1) Introduzca el CD-ROM de Evolver o el de la versión Profesional o Industrial de DecisionTools Suite en la unidad de CD-ROM 2) Haga clic en el botón Inicio, luego en Configuración y luego en Panel de control 3) Haga doble clic sobre el icono Agregar/Quitar programas 4) En la sección Instalar/Desinstalar, pulse el botón Instalar 5) Siga las instrucciones de instalación que aparecen en la pantalla Si tiene algún problema instalando Evolver, compruebe que hay espacio suficiente en el disco en el que va a instalar el programa. Si falta espacio, libere el espacio de disco que sea necesario e intente instalar el programa de nuevo. Cómo quitar Si desea quitar Evolver (o DecisionTools Suite) de su PC, utilice la Evolver de su PC función Agregar/Quitar programas del Panel de control y seleccione el elemento Evolver o DecisionTools Suite. Capítulo 1: Introducción 7
  • 14. Los programas de DecisionTools Suite Evolver se puede usar con DecisionTools Suite, un juego de productos de análisis de riesgo y decisión que ofrece Palisade Corporation. El procedimiento de instalación predeterminado de Evolver coloca Evolver en un subdirectorio del directorio principal “Archivos de programasPalisade”. Algo similar ocurre con Excel, que normalmente se instala como un subdirectorio del directorio “Microsoft Office”. Uno de los subdirectorios del directorio Archivos de programasPalisade será el directorio de Evolver (denominado de forma predeterminada Evolver5). Este directorio contiene el archivo del programa de complemento Evolver (EVOLVER.XLA) además de modelos de ejemplo y otros archivos necesarios para el funcionamiento de Evolver. Otro de los subdirectorios de Archivos de programasPalisade es el directorio SYSTEM, que contiene archivos necesarios para todos los programas de DecisionTools Suite, incluyendo archivos comunes de ayuda y librerías de programas. Configuración de los iconos y de los accesos directos de Evolver En Windows, el programa de instalación crea automáticamente un comando Evolver en el menú Programas de la barra de tareas. Pero si tiene algún problema durante la instalación, o si desea hacerlo manualmente en otro momento, siga estas instrucciones: 1) Haga clic en el botón Inicio y luego en Configuración. 2) Haga clic en Barra de tareas y luego en la sección 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. 8 Instrucciones para la instalación
  • 15. Mensaje de advertencia de seguridad de macros al iniciar el programa Microsoft Office proporciona varias configuraciones de seguridad (en Herramientas>Macro>Seguridad) para evitar que se ejecuten macros no deseados o maliciosos en los programas de Office. Cada vez que intente cargar un archivo con macros aparecerá un mensaje de advertencia, a menos que seleccione la configuración de seguridad más baja. Para evitar que aparezca este mensaje cada vez que ejecute un programa complementario de Palisade, Palisade identifica digitalmente sus archivos de programas. Por lo tanto, cuando haya especificado Palisade Corporation como fuente de datos segura, podrá abrir cualquier programa auxiliar de Palisade sin que aparezca el mensaje de advertencia. Para hacerlo: • Haga clic en Confiar siempre en los macros de esta fuente cuando aparezca el cuadro de diálogo de Advertencia de seguridad (como el de abajo) al iniciar Evolver. Capítulo 1: Introducción 9
  • 16. Información adicional de Evolver Puede obtener información adicional sobre Evolver en los siguientes lugares: Archivo Léame Este archivo contiene una breve resumen de Evolver, así como de Evolver cualquier noticia o información reciente sobre la última versión del software. Puede leer el archivo Léame seleccionando Menú Inicio de Windows / Programas/ Palisade DecisionTools/ Archivos Léame y haciendo clic en Evolver 5.5 – Léame. Conviene leer este archivo antes de usar Evolver. El Tutorial de El tutorial electrónico de Evolver ofrece a los que usan el programa Evolver por primera vez una introducción rápida a Evolver y los algoritmos genéticos. La presentación sólo dura unos pocos minutos. Consulte la sección Aprendizaje de Evolver más abajo para obtener información sobre cómo acceder al tutorial. Aprendizaje de Evolver La forma más rápida de familiarizarse con Evolver es el tutorial electrónico de Evolver, en el que nuestros expertos le guían a través de los modelos de ejemplo en formato de película. Este tutorial es una presentación multimedia sobre las funciones principales de Evolver. El tutorial se puede ejecutar seleccionando el comando Tutorial introductorio del menú Ayuda de Evolver. 10
  • 17. Capítulo 2: Información general ¿Qué es Evolver? .............................................................................13 ¿Cómo funciona Evolver? .....................................................................14 Algoritmos genéticos ...............................................................14 ¿Qué es optimización?...........................................................................15 ¿Para qué se crean modelos en Excel? ................................................16 ¿Para qué se usa Evolver? .....................................................................16 Se acabaron las suposiciones..................................................17 Más preciso y significativo .....................................................17 Más flexible ...............................................................................17 Más potente ...............................................................................18 Más fácil de usar .......................................................................18 Económico ..................................................................................19 Capítulo 2: Información general 11
  • 18. 12
  • 19. ¿Qué es Evolver? El software de Evolver proporciona a sus usuarios un método fácil de encontrar soluciones óptimas a prácticamente cualquier tipo de problema. En pocas palabras, Evolver encuentra las mejores variables de entrada que generan el resultado deseado. Se puede usar Evolver para hallar la combinación, orden o agrupamiento adecuados para producir beneficios más altos, riesgos más bajos o la producción del mayor número de productos con el uso de la menor cantidad posible de material. El uso más frecuente de Evolver es como programa complementario del programa de hoja de cálculo Microsoft Excel; los usuarios crean un modelo de su problema en Excel y luego utilizan Evolver para resolverlo. Primero debe modelar el problema en Excel y luego describirlo en el programa de complemento Evolver. Excel ofrece todas las fórmulas, funciones, gráficos y capacidades de macro que la mayoría de los usuarios necesitan para crear modelos realistas de sus problemas. Evolver proporciona la interfaz necesaria para describir 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 prácticamente cualquier problema que se pueda modelar. Capítulo 2: Información general 13
  • 20. ¿Cómo funciona Evolver? Evolver utiliza un sistema de algoritmos genéticos exclusivo para buscar la solución óptima a un problema, así como distribuciones de probabilidad y simulaciones para gestionar la incertidumbre presente en el modelo. Algoritmos Los algoritmos genéticos se usan en Evolver para encontrar la mejor genéticos solución para su modelo. Los algoritmos genéticos imitan los principios darwinianos de selección natural mediante la creación de un entorno en el que cientos de posibles soluciones a un problema compiten unas con otras, y sólo la “mejor adaptada” sobrevive. Como sucede en la evolución biológica, cada solución puede transmitir sus mejores “genes” a través de soluciones “descendientes” de forma que toda la población de soluciones sigue evolucionando en soluciones mejores. Como ya se habrá dado cuenta, la terminología que se usa cuando se trabaja con algoritmos genéticos es similar a la de su fuente de inspiración. Hablamos de que las funciones de “cruce” ayudan a concentrar la búsqueda de soluciones, de que la tasa de las “mutaciones” contribuye a diversificar la “reserva genética” y de que evaluamos toda la “población” de soluciones u “organismos”. Para obtener más información sobre cómo funciona el algoritmo genético de Evolver, consulte el Capítulo 7 – Algoritmos genéticos. 14 ¿Qué es Evolver?
  • 21. ¿Qué es optimización? Optimización es el proceso de búsqueda de la mejor solución a un problema que puede tener muchas soluciones posibles. La mayoría de los problemas tienen múltiples variables que interactúan según fórmulas y restricciones establecidas. Por ejemplo, una compañía puede tener tres centros de fabricación, cada uno de los cuales produce diferentes cantidades de diversos productos. Dados los costos de cada fábrica para producir cada producto, los costos de cada planta para hacer los envíos a cada tienda y las limitaciones de cada fábrica, ¿cuál es la forma óptima de satisfacer adecuadamente la demanda de las tiendas locales minimizando al mismo tiempo los costos de transporte? Este es el tipo de pregunta que los programas de optimización pueden responder. La optimización supone la búsqueda de la combinación que genera lo máximo a partir de unos recursos dados. En el ejemplo de arriba, cada una de las soluciones propuestas consiste en una lista completa de los productos producidos, la fábrica que los produce, el camión en el que se envían y la tienda a la que se envían. Otros ejemplos de problemas de optimización consisten en encontrar la forma de conseguir los mayores beneficios, los menores costos, el mayor número de vidas salvadas, la menor cantidad de ruido posible en un circuito, la ruta más corta entre dos ciudades o la mezcla más eficaz de gastos en publicidad. Un subconjunto muy importante de problemas de optimización está relacionado con la programación, donde los objetivos pueden incluir la maximización de la eficacia durante un turno de trabajo o la minimización de conflictos de programación de grupos que se reúnen a diferentes horas. Para obtener más información sobre la optimización, consulte el Capítulo 6 - Optimización. Capítulo 2: Información general 15
  • 22. ¿Para qué se crean modelos en Excel? Para aumentar la eficacia de cualquier sistema, primero debemos saber cómo funciona. Por eso creamos un modelo de trabajo del sistema. Los modelos son abstracciones necesarias a la hora de estudiar sistemas complejos, si bien para que los resultados sean aplicables al “mundo real”, el modelo no debe simplificar en exceso las relaciones causa-efecto entre las variables. Los programas de software mejorados y los PC cada vez más potentes permiten a los economistas crear modelos más realistas de la economía, a los científicos mejorar las predicciones de las reacciones químicas y a los profesionales de los negocios aumentar la sensibilidad de sus modelos corporativos. Durante los últimos años, el hardware de los PC y programas de software como Microsoft Excel, han avanzado tanto que prácticamente cualquier persona con un PC puede crear modelos realistas de sistemas complejos. Las funciones incorporadas a Excel, su capacidad para usar macros y su interfaz clara e intuitiva, permiten que hasta un principiante pueda modelar y analizar sofisticados problemas. Para obtener más información sobre la creación de modelos, consulte el Capítulo 9 – Extras de Evolver. ¿Para qué se usa Evolver? La tecnología exclusiva de Evolver permite a cualquiera que tenga un PC y Excel para Windows disfrutar de las ventajas de la optimización. Antes de Evolver, aquellos que querían aumentar la eficacia de procesos o buscar soluciones óptimas, tenía tres opciones: hacer suposiciones, usar software de poca potencia para la resolución de problemas, o contratar a un experto en optimización de la industria de la consultoría para diseñar y desarrollar software personalizado. Estas son algunas de las ventajas más importantes de Evolver: 16 ¿Qué es Evolver?
  • 23. Se acabaron las Cuando se trata con un gran número de variables que interactúan, y suposiciones se trata de encontrar la mejor combinación, el orden adecuado o el agrupamiento óptimo de esas variables, la tentación es simplemente hacer una “suposición informada”. Una sorprendente cantidad de personas asume que cualquier tipo de modelación y análisis más allá de la simple suposición requiere un complicado proceso de programación o el uso de confusos algoritmos estadísticos y matemáticos. Una buena solución optimizada puede ahorrar millones de dólares, miles de galones de precioso combustible, meses de tiempo perdido, etc. Ahora que los potentes PC de escritorio son cada vez más económicos, y software como Excel y Evolver están al alcance de la mano, no hay razón para hacer suposiciones sobre una solución o perder valioso tiempo haciendo pruebas en diferentes escenarios manualmente. Más preciso y Evolver permite utilizar la gama completa de fórmulas de Excel e significativo incluso macros para crear modelos más realistas de un sistema. Cuando se usa Evolver, no es necesario poner en peligro la precisión del modelo porque el algoritmo que se está utilizando no puede procesar las complejidades del mundo real. Los programas de resolución “pequeños” tradicionales (herramientas de programación estadística y lineal) obligan al usuario a hacer suposiciones sobre cómo interactúan las variables de sus problemas, y por lo tanto les obliga a crear modelos poco realistas simplificados en exceso. Cuando el usuario simplifica el sistema lo suficiente como para poder usar estos programas de resolución, la solución resultante es demasiado abstracta como para que sea práctica. Cualquier problema que incluya un gran número de variables, funciones no lineales, tablas de referencia, secuencias si-entonces, consultas con bases de datos o elementos estocásticos (aleatorios), no se puede resolver con estos métodos, independientemente de lo simple que sea el diseño de su modelo. Más flexible Hay muchos algoritmos de resolución que hacen un buen trabajo a la hora de resolver problemas pequeños y simples de tipo lineal o no lineal, como los de pasos ascendentes (hill-climbing), pequeños programas de resolución (baby-solvers) y otros métodos matemáticos. Incluso cuando se ofrecen en forma de programas complementarios de hoja de cálculo, estas herramientas de optimización de uso general sólo pueden realizar optimización numérica. Para problemas más grandes o complejos se pueden crear algoritmos específicos personalizados que ofrezcan buenos resultados, pero será necesario hacer un gran esfuerzo de investigación y desarrollo. Incluso en esos casos, el programa resultante requerirá modificaciones cada vez que cambie el modelo. Capítulo 2: Información general 17
  • 24. Evolver no sólo es capaz de tratar problemas numéricos, sino que es el único programa comercial del mundo que puede resolver la mayoría de los problemas combinatorios. Estos son problemas en los que las variables deben barajarse (permutarse) o combinarse. Por ejemplo, la selección del orden de bateo de un equipo de béisbol es un problema combinatorio; es cuestión de intercambiar las posiciones de los jugadores en la lista. Los problemas de programación complejos también son combinatorios. El mismo programa Evolver puede resolver todos estos tipos de problemas y muchos más, algo que ningún otro puede resolver. La tecnología de algoritmo genético exclusiva de Evolver permite optimizar prácticamente cualquier tipo de modelo, de cualquier tamaño y nivel de complejidad. Más potente Evolver encuentra mejores soluciones. La mayoría de los programas derivan las soluciones óptimas de forma matemática y sistemática. Con frecuencia, estos métodos se limitan a tomar una solución existente y buscar una respuesta cercana mejor. Esta solución “local” puede estar muy lejos de ser la solución óptima. Evolver toma muestras de forma inteligente de todo el espectro de posibilidades, lo cual resulta en una solución “global” mucho mejor. Más fácil de usar A pesar de las ventajas más obvias de potencia y flexibilidad que ofrece, Evolver sigue siendo fácil de usar porque no es en absoluto necesario comprender las complejas técnicas de algoritmos genéticos que utiliza. Evolver no se preocupa de las “entrañas” del problema; sólo necesita un modelo en hoja de cálculo que permite evaluar la idoneidad de los diferentes escenarios. Sólo tiene que seleccionar las celdas de la hoja de cálculo que contienen las variables e indicar a Evolver lo que usted busca. Evolver oculta de forma inteligente la compleja tecnología, automatizando el proceso “Y si ...” de análisis del problema. Aunque se han creado muchos programas comerciales para programación matemática y creación de modelos, las hojas de cálculo son las más populare, con literalmente millones de ventas mensuales. Con su formato intuitivo de filas y columnas, las hojas de cálculo son más fáciles de configurar y mantener que otros programas especializados. También son más compatibles con otros programas como procesadores de texto o bases de datos, y ofrecen más fórmulas, opciones de formato, gráficos y capacidades de macro que cualquier otro software de uso independiente. Como Evolver es un programa complementario para Microsoft Excel, los usuarios pueden acceder a la gama completa de funciones y herramientas de programación para crear más fácilmente modelos más realistas de sus sistemas. 18 ¿Qué es Evolver?
  • 25. Económico Muchas compañías contratan consultores de formación para ofrecer sistemas de optimización personalizados. Esos sistemas normalmente funcionan muy bien, pero pueden requerir meses y grandes inversiones de desarrollo e implementación. Estos sistemas son también difíciles de aprender y por lo tanto requieren costosa formación y mantenimiento constante. Si resulta necesario modificar el sistema, puede que tenga que desarrollar un algoritmo totalmente nuevo para encontrar las soluciones óptimas. Por una inversión considerablemente menor, Evolver suministra los algoritmos genéticos más potentes y permite generar soluciones rápidas y precisas para una amplia variedad de problemas. Y como funciona se usa en un entorno intuitivo y familiar, no hay prácticamente gastos de formación y mantenimiento. Puede incluso añadir la potencia de optimización de Evolver a sus propios programas personalizados. En sólo unos días podrá usar Visual Basic para crear sus propios sistemas de programación, distribución, fabricación o administración financiera. Consulte el Juego de Desarrollo de Evolver para obtener información detallada sobre la programación de aplicaciones basadas en Evolver. Capítulo 2: Información general 19
  • 26. 20
  • 27. Capítulo 3: Evolver: Paso a paso Introducción ......................................................................................23 Una visita por Evolver ......................................................................25 Inicio de Evolver.....................................................................................25 La barra de herramientas de Evolver ....................................25 Cómo abrir un modelo de ejemplo........................................25 El cuadro de diálogo Modelo de Evolver...........................................26 Selección de la celda objetivo ..............................................................27 Cómo añadir rangos de celda ajustables............................................27 Selección de un método de solución.....................................30 Restricciones ...........................................................................................31 Cómo añadir restricciones.......................................................32 Restricciones de rango simple de valores y de fórmula ....32 Otras opciones de Evolver ....................................................................35 Condiciones de detención.......................................................35 Opciones de visualización ......................................................37 Ejecución de la optimización ...............................................................38 El Observador del Evolver ......................................................39 Cómo parar la optimización ...................................................40 Informe de resumen .................................................................41 Colocación de los resultados en el modelo ..........................42 Capítulo 3: Evolver: Paso a paso 21
  • 28. 22
  • 29. Introducción En este capítulo le guiaremos a través de todo el sistema de optimización de Evolver, paso a paso. Si no tiene Evolver instalado en el disco duro, consulte la sección de instalación del Capítulo 1: Introducción e instale Evolver antes de comenzar con este tutorial. Comenzaremos por abrir un modelo de hoja de cálculo preparada y luego definiremos el problema para Evolver usando distribuciones de probabilidad y los cuadros de diálogo de Evolver. Finalmente, comprobaremos el progreso de Evolver mientras busca soluciones y exploraremos algunas de las muchas opciones en el Observador del Evolver. Para obtener información adicional sobre cualquier tema específico, consulte el índice al final de este manual, o consulte el Capítulo 5: Referencia de Evolver. NOTA: Las imágenes de pantallas que se muestran a continuación son de Excel 2007. Si está utilizando otras versiones de Excel, las ventanas pueden tener un aspecto ligeramente diferente. El proceso de resolución de problemas comienza con un modelo que representa con exactitud su problema. El modelo debe ser capaz de evaluar una serie determinada de valores de entrada (celdas ajustables) y producir una clasificación numérica de lo bien que esos valores de entrada resuelven el problema (la evaluación o “idoneidad” de la función). Cuando Evolver busca soluciones, esta función de idoneidad proporciona información, indicando a Evolver lo idónea o inapropiada que es cada suposición, y permitiendo a Evolver generar cada vez mejores suposiciones. Cuando se crea un modelo de un problema, se debe prestar especial atención a la función de idoneidad, porque Evolver hará todo lo posible para maximizar (o minimizar) esta celda. Capítulo 3: Evolver: Paso a paso 23
  • 30. 24 Introducción
  • 31. 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 métodos sirve para iniciar tanto Microsoft Excel como Evolver. La barra de Cuando se carga Evolver, en Excel aparece una nueva cinta o barra de herramientas de herramientas de Evolver. Esta barra de herramientas contiene botones Evolver que se pueden usar para especificar configuraciones de Evolver e iniciar, pausar o parar las optimizaciones. Cómo abrir un Para repasar las características de Evolver, vamos a examinar un modelo de modelo de ejemplo que se instaló con Evolver. Para hacerlo: ejemplo 1) Abra la hoja de trabajo Panadería ‐ Práctica de Tutorial.XLS a través del comando Hojas de cálculo de ejemplo del menú Ayuda. Capítulo 3: Evolver: Paso a paso 25
  • 32. Esta hoja de cálculo de ejemplo contiene un sencillo problema de maximización de beneficios de un negocio de panadería. La panadería produce 6 productos de pan. Usted es el gerente de la panadería y hace un seguimiento de los ingresos, costos y beneficios de producción. Quiere determinar el número de cajas de cada tipo de pan que se deben producir para maximizar los beneficios totales y al mismo tiempo cumplir las normas de límite de producción. Las normas son: 1) cumplir la cuota de producción de pan bajo en calorías, 2) mantener una relación aceptable de alto contenido de fibra y bajas calorías, 3) mantener una relación aceptable de productos de 5 granos y bajas calorías, y 4) mantener el tiempo de producción dentro de los límites de horas por persona. El cuadro de diálogo Modelo de Evolver Para establecer las opciones de Evolver para esta hoja de cálculo: 1) Haga clic en el icono Definición de modelo en la barra de herramientas de Evolver (la situada en el extremo izquierdo). Se abrirá el siguiente cuadro de diálogo Modelo de Evolver: El cuadro de diálogo Modelo de Evolver ha sido diseñado para que los usuarios puedan describir sus problemas de una forma sencilla y clara. En el ejemplo de este tutorial estamos tratando de encontrar el número de cajas que se deben producir de cada producto de pan diferente para maximizar los beneficios totales en general. 26 Una visita por Evolver
  • 33. Selección de la celda objetivo El "Beneficio total" del modelo de ejemplo es lo que se conoce como celda objetivo. Esta es la celda cuyo valor trata de minimizar o maximizar, o la celda cuyo valor trata de acercar lo más posible al valor preestablecido. Para especificar la celda objetivo: 1) Establezca la opción “Meta de optimización” en “Máximo”. 2) Introduzca la celda objetivo $I$11 en el campo “Celda”. Las referencias de celda se pueden introducir en los campos del cuadro de diálogo de Evolver de dos formas: 1) puede hacer clic en el campo con el cursor y escribir la referencia directamente en el campo, o 2) con el cursor en el campo seleccionado, puede hacer clic en el icono Referencia de celda para seleccionar la celda de la hoja de cálculo directamente con el ratón. Cómo añadir rangos de celda ajustables Ahora debe especificar la ubicación de las celdas que contienen valores que Evolver puede modificar para buscar soluciones. Estas variables se añaden y editan de bloque en bloque a través de la sección Rangos de celda ajustables del cuadro de diálogo Modelo. El número de celdas que se pueden introducir en Rangos de celda ajustables depende de la versión de Evolver que esté usando. 1) Haga clic en el botón “Añadir” de la sección "Rangos de celda ajustables". 2) Seleccione $C$4:$G$4 como las celdas de Excel que quiere añadir como rango de celdas ajustables. Capítulo 3: Evolver: Paso a paso 27
  • 34. Introducción de La mayoría de las veces será conveniente limitar los valores posibles un rango mín-máx de un rango de celdas ajustables con un rango mínimo-máximo como celdas ajustables específico. En Evolver esto se conoce como restricción de "rango". Puede introducir rápidamente este rango mín-máx cuando seleccione la serie de celdas que se pueden modificar. En el ejemplo de la panadería, el valor mínimo de cajas producidas de cada tipo de producto de pan para este rango es 0, y el máximo es 100,000. Para introducir esta restricción de rango: 1) Introduzca 0 en la celda Mínimo y 100,000 en la celda Máximo. 2) En la celda Valores, seleccione Entero en la lista desplegable 28 Una visita por Evolver
  • 35. Ahora, introduzca un segundo rango de celdas ajustables: 1) Haga clic en Añadir para introducir una segunda celda ajustable. 2) Seleccione la celda B4. 3) Introduzca 20,000 como Mínimo y 100,000 como Máximo. Así se especifica la última celda ajustable, B4, que contiene el nivel de producción de pan bajo en calorías. Si hubiera variables adicionales en este problema, seguiríamos añadiendo series de celdas ajustables. En Evolver, puede crear un número ilimitado de grupos de celdas ajustables. Para añadir más celdas, haga clic en el botón “Añadir” de nuevo. Es posible que quiera comprobar las celdas ajustables o cambiar algunas de sus configuraciones más adelante. Para hacerlo, sólo tendrá que editar el rango mín-máx en la tabla. También podrá seleccionar una serie de celdas y eliminarla haciendo clic en el botón “Eliminar”. Capítulo 3: Evolver: Paso a paso 29
  • 36. Selección de Cuando defina celdas ajustables, podrá especificar el método de un método solución que se debe usar. Tipos de celdas ajustables diferentes de solución pueden ser resueltos con diferentes métodos de solución. Los métodos de solución se establecen para cada grupo de celdas ajustables y se pueden modificar haciendo clic en el botón “Grupo” para abrir el cuadro de diálogo Configuraciones de grupos de celdas ajustables. Muchas veces podrá usar el método de solución de “receta” predeterminado en el que cada valor de las celdas se puede cambiar independientemente de las demás. Como este es el método predeterminado, no es necesario que lo cambie. Los métodos de solución de “receta” y “orden” son los más populares y se pueden usar juntos para resolver problemas combinatorios complejos. Específicamente, el método de solución de “receta” trata cada variable como un ingrediente de una receta, tratando de averiguar la “mejor mezcla” cambiando cada uno de los valores de las variables independientemente. Por su parte, el método de solución de “orden” intercambia valores entre variables, barajando los valores originales para encontrar el “mejor orden” posible. En este modelo, deje el Método de solución en Receta y simplemente: ♦ Introduzca la etiqueta "Cajas producidas" en el campo Descripción. 30 Una visita por Evolver
  • 37. Restricciones Evolver permite introducir restricciones, que son condiciones que deben cumplirse para que una solución sea válida. En este modelo de ejemplo hay tres restricciones adicionales que deben cumplirse para que sea válida una serie de niveles de producción de cada producto de pan. Estas restricciones son adicionales a las restricciones de rangos que ya introdujimos en las celdas ajustables. Son las siguientes: 1) Mantener una relación aceptable de pan de alto contenido en fibra y pan bajo en calorías (cajas producidas de pan de alto contenido en fibra >= 1.5 * cajas producidas de pan bajo en calorías) 2) Mantener una relación aceptable de pan de 5 granos y pan bajo en calorías (cajas producidas de pan de 5 granos >= 1.5 * cajas producidas de pan bajo en calorías) 3) Mantener el tiempo de producción dentro de los límites de horas por persona (total de horas por persona < 50,000) Cada vez que Evolver genere una solución posible del modelo, comprueba que las restricciones introducidas se cumplen. Las restricciones se muestran en la parte inferior de la sección Restricciones del cuadro de diálogo de Modelo de Evolver. Se pueden especificar dos tipos de restricciones en Evolver: ♦ Duras. Son condiciones que deben cumplirse para que una solución sea válida (por ejemplo, una restricción dura de iteración puede ser C10<=A4; en este caso, si una solución genera un valor para C10 que es superior al valor de la celda A4, la solución se descarta) ♦ Blandas. Son condiciones que nos gustaría que se cumplieran en la medida de lo posible, pero que podríamos ceder a cambio de una gran mejora de la idoneidad o del resultado de la celda objetivo. (por ejemplo, una restricción blanda sería C10<100. En este caso, C10 puede ser superior a 100, pero cuando eso sucede el valor calculado de la celda objetivo se reducirá en la misma medida según la función de penalización que haya introducido). Capítulo 3: Evolver: Paso a paso 31
  • 38. Cómo añadir Para añadir restricciones: restricciones 1) Haga clic en el botón Añadir de la sección Restricciones del cuadro diálogo principal de Evolver. Se abrirá el cuadro de diálogo Configuraciones de restricciones en el que podrá introducir las restricciones del modelo. Restricciones de Se pueden usar dos formatos –Simple y Fórmula – para introducir rango simple de restricciones. El formato de rango simple de valores permite valores y de fórmula introducir restricciones usando las relaciones simples <,<=, >, >= o =. Una restricción típica de rango simple de valores sería 0< Valor de A1<10, donde A1 se introduce en el cuadro Rango de celda, 0 se introduce en el cuadro Mín y 10 se introduce en el cuadro Máx. El operador deseado se selecciona en los cuadros de lista desplegable. En las restricciones con formato de rango simple de valores se puede introducir sólo un valor Mín, sólo un valor Máx o ambos. Por otro lado, las restricciones con formato de fórmula permiten introducir cualquier fórmula válida de Excel como una restricción, como puede ser A19<(1.2*E7)+E8. En cada solución posible, Evolver verifica si la fórmula introducida genera un valor VERDADERO o FALSO para comprobar si la restricción se ha cumplido. Si desea utilizar una restricción de fórmula booleana en la hoja de cálculo, simplemente haga referencia a esa celda en el campo Fórmula del cuadro de diálogo Configuraciones de restricción. 32 Una visita por Evolver
  • 39. Para introducir las restricciones del modelo de la panadería, deberá especificar tres nuevas restricciones duras. Estas son restricciones duras ya que las condiciones introducidas deben cumplirse para que Evolver no descarte la solución generada. Primero, introduzca las restricciones duras con formato de Rango simple de valores: 1) Introduzca "Total de horas trabajadas aceptable" en el cuadro de descripción. 2) En el cuadro Rango a restringir, introduzca I8. 3) Seleccione el operador <= a la derecha de Rango a restringir. 4) Introduzca 50,000 en el cuadro Máximo. 5) Borre el valor predeterminado de 0 en el cuadro Mínimo. 6) A la izquierda de Rango a restringir, borre el operador seleccionando la opción en blanco de la lista desplegable 7) Haga clic en Aceptar para introducir la restricción. Capítulo 3: Evolver: Paso a paso 33
  • 40. Ahora vamos a introducir las restricciones duras con formato de fórmula: 1) Haga clic en Añadir para abrir de nuevo el cuadro de diálogo Configuraciones de restricción. 2) Introduzca "Relación aceptable de alto contenido en fibra y bajo en calorías" en el cuadro de descripción. 3) En el cuadro Estilo de entrada, seleccione Fórmula. 4) En el cuadro Fórmula de restricción, introduzca C4>= 1.5*B4. 5) Haga clic en Aceptar. 6) Haga clic en Añadir para abrir de nuevo el cuadro de diálogo Configuraciones de restricción. 7) Introduzca "Relación aceptable de 5 granos y bajo en calorías" en el cuadro de descripción. 8) En el cuadro Estilo de entrada, seleccione Fórmula. 9) En el cuadro Fórmula de restricción, introduzca D4>= 1.5*B4. 10) Haga clic en Aceptar El cuadro de diálogo Modelo con la sección de restricciones completa debe quedar así. 34 Una visita por Evolver
  • 41. Otras opciones de Evolver Se ofrecen opciones como Actualizar la pantalla, Semilla de número aleatorio o Condiciones de detención de optimización para controlar como opera Evolver durante una optimización. Especifiquemos algunas condiciones de detención y configuraciones de actualización de pantalla. Condiciones de Evolver sigue funcionando tanto tiempo como usted desee. La detención condiciones de detención permiten que Evolver pare automáticamente cuando: a) se han examinado un número determinado de escenarios o “pruebas”, b) ha transcurrido una cantidad de tiempo, c) no se ha encontrado mejora alguna en los últimos n escenarios, o d) la fórmula introducida en Excel genera un valor VERDADERO. Para ver y editar las condiciones de detención: 1) Haga clic en el icono Configuraciones de optimización de la barra de herramientas de Evolver. 2) Seleccione la pestaña de Tiempo de ejecución. Capítulo 3: Evolver: Paso a paso 35
  • 42. En el cuadro de diálogo Configuraciones de optimización se puede seleccionar cualquier combinación de estas condiciones de detención de optimización, o ninguna en absoluto. Si selecciona más de una condición de detención, Evolver parará cuando se cumpla cualquiera de las condiciones seleccionadas. Si no selecciona ninguna condición de detención, Evolver seguirá funcionando indefinidamente, hasta que se pare manualmente pulsando el botón “parar” en la barra de herramientas de Evolver. Pruebas Minutos Cambio en la La fórmula es última verdadera Esta opción Evolver parará Esta condición de Evolver se detiene si establece el número después de una detención es la más la fórmula de “pruebas” que cantidad de tiempo popular porque se introducida en Excel quiere que Evolver especificada. Este hace un seguimiento genera un valor de ejecute. En cada número puede ser de la mejora y VERDADERO en prueba, Evolver una fracción (4.25). permite que Evolver uno de los evalúa una serie siga en recálculos del completa de funcionamiento modelo. variables, o una hasta que el grado posible solución al de mejora se problema. reduzca. Por ejemplo, Evolver puede parar si pasan 100 pruebas y sigue sin producirse ningún cambio en el mejor escenario encontrado hasta el momento. ♦ Desactive todas las condiciones de detención para que Evolver funcione libremente. 36 Una visita por Evolver
  • 43. Opciones de Mientras Evolver está funcionando, hay una serie de opciones visualización disponibles en la sección Visualizar para determinar lo que aparecerá en la pantalla. Las opciones Durante la optimización son: Cada prueba Cada mejor nueva prueba Nunca Esta opción actualiza la Esta opción actualiza la Esta opción nunca actualiza pantalla después de cada pantalla cada vez que la pantalla durante la cálculo y permite ver cómo Evolver genere una nueva optimización. De esta Evolver ajusta las variables respuesta mejorada, lo cual forma se pueden ejecutar y calcula los resultados. Se permite ver la solución las optimizaciones de la recomienda activar esta óptima actual en cualquier forma más rápida posible, opción mientras esté momento durante la pero no se ofrece aprendiendo a usar optimización. información sobre los Evolver, y también cada resultados calculados vez que use Evolver en un durante la ejecución. nuevo modelo, para comprobar que su modelo se está calculando correctamente. ♦ Active la opción “Cada prueba” Capítulo 3: Evolver: Paso a paso 37
  • 44. Ejecución de la optimización Ahora sólo queda optimizar este modelo para maximizar los beneficios totales cumpliendo al mismo tiempo las normas de límite de producción. Para hacerlo: 1) Haga clic en Aceptar para salir del cuadro de diálogo Configuraciones de optimización. 2) Haga clic en el icono Iniciar optimización Cuando Evolver comience a trabajar con el problema, usted verá los mejores valores actuales de las celdas ajustables –Cajas producidas- de la hoja de cálculo. El mejor valor de Beneficios totales se muestra en la celda resaltada. Durante la ejecución, la ventana Progreso muestra: 1) la mejor solución encontrada hasta el momento, 2) el valor original de la celda objetivo cuando comenzó la optimización de Evolver, 3) el número de pruebas que se han ejecutado y el número de pruebas válidas; es decir, que cumplen todas las restricciones; y 4) el tiempo transcurrido de la optimización. En cualquier momento durante la ejecución puede hacer clic en el icono Opciones de actualización de Excel para ver una actualización en vivo de la pantalla en cada prueba. 38 Una visita por Evolver
  • 45. Observador Evolver también puede mostrar un registro de ejecución de las de Evolver simulaciones realizadas de cada solución 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 ejecución de las simulaciones realizadas: 1) Haga clic en el icono del Observador (el de la lupa) en la ventana de Progreso para abrir el Observador del Evolver 2) Haga clic en la pestaña Bitácora. En este informe aparecen los resultados de la simulación de cada solución de prueba. La columna Resultado muestra el valor de la celda objetivo que se está tratando de maximizar o minimizar por cada prueba: en este caso los Beneficios totales de $I$11. Las columnas de C4 a G4 identifican los valores usados en las celdas ajustables. Capítulo 3: Evolver: Paso a paso 39
  • 46. Cómo parar la Después de cinco minutos, Evolver parará la optimización. También optimización se puede parar la optimización: 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 pestaña Opciones de detención que ofrece las siguientes opciones: Estas mismas opciones aparecen automáticamente cuando se cumple cualquiera de las condiciones de detención establecidas en el cuadro de diálogo Configuraciones de optimización de Evolver. 40 Una visita por Evolver
  • 47. Informe de Evolver puede crear un informe de resumen de la optimización que resumen contiene información como la fecha y la hora de la ejecución, las configuraciones de optimización utilizadas, el valor calculado para la celda objetivo y el valor de cada una de las celdas ajustables. Este informe es útil para comparar los resultados de optimizaciones sucesivas. Capítulo 3: Evolver: Paso a paso 41
  • 48. Colocación de los Para colocar en la hoja de trabajo la nueva combinación optimizada de resultados en el niveles de producción de panadería de cada uno de los seis tipos de modelo pan: 1) Haga clic en el botón “Parar”. 2) Asegúrese de que la opción "Actualizar los valores de celdas ajustables del libro de trabajo con" está establecida en “Mejor” El programa regresará a la hoja de cálculo Panadería - Práctica De Tutorial.xls, con todos los nuevos valores de las variables generados en la mejor solución. NOTA IMPORTANTE: Aunque en nuestro ejemplo se ve que Evolver encontró una solución que generaba beneficios totales de 3,940,486, su resultado puede ser superior o inferior a este. Estas diferencias se deben a una importante distinción entre Evolver y los demás algoritmos de solución de problemas: es la naturaleza aleatoria del sistema del algoritmo genético de Evolver lo que le permite resolver una variedad más amplia de problemas y encontrar mejores soluciones. 42 Una visita por Evolver
  • 49. Cuando guarde cualquier hoja de cálculo después de que Evolver haya terminado su ejecución (incluso aunque “restaure” los valores originales de la hoja de cálculo después de usar Evolver), todas las configuraciones de Evolver de los cuadros de diálogo de Evolver se guardarán con esa hoja. La próxima vez que abra la hoja, todas las configuraciones más recientes de Evolver se cargarán automáticamente. Todas las demás hojas de cálculo de ejemplo tienen las configuraciones de Evolver preestablecidas y listas para la optimización. NOTA: Si quiere examinar el modelo de la panadería con todas las configuraciones de optimización preestablecidas, abra el modelo de ejemplo Panadería.xls Capítulo 3: Evolver: Paso a paso 43
  • 50. 44 Una visita por Evolver
  • 51. Capítulo 4: Ejemplos de aplicaciones Introducción ......................................................................................47 Selección de publicidad...................................................................49 Orden alfabético ...............................................................................51 Asignación de tareas........................................................................53 Panadería...........................................................................................55 Asignación de presupuesto.............................................................57 Equilibrio químico ............................................................................59 Programador de clases ....................................................................61 Segmentador de códigos.................................................................65 Dakota: Rutas con restricciones.....................................................69 Programación del trabajo de un taller ............................................73 Ubicación de una torre de radio......................................................75 Cartera equilibrada ...........................................................................77 Mezcla de carteras............................................................................81 Estaciones de potencia....................................................................83 Compras ............................................................................................85 Problema del vendedor ....................................................................87 Capítulo 4: Ejemplos de aplicaciones 45
  • 52. Navegador espacial.......................................................................... 89 Agente de bolsa................................................................................ 91 Transformador.................................................................................. 93 Transporte......................................................................................... 95 46
  • 53. Introducción Este capítulo explica cómo se puede usar Evolver en diferentes aplicaciones. Es posible que estos ejemplos de aplicaciones no incluyan todas las características que usted desearía en sus propios modelos, pero pueden servir para generar ideas y como patrones de modelos. Todos los ejemplos ilustran cómo Evolver encuentra soluciones basándose en las relaciones que ya existen en la hoja de cálculo, y es importante que su modelo de hoja de cálculo refleje con exactitud el problema que está tratando de resolver. Todas las hojas de cálculo de ejemplo de Excel se encuentran en el subdirectorio “EXAMPLES” del directorio EVOLVE32. Este capítulo incluye una lista alfabética de las mismas. Los ejemplos utilizan los siguientes códigos 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 métodos de solución y las restricciones. Se recomienda que examine estos cuadros de diálogo antes de realizar la optimización. Al estudiar las fórmulas y experimentar con las diferentes configuraciones de Evolver, podrá comprender mejor cómo funciona Evolver. Los modelos también 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. Capítulo 4: Ejemplos de aplicaciones 47
  • 54. 48
  • 55. Selección de publicidad Una agencia publicitaria debe averiguar la forma más 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: Selección de publicidad.xls Objetivo: Asignar compras de publicidad, dentro del presupuesto, entre los diferentes medios de comunicación que tienen diferentes precios. Maximizar el número de personas a las que se llega. Método de solución: Presupuesto Problemas similares: Problemas de tipo presupuestario con restricciones adicionales. Capítulo 4: Ejemplos de aplicaciones 49
  • 56. Cómo funciona Lo primero que debemos hacer es seleccionar un método de solución el modelo que indique a Evolver lo que debe hacer con las variables. Consulte el Capítulo 5: Referencia completa para ver las descripciones de los diferentes métodos de solución. Este es básicamente un problema de tipo presupuestario con la restricción adicional de que el gasto en TV debe ser superior al de la radio. Cómo resolverlo Las variables que Evolver debe modificar están en las celdas C5:C9. Pediremos a Evolver que las baraje usando el método de “presupuesto”, para permitir que cada variable sea un valor independiente. La audiencia total se calcula con la función 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. 50 Selección de publicidad
  • 57. Orden alfabético Esta es una lista de siete nombres que queremos que Evolver ordene alfabéticamente. Aunque este ejemplo es simple, Evolver puede administrar problemas complejos de ordenación en los que los datos son interdependientes, o en los que determinados nombres tienen mayor valor según otros datos del modelo. Archivo de ejemplo: Orden alfabético.xls Objetivo: Ordenar alfabéticamente una lista de nombres. Método de solución: Orden Problemas similares: Cualquier problema de ordenación que supere la capacidad de Excel. Cómo funciona El archivo “Orden alfabético.xls” es un modelo muy simple que el modelo ilustra la capacidad de ordenación de Evolver. La columna B contiene los nombres de siete personas, y la columna A el número de “ID” correspondiente de cada persona. La columna D utiliza la función CONSULV de Excel para traducir cualquier número seleccionado en la columna C en su nombre correspondiente. Las celdas E4:E9 usan una función de penalización simple que asigna un valor 1 cada vez que un nombre se ordena alfabéticamente después de otro nombre alfabéticamente posterior. La suma de todos estos errores está en la celda E11, nuestra celda objetivo. Capítulo 4: Ejemplos de aplicaciones 51
  • 58. Cómo 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 método de solución “orden”. El método de solución “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 más 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 están en el orden correcto. Al no seleccionar ningún criterio de detención en el cuadro de diálogo Opciones de detención de Evolver, indicamos a Evolver que siga trabajando sin interrupción hasta que se pare manualmente haciendo clic en el botón “parar” de la barra de herramientas de Evolver. Pero en este modelo hemos seleccionado la opción de “el valor más cercano a”, de modo que Evolver parará automáticamente cuando encuentre una solución que cumpla la opción “el valor más cercano a” 0. Usamos una población pequeña porque, aunque no hay reglas sobre la selección de un tamaño de población óptimo, generalmente podemos seleccionar una población menor cuando trabajamos con problemas que tienen un número menor de soluciones posibles para poder centrarnos en generar las soluciones de mejor rendimiento. En este problema, sólo hay 5040 órdenes posibles de 7 nombres. 52 Orden alfabético
  • 59. Asignación de tareas Este ejemplo modela un problema común relativo a la asignación 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: Asignación de tareas.xls Objetivo: Asignar 16 trabajadores a 16 tareas de forma que se maximice el rendimiento general. Método de solución: Orden Problemas similares: Problemas de asignación, programar reuniones a las horas más convenientes para la mayoría de los trabajadores, encontrar las mejores máquinas para una serie de trabajos. Capítulo 4: Ejemplos de aplicaciones 53
  • 60. 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 clasificación de cada trabajador para esa tarea. Finalmente, la puntuación total de la solución total (en la celda U21) es la suma de todas las clasificaciones individuales. Cómo funciona Sólo puede haber una persona para cada tarea, por lo tanto los el modelo números no se pueden duplicar y cada número debe usarse una vez. La clasificación de cada trabajador en esa tarea se registra en la columna U usando la función INDICE(). Estas puntuaciones se suman en la celda U21 para calcular la puntuación total de esa serie de asignaciones. Cómo 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 método de solución “orden”. Este método baraja los valores existentes en las celdas, por lo tanto debe asegurarse de que sólo hay una instancia de cada valor antes de iniciar la optimización. Pediremos a Evolver que encuentre el valor máximo de la celda U21, la celda objetivo, porque cuanto mayor sea esta celda, mejor será la asignación en general. 54 Asignación de tareas
  • 61. Panadería Este ejemplo ilustra un problema común en los problemas de decisión de producción, en los que encontrar la cantidad adecuada de cada producto que se debe producir resulta muy difícil ... incluso con unos pocos elementos. El propietario de una panadería debe determinar el número de cajas que debe producir de cada tipo de pan para maximizar los beneficios totales de la panadería. Asegúrese de que respeta las limitaciones descritas, como el número total de horas de empleado y las relaciones correctas de producción de productos. (Nota: este modelo se describe con detalle en el Capítulo 3: Evolver paso a paso) Archivo de ejemplo: Panadería.xls Objetivo: Encontrar la cantidad óptima que se debe producir de cada tipo de pan para cumplir las cuotas y maximizar los beneficios. Método de solución: Receta Problemas similares: Desarrollo de carteras y planificación de fabricación Capítulo 4: Ejemplos de aplicaciones 55
  • 62. Cómo funciona Este problema indica la cantidad de cada producto de pan que se el modelo 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 generarían si se produjera esa cantidad. Los beneficios (en las celdas B11:G11) se añaden en la celda I11, que se convierte en la celda objetivo que se debe maximizar. El modelo tiene también tres restricciones. Todas las restricciones son duras. Una es una restricción en formato de rango de valores simple y dos son restricciones introducidas como fórmulas de Excel. Cómo resolverlo 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 demás, utilizaremos el método de solución de “receta”. También pediremos a Evolver que cumpla las restricciones de las celdas C4, D4 y I8. 56 Panadería
  • 63. Asignación de presupuesto Un jefe ejecutivo quiere averiguar la forma más eficaz de distribuir fondos entre diferentes departamentos de la compañía para maximizar los beneficios. A continuación se muestra el modelo de un negocio y su pronóstico de beneficios para el año próximo. El modelo estima los beneficios del año próximo 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 cómo se puede preparar cualquier modelo y usar Evolver para introducir variables de entrada y encontrar el mejor resultado. Archivo de ejemplo: Asignación de presupuesto.xls Objetivo: Asignar el presupuesto anual entre cinco departamentos para maximizar los beneficios del año próximo. Método de solución: Presupuesto Problemas similares: Asignación 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. Capítulo 4: Ejemplos de aplicaciones 57
  • 64. Cómo funciona El archivo “Asignación de presupuesto.xls” modela los efectos del el modelo presupuesto de una compañía 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 compañía. Este presupuesto lo establece la compañía y no se puede cambiar. Las celdas F6:F10 calculan una estimación de la demanda de los productos de la compañía para el año próximo, basándose en los presupuestos de publicidad y marketing. La cantidad de ventas reales es el mínimo de la demanda calculada y el suministro. El suministro depende del dinero asignado a los departamentos de producción y operaciones. Cómo resolverlo Maximice los beneficios de la celda I16 usando el método de solución “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 números negativos o números que no generaría soluciones apropiadas (por ejemplo, todo a publicidad y nada a producción) en el presupuesto de los departamentos. El método de solución “presupuesto” funciona como el método de solución “receta” en el sentido de que trata de encontrar la “mezcla” adecuada de las variables seleccionadas. Sin embargo, cuando se usa el método de presupuesto, se añade la restricción de que todas las variables deben sumar un mismo número, como lo hacían antes de que Evolver comenzara la optimización. 58 Asignación de presupuesto
  • 65. Equilibrio químico 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 químicos (productos y reactivos) necesarios para minimizar la energía libre después de que una reacción haya alcanzado su equilibrio. En procesos químicos complejos, los ingredientes (reactivos) y los productos se vuelven a formar continuamente unos en otros hasta que la concentración de los compuestos es constante; es decir, hasta que se alcanza el “equilibrio”. En cualquier momento después de alcanzarse el equilibrio, un porcentaje constante de los productos químicos de equilibrio pueden ser reactivos (por ejemplo, el 5%) y un porcentaje constante serían productos (95%). Archivo de ejemplo: Equilibrio químico.xls Objetivo: Calcule la energía libre del entorno de la reacción y encuentre los niveles de los productos químicos, teniendo en cuenta restricciones blandas (algunos niveles de productos químicos son proporcionales a otros). Método de solución: Receta Problemas similares: Determinación de las condiciones del equilibrio de mercado más estable. Capítulo 4: Ejemplos de aplicaciones 59
  • 66. Cómo funciona Las variables de este problema de las celdas B4:B13 son los niveles de el modelo los químicos que se van a mezclar. La celda B15 calcula la cantidad total, que se debe mantener dentro de un rango determinado según las penalizaciones. Las restricciones de F20:F22 son restricciones blandas; es decir, que no obligaremos a Evolver a aceptar solamente soluciones válidas, sino que en su lugar calcularemos las penalizaciones si ciertos químicos se salen de la proporción deseada con respecto a otros químicos. Estas restricciones blandas utilizan funciones de penalización incorporadas directamente en el modelo de la hoja de cálculo. Las penalizaciones se añaden al total de energía libre de la celda F17, de forma que cuando Evolver esté minimizando el objetivo, estará buscando soluciones que no generen penalizaciones. Cómo resolverlo Use el método de solución de receta en las celdas B4:B13. Minimice la celda F17. 60 Equilibrio químico
  • 67. 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 permitiría tratar el problema con el método de solución “agrupamiento”. Sin embargo, hay una serie de restricciones que deben cumplirse mientras se prepara el calendario de clases. Por ejemplo, biología y química 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 método de “calendarización”. El método de solución de “calendarización” es como el método de “agrupamiento”, con la excepción de que existen restricciones que indican que ciertas tareas deben suceder (o no suceder) antes (o después, o durante) que otras tareas. Archivo de ejemplo: Programador de clases.xls Objetivo: Asignar 25 clases a 6 periodos de tiempo para minimizar el número de estudiantes que no pueden asistir a ciertas clases. Cumplir una serie de restricciones sobre la coincidencia de clases. Método de solución: Calendarización Problemas similares: Cualquier problema de calendarización en el que todas las tareas son de la misma duración y pueden asignarse a una serie de bloques de tiempo independientes. Además, cualquier problema de agrupamiento en el que haya restricciones sobre qué grupos pueden asignarse. Capítulo 4: Ejemplos de aplicaciones 61
  • 68. Cómo funciona El archivo “Programador de clases.xls” contiene un modelo de un el modelo problema típico de programación en el que deben cumplirse muchas restricciones. Las celdas C5:C29 asignan 25 clases a 6 bloques de tiempo. Sólo hay cinco salas disponibles, por lo tanto, asignar más 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 número de código o la descripción como restricción. La lista de códigos de restricción de los problemas de programación se encuentra más detallada en la sección “Métodos de solución” del Capítulo 5: Referencia completa. Cada uno de los posibles calendarios se evalúa mediante el cálculo de a) el número de clases que no pueden coincidir, y b) el número de estudiantes que no pueden asistir a sus clases porque se ha alcanzado la capacidad de la sala. Esta última restricción impide que Evolver programe todas las clases grandes al mismo tiempo. Si sólo hay una o dos clases grandes durante un bloque de tiempo, más grandes serán las salas que se pueden usar. 62 Programador de clases
  • 69. Las celdas I8:N8 utilizan la función BCUENTA de Excel para contar cuántas clases hay asignadas a cada bloque de tiempo. Justo debajo de las celdas I9:N9 se calcula cuántas 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 número de asientos necesario para una clase determinada excede el número de asientos disponibles, las celdas I12:N12 calculan cuántos sobran, y el número total de estudiantes sin asiento se calcula en la celda K13. En la celda F6, este número total de estudiantes sin asiento se añade al promedio de tamaño de clase, y se multiplica por el número de clases sin sala. De esta forma, tenemos una celda que combina todas las penalizaciones de modo que un número reducido en esta celda indica siempre un calendario más adecuado. Cómo resolverlo Minimice el valor de las penalizaciones de F6 cambiando las celdas C5:C29. Use el método de solución “calendarización”. Cuando se selecciona este método de solución, aparecerán una serie de opciones relacionadas en la sección inferior “opciones” del cuadro de diálogo. Establezca el número de bloques de tiempo en 6, y las celdas de restricciones en K17:M25. Capítulo 4: Ejemplos de aplicaciones 63
  • 70. 64
  • 71. Segmentador de códigos Un programador de Windows quiere dividir un programa en varios segmentos de código, de forma que Windows pueda usar la memoria de forma más eficaz manteniendo en memoria sólo los segmentos de código que estén actualmente en uso. Este es un ejemplo de recolección de elementos similares en grupos. Los elementos pueden interactuar eficazmente con otros del mismo grupo, pero es difícil que los elementos de diferentes grupos interactúen. Cuando hay barreras naturales que impiden que cada elemento interactúe directamente con los demás (por ejemplo, que los usuarios de PC estén 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 código.xls Objetivo: Agrupar rutinas de programación en ocho segmentos de código diferentes de forma que el programa se ejecute lo más rápidamente posible. Método de solución: agrupamiento Problemas similares: Agrupación de estaciones de trabajo en grupos LAN, o circuitos en áreas de un microchip, de modo que el costo de la comunicación entre grupos se minimice. Capítulo 4: Ejemplos de aplicaciones 65
  • 72. Cómo funciona Los programadores de Windows normalmente dividen los programas el modelo 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 activación. Si un programa de 2 MB se divide en 80 segmentos de 20 Kb cada uno, el programa puede ejecutarse con sólo 20 Kb de memoria disponible. Sin embargo, para que se ejecute con un nivel de funcionamiento aceptable, los segmentos de código deben organizarse cuidadosamente. La llamada de una función de otro segmentos tarda más que la llamada de una función del mismo segmento que la función activa. La minimización del número de llamadas entre segmentos se conoce como un problema de segmentación de código. Como es posible optimizar algunas partes de una aplicación afectando la aplicación en su totalidad, utilizaremos Evolver para realizar una optimización global. El archivo de ejemplo “Segmentador de código.xls” presupone que la aplicación se ha compilado con cierta segmentación. La aplicación se ejecuta tal y como la ejecutaría un usuario, mientras una rutina de seguimiento de rendimiento controla el número de veces que cada función llama a otra función. Por lo tanto, los resultados representan la naturaleza de las llamadas durante el uso típico de la aplicación. A partir de ahí se pueden hacer predicciones sobre la velocidad de la aplicación con diferentes estrategias de segmentación. Esa hoja de trabajo utiliza la función personalizada “SegCost”. SegCost calcula el tiempo que tardaría el usuario en ejecutar el programa de la misma forma que cuando se obtuvieron las estadísticas de uso típico. El cálculo se hace contando el número 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 códigos
  • 73. La función 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 aplicación de muestra tiene 80 funciones. El número de veces que cada función llama a otra se almacena en el rango “llamadas” (C5:I104). Se puede crear una matriz de 80 por 80 para representar el patrón de llamadas, pero este método de n por n sería inútil después de 250 funciones, porque Excel tiene un límite de 256 columnas (y porque el método necesitaría una cantidad exponencial de memoria). Capítulo 4: Ejemplos de aplicaciones 67
  • 74. También se puede usar una anotación condensada para representar el patrón de llamadas. Primero presuponemos que las funciones sólo llaman a un cierto número de funciones. En el archivo de ejemplo, presuponemos que siete es el límite superior; por eso el rango de llamadas tiene un ancho de siete columnas, pero este límite es arbitrario. También presuponemos que ninguna función puede ser llamada por otra más de 9999 veces. Veamos la función 1, empezando en la celda C5. La Función 1 llama a cuatro funciones: 3, 9, 81 y 41. C5:I5, la primera fila de las llamadas, contiene un número real por cada función llamada (es decir, 3.0023). La porción entera (es decir, 3) representa la función llamada, y la parte decimal multiplicada por 10,000 (es decir, .0023 x 10,000 = 23) representa el número de veces que la función 1 llamó a la función 3 durante el uso típico de la aplicación. Por lo tanto, 9.1117 significa que la función llamó la función 9 un total de 1,117 veces, etc. Este formato conciso permite ahorrar memoria y aprovechar el número limitado de columnas de Excel. La celda A5:A104 (el rango “segs”) contiene el número del segmento al que se asigna cada función. La celda K4 llama a la función “SegCost” para calcular el rendimiento general de la estrategia de segmentación actual. Cómo resolverlo Minimice el valor de la celda K4 ajustando las celdas A5:A104. Use el método de “agrupamiento”. El método de solución de “agrupamiento” indica a Evolver que organice las variables en x grupos, donde x es el número de valores diferentes de las celdas ajustables al iniciar una optimización. 68 Segmentador de códigos
  • 75. Dakota: Rutas con restricciones Una empresa de bienes raíces necesita evaluar sus propiedades en North Dakota en un orden determinado, de forma que ciertas propiedades se visiten antes que otras. Similar al problema clásico del vendedor que viaja, el objetivo de este problema es encontrar la ruta más corta entre una serie de ciudades para asegurarse de que cada ciudad se visite una vez. Sin embargo, aquí añadimos la restricción de que ciertas ciudades deben visitarse antes que otras (como en el caso de la ciudad número 2, que está después de la ciudad número 4). Esto significa de que en lugar de usar el método de solución “orden” usaremos el método de solución “proyecto”. Un proyecto es un orden para una serie de tareas en el que algunas tareas deben preceder a otras. Se puede usar el método de solución “proyecto”, junto con sus propias funciones personalizadas, para encontrar la mejor secuencia de tiempo para un proyecto (basándose en una combinación de una serie de criterios, como tiempo de terminación, uso de recursos, etc.). Archivo de ejemplo: Dakota.xls Objetivo: Planifique una ruta entre 41 ciudades de North Dakota para encontrar la ruta más corta entre todas las ciudades asegurándose de que algunas ciudades se visitan antes que otras. Método de solución: proyecto Problemas similares: Revisión del calendario de un proyecto para equilibrar el uso de recursos. Programación del flujo de trabajo de un taller de maquinaria para reducir el tiempo total, asegurándose el mismo tiempo de que algunos trabajos se hacen antes que otros. Capítulo 4: Ejemplos de aplicaciones 69
  • 76. Cómo funciona Las celdas F3:F43 contienen el orden en el que se visitarán las el modelo ciudades. La celda H10 calcula la longitud total de la ruta, basándose en el orden y las ubicaciones x,y de las ciudades (celdas C3:D43). La celda H10 usa la función personalizada “BigRouteLength” para acelerar el cálculo 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 después de visitar ciertas ciudades. 70 Dakota: Rutas con restricciones
  • 77. Cómo resolverlo Minimice la longitud de la ruta de la celda H10 cambiando las celdas F3:F43. Use el método de solución “proyecto” y establezca las tareas precedentes en J3:L43. Estas tareas precedentes se establecen en el campo Tareas Precedentes del cuadro de diálogo Configuraciones de Grupo de Celda Ajustable: Capítulo 4: Ejemplos de aplicaciones 71
  • 78. 72
  • 79. Programación del trabajo de un taller Un taller metalúrgico necesita encontrar la mejor forma de programar una serie de trabajos que se pueden dividir en pasos que se pueden realizar en diferentes máquinas. Cada trabajo se compone de cinco tareas, y las tareas deben realizarse en orden. Cada tarea debe hacerse en una máquina específica, y necesita una cantidad específica de tiempo para realizarse. Hay cinco trabajos y cinco máquinas. Haciendo clic en el botón Dibujar Programa de la parte superior de la hoja se redibuja el gráfico de barras para mostrar cuándo se debe ejecutar cada una de las tareas programadas. Archivo de ejemplo: Programación trabajo taller.xls Objetivo: Asigne partes de un trabajo (tareas) a diferentes máquinas de forma que se minimice el tiempo total para terminar todos los trabajos. Método de solución: Orden Problemas similares: Problemas de programación o administración de proyectos Capítulo 4: Ejemplos de aplicaciones 73
  • 80. Cómo funciona La celda D5 calcula el tiempo de producción, o cuánto tiempo pasa el modelo 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 cuándo se puede realizar cada tarea en la máquina necesaria. Cómo resolverlo Seleccione una serie de celdas ajustables G11:G35 y seleccione el método de solución de orden. Minimice el resultado de la celda D5. 74 Programación del trabajo de un taller
  • 81. Ubicación de una torre de radio Una cadena de radio quiere construir tres torres de radio en una región que tiene doce comunidades de importancia. Cada comunidad tiene un tamaño diferente de población, y cada torre de radio tiene un alcance de emisión diferente. El objetivo es colocar las torres de forma que los radios de alcance de emisión de las torres cubran el máximo número de oyentes potenciales. y x 1 1 Un ejemplo más complejo de problema de ubicación puede ser situar varias fábricas de forma que a) estén cerca tanto de vendedores como de clientes, b) estén en un terreno abierto y económico, y c) estén cerca de una fuerza laboral grande y técnicamente capacitada. También se puede añadir 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: Ubicación torres radio.xls Objetivo: Encontrar las mejores coordenadas x,y para tres torres de radio de forma que el alcance de emisión cubra la mayor población de potenciales oyentes. Método de solución: Receta Problemas similares: Búsqueda de lugares para almacenes que minimicen los envíos necesarios entre almacenes y tiendas. Ubicar estaciones de bomberos de forma que cubran mejor las poblaciones con un número limitado de estaciones, incluyendo factores como la densidad de viviendas. Capítulo 4: Ejemplos de aplicaciones 75
  • 82. Cómo funciona El archivo “Ubicación torres radio.xls” modela un terreno de dos el modelo dimensiones en el que la colocación de cinco torres de radio determina a cuántos oyentes llega el alcance. Las celdas C6:D8 contienen las coordinadas x,y de las tres torres. La ilustración del modelo consta de dos elementos: uno es una imagen de bitmap de las densidades de población (en verde) pegada del programa Paintbrush de Windows; el otro es un diagrama de dispersión de Excel que se recalcula automáticamente 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 población de todas las comunidades cubiertas (el número que queremos maximizar) se calcula en la celda O17. Cómo resolverlo Maximice la población alcanzada en la celda O17 ajustando las celdas C6:D8 de ubicación de las torres. Use el método de solución “receta” y establezca los rangos de las variables de 0 a 50 (los límites de nuestra área de ubicación). El método de solución “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 solución óptima. 76 Ubicación de una torre de radio
  • 83. 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 más similar posible. Este es un ejemplo de una categoría 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 más similar posible. Si hay millones de pequeños elementos a agrupar en unos pocos grupos, como puede ser granos de trigo en la bodega de un barco, se puede presuponer una distribución aproximadamente normal sin grandes diferencias de peso. Sin embargo, varias docenas de grupos, de pesos y tamaños diferentes, se pueden agrupar de formas muy diferentes, y un agrupamiento eficaz puede mejorar el equilibrio que se encontraría manualmente. Archivo de ejemplo: Cartera equilibrada.xls Objetivo: Dividir una lista de acciones en cinco carteras diferentes cuyos valores totales estén lo más cerca posible unos de otros. Método de solución: agrupamiento Problemas similares: Creación de equipos que tengan habilidades colectivas equivalentes. Asignación de contenedores a la bodega de un barco de forma que el peso quede distribuido uniformemente. Capítulo 4: Ejemplos de aplicaciones 77
  • 84. Cómo funciona El archivo “Cartera equilibrada.xls” modela una asignación típica de el modelo grupos. La Columna A contiene números de identificación de acciones específicas, y la columna B contiene el valor monetario de cada acción. La Columna C asigna cada acción a una de las cinco carteras. Cuando se configura un problema de tipo agrupamiento o de grupos de intervalos y se utiliza el método de solución 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 fórmulas “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
  • 85. La celda F12 calcula la desviación estándar entre todos los valores de las carteras usando la función “DESVEST()”. Esto proporciona una medida de la similitud del valor total de cada una de las carteras. El gráfico muestra el valor total de cada cartera, con una línea de referencia en el número objetivo en el que cada cartera estaría si fueran todas iguales. Cómo resolverlo Minimice el valor de la celda F12 ajustando las celdas C5:C104. Use el método de “agrupamiento” y asegúrese de que los valores 1, 2, 3, 4 y 5 aparecen al menos una vez en la columna C. El método de solución de “agrupamiento” indica a Evolver que organice las variables en x grupos, donde x es el número de valores diferentes de las celdas ajustables al iniciar una optimización. Capítulo 4: Ejemplos de aplicaciones 79
  • 86. 80
  • 87. 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 fórmulas que multiplican las diferentes jerarquías, han personalizado un tipo de “puntuación” 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 /recuperación. Método de solución: Presupuesto Capítulo 4: Ejemplos de aplicaciones 81
  • 88. Cómo funciona Este es un modelo financiero clásico que trata de equilibrar el riesgo el modelo de pérdida y la recuperación de la inversión. Todos los activos incluido en la columna A tienen asignada una jerarquía en la columna C. El modelo multiplica los porcentajes de recuperación por la jerarquía de cada activo de la cartera para generar una recuperación total en la celda C18. También se calcula el número de riesgo total de la celda C19, que no debe ser mayor que el riesgo aceptable de la celda D19. Cómo resolverlo La “puntuación” total de la celda C22 refleja la recuperación total menos una penalización por un riesgo superior al porcentaje aceptable. Debemos maximizar esta puntuación. 82 Mezcla de carteras
  • 89. Estaciones de potencia Una cadena de radio compra tres torres de radio abandonadas que no funcionan en una región 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 sería igual de fácil crear una tabla de búsqueda de tipos y precios de transmisores. Archivo de ejemplo: Estaciones de potencia.xls Objetivo: Encontrar el transmisor más pequeño (más barato) para cada una de las torres antiguas que permita cubrir el área de las diez comunidades. Método de solución: Receta Problemas similares: Problemas de cobertura fija, en los que deben describirse una serie de elementos mediante un pequeño número de grupos bien definidos. Capítulo 4: Ejemplos de aplicaciones 83
  • 90. Cómo funciona Esto es muy similar al ejemplo de ubicación de torres de radio el modelo (Ubicación 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. Añadimos 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 restricción dura denominada ¿Todas las áreas cubiertas?. Esta restricción tiene la fórmula Y($N$4:$N$12) que genera un valor VERDADERO sólo si todos los valores de la columna N son VERDADEROS. Cómo resolverlo Minimice la potencia necesaria en la celda E12 ajustando los radios de las torres de las celdas E5:E7. Use el método de solución "receta" y establezca los rangos de las variables de 0 a 100. La restricción dura única, introducida usando el formato de fórmula de Excel, se describe arriba. 84 Estaciones de potencia
  • 91. Compras Cada vez que hay múltiples formas de ordenar elementos, los descuentos de cantidad dificultan la determinación de la forma más económica 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 pequeños, medianos, grandes y extra-grandes. Trate de comprar la cantidad adecuada de cada tamaño de barril para minimizar su costo. Archivo de ejemplo: Compras.xls Objetivo: Gastar la menor cantidad posible de dinero comprando 155 litros de disolvente. Método de solución: Receta Problemas similares: Lo opuesto: crear una tabla de precios que incentive con regularidad y justicia los pedidos de grandes cantidades. Capítulo 4: Ejemplos de aplicaciones 85
  • 92. Cómo funciona Este disolvente se ofrece en barriles de 3, 6, 10 y 14 litros. La tabla de el modelo precios de cada tamaño se encuentra en las celdas D6:H9. Las celdas H13:H16 contienen las cantidades a comprar de cada tamaño. 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 número necesario de la celda I19 (155). La restricción dura única es que la cantidad de la compra exceda la cantidad necesaria. Como necesitamos 155 litros, podemos comprar 11 barriles extra- grandes (154 litros), y un barril pequeño (3 litros) para un total de 157 litros. Según la tabla de precios, eso costaría un total de $1,200. Pero si ejecutamos la optimización se consigue una combinación aún más económica. Cómo resolverlo Minimice el costo de la celda K18 ajustando las cantidades a comprar de las celdas H13:H16. Use el método de solución de receta para ajustar valores, y establezca los rangos de estas variables entre 1 y 20. No se puede comprar sólo una parte de un barril, así que indicaremos a Evolver que use sólo números enteros marcando la opción “enteros” en el cuadro de diálogo Celdas Ajustables. Como no se pueden comprar menos de 155 litros, introduzca una restricción dura única que especifique I18>155. 86 Compras
  • 93. Problema del vendedor Un vendedor debe visitar una vez todas las ciudades de su territorio asignado. ¿Cuál es la ruta más corta posible que permita visitar todas las ciudades? Este es un problema clásico de optimización y uno extremadamente difícil de resolver usando técnicas convencionales si hay un gran número de ciudades (>50). Un problema similar puede ser el de encontrar el mejor orden para realizar tareas en una fábrica. Por ejemplo, puede ser mucho más fácil aplicar pintura negra después de la pintura blanca que al revés. En Evolver, estos tipos de problemas se pueden solucionar mejor con el método de solución de orden. Archivo de ejemplo: Problema del vendedor.xls Objetivo: Encontrar la ruta más corta entre n ciudades que permita visitar una vez cada ciudad. Método de solución: Orden Problemas similares: Planificación de la perforación de orificios en una placa de circuitos de la forma más rápida. Capítulo 4: Ejemplos de aplicaciones 87
  • 94. Cómo funciona El archivo “Problema del vendedor.xls” calcula la longitud de la ruta el modelo de un viaje a varias ciudades buscando la distancia en la tabla. La Columna A contiene los números de identificación de las ciudades. La Columna B contiene los nombres que representan esos números (con una función de búsqueda). El orden de arriba a abajo en el que aparecen las ciudades (y sus números) representa el orden en el que se visitan las ciudades. Por ejemplo, si introdujo “9” en la celda A3, Ottawa sería la primera ciudad visitada. Si A4 contiene el número “6” (Halifax), Halifax sería la segunda ciudad visitadas. Las distancias entre ciudades aparece en la tabla que comienza en la celda C25. Las distancias de la tabla son simétricas (la distancia de A a B es la misma que de B a A). También es posible que otros modelos más realistas incluyan distancias no simétricas para representar mayor dificultad de viaje en una dirección (debido a peajes, transporte disponible, vientos, pendientes, etc.). Se debe usar ahora una función 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 función “RouteLength”. Esta es una función VBA personalizada para Problema del vendedor.xls. Cómo resolverlo Minimice el valor de la celda G2 ajustando las celdas A3:A22. Use el método “orden” y asegúrese de que los valores del 1 al 20 existen en las celdas ajustables (A3:A22) antes de iniciar la optimización. El método de solución “orden” indica a Evolver que reorganice las variables seleccionadas, probando diferentes permutaciones de las variables existentes. 88 Problema del vendedor
  • 95. Navegador espacial Como parte de la tripulación de la lanzadera espacial “Evolver III”, debe calcular la cantidad y la dirección del impulso de cada cohete propulsor para alcanzar su destino usando la menor cantidad posible de combustible. Las mejores soluciones probablemente pasarán 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. Método de solución: Receta Problemas similares: Problemas de control de procesos Capítulo 4: Ejemplos de aplicaciones 89
  • 96. Cómo funciona Las celdas Q5:R15 contienen los valores de tamaño de impulsión y el modelo dirección 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 posición final de la nave esté a un máximo de 10 unidades horizontales de su destino, y b) que esté a un máximo de 10 unidades verticales. Cómo resolverlo Minimice la celda Q16. Cree un grupo de celdas ajustables que utilicen el método de solución de receta usando las celdas Q5:R13. Las celdas de Impulsión (Q5:Q13) deben tener un rango entre 0 y 300 y las celdas de Dirección (R5:R13) deben tener un rango entre -3 y 3, ya que se utilizan radianes para representar la dirección de los impulsos. Un radian equivale a 57 grados. 90 Navegador espacial
  • 97. Agente de bolsa Usted es agente de bolsa en el mercado de S&P 500, y ha determinado que el análisis técnico proporciona previsiones más precisas sobre las acciones que el análisis fundamental tradicional, y podría ahorrar tiempo si creara un sistema. Podría haber un número infinito de posibles reglas a seguir para invertir en bolsa, pero sólo unas pocas le habrán generado beneficios significativos si usted las ha seguido. Una búsqueda inteligente con su PC podría ayudarle a determinar qué reglas habrían generado más dinero en un periodo de tiempo histórico. Archivo de ejemplo: Agente de bolsa.xls Objetivo: Encontrar un conjunto de tres reglas que habrían generado las mayores ganancias durante un periodo de tiempo determinado. Método de solución: Receta Problemas similares: Búsqueda de promedios en movimiento óptimos que habría generado los mejores resultados; cualquier problema de búsqueda de reglas o criterios. Capítulo 4: Ejemplos de aplicaciones 91
  • 98. Cómo funciona Este modelo usa varios grupos de celdas ajustables para resolver el el modelo problema en general. Hay tres reglas que se evalúan en cada día de actividad. Si las condiciones de las tres reglas son verdaderas, el sistema informático comprará ese día; de lo contrario, venderá. (Un sistema de actividad más realista no sólo compra o vende, sino que también mantiene lo que tiene.) Cada regla se describe con una serie de cuatro números 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 día o del cambio desde el último día. 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 coincidiría con un volumen de 5,000, un valor de corte de 1.0 sería el del volumen de 10,000 y un valor de corte de 0.5 sería 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. Cómo resolverlo Cree los grupos de celdas ajustables, utilizando en todos ellos el método de solución 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 fácilmente 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 después de la simulación de cada día en la base de datos histórica se envía a la celda E10. 92 Agente de bolsa
  • 99. Transformador El transformador de dos bobinados debe tener una capacidad de 1080 VA con pérdidas bajo carga máxima no superiores a los 28 vatios y una disipación 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 operación de un transformador. Método de solución: Receta Problemas similares: Diseño de circuitos y diseño de puentes. Capítulo 4: Ejemplos de aplicaciones 93
  • 100. Cómo funciona La capacidad, pérdida de carga y disipación de calor se deben el modelo codificar como restricciones blandas. Las restricciones blandas se crean penalizando aquellas soluciones que no cumplen nuestros requisitos, y no son válidas. A diferencia de las restricciones duras, que deben cumplirse, Evolver permite probar algunas soluciones no válidas, pero como esas soluciones no válidas son penalizadas por una función del modelo que comprueba las violaciones existentes, producirán resultados malos en la celda objetivo. Por lo tanto, a la larga, estas soluciones no válidas se descartarán de la población que evoluciona de posibles soluciones. Un modelo con restricciones blandas puede funcionar mejor que una restricción dura si el problema tiene menos restricciones. También permite a Evolver aceptar una solución excelente aunque no cumpla mínimamente las restricciones, lo cual puede tener mayor valor que una solución no tan buena que cumpla todas las restricciones. Cómo resolverlo Calcule el costo de material (costo inicial) y costos de operación (costo de la electricidad * electricidad no aprovechada) en las celdas F11 y F12. Combine estos valores con las funciones de penalización establecidas en las celdas F18:F20 para establecer un costo restringido en la celda F22. Minimice esta celda objetivo usando el método de solución de receta. 94 Transformador
  • 101. Transporte ¿Cuál puede ser la forma más económica de transportar objetos en camión por todo el país? Este problema estándar ha sido expandido a partir de un ejemplo antiguo de Microsoft Solver. “Minimice los costos de transportar productos desde los centros de producción a los almacenes cercanos a los centros de demanda del área metropolitana, sin exceder el suministro disponible de cada centro de producción y satisfaciendo la demanda de cada área metropolitana”. Para que el problema sea más realista, los costos de transporte se han cambiado para que no sean lineales, sino que dependan de cuántos camiones son necesarios. Un camión 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 camión desde tres centros de producción a cinco almacenes, de la forma más económica posible. Método de solución: Receta Problemas similares: Diseño de redes de comunicación Capítulo 4: Ejemplos de aplicaciones 95
  • 102. Cómo funciona Las celdas C5:E7 contienen el número de objetos transportados desde el modelo cada centro de producción a cada almacén. Las celdas C13:E15 calculan el número de camiones que serían necesarios para transportar esos objetos. Las restricciones duras son: 1) que el total de transporte de cada centro de producción sea menor o igual al suministro disponible en el centro, y 2) que el total transportado de todos los centros de producción a cada almacén sea mayor o igual a la cantidad que demanda el almacén. De esta forma se asegura que cada almacén recibirá lo que necesita, y ningún centro de producción tenga que pagar más impuestos de los debidos. Cómo resolverlo Use el método de solución de receta en las celdas C5:E7, usando números enteros entre 0 y 500. Hay una serie de restricciones duras en cada centro de producción que especifican que los transportes de cada centro de producción <= suministro del centro. Hay un segundo grupo de restricciones duras para cada almacén que especifican que el total transportado al almacén >= demanda del almacén. Minimice los costos de transporte de la celda B22. 96 Transporte
  • 103. Capítulo 5: Guía de referencia de Evolver Comando Definición de Modelo ......................................................99  Rangos de celda ajustables.................................................................101  Grupos de celdas ajustables...............................................................104  Método de Solución de Receta.............................................106  Método de solución de orden...............................................106  Método de solución de agrupación .....................................107  Método de solución de presupuesto ...................................108  Método de solución de proyecto..........................................109  Método de solución de calendarización .............................110  Tasa de cruce e tasa de mutación .........................................112  Número de bloques de tiempo y celdas de restricción....114  Tareas precedentes .................................................................114  Operadores...............................................................................115  Restricciones .........................................................................................117  Añadir – Cómo añadir restricciones....................................117  Tipo de restricción..................................................................118  Restricciones simples y de fórmula.....................................118  Restricciones blandas ............................................................119  Comando Configuraciones de optimización ...............................123  Comando Configuraciones de optimización – Pestaña General ....................................................................................123  Comando Configuraciones de optimización – Pestaña Tiempo de ejecución.............................................................125  Opciones de tiempo de ejecución de la optimización .....126  Comando Configuraciones de optimización – Pestaña Visualizar................................................................................128  Comando Configuraciones de optimización – Pestaña Macros .....................................................................................129  Comando Iniciar optimización ......................................................131  Capítulo 5: Guía de referencia de Evolver 97
  • 104. Comandos de Utilidades ............................................................... 133  Comando Configuraciones de aplicación ....................................... 133  Comando Solver de restricciones ..................................................... 134  El Observador del Evolver ............................................................ 137  Observador del Evolver – Pestaña de Progreso ............................. 138  Cuadro de diálogo Opciones de Gráficos ......................... 139  Observador del Evolver – Pestaña de Resumen ............................ 140  Observador del Evolver – Pestaña de Bitácora............................... 141  Observador del Evolver – Pestaña de Población ........................... 143  Observador del Evolver – Pestaña de Diversidad ......................... 144  Observador del Evolver – Pestaña de Opciones de detención.... 145  98 Transporte
  • 105. Comando Definición de Modelo Define el objetivo, las celdas ajustables y las restricciones del modelo Al seleccionar el comando Definición de Modelo (o haciendo clic en el icono Modelo de la barra de herramientas de Evolver) aparece el cuadro de diálogo Modelo. El cuadro de diálogo Modelo de Evolver. El cuadro de diálogo Modelo de Evolver se usa par especificar o describir un problema de optimización en Evolver. Este cuadro de diálogo se inicia vacío en cada libro de trabajo nuevo de Excel, y guarda su información con cada libro de trabajo. Eso significa que cuando se abre de nuevo la hoja, se llenará de la misma forma. Los componentes del cuadro de diálogo se describen en esta sección. Capítulo 5: Guía de referencia de Evolver 99
  • 106. Las opciones del cuadro de diálogo Modelo son: • Meta de optimización. La opción Meta de optimización determina que tipo de respuesta debe buscar Evolver. Si se selecciona Mínimo, Evolver buscará valores de variable que generen el menor valor posible en la celda objetivo (hasta un mínimo de - 1e300). Si se selecciona Máximo, Evolver buscará valores de variable que resulten en el mayor valor posible en la celda objetivo (hasta +1e300). Si se selecciona Valor objetivo, Evolver buscará valores de variable que generen un valor en la celda objetivo lo más cercano posible al valor especificado. Cuando Evolver encuentra una solución que genera este resultado, se detendrá automáticamente. Por ejemplo, si especifica que Evolver debe encontrar un resultado cercano a 14, Evolver puede encontrar escenarios que generen un resultado de 13.7 o 14.5. Observará que 13.7 es más cercano a 14 que 14.5; Evolver no tiene en cuenta si el valor es mayor o menor que el valor especificado, sólo busca lo cerca que se encuentra el valor. • Celda. La celda o celda objetivo contiene el resultado del modelo. Se genera un valor en esta celda por cada "solución de prueba" que genera Evolver (es decir, por cada combinación de posibles valores de las celdas ajustables). La celda objetivo debe contener una fórmula que depende (directamente o a través de una serie de cálculos) de las celdas ajustables. Esta fórmula se puede crear con fórmulas estándar de Excel como SUM() o con funciones de macro VBA definidas por el usuario. Al usar funciones de macro VBA puede hacer que Evolver evalúe los modelos que sean más complejos. Mientras Evolver busca una solución, utiliza el valor de la celda objetivo como clasificación o “función de idoneidad” para evaluar lo apropiado que es cada posible escenario, y para determinar qué valores de variable deben continuar reproduciéndose y cuales deben desaparecer. En la evolución biológica, la muerte es la “función de idoneidad” que determina qué genes siguen reproduciéndose en una población. 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 precisión su progreso. 100 Comando Definición de Modelo
  • 107. 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 descripción introducida para esas celdas. Cada grupo de celdas ajustables se incorpora a una fila horizontal. En un Grupo de celdas ajustables se pueden incluir uno o más rangos de celdas ajustables. Todos los rangos de celdas de un Grupo de celdas ajustables comparten métodos de solución, tasa de cruce, tasa de mutación 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 mayoría de los problemas se pueden describir con un grupo de celdas ajustables, pero otros problemas más complejos pueden necesitar diferentes bloques de variables para su resolución con diferentes métodos de solución simultáneos. Esta arquitectura exclusiva permite crear fácilmente problemas altamente complejos a partir de múltiples grupos de celdas ajustables. Capítulo 5: Guía de referencia de Evolver 101
  • 108. Las siguientes opciones están disponibles para su introducción en los Rangos de celda ajustables: • Añadir. Se pueden añadir nuevas celdas ajustables haciendo clic en el botón “Añadir” junto al cuadro de lista Celdas Ajustables. Seleccione la celda o el rango de celdas a añadir, y aparecerá una nueva fila en la tabla Rangos de celda ajustables. En la tabla podrá introducir un valor Mínimo y Máximo para las celdas del rango, así como el Tipo de valores a probar: valores Enteros del rango o Cualquier valor. • Mínimo y Máximo. Después de especificar la ubicación de las celdas ajustables, los datos de Mínimo y Máximo establecen el rango de valores aceptables para cada celda ajustable. De forma predeterminada, cada celda ajustable puede tener un valor de número real (punto flotante de doble precisión) entre –infinito y +infinito. Las configuraciones de rango son restricciones de cumplimiento estricto. Evolver no permite que ninguna variable tenga un valor fuera de los rangos establecidos. Para mejorar el funcionamiento de Evolver, se recomienda establecer rangos más específicos para las variables en la medida de lo posible. Por ejemplo, es posible que se sepa que el valor no puede ser negativo, o que Evolver sólo debe probar valores entre 50 y 70 para una variable determinada. • Rango. La referencia de las celdas a ajustar se introduce en el campo Rango. Esta referencia se puede introducir seleccionando la región de la hoja de cálculo con el ratón, introduciendo un nombre de rango o escribiendo una referencia válida de Excel como Hoja1!A1:B8. El campo Rango está disponible en todos los métodos de solución. Sin embargo, en los métodos de solución de receta y presupuesto, se pueden añadir opciones de Mínimo, Máximo y Valores para poder introducir un rango para las celdas ajustables. NOTA: Al asignar rangos ajustados a las variables, se limita el alcance de la búsqueda y se acelera la convergencia de Evolver en una solución. Pero tenga cuidado para no limitar en exceso los rangos de las variables porque podría impedir que Evolver encuentre soluciones óptimas. 102 Comando Definición de Modelo
  • 109. Valores. El dato Valores permite especificar que Evolver trate todas las variables del rango especificado como enteros (por ejemplo, 22), en lugar de como números reales (por ejemplo, 22.395). Esta opción sólo está disponible cuando se usan los métodos de solución “receta” y “presupuesto”. La configuración predeterminada es tratar las variables como números reales. Asegúrese de que activa la configuración Enteros si el modelo utiliza variables para buscar elementos en una tabla (CONSULH(), CONSULV(), INDICE(), DESREF(), etc.). Recuerde que la configuración Enteros afecta a todas las variables del rango seleccionado. Si quiere tratar algunas variables como números 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 números reales. Simplemente “Añada” un grupo de receta de celdas ajustables y deje el campo Valores en Cualquiera. Luego, “Añada” otro rango de celdas, esta vez seleccionando la configuración Enteros y seleccionando sólo las celdas ajustables de números enteros. Capítulo 5: Guía de referencia de Evolver 103
  • 110. Grupos de celdas ajustables Cada grupo de celdas ajustables puede contener múltiples rangos de celdas. Esto permite crear una "jerarquía" de grupos de rangos de celdas relacionados. Dentro de cada grupo, cada rango de celda puede tener su propio rango Mín-Máx. Todos los rangos de celdas de un Grupo de celdas ajustables comparten métodos de solución, tasa de cruce, tasa de mutación y operadores. Estos datos se especifican en el cuadro de diálogo Configuraciones de grupos de celdas ajustables. Se puede acceder a este cuadro de diálogo haciendo clic en el botón Grupo junto a la tabla Rangos de celda ajustables. Se puede crear un nuevo Grupo al que añadir rangos de celdas ajustables o editar las configuraciones de un grupo existente. 104 Comando Definición de Modelo
  • 111. Las opciones de la pestaña General del cuadro de diálogo Configuraciones de grupos de celdas ajustables son: • Descripción. Describe el grupo de rangos de celdas ajustables para cuadros de diálogo e informes. • Método de solución. Selecciona el Método de Solución a usar en cada rango de celdas ajustables del grupo. Cuando se selecciona el rango de celdas que Evolver va a ajustar, también se especifica el “método de solución” que se va a aplicar cuando se ajusten esas celdas. Cada uno de los métodos de solución es, en esencia, un algoritmo genético totalmente diferente, con sus propias rutinas optimizadas de selección, cruce y mutación. Cada uno de los métodos de solución baraja los valores de las variables de una forma diferente. El método de solución de “receta”, por ejemplo, trata cada variable seleccionada como un entero en la receta; cada valor de una variable se puede cambiar independientemente de los demás. Por su parte, el método de solución de “orden” intercambia valores entre las celdas ajustables, reordenando los valores originales. Evolver tiene seis métodos de solución. Tres de los métodos de solución (receta, orden y agrupamiento) usan algoritmos totalmente diferentes. Los otros tres son descendientes de los tres primeros, con restricciones adicionales añadidas. Capítulo 5: Guía de referencia de Evolver 105
  • 112. La siguiente sección describe la función de cada método de solución. Para comprender mejor cómo se usa cada método de solución, también se recomienda explorar los archivos de ejemplo que se incluyen con el software (ver Capítulo 4: Ejemplos de Aplicaciones). Método de El método de solución de “receta” es el más sencillo y popular de los Solución de métodos de solución. Use la receta cuando se puedan variar Receta independientemente unas de otras las variables que se van a ajustar. Piense en cada variable como en la cantidad de un ingrediente en un pastel; cuando se usa el método de solución de “receta”, le indica a Evolver que genere números para esas variables en busca de la mejor combinación. La única restricción que se aplica a las variables de una receta es el rango (el valor más alto y el más bajo) que esos valores pueden tener. Establezca estos valores en los campos Mín y Máx del cuadro de diálogo Celdas Ajustables (por ejemplo, 1 a 100), e indique también si Evolver debe tratar esos números como enteros (1, 2, 7) o como números reales (1.4230024, 63.72442). A continuación se muestran ejemplos de una serie de valores de variables como podrían aparecer en una hoja de cálculo antes de abrir Evolver, y cómo podrían ser dos escenarios diferentes después de usar el método de solución de receta. Grupo original de Un grupo de valores Otro grupo de valores valores de variables posibles de receta posibles de receta 23.472 15.344 37.452 145 101 190 9 32.44 7.073 65,664 14,021 93,572 Método de El método de solución “orden” es el segundo más popular después solución de orden del de “receta”. Un orden es una permutación de una lista de elementos, en el que se trata de encontrar la mejor forma de organizar un grupo establecido de valores. A diferencia de los métodos de “receta” y “presupuesto”, en los que Evolver genera valores para las variables seleccionadas, en este método de solución Evolver usa los valores existentes del modelo. Un orden puede representar el orden en el que realizar una serie de tareas. Por ejemplo, tal vez quiera encontrar el orden en el que realizar cinco tareas, numeradas 1,2,3,4 y 5. El método de solución “orden” baraja esos valores, por lo tanto uno de los escenarios podría ser 3,5,2,4,1. Como Evolver sólo prueba valores de variables de la hoja 106 Comando Definición de Modelo
  • 113. original, no hay rango de Mín - Máx introducido para las celdas ajustables cuando se usa el método de solución de Orden. A continuación se muestran ejemplos de una serie de valores de variables como podrían aparecer en una hoja de cálculo antes de abrir Evolver, y cómo podrían ser dos escenarios diferentes después de usar el método de solución de orden. Grupo original de Un grupo de valores Otro grupo de valores valores de variables posibles de orden posibles de orden 23.472 145 65,664 145 23.472 9 9 65,664 145 65,664 9 23.472 Método de El método de solución “agrupamiento” debe usarse cuando el solución de problema incluya múltiples variables que se deban reunir en grupos. agrupación El número de grupos diferentes que crea Evolver será igual al número de valores distintos presentes en las celdas ajustables al iniciar la optimización. Por lo tanto, cuando se crea un modelo del sistema, asegúrese de que cada grupo está representado al menos una vez. Por ejemplo, supongamos un rango de 50 celdas que contienen sólo los valores 2, 3.5 y 17. Cuando seleccione 50 celdas y ajuste los valores usando el método de solución “agrupamiento”, Evolver asignará cada una de las cincuenta celdas a uno de los tres grupos: 2, 3.5 o 17. Todos los grupos están representados por al menos una de las celdas ajustables; como si se echara cada una de las 50 variables en un “contenedor”, asegurándose de que hay al menos una variable en cada contenedor. Otro ejemplo sería asignar unos (1), ceros (0) y menos unos (-1) a un sistema para indicar comprar, vender o mantener posiciones. Como en el método de solución “orden”, Evolver organiza valores existentes, por lo tanto no hay rango mín- máx ni opción de Enteros definida. NOTA: Cuando use el método de solución “agrupamiento”, no deje celdas en blanco, a menos que quiera que el valor 0.0 sea considerado uno de los grupos. Tal vez piense que el método de solución “agrupamiento” se pueda imitar usando el método de solución “receta” con la opción de enteros “activada” y los rangos establecidos de 1 a 3 (o cualquiera que sea el número de grupos). La diferencia está en la forma en que los métodos receta y agrupamiento realizan sus búsquedas. Sus rutinas de selección, mutación y cruce son diferentes; el agrupamiento se centra Capítulo 5: Guía de referencia de Evolver 107
  • 114. más en los valores de todas las variables, porque puede permutar una serie de variables de un grupo con una serie de variables de otro. A continuación se muestran ejemplos de una serie de valores de variables como podrían aparecer en una hoja de cálculo antes de abrir Evolver, y cómo podrían ser dos escenarios diferentes después de usar el método de solución de agrupamiento. Grupo original de Un grupo de valores Otro grupo de valores valores de variables posibles de posibles de agrupamiento agrupamiento 6 6 8 7 6 7 8 8 6 8 7 7 Método de Un “presupuesto” es similar a una “receta” con la excepción de que solución de todos los valores de las variables deben totalizar un número presupuesto determinado. El número es el total de los valores de las variables en el momento de iniciar una optimización. Por ejemplo, tal vez busque la mejor forma de distribuir un presupuesto anual entre un cierto número de departamentos. El método de solución “presupuesto” toma el total de los valores actuales de los departamentos y usa la suma como presupuesto total que debe distribuirse óptimamente. A continuación se muestran ejemplos de escenarios después de usar el método de solución de presupuesto. Grupo original de Un grupo de valores Otro grupo de valores valores de presupuesto posibles de posibles de presupuesto presupuesto 200 93.1 223.5 3.5 30 0 10 100 -67 10 .4 67 Se prueban muchos valores diferentes, pero la suma de todos los valores sigue siendo 223.5. 108 Comando Definición de Modelo
  • 115. Método de El método de solución “proyecto” es similar al método de solución solución de “orden” con la excepción de que ciertos elementos (tareas) deben proyecto preceder a otros. El método de solución “proyecto” se puede usar en la administración de proyectos para reorganizar el orden en el que se realizan las tareas, cuando el orden debe cumplir siempre las restricciones de orden precedente. Un problema modelado usando el método de solución Proyecto es más fácil de usar y comprender si las celdas ajustables que contienen el orden de las tareas están en una sola columna, en lugar de en una fila. Esto es porque el método de solución espera que las celdas de las tareas precedentes se organicen verticalmente y no horizontalmente, y es más fácil examinar la hoja de cálculo si las celdas ajustables son también verticales. Después de especificar la ubicación de las celdas ajustables, debe especificar la ubicación de las celdas de las tareas precedentes en la sección Tareas precedentes del cuadro de diálogo. Esta es una tabla de celdas que describe qué tareas deben ir precedidas de qué otras tareas. El método de solución usa esta tabla para reorganizar el orden de las variables en un escenario hasta que se cumplan las restricciones de valores precedentes. Debe haber una fila en el rango de tareas precedentes por cada tarea de las celdas ajustables. Empezando en la primera columna del rango de tareas precedentes, el número de identificación de cada tarea debe aparecer en columnas independientes. Ejemplo de cómo configurar valores precedentes con el método de solución de Proyecto. El rango de tareas precedentes debe especificarse como n filas por m columnas, donde n es el número de tareas del proyecto (celdas ajustables), y m es el número máximo de tareas precedentes que puede tener una tarea determinada. Capítulo 5: Guía de referencia de Evolver 109
  • 116. A continuación se muestran ejemplos de una serie de valores de variables tal y como aparecerían en una hoja de cálculo antes de usar Evolver, y cómo son los dos nuevos escenarios después de usar el método de solución de Proyecto, con la restricción de que 2 debe estar siempre antes que 1, y 4 después de 2. Grupo original de Un grupo de valores Otro grupo de valores valores de variables posibles de proyecto posibles de proyecto 1 1 1 2 3 2 3 2 4 4 4 3 Método de Una calendarización es similar a un agrupamiento: es una asignación solución de de tareas en el tiempo. Cada tarea se presupone que dura la misma calendarización cantidad de tiempo, como sucede con las clases de una escuela. Sin embargo, a diferencia del agrupamiento, el cuadro de diálogo de Configuraciones de grupos de celdas ajustables del método de solución “calendarización” permite especificar directamente el número de bloques de tiempo (o grupos) que se van a usar. Observe que cuando se selecciona el método de “calendarización”, aparecen varias opciones relacionadas en la parte inferior del cuadro de diálogo. En la sección Parámetros de Optimización, observará que también puede incorporar un rango de celdas de restricción. 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 Definición de Modelo
  • 117. 4) (en) La tarea de la columna 1 debe suceder en el bloque de tiempo que la tarea de la columna 3. 5) (no después) La tarea de la columna 1 debe suceder al mismo tiempo o antes que la tarea de la columna 3. 6) (no antes) La tarea de la columna 1 debe suceder al mismo tiempo o después que la tarea de la columna 3. 7) (en) La tarea de la columna 1 no debe suceder en el bloque de tiempo de la tarea de la columna 3. 8) (antes) La tarea de la columna 1 debe suceder después que la tarea de la columna 3. Como restricción se puede introducir un código numérico (del 1 al 8) o la descripción (después, no en, etc.). (Nota: Todas las versiones traducidas de RiskOptimizer reconocerán la descripción de la restricción en inglés así como en el idioma propio). Se cumplirán todas las restricciones especificadas en el problema. Para crear restricciones, busque un espacio en blanco en la hoja de cálculo y cree una tabla en la que las columnas izquierda y derecha representen tareas, y la columna del medio represente los tipos de restricción. Un número del 1 al 8 representa el tipo de restricción que se indica a continuación. Las celdas del rango de restricción deben incluir los datos de restricción antes de iniciar la optimización. Esta tarea Restricción Esta tarea 5 4 2 12 2 8 2 3 1 7 1 5 6 2 4 9 3 1 Capítulo 5: Guía de referencia de Evolver 111
  • 118. A continuación se muestran ejemplos de una serie de valores de variables como podrían aparecer en una hoja de cálculo antes de iniciar Evolver, y los nuevos escenarios después de usar el método de solución de Calendarización. Grupo original de Un grupo de valores Otro grupo de valores valores de variables posibles de posibles de calendarización calendarización 1 1 1 2 1 3 3 3 1 1 1 2 2 2 2 3 3 2 NOTA: Cuando se selecciona el método de solución de calendarización, se usan siempre los números enteros empezando por 1 (1,2,3...), independientemente de los valores originales de las celdas ajustables. Tasa de cruce e Uno de los problemas más difíciles en la búsqueda de soluciones tasa de mutación óptimas, cuando el problema tiene aparentemente infinitas posibilidades, es determinar dónde concentrar el esfuerzo. Es decir, cuánto tiempo del PC debe dedicarse a buscar en nuevas áreas del “espacio de solución”, y cuánto tiempo debe dedicarse a afinar las soluciones de la población de soluciones que han demostrado ser bastante buenas. Gran parte del éxito del algoritmo genético se atribuye a su capacidad de conservar de forma natural este equilibrio. La estructura del algoritmo genético permite que las buenas soluciones se “reproduzcan”, pero sólo conserva los organismos “menos adaptados” para mantener la diversidad en espera de que un “gen” latente resulte importante para la solución final. 112 Comando Definición de Modelo
  • 119. Cruce y Mutación son dos parámetros que afectan el alcance de la búsqueda, y Evolver permite que el usuario cambie estos parámetros antes e incluso durante el proceso de evolución. De esta forma, un usuario experto puede ayudar al algoritmo genético decidiendo dónde debe concentrar sus esfuerzos. En la mayoría los casos, las configuraciones predeterminadas de cruce y mutación (0.5 y 0.1 respectivamente) no necesitan ajuste. Si quisiera afinar el algoritmo para un problema, haga estudios comparativos, o para experimentar, aquí tiene una breve introducción a estos dos parámetros: • 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 información de la generación 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á ningún cruce, de forma que sólo se evaluarán 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 sección Observador del Evolver de este capítulo). • Tasa de mutación. La tasa de mutación se puede ajustar entre 0.0 y 1.0, y refleja la probabilidad de que futuros escenarios contengan algunos valores aleatorios. Una tasa de mutación más alto simplemente significa que se introducirán más mutaciones o valores de “genes” aleatorios en la población. Como la mutación sucede después del cruce, si ajusta la tasa de mutación a 1 (100% de valores aleatorios) se impide efectivamente que el cruce tenga efecto, y Evolver genera escenarios totalmente aleatorios. Capítulo 5: Guía de referencia de Evolver 113
  • 120. Si todos los datos de la solución óptima se encuentran en la población, el operador de cruce solo sería suficiente para generar la solución. La mutación ha demostrado ser una poderosa fuerza en el mundo biológico por muchas de las razones por las que es necesaria en el algoritmo genético: Es vital mantener una población diversa de organismos individuales, evitando así que la población sea demasiado rígida e incapaz de adaptarse a un entorno dinámico. Como en el algoritmo genético, muchas veces son las mutaciones genéticas en los animales lo que finalmente lleva al desarrollo de nuevas funciones vitales. En la mayoría de los casos, la configuración predeterminada de la mutación no necesita ajuste, si bien puede ser modificada por usuarios expertos para afinar el funcionamiento de Evolver en problemas complejos. Es posible que el usuario quiera potenciar la tasa de mutación si la población de Evolver es bastante homogénea, y no se han encontrado nuevas soluciones en los últimos cientos de pruebas. Los cambios típicos de configuración van de 0.06 a 0.2. Cuando Evolver ha comenzado a solucionar el problema, se puede cambiar la tasa de mutación dinámicamente a través del Observador del Evolver (consulte la sección Observador del Evolver más adelante en este capítulo). Si selecciona Auto en la lista desplegable del campo Índice de Mutación, se selecciona ajuste automático de la tasa de mutación. El ajuste automático de la tasa mutación permite a Evolver aumentar la tasa de mutación automáticamente cuando un organismo "envejece" significativamente; es decir, ha permanecido invariable durante un número extenso de pruebas. En muchos modelos, especialmente cuando la tasa de mutación óptimo se desconoce, seleccionar Auto puede generar mejores resultados más rápidamente. Número de Para obtener más información sobre estas opciones, consulte el bloques de método de solución Calendarización de la sección Métodos de solución de tiempo y celdas este capítulo. de restricción Tareas Para obtener más información sobre estas opciones, consulte el precedentes método de solución Proyecto de la sección Métodos de solución de este capítulo. 114 Comando Definición de Modelo
  • 121. Operadores Evolver incluye operadores genéticos seleccionables cuando se usa el método de solución Receta. Si hace clic en la pestaña Operadores del cuadro de diálogo Configuraciones de grupos de celdas ajustables podrá seleccionar un operador genético específico (como cruce heurístico o mutación de límites) para su uso al generar posibles valores de una serie de celdas ajustables. Además, puede hacer que Evolver pruebe automáticamente todos los operadores disponibles e identifique el que mejor funcione en su problema. Los algoritmos genéticos usan operadores genéticos para crear nuevos miembros de una población a partir de miembros actuales. Dos de los tipos de operadores genéticos que usa Evolver son el de mutación y el de cruce. El operador de mutación determina si se producirán cambios aleatorios de “genes” (variables) y cómo se producirán. El operador de cruce determina cómo intercambian genes los pares de miembros de una población para producir “descendientes” que puedan ser mejores respuestas que cualquiera de sus “padres”. Evolver incluye los siguientes operadores genéticos especializados: ♦ Cruce aritmético – Crea nuevos descendientes combinando aritméticamente dos padres (en lugar de intercambiando genes). ♦ Cruce heurístico – Usa el valor producido por los padres para determinar cómo se produce la descendencia. Busca en la dirección más prometedora y proporciona un ajuste fino local. ♦ Mutación Cauchy – Diseñada para producir pequeños cambios en variables la mayoría de las veces, pero ocasionalmente puede generar cambios grandes. Capítulo 5: Guía de referencia de Evolver 115
  • 122. Mutación de frontera – Diseñada para optimizar rápidamente variables que afectan el resultado de forma monotónica y puede ajustarse en los extremos de su rango sin violar las restricciones. ♦ Mutación no-uniforme – Produce mutaciones cada vez más pequeñas según se van calculando pruebas. Esto permite que Evolver “afine” las respuestas. ♦ Lineal – Diseñada para resolver problemas en los que la solución óptima se encuentra en el límite del espacio de búsqueda definido por las restricciones. Este par de mutación y operador de cruce se adapta bien a la resolución de problemas de optimización lineal. ♦ Búsqueda local – Diseñada para buscar en el espacio de solución en las cercanías de una solución anterior, expandiéndose en direcciones en las que hay mejoras, y contrayéndose en direcciones que generan peores resultados. Dependiendo del tipo de problema de optimización, hay diferentes combinaciones de mutación y operadores de cruce que pueden producir mejores resultados que otras. En la pestaña Operadores del cuadro de diálogo Configuraciones de grupos de celdas ajustables, se pueden seleccionar una serie de operadores cuando se usa el método de solución Receta. Cuando se hacen múltiples selecciones, Evolver prueba las combinaciones válidas de los operadores seleccionados para identificar los que mejor funcionan en su modelo. Después de una ejecución, la hoja de cálculo de Resumen de optimización clasifica cada uno de los operadores seleccionados según su funcionamiento durante la ejecución. Para las siguientes ejecuciones del mismo modelo, si selecciona sólo los operadores de mejor funcionamiento puede permitir optimizaciones más rápidas de mejor funcionamiento. NOTA: Cuando cree múltiples grupos de celdas ajustables, compruebe que ninguna celda de la hoja de cálculo 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 ignoraría y sustituiría con los valores del segundo grupo de celdas ajustables. Si cree que un problema debe representarse con más de un método de solución, considere dividir las variables en dos o más grupos. 116 Comando Definición de Modelo
  • 123. Restricciones Evolver permite introducir restricciones o condiciones que deben cumplirse para que una solución sea válida. Las restricciones que ha introducido se muestran en la tabla Restricciones del cuadro de diálogo Definición de Modelo. Añadir – Cómo Si hace clic en el botón añadir situado junto a la tabla Restricciones, añadir aparece el cuadro de diálogo Configuraciones de restricción en el restricciones que se introducen las restricciones. Usando este cuadro de diálogo se puede introducir el tipo de restricción deseada, junto con su descripción, tipo, definición y tiempo de evaluación. Capítulo 5: Guía de referencia de Evolver 117
  • 124. Tipo de Se pueden especificar dos tipos de restricciones en Evolver: restricción • Duras o condiciones que deben cumplirse para que una solución sea válida (por ejemplo, una restricción dura puede ser C10<=A4; en este caso, si una solución genera un valor para C10 que es superior al valor de la celda A4, la solución se descarta) • Blandas, o condiciones que nos gustaría que se cumplieran en la medida de lo posible, pero que podríamos ceder a cambio de una gran mejora en la adaptación o en el resultado de la celda objetivo (por ejemplo, una restricción blanda sería C10<100; sin embargo, C10 podría ser superior a 100, pero si eso sucede, el valor calculado en la celda objetivo se reduciría según una función de penalización introducida). Restricciones Se pueden usar dos formatos –Simple y Fórmula – para introducir simples y de restricciones. El tipo de información que se puede introducir para una fórmula restricción 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 número introducido. Una restricción Simple sería: 0<Valor de A1<10 donde A1 se introduce en el cuadro Rango de celda, 0 se introduce en el cuadro Mín y 10 se introduce en el cuadro Máx. El operador deseado se selecciona en los cuadros de lista desplegable. En las restricciones con formato de rango simple de valores se puede introducir sólo un valor Mín, sólo un valor Máx o ambos. Los valores Mín y Máx introducidos deben ser numéricos en el formato de restricción de rango simple de valores. • Formato de fórmula – El formato de fórmula permite introducir cualquier fórmula válida de Excel como una restricción, como puede ser A19<(1.2*E7)+E8. Evolver verifica si la fórmula introducida genera un valor VERDADERO o FALSO para comprobar si la restricción se ha cumplido. 118 Comando Definición de Modelo
  • 125. Restricciones Las restricciones blandas son condiciones que nos gustaría que se blandas cumplieran en la medida de lo posible, pero que podríamos ceder a cambio de una gran mejora de la idoneidad o del resultado de la celda objetivo. Cuando no se cumple una restricción blanda se produce un cambio en la celda objetivo que la aleja del valor óptimo. La cantidad del cambio causada por el incumplimiento de una restricción blanda se calcula usando una función de penalización que se introduce al especificar la restricción blanda. A continuación se ofrece información adicional sobre las funciones de penalización: • Introducción de una función de penalización. Evolver tiene una función de penalización predeterminada que aparece cuando se introduce una restricción blanda. Sin embargo, cualquier fórmula de Excel válida se puede introducir para calcular la cantidad de la penalización a aplicar cuando no se cumple una restricción blanda. La función de penalización introducida debe incluir la palabra clave desviación que representa la cantidad absoluta por la que la restricción ha superado su límite. Al final de cada simulación de una solución de prueba, Evolver comprueba si se han cumplido las restricciones blandas; si no, coloca la cantidad de la desviación en la fórmula de la penalización introducida y luego calcula la cantidad de la penalización a aplicar a la estadística de la celda objetivo. La cantidad de la penalización se suma o se resta a la estadística calculada en la celda objetivo para que resulte menos “óptima”. Por ejemplo, si se ha seleccionado Máximo en el campo Meta de optimización del cuadro de diálogo Modelo, la penalización se resta de la estadística calculada en la celda objetivo. Capítulo 5: Guía de referencia de Evolver 119
  • 126. Visualización de los efectos de la función de penalización introducida. Evolver incluye la hoja de trabajo “Penalización.xls” que se puede usar para evaluar los efectos de diferentes funciones de penalización en restricciones blandas y celdas objetivo específicas. “Penalización.xls” permite seleccionar una restricción blanda de su modelo para analizar sus efectos. Luego, puede cambiar la función de penalización para ver cómo la función transforma un valor específico de la restricción blanda incumplida en un valor objetivo específico penalizado. Por ejemplo, si la restricción blanda es A10<100, puede usar “Penalización.xls” para ver cuál sería el valor objetivo si se calcula un valor de 105 en la celda A10. • Visualización de las penalizaciones aplicadas. Cuando se aplica una penalización a la celda objetivo por incumplimiento de una restricción blanda, la cantidad de la penalización se puede visualizar en el Observador del Evolver. Además, los valores de penalización se muestran en la hoja de cálculo Bitácora de Optimización, que se puede crear tras la optimización. 120 Comando Definición de Modelo
  • 127. NOTA: Si coloca una solución en la hoja de trabajo usando las opciones de Actualización de Valores de Celda Ajustable del cuadro de diálogo Parar, el resultado de la celda objetivo calculado que muestra la hoja de cálculo no incluirá ninguna penalización aplicada debido a restricciones blandas incumplidas. Compruebe la hoja de cálculo Bitácora de Optimización para ver el resultado penalizado de la celda objetivo y la cantidad de la penalización impuesta debido a cada una de las restricciones blandas no cumplidas. • Implementación de restricciones blandas en las fórmulas de una hoja de cálculo. Las funciones de penalización se pueden implementar directamente en las fórmulas de la hoja de cálculo. Si las restricciones blandas se implementan directamente en la hoja de cálculo, no se deben introducir en el cuadro de diálogo principal de Evolver. Para obtener más información sobre la implementación de funciones de penalización en la hoja de cálculo, consulte la sección Restricciones blandas del Capítulo 9: Extras de Evolver. Capítulo 5: Guía de referencia de Evolver 121
  • 128. 122 Comando Definición de Modelo
  • 129. Comando Configuraciones de optimización Comando Configuraciones de optimización – Pestaña General Define las configuraciones generales de una optimización El cuadro de diálogo Configuraciones de optimización de la pestaña General muestra las configuraciones de tamaño de población, actualización de pantalla y generador de número aleatorio. Las opciones Parámetros de optimización de la pestaña General son: • Tamaño de población. El tamaño de población indica a Evolver cuántos organismos (o grupos completos de variables) deben almacenarse en memoria en cada momento. Aunque hay mucho debate e investigación sobre el tamaño óptimo de una población para diferentes problemas, generalmente recomendamos usar 30- 100 organismos en una población, dependiendo del tamaño del problema (mayor población para problemas más grandes). La opinión general es que una población grande tarda más tiempo en generar una solución, pero tiene mayores probabilidades de encontrar una respuesta global gracias a su reserva genética más diversa. Capítulo 5: Guía de referencia de Evolver 123
  • 130. Semilla de generador de número aleatorio. La opción de generador de número aleatorio permite establecer el valor generador inicial del generador de número aleatorio que utiliza Evolver. Cuando se usa un mismo valor generador, una optimización genera exactamente la misma respuesta para un mismo modelo, siempre que el modelo no se haya modificado. El valor del generador debe ser un número entero entre 1 y 2147483647. 124 Comando Configuraciones de optimización
  • 131. Comando Configuraciones de optimización – Pestaña Tiempo de ejecución Define las configuraciones de tiempo de ejecución de una optimización El cuadro de diálogo Configuraciones de optimización de la pestaña Tiempo de Ejecución muestra las configuraciones de Evolver que determinan el tiempo de ejecución de la optimización. Estas condiciones de parada especifican cómo y cuándo se detiene Evolver durante una optimización. Una vez seleccionado el comando Iniciar optimización, Evolver se ejecuta continuamente, buscando una solución mejor y ejecutando simulaciones hasta que se cumplen los criterios de parada seleccionados. Se puede activar una o varias de estas condiciones, o ninguna en absoluto si quiere que Evolver busque indefinidamente (hasta que usted lo pare). Cuando se seleccionan múltiples condiciones, Evolver se para en cuanto se cumple una de esas condiciones. También se pueden ignorar estas selecciones y parar Evolver en cualquier momento manualmente usando el botón de parada del Observador del Evolver o las ventanas de Progreso. Capítulo 5: Guía de referencia de Evolver 125
  • 132. Opciones de Las opciones de Tiempo de ejecución de optimización de la pestaña tiempo de Tiempo de Ejecución son: ejecución de la optimización • Pruebas – Esta opción, cuando se establece, detiene Evolver cuando se genera un número determinado de soluciones de prueba. La configuración de Pruebas es particularmente útil para comparar la eficacia de Evolver con diferentes métodos de modelación. Al cambiar la forma de modelar un problema, o al seleccionar un método de solución diferente, se puede aumentar la eficacia de Evolver. Si permite que un modelo se ejecute un número específico de simulaciones, comprobará la eficacia de Evolver en la convergencia sobre una solución, independientemente de cualquier diferencia en el número de variables seleccionadas, la velocidad del hardware informático que se utiliza, o el tiempo que se tarda en dibujar de nuevo la pantalla. La hoja de trabajo de resumen de optimización de Evolver también es útil para comparar resultados entre ejecuciones. Para obtener más información sobre las hojas de cálculo de Resumen de Optimización, consulte la sección Observador del Evolver – Opciones de detención de este capítulo. • Tiempo - Esta opción, cuando se establece, detiene las simulaciones de escenarios de Evolver después de un número determinado de horas, minutos o segundos transcurridos. Esta opción puede ser cualquier número real positivo (600, 5.2, etc.). • Progreso – Esta opción, cuando se establece, detiene las simulaciones de escenarios de Evolver cuando la mejora de la celda objetivo es menor de una cantidad especificada (criterios de cambio). Se puede especificar como un número entero el número de simulaciones transcurridas para comprobar la mejora. Se puede introducir un valor porcentual –como 1%– como valor máximo de cambio en el campo Cambio máximo. Supongamos que trata de maximizar la media de la celda objetivo, y después de 500 simulaciones, la mejor respuesta encontrada es 354.8. Si la opción “Progreso” es la única condición de parada seleccionada, Evolver se pausará en la simulación 600 y sólo 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 mínimo, y detiene la búsqueda. En problemas más complejos, puede aumentar el número de simulaciones que ejecuta Evolver 126 Comando Configuraciones de optimización
  • 133. (500) antes de decidir si hay suficiente margen de mejora para seguir. Esta es la condición de parada más usada, porque ofrece al usuario una forma eficaz de parar Evolver después de que la tasa de mejora haya bajado y Evolver no haya podido encontrar mejores soluciones. Si está visualizando gráficos de los mejores resultados en la pestaña Progreso del Observador del Evolver, verá que el gráfico llega a un punto y mantiene una línea plana antes de que se cumpla esta condición y Evolver se pare. “Progreso” es realmente una forma automática de hacer lo que usted haría con el gráfico: dejar que funcione hasta que deja de producirse una mejora. • Fórmula es verdadera – Esta condición de parada detiene la optimización cuando la fórmula de Excel introducida (o de referencia) genera un valor VERDADERO durante la optimización. • Detener en error – Esta condición de parada detiene la optimización cuando se genera un valor de Error en la celda objetivo. NOTA: También puede optar por no seleccionar ninguna condición de parada, y Evolver seguirá en funcionamiento indefinidamente hasta que pulse el botón de parada en la ventana del Observador del Evolver. Capítulo 5: Guía de referencia de Evolver 127
  • 134. Comando Configuraciones de optimización – Pestaña Visualizar Define las configuraciones de visualización de una optimización El cuadro de diálogo Configuraciones de optimización de la pestaña Visualizar muestra las configuraciones de Evolver que determinan lo que se muestra durante la optimización. Las opciones de la pestaña Visualizar son: • Minimizar Excel al iniciar. Esta opción minimiza Excel cuando se inicia una optimización. • Mostrar recálculos de Excel. Esta opción actualiza Excel con Cada mejor nueva prueba o el final de Cada prueba. • Mantener bitácora de todas las pruebas. Esta opción especifica que Evolver conserve un registro de funcionamiento de cada nueva simulación que se realice. Este registro se puede ver en la ventana del Observador del Evolver. 128 Comando Configuraciones de optimización
  • 135. Comando Configuraciones de optimización – Pestaña Macros Define los macros a ejecutar durante la optimización Los macros VBA se pueden ejecutar en diferentes momentos de una optimización y de la ejecución de una simulación de cada solución de prueba. Esto permite el desarrollo de cálculos personalizados que se realizarán durante una optimización. Los macros se pueden ejecutar en los siguientes momentos de una optimización: • Al inicio de la optimización – El macro se ejecuta después de hacer clic en el icono Ejecutar y antes de que se genere la primera solución de prueba. • Antes del recálculo de cada prueba – El macro se ejecuta antes de que se realice el recálculo de cada prueba. • Después del recálculo de cada prueba – El macro se ejecuta después de que se realice el recálculo de cada prueba. • Después de almacenar variable de salida – El macro se ejecuta después de cada prueba ejecutada y después de que se almacene el valor de la celda objetivo. • Al final de la optimización – El macro se ejecuta cuando se completa la optimización. Capítulo 5: Guía de referencia de Evolver 129
  • 136. Esta función permite que se lleven a cabo cálculos que sólo se pueden realizar con un macro durante una optimización. Algunos ejemplos de este tipo de cálculos llevados a cabo con macros son los cálculos de operaciones repetitivas y los cálculos que requieren nuevos datos de fuentes externas. El Nombre de macro define el macro que se va a ejecutar. 130 Comando Configuraciones de optimización
  • 137. Comando Iniciar optimización Inicia una optimización Si selecciona el comando Iniciar optimización o hace clic en el icono Iniciar optimización, se inicia una optimización del modelo activo del libro de trabajo. En cuanto Evolver se pone en funcionamiento, verá la siguiente ventana Progreso de Evolver. Aparecerá la ventana de progreso: • Prueba es el número total de pruebas ejecutadas y Número válido indica el número de esas pruebas que cumplen las restricciones. • Tiempo de ejecución es el tiempo transcurrido durante la ejecución • Original es el valor original de la celda objetivo. • Mejor es el mejor valor actual de la celda objetivo que se trata de minimizar o maximizar. Capítulo 5: Guía de referencia de Evolver 131
  • 138. Las opciones de la barra de herramientas de la ventana Progreso de Evolver son: • Mostrar opciones de actualización de Excel. Selecciona la actualización de la pantalla de Excel en Cada prueba, en Cada mejor nueva prueba o Nunca. Recuerde que en algunas situaciones, la pantalla se actualiza independientemente de estas configuraciones, por ejemplo, cuando se pausa la optimización. • Mostrar Observador del Evolver. Muestra la ventana completa del Observador del Evolver. • Ejecutar. Si hace clic en el icono Ejecutar, Evolver comienza la búsqueda de una solución basada en la descripción actual del cuadro de diálogo Modelo de Evolver. Si pausa Evolver, seguirá pudiendo hacer clic en el icono Ejecutar para continuar la búsqueda de mejores soluciones. • Pausar. Si quiere pausar el proceso de Evolver, haga clic en el icono Pausar y el proceso de Evolver se “congelará” temporalmente. Mientras está pausado, podrá abrir y explorar el Observador del Evolver y cambiar parámetros, examinar toda la población, ver el informe de estado o copiar un gráfico. • Parar. Detiene la optimización. 132 Comando Iniciar optimización
  • 139. Comandos de Utilidades Comando Configuraciones de aplicación Muestra el cuadro de diálogo Configuraciones de aplicación donde se establecen los ajustes predeterminados del programa Muchas de las configuraciones de Evolver se pueden establecer en valores predeterminados que se usan cada vez que se usa Evolver. Estas configuraciones predeterminadas incluyen las de Parada, Índice de Cruce y Mutación, etc. Capítulo 5: Guía de referencia de Evolver 133
  • 140. 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 optimización, se presupone que los valores originales de las celdas ajustables cumplen todas las restricciones duras; es decir, que la solución original es válida. Si no, el algoritmo puede tener que ejecutar muchas simulaciones antes de encontrar una primera solución válida. Sin embargo, si un modelo contiene múltiples restricciones, puede que no resulte aparente qué valores de las celdas ajustables cumplen todas ellas. Si un modelo de Evolver tiene múltiples restricciones duras, y las optimizaciones fallan y sólo generan soluciones no válidas, el programa lo indicará y podrá ejecutar el Solver de restricciones. El Solver de restricciones ejecuta una optimización en un modo especial en el que el objetivo es encontrar una solución que cumpla todas las restricciones duras. El progreso de la optimización se muestra al usuario de la misma forma que en las optimizaciones normales. La ventana Progreso muestra el número de restricciones que se cumplen en la solución original y en la mejor solución. 134 Comandos de Utilidades
  • 141. La ventana de Progreso tiene un botón que permite al usuario ir al Observador del Evolver. En el modo de Solver de restricciones, los detalles de progreso de la optimización se ofrecen como en las optimizaciones realizadas en modo normal, en las pestañas Progreso, Resumen, Bitácora, Población y Diversidad. En el modo de Solver de restricciones, el Observador contiene una pestaña adicional denominada Solver de restricciones. Esta pestaña muestra el estado de cada restricción dura (Se cumple o No se cumple) de las soluciones Mejor, Original y Última. Una optimización del Solver de restricciones se detiene cuando se encuentra una solución que cumple todas las restricciones duras; también se puede parar haciendo clic en un botón de la ventana de progreso o de la ventana Observador del Evolver. Después de la ejecución del Solver de restricciones, en la pestaña Opciones de detención del Observador del Evolver se puede optar por conservar las soluciones Mejor, Original o Última, como sucede en las optimizaciones realizadas en modo normal. Recuerde que no es necesario configurar el Solver de restricciones antes de su uso. El programa usa las configuraciones especificadas en el modelo, y sólo cambia el objetivo de optimización: el nuevo objetivo es encontrar una solución que cumpla todas las restricciones duras. Capítulo 5: Guía de referencia de Evolver 135
  • 142. 136 Comandos de Utilidades
  • 143. El Observador del Evolver El icono de la lupa de la barra de herramientas de la ventana de Progreso de Evolver permite abrir el Observador del Evolver. El Observador del Evolver regula el funcionamiento del programa e informa sobre las actividades de Evolver. Desde el Observador del Evolver se pueden cambiar parámetros y analizar el progreso de la optimización. Además, en la barra de estado situada en la parte inferior del Observador del Evolver se pueden ver en tiempo real los datos del problema y del progreso de Evolver. Capítulo 5: Guía de referencia de Evolver 137
  • 144. Observador del Evolver – Pestaña de Progreso Muestra los gráficos de progreso del valor de la celda objetivo La pestaña de Progreso del Observador del Evolver muestra gráficamente cómo cambian los resultados, por simulación, de la celda objetivo seleccionada. Los gráficos de progreso muestran la cuenta de simulaciones en el eje X y el valor de la celda objetivo en el eje Y. Se puede modificar la escala de los gráficos de progreso haciendo clic en los límites de eje y arrastrando el eje hasta el nuevo valor de escala. También se puede hacer clic derecho en el gráfico de Progreso para mostrar el cuadro de diálogo de Opciones de Gráfico en el que se pueden personalizar los gráficos. 138 El Observador del Evolver
  • 145. Cuadro de diálogo El cuadro de diálogo Opciones de Gráfico muestra las configuraciones Opciones de que controlan los títulos, leyendas, escala y fuentes del gráfico. Gráficos Capítulo 5: Guía de referencia de Evolver 139
  • 146. Observador del Evolver – Pestaña de Resumen Muestra los detalles de los valores de las celdas ajustables La pestaña Resumen del Observador del Evolver muestra una tabla de resumen de los valores de las celdas ajustables usados durante la optimización, junto con herramientas para ajustar las tasas de cruce y mutación de cada Grupo de Celdas Ajustables del modelo. Las Configuraciones de grupos de celdas ajustables permiten cambiar las tasas de cruce y mutación del algoritmo genético mientras el problema está en proceso. Cualquier cambio que se haga aquí sustituye la configuración original de estos parámetros y se activa inmediatamente, afectando a la población (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 mutación, en muchos modelos se puede aumentar hasta llegar a 0.4 si quiere encontrar la mejor solución y no le importa esperar. Si establece el valor de mutación en 1 (el máximo) el programa hará suposiciones totalmente aleatorias, ya que Evolver realiza las mutaciones después de hacer el cruce. Esto significa que después de cruzar los dos padres seleccionados para crear una solución descendiente, el 100% de los “genes” de la solución mutarán a números aleatorios, haciendo que el cruce no tenga significado (para obtener más información, consulte las secciones “tasa de cruce, para qué sirve” e “tasa de mutación, para qué sirve” del índice de este manual). 140 El Observador del Evolver
  • 147. Observador del Evolver – Pestaña de Bitácora Muestra un registro de cada simulación ejecutada durante la optimización La pestaña de Bitácora del Observador del Evolver muestra una tabla de resumen de cada simulación ejecutada durante la optimización. El registro incluye los resultados de la celda objetivo, de cada celda ajustable y de las restricciones introducidas. El registro sólo está disponible si se selecciona la opción Mantener bitácora de todas las pruebas en la pestaña Visualizar del cuadro de diálogo Configuraciones de optimización. Las opciones Mostrar establecen si se muestra un registro de Todas las pruebas o sólo de aquellas pruebas en las que se produjo un Paso de progreso (es decir, cuando los resultados de la optimización mejoraron). El registro incluye: 1) Tiempo transcurrido, o el tiempo de inicio de la simulación 2) Pruebas, o número 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 Capítulo 5: Guía de referencia de Evolver 141
  • 148. 4) Media de resultado, Desviación Estándar de resultado, Mínimo de resultado y Máximo de resultado, o valores estadísticos de la distribución de probabilidad de la celda objetivo calculada 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
  • 149. Observador del Evolver – Pestaña de Población Incluye todas las variables de cada organismo (cada posible solución) de la población actual La tabla de población es una cuadrícula que incluye todas las variables de cada organismo (cada posible solución) de la población actual. Estos organismos (“Org n”) se clasifican en orden de peor a mejor. Como la tabla incluye todos los organismos de una población, la configuración “tamaño de población” del cuadro de diálogo Configuraciones de Evolver determina cuántos organismos se incluyen (el valor predeterminado es 50). Además, la primera columna de la tabla muestra el valor resultante de la celda objetivo de cada organismo. Capítulo 5: Guía de referencia de Evolver 143
  • 150. Observador del Evolver – Pestaña de Diversidad Muestra el diagrama de color de todas las variables de la población actual El diagrama de la pestaña Diversidad asigna colores a los valores de las celdas ajustables, basándose en la diferencia que hay entre el valor de una celda determinada y la población de organismos (soluciones) almacenadas en memoria en un momento determinado. (Usando la terminología de optimización genética, esto es una indicación de la diversidad que hay en la reserva genética.) Cada barra vertical del diagrama corresponde a una celda ajustable. Las rayas horizontales dentro de cada barra representan los valores de esa celda ajustable en diferentes organismos (soluciones). Los colores de las rayas se asignan dividiendo el rango entre el valor mínimo y el máximo de una celda ajustable determinada en 16 intervalos de igual longitud; cada uno de los cuales se representa con un color diferente. Por ejemplo, el hecho de que la barra vertical que representa la segunda celda ajustable tenga un solo color significa que la celda tiene el mismo valor en cada solución que hay en memoria. 144 El Observador del Evolver
  • 151. Observador del Evolver – Pestaña de Opciones de detención Muestra las opciones de parada de la optimización Cuando se hace clic en el botón Parar, aparece la pestaña Opciones de detención del cuadro de diálogo Observador del Evolver. Esta pestaña incluye las opciones disponibles de actualización de la hoja de cálculo con los mejores valores calculados de las celdas ajustables, restauración de los valores originales y generación de un informe de resumen de la optimización. Si hace clic en Aceptar, se destruye la población de soluciones de Evolver y se colocan los valores seleccionados en la hoja de cálculo. Si quiere guardar cualquier dato de la sesión de Evolver, incluyendo los valores de la población, la hora y el número de pruebas de la ejecución, asegúrese de que selecciona crear un informe de resumen de la optimización. Capítulo 5: Guía de referencia de Evolver 145
  • 152. Este cuadro de diálogo también aparece si se cumple alguna de las condiciones de parada especificadas por el usuario (se ha evaluado el número de pruebas establecido, han transcurrido los minutos solicitados, etc.). La alerta de parada ofrece tres opciones de actualización de los valores de las celdas ajustables en la hoja de cálculo: Mejor, Original y Último. • Mejor. Esa opción acepta los resultados de Evolver y termina la búsqueda de una solución mejor en Evolver. Cuando se selecciona esta opción, los valores del mejor escenario que Evolver ha encontrado en su búsqueda se colocan en las celdas ajustables de la hoja de cálculo. • Original. Esta opción restaura las celdas ajustables a sus valores originales anteriores a la ejecución de Evolver y termina la búsqueda de mejores soluciones en Evolver. • Último. Esta opción hace que Evolver coloque los últimos valores calculados de la optimización en la hoja de cálculo. La opción Últimos Valores Calculados es especialmente útil para refinar modelos. 146 El Observador del Evolver
  • 153. Las opciones Informes a generar pueden generar hojas de trabajo de resumen de optimización que se pueden usar para generar informes de resultados de una ejecución y comparar los resultados entre ejecuciones. Las opciones de informe son: • Resumen de optimización. Este informe de resumen de la optimización contiene información como la fecha y la hora de la ejecución, las configuraciones de optimización utilizadas, el valor calculado para la celda objetivo y el valor de cada una de las celdas ajustables. Capítulo 5: Guía de referencia de Evolver 147
  • 154. Este informe es útil para comparar los resultados de optimizaciones sucesivas. • Bitácora de todas las pruebas. Este informe registra los resultados de todas las pruebas realizadas. • Bitácora de los pasos de progreso. Ese informe registra los resultados de todas las pruebas que mejoraron el resultado de la celda objetivo. 148 El Observador del Evolver
  • 155. Capítulo 6: Optimización Métodos de optimización...............................................................151 Los algoritmos de escalada .................................................................153 Excel Solver ....................................................................................157 Evolver y Solver....................................................................................158 Cuándo se debe usar Evolver.............................................................159 Tipos de problemas........................................................................161 Problemas lineales..................................................................161 Problemas no lineales............................................................161 Problemas basados en tablas................................................163 Problemas combinatorios......................................................164 Capítulo 6: Optimización 149
  • 156. 150
  • 157. Métodos de optimización Ya hemos visto algunos ejemplos de problemas de optimización en los tutoriales. Algunos problemas de optimización son más difíciles de resolver que otros. En los problemas más difíciles, como la búsqueda de la ruta más corta entre 1000 ciudades, no es posible examinar todas las soluciones posibles. Hacerlo requeriría años de cálculos en las computadoras más rápidas. Para resolver ese tipo de problemas, es necesario hacer una búsqueda en un subgrupo de todas las posibles soluciones. Al examinar estas soluciones, podremos hacernos una idea de cómo encontrar mejores soluciones. Esto se consigue con un algoritmo. Un algoritmo es una descripción por pasos de cómo resolver un problema. Todos los programas informáticos, por ejemplo, se desarrollan mediante la combinación de muchos algoritmos. Empecemos por explorar cómo representan un problema la mayoría de los algoritmos de resolución de problemas. La mayoría de los problemas se pueden dividir en tres componentes básicos: variables de entrada, una función de algún tipo y un resultado de salida. Qué se analiza: Qué se aplica: Para el mejor: Componentes el Entradas Función Resultado problema En Evolver/Excel Variables Modelo Objetivo Supongamos que nuestro problema de optimización tiene dos variables, X e Y. Cuando se ponen en una ecuación, estas dos variables producen un resultado =Z. Nuestro problema es encontrar los valores X y Y que produzcan el valor Z más grande. Podemos imaginar que Z es una “clasificación” que indica lo adecuado que es cada par de valores X,Y. Qué se analiza: Qué se aplica: Para el mejor: En esta ejemplo XeY Ecuación Z Capítulo 6: Optimización 151
  • 158. Un diagrama de todos los pares X,Y y la Z resultante generaría un gráfico de superficie tridimensional como el que se muestra a continuación. Un “paisaje” de los posibles escenarios o soluciones. Cada intersección de los valores de X e Y produce una altura Z. Los picos y valles de este “paisaje” representan soluciones buenas y malas respectivamente. En esta función, la búsqueda del punto máximo o más elevado mediante el examen de cada solución tomaría demasiado tiempo, incluso con la computadora más potente y con el programa más rápido.* Recuerde que le damos a Excel sólo la función, no un gráfico de la función, y que igualmente podría tratarse de un problema de 200 dimensiones en lugar de este de dos dimensiones. Por lo tanto, necesitamos un método que nos permita hacer menos cálculos y genere la máxima productividad. *En nuestro diagrama, la función se muestra como un paisaje uniforme. En los pocos casos en los que se usan funciones simples y uniformes (diferenciables), se puede hacer un cálculo de los mínimos y máximos. Sin embargo, los problemas más realistas no se describen con funciones tan uniformes. 152 Métodos de optimización
  • 159. 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 suposición aleatoria). 2) Se dirige en una dirección arbitraria durante una pequeña distancia. 3) Si ha llegado a un punto que es superior, permanezca en esa posición y repita el paso 2. Si el nuevo punto es inferior, vuelva al punto original e inténtelo de nuevo. El método de escalada prueba una sola solución o escenario cada vez. Usaremos un punto negro (•) para representar una posible solución (un grupo de valores X, Y y Z). Si ponemos el punto en un punto inicial aleatorio, esperamos que nuestro método de escalada lleve el punto hasta el lugar más alto del gráfico. En el diagrama de arriba podemos ver claramente que queremos que el punto vaya hacia arriba a la derecha. Sin embargo, lo sabemos porque ya hemos visto el paisaje completo. Cuando el algoritmo se ejecuta, explora el paisaje situado inmediatamente alrededor, pero no el paisaje completo; ve los árboles, pero no ve el bosque completo. Capítulo 6: Optimización 153
  • 160. En la mayoría de los problemas del mundo real, el paisaje no es uniforme, y requeriría años calcularlo, por eso sólo calculamos el escenario actual y los escenarios situados inmediatamente alrededor. Imagine que el punto es una persona con los ojos vendados situada entre colinas de subidas y bajadas suaves. Si esta persona emplea el método de escalada, pondría un pie en cada dirección, y sólo se movería cuando sintiera que el terreno sube. Esta persona seguirá subiendo y finalmente acabaría en la cima de la colina con la tierra a su alrededor a nivel más bajo que el terreno en el que se encuentra. Esto parece simple. Sin embargo, tenemos un problema muy serio si la persona empieza en otro lugar ... y sube la colina equivocada. (ver el diagrama de abajo). Incluso con una función uniforme, el método de escalada puede fallar si se comienza en una posición ligeramente diferente (derecha). La escalada sólo encuentra la colina más cercana, o máximo local. Por eso, si un problema tiene un paisaje de solución muy irregular, como la mayoría de los modelos realistas, es muy posible que el método de escalada no encuentre la colina más alta, ni siquiera una de las más altas. La escalada tiene otro problema; ¿cómo se encuentra el terreno alrededor de nuestra posición actual? Si el paisaje se describe con una función uniforme, se puede usar diferenciación (una técnica de cálculo) para averiguar en qué dirección se encuentra la pendiente más pronunciada. Si el paisaje es discontinuo o no diferenciable (como es más probable en los problemas reales), debemos calcular la “idoneidad” de los escenarios situados alrededor. 154 Métodos de optimización
  • 161. Por ejemplo, supongamos que un banco contrata un guardia de seguridad de 9:00 am a 5:00 pm para proteger el banco, pero el banco debe dar al oficial dos (2) descansos de media hora. Debemos intentar encontrar las horas de descanso óptimas, siguiendo reglas generales sobre relaciones de rendimiento / fatiga, y considerando los diferentes niveles de actividad de los clientes a lo largo del día. Podemos empezar por probar diferentes combinaciones de descansos y evaluarlos. Si en la actualidad usamos un horario en el que los descansos están a las 11:00 am y a las 3:00 pm, podemos calcular la productividad de los escenarios cercanos: Dirección Descanso 1 (x) Descanso 2 –Puntuación” (y) (z) Solución actual 11:00 am 3:00 pm = 46.5 Escenario oeste 10:45 am 15:00 am = 44.67 Escenario este 11:15 am 15:00 am = 40.08 Escenario norte 11:00 am 15:15 am = 49.227 Escenario sur 11:00 am 2:45 pm = 43.97 Si tuviéramos tres celdas ajustables (descansos) en lugar de dos, necesitaríamos buscar en ocho direcciones diferentes. De hecho, si tuviéramos sólo cincuenta variables, (algo realista para un problema de tamaño medio), necesitaríamos calcular la productividad de 250, es decir, más de cuatro mil billones de escenarios, y eso sólo para un guardia. Se pueden hacer modificaciones al método de escalada para mejorar su capacidad de encontrar máximos globales (las colinas más altas de todo el paisaje). La escalada resulta más útil a la hora de tratar problemas unimodales (un solo pico); por eso algunos programas de análisis usan esta técnica. En cualquier caso, es muy limitado para tratar problemas complejos o grandes. Capítulo 6: Optimización 155
  • 162. 156 Métodos de optimización
  • 163. Excel Solver Excel incluye una utilidad de optimización denominada Solver. Cumple una función 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 programación lineal. Esta técnica matemática clásica frecuentemente se denomina método Simplex y encuentra siempre respuestas perfectas a problemas pequeños puramente lineales. Como la mayoría de los programas pequeños de resolución, el Microsoft Solver también resuelve problemas no lineales usando una rutina de escalada (específicamente 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 más de una solución posible pueden ser imposibles de resolver correctamente para Solver, porque Solver termina en una solución local y no puede saltar a una solución global (ver la figura de abajo). Paisaje de posibles soluciones. Además, Solver requiere que la función representada por su modelo sea continua. Esto significa que el resultado de salida debe cambiar uniformemente con el ajuste de las variables de entrada. Si su modelo usa tablas de referencia, adquiere datos con ruido en tiempo real de otros programas, contiene elementos aleatorios o incluye reglas si- entonces, su modelo será irregular y discontinuo. Solver no sería capaz de resolver ese problema. Solver también pone un límite al número de variables y al número de restricciones del problema (200) por encima del cual hay que recurrir a una técnica más potente. Capítulo 6: Optimización 157
  • 164. Evolver y Solver Tanto Excel Solver como Evolver tienen sus propias ventajas e inconvenientes. En general, Solver es más rápido a la hora de resolver problemas simples y pequeños, mientras que Evolver es la única forma de resolver otros muchos tipos de problemas. Además, notará que Evolver encontrará mejores respuestas que Solver en problemas más grandes y complejos, del tipo que normalmente se encuentran en el “mundo real”. Evolver puede encontrar respuesta a muchos más tipos de problemas que Solver. Casi cualquier situación numérica que pueda modelar en Excel se puede optimizar en Evolver. Más específicamente, Evolver puede encontrar soluciones óptimas a problemas numéricos lineales, no lineales, basados en tablas o estocásticos (aleatorios). Puede resolver problemas con cualquier combinación de estas cualidades. Evolver también puede generar permutaciones de valores existentes, reordenar valores o agrupar valores de diferentes formas para encontrar una solución ó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 búsqueda procesando inteligentemente miles de escenarios y conservando los mejores. El proceso de algoritmo genético de Evolver se adapta mejor que Solver a las interrupciones. Se puede detener en proceso de Evolver en cualquier momento para ver la mejor solución 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 programación de trabajos, tal vez quiera encontrar las mejores tareas para asignar a las máquinas. Cuando una máquina está disponible, puede parar el proceso del algoritmo genético para encontrar la tarea óptima a asignar a esa máquina. Luego, esa tarea se puede omitir en el problema y la optimización puede continuar con el resto de los trabajos. El algoritmo genético que proporciona a Evolver la capacidad para administrar todos esos tipos de problemas normalmente será más lento que Solver y que otros métodos matemáticos o estadísticos tradicionales. Algunas clases de problemas utilizan rutinas de optimización bien conocidas y refinadas. En esos casos, encontrará las respuestas más rápidamente usando esos métodos personalizados, en lugar del método de uso general que utiliza Evolver. 158 Excel Solver
  • 165. Cuándo 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 más variables que las que el algoritmo puede administrar. 3) El problema es demasiado complejo para ser resuelto mediante cualquier otro método. 4) El modelo contiene números aleatorios, tablas de referencia, reglas si- entonces o cualquier otra función discontinua que no permita el uso de programas de resolución tradicionales. 5) No tiene idea de cuál puede ser la solución y, por lo tanto, no tiene una suposición de arranque desde la que los programas de resolución tradicionales puedan iniciar la búsqueda. 6) Quiere tener la opción de que algunas restricciones “duras” del problema (X tiene que ser igual a Y) puedan ser más “blandas” y, por lo tanto, más precisas (X debe ser igual Y, porque de lo contrario, pierdo parte de Z), explorando un rango mucho más amplio de posibles soluciones mejores, aunque para conseguirlas no se cumplan algunas restricciones. 7) Prefiere conseguir una solución bastante buena al problema más rápidamente que esperar mucho tiempo para encontrar la mejor solución absoluta . 8) Necesita muchas soluciones alternativas cercanas a la mejor solución. 9) Desea incorporar un algoritmo de búsqueda simple y sólido a su propia aplicación personalizada (consulte Desarrollo de Evolver para obtener más detalles). NOTA: Cuando el tiempo lo permita, Evolver también se puede usar además de otros métodos para comprobar la precisión del proceso. Aunque tarde más tiempo que otros métodos, la mejor solución que Evolver pueda encontrar probablemente merezca la inversión 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 técnicas de programación lineal, teoría de la optimización, matemáticas o estadística. El uso de Evolver sólo 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 descripción de los valores que Evolver puede usar cuando busque la solución óptima. Capítulo 6: Optimización 159
  • 166. 160 Excel Solver
  • 167. 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 En los problemas lineales, todos los resultados son funciones lineales lineales simples de las variables de entrada, como en y=mx+b. Cuando los problemas sólo aplican operaciones aritméticas simples como suma, resta y funciones de Excel como TENDENCIA() o PRONOSTICO(), quiere decir que las relaciones entre las variables son puramente lineales. Los problemas lineales han sido relativamente fáciles de solucionar desde la llegada de las computadoras y la invención del Método Simplex por parte de George Dantzig. Un problema lineal simple se puede solucionar más rápidamente y con mayor precisión con una utilidad de programación lineal. La utilidad Solver que ofrece Excel se convierte en una herramienta de programación lineal cuando se marca la casilla “Asumir modelo lineal”.* Solver usa luego una rutina de programación lineal para encontrar rápidamente la solución perfecta. Si el problema se puede expresar en términos puramente lineales, debe usar programación lineal. Desafortunadamente, la mayoría de los problemas del mundo real no se pueden describir linealmente. Problemas no Si el costo de fabricación y transporte de 5,000 dispositivos es de lineales $5,000, ¿costaría $1 fabricar y transportar 1 dispositivo? Probablemente no. La línea de producción de la fábrica de dispositivos seguiría consumiendo energía, seguiría siendo necesario completar y procesar el papeleo administrativo de los diferentes departamentos, los materiales se seguirían comprando al por mayor, los camiones requerirían la misma cantidad de gasolina para transportar los dispositivos y el conductor del camión seguiría recibiendo el pago de un día completo de salario independientemente de lo lleno que esté su camión. La mayoría de los problemas del mundo real no incluyen variables con relaciones lineales simples. Esos problemas incluyen multiplicación, división, exponentes y funciones incorporadas de Excel como RCUAD() o CRECIMIENTO(). Cuando las variables tienen una relación desproporcionada entre ellas, el problema deja de ser lineal para ser no lineal. *Para obtener detalles más específicos sobre la utilidad del Solver de Microsoft, consulte la Guía del Usuario de Excel. Capítulo 6: Optimización 161
  • 168. Un ejemplo perfecto de problema no lineal es la administración del proceso de fabricación de una planta química. Imagine que queremos mezclar algunos reactivos químicos y obtener un producto como resultado. La relación de esta reacción puede variar de forma no lineal con la cantidad de reactivos disponibles. En un momento dado, el catalizador se satura y un exceso de reactivo supone un problema. El siguiente diagrama muestra esta relación: Si sólo necesitamos encontrar el nivel mínimo de reactivos que genere el nivel más alto de reacción, podemos comenzar en cualquier punto del gráfico y escalar por la curva hasta alcanzar la cima. Este método para encontrar una respuesta se denomina escalada. El método de escalada siempre halla la mejor respuesta si (a) la función que se explora es uniforme y (b) los valores de la variable inicial se encuentran junto a la colina más alta. Si no se cumple una de estas condiciones, el método de escalada puede convertirse en una solución local en lugar de alcanzar la solución global. Los problemas altamente no lineales, los que se ven con frecuencia en la práctica, tienen muchas posibles soluciones por todo un complicado paisaje. Si un problema tiene muchas variables, o las fórmulas tienen demasiado ruido o muchas curvas, la mejor respuesta probablemente no se encontrará con el método de escalada, incluso aunque se hagan cientos de pruebas desde diferentes puntos de inicio. Lo más probable es que se encuentre una solución inferior a la óptima y extremadamente local (ver la figura de abajo). El método de escalada encuentra el Datos con ruido: el método de escalada no máximo local, pero no el global. es eficaz, incluso con múltiples pruebas. 162 Tipos de problemas
  • 169. Evolver no utiliza el método de escalada. En su lugar, usa una técnica de búsqueda estocástica dirigida, denominada algoritmo genético. Esto permite a Evolver saltar de un lado a otro dentro del espacio de solución de un problema, examinando muchas combinaciones de valores de entrada sin quedarse en el resultado óptimo local. Además, Evolver permite que se “comuniquen” los buenos escenarios para obtener valiosa información sobre el paisaje general de la solución, y luego usa esa información 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 múltiples escenarios posibles y luego refina la búsqueda basándose en los resultados obtenidos. Problemas Muchos problemas requieren el uso de tablas de referencia y bases de basados en tablas 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 búsqueda de soluciones óptimas a las rutinas de escalada como la de Solver. Sin embargo, Evolver no requiere continuidad en las funciones que evalúa, 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 función de una variable, debe utilizar Evolver. Si sólo 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 sólo se trata de una constante, y probablemente podrá usar Solver. Capítulo 6: Optimización 163
  • 170. Problemas Hay un grupo grande de problemas que son muy diferentes a los combinatorios problemas numéricos 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 difíciles de resolver, porque frecuentemente requieren una cantidad de tiempo exponencial; es decir, la cantidad de tiempo necesaria para resolver un problema con 4 variables puede ser de 4 x 3 x 2 x 1, y si multiplicamos por dos el número de variables hasta 8, el tiempo de resolución se eleva a 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1, o sea, un factor de 1,680. Mientras que el número de variables se multiplica por dos, el número de posibles soluciones que deben comprobarse aumenta 1,680 veces. Por ejemplo, la elección de los jugadores titulares de un equipo de béisbol es un problema combinatorio. Con 9 jugadores, se puede elegir uno entre los 9 como primero en el orden de bateo. Luego puede elegir uno entre 8 como segundo bateador; uno de entre los 7 restantes será el tercero, etc. Por lo tanto hay 9x8x7x6x5x4x3x2x1 formas (9 factorial) de seleccionar el orden de bateo de 9 jugadores. Esto supone 362,880 órdenes diferentes. Si multiplicamos por dos el número de jugadores, hay 18 factorial posibles órdenes, o sea 6,402,373,705,000,000 posibles órdenes de bateo! El algoritmo genético de Evolver busca inteligentemente entre las posibles permutaciones. Esto es mucho más práctico que buscar entre todas las posibilidades, y es mucho más eficaz que examinar permutaciones puramente aleatorias; se pueden conservar sub- órdenes de buenos escenarios y usarlas para crear escenarios aún mejores. 164 Tipos de problemas
  • 171. Capítulo 7: Algoritmos genéticos Introducción ....................................................................................167 Historia.............................................................................................167 Un ejemplo biológico .....................................................................171 Un ejemplo digital...........................................................................173 Capítulo 7: Algoritmos genéticos 165
  • 172. 166
  • 173. Introducción Evolver utiliza el algoritmo genético para buscar respuestas óptimas en los modelos de simulación. Este capítulo proporciona información general sobre algoritmos genéticos que explica cómo se usan para la optimización de modelos de simulación. Historia Los primeros algoritmos genéticos fueron desarrollados a principios de los años setenta por John Holland en la University of Michigan. A Holland le llamaba la atención la facilidad con la que los sistemas biológicos realizaban tareas que no podían realizar ni siquiera las supercomputadoras más avanzadas; los animales pueden reconocer objetos sin problemas, comprender y traducir sonidos y navegar en general a través de un entorno dinámico casi instantáneamente. Durante décadas, los científicos pretendieron replicar esta capacidad en las máquinas, pero empezamos a darnos cuenta de la dificultad que entraña esta tarea. La mayoría de los científicos están de acuerdo en que cualquier sistema biológico complejo que exhiba estas cualidades ha evolucionado para llegar a ese punto. Teoría de la La Evolución, según afirma la teoría, ha producido sistemas Evolución asombrosos mediante elementos relativamente sencillos y auto- reproductivos que siguen una serie de reglas simples: 1) La evolución se produce a nivel cromosómico. El organismo no evoluciona sino que sirve de vehículo mediante el que se transportan y transmiten los genes. Son los cromosomas los que cambian dinámicamente con cada reorganización de los genes. 2) La naturaleza tiende a hacer más copias de los cromosomas que producen organismos más “adaptados”. Si un organismo sobrevive lo suficiente, y está sano, hay mayores probabilidades de que sus genes se transmitan a una nueva generación de organismos a través de la reproducción. Este principio se conoce como el de “supervivencia de los mejor adaptados”. Recuerde que “mejor adaptado” es un término relativo; para que un organismo tenga “éxito” sólo necesita adaptarse en comparación con otros de la población actual. Capítulo 7: Algoritmos genéticos 167
  • 174. 3) Debe mantenerse la diversidad de la población. En la naturaleza se producen con frecuencia mutaciones aparentemente aleatorias que aseguran la variación de los organismos. Estas mutaciones genéticas resultan muchas veces en una función útil o incluso vital para la supervivencia de una especie. Con una gama más amplia de posibles combinaciones, una población es menos susceptible a debilidades comunes que puedan destruir a todos sus elementos (virus, etc.) o a otros problemas asociados con la reproducción con consanguinidad. Cuando se divide la evolución en estas reglas fundamentales, es más fácil aplicar estas técnicas al mundo informático y comenzar verdaderamente un avance hacia máquinas de funcionamiento más fluido y natural. Holland empezó a aplicar estas propiedades de la evolución a secuencias simples de números que representaban cromosomas. Primero codificó el problema en secuencias binarias (filas de unos y ceros) para representar los cromosomas, y luego hizo que la computadora generara muchas de estas secuencias de “bit” para formar una población completa. Programó una función de adaptación que pudiera evaluar y clasificar cada secuencia de bit, y las secuencias que se consideraron más “adaptadas” intercambiaban datos con otras a través de una rutina de “cruce” para crear secuencias de bit de “descendencia”. Holland incluso sometió sus cromosomas digitales a un operador de “mutación” que introdujo aleatoriedad a los cromosomas “descendientes” resultantes para conservar la diversidad de la población. Esta función de adaptación reemplazaba el papel de la muerte en el mundo biológico, determinando qué secuencias eran buenas para continuar con la reproducción y cuáles dejarían de conservarse en memoria. 168 Historia
  • 175. El programa conservó un número determinado de estos “cromosomas” en memoria, y esta “población” completa de secuencias continuó evolucionando hasta maximizar la función de adaptación. El resultado se decodificó de nuevo a sus valores originales para revelar la solución. John Holland sigue siendo un pionero activo en este campo, y ahora se unen a él cientos de científicos y expertos que han dedicado la mayoría de su tiempo a desarrollar esta prometedora alternativa a la tradicional programación lineal y a las técnicas matemáticas y estadísticas. El algoritmo genético original de Holland era bastante simple, a la vez que extraordinariamente sólido, a la hora de encontrar soluciones óptimas a una amplia variedad de problemas. Muchos programas especiales en la actualidad resuelven problemas reales muy grandes y complejos usando versiones que sólo son ligeras modificaciones de ese algoritmo genético original. Adaptaciones Con el aumento del interés en entornos académicos y la incorporación modernas de de una gran potencia de cálculo a las máquinas de comercialización algoritmos genéticos general, plataformas de referencia como Microsoft Windows y Excel facilitaron el diseño y mantenimiento de modelos complejos. El uso de números reales, en lugar de representaciones de secuencias de bits, eliminaron la difícil tarea de codificar y decodificar los cromosomas. La popularidad de algoritmo genético crece ahora exponencialmente, con la creciente aparición de seminarios, libros, artículos periodísticos y expertos consultores. La Conferencia Internacional sobre Algoritmos Genéticos ya dedica su atención a aplicaciones prácticas, una señal de madurez que no se muestra en otras tecnologías de “inteligencia artificial”. Muchas de las compañías Fortune 500 emplean algoritmos genéticos regularmente para resolver problemas del mundo real, desde agentes de bolsas y mercados de valores hasta plantas energéticas, cadenas de restaurantes, fabricantes de automóviles y emisoras de televisión. De hecho, es muy probable que usted ya haya usado indirectamente un algoritmo genético. Capítulo 7: Algoritmos genéticos 169
  • 176. 170 Historia
  • 177. Un ejemplo biológico veamos un sencillo ejemplo de evolución en el mundo biológico (a pequeña escala). Por “evolución” queremos decir cualquier cambio de distribución o frecuencia de los genes de una población. Por supuesto, lo más interesante de la evolución es que tiende generar poblaciones que se adaptan constantemente a sus entornos. Imagine que estamos observando una población de ratones. Estos ratones tienen dos tamaños, grande y pequeño, y dos colores, claro y oscuro. Nuestra población consta de los siguientes ocho ratones: Un día, los gatos llegaron al barrio y empezaron a comerse a los ratones. Resulta que los ratones más oscuros y pequeños son más difíciles de encontrar para los gatos. Por lo tanto, diferentes ratones tienen diferentes posibilidades de evitar a los gatos lo suficiente como para reproducirse. Esto afecta a la naturaleza de la siguiente generación de ratones. Suponiendo que los ratones viejos mueren poco después de reproducirse, la siguiente generación de ratones sería así: Observe que los ratones grandes, los ratones claros y, especialmente, los ratones grandes y claros tienen problemas para sobrevivir lo suficiente como para reproducirse. Esto continúa en la siguiente generación. Capítulo 7: Algoritmos genéticos 171
  • 178. Ahora, la población consta mayoritariamente de ratones pequeños y oscuros, porque estos ratones están mejor adaptados para la supervivencia en este entorno que otros tipos de ratones. Del mismo modo, cuando los gatos pasan hambre por la falta de comida, tal vez los gatos que prefieren comer hierba estarán mejor adaptados y transmitirán sus genes de comedores de hierba a la nueva generación de gatos. Este es el concepto principal de la “supervivencia de los mejor adaptados”. También podría decirse, de forma más exacta, que se trata de la “supervivencia hasta la reproducción”. En términos de evolución, ser el soltero más sano de la población no significa nada, ya que es necesario reproducirse para que los genes influencien futuras generaciones. 172 Un ejemplo biológico
  • 179. 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 Capítulo 6: Optimización). Como estamos tratando de obtener el valor máximo de “Z”, los picos de la función son soluciones “buenas” y los valles son “malas”. Cuando se usa un algoritmo genético para maximizar una función, empezamos por crear varias soluciones o escenarios posibles aleatorios (los puntos negros), en lugar de un solo punto inicial. Luego se calcula el resultado de la función de cada escenario y se incluye en el diagrama como un punto. A continuación, se clasifican todos los escenarios según su altitud, de mejor a peor. Conservamos los escenarios de la mitad superior de la lista y desechamos los demás. Primero, se crea una “población” entera de Luego se clasifican todas y se conservan las posibles soluciones. Unas son mejores (más soluciones que generan mejores resultados. altas) que otras. Capítulo 7: Algoritmos genéticos 173
  • 180. Cada uno de los tres escenarios restantes se duplican, para que el número total de escenario vuelva a ser de seis. Ahora viene la parte más interesante: Cada uno de los seis escenarios se compone de dos valores ajustables (en el diagrama como una coordenada de X e Y). Los escenarios se emparejan aleatoriamente. Cada escenario intercambia el primero de sus dos valores ajustables con el valor correspondiente del otros. Por ejemplo: Antes Después Escenario 1 3.4, 5.0 2.6, 5.0 Escenario 2 2.6, 3.2 3.4, 3.2 Esta operación se denomina cruce. Cuando los seis escenarios se emparejan aleatoriamente y realizan los cruces, se puede obtener una nueva serie de escenarios como esta: En el ejemplo de arriba, presuponemos que los tres escenarios originales, a, b y c, se emparejaron con los duplicados A, B y C, para formar los pares aB, bC y bA. Luego, estos pares intercambiaron los valores de la primera celda ajustable, que en nuestro diagrama es equivalente a intercambiar las coordenadas x e y entre los pares de puntos. La población de escenarios acaba de sobrevivir una generación, con su ciclo de “muerte” y “nacimiento”. 174 Un ejemplo digital
  • 181. Observe que algunos de los nuevos escenarios obtienen resultados más bajos (altitud más baja) que cualquiera de los de la generación original. Sin embargo, un escenario ha llegado a la cima más alta, lo cual indica progreso. Si dejamos que la población evolucione otra generación, podríamos ver una escena como la siguiente: Se puede ver como el rendimiento promedio de la población de escenarios aumenta por encima del rendimiento de la última generación. En este ejemplo, no queda mucho espacio para la mejora. Esto sucede porque sólo hay dos genes por organismo, sólo hay seis organismos y no hay forma de que se creen nuevos genes. Esto significa que hay una reserva genética limitada. La reserva genética es la suma de todos los genes de todos los organismos de una población. Los algoritmos genéticos pueden hacerse mucho más poderosos si replican más elementos de la fuerza inherente de la evolución del mundo biológico; aumentando el número de genes por organismo, aumentando el número de organismos de una población y permitiendo que se produzcan mutaciones aleatorias ocasionalmente. Además, podemos elegir los escenarios que viven y se reproducen como sucede naturalmente: con un elemento aleatorio con una ligera tendencia hacia aquellos que se adaptan mejor, en lugar de elegir simplemente a todos los que se adaptan mejor para reproducirse (hasta al león más grande y fuerte le puede matar un rayo). Todas estas técnicas estimulan el perfeccionamiento genético y contribuyen a mantener la diversidad de la reserva genética, manteniendo disponibles todo tipo de genes por si resultan útiles en diferentes combinaciones. Evolver implementa automáticamente todas estas técnicas. Capítulo 7: Algoritmos genéticos 175
  • 182. 176 Un ejemplo digital
  • 183. Capítulo 8: Extras de Evolver Cómo añadir restricciones ............................................................179 Restricciones de rango.........................................................................180 Restricciones duras - personalizadas................................................181 Restricciones blandas ..........................................................................182 Funciones de penalización....................................................182 Introducción de una función de penalización...................183 Visualización de los efectos de la función de penalización introducida ......................................................184 Visualización de las penalizaciones aplicadas..................184 Introducción de restricciones blandas en la hoja de cálculo.........................................................................185 Más ejemplos de funciones de penalización.....................185 Uso de funciones de penalización .......................................186 Problemas de múltiples objetivos.....................................................187 Mejora de la rapidez .......................................................................189 Cómo se implementa la optimización de Evolver .......................191 Selección...................................................................................191 Cruce .........................................................................................192 Mutación ..................................................................................193 Reemplazo................................................................................193 Restricciones............................................................................193 Capítulo 8: Extras de Evolver 177
  • 184. 178
  • 185. Cómo añadir restricciones Los problemas más realistas normalmente tienen una serie de restricciones que deben cumplirse durante la búsqueda de la respuesta óptima. Por ejemplo, en el ejemplo del tutorial que pretende encontrar el diseño de transformador más económico, una de las restricciones es que el transformador debe permanecer enfriado, con una radiación de calor inferior a 0.16 vatios/cm2. Un escenario que cumple todas las restricciones de un modelo se considera una solución viable o “válida”. A veces es difícil encontrar soluciones viables para un modelo, y mucho menos encontrar una solución viable óptima. Esto puede deberse a que el problema es muy complejo y sólo tiene unas pocas soluciones viables, o a que el problema tiene demasiadas especificaciones (muchas restricciones o algunas restricciones interfieren con otras) y no hay soluciones viables. Hay tres tipos básicos de restricciones: restricciones de rango, con rangos mín-máx colocados en celdas ajustables; restricciones duras, que siempre deben cumplirse; y restricciones blandas que nos gustaría cumplir en la medida de los posible, pero que se podrían ignorar en favor de una gran mejora. Capítulo 8: Extras de Evolver 179
  • 186. Restricciones de rango Las restricciones duras más simples son las que se colocan en las propias variables. Al establecer un cierto rango en cada variable, se puede limitar el número total de posibles soluciones que Evolver busca, lo cual resulta en una búsqueda más eficaz. Introduzca los valores Mín y Máx en la ventana Modelo de la sección Rangos de celda ajustables para indicar a Evolver el rango de valores aceptables para cada variable. Evolver sólo probará valores entre 0 y 5,000 para las celdas especificadas. Un segundo tipo de restricción dura colocada en la variable está incorporada a cada método de solución de Evolver (receta, orden, agrupamiento, etc.). Por ejemplo, cuando se ajustan variables usando el método de solución de presupuesto, significa que Evolver tiene una restricción dura que sólo permite hacer pruebas de grupos de valores que suman un mismo total. Como en la configuración de Rangos, esta restricción dura también reduce el número de posibles escenarios que deben buscarse. La opción entero del cuadro de diálogo Modelo también es una restricción dura que indica a Evolver que pruebe sólo valores enteros (1, 2, 3, etc.) en lugar de números reales (1.34, 2.034, etc.) a la hora de ajustar los valores de las variables. 180 Cómo añadir restricciones
  • 187. Restricciones duras - personalizadas Se puede introducir cualquier restricción que no esté en las restricciones de variable de Evolver, usando el cuadro de diálogo Configuraciones de Restricción. NOTA: Como la evolución en la naturaleza, el poder de resolución de un algoritmo genético 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 optimización del algoritmo genético se puede inutilizar. Siempre resulta más fácil para Evolver encontrar soluciones que cumplan las restricciones duras si el escenario inicial de la hoja de cálculo cumple esas restricciones. Eso permite a Evolver conocer el punto de inicio del espacio de soluciones válidas. Si no conoce ningún escenario que cumpla las restricciones, ejecute Evolver con cualquier escenario inicial para que el programa trate de encontrar escenarios que cumplan las restricciones. Capítulo 8: Extras de Evolver 181
  • 188. Restricciones blandas Si se fuerza al programa para que sólo busque soluciones que cumplan todas las restricciones, es posible que no se encuentre ninguna solución viable. Con frecuencia, es más útil tener una solución viable aproximada en la que no se cumplen algunas de las restricciones. Una alternativa al uso de “restricciones duras” que se deben cumplir es reconfigurar el problema con “restricciones blandas”; restricciones que Evolver tratará de cumplir. Estas restricciones blandas son frecuentemente más realistas y 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 genético de Evolver tendrá más posibilidades de encontrar la mejor solución si se le permite obtener información sobre algunas soluciones cercanas a las soluciones que cumplen las restricciones. Cuando las restricciones son objetivos designados, como “producir el doble de tenedores que de cuchillos”, muchas veces no es tan importante que se cumplan exactamente: especialmente si obtener un calendario de producción perfectamente equilibrado requiere un proceso de optimización de un día de duración. En este caso, una buena solución al problema, que casi cumple la restricción (la producción es 40% tenedores, 23% cuchillos, 37% cucharas), normalmente es mejor que esperar todo el día para averiguar que tal vez no hay solución, porque no es posible cumplir todas las restricciones. Funciones de Las restricciones blandas se pueden implementar fácilmente en Excel penalización a través del uso de funciones de penalización. En lugar de indicar a Evolver que en ningún caso puede usar ciertos valores cuando busca soluciones, permitimos que esos valores “no válidos” se examinen, pero penalizaremos esas soluciones como corresponde. Por ejemplo, un problema puede consistir en encontrar la forma más eficaz de distribuir productos con la restricción de que se usen sólo tres camiones. Un modelo más preciso incluiría una función de penalización que permitiera usar más camiones, pero añadiera el gran costo al resultado final. Las funciones de penalización se pueden especificar en el cuadro de diálogo Configuración de Restricciones o se puede introducir directamente en el modelo añadiendo una fórmula que represente las funciones de penalización. 182 Cómo añadir restricciones
  • 189. Introducción de una función de penalización. Evolver tiene una función de penalización predeterminada que aparece cuando se introduce una restricción blanda. Sin embargo, cualquier fórmula de Excel válida se puede introducir para calcular la cantidad de la penalización a aplicar cuando no se cumple una restricción blanda. La función de penalización introducida debe incluir la palabra clave desviación que representa la cantidad absoluta por la que la restricción ha superado su límite. Al final de una simulación de una solución de prueba, Evolver comprueba si se han cumplido las restricciones blandas; si no, coloca la cantidad de la desviación en la fórmula de la penalización introducida y luego calcula la cantidad de la penalización a aplicar a la estadística de la celda objetivo que se trata de minimizar o maximizar. La cantidad de la penalización se suma o se resta a la estadística calculada en la celda objetivo para que resulte menos "óptima". Por ejemplo, si se ha seleccionado Máximo en el campo Encontrar el del cuadro de diálogo Modelo de Evolver, la penalización se resta de la estadística calculada en la celda objetivo. Capítulo 8: Extras de Evolver 183
  • 190. Visualización de Evolver incluye la hoja de trabajo “Penalización.xls” que se puede los efectos de la usar para evaluar los efectos de diferentes funciones de penalización función de penalización en restricciones blandas y celdas objetivo específicas. introducida “Penalización.xls” permite seleccionar una restricción blanda de su modelo para analizar sus efectos. Luego, puede cambiar la función de penalización para ver cómo la función transforma un valor específico de la restricción blanda incumplida en un valor penalizado específico en la celda objetivo. Por ejemplo, si la restricción blanda es A10<100, puede usar “Penalización.xls” para ver cuál sería el valor objetivo si se calcula un valor de 105 en la celda A10. Visualización de Cuando se aplica una penalización a la celda objetivo por las penalizaciones incumplimiento de una restricción blanda, la cantidad de la aplicadas penalización se puede visualizar en el Observador del Evolver. Además, los valores de penalización se muestran en las hojas de cálculo Bitácora de Optimización, que se puede crear tras la optimización. 184 Cómo añadir restricciones
  • 191. Introducción de Las funciones de penalización también se pueden introducir restricciones directamente en la hoja de cálculo. Una función de penalización blandas en la hoja de cálculo booleana asigna una penalización establecida a cualquier escenario que no cumpla la restricción especializada. Por ejemplo, si quiere que el valor de la celda B1(suministro) sea al menos tan grande como el valor de la celda A1(demanda), puede crear esta función de penalización en otra celda: =SI(A1>B1, -1000, 0). Si el resultado de esta celda se añade al dato de la celda objetivo, cada vez que Evolver prueba una solución que incumple esa restricción (es decir, el suministro no satisface la demanda), el dato de la celda objetivo que se trata de maximizar muestra un valor 1,000 unidades inferior al resultado real. Cualquier solución que incumpla esta restricción produce un valor bajo del dato de la celda objetivo, y Evolver acabará por “eliminar” estos organismos. También se puede usar una función de penalización de escala, que penaliza con mayor precisión la solución dependiendo de en qué medida incumple la restricción. Este método resulta frecuentemente más práctico en el mundo real, ya que una solución en la que el suministro no satisface totalmente la demanda será siempre mejor que una solución que ni siquiera se aproximó a la demanda. Una simple función de penalización de escala calcula la diferencia absoluta entre el valor objetivo de la restricción y el valor real. Por ejemplo, en el mismo problema donde A1(demanda) no debe exceder B1(suministro), podríamos asignar la siguiente función de penalización: =SI(A1>B1, (A1-B1)^2, 0). Este tipo de penalización mide lo cerca que está el cumplimiento de una restricción, y exagera esa diferencia elevándola al cuadrado. Ahora, la penalización cambia dependiendo de lo mucho que una solución incumple una restricción. Más ejemplos de Por ejemplo, supongamos que crea un modelo de manufacturación en funciones de el que una de las restricciones es que la cantidad de madera que se penalización usa debe ser igual a la cantidad de plástico que se usa. Esta restricción se cumple cuando “CantidadDeMadera” = “CantidadDePlástico”. Queremos encontrar soluciones que incluyan la misma cantidad de ambos materiales, por lo tanto creamos una función de penalización para no favorecer soluciones que se alejan de nuestro objetivo. La fórmula “=ABS(CantidadDeMadera-CantidadDePlástico)” calcula la diferencia absoluta (no negativa) entre la cantidad de madera y la cantidad de plástico que se usan. Al usar la función ABS(), obtenemos el mismo valor de penalización si CantidadDeMadera es superior en más de 20 a CantidadDePlástico, o si CantidadDePlástico es menor en más de 20 a CantidadDeMadera. Ahora, cuando se optimiza el modelo, el objetivo es minimizar la media de los resultados de simulación de esta diferencia absoluta. Capítulo 8: Extras de Evolver 185
  • 192. Supongamos que imponemos esta otra restricción: La cantidad de madera debe ser el doble que la cantidad de plástico. Entonces, la función de penalización sería: =ABS(CantidadDeMadera-CantidadDePlástico*2) Una restricción diferente es que la cantidad de madera debe ser no inferior a el doble de la cantidad de plástico. Mientras que el ejemplo anterior producía una penalización si había demasiada madera, en este caso sólo nos preocupa si no hay suficiente madera; si CantidadDeMadera es diez veces mayor que CantidadDePlástico, no queremos que se aplique ninguna penalización. La función de penalización apropiada sería: =SI(CantidadDeMadera<CantidadDePlastico*2, ABS(CantidadDePlastico*2-CantidadDeMadera),0) Si CantidadDeMadera es al menos el doble de CantidadDePlastico, la función de penalización genera un valor 0. De lo contrario, la función indica la diferencia de cuánto menor es el valor de CantidadDeMadera con respecto al doble de CantidadDePlástico. Uso de funciones Después de crear funciones de penalización para describir las de penalización restricciones blandas del modelo, puede combinarlas con la fórmula de la celda objetivo normal para obtener una fórmula de celda objetivo restringida. En el ejemplo ilustrado abajo, si la celda C8 calcula el costo total de un proyecto y las celdas E3:E6 contienen cinco funciones de penalización, entonces se puede crear la fórmula =SUM(C8, E3:E6) en la celda C10 . Cree una celda que añada las restricciones al total y minimice la media de los resultados de la simulación de esta celda. 186 Cómo añadir restricciones
  • 193. Esto añade las penalizaciones de la columna E al costo de C8 para obtener una función de costo restringida o penalizada en C10. Observe que si esto fuera un problema de maximización debería restar, en lugar de sumar, las penalizaciones a la celda objetivo original. Ahora, cuando use Evolver, sólo tendrá que seleccionar esta celda restringida, C10, como celda objetivo cuyo dato de simulación se quiere optimizar. Cuando Evolver trata de optimizar un dato restringido para la celda objetivo, las funciones de penalización tenderán a forzar la búsqueda hacia escenarios que cumplan las restricciones. Finalmente, Evolver acabará con soluciones que son buenas respuestas y que cumplen o casi cumplen todas las restricciones (las funciones de penalización tendrán valores cercanos a 0). Problemas de múltiples objetivos Aunque se especifique una sola celda en el campo de celda objetivo de Evolver, todavía se pueden resolver múltiples objetivos mediante la creación de una función que combine los dos objetivos en un solo objetivo. Por ejemplo, supongamos que un científico dedicado a los polímeros pretende crear una sustancia flexible y al mismo tiempo fuerte. El modelo calcula la fuerza, flexibilidad y peso que resultarían de una mezcla determinada de combinaciones químicas. La cantidad de cada producto químico a usar son las variables ajustables del problema. Como quiere maximizar la Fuerza de la sustancia (celda S3) pero también quiere maximizar la Flexibilidad (celda F3), debe crear una nueva celda con la fórmula: =(S3+F3). Esta sería la nueva celda objetivo, porque cuando más alto sea este número, mejor será la solución en general. Si la flexibilidad fuera más importante que la fuerza, podríamos cambiar la fórmula de la celda objetivo a =(S3+(F3*2)). De esta forma, los escenarios que aumentan la flexibilidad en una cierta cantidad serían mejores (generarían una “puntuación” de idoneidad más alta) que los escenarios que aumentan la fuerza en esa misma medida. Si quiere maximizar la Fuerza de la sustancia (celda S5) pero también quiere minimizar el Peso (celda W5), debe crear una nueva celda con la siguiente fórmula: =(S5^2)-(W5^2). Esta fórmula generará un número más alto cuando la estructura sea a la vez fuerte y ligera, un número más bajo cuando la estructura es débil y pesada y números igualmente promedio en los escenarios débil y ligera, y fuerte pero pesada. Por lo tanto, deberá usar esta nueva celda como objetivo y maximizar su media para satisfacer ambos objetivos. Capítulo 8: Extras de Evolver 187
  • 194. 188 Cómo añadir restricciones
  • 195. Mejora de la rapidez Cuando se utiliza Evolver para resolver un problema, se usa la biblioteca de Evolver de rutinas compiladas para controlar el proceso así como la función de evaluación de la hoja de cálculo de Excel para examinar los diferentes escenarios. Gran parte del tiempo que utiliza Evolver es realmente usado por Excel para recalcular la hoja de cálculo. Hay una serie de cosas que se pueden hacer para acelerar la optimización de Evolver y el proceso de recálculo de Excel. ♦ La velocidad de Evolver es directamente proporcional a la velocidad del procesador del PC. Un Pentium/2.0 GHz será aproximadamente el doble de rápido 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 más o menos en una solución, y no se producen una mejora de la mejor solución desde hace tiempo (por ejemplo, las últimas 1000 pruebas), puede aumentar la tasa de mutación para permitir que Evolver amplíe su búsqueda de soluciones, en lugar de continuar refinando la solución con la población actual usando principalmente cruces. Puede aumentar la tasa de mutación a través del Observador del Evolver usando el comando Configuraciones de Población. ♦ Ajuste más estrechamente los rangos de las celdas ajustables; de esta forma se creará un área más pequeña en la que Evolver buscará las soluciones, y por lo tanto se acelerará el proceso. Asegúrese de que los rangos dan suficiente libertad a Evolver como para explorar todas las soluciones realistas. Capítulo 8: Extras de Evolver 189
  • 196. 190 Mejora de la rapidez
  • 197. Cómo se implementa la optimización de Evolver En esta sección se describen más específicamente cómo se implementan los algoritmos de optimización de Evolver. NOTA: No es necesario conocer esta información para poder usar Evolver. La mayoría de la tecnología de algoritmo genético de Evolver, como los métodos de solución de receta y orden, se basan en trabajos académicos realizados en el campo de los algoritmos genéticos durante los últimos diez años. Sin embargo, la mayoría de los métodos de solución derivados que se incluyen en Evolver, y los múltiples grupos de celdas ajustables, regresión, estrategia y funciones de probabilidad, son exclusivas de Evolver. Evolver utiliza un método de estado uniforme. Esto significa que sólo un organismo se reemplaza cada vez, en lugar de reemplazar una “generación” entera. Esta técnica de estado uniforme ha demostrado funcionar tan bien, o mejor, que el método de reemplazo generacional. Para encontrar el número equivalente de “generaciones” que Evolver ha procesado, debe tomar el número de pruebas individuales que ha explorado y dividirlo entre el tamaño de la población. Selección Cuando se va a crear un nuevo organismo, se seleccionan dos padres entre la población actual. Hay más probabilidades de que se seleccionen como padres los organismos con puntuaciones de adaptación más altas. En Evolver, los padres se seleccionan mediante un mecanismo basado en clasificación. A diferencia de algunos sistemas de algoritmos genéticos en los que las posibilidades de selección de los padres para la reproducción son directamente proporcionales a su adaptación, el método basado en clasificación ofrece una curva de probabilidad de selección más uniforme. Esto impide que los organismos buenos dominen completamente la evolución desde el principio. Capítulo 8: Extras de Evolver 191
  • 198. Cruce Como cada método de solución ajusta las variables de diferentes formas, Evolver emplea una rutina de cruce diferente optimizada para ese tipo de problema. El método de solución de receta básico realiza cruces usando una rutina de cruce uniforme. Esto significa que en lugar de dividir la lista de variables en un momento dado del escenario, procesando cada uno de los dos bloques (denominados cruces de “un solo punto” o “doble punto”), se forman dos grupos seleccionando aleatoriamente los elementos que en un grupo u otro. Los cruces de punto x tradicionales pueden influir sobre la búsqueda debido a la posición irrelevante de las variables, mientras que el método de cruce uniforme se considera mejor para preservar el esquema, y puede generar cualquier esquema a partir de los dos padres. El método de solución de orden realiza el cruce usando un algoritmo similar al operador de cruce de orden descrito en el libro Handbook of Genetic Algorithms de L. Davis.* De esta forma se seleccionan elementos aleatoriamente a partir de un padre, se encuentran sus posiciones en el otro padre, y se copian los elementos restantes en el segundo padre en el mismo orden en el que aparecen en el primer padre. Esto conserva algunos de los sub-órdenes de los padres originales mientras se crean algunos sub-órdenes nuevos. *Davis, Lawrence (1991). Handbook of Genetic Algorithms. New York: Van Nostrand Reinhold. 192 Cómo se implementa la optimización de Evolver
  • 199. Mutación Como sucede con el cruce, los métodos de mutación han sido personalizados para cada uno de los diferentes métodos de solución. El método de solución de receta básico realiza mutaciones examinando cada variable individualmente. Se genera un número aleatorio entre 0 y 1 para cada una de las variables del organismo, y si una variable obtiene un número menor o igual a la tasa de mutación (por ejemplo, 0.06), entonces esa variable se muta. La cantidad y naturaleza de la mutación se determina automáticamente mediante un algoritmo exclusivo. La mutación de una variable incluye su reemplazo por un valor generado aleatoriamente (dentro de su rango mín-máx válido). Para conservar todos los valores originales, el método de solución de orden realiza la mutación mediante el intercambio de posiciones de algunas variables del organismo. El número de intercambios realizados se incrementa o reduce proporcionalmente al incremento o reducción de la configuración de la tasa de mutación (de 0 a 1). Reemplazo Como Evolver usa un método de orden de clasificación en lugar de un método de reemplazo generacional, los organismos que peor se adaptan son siempre reemplazados por un nuevo organismo que se crea mediante selección, cruce y mutación, independientemente de su “puntuación” de adaptación. Restricciones Las restricciones duras se implementan mediante una tecnología exclusiva de Palisade denominada “regresión”. Si un nuevo elemento descendiente incumple alguna de las restricciones impuestas externamente, Evolver regresa hacia uno de los padres del descendiente, cambiando el descendiente hasta que se encuentre dentro del espacio de solución válido. Capítulo 8: Extras de Evolver 193
  • 200. 194 Cómo se implementa la optimización de Evolver
  • 201. Apéndice A: Automatización 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 configuración y ejecución de optimizaciones y para mostrar los resultados de las optimizaciones. Para obtener más información sobre esta interfaz de programación, consulte el documento de ayuda del Juego de Desarrollo de Evolver, disponible a través del menú de Ayuda de Evolver. Apéndice A: Automatización de Evolver 195
  • 202. 196
  • 203. Apéndice B: Resolución de problemas / Preguntas y respuestas Resolución de problemas / Preguntas y respuestas Esta sección responde algunas de las preguntas más comunes relacionadas con Evolver y ofrece información sobre cuestiones, problemas y sugerencias habituales. Después de leer esta sección, puede llamar al departamento de asistencia al cliente de Palisade a los números de teléfono indicados en el capítulo inicial de este manual. P: ¿Por qué tengo problemas para obtener una respuesta válida de Evolver? R: Asegúrese de que el cuadro de diálogo de Evolver está configurado correctamente. La mayoría de los problemas están asociados con la configuración de las variables. Cada grupo de celdas ajustables debe ser exclusivo, de forma que ninguna celda o grupo de celdas se procese con más de un método de solución. P: ¿Evolver puede procesar conceptos o categorías en lugar de números? R: Evolver puede procesar indirectamente cualquier tipo de dato, ya que los números no son más que símbolos. Use una tabla de referencia en Excel para traducir números enteros a secuencias de texto. Evolver (como el resto de los programas informáticos) básicamente sólo procesa números, pero la interfaz puede usar esos números para representar y mostrar cualquier tipo de secuencia. Apéndice B: Resolución de problemas / Preguntas y respuestas 197
  • 204. P: Aunque completo los cuadros de diálogo de la misma forma y Evolver se ejecuta la misma cantidad de tiempo, a veces Evolver encuentra soluciones diferentes. R: Como sucede en la selección natural del mundo biológico, el algoritmo genético de Evolver no sigue siempre el mismo camino para buscar soluciones (a menos que use un generador de número aleatorio fijo). Resulta irónico que sea esta “impredecibilidad” la que permita a Evolver resolver más tipos de problemas y, con frecuencia, encontrar mejores soluciones que con los métodos tradicionales. El motor del algoritmo genético de Evolver no sólo ejecuta una serie de comandos pre-programados o coloca valores mediante una fórmula matemática, sino que experimenta eficazmente con escenarios hipotéticos aleatorios simultáneos, para luego refinar la búsqueda mediante múltiples operadores de “supervivencia de los mejor adaptados” que también contienen elementos aleatorios. P: ¿Por qué no cambia la mejor solución encontrada? R: Es posible que haya especificado la celda objetivo incorrecta en el cuadro de diálogo Modelo de Evolver. Evolver está examinando esta celda en blanco y el valor no cambia porque no contiene una fórmula. Para solucionar este problema, abra el cuadro de diálogo Modelo de Evolver y seleccione una celda objetivo apropiada; es decir, una que refleje con exactitud lo buena o mala que es cada posible solución. Una celda objetivo apropiada contiene una fórmula que depende, directa o indirectamente, de las variables que Evolver ajusta (celdas ajustables). P: Algunas de las celdas del modelo de la hoja de cálculo contienen los símbolos “####”. R: Si la celda es demasiado pequeña para mostrar todo su contenido, muestra varios signos ####. Aumente el tamaño de la celda. 198 Resolución de problemas / Preguntas y respuestas
  • 205. P: Evolver funciona bien pero, ¿hay alguna forma más 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 penalización (consulte Cómo añadir restricciones en el Capítulo 8: Extras de Evolver). La imposición de demasiadas restricciones sobre lo que Evolver está probando puede impedir que Evolver explore un área de posibilidades que genere mejores resultados. Recuerde que cuánto más tiempo deje a Evolver explorar las posibilidades, más probable será encontrar la solución óptima. Para obtener más ideas sobre cómo afinar Evolver, consulte el Capítulo 8: Extras de Evolver. Cuantos más escenarios pueda ejecutar Evolver, mejor. Acelere el proceso de Evolver desactivando la opción “Cada recálculo” de actualización de pantalla. Apéndice B: Resolución de problemas / Preguntas y respuestas 199
  • 206. 200
  • 207. Apéndice C: Recursos adicionales Recursos adicionales de aprendizaje La siguiente lista incluye una muestra de documentación relacionada con los algoritmos genéticos y vida artificial. El asterisco (*) indica una obra recomendada por Palisade. Libros • Bolles, R.C., & Beecher, M.D. (Eds.). (1988). Evolution and Learning. Lawrence Erlbaum. • Beer, R.D. (1990). Intelligence as Adaptive Behavior: An Experiment in Computational Neuroethology. Academic Press. • Davis, Lawrence (1987). Genetic Algorithms and Simulated Annealing. Palo Alto, CA: Morgan Kaufman. * Davis, Lawrence (1991). Handbook of Genetic Algorithms. New York: Van Nostrand Reinhold. • Darwin, Charles (1985). On The Origin of Species. London: Penguin Classics. (originalmente publicado en 1859) * Dawkins, Richard. (1976). The Selfish Gene. Oxford University Press. • Eldredge, N. (1989). Macroevolutionary Dynamics: Species, Niches, and Adaptive Peaks. McGraw-Hill. • Fogel, L., Owens, J., and Walsh, J. (1966). Artificial Intelligence through Simulated Evolution. New York: John Wiley and Sons. • Goldberg, David (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. Reading, MA: Addison-Wesley Publishing. • Holland, J.H. (1975). Adaptation in Natural and Artificial Systems. Ann Arbor, MI: University of Michigan Press. • Koza, John (1992). Genetic Programming. Cambridge, MA: MIT Press. * Langton, C.L. (1989). Artificial Life. MIT Press. [ALife I] • Levy, Steven (1992). Artificial Life. New York: Pantheon. Apéndice C: Recursos adicionales 201
  • 208. • Meyer, J.-A., & S.W. Wilson (Eds.). (1991). Proceedings of the First International Conference on Simulation of Adaptive Behavior: From Animals to Animats. MIT Press/Bradford Books. * Proceedings of the Sixth International Conference (ICGA) on Genetic Algorithms (1995). San Mateo, CA: Morgan Kaufman Publishing. (También se ofrecen las actas de las cinco primeras conferencias de ICGA). • Proceedings of the Workshop on Artificial Life (1990). Christopher G. Langton, Senior Editor. Reading, MA: Addison-Wesley Publishing. • Rawlins, Gregory (1991). Foundations of Genetic Algorithms. San Mateo, CA: Morgan Kaufman Publishing. • Richards, R.J. (1987). Darwin and the Emergence of Evolutionary Theories of Mind and Behavior. U. Chicago Press. • Williams, G.C. (1966). Adaptation and Natural Selection. Princeton U. Press. Artículos * Antonoff, Michael (October, 1991). Software by Natural Selection. Popular Science, p. 70-74. • Arifovic, Jasmina (January, 1994). Genetic Algorithm Learning and the Cobweb Model. Journal of Economic Dynamics & Control v18 p.3 * Begley, S (May 8, 1995). “Software au Naturel” In Newsweek p. 70 • Celko, Joe (April, 1993). Genetic Algorithms and Database Indexing. Dr. Dobb’s Journal p.30 • Ditlea, Steve (November, 1994). Imitation of Life. In Upside Magazine p.48 • Gordon, Michael (June, 1991). User-based Document Clustering by Redescribing Subject Descriptions with a Genetic Algorithm. Journal of the American Society for Information Science v42 p.311 • Hedberg, Sara (September, 1994). Emerging Genetic Algorithms. AI Expert, p. 25-29. • Hinton, G.E., & Nowlan, S.J. (1987). How Learning Can Guide Evolution. Complex Systems 1: p.495-502. * Kennedy, Scott (June, 1995). Genetic Algorithms: Digital Darwinism. Hitchhicker’s Guide to Artificial Intelligence Miller Freeman Publishers • Kennedy, Scott (December, 1993). Five Ways to a Better GA. AI Expert, p. 35-38 • Lane, A (June, 1995). The GA Edge in Analyzing Data. AI Expert p.11 • Lee, Y.C. (Ed.). (1988). Evolution, learning, and cognition. World Scientific. 202 Recursos adicionales de aprendizaje
  • 209. • 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. Springer- Verlag. • Mendelsohn, L. (December, 1994) Evolver Review. Technical Analysis of Stocks and Commodities. p.33 • Maynard Smith, J. (1987). When Learning Guides Evolution. Nature 329: p.761-762. • Murray, Dan (June, 1994). Tuning Neural Networks with Genetic Algorithms. AI Expert p.27 • Wayner, Peter (January, 1991). Genetic Algorithms: Programming Takes a Valuable Tip from Nature. Byte Magazine v16 p.361 Revistas y hojas informativas • Advanced Technology for Developers (hoja informativa mensual). Jane Klimasauskas, Ed., High-Tech Communications, 103 Buckskin Court, Sewickley, PA 15143 (412) 741-7699 • AI Expert (revista mensual). Larry O’Brien, Ed., 600 Harrison St., San Francisco, CA 94107 (415) 905-2234. *Aunque AI Expert dejó de publicarse en la primavera de 1995, su ediciones anteriores contienen muchos artículos de gran utilidad. Miller-Freeman, San Francisco. • Applied Intelligent Systems (hoja informativa bimensual). New Science Associates, Inc. 167 Old Post Rd., Southport, CT 06490 (203) 259-1661 • Intelligence (hoja informativa mensual). Edward Rosenfeld, Ed., PO Box 20008, New York, NY 10025-1510 (212) 222-1123 • PC AI Magazine (revista mensual). Joseph Schmuller, Ed., 3310 West Bell Rd., Suite 119, Phoenix, AZ 85023 (602) 971-1869 • Release 1.0 (hoja informativa mensual). Esther Dyson, Ed., 375 Park Avenue, New York, NY 10152 (212) 758-3434 • Sixth Generation Systems (hoja informativa mensual). Derek Stubbs, Ed., PO Box 155, Vicksburg, MI, 49097 (616) 649-3592 Introducción a la simulación Si está dando sus primeros pasos en el mundo de las simulaciones, o si desea conseguir más información general sobre las técnicas, los siguientes libros y artículos serán de utilidad: * Baird, Bruce F. Managerial Decisions Under Uncertainty: John Wiley & Sons, Inc. 1989. * Clemen, Robert T. Making Hard Decisions: Duxbury Press, 1990. Apéndice C: Recursos adicionales 203
  • 210. • 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 técnica sobre la simulación y las técnicas Monte Carlo Si quiere examinar más en profundidad los principios de la simulación, las técnicas de recogida de muestras y la teoría estadística, los siguientes libros serán 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: McGraw- Hill, New York, NY, 1991,1982. Rubinstein, R.Y. Simulation and the Monte Carlo Method: John Wiley and Sons, New York, NY, 1981. Obras técnicas de referencia sobre el método de toma de muestras Hipercuadro Latino Si está interesado en informarse sobre la relativamente nueva técnica de toma de muestras denominada Hipercuadro o Hipercubo Latino (Latin Hypercube), las siguientes fuentes serán 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
  • 211. • 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). Apéndice C: Recursos adicionales 205
  • 212. Ejemplos y casos de estudio que usan simulación Si desea consultar estudios que demuestran el uso de la simulación 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
  • 213. Glosario Para obtener información adicional sobre cualquier término, consulte el índice de Evolver en el siguiente capítulo. Algoritmo Método de solución por pasos de base matemática para ciertos tipos de problemas. Todos los programas informáticos se desarrollan mediante la combinación de muchos algoritmos. Algoritmo de Procedimiento de optimización que comienza en un escenario escalada determinado y se mueve a pequeños pasos repetidamente en la dirección que más lo mejora. Los algoritmos de escalada son rápidos y simples, pero tienen dos inconvenientes. Primero, puede ser necesario mucho trabajo para encontrar la dirección que ofrece la mayor mejora. Segundo, los algoritmos normalmente suben a la colina más cercana, o máximo local. Esto impide que el algoritmo encuentre el máximo global en un problema difícil. Algoritmo Procedimiento para mejorar los resultados de algunas operaciones genético mediante la prueba repetitiva de varias soluciones posibles y la reproducción y mezcla de componentes de las mejores soluciones. El proceso es básicamente similar y está inspirado en el proceso de evolución del mundo biológico, en el que los mejor adaptados sobreviven para reproducirse. Barra de estado La barra de estado aparece en la parte inferior de la ventana de Excel y muestra la actividad actual de Evolver. Campo La unidad básica de introducción de datos. Dependiendo del tipo de campo, un campo puede contener texto, imágenes o números. La mayoría de los campos de los cuadros de diálogo de Evolver solicitan al usuario la ubicación de celdas de una hoja de cálculo u opciones sobre cómo debe funcionar Evolver. Celda Una celda es la unidad básica de una hoja de cálculo en la que se almacenan datos. En cada hoja de cálculo de Excel hay hasta 256 columnas y 16,000 filas, para un total de más de 4 millones de celdas. Celda ajustable Una celda de hoja de cálculo cuyo valor se puede ser ajustado por Evolver para tratar de optimizar el valor de la celda objetivo. Una celda ajustable es un valor de variable y debe contener siempre un número simple, y no una ecuación. Glosario 207
  • 214. Celda objetivo La celda de la hoja de cálculo cuyo valor queremos minimizar o maximizar. Esta celda se establece en el cuadro de diálogo Modelo de Evolver (seleccionando el comando Definición de Modelo de Evolver o el icono Modelo). Cruce En un contexto de base genética, un cruce es un intercambio de material genético equivalente al que se produce entre dos cromátidas homólogas durante la meiosis. En Evolver, el término cruce se usa para expresar el equivalente informático de un cruce en el que se produce un intercambio entre variables que genera nuevas combinaciones de escenarios. Cuadro de diálogo Es la ventana de un PC en la que se solicita que el usuario introduzca información. También se denomina caja de diálogo. Evolver contiene dos cuadros de diálogo principales: el cuadro de diálogo Modelo de Evolver y el cuadro de diálogo Celdas Ajustables. Desviación Desviación es una medida del perfil de una distribución. La desviación indica el grado de asimetría de una distribución. Las distribuciones desviadas tienen más valores a un lado del punto alto, o valor más probable, que al otro. Además, una de las colas o extremos es más larga que la otra. Una desviación de 0 indica una distribución simétrica, mientras que una desviación negativa indica que la distribución está desviada hacia la izquierda. Una desviación positiva significa una desviación hacia la derecha. Ver Kurtosis Desviación La desviación estándar es una medida que indica la dispersión de estándar valores de una distribución. Es igual a la raíz cuadrada de la varianza. Ver Varianza Determinada El término determinada indica que no hay incertidumbre asociada a (variable) un determinado valor o variable. Distribución Una distribución acumulativa o función de distribución acumulativa acumulativa es el conjunto de puntos cada uno de los cuales es igual a la integral de una distribución de probabilidad, comenzando en un valor mínimo y terminando en el valor asociado de la variable aleatoria. Véase Distribución de frecuencia acumulativa o Distribución de probabilidad Distribución Distribución de probabilidad en la que se puede dar cualquier valor continua entre un mínimo y un máximo (tiene probabilidad finita). Véase Distribución independiente 208 Recursos adicionales de aprendizaje
  • 215. Distribución de Distribución de frecuencia es el término que define las distribuciones frecuencia de probabilidad de salida y las distribuciones de histograma de entrada (HISTOGRM) de Evolver. La distribución de frecuencia se construye con datos, mediante la ordenación de valores en clases, y representando la frecuencia de ocurrencia de cualquier clase con la altura de la barra. La frecuencia de ocurrencia se corresponde con la probabilidad. Distribución de Distribución de frecuencia acumulativa es el término que define las frecuencia distribuciones acumulativas de salida y de entrada de Evolver. La acumulativa distribución acumulativa se construye acumulando la frecuencia (añadiendo progresivamente la altura de las barras del gráfico) en el rango de una distribución de frecuencia. Una distribución acumulativa puede tener una curva “inclinada hacia arriba” en la que se describe la probabilidad de un valor menor o igual al valor de cualquier variable. La distribución acumulativa también puede tener una curva “inclinada hacia abajo” en la que se describe la probabilidad de un valor mayor o igual al valor de cualquier variable. Véase Distribución acumulativa Distribución de Una distribución de probabilidad o función de densidad de probabilidad probabilidad es el término estadístico apropiado para denominar una distribución de frecuencia construida a partir de un grupo de valores inicialmente grande cuyo tamaño de clase es infinitesimalmente pequeño. Ver Distribución de frecuencia Distribución Una distribución de probabilidad en la que sólo se pueden dar un discreta número finito de valores independientes entre un mínimo y un máximo. Véase Distribución continua Escenario Grupo de valores de las variables de un modelo de una hoja de cálculo. Cada escenario frecuentemente representa una posible solución. Estocástica El término estocástica aplicado a una variable es sinónimo de incertidumbre o riesgo. Véase Riesgo o Determinada (variable) Fenotipos En biología, es una característica observable de un individuo que surge mediante la interacción entre genes, y entre los genes y el entorno. En el estudio de GA, el fenotipo se usa para describir las variables individuales o “genes” que componen una solución completa o “cromosoma”. (ver Genotipo) Glosario 209
  • 216. Función de Es una fórmula que puede calcular lo buena o lo mala que puede ser idoneidad una solución propuesta a un problema dado. El término se usa frecuentemente en el mundo del algoritmo genético como una analogía de la “adaptación” en la selección biológica. El diseño de una función de idoneidad precisa es fundamental cuando se usa un algoritmo genético para resolver un problema. El resultado de la simulación de esta función de idoneidad se convierte en el objetivo o valor objetivo a optimizar. Función de Una ecuación de una hoja de cálculo que Evolver puede usar para penalización penalizar escenarios que no cumplen ciertos criterios. Las funciones de penalización se usan para minimizar efectos secundarios de los escenarios o para alcanzar múltiples objetivos. A diferencia de las restricciones duras, las funciones de penalización permiten la exploración de soluciones no válidas, pero las empeora de forma que la población evolucione distanciándose de esas soluciones. Las penalizaciones booleanas pueden estar activas o inactivas, penalizando todas las soluciones no válidas en la misma medida. Las penalizaciones de escala son más fluidas y asignan una penalización proporcional a lo mucho o lo poco que se incumple una restricción. Funciones En Excel, una función es una fórmula predefinida que toma un valor, realiza una operación y genera un valor. Excel contiene cientos de fórmulas incorporadas (como “SUM”) que ahorran tiempo y espacio, y son más rápidas. Por ejemplo, en lugar de escribir A1+ A2+ A3+ A4+ A5+ A6, puede escribir SUM(A1:A6) y obtener el mismo resultado. Generación En el campo de los algoritmos genéticos, cada población completamente nueva de soluciones “descendientes” es una nueva “generación”. Algunas rutinas de algoritmo genético emparejan a todos los miembros de una población a la vez, creando una “generación” totalmente nueva de organismos descendientes que reemplaza a la población anterior. Evolver evalúa y reemplaza un organismo cada vez (ordenados en clasificación) y por lo tanto no usa el término “generación” en su documentación. Esta técnica de estado uniforme funciona tan bien como el reemplazo generacional. Semilla de El generador de número aleatorio es un algoritmo que determina la generador de selección de números aleatorios, normalmente en un rango entre 0 y número aleatorio 1. Estos números aleatorios son equivalentes a tomar una muestra de una distribución uniforme con un mínimo de 0 y un máximo de 1. Estos números aleatorios son la base de otras operaciones que los convierten en muestras tomadas de tipos de distribuciones específicas. Ver Muestra aleatoria 210 Recursos adicionales de aprendizaje
  • 217. Genotipo En biología, es la constitución genética de un individuo. El término normalmente se refiere a la suma total de todos los genes individuales. En el estudio de los GA, genotipo se usa para describir el “cromosoma” artificial que se evalúa como posible solución al problema. Grupo de celdas Un grupo de celdas ajustables es un grupo de variables junto con la ajustables forma en que se tratarán. Evolver incluye todos los grupos de celdas ajustables en la sección variables del cuadro de diálogo Modelo de Evolver. Este tipo de arquitectura permite construir y describir problemas complejos como varios grupos de celdas ajustables. Hipercubo Latino La toma de muestras de Hipercubo Latino es un método relativamente nuevo de recogida de muestras por estratificación que se utiliza en la modelación por simulación. Las técnicas de toma de muestras estratificadas, al contrario que las técnicas del tipo Monte Carlo, tienden a alcanzar la convergencia de una distribución con menos muestras. Ver Monte Carlo Iteración Una iteración es un recálculo del modelo durante una simulación. Una simulación consta de múltiples recálculos o iteraciones. En cada iteración se 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. También se denomina prueba de simulación Kurtosis Kurtosis es una medida del perfil de una distribución. La Kurtosis indica lo plana o irregular que es una distribución. Cuanto más alto sea el valor de la Kurtosis, más irregular será una distribución. Ver Desviación Máximo global El valor más grande posible de una función determinada. Las funciones o modelos complejos pueden tener muchos valores máximos locales, pero un solo máximo global. Máximo local El mayor valor posible de una función determinada dentro de un rango de valores. El máximo local se encuentra en un grupo de valores de variables de una función en el que un cambio ligero de cualquier valor de las variables o de todas ellas produce un resultado menor en la función. (Comparar con máximo global). Media La media de un grupo de valores es la suma de todos los valores del grupo dividida entre el número total de valores. Sinónimo de valor esperado Glosario 211
  • 218. Método de Evolver incluye seis de estos métodos, cada uno de los cuales usa un solución algoritmo personalizado para resolver un tipo específico de problema. Por cada conjunto de variables seleccionado en un problema, el usuario debe asignar el método de solución que se debe usar con esas variables. Los seis métodos de solución son: agrupamiento, orden, receta, presupuesto, proyecto y calendarización. Modelo En este manual, un modelo es una representación numérica, en Excel, de una situación del mundo real. Monte Carlo Monte Carlo hace referencia a una técnica tradicional de toma de muestras para variables aleatorias en los procesos de modelación por simulación. Las muestras son seleccionadas de forma completamente aleatoria para todo el rango de la distribución, y por lo tanto se requiere una gran cantidad de muestras para alcanzar la convergencia en distribuciones altamente desviadas o de extremos alargados ( o “larga cola”). Ver Hipercubo Latino Muestra aleatoria Una muestra aleatoria es un valor que se ha seleccionado de una distribución de probabilidad que describe una variable aleatoria. Esta muestra se recoge aleatoriamente según un "algoritmo" de recogida de muestras. La distribución de frecuencia que se construye con un gran número de muestras aleatorias generadas por dicho algoritmo se aproximará a la distribución de probabilidad para la que se diseñó el algoritmo. Mutación En el mundo biológico, la mutación de un gen es la fuente de variación necesaria para una selección natural selectiva. De la misma forma, un algoritmo genético utiliza técnicas de mutación para mantener la diversidad en una población de posibles escenarios. Optimización El proceso de encontrar valores de variables de forma que el resultado de una función se pueda maximizar (obtener el mayor posible) o minimizar (obtener el menor posible). La optimización mediante la resolución de una ecuación se puede hacer fácilmente para cambiar uniformemente funciones con pocas variables, pero resulta muy difícil en muchos de los problemas del mundo real. Los problemas difíciles generalmente necesitan un mecanismo de búsqueda. Evolver utiliza un mecanismo de búsqueda de optimización basado en un algoritmo genético. Organismo Un bloque de memoria de una población que almacena una serie de valores de variables (escenario). 212 Recursos adicionales de aprendizaje
  • 219. 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. Población El grupo entero de escenarios que Evolver conserva en memoria a partir de los cuales se generan nuevos escenarios. Evolver mantiene una población 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 simulación, calculando el número de repeticiones de un valor o suceso dividido entre el número total de sucesos. Este cálculo genera un valor entre 0 y 1 que luego se puede convertir en un porcentaje multiplicándolo por 100. Ver Distribución de frecuencia o Distribución de probabilidad Programas Programas de software simples que buscan las variables de entrada pequeños de que generan un resultado de salida deseado usando una combinación resolución (Baby Solver) de técnicas de programación lineales, o algoritmos básicos de escalada. Los programas pequeños de resolución hacen frecuentes suposiciones y refinan sus respuestas para llegar a una solución “local”, en lugar de a una solución “global”. Pruebas El proceso por el cual Evolver genera un valor para cada variable de un problema para luego recalcular el escenario para su evaluación. Puntos altos Puntos altos (o momentos altos) son las estadísticas de una distribución de probabilidad. El término por lo general hace referencia a la desviación y a la kurtosis, los puntos (o momentos) tercero y cuarto respectivamente. Los puntos (o momentos) primero y segundo son la media y la desviación estándar respectivamente. Véase Kurtosis, Media y Desviación estándar Rangos En Evolver: El usuario establece el rango, o el valor más alto y más bajo que Evolver puede probar cuando ajusta una variable determinada. Aunque no es necesario para resolver un problema, el establecimiento de estos rangos limita las posibilidades y, por lo tanto, reduce la búsqueda de Evolver. En Excel: Un bloque de celdas contiguas de una hoja de cálculo que se define entre la celda superior izquierda y la celda inferior derecha (por ejemplo, A5:C9 describe un rango de 15 celdas). Glosario 213
  • 220. Restricciones Las restricciones son condiciones que conviene cumplir (restricciones blandas) o que tienen que cumplirse (restricciones duras) para que un escenario sea considerado válido. Restricciones Cuando una restricción no se tiene que cumplir necesariamente, se blandas pueden imponer como una restricción blanda en lugar de dura. Esto se hace especificando una función de penalización en Evolver o añadiendo una función de penalización a la función de adaptación de la celda objetivo. Frecuentemente, es mejor que las restricciones sean blandas en la medida de lo posible. La razón es la siguiente: 1. Normalmente, Evolver puede resolver más rápidamente problemas con restricciones blandas, y 2. Un modelo con restricciones blandas frecuentemente encuentra una solución muy buena que casi cumple las restricciones blandas, lo cual puede tener más valor que una solución no tan buena que cumple las restricciones duras. Restricciones Una restricción que debe cumplirse siempre. Por ejemplo, los rangos duras 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 Simulación Simulación es una técnica por la que un modelo, como puede ser una hoja de cálculo de Excel, se calcula repetidas veces con diferentes valores de entrada con la intención de obtener una representación completa de todos los escenarios posibles que pudieran darse en una situación incierta. Solución Cualquier sistema contiene múltiples variables de entrada que generan un resultado de salida. En Evolver, una “solución” se refiere a una de las posibles combinaciones de variables, más que a la mejor combinación. Supervivencia Es una idea que describe cómo los organismos mejor adaptados a un de los mejor entorno tienen más posibilidades de vivir lo suficiente como para adaptados reproducirse y transmitir sus genes a la siguiente generación de la población. Valor más El valor más probable o moda es el valor que se produce con más probable 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
  • 221. Variable Una variable dependiente es la que depende de algún modo de los dependiente valores de otras variables del modelo. El valor de una variable dependiente incierta se puede calcular con una ecuación que esté en función de otras variables inciertas del modelo. La variable dependiente se puede obtener de una distribución basada en el número aleatorio correlacionado con el número aleatorio utilizado para extraer una muestra de variable independiente. Véase Variable independiente Variable Una variable independiente es la que no depende en modo alguno de independiente los valores de otras variables del modelo. El valor de una variable independiente incierta se determina con una toma de muestra de la distribución de probabilidad correspondiente. Esta muestra se extrae sin considerar ninguna otra muestra aleatoria tomada para cualquier otra variable del modelo. Ver Variable dependiente Glosario 215
  • 222. 216 Recursos adicionales de aprendizaje
  • 223. Índice A actualización de pantalla imagen 37 agrupamiento método de solución 65, 77, 107 algoritmo, definición 151 algoritmos genéticos ¿Para qué se usan? 16 añadir restricciones 117 Aprendizaje de Evolver 10 B barra de estado 207 basados en tablas, problemas 163 bases de datos 163 C calendarización método de solución 61, 110 celda objetivo 27, 100, 208 celdas ajustables 27, 101 combinatorios, problemas 150–51, 150–51 condiciones de detención introducción 35 condiciones de parada 126 Configuraciones de aplicación, comando 133 E ejemplos agente de bolsa 91 asignación de presupuesto 57 asignación de tareas 53 Índice 217
  • 224. calendarizador de clases 61 cartera equilibrada 77 compras 85 equilibrio químico 59 estaciones de energía 83 mezcla de carteras 81 orden alfabético 51 panadería 55 problema del vendedor 87 rutas 69 segmentador de códigos 65 selección de publicidad 49 trabajo en un taller 73 transformador 93 transporte 95 ubicación de una torre de radio 75 vendedor 87 enteros 103 escalada 153 descrita 161 ejemplo 162 uso de Solver 157 especificaciones técnicas 191 Evolver ¿Para qué se usa? 16 ¿Qué es? 13 capacidad 150–51 cuándo se debe usar 159 en comparación con Solver 158 Observador 39, 137 quitar 7 Tutorial 10 Excel Solver 157 F función de idoneidad 23, 100 funciones de penalización ejemplos 185 explicación 182 uso 186 G generaciones por qué no se usan 191 218 Recursos adicionales de aprendizaje
  • 225. gráficos 39 L Léame, archivo 10 lineales, problemas 161 M meta de optimización 27, 100 método de reemplazo 193 Método Simplex 161 métodos de solución agrupamiento 65, 77, 107 calendarización 61, 110 como restricciones 180 orden 53, 73, 87, 106 presupuesto 49, 57, 81, 83, 108 proyecto 69, 109 receta 51, 55, 59, 75, 85, 91, 93, 95, 106 minutos 126 Modelo, cuadro de diálogo 26, 99 modelos continuos 157 N no lineales, problemas 161 O Observador 39, 137 operadores genéticos 115 Operadores, pestaña 115 optimización ¿Qué es? 15 ejemplo 155 métodos 151 orden método de solución 53, 73, 87, 106 P paisaje de soluciones 152 Palisade Corporation 5 Índice 219
  • 226. percentil 213 presupuesto método de solución 49, 57, 81, 83, 108 problemas basados en tablas 163 combinatorios 164 de múltiples objetivos 187 lineales 161 no lineales 161 progreso de gráfico imagen 37 Progreso, ventana 131 proyecto método de solución 69, 109 Q quitar Evolver 7 R rapidez, mejora 189 receta método de solución 51, 55, 59, 75, 85, 91, 93, 95, 106 regresión 193 reserva genética 175 restricciones 177–79 blandas 118, 119, 182 duras 118 implementación 193 rutina de selección 191 rutinas GRG 157 S solución global comparación con solución local 157 solución local comparación con solución global 157 Solver 157 en comparación con Evolver 158 Solver de restricciones, comando 134 220 Recursos adicionales de aprendizaje
  • 227. T tasa de cruce 140, 174 cómo se implementa 192 para qué sirve 113 tasa de mutación 140 cómo se implementa 193 para qué sirve 113 tiempo de ejecución de optimización, opciones 126 tutorial 10 V valores 103 Índice 221