clásicabibliotecadigital.usbcali.edu.co/bitstream/10819/4488/1... · 2017. 10. 2. · Aplicación...

172
Aplicación del sistema de colonias de hormigas al ruteo de vehículos π Luis Alfredo Echeverri Patiño metaheurísticas clásica Optimización: a las de la

Transcript of clásicabibliotecadigital.usbcali.edu.co/bitstream/10819/4488/1... · 2017. 10. 2. · Aplicación...

  • Aplicación del sistema de colonias de hormigasal ruteo de vehículos

    π

    Opti

    miz

    ació

    n: d

    e la

    clá

    sica

    a la

    s m

    etah

    eurí

    stic

    as

    - Lu

    is A

    lfre

    do E

    chev

    erri

    Pat

    iño

    Luis Alfredo Echeverri Patiño

    El libro del profesor Luis Alfredo Echeverri tiene su esencia en la investigación de operaciones, que tuvo su mayor impulso en 1950 con el avance de las computadoras, y se centró en temas de confiablidad y optimización, incluyendo en estos meta-heurísticas e inteligencia artificial, en que la idea de un óptimo no es adecuada si se trata de generar soluciones mejoradas que sean viables. El presente texto nos lleva por una historia detallada de los avances en modelación, métodos y herramientas de software para la toma de apropiadas decisiones, desde la optimización clásica de obtención de máximos y mínimos de funciones continuas hasta la programación lineal simple y multiobjetivo, la programación dinámica, entre otros tópicos, así como los desarrollos en el campo de la modelación probabilística.

    El autor aclara que los desarrollos metaheurísticos son generales, y no concebidos como métodos para resolver una situación específica. El objetivo es explorar es-trategias para orientar los procesos de búsqueda con algoritmos aproximados y no determinísticos, que incorporen mecanismos para evitar óptimos locales propios de la optimización clásica.

    Igualmente, se plantea en el sector de las confecciones un problema de ruteo de ve-hículos (VRP) con ventanas de tiempo en un contexto multiobjetivo, con una solución inspirada en un sistema de colonia de hormigas, la cual es una metaheurística para problemas de optimización combinatoria, y deja ver las múltiples variantes, como por ejemplo, las ventanas de tiempo y ruteo con recogida y entrega.

    Universidad de San Buenaventura, seccional CaliLa Umbría, carretera a Pance

    PBX: 318 22 00 - 448 22 22Fax: 555 20 06

    A.A 7154 y 25162www.usbcali.edu.co

    ISBN: 978-958-8436-71-5

    metaheurísticasclásica

    Optimización:a lasde la

  • Optimización: de la clásica a las metaheurísticas Aplicación del sistema de colonias de hormigas al ruteo de vehículos

  • Universidad de san BUenaventUra

    seccional cali

    Optimización: de la clásica a las metaheurísticas

    Aplicación del sistema de colonias de hormigas al ruteo de vehículos

    Luis Alfredo Echeverri Patiño

    2011

  • Optimización: de la clásica a las metaheurísticasAplcación del sistema de colonias de hormigas al ruteo de vehículos

    © Autor: Luis Alfredo Echeverri Patiño Grupo de investigación: Nuevas Tecnologías, Trabajo y Gestión Ingeniería Industrial, Facultad de Ingeniería Universidad de San Buenaventura Colombia

    © Editorial Bonaventuriana, 2011Universidad de San BuenaventuraCalle 117 No. 11 A 62PBX: 57 (1) 5200299http://servereditorial.usbcali.edu.co/editorial/Bogotá – Colombia

    El autor es responsable del contenido de la presente obra.Prohibida la reproducción total o parcial de este libro por cualquier medio, sin permiso escrito de la Editorial Bonaventuriana. © Derechos reservados de la Universidad de San Buenaventura.

    ISBN: 978-958-8436-71-5Tiraje: 300 ejemplares.Depósito legal: se da cumplimiento a lo estipulado en la Ley 44 de 1993, Decreto 460 de 1995 y Decreto 358 de 2000.Impreso en Colombia - Printed in Colombia.

  • 5

    Tabla de contenido

    Prólogo .........................................................................................................................9Presentación ...............................................................................................................11Capítulo 1. Optimización. Evolución y características .............................................15– Investigación operativa y optimización ................................................................15

    – Conceptualización ...........................................................................................15– Evocando la historia ........................................................................................16

    – Modelos de optimización .....................................................................................27– Modelo y modelado .........................................................................................30– Etapas en el desarrollo de un modelo .............................................................31

    Capítulo 2. Optimización clásica ..............................................................................35– Optimización con funciones de una variable real ................................................36

    – Condición necesaria para la existencia de un valor extremo relativo ............38– Pasos a seguir para calcular los extremos relativos de una

    función de una variable real ............................................................................41– Optimización con funciones de dos o más variables reales .................................50

    – Máximos y mínimos relativos de una función de dos (o tres) variables .........52– Condición necesaria para la existencia de extremos relativos

    de funciones de dos variables ..........................................................................53– Condición suficiente .......................................................................................53– Problema práctico en dos variables .................................................................56– Máximos y mínimos condicionados de funciones

    de dos (o tres) variables ..................................................................................61– Problema práctico de mínimo condicionado

    con función de dos variables ...........................................................................63– Función de tres variables .................................................................................64– Problema práctico de mínimo condicionado

    con función de tres variables ...........................................................................66Capítulo 3. Métodos determinísticos en la investigación de operaciones ................69– Herramientas informáticas WinQSB ...................................................................72

    – Programación lineal ........................................................................................74– ¿Qué es una función? ......................................................................................75

  • 6

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    – Problema práctico de PL .................................................................................77– Programación dinámica .......................................................................................93

    – Problema práctico ...........................................................................................97– Programación lineal multiobjetivo .....................................................................104

    – Problema práctico (Hágalo o cómprelo) .......................................................107Capítulo 4. Optimización combinatoria .................................................................119– ¿Qué es la combinatoria? ...................................................................................119– Problemas de optimización combinatoria:

    esquemas para su planteamiento .......................................................................121– Problemas de optimización combinatoria sobre grafos ......................................125– Metaheurísticas en la optimización combinatoria .............................................126

    – Concepto de metaheurística .........................................................................127– Tipos de metaheurísticas ...............................................................................129– Otros tipos de metaheurísticas ......................................................................130– Propiedades deseables de las metaheurísticas ...............................................131

    Capítulo 5. El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas ......................................................133– Características de los problemas ........................................................................134

    – Los clientes ....................................................................................................135– Los depósitos .................................................................................................135– Los vehículos .................................................................................................136

    – Formulación matemática ...................................................................................136– El problema del agente viajero (TSP) ...........................................................137– Variantes del problema de ruteo (VRP) ........................................................139

    – Metaheurística sistema de colonia de hormigas ................................................141 – Las colonias de hormigas naturales ...............................................................141– De las hormigas naturales a la metaheurística

    de optimización basada en colonias de hormigas ..........................................143– Tipos de problemas resolubles por la OCH...................................................144– La hormiga artificial ......................................................................................146– Similitudes y diferencias entre las hormigas naturales

    y las artificiales ..............................................................................................147– Modo de funcionamiento y estructura genérica

    de un algoritmo OCH ...................................................................................148– Pasos a seguir para resolver un problema mediante OCH ............................152– El sistema de colonia de hormigas (OSCH) .................................................153

    – Aplicación a una empresa del sector confecciones del Valle del Cauca ...........157– Parámetros iniciales del problema .................................................................157– Seleccionando el modelo y el método de solución a utilizar ........................158– Modelo matemático del problema ................................................................160– Sobre el funcionamiento de la metaheurística OSCH .................................161– Resultados .....................................................................................................162

    Bibliografía ...............................................................................................................167

  • 7

    Expreso mis agradecimientos a todas las personas e instancias que contribuyeron a la culminación de este libro.

    A los directivos de la Universidad de San Buenaventura de Cali, Fray Álvaro Cepeda Van Houten, OFM, rector de la seccional;

    al ingeniero Claudio Camilo González Clavijo, decano de la Facultad de Ingeniería;

    al ingeniero Arturo Montoya Serrano, director del Programa de Ingeniería Industrial;

    a la directora de Investigaciones psicóloga Ángela Rocío Orozco Zárate y a su equipo de trabajo.

    Un agradecimiento especial al abogado Claudio Valencia, coordinador de la Editorial Bonaventuriana, y a sus colaboradores

    por el gran apoyo ofrecido en todos los aspectos relacionados con el diseño y publicación de esta obra.

    Por último, consigno mi reconocimiento al docente Enrique Echeverri por su incondicional colaboración en lo relacionado

    con el desarrollo del programa en Java para la solución del problema del ruteo de vehículos.

    El autor

  • Prólogo

    9

    Prólogo

    Al leer el libro del profesor Luis Alfredo Echeverri me remonté al tema de la investigación de operaciones (IO)y negocios globales, cuyos aportes racional-mente utilizados son un apalancamiento competitivo para crecer con rentabi-lidad y sostenibilidad. El enfoque sistémico de la competitividad a nivel micro se centra en aspectos como la eficiencia del trabajo y del capital, la calidad, la innovación y la flexibilidad. A través de lo expuesto queda claro que su contri-bución más importante ha sido hasta ahora en el campo de la eficiencia técnica y en la productividad. Como lo expresa el autor, la modelación cuantitativa no reemplaza el criterio humano como función de transferencia, salvo en problemas que se generan en ambientes cerrados y de corte claramente determinístico; pero “nadie puede bañarse dos veces en el mismo río”, dijo Heráclito para aludir a que el fundamento de todo es el cambio. Todo se transforma en un proceso de continuo nacimiento y destrucción al que nada escapa. El autor plantea esta situación varias veces cuando aborda en diferentes escenarios, como, por ejemplo, en producción y logística, el papel de los desarrollos en el campo de la solución de problemas. Así mismo, sugiere que lo determinístico tiene sentido en una visión local, más no en una global o más profunda, de la realidad.

    El libro nos lleva por una historia detallada de los avances en modelación y de los métodos y herramientas de software para la toma de mejores decisiones, desde la optimización clásica de obtención de máximos y mínimos de funciones continuas y la programación lineal simple y multiobjetivo, hasta la programación dinámica, entre otras, y nos muestra los desarrollos en el campo de la modela-ción probabilística.

    La IO tuvo su mayor impulso en 1950, en estrecha relación con el avance de las computadoras, e hizo hincapié en su papel en lo tocante con la confiablidad y la optimización, incluidas la metaheurísticas y la inteligencia artificial, las cuales no entrañan la idea de optimizar sino de buscar soluciones mejoradas y

  • 10

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    viables. Me parece importante resaltar los aportes del libro en el campo de la programación combinatoria, en el cual sin duda podríamos buscar el origen de los nuevos conceptos de óptimos relativos.

    El autor aclara que los desarrollos metaheurísticos son generales, es decir, no fueron concebidos para resolver una situación específica. Su objetivo es explorar eficientemente la frontera de búsqueda para hallar soluciones sub-óptimas; son estrategias para orientar los procesos de búsqueda con algoritmos aproximados y no determinísticos, que incorporan mecanismos para evitar óptimos locales, pro-pios de la optimización clásica. Estos enfoques hacen parte de los procedimientos diseñados para hallar soluciones sucesivamente mejoradas. Metaheurísticas importantes mencionadas son los algoritmos evolutivos, el recocido simulado, los algoritmos de hormigas, la búsqueda tabú y la búsqueda local de variables.

    El trabajo aborda en el sector de las confecciones un problema de ruteo de ve-hículos (VRP) con ventanas de tiempo en un contexto multiobjetivo, plantea una solución inspirada en un sistema de colonia de hormigas –metaheurística para problemas de optimización combinatoria– y analiza sus múltiples variantes, como las ventanas de tiempo y ruteo con recogida y entrega. El propósito es formular un modelo lo más cercano posible al tipo de situaciones de enruta-miento de vehículos que se encuentran en procesos de distribución en el mundo real. Para este caso la función objetivo es un vector tridimensional F=[F1, F2, F3], en el cual ningún objetivo es más importante que los otros. Los tres objetivos considerados son: F1, el número de vehículos (tamaño de la flota); F2, el tiempo total de viaje (o distancia total recorrida); y F3, el tiempo total de entrega. Se concluye demostrando los ahorros que se consiguen en tiempos y costos con la nueva solución. El autor prueba, por tanto, con un ejemplo real las ventajas de estos nuevos métodos que permiten modelar situaciones más próximas al mundo real, objetivo desde siempre de la investigación de operaciones.

    Mario Bravo Castillo profesor tiempo completo,

    Facultad de Ingeniería

  • Prólogo

    11

    Presentación

    Según la Real Academia de la Lengua Española, el verbo optimizar, en su acepción más general, es planificar una actividad para obtener los mejores resultados. Sin embargo, en el campo específico de la matemática y de la infor-mática, optimizar es el proceso mediante el cual se determinan los valores de las variables que intervienen en un problema o sistema para que el resultado que se obtenga sea el mejor posible.

    El propósito de optimizar es tan antiguo como lo son los modos de producción y ha ido a la par con la evolución de las civilizaciones. El hombre descubrió la optimización sin darse cuenta, guiado por necesidades que debía satisfacer, y desde la prehistoria hasta hoy siempre ha buscado optimizar sus actividades. Es importante destacar que los avances tecnológicos que ha logrado el ser humano para optimizar sus procesos productivos no surgieron de la noche a la mañana, sino que experimentaron modificaciones paulatinas a través del tiempo. Así, vemos cómo el hombre primitivo, en la medida en que buscaba satisfacer sus necesidades primarias o básicas, perfeccionaba igualmente los medios para al-canzarlo. Hoy se siguen desarrollando nuevas técnicas que pretenden optimizar la producción con menor esfuerzo y a un menor costo, esto es, el mejoramiento continuo de la productividad y de la eficiencia.

    Desde el punto de vista de la producción la optimización tiene una importancia relevante, ya que no se trata simplemente de diseñar herramientas, maquinarias, equipos, procesos y modelos que hagan más fácil el trabajo, sino de implementar conceptos y teorías del pensamiento matemático y de las ciencias de la compu-tación que involucren una estrecha relación del factor humano con los medios que posee cualquier organización para el logro de los objetivos previamente planteados. Con base en esto, se pretende mostrar que siempre existirán enfoques que le permitirán a la gerencia un uso óptimo de sus recursos para proporcionar bienestar tanto a la organización como a la colectividad.

  • 12

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    La presente obra, fruto del proyecto de investigación “Estudio comparativo de diferentes metaheurísticas para la optimización del ruteo de distribución en un contexto multiobjetivo, aplicado a una empresa del sector confecciones del Valle del Cauca”, en la línea de logística del grupo de investigación Tecnología, Trabajo y Gestión de la Universidad de San Buenaventura de Cali hace un breve recorrido por diferentes técnicas de optimización con base en los conceptos y la ejemplificación.

    El primer capítulo es una síntesis de la evolución histórica del concepto de optimización desde el punto de vista de la formalización matemática, es decir, las técnicas que han logrado un desarrollo explícito y preciso en sus procedi-mientos. Inicia con la optimización clásica en una y en dos variables, y aborda luego los métodos más utilizados en la investigación de operaciones como son la programación lineal, mono y multiobjetivo; la programación no lineal y la programación dinámica. Reflexiona después sobre la optimización combinatoria y los problemas NP-hard=(NP-duros, NP-difíciles), y plantea la dificultad inhe-rente de resolver dichos problemas. Finaliza el capítulo presentando una visión de las diferentes etapas que se deben considerar en el proceso del modelamiento matemático de los problemas de optimización.

    En el capítulo dos se presentan los fundamentos teóricos de los problemas de la optimización clásica, esto es, los máximos y mínimos de funciones de una, de dos y tres variables, y los óptimos condicionados en funciones de varias variables. Sin perder el rigor matemático, la exposición se centra en las definiciones básicas y los criterios esenciales de la primera y la segunda derivada para establecer y clasificar extremos relativos de una función. Se acompañan estas exposiciones de la solución de problemas prácticos, abordada desde diferentes métodos: el método gráfico, el método analítico y comando Solver de la aplicación Excel.

    Se plantean en el tercer capítulo los elementos esenciales para el modelamiento y la solución de problemas de optimización de la investigación de operaciones pertenecientes a la categoría de problemas determinísticos. Mediante ejemplos de aplicaciones reales de la programación lineal, la programación dinámica y la programación lineal multiobjetivo se muestran de manera práctica las etapas del modelamiento matemático expuestas en el primer capítulo. Para la solución de los tres ejemplos se recurre al software WinQSB, con sus respectivos módulos. Se presenta de manera gráfica y detallada el paso a paso que se debe tener en cuenta para la solución de los problemas, apoyados en esta herramienta informática.

  • Prólogo

    13

    Presentación

    Con una introducción sobre lo que es la optimización combinatoria se inicia el cuarto capítulo, que contiene los elementos básicos de un problema de esta categoría, y se ejemplifica con algunos problemas clásicos que de tiempo atrás han sido claves para sentar las bases conceptuales de esta clase de optimización: la clasificación de los problemas en polinomiales (P), no polinomiales (NP) y no polinomiales difíciles (NP-duros). También se explican en este capítulo los términos heurística y metaheurística, además de algunas de las técnicas que más se han utilizado en la solución de los problemas de optimización combinatoria, junto con las propiedades más deseables de estas técnicas.

    Para finalizar, en el capítulo cinco se describe con detalle el problema del ruteo de vehículos y algunas de las variantes que presenta, incluido el problema del agente viajero, uno de los primeros problemas de optimización combinatoria que se presentó y que ha servido de base para formular otros problemas cuya solución, aunque pueden tener una mayor complejidad por la cantidad de restricciones que deben satisfacer, es en esencia la misma que la del problema del agente viajero. Se expone también la metaheurística sistema de colonia de hormigas, la cual, desde sus ideas primigenias gestadas por los italianos Dorigo, Maniezzo y Colorni, ha contribuido en la solución de problemas de redes y ruteos de distribución.

    El capítulo finaliza con la aplicación de lo visto en la solución de un problema real del ruteo de distribución con ventanas de tiempo en un contexto multiobjetivo de una empresa del sector textil - confección del Valle del Cauca.

  • 15

    Capítulo 1Optimización.

    Evolución y características

    “El olvido de las matemáticas perjudica a todo el conocimiento, ya que el que las ignora no puede conocer las otras ciencias

    ni las cosas de este mundo”.Roger Bacon

    Investigación operativa y optimizaciónConceptualizaciónDefinir la investigación operativa (operations research en inglés de USA u opera-tional research en inglés de UK) no es sencillo, pues su evolución permanente lo hace difícil. La investigación operativa se puede considerar como la aplicación de métodos científicos en la mejora de la efectividad de las operaciones, de las decisiones y de la gestión [Robinson, 1999], o como la ciencia de aplicar los recursos disponibles para conseguir la satisfacción óptima de un objetivo específico deseado. Otra conceptualización más extensa postula que la inves-tigación operativa es la aplicación, por grupos interdisciplinarios, del método científico a los problemas complejos producidos en la dirección y gestión de grandes sistemas de hombres, máquinas, etc. Su principal característica es ser un modelo científico del sistema con el cual se pueden predecir y comparar los resultados de diversas estrategias y decisiones incorporando medidas del azar y del riesgo; y su objetivo es ayudar a los responsables a determinar su política y actuaciones en forma científica. En este sentido también se puede utilizar como sinónimo management science o análisis de las decisiones.

  • 16

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    Los profesionales de la investigación operativa colaboran con los decisores en el diseño y mejora de las operaciones y decisiones, resuelven problemas y ayudan en las funciones de gestión, planificación o predicción, aportan conocimiento y contribuyen a tomar decisiones. Aplican las técnicas científicas más adecua-das, seleccionadas de la matemática, la ingeniería o las ciencias sociales y de administración de empresas. Su trabajo consiste normalmente en recoger y analizar datos, desarrollar y probar modelos matemáticos, proponer soluciones o formular recomendaciones, interpretar la información y, en definitiva, ayudar a tomar acciones de mejora. Como resultado desarrollan e implantan aplicaciones informáticas, sistemas, servicios técnicos o productos.

    En resumen, la investigación de operaciones se ocupa de la toma de decisiones óptima y del modelado de sistemas determinísticos y probabilísticos con base en la vida real. Estas aplicaciones, que ocurren en el Gobierno, en los negocios, en la industria, en la ingeniería, en la economía y en las ciencias naturales y sociales, se caracterizan, en gran parte, por la necesidad de asignar recursos escasos. En estas situaciones se puede obtener un conocimiento profundo del problema a partir del análisis científico que proporciona la investigación de operaciones.

    La contribución del enfoque de investigación de operaciones proviene princi-palmente de:

    1. La estructuración de una situación de la vida real como un modelo mate-mático, con lo que se logra una abstracción de los elementos esenciales para que pueda buscarse una solución que concuerde con los objetivos de quien debe decidir tomarla. Esto implica tomar en cuenta el problema dentro del contexto del sistema completo.

    2. El análisis de la estructura de tales soluciones y el desarrollo de procedi-mientos sistemáticos para obtenerlas.

    3. El desarrollo de una solución, incluida la teoría matemática si es necesario, que indique el valor óptimo de la medida de lo que se espera del sistema (o quizá que compare los cursos de acción alternativos al evaluar esta medida para cada uno).

    Evocando la historiaDisciplinas típicas de la investigación operativa son la optimización con sus múltiples perspectivas, como la optimización clásica, la programación lineal, la programación no lineal, la programación entera, la programación dinámica,

  • Capítulo 1 - Optimización. Evolución y características

    17

    la optimización estocástica, la optimización multiobjetivo; la teoría de la deci-sión y de juegos, la teoría de colas y la simulación, la teoría de grafos o flujos de redes. Otras disciplinas como algoritmos metaheurísticos y lógica borrosa, redes neuronales artificiales, reconocimiento de patrones y otras técnicas de inteligencia artificial, aunque conceptualmente se encuadran dentro de la investigación operativa, habitualmente se estudian en otras disciplinas ligadas a la ingeniería informática, como la inteligencia artificial. Los contenidos de algunas de estas últimas disciplinas también están muy ligados a la estadística.

    A lo largo de la historia es frecuente encontrarse con la colaboración entre científicos y militares con el fin de tomar la decisión óptima en una batalla. Por esto muchos expertos sitúan el inicio de la investigación operativa en el siglo III a.C., durante la II Guerra Púnica, con el análisis y solución que Arquímedes propuso para la defensa de la ciudad de Siracusa [Newman, 1985], sitiada por los romanos. Entre sus inventos se encontraban la catapulta y un sistema de espejos con el que, al enfocar los rayos del sol, se incendiaban las embarcaciones enemigas.

    En 1503, Leonardo da Vinci participó como ingeniero en la guerra contra Pisa [White, 2001], ya que conocía técnicas para realizar bombardeos y construir barcos, vehículos acorazados, cañones, catapultas y otras máquinas bélicas.

    Otro aporte de la investigación operativa es el de F. W. Lanchester [Neumann, 1985], quien hizo un estudio matemático sobre la potencia balística de las fuerzas opositoras y desarrolló, a partir de un sistema de ecuaciones diferenciales, la Ley Cuadrática de Combate de Lanchester, con la que era posible determinar el desenlace de una batalla militar.

    Thomas Edison también hizo uso de la investigación operativa para contribuir a la guerra antisubmarina con grandes ideas, como la protección antitorpedos para los barcos.

    Desde el punto de vista matemático, en los siglos xvii y xviii Newton, Leibnitz, Bernoulli y Lagrange trabajaron en obtener máximos y mínimos condicionados para ciertas funciones.

    Newton y Leibniz descubrieron ambos el concepto de derivada de manera independiente. Newton empezó a pensar en 1665 en la velocidad de cambio o fluxión de magnitudes. Sin embargo, fue Leibnitz quien utilizó en primer lugar la notación para indicar simbólicamente el paso al límite, cambiando ẏ o ÿ por

  • 18

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    dydx o

    d2ydx2, respectivamente. La manera de razonar de Newton estaba mucho

    más próxima a la forma moderna del cálculo, pero la eficacia de la notación diferencial de Leibnitz hizo que se aceptase mejor la idea de diferencial que la de fluxión. Las notaciones y' y f '(x) fueron introducidas por Lagrange (siglo xviii).

    Si bien las reglas de operación y las principales relaciones entre ellas quedaron claramente establecidas con Newton y Leibnitz, y con ello salía a la luz una nueva materia, el cálculo, todavía quedaba mucho por hacer. Sus fundamentos eran imprecisos no solamente para sus autores sino para los estudiosos de las matemáticas que les sucedieron en el siglo xviii. Durante ese tiempo se buscó pasar de la justificación basada en el pragmatismo dado por la consistencia de los resultados obtenidos, con la visión del mundo físico que ofrecía la geometría euclidiana, a una explicación que fuera más allá de lo intuitivamente plausible. Esto no fue posible hasta el siguiente siglo, en el que el desarrollo del formalismo algebraico impulsó sistemas matemáticos independientes de los postulados afines a la experiencia sensorial. Con ello pudo el cálculo adoptar sus propias premisas y construir sus propias definiciones sujetas solamente a los requerimientos de su consistencia interna.

    En 1744 P. L. Moreau de Maupertius presentó el “principio metafísico” de la naturaleza, según el cual la naturaleza siempre opera con la mayor economía posible. Dicho de otra forma, la naturaleza siempre actúa de tal manera que minimiza alguna cantidad, por ejemplo, la forma esférica de las burbujas de jabón se relaciona con el hecho de que las esferas son las superficies de área mínima que contienen un volumen fijo. El matemático suizo L. Euler proporcionó muchas de las herramientas matemáticas para la teoría de máximos y mínimos de cantidades escalares.

    El matemático francés Jean Baptiste-Joseph Fourier esbozó los métodos de la actual programación lineal. Y en los últimos años del siglo xviii, Gaspar Monge sentó los precedentes del método gráfico, gracias a su desarrollo de la geometría descriptiva.

    Janos von Neumann publicó en 1928 su trabajo Teoría de juegos, que proporcionó fundamentos matemáticos a la programación lineal. Más tarde, en 1947, visionó la similitud entre los problemas de programación lineal y la teoría de matrices que desarrolló. Posteriormente, en 1939, el matemático ruso L. Kantorovich, en colaboración con el matemático holandés T. Koopmans, desarrolló la teoría matemática llamada “programación lineal”, por la que les fue concedido el premio Nobel.

  • Capítulo 1 - Optimización. Evolución y características

    19

    Pero no se considera que hubiere nacido una nueva ciencia llamada investigación operativa o investigación de operaciones hasta la II Guerra Mundial, durante la batalla de Inglaterra, cuando la fuerza aérea alemana (la Luftwaffe) estaba sometiendo a los británicos a un duro ataque aéreo ya que estos tenían una capacidad aérea pequeña, aunque experimentada en el combate. El gobierno británico, en busca de algún medio para defender a su país, convocó a varios científicos de diversas disciplinas para tratar de resolver el problema de sacar el máximo beneficio de los radares de que disponían. Gracias a su trabajo que determinó la localización óptima de las antenas y la mejor distribución de las se-ñales consiguieron duplicar la efectividad del sistema británico de defensa aérea.

    Al apreciar el alcance de esta nueva disciplina, Inglaterra creó otros grupos de la misma índole para obtener resultados óptimos en la contienda. Igualmente Estados Unidos, al unirse a la guerra en 1942, creó el proyecto scoop (Scienti-fic Computational of Optimum Programs), para el cual trabajó George Bernard Dantzig, quien desarrolló en 1947 el algoritmo del método Simplex.

    Durante la Guerra Fría, la antigua Unión Soviética, excluida del Plan Marshall, quiso controlar las comunicaciones terrestres de Berlín, incluidas las rutas flu-viales. Para evitar la rendición de la ciudad y que se sumara a la zona comunista alemana, Inglaterra y Estados Unidos decidieron abastecer a Berlín, o bien me-diante convoyes escoltados (lo que podría dar lugar a nuevos enfrentamientos) o mediante puente aéreo, pero romper o evadir, en cualquier caso, el bloqueo. Se optó por esta segunda opción y se inició la Luftbrücke (puente aéreo) el 25 de junio de 1948. Este fue otro de los problemas en los que participó el grupo scoop. En diciembre de ese mismo año llegaban a la ciudad 4.500 toneladas diarias de víveres y otros, y tras estudios de investigación operativa se optimizó el abastecimiento hasta sumar 8.000~9.000 toneladas diarias en marzo de 1949, las mismas que se hubieran transportado por tierra, por lo que los soviéticos decidieron levantar el bloqueo el 12 de mayo de 1949.

    Tras la Segunda Guerra Mundial, Estados Unidos decidió organizar sus recursos (energía, armamentos y todo tipo de suministros) utilizando modelos de opti-mización, resueltos mediante la programación lineal.

    Simultáneamente, el desarrollo de los ordenadores y su implantación en la in-dustria posibilitaron el tratamiento y estudio de problemas de gran complejidad, por lo cual a mediados de la década de los cincuenta la investigación operativa se encontraba ya afianzada en el mundo industrial. Los primeros cursos sobre investigación operativa se impartieron en el MIT de Boston, en 1948, y un año

  • 20

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    después hubo un ciclo de conferencias en el University College de Londres. Poco después ofrecían programas específicos completos las universidades Case Western Reserve, Johns Hopkins y North-Werstern en USA.; y el Imperial College y la London School of Economics en Inglaterra.

    El grupo de científicos ingleses que procedían de los establecimientos militares formaron en 1948 el Operational Research Club, que daría lugar, en 1954, a la Operational Research Society. Unos años antes, en 1950, se había fundado la Operations Research Society of America. Ambas iniciaron inmediatamente la publicación de revistas científicas monográficas para la presentación pública de los resultados de las investigaciones en curso y la difusión de la disciplina. Los primeros alumnos del programa de graduados que obtuvieron el título de doctores en investigación operativa se graduaron en el Case Institute of Tech-nology en 1957, y los responsables del programa fueron los profesores Russell Ackoff y West Churchman.

    Con la investigación operativa ya firmemente establecida, su rápida evolución arrastró consigo la de la organización de la producción, de forma tal que existe una correlación profunda y completa entre ambas materias. Para destacar el solape se introduce ahora la reciente evolución de los métodos cuantitativos hasta la situación en que se encuentran en la actualidad.

    Toda disciplina científica emerge de la convergencia entre un creciente interés en alguna clase de problemas y el desarrollo de métodos, técnicas e instrumentos científicos adecuados para resolver esos problemas. La IO utiliza resultados de muchas áreas científicas, aunque su fundamento son las matemáticas, la eco-nomía, el cálculo de probabilidades y la estadística. Desde un punto de vista matemático se podrían establecer los orígenes de la IO en diferentes trabajos sobre modelos lineales debidos a Jordan, Minkowsky y Farkas a finales del siglo xix. En relación con la estadística, sus orígenes se encuentran en los trabajos de Erlang sobre fenómenos de espera en los años veinte del siglo pasado. En economía se deben a Quesnay (xviii) y Walras (xix), que plantearon los prime-ros modelos de programación matemática, posteriormente perfeccionados por autores como Von Newmann, Kantorovich y Dantzig.

    Como puede observarse en los primeros estudios que se etiquetaron como de investigación operativa, el aspecto técnico más característico consistió en la estructuración estadística de los datos y en el empleo de modelos descriptivos de tipo probabilístico. Sin embargo, el prestigio y difusión de la investigación

  • Capítulo 1 - Optimización. Evolución y características

    21

    operativa está cimentado en la programación lineal, aunque ello corresponda a una simplificación de la realidad.

    Los fundamentos matemáticos de los modelos lineales discretos se encuentran en la teoría de las desigualdades lineales desarrollada en el siglo pasado. Otros conceptos paralelos a los de la programación lineal fueron formulados por Von Newmann en 1928, con la aplicación del teorema del minimax a los juegos de estrategia. Como un antecedente inmediato se encuentra el planteamiento del problema de transporte, por F. L. Hitchcock, en 1941 en los Estados Unidos. En el contexto de la planificación óptima de la asignación de obligaciones produc-tivas, el mismo modelo había sido estudiado y resuelto por Kantorovich en la Unión Soviética en 1939, empleando para ello lo que puede interpretarse como variables duales. También, en un contexto concreto, Stiegler planteó el problema lineal de obtener una dieta adecuada con costo mínimo a partir de setenta y siete alimentos y considerando nueve nutrientes, para lo cual se reconoce en él haber ideado la estructura para optimizar una función lineal sujeta a restric-ciones lineales. Pero el proyecto de formulación y solución del problema lineal de forma general fue propuesto por el departamento del Ejército del Aire con el nombre de proyecto scoop, en 1947. El resultado inmediato fue el algoritmo de resolución simplex, debido a George B. Dantzig, y su implementación en un ordenador Univac para la resolución de modelos lineales de gran tamaño.

    En el resto de los años cincuenta la programación lineal quedó completamen-te establecida con los trabajos de Charnes sobre la degeneración; de Lemke, sobre la dualidad; de Dantzig, Orden y Wolfe, sobre la forma compacta y la descomposición de grandes programas. En estos mismos años Ford y Fulkerson, también contratados por la Rand Corporation, establecen los resultados sobre flujos en grafos y el método primal-dual para los problemas de distribución. Sin embargo, la programación lineal entera no recibe atención hasta finales de esta década, cuando Gomory obtiene la expresión general para aproximar la envol-tura convexa del conjunto admisible empleando sola y exclusivamente planos secantes. A pesar de las esperanzas que el procedimiento generó, sigue siendo un campo con métodos limitados e insatisfactorios y en el cual la enumeración parcial e inteligente de posibles soluciones es el socorrido último recurso en multitud de situaciones.

    En los modelos no lineales los resultados fundamentales proceden del desarro-llo del cálculo matemático en el siglo xviii, y básicamente del lagrangiano. La caracterización de las condiciones óptimas necesarias en problemas restringidos se generaliza a partir de los resultados de Lagrange en el conocido teorema de

  • 22

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    Kuhn-Tucker, que recopila y estructura un conjunto de investigaciones llevadas a cabo por numerosos autores en los años cuarenta, entre los que ha de citarse a Dantzig y Fritz John. La programación no lineal progresó durante los años sesenta y setenta, cuando pudo enfrentarse la resolución de problemas de tamaño medio con varias decenas de restricciones y algunos cientos de variables. Sin embargo, la investigación en la búsqueda de algoritmos eficientes seguía siendo muy activa, pues los existentes no eran plenamente satisfactorios.

    En cuanto a la programación dinámica, su inicio y desarrollo básico se deben a Richard Bellman al principio de los cincuenta. La trascendencia de esta metodología no se limita a la investigación operativa, sino que es también de gran importancia en la teoría del control óptimo, en estrecha relación con el principio del máximo de Pontryagin. En lo que aquí concierne, el desarrollo de la programación dinámica se ha visto limitado en su aplicación concreta debido a la complejidad computacional que la acompaña, tanto por la cardinalidad del espacio de estado como por el número de períodos que intervienen. En este sen-tido, el trabajo de Larson ha colaborado a su tratamiento, pero muchos autores aún consideran la programación dinámica como un punto de vista conceptual y un bagaje teórico para el análisis de problemas, y no como un método o con-junto de ellos implantable en algoritmos de tipo general. En esta dirección, los trabajos de Denardo para identificar la estructura de los procesos de decisiones secuenciales suponen un avance para establecerlos.

    La teoría de colas se inicia con el trabajo del ingeniero danés A. K. Erlang en la industria telefónica de principios de siglo. El estudio en detalle de los modelos más usuales, en que tanto la distribución de llegadas al sistema como la del tiempo de servicio son conocidas y pertenecen a categorías bien establecidas, está completamente caracterizado. Pero los recursos técnicos de carácter ma-temático que se requieren para llevar a cabo estos análisis hacen que sea la simulación el método habitual de estudio cuando los procesos de colas son de cierta complejidad. Debe resaltarse la existencia de multitud de lenguajes de simulación a disposición de los usuarios de computadores de las empresas de mayor importancia en el sector.

    La teoría de juegos se inicia con los primeros resultados de Von Newmann sobre el teorema del minimax, en 1926, y sobre todo a partir de la publicación de su obra básica en unión de Morgenstern, en la cual postulan la teoría de juegos matriciales. Posteriormente, y como consecuencia de los aportes de la teoría del control óptimo, se bifurca en los juegos diferenciales y en el estudio de los juegos cooperativos. En estos últimos el desarrollo se sustenta en el estudio de

  • Capítulo 1 - Optimización. Evolución y características

    23

    la teoría del núcleo, incluido el concepto de valor de Shapley y los resultados de Nash. En cualquier caso, la influencia de esta teoría sobre la organización de la producción ha sido muy limitada. En cuanto a la teoría de la decisión en condiciones de incertidumbre, toda ella se basa en la estadística bayesiana y la estimación subjetiva de las probabilidades de los sucesos. La estructuración de la teoría axiomática de la utilidad es más reciente, y se encuentra en fase de pleno desarrollo, como muestran las publicaciones de Schlaifer y Raiffa. En la actualidad se la considera un instrumento válido para la estructuración de la toma de decisiones con incertidumbre cuando la información no es completa. Su aplicación a la organización de la producción es reducida debido a que en ella la situación es bastante estructurada y se puede acceder a una satisfactoria información sobre el contexto. Si acaso, en los planteamientos estratégicos que pueden darse en la fase de diseño, en que la información es menor o incluso no existe, pueden emplearse estos métodos.

    Desde su origen, la investigación operativa se ha encarado a problemas para los que no existe método analítico alguno que permita obtener, con seguridad y en un tiempo conveniente, el óptimo teórico. Este es, por ejemplo, el caso de los problemas combinatorios, en los que el sentido común da por imposible la enumeración. Era más que normal que el tamaño y la naturaleza de ciertos problemas combinatorios nos impedían abordarlos por la vía del sentido común. Un buen sentido, educado por la ciencia, sabe distinguir particularmente los problemas NP completos, para los cuales no existe un algoritmo que en tiempo polinomial sea capaz de encontrar la solución (Garey y Johnson). Desde siem-pre, la investigación de operaciones ha establecido, por tales razones, métodos denominados heurísticos, incapaces de proporcionar el óptimo formal pero susceptibles de llegar a soluciones buenas, tanto más fiables en cuanto que permiten determinar al mismo tiempo una cota (superior o inferior) del óptimo teórico con el que se comparan. Con el auge de los microordenadores, hacia principios de los ochenta, estos métodos han ido ganando terreno, puesto que se iba haciendo cada vez más factible y fácil intentar diferentes heurísticas y juzgar su eficacia relativa.

    Es de destacar también la gran difusión que ha tenido el software de optimi-zación debido al incremento en la potencia de cálculo de los ordenadores y al abaratamiento del costo de las aplicaciones y del hardware. Entre algunas de las aplicaciones se pueden citar las de programación matemática (para la resolución de modelos lineales, mixtos y no lineales) como Gino, Minos, imsl, xa, gpss y cplEx. También se pueden mencionar otras aplicaciones pre y posprocesadoras de

  • 24

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    las anteriores: Analyze, Gams, ampl, etc., que permiten de una forma amigable generar los modelos y analizar sus resultados.

    Durante los últimos años han aparecido una serie de métodos denominados metaheurísticas,1 cuya finalidad es encontrar buenas soluciones a problemas de optimización (lineal o no lineal, con restricciones o sin ellas, y mono o multiob-jetivo). Entre ellos se pueden enumerar los algoritmos genéticos, el recocido simulado, la búsqueda tabú, las redes neuronales y los sistemas de colonias de hormigas. Su aplicación a los problemas de secuenciación de todo tipo es una finalidad típica y clásica. Es más, prácticamente todos ellos están basados en intentar resolver, de la mejor forma posible, problemas típicos de organización de la producción. Así, los problemas típicos de secuenciación de trabajos en máquinas, de equilibrado de líneas de montaje, de asignación de rutas, de pla-nificación de la producción, etc., han sido, son y, casi con toda seguridad, serán el banco de pruebas de las más modernas técnicas de búsqueda de soluciones a problemas en los que, de entrada, se declina la posibilidad de encontrar la solución óptima.

    Los algoritmos genéticos (genetic algorithms) fueron introducidos por Holland para imitar algunos de los mecanismos que se observan en la evolución de las especies, no conocidos en profundidad pero sí algunas de sus características: la evolución ocurre en los cromosomas; un ser vivo da vida a otro mediante la de-codificación de los cromosomas de sus progenitores, el cruce de los cromosomas y la codificación de los nuevos cromosomas, que forman a los descendientes. Las mejores características de los progenitores se trasladan a los descendientes y mejoran progresivamente las generaciones.

    Basándose en estas características, Holland creó un algoritmo que genera nuevas soluciones a partir de la unión de soluciones progenitoras, utilizando para ello operadores similares a los de la reproducción, sin necesidad de conocer el tipo de problema a resolver.

    Los algoritmos de recocido simulado (simulated annealing) fueron introducidos por Cerny, Kirkpatricky y otros para la optimización de problemas combinatorios

    1. Heurística: técnica de la indagación y del descubrimiento. En algunas ciencias, manera de buscar la solución de un problema mediante métodos no rigurosos, como por tanteo, reglas empíricas, etc. Metaheurística: Es una estrategia de alto nivel que guía a otras heurísticas para buscar soluciones factibles en dominios donde la tarea es compleja. El nombre combina el prefijo meta, del griego, que significa “más allá”, y concretamente aquí expresa “a un nivel más alto”, con heurística, cuyo significado es “encontrar”.

  • Capítulo 1 - Optimización. Evolución y características

    25

    con mínimos locales. Utilizan técnicas de optimización no determinista: no buscan la mejor solución en el entorno de la solución actual, sino que generan aleatoriamente una solución cercana y la aceptan como la mejor si tiene menor costo, o en caso contrario con una cierta probabilidad p; esta probabilidad de aceptación irá disminuyendo con el número de iteraciones y está relacionada con el incremento del costo.

    Estos algoritmos derivan de la analogía termodinámica al proceso metalúrgico del recocido: cuando se enfría un metal fundido suficientemente despacio, tien-de a solidificarse en una estructura de mínima energía (equilibrio térmico); a medida que disminuye la temperatura, las moléculas tienen menos probabilidad de moverse de su nivel energético; la probabilidad de movimiento se ajusta a la función de Boltzmann.

    Entre los distintos métodos y técnicas heurísticos de resolución de problemas combinatorios surge, en un intento de dotar de “inteligencia” a los algoritmos de búsqueda local, el algoritmo de búsqueda tabú (tabu search), de Glover.

    La búsqueda tabú, a diferencia de otros algoritmos basados en técnicas aleatorias de búsqueda de soluciones cercanas, se caracteriza porque utiliza una estrategia basada en el uso de estructuras de memoria para escapar de los óptimos locales, en los que se puede caer al “moverse” de una solución a otra por el espacio de soluciones. Al igual que en la búsqueda local, la búsqueda tabú selecciona de modo decidido el mejor de los movimientos posibles en cada paso. Al contrario de lo que sucede en la búsqueda local, se permiten movimientos a soluciones del entorno aunque se produzca un empeoramiento de la función objetivo, de manera que sea posible escapar de los óptimos locales y continuar estratégica-mente la búsqueda de mejores soluciones.

    Las redes neuronales (neural networks) son modelos analógicos que tienen como objetivo reproducir, en la medida de lo posible, las características y la capacidad de procesamiento de información del conjunto de neuronas presentes en el cerebro de los seres vivos. Las características principales de estos modelos son su robustez, su tolerancia a fallos y su capacidad de adaptación, de aprendizaje, y de procesar información defectuosa.

    Los modelos de redes neuronales intentan conseguir unos buenos resultados basándose en una densa interconexión de unos sencillos nodos computaciona-les llamados neuronas. Aleksander y Morton definen una red neuronal como un “procesador distribuido paralelo que posee una propensión natural para el

  • 26

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    almacenamiento de conocimiento experimental y lo hace disponible para su uso”. Recuerda al cerebro humano en dos aspectos: el conocimiento se adquiere mediante un proceso de aprendizaje, y la conexión interneuronal se utiliza para el almacenamiento del conocimiento.

    Los algoritmos basados en los sistemas de colonias de hormigas se soportan en el comportamiento natural de estos insectos, que se caracterizan por su orga-nización social que les permite la realización de tareas complejas mediante el trabajo coordinado, que se da al rastrear feromonas (sustancias químicas que pueden olerse, producidas por las hormigas) y buscar caminos aleatoriamente, o reconocer imágenes que se encuentran en su memoria de corto plazo. Las hormigas reales son capaces de encontrar el camino más corto entre su hor-miguero y su destino siguiendo el rastro de feromonas dejado en el camino y usando cierto conocimiento previo almacenado en su memoria.

    En un experimento hecho por Goss et ál. (1989) había dos puentes, uno sig-nificativamente más largo que el otro. Al inicio del experimento las hormigas elegían uno de los dos puentes (sin ninguna influencia), pero las que elegían el puente más corto regresaban más rápido; así, ese camino obtenía más feromonas que el otro. A este fenómeno se le llama autocatálisis; explotar la retroalimen-tación positiva para encontrar la ruta más corta entre una fuente de alimento y su nido. Este es el modelo de comunicación de las hormigas, también conocido como modelo de comunicación por medio del ambiente o stigmergic en inglés.

    A partir de los resultados obtenidos con el experimento de Goss, et ál., se desarro-lló un modelo para explicar el comportamiento observado en el experimento del puente binario, y se utilizó como inspiración para crear algoritmos con hormigas artificiales que simulan el efecto de feromona modificando variables–feromona asociadas a estados del problema que visitan al construir una solución al pro-blema de optimización. En el capítulo cinco de la presente obra se desarrolla con más detalle uno de estos algoritmos y su aplicación en la solución problema del ruteo de distribución en un contexto multiobjetivo, aplicado a una empresa del sector confecciones del Valle del Cauca.

    Una ventaja importante de las heurísticas y las metaheurísticas frente a las técnicas que buscan soluciones exactas es que, por lo general, permiten una mayor flexibilidad para el manejo de las características del problema. No suele ser complejo emplear algoritmos heurísticos que en lugar de funciones lineales utilicen no linealidades. Habitualmente las metaheurísticas proponen un con-junto de soluciones y amplían de esta forma las posibilidades de elección del

  • Capítulo 1 - Optimización. Evolución y características

    27

    decisor, especialmente cuando existen factores no cuantificables que no han podido ser reflejados en el modelo pero deben ser tenidos en cuenta.

    Modelos de optimizaciónDeterminadas técnicas propias de la investigación de operaciones se recogen bajo el nombre de optimización o programación matemática. Los problemas de optimización se componen generalmente de estos tres ingredientes:

    Función objetivoEs la medida cuantitativa del funcionamiento del sistema que se desea optimi-zar (maximizar o minimizar). Como ejemplo de funciones objetivo se pueden mencionar: la minimización de los costos variables de operación de un sistema de producción, la maximización de los beneficios netos de venta de ciertos pro-ductos, la minimización del cuadrado de las desviaciones con respecto a unos valores observados, la minimización del material utilizado en la fabricación de un producto, etc.

    VariablesRepresentan las decisiones que se pueden tomar para afectar el valor de la fun-ción objetivo. Desde un punto de vista funcional se pueden clasificar en variables independientes o principales o de control y variables dependientes o auxiliares o de estado, aunque matemáticamente todas son iguales. En el caso de un sistema eléctrico serán los valores de producción de los grupos de generación o los flujos por las líneas; en el caso de la venta, la cantidad de cada producto fabricado y vendido; en el caso de la fabricación de un producto, sus dimensiones físicas.

    RestriccionesRepresentan el conjunto de relaciones (expresadas mediante ecuaciones e inecuaciones) que ciertas variables están obligadas a satisfacer. Por ejemplo, la potencia máxima y mínima de operación de un grupo de generación, la capacidad de producción de la fábrica para los diferentes productos, las dimensiones del material bruto del producto, etc.

    Resolver un problema de optimización es encontrar el valor que deben tomar las variables para hacer óptima la función o funciones objetivo satisfaciendo el conjunto de restricciones.

  • 28

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri PatiñoFi

    gura

    1. L

    ínea

    de

    tiem

    po d

    e lo

    s pro

    ceso

    s de

    optim

    izac

    ión.

  • Capítulo 1 - Optimización. Evolución y características

    29

    Los métodos de optimización los podemos clasificar en métodos clásicos (que son los algoritmos que habitualmente se explican en los libros de optimización) y métodos metaheurísticos (que aparecieron ligados a lo que se denominó in-teligencia artificial e imitan fenómenos sencillos observados en la naturaleza). Entre los primeros se encuentran la optimización clásica, la optimización lineal, lineal entera mixta, no lineal, estocástica, dinámica, etc., que se explican en el documento. En el segundo grupo se incluyen los algoritmos evolutivos (gené-ticos, entre otros), el método del recocido simulado (simulated annealing), los sistemas de colonias de hormigas, o los sistemas multiagente. De forma muy general y aproximada se puede decir que los métodos clásicos buscan y garantizan un óptimo local, mientras que los métodos metaheurísticos tienen mecanismos específicos para alcanzar un óptimo global aunque no garantizan su alcance.

    Existen decisiones que no pueden ser representadas de forma adecuada mediante variables continuas. Por ejemplo, las decisiones de inversión son variables discre-tas (i.e., planificación de la expansión de la generación o de la red, adquisición de equipos singulares, contratación de personas) o binarias (como localización de plantas o almacenes).

    Existen algunos tipos de problemas de optimización que alteran ligeramente este esquema:

    Sistemas de ecuaciones lineales - no linealesNo existe una función objetivo como tal. Únicamente interesa encontrar una solución factible a un problema con un conjunto de restricciones.

    Optimización sin restriccionesSe trata de encontrar el conjunto de valores de las variables que determinan el mínimo/máximo de una función. Algunas de las técnicas que se verán en programación no lineal son para optimización sin restricciones.

    Optimización multiobjetivoExiste más de una función objetivo. El problema que se plantea es cómo tratar varias funciones objetivo a la vez, teniendo en cuenta que el óptimo para un objetivo no lo es para otro: son objetivos en conflicto entre sí. Se enmarca dentro de lo que se conoce de forma más general como decisión multicriterio (multicriteria decition making, mcdm).

  • 30

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    Modelo y modeladoUn modelo2 es una representación matemática simplificada de una realidad compleja. Modelar es la acción de construir un modelo, de ajustar la realidad. Implica la relación entre dos figuras (no necesariamente encarnadas por per-sonas únicas sino por equipos): el modelador (encargado de la especificación y desarrollo del modelo) y el experto sobre la realidad (conocedor del problema real). La mayoría de las veces el desarrollo de un modelo puede involucrar a un equipo multidisciplinar compuesto por matemáticos, estadísticos, ingenieros, economistas, psicólogos, etc., que aportan diferentes perspectivas y conocimiento en la representación de la realidad. Un modelo debe equilibrar la necesidad de considerar todos los detalles con la factibilidad de encontrar técnicas de solución adecuadas.

    Un modelo es, en definitiva, una herramienta de ayuda a la toma de decisiones. Por esta razón, sus resultados deben ser inteligibles y útiles. Modelar se puede entender simultáneamente como ciencia y como arte. Es una ciencia, ya que se basa en un conjunto de procesos estructurados: análisis y detección de las relaciones entre los datos, establecimiento de suposiciones y aproximaciones en la representación de los problemas, desarrollo o uso de algoritmos específicos de solución. Es un arte porque materializa una visión o interpretación de la realidad no siempre de manera unívoca. Cada persona imprime su estilo en el modelo mismo y en la especificación, en el desarrollo y en la documentación. Características tales como elegancia o simplicidad pueden atribuirse a un mo-delo. El desarrollo de un modelo es una creación hecha con ayuda de ciencias básicas o herramientas de apoyo.

    Entre los beneficios explícitos o implícitos, tanto para el modelador como para el experto, derivados del proceso de modelado además del modelo en sí mismo se pueden mencionar:

    – Ayuda a establecer un diálogo con intercambio de información entre el modelador y el experto.

    – Organiza los datos de la información disponible sobre el sistema.

    2. Modelo: esquema teórico, generalmente en forma matemática, de un sistema o de una reali-dad compleja (por ejemplo, la evolución económica de un país), que se elabora para facilitar su comprensión y el estudio de su comportamiento. Diccionario de la Lengua Española. Real Academia Española.

  • Capítulo 1 - Optimización. Evolución y características

    31

    – Organiza, estructura y mejora la comprensión del sistema.

    – Internaliza la estructura organizativa de la empresa.

    – Permite compartir supuestos y resultados entre el modelador y el experto.

    – Proporciona un entorno ágil para el análisis y la sensibilidad.

    – Indica la dirección de mejora en las decisiones.

    Etapas en el desarrollo de un modeloLas etapas que componen el ciclo de vida de un modelo son las siguientes:

    Identificación del problemaConsiste en la recolección y análisis de la información relevante para el pro-blema, en el intercambio de información entre el modelador y el experto, en establecer una relación simbiótica y una estrecha coordinación entre ambos.

    Los problemas reales suelen estar definidos en términos vagos e imprecisos. Se debe hacer la tarea de traducción o interpretación en frases precisas, converti-bles en ecuaciones matemáticas. En esta etapa se establecen y documentan los supuestos planteados, que en etapas posteriores deberán ser validados.

    Esta etapa es fundamental para que tanto las soluciones proporcionadas como las conclusiones obtenidas sean útiles y las decisiones adoptadas sean correctas. Los datos son vitales para que las soluciones sean reales y aplicables. A menudo representan el cuello de botella del proceso de modelado.

    Especificación matemática y formulaciónEscritura matemática del problema de optimización para definir sus variables, sus parámetros, su función objetivo, sus relaciones y restricciones. En esta etapa se analiza el tamaño del problema, la estructura de la matriz de restricciones, su tipo (clásico de una variable, clásico multivariado, programación lineal, programación no lineal, programación lineal entera mixta, programación diná-mica, heurística o metaheurística). Es una etapa de creación en la cual se debe prestar especial atención a la precisión en la formulación y a la escritura de las ecuaciones que describen el problema.

  • 32

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    ResoluciónSe trata de implantar un algoritmo de obtención de la solución numérica (muy próxima a la matemática) óptima o cuasi óptima. El algoritmo puede ser de propósito general (método simplex) o específico. Puede haber diferentes métodos de solución de un problema o diferentes implantaciones de un mismo método. El tiempo de resolución de un problema también puede depender drásticamente de cómo esté formulado.

    La solución óptima debe ser suficientemente satisfactoria y una guía de actua-ción para el experto.

    Verificación, validación y refinamientoEsta etapa conlleva la eliminación de los errores en la codificación, es decir, conseguir que el modelo haga lo que se ha especificado matemáticamente en la etapa anterior mediante su escritura en un lenguaje informático (depurar y verificar). Es necesario comprobar la validez de las simplificaciones realizadas a través de los resultados obtenidos, incluso contrastándolos con situaciones reales ya transcurridas (validar) o comprobando que los resultados son coherentes con respecto a lo que sucedería en la realidad.

    Esta etapa de verificación, validación y comprobación da lugar a nuevas ne-cesidades de refinamiento en el modelado para mejorar la capacidad de repre-sentación del sistema. Por ejemplo, eliminar la linealidad y hacer el modelo no lineal o hacer el modelo estocástico si la realidad lo fuera. Además, también se puede abordar el refinamiento matemático en la formulación del problema para hacerla más eficaz.

    Interpretación y análisis de resultadosEsta etapa consiste en proponer soluciones. Permite conocer en detalle el com-portamiento del modelo al hacer un análisis de sensibilidad en los parámetros de entrada, estudiar diferentes escenarios plausibles de los parámetros, detectar soluciones alternativas cuasi óptimas pero suficientemente atractivas, y com-probar la robustez de la solución óptima.

    Implantación, documentación y mantenimientoÉsta es una etapa fundamental del desarrollo de un modelo para garantizar su amplia difusión. La documentación ha de ser clara, precisa y completa. El manual de usuario debe incluir la especificación técnica funcional, matemática e infor-

  • Capítulo 1 - Optimización. Evolución y características

    33

    mática. El propio código debe incluir una buena documentación para facilitar la tarea de mantenimiento. Piénsese que la mayor parte del ciclo de vida de un modelo no está en el desarrollo sino en la fase de uso y mantenimiento. En esta etapa se incluye también la tarea de formación para los usuarios del modelo.

  • 35

    Capítulo 2Optimización clásica

    “A partir de que el universo es el más perfecto trabajo de un sabio creador,

    nada en absoluto tiene lugar en él sin alguna regla de máximos o mínimos”

    Leonhard Euler

    Es incuestionable la relevancia de la optimización en la formación matemática de los ingenieros. Este contenido es abordado en las distintas asignaturas de la disciplina matemática que forma parte del ciclo básico de estas carreras. En ellas se incluyen los métodos clásicos para la determinación de los valores extremos (máximos y mínimos) para funciones reales de hasta tres variables reales, así como los métodos de la programación matemática.

    Atendiendo a la relevancia de la optimización y a los problemas que esta te-mática causa a los estudiantes universitarios, como he constatado en mi larga práctica docente, este capítulo tiene el objetivo fundamental de atenuar estas dificultades. Debe anotarse que distintas versiones similares a este material se han estado utilizando en los últimos cursos con buenos resultados, por lo cual mi propósito es ahora enriquecerlas, incorporando para ello las experiencias positivas que esta utilización ha sugerido.

    La optimización es uno de los objetivos de la matemática, dirigida a encontrar métodos que permitan resolver problemas en los cuales está presente algún cri-terio de optimalidad. Existe una amplia variedad de métodos para aplicar según las características del problema objeto de análisis. Como es lógico, no es posible abordarlos todos; sin embargo, no me limitaré solamente a los instrumentos que

  • 36

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    proporciona el cálculo diferencial para funciones reales de una y varias variables reales.3 Los ejemplos que ilustran las concepciones teóricas los abordo desde una solución gráfica, cuando es posible; una solución analítica y una solución apoyada en el comando Solver de Excel. No obstante, es importante mencionar que la búsqueda de tales métodos continúa en nuestros días. Estos objetivos de la matemática responden a necesidades reales que existen en nuestro país o en cualquier otro para desarrollar su economía.

    La aplicación de la derivada a la determinación de los valores máximos y mínimos de funciones de una, dos o tres variables, como se ha tratado en los temas de análisis matemático, forma parte esencial de una clase importante de métodos de optimización, que reciben el nombre de métodos clásicos. El objetivo de la optimización es hallar los puntos donde una función alcanza sus máximos o mínimos (o bien ambos) en alguna parte de su dominio.

    Puede afirmarse que no sólo con la derivada y sus interpretaciones se llega a la solución de estos problemas, por lo que es necesario la integración de muchos contenidos, como son las funciones y sus límites, la continuidad y las propiedades que de ellas se derivan y, como es lógico, la derivada y su significado geométrico. A continución comenzaremos tratando la optimización para funciones de una variable.

    Optimización con funciones de una variable realSi se hace rebotar una pelota de goma se observa que en el primer rebote alcanza su altura máxima; ésta disminuye en el segundo rebote, y así sucesivamente, hasta detenerse. Los distintos máximos así obtenidos se llaman máximos locales o relativos. Si en el conjunto de máximos relativos existe uno que es mayor que todos los demás, se llama máximo global o absoluto. Análogamente ocurre para los mínimos. En este ejemplo, un estudio eficiente se podría hacer si se logra expresar el movimiento mediante alguna función. Como es conocido, la continuidad y derivabilidad juegan un papel fundamental en la determinación de los extremos (máximos o mínimos) de una función de una variable. Los resultados básicos son:

    – Toda función continua en un intervalo cerrado alcanza en éste su valor máximo y su valor mínimo.

    3. Dado que en este material se trata con funciones reales de una o varias variables reales, no haremos mención explícita sobre esto en lo que sigue.

  • Capítulo 2 - Optimización clásica

    37

    – En los máximos y mínimos de una función derivable la derivada es nula.

    – En un punto donde la derivada es nula se puede determinar lo que en realidad ocurre.

    Es importante formalizar algunos conceptos.

    Definición de máximo relativo: Se dice que la función y =f(x) tiene un máximo en el punto x1 si su valor es aquí mayor que en cual-quier otro punto x de cierto intervalo que comprende el punto x1. Es decir, la función tiene un máximo relativo estricto en el punto x=x1 si se cumple la desigualdad f(x1 +x)f(x0) para todo valor de x (positivo o negativo) suficientemente pequeño en valor absoluto.

    Debe aclararse que la palabra estricto tiene que ver con las desigualdades estrictas que se usan (< o >). La palabra relativo, a su vez, se refiere a que el cumplimiento de una u otra desigualdad se exige en la cercanía del punto.

    En la Figura 2 se ilustran estos conceptos. Observar que se han representado un máximo relativo (que se alcanza en el punto x1) y un mínimo relativo (que se alcanza en el punto x0).

    El hecho de que el valor del mínimo f(x0) supera el valor del máximo f(x1) qui-zás permita comprender con mayor claridad el porqué usar la palabra relativo.

    En la Figura 2: ¿Cuáles son los valores f '(x0) y f '(x1)? ¿Por qué?

    La respuesta corresponde a f '(x0)=0 y f '(x1)= 0 porque las tangentes geomé-tricas a la curva en esos puntos son paralelas al eje x. A partir de esta respuesta se da la condición necesaria para la existencia de extremos relativos en una función de una variable.

  • 38

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    Condición necesaria para la existencia de un valor extremo relativo

    Si la función derivable y=f(x) tiene un máximo relativo o un mínimo relativo en el punto x1, entonces su derivada en este punto es igual a cero, es decir f ' (x1)=0. Al punto x1 se le llama punto crítico de la función.

    Debe notarse que de esta condición no se deduce que una función tenga extre-mos (máximo o mínimo) en cada uno de sus puntos críticos. En cambio, sí se deduce de ella que una función derivable sin puntos críticos carece de extremos. Los siguientes dos ejemplos ilustran este comentario.

    Ejemplo 1

    En la función f(x)=x3 la primera derivada f '(x)=3x2 se reduce a cero en x1=0, pero ella no posee extremo en este punto. Esto es así porque f(0)= 0 es supe-rado por f(x)=x3 si x>0, al tiempo que supera a f(x)=x3 si x

  • Capítulo 2 - Optimización clásica

    39

    Ejemplo 2

    Como la función derivable f(x)=lnx no tiene puntos críticos porque su derivada (lnx)'= 1x no se anula para ningún valor de x, entonces ella no posee extremos. En la Figura 4 se representa gráficamente esta función.

    Figura 3Función f(x)=x3

    Figura 4Función f(x)=lnx

  • 40

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    El primer ejemplo hace ver la necesidad de un criterio que permita aclarar si un punto crítico determinado es o no un extremo, y en caso de serlo decidir si es máximo o mínimo.

    Condición suficiente para la determinación de un valor extremo relativo usando la segunda derivada

    Si y=f(x) admite segunda derivada en el punto crítico x0, es decir, f '(x0)=0 y f ''(x0)≠ 0, entonces y=f(x) tiene un extremo relativo en x0. Además:

    – Es punto de máximo relativo si f ''(x0)0. El valor del mínimo es f(x0).

    Para el caso de una función en la que el cálculo de la segunda derivada sea muy complejo, se puede emplear alternativamente la siguiente condición, que permite extraer conclusiones análogas.

    Condición suficiente para la determinación de un valor extremo relativo usando la primera derivada

    Sea x0 un punto crítico de una función derivable y=f(x). Si en un intervalo abierto (a, b) que contiene a x0 no hay otros puntos críticos, entonces este punto es un extremo relativo si la primera derivada f '(x) cambia de signo al pasar con la x por este punto. Además:

    – x0 es punto de máximo relativo si f '(x) es positiva a su iz-quierda y negativa a su derecha. El valor del máximo sigue siendo f(x0).

    – x0 es punto de mínimo relativo si f '(x) es negativa a su izquierda y positiva a su derecha. El valor del mínimo sigue siendo f(x0).

  • Capítulo 2 - Optimización clásica

    41

    La utilización conjunta de la condición necesaria y una u otra de las suficientes da lugar a los siguientes pasos para la determinación de los extremos de una función.

    Pasos a seguir para calcular los extremos relativos de una función de una variable realCon el criterio de la primera derivada

    1. Calcular f '(x).

    2. Plantear la ecuación f '(x)=0.

    3. Resolver la ecuación para calcular los puntos críticos.

    4. Llevar los puntos críticos al eje numérico (eje x) así como los puntos de discontinuidad de f(x).

    5. Analizar el signo constante de f '(x) en cada intervalo.

    6. Si al pasar f '(x) por el entorno del punto crítico, cambia de signo, en-tonces f(x) posee extremo relativo en este punto crítico:

    a. Máximo si pasa de (+) a (-).

    b. Mínimo si pasa de (-) a (+).

    7. Las coordenadas de los extremos se calculan evaluando f(x) en los puntos críticos donde hay extre-mos relativos.

    Con el criterio de la segunda derivada

    1. Calcular f '(x).

    2. Plantear la ecuación f '(x)=0.

    3. Resolver la ecuación para calcular los puntos críticos.

    4. Calcular f"(x).

    5. Evaluar f "(x) para cada punto crítico x0, Si f"(x0)≠0, entonces en x0 hay extremo relativo:

    a. Máximo si f"(x0)

  • 42

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    y datos históricos muestran la relación entre las unidades producidas semanal-mente y los costos totales de producción, de acuerdo con la tabla siguiente:

    Unidades Producidas 10 30 80 120

    Costos (US$) 7.000 10.200 25.200 44.400

    Si se producen x escritorios y se venden cada semana, establecer cuántos escritorios deben producirse semanalmente para que el fabricante obtenga la máxima ganancia total semanal. ¿Cuál es la máxima ganancia total semanal?

    SoluciónSe identifica en el enunciado del problema la variable de decisión:

    x: Cantidad de escritorios producidos y vendidos semanalmente

    La función objetivo a maximizar es la ganancia semanal

    Ganacia = Ingresos - Costos totales de producción

    Los ingresos semanales están determinados por la variable de decisión y el precio unitario de venta de los escritorios, a través de la ecuación:

    I(x)=400x

    La función costos totales de producción debe establecerse por medios estadísticos a partir de los datos históricos. Este procedimiento se puede llevar a cabo con el programa Excel de la siguiente manera:

    1. Se elabora una tabla en una hoja de trabajo de Excel:

    Producción Costos(US$)

    0 6000

    10 7000

    30 10200

    80 25200

    120 44400

    2. Se crea un gráfico de dispersión o gráfico XY (Figura 5), utilizando para ello el comando Dispersión ubicado en la ficha principal Insertar, para lo cual se sombrea toda la tabla y se escoge el tipo de gráfico que se quiere insertar.

  • Capítulo 2 - Optimización clásica

    43

    3. Ubicar el puntero sobre uno de los puntos del gráfico y hacer clic derecho con el mouse para desplegar el menú Agregar línea de tendencia… En este menú seleccionar en Opciones de línea de tendencia el Tipo de tendencia o regresión polinómica de grado 2, marcando además la opción Presentar ecuación en el gráfico. (Ver Figura 6).

    Las dos funciones, Ingresos semanales I(x)=400x y Costos totales semanales de producción C(x)=2x2+80x+6000, se pueden graficar en un mismo plano cartesiano (Ver Figura 7) con el fin de obtener el intervalo de definición, a partir

    Figura 5Gráfica de dispersión “Escritorios producidos” vs “Costos”

    Figura 6Línea de tendencia polinómica de la gráfica de dispersión

    “Escritorios producidos” vs “Costos”

  • 44

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    Algebráicamente:

    C(x)=I(x)

    2x2 + 80x + 6000 = 400x

    2x2 – 320x + 6000 = 0

    x = 320 ± √(320)2 – 4(2)(6000)

    2(2)

    x1 ≅22 y x2 ≅ 139

    En resumen, el modelo matemático que permite resolver el problema de maxi-mizar la ganancia semanal es:

    Figura 7 Función Ingreso semanal: I(x) = 400x *

    y Función Costo total semanal de producción: C(x) = 2x2 + 80x + 6000 **

    60000

    55000

    50000

    45000

    40000

    35000

    30000

    25000

    20000

    15000

    10000

    5000

    -500020 40 60 80 100 120 140 160

    ***

    del punto de equilibrio, es decir, la producción en que los ingresos son iguales a los costos.

  • Capítulo 2 - Optimización clásica

    45

    G(x) = 400x – (2x2 + 80x + 6000); x ∈ [22, 139]

    Es decir, maximizar

    G(x) = -2x2 + 320x – 6000; x ∈ [22, 139]

    Este problema se puede resolver de tres formas diferentes:

    1. Solución gráfica.

    2. Solución analítica, aplicando los fundamentos teóricos de máximos y mí-nimos en funciones de una variable.

    3. Comando solver del programa Excel.

    Solución gráficaLa solución de este problema se puede abordar con un método gráfico, es decir, aprovechar el desarrollo tecnológico relacionado con la creación de software matemático y más exactamente el software Winplot en su versión 1.33.0.1, el cual es un generador de funciones gráficas especialmente diseñado para el es-tudio visual de una serie de ecuaciones matemáticas; además, una versión en español y de manejo muy amigable se encuentra en la red para ser descargada gratuitamente.

    Aprovechando esta herramienta se puede graficar la función a optimizar, es decir, como se planteó anteriormente,

    Maximizar G(x) = –2x2 + 320x – 6000; x ∈ [22, 139]

    La gráfica que se obtiene es el tramo de parábola definida en el intervalo de definición, como se muestra en la Figura 8.

    Se observa, a partir de la gráfica, que la función Ganancia semanal tiene un valor máximo cuando la variable x (producción semanal de escritorios) alcanza el valor de 80 escritorios producidos; valor que se encuentra en el intervalo de definición [22,129], y evaluado en la función Ganancia semanal se obtiene

    G(80) = –2(80)2 + 320(80) – 6000

    G(80) = 6800 US$

  • 46

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    Este método de solución presenta el gran inconveniente en su aplicación cuando no es posible realizar en la gráfica la lectura de los valores máximo o mínimo porque no son números enteros; es decir, cuando estos valores son números racionales o irracionales la exactitud y precisión se disipan en la gráfica.

    En estos casos se debe recurrir a los procedimientos analíticos soportados en los fundamentos teóricos de la derivación de funciones.

    Solución analítica con el criterio de la segunda derivadaSe calcula la derivada de la función objetivo

    G' (x) = –4x + 320

    Se resuelve la ecuación

    G' (x) = 0

    –4x + 320 = 0

    x = 320 = 804

    Figura 8 Función Ganancia semanal: G(x)= –2x2 + 320x – 6000

    7000

    6000

    5000

    4000

    3000

    2000

    1000

    -20 20 40 60 80 100 120 140 160-1000

  • Capítulo 2 - Optimización clásica

    47

    Se obtiene así el único punto crítico x=80 de la función ganancia semanal y se observa que pertenece al intervalo de restricción.

    Se calcula la segunda derivada de la función objetivo y se evalúa el punto crítico en esta derivada, con el fin de clasificar dicho punto:

    G'' (x) = –4

    G'' (80) = –4

  • 48

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    Luego, estando en la hoja de cálculo, se debe ir a la ficha principal Datos para poder acceder al comando Solver. Es posible que en la ficha Datos no aparezca el comando Solver, lo cual se logra a través de la siguiente secuencia, siempre con el botón izquierdo del mouse:

    1. Clic en botón Office.

    2. Clic en Opciones de Excel.

    3. Clic en Complementos.

    4. Clic en Solver, y en la parte inferior de la misma ventana clic en Ir.

    5. Activar el comando haciendo clic en la casilla al lado izquierdo de la palabra Solver.

    6. Clic en Aceptar.

    Con esta secuencia se logra que el comando Solver quede activado, lo que se indica con la aparición del ícono correspondiente en el grupo Análisis al lado izquierdo del menú de la ficha Datos.

    Ahora, seleccionando la celda donde quedó programada la expresión matemá-tica de la función objetivo se hace clic (botón izquierdo del mouse) en el ícono

    Figura 9 Modelo matemático editado en una hoja de cálculo de Excel

  • Capítulo 2 - Optimización clásica

    49

    Solver. Se debe desplegar la ventana de diálogo Parámetros de Solver, que se muestra en la Figura 10.

    Sobre esta ventana, en la cual ya aparece seleccionada la celda de la función objetivo, se debe seguir la siguiente secuencia, siempre con el botón izquierdo del mouse:

    1. Seleccionar la opción Máximo.

    2. En el cuadro Cambiando celdas escriba la referencia de la celda asignada para la variable de decisión.

    3. En el cuadro Sujeto a las restricciones se deben especificar, una por una, todas las restricciones que el problema debe satisfacer. En este problema corresponde al intervalo de definición para la variable de decisión. Haga clic

    Figura 10 Parámetros de Solver

  • 50

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    en el botón Agregar…, y se desplegrá la ventana Agregar restricción (Figura 11) y en el cuadro Referencia de la celda escriba la referencia de la celda asignada para la variable de decisión; luego seleccione el tipo de relación (=, int o bin) que desee que haya entre la celda a la que se hace referencia y la restricción, y en el cuadro Restricción escriba un número o una referencia de celda. Para aceptar una restricción y agregar otra haga clic en el botón Agregar, o para aceptar la restricción y volver al cuadro de diálogo Parámetros de Solver, haga clic en Aceptar (Ver Figura 11).

    4. Una vez terminada la definición del problema se debe regresar al cuadro de diálogo Parámetros de Solver, en el cual se debe observar la edición completa de las celdas asignadas para la solución del problema en la hoja de cálculo de Excel, como se muestra en la Figura 12.

    5. Para finalizar la aplicación del comando Solver se hace clic en el botón Resolver del cuadro de diálogo Parámetros de Solver, y se observa que en la celda asignada para la variable de decisión se presenta el valor del punto crítico que determina el valor máximo en la celda asignada para la función objetivo, como se muestra en la Figura 13.

    Optimización con funciones de dos o más variables realesEjemplo introductorioLos precios unitarios para dos productos A y B son PA = 100–x y PB = 500–y, y la función de costo total de producción es C = 100y – 100x + 20.000. Calcular la cantidad de los productos A y B que determinan la ganancia máxima.

    Figura 11 Ventana Agregar restricción

  • Capítulo 2 - Optimización clásica

    51

    Figura 12 Parámetros de Solver para el problema práctico de la compañía

    constructora de escritorios

    Solución

    Variables de decisión:

    x: Número de unidades del producto A

    y: Número de unidades del producto B

    El ingreso vendrá dado por

    I = Precio unitario∙unidades vendidas

    I(x,y) = (100 – x)x + (500 – y)y

    La ganancia será

  • 52

    Optimización: de la clásica a las metaheurísticas • Luis Alfredo Echeverri Patiño

    Ganancia = Ingreso – Costo

    G(x, y) = (100 – x)x + (500 – y)y – (100y – 100x + 20.000)

    G(x; y) = 100x – x2 + 500y – y2 – 100y + 100x – 20.000

    G(x, y) = 200x – x2 + 400y – y2 – 20.000

    G(x,y) es la función a maximizar, la cual tiene dos variables reales, y no es po-sible