biblioteca digital universidad de san buenaventura colombia...

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

Upload: others

Post on 04-Aug-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribució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

Page 2: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución
Page 3: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 4: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución
Page 5: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 6: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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.

Page 7: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 8: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 9: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 10: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución
Page 11: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 12: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 13: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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.

Page 14: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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.

Page 15: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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.

Page 16: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución
Page 17: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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.

Page 18: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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,

Page 19: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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 y o ÿ por

Page 20: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

18

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

dydx o d2y

dx2, 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.

Page 21: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 22: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 23: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribució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

Page 24: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 25: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 26: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 27: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 28: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 29: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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.

Page 30: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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.

Page 31: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribució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).

Page 32: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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.

Page 33: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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.

Page 34: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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-

Page 35: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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.

Page 36: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución
Page 37: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 38: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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.

Page 39: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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(x1) para todo valor de (positivo o negativo) suficientemente pequeño en valor absoluto.

Definición de mínimo relativo: Se dice que la función y =f(x) tiene un mínimo en el punto x0 si su valor es aquí menor que en cualquier otro punto x de cierto intervalo que comprende el punto x0. Es decir, la función tiene un mínimo relativo estricto en el punto x=x0, si se cumple la desigualdad f(x0 +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.

Page 40: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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<0, como se ilustra en la Figura 3.

Figura 2Máximo y mínimo relativos de una función

Page 41: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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)'= 1

x 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

Page 42: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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áxi-mo es f(x0).

– Es punto de mínimo 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).

Page 43: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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)<0.

b. Mínimo si f"(x0)>0.

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

Ejemplo práctico

Una compañía que construye y vende escritorios opera en condiciones de com-petencia perfecta y puede vender todos los escritorios que produce a un precio de US$400 por escritorio. Los costos fijos de producción ascienden a US$6.000

Page 44: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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.

Page 45: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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”

Page 46: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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.

Page 47: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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$

Page 48: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 49: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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<0

Lo cual dice que la función G(x) tiene un máximo relativo en x = 80 y que coin-cide con el máximo absoluto de G(x) en el intervalo [22, 139], dado que en los extremos del intervalo se encuentran los puntos de equilibrio, es decir G(x) = 0.

La ganancia máxima semanal es, entonces, G(80)=US$6800.

Otro procedimiento para abordar la solución de este tipo de problemas es a partir del comando Solver del programa Excel.

Solución con el comando Solver de ExcelLa solución de los problemas de optimización (máximo o mínimo) de funciones de una variable con el comando Solver del programa Excel implica abordar el problema para, en primera instancia, lograr entenderlo e identificar la variable de decisión y la función objetivo, como se desarrolló anteriormente, después del enunciado del problema.

Lograda esta primera fase en la solución del problema de optimización:

Variable de decisión:

x: Cantidad de escritorios producidos y vendidos semanalmente

Función objetivo:

Maximizar la ganacia total semanal

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

Se debe editar el modelo matemático en una hoja de cálculo de Excel, como se ilustra en la Figura 9.

Page 50: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 51: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 52: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

Page 53: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribució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á

Page 54: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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 hacerlo con el algoritmo expuesto anteriormente, por lo que es necesario fundamentar la teoría sobre extremos relativos y condicionados de funciones de dos o tres variables reales que se expondrán en los epígrafes siguientes.

Máximos y mínimos relativos de una función de dos (o tres) variablesEn la Figura 14 el punto P(x0; y0; z0) es un punto de la superficie z = f(x, y) que tiene altura máxima, o sea, z0 es el valor máximo que alcanza la función z = f(x, y) en el entorno del punto (x0; y0; 0), y análogamente a las funciones de una variable es necesario dar las condiciones necesaria y suficiente para la determinación de extremos relativos de funciones de dos variables reales.

Figura 13 Solución del problema práctico de la compañía constructora de escritorios

Page 55: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 2 - Optimización clásica

53

Condición necesaria para la existencia de extremos relativos de funciones de dos variables

Si la función z = f(x, y) tiene un extremo relativo en el punto (x0, y0) y sus derivadas parciales fx y fy existen en este punto, entonces se cumple simultáneamente que fx (x0, y0) = 0 y fy(x0, y0 ) = 0. Al punto (x0, y0) se le llama punto crítico de la función.

Condición suficienteSea z = f(x, y) una función cuyas derivadas parciales de primer y segundo orden son funciones continuas en el entorno del punto (x0, y0), tal que fx (x0, y0) = 0 y fy (x0, y0) = 0.

Sea, además, el determinante D1 = fxx (x0, y0) fxy (x0, y0)

>0 fyx (x0, y0) fyy (x0, y0)

Entonces en el punto (x0, y0) existe un extremo relativo:

a. Máximo, si fxx (x0, y0) < 0

b. Mínimo, si fxx (x0, y0) > 0

Figura 14 Representación gráfica de una función z = f(x,y)

z

x

y

P(x0;y0;z0)

(x0;y0;0)

Page 56: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

54

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

Es decir, el signo D1 indica si existe un valor extremo y este es máximo o mínimo, según el signo de fxx (x0, y0) o fyy (x0, y0)

Esto es, los pasos a seguir para obtener los extremos relativos de una función de dos variables son:

1. Calcular f 'x y f 'y.

2. Plantear las ecuaciones f 'x = 0 y f 'y = 0.

3. Resolver el sistema que se forma en el paso 2 calculando las coordenadas del punto crítico (x0, y0).

4. Calcular las segundas derivadas parciales fxx, fyy, fxy y fyx.

5. Calcular el determinante D1 =

fxx fxy

fyx fyy (x0, y0)

6. Concluir de acuerdo con el signo D1

– Si D1 > 0, hay extremo relativo en (x0, y0)

– Si D1 < 0, no hay extremo relativo en (x0, y0)

– Si D1 = 0, el criterio no es concluyente

7. Si D1 > 0, entonces considerar la evaluación de fxx o fyy en el punto crítico:

– Si fxx (x0, y0) < 0, entonces en (x0, y0) hay un máximo relativo.

– Si fxx (x0, y0) > 0 entonces en (x0, y0) hay un mínimo relativo.

8. El valor máximo o mínimo de la función se obtiene evaluando f(x,y) en las coordenadas del punto crítico

Partiendo del método expuesto para calcular los extremos relativos de una función de dos variables se puede hallar la solución al ejemplo introductorio pro-puesto en la motivación del epígrafe anterior, en el cual se plantea lo siguiente:

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

Page 57: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 2 - Optimización clásica

55

SoluciónVariables de decisión:

x: Número de unidades del producto Ay: Número de unidades del producto B

El Ingreso vendrá dado por

I=Precio unitario • unidades vendidasI(x,y) = (100-x)x + (500-y)y

La Ganancia será

Ganancia = Ingreso - costoG(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.000Primeras derivadas parciales

Gx(x,y) = 200 - 2x y Gy(x,y) = 400 2y

Igualando cada derivada parcial a cero y resolviendo el sistema

-2x + 200 = 0 y -2y + 400 = 0x = 100 y y = 200

se calculan las segundas derivadas parciales:

Gxx(x,y) = -2; Gyy(x,y) = -2 y Gxy(x,y) = Gyx(x,y) = 0

Dado que se obtienen funciones constantes, la evaluación en el punto crítico (100, 200) siguen siendo los valores constantes, con lo que

D1 = -20

0-2 = 4 > 0

Luego, existe extremo relativo en (100, 200) y es máximo porque

Gxx(100; 200) = -2<0

La cantidad de los productos que maximizan la ganancia es A=100 y B=200 y la ganancia máxima es

G(100, 200) = 30.000

Page 58: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

56

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

Problema práctico en dos variablesUn cable de electricidad está tendido desde una planta de energía hasta una nueva fábrica ubicada al otro lado de un río poco profundo. El río tiene un ancho de 50 pies y la fábrica está a 200 pies río abajo y a 100 pies de la orilla, como se muestra en la Figura 15.

Tender el cable bajo el agua cuesta $6.000/pie ($1.000 por pie a lo largo de la ribera) y $2.000 por pie tenderlo de la ribera a la fábrica. ¿Qué trayectoria debe elegirse para minimizar el costo y cuál es el costo mínimo?

SoluciónSean P, Q, R y F los puntos que se muestran en la Figura 16. Sea x la distancia del punto que se encuentra exactamente enfrente de la planta de energía a Q y sea y la distancia de R al punto en la ribera más próximo a la fábrica. (Ver Figura 16). Las longitudes y costos del cable se muestran en la siguiente tabla:

Tipo de cable Longitud CostoBajo el agua √x2 + 502 $6000/pie

A lo largo de la ribera 200 – (x + y) $1000/pieEn tierra √y2 + 1002 $2000/pie

Por lo tanto, el costo total es

C(X,Y) = 6000 √x2 + 502 + 1000(200 - x - y) + 2000 √y2 + 1002

ƒ

Figura 15 Representación del enunciado del problema práctico

Page 59: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 2 - Optimización clásica

57

Figura 16 Planteamiento gráfico de la solución

Los valores de (x,y) deben satisfacer las condiciones x ≥ 0, y ≥ 0, x + y ≤ 200. Al calcular las derivadas parciales e igualarlas a cero se obtiene:

Cx(x,y) = 3000(x2 + 502)-½(2x) - 1000 = √x2 + 502

6000x 1000 = 0

Cx(x,y) = 1000(y2 + 1002)-½(2y) - 1000 = √y2 + 1002

2000x 1000 = 0

La solución a este sistema de ecuaciones es:

x = 107 √35 ≌ 8,4515

y = 1003 √3 ≌ 57,735

Ahora, aplicando la condición de suficiencia (o el criterio de las segundas derivadas parciales):

Cxx (x,y) = 6000 √x2 + 502 ― 6000x2 / √x2 + 502 x2 + 502

Cyy (x,y) = 2000 √y2 + 1002 ― 2000y2 / √y2 + 1002

y2 + 502

Cxy (x,y) = Cyx (x,y) = 0

Page 60: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

58

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

Al evaluar D1 en el punto crítico y se obtiene x = 107 √35 y y = 100

3 √3 se obtiene

D1 =

3 √3518

3 √34

0

0 =

3 √3518 ·

3 √34 > 0

Con lo cual x = 107 √35 y y = 100

3 √3 dan un mínimo local, cuyo valor es

C 107 √35 , 100

3 √3  = 360.000  5 7  + 1.000 200 ―  10

7 √35  ― 1003 √3  + 

400.000 √33

C 107 √35 , 100

3 √3  = $669.009,07

También se debe verificar la frontera:

Cuando x = 0 la función de costo es

C(0,y) = C1(y) = 300.000 + 1.000(200 ― y) + 2.000 √y2 + 1002

Al utilizar el algoritmo de optimización para funciones de una variable, descrito anteriormente, se determina que C1 alcanza un mínimo de aproximadamente $673.210 cuando y = 100

3 √3 .

En la frontera en donde y= 0, la función costo es

C(x,0) = C2(x) = 200.000 + 1.000(200 ― x) + 6.000 √x2 + 502

Nuevamente, al utilizar el algoritmo de optimización para funciones de una variable, descrito anteriormente, se determina C2 que alcanza un mínimo de

aproximadamente $695.800 cuando y = 10 5 7 .

Por último, se debe abordar la frontera en donde x + y = 200. Se puede sustituir por 200 ― x para obtener el costo sólo en términos de x:

C(x,200 ― x) = C3(x) = 6.000√x2 + 502 + 2.000 √(200 ― x)2 + 1002

Esta función alcanza un mínimo de aproximadamente $733.800 cuando x ≌ 15,3292

Page 61: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 2 - Optimización clásica

59

Por lo tanto, la trayectoria con el costo mínimo es aquella en donde x = 107 √35

y y = 1003 √3 , lo cual da un costo total de $669.009,07.

Solución con el comando Solver de ExcelLos problemas de optimización de funciones de dos variables también se pueden resolver utilizando el comando Solver de Excel. Se debe seguir el mismo pro-cedimiento que se expuso para resolver el ejemplo práctico de optimización de una función con una variable, es decir, tener en cuenta la siguiente secuencia ilustrada en las Figuras 17, 18 y 19:1. Edición del modelo matemático del problema en una hoja de cálculo de

Excel.

2. Acceder al comando Solver, ubicado en el bloque Análisis de la ficha principal Datos.

3. Alimentar el modelo matemático del problema en el cuadro de diálogo Parámetros de Solver:

– Celda de la función objetivo – Tipo de optimización – Modificación de variables de decisión – Agregar Restricciones

Figura 17 Edición del problema en Excel

Page 62: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

60

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

Figura 18 Parámetros de Solver para la solución del problema

Figura 19 Solución del problema y verificación de resultados

Page 63: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 2 - Optimización clásica

61

4. Resolver el problema

5. Verificar resultados

Máximos y mínimos condicionados de funciones de dos (o tres) variablesEn problemas de aplicación práctica es frecuente encontrar una función de varias variables reales que debe ser maximizada o minimizada con ciertas restricciones, es decir, que las variables están relacionadas entre sí por una o más ecuaciones, llamadas “condiciones laterales” o ecuaciones de ligadura.

Consideremos primero el caso de una función de dos variables y luego la de tres.

Función de dos variablesPara hallar los extremos de la función z = f(x, y), estando relacionadas las va-riables x y y por la ecuación g(x, y) = 0, donde f es una función compuesta, las variables x y y no son independientes,y su dependencia está dada por la función implícita g(x, y) = 0, se utilizará el método de los multiplicadores de Lagrange, para lo cual se forma primero la función F(x, y, λ) auxiliar definida por

F,(x, y, λ) = f(x, y) + λ · g(x, y)

siendo λ un factor indeterminado llamado Multiplicador de Lagrange; f,(x, y, λ) es la función objetivo, y g(x, y) = 0 es la ecuación de enlace (ecuación de liga-dura o de restricción).

La condición necesaria y no suficiente para que la función tenga extremos es que Fx = 0 y Fy = 0.

Estas dos ecuaciones, junto con la ecuación de enlace, permiten formar el si-guiente sistema de tres ecuaciones, mediante el cual se determinan los valores críticos de las variables x y y, así como el valor del parámetro λ:

Fx = 0Fy = 0

g(x, y) = 0

La compatibilidad de este sistema constituye la condición necesaria para que la función F(x, y, λ) tenga un extremo libre en (x0, y0, λ0).

Page 64: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

62

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

Condición suficienteLos valores extremos de la función z = f(x, y), estando relacionadas las variables x y y por la ecuación g(x, y) = 0, corresponden a un máximo o un mínimo rela-tivo, según sea positivo o negativo, respectivamente, el signo del determinante D1 definido por:

D1 =

0 gx gy

gx Fxx Fxy

gy Fyx Fyy (x0, y0, λ0)

Donde todas las derivadas parciales están evaluadas para (x0, y0, λ0) y se debe verificar el criterio:

– Si D1 < 0, entonces f tiene un mínimo condicionado en (x0, y0).

– Si D1 > 0, entonces f tiene un máximo condicionado en (x0, y0).

Resumiendo, para determinar máximos o mínimos de una función z = f(x, y) con la condición g(x, y) = 0, se procede del modo siguiente:

1. Se forma la función auxiliar F(x, y, λ) = f(x, y) + λ · g(x, y)

2. Se hallan las primeras derivadas parciales de esta función y se resuelve el sistema de ecuaciones formado por Fx = 0, Fy = 0, y g(x, y) para hallar las coordenadas del punto crítico (x0, y0) y λ0.

3. Se hallan las segundas derivadas parciales de F y las primeras derivadas parciales de g(x, y) para calcular D1 mediante el determinante

D1 =

0 gx gy

gx Fxx Fxy

gy Fyx Fyy (x0, y0, λ0)

4. Se aplica la condición de suficiencia para la existencia de extremos condi-cionados.

5. Si se pide, se halla el valor máximo o mínimo relativo condicionado eva-luando z = f(x, y) en el punto (x0, y0).

Page 65: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 2 - Optimización clásica

63

Problema práctico de mínimo condicionado con función de dos variables¿Cuál es el área máxima que puede tener un terreno rectangular si la longitud de su diagonal es de 2 metros? ¿Cuáles son las dimensiones del terreno?

Solución analítica con multiplicadores de LagrangeSe coloca el rectángulo en el primer cuadrante del plano cartesiano, con dos de sus lados a lo largo de los ejes coordenados; luego, el vértice opuesto al origen tiene coordenadas (x, y), con x y y positivos. La longitud de su diagonal es √x2 + y2 = 2 y su área es xy.

De esta manera, se puede formular el problema como

Maximizar f(x, y) = xy

Sujeta a la restricción g(x, y) = x2 + y2 ― 4 = 0

Siguiendo la secuencia del algoritmo que plantea las condiciones necesaria y suficiente para la existencia de extremos absolutos condicionados, se tiene:

Función de Lagrange

F(x, y, λ) = xy + λ(x2 + y2 ― 4)

Derivadas parciales Fx = y + 2λx y Fy = c + 2λy

Sistema de ecuaciones

y + 2λx = 0 (1)

x + 2λy = 0 (2)

x2 + y2 ― 4 = 0 (3)

que se debe resolver en forma simultánea. Si se multiplica la primera ecuación por y y la segunda por x, se obtiene y2 + 2λxy = 0 y x2 + 2λxy = 0, de donde

y2 = x2 (4)

(x,y)

y

x

2

Page 66: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

64

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

De las ecuaciones (3) y (4) se obtiene x = √2 y y = √2 ; al sustituir estos va-

lores en (1) se obtiene λ = 12 . Así, la solución a las ecuaciones (1) a (3), con

x y y positivos, es(√2 , √2 , 12 ), el cual es el único punto crítico de F en el que

se garantiza la existencia de un óptimo absoluto f de sujeto a la condición g.

Se calculan ahora las derivadas parciales correspondientes al determinante D1:

gx = 2x; gy = 2y; Fxx = 2λ; Fyy = 2λ; Fxy = Fyx = 1

Las cuales, evaluadas en el punto crítico (√2 , √2 , 12 ), permiten obtener el

determinante

D1 =

0 2√2 2√2

2√2 1 1

2√2 1 1

= 0

Dado este valor, el criterio de suficiencia no es concluyente; sin embargo, valores cercanos a la solución encontrada y que satisfagan la condición de la diagonal del rectángulo igual a 2, como por ejemplo (1, √3 ) o (1.3, 1.35) o (1.5, 1.486), no producen área máxima, con lo cual se puede concluir que el terreno rectangular de área máxima con diagonal 2 metros es el cuadrado cuyos lados miden √2 metros.

Solución con el comando Solver de ExcelTodos los problemas de optimización condicionada de funciones de dos variables son susceptibles de ser resueltos con ayuda de la herramienta Solver de Excel, y se siguen los mismos pasos ya establecidos en la solución de problemas de optimización libre o no condicionados.

La Figura 20 presenta la hoja de cálculo con la edición del problema y la res-pectiva solución.

Función de tres variablesEl procedimiento descrito para funciones de dos variables se hace extensivo a funciones de tres variables reales del modo siguiente:

Sea U = f(x, y, z) siendo g(x, y, z) = 0

Page 67: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 2 - Optimización clásica

65

1. Formar la función auxiliar o función de Lagrange

F(x, y, z, λ) = f(x, y, z) + λ · g(x, y, z)

2. Resolver el sistema que se da a continuación, para obtener el punto crítico (x0, y0, z0, λ0)

Fx = 0Fy = 0Fz = 0

g(x, y, z) = 0

3. Se calculan los determinantes

D1 =

0 gx gy gz

gx Fxx Fxy Fxz

gy Fyx Fyy Fyz

gz Fzx Fzy Fzz (x0, y0, z0, λ0)

D2 = 0 gx gy

gx Fxx Fxy

gy Fyx Fyy (x0, y0, z0, λ0)

Observe que aquí también D1 se obtiene a partir de D2, eliminando la última fila y la última columna.

Figura 20 Solución con Solver del problema del rectángulo de área máxima

con diagonal igual a 2

Page 68: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

66

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

4. Si D1 > 0 y D2 < 0, en (x0, y0, z0) la función tiene un máximo relativo condi-cionado.

Si D1 < 0 y D2 < 0 , en (x0, y0, z0) la función tiene un mínimo relativo condi-cionado.

5. Si se pide, se halla el valor máximo o mínimo relativo condicionado eva-luando U = f(x, y, z) en el punto (x0, y0, z0).

Problema práctico de mínimo condicionado con función de tres variablesUna compañía tiene tres ítems en inventario, los cuales se compran del mismo proveedor y son despachados en el mismo camión. El camión tiene una capa-cidad de 13.650 kg. El inventario de los ítems se controla periódicamente y el costo de preparar una orden es de $120.000. El costo de llevar el inventario es del 25% anual. Otra información relativa a los ítems es la siguiente:

Característica Ítem 1 Ítem 2 Ítem 3

Demanda promedio [cajas/semana] 100 300 200

Peso del producto [kg/caja] 31,75 27,22 45,36

Valor unitario [$/caja] 100.000 60.000 50.000

Debido a consideraciones económicas, el tamaño del pedido no debe exceder la capacidad del camión para la orden conjunta.

El problema consiste en determinar las cantidades óptimas de pedido para cada uno de los tres ítems descritos, de tal manera que se minimicen los costos de ordenamiento y de mantenimiento del inventario, sujeto a la limitación de capacidad del camión

Solución analítica por el método de los multiplicadores de LagrangeEl modelo para este caso está dado por:

min A 3

Ʃ𝑖 = 1

D𝑖

Q𝑖 +

3

Ʃ𝑖 = 1

Q𝑖 𝑣𝑖 𝑟2

Page 69: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 2 - Optimización clásica

67

sujeto a 3

Ʃ𝑖 = 1

Q𝑖 𝑝𝑖 = C

donde A es el costo de preparar una orden, 𝑝𝑖 es el peso de cada producto 𝑖 y C es la capacidad del camión.

Aplicando la técnica de los multiplicadores de Lagrange:

min F(Q𝑖 , λ) = A 3

Ʃ𝑖 = 1

D𝑖

Q𝑖

+ 3

Ʃ𝑖 = 1

Q𝑖 𝑣𝑖 𝑟2

― λ(C ― 3

Ʃ𝑖 = 1

Q𝑖 𝑝𝑖 )

De donde las condiciones necesarias para la existencia de un óptimo vienen dadas por:

𝜕F(Q𝑖 , λ)

𝜕Q𝑖

= ― AD𝑖

Q2𝑖

+ 𝑣𝑖 𝑟

2 + λ𝑝𝑖 = 0, 𝑖 = 1, 2, 3

𝜕F(Q𝑖 , λ)

𝜕Q𝑖

= 3

Ʃ𝑖 = 1

Q𝑖 𝑝𝑖 ― C = 0

Sustituyendo ahora los respectivos valores correspondientes a las características de cada ítem, se obtiene el siguiente sistema de ecuaciones, en las variables Q1, Q2, Q3y λ:

Ecua1: 31,75Q1 + 27,22Q2 + 45,36Q3 = 13.650

Ecua2: 624 · 106Q-2 ― 31,75λ = 12.5001

Ecua3: 1.872 · 106Q―2 ― 27,22λ = 7.5002

Ecua4: 1.284 · 106Q―2 ― 45,362λ = 6.2503

Este sistema se resolvió con la función Solver del programa Excel, y se obtuvo el siguiente resultado:

Page 70: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

68

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

Q1 Q2 Q3 LambdaEcua1 31,75 27,22 45,36 0 13.650Ecua2 624.000.000 0 0 -31,75 12.500 12.500Ecua3 0 1.872.000.000 0 -27,22 7.500 7.500Ecua4 0 0 1.248.000.000 -45,36 6.250 6.250SOLUC 96,53 185,85 121,84 1.715,65 13.650

96 186 122 13.644,84

97 185 121 13.604,01

97 186 121 13.631,23

97 185 122 13.649,37

Lo que corresponde a las cantidades óptimas de pedido para cada uno de los ítems, así:

ítem 1: Q1 = 97 cajasítem 2: Q2 = 185 cajasítem 3: Q3 = 122 cajas

Con un costo mínimo

TCR = 120.000 5.200

97 +

15.600185

+ 10.400

122 +

18

(9.700.000 + 11.100.000 + 6.100.000)

TCR = 30.143.916,81 $/año

Page 71: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

69

Capítulo 3Métodos determinísticos en la

investigación de operaciones

“La formulación de un problema es más importante que su solución”

Albert Eistein

Los problemas de toma de decisiones se pueden clasificar en dos categorías: modelos de decisión determinísticos y modelos de decisión probabilísticos. En los modelos deterministicos, las buenas decisiones se basan en sus buenos resultados. Se consigue lo deseado de manera “determinística”, es decir, libre de riesgo. Esto depende de la influencia que puedan tener los factores no controlables en la determinación de los resultados de una decisión y también en la cantidad de información que el tomador de la decisión tiene para controlar dichos factores.

Aquellos que manejan y controlan sistemas de hombres y equipos se enfrentan al problema constante de mejorar (por ejemplo, optimizar) el rendimiento del sistema. El problema puede ser reducir el costo de operación y a la vez man-tener un nivel aceptable de servicio, utilidades de las operaciones actuales, proporcionar un mayor nivel de servicio sin aumentar los costos, mantener un funcionamiento rentable cumpliendo a la vez con las reglamentaciones gu-bernamentales establecidas, o “mejorar” un aspecto de la calidad del producto sin reducir la calidad de otros aspectos. Para identificar la mejora del funcio-namiento del sistema se debe construir una representación sintética o modelo del sistema físico, que puede utilizarse para describir el efecto de una variedad de soluciones propuestas.

Page 72: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

70

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

Un modelo puede considerarse como una entidad que captura la esencia de la realidad sin su presencia. Una fotografía es un modelo de la realidad ilustrada en la imagen. La presión arterial puede utilizarse como un modelo de la salud de una persona. Una campaña piloto de ventas puede utilizarse como un modelo de la respuesta de las personas a un nuevo producto. Por último, una ecuación matemática puede utilizarse como un modelo de la energía contenida en un determinado material. En cada caso, el modelo captura algún aspecto de la realidad que intenta representar.

Ya que un modelo sólo captura determinados aspectos de la realidad, su uso puede no ser apropiado en una aplicación en particular porque no captura los elementos correctos de la realidad. La temperatura es un modelo de las condiciones climáticas, pero puede ser inapropiado si uno está interesado en la presión barométrica. Una foto de una persona es un modelo de ella, pero brinda poca información acerca de sus logros académicos. Una ecuación que predice las ventas anuales de un producto en particular es un modelo de ese producto, pero tiene poca utilidad si lo que nos interesa es el costo de producción por unidad. Por lo tanto, la utilidad del modelo depende del aspecto de la realidad que representa.

Un modelo puede ser inadecuado, aun cuando intente capturar los elementos apropiados de la realidad, si lo hace de una manera distorsionada o sesgada. Una ecuación que pronostica el volumen mensual de ventas puede ser exacta-mente lo que el gerente de ventas quiere, pero podría generar grandes pérdidas si arroja constantemente cálculos de ventas altos. Un termómetro que lee de más (o de menos) tendría poca utilidad para realizar un diagnóstico médico. En consecuencia, un modelo útil es aquel que captura los elementos adecuados de la realidad con un grado aceptable de precisión.

Un modelo matemático es una ecuación, desigualdad o sistema de ecuaciones o desigualdades que representa determinados aspectos del sistema físico repre-sentado en el modelo. Los modelos de este tipo se utilizan en gran medida en las ciencias físicas, en el campo de la ingeniería, los negocios y la economía.

Un modelo ofrece al analista una herramienta que puede manipular en su análisis del sistema en estudio, sin afectar al sistema en sí. Por ejemplo, supóngase que se ha desarrollado un modelo matemático para predecir las ventas anuales como una función del precio de venta unitario. Si se conoce el costo de producción por unidad, se pueden calcular con facilidad las utilidades anuales totales para cualquier precio de venta. Para hallar el precio de venta que arrojará las utilida-

Page 73: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

71

des totales máximas, se pueden introducir en el modelo distintos valores para el precio de venta, uno a la vez, determinando las ventas resultantes y calculando las utilidades anuales totales para cada valor de precio de venta examinado. Mediante un proceso de prueba y error, el analista puede establecer el precio de venta que maximizará las utilidades anuales totales.

Lo ideal sería que si el modelo matemático es una representación válida del rendimiento del sistema, mediante la aplicación de las técnicas analíticas ade-cuadas, la solución obtenida a partir del modelo debería ser también la solución para el problema del sistema. Así, la efectividad de los resultados de la aplicación de cualquier técnica operativa es en gran medida una función del grado en el cual el modelo representa al sistema en estudio.

A fin de definir las condiciones que nos conducirán a la solución del problema del sistema, el analista debe identificar primero un criterio según el cual se podrá medir el sistema. Este criterio a menudo se denomina medida del rendimiento del sistema o medida de efectividad. En aplicaciones empresariales, la medida de efectividad generalmente son los costos o las utilidades, mientras que en aplicaciones gubernamentales esta medida generalmente se define en términos de un índice costo/beneficio.

En esta etapa de la comprensión del problema es conveniente tener en cuenta, como se mencionó al inicio, que el modelo que se está diseñando pertenezca a la categoría de decisiones determinísticas. En forma circular, a medida que se construye el modelo matemático el analista debe evaluar la correspondencia o validez del modelo asociado a algún método determinístico de solución, es decir, un modelo matemático que por sus características y condiciones se pue-de circunscribir a un método de programación lineal (PL), o de programación lineal multiobjetivo, o de programación dinámica, entre otros. Aunque existe una considerable lista de métodos determinísticos de solución de problemas de optimización, en este capítulo del libro se presentan a manera de ejemplos prácticos los tres métodos mencionados

Si bien los modelos matemáticos aplicados en la optimización del rendimiento de un sistema u optimización de la medida de efectividad asociados a un mé-todo determinístico de solución conducen a obtener soluciones numéricas que verdaderamente optimizan la función objetivo (valor máximo o valor mínimo) desde el punto de vista cuantitativo, no se puede excluir la segunda etapa de la validación del modelo, en la cual se comparan los resultados del modelo con los resultados obtenidos en la realidad, aspectos y condiciones de tipo cualitativo

Page 74: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

72

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

que el modelo no incluye y que de forma directa o indirecta afectan los valores óptimos, pero que al considerarlos pueden modificar la medida de efectividad del sistema establecida a través de la función objetivo.

Herramientas informáticas WinQSBLa toma de decisiones en los distintos niveles de las organizaciones cada vez es de mayor complejidad, dadas las crecientes restricciones de disponibilidad de todo tipo de recursos. La academia se ha preocupado de investigar y proporcionar herramientas que faciliten a los gerentes el abordaje de estos procesos, teniendo en cuenta que no es recomendable definir un curso de acción confiados única-mente en la intuición. La llamada administración científica aboga por el uso de los métodos cuantitativos en la toma de decisiones empresariales; de ahí que en los planes de estudio correspondientes a la formación de profesionales de la ingeniería industrial, la administración en sus diferentes matices, las finanzas y muchas más disciplinas, figuren asignaturas que pretendan que los egresados de estas titulaciones se apropien de un cúmulo de herramientas que les faciliten el análisis y la toma de decisiones en situaciones complejas.

Con la popularización de los computadores personales (PC) han surgido pro-gramas y aplicaciones muy completos para el tratamiento de los problemas de gestión mediante herramientas cuantitativas, las que en su conjunto constituyen los métodos de la investigación de operaciones.

QSB (por su sigla del inglés Quantitative System Business), podría decirse que es el software más utilizado en la actualidad por estudiantes de pregrados y post-grados que incluyen en su plan de estudios asignaturas como la investigación de operaciones o temas relacionados. QSB o WinQSB (QSB para el sistema operativo Windows) es una aplicación versátil que permite la solución de una gran cantidad de problemas: administrativos, de producción, de recurso humano, dirección de proyectos, etc.

La aplicación está formada por veinte módulos o métodos de solución, uno para cada tipo de modelo o problema, como se muestra en la Figura 21.

Page 75: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

73

Figura 21 Módulos WinQSB

ASA: Análisis de muestreo de acep-tación

AP: Planeación agregada

DA: Análisis de decisiones

DP: Programación dinámica

FLL: Diseño y localización de plan-tas

FC: Pronósticos

GP-IGP: Programación por objetivos

ITS: Teoría y sistemas de inventarios

JOB: Progr. de jornadas de trabajo

LP-LIP: Programación lineal y entera

MP: Procesos de Markov

MRP: Plan de Requer. de Materiales

NET: Modelación de redes

NLP: Programación no lineal

PERT y CPM

QP: Programación cuadrática

QCC: Cartas de control de calidad

QA: Sistemas de cola

QSS: Simulación de sistemas de cola

Entre ellos se destacan los siguientes:

– Linear and Integer Programming (LP-ILP): resuelve modelos de programación lineal, es decir, modelos con un objetivo lineal y restricciones lineales.

– Linear Goal Programming (GP) and Integer Linear Goal Programming (IGP): resuelve modelos de programación multiobjetivo con restricciones lineales.

– Dynamic Programming (DP): resuelve el problema de programación dinámica, es decir, problemas con decisiones secuenciales en etapas sucesivas.

– Network Modeling (NET): incluye programas específicos para resolver los problemas del transbordo, del transporte, el de asignación, el del camino más corto, el del flujo máximo, el del árbol generador y el del agente viajero.

Page 76: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

74

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

Existe en la red de Internet (http://winqsb.softonic.com/descargar) una ver-sión gratuita que se puede descargar, la cual tiene limitaciones asociadas a la magnitud de los modelos matemáticos a resolver, es decir, menos número de variables y de restricciones que la versión con licencia. Sin embargo, a pesar de las limitaciones que presenta la versión libre es posible resolver con ella problemas de considerable magnitud, como el ejemplo práctico que se presenta en la aplicación del método de programación lineal.

Programación linealLa programación lineal muchas veces es uno de los temas preferidos tanto de profesores como de alumnos. La capacidad de introducir la PL utilizando un abor-daje gráfico, la facilidad relativa del método de solución, la gran disponibilidad de paquetes de software de PL y la amplia gama de aplicaciones hacen que la PL sea accesible incluso para estudiantes con poco conocimiento de matemáticas.

La programación lineal (PL) es un procedimiento matemático para determinar la asignación óptima de recursos escasos, que encuentra su aplicación práctica en casi todas las facetas de los negocios, desde la publicidad hasta la planificación de la producción. Problemas de transporte, distribución y planificación global de la producción son los más comunes de solucionar por PL. La industria petrolera parece ser el usuario más frecuente de la PL. Un gerente de procesamiento de datos de una importante empresa petrolera recientemente calculó que del 5% al 10% del tiempo de procesamiento informático de la empresa es destinado al procesamiento de modelos de PL y similares.

La programación lineal aborda una clase de problemas de programación en los cuales tanto la función objetivo a optimizar como todas las relaciones entre las variables correspondientes a los recursos son lineales. Este problema fue formulado y resuelto por primera vez a fines de la década del cuarenta. Rara vez una nueva técnica matemática encuentra una gama tan diversa de aplicaciones prácticas de negocios comerciales e industriales y a la vez recibe un desarrollo teórico tan exhaustivo en un período tan corto. Hoy en día esta teoría se aplica con éxito a problemas de presupuestos de capital, diseño de dietas, conservación de recursos, juegos de estrategias, predicción de crecimiento económico y siste-mas de transporte. Recientemente la teoría de la programación lineal también contribuyó a la resolución y unificación de diversas aplicaciones.

Es importante que el lector entienda desde el comienzo que el término “progra-mación” tiene un significado distinto cuando se refiere a programación lineal

Page 77: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

75

que cuando hablamos de programación informática. En el primer caso significa planificar y organizar, mientras que en el segundo caso significa escribir las instrucciones para realizar cálculos. La capacitación en una clase de progra-mación tiene muy poca relevancia directa con la otra clase de programación. De hecho, la expresión “programación lineal” se acuñó antes de que la palabra programación se relacionara con el software de computación. A veces se evita esta confusión utilizando el término optimización lineal como sinónimo de programación lineal.

Cualquier problema de PL consta de una función objetivo y un conjunto de restricciones. En la mayoría de los casos, las restricciones provienen del entor-no en el cual usted trabaja para lograr su objetivo. Cuando usted quiere lograr el objetivo deseado se dará cuenta de que el entorno fija ciertas restricciones (es decir, dificultades, limitaciones) para cumplir con su deseo (vale decir, el objetivo).

¿Qué es una función?Una función es una cosa que hace algo. Por ejemplo, una máquina de moler café es una función que transforma los granos de café en polvo. La función (objetivo) traza, traduce el dominio de entrada (denominado región factible) en un rango de salida con dos valores finales denominados valores máximo y mínimo.

Cuando se formula un problema de toma de decisiones como un programa lineal, se deben verificar las siguientes condiciones:

1. La función objetivo debe ser lineal, vale decir, se debe verificar que todas las variables estén elevadas a la primera potencia y que sean sumadas o restadas (no divididas ni multiplicadas);

2. El objetivo debe ser ya sea la maximización o la minimización de una función lineal. El objetivo debe representar la meta del decisor; y

3. Las restricciones también deben ser lineales. Asimismo, la restricción debe adoptar alguna de las siguientes formas (≤, ≥ o =, es decir que las restric-ciones de PL siempre están cerradas).

Por ejemplo, el siguiente problema no es un problema de PL:

Max X, sujeta a < 1.

Este problema tan sencillo no tiene solución.

Page 78: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

76

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

Como siempre, se debe tener cuidado al categorizar un problema de optimiza-ción como un problema de PL. ¿El siguiente problema es un problema de PL?

Max X2

sujeta a:

X1 + X2 ≤ 0

X2 ― 4 ≤ 01

Aunque la segunda restricción parece “como si” fuera una restricción no lineal, esta restricción puede escribirse también de la siguiente forma:

X1 ≥ ― 2 y X1 ≤, 2

En consecuencia, el problema es de hecho un problema de PL.

Para la mayoría de los problemas de PL podemos decir que existen dos tipos importantes de objetos: en primer lugar, los recursos limitados, tales como te-rrenos, capacidad de planta o tamaño de la fuerza de ventas; en segundo lugar, las actividades, tales como “producir acero con bajo contenido de carbono”, y “producir acero con alto contenido de carbono”. Cada actividad consume can-tidades adicionales de recursos, o probablemente contribuye a ello. Debe haber una función objetivo, es decir, una manera de distinguir una mala decisión de una buena o una mejor decisión. El problema es determinar la mejor combina-ción de niveles de actividades que no utilice más recursos de los disponibles. Muchos gerentes se enfrentan a esta tarea todos los días. Afortunadamente, la aplicación WinQSB en su módulo de programación lineal ayuda a determinar esto cuando se ingresa un modelo bien formulado.

Formulación de un problema de PLPara formular un problema de PL es recomendable seguir los siguientes linea-mientos generales después de leer con atención el enunciado del problema varias veces.

Todo programa lineal consta de cuatro partes: un conjunto de variables de decisión, los parámetros, la función objetivo y un conjunto de restricciones. Al formular un determinado problema de decisión en forma matemática debe usted abocar la comprensión del problema (es decir, formular un modelo mental), para lo

Page 79: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

77

cual ha de leer detenidamente una y otra vez el enunciado del problema. Mien-tras trata de comprender el problema, hágase las siguientes preguntas generales:

1. ¿Cuáles son las variables de decisión? Es decir, ¿cuáles con las entradas controlables? Defina las variables de decisión con precisión utilizando nombres descriptivos. Recuerde que las entradas controlables también se conocen como actividades controlables, variables de decisión y actividades de decisión.

2. ¿Cuáles son los parámetros? Vale decir ¿cuáles son las entradas no contro-lables? Por lo general, son los valores numéricos constantes dados. Defina los parámetros con precisión utilizando nombres descriptivos.

3. ¿Cuál es el objetivo? ¿Cuál es la función objetivo? Es decir, ¿qué quiere el dueño del problema? ¿De qué manera se relaciona el objetivo con las varia-bles de decisión del dueño del problema? ¿Es un problema de maximización o minimización? El objetivo debe representar la meta del decisor.

4. ¿Cuáles son las restricciones? Es decir, ¿qué requerimientos se deben cumplir? ¿Debería utilizar un tipo de restricción de desigualdad o igualdad? ¿Cuáles son las conexiones entre las variables? Escríbalas con palabras antes de volcarlas en forma matemática.

Recuerde que la región factible tiene poco o nada que ver con la función objetivo (minimizar o maximizar). Estas dos partes en cualquier formulación de PL gene-ralmente provienen de dos fuentes distintas. La función objetivo se establece para cumplir con el deseo (objetivo) del decisor, mientras que las restricciones que forman la región factible generalmente provienen del entorno del decisor, que fija algunas limitaciones / condiciones para lograr su objetivo, esto es, de las restricciones.

Problema práctico de PLUna compañía multinacional de aluminio tiene depósitos de bauxita (materia prima) en tres lugares del mundo A, B y C. Tiene además cuatro plantas donde la bauxita se puede convertir en alúmina, un producto intermedio, el cual puede ser obtenido en tres tipos diferentes (1, 2 y 3), en los lugares B, C, D y E. También tiene plantas de esmaltado en los lugares D y E, donde se produce el aluminio terminado. El proceso de conversión de la bauxita en alúmina es relativamente poco costoso. El esmaltado, sin embargo, es costoso puesto que se requiere de un equipo electrónico especial. Los datos siguientes están disponibles:

Page 80: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

78

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

Minas de bauxita:

Minas de Bauxita Costo de explotación ($/ton)

Capacidad anual de bauxita (ton/año)

Costos fijos de operación

A 420 36.000 1.500.000B 360 52.000 2.000.000C 540 28.000 1.250.000

Conversión de bauxita en alúmina:

PlantaCosto de producción

($/ton de alúminaTipo 1 Tipo 2 Tipo 3

Capacidad anual de procesamiento

de bauxita

Costo fijo anual de la planta de

alúmina

B 330 300 380 40.000 3.000.000C 320 290 No 20.000 2.500.000D 380 No 435 30.000 4.800.000E 240 215 300 80.000 6.000.000

Como se puede observar en la tabla anterior, la planta D no puede producir la alúmina tipo 2 y la planta C no puede producir la alúmina tipo 3.

Rendimiento de bauxita para cada tipo de alúmina y de alúmina en producto terminado:

MinaRendimiento de Alúmina Tipo

1 (%)

Rendimiento de Alúmina Tipo

2 (%)

Rendimiento de Alúmina Tipo

3 (%)

A 6.0 6.5 4.5B 8.0 8.7 6.0C 6.2 7.0 5.0

Rendimiento de producto ter-minado (%) 40 28 50

Proceso de esmaltado:

PlantaCosto de producción

($/ton de alúminaTipo 1 Tipo 2 Tipo 3

Capacidad anual de procesamiento

de alúmina (ton/año)

Costo fijo de operación ($/año)

D 8.500 6.000 10.000 4.000 6.500.000E 5.200 3.700 6.350 7.000 8.000.000

Page 81: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

79

Se supone que la demanda ocurre en las plantas de esmaltado. La demanda anual de aluminio terminado y el precio unitario de venta se ha estimado de acuerdo con las siguientes proyecciones:

Planta Demanda Mínima (ton/año)

Demanda Máxima (ton/año)

Precio de Venta ($/ton aluminio)

D 1.000 1.300 60.000

E 1.000 1.500 57.000

Costos de transporte en $/ton de bauxita:

DE HACIA j =

B 1

C 2

D 3

E 4

i =

A 1 400 2.010 510 1.920

B 2 10 630 220 1.510

C 3 1.630 10 620 940

Costos de transporte de la alúmina, en $/ton de alúmina (independiente del tipo de alúmina):

DE HACIA k =

D 3

E 4

j =

B 1 220 1.510

C 2 620 940

D 3 0 1.615

E 4 1.465 0

Los lingotes de producto terminado pueden transportarse entre las plantas D y E y viceversa. Se pueden utilizar los mismos fletes dados en la tabla anterior (entre D y E y viceversa) en $/ton de producto terminado.

Se requiere formular un modelo de optimización entero-mixto para determinar la mejor configuración de la cadena de abastecimiento presentada, los tipos de alúmina que deben producirse y sus cantidades y, en general, todos los flujos. Es de notar que el problema es totalmente abierto para determinar cuáles minas deberían continuar siendo explotadas y cuáles plantas de alúmina y de esmaltado deberían continuar funcionando.

Page 82: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

80

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

SoluciónEn el proceso de solución, después de la lectura del enunciado se percibe una integración sistémica de toda la cadena de abastecimiento, a través de:

1. Integración funcional de las actividades de compras, manufactura, trans-porte, manejo de inventarios y almacenamiento.

2. Integración espacial a través de la dispersión geográfica de proveedores, fábricas, centros de distribución y clientes.

3. Integración inter-temporal de las actividades de planeación estratégica, táctica y operativa de cada empresa y en conjunto de cada cadena.

4. Integración empresarial, que incluye los planes de la cadena de suministros, los planes de mercadeo y ventas y los planes financieros

Esta visión sistémica se puede representar gráficamente mediante las diferentes interacciones de los elementos que componen el sistema o cadena de abasteci-miento, como se muestra en la Figura 22.

Se definen entonces:

Asignación de los conjuntos de índices:

Minas i = A, B, C

Plantas de alúmina j = B, C, D, E

Tipo de proceso t en las planta de alúmina y esmaltado = 1, 2, 3

Plantas de esmaltado k = D, E

Plantas de venta de aluminio terminado m = D, E

Variables de decisión (73)

Xijt = Toneladas/año de bauxita a transportar desde la mina i a la planta de alúmina j y ser transformada en el proceso tipo t.

Ytjk = Toneladas/año de alúmina tipo t de la planta j a ser transportada a la planta de esmaltado k.

Page 83: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

81

Akm = Toneladas/año de aluminio terminado procesado en la planta k y

vendido en la planta m.

Ui = 1, si la mina de bauxita i se abre0, en caso contrario

Wj = 1, si la mina de bauxita j se abre0, en caso contrario

Zk = 1, si la mina de bauxita k se abre0, en caso contrario

Parámetros (81)

(cfm)i = Costo fijo de explotación de la mina i.

(cem)i = Costo variable de explotación de la mina i.

Figura 22 Integración sistémica del problema de las minas de bauxita

A

Page 84: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

82

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

(ctb)ij = Costo de trasporte por tonelada de bauxita de la mina i a la planta de alúmina j.

(ceb)i = Capacidad de explotación de bauxita de la mina i.

(cfa)j = Costo fijo anual de la planta de alúmina j.

(cpa)tj = Costo de producción por tonelada en el proceso tipo t de la planta de alúmina j.

(cta)jk = Costo de transporte por ton de alúmina de la planta j a la planta de esmaltado k.

(cba)j = Capacidad de procesamiento de bauxita en la planta de alúmina j.

(ra)it = Rendimiento de alúmina de procesar bauxita de la mina i en el proceso tipo t.

(cfe)k = Costo fijo anual de la planta de esmaltado k.

(cpe)tk = Costo de producción por ton en el proceso de tipo t en la planta de esmaltado k.

(cte)km= Costo de transporte por ton de aluminio terminado entre las plantas de esmaltado k hacia las plantas de venta m.

(cae)k = Capacidad de procesamiento de alúmina en la planta de esmaltado k.

(re)t = Rendimiento de alúmina del proceso tipo t para producir aluminio terminado.

(pv)m = Precio de venta por tonelada de aluminio terminado y vendido en la planta m.

(dmi)m = Demanda mínima de ton/año de aluminio terminado en la planta de esmaltado m.

(dma)m = Demanda máxima de ton/año de aluminio terminado en la planta de esmaltado m.

Esta definición se puede visualizar toda completando el esquema de la Figura 21 y que se muestra en la Figura 23.

Page 85: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

83

Se establece el modelo matemático:

Función objetivo: Maximizar la Utilidad Total Anual (UTA)

Ingresos por Ventas – Egresos por Costos

Ingresos por ventas: Ʃ Ʃ (𝑝𝑣)m Akmk k

Egresos por costos

1. Costo anual de explotación de bauxita ($/año): Ʃ Ʃ Ʃ(cem)𝑖 X𝑖 jt𝑖 j t

2. Costo anual de producción de alúmina ($/año): Ʃ Ʃ Ʃ(cpa)t𝑖 Ytjkt j k

3. Costo anual de producción de aluminio terminado ($/año): Ʃ Ʃ Ʃ(cpe)tk Ytjk

t j k

4. Costo anual de transporte desde las minas de bauxita hasta las plantas de alúmina ($/año): Ʃ Ʃ Ʃ(ctb)𝑖 j X𝑖 jt

𝑖 j t

Figura 23 Información cuantitativa del problema de las minas de bauxita

Page 86: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

84

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

5. Costo anual de transporte desde las plantas de alúmina hasta las plantas de esmaltado ($/año): Ʃ Ʃ Ʃ(cta)jk Ytjk

t j k

6. Costo anual de transporte entre las plantas de esmaltado (de la planta que procesa a la planta que vende en $/año): Ʃ Ʃ (cte)km Akm

k m

7. Costo fijo anual de explotación en las minas ($/año): Ʃ (cfm)𝑖 U𝑖 𝑖

8. Costo fijo anual en las plantas de alúmina ($/año): Ʃ (cfa)j Wjj

9. Costos fijo anual en las plantas de esmaltado($/año): Ʃ (cfe)k Zkk

Restricciones (25)

Por capacidad

1. En las minas (Ton bauxita/año): Ʃ Ʃ X𝑖 jt ≤ (cem)𝑖 U𝑖 ; ∀𝑖 j t

2. En las plantas de alúmina (Ton bauxita/año): Ʃ Ʃ X𝑖 jt ≤ (cba), Wj; ∀j𝑖 t

3. En las plantas de esmaltado (Ton alúmina/año): Ʃ Ʃ Ytjk ≤ (cae)k Zk; ∀kt j

Por balance de materia

4. En las plantas de alúmina por tipo de proceso en cada planta (ton de alú-mina/año):

Planta B: Ʃ(rba)it XiBt = ƩYtBk ; ∀ti k

Planta C: Ʃ(rba)it XiCt = ƩYtCk ; ∀ti k

Planta D: Ʃ(rba)it XiDt = ƩYtDk ; ∀ti k

Planta E: Ʃ(rba)it XiEt = ƩYtEk ; ∀ti k

5. En las plantas de esmaltado (ton de aluminio terminado/año):

Ʃ Ʃ(rae)t Ytjk = ƩAkm ; ∀kt j m

Por demanda

6. Mínima en cada planta de esmaltado donde se vende: Ʃ Akm ≥ (dmi)m ; ∀mk

Page 87: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

85

7. Máxima en cada planta de esmaltado donde se vende:

Por límites en los valores de cada una de las variables

Xijt ≥ 0; ∀𝑖 , j, t Zk binaria; ∀k XAD2 = 0

Ytjk ≥ 0; ∀t, j, k Y3CD = 0 XBC3 = 0

Akm ≥ 0; ∀k, m Y3CE = 0 XBD2 = 0

Ui binaria; ∀𝑖 Y2DD = 0 XCC3 = 0

Wj binaria; ∀𝑖 Y2DE = 0 XCD2 = 0

XAC3 = 0

Este modelo matemático que se encuentra comprimido por la indexación es necesario extenderlo con el fin de facilitar la edición en el módulo de progra-mación lineal mixta del software WinQSB.

Maximizar Utilidad Total Anual (UTA) =

60.000ADD + 58.535 AED + 55.385 ADE + 57.000 AEE – 820XAB1 – 820XAB2 – 820 XAB3 – 2.430XAC1

– 2.430XAC2 – 930XAD1 – 930XAD3 – 2.340XAE1 – 2.340XAE2 – 2.340XAE3 – 370XBB1– 370XBB2

– 370XBB3 – 990XBC1– 990XBC2– 580XBD1– 580XBD3– 1.870XBE1– 1.870XBE2– 1.870XBE3

– 2.170XCB1– 2.170XCB2– 2.170XCB3– 550XCC1– 550XCC2– 1.160XCD1– 1.160XCD3– 1.480XCE1

– 1.480XCE2– 1.480XCE3– 9.050Y1BD– 9.440Y1CD– 8.880Y1DD– 10205Y1ED– 6.250Y2BD

– 6.910Y2CD– 7.680Y2BD– 10.600Y3BD– 10435Y3DD– 11.765Y3ED– 7.040Y1BE– 6.460Y1CE

– 7.195Y1DE– 5.440Y1EE– 5.510Y2BE– 4.930Y2CE– 3.915Y2EE– 8.240Y3BE– 8.400Y3DE– 6.650Y3EE

– 1.500.000UA– 2.000.000UB– 1.250.000UC– 3.000.000WA– 2.500.000WB– 4.800.000WC

– 6.000.000WE– 6.500.000ZD– 8.000.000ZE

Ʃ Akm ≤ (dma)m ; ∀mk

Page 88: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

86

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

Sujeto a:

XAB1 + XAB2 + XAB3 + XAC1 + XAC2 + XAD1 + XAD3 + XAE1 + XAE2 + XAE3≤ 36.000UA

XBB1 + XBB2 + XBB3 + XBC1 + XBC2 + XBD1 + XBD3 + XBE1 + XBE2 + XBE3≤ 52.000UB

XCB1 + XCB2 + XCB3 + XCC1 + XCC2 + XCD1 + XCD3 + XCE1 + XCE2 + XCE3≤ 28.000UC

XAB1 + XAB2 + XAB3 +XBB1 + XBB2 + XBB3 +XCB1 + XCB2 + XCB3≤ 40.000WB

XAC1 + XAC2 + XBC1 + XBC2 + XCC1 + XCC2 + ≤ 20.000WC

XAD1 + XAD3 +XBD1 + XBD3 +XCD1 + XCD3≤ 30.000WD

XAE1 + XAE2 + XAE3 + XBE1 + XBE2 + XBE3 + XCE1 + XCE2 + XCE3≤ 80.000WE

Y1BD + Y2BD + Y3BD + Y1CD + Y2CD + Y1DD + Y3DD + Y1ED + Y2ED + Y3ED≤ 4.000ZD

Y1BE + Y2BE + Y3BE + Y1CE + Y2CE + Y1DE + Y3DE + Y1EE + Y2EE + Y3EE≤ 7.000ZE

0,060XAB1 + 0,080XBB1 + 0,062XCB1 = Y1BD + Y1BE

0,065XAB2 + 0,087XBB2 + 0,070XCB2 = Y2BD + Y2BE

0,045XAB3 + 0,060XBB3 + 0,050XCB3 = Y3BD + Y3BE

0,060XAC1 + 0,080XBC1 + 0,062XCC1 = Y1CD + Y1CE

0,065XAC2 + 0,087XBC2 + 0,070XCC2 = Y2CD + Y2CE

0,060XAD1 + 0,080XBD1 + 0,062XCD1 = Y1DD + Y1DE

0,045XAD3 + 0,060XBD3 + 0,050XCD3 = Y3DD + Y3DE

0,060XAE1 + 0,080XBE1 + 0,062XCE1 = Y1ED + Y1EE

0,065XAE2 + 0,087XBE2 + 0,070XCE2 = Y2ED + Y2EE

0,045XAE3 + 0,060XBE3 + 0,050XCE3 = Y3ED + Y3EE

0,4 (Y1BD + Y1CD + Y1DD + Y1ED) + 0,28(Y2BD + Y2CD + Y2ED) + 0,5 (Y3BD + Y3DD + Y3ED) = ADD + ADE

0,4 (Y1BE + Y1CE + Y1DE + Y1EE) + 0,28(Y2BE + Y2CE + Y2EE) + 0,5 (Y3BE + Y3DE + Y3EE) = AEE + AED

Page 89: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

87

ADD + AED ≥1.000

ADD + AED ≤ 1.300

AEE + ADE ≥1.000

AEE + ADE ≤ 1.500

Xijt ≥ 0; ∀𝑖, j, t Zk binaria; ∀k XAD2 = 0

Ytjk ≥ 0; ∀t, j, k Y3CD = 0 XBC3 = 0

Akm ≥ 0; ∀k, m Y3CE = 0 XBD2 = 0

U𝑖 binaria; ∀𝑖 Y2DD = 0 XCC3 = 0

Wj binaria; ∀j Y2DE = 0 XCD2 = 0

XAC3 = 0

Solución con WinQSBRecuerde que la aplicación WinQSB contiene varios módulos o mé-todos de solución. Para este problema se debe seleccionar el módulo Programación lineal y entera (Linear and Integer Programming: LP - LIP), el cual despliega la ventana que se muestra en la Figura 24.

El programa cuenta con una barra de herramientas que ayuda de forma significativa a seleccionar las opciones más usadas.

El primer botón permite la creación de un nuevo problema; el segundo abre un problema existente, y el tercero permite salir del programa.

En el centro de la venta se encuentra un espacio vacío que se conoce como zona de trabajo, donde se procederá a alimentar con información el programa.

La opción Nuevo Problema (New Problem) genera una plantilla en la cual se introducirán las características del problema (Ver Figura 25).

– Título del problema (Problem Title): “Cadena de Abastecimiento”.

– Número de variables (Number of Variables): 63.

– Número de restricciones (Number of Constraints): 25.

– Objetivo (Objective Criterion): Maximización.

Page 90: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

88

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

– Formato de entrada de datos (Data Entry Format): Permite elegir entre dos plantillas distintas para introducir los datos del modelo. La primera alter-nativa se asemeja a una hoja de cálculo, mientras que la segunda es una plantilla diseñada especialmente para este fin. Por lo general se trabaja con la primera alternativa.

– Tipo de variable (Default Variable Type): En esta parte se indican las carac-terísticas del modelo:

– Continuas no negativas (Nonnegative continuous): Indica que el modelo lo componen variables continuas no negativas (iguales o mayores a cero).

Una vez llenados todos los campos se pulsa el botón OK, lo cual genera nuevas opciones dentro del programa.

Si se escogió la plantilla tipo hoja de cálculo (Spreadsheet Matrix Form) se mostrará una nueva ventana dentro de la zona de trabajo, la cual servirá para introducir el modelo matemático:

La primera fila (Variable →) corresponde a los encabezados de las variables (en gris) definidas por defecto por el sistema como X1, X2, X3,..., X63 (son las sesenta

Figura 24 Ventana para iniciar un problema de PL en WinQSB

Page 91: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

89

y tres variables del ejemplo), seguido por el operador de relación (Direction) y la solución de las restricciones o Lado de la mano derecha (Right Hand Side-R. H. S).

La segunda fila (Maximize) permite introducir los coeficientes de la función objetivo. Luego aparecen una serie de filas identificadas por la letra C y un consecutivo, las cuales corresponden a la cantidad de restricciones con que cuenta el modelo

El nombre de las variables y de las restricciones se puede cambiar accediendo al submenú Nombre de variables (Variables Names) y Nombre de las restricciones (Constraint Name) del menú Editar (Edit):

Figura 25 Especificaciones del problema de la cadena de abastecimiento

Page 92: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

90

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

Por último aparecen tres filas donde definimos el valor mínimo aceptado por cada variable (Lower Bound), el valor máximo (Upper Bound) y el tipo de variable (Variable Type). En el caso del valor máximo, M significa que la variable podrá recibir valores muy grandes (tendientes a infinito).

Para ingresar el modelo propuesto para el problema práctico de la cadena de abastecimiento, el primer paso es llenar la segunda fila con los coeficientes de la función objetivo XAB1, XAB2, XAB3,…, WE, EE, ED. Se sigue con las restricciones CapeMA, CapeMB, CapeMC,…, BalPLAEp3, RenPLESMD, RenPLESME. Se pueden cambiar los operadores de relación pulsando dos veces seguidas sobre ellos con el botón izquierdo del mouse. Las otras filas se mantienen iguales. Dada la magnitud del problema que se está resolviendo, se presentan tres gráficas que ilustran lo expuesto (Ver Figuras 26, 27 y 28).

Figura 26 Edición del problema de la Cadena de Abastecimiento

Page 93: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

91

Figura 27 Edición del problema de la cadena de abastecimiento

Figura 28 Edición del problema de la cadena de abastecimiento

Page 94: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

92

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

Cuando haya terminado de ingresar el modelo en la plantilla podrá utilizar las herramientas que provee el menú Resolver y Analizar (Solve and Analyze). Este menú cuenta con las siguientes opciones:

– Resolver el problema (Solve the Problem): Resuelve el problema mediante el método Simplex Primal. Muestra la solución final completa.

– Resolver y mostrar los pasos (Solve and Display Steps): Muestra cada uno de los pasos o las interacciones realizadas por el Simplex hasta llegar a la solución óptima.

– Método Gráfico (Graphic Method): Resuelve el problema de programación lineal mediante el método gráfico (para problemas que trabajan con dos variables).

Se selecciona la primera opción del menú Resolver y Analizar (Solve and Analyze), donde se mostrará una pequeña ventana con el mensaje “El problema ha sido resuelto. La solución óptima ha sido lograda”.

Se pulsa el botón Aceptar y automáticamente el programa generará la solución óptima en una tabla que presenta las soluciones para cada una de las variables de decisión (Ver Tabla 2) y los valores correspondientes a cada una de las res-tricciones en su lado izquierdo, comparándolo con los correspondientes valores fijos del lado derecho RHS (Ver Tabla 1).

De acuerdo con los resultados presentados en la tabla de las variables se pue-de asegurar que sólo se explota bauxita de las minas B y C (la mina A queda cerrada); se habilitan las plantas de alúmina B, C y D (la planta E no trabaja)

Page 95: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

93

Restricción Lado izquierdo Dirección Lado

derechoSlack or Surplus

Precios sombra

1 Cape MA 0 <= 0 0 43,142 Cape MB 0 <= 0 0 717,523 Cape MC -8.000,00 <= 0 8.000,00 04 Capp PAB 0 <= 0 0 222,45 Capp PAC 0 <= 0 0 501,1486 Capp PAD -18.000,00 <= 0 18.000,00 07 Capp PAE 0 <= 0 0 08 Capp PED 0 <= 0 0 1.625,009 Capp PEE -1.600,00 <= 0 1.600,00 010 DMIN D 1.160,00 >= 1.000,00 160 011 DMAX D 1.160,00 <= 1.300,00 140 012 DMIN E 1.000,00 >= 1.000,00 0 -1.535,0013 DMAX E 1.000,00 <= 1.500,00 500 014 BalPLABp1 0 = 0 0 -16.374,0015 BalPLABp2 0 = 0 0 -10.879,8016 BalPLABp3 0 = 0 0 -21.832,0017 BalPLACp1 0 = 0 0 -16.954,0018 BalPLACp2 0 = 0 0 -11.459,8019 BalPLADp1 0 = 0 0 -16.219,0020 BalPLADp3 0 = 0 0 -21.345,0021 BalPLAEp1 0 = 0 0 -23.870,9722 BalPLAEp2 0 = 0 0 -21.142,8623 BalPLAEp3 0 = 0 0 -29.600,0024 RenPLESMD 0 = 0 0 -66.810,0025 RenPLESME 0 = 0 0 -58.535,00

Tabla 1 Resultados de las restricciones en la solución del problema de la cadena de abastecimiento

y todas con el proceso 1, y el proceso de esmaltado se realiza todo en la planta E en el tipo 1, pues se deshabilita la planta D. Además, la distribución de la bauxita (en toneladas/año) de las minas a las plantas de alúmina, de alúmina (en toneladas/año) de las plantas de alúmina a las plantas de esmaltado y, por último, la distribución de lingotes de aluminio terminado para la venta entre las plantas D y E se muestran en la Figura 29:

Programación dinámicaLa programación dinámica (PD) determina la solución óptima de un problema en variables descomponiéndola en n etapas, y cada etapa incluye un subproblema

Page 96: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

94

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

Tabla 2 Resultados de las variables de decisión en la solución del problema

de la cadena de abastecimiento

Variables de decisión

Valor de solución

Costo unitario coefic C(j)

Contribución total

Costos redu-cidos

Estado básico

1 XAB1 0 -820 0 -109,1 at bound2 XAB2 0 -820 0 -378,353 at bound3 XAB3 0 -820 0 -103,0999 at bound4 XAC1 0 -2.430,00 0 -1.957,05 at bound5 XAC2 0 -2.430,00 0 -2.229,40 at bound6 XAD1 0 -930 0 0 basic7 XAD3 0 -930 0 -12,615 at bound8 XAE1 0 -2.340,00 0 -950,882 at bound9 XAE2 0 -2.340,00 0 -1.008,85 at bound

10 XAE3 0 -2.430,00 0 -1.051,14 at bound11 XBB1 40.000,00 -370 -14.800.000,00 0 basic12 XBB2 0 -370 0 -363,3774 at bound13 XBB3 0 -370 0 0 basic14 XBC1 0 -990 0 -852,348 at bound15 XBC2 0 -990 0 -1.211,67 at bound16 XBD1 12.000,00 -580 -6.960.000,00 0 basic17 XBD3 0 -580 0 -16,82 at bound18 XBE1 0 1.870,00 0 -677,8426 at bound19 XBE2 0 -1.870,00 0 -748,0915 at bound20 XBE3 0 -1.870,00 0 -811,5201 at bound21 XCB1 0 -2.170,00 0 -1.377,21 at bound22 XCB2 0 -2.170,00 0 -1.630,81 at bound23 XBC3 0 -2.170,00 0 -1.300,80 at bound24 XCC1 20.000,00 -550 -11.000.000,00 0 basic25 XCC2 0 -550 0 -248,962 at bound26 XCD1 0 -1.160,00 0 -154,442 at bound27 XCD3 0 -1.160,00 0 -92,75 at bound28 XCE1 0 -1.480,00 0 0 basic29 XCE2 0 -1.480,00 0 0 basic30 XCE3 0 -1.480,00 0 0 basic31 Y1BD 0 -9.050,00 0 -325 at bound32 Y1CD 0 -9.440,00 0 -1.295,00 at bound33 Y1DD 0 -8.880,00 0 0 basic34 Y1ED 0 -10.205,00 0 -8.976,97 at bound35 Y2BD 0 -6.520,00 0 -318 at bound36 Y2CD 0 -6.910,00 0 -1.288,00 at bound

Page 97: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

95

Variables de decisión

Valor de solución

Costo unitario coefic C(j)

Contribución total

Costos redu-cidos

Estado básico

37 Y2ED 0 -7.680,00 0 -11.741,06 at bound38 Y3BD 0 -10.600,00 0 -652,0005 at bound39 Y3DD 0 -10.435,00 0 0 basic40 Y3ED 0 -11.765,00 0 -9.585,00 at bound41 Y1BE 3.200,00 -7.040,00 -22.528.000,00 0 basic42 Y1CE 1.240,00 -6.460,00 -8.010.400,00 0 basic43 Y1DE 960 -7.195,00 -6.907.200,00 0 basic44 Y1EE 0 -5.440,00 0 -5.896,97 at bound45 Y2BE 0 -5.510,00 0 0 basic46 Y2CE 0 -4.930,00 0 0 basic47 Y2EE 0 -3.915,00 0 -8.668,06 at bound48 Y3BE 0 -8.240,00 0 -804,5005 at bound49 Y3DE 0 -8.400,00 0 -477,4999 at bound50 Y3EE 0 -6.650,00 0 -6.982,50 at bound51 ADD 0 60.000,00 0 -6.810,00 at bound52 AED 1.160,00 58.535,00 67.900.600,00 0 basic53 ADE 0 55.385,00 0 -9.890.000 at bound54 AEE 1.000,00 57.000,00 57.000.000,00 0 basic55 UA 0 -1.500.000,00 0 -1.500.000,00 at bound56 UB 1 -2.000.000,00 -2.000.000,00 0 basic57 UC 1 -1.250.000,00 -1.250.000,00 -1.250.000,00 at bound58 WB 1 -3.000.000,00 -3.000.000,00 0 basic59 WC 1 -2.500.000,00 -2.500.000,00 0 basic60 WD 1 -4.800.000,00 -4.800.000,00 -4.800.000,00 at bound61 WE 0 -6.000.000,00 0 -6.000.000,00 at bound62 2D 0 -6.500.000,00 0 0 basic63 ZE 1 -8.000.000,00 -8.000.000,00 -8.000.000,00 at bound

Función Objetivo (Max.) = 33.145.000,00

de una sola variable. La ventaja en el aspecto de los cálculos es que optimiza-remos una sola variable, en vez de subproblemas de n variables. La principal contribución de la PD es el principio de optimalidad, un marco de referencia para descomponer el problema en etapas.

La programación dinámica es una técnica que se puede aplicar para resolver muchos problemas de optimización. La mayor parte de las veces la programa-ción dinámica obtiene soluciones con un avance en reversa, desde el final de un problema hacia el principio, con lo que un problema grande y engorroso se convierte en una serie de problemas más pequeños y más tratables.

Page 98: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

96

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

Naturaleza recursiva de los cálculos en la PDLos cálculos en la PD se hacen recursivamente, en el sentido de que la solución óptima de un subproblema se utiliza como una entrada para el siguiente subpro-blema. Para el momento en que se resuelva el último subproblema se tendrá a mano la solución óptima para todo el problema. La forma como se hacen los cálculos recursivos depende de la forma como se descomponga el problema original. En particular, los subproblemas por lo común se unen por medio de algunas restricciones comunes. A medida que se avanza de un subproblema a otro se debe dar razón de la variabilidad de estas restricciones.

Características de las aplicaciones de programación dinámicaA continuación se expone brevemente una explicación sobre cada una de las características comunes en la mayor parte de las aplicaciones de la programa-ción dinámica.

1. El problema se puede dividir en etapas; cada etapa requiere una decisión. En muchos problemas de programación dinámica la etapa es la cantidad de

Figura 29 Solución final del problema de la cadena de abastecimiento

Page 99: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

97

tiempo que pasa desde el inicio del problema. En ciertos casos no se nece-sitan decisiones en cada etapa.

2. Cada etapa tiene un número de estados asociados con ella. Por estado se entiende la información que se necesita en cualquier etapa para tomar una decisión óptima.

3. La decisión tomada en cualquier etapa indica cómo se transforma el estado en la etapa actual en el estado en la siguiente etapa. En muchos problemas, una decisión no determina con certeza el estado de la siguiente etapa; en lugar de ello, la decisión actual sólo determina la distribución de probabilidad del estado en la etapa siguiente.

4. Dado el estado actual, la decisión óptima para cada una de las etapas restantes no debe depender de estados previamente alcanzados o de decisiones previamente tomadas. Esta idea se conoce como principio de optimalidad.

5. Si los estados del problema se han clasificado en uno de T etapas, debe haber una fórmula recursiva que relacione el costo o recompensa durante las etapas con el costo o recompensa de las etapas. En esencia, la fórmula recursiva formaliza el procedimiento de marcha atrás.

Problema prácticoFinco tiene 6.000 dólares para invertir, y hay disponibles tres inversiones. Si se invierte dj dólares (en miles) en la inversión j(j=1, 2, 3), entonces se obtiene un valor presente neto, igual a rj(dj), donde la rj(dj), se define como sigue

r1(d1) = 7d1 + 2 (d1>0)r2(d2) = 3d2 + 7 (d1>0)r3(d3) = 4d3 + 5 (d3>0)

r1(0) = 0 r2(0) = 0, r3(0) = 0

La cantidad colocada en cada inversión debe ser un múltiplo exacto de 1.000 dólares. Para maximizar el valor presente neto que se obtiene en las inversiones, ¿cómo debe asignar Finco los 6.000 dólares?

SoluciónDado que el interés de cada inversión no es proporcional a la cantidad invertida, por ejemplo, r1(2)=16 mientras que 2r1(1)=18, entonces no es posible usar

Page 100: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

98

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

la programación lineal para determinar una solución óptima a este problema. Matemáticamente, se puede expresar el problema de Finco como sigue:

max r1(d1) + r2(d2) + r3(d3)sujeto a d1 + d2 + d3 = 6

dj entero no negativo (j = 1, 2, 3)

Para formular el problema de Finco como de programación dinámica se comien-za identificando la etapa. La etapa se debe escoger de tal modo que cuando quede una etapa el problema sea fácil de resolver. Entonces, en vista de que se ha resuelto el problema para el caso en el que queda una etapa, debe ser fácil resolverlo cuando queden dos etapas, y así sucesivamente. Es evidente que sería fácil resolver un problema en el cual sólo se dispusiera de una inversión, por lo que definiremos la etapa t como representativa de un caso en el que los fondos se deban asignar a las inversiones t, t + 1, ..., 3.

Para una etapa dada, ¿qué se debe conocer para determinar la cantidad óptima por invertir? Simplemente ¿cuánto dinero queda disponible para las inversiones t, t + 1, ..., 3? Así, se define el estado en cualquier etapa como la cantidad de dinero, en miles, disponible para inversiones t, t + 1, ..., 3. Como nunca se podrá tener más de 6.000 dólares disponibles, los estados disponibles en cualquier eta-pa son 0, 1, 2, 3, 4, 5 y 6. Se define ft (dt) como el valor presente neto máximo (VPN) que se puede obtener invirtiendo dt miles de dólares en las inversiones t, t + 1, ..., 3. También se define Xt(dt) como la cantidad que se debe invertir en t para alcanzar ft (dt).Se inicia avanzando hacia atrás y se calcula f3(0), f3(1), ... f3(6), y a continuación se determina f2(0), f2(1), ..., f2(6). Como se dispone de 6.000 dólares para invertir en 1, 2, 3, se terminan los cálculos al llegar f1(6). Entonces se vuelve sobre los pasos y se determina la cantidad que se debería asignar a cada inversión.

Cálculos de la etapa 3. Primero se determina f3(0), f3(1),...,f3(6).Se ve que f3(d3)se logra invirtiendo todo el dinero disponible (d3) en la inversión 3.

f3(0) = 0 X3(0) = 0f3(1) = 9 X3(1) = 1f3(2) = 13 X3(2) = 2f3(3) = 17 X3(3) = 3f3(4) = 21 X3(4) = 4f3(5) = 25 X3(5) = 5f3(6) = 29 X3(6) = 6

Page 101: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

99

Cálculos de la etapa 2. Para determinar f2(0), f2(1), ... , f2(6) se ven todas las can-tidades posibles que se puedan colocar en la inversión 2. Para determinar f2(d2), sea X2 la cantidad invertida en 2. Entonces, se obtendrá un VPN de r2(X2) de la inversión 2, y un VPN igual a f3(d2 ― X2) de la inversión 3. Se debe recordar el principio de optimalidad. Como X2 se debe escoger para maximizar el valor presente neto ganado con las inversiones 2 y 3 se escribe

f2(d2) = maxx2 r2(X2) + f3(d2 ― X2) (3)

En la que X2 debe ser elemento de 0, 1, ..., d2. Los cálculos para f2(0), f2(1), ... , f2(6) y X2(0), X2(1), ... , X2(6) se presentan en la tabla siguiente.

Tabla 3 Cálculos de la segunda etapa para el problema Finco

d2 X2 r2(X2) f3(d2-X2) VPN de inversiones 2 y 3

0 0 0 0 0

1 0 0 9 9

1 1 10 0 10*

2 0 0 13 13

2 1 10 9 19*

2 2 13 0 13

3 0 0 17 17

3 1 10 13 23*

3 2 13 9 22

3 3 16 0 16

4 0 0 21 21

4 1 10 17 27*

4 2 13 13 26

4 3 16 9 25

4 4 19 0 19

5 0 0 25 25

5 1 10 21 31*

5 2 13 17 30

5 3 16 13 29

5 4 19 9 28

5 5 22 0 22

Page 102: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

100

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

d2 X2 r2(X2) f3(d2-X2) VPN de inversiones 2 y 3

6 0 0 29 29

6 1 10 25 35*

6 2 13 21 34

6 3 16 17 33

6 4 19 13 32

6 5 22 9 31

6 6 25 0 25

Cálculos de la Etapa 1. Según la ecuación (3), se escribe

Tabla 4 Cálculos de la primera etapa para el problema Finco

d1 X1 r1(X1) f2(6-X1) VPN de inversiones 1 y 3

6 0 0 35 35

6 1 9 31 40

6 2 16 27 43

6 3 23 23 46

6 4 30 19 49*

6 5 37 10 47

6 6 44 0 44

Determinación de la asignación óptima de recursos. Como X1(6)* = 49, la ma-yor ganancia en la etapa 1, Finco invierte 4.000 dólares en la inversión 1; esto deja US$2.000 para las inversiones 2 y 3. Por lo tanto, se busca en la tabla la inversión de 2 en la etapa 2 con el mayor beneficio, que es X2(2)* = 19, 1.000 dólares en la inversión 2; por lo tanto, quedan US$1.000 para la inversión 3, X1(1) = 1. Luego, Finco puede alcanzar un valor presente máximo de 49.000 dólares invirtiendo US$4.000 en la inversión 1, US$1.000 dólares en la inversión 2 y, US$1.000 dólares en la inversión 3.

Representación en forma de red. Este problema tiene una representación como red, equivalente a determinar la ruta más larga de (1, 6) a (4, 0); por ejemplo, el arco que une los nodos (2, 4) y (3, 1) tiene una longitud r2(3) = 16.000 dólares, que corresponde a invertir 3.000 dólares en la inversión 2. Nótese que todos los pares de nodos en las etapas adyacentes están unidos con arcos. Por ejemplo,

f1(6) = maxx1 r1(x1) + f2(6 - x1)

Page 103: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

101

no hay un arco que una los nodos (2, 4) y (3, 5). Después de todo, si solo se tienen 4.000 dólares disponibles para invertir en 2 y 3, ¿cómo es posible tener 5.000 dólares para la inversión 3? Según los cálculos, la ruta más larga desde (1, 6) a (4, 0) es la (1, 6) ― (2, 2) ― (3, 1) ― (4,0), como se ilustra en la Figura 30.

Solución con WinQSBNExiste en la aplicación WinQSB un módulo para problemas de programación dinámica que funciona de forma similar al módulo presentado en la solución del problema anterior.

Para este problema se debe seleccionar el módulo Programación Diná-mica (Dinamic Programming: DP), el cual despliega la ventana que se muestra en la Figura 31.

El programa cuenta con una barra de herramientas que ayuda de forma significativa la selección de las opciones más usadas.

Figura 30 Representación gráfica del problema de la inversión de Finco

Page 104: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

102

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

El primer botón permite la creación de un nuevo problema; el segundo abre un problema existente, y el tercero permite salir del programa.

En el centro de la ventana se encuentra un espacio vacío que se conoce como zona de trabajo, donde se procederá a alimentar con información el programa.

La opción Nuevo Problema (New Problem) genera una plantilla en la cual se introducirán las características de nuestro problema (Ver Figura 32).

De los tres tipos de problemas se selecciona Ruta más Corta en Problema de la Diligencia [Stagecoah (ShortestRoute) Problem], con el título del problema y el número de nodos, de acuerdo con el diagrama de red de la Figura 30.

Al hacer clic en el botón OK se despliega una hoja de cálculo que permite la entrada de las “distancias” entre los nodos. Al igual que en el módulo de LP-IPL se pueden modificar los nombres de los nodos accediendo al submenú Nombre de los nodos (Node Names) del menú Editar (Edit).

Figura 31 Ventana para iniciar un problema de DP en WinQSB

Page 105: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

103

Es de aclarar que el tipo de problema Ruta más corta del módulo de programa-ción dinámica del WinQSB resuelve problemas que se pueden modelar con una red o grafo, que tiene como objetivo minimizar el trayecto entre un nodo inicial y un nodo final. Dado que el problema de las inversiones de Finco pre-tende maximizar la ruta entre el nodo (1,6) y el nodo (4,0), lo que corresponde al objetivo del problema de maximizar los intereses de las tres inversiones, se deben ingresar las “distancias” entre los nodos factibles con números negativos (Ver Tabla 5), con el fin de que el módulo minimice, lo que correspondería a una maximización en valor absoluto.

Tabla 5 Edición de los “distancias” del problema Finco

Shortest Path Problem FINCOFrom\To (1,6) (2,6) (2,5) (2,4) (2,3) (2,2) (2,1) (2,0) (3,6) (3,5) (3,4) (3,3) (3,2) (3,1) (3,0) (4,0)

(1,6) -9 -16 -23 -30 -37 -44(2,6) -10 -13 -16 -19 -22 -25(2,5) -10 -13 -16 -19 -22(2,4) -10 -13 -16 -19(2,3) -10 -13 -16(2,2) -10 -13(2,1) -10(2,0)(3,6) -29(3,5) -25

Figura 32

Especificaciones del problema Finco

Page 106: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

104

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

Shortest Path Problem FINCOFrom\To (1,6) (2,6) (2,5) (2,4) (2,3) (2,2) (2,1) (2,0) (3,6) (3,5) (3,4) (3,3) (3,2) (3,1) (3,0) (4,0)

(3,4) -21(3,3) -17(3,2) -13(3,1) -9(3,0)(4,0)

Cuando haya terminado de ingresar el modelo en la plantilla, se podrá Resolver el Problema (Solve the Problem), opción que se encuentra en las herramientas que provee el menú Resolver y Analizar (Solve and Analyze).

La solución del problema que arroja la aplicación WinQSB se muestra en la Tabla 6, en la cual se puede observar la ruta (1,6) ― (2,2) ― (3,1) ― (4,0) con una “distancia” máxima de |―49| = 49, lo que debe interpretarse como el máximo interés conseguido en las tres inversiones de Finco y que satisface además las condiciones del problema

Tabla 6 Solución del problema Finco con WinQSB

Programación lineal multiobjetivoEn la búsqueda de soluciones a problemas del mundo real puede ser necesario satisfacer de manera simultánea múltiples objetivos, los cuales pueden ser contradictorios entre sí (Fernández & Baran, 2005). A fin de simplificar su solución, muchos de estos problemas tienden a modelarse como mono-objetivo usando sólo una de las funciones originales y manejando las adicionales como restricciones (Coello, 1999).

En los problemas de optimización multiobjetivo con objetivos contradictorios no existe una solución única que pueda ser considerada la mejor, sino un conjunto de éstas que representan los mejores compromisos entre los objetivos, en el sentido de que cada una es mejor que las otras en algún objetivo, pero ninguna

Page 107: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

105

es mejor que otra en todos los objetivos simultáneamente. Dicho conjunto es llamado conjunto de soluciones de Pareto óptimas, y sus correspondientes vectores en el espacio objetivo constituyen el denominado frente o frontera de Pareto (Fernández & Baran, 2005).

La toma de decisiones multicriterio ha desarrollado una personalidad propia que utiliza una terminología específica que incluye conceptos nuevos, algunos de los cuales se describen a continuación:

Alternativas: Posibles soluciones o acciones a tomar por el decisor.

Atributos: Características que describen cada una de las alternativas disponibles; pueden ser cuantitativas (atributos objetivos) o cualitativas (atributos subje-tivos). Cada alternativa puede ser caracterizada por un número de atributos (escogidos por el decisor).

Objetivos: Los objetivos son aspiraciones que indican direcciones de perfec-cionamiento de los atributos seleccionados; están asociados con los deseos y preferencias del decisor.

Metas: Aspiraciones que especifican niveles de deseos de los atributos.

Criterios: Los criterios son los parámetros, directrices y puntos de referencia que van a permitir evaluar las opciones o alternativas que se presenten en el proceso de decisión.

Los métodos de evaluación y decisión multicriterio comprenden la selección entre un conjunto de alternativas factibles, la optimización con varias funcio-nes objetivo simultáneas, un agente decisor y procedimientos de evaluación racionales y consistentes.

Sus principios se derivan de la Teoría de Matrices, la Teoría de Grafos, la Teo-ría de las Organizaciones, la Teoría de la Medida, la Teoría de las Decisiones Colectivas, la investigación de operaciones y de Economía.

Los métodos de evaluación y decisión multicriterio sirven para hallar solucio-nes posibles, pero no necesariamente óptimas. En función de las preferencias del decisor y de objetivos predefinidos (usualmente conflictivos), el problema central de los métodos multicriterio consiste en:

1. Seleccionar la(s) mejor(es) alternativa(s).

Page 108: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

106

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

2. Aceptar alternativas que parecen “buenas” y rechazar aquellas que parecen “malas”.

3. Generar una “ordenación” (ranking) de las alternativas consideradas (de la “mejor” a la “peor”). Para ello han surgido diversos enfoques, métodos y soluciones.

Cuando la función objetivo toma un número infinito de valores distintos, que conducen a un número infinito de alternativas posibles del problema, se llama Decisión Multiobjetivo. Aquellos problemas en los que las alternativas de decisión son finitas se denominan problemas de Decisión Multicriterio Discreta (Mathur y Solow, 1996). Estos problemas son los más comunes en la realidad y se consideran en este apartado. Los métodos de decisión multicriterio discreta se utilizan para realizar una evaluación y decisión respecto de problemas que por naturaleza o diseño admiten un número finito de alternativas de solución, a través de:

1. Un conjunto de alternativas estable, generalmente finito (soluciones factibles que cumplen con las restricciones posibles o previsibles); se supone que cada una de ellas es perfectamente identificada, aunque no son necesariamente conocidas en forma exacta y completa todas sus consecuencias cuantitativas y cualitativas.

2. Una familia de criterios de evaluación (atributos, objetivos) que permiten evaluar cada una de las alternativas (analizar sus consecuencias), conforme a los pesos (o ponderaciones) asignados por el agente decisor y que reflejan la importancia (preferencia) relativa de cada criterio.

3. Una matriz de decisión o de impactos que resume la evaluación de cada alternativa conforme a cada criterio; una valoración (precisa o subjetiva) de cada una de las soluciones a la luz de cada uno de los criterios. La escala de medida de las evaluaciones puede ser cuantitativa o cualitativa, y las medidas pueden expresarse en escalas cardinal (razón o intervalo), ordinal, nominal y probabilística.

4. Una metodología o modelo de agregación de preferencias en una síntesis global; ordenación, clasificación, partición o jerarquización de dichos juicios para determinar la solución que globalmente recibe las mejores evaluaciones.

5. Un proceso de toma de decisiones (contexto de análisis) en el cual se lleva a cabo una negociación consensual entre los actores o interesados (analista experto, decisor y usuario).

Page 109: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

107

Los principales métodos de evaluación y decisión multicriterio discreto son: Pon-deración Lineal (scoring), Utilidad multiatributo (MAUT), Relaciones de superación y el Proceso de Análisis Jerárquico (AHP –The Analytic Hierarchy Process – Proceso Analítico Jerárquico). En el problema práctico que se muestra a continuación como ilustración del método de programación lineal multiobjetivo se recurre además, con el fin de tomar una mejor decisión, al método de ponderación lineal.

Problema práctico (Hágalo o cómprelo)La compañía produce tres tamaños de tubos: A, B y C, que son vendidos, respectivamente, en $10, $12 y $9 por pie. Para fabricar cada pie del tubo A se precisan 0.5 minutos de procesamiento sobre un tipo particular de máquina de modelado. Cada pie del tubo B requiere 0.45 minutos, y cada pie del tubo C, 0.6 minutos. Después de la producción, cada pie de tubo, sin importar el tipo, consume 1 onza de material de soldar. El costo total se estima en $3, $4 y $4 por pie de los tubos A, B y C, respectivamente. Para la siguiente semana la compañía ha recibido pedidos excepcionalmente grandes de sus clientes, que totalizan 2.000 pies de tubo A, 4.000 pies de tubo B y 5.000 pies del tubo C. Como sólo se dispone de 40 h del tiempo de máquina esta semana y solo se tienen en inventario 5.500 onzas de material de soldar, el departamento de producción no podrá satisfacer la demanda pues esta requiere de 11.000 onzas de material para soldar y más tiempo de producción. No se espera que continúe este alto nivel de demanda. En vez de expandir la capacidad de las instalaciones de producción, la gerencia está considerando la compra de algunos de estos tubos a proveedores de Japón a un costo de entrega de $6 por pie del tubo A, $6 por pie del tubo B y $7 por pie del tubo C. Como gerente del departamento de producción, se le ha pedido hacer recomendaciones respecto de la cantidad de producción de cada tipo de tubo y la cantidad de compra a Japón para satis-facer la demanda, maximizar las ganancias de la compañía y minimizar el costo total de la importación, suponiendo que se han trazado como meta alcanzar una ganancia de $55.000 y, además, una meta de costo de importación de $40.000.

SoluciónEn la solución de todo problema de optimización es conveniente organizar los datos del problema en una tabla, de tal forma que se visualice de una sola mirada toda la información necesaria. Los datos del enunciado del problema a resolver se presentan en la Tabla 7.

Page 110: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

108

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

Tabla 7 Datos del problema Hágalo o Cómprelo

Tipo de tubo

Precio de venta ($/

pie)

Demanda (pies)

Tiempo de máquina (min/pie)

Material de soldadura (oz/pie)

Costo de producción

($/pie)

Costo de adquisición

($/pie)A 10 2.000 0,50 1 3 6B 12 4.000 0,45 1 4 6C 9 5.000 0,60 1 4 7

Cantidades disponibles 40 horas 5.500 oz

La solución de este problema se puede abordar desde tres enfoques:

1. Un problema de programación lineal con el objetivo de maximizar la ga-nancia.

2. Un problema de programación lineal con el objetivo de minimizar el costo total de importación.

3. Un problema de programación lineal multiobjetivo en el que se busca equilibrar los resultados de los dos objetivos propuestos a través de la pro-gramación por metas y penalizaciones.

Para las dos primeras situaciones es necesario modelar el problema desde el punto de vista de la programación lineal mono-objetivo. En la tercera situación se debe modificar el modelo matemático, identificando:

– Una meta, en la forma de un valor objetivo numérico específico que el decisor desea que esa meta logre; y

– Una penalización, en la forma de un valor para cada unidad que el objetivo se encuentre por debajo de la meta si el objetivo es maximizar, o por encima de la meta si el objetivo es minimizar.

Se presenta ahora el modelo matemático que plantea el problema, para los dos primeros enfoques:

Variables de decisiónPor producción semanal

AP = número de pies de Tubo ABP = número de pies de Tubo B

Page 111: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

109

CP = número de pies de Tubo C

Por importación semanal

AJ = número de pies de Tubo ABJ = número de pies de Tubo BCJ = número de pies de Tubo C

Funciones objetivoMax. Ganancia: 7AP + 8BP + 5CP + 4AJ + 6BJ + 2CJ

Min. Costos de importación: 6AJ + 6BJ + 7CJ

Sujetas a las restricciones deDemanda:

Tubo tipo A AP + AJ = 2.000

Tubo tipo B BP + BJ = 4.000

Tubo tipo C CP + CJ = 5.000

Recursos:

Tiempo de máquina 0,5AP + 0,45BP + 0,6CP ≤ 2.400

Material de soldadura AP + BP + CP ≤ 5.500

Lógicas Todas las variables deben ser no negativas (o ≥ 0)

Este modelo matemático se puede editar en el módulo de Programación Lineal por Metas (GP – IGP) del software WinQSB, para obtener su solución. El trabajo con este módulo es muy similar al módulo de Programación Lineal (LP – IPL). Se inicia con una ventana en la que se editan las especificaciones del problema, es decir, el nombre del problema, la cantidad de funciones objetivo (o metas), el número de variables y de restricciones, el criterio del objetivo (maximizar o minimizar), la forma de entrar los datos o el modelo y el tipo de variable, como se muestra en la Figura 33, correspondiente al problema que se está resolviendo:

Una vez más, se termina pulsando el botón OK con el fin de permitir la entrada del modelo en la matriz a manera de hoja de cálculo, en la cual se distinguen

Page 112: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

110

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

por defecto las variables X1, …, X6, las metas o funciones objetivo G1 y G2, y las restricciones C1, …, C5. Recuerde que estos nombres se pueden modificar adap-tándolos a los que se han dado en el modelo del problema, utilizando para ello el menú Editar (Edit). Las modificaciones y los datos de entrada se muestran en la Figura 34:

Figura 33 Especificaciones del Problema Hágalo o Cómprelo

Figura 34 Modelo del problema Hágalo o Cómprelo en el módulo GP-IGP

de WinQSB, con priorización de la Ganancia

Page 113: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

111

Se hace notar que la función objetivo (o meta) “maximizar la ganancia” se editó de primero, dado que el módulo GP-IGP le da mayor importancia a la función objetivo que se encuentra en la primera línea. De manera similar se debe editar de nuevo el problema cuando se quiere priorizar la función objetivo (o meta) “Costo total de importación” (ver Figura 35).

Cuando haya terminado de ingresar el modelo en la plantilla podrá utilizar las herramientas que provee el menú Resolver y Analizar (Solve and Analyze), de forma análoga a lo presentado en el problema de la cadena de abastecimiento.

Se selecciona la primera opción del menú Resolver y Analizar (Solve and Analyze), donde se mostrará una pequeña ventana con el mensaje “El problema ha sido resuelto. La solución óptima ha sido lograda”.

Se pulsa el botón Aceptar y automáticamente el programa generará la solución óptima, a través de una tabla que presenta las soluciones para cada una de las variables de decisión y los valores correspondientes a cada una de las restricciones en su lado izquierdo, comparándolo con los correspondientes valores fijos del lado derecho RHS (Ver Tabla 8 y 9).

El conflicto entre dos objetivos se ilustra en el resultado de computación ob-tenido con el programa WinQSB en la Tablas 8 y 9. La solución óptima en la Tabla 8 es para el programa lineal en el cual el objetivo prioritario es maximizar la ganancia ignorando el costo de las importaciones. De acuerdo con esto, MTV Steel deberá producir 2.000 pies de tubo Tipo A y 2.333,33 pies de tubo Tipo C, mientras que deberá importar del Japón 4.000 pies de tubo Tipo B y 2.666,67

Figura 35 Modelo del problema Hágalo o Cómprelo en el módulo GP-IGP de WinQSB, con priorización del Costo Total de Importación

Page 114: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

112

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

Tabla 8 Valores de las variables y las restricciones en la solución del problema

Hágalo o Cómprelo con priorización de la Ganancia

Tabla 9 Valores de las variables y las restricciones en la solución del problema Hágalo o Cómprelo con priorización del Costo Total de Importación

Page 115: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

113

pies de tubo Tipo C, con el fin de obtener una ganancia máxima de $55.000. Se puede calcular el costo total de importación correspondiente a estas cantidades de la manera siguiente:

Costo de importaciones = 6AJ + 6BJ + 7CJ

= (6 · 0) + (6 · 4.000) + (7 · 2.666,67)

= $42.666,67

Por el contrario, el resultado de la Tabla 9 es la solución del programa lineal en el cual el objetivo prioritario es minimizar el costo de las importaciones ignorando la ganancia. Para obtener un costo mínimo igual a $39.800, la compañía deberá producir 1.200 pies de tubo Tipo A y 4.000 pies de tubo Tipo B, mientras que deberá importar del Japón 800 pies de tubo Tipo A y 5.000 pies de tubo Tipo C. La ganancia total, a partir de estas cantidades de tubo, se puede calcular así:

Ganancia = 7AP + 8BP + 5CP + 4AJ + 6BJ + 2CJ

= (7 · 1.200) + (8 · 4.000) + (5 · 0) + (4 · 800) + (6 · 0) + (2 · 5.000)

= $53.600

Recordando ahora el tercer enfoque para la solución de este problema, se deben establecer las metas y las penalizaciones que permitan lograr un equilibrio entre los dos objetivos a optimizar y que se encuentran en conflicto.

Las metas son los valores que los tomadores de decisiones, idealmente, desearían lograr para cada objetivo. En el caso de la compañía MTV Steel, el director ejecutivo, sabiendo que la ganancia máxima posible es de $55.000, conforme al resultado de la Figura 32, puede elegir este valor como el objetivo que refleje la meta de lograr la ganancia más alta posible. Y conociendo que el costo mínimo posible de las importaciones, según el resultado del Figura 33, es de $39.800, puede escoger este valor o algún otro como la segunda meta. Por ejemplo, el director ejecutivo puede estar igualmente satisfecho si se hace un intento de lograr un costo de importaciones de $40.000. Esta meta de $40.000 puede ser violada si hacerlo da como resultado un aumento significativo de la ganancia.

Las penalizaciones, a su vez, reflejan la importancia relativa para los tomadores de decisiones de no cumplir las metas de cada objetivo. Un valor más alto de una penalidad indica que el cumplir con la meta tiene una mayor prioridad. Para la ganancia, si se alcanza o excede la meta de $55.000, entonces no hay penalización. Sin embargo, si no se logra la meta de ganancias de $55.000 deberá

Page 116: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

114

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

haber penalización, y cuanto más alejado se encuentre de lograr la meta, más alta será la penalización total. Las penalizaciones pueden aumentar ya sea de manera lineal o de manera no lineal. Para el caso de la solución del problema Hágalo o Cómprelo se considerarán solamente funciones de penalizaciones lineales.

Para cada objetivo se debe escoger un solo valor numérico para indicar la pe-nalización por unidad (un dólar en este caso) por no haber logrado la meta. Las penalizaciones se escogen de modo que reflejen la desventaja relativa entre los objetivos, de acuerdo con la preferencia de los tomadores de decisiones. Si el director ejecutivo de MTV Steel siente que es dos veces más importante lograr el objetivo de $55.000 en la ganancia que el objetivo de $40.000 en el costo de las importaciones, entonces se deberán asignar las siguientes penalizaciones:

Penalización de ganancia = 2 por cada dólar de ganancia que esté por debajo de $55.000

Penalización de importación = 1 por cada dólar de importación que esté por encima de $40.000

Con estas anotaciones introductorias al manejo del equilibrio de los objetivos a través de metas y penalizaciones, se debe establecer el nuevo modelo de pro-gramación lineal que involucre estas consideraciones:

Variables de decisiónPor producción semanal

AP = número de pies de Tubo ABP = número de pies de Tubo BCP = número de pies de Tubo C

Por importación semanal

AJ = número de pies de Tubo ABJ = número de pies de Tubo BCJ = número de pies de Tubo C

Debido a que hay dos objetivos, también se necesitan las siguientes cuatro variables de decisión:

P+ = cantidad de dólares en que se excede la ganancia meta de $55.000P― = cantidad de dólares que faltan para la ganancia meta de $55.000

I+ = cantidad de dólares que faltan para que las importaciones alcancen la meta de $55.000I- = cantidad de dólares que faltan para que las importaciones alcancen la meta de $55.000

Page 117: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

115

Funciones objetivoMinimizar la penalización total: 2P ― + 1I+

Sujetas a las restricciones de

Demanda:

Tubo tipo A AP + AJ = 2.000Tubo tipo B BP + BJ = 4.000Tubo tipo C CP + CJ = 5.000

Recursos

Tiempo de máquina 0,5AP + 0,45BP + 0,6CP ≤ 2.400

Material de soldadura AP + BP + CP ≤ 5.500

Metas

De Ganancia 7AP + 8BP + 5CP + 4AJ + 6BJ + 2CJ ― P+ + P― = 55.000

De Importación 6AJ + 6BJ + 7CJ ― I+ + I― = 40.000

Lógicas Todas las variables deben ser no negativas (o ≥ 0)

Una vez formulado el programa lineal para el problema se puede hacer uso del módulo de Programación Lineal (LP-IPL) de la aplicación WinQSB, de la misma manera que se utilizó en el problema práctico de la cadena de abastecimiento para la explotación y transformación de bauxita. En la Figura 36 se muestra la edición del modelo en la hoja de cálculo de módulo LP-IPL

Luego, resolviendo el problema se obtienen los resultados que se muestran en la Tabla 10.

Figura 36 Edición del modelo matemático del problema

Cómprelo o Hágalo, planteado para el método por metas

Page 118: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

116

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

Tabla 10 Valores para las variables de decisión y las restricciones en la solución

del problema Hágalo o Cómprelo, resuelto por metas

De este informe se puede observar que el plan de producción/importación óptimo es:

Producir: 2.000 pies de tubo Tipo A y 3.111,11 pies del tubo Tipo BImportar: 888,9 pies de tubo Tipo B y 5.000 pies del tubo Tipo C

En términos de las metas, el valor de 777,78 para P- indica que la meta de ganan-cia de $55.000 no se cumple por $777,78. Asimismo, el valor de I+ es de $333,33, de modo que la meta de importación de $40.000 se excede en $333,33. En otras palabras, el plan de producción/importación anterior tiene como resultado una ganancia de $54.222,22 y un costo total de importación de $40.333,33.

Esta solución es diferente de las soluciones representadas en las Figuras 32 y 33, en las que solamente se toma en cuenta uno de los dos objetivos. Las tres soluciones se resumen en la Tabla 11.

Page 119: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 3 - Métodos determinísticos en la Investigación de operaciones

117

Tabla 11 Resumen de los resultados de las tres soluciones del problema

Hágalo o Cómprelo

Programas lineales de un solo objetivo

Programa de metas

Maximizar ganancia

Minimizar importaciones

Minimizar penalización

Producir

Tipo A 2.000,00 1.200,00 2.000,00

Tipo B 0,00 4.000,00 3.111,11

Tipo C 2.333,33 0,00 0,00

Importar

Tipo A 0,00 800,00 0,00

Tipo B 4.000,00 0,00 888,89

Tipo C 2.666,67 5.000,00 5.000,00

Ganancia 55.000,00 53.600,00 54.222,22

Costo de importación 42.666,69 39.800,00 40.333,33

Page 120: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución
Page 121: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 4 - Optimización combinatoria

119

Capítulo 4Optimización combinatoria

“La matemática es el alfabeto con que Dios escribió el mundo”

Galileo Galilei

Este capítulo consta de unas explicaciones sobre optimización combinatoria. La sección 1 comienza exponiendo el concepto de combinatoria, y finaliza con un problema, que se resuelve con un programa de computador. En las secciones 2 y 3 se formulan problemas y se introducen esquemas y conceptos útiles para su planteamiento y resolución. Finalmente, en la sección 4 se exponen algunas de las últimas técnicas que se están utilizando en la solución de los problemas de la optimización combinatoria, llamadas metaheurísticas.

¿Qué es la combinatoria?Contestar con precisión a esta pregunta es difícil y arriesgado. Como en toda definición matemática, la precisión está reñida con una visión amplia de los hechos. No obstante, se intenta dar una respuesta amplia y versátil a la cuestión formulada. Para ello se plantean algunas situaciones que generan problemas combinatorios:

– Un tablero de ajedrez consta de 64 casillas, en las que se colocan, inicial-mente, las treinta y dos piezas que se utilizan en el juego.

– Un excursionista quiere llenar su mochila de la forma más eficaz, aunque en ella no le quepan todos los objetos que desearía llevar. Decidir cuáles llevar es un ejemplo de optimización combinatoria.

Page 122: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

120

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

– Un escritor trata de colocar en orden las distintas palabras de un enunciado.

– Una empresa necesita ejecutar una serie de tareas. Cada persona puede realizar una parte de las tareas, con un costo determinado. El objetivo de la empresa es contratar un conjunto de personas que le resuelvan todas las tareas a mínimo costo.

– Un vendedor desea realizar un viaje, comenzando y acabando en la mis-ma ciudad, visitando un conjunto de lugares con el mínimo consumo de recursos.

Dos clases de elementos son comunes a todas las situaciones propuestas:

1. Un conjunto de objetos, casos, palabras, etc., que se han de colocar en distintas posiciones;

2. Una familia de lugares en los que se deben colocar dichos objetos.

Cada colocación de objetos en sus lugares se denomina una configuración. La combinatoria se dedica al estudio de las configuraciones. Un problema de optimi-zación combinatoria es la búsqueda de la mejor configuración. La cons trucción de una o más funciones de valor sobre el espacio de las configuraciones permite ordenar éstas para saber cuál es la mejor.

Un problema de optimización combinatoria es mono-objetivo cuando sobre el espacio de configuraciones se construye una sola función de valor; y multiobje-tivo cuando es necesaria más de una función. Aunque por la finitud, en teoría, estos problemas no ofrecen dificultad para su resolución, en la práctica suele faltar tiempo para encontrar la solución; por ello, se necesitan otros métodos para resolver estos problemas y para ello son imprescindibles los computadores. Como paradigma se plantea un problema combinatorio que se resuelve con facilidad con un programa de ordenador.

Problema de dibujoSea un cuadrado de dimensión 8x8. Se dispone de rectángulos de dimensiones

1x1, 1x2, 1x3, 1x5, 1x8, 2x2, 2x3, 2x5, 2x8, 3x3, 3x5, 3x8, 5x5, 5x8, 8x8

El objetivo es rellenar el rectángulo 8x8 con rectángulos elegidos de la anterior lista de tal forma que recubran el rectángulo 8x8 sin que se intercepten los rectángulos seleccionados.

Page 123: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 4 - Optimización combinatoria

121

El número de rectángulos necesarios para obtener una solución puede variar desde 1 hasta 64. Para resolver el problema se describen los elementos esencia-les de un programa de ordenador. Se hace variar un índice desde 1 hasta 64. Para cada valor del índice se toman, con reposición, todos los subconjuntos de rectángulos de la lista, de tal forma que la suma de sus áreas sea igual a 64. Se los ordena de todas las formas posibles, teniendo en cuenta que las dimensiones de los rectángulos pueden ir en cualquier orden. Para cada una de dichas orde-naciones se comprueba si se puede recubrir el cuadrado o cuadro de dimensión 8x8, procediendo del modo siguiente:

1. El cuadro 8x8 se cuelga de una pared.

2. Los rectángulos de la lista se colocan sobre el cuadro, siguiendo el orden lexicográfico de las dos coordenadas del cuadro, teniendo en cuenta que la primera coordenada mide de izquierda a derecha y la segunda de arriba abajo.

3. Si algún rectángulo no se puede colocar sobre el cuadro, entonces la lista no es solución, mientras que si se logra colocar todos los de la lista, se consigue un dibujo.

4. La solución del problema es la lista de todos estos dibujos.

Problemas de optimización combinatoria: esquemas para su planteamientoSe comienza este apartado con el enunciado de algunos ejemplos:

Problema del excursionista

Un excursionista dispone de una mochila con una capacidad de C = 65 unidades y de un conjunto de 10 objetos, con capacidades respectivas de (8, 6, 7, 5, 10, 12, 11, 14, 13, 9), con valores de (9, 7, 8, 6, 11, 14, 11, 14, 12, 8). Son soluciones válidas para la mochila, entre otras, las formadas por los objetos números (1, 2, 3, 4, 10, 5, 6) y (4, 5, 6, 7, 8, 9), soluciones que se forman con los objetos de menor capacidad y, salvo el objeto número 4, con los de mayor capacidad.

Page 124: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

122

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

Problema de coordinación-recubrimientoSe supone que una empresa tiene que ejecutar 6 tareas, denotadas por 1, 2, 3, 4, 5 y 6. Se puede disponer de 8 personas, cada una de las cuales puede realizar las tareas que se indican.

P1 = (3,5); P2 = (1,4); P3 = (2,5); P4 = (4,5,6)P5 = (1,3); P6 = (6); P7 = (1,2) y P8 = (3,4,6).

Los salarios, en millones de pesos, que desean obtener estas personas son, res-pectivamente, de (7, 6, 8, 12, 5, 9, 6, 8). La empresa desea contratar a aquellas personas que, siendo las más económicas, ejecuten todas las tareas.

El problema se llama de recubrimiento porque se trata de recubrir las seis tareas, mediante los subconjuntos de tareas que puede realizar cada uno de los opera-rios; y de coordinación, porque hay que decir qué tareas deben ser realizadas por cada trabajador de los contratados.

Problema del viajanteEl problema del viajante (también conocido como problema del viajante de comercio o por sus siglas en inglés TSP: Travelling Salesman Problem), es uno de los pro-blemas más famosos (y quizás el más estudiado) en el campo de la optimización combinatoria computacional. A pesar de la aparente sencillez de su planteamiento, el TSP es uno de los más complejos de resolver y existen demostraciones que equiparan la complejidad de su solución a la de otros problemas aparentemente mucho más complejos que han retado a los matemáticos desde hace siglos.

Sean n ciudades de un territorio. El objetivo es encontrar una ruta que, comen-zando y terminando en una ciudad concreta, pase una sola vez por cada una de las ciudades y minimice la distancia recorrida por el viajante

La solución más directa es la que aplica la fuerza bruta: evaluar todas las posi-bles combinaciones de recorridos y quedarse con aquella cuyo trazado utiliza la menor distancia. El problema reside en el número de posibles combinaciones, que viene dado por el factorial del número de ciudades ( (n―1)!

2, equivalente al

espacio de búsqueda) y esto hace que la solución por la fuerza bruta sea imprac-ticable para valores de n, incluso moderados, con los medios computacionales actualmente a nuestro alcance. Por ejemplo, si un ordenador fuese capaz de calcular la longitud de cada combinación en un microsegundo, tardaría algo más 3 segundos en resolver el problema para 10 ciudades, algo más de medio

Page 125: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 4 - Optimización combinatoria

123

minuto en resolver el problema para 11 ciudades y 77.147 años en resolver el problema para sólo 20 ciudades.

Se puede demostrar que el requerimiento de volver a la ciudad de partida no cambia la computacional del problema, aunque sí el resultado final, es decir, puede suponer un recorrido muy distinto y una distancia también muy distinta.

Los problemas previos se caracterizan porque sus soluciones son subconjuntos de un conjunto. En estos casos, se dice que las soluciones forman un hipergrafo.

Un hipergrafo H es un par (V, ℜ), donde V es finito; se llama vértices del hiper-grafo a sus elementos y cada elemento de ℜ es un subconjunto de V. Si para cada B ∈ ℜ, se verifica que para todo D ⊂ B es D ∈ ℜ, entonces el hipergrafo se denomina hereditario. Las soluciones del problema del excursionista forman un hipergrafo hereditario. Si para todo B ∈ ℜ y para todo D tal que B ⊂ D se verifi-ca que D ∈ ℜ, entonces el hipergrafo se denomina donador. Las soluciones del problema de coordinación-recubrimiento tienen estructura de hipergrafo donador. El hipergrafo H se denomina una matroide cuando es hereditario y, además, si D y B son subconjuntos maximales ℜ, Car(B) = Car(D), y para todo e ∈ B, existe

u ∈ D de tal forma que (B - e)⋃ u) ∈ ℜ. Las matroides deben su nombre a los subconjuntos de vectores independientes de un espacio vectorial de dimensión finita, que tienen esta estructura. Las bases de dicho espacio vectorial son los subconjuntos maximales de ℜ. Por esta razón, a los elementos maximales de una matroide se les llama bases. La estructura de matroide facilita la resolu-ción rápida de algunos problemas de optimización combinatoria (Nemhauser y Wolsey, 1999).

Muchos problemas de optimización combinatoria se formulan por un hipergrafo H = (V, ℜ) y una (o más) función de valor f: ℜ → ℝ+ (ℝ )k+ . Con frecuencia, la función de valor f es lineal; esto es:

f(B) = Ʃ𝑣j∈B

g(𝑣j)

donde g es una función de valor numérico definida sobre los elementos de V. En este caso se dice que f es lineal.

Suponiendo que Car(V) = n y que los elementos V de están ordenados,

V = 𝑣1, 𝑣2, 𝑣3, ... , 𝑣n,

Page 126: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

124

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

entonces cada elemento B de ℜ se puede codificar por su vector indicador I(B), donde Ij(B) = 1 si Vj ∈ B y 0 en otro caso. Por tanto I(B) ∈ ℝn.

Se denota por ℑ = I(B)B ∈ ℜ y por EC(ℑ) el poliedro formado por la envoltura convexa de ℑ. En las figuras geométricas de los poliedros se encuentra la relación de la combinatoria con la geometría. Es claro que cuando la función objetivo f es lineal alcanza su máximo valor en un punto extremo del politopo EC(ℑ). Ahora bien, el politopo EC(ℑ) no está puesto en una codificación adecuada para poder aplicar la programación lineal. Para ello es necesario codificar dicho poliedro como intersección de semiespacios:

EC(ℑ) = x ∈ ℝnP · x ≤ b

Caracterizar el poliedro por desigualdades lineales suele ser un problema difícil. De hecho, está sin resolver para la mayoría de los problemas combinatorios. En la práctica, se suele partir de una intersección de semiespacios que contiene inicialmente al politopo EC(ℑ); esto es:

EC(ℑ) = x ∈ ℝnA · x ≤ b

En este caso se tiene una relajación del poliedro original. Cuando se trabaja con desigualdades lineales se está en términos algebraicos.

Una desigualdad lineal Cj ·x ≤ dj es válida para el poliedro EC(ℑ) si y sólo si se verifica que cj · I(B) ≤ dj, para todo B ∈ ℜ, donde I(B) es el indicador de B. La desigualdad cj · x ≤ dj es una cara de EC(ℑ) cuando existe, al menos, un B ∈ ℜ, tal que cj · I(B) = dj y es una faceta cuando existen n vectores indicadores, linealmente independientes, I(Bs), Bs ∈ ℜ, tales que cj · I(B) = dj para s = 1, 2, ..., n. En todo caso, si

EC(ℑ) ⊂ x ∈ ℝnA1 · x ≤ b1

la desigualdad válida cj · x ≤ dj es un corte cuando existe

y ∈ x ∈ ℝnA1 · x ≤ b1

tal que cj · y > dj. Al añadir un corte a las restricciones se tiene:

EC(ℑ) ⊂ x ∈ ℝncj · x ≤ dj; A1 · x ≤ b1 = x ∈ ℝnA2 · x ≤ b2 ⊂ x ∈ ℝnA1 · x ≤ b1

Caracterizar un poliedro EC(ℑ) es encontrar un conjunto de facetas tales que

EC(3) = x ∈ ℝnF · x ≤ f

Page 127: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 4 - Optimización combinatoria

125

El problema de caracterizar un politopo suele ser difícil. El poliedro del problema del emparejamiento está ya caracterizado.

Problemas de optimización combinatoria sobre grafosEn el juego de ajedrez las distintas posiciones de las piezas sobre el tablero son los vértices del grafo. Dos vértices forman un arco cuando por una sola jugada se pasa de uno de los vértices al otro. Cuando se asignan valores a las distintas posiciones de las piezas se tiene un problema de optimización combinatoria.

Cuando se dispone de n operarios y de n máquinas, y se trata de asignar un operario a una sola máquina de la forma más eficaz, se dice que se tiene un problema de asignación, y también un problema de emparejamiento. Los vértices del grafo son los operarios y las máquinas. Las aristas están formadas por un operario y una máquina cuando el operario es capaz de trabajar con la máquina.

Los problemas de rutas o de redes de transporte, como el problema del agente viajero, se pueden representar por grafos. Los vértices son los lugares que se deben visitar o las ciudades a las que hay que transportar ciertos bienes o ser-vicios. Los arcos son las calles, carreteras, oleoductos, cables de transmisión de mensajes, etc., que sirven como vías de comunicación.

Con estos antecedentes, se dice que un grafo G = (V, A) está formado por un par de conjuntos finitos (V, A). Los elementos de V se denominan vértices del grafo. Los elementos de A son pares de objetos de V, que pueden ser distintos o iguales. El grafo se llama no dirigido, y los elementos de A, aristas del grafo cuando los pares de vértices que forman los elementos de A no están ordenados; cuando están ordenados el grafo se llama dirigido y los elementos de A, arcos. Cuando unos pares están ordenados y otros no el grafo es mixto. Un arco o una arista, según convenga, se llama un bucle o un lazo cuando son iguales los dos vértices del par. Un grafo (dirigido o no) se llama bipartito cuando se parte en dos, V1 y V2, el conjunto de vértices V, de forma que V1 ∩ V2 = ∅ y V1 ∪ V2 = V. Además, si a ∈ A, entonces a = (𝑣1 ∈ 𝑣2), con 𝑣1 ∈ V2 y 𝑣2 ∈ V2. Los elementos de V1 y los de V2 pueden ser de muy distinta naturaleza; por ejemplo, los elementos de V1 pueden ser objetos cualesquiera y los de V2 subconjuntos de V1. En este supuesto, se suelen definir los arcos o aristas por pares

(𝑣, C), 𝑣 ∈ V1, C ∈ V2; C ⊂ V1

cuando 𝑣 ∈ C.

Page 128: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

126

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

Metaheurísticas en la optimización combinatoriaPodemos encontrar una gran cantidad de problemas de optimización, tanto en la industria como en la ciencia. Desde los clásicos problemas de diseño de redes de telecomunicación u organización de la producción hasta los más actuales en ingeniería y reingeniería de software, existe una infinidad de problemas teóricos y prácticos que involucran la optimización. Algunas clases de problemas de optimización son relativamente fáciles de resolver. Este es el caso, por ejemplo, de los problemas lineales, en los que tanto la función objetivo como las restric-ciones son expresiones lineales. Estos problemas pueden ser resueltos con el conocido método Simplex; sin embargo, muchos otros tipos de problemas de optimización son muy difíciles de resolver. De hecho, la mayor parte de los que podemos encontrar en la práctica entran en esta categoría.

La idea intuitiva de problema “difícil de resolver” queda reflejada en el término científico NP-hard, utilizado en el contexto de la complejidad algorítmica. Co-loquialmente podemos decir que un problema de optimización difícil es aquel para el que no podemos garantizar el encontrar la mejor solución posible en un tiempo razonable. La existencia de una gran cantidad y variedad de problemas difíciles, que aparecen en la práctica y que necesitan ser resueltos de forma eficiente, impulsó el desarrollo de procedimientos eficientes para encontrar buenas soluciones aunque no fueran óptimas. Estos métodos, en los que la rapidez del proceso es tan importante como la calidad de la solución obtenida, se denominan heurísticos o aproximados.

En inteligencia artificial (IA) se emplea el calificativo heurística en un sentido muy genérico, para aplicarlo a todos aquellos aspectos que tienen que ver con el empleo de conocimiento en la realización dinámica de tareas. Se habla de heurística para referirse a una técnica, método o procedimiento inteligente de realizar una tarea que no es producto de un riguroso análisis formal, sino de conocimiento experto sobre la tarea. En especial, se usa el termino heurístico para referirse a un procedimiento que trata de aportar soluciones a un problema con un buen rendimiento en lo referente a la calidad de las soluciones y a los recursos empleados.

En la resolución de problemas específicos han surgido procedimientos heurísticos exitosos, de los que se ha tratado de extraer lo que es esencial en su éxito para aplicarlo a otros problemas o en contextos más extensos. Como ha ocurrido claramente en diversos campos de la IA, en especial con los sistemas expertos, esta línea de investigación ha contribuido al desarrollo científico del campo

Page 129: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 4 - Optimización combinatoria

127

de las heurísticas y a extender la aplicación de sus resultados. De esta forma se han obtenido tanto técnicas y recursos computacionales específicos como estrategias de diseño generales para procedimientos heurísticos de resolución de problemas. Estas estrategias generales para construir algoritmos que quedan por encima de las heurísticas y van algo más allá, se denominan metaheurísticas. Las metaheurísticas pueden integrarse como un sistema experto para facilitar su uso genérico a la vez que mejorar su rendimiento.

En las siguientes secciones de este capítulo se presenta una visión muy general y actualizada del campo de las metaheurísticas, centrada en torno a la noción de metaheurística, la clasificación de las más relevantes y el análisis de sus cualidades deseables. Sin embargo, una discusión rigurosa del concepto de metaheurística, una clasificación estructurada y exhaustiva de las diferentes estrategias, o el estudio completo de las características apropiadas de una metaheurística es una empresa imposible de considerar y a la que han contri-buido diversos autores con reflexiones intercaladas en libros o artículos sobre metaheurísticas específicas.

Concepto de metaheurísticaLa idea más genérica del término heurística está relacionada con la tarea de resolver inteligentemente problemas reales usando el conocimiento disponible. El término heurística proviene de una palabra griega con un significado rela-cionado con el concepto de encontrar y se vincula a la supuesta exclamación eureka de Arquímedes al descubrir su famoso principio.

La concepción más común en IA es interpretar que heurístico es el calificativo apropiado para los procedimientos que, empleando conocimiento acerca de un problema y de las técnicas aplicables, tratan de aportar soluciones (o acercarse a ellas) usando una cantidad de recursos (generalmente tiempo) razonables. En un problema de optimización, aparte de las condiciones que deben cumplir las soluciones factibles del problema, se busca la que es óptima según algún criterio de comparación entre ellas. En investigación operativa el término heurístico se aplica a un procedimiento de resolución de problemas de optimización con una concepción diferente. Se califica de heurística a un procedimiento para el que se tiene un alto grado de confianza en que encuentra soluciones de alta calidad con un costo computacional razonable, aunque no se garantice su optimalidad o su factibilidad, e incluso, en algunos casos, no se llegue a esta-blecer lo cerca que se está de dicha situación. Se usa el calificativo heurístico en contraposición a exacto, que se aplica a los procedimientos a los que se les

Page 130: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

128

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

exige que la solución aportada sea óptima o factible. Una solución heurística de un problema es la proporcionada por un método heurístico, es decir, aquella solución sobre la que se tiene cierta confianza de que es factible y óptima, o de que alcanza un alto grado de optimalidad y/o factibilidad. También es usual aplicar el término heurística cuando, utilizando el conocimiento que se tiene del problema, se realizan modificaciones en el procedimiento de solución del problema que, aunque no afectan en complejidad, mejoran el rendimiento en su comportamiento práctico.

Unas heurísticas para resolver un problema de optimización pueden ser más generales o específicas que otras. Los métodos heurísticos específicos deben ser diseñados a propósito para cada problema, utilizando toda la información disponible y el análisis teórico del modelo. Los procedimientos específicos bien diseñados suelen tener un rendimiento significativamente más alto que las heurísticas generales. Las heurísticas más generales, por el contrario, pre-sentan otro tipo de ventajas, como la sencillez, adaptabilidad y robustez de los procedimientos. Sin embargo, las heurísticas generales emanadas de las meta-heurísticas pueden mejorar su rendimiento utilizando recursos computacionales y estrategias inteligentes.

El término metaheurística se obtiene de anteponer a heurística el sufijo meta, que significa “más allá” o “a un nivel superior”. Los conceptos actuales de lo que es una metaheurística están basados en las diferentes interpretaciones de lo que es una forma inteligente de resolver un problema. Las metaheurísticas son estrategias inteligentes para diseñar o mejorar procedimientos heurísticos muy generales con un alto rendimiento. El término apareció por primera vez en el artículo seminal sobre búsqueda tabú de Fred Glover en 1986. A partir de entonces han surgido multitud de propuestas de pautas para diseñar buenos procedimientos para resolver ciertos problemas que, al ampliar su campo de aplicación, han adoptado la denominación de metaheurísticas.

Diversos artículos de revisión, monografías y volúmenes especiales sobre metaheurísticas han venido apareciendo en diversas colecciones editoriales o revistas periódicas de los campos de investigación operativa, inteligencia arti-ficial, ingeniería y ciencias de la computación. Además, en estas publicaciones se observa un incremento considerable del número de trabajos que incluyen procedimientos heurísticos, en los que se realizan planteamientos estándares de las metaheurísticas. Desde 1985 se viene publicando la revista Journal of Heu-ristics, que concentra una parte importante de las publicaciones en este campo.

Page 131: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 4 - Optimización combinatoria

129

Tipos de metaheurísticasLas metaheurísticas son estrategias para diseñar procedimientos heurísticos. Por tanto, los tipos de metaheurísticas se establecen, en primer lugar, en función del tipo de procedimientos a los que se refiere. Algunos de los tipos fundamentales son las metaheurísticas para los métodos de relajación, las metaheurísticas para los procesos constructivos, las metaheurísticas para las búsquedas por entornos y las metaheurísticas para los procedimientos evolutivos.

Las metaheurísticas de relajación se refieren a procedimientos de resolución de problemas que utilizan relajaciones del modelo original (es decir, medicaciones del modelo que hacen el problema más fácil de resolver), cuya solución facilita la solución del problema original.

Las metaheurísticas constructivas se orientan a los procedimientos que tratan de obtener una solución a partir del análisis y selección paulatina de las com-ponentes que la forman.

Las metaheurísticas de búsqueda guían los procedimientos que usan transfor-maciones o movimientos para recorrer el espacio de soluciones alternativas y explotar las estructuras de entornos asociadas.

Las metaheurísticas evolutivas están enfocadas a los procedimientos basados en conjuntos de soluciones que evolucionan sobre el espacio de soluciones.

Algunas metaheurísticas surgen combinando metaheurísticas de distinto tipo, como la metaheurística grasp (Greedy Randomized Adaptive Search Procedure), que combina una fase constructiva con una fase de búsqueda de mejora. Otras metaheurísticas se centran en el uso de algún tipo de recurso computacional o formal especial como las redes neuronales, los sistemas de hormigas o la progra-mación por restricciones, y no se incluyen claramente en ninguno de los cuatro tipos anteriores.

Por otro lado, de una u otra forma, todas las metaheurísticas se pueden conce-bir como estrategias aplicadas a procesos de búsqueda, en las cuales todas las situaciones intermedias en el proceso de resolución del problema se interpretan como elementos de un espacio de búsqueda, que se van modificando a medida que se aplican las distintas operaciones diseñadas para llegar a la resolución definitiva. Por ello, y porque los procesos de búsqueda heurística constituyen el paradigma central de las metaheurísticas, es frecuente interpretar que el término

Page 132: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

130

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

metaheurísticas es aplicable esencialmente a los procedimientos de búsqueda sobre un espacio de soluciones alternativas.

Otros tipos de metaheurísticasOtras metaheurísticas que aparecen en varias clasificaciones corresponden a tipos intermedios entre los anteriores. Entre ellas destacan las metaheurísticas de descomposición y las de memoria a largo plazo.

Las metaheurísticas de descomposición establecen pautas para resolver un problema determinando subproblemas a partir de los cuales se construye una solución del problema original. Se trata de metaheurísticas intermedias entre las de re-lajación y las constructivas, ya que se refieren básicamente a las características que se pretende obtener en los subproblemas y a cómo integrar las soluciones de estos subproblemas en una solución del problema original. El objetivo fun-damental es obtener subproblemas significativamente más fáciles de resolver que los originales, y cuyas soluciones puedan ser utilizadas efectivamente. Este es el tipo de metaheurísticas más apropiadas para la aplicación de estrategias de paralelización, en las que es muy importante el equilibrio entre los subpro-blemas obtenidos.

Las metaheurísticas de memoria a largo plazo constituyen el caso más relevante de las metaheurísticas de aprendizaje y se sitúan entre las de arranque múltiple y las derivadas de la búsqueda tabú. Por ejemplo, diversas metaheurísticas se refieren al uso de información sobre las características y propiedades comunes a soluciones de alta calidad o sobre las decisiones de mejora adoptadas durante el proceso de solución. Esta información permite mejorar el rendimiento de la búsqueda de arranque múltiple ajustando los parámetros que modulan la exploración y la explotación del proceso. Se incluyen en las metaheurísticas de aprendizaje, ya que son capaces de emplear información obtenida en la aplica-ción del propio procedimiento, tanto a un problema específico como a un tipo o clase específica de problemas.

Se han propuesto otras metaheurísticas de cierta relevancia, algunas de las cuales presentan como novedad estar inspiradas en distintos fenómenos de la naturaleza. Entre ellas destacan las redes neuronales, las colonias de hormigas, las bandadas de aves o bancos de de peces. Otras metaheurísticas tienen el mérito de aplicar herramientas muy exitosas en otros campos de la IA, como la metaheurística fans o los métodos inteligentes de realizar búsqueda locales.

Page 133: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 4 - Optimización combinatoria

131

La metaheurística de sistemas de hormigas (Ant Systems) emplea estrategias inspi-radas en el comportamiento de las colonias de hormigas para descubrir fuentes de alimentación, al establecer el camino más corto entre estas y el hormiguero y transmitir esta información al resto de sus compañeras. En el siguiente capítulo de esta obra se tratará con un mayor grado de profundidad este tipo de meta-heurísticas y su aplicación en la solución del problema del ruteo de vehículos con ventanas de tiempo en un contexto multiobjetivo.

Propiedades deseables de las metaheurísticasEn esta sección se presentará un conjunto de propiedades deseables de las meta-heurísticas. Son propiedades deseables todas aquellas que favorezcan el interés práctico y teórico de las metaheurísticas. Indicarán direcciones a las que dirigir los esfuerzos para contribuir al desarrollo científico e ingenieril, pero no sería posible mejorar todas las propiedades a la vez, dado que algunas son parcialmente contrapuestas. Una relación de tales propiedades debe incluir las siguientes:

Simple. La metaheurística debe estar basada en un principio sencillo y claro; fácil de comprender.

Precisa. Los pasos y fases de la metaheurística deben estar formulados en términos concretos.

Coherente. Los elementos de la metaheurística deben deducirse naturalmente de sus principios.

Efectiva. Los algoritmos derivados de la metaheurística deben proporcionar soluciones de muy alta calidad; óptimas o muy cercanas a las óptimas.

Eficaz. La probabilidad de alcanzar soluciones óptimas de casos realistas con la metaheurística debe ser alta.

Eficiente. La metaheurística debe aprovechar los recursos computacionales; tiempo de ejecución y espacio de memoria.

General. La metaheurística debe ser utilizable con buen rendimiento en una amplia variedad de problemas.

Adaptable. La metaheurística debe ser capaz de adaptarse a diferentes contextos de aplicación o modificaciones importantes del modelo.

Page 134: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

132

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

Robusta. El comportamiento de la metaheurística debe ser poco sensible a pe-queñas alteraciones del modelo o contexto de aplicación.

Interactiva. La metaheurística debe permitir que el usuario pueda aplicar sus conocimientos para mejorar el rendimiento del procedimiento.

Múltiple. La metaheurística debe suministrar opciones entre las que el usuario pueda elegir.

Autónoma. La metaheurística debe permitir un funcionamiento autónomo, libre de parámetros o que se puedan establecer automáticamente.

Varias de estas propiedades están muy relacionadas y apuntan en la misma dirección, como la simplicidad, la precisión y la coherencia. La simplicidad de la metaheurística facilita su uso y contribuye a dotarla de amplia aplicabilidad. La descripción formal de las operaciones debe liberarse de la analogía física o biológica que haya sido la fuente inicial de inspiración, para permitir mejoras que no respeten la analogía. La precisión en la descripción de los elementos que componen la metaheurística es crucial para concretar un procedimiento de alta calidad; fácil de implementar. Los pasos de los procedimientos básicos de los algoritmos deben traducirse coherentemente de los principios en que se inspira. Debe huirse de sentencias sin sentido o vagas. Frecuentemente se presenta como extensión de una metaheurística la incorporación de herramientas o recursos computacionales estándares, o de pautas de otras metaheurísticas, cuando en realidad deben calificarse como hibridaciones de ellas.

Page 135: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

133

Capítulo 5

El problema del ruteo de vehículos y la metaheurística inspirada en un

sistema de colonia de hormigas

“Las ciencias están todas entrelazadas entre sí:es mucho más fácil aprenderlas todas juntas a la vez

que separar una de las otras”René Descartes

El problema de distribuir productos desde ciertos depósitos a sus usuarios finales juega un papel central en la gestión de algunos sistemas logísticos, y su adecuada planificación puede significar considerables ahorros. Esos potenciales ahorros justifican en gran medida la utilización de técnicas de investigación operativa como facilitadoras de la planificación, dado que se estima que los costos del transporte representan entre un tercio y dos tercios de los costos logísticos totales (Ballou, 2004).

En ese sentido, las últimas cuatro décadas han visto un enorme esfuerzo por re-solver estos problemas. Se realizó por primera vez una formulación del problema para una aplicación de distribución de combustible (Dantzig y Ramser, 1959). Cinco años más tarde se propuso el primer algoritmo que resultó efectivo para su resolución: el popular Algoritmo de Ahorros (Clarke y Wright, 1964). A partir de estos trabajos, el área de ruteo de vehículos ha crecido de manera explosiva. Por un lado, hacia modelos que incorporen cada vez más características de la

Page 136: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

134

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

realidad, y, por otro lado, en la búsqueda de algoritmos que permitan resolver los problemas de manera eficiente.

Estos modelos y algoritmos deben su éxito, en buena parte, a la evolución de los sistemas informáticos. El crecimiento del poder de cómputo y la baja en sus costos han permitido disminuir los tiempos de ejecución de los algoritmos. Por otro lado, el desarrollo de los sistemas de información geográfica resulta fundamental para lograr una adecuada interacción de los modelos y algoritmos con los encargados de realizar la planificación.

Características de los problemasA grandes rasgos, un problema de ruteo de vehículos consiste en, dado un con-junto de clientes y depósitos dispersos geográficamente y una flota de vehículos, determinar un conjunto de rutas de costo mínimo que comiencen y terminen en los depósitos, para que los vehículos visiten a los clientes, como se ilustra en la Figura 37. Las características de los clientes, depósitos y vehículos, así como diferentes restricciones operativas sobre las rutas, dan lugar a diferentes variantes del problema.

Figura 37

Una posible solución de tres rutas en la distribucióndesde un depósito hacia doce clientes

Page 137: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

135

Los clientesCada cliente tiene cierta demanda que debería ser satisfecha por algún vehículo. En muchos casos, la demanda es un bien que ocupa lugar en los vehículos y es usual que un mismo vehículo no pueda satisfacer la demanda de todos los clientes en una misma ruta. Un caso equivalente al anterior ocurre cuando los clientes son proveedores y lo que se desea es recoger la mercadería y transportarla hacia el depósito. También podría ocurrir que la mercadería deba ser transportada a los clientes pero no esté inicialmente en el depósito, sino distribuida en ciertos sitios proveedores. En este caso, los proveedores deben ser visitados antes que los clientes.

En otros casos la demanda no es un bien sino un servicio: el cliente simplemente debe ser visitado por el vehículo. Un mismo vehículo podría, potencialmente, visitar a todos los clientes. En otra variante del problema cada cliente tiene una ubicación y desea ser transportado hacia otro sitio. Aquí la capacidad del vehículo impone una cota sobre la cantidad de clientes que puede alojar simultáneamente.

Es usual que cada cliente deba ser visitado exactamente una vez. Sin embargo, en ciertos casos se acepta que la demanda de un cliente sea satisfecha en mo-mentos diferentes y por vehículos diferentes.

Los clientes podrían tener restricciones relativas a su horario de servicio. Usualmente estas restricciones se expresan en forma de intervalos de tiempo (llamados ventanas de tiempo) en los que se puede arribar al cliente.

En problemas con varios vehículos diferentes podrían existir restricciones de compatibilidad entre estos y los clientes. En estos casos, cada cliente sólo puede ser visitado por algunos de los vehículos (por ejemplo, algunos vehículos muy pesados no pueden ingresar en ciertas localidades).

Los depósitosTanto los vehículos como las mercaderías a distribuir (si las hubiere) suelen estar ubicados en depósitos. Usualmente se exige que cada ruta comience y finalice en un mismo depósito, aunque este podría no ser el caso en algunas aplicaciones (por ejemplo, podría ser que el viaje debiera finalizar en el domicilio del conductor del vehículo).

En los problemas con múltiples depósitos cada uno de estos tiene diferentes características, por ejemplo, su ubicación y capacidad máxima de producción.

Page 138: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

136

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

Podría ocurrir que cada depósito tenga una flota de vehículos asignada a priori y que dicha asignación sea parte de lo que se desea determinar.

Los depósitos, al igual que los clientes, podrían tener ventanas de tiempo aso-ciadas. En algunos casos debe considerarse el tiempo necesario para cargar o preparar un vehículo antes de que comience su ruta, o el tiempo invertido en su limpieza al regresar. Incluso, por limitaciones de los propios depósitos, podría querer evitarse que demasiados vehículos estén operando en un mismo depósito a la vez (es decir, la congestión del depósito).

Los vehículosLa capacidad de un vehículo podría tener varias dimensiones, como por ejemplo peso y volumen. Cuando en un mismo problema existen diferentes mercaderías, los vehículos podrían tener compartimentos, de modo que la capacidad del vehículo dependa de la mercadería de que se trate. En general, cada vehículo tiene asociado un costo fijo en el que se incurre al utilizarlo y un costo variable proporcional a la distancia que recorra.

Los problemas en que los atributos (capacidad, costo, etc.) son los mismos para todos los vehículos se denominan de flota homogénea, y, si hay diferencias, de flota heterogénea. La cantidad de vehículos disponibles podría ser un dato de entrada o una variable de decisión. El objetivo más usual suele ser utilizar la menor can-tidad de vehículos, y minimizar la distancia recorrida ocupa un segundo lugar.

Regulaciones legales podrían imponer restricciones sobre el tiempo máximo que un vehículo puede estar en circulación e incluso prohibir el pasaje de ciertos vehículos por ciertas zonas. En algunos casos se desea que la cantidad de trabajo realizado por los vehículos (usualmente el tiempo de viaje) no sea muy dispar.

En general, se supone que cada vehículo recorre una sola ruta en el período de planificación, pero últimamente se han estudiado modelos en los que un mismo vehículo puede recorrer más de una ruta.

Formulación matemáticaEn esta sección se formulan algunos de los problemas clásicos y sus extensiones como problemas de programación entera. Dichas formulaciones se dan por completitud y para evitar ambigüedad en la definición, pero no se reportan en este trabajo métodos exactos de resolución.

Page 139: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

137

La red de transporte por la que circulan los vehículos se modela mediante un grafo ponderado G =( V , E C ). Los nodos del grafo representan a los clientes y depósitos. En problemas con un depósito y clientes, el nodo representa al depó-sito y los nodos 1,...,n a los clientes. En algunos casos (en que se explicitará) se agrega una copia del depósito etiquetada n + 1 para simplificar la formulación.

Cada arco (i, j) ∈ E representa el mejor camino para ir desde el nodo i hacia el nodos en la red de transporte y tiene asociado un costo y un tiempo de viaje tij. Según la estructura de los costos y los tiempos y las características de la red, el grafo puede ser simétrico o asimétrico. Puede suponerse que G es completo, pues entre todo par de lugares de una red de transporte razonable, debería existir algún camino. Sin embargo, por una cuestión de flexibilidad, los modelos serán planteados sin considerar dicha hipótesis.

Se denotará por Δ+ (i) y Δ- (i) al conjunto de nodos adyacentes e incidentes al nodo i, es decir, Δ+ (i) = j ∈ V |(i,j) ∈ E y Δ- (i) = j ∈ V |(i,j) ∈ E

De manera similar, el conjunto de arcos incidentes hacia el exterior e interior del nodo i se define como δ+ (i) = (i,j) ∈ E y δ- (i) =(i,j) ∈ E.

El problema del agente viajero (tsp)En el problema del agente viajero (o tsp por Travelling Salesman Problem) se dis-pone de un solo vehículo que debe visitar a todos los clientes en una sola ruta y a costo mínimo. No suele haber un depósito (y si lo hubiere no se distingue de los clientes), no hay demanda asociada a los clientes y tampoco hay restricciones temporales. El problema puede formularse como:

min Ʃ

(𝑖 ,j)∈E Cij χij (1)

s.a. Ʃ

(𝑖 ,j)∈Δ+(𝑖 ) χij = 1; ∀𝑖 ∈ V (2)

Ʃ

(𝑖 ,j)∈Δ-(𝑖 ) χij = 1; ∀j ∈ V (3)

Ʃ𝑖 ,∈S, j∈Δ+(𝑖 )\ S

χij ≥ 1; ∀j ∈ V (4)

Page 140: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

138

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

Esta formulación fue propuesta por Dantzig, Fulkerson y Johnson (1954). Las variables binarias xij indican si el arco (i,j)es utilizado en la solución. La función objetivo (1) establece que el costo total de la solución es la suma de los costos de los arcos utilizados. Las restricciones (2) y (3) indican que la ruta debe llegar y abandonar cada nodo exactamente una vez. Finalmente, las restricciones (4) son llamadas restricciones de eliminación de subtours e indican que todo sub-conjunto de nodo S debe ser abandonado al menos una vez. Nótese que si no se impusieran estas restricciones la solución podría constar de más deun ciclo, como se muestra en la Figura 38. Esta solución viola la restricción (4) para S =0,1,2. Existen diferentes tipos de restricciones de eliminación de subtours.

Figura 38 Solución no factible para el problema del agente viajero

2

0 1

5

3 4

Suponiendo que la cardinalidad de E es |E| = 0 (n2), esta formulación tiene una cantidad 0(n2)de variables binarias y 0(2n) restricciones. El problema puede formularse con una cantidad polinomial de restricciones, agregando variables reales ui para i = 1,...,n y sustituyendo las restricciones (4) por

ui- uj + nxij ≤ n - 1; ∀(i,j) ∈ E,i ≠ 0,j ≠0.

Estas desigualdades fueron propuestas por Miller, Tucker y Zemlin (1960) y fuerzan a que las variables reales u determinen una cantidad estrictamente creciente a lo largo de la ruta (es decir, uj ≥ ui + 1 si es j visitado inmediatamente después que i). En la hipótesis de que |E| = 0(n2), en esta nueva formulación hay 0(n2) variables binarias, 0(n) variables positivas y 0(n2) restricciones. Sin embargo, esta formulación no resulta apta para la resolución de problemas de tamaño considerable mediante métodos exactos, pues si bien se disminuye la cantidad de restricciones, la cota que se obtiene resolviendo su relajación lineal resulta en general poco ajustada.

La mayor parte de los problemas de ruteo de vehículos son generalizaciones del tsp. En ese sentido, este puede considerarse el problema de ruteo de vehículos

Page 141: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

139

más simple. No obstante, pertenece a la clase de problemas NP-Hard y es uno de los problemas de optimización combinatoria más clásicos y difundidos.

Existen diferentes versiones de programas de computador que permiten resolver el problema del agente viajero, tales como el VRP Solver, que se puede descargar desde http://www.downv.com/Windows-software-download/VRP-solver; ade-más, la aplicación WinQSB cuenta con el módulo Network Modeling (NET), que tiene una subrutina propia para este problema.

Variantes del problema de ruteo (VRP)De acuerdo con las características especiales de clientes, locaciones y producto/servicio, se requiere elaborar una metodología de solución específica con la cual sea posible aproximarse lo mejor posible al óptimo. Las diferentes variaciones y restricciones del problema generan una familia de VRP (Medaglia, 2005) de la que vale la pena mencionar ocho casos típicos, los cuales al compartir caracte-rísticas pueden dar lugar a todo un universo de problemas VRP. Los principales problemas de ruteo de vehículos pueden ser descritos así:

CVRP(Capacited VRP): es el VRP más general y consiste en uno o varios vehículos con capacidad limitada y constante encargados de distribuir los productos según la demanda de los clientes.

MDVRP(Multi-Depot VRP) o VRP con múltiples depósitos: es un caso de ruteo de ve-hículos en el que existen varios depósitos (cada uno con una flota de vehículos independiente) que deben servir a todos los clientes.

PVRP(Period VRP): Incluye en su planteamiento un horizonte de operación de M días, periodo durante el cual cada cliente debe ser visitado una vez.

SDVRP(Split Delivery VRP) o VRP de entrega dividida: permite que un cliente pueda ser atendido por varios vehículos si el costo total se reduce, lo cual es importante si el tamaño de los pedidos excede la capacidad de un vehículo

Page 142: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

140

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

SVRP(Stochastic VRP): se trata de un VRP en que uno o varios componentes son aleatorios; clientes, demandas y tiempos estocásticos son las principales inclu-siones en este tipo de problemas.

VRPPD(VRP Pickup and Delivery) o VRP con entrega y recogida: aquel en el que cabe la posibilidad de que los clientes puedan devolver determinados bienes; por tanto, se debe tener presente que estos quepan en el vehículo. Esta restricción hace más difícil el problema de planificación y puede causar una mala utilización de las capacidades de los vehículos, un aumento de las distancias recorridas o requerir un mayor número de vehículos.

MFVRP(MixFleet VRP): es un VRP en el que se suponen vehículos con distintas ca-pacidades o capacidad heterogénea, por lo que es necesario considerar estas capacidades en la ruta que seguirá cada recurso, ya que un camión más grande podrá realizar una ruta más larga o que tenga mayor concentración de demanda.

VRPTW(VRP with Time Windows): aquel en el que se incluye una restricción adicional en la que se asocia a cada cliente una ventana de tiempo, es decir, cada cliente sólo está dispuesto a recibir el bien o servicio durante un intervalo de tiempo predeterminado.

Los diferentes problemas VRP, y básicamente los que utilizan múltiples vehículos y/o depósitos, pueden reducir su complejidad acotando el universo de solucio-nes o disminuyendo el conjunto de clientes a ser visitados por cada vehículo o desde cada depósito, esto es, asignar a cada vehículo/depósito un conjunto de clientes para atender, lo que Medaglia (2005) llama set covering, o lo que otros autores conocen como clusterizar o asignar primero y rutear después: cluster firts routen second (Olivera, 2004).

Metaheurística sistema de colonia de hormigasComo se expuso en el capítulo anterior, una metaheurística puede verse como un marco de trabajo general referido a algoritmos que puede aplicarse a diversos problemas de optimización (combinatoria) con pocos cambios significativos si

Page 143: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

141

ya existe previamente algún método heurístico específico para el problema. De hecho, las metaheurísticas son ampliamente reconocidas como una de las me-jores aproximaciones para atacar los problemas de optimización combinatoria.

Las metaheurísticas incorporan conceptos de muchos y diversos campos como la genética, la biología, la inteligencia artificial, las matemáticas, la física y la neurología, entre otras. Algunos ejemplos de metaheurísticas son: Enfriamiento simulado, búsqueda tabú, búsqueda local iterativa (“iterated local search”), algoritmos de búsqueda local con vecindario variable (“variable neighborhood search”), GRASP y algoritmos evolutivos.

Una metaheurística relativamente reciente es la Optimización basada en colonias de hormigas (OCH) (“Ant Colony Optimization”, ACO en inglés), la cual se inspira en el comportamiento que rige a las hormigas de diversas especies para encontrar los caminos más cortos entre las fuentes de comida y el hormiguero. De hecho, desde el trabajo inicial de Dorigo, Maniezzo y Colorni en el Sistema de Hormigas (SH) (“Ant System”, AS en inglés), la OCH se ha venido convirtiendo en un campo de investigación importante: numerosos autores han desarrollado mo-delos cada vez más sofisticados para solucionar de manera satisfactoria muchos problemas de optimización combinatoria. Igualmente, se ha incrementado el número de desarrollos teóricos sobre los algoritmos que se proponen.

Las colonias de hormigas naturalesLas hormigas son insectos sociales que viven en colonias y que, debido a su colaboración mutua, son capaces de mostrar comportamientos complejos y realizar tareas difíciles o imposibles para una hormiga individual. Un aspecto interesante del comportamiento de muchas especies de hormigas es su habili-dad para encontrar los caminos más cortos entre su hormiguero y las fuentes de alimento. Este hecho es especialmente interesante si se tiene en cuenta que muchas de las especies de hormigas son casi ciegas, lo que les impide el uso de pistas visuales.

Mientras se mueven entre el hormiguero y la fuente de alimento, algunas especies de hormigas depositan una sustancia química denominada feromona (sustancia que puede “olerse”). Si no se encuentra ningún rastro de feromona, las hormigas se mueven de manera básicamente aleatoria, pero cuando existe feromona depositada, tienen mayor tendencia a seguir el rastro. De hecho, los experimentos realizados por biólogos han demostrado que las hormigas pre-fieren de manera probabilística los caminos marcados con una concentración

Page 144: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

142

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

superior de feromona (Pasteels et ál, 1987). En la práctica, la elección entre distintos caminos toma lugar cuando varios caminos se cruzan. Entonces, las hormigas eligen el camino a seguir con una decisión probabilística sesgada por la cantidad de feromona: cuanto más fuerte es el rastro de feromona, mayor es la probabilidad de elegirlo. Puesto que las hormigas depositan feromona en el camino que siguen, este comportamiento lleva a un proceso de autorrefuerzo que concluye con la formación de rastros señalados por una concentración de feromona elevada. Este comportamiento permite además a las hormigas en-contrar los caminos más cortos entre su hormiguero y la fuente del alimento.4

En la Figura 39 se ilustra cómo este mecanismo permite a las hormigas encontrar el camino más corto. Inicialmente no existe ningún rastro de feromona en el medio, y cuando una hormiga llega a una intersección elige de manera aleatoria una de las bifurcaciones posibles. Según transcurre el tiempo y mientras las hormigas están recorriendo los caminos más prometedores, estos van recibiendo una cantidad superior de feromona. Esto ocurre gracias a que al ser los caminos más cortos, las hormigas que los siguen consiguen encontrar la comida más rápidamente, por lo que comienzan su viaje de retorno antes. Entonces, en el camino más corto habrá un rastro de feromona ligeramente superior y, por lo tanto, las decisiones de las siguientes hormigas estarán dirigidas en mayor medida a dicho camino. Además, este camino recibirá una proporción mayor de feromona por las hormigas que vuelven por él que por las que vuelven por el camino más largo. Este proceso hace, finalmente, que la probabilidad de que una hormiga escoja el camino más corto aumente progresivamente y que al final el recorrido de la colonia converja al más corto de todos los caminos posibles.

Esta convergencia se complementa con la acción del entorno natural que pro-voca que la feromona se evapore transcurrido un cierto tiempo. Así, los caminos menos prometedores pierden progresivamente feromona porque son visitados cada vez por menos hormigas. Sin embargo, algunos estudios biológicos han demostrado que los rastros de feromona son muy persistentes. La feromona puede permanecer desde unas pocas horas hasta varios meses, lo cual depende de varios aspectos distintos, como la especie de hormigas y el tipo de suelo, lo que provoca una menor influencia del efecto de la evaporación en el proceso de búsqueda del camino más corto.

4. Es de notar que las hormigas solo se comunican de manera indirecta, a través de modifica-ciones del espacio físico que perciben. Esta forma de comunicación se denomina estimergia artificial.

Page 145: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

143

En Bonabeu y otros (1999), numerosos experimentos muestran que, debido a la gran persistencia de feromona, es difícil que las hormigas “olviden” un camino que tiene un alto nivel de feromona, aunque hayan encontrado un camino aun más corto. Hay que tener en cuenta que si se traslada este comportamiento directamente al ordenador para diseñar un algoritmo de búsqueda se puede encontrar con que se quede rápidamente estancado en un óptimo local.

De las hormigas naturales a la metaheurística de optimización basada en colonias de hormigasLos algoritmos de OCH se inspiran directamente en el comportamiento de las colonias reales de hormigas para solucionar problemas de optimización combi-natoria. Se basan en una colonia de hormigas artificiales, esto es, unos agentes computacionales simples que trabajan de manera cooperativa y se comunican mediante rastros de feromona artificiales.

Los algoritmos de OCH son esencialmente algoritmos constructivos: en cada iteración del algoritmo, cada hormiga construye una solución al problema recorriendo un grafo de construcción. Cada arista del grafo, que representa los posibles pasos que la hormiga puede dar, tiene asociados dos tipos de información que guían el movimiento de la hormiga:

Figura 39

El comportamiento de la colonia termina por obtenerel camino más corto entre dos puntos

Page 146: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

144

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

– Información heurística, que mide la preferencia heurística de moverse desde el nodo r hasta el nodo s, o sea, de recorrer la arista ars. Se nota por ηrs. Las hormigas no modifican esta información durante la ejecución del algoritmo.

– Información de los rastros de feromona artificiales, que mide la “deseabilidad aprendida” del movimiento de r a s. Imita la feromona real que depositan las hormigas naturales. Esta información se modifica durante la ejecución del algoritmo y depende de las soluciones encontradas por las hormigas. Se nota por τrs.

En esta sección se presentan los pasos que llevan desde las hormigas reales a la OCH. A partir de ahora debe tenerse en cuenta que los algoritmos presentan una doble perspectiva:

– Por un lado, son una abstracción de algunos patrones de comportamiento naturales que permite encontrar el camino más corto.

– Por otro lado, incluyen algunas características que no tienen una contrapar-tida natural, pero que permiten que se desarrollen algoritmos para obtener buenas soluciones al problema que se pretende resolver (por ejemplo, el uso de información heurística que guíe el movimiento de las hormigas).

Tipos de problemas resolubles por la OCHEl tipo de problemas que se pueden resolver por medio de hormigas artificiales pertenece al grupo (restringido) de problemas de camino mínimo que se pueden caracterizar por los siguientes aspectos:

– Existe un conjunto de restricciones Ω definido por el problema a solucionar.

– Existe un conjunto finito de componentes N = n1,n2 ,...ni.

– El problema presenta diversos estados que se definen según secuencias ordenadas de componentes δ = nr, ns ,... un ,... [ r, s , ... , u,... para simpli-ficar] sobre los elementos de N. Si es el conjunto de todas las secuencias

posibles, llamaremos∼∆ al conjunto de posibles (sub)secuencias que respetan

las restricciones Ω. Los elementos en∼∆ definen los estados posibles.⎟δ⎟ es

la longitud de una secuencia δ, esto es, el número de componentes en la secuencia.

Page 147: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

145

– Existe una estructura de vecindario definida como sigue: δ2 es un vecino de δ1 si: 1. tanto δ1 como δ2 pertenecen a ∆; 2. el estado δ2 puede alcanzar-se desde δ1 en un paso lógico, es decir r, si es la última componente de la secuencia δ1, debe existir una componente s ∈ Y tal que δ2 = δ1, s , o sea, debe existir una transición válida entre r y s. El vecindario alcanzable de δ1

es el conjunto que contiene todas las secuencias δ2 ∈ ∼∆ . Si δ2 ∉

∼∆ , diremos que δ2 está en el vecindario no alcanzable de δ1.

– Una solución S es un elemento de∼∆ que verifica todos los requisitos del

problema.

– Existe un costo C(S) asociado a cada solución.

– En algunos casos, se puede asociar un costo o su estimación puede estar asociada a los estados.

Como se ha comentado, todas las características anteriores se dan en pro-blemas de optimización combinatoria que pueden representarse en forma de grafo ponderado G = (N,A), donde A es el conjunto de aristas que conectan el conjunto de componentes N. El grafo G se denomina grafo de construcción G5. Por tanto, tenemos que:

– Las componentes nr son los nodos del grafo.

– Los estados δ (y por tanto las soluciones S) se corresponden con caminos en el grafo, esto es, secuencias de nodos o aristas.

– Las aristas del grafo ars, son conexiones/transiciones que definen la estructura del vecindario δ2 = δ1, S será vecino de δ1 si el nodo es la última componente de δ1 y la arista ars existe en el grafo.

– Deben existir los costos explícitos crs asociados con cada arista, y

– Las componentes o las conexiones deben tener asociados rastros de feromona τ, que representan un tipo de memoria indirecta y a largo plazo del proceso de búsqueda, como valores heurísticos η, que representan la información heurística disponible en el problema a resolver.

5. El conjunto de aristas puede conectar completamente los componentes. En este caso, la implementación de las restricciones está completamente integrada en la política de cons-trucción de las hormigas.

Page 148: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

146

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

La hormiga artificialLa hormiga artificial es un agente computacional simple que intenta construir soluciones posibles al problema explotando los rastros de feromona disponibles y la información heurística. Sin embargo, en algunos problemas puede también construir soluciones no válidas que podrán ser penalizadas de acuerdo con lo inadecuado de la solución. Tiene las siguientes propiedades:

– Busca soluciones válidas de costo mínimo para el problema a solucionar.

– Tiene una memoria L que almacena información sobre el camino seguido hasta el momento, esto es, L almacena la secuencia generada. Esta memo-ria puede usarse para 1. construir soluciones válidas; 2. evaluar la solución generada; y 3. reconstruir el camino que ha seguido la hormiga.

– Tiene un estado inicial δinicial, que normalmente se corresponde con una secuencia unitaria y una o más condiciones t de parada asociadas.

– Comienza en el estado inicial y se mueve siguiendo estados válidos, cons-truyendo la solución asociada incrementalmente.

– Cuando está en un estado δr = δr -1,r , (es decir, actualmente está localizada en el nodo r y ha seguido previamente la secuencia δr-1), puede moverse a cualquier nodo de su vecindario posible N(r), definido como

N(r) =s|(ars ∈ A) y δ, s ∈Δ)∼

– El movimiento se lleva a cabo aplicando una regla de transición, que es función de los rastros de feromona que están disponibles localmente, de los valores heurísticos de la memoria privada de la hormiga y de las restricciones del problema.

– Cuando durante el procedimiento de construcción una hormiga se mueve desde el nodo r hasta el s, puede actualizar el rastro de feromona τrs asociado al arco ars. Este proceso se llama actualización en línea de los rastros de feromona paso a paso.

– El procedimiento de construcción acaba cuando se satisface alguna condi-ción de parada; normalmente, cuando se alcanza un estado objetivo.

Page 149: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

147

– Una vez que la hormiga ha construido la solución puede reconstruir el cami-no recorrido y actualizar los rastros de feromona de los arcos/componentes visitados/as utilizando un proceso llamado actualización en línea a posteriori. Este es el único mecanismo de comunicación entre las hormigas, utilizando la estructura de datos que almacena los niveles de cada arco/componente (memoria compartida).

Similitudes y diferencias entre las hormigas naturales y las artificialesLas colonias de hormigas naturales y las artificiales comparten una serie de características. Las más importantes pueden resumirse a continuación:

– Uso de una colonia de individuos que interaccionan y colaboran para so-lucionar una tarea dada.

– Tanto las hormigas naturales como las artificiales modifican su “entorno” a través de una comunicación estimérgica basada en la feromona. En el caso de las hormigas artificiales, los rastros de feromona artificiales son valores numéricos que están disponibles únicamente de manera local.

– Ambas, las hormigas naturales y las artificiales, comparten una tarea común: la búsqueda del camino más corto (construcción iterativa de una solución de costo mínimo) desde un origen, el hormiguero (decisión inicial), hasta un estado final, la comida (última decisión).

– Las hormigas artificiales construyen las soluciones iterativamente aplicando una estrategia de transición local estocástica para moverse entre estados adyacentes, tal como hacen las hormigas naturales.

Sin embargo, estas características por sí solas no permiten desarrollar algoritmos eficientes para problemas combinatorios difíciles. De hecho, las hormigas arti-ficiales viven en un mundo discreto y tienen algunas capacidades adicionales:

– Las hormigas artificiales pueden hacer uso de la información heurística (no solo de los rastros locales de feromona) en la política estocástica de transición que apliquen.

– Tienen una memoria que almacena el camino seguido por la hormiga. La cantidad de feromona depositada por la hormiga artificial es función de

Page 150: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

148

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

la calidad de la solución encontrada.6 Otra gran diferencia se refiere al momento de depositar la feromona. Las hormigas artificiales normalmente sólo depositan feromona después de generar una solución completa.7

– La evaporación de feromona en los algoritmos de OCH es diferente a como se presenta en la naturaleza, ya que la inclusión del mecanismo de evaporación es una cuestión fundamental para evitar que el algoritmo se quede estancado en óptimos locales. La evaporación de feromona permite a la colonia de hormigas artificiales olvidar lentamente su historia pasada para redireccionar su búsqueda hacia nuevas regiones del espacio. Esto evita una convergencia prematura del algoritmo hacia óptimos locales.

– Para mejorar la eficiencia y eficacia del sistema, los algoritmos OCH pueden enriquecerse con habilidades adicionales. Ejemplos típicos son la capacidad de mirar más allá de la siguiente transición (lookhead), la optimización local y backtracking (cuyo uso no está muy extendido), que persiguen mejorar la eficacia, o la llamada lista de candidatos, que contiene un conjunto de los estados vecinos más prometedores para mejorar la eficiencia del algoritmo.

Modo de funcionamiento y estructura genérica de un algoritmo OCHComo se ha visto en las secciones anteriores, el modo de operación básico de un algoritmo OCH es como sigue: las m hormigas (artificiales) de la colonia se mueven, concurrentemente y de manera asíncrona, a través de los estados adyacentes del problema (que puede representarse en forma de grafo con pesos). Este movimiento se realiza siguiendo una regla de transición que está basada en la información local disponible en las componentes (nodos). Esta información local incluye la información heurística y memorística (rastros de feromona) para guiar la búsqueda. Al moverse por el grafo de construcción, las hormigas construyen incrementalmente soluciones. Opcionalmente, las hormigas pueden depositar feromona cada vez que crucen un arco (conexión), mientras construyen la solución (actualización en línea paso a paso de los rastros

6. Sin embargo, esta diferencia es relativa, ya que algunas especies de hormigas naturales de-positan una cantidad superior de feromona cuando encuentran una fuente de alimento más rica.

7. Aun así, como se verá a continuación, algunos algoritmos de OCH también modifican los rastros de feromona mientras construyen la solución.

Page 151: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

149

de feromona). Una vez que cada hormiga ha generado una solución se evalúa ésta y puede depositar una cantidad de feromona que es función de la calidad de su solución (actualización en línea de los rastros de feromona). Esta información guiará la búsqueda de las otras hormigas de la colonia en el futuro.

Además, el modo de operación genérico de un algoritmo OCH incluye dos pro-cedimientos adicionales: la evaporación de los rastros de feromona y las acciones del demonio. La evaporación de feromona la lleva a cabo el entorno y se usa como un mecanismo que evita el estancamiento en la búsqueda y permite que las hormigas busquen y exploren nuevas regiones del espacio. Las acciones del demonio son acciones opcionales -que no tienen un contrapunto natural- para implementar tareas desde una perspectiva global que no pueden llevar a cabo las hormigas por la perspectiva local que ofrecen. Las capacidades adicionales que se mencionan en la sección que describe a la hormiga artificial, se incluyen en estas acciones. Ejemplos son observar la calidad de todas las soluciones generadas y depositar una nueva cantidad de feromona adicional sólo en las transiciones/componentes asociadas a algunas soluciones, o aplicar un procedimiento de búsqueda local a las soluciones generadas por las hormigas antes de actualizar los rastros de feromona. En ambos casos, el demonio remplaza la actualización en línea a posteriori de feromona y el proceso pasa a llamarse actualización fuera de línea de rastros de feromona.

La estructura de un algoritmo de OCH genérico es como sigue

1 Procedimiento metaheurística OCH ()

2 Inicialización de parámetros

3 mientras (criterio determinación no satisfecho)

4 Programación de actividades

5 Generación de hormigas y actividad ()

6 Evaporación de feromona ()

7 Acciones del demonio () opcional

8 fin Programación de actividades

9 fin mientras

10 fin Procedimiento

Page 152: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

150

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

1 Procedimiento generación de hormigas y actividad ()

2 repetir en paralelo desde hasta m (número hormigas)

3 Nueva hormiga ()

4 fin repetir en paralelo

5 fin procedimiento

1 Procedimiento nueva hormiga (id hormiga)

2 inicializa hormiga (id Hormiga)

3 actualiza memoria hormiga ()

4 mientras (estado actual estado objetivo)

5 P = calcular probabilidades de transición (A, L, Ω)

6 siguiente estado = aplicar política decisión (P, Ω)

7 mover al siguiente estado (siguiente estado)

si (actualización feromona en línea paso a paso)

8 depositar feromona en el arco visitado ()

fin si

9 L = actualizar estado interno ()

10 fin mientras

si (actualización feromona en línea a posteriori)

11 para cada arco visitado

12 depositar feromona en el arco visitado ()

13 fin para

fin si

14 liberar recursos hormiga (id hormiga)

15 fin Procedimiento

El primer paso incluye la inicialización de los valores de los parámetros que se consideran en el algoritmo. Entre otros, se deben fijar el rastro inicial de fero-

Page 153: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

151

mona asociado a cada transición, τ0, que es un valor positivo pequeño, normal-mente el mismo para todas las componentes/conexiones; el número de hormigas en la colonia, m, y los pesos que definen la proporción en la que afectarán la información heurística y memorística en la regla de transición probabilística.8

El procedimiento principal de la metaheurística OCH controla, mediante el constructor Programación_de_Actividades, la planificación de las tres componen-tes mencionadas en esta sección: 1. la generación y puesta en funcionamiento de las hormigas artificiales; 2. la evaporación de feromona; y 3. las acciones del demonio. La implementación de este constructor determinará la sincronía existente entre cada una de las tres componentes. Mientras que la aplicación a problemas “clásicos” NP-duros (no distribuidos) usa normalmente una planifi-cación secuencial, en problemas distribuidos como el enrutamiento en redes el paralelismo puede ser explotado de manera sencilla y eficiente.

Como se ha comentado antes, varias componentes son o bien opcionales, como las acciones del demonio, o bien dependientes estrictamente del algoritmo de OCH específico, por ejemplo, cuándo y cómo se deposita la feromona. Gene-ralmente, la actualización en línea paso a paso de los rastros de feromona y la actualización en línea a posteriori de los rastros de feromona son mutuamente excluyentes y no suelen estar presentes a la vez ni faltar ambas al mismo tiempo (si las dos faltan, el demonio suele actualizar los rastros de feromona).

Por otro lado, hay que remarcar que el procedimiento Actualiza_memoria_hor-miga() se encarga de especificar el estado inicial desde el que la hormiga co-mienza su camino y, además, de almacenar la componente correspondiente en la memoria de la hormiga L. La decisión sobre cuál será dicho nodo depende del algoritmo específico (puede ser una elección aleatoria o una fija para toda la colonia, o una elección aleatoria o fija para cada hormiga, etc.).

Por último, valga comentar que los procedimientos Calcular_probabilidades_de_transición y Aplicar_política_decisión tienen en consideración el estado actual de la hormiga, los valores actuales de la feromona visibles en dicho nodo y las res-tricciones del problema Ω para establecer el proceso de transición probabilístico hacia otros estados válidos.

8. Este aspecto se estudiará en mayor profundidad en la siguiente sección cuando se introduz-ca el algoritmo específico de Sistema de Colonia de Hormigas, SOCH.

Page 154: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

152

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

Pasos a seguir para resolver un problema mediante OCHObservando las aplicaciones actuales de la OCH, podemos identificar algunas directivas sobre cómo atacar problemas utilizando esta metaheurística. Estas directivas se pueden resumir en las seis tareas de diseño que se enumeran a continuación:

1. Representar el problema como un conjunto de componentes y transiciones o a través de un grafo ponderado (ver la sección tipos de problemas resolubles por la OCH), que será recorrido por las hormigas para construir soluciones.

2. Definir de manera apropiada el significado de los rastros de feromona τrs, esto es, el tipo de decisión que inducen. Este es un paso crucial en la im-plementación de un algoritmo de OCH, y a menudo una buena definición de los rastros de feromona no es una tarea trivial. De hecho, normalmente implica tener un buen conocimiento del problema que se quiere solucionar.

3. Definir de manera apropiada la preferencia heurística de cada decisión que debe tomar una hormiga mientras construye una solución, es decir, definir la información heurística ηrs asociada a cada componente o transición. Hay que resaltar que la información heurística es crucial para un buen rendimiento si no existen o no pueden ser aplicados algoritmos de búsqueda local.

4. Si es posible, implementar una búsqueda local eficiente para el problema que se desea solucionar, porque los resultados de muchas aplicaciones de la OCH a problemas de optimización combinatoria NP-duros demuestran que el mejor rendimiento se alcanza cuando se complementa con optimizaciones locales.

5. Escoger un algoritmo de OCH específico (algunos de los cuales serán descri-tos en la siguiente sección) y aplicarlo al problema que hay que solucionar, teniendo en cuenta, obviamente, todos los aspectos previamente comentados.

6. Refinar los parámetros del algoritmo de OCH. Un buen punto de partida para la especificación de los valores de los parámetros es usar configura-ciones de parámetros que han demostrado ser buenas cuando se aplicaban en el algoritmo de OCH a problemas similares o a una gran variedad de problemas distintos. Otra posible alternativa para evitar el esfuerzo y tiem-po necesarios para esta tarea es utilizar procedimientos automáticos de refinamiento de parámetros.

Debe quedar claro que los pasos arriba mostrados sólo dan una idea, grosso modo, sobre la implementación del algoritmo de OCH. Además, en muchas ocasiones

Page 155: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

153

la implementación es un proceso iterativo en el cual, cuando se obtiene una visión más en profundidad del problema y del comportamiento del algoritmo, deben revisarse algunas de las decisiones iniciales. Por último, queremos insistir en el hecho de que probablemente los pasos más importantes son los cuatro primeros, ya que una elección poco acertada en esos puntos no suele poder arreglarse con un buen refinamiento de parámetros.

El sistema de colonia de hormigas (OSCH)El OSCH (Dorigo y Gambardella, 1997) es uno de los primeros algoritmos que introducen tres modificaciones importantes con respecto a otros algoritmos estudiados de OCH:

1. El OSCH usa una regla de transición distinta, denominada regla propor-cional pseudo-aleatoria. Sea k una hormiga situada en el nodo r, q0 ∈ [0,1], un parámetro y q un valor aleatorio en [0,1]. El siguiente nodo S se elige aleatoriamente mediante la siguiente distribución de probabilidad:

Si q ≤ q0

Si no (q >q0)

prs =0, kβ1, si s = arg maxu ∈Nk(r)τrs ⋅ η rs

en otro caso

Como puede observarse, la regla tiene una doble intención: cuando q ≤ q0, explota el conocimiento disponible y elige la mejor opción con respecto a la información heurística y los rastros de feromona. Sin embargo, si q > q0, se aplica una exploración controlada. En resumen, la regla establece un compromiso entre la exploración de nuevas conexiones y la explotación de la información disponible en ese momento.

prs =k

k

[τrs]α ⋅[η rs]β

Σu∈Nrs [τrs]α ⋅[η rs]β

, si s ∈Nk(r)

0, en otro caso

Page 156: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

154

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

2. Sólo el demonio (y no las hormigas individualmente) actualiza la feromona, es decir, se realiza una actualización de feromona fuera de línea de los rastros. Para llevarla a cabo, OSCH sólo considera una hormiga concreta, la que generó la mejor solución global, Smejor-global (aunque en algunos trabajos iniciales se consideraba también una actualización basada en la mejor hormiga de la iteración, en OSCH casi siempre se aplica la actualización por medio de la mejor global).

La actualización de la feromona se hace evaporando primero los rastros de feromona en todas las conexiones utilizadas por la mejor hormiga global (es importante recalcar que en el OSCH la evaporación de feromona sólo se aplica a las conexiones de la solución, que es también la usada para depositar feromona) tal como sigue:

τrs ← (1 -ρ) ⋅ τrs ;∀ars ∈ Smejor-global

τrs ← τrs + ρ ⋅ ƒ(C (Smejor-global)); ∀ars ∈ Smejor-global

τrs ← (1- ϕ) ⋅ τrs + ϕ ⋅ τ0

donde el coeficiente de persistencia de la feromona ρ ∈ (0,1] y (1- ρ) y será el factor de evaporación

A continuación, el demonio deposita feromona usando la regla:

Adicionalmente, el demonio puede aplicar un algoritmo de búsqueda local para mejorar las soluciones de las hormigas antes de actualizar los rastros de feromona.

3. Las hormigas aplican una actualización en línea paso a paso de los rastros de feromona que favorece la generación de soluciones distintas a las ya encontradas.

Cada vez que una hormiga viaja por una arista ars aplica la regla:

Donde ϕ ∈ (0,1] es un segundo parámetro de decremento de feromona. Como puede verse, la regla de actualización en línea paso a paso incluye tanto la evaporación de feromona como la deposición de la misma. Ya que la cantidad de feromona depositada es muy pequeña (de hecho, τ0 es el

Page 157: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

155

valor del rastro de feromona inicial y se escoge de tal manera que, en la práctica, se corresponda con el límite menor de rastro de feromona, esto es, con la elección de las reglas de actualización de feromona del OSCH: ningún rastro de feromona puede caer por debajo de τ0). La aplicación de esta regla hace que los rastros de feromona entre las conexiones recorridas por las hormigas disminuyan.9 Así, esto lleva a una técnica de exploración adicional del OSCH, ya que las conexiones atravesadas por un gran número de hormigas son cada vez menos atractivas para el resto de hormigas que las recorren en la iteración actual, lo que ayuda claramente a que no todas las hormigas sigan el mismo camino.

Los procedimientos Nueva_hormiga y Acciones_del_demonio (que en este caso interactúa con el procedimiento Evaporación_de_feromona) para el OSCH son como sigue:

1 Procedimiento Nueva Hormiga (id Hormiga)

2 k; id hormiga; r = Generar Estado Inicial; Sk = r

3 Lk= r

4 mientras (estado actual ≠ estado objetivo)

5 para cada s ∈Nk (r) hacer cálculo brs = τrs ⋅ ηrsβ

6 q= generar valor aleatorio en [0,1]

si (q≤q0)

Siguiente estado = max brs ,Nk(r)

si no

para cada hacer s ∈Nk (r) hacer

prsk brs

Σu ∈Nk(r) bru

9. El OSCH está, de hecho, basado en el Ant-Q, un algoritmo anterior propuesto por Gam-bardella y Dorigo. Su única diferencia con respecto al OSCH es la definición del término t0 en la actualización en-línea paso a paso de feromona, que en Ant-Q es la evaluación adelantada del siguiente estado (γ ⋅ maxS∈Ni τrs). De cualquier manera, los resultados ex-perimentales sugieren que el OSCH está al mismo nivel de rendimiento y por su mayor simplicidad es preferible al Ant-Q.

Page 158: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

156

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

siguiente estado = aplicar política de decisión (P, Nk(r))

fin si

7 r = siguiente estado; Sk, r

8 τrs = (1- ϕ) ⋅ τrs + ϕ ⋅ τ0

9 L = Lk Ur

10 fin mientras

11 ---

12 ---

13 ---

14 liberar recursos hormiga (id Hormiga)

15 fin Procedimiento

1 Procedimiento Acciones del demonio

2 para cada Sk hacer búsqueda local (Sk) opcional

3 Smejor - global = mejor solución (Sk)

4 si (mejor (Smejor - global = Smejor - global))

5 Smejor - global = Smejor - global

6 fin si

7 para cada arista ars ∈ Smejor - global hacer

se ejecuta el procedimiento

Evaporación de feromona () se lanza y evapora

feromona en la arista ars : τrs (1-ρ) ⋅ τrs

8 τrs = τrs + ρ ⋅ ƒ (C (Smejor - global ))

9 fin para

10 fin Procedimiento

Page 159: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

157

Aplicación a una empresa del sector confecciones del Valle del CaucaEn el mercado actual, altamente competitivo, la presión de los costos y los requerimientos de servicio conducen a la necesidad de tener una estrategia sólida de administración de activos, automatización de procesos, operaciones de enrutamiento y transporte, esta última una importante decisión operacional relacionada con toda la cadena de abastecimiento.

En la operación diaria del transporte es necesario decidir cuáles clientes visitar con un vehículo, los tiempos de disponibilidad, los puntos de entrega, las capa-cidades de los vehículos y la secuencia de cada una de las visitas, con el fin de obtener menores costos y cumplir con un nivel de servicio dado.

Debido a la complejidad de los problemas en la operación del transporte, existe un efecto combinado de incertidumbre, dinámica y complejas interdependencias entre los elementos del sistema.

La mayor parte de empresas relacionadas con el servicio de transporte, y en especial los operadores logísticos, realizan la planeación de la operación de una manera empí-rica, basados en la experiencia de su personal, y en muchos casos generan sobrecostos por la no utilización de un modelo que optimice la distribución y el transporte.

Debido a lo anterior, y con esta aplicación, producto del proyecto de investiga-ció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 Bue-naventura, seccional Cali, se quiso que con la utilización de la metaheurística sistema de colonia de hormigas y de un sistema VRP, la organización seleccionada diera respuesta a sus problemas en la planeación de la operación del transporte mediante la utilización de técnicas y herramientas (cuantitativas) que le per-mitieran plantear un modelo que pudieran utilizar sin importar los cambios que presenten las variables analizadas en el tiempo. Para alcanzarlo se escogió una empresa del sector textil-confección del Valle del Cauca que manejara un volumen considerable de distribución en la región.

Parámetros iniciales del problemaLa empresa del sector textil-confección objeto del estudio cuenta con un centro de producción y distribución ubicado en el norte de la ciudad de Cali y más

Page 160: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

158

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

de cien puntos de ventas a nivel nacional, además de exportar sus productos a varios países de Centro y Suramérica.

Dada la magnitud operativa de la empresa, se determinó un área específica para realizar el modelo, y considerando la finalidad del proyecto se seleccionó una zona que proporcionara la información necesaria para un análisis significativo del proceso de asignación de rutas actual, instancia para la cual se estableció la distribución de los productos en los doce puntos de venta ubicados en la ciudad de Cali, que tienen diferentes requerimientos diarios de demanda en unidades de prendas de vestir (modelos variados) y que deben ser satisfechos de acuerdo con los horarios disponibles de cada punto de venta para recibir los artículos.

Primero, se observó el proceso de enrutamiento, actividad clave para el mo-delo, y se encontró que la asignación de rutas era realizada por una persona con gran experiencia que organiza las entregas según su parecer; por lo tanto, no existía un criterio cuantitativo que permitiera asignar las entregas a los vehículos teniendo en cuenta el lugar, el tiempo, el costo, la capacidad de camión, el recorrido, etc.

Segundo, se decidió acompañar a los conductores en cada una de las rutas seleccionadas, con la finalidad de recolectar datos como distancias y tiempos, y verificar la metodología utilizada para hacer las entregas de mercancía. Un factor predominante que se detectó en este acompañamiento fue la diferencia que existe en lo que se hace y lo que se planea, debido a que el enrutador planea el recorrido que debe realizar el vehículo, pero este recorrido no se cumple debido a que el conductor cambia la asignación original que se planeó, por situaciones imponderables que no se consideran en el momento de la planeación, en algunos casos, y por negligencia del conductor y su ayudante, en otros.

Considerando las reflexiones anteriores sobre los parámetros iniciales del pro-blema, se solicitó la información pertinente a la empresa sobre la ubicación de los puntos de venta (dirección en Cali), la demanda y las ventas de tiempo. Con base en la direcciones de los puntos de venta y con la aplicación Google Earth Pro de Windows, se establecieron las coordenadas geográficas (latitud y longitud), como se muestra en la Tabla 12.

Seleccionando el modelo y el método de solución a utilizarLa complejidad de un modelo de asignación de rutas que permita la representa-ción de un sistema depende directamente de la información de entrada que se

Page 161: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

159

suministre; en la medida en que se posea un mayor conocimiento e información del sistema el modelo permitirá una mejor representación del sistema real y por consiguiente la calidad de los resultados será mejor.

Para seleccionar un modelo a utilizar se debe tener en cuenta cómo se realiza la actividad de entregas y qué restricciones se presentan en el transcurso de ella, como por ejemplo ubicación de los puntos a visitar, ventanas de tiempo o disponibilidad de recibo, tiempos de espera para entregar la mercancía y el volumen a entregar. El modelo seleccionado debe adaptarse a las necesidades, y con frecuencia es preciso combinar varios modelos que representen la situación actual.

El modelo elegido, en este caso, teniendo en cuenta los parámetros de entrada y las restricciones que el problema presenta, es un VPR con ventanas de tiempo en un contexto multiobjetivo; es decir, que se plantean tres funciones objetivo a considerar en el modelamiento del problema, y su solución se abordará desde la metaheurística del sistema de colonias de hormigas, la cual fue presentada con detalles en apartados anteriores de este mismo capítulo.

Puntos de venta (Nodos) Latitud Longitud

Demanda (unidades)

Ventanas de tiempo

Depósito 3,479731 76,500908 [8; 18]2 3,475686 76,527342 95 [8; 12]3 3,414117 76,547261 90 [14; 18]4 3,374219 76,538794 130 [14; 18]

5 3,485303 76,497414 130 [8; 12]

6 3,465369 76,500817 100 [8; 12]7 3,388808 76,5389 60 [14; 18] 8 3,385894 76,534072 70 [14; 18]9 3,412819 76,540542 85 [14; 18]

10 3,368911 76,527628 95 [14; 18]

11 3,465369 76,500817 100 [8; 12]

12 3,475686 76,527342 90 [8; 12]13 3,414117 76,547261 140 [14; 18]

Tabla 12

Parámetros iniciales del problema del ruteo de vehículos

Page 162: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

160

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

Para efectos de obtener los resultados de la solución se desarrolló un programa de computación en Java, propio para abordar los algoritmos de la metaheurís-tica y la interacción correspondiente con el modelo matemático del problema.

Modelo matemático del problema

Conjunto de vértices V = v0, v1, v2,..., v12. El depósito de identifica con

Un conjunto de arcos dado por A = (vi, vj)| vi, vj ∈ V; i ≠ j

Matriz de distancias o costos C = [Cij ] ∈ℝ13x13

Cantidad qi de bienes requeridos por el cliente i = 1, 2,...,12

Tiempo hi requerido para descargar la cantidad qi del cliente i = 1, 2,...,12

Ventana de tiempo [ei, lj] del cliente i = 0, 1, 2,...,12.

Número de vehículos m.

A cada vehículo k, con una capacidad Qj, se le asigna una ruta

Rk = v0, v1,..., vl , vl +1 k k

k kk k

donde vi ∈V , v0,= vl +1 = depósitok

k

kk

Instante de inicio bvj del servicio al cliente vi

Condiciones de factibilidad que debe cumplir la ruta Rk

lk

Ʃ𝑖 = 1

qk ≤ Qk𝑖

evl ≤ bvi

≤ lvi; con 1 ≤ i ≤ 12 k k k

bvi + hvi

+ cvi ≤ l0 k k k

Page 163: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

161

Suponiendo que todo vehículo viaja al próximo cliente una vez que haya ter-minado de servir al cliente actual

bvl = max evi

; bvi-1 +

hvi-1

+ cvl-1, vl

; con b0 = e0 y h0 = 0 k k k k k k k k

Así, el tiempo de espera en el cliente puede ser definido como:

wvi = max 0; bvl

- bvi-1 - hvi-1

- cvi-1, vi

k k k k k k

Tradicionalmente, el objetivo primario es la minimización de la distancia total recorrida (tiempo total de viaje) o la duración total de las rutas (tiempo total de entrega), y el objetivo secundario es la minimización del tamaño m de la flota de vehículos.

Esta aplicación utiliza una formulación multiobjetivo. En este contexto, la función objetivo es un vector tridimensional

F = [F1, F2, F3]

y ningún objetivo es más importante que los otros. Los tres objetivos utilizados son:

F1 = m, es el número de vehículos(tamaño de la flora)

cvi , vi+1

m

Ʃk = 1

lk

Ʃi = 0

k kF2 = es el tiempo total de viaje (o distancia total recorrida)

F3=F2

m

Ʃk = 1

m

Ʃk = 1

lk

Ʃi = 0

lk

Ʃi = 0

hvi +

es el tiempo total de la entregakwvi

donde kvi denota el cliente servido en el i-ésimo orden de la ruta Rk y lk representa

el número total de clientes servidos en dicha ruta Rk.

Sobre el funcionamiento de la metaheurística OSCHRecordando los epígrafes en los cuales se expuso con detalles los fundamentos del funcionamiento de la metaheurística sistema de colonia de hormigas, OSCH, se ilustra en la Figura 40 una síntesis de dicho funcionamiento.

Page 164: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

162

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

ResultadosCon el fin de lograr la mejor optimización en los resultados, el software elaborado en Java para este propósito se corrió en un ordenador Hewlett Packard, modelo 310-1110la, con memoria instalada (RAM) de 4,00 GB (3,75 GB utilizable), con un procesador AMD Athlon (tm) II X2240e Processor 2.80n GHz y con el sistema operativo Windows 7 Ultimate, de 64 bits.

A partir de los datos iniciales proporcionados por la empresa del sector textil-confección, relacionados en la Tabla 12, se calculan las entradas de la matriz de distancias (o costos) C = [cij] ∈ℝ13x13, presentada en la Tabla 13.

Figura 40Funcionamiento de la metaheurística OSCH

qi

ei;Qk

k≤

>

= τiu ⋅ ηiuβ

β

iu∈Nk(i)

Σiu∈Nk(i) ∈

ij

pij k τij ⋅ ηiu

τij ⋅ ηiu

Page 165: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

163

Tabla 13

Matriz de distancias para el problema del ruteo de vehículos

De igual forma, con base en la matriz de distancias, se calculan las entradas de la matriz de información heurística η = [ηij]∈ℝ13x13, haciendo ηij = , valores que permanecen inmodificables a lo largo de la solución del problema.

Tabla 14 Matriz de información heurística de las aristas en el grafo

del problema del ruteo de vehículos

1cij

Page 166: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

164

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

Otros parámetros fijos que se requieren, tanto en el modelo matemático como en el algoritmo del sistema de colonia de hormigas (OSCH), son:

– La cantidad qi de bienes requeridos por el cliente i=1, 2,...,12 se encuentran en la tabla de los parámetros iniciales del problema, al igual que las ventanas de tiempo [ei , li ] del cliente i=1, 2,...,12.

– Tiempo requerido para descargar la cantidad qi del cliente i=1, 2, 3,...,12: hi = 0,25 horas.

– Todos los vehículos con capacidad homogénea Qk=1200 unidades, equiva-lente a Qk=43 cajas, con k=1, 2,...,m.

– Rastro inicial de feromona τ0 =0,05.

– La matriz inicial de rastros de feromona τ=[τij]∈ℝ13x13 se escogió después de varias corridas, con un valor constante τij = 0,3.

– Referencia para la función de probabilidad q0 = 0,8 .

– Importancia relativa para los rastros de feromona α ∈[1,5] e importancia relativa para la información heurística β ∈ [1,5].

– Factores de actualización de feromona ρ = ϕ = 0,2.

Teniendo en cuenta estos parámetros iniciales y la experiencia de trabajos reali-zados en el mismo tema, se hicieron varias corridas y en cada una se modificaron los valores de las importancias relativas α y β.

Se encontró como mejor solución la correspondiente a dos recorridos: la primera ruta, R1 = (D-13-3-9-7-8-4-10-D), con una distancia de 28,45 km, un tiempo total de ruta de 3,5 horas y un costo mensual de $7.860.000; y la segunda ruta, R2 = (D-6-11-12-2-5-D), con una distancia de 8,98 km, un tiempo total de ruta de 2,5 horas y un costo mensual de $7.200.000.

Consolidando este resultado se establece que el total de distancia recorrida para visitar todos los puntos de venta, satisfaciendo la entrega de las demandas en las respectivas ventanas de tiempo, es de 33,67 km, con un tiempo total de recorrido de 6 horas y costo total mensual de $15.060.000.

El análisis gráfico de la solución permitió establecer que las dos rutas resultan por efecto del cumplimiento que hay que dar a la restricción de las ventanas de

Page 167: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 5 - El problema del ruteo de vehículos y la metaheurística inspirada en un sistema de colonia de hormigas

165

tiempo, esto es, un recorrido para los puntos de venta con ventanas de tiempo y el otro recorrido para los puntos de venta con ventana de tiempo [14,18].

Con base en las observaciones y el análisis de la primera solución, presentada en la Figura 41, se determinó correr nuevamente el problema unificando las ventanas de tiempo de todos los puntos de venta, ya sea en el intervalo [8,12] o en el intervalo [14,18], y además fijar los parámetros de importancias relativas que permitieron la mejor solución inicial con valores α=1y β=1 .

Figura 41

Resultados del problema del ruteo de vehículos a partirde los parámetros iniciales del problema

La solución obtenida en las condiciones anteriormente descritas muestra una solución de mejor calidad, dado que se da cumplimiento a la entrega de toda la demanda sin incumplir con la restricción de las ventanas de tiempo en una sola ruta R1 = (D-5-12-2-13-9-7-8-4-10-6-11-D) , como se muestra en la Figura 42.

Este único recorrido se hace en una distancia total de 31 km, en un tiempo total de ruta de 4 horas y con un costo mensual de $7.920.000.

212

313 9

78

4

5

11 6

Depósito

10

Page 168: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

166

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

Estos resultados, comparados con los de la primera solución, permiten un ahorro en distancia de recorrido de 5,8 km (17,22%), en tiempo total de ruta de 2 horas (33,33%) y en costo total mensual de $7.140.000 (47,4%).

La contundencia de estos resultados permitió establecer:

1. La bondad de los métodos cuantitativos en la solución de un problema de optimización, como lo es el problema del ruteo de vehículos con ventanas de tiempo en un contexto multiobjetivo.

2. Los efectos económicos en reducción de costos al aplicar modelos matemá-ticos y nuevas técnicas de solución en problemas de planeación y gestión.

3. La eficiencia de los desarrollos de nuevas técnicas de abordar los problemas de optimización, como son las metaheurísticas, en general, y el sistema colonia de hormigas (OSCH), en particular.

4. La optimización del tiempo de trabajo informático con los nuevos adelantos en la tecnología de las máquinas de computación.

Figura 42Resultados del problema del ruteo de vehículos a partir de las

modificaciones en los parámetros iniciales del problema

Depósito

2 12

5

313

9

78

4

11 6

10

Page 169: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

Capítulo 2 - Optimización clásica

167

Bibliografía

– ALONSO, S., et al. "Análisis de distintas vertientes para la paralelización de los algoritmos de optimización basada en colonias de hormigas". Actas del Segundo Congreso Español de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB03), pp. 160-167, Gijón, 2003.

– BONABEAU, E.; DORIGO, M., y THERAULAZ, G. (1999). Swarm intelligence: From natural to artificial systems. Oxford University Press, New York, NY.

– CLARKE, G. y WRIGHT, W. (1964). Scheduling of vehicles from a central depot to a number of delivery points. Operations research 12. pp.568–581

– COELLO, C. (1999). A comprehensive survey of evolutionary- based multiob-jective optimization techniques, knowledge information systems, Vol. 1, No. 3, pp. 129-156.

– CORDóN, O.; FERNÁNDEZ DE VIANA, I. y HERRERA, F. (2002). "Analysis of the best-worst ant system and its variants on the QAP". En: M. Dorigo; G. Di Caro y M. Sampels, editores, Proceedings of ANTS2002 - From ant colonies to artificial ants: Third International Workshop on Ant Algorithms, volume 2463 of Lecture Notes in Computer Science, pp. 228-234. Springer-Verlag, Berlín, Alemania.

– CORDóN, O.; HERRERA, F. y MORENO, L. (1999). "Integración de conceptos de computación evolutiva en un nuevo modelo de colonias de hormigas". VIII Conferencia de la Asociación Española para la Inteligencia Artificial, (Seminario Especializado en Computacion Evolutiva), Murcia (España), Vol. II, pp. 98-105.

Page 170: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

168

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

– DANTZIG, G.; FULKERSON, D. y JOHNSON, S. (1954). Solution of a large scale traveling salesman problem. Operations research 2. pp. 393–410.

– DANTZIG, G. y RAMSER, J. (1954). The truck dispatching problem. Mana-gement science 6. pp. 80–91

– DíAZ, A., et al. (1996). Optimización heurística y redes neuronales. Madrid: Paraninfo.

– DORIGO, M.; DI CARO, G. y GAMBARDELLA, L. M. (1999). "Antalgo-rithmsfordiscreteoptimization". Artificial Life, 5: 2, pp. 137-172.

– DORIGO, M. y STüTZLE, T. (2003). "The ant colony optimization me-taheuristic: Algorithms, applications and advances". En: F. Glover and G. Kochenberger, editores, Handbook of metaheuristics, pp. 251-285. KluwerA-cademicPublishers, 2003.

– FERNÁNDEZ, J. y BARAN, B. (2005). Equipo de algoritmos evolutivos multiobjetivo paralelos. Asunción: Universidad Nacional de Asunción. http://www.cnc.una.py/cms/invest/download.php?id=181909, 112,4 con-sulta: 2011, Mayo 3. s/n

– GAMBARDELLA, L. M.; TAILLARD, È. D. y AGAZZI, G. (1999). "MACS-VRPTW: A multiple ant colony system for vehicle routing pro-blems with time windows". En: D. Corne, M. Dorigo y F. Glover, editores, New Ideas in Optimization, pp. 63-76. London, UK: McGraw Hill, London.

– GOSS, S., et al. (1989). Self-organized shortcuts in the argentine ant. Naturwis-senschaften, 76:579-581.

– HILLIER, F. S. y LIEBERMAN, G. J. (2006). Introducción a la investigación de operaciones (Octava edición). México: McGraw Hill.

– HOLLAND, J. (1975). Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor.

– MARTíNEZ, E. y ESCUDEY, M. (1998). Evaluación y Decisión Multicrite-rio - reflexiones y experiencias. Santiago de Chile: Editorial Universidad de Santiago/UNESCO.

– MATHUR, K. y SOLOW, D. (1996). Investigación de operaciones. El arte de la toma de decisiones. México: Prentice-Hall Hispanoamericana, S. A.

Page 171: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

169

Bibliografía

– MICHEL, R. y MIDDENDORF, M. (1998). "An island model based ant system with lookahead for the shortest supersequence problem". En: A. E. Eiben, T. Bäck, M. Schoenauer, y H.-P. Schwefel, editores, Proceedings of PPSN-V, Fifth International Conference on Parallel Problem Solving from Nature, volume 1498 of Lecture notes in Computer Science, pp. 692-701. SpringerVerlag, Berlín, Alemania.

– NEWMAN, James R. (1985). SIGMA. El mundo de las matemáticas. Tomo 1. Décima edición. Barcelona: Grijalbo.

– NEWMAN, James R. (1985). SIGMA. El mundo de las matemáticas. Tomo 6. Décima edición. Barcelona: Grijalbo.

– PASTEELS, J. M.; DENEUBOURG, J.-L., y Goss, S. "Self-organization mechanisms in ant societies (I): Trail recruitment to newly discovered food sources." ExperientiaSupplementum, 54, pp. 155-175, 1987.

– REEVES, C. (editor). (2000). Modern heuristic techniques for combinatorial problems. London, UK: McGraw Hill.

– ROBINSON, R. (1999). “Welcome to OR Territory”. ORMS Today.

– TOTH, P. y VIGO, D. (2000) "An overview of vehicle routing problems. Monographs on discrete mathematics and applications". In: TheVehicle-RoutingProblem. SIAM 1–26

– WHITE, Michael. (2001). Leonardo, el primer científico. Barcelona: Plaza &Janés.

Page 172: Biblioteca Digital Universidad de San Buenaventura Colombia ...bibliotecadigital.usbcali.edu.co/bitstream/10819/4807/1/...miento de vehículos que se encuentran en procesos de distribución

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

πOp

tim

izac

ión:

de

la c

lási

ca a

las

met

aheu

ríst

icas

-

Luis

Alf

redo

Ech

ever

ri P

atiñ

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