Professional Documents
Culture Documents
Evolver
Solver de algoritmo gentico para Microsoft Excel
Versin 5.7 septiembre, 2010
Palisade Corporation 798 Cascadilla St. Ithaca, NY USA 14850 +1-607-277-8000 +1-607-277-8001 (fax) http://www.palisade.com (pgina Web) sales@palisade.com (correo electrnico)
Copyright
Copyright 2010, Palisade Corporation.
ndice
Captulo 1: Introduccin 1
Introduccin ......................................................................................23 Una visita por Evolver ......................................................................25 Captulo 4: Ejemplos de aplicaciones 45
Introduccin ......................................................................................47 Seleccin de publicidad...................................................................49 Orden alfabtico ...............................................................................51 Asignacin de tareas........................................................................53 Panadera...........................................................................................55 Asignacin de presupuesto.............................................................57 Equilibrio qumico ............................................................................59 Programador de clases ....................................................................61 Segmentador de cdigos.................................................................65 Dakota: Rutas con restricciones.....................................................69
ndice i
Programacin del trabajo de un taller............................................ 73 Ubicacin de una torre de radio ..................................................... 75 Cartera equilibrada........................................................................... 77 Mezcla de carteras ........................................................................... 81 Estaciones de potencia ................................................................... 83 Compras............................................................................................ 85 Problema del vendedor ................................................................... 87 Navegador espacial.......................................................................... 89 Agente de bolsa................................................................................ 91 Transformador.................................................................................. 93 Transporte......................................................................................... 95 Captulo 5: Gua de referencia de Evolver 97
Comando Definicin de Modelo ..................................................... 99 Comando Configuraciones de optimizacin............................... 123 Comando Iniciar optimizacin ...................................................... 131 Comandos de Utilidades ............................................................... 133 El Observador del Evolver ............................................................ 137 Captulo 6: Optimizacin 149
Mtodos de optimizacin .............................................................. 151 Excel Solver .................................................................................... 157 Tipos de problemas ....................................................................... 161 Captulo 7: Algoritmos genticos 165
Introduccin.................................................................................... 167
ii
Historia.............................................................................................167 Un ejemplo biolgico .....................................................................171 Un ejemplo digital...........................................................................173 Captulo 8: Extras de Evolver 177
Cmo aadir restricciones ............................................................179 Mejora de la rapidez .......................................................................189 Cmo se implementa la optimizacin de Evolver .......................191 Apndice A: Automatizacin de Evolver Apndice B: Resolucin de problemas / Preguntas y respuestas 195
197
ndice
iii
iv
Captulo 1: Introduccin
Introduccin ........................................................................................3 Antes de empezar .....................................................................................3 Lo que incluye el paquete.......................................................................3 Informacin sobre esta versin .............................................................3 El sistema operativo.................................................................................4 Cmo obtener ayuda................................................................................4 Antes de llamar ...........................................................................4 Cmo ponerse en contacto con Palisade.................................5 Versin para estudiantes...........................................................6 Requisitos del sistema para Evolver.....................................................6 Instrucciones para la instalacin......................................................7 Instrucciones generales de instalacin.................................................7 Cmo quitar Evolver de su PC .................................................7 Los programas de DecisionTools Suite................................................8 Configuracin de los iconos y de los accesos directos de Evolver ..................................................................................................8 Mensaje de advertencia de seguridad de macros al iniciar el programa ....................................................................................................9 Informacin adicional de Evolver.......................................................10 Archivo Lame de Evolver ......................................................10 El Tutorial de Evolver ..............................................................10 Aprendizaje de Evolver.........................................................................10
Captulo 1: Introduccin
Introduccin
Evolver es el optimizador comercial basado en algoritmo gentico ms rpido y avanzado que se ha ofrecido nunca. Evolver, mediante la aplicacin de potentes tcnicas de optimizacin basadas en algoritmo gentico, puede hallar soluciones ptimas para problemas que resultan "irresolubles" con optimizadores de resolucin lineal y no lineal estndar. Evolver se ofrece en dos versiones Profesional e Industrial que le permiten seleccionar el optimizador con la capacidad que usted necesita. La Gua del Usuario de Evolver, que est leyendo ahora, ofrece una introduccin al programa Evolver y sus principios; y luego muestra varias aplicaciones de ejemplo de la tecnologa exclusiva de algoritmo gentico de Evolver. Este completo manual tambin se puede usar como una gua de referencia con ndice completo, con descripciones e ilustraciones de cada una de las funciones de Evolver.
Antes de empezar
Antes de instalar y comenzar a trabajar con Evolver, asegrese de que su paquete de Evolver contiene todos los elementos necesarios, y compruebe que su PC cumple los requisitos mnimos de uso.
Captulo 1: Introduccin
El sistema operativo
Esta gua para el uso del programa est diseada para usuarios que tienen un conocimiento general del sistema operativo Windows y de Excel. En particular, el usuario debe: Estar familiarizado con el uso del PC y del ratn. Estar familiarizado con trminos como iconos, hacer clic, hacer doble clic, men, ventana, comando y objeto. Comprender los conceptos bsicos de estructura de directorios y archivos.
Antes de ponerse en contacto con el servicio de asistencia tcnica, repase la siguiente lista: Ha consultado la ayuda electrnica? Ha consultado esta Gua del Usuario y revisado el tutorial multimedia electrnico? Ha ledo el archivo LEAME.WRI? Este archivo contiene informacin actual referente a Evolver que puede no estar en la gua del programa. Puede reproducir el problema consistentemente? Puede reproducir el problema en otro PC o con otro modelo? Ha visitado nuestra pgina de World Wide Web? La direccin es http://www.palisade.com. En nuestra pgina Web tambin podr encontrar las preguntas ms frecuentes (una base de datos de preguntas y respuestas sobre temas tcnicos) y una serie de archivos de reparacin de Evolver en la seccin de Asistencia tcnica. Recomendamos que visite nuestra pgina Web con regularidad para obtener informacin actualizada sobre Evolver y sobre otros programas de Palisade.
Introduccin
Palisade Corporation est abierto a sus preguntas, comentarios y sugerencias referentes a Evolver. Pngase en contacto con nuestro personal de asistencia tcnica siguiendo uno de estos mtodos: Enve un correo electrnico a support@palisade.com. Llame al telfono +1-607-277-8000 los das laborables de 9:00 a.m. a 5:00 p.m., hora estndar del este de Estados Unidos. Para acceder al servicio de asistencia tcnica siga las indicaciones del sistema. Enve un fax al +1-607-277-8001 Enve una carta a: Technical Support Palisade Corporation 798 Cascadilla St. Ithaca, NY 14850 EE.UU. Si quiere ponerse en contacto con Palisade en Europa. Enve correo electrnico a support@palisade-europe.com. Llame al +44-1895425050 (Reino Unido). Enve un fax al +44-1895425051 (Reino Unido). Enve una carta postal a: Palisade Europe 31 The Green West Drayton Middlesex UB7 7PN Reino Unido Si quiere ponerse en contacto con Palisade en Asia-Pacfico. Enve correo electrnico a support@palisade.com.au. Llame al +61 2 9252 5922 (Australia). Enve un fax al +61 2 9252 2820 (Australia). Enve una carta postal a: Palisade Asia-Pacific Pty Limited Suite 404, Level 4 20 Loftus Street Sydney NSW 2000 Australia Independientemente del mtodo de contacto, mencione siempre el nombre del producto, la versin y el nmero de serie. La versin exacta se encuentra seleccionando el comando Acerca de de la Ayuda del men de Evolver en Excel.
Captulo 1: Introduccin
La versin para estudiantes de Evolver no incluye asistencia tcnica por telfono. Si necesita ayuda, recomendamos las siguientes alternativas: Consulte con su profesor o asistente. Vaya a http://www.palisade.com y busque entre las respuestas a las preguntas ms frecuentes. Pngase en contacto con nuestro departamento de asistencia tcnica enviando un fax o mensajes de correo electrnico.
Introduccin
Si desea quitar Evolver (o DecisionTools Suite) de su PC, utilice la funcin Agregar/Quitar programas del Panel de control y seleccione el elemento Evolver o DecisionTools Suite.
Captulo 1: Introduccin
Captulo 1: Introduccin
Este archivo contiene una breve resumen de Evolver, as como cualquier noticia o informacin reciente sobre la ltima versin del software. Puede leer el archivo Lame seleccionando Men Inicio de Windows / Programas/ Palisade DecisionTools/ Archivos Lame y haciendo clic en Evolver 5.5 Lame. Conviene leer este archivo antes de usar Evolver. El tutorial electrnico de Evolver ofrece a los que usan el programa por primera vez una introduccin rpida a Evolver y los algoritmos genticos. La presentacin slo dura unos pocos minutos. Consulte la seccin Aprendizaje de Evolver ms abajo para obtener informacin sobre cmo acceder al tutorial.
El Tutorial de Evolver
Aprendizaje de Evolver
La forma ms rpida de familiarizarse con Evolver es el tutorial electrnico de Evolver, en el que nuestros expertos le guan a travs de los modelos de ejemplo en formato de pelcula. Este tutorial es una presentacin multimedia sobre las funciones principales de Evolver. El tutorial se puede ejecutar seleccionando el comando Tutorial introductorio del men Ayuda de Evolver.
10
11
12
Qu es Evolver?
El software de Evolver proporciona a sus usuarios un mtodo fcil de encontrar soluciones ptimas a prcticamente cualquier tipo de problema. En pocas palabras, Evolver encuentra las mejores variables de entrada que generan el resultado deseado. Se puede usar Evolver para hallar la combinacin, orden o agrupamiento adecuados para producir beneficios ms altos, riesgos ms bajos o la produccin del mayor nmero de productos con el uso de la menor cantidad posible de material. El uso ms frecuente de Evolver es como programa complementario del programa de hoja de clculo Microsoft Excel; los usuarios crean un modelo de su problema en Excel y luego utilizan Evolver para resolverlo.
Primero debe modelar el problema en Excel y luego describirlo en el programa de complemento Evolver.
Excel ofrece todas las frmulas, funciones, grficos y capacidades de macro que la mayora de los usuarios necesitan para crear modelos realistas de sus problemas. Evolver proporciona la interfaz necesaria para describir la incertidumbre de un modelo, as como lo que usted busca; y ofrece la capacidad necesaria para resolver el problema. Juntos, estos programas pueden encontrar las soluciones ptimas para prcticamente cualquier problema que se pueda modelar.
13
Los algoritmos genticos se usan en Evolver para encontrar la mejor solucin para su modelo. Los algoritmos genticos imitan los principios darwinianos de seleccin natural mediante la creacin de un entorno en el que cientos de posibles soluciones a un problema compiten unas con otras, y slo la mejor adaptada sobrevive. Como sucede en la evolucin biolgica, cada solucin puede transmitir sus mejores genes a travs de soluciones descendientes de forma que toda la poblacin de soluciones sigue evolucionando en soluciones mejores. Como ya se habr dado cuenta, la terminologa que se usa cuando se trabaja con algoritmos genticos es similar a la de su fuente de inspiracin. Hablamos de que las funciones de cruce ayudan a concentrar la bsqueda de soluciones, de que la tasa de las mutaciones contribuye a diversificar la reserva gentica y de que evaluamos toda la poblacin de soluciones u organismos. Para obtener ms informacin sobre cmo funciona el algoritmo gentico de Evolver, consulte el Captulo 7 Algoritmos genticos.
14
Qu es Evolver?
Qu es optimizacin?
Optimizacin es el proceso de bsqueda de la mejor solucin a un problema que puede tener muchas soluciones posibles. La mayora de los problemas tienen mltiples variables que interactan segn frmulas y restricciones establecidas. Por ejemplo, una compaa puede tener tres centros de fabricacin, cada uno de los cuales produce diferentes cantidades de diversos productos. Dados los costos de cada fbrica para producir cada producto, los costos de cada planta para hacer los envos a cada tienda y las limitaciones de cada fbrica, cul es la forma ptima de satisfacer adecuadamente la demanda de las tiendas locales minimizando al mismo tiempo los costos de transporte? Este es el tipo de pregunta que los programas de optimizacin pueden responder.
La optimizacin supone la bsqueda de la combinacin que genera lo mximo a partir de unos recursos dados.
En el ejemplo de arriba, cada una de las soluciones propuestas consiste en una lista completa de los productos producidos, la fbrica que los produce, el camin en el que se envan y la tienda a la que se envan. Otros ejemplos de problemas de optimizacin consisten en encontrar la forma de conseguir los mayores beneficios, los menores costos, el mayor nmero de vidas salvadas, la menor cantidad de ruido posible en un circuito, la ruta ms corta entre dos ciudades o la mezcla ms eficaz de gastos en publicidad. Un subconjunto muy importante de problemas de optimizacin est relacionado con la programacin, donde los objetivos pueden incluir la maximizacin de la eficacia durante un turno de trabajo o la minimizacin de conflictos de programacin de grupos que se renen a diferentes horas. Para obtener ms informacin sobre la optimizacin, consulte el Captulo 6 - Optimizacin.
Captulo 2: Informacin general 15
16
Qu es Evolver?
Cuando se trata con un gran nmero de variables que interactan, y se trata de encontrar la mejor combinacin, el orden adecuado o el agrupamiento ptimo de esas variables, la tentacin es simplemente hacer una suposicin informada. Una sorprendente cantidad de personas asume que cualquier tipo de modelacin y anlisis ms all de la simple suposicin requiere un complicado proceso de programacin o el uso de confusos algoritmos estadsticos y matemticos. Una buena solucin optimizada puede ahorrar millones de dlares, miles de galones de precioso combustible, meses de tiempo perdido, etc. Ahora que los potentes PC de escritorio son cada vez ms econmicos, y software como Excel y Evolver estn al alcance de la mano, no hay razn para hacer suposiciones sobre una solucin o perder valioso tiempo haciendo pruebas en diferentes escenarios manualmente. Evolver permite utilizar la gama completa de frmulas de Excel e incluso macros para crear modelos ms realistas de un sistema. Cuando se usa Evolver, no es necesario poner en peligro la precisin del modelo porque el algoritmo que se est utilizando no puede procesar las complejidades del mundo real. Los programas de resolucin pequeos tradicionales (herramientas de programacin estadstica y lineal) obligan al usuario a hacer suposiciones sobre cmo interactan las variables de sus problemas, y por lo tanto les obliga a crear modelos poco realistas simplificados en exceso. Cuando el usuario simplifica el sistema lo suficiente como para poder usar estos programas de resolucin, la solucin resultante es demasiado abstracta como para que sea prctica. Cualquier problema que incluya un gran nmero de variables, funciones no lineales, tablas de referencia, secuencias si-entonces, consultas con bases de datos o elementos estocsticos (aleatorios), no se puede resolver con estos mtodos, independientemente de lo simple que sea el diseo de su modelo. Hay muchos algoritmos de resolucin que hacen un buen trabajo a la hora de resolver problemas pequeos y simples de tipo lineal o no lineal, como los de pasos ascendentes (hill-climbing), pequeos programas de resolucin (baby-solvers) y otros mtodos matemticos. Incluso cuando se ofrecen en forma de programas complementarios de hoja de clculo, estas herramientas de optimizacin de uso general slo pueden realizar optimizacin numrica. Para problemas ms grandes o complejos se pueden crear algoritmos especficos personalizados que ofrezcan buenos resultados, pero ser necesario hacer un gran esfuerzo de investigacin y desarrollo. Incluso en esos casos, el programa resultante requerir modificaciones cada vez que cambie el modelo.
17
Ms preciso y significativo
Ms flexible
Evolver no slo es capaz de tratar problemas numricos, sino que es el nico programa comercial del mundo que puede resolver la mayora de los problemas combinatorios. Estos son problemas en los que las variables deben barajarse (permutarse) o combinarse. Por ejemplo, la seleccin del orden de bateo de un equipo de bisbol es un problema combinatorio; es cuestin de intercambiar las posiciones de los jugadores en la lista. Los problemas de programacin complejos tambin son combinatorios. El mismo programa Evolver puede resolver todos estos tipos de problemas y muchos ms, algo que ningn otro puede resolver. La tecnologa de algoritmo gentico exclusiva de Evolver permite optimizar prcticamente cualquier tipo de modelo, de cualquier tamao y nivel de complejidad.
Ms potente
Evolver encuentra mejores soluciones. La mayora de los programas derivan las soluciones ptimas de forma matemtica y sistemtica. Con frecuencia, estos mtodos se limitan a tomar una solucin existente y buscar una respuesta cercana mejor. Esta solucin local puede estar muy lejos de ser la solucin ptima. Evolver toma muestras de forma inteligente de todo el espectro de posibilidades, lo cual resulta en una solucin global mucho mejor. A pesar de las ventajas ms obvias de potencia y flexibilidad que ofrece, Evolver sigue siendo fcil de usar porque no es en absoluto necesario comprender las complejas tcnicas de algoritmos genticos que utiliza. Evolver no se preocupa de las entraas del problema; slo necesita un modelo en hoja de clculo que permite evaluar la idoneidad de los diferentes escenarios. Slo tiene que seleccionar las celdas de la hoja de clculo que contienen las variables e indicar a Evolver lo que usted busca. Evolver oculta de forma inteligente la compleja tecnologa, automatizando el proceso Y si ... de anlisis del problema. Aunque se han creado muchos programas comerciales para programacin matemtica y creacin de modelos, las hojas de clculo son las ms populare, con literalmente millones de ventas mensuales. Con su formato intuitivo de filas y columnas, las hojas de clculo son ms fciles de configurar y mantener que otros programas especializados. Tambin son ms compatibles con otros programas como procesadores de texto o bases de datos, y ofrecen ms frmulas, opciones de formato, grficos y capacidades de macro que cualquier otro software de uso independiente. Como Evolver es un programa complementario para Microsoft Excel, los usuarios pueden acceder a la gama completa de funciones y herramientas de programacin para crear ms fcilmente modelos ms realistas de sus sistemas.
Ms fcil de usar
18
Qu es Evolver?
Econmico
Muchas compaas contratan consultores de formacin para ofrecer sistemas de optimizacin personalizados. Esos sistemas normalmente funcionan muy bien, pero pueden requerir meses y grandes inversiones de desarrollo e implementacin. Estos sistemas son tambin difciles de aprender y por lo tanto requieren costosa formacin y mantenimiento constante. Si resulta necesario modificar el sistema, puede que tenga que desarrollar un algoritmo totalmente nuevo para encontrar las soluciones ptimas. Por una inversin considerablemente menor, Evolver suministra los algoritmos genticos ms potentes y permite generar soluciones rpidas y precisas para una amplia variedad de problemas. Y como funciona se usa en un entorno intuitivo y familiar, no hay prcticamente gastos de formacin y mantenimiento. Puede incluso aadir la potencia de optimizacin de Evolver a sus propios programas personalizados. En slo unos das podr usar Visual Basic para crear sus propios sistemas de programacin, distribucin, fabricacin o administracin financiera. Consulte el Juego de Desarrollo de Evolver para obtener informacin detallada sobre la programacin de aplicaciones basadas en Evolver.
19
20
21
22
Introduccin
En este captulo le guiaremos a travs de todo el sistema de optimizacin de Evolver, paso a paso. Si no tiene Evolver instalado en el disco duro, consulte la seccin de instalacin del Captulo 1: Introduccin e instale Evolver antes de comenzar con este tutorial. Comenzaremos por abrir un modelo de hoja de clculo preparada y luego definiremos el problema para Evolver usando distribuciones de probabilidad y los cuadros de dilogo de Evolver. Finalmente, comprobaremos el progreso de Evolver mientras busca soluciones y exploraremos algunas de las muchas opciones en el Observador del Evolver. Para obtener informacin adicional sobre cualquier tema especfico, consulte el ndice al final de este manual, o consulte el Captulo 5: Referencia de Evolver. NOTA: Las imgenes de pantallas que se muestran a continuacin son de Excel 2007. Si est utilizando otras versiones de Excel, las ventanas pueden tener un aspecto ligeramente diferente. El proceso de resolucin de problemas comienza con un modelo que representa con exactitud su problema. El modelo debe ser capaz de evaluar una serie determinada de valores de entrada (celdas ajustables) y producir una clasificacin numrica de lo bien que esos valores de entrada resuelven el problema (la evaluacin o idoneidad de la funcin). Cuando Evolver busca soluciones, esta funcin de idoneidad proporciona informacin, indicando a Evolver lo idnea o inapropiada que es cada suposicin, y permitiendo a Evolver generar cada vez mejores suposiciones. Cuando se crea un modelo de un problema, se debe prestar especial atencin a la funcin de idoneidad, porque Evolver har todo lo posible para maximizar (o minimizar) esta celda.
23
24
Introduccin
Cuando se carga Evolver, en Excel aparece una nueva cinta o barra de herramientas de Evolver. Esta barra de herramientas contiene botones que se pueden usar para especificar configuraciones de Evolver e iniciar, pausar o parar las optimizaciones.
Para repasar las caractersticas de Evolver, vamos a examinar un modelo de ejemplo que se instal con Evolver. Para hacerlo: 1) Abra la hoja de trabajo PanaderaPrcticadeTutorial.XLS a travs del comando Hojas de clculo de ejemplo del men Ayuda.
25
Esta hoja de clculo de ejemplo contiene un sencillo problema de maximizacin de beneficios de un negocio de panadera. La panadera produce 6 productos de pan. Usted es el gerente de la panadera y hace un seguimiento de los ingresos, costos y beneficios de produccin. Quiere determinar el nmero de cajas de cada tipo de pan que se deben producir para maximizar los beneficios totales y al mismo tiempo cumplir las normas de lmite de produccin. Las normas son: 1) cumplir la cuota de produccin de pan bajo en caloras, 2) mantener una relacin aceptable de alto contenido de fibra y bajas caloras, 3) mantener una relacin aceptable de productos de 5 granos y bajas caloras, y 4) mantener el tiempo de produccin dentro de los lmites de horas por persona.
El cuadro de dilogo Modelo de Evolver ha sido diseado para que los usuarios puedan describir sus problemas de una forma sencilla y clara. En el ejemplo de este tutorial estamos tratando de encontrar el nmero de cajas que se deben producir de cada producto de pan diferente para maximizar los beneficios totales en general.
26 Una visita por Evolver
27
La mayora de las veces ser conveniente limitar los valores posibles de un rango de celdas ajustables con un rango mnimo-mximo especfico. En Evolver esto se conoce como restriccin de "rango". Puede introducir rpidamente este rango mn-mx cuando seleccione la serie de celdas que se pueden modificar. En el ejemplo de la panadera, el valor mnimo de cajas producidas de cada tipo de producto de pan para este rango es 0, y el mximo es 100,000. Para introducir esta restriccin de rango: 1) Introduzca 0 en la celda Mnimo y 100,000 en la celda Mximo. 2) En la celda Valores, seleccione Entero en la lista desplegable
28
Ahora, introduzca un segundo rango de celdas ajustables: 1) Haga clic en Aadir para introducir una segunda celda ajustable. 2) Seleccione la celda B4. 3) Introduzca 20,000 como Mnimo y 100,000 como Mximo.
As se especifica la ltima celda ajustable, B4, que contiene el nivel de produccin de pan bajo en caloras. Si hubiera variables adicionales en este problema, seguiramos aadiendo series de celdas ajustables. En Evolver, puede crear un nmero ilimitado de grupos de celdas ajustables. Para aadir ms celdas, haga clic en el botn Aadir de nuevo. Es posible que quiera comprobar las celdas ajustables o cambiar algunas de sus configuraciones ms adelante. Para hacerlo, slo tendr que editar el rango mn-mx en la tabla. Tambin podr seleccionar una serie de celdas y eliminarla haciendo clic en el botn Eliminar.
29
Cuando defina celdas ajustables, podr especificar el mtodo de solucin que se debe usar. Tipos de celdas ajustables diferentes pueden ser resueltos con diferentes mtodos de solucin. Los mtodos de solucin se establecen para cada grupo de celdas ajustables y se pueden modificar haciendo clic en el botn Grupo para abrir el cuadro de dilogo Configuraciones de grupos de celdas ajustables. Muchas veces podr usar el mtodo de solucin de receta predeterminado en el que cada valor de las celdas se puede cambiar independientemente de las dems. Como este es el mtodo predeterminado, no es necesario que lo cambie.
Los mtodos de solucin de receta y orden son los ms populares y se pueden usar juntos para resolver problemas combinatorios complejos. Especficamente, el mtodo de solucin de receta trata cada variable como un ingrediente de una receta, tratando de averiguar la mejor mezcla cambiando cada uno de los valores de las variables independientemente. Por su parte, el mtodo de solucin de orden intercambia valores entre variables, barajando los valores originales para encontrar el mejor orden posible. En este modelo, deje el Mtodo de solucin en Receta y simplemente: Introduzca la etiqueta "Cajas producidas" en el campo Descripcin.
30
Restricciones
Evolver permite introducir restricciones, que son condiciones que deben cumplirse para que una solucin sea vlida. En este modelo de ejemplo hay tres restricciones adicionales que deben cumplirse para que sea vlida una serie de niveles de produccin de cada producto de pan. Estas restricciones son adicionales a las restricciones de rangos que ya introdujimos en las celdas ajustables. Son las siguientes: 1) Mantener una relacin aceptable de pan de alto contenido en fibra y pan bajo en caloras (cajas producidas de pan de alto contenido en fibra >= 1.5 * cajas producidas de pan bajo en caloras) 2) Mantener una relacin aceptable de pan de 5 granos y pan bajo en caloras (cajas producidas de pan de 5 granos >= 1.5 * cajas producidas de pan bajo en caloras) 3) Mantener el tiempo de produccin dentro de los lmites de horas por persona (total de horas por persona < 50,000) Cada vez que Evolver genere una solucin posible del modelo, comprueba que las restricciones introducidas se cumplen. Las restricciones se muestran en la parte inferior de la seccin Restricciones del cuadro de dilogo de Modelo de Evolver. Se pueden especificar dos tipos de restricciones en Evolver: Duras. Son condiciones que deben cumplirse para que una solucin sea vlida (por ejemplo, una restriccin dura de iteracin puede ser C10<=A4; en este caso, si una solucin genera un valor para C10 que es superior al valor de la celda A4, la solucin se descarta) Blandas. Son condiciones que nos gustara que se cumplieran en la medida de lo posible, pero que podramos ceder a cambio de una gran mejora de la idoneidad o del resultado de la celda objetivo. (por ejemplo, una restriccin blanda sera C10<100. En este caso, C10 puede ser superior a 100, pero cuando eso sucede el valor calculado de la celda objetivo se reducir en la misma medida segn la funcin de penalizacin que haya introducido).
31
Para aadir restricciones: 1) Haga clic en el botn Aadir de la seccin Restricciones del cuadro dilogo principal de Evolver. Se abrir el cuadro de dilogo Configuraciones de restricciones en el que podr introducir las restricciones del modelo.
Se pueden usar dos formatos Simple y Frmula para introducir restricciones. El formato de rango simple de valores permite introducir restricciones usando las relaciones simples <,<=, >, >= o =. Una restriccin tpica de rango simple de valores sera 0< Valor de A1<10, donde A1 se introduce en el cuadro Rango de celda, 0 se introduce en el cuadro Mn y 10 se introduce en el cuadro Mx. El operador deseado se selecciona en los cuadros de lista desplegable. En las restricciones con formato de rango simple de valores se puede introducir slo un valor Mn, slo un valor Mx o ambos. Por otro lado, las restricciones con formato de frmula permiten introducir cualquier frmula vlida de Excel como una restriccin, como puede ser A19<(1.2*E7)+E8. En cada solucin posible, Evolver verifica si la frmula introducida genera un valor VERDADERO o FALSO para comprobar si la restriccin se ha cumplido. Si desea utilizar una restriccin de frmula booleana en la hoja de clculo, simplemente haga referencia a esa celda en el campo Frmula del cuadro de dilogo Configuraciones de restriccin.
32
Para introducir las restricciones del modelo de la panadera, deber especificar tres nuevas restricciones duras. Estas son restricciones duras ya que las condiciones introducidas deben cumplirse para que Evolver no descarte la solucin generada. Primero, introduzca las restricciones duras con formato de Rango simple de valores: 1) Introduzca "Total de horas trabajadas aceptable" en el cuadro de descripcin. 2) En el cuadro Rango a restringir, introduzca I8. 3) Seleccione el operador <= a la derecha de Rango a restringir. 4) Introduzca 50,000 en el cuadro Mximo. 5) Borre el valor predeterminado de 0 en el cuadro Mnimo. 6) A la izquierda de Rango a restringir, borre el operador seleccionando la opcin en blanco de la lista desplegable 7) Haga clic en Aceptar para introducir la restriccin.
33
Ahora vamos a introducir las restricciones duras con formato de frmula: 1) Haga clic en Aadir para abrir de nuevo el cuadro de dilogo Configuraciones de restriccin. 2) Introduzca "Relacin aceptable de alto contenido en fibra y bajo en caloras" en el cuadro de descripcin. 3) En el cuadro Estilo de entrada, seleccione Frmula. 4) En el cuadro Frmula de restriccin, introduzca C4>= 1.5*B4. 5) Haga clic en Aceptar. 6) Haga clic en Aadir para abrir de nuevo el cuadro de dilogo Configuraciones de restriccin. 7) Introduzca "Relacin aceptable de 5 granos y bajo en caloras" en el cuadro de descripcin. 8) En el cuadro Estilo de entrada, seleccione Frmula. 9) En el cuadro Frmula de restriccin, introduzca D4>= 1.5*B4. 10) Haga clic en Aceptar El cuadro de dilogo Modelo con la seccin de restricciones completa debe quedar as.
34
Evolver sigue funcionando tanto tiempo como usted desee. La condiciones de detencin permiten que Evolver pare automticamente cuando: a) se han examinado un nmero determinado de escenarios o pruebas, b) ha transcurrido una cantidad de tiempo, c) no se ha encontrado mejora alguna en los ltimos n escenarios, o d) la frmula introducida en Excel genera un valor VERDADERO. Para ver y editar las condiciones de detencin: 1) Haga clic en el icono Configuraciones de optimizacin de la barra de herramientas de Evolver. 2) Seleccione la pestaa de Tiempo de ejecucin.
35
En el cuadro de dilogo Configuraciones de optimizacin se puede seleccionar cualquier combinacin de estas condiciones de detencin de optimizacin, o ninguna en absoluto. Si selecciona ms de una condicin de detencin, Evolver parar cuando se cumpla cualquiera de las condiciones seleccionadas. Si no selecciona ninguna condicin de detencin, Evolver seguir funcionando indefinidamente, hasta que se pare manualmente pulsando el botn parar en la barra de herramientas de Evolver.
Pruebas Esta opcin establece el nmero de pruebas que quiere que Evolver ejecute. En cada prueba, Evolver evala una serie completa de variables, o una posible solucin al problema. Minutos Evolver parar despus de una cantidad de tiempo especificada. Este nmero puede ser una fraccin (4.25). Cambio en la ltima Esta condicin de detencin es la ms popular porque se hace un seguimiento de la mejora y permite que Evolver siga en funcionamiento hasta que el grado de mejora se reduzca. Por ejemplo, Evolver puede parar si pasan 100 pruebas y sigue sin producirse ningn cambio en el mejor escenario encontrado hasta el momento. La frmula es verdadera Evolver se detiene si la frmula introducida en Excel genera un valor de VERDADERO en uno de los reclculos del modelo.
Desactive todas las condiciones de detencin para que Evolver funcione libremente.
36
Opciones de visualizacin
Mientras Evolver est funcionando, hay una serie de opciones disponibles en la seccin Visualizar para determinar lo que aparecer en la pantalla.
37
Ejecucin de la optimizacin
Ahora slo queda optimizar este modelo para maximizar los beneficios totales cumpliendo al mismo tiempo las normas de lmite de produccin. Para hacerlo: 1) Haga clic en Aceptar para salir del cuadro de dilogo Configuraciones de optimizacin. 2) Haga clic en el icono Iniciar optimizacin Cuando Evolver comience a trabajar con el problema, usted ver los mejores valores actuales de las celdas ajustables Cajas producidas- de la hoja de clculo. El mejor valor de Beneficios totales se muestra en la celda resaltada.
Durante la ejecucin, la ventana Progreso muestra: 1) la mejor solucin encontrada hasta el momento, 2) el valor original de la celda objetivo cuando comenz la optimizacin de Evolver, 3) el nmero de pruebas que se han ejecutado y el nmero de pruebas vlidas; es decir, que cumplen todas las restricciones; y 4) el tiempo transcurrido de la optimizacin. En cualquier momento durante la ejecucin puede hacer clic en el icono Opciones de actualizacin de Excel para ver una actualizacin en vivo de la pantalla en cada prueba.
38
Observador de Evolver
Evolver tambin puede mostrar un registro de ejecucin de las simulaciones realizadas de cada solucin de prueba. Este aparece en el Observador del Evolver mientras Evolver est funcionando. El Observador del Evolver permite explorar y modificar muchos aspectos del problemas mientras se ejecuta. Para ver un registro de ejecucin de las simulaciones realizadas: 1) Haga clic en el icono del Observador (el de la lupa) en la ventana de Progreso para abrir el Observador del Evolver 2) Haga clic en la pestaa Bitcora.
En este informe aparecen los resultados de la simulacin de cada solucin de prueba. La columna Resultado muestra el valor de la celda objetivo que se est tratando de maximizar o minimizar por cada prueba: en este caso los Beneficios totales de $I$11. Las columnas de C4 a G4 identifican los valores usados en las celdas ajustables.
39
Despus de cinco minutos, Evolver parar la optimizacin. Tambin se puede parar la optimizacin: 1) Haciendo clic en el icono Parar de las ventanas Observador del Evolver o Progreso. Cuando el proceso de Evolver se detiene, Evolver abre la pestaa Opciones de detencin que ofrece las siguientes opciones:
Estas mismas opciones aparecen automticamente cuando se cumple cualquiera de las condiciones de detencin establecidas en el cuadro de dilogo Configuraciones de optimizacin de Evolver.
40
Informe de resumen
Evolver puede crear un informe de resumen de la optimizacin que contiene informacin como la fecha y la hora de la ejecucin, las configuraciones de optimizacin utilizadas, el valor calculado para la celda objetivo y el valor de cada una de las celdas ajustables.
Para colocar en la hoja de trabajo la nueva combinacin optimizada de niveles de produccin de panadera de cada uno de los seis tipos de pan: 1) Haga clic en el botn Parar. 2) Asegrese de que la opcin "Actualizar los valores de celdas ajustables del libro de trabajo con" est establecida en Mejor El programa regresar a la hoja de clculo Panadera - Prctica De Tutorial.xls, con todos los nuevos valores de las variables generados en la mejor solucin.
NOTA IMPORTANTE: Aunque en nuestro ejemplo se ve que Evolver encontr una solucin que generaba beneficios totales de 3,940,486, su resultado puede ser superior o inferior a este. Estas diferencias se deben a una importante distincin entre Evolver y los dems algoritmos de solucin de problemas: es la naturaleza aleatoria del sistema del algoritmo gentico de Evolver lo que le permite resolver una variedad ms amplia de problemas y encontrar mejores soluciones.
42
Cuando guarde cualquier hoja de clculo despus de que Evolver haya terminado su ejecucin (incluso aunque restaure los valores originales de la hoja de clculo despus de usar Evolver), todas las configuraciones de Evolver de los cuadros de dilogo de Evolver se guardarn con esa hoja. La prxima vez que abra la hoja, todas las configuraciones ms recientes de Evolver se cargarn automticamente. Todas las dems hojas de clculo de ejemplo tienen las configuraciones de Evolver preestablecidas y listas para la optimizacin. NOTA: Si quiere examinar el modelo de la panadera con todas las configuraciones de optimizacin preestablecidas, abra el modelo de ejemplo Panadera.xls
43
44
Introduccin ......................................................................................47 Seleccin de publicidad...................................................................49 Orden alfabtico ...............................................................................51 Asignacin de tareas........................................................................53 Panadera...........................................................................................55 Asignacin de presupuesto.............................................................57 Equilibrio qumico ............................................................................59 Programador de clases ....................................................................61 Segmentador de cdigos.................................................................65 Dakota: Rutas con restricciones.....................................................69 Programacin del trabajo de un taller ............................................73 Ubicacin de una torre de radio......................................................75 Cartera equilibrada ...........................................................................77 Mezcla de carteras............................................................................81 Estaciones de potencia....................................................................83 Compras ............................................................................................85 Problema del vendedor ....................................................................87
Captulo 4: Ejemplos de aplicaciones 45
46
Introduccin
Este captulo explica cmo se puede usar Evolver en diferentes aplicaciones. Es posible que estos ejemplos de aplicaciones no incluyan todas las caractersticas que usted deseara en sus propios modelos, pero pueden servir para generar ideas y como patrones de modelos. Todos los ejemplos ilustran cmo Evolver encuentra soluciones basndose en las relaciones que ya existen en la hoja de clculo, y es importante que su modelo de hoja de clculo refleje con exactitud el problema que est tratando de resolver. Todas las hojas de clculo de ejemplo de Excel se encuentran en el subdirectorio EXAMPLES del directorio EVOLVE32. Este captulo incluye una lista alfabtica de las mismas. Los ejemplos utilizan los siguientes cdigos de color:
Cada ejemplo viene con todas las configuraciones de Evolver preseleccionadas, incluyendo la celda objetivo, las celdas ajustables, los mtodos de solucin y las restricciones. Se recomienda que examine estos cuadros de dilogo antes de realizar la optimizacin. Al estudiar las frmulas y experimentar con las diferentes configuraciones de Evolver, podr comprender mejor cmo funciona Evolver. Los modelos tambin le permiten reemplazar los datos de la muestra con sus propios datos de usuario. Si decide modificar o adaptar estas hojas de ejemplo, conviene que las guarde con un nuevo nombre para conservar los ejemplos originales para su referencia.
47
48
Seleccin de publicidad
Una agencia publicitaria debe averiguar la forma ms eficaz de invertir su dinero de publicidad para maximizar la cobertura de su audiencia objetivo. No debe superar su presupuesto y la cantidad invertida en TV debe ser mayor que la cantidad invertida en radio.
Archivo de ejemplo: Objetivo: Seleccin de publicidad.xls Asignar compras de publicidad, dentro del presupuesto, entre los diferentes medios de comunicacin que tienen diferentes precios. Maximizar el nmero de personas a las que se llega. Presupuesto Problemas de tipo presupuestario con restricciones adicionales.
49
Lo primero que debemos hacer es seleccionar un mtodo de solucin que indique a Evolver lo que debe hacer con las variables. Consulte el Captulo 5: Referencia completa para ver las descripciones de los diferentes mtodos de solucin. Este es bsicamente un problema de tipo presupuestario con la restriccin adicional de que el gasto en TV debe ser superior al de la radio.
Cmo resolverlo
Las variables que Evolver debe modificar estn en las celdas C5:C9. Pediremos a Evolver que las baraje usando el mtodo de presupuesto, para permitir que cada variable sea un valor independiente. La audiencia total se calcula con la funcin SUM en la celda G13; esta es la celda que pediremos a Evolver que maximice. Las restricciones duras especifican que el gasto en TV debe ser mayor que el gasto en radio.
50
Seleccin de publicidad
Orden alfabtico
Esta es una lista de siete nombres que queremos que Evolver ordene alfabticamente. Aunque este ejemplo es simple, Evolver puede administrar problemas complejos de ordenacin en los que los datos son interdependientes, o en los que determinados nombres tienen mayor valor segn otros datos del modelo.
Archivo de ejemplo: Objetivo: Mtodo de solucin: Problemas similares: Orden alfabtico.xls Ordenar alfabticamente una lista de nombres. Orden Cualquier problema de ordenacin que supere la capacidad de Excel.
El archivo Orden alfabtico.xls es un modelo muy simple que ilustra la capacidad de ordenacin de Evolver. La columna B contiene los nombres de siete personas, y la columna A el nmero de ID correspondiente de cada persona. La columna D utiliza la funcin CONSULV de Excel para traducir cualquier nmero seleccionado en la columna C en su nombre correspondiente. Las celdas E4:E9 usan una funcin de penalizacin simple que asigna un valor 1 cada vez que un nombre se ordena alfabticamente despus de otro nombre alfabticamente posterior. La suma de todos estos errores est en la celda E11, nuestra celda objetivo.
51
Cmo resolverlo
En este modelo, las variables que se van a modificar se encuentran en la columna C (C3:C9). Pediremos a Evolver que baraje las celdas C3:C9 usando el mtodo de solucin orden. El mtodo de solucin orden indica a Evolver que reorganice los valores seleccionados, probando diferentes permutaciones de las variables en lugar de usar nuevos valores. Pediremos a Evolver que encuentre el valor ms cercano a 0 para el total de errores de la celda E11, porque cuando el resultado de esta celda objetivo es 0, significa que todos los nombres estn en el orden correcto.
Al no seleccionar ningn criterio de detencin en el cuadro de dilogo Opciones de detencin de Evolver, indicamos a Evolver que siga trabajando sin interrupcin hasta que se pare manualmente haciendo clic en el botn parar de la barra de herramientas de Evolver. Pero en este modelo hemos seleccionado la opcin de el valor ms cercano a, de modo que Evolver parar automticamente cuando encuentre una solucin que cumpla la opcin el valor ms cercano a 0. Usamos una poblacin pequea porque, aunque no hay reglas sobre la seleccin de un tamao de poblacin ptimo, generalmente podemos seleccionar una poblacin menor cuando trabajamos con problemas que tienen un nmero menor de soluciones posibles para poder centrarnos en generar las soluciones de mejor rendimiento. En este problema, slo hay 5040 rdenes posibles de 7 nombres.
52
Orden alfabtico
Asignacin de tareas
Este ejemplo modela un problema comn relativo a la asignacin de recursos. En este problema, un gerente tiene 16 trabajadores realizando 16 tareas. La capacidad de cada trabajador de realizar cada tarea se ha clasificado en una escala del 1 al 10 (1= no sabe hacer la tarea, 10= completa la tarea perfectamente). La dificultad aqu es emparejar cada trabajador con una tarea de forma que la productividad total de los trabajadores se maximice.
Archivo de ejemplo: Objetivo: Mtodo de solucin: Problemas similares: Asignacin de tareas.xls Asignar 16 trabajadores a 16 tareas de forma que se maximice el rendimiento general. Orden Problemas de asignacin, programar reuniones a las horas ms convenientes para la mayora de los trabajadores, encontrar las mejores mquinas para una serie de trabajos.
53
El modelo proporciona una tabla de 16 por 16 en las celdas B4:Q19 en la que cada trabajador ha sido clasificado para cada tarea. La columna "tarea elegida" (columna S) de la derecha de la tabla asigna arbitrariamente cada trabajador a una tarea. La siguiente columna (columna U) comprueba la tarea asignada e introduce la clasificacin de cada trabajador para esa tarea. Finalmente, la puntuacin total de la solucin total (en la celda U21) es la suma de todas las clasificaciones individuales.
Cmo funciona el modelo
Slo puede haber una persona para cada tarea, por lo tanto los nmeros no se pueden duplicar y cada nmero debe usarse una vez. La clasificacin de cada trabajador en esa tarea se registra en la columna U usando la funcin INDICE(). Estas puntuaciones se suman en la celda U21 para calcular la puntuacin total de esa serie de asignaciones. Pedimos a Evolver que baraje las variables de tarea elegida, que se encuentran en la columna S (S4:S19). Pediremos a Evolver que baraje estas celdas usando el mtodo de solucin orden. Este mtodo baraja los valores existentes en las celdas, por lo tanto debe asegurarse de que slo hay una instancia de cada valor antes de iniciar la optimizacin. Pediremos a Evolver que encuentre el valor mximo de la celda U21, la celda objetivo, porque cuanto mayor sea esta celda, mejor ser la asignacin en general.
Cmo resolverlo
54
Asignacin de tareas
Panadera
Este ejemplo ilustra un problema comn en los problemas de decisin de produccin, en los que encontrar la cantidad adecuada de cada producto que se debe producir resulta muy difcil ... incluso con unos pocos elementos. El propietario de una panadera debe determinar el nmero de cajas que debe producir de cada tipo de pan para maximizar los beneficios totales de la panadera. Asegrese de que respeta las limitaciones descritas, como el nmero total de horas de empleado y las relaciones correctas de produccin de productos. (Nota: este modelo se describe con detalle en el Captulo 3: Evolver paso a paso)
Archivo de ejemplo: Objetivo: Panadera.xls Encontrar la cantidad ptima que se debe producir de cada tipo de pan para cumplir las cuotas y maximizar los beneficios. Receta Desarrollo de carteras y planificacin de fabricacin
55
Este problema indica la cantidad de cada producto de pan que se debe producir en la parte superior de la tabla, en la fila 4. Cuando se modifican estas variables de cantidad (B4:G4), el modelo calcula las horas y el gasto necesarios, as como los beneficios que se generaran si se produjera esa cantidad. Los beneficios (en las celdas B11:G11) se aaden en la celda I11, que se convierte en la celda objetivo que se debe maximizar.
El modelo tiene tambin tres restricciones. Todas las restricciones son duras. Una es una restriccin en formato de rango de valores simple y dos son restricciones introducidas como frmulas de Excel.
Cmo resolverlo
Pedimos a Evolver que encuentre los valores de las celdas B4:G4 (las cantidades que se deben producir) que maximicen el valor de la celda I11 (beneficios totales). Como cada valor que se encuentra es independiente de los dems, utilizaremos el mtodo de solucin de receta. Tambin pediremos a Evolver que cumpla las restricciones de las celdas C4, D4 y I8.
56
Panadera
Asignacin de presupuesto
Un jefe ejecutivo quiere averiguar la forma ms eficaz de distribuir fondos entre diferentes departamentos de la compaa para maximizar los beneficios. A continuacin se muestra el modelo de un negocio y su pronstico de beneficios para el ao prximo. El modelo estima los beneficios del ao prximo examinando el presupuesto anual y haciendo suposiciones sobre, por ejemplo, el efecto que la publicidad tiene sobre las ventas. Este es un modelo simple, pero ilustra cmo se puede preparar cualquier modelo y usar Evolver para introducir variables de entrada y encontrar el mejor resultado.
Archivo de ejemplo: Objetivo: Asignacin de presupuesto.xls Asignar el presupuesto anual entre cinco departamentos para maximizar los beneficios del ao prximo. Presupuesto Asignacin de cualquier recurso escaso (como mano de obra, dinero, combustible o tiempo) a entidades que lo pueden utilizar de diferentes formas o con diferente eficacia.
57
El archivo Asignacin de presupuesto.xls modela los efectos del presupuesto de una compaa en sus ventas y beneficios futuros. Las celdas C4:C8 (las variables) contienen las cantidades que se van a gastar en cada uno de los cinco departamentos. Estos valores suman la cantidad total de la celda C10, el total del presupuesto anual de la compaa. Este presupuesto lo establece la compaa y no se puede cambiar. Las celdas F6:F10 calculan una estimacin de la demanda de los productos de la compaa para el ao prximo, basndose en los presupuestos de publicidad y marketing. La cantidad de ventas reales es el mnimo de la demanda calculada y el suministro. El suministro depende del dinero asignado a los departamentos de produccin y operaciones.
Cmo resolverlo
Maximice los beneficios de la celda I16 usando el mtodo de solucin presupuesto para modificar los valores de las celdas C4:C8. Establezca los rangos independientes de cada una de las celdas ajustables del presupuesto de cada departamento, para evitar que Evolver haga pruebas con nmeros negativos o nmeros que no generara soluciones apropiadas (por ejemplo, todo a publicidad y nada a produccin) en el presupuesto de los departamentos. El mtodo de solucin presupuesto funciona como el mtodo de solucin receta en el sentido de que trata de encontrar la mezcla adecuada de las variables seleccionadas. Sin embargo, cuando se usa el mtodo de presupuesto, se aade la restriccin de que todas las variables deben sumar un mismo nmero, como lo hacan antes de que Evolver comenzara la optimizacin.
58
Asignacin de presupuesto
Equilibrio qumico
Cualquier proceso que pueda ser modelado para producir un resultado, con ciertas condiciones iniciales, se puede optimizar en Evolver. Este ejemplo muestra la capacidad de Evolver de encontrar los niveles de diferentes productos qumicos (productos y reactivos) necesarios para minimizar la energa libre despus de que una reaccin haya alcanzado su equilibrio. En procesos qumicos complejos, los ingredientes (reactivos) y los productos se vuelven a formar continuamente unos en otros hasta que la concentracin de los compuestos es constante; es decir, hasta que se alcanza el equilibrio. En cualquier momento despus de alcanzarse el equilibrio, un porcentaje constante de los productos qumicos de equilibrio pueden ser reactivos (por ejemplo, el 5%) y un porcentaje constante seran productos (95%).
Archivo de ejemplo: Objetivo: Equilibrio qumico.xls Calcule la energa libre del entorno de la reaccin y encuentre los niveles de los productos qumicos, teniendo en cuenta restricciones blandas (algunos niveles de productos qumicos son proporcionales a otros). Receta Determinacin de las condiciones del equilibrio de mercado ms estable.
59
Las variables de este problema de las celdas B4:B13 son los niveles de los qumicos que se van a mezclar. La celda B15 calcula la cantidad total, que se debe mantener dentro de un rango determinado segn las penalizaciones. Las restricciones de F20:F22 son restricciones blandas; es decir, que no obligaremos a Evolver a aceptar solamente soluciones vlidas, sino que en su lugar calcularemos las penalizaciones si ciertos qumicos se salen de la proporcin deseada con respecto a otros qumicos. Estas restricciones blandas utilizan funciones de penalizacin incorporadas directamente en el modelo de la hoja de clculo. Las penalizaciones se aaden al total de energa libre de la celda F17, de forma que cuando Evolver est minimizando el objetivo, estar buscando soluciones que no generen penalizaciones.
Cmo resolverlo
Use el mtodo de solucin de receta en las celdas B4:B13. Minimice la celda F17.
60
Equilibrio qumico
Programador de clases
Una universidad debe asignar 25 clases diferentes en 6 bloques predefinidos de tiempo. Cada clase dura exactamente un bloque de tiempo. Normalmente, esto nos permitira tratar el problema con el mtodo de solucin agrupamiento. Sin embargo, hay una serie de restricciones que deben cumplirse mientras se prepara el calendario de clases. Por ejemplo, biologa y qumica no pueden ser al mismo tiempo para que los estudiantes de medicina puedan asistir a ambas clases en un mismo semestre. Para cumplir estas restricciones, utilizamos el mtodo de calendarizacin. El mtodo de solucin de calendarizacin es como el mtodo de agrupamiento, con la excepcin de que existen restricciones que indican que ciertas tareas deben suceder (o no suceder) antes (o despus, o durante) que otras tareas.
Archivo de ejemplo: Objetivo: Programador de clases.xls Asignar 25 clases a 6 periodos de tiempo para minimizar el nmero de estudiantes que no pueden asistir a ciertas clases. Cumplir una serie de restricciones sobre la coincidencia de clases. Calendarizacin Cualquier problema de calendarizacin en el que todas las tareas son de la misma duracin y pueden asignarse a una serie de bloques de tiempo independientes. Adems, cualquier problema de agrupamiento en el que haya restricciones sobre qu grupos pueden asignarse.
61
El archivo Programador de clases.xls contiene un modelo de un problema tpico de programacin en el que deben cumplirse muchas restricciones. Las celdas C5:C29 asignan 25 clases a 6 bloques de tiempo. Slo hay cinco salas disponibles, por lo tanto, asignar ms de cinco clases a un bloque de tiempo de al menos una hora no es posible. Las celdas K17:M25 contienen las restricciones; a la izquierda de las restricciones se encuentran las descripciones de las restricciones. Puede usar el nmero de cdigo o la descripcin como restriccin. La lista de cdigos de restriccin de los problemas de programacin se encuentra ms detallada en la seccin Mtodos de solucin del Captulo 5: Referencia completa. Cada uno de los posibles calendarios se evala mediante el clculo de a) el nmero de clases que no pueden coincidir, y b) el nmero de estudiantes que no pueden asistir a sus clases porque se ha alcanzado la capacidad de la sala. Esta ltima restriccin impide que Evolver programe todas las clases grandes al mismo tiempo. Si slo hay una o dos clases grandes durante un bloque de tiempo, ms grandes sern las salas que se pueden usar.
62
Programador de clases
Las celdas I8:N8 utilizan la funcin BCUENTA de Excel para contar cuntas clases hay asignadas a cada bloque de tiempo. Justo debajo de las celdas I9:N9 se calcula cuntas clases no se asignaron a una sala en un periodo de tiempo. Todas las clases que no tienen sala se totalizan en la celda K10. Si el nmero de asientos necesario para una clase determinada excede el nmero de asientos disponibles, las celdas I12:N12 calculan cuntos sobran, y el nmero total de estudiantes sin asiento se calcula en la celda K13. En la celda F6, este nmero total de estudiantes sin asiento se aade al promedio de tamao de clase, y se multiplica por el nmero de clases sin sala. De esta forma, tenemos una celda que combina todas las penalizaciones de modo que un nmero reducido en esta celda indica siempre un calendario ms adecuado.
Cmo resolverlo
Minimice el valor de las penalizaciones de F6 cambiando las celdas C5:C29. Use el mtodo de solucin calendarizacin. Cuando se selecciona este mtodo de solucin, aparecern una serie de opciones relacionadas en la seccin inferior opciones del cuadro de dilogo. Establezca el nmero de bloques de tiempo en 6, y las celdas de restricciones en K17:M25.
63
64
Segmentador de cdigos
Un programador de Windows quiere dividir un programa en varios segmentos de cdigo, de forma que Windows pueda usar la memoria de forma ms eficaz manteniendo en memoria slo los segmentos de cdigo que estn actualmente en uso. Este es un ejemplo de recoleccin de elementos similares en grupos. Los elementos pueden interactuar eficazmente con otros del mismo grupo, pero es difcil que los elementos de diferentes grupos interacten. Cuando hay barreras naturales que impiden que cada elemento interacte directamente con los dems (por ejemplo, que los usuarios de PC estn conectados directamente a una impresora), es necesario dividir los elementos en grupos. Un agrupamiento eficaz puede tener un efecto significativo en la productividad general del sistema.
Archivo de ejemplo: Objetivo: Segmentador de cdigo.xls Agrupar rutinas de programacin en ocho segmentos de cdigo diferentes de forma que el programa se ejecute lo ms rpidamente posible. agrupamiento Agrupacin de estaciones de trabajo en grupos LAN, o circuitos en reas de un microchip, de modo que el costo de la comunicacin entre grupos se minimice.
65
Los programadores de Windows normalmente dividen los programas de esta forma para aumentar la eficacia del programa. Cuando una rutina de otro segmento debe ejecutarse, Windows rechaza el segmento activo y lee del disco el segmento que solicita activacin. Si un programa de 2 MB se divide en 80 segmentos de 20 Kb cada uno, el programa puede ejecutarse con slo 20 Kb de memoria disponible. Sin embargo, para que se ejecute con un nivel de funcionamiento aceptable, los segmentos de cdigo deben organizarse cuidadosamente. La llamada de una funcin de otro segmentos tarda ms que la llamada de una funcin del mismo segmento que la funcin activa. La minimizacin del nmero de llamadas entre segmentos se conoce como un problema de segmentacin de cdigo. Como es posible optimizar algunas partes de una aplicacin afectando la aplicacin en su totalidad, utilizaremos Evolver para realizar una optimizacin global. El archivo de ejemplo Segmentador de cdigo.xls presupone que la aplicacin se ha compilado con cierta segmentacin. La aplicacin se ejecuta tal y como la ejecutara un usuario, mientras una rutina de seguimiento de rendimiento controla el nmero de veces que cada funcin llama a otra funcin. Por lo tanto, los resultados representan la naturaleza de las llamadas durante el uso tpico de la aplicacin. A partir de ah se pueden hacer predicciones sobre la velocidad de la aplicacin con diferentes estrategias de segmentacin. Esa hoja de trabajo utiliza la funcin personalizada SegCost. SegCost calcula el tiempo que tardara el usuario en ejecutar el programa de la misma forma que cuando se obtuvieron las estadsticas de uso tpico. El clculo se hace contando el nmero de llamadas dentro de un segmento y entre segmentos, y multiplicando cada uno por el costo de cada tipo de llamada. Aqu se presupone que una llamada entre segmentos (o llamada cercana) usa siete ciclos del reloj, y una llamada entre segmentos (o llamada lejana) usa 34 ciclos, que es el caso en un PC 386.
66
Segmentador de cdigos
La funcin SegCost est escrita como macro VBA de Excel, como se muestra aqu:
Function segCost(segs, calls, inP, outP) As Double Dim inCost#, outCost#, total#, temp#, tempPtr# Dim i%, j%, wide%, funcNumber%, ThisSeg%, OtherSeg% Dim NumCalls%, NumInCall%, NumOutCall%, SegOrder$, CallOrder$ SegOrder = Application.Names("segs").RefersTo CallOrder = Application.Names("calls").RefersTo NumInCall = 0 NumOutCall = 0 inCost = Range("k2") outCost = Range("k3") total = 0 wide = Range(CallOrder).Columns.Count For i = 1 To Range(SegOrder).Rows.Count ThisSeg = Range(SegOrder).Rows(i) For j = 1 To wide temp = Range(CallOrder).Rows(i).Columns(j) If temp <> 0 Then funcNumber = Int(temp) OtherSeg = Range(SegOrder).Rows(funcNumber + 1) NumCalls = 10000 * (temp - funcNumber) If ThisSeg = OtherSeg Then temp = NumCalls * inCost NumInCall = NumInCall + 1 Else temp = NumCalls * outCost NumOutCall = NumOutCall + 1 End If total = total + temp End If Next Next segCost = total End Function
La aplicacin de muestra tiene 80 funciones. El nmero de veces que cada funcin llama a otra se almacena en el rango llamadas (C5:I104). Se puede crear una matriz de 80 por 80 para representar el patrn de llamadas, pero este mtodo de n por n sera intil despus de 250 funciones, porque Excel tiene un lmite de 256 columnas (y porque el mtodo necesitara una cantidad exponencial de memoria).
67
Tambin se puede usar una anotacin condensada para representar el patrn de llamadas. Primero presuponemos que las funciones slo llaman a un cierto nmero de funciones. En el archivo de ejemplo, presuponemos que siete es el lmite superior; por eso el rango de llamadas tiene un ancho de siete columnas, pero este lmite es arbitrario. Tambin presuponemos que ninguna funcin puede ser llamada por otra ms de 9999 veces. Veamos la funcin 1, empezando en la celda C5. La Funcin 1 llama a cuatro funciones: 3, 9, 81 y 41. C5:I5, la primera fila de las llamadas, contiene un nmero real por cada funcin llamada (es decir, 3.0023). La porcin entera (es decir, 3) representa la funcin llamada, y la parte decimal multiplicada por 10,000 (es decir, .0023 x 10,000 = 23) representa el nmero de veces que la funcin 1 llam a la funcin 3 durante el uso tpico de la aplicacin. Por lo tanto, 9.1117 significa que la funcin llam la funcin 9 un total de 1,117 veces, etc. Este formato conciso permite ahorrar memoria y aprovechar el nmero limitado de columnas de Excel. La celda A5:A104 (el rango segs) contiene el nmero del segmento al que se asigna cada funcin. La celda K4 llama a la funcin SegCost para calcular el rendimiento general de la estrategia de segmentacin actual.
Cmo resolverlo
Minimice el valor de la celda K4 ajustando las celdas A5:A104. Use el mtodo de agrupamiento. El mtodo de solucin de agrupamiento indica a Evolver que organice las variables en x grupos, donde x es el nmero de valores diferentes de las celdas ajustables al iniciar una optimizacin.
68
Segmentador de cdigos
69
Las celdas F3:F43 contienen el orden en el que se visitarn las ciudades. La celda H10 calcula la longitud total de la ruta, basndose en el orden y las ubicaciones x,y de las ciudades (celdas C3:D43). La celda H10 usa la funcin personalizada BigRouteLength para acelerar el clculo de la longitud total de la ruta. Las celdas J3:L43 contienen las tareas precedentes. Esta es una tabla que muestra qu ciudades (tareas) deben ser precedidas por otras ciudades. Hay ocho ciudades (1,2,3,4,5,7, 11 y 13) que tienen que ser visitadas despus de visitar ciertas ciudades.
70
Cmo resolverlo
Minimice la longitud de la ruta de la celda H10 cambiando las celdas F3:F43. Use el mtodo de solucin proyecto y establezca las tareas precedentes en J3:L43. Estas tareas precedentes se establecen en el campo Tareas Precedentes del cuadro de dilogo Configuraciones de Grupo de Celda Ajustable:
71
72
73
La celda D5 calcula el tiempo de produccin, o cunto tiempo pasa entre el inicio de la primera tarea programada y el final de la ltima tarea programada. Este tiempo es el que debemos minimizar. Las celdas G11:G35 contienen las variables (las tareas) que se van a barajar para encontrar el mejor orden posible de asignaciones. Las ecuaciones de la hoja indican cundo se puede realizar cada tarea en la mquina necesaria. Seleccione una serie de celdas ajustables G11:G35 y seleccione el mtodo de solucin de orden. Minimice el resultado de la celda D5.
Cmo resolverlo
74
Un ejemplo ms complejo de problema de ubicacin puede ser situar varias fbricas de forma que a) estn cerca tanto de vendedores como de clientes, b) estn en un terreno abierto y econmico, y c) estn cerca de una fuerza laboral grande y tcnicamente capacitada. Tambin se puede aadir al modelo cualquier influencia adicional para encontrar las mejores ubicaciones, como incentivos fiscales. Evolver puede encontrar las mejores ubicaciones en el espacio de coordinadas x,y o incluso x,y,z.
Archivo de ejemplo: Objetivo: Ubicacin torres radio.xls Encontrar las mejores coordenadas x,y para tres torres de radio de forma que el alcance de emisin cubra la mayor poblacin de potenciales oyentes. Receta Bsqueda de lugares para almacenes que minimicen los envos necesarios entre almacenes y tiendas. Ubicar estaciones de bomberos de forma que cubran mejor las poblaciones con un nmero limitado de estaciones, incluyendo factores como la densidad de viviendas.
75
El archivo Ubicacin torres radio.xls modela un terreno de dos dimensiones en el que la colocacin de cinco torres de radio determina a cuntos oyentes llega el alcance. Las celdas C6:D8 contienen las coordinadas x,y de las tres torres. La ilustracin del modelo consta de dos elementos: uno es una imagen de bitmap de las densidades de poblacin (en verde) pegada del programa Paintbrush de Windows; el otro es un diagrama de dispersin de Excel que se recalcula automticamente para mostrar las ubicaciones de las torres. Hay diez comunidades representadas como ubicaciones de un solo punto. El modelo de Excel calcula la distancia entre las comunidades y las torres en K4:M15 para determinar si cada comunidad est cubierta (s) o no lo est (no). El total de poblacin de todas las comunidades cubiertas (el nmero que queremos maximizar) se calcula en la celda O17.
Cmo resolverlo
Maximice la poblacin alcanzada en la celda O17 ajustando las celdas C6:D8 de ubicacin de las torres. Use el mtodo de solucin receta y establezca los rangos de las variables de 0 a 50 (los lmites de nuestra rea de ubicacin). El mtodo de solucin receta indica a Evolver que ajuste las variables seleccionadas de la mejor forma. Como es el caso con una receta para bancos, tratamos de encontrar la mezcla adecuada de ingredientes (coordinadas x,y) para producir la solucin ptima.
76
Cartera equilibrada
Un agente tiene una lista de 80 acciones, cada una de ellas con un valor monetario diferente. El agente quiere agrupar estas acciones en cinco paquetes (carteras) que tengan un valor total lo ms similar posible. Este es un ejemplo de una categora general de problemas denominados problemas de agrupamiento de intervalos. Otro ejemplo es el agrupamiento de carga en la bodega de un barco de transporte, de forma que cada grupo tenga un peso lo ms similar posible. Si hay millones de pequeos elementos a agrupar en unos pocos grupos, como puede ser granos de trigo en la bodega de un barco, se puede presuponer una distribucin aproximadamente normal sin grandes diferencias de peso. Sin embargo, varias docenas de grupos, de pesos y tamaos diferentes, se pueden agrupar de formas muy diferentes, y un agrupamiento eficaz puede mejorar el equilibrio que se encontrara manualmente.
Archivo de ejemplo: Objetivo: Cartera equilibrada.xls Dividir una lista de acciones en cinco carteras diferentes cuyos valores totales estn lo ms cerca posible unos de otros. agrupamiento Creacin de equipos que tengan habilidades colectivas equivalentes. Asignacin de contenedores a la bodega de un barco de forma que el peso quede distribuido uniformemente.
77
El archivo Cartera equilibrada.xls modela una asignacin tpica de grupos. La Columna A contiene nmeros de identificacin de acciones especficas, y la columna B contiene el valor monetario de cada accin. La Columna C asigna cada accin a una de las cinco carteras. Cuando se configura un problema de tipo agrupamiento o de grupos de intervalos y se utiliza el mtodo de solucin agrupamiento, debe asegurarse antes de inicia Evolver de que cada grupo (1-5) est representado en el escenario actual al menos una vez. Las celdas F6:F10 calculan el valor total de cada una de las cinco carteras. Esto se hace con el criterio de base de datos de la columna I y las frmulas BSUMA() de las celdas F6:F10. Por lo tanto, la celda F6, por ejemplo, calcula BSUMA para todos los valores de la columna B que han sido asignados al grupo 5 (en la columna C).
78
Cartera equilibrada
La celda F12 calcula la desviacin estndar entre todos los valores de las carteras usando la funcin DESVEST(). Esto proporciona una medida de la similitud del valor total de cada una de las carteras. El grfico muestra el valor total de cada cartera, con una lnea de referencia en el nmero objetivo en el que cada cartera estara si fueran todas iguales.
Cmo resolverlo
Minimice el valor de la celda F12 ajustando las celdas C5:C104. Use el mtodo de agrupamiento y asegrese de que los valores 1, 2, 3, 4 y 5 aparecen al menos una vez en la columna C. El mtodo de solucin de agrupamiento indica a Evolver que organice las variables en x grupos, donde x es el nmero de valores diferentes de las celdas ajustables al iniciar una optimizacin.
79
80
Mezcla de carteras
Una joven pareja tiene activos en diferentes tipos de inversiones, cada una con sus propios beneficios, crecimiento potencial y riesgo. Combinando varias frmulas que multiplican las diferentes jerarquas, han personalizado un tipo de puntuacin que muestra lo adecuada que es una mezcla determinada de inversiones para sus necesidades.
Archivo de ejemplo: Objetivo: Mezcla de carteras.xls Encontrar la mezcla ptima de inversiones para maximizar los beneficios, dadas sus necesidades actuales de riesgo /recuperacin. Presupuesto
Mtodo de solucin:
81
Este es un modelo financiero clsico que trata de equilibrar el riesgo de prdida y la recuperacin de la inversin. Todos los activos incluido en la columna A tienen asignada una jerarqua en la columna C. El modelo multiplica los porcentajes de recuperacin por la jerarqua de cada activo de la cartera para generar una recuperacin total en la celda C18. Tambin se calcula el nmero de riesgo total de la celda C19, que no debe ser mayor que el riesgo aceptable de la celda D19. La puntuacin total de la celda C22 refleja la recuperacin total menos una penalizacin por un riesgo superior al porcentaje aceptable. Debemos maximizar esta puntuacin.
Cmo resolverlo
82
Mezcla de carteras
Estaciones de potencia
Una cadena de radio compra tres torres de radio abandonadas que no funcionan en una regin que tiene diez comunidades de importancia. La cadena quiere comprar transmisores de emisiones totalmente nuevos e instalarlos en las torres para que puedan volver a emitir. Como hay un presupuesto limitado, el objetivo es gastar la menor cantidad de dinero en transmisores que sigan cubriendo las 9 comunidades. Se presupone un modelo de precio lineal en el que el costo de un transmisor est directamente relacionado con su potencia, por lo tanto tenemos que buscar la menor cantidad posible de potencia para comprar, pero sera igual de fcil crear una tabla de bsqueda de tipos y precios de transmisores.
Archivo de ejemplo: Objetivo: Estaciones de potencia.xls Encontrar el transmisor ms pequeo (ms barato) para cada una de las torres antiguas que permita cubrir el rea de las diez comunidades. Receta Problemas de cobertura fija, en los que deben describirse una serie de elementos mediante un pequeo nmero de grupos bien definidos.
83
Esto es muy similar al ejemplo de ubicacin de torres de radio (Ubicacin torres radio.xls), excepto en que las ubicaciones son fijas, y son las gamas de potencia de la torres de las celdas E5:E7 las variables que deben ajustarse. Aadimos el costo de potencia de las tres torres en la celda E12, la celda objetivo que queremos minimizar. Las celdas K4:M12 calculan la distancia a la que se encuentra cada comunidad de la torre, y la columna N genera un valor VERDADERO si una comunidad est suficientemente cerca de un transmisor como para estar cubierta. Todas estas restricciones se comprueban en una sola restriccin dura denominada Todas las reas cubiertas?. Esta restriccin tiene la frmula Y($N$4:$N$12) que genera un valor VERDADERO slo si todos los valores de la columna N son VERDADEROS.
Cmo resolverlo
Minimice la potencia necesaria en la celda E12 ajustando los radios de las torres de las celdas E5:E7. Use el mtodo de solucin "receta" y establezca los rangos de las variables de 0 a 100. La restriccin dura nica, introducida usando el formato de frmula de Excel, se describe arriba.
84
Estaciones de potencia
Compras
Cada vez que hay mltiples formas de ordenar elementos, los descuentos de cantidad dificultan la determinacin de la forma ms econmica de comprar elementos. Este modelo contiene una tabla sencilla de precios, que incluye precios con descuentos de cantidad de un disolvente especial. Debe comprar al menos 155 litros de este disolvente, que se ofrece en barriles pequeos, medianos, grandes y extra-grandes. Trate de comprar la cantidad adecuada de cada tamao de barril para minimizar su costo.
Archivo de ejemplo: Objetivo: Mtodo de solucin: Problemas similares: Compras.xls Gastar la menor cantidad posible de dinero comprando 155 litros de disolvente. Receta Lo opuesto: crear una tabla de precios que incentive con regularidad y justicia los pedidos de grandes cantidades.
85
Este disolvente se ofrece en barriles de 3, 6, 10 y 14 litros. La tabla de precios de cada tamao se encuentra en las celdas D6:H9. Las celdas H13:H16 contienen las cantidades a comprar de cada tamao. La Columna K calcula el costo de cada compra, y la celda K18 es el costo total. Este modelo permite cambiar la cantidad necesaria a comprar (celda I19) de 155 a la cantidad que prefiera. La celda I18 contiene el total de litros que se compran; por lo tanto, esta celda debe incluir al menos el nmero necesario de la celda I19 (155). La restriccin dura nica es que la cantidad de la compra exceda la cantidad necesaria. Como necesitamos 155 litros, podemos comprar 11 barriles extragrandes (154 litros), y un barril pequeo (3 litros) para un total de 157 litros. Segn la tabla de precios, eso costara un total de $1,200. Pero si ejecutamos la optimizacin se consigue una combinacin an ms econmica.
Cmo resolverlo
Minimice el costo de la celda K18 ajustando las cantidades a comprar de las celdas H13:H16. Use el mtodo de solucin de receta para ajustar valores, y establezca los rangos de estas variables entre 1 y 20. No se puede comprar slo una parte de un barril, as que indicaremos a Evolver que use slo nmeros enteros marcando la opcin enteros en el cuadro de dilogo Celdas Ajustables. Como no se pueden comprar menos de 155 litros, introduzca una restriccin dura nica que especifique I18>155.
86
Compras
87
El archivo Problema del vendedor.xls calcula la longitud de la ruta de un viaje a varias ciudades buscando la distancia en la tabla. La Columna A contiene los nmeros de identificacin de las ciudades. La Columna B contiene los nombres que representan esos nmeros (con una funcin de bsqueda). El orden de arriba a abajo en el que aparecen las ciudades (y sus nmeros) representa el orden en el que se visitan las ciudades. Por ejemplo, si introdujo 9 en la celda A3, Ottawa sera la primera ciudad visitada. Si A4 contiene el nmero 6 (Halifax), Halifax sera la segunda ciudad visitadas. Las distancias entre ciudades aparece en la tabla que comienza en la celda C25. Las distancias de la tabla son simtricas (la distancia de A a B es la misma que de B a A). Tambin es posible que otros modelos ms realistas incluyan distancias no simtricas para representar mayor dificultad de viaje en una direccin (debido a peajes, transporte disponible, vientos, pendientes, etc.). Se debe usar ahora una funcin para calcular la longitud de la ruta entre estas ciudades. La longitud total de la ruta se almacena en la celda G2, la celda que queremos optimizar. Para hacerlo, use la funcin RouteLength. Esta es una funcin VBA personalizada para Problema del vendedor.xls.
Cmo resolverlo
Minimice el valor de la celda G2 ajustando las celdas A3:A22. Use el mtodo orden y asegrese de que los valores del 1 al 20 existen en las celdas ajustables (A3:A22) antes de iniciar la optimizacin. El mtodo de solucin orden indica a Evolver que reorganice las variables seleccionadas, probando diferentes permutaciones de las variables existentes.
88
Navegador espacial
Como parte de la tripulacin de la lanzadera espacial Evolver III, debe calcular la cantidad y la direccin del impulso de cada cohete propulsor para alcanzar su destino usando la menor cantidad posible de combustible. Las mejores soluciones probablemente pasarn por aprovechar el efecto de impulso gravitacional de los soles cercanos para conservar combustible.
Archivo de ejemplo: Objetivo: Navegador espacial.xls 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. Receta Problemas de control de procesos
89
Las celdas Q5:R15 contienen los valores de tamao de impulsin y direccin de cada una de los diez fases. La celda Q16, que es la que queremos minimizar, es simplemente la suma de todo el combustible quemado en las diez fases (Q4:Q13). Las restricciones duras son: a) que la posicin final de la nave est a un mximo de 10 unidades horizontales de su destino, y b) que est a un mximo de 10 unidades verticales.
Cmo resolverlo
Minimice la celda Q16. Cree un grupo de celdas ajustables que utilicen el mtodo de solucin de receta usando las celdas Q5:R13. Las celdas de Impulsin (Q5:Q13) deben tener un rango entre 0 y 300 y las celdas de Direccin (R5:R13) deben tener un rango entre -3 y 3, ya que se utilizan radianes para representar la direccin de los impulsos. Un radian equivale a 57 grados.
90
Navegador espacial
Agente de bolsa
Usted es agente de bolsa en el mercado de S&P 500, y ha determinado que el anlisis tcnico proporciona previsiones ms precisas sobre las acciones que el anlisis fundamental tradicional, y podra ahorrar tiempo si creara un sistema. Podra haber un nmero infinito de posibles reglas a seguir para invertir en bolsa, pero slo unas pocas le habrn generado beneficios significativos si usted las ha seguido. Una bsqueda inteligente con su PC podra ayudarle a determinar qu reglas habran generado ms dinero en un periodo de tiempo histrico.
Archivo de ejemplo: Objetivo: Agente de bolsa.xls Encontrar un conjunto de tres reglas que habran generado las mayores ganancias durante un periodo de tiempo determinado. Receta Bsqueda de promedios en movimiento ptimos que habra generado los mejores resultados; cualquier problema de bsqueda de reglas o criterios.
91
Este modelo usa varios grupos de celdas ajustables para resolver el problema en general. Hay tres reglas que se evalan en cada da de actividad. Si las condiciones de las tres reglas son verdaderas, el sistema informtico comprar ese da; de lo contrario, vender. (Un sistema de actividad ms realista no slo compra o vende, sino que tambin mantiene lo que tiene.) Cada regla se describe con una serie de cuatro nmeros en las celdas C5:E8, lo cual indica varias cosas: 1) a qu fuente de datos se refiere la regla, 2) si el valor de los datos debe estar por encima o por debajo de un valor de corte, 3) el valor de corte que determina si la regla es verdadera, y 4.) un valor modificador que determina si el propio valor debe examinarse, o si debe examinarse el valor del ltimo da o del cambio desde el ltimo da. Los valores de corte tienen un rango de 0 a 1, y representan el porcentaje del rango de la fuente de datos. Por ejemplo, si el volumen tiene un rango de 5,000 a 10,000, entonces un valor de corte de 0.0 coincidira con un volumen de 5,000, un valor de corte de 1.0 sera el del volumen de 10,000 y un valor de corte de 0.5 sera el de un volumen de 7,500. Este sistema permite que las reglas se refieran a cualquier fuente de datos, independientemente de los valores que adquieran.
Cmo resolverlo
Cree los grupos de celdas ajustables, utilizando en todos ellos el mtodo de solucin de receta. Cada fila de C5:E5, C6:E6, C7:E7 y C8:E8 debe crearse separadamente, de forma que a cada grupo se le pueda asignar fcilmente sus propias opciones de enteros, rangos, etc. Las configuraciones para cada grupo de variables se incluyen en las celdas F5:F8. Maximice la celda E10, que ejecuta un macro para simular la actividad de la bolsa con esas reglas. El beneficio total conseguido despus de la simulacin de cada da en la base de datos histrica se enva a la celda E10.
92
Agente de bolsa
Transformador
El transformador de dos bobinados debe tener una capacidad de 1080 VA con prdidas bajo carga mxima no superiores a los 28 vatios y una disipacin de calor en superficie no superior a los 0.16 vatios/cm2. Minimice el costo respetando los criterios de rendimientos.
Archivo de ejemplo: Objetivo: Mtodo de solucin: Problemas similares: Transformador.xls Minimizar los costos iniciales y de operacin de un transformador. Receta Diseo de circuitos y diseo de puentes.
93
La capacidad, prdida de carga y disipacin de calor se deben codificar como restricciones blandas. Las restricciones blandas se crean penalizando aquellas soluciones que no cumplen nuestros requisitos, y no son vlidas. A diferencia de las restricciones duras, que deben cumplirse, Evolver permite probar algunas soluciones no vlidas, pero como esas soluciones no vlidas son penalizadas por una funcin del modelo que comprueba las violaciones existentes, producirn resultados malos en la celda objetivo. Por lo tanto, a la larga, estas soluciones no vlidas se descartarn de la poblacin que evoluciona de posibles soluciones. Un modelo con restricciones blandas puede funcionar mejor que una restriccin dura si el problema tiene menos restricciones. Tambin permite a Evolver aceptar una solucin excelente aunque no cumpla mnimamente las restricciones, lo cual puede tener mayor valor que una solucin no tan buena que cumpla todas las restricciones.
Cmo resolverlo
Calcule el costo de material (costo inicial) y costos de operacin (costo de la electricidad * electricidad no aprovechada) en las celdas F11 y F12. Combine estos valores con las funciones de penalizacin establecidas en las celdas F18:F20 para establecer un costo restringido en la celda F22. Minimice esta celda objetivo usando el mtodo de solucin de receta.
94
Transformador
Transporte
Cul puede ser la forma ms econmica de transportar objetos en camin por todo el pas? Este problema estndar ha sido expandido a partir de un ejemplo antiguo de Microsoft Solver. Minimice los costos de transportar productos desde los centros de produccin a los almacenes cercanos a los centros de demanda del rea metropolitana, sin exceder el suministro disponible de cada centro de produccin y satisfaciendo la demanda de cada rea metropolitana. Para que el problema sea ms realista, los costos de transporte se han cambiado para que no sean lineales, sino que dependan de cuntos camiones son necesarios. Un camin puede cargar hasta 6 objetos, es decir, transportar 14 objetos requiere 3 camiones (que transporten 6 + 6 + 2 objetos).
Archivo de ejemplo: Objetivo: Transporte.xls Transporte objetos en camin desde tres centros de produccin a cinco almacenes, de la forma ms econmica posible. Receta Diseo de redes de comunicacin
95
Las celdas C5:E7 contienen el nmero de objetos transportados desde cada centro de produccin a cada almacn. Las celdas C13:E15 calculan el nmero de camiones que seran necesarios para transportar esos objetos. Las restricciones duras son: 1) que el total de transporte de cada centro de produccin sea menor o igual al suministro disponible en el centro, y 2) que el total transportado de todos los centros de produccin a cada almacn sea mayor o igual a la cantidad que demanda el almacn. De esta forma se asegura que cada almacn recibir lo que necesita, y ningn centro de produccin tenga que pagar ms impuestos de los debidos. Use el mtodo de solucin de receta en las celdas C5:E7, usando nmeros enteros entre 0 y 500. Hay una serie de restricciones duras en cada centro de produccin que especifican que los transportes de cada centro de produccin <= suministro del centro. Hay un segundo grupo de restricciones duras para cada almacn que especifican que el total transportado al almacn >= demanda del almacn. Minimice los costos de transporte de la celda B22.
Cmo resolverlo
96
Transporte
97
Comandos de Utilidades ............................................................... 133 Comando Configuraciones de aplicacin ....................................... 133 Comando Solver de restricciones ..................................................... 134 El Observador del Evolver ............................................................ 137 Observador del Evolver Pestaa de Progreso ............................. 138 Cuadro de dilogo Opciones de Grficos ......................... 139 Observador del Evolver Pestaa de Resumen ............................ 140 Observador del Evolver Pestaa de Bitcora............................... 141 Observador del Evolver Pestaa de Poblacin ........................... 143 Observador del Evolver Pestaa de Diversidad ......................... 144 Observador del Evolver Pestaa de Opciones de detencin.... 145
98
Transporte
El cuadro de dilogo Modelo de Evolver se usa par especificar o describir un problema de optimizacin en Evolver. Este cuadro de dilogo se inicia vaco en cada libro de trabajo nuevo de Excel, y guarda su informacin con cada libro de trabajo. Eso significa que cuando se abre de nuevo la hoja, se llenar de la misma forma. Los componentes del cuadro de dilogo se describen en esta seccin.
99
Las opciones del cuadro de dilogo Modelo son: Meta de optimizacin. La opcin Meta de optimizacin determina que tipo de respuesta debe buscar Evolver. Si se selecciona Mnimo, Evolver buscar valores de variable que generen el menor valor posible en la celda objetivo (hasta un mnimo de 1e300). Si se selecciona Mximo, Evolver buscar valores de variable que resulten en el mayor valor posible en la celda objetivo (hasta +1e300). Si se selecciona Valor objetivo, Evolver buscar valores de variable que generen un valor en la celda objetivo lo ms cercano posible al valor especificado. Cuando Evolver encuentra una solucin que genera este resultado, se detendr automticamente. Por ejemplo, si especifica que Evolver debe encontrar un resultado cercano a 14, Evolver puede encontrar escenarios que generen un resultado de 13.7 o 14.5. Observar que 13.7 es ms cercano a 14 que 14.5; Evolver no tiene en cuenta si el valor es mayor o menor que el valor especificado, slo busca lo cerca que se encuentra el valor. Celda. La celda o celda objetivo contiene el resultado del modelo. Se genera un valor en esta celda por cada "solucin de prueba" que genera Evolver (es decir, por cada combinacin de posibles valores de las celdas ajustables). La celda objetivo debe contener una frmula que depende (directamente o a travs de una serie de clculos) de las celdas ajustables. Esta frmula se puede crear con frmulas estndar de Excel como SUM() o con funciones de macro VBA definidas por el usuario. Al usar funciones de macro VBA puede hacer que Evolver evale los modelos que sean ms complejos. Mientras Evolver busca una solucin, utiliza el valor de la celda objetivo como clasificacin o funcin de idoneidad para evaluar lo apropiado que es cada posible escenario, y para determinar qu valores de variable deben continuar reproducindose y cuales deben desaparecer. En la evolucin biolgica, la muerte es la funcin de idoneidad que determina qu genes siguen reproducindose en una poblacin. Cuando se crea un modelo, la celda objetivo debe reflejar la idoneidad o bondad de cualquier escenario, por lo tanto, mientras Evolver calcula las posibilidades, puede medir con precisin su progreso.
100
Como las celdas ajustables contienen las variables del problema, debe definirse al menos un grupo de celdas ajustables para poder usar Evolver. La mayora de los problemas se pueden describir con un grupo de celdas ajustables, pero otros problemas ms complejos pueden necesitar diferentes bloques de variables para su resolucin con diferentes mtodos de solucin simultneos. Esta arquitectura exclusiva permite crear fcilmente problemas altamente complejos a partir de mltiples grupos de celdas ajustables.
101
Las siguientes opciones estn disponibles para su introduccin en los Rangos de celda ajustables: Aadir. Se pueden aadir nuevas celdas ajustables haciendo clic en el botn Aadir junto al cuadro de lista Celdas Ajustables. Seleccione la celda o el rango de celdas a aadir, y aparecer una nueva fila en la tabla Rangos de celda ajustables. En la tabla podr introducir un valor Mnimo y Mximo para las celdas del rango, as como el Tipo de valores a probar: valores Enteros del rango o Cualquier valor. Mnimo y Mximo. Despus de especificar la ubicacin de las celdas ajustables, los datos de Mnimo y Mximo establecen el rango de valores aceptables para cada celda ajustable. De forma predeterminada, cada celda ajustable puede tener un valor de nmero real (punto flotante de doble precisin) entre infinito y +infinito. Las configuraciones de rango son restricciones de cumplimiento estricto. Evolver no permite que ninguna variable tenga un valor fuera de los rangos establecidos. Para mejorar el funcionamiento de Evolver, se recomienda establecer rangos ms especficos para las variables en la medida de lo posible. Por ejemplo, es posible que se sepa que el valor no puede ser negativo, o que Evolver slo debe probar valores entre 50 y 70 para una variable determinada. Rango. La referencia de las celdas a ajustar se introduce en el campo Rango. Esta referencia se puede introducir seleccionando la regin de la hoja de clculo con el ratn, introduciendo un nombre de rango o escribiendo una referencia vlida de Excel como Hoja1!A1:B8. El campo Rango est disponible en todos los mtodos de solucin. Sin embargo, en los mtodos de solucin de receta y presupuesto, se pueden aadir opciones de Mnimo, Mximo y Valores para poder introducir un rango para las celdas ajustables. NOTA: Al asignar rangos ajustados a las variables, se limita el alcance de la bsqueda y se acelera la convergencia de Evolver en una solucin. Pero tenga cuidado para no limitar en exceso los rangos de las variables porque podra impedir que Evolver encuentre soluciones ptimas.
102
Valores. El dato Valores permite especificar que Evolver trate todas las variables del rango especificado como enteros (por ejemplo, 22), en lugar de como nmeros reales (por ejemplo, 22.395). Esta opcin slo est disponible cuando se usan los mtodos de solucin receta y presupuesto. La configuracin predeterminada es tratar las variables como nmeros reales.
Asegrese de que activa la configuracin Enteros si el modelo utiliza variables para buscar elementos en una tabla (CONSULH(), CONSULV(), INDICE(), DESREF(), etc.). Recuerde que la configuracin Enteros afecta a todas las variables del rango seleccionado. Si quiere tratar algunas variables como nmeros reales y otras como enteros, puede crear dos grupos de celdas ajustables en lugar de un solo, y tratar un bloque como enteros y el otro como nmeros reales. Simplemente Aada un grupo de receta de celdas ajustables y deje el campo Valores en Cualquiera. Luego, Aada otro rango de celdas, esta vez seleccionando la configuracin Enteros y seleccionando slo las celdas ajustables de nmeros enteros.
103
104
Las opciones de la pestaa General del cuadro de dilogo Configuraciones de grupos de celdas ajustables son: Descripcin. Describe el grupo de rangos de celdas ajustables para cuadros de dilogo e informes. Mtodo de solucin. Selecciona el Mtodo de Solucin a usar en cada rango de celdas ajustables del grupo.
Cuando se selecciona el rango de celdas que Evolver va a ajustar, tambin se especifica el mtodo de solucin que se va a aplicar cuando se ajusten esas celdas. Cada uno de los mtodos de solucin es, en esencia, un algoritmo gentico totalmente diferente, con sus propias rutinas optimizadas de seleccin, cruce y mutacin. Cada uno de los mtodos de solucin baraja los valores de las variables de una forma diferente. El mtodo de solucin de receta, por ejemplo, trata cada variable seleccionada como un entero en la receta; cada valor de una variable se puede cambiar independientemente de los dems. Por su parte, el mtodo de solucin de orden intercambia valores entre las celdas ajustables, reordenando los valores originales. Evolver tiene seis mtodos de solucin. Tres de los mtodos de solucin (receta, orden y agrupamiento) usan algoritmos totalmente diferentes. Los otros tres son descendientes de los tres primeros, con restricciones adicionales aadidas.
105
La siguiente seccin describe la funcin de cada mtodo de solucin. Para comprender mejor cmo se usa cada mtodo de solucin, tambin se recomienda explorar los archivos de ejemplo que se incluyen con el software (ver Captulo 4: Ejemplos de Aplicaciones).
Mtodo de Solucin de Receta
El mtodo de solucin de receta es el ms sencillo y popular de los mtodos de solucin. Use la receta cuando se puedan variar independientemente unas de otras las variables que se van a ajustar. Piense en cada variable como en la cantidad de un ingrediente en un pastel; cuando se usa el mtodo de solucin de receta, le indica a Evolver que genere nmeros para esas variables en busca de la mejor combinacin. La nica restriccin que se aplica a las variables de una receta es el rango (el valor ms alto y el ms bajo) que esos valores pueden tener. Establezca estos valores en los campos Mn y Mx del cuadro de dilogo Celdas Ajustables (por ejemplo, 1 a 100), e indique tambin si Evolver debe tratar esos nmeros como enteros (1, 2, 7) o como nmeros reales (1.4230024, 63.72442). A continuacin se muestran ejemplos de una serie de valores de variables como podran aparecer en una hoja de clculo antes de abrir Evolver, y cmo podran ser dos escenarios diferentes despus de usar el mtodo de solucin de receta.
Grupo original de valores de variables 23.472 145 9 65,664 Un grupo de valores posibles de receta 15.344 101 32.44 14,021 Otro grupo de valores posibles de receta 37.452 190 7.073 93,572
El mtodo de solucin orden es el segundo ms popular despus del de receta. Un orden es una permutacin de una lista de elementos, en el que se trata de encontrar la mejor forma de organizar un grupo establecido de valores. A diferencia de los mtodos de receta y presupuesto, en los que Evolver genera valores para las variables seleccionadas, en este mtodo de solucin Evolver usa los valores existentes del modelo. Un orden puede representar el orden en el que realizar una serie de tareas. Por ejemplo, tal vez quiera encontrar el orden en el que realizar cinco tareas, numeradas 1,2,3,4 y 5. El mtodo de solucin orden baraja esos valores, por lo tanto uno de los escenarios podra ser 3,5,2,4,1. Como Evolver slo prueba valores de variables de la hoja
106
original, no hay rango de Mn - Mx introducido para las celdas ajustables cuando se usa el mtodo de solucin de Orden. A continuacin se muestran ejemplos de una serie de valores de variables como podran aparecer en una hoja de clculo antes de abrir Evolver, y cmo podran ser dos escenarios diferentes despus de usar el mtodo de solucin de orden.
Grupo original de valores de variables 23.472 145 9 65,664 Mtodo de solucin de agrupacin Un grupo de valores posibles de orden 145 23.472 65,664 9 Otro grupo de valores posibles de orden 65,664 9 145 23.472
El mtodo de solucin agrupamiento debe usarse cuando el problema incluya mltiples variables que se deban reunir en grupos. El nmero de grupos diferentes que crea Evolver ser igual al nmero de valores distintos presentes en las celdas ajustables al iniciar la optimizacin. Por lo tanto, cuando se crea un modelo del sistema, asegrese de que cada grupo est representado al menos una vez. Por ejemplo, supongamos un rango de 50 celdas que contienen slo los valores 2, 3.5 y 17. Cuando seleccione 50 celdas y ajuste los valores usando el mtodo de solucin agrupamiento, Evolver asignar cada una de las cincuenta celdas a uno de los tres grupos: 2, 3.5 o 17. Todos los grupos estn representados por al menos una de las celdas ajustables; como si se echara cada una de las 50 variables en un contenedor, asegurndose de que hay al menos una variable en cada contenedor. Otro ejemplo sera asignar unos (1), ceros (0) y menos unos (-1) a un sistema para indicar comprar, vender o mantener posiciones. Como en el mtodo de solucin orden, Evolver organiza valores existentes, por lo tanto no hay rango mnmx ni opcin de Enteros definida. NOTA: Cuando use el mtodo de solucin agrupamiento, no deje celdas en blanco, a menos que quiera que el valor 0.0 sea considerado uno de los grupos. Tal vez piense que el mtodo de solucin agrupamiento se pueda imitar usando el mtodo de solucin receta con la opcin de enteros activada y los rangos establecidos de 1 a 3 (o cualquiera que sea el nmero de grupos). La diferencia est en la forma en que los mtodos receta y agrupamiento realizan sus bsquedas. Sus rutinas de seleccin, mutacin y cruce son diferentes; el agrupamiento se centra
107
ms en los valores de todas las variables, porque puede permutar una serie de variables de un grupo con una serie de variables de otro. A continuacin se muestran ejemplos de una serie de valores de variables como podran aparecer en una hoja de clculo antes de abrir Evolver, y cmo podran ser dos escenarios diferentes despus de usar el mtodo de solucin de agrupamiento.
Grupo original de valores de variables 6 7 8 8 Mtodo de solucin de presupuesto Un grupo de valores posibles de agrupamiento 6 6 8 7 Otro grupo de valores posibles de agrupamiento 8 7 6 7
Un presupuesto es similar a una receta con la excepcin de que todos los valores de las variables deben totalizar un nmero determinado. El nmero es el total de los valores de las variables en el momento de iniciar una optimizacin. Por ejemplo, tal vez busque la mejor forma de distribuir un presupuesto anual entre un cierto nmero de departamentos. El mtodo de solucin presupuesto toma el total de los valores actuales de los departamentos y usa la suma como presupuesto total que debe distribuirse ptimamente. A continuacin se muestran ejemplos de escenarios despus de usar el mtodo de solucin de presupuesto.
Grupo original de valores de presupuesto 200 3.5 10 10 Un grupo de valores posibles de presupuesto 93.1 30 100 .4 Otro grupo de valores posibles de presupuesto 223.5 0 -67 67
Se prueban muchos valores diferentes, pero la suma de todos los valores sigue siendo 223.5.
108
El mtodo de solucin proyecto es similar al mtodo de solucin orden con la excepcin de que ciertos elementos (tareas) deben preceder a otros. El mtodo de solucin proyecto se puede usar en la administracin de proyectos para reorganizar el orden en el que se realizan las tareas, cuando el orden debe cumplir siempre las restricciones de orden precedente. Un problema modelado usando el mtodo de solucin Proyecto es ms fcil de usar y comprender si las celdas ajustables que contienen el orden de las tareas estn en una sola columna, en lugar de en una fila. Esto es porque el mtodo de solucin espera que las celdas de las tareas precedentes se organicen verticalmente y no horizontalmente, y es ms fcil examinar la hoja de clculo si las celdas ajustables son tambin verticales. Despus de especificar la ubicacin de las celdas ajustables, debe especificar la ubicacin de las celdas de las tareas precedentes en la seccin Tareas precedentes del cuadro de dilogo. Esta es una tabla de celdas que describe qu tareas deben ir precedidas de qu otras tareas. El mtodo de solucin usa esta tabla para reorganizar el orden de las variables en un escenario hasta que se cumplan las restricciones de valores precedentes. Debe haber una fila en el rango de tareas precedentes por cada tarea de las celdas ajustables. Empezando en la primera columna del rango de tareas precedentes, el nmero de identificacin de cada tarea debe aparecer en columnas independientes.
El rango de tareas precedentes debe especificarse como n filas por m columnas, donde n es el nmero de tareas del proyecto (celdas ajustables), y m es el nmero mximo de tareas precedentes que puede tener una tarea determinada.
109
A continuacin se muestran ejemplos de una serie de valores de variables tal y como apareceran en una hoja de clculo antes de usar Evolver, y cmo son los dos nuevos escenarios despus de usar el mtodo de solucin de Proyecto, con la restriccin de que 2 debe estar siempre antes que 1, y 4 despus de 2.
Grupo original de valores de variables 1 2 3 4 Mtodo de solucin de calendarizacin Un grupo de valores posibles de proyecto 1 3 2 4 Otro grupo de valores posibles de proyecto 1 2 4 3
Una calendarizacin es similar a un agrupamiento: es una asignacin de tareas en el tiempo. Cada tarea se presupone que dura la misma cantidad de tiempo, como sucede con las clases de una escuela. Sin embargo, a diferencia del agrupamiento, el cuadro de dilogo de Configuraciones de grupos de celdas ajustables del mtodo de solucin calendarizacin permite especificar directamente el nmero de bloques de tiempo (o grupos) que se van a usar. Observe que cuando se selecciona el mtodo de calendarizacin, aparecen varias opciones relacionadas en la parte inferior del cuadro de dilogo.
En la seccin Parmetros de Optimizacin, observar que tambin puede incorporar un rango de celdas de restriccin. Este rango puede ser de cualquier longitud, pero debe tener exactamente tres columnas de ancho. Se reconocen ocho tipos de restricciones: 1) (con) Las tareas de las columnas 1 y 3 deben suceder en el mismo bloque de tiempo. 2) (no con) Las tareas de las columnas 1 y 3 no pueden suceder en el mismo bloque de tiempo. 3) (antes) La tarea de la columna 1 debe suceder antes que la tarea de la columna 3.
110
4) (en) La tarea de la columna 1 debe suceder en el bloque de tiempo que la tarea de la columna 3. 5) (no despus) La tarea de la columna 1 debe suceder al mismo tiempo o antes que la tarea de la columna 3. 6) (no antes) La tarea de la columna 1 debe suceder al mismo tiempo o despus que la tarea de la columna 3. 7) (en) La tarea de la columna 1 no debe suceder en el bloque de tiempo de la tarea de la columna 3. 8) (antes) La tarea de la columna 1 debe suceder despus que la tarea de la columna 3. Como restriccin se puede introducir un cdigo numrico (del 1 al 8) o la descripcin (despus, no en, etc.). (Nota: Todas las versiones traducidas de RiskOptimizer reconocern la descripcin de la restriccin en ingls as como en el idioma propio). Se cumplirn todas las restricciones especificadas en el problema. Para crear restricciones, busque un espacio en blanco en la hoja de clculo y cree una tabla en la que las columnas izquierda y derecha representen tareas, y la columna del medio represente los tipos de restriccin. Un nmero del 1 al 8 representa el tipo de restriccin que se indica a continuacin. Las celdas del rango de restriccin deben incluir los datos de restriccin antes de iniciar la optimizacin.
Esta tarea 5 12 2 7 6 9 Restriccin 4 2 3 1 2 3 Esta tarea 2 8 1 5 4 1
111
A continuacin se muestran ejemplos de una serie de valores de variables como podran aparecer en una hoja de clculo antes de iniciar Evolver, y los nuevos escenarios despus de usar el mtodo de solucin de Calendarizacin.
Grupo original de valores de variables 1 2 3 1 2 3 Un grupo de valores posibles de calendarizacin 1 1 3 1 2 3 Otro grupo de valores posibles de calendarizacin 1 3 1 2 2 2
NOTA: Cuando se selecciona el mtodo de solucin de calendarizacin, se usan siempre los nmeros enteros empezando por 1 (1,2,3...), independientemente de los valores originales de las celdas ajustables.
Tasa de cruce e tasa de mutacin
Uno de los problemas ms difciles en la bsqueda de soluciones ptimas, cuando el problema tiene aparentemente infinitas posibilidades, es determinar dnde concentrar el esfuerzo. Es decir, cunto tiempo del PC debe dedicarse a buscar en nuevas reas del espacio de solucin, y cunto tiempo debe dedicarse a afinar las soluciones de la poblacin de soluciones que han demostrado ser bastante buenas. Gran parte del xito del algoritmo gentico se atribuye a su capacidad de conservar de forma natural este equilibrio. La estructura del algoritmo gentico permite que las buenas soluciones se reproduzcan, pero slo conserva los organismos menos adaptados para mantener la diversidad en espera de que un gen latente resulte importante para la solucin final.
112
Cruce y Mutacin son dos parmetros que afectan el alcance de la bsqueda, y Evolver permite que el usuario cambie estos parmetros antes e incluso durante el proceso de evolucin. De esta forma, un usuario experto puede ayudar al algoritmo gentico decidiendo dnde debe concentrar sus esfuerzos. En la mayora los casos, las configuraciones predeterminadas de cruce y mutacin (0.5 y 0.1 respectivamente) no necesitan ajuste. Si quisiera afinar el algoritmo para un problema, haga estudios comparativos, o para experimentar, aqu tiene una breve introduccin a estos dos parmetros: Tasa de cruce. La tasa de cruce se puede ajustar entre 0.01 y 1.0, y refleja la probabilidad de que futuros escenarios u organismos contengan una mezcla de informacin de la generacin previa de organismos originales. Esta tasa puede ser alterado por usuarios expertos para afinar el funcionamiento de Evolver en problemas complejos. Es decir, una tasa de 0.5 significa que un organismo descendiente contiene aproximadamente el 50% de sus valores de variable de un padre y el resto de los valores del otro padre. Una tasa de 0.9 significa que aproximadamente el 90% de los valores de un organismo descendiente provienen del primer padre y el 10% del segundo. Una tasa de Cruce de 1 significa que no se producir ningn cruce, de forma que slo se evaluarn los clones de los padres. La tasa predeterminada que usa Evolver es 0.5. Cuando Evolver ha comenzado a resolver un problema, se puede cambiar la tasa de cruce usando el Observador del Evolver (consulte la seccin Observador del Evolver de este captulo). Tasa de mutacin. La tasa de mutacin se puede ajustar entre 0.0 y 1.0, y refleja la probabilidad de que futuros escenarios contengan algunos valores aleatorios. Una tasa de mutacin ms alto simplemente significa que se introducirn ms mutaciones o valores de genes aleatorios en la poblacin. Como la mutacin sucede despus del cruce, si ajusta la tasa de mutacin a 1 (100% de valores aleatorios) se impide efectivamente que el cruce tenga efecto, y Evolver genera escenarios totalmente aleatorios.
113
Si todos los datos de la solucin ptima se encuentran en la poblacin, el operador de cruce solo sera suficiente para generar la solucin. La mutacin ha demostrado ser una poderosa fuerza en el mundo biolgico por muchas de las razones por las que es necesaria en el algoritmo gentico: Es vital mantener una poblacin diversa de organismos individuales, evitando as que la poblacin sea demasiado rgida e incapaz de adaptarse a un entorno dinmico. Como en el algoritmo gentico, muchas veces son las mutaciones genticas en los animales lo que finalmente lleva al desarrollo de nuevas funciones vitales. En la mayora de los casos, la configuracin predeterminada de la mutacin no necesita ajuste, si bien puede ser modificada por usuarios expertos para afinar el funcionamiento de Evolver en problemas complejos. Es posible que el usuario quiera potenciar la tasa de mutacin si la poblacin de Evolver es bastante homognea, y no se han encontrado nuevas soluciones en los ltimos cientos de pruebas. Los cambios tpicos de configuracin van de 0.06 a 0.2. Cuando Evolver ha comenzado a solucionar el problema, se puede cambiar la tasa de mutacin dinmicamente a travs del Observador del Evolver (consulte la seccin Observador del Evolver ms adelante en este captulo). Si selecciona Auto en la lista desplegable del campo ndice de Mutacin, se selecciona ajuste automtico de la tasa de mutacin. El ajuste automtico de la tasa mutacin permite a Evolver aumentar la tasa de mutacin automticamente cuando un organismo "envejece" significativamente; es decir, ha permanecido invariable durante un nmero extenso de pruebas. En muchos modelos, especialmente cuando la tasa de mutacin ptimo se desconoce, seleccionar Auto puede generar mejores resultados ms rpidamente.
Nmero de bloques de tiempo y celdas de restriccin
Para obtener ms informacin sobre estas opciones, consulte el mtodo de solucin Calendarizacin de la seccin Mtodos de solucin de este captulo.
Tareas precedentes
Para obtener ms informacin sobre estas opciones, consulte el mtodo de solucin Proyecto de la seccin Mtodos de solucin de este captulo.
114
Operadores
Evolver incluye operadores genticos seleccionables cuando se usa el mtodo de solucin Receta. Si hace clic en la pestaa Operadores del cuadro de dilogo Configuraciones de grupos de celdas ajustables podr seleccionar un operador gentico especfico (como cruce heurstico o mutacin de lmites) para su uso al generar posibles valores de una serie de celdas ajustables. Adems, puede hacer que Evolver pruebe automticamente todos los operadores disponibles e identifique el que mejor funcione en su problema.
Los algoritmos genticos usan operadores genticos para crear nuevos miembros de una poblacin a partir de miembros actuales. Dos de los tipos de operadores genticos que usa Evolver son el de mutacin y el de cruce. El operador de mutacin determina si se producirn cambios aleatorios de genes (variables) y cmo se producirn. El operador de cruce determina cmo intercambian genes los pares de miembros de una poblacin para producir descendientes que puedan ser mejores respuestas que cualquiera de sus padres. Evolver incluye los siguientes operadores genticos especializados: Cruce aritmtico Crea nuevos descendientes combinando aritmticamente dos padres (en lugar de intercambiando genes). Cruce heurstico Usa el valor producido por los padres para determinar cmo se produce la descendencia. Busca en la direccin ms prometedora y proporciona un ajuste fino local. Mutacin Cauchy Diseada para producir pequeos cambios en variables la mayora de las veces, pero ocasionalmente puede generar cambios grandes.
115
Mutacin de frontera Diseada para optimizar rpidamente variables que afectan el resultado de forma monotnica y puede ajustarse en los extremos de su rango sin violar las restricciones. Mutacin no-uniforme Produce mutaciones cada vez ms pequeas segn se van calculando pruebas. Esto permite que Evolver afine las respuestas. Lineal Diseada para resolver problemas en los que la solucin ptima se encuentra en el lmite del espacio de bsqueda definido por las restricciones. Este par de mutacin y operador de cruce se adapta bien a la resolucin de problemas de optimizacin lineal. Bsqueda local Diseada para buscar en el espacio de solucin en las cercanas de una solucin anterior, expandindose en direcciones en las que hay mejoras, y contrayndose en direcciones que generan peores resultados.
Dependiendo del tipo de problema de optimizacin, hay diferentes combinaciones de mutacin y operadores de cruce que pueden producir mejores resultados que otras. En la pestaa Operadores del cuadro de dilogo Configuraciones de grupos de celdas ajustables, se pueden seleccionar una serie de operadores cuando se usa el mtodo de solucin Receta. Cuando se hacen mltiples selecciones, Evolver prueba las combinaciones vlidas de los operadores seleccionados para identificar los que mejor funcionan en su modelo. Despus de una ejecucin, la hoja de clculo de Resumen de optimizacin clasifica cada uno de los operadores seleccionados segn su funcionamiento durante la ejecucin. Para las siguientes ejecuciones del mismo modelo, si selecciona slo los operadores de mejor funcionamiento puede permitir optimizaciones ms rpidas de mejor funcionamiento. NOTA: Cuando cree mltiples grupos de celdas ajustables, compruebe que ninguna celda de la hoja de clculo se incluye en varios grupos diferentes de las celdas ajustables. Cada grupo de celdas ajustables debe contener celdas ajustables exclusivas porque de lo contrario los valores del primer grupo de celdas ajustables se ignorara y sustituira con los valores del segundo grupo de celdas ajustables. Si cree que un problema debe representarse con ms de un mtodo de solucin, considere dividir las variables en dos o ms grupos.
116
Restricciones
Evolver permite introducir restricciones o condiciones que deben cumplirse para que una solucin sea vlida. Las restricciones que ha introducido se muestran en la tabla Restricciones del cuadro de dilogo Definicin de Modelo.
Si hace clic en el botn aadir situado junto a la tabla Restricciones, aparece el cuadro de dilogo Configuraciones de restriccin en el que se introducen las restricciones. Usando este cuadro de dilogo se puede introducir el tipo de restriccin deseada, junto con su descripcin, tipo, definicin y tiempo de evaluacin.
117
Tipo de restriccin
Se pueden especificar dos tipos de restricciones en Evolver: Duras o condiciones que deben cumplirse para que una solucin sea vlida (por ejemplo, una restriccin dura puede ser C10<=A4; en este caso, si una solucin genera un valor para C10 que es superior al valor de la celda A4, la solucin se descarta) Blandas, o condiciones que nos gustara que se cumplieran en la medida de lo posible, pero que podramos ceder a cambio de una gran mejora en la adaptacin o en el resultado de la celda objetivo (por ejemplo, una restriccin blanda sera C10<100; sin embargo, C10 podra ser superior a 100, pero si eso sucede, el valor calculado en la celda objetivo se reducira segn una funcin de penalizacin introducida).
Se pueden usar dos formatos Simple y Frmula para introducir restricciones. El tipo de informacin que se puede introducir para una restriccin depende el formato seleccionado. Formato simple El formato Simple permite introducir las restricciones usando las relaciones simples <, <=, >, >= o = en las que la celda se compara con un nmero introducido. Una restriccin Simple sera: 0<Valor de A1<10 donde A1 se introduce en el cuadro Rango de celda, 0 se introduce en el cuadro Mn y 10 se introduce en el cuadro Mx. El operador deseado se selecciona en los cuadros de lista desplegable. En las restricciones con formato de rango simple de valores se puede introducir slo un valor Mn, slo un valor Mx o ambos. Los valores Mn y Mx introducidos deben ser numricos en el formato de restriccin de rango simple de valores. Formato de frmula El formato de frmula permite introducir cualquier frmula vlida de Excel como una restriccin, como puede ser A19<(1.2*E7)+E8. Evolver verifica si la frmula introducida genera un valor VERDADERO o FALSO para comprobar si la restriccin se ha cumplido.
118
Restricciones blandas
Las restricciones blandas son condiciones que nos gustara que se cumplieran en la medida de lo posible, pero que podramos ceder a cambio de una gran mejora de la idoneidad o del resultado de la celda objetivo. Cuando no se cumple una restriccin blanda se produce un cambio en la celda objetivo que la aleja del valor ptimo. La cantidad del cambio causada por el incumplimiento de una restriccin blanda se calcula usando una funcin de penalizacin que se introduce al especificar la restriccin blanda.
A continuacin se ofrece informacin adicional sobre las funciones de penalizacin: Introduccin de una funcin de penalizacin. Evolver tiene una funcin de penalizacin predeterminada que aparece cuando se introduce una restriccin blanda. Sin embargo, cualquier frmula de Excel vlida se puede introducir para calcular la cantidad de la penalizacin a aplicar cuando no se cumple una restriccin blanda. La funcin de penalizacin introducida debe incluir la palabra clave desviacin que representa la cantidad absoluta por la que la restriccin ha superado su lmite. Al final de cada simulacin de una solucin de prueba, Evolver comprueba si se han cumplido las restricciones blandas; si no, coloca la cantidad de la desviacin en la frmula de la penalizacin introducida y luego calcula la cantidad de la penalizacin a aplicar a la estadstica de la celda objetivo. La cantidad de la penalizacin se suma o se resta a la estadstica calculada en la celda objetivo para que resulte menos ptima. Por ejemplo, si se ha seleccionado Mximo en el campo Meta de optimizacin del cuadro de dilogo Modelo, la penalizacin se resta de la estadstica calculada en la celda objetivo.
Captulo 5: Gua de referencia de Evolver 119
Visualizacin de los efectos de la funcin de penalizacin introducida. Evolver incluye la hoja de trabajo Penalizacin.xls que se puede usar para evaluar los efectos de diferentes funciones de penalizacin en restricciones blandas y celdas objetivo especficas.
Penalizacin.xls permite seleccionar una restriccin blanda de su modelo para analizar sus efectos. Luego, puede cambiar la funcin de penalizacin para ver cmo la funcin transforma un valor especfico de la restriccin blanda incumplida en un valor objetivo especfico penalizado. Por ejemplo, si la restriccin blanda es A10<100, puede usar Penalizacin.xls para ver cul sera el valor objetivo si se calcula un valor de 105 en la celda A10. Visualizacin de las penalizaciones aplicadas. Cuando se aplica una penalizacin a la celda objetivo por incumplimiento de una restriccin blanda, la cantidad de la penalizacin se puede visualizar en el Observador del Evolver. Adems, los valores de penalizacin se muestran en la hoja de clculo Bitcora de Optimizacin, que se puede crear tras la optimizacin.
120
NOTA: Si coloca una solucin en la hoja de trabajo usando las opciones de Actualizacin de Valores de Celda Ajustable del cuadro de dilogo Parar, el resultado de la celda objetivo calculado que muestra la hoja de clculo no incluir ninguna penalizacin aplicada debido a restricciones blandas incumplidas. Compruebe la hoja de clculo Bitcora de Optimizacin para ver el resultado penalizado de la celda objetivo y la cantidad de la penalizacin impuesta debido a cada una de las restricciones blandas no cumplidas. Implementacin de restricciones blandas en las frmulas de una hoja de clculo. Las funciones de penalizacin se pueden implementar directamente en las frmulas de la hoja de clculo. Si las restricciones blandas se implementan directamente en la hoja de clculo, no se deben introducir en el cuadro de dilogo principal de Evolver. Para obtener ms informacin sobre la implementacin de funciones de penalizacin en la hoja de clculo, consulte la seccin Restricciones blandas del Captulo 9: Extras de Evolver.
121
122
Las opciones Parmetros de optimizacin de la pestaa General son: Tamao de poblacin. El tamao de poblacin indica a Evolver cuntos organismos (o grupos completos de variables) deben almacenarse en memoria en cada momento. Aunque hay mucho debate e investigacin sobre el tamao ptimo de una poblacin para diferentes problemas, generalmente recomendamos usar 30100 organismos en una poblacin, dependiendo del tamao del problema (mayor poblacin para problemas ms grandes). La opinin general es que una poblacin grande tarda ms tiempo en generar una solucin, pero tiene mayores probabilidades de encontrar una respuesta global gracias a su reserva gentica ms diversa.
123
Semilla de generador de nmero aleatorio. La opcin de generador de nmero aleatorio permite establecer el valor generador inicial del generador de nmero aleatorio que utiliza Evolver. Cuando se usa un mismo valor generador, una optimizacin genera exactamente la misma respuesta para un mismo modelo, siempre que el modelo no se haya modificado. El valor del generador debe ser un nmero entero entre 1 y 2147483647.
124
125
Las opciones de Tiempo de ejecucin de optimizacin de la pestaa Tiempo de Ejecucin son: Pruebas Esta opcin, cuando se establece, detiene Evolver cuando se genera un nmero determinado de soluciones de prueba. La configuracin de Pruebas es particularmente til para comparar la eficacia de Evolver con diferentes mtodos de modelacin. Al cambiar la forma de modelar un problema, o al seleccionar un mtodo de solucin diferente, se puede aumentar la eficacia de Evolver. Si permite que un modelo se ejecute un nmero especfico de simulaciones, comprobar la eficacia de Evolver en la convergencia sobre una solucin, independientemente de cualquier diferencia en el nmero de variables seleccionadas, la velocidad del hardware informtico que se utiliza, o el tiempo que se tarda en dibujar de nuevo la pantalla. La hoja de trabajo de resumen de optimizacin de Evolver tambin es til para comparar resultados entre ejecuciones. Para obtener ms informacin sobre las hojas de clculo de Resumen de Optimizacin, consulte la seccin Observador del Evolver Opciones de detencin de este captulo. Tiempo - Esta opcin, cuando se establece, detiene las simulaciones de escenarios de Evolver despus de un nmero determinado de horas, minutos o segundos transcurridos. Esta opcin puede ser cualquier nmero real positivo (600, 5.2, etc.). Progreso Esta opcin, cuando se establece, detiene las simulaciones de escenarios de Evolver cuando la mejora de la celda objetivo es menor de una cantidad especificada (criterios de cambio). Se puede especificar como un nmero entero el nmero de simulaciones transcurridas para comprobar la mejora. Se puede introducir un valor porcentual como 1% como valor mximo de cambio en el campo Cambio mximo. Supongamos que trata de maximizar la media de la celda objetivo, y despus de 500 simulaciones, la mejor respuesta encontrada es 354.8. Si la opcin Progreso es la nica condicin de parada seleccionada, Evolver se pausar en la simulacin 600 y slo continuar si puede encontrar una respuesta de al menos 354.9 durante esas ltimas 100 simulaciones. Es decir, las respuestas de Evolver no han mejorado al menos 0.1 en las ltimas 100 simulaciones, por lo tanto presupone que el margen de mejora es mnimo, y detiene la bsqueda. En problemas ms complejos, puede aumentar el nmero de simulaciones que ejecuta Evolver
126
(500) antes de decidir si hay suficiente margen de mejora para seguir. Esta es la condicin de parada ms usada, porque ofrece al usuario una forma eficaz de parar Evolver despus de que la tasa de mejora haya bajado y Evolver no haya podido encontrar mejores soluciones. Si est visualizando grficos de los mejores resultados en la pestaa Progreso del Observador del Evolver, ver que el grfico llega a un punto y mantiene una lnea plana antes de que se cumpla esta condicin y Evolver se pare. Progreso es realmente una forma automtica de hacer lo que usted hara con el grfico: dejar que funcione hasta que deja de producirse una mejora. Frmula es verdadera Esta condicin de parada detiene la optimizacin cuando la frmula de Excel introducida (o de referencia) genera un valor VERDADERO durante la optimizacin. Detener en error Esta condicin de parada detiene la optimizacin cuando se genera un valor de Error en la celda objetivo.
NOTA: Tambin puede optar por no seleccionar ninguna condicin de parada, y Evolver seguir en funcionamiento indefinidamente hasta que pulse el botn de parada en la ventana del Observador del Evolver.
127
Las opciones de la pestaa Visualizar son: Minimizar Excel al iniciar. Esta opcin minimiza Excel cuando se inicia una optimizacin. Mostrar reclculos de Excel. Esta opcin actualiza Excel con Cada mejor nueva prueba o el final de Cada prueba. Mantener bitcora de todas las pruebas. Esta opcin especifica que Evolver conserve un registro de funcionamiento de cada nueva simulacin que se realice. Este registro se puede ver en la ventana del Observador del Evolver.
128
Los macros se pueden ejecutar en los siguientes momentos de una optimizacin: Al inicio de la optimizacin El macro se ejecuta despus de hacer clic en el icono Ejecutar y antes de que se genere la primera solucin de prueba. Antes del reclculo de cada prueba El macro se ejecuta antes de que se realice el reclculo de cada prueba. Despus del reclculo de cada prueba El macro se ejecuta despus de que se realice el reclculo de cada prueba. Despus de almacenar variable de salida El macro se ejecuta despus de cada prueba ejecutada y despus de que se almacene el valor de la celda objetivo. Al final de la optimizacin El macro se ejecuta cuando se completa la optimizacin.
129
Esta funcin permite que se lleven a cabo clculos que slo se pueden realizar con un macro durante una optimizacin. Algunos ejemplos de este tipo de clculos llevados a cabo con macros son los clculos de operaciones repetitivas y los clculos que requieren nuevos datos de fuentes externas. El Nombre de macro define el macro que se va a ejecutar.
130
Aparecer la ventana de progreso: Prueba es el nmero total de pruebas ejecutadas y Nmero vlido indica el nmero de esas pruebas que cumplen las restricciones. Tiempo de ejecucin es el tiempo transcurrido durante la ejecucin Original es el valor original de la celda objetivo. Mejor es el mejor valor actual de la celda objetivo que se trata de minimizar o maximizar.
131
Las opciones de la barra de herramientas de la ventana Progreso de Evolver son: Mostrar opciones de actualizacin de Excel. Selecciona la actualizacin de la pantalla de Excel en Cada prueba, en Cada mejor nueva prueba o Nunca. Recuerde que en algunas situaciones, la pantalla se actualiza independientemente de estas configuraciones, por ejemplo, cuando se pausa la optimizacin. Mostrar Observador del Evolver. Muestra la ventana completa del Observador del Evolver. Ejecutar. Si hace clic en el icono Ejecutar, Evolver comienza la bsqueda de una solucin basada en la descripcin actual del cuadro de dilogo Modelo de Evolver. Si pausa Evolver, seguir pudiendo hacer clic en el icono Ejecutar para continuar la bsqueda de mejores soluciones. Pausar. Si quiere pausar el proceso de Evolver, haga clic en el icono Pausar y el proceso de Evolver se congelar temporalmente. Mientras est pausado, podr abrir y explorar el Observador del Evolver y cambiar parmetros, examinar toda la poblacin, ver el informe de estado o copiar un grfico. Parar. Detiene la optimizacin.
132
Comandos de Utilidades
Comando Configuraciones de aplicacin
Muestra el cuadro de dilogo Configuraciones de aplicacin donde se establecen los ajustes predeterminados del programa
Muchas de las configuraciones de Evolver se pueden establecer en valores predeterminados que se usan cada vez que se usa Evolver. Estas configuraciones predeterminadas incluyen las de Parada, ndice de Cruce y Mutacin, etc.
133
134
Comandos de Utilidades
La ventana de Progreso tiene un botn que permite al usuario ir al Observador del Evolver. En el modo de Solver de restricciones, los detalles de progreso de la optimizacin se ofrecen como en las optimizaciones realizadas en modo normal, en las pestaas Progreso, Resumen, Bitcora, Poblacin y Diversidad. En el modo de Solver de restricciones, el Observador contiene una pestaa adicional denominada Solver de restricciones. Esta pestaa muestra el estado de cada restriccin dura (Se cumple o No se cumple) de las soluciones Mejor, Original y ltima.
Una optimizacin del Solver de restricciones se detiene cuando se encuentra una solucin que cumple todas las restricciones duras; tambin se puede parar haciendo clic en un botn de la ventana de progreso o de la ventana Observador del Evolver. Despus de la ejecucin del Solver de restricciones, en la pestaa Opciones de detencin del Observador del Evolver se puede optar por conservar las soluciones Mejor, Original o ltima, como sucede en las optimizaciones realizadas en modo normal. Recuerde que no es necesario configurar el Solver de restricciones antes de su uso. El programa usa las configuraciones especificadas en el modelo, y slo cambia el objetivo de optimizacin: el nuevo objetivo es encontrar una solucin que cumpla todas las restricciones duras.
135
136
Comandos de Utilidades
137
Los grficos de progreso muestran la cuenta de simulaciones en el eje X y el valor de la celda objetivo en el eje Y. Se puede modificar la escala de los grficos de progreso haciendo clic en los lmites de eje y arrastrando el eje hasta el nuevo valor de escala. Tambin se puede hacer clic derecho en el grfico de Progreso para mostrar el cuadro de dilogo de Opciones de Grfico en el que se pueden personalizar los grficos.
138
El cuadro de dilogo Opciones de Grfico muestra las configuraciones que controlan los ttulos, leyendas, escala y fuentes del grfico.
139
Las Configuraciones de grupos de celdas ajustables permiten cambiar las tasas de cruce y mutacin del algoritmo gentico mientras el problema est en proceso. Cualquier cambio que se haga aqu sustituye la configuracin original de estos parmetros y se activa inmediatamente, afectando a la poblacin (o grupo de celdas ajustables) seleccionado en el campo Grupo mostrado. Casi siempre se recomienda usar el valor predeterminado de cruce de 0.5. En el caso de la mutacin, en muchos modelos se puede aumentar hasta llegar a 0.4 si quiere encontrar la mejor solucin y no le importa esperar. Si establece el valor de mutacin en 1 (el mximo) el programa har suposiciones totalmente aleatorias, ya que Evolver realiza las mutaciones despus de hacer el cruce. Esto significa que despus de cruzar los dos padres seleccionados para crear una solucin descendiente, el 100% de los genes de la solucin mutarn a nmeros aleatorios, haciendo que el cruce no tenga significado (para obtener ms informacin, consulte las secciones tasa de cruce, para qu sirve e tasa de mutacin, para qu sirve del ndice de este manual).
140 El Observador del Evolver
Las opciones Mostrar establecen si se muestra un registro de Todas las pruebas o slo de aquellas pruebas en las que se produjo un Paso de progreso (es decir, cuando los resultados de la optimizacin mejoraron). El registro incluye: 1) Tiempo transcurrido, o el tiempo de inicio de la simulacin 2) Pruebas, o nmero de iteraciones ejecutadas 3) Resultado, o valor de la celda objetivo que est tratando de minimizar o maximizar, incluyendo las penalizaciones de las restricciones blandas
141
4) Media de resultado, Desviacin Estndar de resultado, Mnimo de resultado y Mximo de resultado, o valores estadsticos de la distribucin de probabilidad de la celda objetivo calculada 5) Columnas de entrada, o valores usados en la celdas ajustables 6) Columnas de restricciones que muestran si se han cumplido las restricciones
142
143
144
145
Este cuadro de dilogo tambin aparece si se cumple alguna de las condiciones de parada especificadas por el usuario (se ha evaluado el nmero de pruebas establecido, han transcurrido los minutos solicitados, etc.). La alerta de parada ofrece tres opciones de actualizacin de los valores de las celdas ajustables en la hoja de clculo: Mejor, Original y ltimo. Mejor. Esa opcin acepta los resultados de Evolver y termina la bsqueda de una solucin mejor en Evolver. Cuando se selecciona esta opcin, los valores del mejor escenario que Evolver ha encontrado en su bsqueda se colocan en las celdas ajustables de la hoja de clculo. Original. Esta opcin restaura las celdas ajustables a sus valores originales anteriores a la ejecucin de Evolver y termina la bsqueda de mejores soluciones en Evolver. ltimo. Esta opcin hace que Evolver coloque los ltimos valores calculados de la optimizacin en la hoja de clculo. La opcin ltimos Valores Calculados es especialmente til para refinar modelos.
146
Las opciones Informes a generar pueden generar hojas de trabajo de resumen de optimizacin que se pueden usar para generar informes de resultados de una ejecucin y comparar los resultados entre ejecuciones. Las opciones de informe son: Resumen de optimizacin. Este informe de resumen de la optimizacin contiene informacin como la fecha y la hora de la ejecucin, las configuraciones de optimizacin utilizadas, el valor calculado para la celda objetivo y el valor de cada una de las celdas ajustables.
147
Este informe es til para comparar los resultados de optimizaciones sucesivas. Bitcora de todas las pruebas. Este informe registra los resultados de todas las pruebas realizadas.
Bitcora de los pasos de progreso. Ese informe registra los resultados de todas las pruebas que mejoraron el resultado de la celda objetivo.
148
Captulo 6: Optimizacin
Mtodos de optimizacin...............................................................151 Los algoritmos de escalada .................................................................153 Excel Solver ....................................................................................157 Evolver y Solver....................................................................................158 Cundo se debe usar Evolver.............................................................159 Tipos de problemas........................................................................161 Problemas lineales..................................................................161 Problemas no lineales............................................................161 Problemas basados en tablas................................................163 Problemas combinatorios......................................................164
Captulo 6: Optimizacin
149
150
Mtodos de optimizacin
Ya hemos visto algunos ejemplos de problemas de optimizacin en los tutoriales. Algunos problemas de optimizacin son ms difciles de resolver que otros. En los problemas ms difciles, como la bsqueda de la ruta ms corta entre 1000 ciudades, no es posible examinar todas las soluciones posibles. Hacerlo requerira aos de clculos en las computadoras ms rpidas. Para resolver ese tipo de problemas, es necesario hacer una bsqueda en un subgrupo de todas las posibles soluciones. Al examinar estas soluciones, podremos hacernos una idea de cmo encontrar mejores soluciones. Esto se consigue con un algoritmo. Un algoritmo es una descripcin por pasos de cmo resolver un problema. Todos los programas informticos, por ejemplo, se desarrollan mediante la combinacin de muchos algoritmos. Empecemos por explorar cmo representan un problema la mayora de los algoritmos de resolucin de problemas. La mayora de los problemas se pueden dividir en tres componentes bsicos: variables de entrada, una funcin de algn tipo y un resultado de salida. Qu se analiza: Qu se aplica: Para el mejor: Componentes el problema En Evolver/Excel Entradas Variables Funcin Modelo Resultado Objetivo
Supongamos que nuestro problema de optimizacin tiene dos variables, X e Y. Cuando se ponen en una ecuacin, estas dos variables producen un resultado =Z. Nuestro problema es encontrar los valores X y Y que produzcan el valor Z ms grande. Podemos imaginar que Z es una clasificacin que indica lo adecuado que es cada par de valores X,Y. Qu se analiza: Qu se aplica: Para el mejor: En esta ejemplo XeY Ecuacin Z
Captulo 6: Optimizacin
151
Un diagrama de todos los pares X,Y y la Z resultante generara un grfico de superficie tridimensional como el que se muestra a continuacin.
Cada interseccin de los valores de X e Y produce una altura Z. Los picos y valles de este paisaje representan soluciones buenas y malas respectivamente. En esta funcin, la bsqueda del punto mximo o ms elevado mediante el examen de cada solucin tomara demasiado tiempo, incluso con la computadora ms potente y con el programa ms rpido.* Recuerde que le damos a Excel slo la funcin, no un grfico de la funcin, y que igualmente podra tratarse de un problema de 200 dimensiones en lugar de este de dos dimensiones. Por lo tanto, necesitamos un mtodo que nos permita hacer menos clculos y genere la mxima productividad.
En nuestro diagrama, la funcin se muestra como un paisaje uniforme. En los pocos casos en los que se usan funciones simples y uniformes (diferenciables), se puede hacer un clculo de los mnimos y mximos. Sin embargo, los problemas ms realistas no se describen con funciones tan uniformes.
152 Mtodos de optimizacin
En el diagrama de arriba podemos ver claramente que queremos que el punto vaya hacia arriba a la derecha. Sin embargo, lo sabemos porque ya hemos visto el paisaje completo. Cuando el algoritmo se ejecuta, explora el paisaje situado inmediatamente alrededor, pero no el paisaje completo; ve los rboles, pero no ve el bosque completo.
Captulo 6: Optimizacin
153
En la mayora de los problemas del mundo real, el paisaje no es uniforme, y requerira aos calcularlo, por eso slo calculamos el escenario actual y los escenarios situados inmediatamente alrededor. Imagine que el punto es una persona con los ojos vendados situada entre colinas de subidas y bajadas suaves. Si esta persona emplea el mtodo de escalada, pondra un pie en cada direccin, y slo se movera cuando sintiera que el terreno sube. Esta persona seguir subiendo y finalmente acabara en la cima de la colina con la tierra a su alrededor a nivel ms bajo que el terreno en el que se encuentra. Esto parece simple. Sin embargo, tenemos un problema muy serio si la persona empieza en otro lugar ... y sube la colina equivocada. (ver el diagrama de abajo).
Incluso con una funcin uniforme, el mtodo de escalada puede fallar si se comienza en una posicin ligeramente diferente (derecha).
La escalada slo encuentra la colina ms cercana, o mximo local. Por eso, si un problema tiene un paisaje de solucin muy irregular, como la mayora de los modelos realistas, es muy posible que el mtodo de escalada no encuentre la colina ms alta, ni siquiera una de las ms altas. La escalada tiene otro problema; cmo se encuentra el terreno alrededor de nuestra posicin actual? Si el paisaje se describe con una funcin uniforme, se puede usar diferenciacin (una tcnica de clculo) para averiguar en qu direccin se encuentra la pendiente ms pronunciada. Si el paisaje es discontinuo o no diferenciable (como es ms probable en los problemas reales), debemos calcular la idoneidad de los escenarios situados alrededor.
154
Mtodos de optimizacin
Por ejemplo, supongamos que un banco contrata un guardia de seguridad de 9:00 am a 5:00 pm para proteger el banco, pero el banco debe dar al oficial dos (2) descansos de media hora. Debemos intentar encontrar las horas de descanso ptimas, siguiendo reglas generales sobre relaciones de rendimiento / fatiga, y considerando los diferentes niveles de actividad de los clientes a lo largo del da. Podemos empezar por probar diferentes combinaciones de descansos y evaluarlos. Si en la actualidad usamos un horario en el que los descansos estn a las 11:00 am y a las 3:00 pm, podemos calcular la productividad de los escenarios cercanos: Direccin
Solucin actual Escenario oeste Escenario este Escenario norte Escenario sur
Si tuviramos tres celdas ajustables (descansos) en lugar de dos, necesitaramos buscar en ocho direcciones diferentes. De hecho, si tuviramos slo cincuenta variables, (algo realista para un problema de tamao medio), necesitaramos calcular la productividad de 250, es decir, ms de cuatro mil billones de escenarios, y eso slo para un guardia. Se pueden hacer modificaciones al mtodo de escalada para mejorar su capacidad de encontrar mximos globales (las colinas ms altas de todo el paisaje). La escalada resulta ms til a la hora de tratar problemas unimodales (un solo pico); por eso algunos programas de anlisis usan esta tcnica. En cualquier caso, es muy limitado para tratar problemas complejos o grandes.
Captulo 6: Optimizacin
155
156
Mtodos de optimizacin
Excel Solver
Excel incluye una utilidad de optimizacin denominada Solver. Cumple una funcin similar a la de Evolver: encontrar soluciones ptimas. Solver puede resolver dos tipos de problemas: problemas lineales y problemas simples no lineales. Resuelve problemas lineales usando una rutina de programacin lineal. Esta tcnica matemtica clsica frecuentemente se denomina mtodo Simplex y encuentra siempre respuestas perfectas a problemas pequeos puramente lineales. Como la mayora de los programas pequeos de resolucin, el Microsoft Solver tambin resuelve problemas no lineales usando una rutina de escalada (especficamente la rutina GRG2). Una rutina de escalada comienza con los valores de variable actuales y lentamente los ajusta hasta que el resultado de salida deja de mejorar. Esto significa que los problemas con ms de una solucin posible pueden ser imposibles de resolver correctamente para Solver, porque Solver termina en una solucin local y no puede saltar a una solucin global (ver la figura de abajo).
Adems, Solver requiere que la funcin representada por su modelo sea continua. Esto significa que el resultado de salida debe cambiar uniformemente con el ajuste de las variables de entrada. Si su modelo usa tablas de referencia, adquiere datos con ruido en tiempo real de otros programas, contiene elementos aleatorios o incluye reglas sientonces, su modelo ser irregular y discontinuo. Solver no sera capaz de resolver ese problema. Solver tambin pone un lmite al nmero de variables y al nmero de restricciones del problema (200) por encima del cual hay que recurrir a una tcnica ms potente.
Captulo 6: Optimizacin 157
Evolver y Solver
Tanto Excel Solver como Evolver tienen sus propias ventajas e inconvenientes. En general, Solver es ms rpido a la hora de resolver problemas simples y pequeos, mientras que Evolver es la nica forma de resolver otros muchos tipos de problemas. Adems, notar que Evolver encontrar mejores respuestas que Solver en problemas ms grandes y complejos, del tipo que normalmente se encuentran en el mundo real. Evolver puede encontrar respuesta a muchos ms tipos de problemas que Solver. Casi cualquier situacin numrica que pueda modelar en Excel se puede optimizar en Evolver. Ms especficamente, Evolver puede encontrar soluciones ptimas a problemas numricos lineales, no lineales, basados en tablas o estocsticos (aleatorios). Puede resolver problemas con cualquier combinacin de estas cualidades. Evolver tambin puede generar permutaciones de valores existentes, reordenar valores o agrupar valores de diferentes formas para encontrar una solucin ptima. De hecho, cada vez que se encuentre con un modelo de hoja de calculo con variables que se pueden ajustar para modificar el resultado del modelo, Evolver puede automatizar el proceso de bsqueda procesando inteligentemente miles de escenarios y conservando los mejores. El proceso de algoritmo gentico de Evolver se adapta mejor que Solver a las interrupciones. Se puede detener en proceso de Evolver en cualquier momento para ver la mejor solucin que Evolver ha encontrado hasta ese momento. Luego, puede hacer cambios en el propio problema y continuar el proceso exactamente donde lo dej. Por ejemplo, en un problema de programacin de trabajos, tal vez quiera encontrar las mejores tareas para asignar a las mquinas. Cuando una mquina est disponible, puede parar el proceso del algoritmo gentico para encontrar la tarea ptima a asignar a esa mquina. Luego, esa tarea se puede omitir en el problema y la optimizacin puede continuar con el resto de los trabajos. El algoritmo gentico que proporciona a Evolver la capacidad para administrar todos esos tipos de problemas normalmente ser ms lento que Solver y que otros mtodos matemticos o estadsticos tradicionales. Algunas clases de problemas utilizan rutinas de optimizacin bien conocidas y refinadas. En esos casos, encontrar las respuestas ms rpidamente usando esos mtodos personalizados, en lugar del mtodo de uso general que utiliza Evolver.
158 Excel Solver
160
Excel Solver
Tipos de problemas
Normalmente se optimizan siete tipos diferentes de problemas. Si usted comprende estos tipos de problemas, podr aplicar mejor Evolver a sus propios modelos.
Problemas lineales
En los problemas lineales, todos los resultados son funciones lineales simples de las variables de entrada, como en y=mx+b. Cuando los problemas slo aplican operaciones aritmticas simples como suma, resta y funciones de Excel como TENDENCIA() o PRONOSTICO(), quiere decir que las relaciones entre las variables son puramente lineales. Los problemas lineales han sido relativamente fciles de solucionar desde la llegada de las computadoras y la invencin del Mtodo Simplex por parte de George Dantzig. Un problema lineal simple se puede solucionar ms rpidamente y con mayor precisin con una utilidad de programacin lineal. La utilidad Solver que ofrece Excel se convierte en una herramienta de programacin lineal cuando se marca la casilla Asumir modelo lineal.* Solver usa luego una rutina de programacin lineal para encontrar rpidamente la solucin perfecta. Si el problema se puede expresar en trminos puramente lineales, debe usar programacin lineal. Desafortunadamente, la mayora de los problemas del mundo real no se pueden describir linealmente.
Problemas no lineales
Si el costo de fabricacin y transporte de 5,000 dispositivos es de $5,000, costara $1 fabricar y transportar 1 dispositivo? Probablemente no. La lnea de produccin de la fbrica de dispositivos seguira consumiendo energa, seguira siendo necesario completar y procesar el papeleo administrativo de los diferentes departamentos, los materiales se seguiran comprando al por mayor, los camiones requeriran la misma cantidad de gasolina para transportar los dispositivos y el conductor del camin seguira recibiendo el pago de un da completo de salario independientemente de lo lleno que est su camin. La mayora de los problemas del mundo real no incluyen variables con relaciones lineales simples. Esos problemas incluyen multiplicacin, divisin, exponentes y funciones incorporadas de Excel como RCUAD() o CRECIMIENTO(). Cuando las variables tienen una relacin desproporcionada entre ellas, el problema deja de ser lineal para ser no lineal.
*
Para obtener detalles ms especficos sobre la utilidad del Solver de Microsoft, consulte la Gua del Usuario de Excel.
Captulo 6: Optimizacin 161
Un ejemplo perfecto de problema no lineal es la administracin del proceso de fabricacin de una planta qumica. Imagine que queremos mezclar algunos reactivos qumicos y obtener un producto como resultado. La relacin de esta reaccin puede variar de forma no lineal con la cantidad de reactivos disponibles. En un momento dado, el catalizador se satura y un exceso de reactivo supone un problema. El siguiente diagrama muestra esta relacin:
Si slo necesitamos encontrar el nivel mnimo de reactivos que genere el nivel ms alto de reaccin, podemos comenzar en cualquier punto del grfico y escalar por la curva hasta alcanzar la cima. Este mtodo para encontrar una respuesta se denomina escalada. El mtodo de escalada siempre halla la mejor respuesta si (a) la funcin que se explora es uniforme y (b) los valores de la variable inicial se encuentran junto a la colina ms alta. Si no se cumple una de estas condiciones, el mtodo de escalada puede convertirse en una solucin local en lugar de alcanzar la solucin global. Los problemas altamente no lineales, los que se ven con frecuencia en la prctica, tienen muchas posibles soluciones por todo un complicado paisaje. Si un problema tiene muchas variables, o las frmulas tienen demasiado ruido o muchas curvas, la mejor respuesta probablemente no se encontrar con el mtodo de escalada, incluso aunque se hagan cientos de pruebas desde diferentes puntos de inicio. Lo ms probable es que se encuentre una solucin inferior a la ptima y extremadamente local (ver la figura de abajo).
Datos con ruido: el mtodo de escalada no es eficaz, incluso con mltiples pruebas.
162
Tipos de problemas
Evolver no utiliza el mtodo de escalada. En su lugar, usa una tcnica de bsqueda estocstica dirigida, denominada algoritmo gentico. Esto permite a Evolver saltar de un lado a otro dentro del espacio de solucin de un problema, examinando muchas combinaciones de valores de entrada sin quedarse en el resultado ptimo local. Adems, Evolver permite que se comuniquen los buenos escenarios para obtener valiosa informacin sobre el paisaje general de la solucin, y luego usa esa informacin para hacer mejores suposiciones sobre los escenarios con mayores probabilidades de xito. Si tiene un problema complejo o altamente no lineal, debe utilizar y en ocasiones tiene que utilizar Evolver.
Evolver genera mltiples escenarios posibles y luego refina la bsqueda basndose en los resultados obtenidos.
Muchos problemas requieren el uso de tablas de referencia y bases de datos. Por ejemplo, para elegir las cantidades de diferentes materiales a comprar, tal vez es necesario buscar los precios que se cobran por las diferentes cantidades. Las tablas y bases de datos hacen que los problemas sean discontinuos (no uniformes). Esto dificulta la bsqueda de soluciones ptimas a las rutinas de escalada como la de Solver. Sin embargo, Evolver no requiere continuidad en las funciones que evala, y puede encontrar buenas soluciones para los problemas basados en tablas, incluso en problemas que usan grandes tablas interrelacionadas. Si el problema requiere la consulta de valores en una base de datos, o una tabla de datos de Excel, en la que la tasa del elemento de la tabla es una variable o una funcin de una variable, debe utilizar Evolver. Si slo tiene que consultar un elemento constante una tabla (el mismo registro se extrae de la tabla independientemente de los valores de las variables de entrada), entonces slo se trata de una constante, y probablemente podr usar Solver.
Captulo 6: Optimizacin
163
Problemas combinatorios
Hay un grupo grande de problemas que son muy diferentes a los problemas numricos examinados hasta ahora. Los problemas en los que para obtener el resultado se debe cambiar el orden de las variables existentes o se deben agrupar subgrupos de variables de entrada, se denominan problemas combinatorios. Estos problemas son normalmente muy difciles de resolver, porque frecuentemente requieren una cantidad de tiempo exponencial; es decir, la cantidad de tiempo necesaria para resolver un problema con 4 variables puede ser de 4 x 3 x 2 x 1, y si multiplicamos por dos el nmero de variables hasta 8, el tiempo de resolucin se eleva a 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1, o sea, un factor de 1,680. Mientras que el nmero de variables se multiplica por dos, el nmero de posibles soluciones que deben comprobarse aumenta 1,680 veces. Por ejemplo, la eleccin de los jugadores titulares de un equipo de bisbol es un problema combinatorio. Con 9 jugadores, se puede elegir uno entre los 9 como primero en el orden de bateo. Luego puede elegir uno entre 8 como segundo bateador; uno de entre los 7 restantes ser el tercero, etc. Por lo tanto hay 9x8x7x6x5x4x3x2x1 formas (9 factorial) de seleccionar el orden de bateo de 9 jugadores. Esto supone 362,880 rdenes diferentes. Si multiplicamos por dos el nmero de jugadores, hay 18 factorial posibles rdenes, o sea 6,402,373,705,000,000 posibles rdenes de bateo! El algoritmo gentico de Evolver busca inteligentemente entre las posibles permutaciones. Esto es mucho ms prctico que buscar entre todas las posibilidades, y es mucho ms eficaz que examinar permutaciones puramente aleatorias; se pueden conservar subrdenes de buenos escenarios y usarlas para crear escenarios an mejores.
164
Tipos de problemas
165
166
Introduccin
Evolver utiliza el algoritmo gentico para buscar respuestas ptimas en los modelos de simulacin. Este captulo proporciona informacin general sobre algoritmos genticos que explica cmo se usan para la optimizacin de modelos de simulacin.
Historia
Los primeros algoritmos genticos fueron desarrollados a principios de los aos setenta por John Holland en la University of Michigan. A Holland le llamaba la atencin la facilidad con la que los sistemas biolgicos realizaban tareas que no podan realizar ni siquiera las supercomputadoras ms avanzadas; los animales pueden reconocer objetos sin problemas, comprender y traducir sonidos y navegar en general a travs de un entorno dinmico casi instantneamente. Durante dcadas, los cientficos pretendieron replicar esta capacidad en las mquinas, pero empezamos a darnos cuenta de la dificultad que entraa esta tarea. La mayora de los cientficos estn de acuerdo en que cualquier sistema biolgico complejo que exhiba estas cualidades ha evolucionado para llegar a ese punto.
Teora de la Evolucin
La Evolucin, segn afirma la teora, ha producido sistemas asombrosos mediante elementos relativamente sencillos y autoreproductivos que siguen una serie de reglas simples: 1) La evolucin se produce a nivel cromosmico. El organismo no evoluciona sino que sirve de vehculo mediante el que se transportan y transmiten los genes. Son los cromosomas los que cambian dinmicamente con cada reorganizacin de los genes. 2) La naturaleza tiende a hacer ms copias de los cromosomas que producen organismos ms adaptados. Si un organismo sobrevive lo suficiente, y est sano, hay mayores probabilidades de que sus genes se transmitan a una nueva generacin de organismos a travs de la reproduccin. Este principio se conoce como el de supervivencia de los mejor adaptados. Recuerde que mejor adaptado es un trmino relativo; para que un organismo tenga xito slo necesita adaptarse en comparacin con otros de la poblacin actual.
167
3) Debe mantenerse la diversidad de la poblacin. En la naturaleza se producen con frecuencia mutaciones aparentemente aleatorias que aseguran la variacin de los organismos. Estas mutaciones genticas resultan muchas veces en una funcin til o incluso vital para la supervivencia de una especie. Con una gama ms amplia de posibles combinaciones, una poblacin es menos susceptible a debilidades comunes que puedan destruir a todos sus elementos (virus, etc.) o a otros problemas asociados con la reproduccin con consanguinidad. Cuando se divide la evolucin en estas reglas fundamentales, es ms fcil aplicar estas tcnicas al mundo informtico y comenzar verdaderamente un avance hacia mquinas de funcionamiento ms fluido y natural. Holland empez a aplicar estas propiedades de la evolucin a secuencias simples de nmeros que representaban cromosomas. Primero codific el problema en secuencias binarias (filas de unos y ceros) para representar los cromosomas, y luego hizo que la computadora generara muchas de estas secuencias de bit para formar una poblacin completa. Program una funcin de adaptacin que pudiera evaluar y clasificar cada secuencia de bit, y las secuencias que se consideraron ms adaptadas intercambiaban datos con otras a travs de una rutina de cruce para crear secuencias de bit de descendencia. Holland incluso someti sus cromosomas digitales a un operador de mutacin que introdujo aleatoriedad a los cromosomas descendientes resultantes para conservar la diversidad de la poblacin. Esta funcin de adaptacin reemplazaba el papel de la muerte en el mundo biolgico, determinando qu secuencias eran buenas para continuar con la reproduccin y cules dejaran de conservarse en memoria.
168
Historia
El programa conserv un nmero determinado de estos cromosomas en memoria, y esta poblacin completa de secuencias continu evolucionando hasta maximizar la funcin de adaptacin. El resultado se decodific de nuevo a sus valores originales para revelar la solucin. John Holland sigue siendo un pionero activo en este campo, y ahora se unen a l cientos de cientficos y expertos que han dedicado la mayora de su tiempo a desarrollar esta prometedora alternativa a la tradicional programacin lineal y a las tcnicas matemticas y estadsticas. El algoritmo gentico original de Holland era bastante simple, a la vez que extraordinariamente slido, a la hora de encontrar soluciones ptimas a una amplia variedad de problemas. Muchos programas especiales en la actualidad resuelven problemas reales muy grandes y complejos usando versiones que slo son ligeras modificaciones de ese algoritmo gentico original.
Adaptaciones modernas de algoritmos genticos
Con el aumento del inters en entornos acadmicos y la incorporacin de una gran potencia de clculo a las mquinas de comercializacin general, plataformas de referencia como Microsoft Windows y Excel facilitaron el diseo y mantenimiento de modelos complejos. El uso de nmeros reales, en lugar de representaciones de secuencias de bits, eliminaron la difcil tarea de codificar y decodificar los cromosomas. La popularidad de algoritmo gentico crece ahora exponencialmente, con la creciente aparicin de seminarios, libros, artculos periodsticos y expertos consultores. La Conferencia Internacional sobre Algoritmos Genticos ya dedica su atencin a aplicaciones prcticas, una seal de madurez que no se muestra en otras tecnologas de inteligencia artificial. Muchas de las compaas Fortune 500 emplean algoritmos genticos regularmente para resolver problemas del mundo real, desde agentes de bolsas y mercados de valores hasta plantas energticas, cadenas de restaurantes, fabricantes de automviles y emisoras de televisin. De hecho, es muy probable que usted ya haya usado indirectamente un algoritmo gentico.
169
170
Historia
Un ejemplo biolgico
veamos un sencillo ejemplo de evolucin en el mundo biolgico (a pequea escala). Por evolucin queremos decir cualquier cambio de distribucin o frecuencia de los genes de una poblacin. Por supuesto, lo ms interesante de la evolucin es que tiende generar poblaciones que se adaptan constantemente a sus entornos. Imagine que estamos observando una poblacin de ratones. Estos ratones tienen dos tamaos, grande y pequeo, y dos colores, claro y oscuro. Nuestra poblacin consta de los siguientes ocho ratones:
Un da, los gatos llegaron al barrio y empezaron a comerse a los ratones. Resulta que los ratones ms oscuros y pequeos son ms difciles de encontrar para los gatos. Por lo tanto, diferentes ratones tienen diferentes posibilidades de evitar a los gatos lo suficiente como para reproducirse. Esto afecta a la naturaleza de la siguiente generacin de ratones. Suponiendo que los ratones viejos mueren poco despus de reproducirse, la siguiente generacin de ratones sera as:
Observe que los ratones grandes, los ratones claros y, especialmente, los ratones grandes y claros tienen problemas para sobrevivir lo suficiente como para reproducirse. Esto contina en la siguiente generacin.
171
Ahora, la poblacin consta mayoritariamente de ratones pequeos y oscuros, porque estos ratones estn mejor adaptados para la supervivencia en este entorno que otros tipos de ratones. Del mismo modo, cuando los gatos pasan hambre por la falta de comida, tal vez los gatos que prefieren comer hierba estarn mejor adaptados y transmitirn sus genes de comedores de hierba a la nueva generacin de gatos. Este es el concepto principal de la supervivencia de los mejor adaptados. Tambin podra decirse, de forma ms exacta, que se trata de la supervivencia hasta la reproduccin. En trminos de evolucin, ser el soltero ms sano de la poblacin no significa nada, ya que es necesario reproducirse para que los genes influencien futuras generaciones.
172
Un ejemplo biolgico
Un ejemplo digital
Imaginemos un problema con dos variables, X e Y, que generan un resultado Z. Si calculamos y hacemos el diagrama del resultado Z de todos los valores posibles de X e Y, veremos aparecer un paisaje de resultados (explicado en el Captulo 6: Optimizacin). Como estamos tratando de obtener el valor mximo de Z, los picos de la funcin son soluciones buenas y los valles son malas. Cuando se usa un algoritmo gentico para maximizar una funcin, empezamos por crear varias soluciones o escenarios posibles aleatorios (los puntos negros), en lugar de un solo punto inicial. Luego se calcula el resultado de la funcin de cada escenario y se incluye en el diagrama como un punto. A continuacin, se clasifican todos los escenarios segn su altitud, de mejor a peor. Conservamos los escenarios de la mitad superior de la lista y desechamos los dems.
Primero, se crea una poblacin entera de posibles soluciones. Unas son mejores (ms altas) que otras.
Luego se clasifican todas y se conservan las soluciones que generan mejores resultados.
173
Cada uno de los tres escenarios restantes se duplican, para que el nmero total de escenario vuelva a ser de seis. Ahora viene la parte ms interesante: Cada uno de los seis escenarios se compone de dos valores ajustables (en el diagrama como una coordenada de X e Y). Los escenarios se emparejan aleatoriamente. Cada escenario intercambia el primero de sus dos valores ajustables con el valor correspondiente del otros. Por ejemplo: Antes Escenario 1 Escenario 2
3.4, 5.0 2.6, 3.2
Despus
2.6, 5.0 3.4, 3.2
Esta operacin se denomina cruce. Cuando los seis escenarios se emparejan aleatoriamente y realizan los cruces, se puede obtener una nueva serie de escenarios como esta:
En el ejemplo de arriba, presuponemos que los tres escenarios originales, a, b y c, se emparejaron con los duplicados A, B y C, para formar los pares aB, bC y bA. Luego, estos pares intercambiaron los valores de la primera celda ajustable, que en nuestro diagrama es equivalente a intercambiar las coordenadas x e y entre los pares de puntos. La poblacin de escenarios acaba de sobrevivir una generacin, con su ciclo de muerte y nacimiento.
174
Un ejemplo digital
Observe que algunos de los nuevos escenarios obtienen resultados ms bajos (altitud ms baja) que cualquiera de los de la generacin original. Sin embargo, un escenario ha llegado a la cima ms alta, lo cual indica progreso. Si dejamos que la poblacin evolucione otra generacin, podramos ver una escena como la siguiente:
Se puede ver como el rendimiento promedio de la poblacin de escenarios aumenta por encima del rendimiento de la ltima generacin. En este ejemplo, no queda mucho espacio para la mejora. Esto sucede porque slo hay dos genes por organismo, slo hay seis organismos y no hay forma de que se creen nuevos genes. Esto significa que hay una reserva gentica limitada. La reserva gentica es la suma de todos los genes de todos los organismos de una poblacin. Los algoritmos genticos pueden hacerse mucho ms poderosos si replican ms elementos de la fuerza inherente de la evolucin del mundo biolgico; aumentando el nmero de genes por organismo, aumentando el nmero de organismos de una poblacin y permitiendo que se produzcan mutaciones aleatorias ocasionalmente. Adems, podemos elegir los escenarios que viven y se reproducen como sucede naturalmente: con un elemento aleatorio con una ligera tendencia hacia aquellos que se adaptan mejor, en lugar de elegir simplemente a todos los que se adaptan mejor para reproducirse (hasta al len ms grande y fuerte le puede matar un rayo). Todas estas tcnicas estimulan el perfeccionamiento gentico y contribuyen a mantener la diversidad de la reserva gentica, manteniendo disponibles todo tipo de genes por si resultan tiles en diferentes combinaciones. Evolver implementa automticamente todas estas tcnicas.
175
176
Un ejemplo digital
Cmo aadir restricciones ............................................................179 Restricciones de rango.........................................................................180 Restricciones duras - personalizadas................................................181 Restricciones blandas ..........................................................................182 Funciones de penalizacin....................................................182 Introduccin de una funcin de penalizacin...................183 Visualizacin de los efectos de la funcin de penalizacin introducida ......................................................184 Visualizacin de las penalizaciones aplicadas..................184 Introduccin de restricciones blandas en la hoja de clculo.........................................................................185 Ms ejemplos de funciones de penalizacin.....................185 Uso de funciones de penalizacin .......................................186 Problemas de mltiples objetivos.....................................................187 Mejora de la rapidez .......................................................................189 Cmo se implementa la optimizacin de Evolver .......................191 Seleccin...................................................................................191 Cruce .........................................................................................192 Mutacin ..................................................................................193 Reemplazo................................................................................193 Restricciones............................................................................193
177
178
179
Restricciones de rango
Las restricciones duras ms simples son las que se colocan en las propias variables. Al establecer un cierto rango en cada variable, se puede limitar el nmero total de posibles soluciones que Evolver busca, lo cual resulta en una bsqueda ms eficaz. Introduzca los valores Mn y Mx en la ventana Modelo de la seccin Rangos de celda ajustables para indicar a Evolver el rango de valores aceptables para cada variable.
Evolver slo probar valores entre 0 y 5,000 para las celdas especificadas.
Un segundo tipo de restriccin dura colocada en la variable est incorporada a cada mtodo de solucin de Evolver (receta, orden, agrupamiento, etc.). Por ejemplo, cuando se ajustan variables usando el mtodo de solucin de presupuesto, significa que Evolver tiene una restriccin dura que slo permite hacer pruebas de grupos de valores que suman un mismo total. Como en la configuracin de Rangos, esta restriccin dura tambin reduce el nmero de posibles escenarios que deben buscarse. La opcin entero del cuadro de dilogo Modelo tambin es una restriccin dura que indica a Evolver que pruebe slo valores enteros (1, 2, 3, etc.) en lugar de nmeros reales (1.34, 2.034, etc.) a la hora de ajustar los valores de las variables.
180
NOTA: Como la evolucin en la naturaleza, el poder de resolucin de un algoritmo gentico se encuentra principalmente en su capacidad de explorar libremente muchas combinaciones de soluciones posibles y naturalmente inclinarse hacia las mejores. Si prohibimos a Evolver que examine las soluciones que no cumplen nuestras demandas, el proceso de optimizacin del algoritmo gentico se puede inutilizar. Siempre resulta ms fcil para Evolver encontrar soluciones que cumplan las restricciones duras si el escenario inicial de la hoja de clculo cumple esas restricciones. Eso permite a Evolver conocer el punto de inicio del espacio de soluciones vlidas. Si no conoce ningn escenario que cumpla las restricciones, ejecute Evolver con cualquier escenario inicial para que el programa trate de encontrar escenarios que cumplan las restricciones.
181
Restricciones blandas
Si se fuerza al programa para que slo busque soluciones que cumplan todas las restricciones, es posible que no se encuentre ninguna solucin viable. Con frecuencia, es ms til tener una solucin viable aproximada en la que no se cumplen algunas de las restricciones. Una alternativa al uso de restricciones duras que se deben cumplir es reconfigurar el problema con restricciones blandas; restricciones que Evolver tratar de cumplir. Estas restricciones blandas son frecuentemente ms realistas y permite que Evolver pruebe otras muchas opciones. En el caso de problemas altamente restringidos (en los que no hay muchas soluciones que cumplan todos los requisitos), el algoritmo gentico de Evolver tendr ms posibilidades de encontrar la mejor solucin si se le permite obtener informacin sobre algunas soluciones cercanas a las soluciones que cumplen las restricciones. Cuando las restricciones son objetivos designados, como producir el doble de tenedores que de cuchillos, muchas veces no es tan importante que se cumplan exactamente: especialmente si obtener un calendario de produccin perfectamente equilibrado requiere un proceso de optimizacin de un da de duracin. En este caso, una buena solucin al problema, que casi cumple la restriccin (la produccin es 40% tenedores, 23% cuchillos, 37% cucharas), normalmente es mejor que esperar todo el da para averiguar que tal vez no hay solucin, porque no es posible cumplir todas las restricciones.
Funciones de penalizacin
Las restricciones blandas se pueden implementar fcilmente en Excel a travs del uso de funciones de penalizacin. En lugar de indicar a Evolver que en ningn caso puede usar ciertos valores cuando busca soluciones, permitimos que esos valores no vlidos se examinen, pero penalizaremos esas soluciones como corresponde. Por ejemplo, un problema puede consistir en encontrar la forma ms eficaz de distribuir productos con la restriccin de que se usen slo tres camiones. Un modelo ms preciso incluira una funcin de penalizacin que permitiera usar ms camiones, pero aadiera el gran costo al resultado final. Las funciones de penalizacin se pueden especificar en el cuadro de dilogo Configuracin de Restricciones o se puede introducir directamente en el modelo aadiendo una frmula que represente las funciones de penalizacin.
182
Evolver tiene una funcin de penalizacin predeterminada que aparece cuando se introduce una restriccin blanda. Sin embargo, cualquier frmula de Excel vlida se puede introducir para calcular la cantidad de la penalizacin a aplicar cuando no se cumple una restriccin blanda. La funcin de penalizacin introducida debe incluir la palabra clave desviacin que representa la cantidad absoluta por la que la restriccin ha superado su lmite. Al final de una simulacin de una solucin de prueba, Evolver comprueba si se han cumplido las restricciones blandas; si no, coloca la cantidad de la desviacin en la frmula de la penalizacin introducida y luego calcula la cantidad de la penalizacin a aplicar a la estadstica de la celda objetivo que se trata de minimizar o maximizar. La cantidad de la penalizacin se suma o se resta a la estadstica calculada en la celda objetivo para que resulte menos "ptima". Por ejemplo, si se ha seleccionado Mximo en el campo Encontrar el del cuadro de dilogo Modelo de Evolver, la penalizacin se resta de la estadstica calculada en la celda objetivo.
183
Evolver incluye la hoja de trabajo Penalizacin.xls que se puede usar para evaluar los efectos de diferentes funciones de penalizacin en restricciones blandas y celdas objetivo especficas.
Penalizacin.xls permite seleccionar una restriccin blanda de su modelo para analizar sus efectos. Luego, puede cambiar la funcin de penalizacin para ver cmo la funcin transforma un valor especfico de la restriccin blanda incumplida en un valor penalizado especfico en la celda objetivo. Por ejemplo, si la restriccin blanda es A10<100, puede usar Penalizacin.xls para ver cul sera el valor objetivo si se calcula un valor de 105 en la celda A10.
Visualizacin de las penalizaciones aplicadas
Cuando se aplica una penalizacin a la celda objetivo por incumplimiento de una restriccin blanda, la cantidad de la penalizacin se puede visualizar en el Observador del Evolver. Adems, los valores de penalizacin se muestran en las hojas de clculo Bitcora de Optimizacin, que se puede crear tras la optimizacin.
184
Las funciones de penalizacin tambin se pueden introducir directamente en la hoja de clculo. Una funcin de penalizacin booleana asigna una penalizacin establecida a cualquier escenario que no cumpla la restriccin especializada. Por ejemplo, si quiere que el valor de la celda B1(suministro) sea al menos tan grande como el valor de la celda A1(demanda), puede crear esta funcin de penalizacin en otra celda: =SI(A1>B1, -1000, 0). Si el resultado de esta celda se aade al dato de la celda objetivo, cada vez que Evolver prueba una solucin que incumple esa restriccin (es decir, el suministro no satisface la demanda), el dato de la celda objetivo que se trata de maximizar muestra un valor 1,000 unidades inferior al resultado real. Cualquier solucin que incumpla esta restriccin produce un valor bajo del dato de la celda objetivo, y Evolver acabar por eliminar estos organismos. Tambin se puede usar una funcin de penalizacin de escala, que penaliza con mayor precisin la solucin dependiendo de en qu medida incumple la restriccin. Este mtodo resulta frecuentemente ms prctico en el mundo real, ya que una solucin en la que el suministro no satisface totalmente la demanda ser siempre mejor que una solucin que ni siquiera se aproxim a la demanda. Una simple funcin de penalizacin de escala calcula la diferencia absoluta entre el valor objetivo de la restriccin y el valor real. Por ejemplo, en el mismo problema donde A1(demanda) no debe exceder B1(suministro), podramos asignar la siguiente funcin de penalizacin: =SI(A1>B1, (A1-B1)^2, 0). Este tipo de penalizacin mide lo cerca que est el cumplimiento de una restriccin, y exagera esa diferencia elevndola al cuadrado. Ahora, la penalizacin cambia dependiendo de lo mucho que una solucin incumple una restriccin.
Por ejemplo, supongamos que crea un modelo de manufacturacin en el que una de las restricciones es que la cantidad de madera que se usa debe ser igual a la cantidad de plstico que se usa. Esta restriccin se cumple cuando CantidadDeMadera = CantidadDePlstico. Queremos encontrar soluciones que incluyan la misma cantidad de ambos materiales, por lo tanto creamos una funcin de penalizacin para no favorecer soluciones que se alejan de nuestro objetivo. La frmula =ABS(CantidadDeMadera-CantidadDePlstico) calcula la diferencia absoluta (no negativa) entre la cantidad de madera y la cantidad de plstico que se usan. Al usar la funcin ABS(), obtenemos el mismo valor de penalizacin si CantidadDeMadera es superior en ms de 20 a CantidadDePlstico, o si CantidadDePlstico es menor en ms de 20 a CantidadDeMadera. Ahora, cuando se optimiza el modelo, el objetivo es minimizar la media de los resultados de simulacin de esta diferencia absoluta.
185
Supongamos que imponemos esta otra restriccin: La cantidad de madera debe ser el doble que la cantidad de plstico. Entonces, la funcin de penalizacin sera:
=ABS(CantidadDeMadera-CantidadDePlstico*2)
Una restriccin diferente es que la cantidad de madera debe ser no inferior a el doble de la cantidad de plstico. Mientras que el ejemplo anterior produca una penalizacin si haba demasiada madera, en este caso slo nos preocupa si no hay suficiente madera; si CantidadDeMadera es diez veces mayor que CantidadDePlstico, no queremos que se aplique ninguna penalizacin. La funcin de penalizacin apropiada sera:
=SI(CantidadDeMadera<CantidadDePlastico*2, ABS(CantidadDePlastico*2-CantidadDeMadera),0)
Si CantidadDeMadera es al menos el doble de CantidadDePlastico, la funcin de penalizacin genera un valor 0. De lo contrario, la funcin indica la diferencia de cunto menor es el valor de CantidadDeMadera con respecto al doble de CantidadDePlstico.
Uso de funciones de penalizacin
Despus de crear funciones de penalizacin para describir las restricciones blandas del modelo, puede combinarlas con la frmula de la celda objetivo normal para obtener una frmula de celda objetivo restringida. En el ejemplo ilustrado abajo, si la celda C8 calcula el costo total de un proyecto y las celdas E3:E6 contienen cinco funciones de penalizacin, entonces se puede crear la frmula =SUM(C8, E3:E6) en la celda C10 .
Cree una celda que aada las restricciones al total y minimice la media de los resultados de la simulacin de esta celda.
186
Esto aade las penalizaciones de la columna E al costo de C8 para obtener una funcin de costo restringida o penalizada en C10. Observe que si esto fuera un problema de maximizacin debera restar, en lugar de sumar, las penalizaciones a la celda objetivo original. Ahora, cuando use Evolver, slo tendr que seleccionar esta celda restringida, C10, como celda objetivo cuyo dato de simulacin se quiere optimizar. Cuando Evolver trata de optimizar un dato restringido para la celda objetivo, las funciones de penalizacin tendern a forzar la bsqueda hacia escenarios que cumplan las restricciones. Finalmente, Evolver acabar con soluciones que son buenas respuestas y que cumplen o casi cumplen todas las restricciones (las funciones de penalizacin tendrn valores cercanos a 0).
188
Mejora de la rapidez
Cuando se utiliza Evolver para resolver un problema, se usa la biblioteca de Evolver de rutinas compiladas para controlar el proceso as como la funcin de evaluacin de la hoja de clculo de Excel para examinar los diferentes escenarios. Gran parte del tiempo que utiliza Evolver es realmente usado por Excel para recalcular la hoja de clculo. Hay una serie de cosas que se pueden hacer para acelerar la optimizacin de Evolver y el proceso de reclculo de Excel. La velocidad de Evolver es directamente proporcional a la velocidad del procesador del PC. Un Pentium/2.0 GHz ser aproximadamente el doble de rpido que un Pentium/1.0 GHz. Esto significa que Evolver podr evaluar el doble de pruebas en la misma cantidad de tiempo. Cuando Evolver ha convergido ms o menos en una solucin, y no se producen una mejora de la mejor solucin desde hace tiempo (por ejemplo, las ltimas 1000 pruebas), puede aumentar la tasa de mutacin para permitir que Evolver ample su bsqueda de soluciones, en lugar de continuar refinando la solucin con la poblacin actual usando principalmente cruces. Puede aumentar la tasa de mutacin a travs del Observador del Evolver usando el comando Configuraciones de Poblacin. Ajuste ms estrechamente los rangos de las celdas ajustables; de esta forma se crear un rea ms pequea en la que Evolver buscar las soluciones, y por lo tanto se acelerar el proceso. Asegrese de que los rangos dan suficiente libertad a Evolver como para explorar todas las soluciones realistas.
189
190
Mejora de la rapidez
Cuando se va a crear un nuevo organismo, se seleccionan dos padres entre la poblacin actual. Hay ms probabilidades de que se seleccionen como padres los organismos con puntuaciones de adaptacin ms altas. En Evolver, los padres se seleccionan mediante un mecanismo basado en clasificacin. A diferencia de algunos sistemas de algoritmos genticos en los que las posibilidades de seleccin de los padres para la reproduccin son directamente proporcionales a su adaptacin, el mtodo basado en clasificacin ofrece una curva de probabilidad de seleccin ms uniforme. Esto impide que los organismos buenos dominen completamente la evolucin desde el principio.
191
Cruce
Como cada mtodo de solucin ajusta las variables de diferentes formas, Evolver emplea una rutina de cruce diferente optimizada para ese tipo de problema. El mtodo de solucin de receta bsico realiza cruces usando una rutina de cruce uniforme. Esto significa que en lugar de dividir la lista de variables en un momento dado del escenario, procesando cada uno de los dos bloques (denominados cruces de un solo punto o doble punto), se forman dos grupos seleccionando aleatoriamente los elementos que en un grupo u otro. Los cruces de punto x tradicionales pueden influir sobre la bsqueda debido a la posicin irrelevante de las variables, mientras que el mtodo de cruce uniforme se considera mejor para preservar el esquema, y puede generar cualquier esquema a partir de los dos padres.
El mtodo de solucin de orden realiza el cruce usando un algoritmo similar al operador de cruce de orden descrito en el libro Handbook of Genetic Algorithms de L. Davis.* De esta forma se seleccionan elementos aleatoriamente a partir de un padre, se encuentran sus posiciones en el otro padre, y se copian los elementos restantes en el segundo padre en el mismo orden en el que aparecen en el primer padre. Esto conserva algunos de los sub-rdenes de los padres originales mientras se crean algunos sub-rdenes nuevos.
Davis, Lawrence (1991). Handbook of Genetic Algorithms. New York: Van Nostrand Reinhold.
192 Cmo se implementa la optimizacin de Evolver
Mutacin
Como sucede con el cruce, los mtodos de mutacin han sido personalizados para cada uno de los diferentes mtodos de solucin. El mtodo de solucin de receta bsico realiza mutaciones examinando cada variable individualmente. Se genera un nmero aleatorio entre 0 y 1 para cada una de las variables del organismo, y si una variable obtiene un nmero menor o igual a la tasa de mutacin (por ejemplo, 0.06), entonces esa variable se muta. La cantidad y naturaleza de la mutacin se determina automticamente mediante un algoritmo exclusivo. La mutacin de una variable incluye su reemplazo por un valor generado aleatoriamente (dentro de su rango mn-mx vlido). Para conservar todos los valores originales, el mtodo de solucin de orden realiza la mutacin mediante el intercambio de posiciones de algunas variables del organismo. El nmero de intercambios realizados se incrementa o reduce proporcionalmente al incremento o reduccin de la configuracin de la tasa de mutacin (de 0 a 1).
Reemplazo
Como Evolver usa un mtodo de orden de clasificacin en lugar de un mtodo de reemplazo generacional, los organismos que peor se adaptan son siempre reemplazados por un nuevo organismo que se crea mediante seleccin, cruce y mutacin, independientemente de su puntuacin de adaptacin. Las restricciones duras se implementan mediante una tecnologa exclusiva de Palisade denominada regresin. Si un nuevo elemento descendiente incumple alguna de las restricciones impuestas externamente, Evolver regresa hacia uno de los padres del descendiente, cambiando el descendiente hasta que se encuentre dentro del espacio de solucin vlido.
Restricciones
193
194
195
196
197
P: Aunque completo los cuadros de dilogo de la misma forma y Evolver se ejecuta la misma cantidad de tiempo, a veces Evolver encuentra soluciones diferentes. R: Como sucede en la seleccin natural del mundo biolgico, el algoritmo gentico de Evolver no sigue siempre el mismo camino para buscar soluciones (a menos que use un generador de nmero aleatorio fijo). Resulta irnico que sea esta impredecibilidad la que permita a Evolver resolver ms tipos de problemas y, con frecuencia, encontrar mejores soluciones que con los mtodos tradicionales. El motor del algoritmo gentico de Evolver no slo ejecuta una serie de comandos pre-programados o coloca valores mediante una frmula matemtica, sino que experimenta eficazmente con escenarios hipotticos aleatorios simultneos, para luego refinar la bsqueda mediante mltiples operadores de supervivencia de los mejor adaptados que tambin contienen elementos aleatorios. P: Por qu no cambia la mejor solucin encontrada? R: Es posible que haya especificado la celda objetivo incorrecta en el cuadro de dilogo Modelo de Evolver. Evolver est examinando esta celda en blanco y el valor no cambia porque no contiene una frmula. Para solucionar este problema, abra el cuadro de dilogo Modelo de Evolver y seleccione una celda objetivo apropiada; es decir, una que refleje con exactitud lo buena o mala que es cada posible solucin. Una celda objetivo apropiada contiene una frmula que depende, directa o indirectamente, de las variables que Evolver ajusta (celdas ajustables). P: Algunas de las celdas del modelo de la hoja de clculo contienen los smbolos ####. R: Si la celda es demasiado pequea para mostrar todo su contenido, muestra varios signos ####. Aumente el tamao de la celda.
198
P: Evolver funciona bien pero, hay alguna forma ms sencilla de obtener mejores resultados? R: Considere la posibilidad de eliminar las restricciones del problema, incluyendo los rangos de las variables. Cambie algunas de las restricciones duras a restricciones blandas mediante funciones de penalizacin (consulte Cmo aadir restricciones en el Captulo 8: Extras de Evolver). La imposicin de demasiadas restricciones sobre lo que Evolver est probando puede impedir que Evolver explore un rea de posibilidades que genere mejores resultados. Recuerde que cunto ms tiempo deje a Evolver explorar las posibilidades, ms probable ser encontrar la solucin ptima. Para obtener ms ideas sobre cmo afinar Evolver, consulte el Captulo 8: Extras de Evolver. Cuantos ms escenarios pueda ejecutar Evolver, mejor. Acelere el proceso de Evolver desactivando la opcin Cada reclculo de actualizacin de pantalla.
199
200
Libros
Bolles, R.C., & Beecher, M.D. (Eds.). (1988). Evolution and Learning. Lawrence Erlbaum. Beer, R.D. (1990). Intelligence as Adaptive Behavior: An Experiment in Computational Neuroethology. Academic Press. Davis, Lawrence (1987). Genetic Algorithms and Simulated Annealing. Palo Alto, CA: Morgan Kaufman. * Davis, Lawrence (1991). Handbook of Genetic Algorithms. New York: Van Nostrand Reinhold. Darwin, Charles (1985). On The Origin of Species. London: Penguin Classics. (originalmente publicado en 1859) * Dawkins, Richard. (1976). The Selfish Gene. Oxford University Press. Eldredge, N. (1989). Macroevolutionary Dynamics: Species, Niches, and Adaptive Peaks. McGraw-Hill. Fogel, L., Owens, J., and Walsh, J. (1966). Artificial Intelligence through Simulated Evolution. New York: John Wiley and Sons. Goldberg, David (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. Reading, MA: Addison-Wesley Publishing. Holland, J.H. (1975). Adaptation in Natural and Artificial Systems. Ann Arbor, MI: University of Michigan Press. Koza, John (1992). Genetic Programming. Cambridge, MA: MIT Press. * Langton, C.L. (1989). Artificial Life. MIT Press. [ALife I] Levy, Steven (1992). Artificial Life. New York: Pantheon. Apndice C: Recursos adicionales 201
Meyer, J.-A., & S.W. Wilson (Eds.). (1991). Proceedings of the First International Conference on Simulation of Adaptive Behavior: From Animals to Animats. MIT Press/Bradford Books. * Proceedings of the Sixth International Conference (ICGA) on Genetic Algorithms (1995). San Mateo, CA: Morgan Kaufman Publishing. (Tambin se ofrecen las actas de las cinco primeras conferencias de ICGA). Proceedings of the Workshop on Artificial Life (1990). Christopher G. Langton, Senior Editor. Reading, MA: Addison-Wesley Publishing. Rawlins, Gregory (1991). Foundations of Genetic Algorithms. San Mateo, CA: Morgan Kaufman Publishing. Richards, R.J. (1987). Darwin and the Emergence of Evolutionary Theories of Mind and Behavior. U. Chicago Press. Williams, G.C. (1966). Adaptation and Natural Selection. Princeton U. Press.
Artculos
* Antonoff, Michael (October, 1991). Software by Natural Selection. Popular Science, p. 70-74. Arifovic, Jasmina (January, 1994). Genetic Algorithm Learning and the Cobweb Model. Journal of Economic Dynamics & Control v18 p.3 * Begley, S (May 8, 1995). Software au Naturel In Newsweek p. 70 Celko, Joe (April, 1993). Genetic Algorithms and Database Indexing. Dr. Dobbs Journal p.30 Ditlea, Steve (November, 1994). Imitation of Life. In Upside Magazine p.48 Gordon, Michael (June, 1991). User-based Document Clustering by Redescribing Subject Descriptions with a Genetic Algorithm. Journal of the American Society for Information Science v42 p.311 Hedberg, Sara (September, 1994). Emerging Genetic Algorithms. AI Expert, p. 25-29. Hinton, G.E., & Nowlan, S.J. (1987). How Learning Can Guide Evolution. Complex Systems 1: p.495-502. * Kennedy, Scott (June, 1995). Genetic Algorithms: Digital Darwinism. Hitchhickers Guide to Artificial Intelligence Miller Freeman Publishers Kennedy, Scott (December, 1993). Five Ways to a Better GA. AI Expert, p. 35-38 Lane, A (June, 1995). The GA Edge in Analyzing Data. AI Expert p.11 Lee, Y.C. (Ed.). (1988). Evolution, learning, and cognition. World Scientific.
202
Levitin, G and Rubinovitz, J (August, 1993). Genetic Algorithm for Linear and Cyclic Assignment Problem. Computers & Operations Research v20 p.575 Marler, P., & H.S. Terrace. (Eds.). (1984). The Biology of Learning. SpringerVerlag. Mendelsohn, L. (December, 1994) Evolver Review. Technical Analysis of Stocks and Commodities. p.33 Maynard Smith, J. (1987). When Learning Guides Evolution. Nature 329: p.761-762. Murray, Dan (June, 1994). Tuning Neural Networks with Genetic Algorithms. AI Expert p.27 Wayner, Peter (January, 1991). Genetic Algorithms: Programming Takes a Valuable Tip from Nature. Byte Magazine v16 p.361
Introduccin a la simulacin
Si est dando sus primeros pasos en el mundo de las simulaciones, o si desea conseguir ms informacin general sobre las tcnicas, los siguientes libros y artculos sern de utilidad:
* Baird, Bruce F. Managerial Decisions Under Uncertainty: John Wiley & Sons, Inc. 1989. * Clemen, Robert T. Making Hard Decisions: Duxbury Press, 1990. Apndice C: Recursos adicionales 203
Hertz, D.B. "Risk Analysis in Capital Investment": HBR Classic, Harvard Business Review, September/October 1979, pp. 169-182. Hertz, D.B. and Thomas, H. Risk Analysis and Its Applications: John Wiley and Sons, New York, NY, 1983. Megill, R.E. (Editor). Evaluating and Managing Risk: PennWell Books, Tulsa, OK, 1984. Megill, R.E. An Introduction to Risk Analysis, 2nd Ed.: PennWell Books, Tulsa, OK, 1985. Morgan, M. Granger and Henrion, Max, with a chapter by Mitchell Small, Uncertainty: Cambridge University Press, 1990. Newendorp, P.D. Decision Analysis for Petroleum Exploration: Petroleum Publishing Company, Tulsa, Okla., 1975. Raiffa, H. Decision Analysis: Addison-Wesley, Reading, Mass., 1968.
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).
205
206
Glosario
Para obtener informacin adicional sobre cualquier trmino, consulte el ndice de Evolver en el siguiente captulo.
Algoritmo
Mtodo de solucin por pasos de base matemtica para ciertos tipos de problemas. Todos los programas informticos se desarrollan mediante la combinacin de muchos algoritmos. Procedimiento de optimizacin que comienza en un escenario determinado y se mueve a pequeos pasos repetidamente en la direccin que ms lo mejora. Los algoritmos de escalada son rpidos y simples, pero tienen dos inconvenientes. Primero, puede ser necesario mucho trabajo para encontrar la direccin que ofrece la mayor mejora. Segundo, los algoritmos normalmente suben a la colina ms cercana, o mximo local. Esto impide que el algoritmo encuentre el mximo global en un problema difcil. Procedimiento para mejorar los resultados de algunas operaciones mediante la prueba repetitiva de varias soluciones posibles y la reproduccin y mezcla de componentes de las mejores soluciones. El proceso es bsicamente similar y est inspirado en el proceso de evolucin del mundo biolgico, en el que los mejor adaptados sobreviven para reproducirse. La barra de estado aparece en la parte inferior de la ventana de Excel y muestra la actividad actual de Evolver. La unidad bsica de introduccin de datos. Dependiendo del tipo de campo, un campo puede contener texto, imgenes o nmeros. La mayora de los campos de los cuadros de dilogo de Evolver solicitan al usuario la ubicacin de celdas de una hoja de clculo u opciones sobre cmo debe funcionar Evolver. Una celda es la unidad bsica de una hoja de clculo en la que se almacenan datos. En cada hoja de clculo de Excel hay hasta 256 columnas y 16,000 filas, para un total de ms de 4 millones de celdas. Una celda de hoja de clculo cuyo valor se puede ser ajustado por Evolver para tratar de optimizar el valor de la celda objetivo. Una celda ajustable es un valor de variable y debe contener siempre un nmero simple, y no una ecuacin.
207
Algoritmo de escalada
Algoritmo gentico
Barra de estado
Campo
Celda
Celda ajustable
Glosario
Celda objetivo
La celda de la hoja de clculo cuyo valor queremos minimizar o maximizar. Esta celda se establece en el cuadro de dilogo Modelo de Evolver (seleccionando el comando Definicin de Modelo de Evolver o el icono Modelo). En un contexto de base gentica, un cruce es un intercambio de material gentico equivalente al que se produce entre dos cromtidas homlogas durante la meiosis. En Evolver, el trmino cruce se usa para expresar el equivalente informtico de un cruce en el que se produce un intercambio entre variables que genera nuevas combinaciones de escenarios. Es la ventana de un PC en la que se solicita que el usuario introduzca informacin. Tambin se denomina caja de dilogo. Evolver contiene dos cuadros de dilogo principales: el cuadro de dilogo Modelo de Evolver y el cuadro de dilogo Celdas Ajustables. Desviacin es una medida del perfil de una distribucin. La desviacin indica el grado de asimetra de una distribucin. Las distribuciones desviadas tienen ms valores a un lado del punto alto, o valor ms probable, que al otro. Adems, una de las colas o extremos es ms larga que la otra. Una desviacin de 0 indica una distribucin simtrica, mientras que una desviacin negativa indica que la distribucin est desviada hacia la izquierda. Una desviacin positiva significa una desviacin hacia la derecha. Ver Kurtosis La desviacin estndar es una medida que indica la dispersin de valores de una distribucin. Es igual a la raz cuadrada de la varianza. Ver Varianza El trmino determinada indica que no hay incertidumbre asociada a un determinado valor o variable. Una distribucin acumulativa o funcin de distribucin acumulativa es el conjunto de puntos cada uno de los cuales es igual a la integral de una distribucin de probabilidad, comenzando en un valor mnimo y terminando en el valor asociado de la variable aleatoria. Vase Distribucin de frecuencia acumulativa o Distribucin de probabilidad Distribucin de probabilidad en la que se puede dar cualquier valor entre un mnimo y un mximo (tiene probabilidad finita). Vase Distribucin independiente
Cruce
Cuadro de dilogo
Desviacin
Desviacin estndar
Distribucin continua
208
Distribucin de frecuencia
Distribucin de frecuencia es el trmino que define las distribuciones de probabilidad de salida y las distribuciones de histograma de entrada (HISTOGRM) de Evolver. La distribucin de frecuencia se construye con datos, mediante la ordenacin de valores en clases, y representando la frecuencia de ocurrencia de cualquier clase con la altura de la barra. La frecuencia de ocurrencia se corresponde con la probabilidad. Distribucin de frecuencia acumulativa es el trmino que define las distribuciones acumulativas de salida y de entrada de Evolver. La distribucin acumulativa se construye acumulando la frecuencia (aadiendo progresivamente la altura de las barras del grfico) en el rango de una distribucin de frecuencia. Una distribucin acumulativa puede tener una curva inclinada hacia arriba en la que se describe la probabilidad de un valor menor o igual al valor de cualquier variable. La distribucin acumulativa tambin puede tener una curva inclinada hacia abajo en la que se describe la probabilidad de un valor mayor o igual al valor de cualquier variable. Vase Distribucin acumulativa Una distribucin de probabilidad o funcin de densidad de probabilidad es el trmino estadstico apropiado para denominar una distribucin de frecuencia construida a partir de un grupo de valores inicialmente grande cuyo tamao de clase es infinitesimalmente pequeo. Ver Distribucin de frecuencia Una distribucin de probabilidad en la que slo se pueden dar un nmero finito de valores independientes entre un mnimo y un mximo. Vase Distribucin continua Grupo de valores de las variables de un modelo de una hoja de clculo. Cada escenario frecuentemente representa una posible solucin. El trmino estocstica aplicado a una variable es sinnimo de incertidumbre o riesgo. Vase Riesgo o Determinada (variable) En biologa, es una caracterstica observable de un individuo que surge mediante la interaccin entre genes, y entre los genes y el entorno. En el estudio de GA, el fenotipo se usa para describir las variables individuales o genes que componen una solucin completa o cromosoma. (ver Genotipo)
Distribucin de probabilidad
Distribucin discreta
Escenario
Estocstica
Fenotipos
Glosario
209
Funcin de idoneidad
Es una frmula que puede calcular lo buena o lo mala que puede ser una solucin propuesta a un problema dado. El trmino se usa frecuentemente en el mundo del algoritmo gentico como una analoga de la adaptacin en la seleccin biolgica. El diseo de una funcin de idoneidad precisa es fundamental cuando se usa un algoritmo gentico para resolver un problema. El resultado de la simulacin de esta funcin de idoneidad se convierte en el objetivo o valor objetivo a optimizar. Una ecuacin de una hoja de clculo que Evolver puede usar para penalizar escenarios que no cumplen ciertos criterios. Las funciones de penalizacin se usan para minimizar efectos secundarios de los escenarios o para alcanzar mltiples objetivos. A diferencia de las restricciones duras, las funciones de penalizacin permiten la exploracin de soluciones no vlidas, pero las empeora de forma que la poblacin evolucione distancindose de esas soluciones. Las penalizaciones booleanas pueden estar activas o inactivas, penalizando todas las soluciones no vlidas en la misma medida. Las penalizaciones de escala son ms fluidas y asignan una penalizacin proporcional a lo mucho o lo poco que se incumple una restriccin. En Excel, una funcin es una frmula predefinida que toma un valor, realiza una operacin y genera un valor. Excel contiene cientos de frmulas incorporadas (como SUM) que ahorran tiempo y espacio, y son ms rpidas. Por ejemplo, en lugar de escribir A1+ A2+ A3+ A4+ A5+ A6, puede escribir SUM(A1:A6) y obtener el mismo resultado. En el campo de los algoritmos genticos, cada poblacin completamente nueva de soluciones descendientes es una nueva generacin. Algunas rutinas de algoritmo gentico emparejan a todos los miembros de una poblacin a la vez, creando una generacin totalmente nueva de organismos descendientes que reemplaza a la poblacin anterior. Evolver evala y reemplaza un organismo cada vez (ordenados en clasificacin) y por lo tanto no usa el trmino generacin en su documentacin. Esta tcnica de estado uniforme funciona tan bien como el reemplazo generacional. El generador de nmero aleatorio es un algoritmo que determina la seleccin de nmeros aleatorios, normalmente en un rango entre 0 y 1. Estos nmeros aleatorios son equivalentes a tomar una muestra de una distribucin uniforme con un mnimo de 0 y un mximo de 1. Estos nmeros aleatorios son la base de otras operaciones que los convierten en muestras tomadas de tipos de distribuciones especficas. Ver Muestra aleatoria
Recursos adicionales de aprendizaje
Funcin de penalizacin
Funciones
Generacin
210
Genotipo
En biologa, es la constitucin gentica de un individuo. El trmino normalmente se refiere a la suma total de todos los genes individuales. En el estudio de los GA, genotipo se usa para describir el cromosoma artificial que se evala como posible solucin al problema. Un grupo de celdas ajustables es un grupo de variables junto con la forma en que se tratarn. Evolver incluye todos los grupos de celdas ajustables en la seccin variables del cuadro de dilogo Modelo de Evolver. Este tipo de arquitectura permite construir y describir problemas complejos como varios grupos de celdas ajustables. La toma de muestras de Hipercubo Latino es un mtodo relativamente nuevo de recogida de muestras por estratificacin que se utiliza en la modelacin por simulacin. Las tcnicas de toma de muestras estratificadas, al contrario que las tcnicas del tipo Monte Carlo, tienden a alcanzar la convergencia de una distribucin con menos muestras. Ver Monte Carlo Una iteracin es un reclculo del modelo durante una simulacin. Una simulacin consta de mltiples reclculos o iteraciones. En cada iteracin se recogen muestras de todas las variables inciertas una sola vez, siguiendo las respectivas distribuciones de probabilidad, y el modelo se calcula de nuevo utilizando estos nuevos valores. Tambin se denomina prueba de simulacin Kurtosis es una medida del perfil de una distribucin. La Kurtosis indica lo plana o irregular que es una distribucin. Cuanto ms alto sea el valor de la Kurtosis, ms irregular ser una distribucin. Ver Desviacin El valor ms grande posible de una funcin determinada. Las funciones o modelos complejos pueden tener muchos valores mximos locales, pero un solo mximo global. El mayor valor posible de una funcin determinada dentro de un rango de valores. El mximo local se encuentra en un grupo de valores de variables de una funcin en el que un cambio ligero de cualquier valor de las variables o de todas ellas produce un resultado menor en la funcin. (Comparar con mximo global). La media de un grupo de valores es la suma de todos los valores del grupo dividida entre el nmero total de valores. Sinnimo de valor esperado
Hipercubo Latino
Iteracin
Kurtosis
Mximo global
Mximo local
Media
Glosario
211
Mtodo de solucin
Evolver incluye seis de estos mtodos, cada uno de los cuales usa un algoritmo personalizado para resolver un tipo especfico de problema. Por cada conjunto de variables seleccionado en un problema, el usuario debe asignar el mtodo de solucin que se debe usar con esas variables. Los seis mtodos de solucin son: agrupamiento, orden, receta, presupuesto, proyecto y calendarizacin. En este manual, un modelo es una representacin numrica, en Excel, de una situacin del mundo real. Monte Carlo hace referencia a una tcnica tradicional de toma de muestras para variables aleatorias en los procesos de modelacin por simulacin. Las muestras son seleccionadas de forma completamente aleatoria para todo el rango de la distribucin, y por lo tanto se requiere una gran cantidad de muestras para alcanzar la convergencia en distribuciones altamente desviadas o de extremos alargados ( o larga cola). Ver Hipercubo Latino Una muestra aleatoria es un valor que se ha seleccionado de una distribucin de probabilidad que describe una variable aleatoria. Esta muestra se recoge aleatoriamente segn un "algoritmo" de recogida de muestras. La distribucin de frecuencia que se construye con un gran nmero de muestras aleatorias generadas por dicho algoritmo se aproximar a la distribucin de probabilidad para la que se dise el algoritmo. En el mundo biolgico, la mutacin de un gen es la fuente de variacin necesaria para una seleccin natural selectiva. De la misma forma, un algoritmo gentico utiliza tcnicas de mutacin para mantener la diversidad en una poblacin de posibles escenarios. El proceso de encontrar valores de variables de forma que el resultado de una funcin se pueda maximizar (obtener el mayor posible) o minimizar (obtener el menor posible). La optimizacin mediante la resolucin de una ecuacin se puede hacer fcilmente para cambiar uniformemente funciones con pocas variables, pero resulta muy difcil en muchos de los problemas del mundo real. Los problemas difciles generalmente necesitan un mecanismo de bsqueda. Evolver utiliza un mecanismo de bsqueda de optimizacin basado en un algoritmo gentico. Un bloque de memoria de una poblacin que almacena una serie de valores de variables (escenario).
Modelo
Monte Carlo
Muestra aleatoria
Mutacin
Optimizacin
Organismo
212
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. El grupo entero de escenarios que Evolver conserva en memoria a partir de los cuales se generan nuevos escenarios. Evolver mantiene una poblacin de posibles soluciones para cada grupo de celdas ajustables de un sistema. Probabilidad es una medida de las posibilidades de que ocurra un valor o suceso. Se puede medir como frecuencia, a partir de los datos de una simulacin, calculando el nmero de repeticiones de un valor o suceso dividido entre el nmero total de sucesos. Este clculo genera un valor entre 0 y 1 que luego se puede convertir en un porcentaje multiplicndolo por 100. Ver Distribucin de frecuencia o Distribucin de probabilidad Programas de software simples que buscan las variables de entrada que generan un resultado de salida deseado usando una combinacin de tcnicas de programacin lineales, o algoritmos bsicos de escalada. Los programas pequeos de resolucin hacen frecuentes suposiciones y refinan sus respuestas para llegar a una solucin local, en lugar de a una solucin global. El proceso por el cual Evolver genera un valor para cada variable de un problema para luego recalcular el escenario para su evaluacin. Puntos altos (o momentos altos) son las estadsticas de una distribucin de probabilidad. El trmino por lo general hace referencia a la desviacin y a la kurtosis, los puntos (o momentos) tercero y cuarto respectivamente. Los puntos (o momentos) primero y segundo son la media y la desviacin estndar respectivamente. Vase Kurtosis, Media y Desviacin estndar
En Evolver:
Poblacin
Probabilidad
Pruebas
Puntos altos
Rangos
El usuario establece el rango, o el valor ms alto y ms bajo que Evolver puede probar cuando ajusta una variable determinada. Aunque no es necesario para resolver un problema, el establecimiento de estos rangos limita las posibilidades y, por lo tanto, reduce la bsqueda de Evolver.
En Excel:
Un bloque de celdas contiguas de una hoja de clculo que se define entre la celda superior izquierda y la celda inferior derecha (por ejemplo, A5:C9 describe un rango de 15 celdas).
Glosario 213
Restricciones
Las restricciones son condiciones que conviene cumplir (restricciones blandas) o que tienen que cumplirse (restricciones duras) para que un escenario sea considerado vlido. Cuando una restriccin no se tiene que cumplir necesariamente, se pueden imponer como una restriccin blanda en lugar de dura. Esto se hace especificando una funcin de penalizacin en Evolver o aadiendo una funcin de penalizacin a la funcin de adaptacin de la celda objetivo. Frecuentemente, es mejor que las restricciones sean blandas en la medida de lo posible. La razn es la siguiente: 1. Normalmente, Evolver puede resolver ms rpidamente problemas con restricciones blandas, y 2. Un modelo con restricciones blandas frecuentemente encuentra una solucin muy buena que casi cumple las restricciones blandas, lo cual puede tener ms valor que una solucin no tan buena que cumple las restricciones duras.
Restricciones blandas
Restricciones duras
Una restriccin que debe cumplirse siempre. Por ejemplo, los rangos de las variables de un problema de receta son restricciones duras; una variable con un rango entre 10 y 20 nunca puede tener un valor menor de 10 o mayor de 20. Ver Restricciones blandas Simulacin es una tcnica por la que un modelo, como puede ser una hoja de clculo de Excel, se calcula repetidas veces con diferentes valores de entrada con la intencin de obtener una representacin completa de todos los escenarios posibles que pudieran darse en una situacin incierta. Cualquier sistema contiene mltiples variables de entrada que generan un resultado de salida. En Evolver, una solucin se refiere a una de las posibles combinaciones de variables, ms que a la mejor combinacin. Es una idea que describe cmo los organismos mejor adaptados a un entorno tienen ms posibilidades de vivir lo suficiente como para reproducirse y transmitir sus genes a la siguiente generacin de la poblacin. El valor ms probable o moda es el valor que se produce con ms frecuencia en un grupo de valores. En los histogramas y en las distribuciones de resultados, es el valor central de la clase o barra con mayor probabilidad.
Simulacin
Solucin
Valor ms probable
214
Variable dependiente
Una variable dependiente es la que depende de algn modo de los valores de otras variables del modelo. El valor de una variable dependiente incierta se puede calcular con una ecuacin que est en funcin de otras variables inciertas del modelo. La variable dependiente se puede obtener de una distribucin basada en el nmero aleatorio correlacionado con el nmero aleatorio utilizado para extraer una muestra de variable independiente. Vase Variable independiente Una variable independiente es la que no depende en modo alguno de los valores de otras variables del modelo. El valor de una variable independiente incierta se determina con una toma de muestra de la distribucin de probabilidad correspondiente. Esta muestra se extrae sin considerar ninguna otra muestra aleatoria tomada para cualquier otra variable del modelo. Ver Variable dependiente
Variable independiente
Glosario
215
216
ndice
A actualizacin de pantalla imagen agrupamiento mtodo de solucin algoritmo, definicin algoritmos genticos Para qu se usan? aadir restricciones Aprendizaje de Evolver B barra de estado basados en tablas, problemas bases de datos C calendarizacin mtodo de solucin celda objetivo celdas ajustables combinatorios, problemas condiciones de detencin introduccin condiciones de parada Configuraciones de aplicacin, comando E ejemplos agente de bolsa asignacin de presupuesto asignacin de tareas
ndice
61, 110 27, 100, 208 27, 101 15051, 15051 35 126 133
91 57 53
217
calendarizador de clases cartera equilibrada compras equilibrio qumico estaciones de energa mezcla de carteras orden alfabtico panadera problema del vendedor rutas segmentador de cdigos seleccin de publicidad trabajo en un taller transformador transporte ubicacin de una torre de radio vendedor enteros escalada descrita ejemplo uso de Solver especificaciones tcnicas Evolver Para qu se usa? Qu es? capacidad cundo se debe usar en comparacin con Solver Observador quitar Tutorial Excel Solver F funcin de idoneidad funciones de penalizacin ejemplos explicacin uso G generaciones por qu no se usan
218
61 77 85 59 83 81 51 55 87 69 65 49 73 93 95 75 87 103 153 161 162 157 191 16 13 15051 159 158 39, 137 7 10 157
191
Recursos adicionales de aprendizaje
grficos L Lame, archivo lineales, problemas M meta de optimizacin mtodo de reemplazo Mtodo Simplex mtodos de solucin agrupamiento calendarizacin como restricciones orden presupuesto proyecto receta minutos Modelo, cuadro de dilogo modelos continuos N no lineales, problemas O Observador operadores genticos Operadores, pestaa optimizacin Qu es? ejemplo mtodos orden mtodo de solucin P paisaje de soluciones Palisade Corporation
ndice
39
10 161
27, 100 193 161 65, 77, 107 61, 110 180 53, 73, 87, 106 49, 57, 81, 83, 108 69, 109 51, 55, 59, 75, 85, 91, 93, 95, 106 126 26, 99 157
161
39, 137 115 115 15 155 151 53, 73, 87, 106
152 5
219
percentil presupuesto mtodo de solucin problemas basados en tablas combinatorios de mltiples objetivos lineales no lineales progreso de grfico imagen Progreso, ventana proyecto mtodo de solucin Q quitar Evolver R rapidez, mejora receta mtodo de solucin regresin reserva gentica restricciones blandas duras implementacin rutina de seleccin rutinas GRG S solucin global comparacin con solucin local solucin local comparacin con solucin global Solver en comparacin con Evolver Solver de restricciones, comando
213 49, 57, 81, 83, 108 163 164 187 161 161 37 131 69, 109
189 51, 55, 59, 75, 85, 91, 93, 95, 106 193 175 17779 118, 119, 182 118 193 191 157
220
T tasa de cruce cmo se implementa para qu sirve tasa de mutacin cmo se implementa para qu sirve tiempo de ejecucin de optimizacin, opciones tutorial V valores 103 140, 174 192 113 140 193 113 126 10
ndice
221