Está en la página 1de 195

Curso 1995/96 CIENCIAS Y TECNOLOGAS

JUAN JOS SALAZAR GONZLEZ

Optimizacin combinatoria polidrica: problemas de rutas-localizacin

Directores PAOLO TOTH MATTEO FISCHETTI

SOPORTES AUDIOVISUALES E INFORMTICOS Serie Tesis Doctorales

a mis padres

Agradecimientos
Al Prof. Paolo Toth y al Prof. Matteo Fischetti debo mucho m as que s olo la direcci on y contenido de esta memoria. De cada uno de ellos he recibido, adem as de la constante e inmejorable motivaci on de un ideal Profesor, el incondicional apoyo de un singular Amigo. Agradezco al Ing. Alberto Caprara, co-autor del Cap tulo 8, y al Dr. Daniele Vigo las numerosas ayudas prestadas durante mis estancias en Bolonia (Italia). Agradezco de manera muy especial al Prof. Carlos Gonz alez Mart n, tanto por iniciarme en el estudio de la Optimizaci on Combinatoria Poli edrica, como por haber sido mi tutor durante mi Tercer Ciclo en la Universidad de La Laguna. Le agradezco tambi en la lectura de una versi on preliminar de esta memoria, y las notables mejoras que ha sugerido. Agradezco al Prof. Joaqu n Sicilia Rodr guez y a la Prof. Mar a Teresa Ramos Dom nguez el haber hecho posible mi contacto inicial con el Prof. Paolo Toth. Agradezco al Departamento de Estad stica, Investigaci on Operativa y Computaci on (Universidad de La Laguna), al Dipartimento di Elettronica, Informatica e Sistemistica (Universidad de Bolonia, Italia), al Dipartimento di Elettronica e Informatica (Universidad de Padua, Italia), y a una larga lista de profesores y amigos por sus aportaciones a mis conocimientos. Esta memoria ha sido parcialmente subvencionada por el Vicerrectorado de Investigaci on de la Universidad de la Laguna, por la Direcci on General de Universidades e Investigaci on del Gobierno de Canarias, por el M.U.R.S.T. (Italia) a trav es del Progetto Finalizzato Trasporti II, por la Comunidad Econ omica Europea a trav es de sus proyectos cient cos ERBCHRXCT930087 y ERBCIPDCT940623, por la Sociedad de Estad stica e Investigaci on Operativa, y por la Fundaci on Ramiro Melendreras. Juan Jos e Salazar Gonz alez.

Contenido

Pr ologo 1 Introducci on General 1.1 1.2 1.3 1.4 1.5 1.6 Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conceptos b asicos en Complejidad Algor tmica . . . . . . . . . . . . . . . . Conceptos b asicos de Teor a de Grafos . . . . . . . . . . . . . . . . . . . . Conceptos b asicos de Teor a de Poliedros . . . . . . . . . . . . . . . . . . .

v 1 1 3 4 6

Conceptos b asicos de Combinatoria Poli edrica . . . . . . . . . . . . . . . . 10 Algunos problemas combinatorios . . . . . . . . . . . . . . . . . . . . . . . 13 19

2 Problema del Ciclo en Grafos No-Dirigidos 2.1 2.2 2.3 2.4

Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 El pol topo del CP cuando |V | 4 . . . . . . . . . . . . . . . . . . . . . . 21 El pol topo del CP cuando |V | 5 . . . . . . . . . . . . . . . . . . . . . . 22 Un procedimiento de elevaci on . . . . . . . . . . . . . . . . . . . . . . . . . 28 35

3 TSP Generalizado: Su Poliedro 3.1 3.2 3.3

Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Facetas del pol topo del GTSP . . . . . . . . . . . . . . . . . . . . . . . . . 38 Facetas del pol topo del E-GTSP. . . . . . . . . . . . . . . . . . . . . . . . 44 i

4 TSP Generalizado: Un Algoritmo 4.1 4.2

59

Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Algoritmos de separaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.2.1 4.2.2 4.2.3 Un algoritmo de separaci on exacto para las Restricciones de Eliminaci on de Subtours Generalizadas . . . . . . . . . . . . . . . . . . . 61 Un algoritmo de separaci on heur stico para las Restricciones de Eliminaci on de Subtour Generalizadas . . . . . . . . . . . . . . . . 65 Algoritmos de separaci on heur sticos para las Desigualdades Peine Generalizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.3 4.4

Algoritmos heur sticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 El algoritmo enumerativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 C alculo de la Cota Inferior . . . . . . . . . . . . . . . . . . . . . . . 73 Pricing de las variables . . . . . . . . . . . . . . . . . . . . . . . . 77 Fijando variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 C alculo de la Cota Superior . . . . . . . . . . . . . . . . . . . . . . 79 Ramicaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

4.5

Resultados computacionales . . . . . . . . . . . . . . . . . . . . . . . . . . 81 93

5 Problema de la Orientaci on 5.1 5.2 5.3 5.4 5.5 5.6

Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Modelo Matem atico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Desigualdades adicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Algoritmos de separaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Algoritmos heur sticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Algoritmo de Ramicaci on y Corte . . . . . . . . . . . . . . . . . . . . . . 106 5.6.1 5.6.2 Inicializaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 La fase de hiperplanos de corte . . . . . . . . . . . . . . . . . . . . 107 ii

5.6.3 5.7

El algoritmo enumerativo

. . . . . . . . . . . . . . . . . . . . . . . 108

Resultados computacionales . . . . . . . . . . . . . . . . . . . . . . . . . . 109 119

6 Problema de Rutas de Veh culos con Capacidades 6.1 6.2 6.3 6.4

Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Modelo Matem atico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Fortaleciendo la Relajaci on Lineal . . . . . . . . . . . . . . . . . . . . . . . 123 Resultados computacionales . . . . . . . . . . . . . . . . . . . . . . . . . . 127 129

7 Privacidad en Tablas Estad sticas 7.1 7.2 7.3

Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Complejidad Algor tmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Tablas bi-dimensionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 Modelo Matem atico . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Una cota inferior: la fase de corte . . . . . . . . . . . . . . . . . . . 136 Una cota superior: el heur stico . . . . . . . . . . . . . . . . . . . . 141 El algoritmo de ramicaci on y corte . . . . . . . . . . . . . . . . . . 143 Resultados computacionales . . . . . . . . . . . . . . . . . . . . . . 145

7.4 7.5

Tablas multi-dimensionales . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 157

8 Problema de Selecci on de Indices 8.1 8.2 8.3 8.4 8.5

Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Modelo Matem atico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 GUFLP como SPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Procedimientos de separaci on . . . . . . . . . . . . . . . . . . . . . . . . . 167 Algoritmo heur sticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 iii

8.6 8.7 8.8

El algoritmo de ramicaci on y corte . . . . . . . . . . . . . . . . . . . . . . 170 Resultados computacionales . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 183

Bibliograf a

iv

Pr ologo
Esta memoria re une algunos trabajos realizados sobre Problemas de Rutas-Localizaci on, en el contexto de la Optimizaci on Combinatoria Poli edrica. Los primeros cap tulos se encuadran dentro de la Teor a de Poliedros, mientras que en los u ltimos se proponen algoritmos de Ramicaci on y Corte para diversos problemas combinatorios. Los problemas considerados est an estrechamente relacionados con el cl asico Problema del Viajante de Comercio (TSP), donde se cambia la condici on de que el ciclo deba ser Hamiltoniano, por otra condici on relacionada con la selecci on apropiada de ciertos nodos. Precisamente esta mezcla entre selecci on de nodos y ruta optima justica la clasicaci on de la familia como problemas de rutas-localizaci on). Los dos u ltimos cap tulos proponen dos nuevas aplicaciones reales, y sus relaciones con el TSP no deben buscarse tanto en los propios enunciados de los problemas, como en la metodolog a que se propone para sus resoluciones. El Cap tulo 1 establece la notaci on b asica, al tiempo que enuncia los resultados necesarios en el resto de la memoria. Tambi en sit ua en su u ltima secci on los problemas combinatorios que luego se analizan, indicando algunos problemas abiertos que podr an ser objeto de futuros trabajos en esta misma l nea. El Cap tulo 2 introduce una inmediata variante del TSP, sin estudios espec cos precedentes en la literatura, pero sin embargo de gran importancia al ser la relajaci on inmediata de notables problemas combinatorios. Dicha variante es el Problema del Ciclo (CP), y consiste en la b usqueda de un ciclo de costo m nimo en un grafo, que asumimos no dirigido. Nuestras contribuciones consisten en las descripciones de algunas nuevas familias que denen facetas de su pol topo. Tambi en proponemos un procedimiento de reforzamiento o de elevaci on de coecientes que genera facetas del pol topo del CP a partir de facetas del pol topo del TSP, y otro procedimiento que permite extender facetas de pol topos del CP peque nos a mayores. El Cap tulo 3 introduce una variante del TSP que se conoce como Problema del Viajante de Comercio Generalizado, en dos versiones diferentes que se representan por GTSP y E-GTSP, respectivamente. Ambas presentan los nodos del grafo divididos en grupos (clusters), y buscan un ciclo simple de costo m nimo. En el GTSP tal ciclo deber a visitar al menos un nodo de cada cluster, mientras que en el E-GTSP tal ciclo deber a visitar v

exactamente un nodo de cada cluster. Para cada uno de los correspondientes pol topos describimos familias de desigualdades que denen facetas y procedimientos de elevaci on de coecientes. El Cap tulo 4 aprovecha las desigualdades introducidas en el cap tulo anterior para proponer un algoritmo de ramicaci on y corte para el GTSP y el E-GTSP, afrontando satisfactoriamente los correspondientes problemas de separaci on. Tambi en se implementa una particular fase inicial que genera una interesante familia de desigualdades para comenzar la fase de hiperplanos de corte, y se proponen ecientes heur sticos. El algoritmo en su globalidad es contrastado sobre varios problemas de la literatura, mostrando una muy alta eciencia en relaci on con algoritmos anteriores. El Cap tulo 5 aborda un problema fundamental dentro de los problemas de rutas de veh culos. En este problema, cada nodo del grafo tiene asociado un premio, y cada arco un costo. Dado un costo l mite, se busca un ciclo simple con un costo no superior al costo l mite, pero que visite los nodos que le producen un premio total m aximo. El problema recibe el nombre de Problema de la Orientaci on (OP), y ha sido considerado extensamente en la literatura. Nosotros proponemos el primer algoritmo de tipo ramicaci on y corte, y demostramos su eciencia sobre una amplia gama de ejemplos de la literatura. En nuestro trabajo llegamos a resolver problemas con hasta 500 nodos en tiempos de c alculo razonables. El exito fundamental se debe a una nueva familia de desigualdades que se proponen, llamadas desigualdades condicionales. La separaci on de estas se basa en una enumeraci on sobre el grafo soporte de las soluciones fraccionarias, y ello se ha desvelado como un fundamental heur stico, al tiempo que como un generador de interesantes cortes. Estos cortes no son v alidos para todo el pol topo del OP, pero s para soluciones mejores que la mejor soluci on heur stica del momento. El algoritmo que se propone, aunque del tipo ramicaci on y corte, es al tiempo una variante ya que cuando acaba la fase de ramicaci on y corte queda la resoluci on de otro OP generalmente poco denso. El Cap tulo 6 afronta el cl asico Problema de Rutas de Veh culos con Capacidades (CVRP). Aportamos nuestras muy positivas experiencias usando la formulaci on como problema de multi-ujos (o de tres ndices). Aunque esta formulaci on es conocida para modelizar problemas generales de rutas de veh culos, su utilizaci on pr actica ha sido siempre descartada en el CVRP. Ello ha sido motivado por la hip otesis de igualdad en la capacidad de los veh culos, lo que lleva a pensar en la no-necesidad de distinguirlos. Sin embargo, en este cap tulo mostramos como la distinci on entre las rutas de los veh culos presenta notables ventajas al proporcionar una descomposici on de las soluciones del CVRP en soluciones de problemas de ciclos. Actuando individualmente sobre estos otros problemas hemos logrado alcanzar mejores cotas inferiores que las propuestas en otros trabajos precedentes. El Cap tulo 7 es una nueva aplicaci on de la Optimizaci on Combinatoria Poli edrica en Estad stica. El problema se conoce como Problema de Supresi on de Celdas (CSP), y vi

aparece cuando un organismo pretende publicar una tabla estad stica pero debe primero suprimir las celdas cuya publicaci on revelar a informaci on privada. De antemano se conocen esas celdas sensibles (supresiones primarias), y los rangos de valores que todo adversario deber a creer posibles para tales celdas. El CSP se plantea elegir las otras celdas no sensibles (supresiones secundarias) que tambi en deber an ocultarse para garantizar tales niveles de privacidad. Nosotros aportamos un simple modelo matem atico del CSP como un problema de Programaci on Lineal Entera, observando que se trata de un caso particular de un problema de suma de ciclos (sum-of-circuits). Tambi en describimos varias familias de desigualdades que fortalecen su relajaci on lineal, afrontamos sus respectivos problemas de separaci on, y proponemos un ecaz algoritmo heur stico que explota la informaci on de soluciones fraccionarias. Con todo ello hemos implementado un algoritmo de ramicaci on y corte para su resoluci on exacta, y mostramos nuestras experiencias sobre diversos problemas, tanto reales como generados aleatoriamente. A t tulo meramente indicativo, nuestra propuesta resuelve hasta la optimalidad todos los problemas de una librer a procedente del Netherlands Central Bureau en menos de 6 segundos sobre un PC 486 / 50 Mhz; algunos de ellos precisaban varios miles de segundos de un ordenador SUN Sparc 1+ ([G92]). El Cap tulo 8 es una nueva aplicaci on de la Optimizaci on Combinatoria Poli edrica planteada por ingenieros, que se ocupan del desarrollo de Bases de Datos en la Universidad de Bolonia (Italia). Dadas unas posibles cuestiones de clientes, y una informaci on que puede ser indexada seg un varios campos, el Problema de Selecci on de Indices (GUFLP) plantea elegir qu e ndices conviene construir de manera que se minimicen ciertos costes de respuesta y mantenimiento. El problema cuenta con la dicultad de que algunas cuestiones pueden ser respondidas utilizando m as de un ndice, es decir, conguraciones de ndices. Nosotros formulamos matem aticamente este problema como una generalizaci on del cl asico Problema de Localizaci on sin Capacidades (Uncapacitated Facility Location Problem, UFLP), estudiamos su estructura poli edrica vi endolo como un caso particular del problema del empaquetamiento de conjuntos (Set Packing, SP), y proponemos un algoritmo de ramicaci on y corte para su resoluci on. La clave de este algoritmo es la separaci on exacta de las desigualdades pe na y de las desigualdades ciclo impar particularmente reforzadas. El algoritmo propuesto result o bastante ecaz sobre las dos familias distintas de ejemplos que consideramos. Los resultados principales de esta memoria han sido presentados en diversos congresos internacionales, y parcialmente publicados en [FST94], [ESI95], [FS95], [FST95a], [FST95b], [FST95c], [CS96a], [CS96b], y [FST96].

vii

Cap tulo 1 Introducci on General


El objetivo de esta memoria es presentar nuevos estudios te oricos y computacionales de algunos problemas en Optimizaci on Combinatoria. La metodolog a utilizada se enmarca en la Combinatoria Poli edrica. As , algunos cap tulos estudian el pol topo asociado a un problema combinatorio (siguiendo pautas de la Teor a de Poliedros), y otros proponen un algoritmo de resoluci on para su resoluci on (b asicamente de tipo ramicaci on y corte). Este cap tulo establece las deniciones y resultados b asicos que se presuponen en el resto de la memoria. La u ltima secci on introduce los problemas que se tratan en detalle en los restantes cap tulos, mencionando tambi en otros problemas no tratados y que motivan futuros trabajos an alogos a los realizados en esta memoria.

1.1

Introducci on

La Optimizaci on trata los problemas de encontrar el m aximo o el m nimo de una cierta funci on objetivo en un cierto domino X . Las teor as cl asicas de Optimizaci on (C alculo Diferencial, C alculo en Variedades, Teor a del Control Optimo, . . .) afrontan los problemas cuando el domino X es innito (y la funci on objetivo tiene determinadas caracter sticas espec cas). La Optimizaci on Combinatoria, por su parte, es la rama de la Optimizaci on que afronta los problemas con un dominio X nito, conocidos como problemas combinatorios. Desde el punto de vista de la Matem atica Cl asica, los problemas combinatorios son triviales, ya que asume como v alida la t ecnica general de la Enumeraci on Total, esto es, del examen exhaustivo de todas y cada una de las posibles soluciones. Es f acil decir elegimos el mejor de este n umero nito de posibilidades. Ahora bien, desde el punto de vista de la Matem atica Moderna (m as preocupada por dar soluciones a problemas 1

GENERAL CAP ITULO 1. INTRODUCCION

actuales de la Econom a, T ecnica, Qu mica, . . ., y en tal sentido m as confundida con la Ingenier a Inform atica), los problemas combinatorios no son para nada triviales, sino que, muy al contrario, suponen grandes retos. En efecto, la enumeraci on total de las 100! posibles permutaciones que puede seguir un brazo mec anico al tener que perforar 100 puntos distintos de un chasis durante una cadena de montaje, agota sin lugar a dudas la paciencia de cualquier usuario (a un usando el m as potente de los ordenadores actuales). La Optimizaci on Combinatoria busca, para cada uno de sus problemas, una mejor alternativa pr actica de resoluci on frente a la (normalmente no-factible) t ecnica general de Enumeraci on Total, aprovechando para ello la particular estructura combinatoria de cada dominio X . Los or genes hist oricos de la Optimizaci on Combinatoria se deben a problemas en Econom a relativos a la planicaci on y administraci on de operaciones, y el uso eciente de recursos. Pronto se abordaron m as aplicaciones t ecnicas, modeliz andose como problemas combinatorios, tales como secuenciaci on de m aquinas, planicaci on de producci on, dise no y localizaci on de factor as. Hoy vemos que los problemas combinatorios est an por todas partes: inversi on de capital, dise no de campa nas de ventas, localizaci on de plantas industriales, estudios de c odigos gen eticos, clasicaci on de plantas y animales, dise no de nuevas mol eculas, asignaci on controlada de ondas de radios, construcci on de compiladores y bases de datos, trazado de redes de comunicaci on robustas, posicionamiento de sat elites, dise no y producci on de circuitos VLSI, tama no de otas de camiones y planicaci on del transporte, desarrollo de sistemas de transportes de masas y secuenciaci on de autobuses y trenes, asignaci on de trabajadores a tareas tales como pilotos a aviones, embalaje de mercanc as, codicaci on de informaci on, etc. La lista podr a ser interminable. Incluso en areas como deportes, arqueolog a o psicolog a, se est a utilizando la Optimizaci on Combinatoria para responder a importantes cuestiones. Son varias las ramas que, desde la simbiosis Matem aticas - Inform atica, est an trabajando para el exito de la Optimizaci on Combinatoria. Entre ellas destacamos la Combinatoria Poli edrica, en cuyo marco se realizan la aportaciones de esta memoria. La Combinatoria Poli edrica es la aplicaci on del Algebra Lineal (m as concretamente, de la Teor a de Sistemas Lineales y la Teor a de Poliedros) a la Optimizaci on Combinatoria, usando como puente de enlace la Programaci on Matem atica (m as concretamente, la Programaci on Lineal). Su objetivo inicial era el desarrollo de algoritmos para problemas combinatorios mediante el estudio de un poliedro generado por sus posibles soluciones X (debidamente representado en un espacio donde la funci on objetivo es lineal). En cierto modo podemos armar que la Combinatoria Poli edrica nace a mitad del siglo XX con el desarrollo del algoritmo del simplex para la Programaci on Lineal. Sin embargo, su objetivo actual se ha extendido cubriendo tambi en otras t ecnicas similares de resoluci on, y sobre todo bastantes resultados te oricos puramente combinatorios (min-max theorems, polarity, blocking/antiblocking,. . .). Precisamente esto u ltimo, junto con el hecho

1.2. CONCEPTOS BASICOS EN COMPLEJIDAD ALGOR ITMICA

de que cada problema es tratado de modo aislado para aprovechar espec camente su estructura combinatoria, hace que la Combinatoria Poli edrica sea un extenso campo de investigaci on, lleno de inmensidad de resultados y cuestiones abiertas, dif cilmente resumibles en este cap tulo. Adem as, ya en 1985 dec a Gr otschel [G85]: The subject of polyhedral combinatorics has grown so explosively in the recent twenty years that it is virtually impossible to write an (annotated) bibliografy of this eld aiming at a high degree of completeness. Nosotros nos limitaremos en las siguientes Secciones 1.21.5 a citar brevemente algunos conceptos y resultados b asicos de Complejidad Algor tmica, Teor a de Grafos y Teor a de Poliedros. No pretendemos que sean una introducci on general a sus correspondientes temas, sino s olo una base para establecer la notaci on espec ca que se usa a lo largo de esta memoria. Para profundizar en detalles, o para un estudio general de la Combinatoria Poli edrica, recomendamos los trabajos de Bachem y Gr otschel [BG82], de Pulleyblank [P82, P91], o de Gr otschel y Lov asz [GL93], y los libros de texto de Schrijver [S86], de Gr otschel, Lov asz y Schrijver [GLS88], o de Nemhauser y Wolsey [NW88]. Tambi en en esta misma l nea se recomienda el texto en elaboraci on de Cook, Cunninghan, Pulleyblank y Schrijver [CCPS95], a un no publicado. La Secci on 1.6 naliza este cap tulo describiendo (tambi en brevemente) el contexto de la Optimizaci on Combinatoria en el que surgen los problemas tratados en los restantes cap tulos de este trabajo.

1.2

Conceptos b asicos en Complejidad Algor tmica

Un problema es la descripci on de una situaci on, m as una pregunta sobre esta. La descripci on de la situaci on est a en funci on de ciertos par ametros que se llaman datos de entrada (input), y la respuesta puede representarse mediante unas variables que constituyen los llamados datos de salida (output), o propiamente respuesta. Tanto como deber an estar codicados como cadenas de caracteres de un cierto alfabeto (es decir, elementos del cierre de Kleen ). En tal sentido, los problemas se pueden representar como conjuntos {(, )} en el producto . Para cada jo, cuando el subconjunto {(, )} es no vac o se conoce como ejemplo (instance) del problema, aunque en ocasiones se confunde con el propio t ermino problema. Se llama tama no del ejemplo denido por los datos de entrada a la longitud de esta cadena (es decir, al n umero de caracteres iguales o distintos para codicar con el alfabeto ). Un aut omata es un mecanismo capaz de realizar ciertas operaciones elementales de modo autom atico. Pensemos en un ordenador. Un programa es un conjunto de instrucciones o pasos espec camente dise nado para hacer funcionar un aut omata. Un algoritmo para resolver un problema (mediante un aut omata) es un programa que conduce

GENERAL CAP ITULO 1. INTRODUCCION

al aut omata en un n umero nito de pasos a unos datos de salida concretos , a partir de los datos de entrada concretos de manera que (, ) es un elemento del problema. Para disponer de una medida de la eciencia de un algoritmo en la resoluci on de un problema, a cada uno se le asigna la siguiente funci on f sobre el espacio de los n umeros naturales, conocida como complejidad del algoritmo: f (n) es el m aximo de la cantidad de pasos que precisa el algoritmo para resolver ejemplos {(, )} del problema con tama no n. Ahora bien, en general, este valor es muy dif cil de evaluar con precisi on, es extremadamente dependiente de ||, y la nalidad es s olo la comparaci on entre algoritmos. Por ello, se suele simplicar el c alculo buscando una funci on g (n) m as simple que f (n) 3 n pero con su mismo tipo de crecimiento (por ejemplo n o 2 o n log (n)). En tal caso se dice que su complejidad es de orden g (n), y se representa por O(g (n)). Un algoritmo se dice polinomial cuando su complejidad es O(g (n)) con g acotado superiormente mediante un polinomio en n, cualquiera que sea el cardinal del alfabeto que se considere. En caso contrario se dice que el algoritmo es exponencial. Una subfamilia particular dentro de los algoritmos exponenciales la forman los algoritmos que son polinomiales s olo sobre alfabetos con un u nico elemento, que se conocen como algoritmos pseudo-polinomiales. Un problema se llama polinomial cuando se conoce un algoritmo polinomial que lo resuelva. La familia de los problemas polinomiales se conoce como clase P . Un problema se dice N P (o que est a en la clase N P ) cuando existe un algoritmo polinomial que conrma la pertenencia al problema de cualquier elemento (, ) que efectivamente lo sea. Tales algoritmos se llaman certicados de factibilidad. Es evidente que P N P , y la gran pregunta de la Complejidad Algor tmica es N P P ?. Un problema se llama N P -dif cil si dicho problema es N P y para cada problema de la clase N P existe un algoritmo polinomial que transforma cualquier ejemplo de este en un ejemplo de aqu el. Por tanto congura una subclase de N P (representada por N PC ) que contiene sus problemas m as dif ciles. Se conoce que tal subclase es no vac a, y que dentro destacan por su simplicidad precisamente muchos problemas combinatorios. Dentro de la clase N PC se puede a su vez distinguir entre los problemas N P -dif ciles en sentido d ebil, y los problemas N P -dif ciles en sentido fuerte, seg un que se conozca un algoritmo pseudo-polinomial o no, respectivamente, para su resoluci on. Los problemas que se tratan en esta memoria pertenecen a este u ltimo subgrupo, esto es, son problemas N P -dif ciles en sentido fuerte (v ease la Figura 1.1).

1.3

Conceptos b asicos de Teor a de Grafos

Un grafo G = (V, E ) es un par de conjuntos nitos, donde los elementos de V se llaman nodos (o v ertices) y los elementos de E se llaman arcos (o aristas). Cada arco e est a asociado con un par de nodos [u, v ], y se dice que e es incidente a u y v . Seg un que el

1.3. CONCEPTOS BASICOS DE TEOR IA DE GRAFOS


' $ ' $

NP

' $ N PC ' $  N PC en sentido fuerte  9  rX P y XXX XX & % & %XX Problemas tratados en esta memoria & & % %

Figura 1.1: Complejidad Algor tmica y los problemas tratados en esta memoria.

par de nodos asociado con un arco se considere o no dirigido, el grafo se dice dirigido o no-dirigido, respectivamente. Durante esta memoria trabajaremos fundamentalmente con grafos no-dirigidos, y por ello en la presente secci on s olo introducimos conceptos para estos. Adem as, asumimos (salvo cuando se dice expl citamente lo contrario) que E no tiene m as de un arco asociado con un mismo par de nodos, ni un arco asociado con un par de nodos iguales (bucle). Un grafo se dice completo cuando, jado V , el conjunto E contiene todos los posibles arcos. Dado V V , representamos por E (V ) al conjunto de todos los arcos cuyos dos nodos incidentes est an en V . Un corte es el conjunto de todos los arcos del grafo que tienen exactamente un nodo incidente en un conjunto V . Un grafo se dice bipartido si existe un corte que contiene todos sus arcos. Un subgrafo G = (V , E ) de un grafo G = (V, E ) es otro grafo tal que V V y E E . Dado V V , se llama subgrafo inducido por V al grafo G = (V , E (V )). Un subgrafo que sea adem as un grafo completo se llama pe na (clique). Un subgrafo que tenga V = V se llama generador (spanning). Un camino es un conjunto de arcos ordenables en una secuencia e1 , e2 , . . . , ek1 , ek , y de modo que dos arcos consecutivos comparte un mismo nodo incidente. Si u es el otro nodo incidente de e1 , no en e2 , y v el otro de ek , no en ek1 , entonces u y v se llaman los nodos extremos del camino, y se dice que el camino conecta u con v , y que visita los nodos incidentes a sus arcos. El n umero k se llama longitud del camino. Un grafo se dice conexo si para cada par de nodos existe un camino que los conecta. Los subgrafos conexos maximales de un grafo se llaman componentes conexas. Un grafo se dice k-conexo si para cada para de nodos existen k caminos que los unen, y sus nodos intermedios forman conjuntos disjuntos. Un nodo se llama punto de articulaci on cuando su eliminaci on de V aumenta el n umero de componentes conexas del grafo. Un arco se llama puente cuando su eliminaci on de E aumenta el n umero de componentes conexas del grafo. Un ciclo es un camino cuyos nodos extremos coinciden en uno mismo. Asumimos que en los ciclos tienen longitud 3. Un ciclo se dice simple si no contiene ciclos de menor

GENERAL CAP ITULO 1. INTRODUCCION

longitud. Un ciclo se dice Hamiltoniano si es simple y de longitud |V |, es decir, visita una y s olo una vez cada uno de los nodos del grafo. Estos tambi en reciben el nombre de tours, dejando la denominaci on de subtours para los ciclos simples no Hamiltonianos. Un ciclo que contiene una y s olo una vez cada uno de los arcos del grafo se llama Euleriano. Un bosque es un conjunto de arcos que no contienen ciclos. Se llama arbol cuando adem as todo subgrafo que lo contenga sea conexo, Un arbol se dice generador si todos los subgrafos que lo contengan son generadores.

1.4

Conceptos b asicos de Teor a de Poliedros

Dado E un conjunto nito, denotamos por I RE el espacio lineal de los |E |-vectores reales x con una componente xe para todo e E . Sea I RE ( = 0) y 0 I R. El semiespacio E denido por la desigualdad x 0 es el conjunto {x I R : x 0 }. El hiperplano denido por la desigualdad x 0 es el conjunto {x I RE : x = 0 }. Sea X I RE un conjunto nito. Los elementos de X se dicen linealmente independientes si la igualdad xX x x = 0 con x I R (x X ) implica x = 0 para todo x X . Los elementos de X se dicen af nmente independientes si las igualdades xX x x = 0 con x I R (x X ) y xX x = 0 implican x = 0 para todo x X . El siguiente resultado relaciona ambos conceptos. Lema 1.4.1 Sea E un conjunto nito y X un subconjunto nito de I RE . Son equivalentes las siguientes armaciones: 1. X son af nmente independientes, 2. dado un w I RE , {x w : x X } son af nmente independientes, 3. dado un x X , {x x : x X \ {x}} son linealmente independientes. La envolvente lineal de X (o espacio generado por X ) es el conjunto de puntos de la forma xX x x, donde x I R para todo x X , y sus elementos se llaman combinaciones lineales de X . Adicionalmente se puede exigir, o bien xX x = 1, o bien x 0 para todo x X , o bien ambas hip otesis. En el primer caso, el conjunto se llama envolvente af n y sus elementos combinaciones anes. En el segundo caso, el conjunto se llama envolvente c onica (o cono generado por X , que representaremos por cone(X )) y sus elementos combinaciones c onicas. En el tercer caso, el conjunto se llama envolvente convexa (que representaremos por conv (X )) y sus elementos combinaciones convexas.

1.4. CONCEPTOS BASICOS DE TEOR IA DE POLIEDROS

Un poliedro es la intersecci on de un n umero nito de semiespacios, y por tanto es representable a trav es de un sistema lineal nito Ax b. Uno de los resultados b asicos de la Combinatoria Poli edrica es el Teorema siguiente, debido a Weyl y Minkowski. Teorema 1.4.1 Para todo poliedro P = {x I RE : Ax b} existen conjuntos nitos E X, Y I R tales que P = conv (X )+cone(Y ). Rec procamente, para todo par de conjuntos X, Y I RE existe un sistema lineal nito Ax b tal que conv (X ) + cone(Y ) = {x I RE : Ax b}. Un pol topo es un poliedro acotado, es decir, un poliedro P para el que existen l, u I RE tales que P {x I RE : l x u}. El Teorema 1.4.1 nos da una denici on alternativa de pol topo como la envolvente convexa de un conjunto nito de puntos X , al tiempo que enuncia un interesante corolario: Dado un conjunto nito X de soluciones posibles, su envolvente convexa se puede representar mediante un sistema lineal nito Ax b. Esto es un resultado fundamental si tenemos presente las potentes herramientas que nos vienen de la Programaci on Lineal. Queda pendiente el problema de determinar un buen sistema lineal. Recordemos que en Optimizaci on Combinatoria no bastan los teoremas de existencia. Se llama dimensi on de un poliedro P , y se denota por dim(P ), al mayor n umero de puntos anmente independientes en P menos 1. Esta denici on se ha forzado as para que coincida con su signicado intuitivo: un punto tenga dimensi on 0, una semirrecta 1, un tri angulo 2, un cubo 3, . . .. El siguiente resultado muestra una u til conexi on entre la dimensi on de P y el mayor n umero nl de puntos linealmente independientes en P . Lema 1.4.2 Para cualquier P I RE , 1. si 0 es combinaci on af n de P , entonces dim(P ) = nl , 2. si 0 no es combinaci on af n de P , entonces dim(P ) = nl 1. Un poliedro se dice de dimensi on m axima (o llena) en I RE si dim(P ) = |E |. Esto signica que P no est a contenido en ning un hiperplano, y que por tanto cualquier representaci on suya carece de ecuaciones. Una desigualdad x 0 se dice v alida para un punto x (o que el punto satisface o verica la desigualdad) si x 0 ; en caso contrario se dice que la desigualdad est a violada por el punto. La desigualdad se dice v alida para un poliedro P si la desigualdad es v alida para todos los puntos de P , esto es, si P est a contenido en el semiespacio que ella dene. Una desigualdad se dice soporte para P si es v alida y existe alg un punto de P en el hiperplano que ella dene. El conjunto de puntos de P que est an en el hiperplano

GENERAL CAP ITULO 1. INTRODUCCION

denido por una desigualdad soporte se llama cara de P . Adicionalmente, y por convenio, se llaman tambi en caras al poliedro mismo P y al poliedro vac o , si bien estas se conocen como caras impropias para distinguirlas de las anteriores, que se llaman caras propias de P . Una faceta de P es una cara propia maximal. Se dice que una desigualdad x 0 induce o dene una cara F de P si es una desigualdad v alida para P y F = {x P : x = 0 } es una cara de P . Cuando x 0 induce una cara F de P y x 0 induce otra cara F de P , si F F P entonces se dice que x 0 domina a x 0 . Fortalecer una desigualdad signica encontrar otra a partir de ella que la domina. Por denici on, las desigualdades que inducen facetas no est an dominadas por ninguna otra desigualdad, y por tanto no pueden fortalecerse. Desde la perspectiva de determinar un sistema lineal Ax b para representar un poliedro dado como combinaciones convexas de vectores en X , las desigualdades que denen facetas son las m as importantes. En efecto, un sistema lineal con igualdades y desigualdades que determina un poliedro se dice minimal cuando 1. no es posible prescindir de ninguna igualdad o desigualdad sin ampliar el poliedro, 2. no es posible convertir ninguna desigualdad en igualdad sin restringir el poliedro. La importancia que antes hemos dado a las desigualdades que denen facetas se basa en el resultado siguiente. Teorema 1.4.2 Sea P un poliedro no vac o representado por las igualdades Ax b y por las desigualdades Cx = d. Entonces Ax b, Cx = d es un sistema lineal minimal para P si y s olo si 1. las las de B son linealmente independientes, y 2. cada desigualdad en Ax b dene una faceta de P . Este resultado tambi en garantiza la unicidad (salvo multiplicaciones por un escalar positivo) de las desigualdades que denen una faceta de un poliedro de dimensi on m axima, y por tanto que no hay peligro de tener dos desigualdades claramente diferentes que denan la misma faceta. Esta relevancia de las facetas en la b usqueda de sistemas lineales minimales, exige mejores caracterizaciones de ellas, y en tal sentido resulta u til el siguiente teorema. RE : Ax b, Cx = d}. Las Teorema 1.4.3 Sea F una cara propia de P = {x I siguientes armaciones son equivalentes:

1.4. CONCEPTOS BASICOS DE TEOR IA DE POLIEDROS 1. F es una faceta de P ; 2. dim(F ) = dim(P ) 1;

3. si x 0 y x 0 son dos desigualdades que inducen la faceta F , entonces existe I R positivo y I Rd tal que = + C y 0 = 0 + d. Ambas caracterizaciones constituyen los dos m etodos fundamentales para demostrar que una desigualdad dada x 0 induce una faceta de un poliedro P . El primero (n umero 2 en el Teorema 1.4.3) se conoce como m etodo directo, y persigue demostrar que existen dim(P ) puntos anmente independientes que satisfacen x = 0 . El segundo (n umero 3 en el Teorema 1.4.3) se conoce como m etodo indirecto, y se basa en que las facetas est an denidas por una u nica desigualdad, salvo combinaciones de las ecuaciones que denen el poliedro y salvo multiplicaciones por un escalar positivo. Durante esta memoria seguiremos principalmente el m etodo directo, aunque en el Cap tulo 2 tambi en usaremos el m etodo indirecto. Supongamos que una desigualdad x 0 dene una cara F de un poliedro P . Supongamos que hemos encontrado otra desigualdad x 0 que induce la misma cara que x 0 , diferente en el sentido de la caracterizaci on 3 del Teorema 1.4.3, y que por tanto x 0 no dene una faceta. Entonces es posible (en ocasiones) encontrar un oportuno tal que ( + )x (0 + 0 ) induce una cara de P de dimensi on dim(F ) + 1, es decir, que domina a x 0 . Los Cap tulos 2, 3 y 6 ilustran esta idea aportando nuevos resultados. En tal l nea trabajan los conocidos teoremas de elevaci on (del ingl es lifting theorems), afrontando el problema de generar facetas para un poliedro P a partir de facetas de una cara F suya. Uno de los m as b asicos (y que ser a utilizado en los Cap tulos 2 y 3) es el siguiente resultado, base del procedimiento el elevaci on secuencial introducido por Padberg [P75]. Teorema 1.4.4 Sea P un poliedro cuyos puntos extremos tienen componentes 0 o 1, e E una componente cualquiera tal que F = {x P : xe = 0} es una cara no vac a. Si eE \{e } e xe 0 dene una faceta de F , entonces e xe +
eE \{e }

e xe 0 e xe : x P y xe = 1

con e := 0 max dene una faceta de P .


eE \{e }

10

GENERAL CAP ITULO 1. INTRODUCCION

No queremos terminar esta secci on dejando en el lector la falsa idea de que las desigualdades que denen facetas son imprescindibles para la resoluci on de un problema. Como se ha dicho, lo son si se busca un sistema lineal minimal para la envolvente convexa generada por las posibles soluciones de un problema combinatorio, y en tal sentido conviene adelantar que para la mayor parte (esto es, para los N P -dif ciles) se cree que nunca se tendr a (aunque este pesimismo desaparecer a si N P = P ). La realidad es que por el momento s olo se puede aspirar a descubrir algunas de las facetas, describiendo as parcialmente el poliedro. Sin embargo, ni tan siquiera esto es en ocasiones tarea f acil, y muchas veces in util pensando s olo a la resoluci on del problema. El Cap tulo 5 es prueba clara de esto. En el se usan con exito desigualdades que en ocasiones, ni tan siquiera son v alidas para todo P , sino s olo para aquella parte de P que contienen puntos extremos mejores respecto a uno conocido.

1.5

Conceptos b asicos de Combinatoria Poli edrica

La base inicial para la resoluci on de un problema combinatorio mediante la Combinatoria Poli edrica es la representaci on de sus miembros como vectores (t picamente vectores incidentes 0-1), y la construcci on de un modelo matem atico de programaci on lineal entera. Este modelo generalmente ya contiene interesantes desigualdades lineales que delimitan el poliedro P en cuesti on. Sin embargo, no son sucientes, y un estudio ad hoc (como los que se realizan en esta memoria) son necesarios para describir nuevas familias de desigualdades lineales. Ahora bien, no todo est a resuelto cuando se tienen tales familias, incluso en el caso m as optimista de disponer de una familia F de desigualdades que describa completamente a P . En efecto, luego queda saber manipularlas en el interior de un algoritmo que funcione en la pr actica, dando soluciones a problemas reales. Una primera dicultad la plantea el siguiente problema, conocido como el problema de separaci on : Dada una familia de desigualdades F y un punto x I RE , demostrar que x satisface todas las desigualdades de F , o por el contrario, determinar una desigualdad de F que x no satisface. Este problema es la clave en el desarrollo de un algoritmo de hiperplanos de corte en el que se desea optimizar una funci on lineal sobre un poliedro P denido por un sistema lineal F . En efecto, el inmediato intento de tratar de resolver el problema lineal (LP) con todas las desigualdades de F fracasa en la pr actica ante el elevado n umero |F|. Un algoritmo de hiperplanos de corte procede entonces creando un LP inicial con s olo algunas desigualdades F F , e invoca luego iterativamente el siguiente procedimiento on optima; 1. resolver el LP, y sea x su soluci

1.5. CONCEPTOS BASICOS DE COMBINATORIA POLIEDRICA

11

2. resolver el problema de separaci on con x , parando cuando se concluye que x satisface F , o introduciendo en el LP la desigualdad que x no satisface. Evidentemente, es fundamental disponer de un potente algoritmo que resuelva los LPs que se proponen. Ahora bien, no menos importante, tanto desde un punto de vista te orico como pr actico, es el algoritmo que afronta el problema de separaci on. La importancia te orica queda acentuada con la siguiente equivalencia entre separar y optimizar: Sea P un pol topo denido por una familia de desigualdades F . El problema de optimizaci on de una funci on lineal sobre P es resoluble en tiempo polinomial si y s olo si el problema de separar un punto de F es polinomial (V ease Schrijver [S86], o Gr otschel, Lov asz y Schrijver [GLS88], o Nemhauser y Wolsey [NW88] para m as detalles de este otro resultado fundamental en Combinatoria Poli edrica.) A nivel pr actico, el n umero de iteraciones que precisa la t ecnica de hiperplanos de corte depende estrictamente de c omo se resuelva el problema de separaci on, y m as concretamente de qu e desigualdad se proponga para su incorporaci on al LP cuando x no pertenece al poliedro P generado por F . Por otra parte, conviene observar que en los problemas de Optimizaci on Combinatoria normalmente no se dispone de un sistema lineal completo F que describa su poliedro, s olo de un sistema lineal parcial F que describe completamente a un poliedro P 0 (ligeramente) mayor que P . Sin embargo, en muchos casos la anterior t ecnica de hiperplanos de corte sirve igualmente ya que en diversas ocasiones el punto nal x de P 0 tambi en est a en P . Los an alisis combinatorios que se exponen en los siguientes cap tulos de este trabajo ilustran extensamente esta idea. No obstante, claramente, una descripci on parcial no garantizar a siempre tal exito con todos los ejemplos del problema, y por tanto el correspondiente algoritmo de hiperplanos de corte (donde la separaci on atiende s olo a F ) debe ser completado con algo m as. La conclusi on anterior no es una consecuencia u nicamente debida al hecho de disponer s olo de descripciones parciales. De hecho, a un teniendo una descripci on lineal completa F de P , puede resultar conveniente detener el proceso iterativo sin esperar a que lo ordene la separaci on. Este es el caso de ver el problema combinatorio como un problema de Programaci on Lineal Entera, y se usan los cortes de Chv atal-Gomory como una descripci on completa. En efecto, durante la aplicaci on de una t ecnica de hiperplanos de corte puede suceder que el valor objetivo de los puntos x no cambie durante bastante iteraciones consecutivas (digamos que durante m iteraciones el valor de la funci on objetivo no se altera en unidades). Este fen omeno, caracter stico de muchos problemas combinatorios, se conoce como tailing-o, y una de las formas de afrontarlo es provocando la interrupci on del anterior proceso iterativo.

12

GENERAL CAP ITULO 1. INTRODUCCION

Cuando detenemos la fase de hiperplanos de corte sin que x se corresponda con una de las soluciones posibles del problema combinatorio, entonces se dispone de un potente LP sobre el que probar las distintas posibilidades que le faltan a x para ser factible. As , se dispone una herramienta que proporciona una buena cota en el marco de un algoritmo de Ramicaci on y Acotaci on (Branch and Bound). Esta es la idea b asica del trabajo, por ejemplo, de Gr otschel y Holland [GH91] para la resoluci on del cl asico Problema del Viajante de Comercio (TSP). Otra idea m as elaborada es la de re-aplicar el procedimiento de los hiperplanos de corte cada vez que el Algoritmo de Ramicaci on y Acotaci on deba calcular la cota. Esta otra idea se conoce como Ramicaci on y Corte (Branch and Cut), y aparece fundamentalmente como tal en el trabajo de Padberg y Rinaldi [PR87] sobre el TSP. En los u ltimos a nos han aparecido muchos otros interesantes resultados tambi en sobre otros problemas combinatorios, tales como, por ejemplo, el realizado por Homan y Padberg [HP93] sobre la planicaci on de una ota de aviones. El coraz on de esta t ecnica es precisamente resolver la separaci on sobre una familia de desigualdades de manera que se mantengan v alidas para los poliedros hijos que se tratan durante el examen de los nodos del arbol de ramicaci on (como sucede con las desigualdades que denen facetas del poliedro original). No obstante, son muchos los otros componentes que colaboran conjuntamente al buen funcionamiento de un algoritmo de ramicaci on y corte. Valga como ejemplo el disponer de algoritmos heur sticos que, aprovechando la informaci on proporcionada por soluciones exactas de relajaciones, generen buenas soluciones posibles del problema original. Puesto que dichas soluciones proceden generalmente de la resoluci on de un LP, se llaman heur sticos basados en el LP (LB-based heuristics). Esta memoria aporta nuevas aplicaciones del algoritmo de Ramicaci on y Corte a la Optimizaci on Combinatoria en sus Cap tulos 4, 5, 6, 7 y 8. Terminamos esta secci on observando que no es tarea nada f acil el hacer funcionar en la pr actica esta idea general de un algoritmo de Ramicaci on y Corte, y que muy por el contrario, son numerosas las dicultades que deben ser resueltas. Dejando a un lado las grandes cuestiones de determinar (para cada problema) los buenos cortes y reglas de ramicaci on, citaremos a t tulo ilustrativo dos de tales dicultades: No siempre es posible tratar con LPs que contienen todas las variables (por ejemplo, si |E | > 10.000), y a un si endolo, no siempre aconsejable para acelerar la resoluci on del mismo LP. De este modo, resulta conveniente gestionar externamente el control de las variables que en cada iteraci on posiblemente interesan tener en cada LP. Esto se conoce como fase de pricing. No suele ser posible (ni recomendable) mantener en el LP todas las restricciones que han sido propuestas por la separaci on. Suele convenir crear una estructura de datos externa, llamada piscina (pool), que en forma comprimida contiene tales restricciones, mientras que en el LP se mantienen s olo aquellas que, seg un alg un conveniente criterio, se consideran u tiles. As , a cualquier llamada a la fase de sep-

1.6. ALGUNOS PROBLEMAS COMBINATORIOS

13

araci on deber a preceder una garant a de que no existen desigualdades en la piscina no vericadas por la soluci on actual del LP. Para ello, tras la resoluci on de cada LP se realiza una b usqueda exhaustiva de las mismas, y se incorporan las que se localicen. As se evita la regeneraci on repetida de una misma desigualdad. En los casos donde es extremadamente dif cil demostrar la optimalidad, estos algoritmos pueden tambi en presentarse como buenos heur sticos, en el sentido de que producen soluciones pr oximas a las optimas con una cierta cualidad garantizada. Esta garant a procede de la resoluci on interna de relajaciones del problema original, esto es, de problemas m as f aciles que el original creados eliminando o debilitando algunas de las restricciones de partida.

1.6

Algunos problemas combinatorios

La Optimizaci on Combinatoria cubre una enorme familia de problemas, seg un hemos indicado al inicio de este Cap tulo. En esta memoria se aborda la resoluci on de algunos problemas combinatorios encuadrables fundamentalmente dentro de la particular subfamilia conocida como problemas de rutas-localizaci on (routing-location problems). En esta subfamilia se afrontan contempor aneamente el problema de la elecci on de puntos especiales (problema de localizaci on), con el dise no de rutas optimas que los recorran (problema de rutas), y en tal sentido contiene a su vez una cantidad considerable de problemas de gran relevancia tanto pr actica como te orica. La importancia pr actica es clara en una sociedad basada en comunicaciones y distribuciones. La importancia te orica se fundamenta en que algunos de sus problemas se consideran como problemas test para el desarrollo y prueba de t ecnicas generales, al tiempo que son objetivos claves de, por ejemplo, la Complejidad Algor tmica. Consideremos una red de conexiones, modelizada a trav es de un grafo G = (V, E ) donde cada arco e E tiene un costo asociado ce , y (quiz as) cada nodo v V un ciles, el m as simple y conocido premio asociado pv . Dentro de los problemas N P -dif es el Problema del Viajante de Comercio (Travelling Salesman Problem, TSP), en el que se busca un circuito Hamiltoniano en G de costo m nimo. Este problema ha sido extensamente tratado, seg un prueba el libro [LLRS85] que detalla su estado del arte hasta 1985. El TSP ha sido el primer problema donde la Combinatoria Poli edrica ha demostrado con exito lo que puede aportar a la Optimizaci on Combinatoria. Han sido varios los trabajos que han contribuido a ello, pero merecen destacarse de forma particular los de Padberg y Rinaldi [PR87, PR90, PR91] y de Gr otschel y Holland [GH91] cuyos algoritmos de Combinatoria Poli edrica permitieron resolver ejemplos con entre 17 y 2392 ciudades.

14

GENERAL CAP ITULO 1. INTRODUCCION

Algunos de ellos fueron generados aleatoriamente; otros proceden de aplicaciones geogr acas o industriales. El clave del exito fue una mejor comprensi on del pol topo del TSP: adem as de las antes conocidas desigualdades de eliminaci on de subtour (subtour elimination constraints), y de 2-emparejamiento (2-matching constraints), se aportaron las desigualdades peine (comb inequalities) y las arbol pe na (clique tree inequalities). Y cada una acompa nada de ecaces algoritmos (algunos heur sticos) para afrontar su correspondiente problema de separaci on. Pero adem as, no se puede menospreciar tambi en el gran papel que en todo ello ha jugado la aparici on de mejores programas resolvedores en Programaci on Lineal, y as los mejores resultados para el TSP est an en las CPLEX newsletter donde Applegate, Bixby, Chv atal y Cook han publicado recientemente la obtenci on de pruebas de optimalidad para ejemplos con 3038 y 7397 ciudades (v ease, por ejemplo, [CCPS95, p agina 258]). Ultimamente se han aportado nuevas familias de facetas del pol topo del TSP (v ease por ejemplo Rinaldi y Naddef [NR93]), pero a un no se ha afrontado convenientemente el (dif cil) problema de separarlas, y por tanto no hay nuevos resultados computacionales. Fischetti y Toth [FT92] tambi en han mostrado la gran herramienta que ofrece la Combinatoria Poli edrica para la versi on asim etrica del TSP. A partir del TSP aparecen distintas variantes que tratan de incorporar o cambiar alguna restricci on, bien con objetivos te oricos, bien con la nalidad de crear un problema combinatorio m as ajustados a ciertos problemas reales. Algunas de ellas son: Problema del Ciclo (Cycle Problem, CP): Consideremos un grafo no-dirigido, y un costo asociado con cada arco. El CP busca un ciclo simple en el grafo, no necesariamente Hamiltoniano, de costo m nimo. Se trata de un problema clave que subyace en numerosos problemas de rutaslocalizaci on, como se observa en varios cap tulos de este trabajo. En el Cap tulo 2 se realiza un estudio de su pol topo: se realizan demostraciones in editas sobre familias de desigualdades que denen facetas, y se aporta una nueva t ecnica que permite extender facetas del pol topo del TSP al pol topo del CP. Problema del Viajante de Comercio Generalizado (Generalized Travelling Salesman Problem, GTSP): Consideremos un grafo no-dirigido donde el conjunto de nodos est a dividido en grupos (clusters), y cada arco tiene un costo asociado. El GTSP busca un ciclo simple que, con costo m nimo, visite cada cluster al menos una vez. Otra versi on del problema (llamada E-GTSP) busca un ciclo simple que, con costo m nimo, visite cada cluster exactamente una vez. Ambas variantes de este problema proceden de aplicaciones pr acticas, por ejemplo, en localizaci on de buzones de correo en una ciudad, o de nodos principales para crear una red de comunicaciones. El Cap tulo 3 aporta un estudio poli edrico original de ambos, y el Cap tulo 4 aplica tales resultados proponiendo un algoritmo de

1.6. ALGUNOS PROBLEMAS COMBINATORIOS

15

ramicaci on y corte que, debidamente experimentado, se ha revelado como una buena t ecnica de resoluci on del GTSP. Problema de la Orientaci on (Orienteering Problem, OP): Consideremos un grafo nodirigido donde cada arco tiene asociado un costo, y cada nodo un premio. El OP busca un ciclo simple que, con un costo no superior a un determinado costo l mite, visite los nodos que le conlleven la recolecci on del m aximo premio posible. Este problema nace en el contexto de la localizaci on de un dep osito que optimice la posterior entrega de mercanc a a clientes, aunque tambi en es aplicable en otros contextos. Adem as, es un problema clave como relajaci on de numerosos problemas de rutas de veh culos. Una caracter stica pr actica bastante extendida es que el ciclo deba pasar necesariamente por un nodo dado, ya que representa la ruta de un veh culo que originalmente est a en el dep osito, y donde al nal debe volver. El Cap tulo 5 propone un algoritmo del tipo ramicaci on y corte, basados en nuevas y fuertes desigualdades no necesariamente v alidas para todo el poliedro. Problema de Rutas de Veh culos con Capacidades (Capacitated Vehicle Routing Problem, CVRP): Sea G = (V, E ) un grafo, donde existe un nodo particular 1 llamado dep osito. Cada arco e tiene un costo ce , y cada nodo v distinto del dep osito representa un cliente con una cierta demanda qv . Inicialmente en el dep osito hay m veh culos de capacidad id entica Q. El CVRP se plantea la b usqueda de al m aximo m ciclos simples con el menor costo posible, que pasen por el dep osito, que todo cliente est e visitado por exactamente un ciclo, y que la suma de las demandas de los clientes asignados a cada ciclo no exceda la capacidad Q. Este es un cl asico problema de Optimizaci on Combinatoria. Ha sido extensamente tratado desde numerosos puntos de vista. Nosotros aportamos en el Cap tulo 6 nuevas experiencias con un modelo cl asico, rechazado de antemano por otros investigadores. Nuestra experiencias muestran que el modelo es, por el contrario, muy prometedor. La base de ello radica en la posibilidad de descomponer la soluci on del modelo en soluciones de problemas de ciclos, y volcar entonces los recientes avances poli edricos. Indudablemente, son muchos los otros problemas extrechamente relacionados con el TSP. A t tulo de ejemplos citamos: Problema de Recolecci on de Premios (Prize-Collecting Travelling Salesman Problem, PCTSP): Consideremos un grafo no-dirigido donde cada arco tiene asociado un costo, y cada nodo un premio. El PCTSP busca un ciclo simple que, visitando clientes que al menos le proporcionen un premio l mite, tenga el menor costo posible.

16

GENERAL CAP ITULO 1. INTRODUCCION Este problema es una especie de problema dual del OP, si bien tiene un poliedro m as f acil de estudiar, ya que la restricci on del premio l mite m nimo mantiene una estructura combinatoria m as f acil de considerar que la restricci on del costo l mite m aximo. De hecho, aqu ella es un caso particular de esta. Un estudio poli edrico espec co de la versi on asim etrica del PCTSP aparece en Balas [B89, B93a].

Problema del Ciclo que Recubre (Covering Tour Problem, CTP): Consideremos un grafo donde los nodos est an divididos en dos conjuntos (V = U W ), y donde cada arco tiene una distancia asociada. Sea c0 una distancia pre-establecida. EL CTP busca un ciclo simple en el subgrafo inducido por U , con distancia m nima, y de manera que para todo nodo de W , la distancia de este a alguno de U visitado por el ciclo no supere c0 . Este problema es un caso particular del GTSP. Un estudio espec co ha sido realizado en Gendreau, Laporte y Semet [GLS96] Problema de Viajante de Comercio que Reposta (Refuelling Travelling Salesman Problem, RTSP): Consideremos un grafo donde los nodos est an divididos en dos conjuntos (V = U W ), y donde cada arco tiene una distancia asociada. Sea c0 una distancia pre-establecida. El RTSP busca un ciclo Hamiltoniano en el grafo, con distancia m nima, y de manera que todos los caminos que tal ciclo contiene en el subgrafo inducido por W tengan distancia no superior a c0 . El RTSP aparece en aplicaciones donde un viajante (avi on, tren, m aquina de perforar, respectivamente) debe visitar un conjunto de nodos (aeropuertos, estaciones de trenes, puntos potenciales de perforaci on, respectivamente) pero no pudiendo visitar en modo continuado excesivos nodos en U sin pasar por alg un nodo en W , donde se dispone de servicios especiales (repostar carburante, controlar su buen funcionamiento, enfriar la punta de perforaci on, respectivamente). El caso particular donde la limitaci on sobre cada camino no es en base a su distancia, sino al n umero de arcos que lo forman (o nodos en U que contiene), fue propuesto originalmente por Balas en una comunicaci on personal. No se conoce ning un trabajo sobre el RTSP en literatura, por lo que abre otro punto para futuras investigaciones. Tambi en partiendo del ATSP aparecen interesantes variantes, tanto aplicaciones directas de problemas de rutas, como de problemas de secuenciaci on de tareas. Entre ellas citamos a t tulo ilustrativo: Problema del Repartidor (Deliveryman Problem, DP): Consideremos un grafo G dirigido y un costo asociado a cada arco. Entre los nodos hay uno especial, llamado dep osito; los restantes se llaman clientes. El DP busca un circuito Hamiltoniano que minimice el costo medio del camino que lleva desde el dep osito a un cliente.

1.6. ALGUNOS PROBLEMAS COMBINATORIOS

17

TSP Dependiente del Tiempo (Time-Dependent Travelling Salesman Problem, TDTSP): Consideremos un grafo G dirigido, y un vector de |V | costos asociado a cada arco. Entre los nodos hay uno especial, llamado dep osito; los restantes se llaman clientes. El DP busca un circuito Hamiltoniano de costo m nimo, entendiendo que el costo de un arco es ck si el arco e ocupa la posici o n k - e sima en el circuito. e TSP con Tiempos de Ventana (Time-Window Travelling Salesman Problem, TWTSP): Consideremos un grafo G dirigido y un tiempo asociado con cada arco. Entre los nodos hay uno especial, llamado dep osito; los restantes se llaman clientes. Supongamos que cada cliente tiene asociado un tiempo de apertura y un tiempo de cierre. El TWTSP busca un circuito Hamiltoniano de manera que el coste del camino en el circuito desde el dep osito hasta el cliente se mantenga entre los dos tiempos que este tiene asociado. TSP con Restricciones de Precedencia (Travelling Salesman Problema with Precedence Constraint, TSP-PC): Consideremos un grafo G dirigido, una funci on de costo denida sobre los arcos, y una relaci on R de precedencia sobre los nodos. El TSPPC busca un circuito Hamiltoniano de costo m nimo que respete las relaciones de precedencia entre los nodos. El Cap tulo 7 afronta un problema combinatorio relacionado con el cubrimiento de un conjunto de arcos por ciclos, nacido en el contexto de la publicaci on de Tablas Estad sticas P ublicas. Cuando una empresa p ublica o privada se plantea la publicaci on de ciertos datos, normalmente est a vinculada por un compromiso de no revelar informaci on espec ca de individuos particulares, y que asegura la privacidad de estos. En tal sentido, durante el proceso de publicaci on de tales datos en forma de tablas estad sticas, aparecen algunas celdas que necesariamente se deben ocultar (celdas sensibles). Sin embargo, la existencia de algunas relaciones entre los datos (como las sumas marginales por las y columnas) produce que t picamente no baste con esto, y necesariamente otras celdas de la tabla deber an ser tambi en ocultadas. El problema de elegir estas otras celdas de manera que se garanticen ciertos niveles deseados de protecci on, pero se minimice al mismo tiempo la informaci on no publicada por estas supresiones secundarias, es un problema combinatorio llamado Problema de Supresi on de Celdas (Cell Suppression Problem, CSP). El Cap tulo 7 pretende claricar estas ideas, y propone una t ecnica de resoluci on poli edrica que supera notablemente cualquier t ecnica precedente. En el Cap tulo 8 introducimos una generalizaci on del cl asico Problema de Localizaci on sin Capacidades (Uncapacitated Facility Location Problem, UFLP). Esta generalizaci on ha sido motivada por un problema pr actico que aparece durante el dise no f sico de bases de datos. La buena administraci on de una base de datos depende directamente de la estructura de acceso considerada, y en tal sentido es clave la resoluci on optima del llamado Problema de Selecci on de Indices (Index Selection Problem, ISP). El Cap tulo 8 modeliza este problema como un problema combinatorio, poni endolo como una generalizaci on

18

GENERAL CAP ITULO 1. INTRODUCCION

del UFLP. Al tiempo tambi en propone un algoritmo de ramicaci on y corte que se ha manifestado como bastante ecaz en experiencias computacionales con ejemplos del ISP.

Cap tulo 2 Problema del Ciclo en Grafos No-Dirigidos


El Problema del Ciclo (CP) es una variante del Problema del Viajante de Comercio (TSP), donde en lugar de pedir que un ciclo pase exactamente una vez por cada una de las ciudades, se exige que pase al m aximo una vez. Cuando no se establece ninguna hip otesis sobre los costos asociados a los arcos, el CP es un problema N P -dif cil que subyace como relajaci on de numerosos problemas combinatorios. Desde un punto de vista te orico presenta un pol topo bien denido como la envolvente convexa de puntos extremos f aciles de generar (los ciclos simples); sin embargo, de su denici on mediante un sistema de desigualdades se conoce poco. En este cap tulo realizamos un estudio poli edrico del CP sobre grafos no dirigidos, demostrando que las desigualdades de la cl asica formulaci on lineal entera del CP denen facetas, extendiendo las desigualdades peine del TSP al CP, y proponiendo un procedimiento de elevaci on para obtener facetas del CP a partir de facetas del TSP.

2.1

Introducci on

Dado un grafo no-dirigido G = (V, E ) y un costo ce asociado con cada arco e E , se sabe que el problema de encontrar un ciclo (simple o no) de G teniendo costo total m nimo es resoluble en tiempo polinomial. En efecto, un ciclo optimo (si lo hay) puede encontrarse tras calcular un camino m nimo desde i hasta j en el grafo (V, E \ [i, j ]), para cada arco [i, j ] E . (No consideraremos ciclos de longitud menor de 3 ya que estos son trivialmente analizables.) Este problema tendr a soluci on optima (es decir, existir a un ciclo de costo total m nimo) si y s olo si existen ciclos en G (en otro caso, el problema ser a no-factible), 19

20

CAP ITULO 2. PROBLEMA DEL CICLO EN GRAFOS NO-DIRIGIDOS

pero ninguno de ellos tiene un costo total negativo (en otro caso, el problema ser a noacotado). Adem as, en tales casos se obtiene una soluci on optima entre los ciclos simples (esto es, ciclos que visitan exactamente un nodo). Si se busca expl citamente un ciclo simple de G con costo total m nimo, entonces el problema pasa a ser N P -dif cil. En efecto, un ejemplo del est andar Problema del Viajante de Comercio (TSP, para abreviar) puede reducirse a un ejemplo del anterior problema simplemente restando una constante positiva grande al costo de cada arco. De este modo, si tuvi esemos un algoritmo polinomial para resolver el problema inicial, tendr amos tambi en un algoritmo polinomial para el TSP. Al problema inicial se le conoce como Problema del Ciclo (CP, para abreviar). Balas [B93b] expone un an alisis poli edrico de la versi on asim etrica de este problema. Este trabajo ha sido distribuido como [FST94], y contempor aneamente a ha aparecido tambi en el trabajo de Bauer [B94] que persigue los mismos objetivos, si bien [B94] presenta un an alisis m as arduo por el espacio de variables en el que lo realiza. Sea C la colecci on de todos los ciclos simples de G, y sea xT I RE el vector caracT ter stico de un ciclo T C (es decir, la componente e- esima xe es 1 si el arco e est a en T , y 0 en otro caso). Si n := |V | entonces denimos el Cono del CP como Cn := cone{xT : T C} =
T C

T xT : T 0 para todo T C

y el pol topo del CP como Pn := conv{xT : T C} =


T C

T xT :

T 0 para todo T C , y T C T = 1

El primer problema introducido equivale a minimizar cx en x Pn + Cn , y el segundo problema introducido es equivalente a minimizar cx en x Pn . (V ease la Figura 2.1 (a), (b) y (c) para una visi on geom etrica de Cn , Pn y Pn + Cn , respectivamente.) Dado que el u ltimo es un problema N P -dif cil, es muy improbable determinar un sistema lineal que describa completamente a Pn . Como se ha indicado, no ocurre igual con el u ltimo poliedro, y sin embargo, hasta el momento, tampoco se conoce ninguna descripci on completa para Pn + Cn . Sea S V , entonces (S ) representa el conjunto de los arcos incidentes con exactamente un nodo de S , y E (S ) es el conjunto de los arcos con ambos nodos incidentes en S , es decir (S ) := {[i, j ] : i, j S }, E (S ) := {[i, j ] : i S, j S }.

2.2. EL POL ITOPO DEL CP CUANDO |V | 4

21

r !! ! ! r r !! !! ! !

r r

6 r

r a ar  r S Sr A A  r ( r ( A( r -

r r r ! r ! T ! ! r ( ( T( r -

(a) Cn .

(b) Pn . Figura 2.1: Poliedros asociados con el CP.

(c) Pn + Cn .

Por simplicidad, escribiremos (v ) en lugar de ({v }) para v S , y x(T ) en lugar de eT xe para T E . Seymour [S79] di o la siguiente descripci on lineal completa para Cn : x( (S ) \ {e}) xe 0 xe 0 para todo S V y e (S ), para todo e E. (2.1) (2.2)

Coullard y Pulleyblank [CP89] estudiaron conos similares. Nuestro objetivo es estudiar propiamente el pol topo Pn . Asumiremos que G = (V, E ) es un grafo completo.

2.2

El pol topo del CP cuando |V | 4

Cuando n = 3 entonces Pn es s olo 1 punto (con lo que dim(Pn ) = 0), descrito por xe = 1 para todo e E . Cuando n = 4 entonces Pn es la envolvente convexa de 7 puntos anmente independientes (el Teorema 2.3.1 es tambi en aplicable en este caso), con lo que dim(Pn ) = 6. As , una descripci on lineal completa viene dada por los hiperplanos determinados por cada conjunto de 6 de estos puntos, esto es x(T ) 2 x( (v )) 2 para todo ciclo Hamiltoniano T en G, para todo v V. (2.3) (2.4)

La desigualdad x(E ) 3 dene la cara impropia Pn cuando n = 3, y coincide con la mitad de la suma de las desigualdades (2.3) que denen facetas de Pn . Por tanto, en ning un caso x(E ) 3 dene una faceta de Pn .

22

CAP ITULO 2. PROBLEMA DEL CICLO EN GRAFOS NO-DIRIGIDOS

2.3

El pol topo del CP cuando |V | 5

Teorema 2.3.1 dim(Pn ) = |E |. Demostraci on. En efecto, si xT = para todo T C entonces [i,j ] = [i,k] + [k,j ] para todas las ternas i, j, k de nodos distintos, y por tanto e = 0 para todo e E , y = 0. Buscando una descripci on lineal entera de los puntos extremos de Pn , podemos concluir que estos est an en correspondencia biyectiva con las soluciones x de x ( (S ) \ ( (i) (j ))) x (( (i) E (S )) ( (j ) E (V \ S )) [i, j ]) 2 S V, i S, j V \ S x(E ) 3 xe {0, 1} e E. (2.5) (2.6) (2.7)

Es decir, Pn = conv{x I RE : (2.5) (2.7) se verica }. Ahora bien, tratando de justicar esta armaci on, y buscando al tiempo una simplicidad de notaci on, observemos lo siguiente. En general, estudiar un pol topo en un espacio af n donde resulta de dimensi on m axima, es mejor que estudiarlo en un espacio af n donde el pol topo no tiene esta propiedad; esto se basa en que en este u ltimo caso la misma faceta puede aparecer en diversas formas todas equivalentes. Sin embargo, a n de simplicar la notaci on y unir el pol topo del CP con el pol topo del TSP, para este problema particular, nosotros creemos m as adecuado estudiar Pn en un espacio lineal de mayor dimensi on. Consideraremos una variable adicional yv para cada v V asumiendo el valor 1 si el nodo v no est a visitado, y 0 en otro caso. Obs ervese que el vector de variables y representa el vector caracter stico de los nodos no visitados. Aunque inicialmente parecer a m as natural utilizar la variable complementaria y v := 1 yv , hemos optado por usar yv para mostrar una notaci on m as pr oxima al TSP. En el nuevo espacio, la formulaci on (2.5)(2.7) se convierte ahora en x( (v )) + 2 yv = 2 x( (S )) 2(yi + yj 1) y (V ) |V | 3 xe {0, 1} yv {0, 1} eE vV vV S V, i S, j V \ S (2.8) (2.9) (2.10) (2.11) (2.12)

donde, si S V , entonces denimos y (S ) := vS yv . Ahora es m as f acil observar que las ecuaciones (2.8) imponen que todo nodo visitado tiene 2 arcos incidentes, y todo nodo

2.3. EL POL ITOPO DEL CP CUANDO |V | 5

23

no-visitado tiene 0 arcos incidentes. Las desigualdades (2.9) imponen que no exista un subtour completamente contenido en un subconjunto S , si fuera de este existe un nodo j con yj = 0, esto es, visitado. La restricci on 2.10 impone que los ciclos factibles usen al menos 3 arcos. Con alg un exceso de notaci on, Pn conv{(x, y ) I RE V : (2.8) (2.12) se verica }. Con m as exactitud, el pol topo de la izquierda equivale a la proyecci on del pol topo de la derecha en el subespacio de las variables xe . Tal y como se dice en Balas [B93b], cuando un poliedro viene proyectado en un subespacio, las facetas de no se proyectan necesariamente en facetas del poliedro proyecci on. Ahora bien, en nuestro caso particular, si ocurre as puesto que la correspondencia entre ambos pol topos es una restricci on de una aplicaci on lineal f entre los espacios vectoriales I RE y I RE V (denida como f (z ) = (x, y ) con xe = ze para todo e E y yv = 1 e(v) ze /2 para todo v V ). Por lo tanto {z 1 , . . . , z k } son linealmente independientes en I RE si y s olo si {f (z 1 ), . . . , f (z k )} son linealmente independientes en I RE V . Por ello a partir de ahora nosotros no distinguiremos entre ambos pol topos. Estudiemos ahora la estructura poli edrica de Pn . N otese que la estructura facial de Pn est a claramente relacionada con la del pol topo Q del TSP, con quien coincide cuando se imponen las ecuaciones adicionales yv = 0 para todo v V , es decir Q = Pn {(x, y ) I RE V : yv = 0 para todo v V }. Siguiendo una idea que se expone tambi en en el Cap tulo 3, para unir ambos pol topos denamos el pol topo intermedio P (F ) := Pn {(x, y ) I RE V : yv = 0 para todo v F } cualquiera que sea F V . Por denici on, P (V ) = Q y P () = Pn . Lema 2.3.1 Para todo F V , dim(P (F )) = |E | |F |. Demostraci on. Dado que el sistema de ecuaciones de P (F ) incluye el sistema linealmente independientes de las ecuaciones yv = 0 para todo v F , es claro que dim(P (F )) |E | |F |. Demostraremos ahora por inducci on sobre := |V \ F | la existencia de |E | |F | + 1 puntos extremos de P (F ) af nmente independientes, con lo que tendremos la otra desigualdad. Cuando = 0, es decir, cuando F = V , la armaci on es cierta dado que P (F ) se corresponde con el pol topo del TSP (v ease, por ejemplo, Gr otschel y Padberg [GP85]). Asumamos ahora que la armaci on es verdad para = k 0 y demostr emosla para = k + 1, es decir, para un conjunto de nodos F V tal que |V \ F | = k + 1.

24

CAP ITULO 2. PROBLEMA DEL CICLO EN GRAFOS NO-DIRIGIDOS

Consideremos v V \ F y denamos F = F {v }. Debido a la hip otesis de inducci on, existen |E | |F | + 1 puntos anmente independientes pertenecientes a P (F ), y por tanto a P (F ). Como |F | = |F | + 1 necesitamos un punto extremo adicional de P (F ). Tal punto existe y se corresponde con cualquier ciclo Hamiltoniano en el subgrafo inducido por V \ {v } (recordemos que se asume n 4), m as el nodo aislado v . Re-encontramos ahora el Teorema 2.3.1 como un corolario del resultado previo. Otra inmediata consecuencia es que la eliminaci on de un nodo de cualquier conjunto de nodos F no vac o incrementa la dimensi on de P (F ) en exactamente una unidad. Por tanto cualquier desigualdad que dena una faceta para P (F ) puede elevarse de una forma simple de manera que induzca una faceta para P (F \ {v }). Lema 2.3.2 Sea F V y u F . Sea e xe +
eE v F

v yv

cualquier desigualdad deniendo una faceta para P (F ). Entonces la desigualdad elevada e xe +


eE v F

v yv + u yu

es una desigualdad que induce una faceta de P (F \ {u}), donde u se dene como u := max
eE

e xe +
v F

v yv : (x, y ) P (F \ {u}), con yu = 1 .

Demostraci on. La armaci on es consecuencia del Teorema de elevaci on secuencial de Padberg descrito, por ejemplo, en Gr otschel y Padberg [GP85]. El Lema 2.3.2 lleva a un procedimiento de elevaci on de desigualdades que denen facetas de Pn a partir de desigualdades que denen facetas para Q. Para alcanzar tal objetivo se debe elegir una secuencia de elevaci on de nodos {v1 , v2 , . . . , vn }, y el resultado se aplica iterativamente para derivar una faceta de P ({vt+1 , . . . , vn }) a partir de una faceta de P ({vt , . . . , vn }) para t = 1, . . . , n. Distintas secuencias de elevaci on pueden llevar a distintas facetas de Pn a partir de una misma faceta de Q. A continuaci on usamos este procedimiento de elevaci on para analizar la estructura facial de Pn . Comenzamos con las restricciones de no-negatividad. Teorema 2.3.2 1. La desigualdad xe 0 dene una faceta de Pn para cada e E .

2.3. EL POL ITOPO DEL CP CUANDO |V | 5 2. La desigualdad yv 0 dene una faceta de Pn para cada v V .

25

Demostraci on. La primera armaci on es una consecuencia directa del Lema 2.3.2, puesto que xe 0 dene una faceta del pol topo del TSP y cada secuencia de elevaci on produce v = 0 para todo v V . La segunda es consecuencia del Lema 2.3.1 puesto que la cara de Pn inducida por yv 0 es P ({v }). Si un nodo v no es visitado por una soluci on factible (x, y ) (es decir, si yv = 1) entonces no puede utilizarse ninguno de sus arcos incidentes e (v ) (es decir, xe = 0). Ello lleva a la siguiente desigualdad v alida para Pn : xe + yv 1 para todo v V y e (v ). (2.13)

Tal desigualdad coincide con una restricci on del tipo (2.1) con |S | = 1 (o |V \ S | = 1) cuando se proyectan fuera la variable yv mediante la ecuaci on (2.8). Veamos que denen facetas de Pn . Teorema 2.3.3 La desigualdad xe + yv 1 dene una faceta de Pn para todo v V y e (v ). Demostraci on. El Teorema 2.3.1 nos proporciona |E \ (v )| + 1 puntos anmente independientes que no visitan el nodo v (esto es, con yv = 1 y xe = 0). Nos resta obtener otros | (v )| 1 puntos anmente independientes usando el arco e (esto es, con yv = 0 y xe = 1). Pero esto es una f acil labor ya que existe un ciclo simple que pasa por el arco e y por cualquier otro arco de (v ) \ {e}. Adem as, ellos tambi en forman, todos juntos, un conjunto anmente independiente.

Corolario 2.3.1 e E.

1. La desigualdad xe 1 no dene una faceta de Pn para ning un

2. La desigualdad yv 1 no dene una faceta de Pn para ning un v V . Demostraci on. Evidente ya que cada desigualdad en (2.13) domina estrictamente las restricciones de cota superior xe 1 y yv 1. Continuando el an alisis de las desigualdades (2.1), cuando |S | = 2 (o |v \ S | = 2) ellas no denen facetas de Pn , ya que coinciden con la suma de dos desigualdades (2.13). Corolario 2.3.2 La desigualdad x( (S ) \ {e}) xe 0 (e (S )) no dene una faceta de Pn cuando |S | = 2 o |V \ S | = 2.

26

CAP ITULO 2. PROBLEMA DEL CICLO EN GRAFOS NO-DIRIGIDOS

Demostraci on. Supongamos S = {u, v } y e = [v, j ] con j V \ S . Entonces x ( (S ) \ {[u, j ]}) x[v,j ] = x( (u)) + x( (v )) 2 x[u,v] 2 x[v,j ] = (x( (u) \ {f }) xf ) + (x( (v ) \ {f }) xe ) con f (u) y e (v ). Cuando 3 |S | |V | 3 (y por tanto n 6), tampoco siempre (2.1) es una desigualdad que dene una faceta de Pn . Corolario 2.3.3 La desigualdad x( (S ) \ {e}) xe 0 (e (S )) no dene una faceta de Pn cuando |S | = 3 y n = 6. Demostraci on. Supongamos V = {u, v, w, i, j, k }, S = {u, v, w} y e = [v, j ]. La prueba viene de observar que todo punto extremo de Pn que satisface con igualdad la restricci on del enunciado, visita necesariamente alguno de los nodos en S , y por tanto satisface con igualdad x( (v ) \ {e}) + x( (j ) \ {e}) 2. Por lo tanto, los puntos extremos de Pn en el hiperplano x( (S ) \ {e}) xe 0 tambi en est an sobre otro hiperplano diferente. En la Secci on 2.4 veremos un procedimiento que aprovecha el razonamiento de la demostraci on anterior para generar una desigualdad que dene una faceta de Pn a partir de aqu ella que no la dene. Finalmente demostraremos que las restantes desigualdades en (2.1) si denen facetas de Pn . Teorema 2.3.4 La desigualdad x( (S ) \ {e}) xe 0 (e (S )) dene una faceta de Pn cuando S V , 3 |S | |V | 3 y n 7. Demostraci on. Consideremos un hipot etico hiperplano eE e xe 0 que contenga todos los puntos que satisfacen x( (S ) \ {e}) xe = 0. Veamos que tal hiperplano es necesariamente del tipo x( (S ) \ {e}) xe 0, para alg un > 0. Sin p erdida de generalidad podemos asumir que |S | 4. Esto nos garantiza que para todo f E (S ) se tiene que f = 0, ya que cualquier terna tri angulo {f, f , f } en E (S ) se deduce f = f + f . Esto mismo conlleva que 0 = 0. Supongamos que e = [v, j ] con v S, j S . Para cada par de nodos i, k V \ S (i, k j ), se deduce que [i,j ] = [j,k] + [i,k] , [j,k] = [i,j ] + [i,k] , y adem as dado que el

2.3. EL POL ITOPO DEL CP CUANDO |V | 5

27

tri angulo {[i, j ], [j, k ], [i, k ]} es un punto que del hiperplano, [i,j ] + [j,k] + [i,k] = 0. Y de tal sistema se concluye que g = 0 para todo g E (V \ S ). Finalmente, si denimos por := e , los puntos tri angulos {e, f, h} con f E (S ) conllevan h = para todo h (S ) (j ), y los tri angulos {e, g, h} con g E (V \ S ) conllevan h = para todo h (S ) \ (j ). La validez del hiperplano inicial conrma la no-negatividad de . Estudiemos ahora las restricciones (2.9). (obs ervese que siempre podemos asumir que |S | |V |/2 debido a que S y V \ S producen la misma cara de Pn .) Cuando |S | = 1 las restricciones (2.9) se reducen a las restricciones de no-negatividad yv 0 para v V ; as ellas denen facetas de Pn debido al Teorema 2.3.2. Cuando |S | = 2 las restricciones (2.9) se pueden escribir como xe + yv yw 1 para alg un e (v ) \ (w); as ellas est an dominadas por miembros de las desigualdades (2.13), y no denen facetas de Pn . Cuando 3 |S | |V | 3 las restricciones (2.9) inducen facetas de Pn como muestra el siguiente teorema, resultado de aplicar el procedimiento de elevaci on a las restricciones de eliminaci on de subtour (SECs) del TSP (v ease, por ejemplo, Gr otschel y Padberg [GP85]). Teorema 2.3.5 La desigualdad x(E (S )) + y (S \ {i}) yj |S | 1 dene una faceta de Pn para cada S V con 3 |S | |V | 3, i S , j V \ S . Demostraci on. Usamos el Lema de elevaci on 2.3.2. Sea {v1 , . . . , vn } cualquier secuencia de elevaci on tal que vt S para t = 1, . . . , |S |, v|S | = i, vt V \ S para t = |S | + 1, . . . , n, y vn = j . La desigualdad x(E (S )) + vV v yv |S | 1 induce una faceta para el pol topo del TSP para cualquier elecci on de los coecientes v . Iterativamente calculamos los coecientes de elevaci on vt = 1 para t = 1, . . . , |S | 1, v|S| = 0, vt = 0 para t = |S | + 1, . . . , n 1, y vn = 1. Ahora generalizaremos las desigualdades peine del TSP (v ease Gr otschel y Padberg [GP85] para la denici on y propiedades de estas desigualdades que inducen facetas en el TSP). Un peine es una familia (H, T1 , . . . , Ts ) de s + 1 subconjuntos de nodos tales que: umero impar; 1. s 3 y un n 2. Tj Tk = para 1 j < k s; 3. Tj H = y Tj \ H = para j = 1, . . . , s.

28

CAP ITULO 2. PROBLEMA DEL CICLO EN GRAFOS NO-DIRIGIDOS

Teorema 2.3.6 Sea (H, T1 , . . . , Ts ) un peine. Para j = 1, . . . , s sean aj y bj nodos en Tj H y Tj \ H , respectivamente. Entonces la siguiente desigualdad
s s

(x(E (H )) + y (H )) +
j =1

(x(E (Tj )) + y (Tj \ {aj , bj })) (|H | 1) +


j =1

(|Tj | 1)

s1 2 (2.14)

dene una faceta para el Pn . Demostraci on. Como en la demostraci on del Teorema 2.3.5, comencemos considerando una secuencia de elevaci on {v1 , . . . , vt } de V donde aj (resp., bj ) sigue a todos los otros nodos en Tj H (resp., Tj \ H ). Los coecientes v = 0 para v V \ (H T1 . . . Tk ) y v = 1 para v H \ (T1 . . . Tk ) se calculan f acilmente. La correcteza de los coecientes v = 2 para v (Tj H ) \ {aj }, y v = 1 para v (Tj \ H ) \ {bj }, puede controlarse con ayuda de las Figuras 2.2a y 2.2b, respectivamente. En cuanto al valor de aj observemos que aj es el u ltimo nodo de la secuencia de elevaci on dentro de Tj H , es decir, cuando se calcula aj debemos tener presente la posibilidad de que un ciclo simple evite todos los nodos en Tj H . Ello lleva a aj = 1 por cuanto nosotros ya hemos calculado el valor v = 2 para v (Tj H ) \ {aj }; v ease la Figura 2.2e. De forma similar, cuando se calcula bj debemos considerar la posibilidad de tener no cubiertos todos los nodos en Tj \ H . Ello lleva a bj = 0 debido al ciclo simple que se presenta en la Figura 2.2f. Como ya se ha indicado, en la misma l nea todas las desigualdades que denen facetas para el pol topo del TSP producen desigualdades que denen facetas para el pol topo del CP, sin m as que aplicar el procedimiento del Lema 2.3.2. Ahora bien, ello lleva intr nseca la dif cil tarea de calcular los coecientes u que no se conocen de antemano, y que deben ser calculados resolviendo un particular CP. Resulta pues de gran utilidad desarrollar otro procedimiento alternativo de elevaci on, y esto lo haremos en la pr oxima secci on. La inspiraci on para ello aparece en la demostraci on del siguiente resultado referente a las desigualdades (2.10), que ahora s denen facetas de Pn . Como veremos, otra forma alternativa de alcanzar la estructura poli edrica de Pn diferente de aquella que parte del pol topo del TSP (donde todos los nodos tienen yv = 0), ser a partir del propio Pn para un n menor (donde casi todos los nodos tienen yv = 1), y proceder igualmente por inducci on.

2.4

Un procedimiento de elevaci on

En lugar de relacionar la estructura facial de Pn con aqu ella del bien conocido pol topo Q del TSP (debido a que Q es una relajaci on de Pn ), ahora estamos interesados en describir

2.4. UN PROCEDIMIENTO DE ELEVACION


 t '  t  

29

$ ' $  t t      t tv            t t   t X t  X t   t   t    % % Xt  t t & % t  & % t  D CC a t t a t v a Dt t t Ct a A t XXX J XXX At X t X J        

(a) v = 0
 t  

(b) v = 1
 t  

$  t t        t t                  t t   t t  t  t  t  v t     t t  & %  t  & %  t aa C a t t a a t  at a t t  a Ct  XX J t v X Jt X t          

'

$ '

(c) v = 2
 t  

(d) v = 1
 t ' $ $

t t   @   @ t  t @          @  
T t
a t  jt hhh @t t t %
t T Tt t %  t & % t  & % aa CC  t t a a t t aa Ct a t at t t T b t j t T          

'

(e) aj = 1

(f) bj = 0

Figura 2.2: Ciclos simples ajustados para la demostraci on del Teorema 2.3.6.

30

CAP ITULO 2. PROBLEMA DEL CICLO EN GRAFOS NO-DIRIGIDOS

un procedimiento de elevaci on inductivo sobre n para producir una faceta de Pn . Para ello, introducimos antes algunas deniciones b asicas. Denici on 2.4.1 Sea x y + una desigualdad v alida para Pn , y v un nodo arbitrario pero jo. Denotamos con H(, , ) := Pn {(x, y ) I RE V : x + y = } la cara de Pn inducida por x y + . La cara v -restricci on inducida por x y + es la cara Hv (, , ) := H( , , ) donde e = e para e E \ (v ), e = 0 para e (v ), u = u para u V \ {v }, v = 0, y = v . El grafo v -compatible de x y + es el grafo Gv (, , ) = (V \ {v }, E ) con [u, w] E si y s olo si existe (x, y ) H(, , ) con x[v,u] = x[v,w] = 1. El rango de un grafo se dene como el rango de su matriz de incidencia arco-nodo, esto es, el n umero de sus nodos menos el n umero de sus componentes bipartitas conexas. El grafo se llama de rango m aximo cuando su matriz de incidencia arco-nodo es de rango m aximo, esto es, cuando Gv (, , ) tiene un ciclo impar en cada componente conexa. Lema 2.4.1 Para cada desigualdad v alida x y + de Pn y cada nodo v V , la dimensi on de H(, , ) es mayor o igual a la dimensi on de la cara v -restricci on, m as el rango de su grafo v -compatible. Demostraci on. Sea Z una matriz en la que cada la es un punto extremo de H(, , ). Puesto que H(, , ) est a contenido en un hiperplano que no pasa por el origen (por ejemplo, aquel inducido por (2.10)), un subconjunto de las de Z ser a af nmente independiente si y s olo si este es linealmente independiente. As la dimiensi on de H(, , ) coincide con el rango de Z menos 1. Ahora Z puede verse dividida en Z= Z11 0 1 Z21 Z22 0 ,

donde la u ltima columna se corresponde con la variable yv , y las columnas de Z22 se corresponden con las variables xe para e (v ). Entonces el rango de Z es al menos la suma del rango de Z11 m as el rango de [Z22 1]. Por construcci on, el rango de Z11 es la dimensi on de la cara v -restricci on inducida por x y + , m as 1. En cuanto a Z22 , observamos que cada una de sus las contiene exactamente 2 unos y (salvo las repetidas) puede verse como una matriz de incidencia arco-nodo del grafo v -compatible Gv (, , ) asociado con x y + . Adem as, la u ltima columna de [Z22 1] es una combinaci on lineal (con coecientes 1/2) de las otras columnas. Esto concluye la demostraci on.

alida para Pn y sea v un nodo tal que Corolario 2.4.1 Sea x y + una desigualdad v la cara v -restricci on inducida por x y + es una faceta de Pn1 . Entonces x y + dene una faceta de Pn si y s olo si su grafo v -compatible asociado, Gv (, , ), es de rango m aximo.

2.4. UN PROCEDIMIENTO DE ELEVACION

31

Estas conclusiones proponen demostraciones alternativas para los teoremas de la Secci on 2.3 que no expondremos por considerarlas ahora redundantes. Ilustraremos, sin embargo, la sencillez de esta nueva metodolog a de demostraciones sobre un interesante resultado, nada trivial de demostrar por la v a cl asica. Teorema 2.4.1 Si n 5 entonces y (V ) |V | 3 dene una faceta de Pn . Demostraci on. Si n = 5, entonces los puntos extremos que verican y (V ) = |V | 3 son los tri angulos en E , de los que hay uno asociado con cada arco e = [u, v ] E (aqu el con yu = yv = 1), y son adem as todos anmente independientes (el determinante de sus vectores caracter sticos es no nulo). Para concluir la demostraci on basta aplicar ahora el Corolario 2.4.1, observando que el grafo v -compatible asociado es un grafo completo. Como se muestra en el Lema 2.4.1, el rango del grafo v -compatible Gv (, , ) asociado con una desigualdad x y + dada juega un papel centra cuando se analiza la estructura poli edrica de Pn . Desgraciadamente, determinar si un arco est a o no presente en Gv (, , ) exige la construcci on de una cierta soluci on del CP (x, y ) con x + y = , por lo que se trata de un problema N P -dif cil en general. En la pr actica, uno s olo est a interesado en encontrar condiciones sucientes para la pertenencia de un arco en Gv (, , ). Sea x y + una desigualdad. Para v V , denotamos por (v ) := {[i, j ] E \ (v ) : v + ij = iv + jv } el conjunto de los arcos ajustados para v . Recordemos que una cara H de Pn se llama trivial cuando H {(x, y ) I RE V : xe = 0} para alg un e E ; no-trivial en otro caso. Lema 2.4.2 Sea v V , y x y + una desigualdad v alida deniendo una cara v -restricci on no-trivial de Pn . Entonces Gv (, , ) contiene todos los arcos en (v ). Demostraci on. Sea [i, j ] cualquier arco en (v ). A partir de la hip otesis de no-trivialidad, existe un punto extremo (x, y ) H(, , ) que usa el arco [i, j ]. Si este punto visita v la armaci on se verica trivialmente; si no es as , entonces comenzando con esta soluci on construimos un nuevo punto ( x, y ) sustituyendo el arco [i, j ] por [i, v ] y [j, v ]. Entonces x + y = x + y + (iv + jv ij v ) = x + y , ya que [i, j ] (v ). As pues, ( x, y ) est a en H(, , ) y visita v . Se concluye as que [i, j ] Gv (, , ). Del Corolario 2.4.1 tambi en podemos derivar otros u tiles resultados. Sea x y + una desigualdad v alida para Pn y sea v cualquier nodo tal que la cara v -restricci on inducida

32

CAP ITULO 2. PROBLEMA DEL CICLO EN GRAFOS NO-DIRIGIDOS

por x y + es una faceta de Pn1 . Si x y + no dene una faceta de Pn , entonces el corolario anterior dice que una componente conexa de Gv (, , ) es bipartita. Mostraremos c omo pueden cambiarse los coecientes e (e (v )) para producir una desigualdad m as fuerte, deniendo una cara de Pn de mayor dimensi on que antes. Para ello, sea S V \ {v } el conjunto de nodos de una componente bipartita de Gv (, , ), dividido en entre los conjuntos S1 y S2 tales que |S1 | |S2 |. Entonces cada (x, y ) H(, , ) verica la ecuaci on: x :=
e (S1 ) (v )

xe
e (S2 ) (v )

xe = 0 .

Claramente, x 0 no es una desigualdad v alida para Pn , puesto que est a violada por cualquier soluci on del CP que use los dos arcos [i, v ] y [j, v ], donde i es un nodo cualquiera elegido en S1 , y j est a elegido arbitrariamente en V \ (S2 {v, i}) (la existencia de estos dos nodos deriva de las hip otesis |S1 | |S2 | y n 5). Se sigue que x = 0 no es una combinaci on lineal de las ecuaciones (2.8). Adem as, no es una combinaci on lineal de (2.8) y x + y = ya que la cara v -restricci on inducida por x 0 es Pn1 , mientras que se ha asumido que la cara v -restricci on inducida por x y + es una cara propia. Consideremos ahora la desigualdad elevada ( + )x + y , (2.15)

donde 0 es un par ametro real. N otese que = 0 lleva a la desigualdad v alida x y + , mientras que cuando tiende a + la desigualdad (2.15) tiende a la desigualdad no-v alida x 0. Sea el m aximo valor de tal que (2.15) es v alida. Este valor puede calcularse como

= min

x y : (x, y ) Pn , x > 0 , x

es decir = min
1

donde
1 2

1 min {e : e E (S1 )} , 2 := min {e : e (S1 ) \ ({v } S2 )} , :=

y para todo [i, j ] E \ (v ) con i S1 y j S2 , [i,j ] := min x y : (x, y ) Pn , x[i,v] = x[j,v] = 1 ( 0). Para cualquier [0, ], H( + , , ) es una cara propia de Pn (debido a que (2.8), x + y = , y x = 0 son ecuaciones linealmente independientes) que contienen

2.4. UN PROCEDIMIENTO DE ELEVACION


@ @

33

( +

)x + y @@

x 0 H Y

@ PP @ PP PP@ PP tH(, , ) @ P @PPP PP @ PP Pn @ PP = 0 PP @ PP (x , y ) @ t @ x + y @ @ = @ i= Y H @ @ @

Figura 2.3: Geometr a del procedimiento de elevaci on. a H(, , ). Adem as, H( + , , ) contiene tambi en un punto (x , y ) Pn tal que x > 0 (es decir, el punto que determina el valor ), lo que prueba que dim(H( + , , )) dim(H(, , )) + 1. La geometr a del procedimiento de elevaci on anterior se ilustra en la Figura 2.3. Iterando el procedimiento anterior podemos obtener una desigualdad que induce una faceta para Pn a partir de una que dene una faceta en Pn1 . Esto motiva el estudio espec co de Pn para peque nos valores de n (digamos n = 6 o n = 7).

Cap tulo 3 Problema del Viajante de Comercio Generalizado: Su Poliedro


El Problema del Viajante de Comercio Generalizado sim etrico (GTSP) es una variante del cl asico Problema del Viajante de Comercio sim etrico (TSP), en el que los nodos est an divididos en grupos (clusters) y el viajante tiene que visitar al menos un nodo de cada cluster. Una versi on diferente de este problema, llamada E-GTSP, aparece cuando se debe visitar ex actamente un nodo de cada cluster. Tanto el GTSP como el E-GTSP son problemas N P dif ciles, y tienen aplicaciones pr acticas tanto en problemas generales de rutas como de secuenciaci on. En este cap tulo modelizamos GTSP y E-GTSP como problemas de programaci on lineal entera, y estudiamos la estructura poli edrica de sus correspondientes pol topos. En el Cap tulo 4 se utilizan los resultados que aqu se muestran para dise nar un algoritmo de Ramicaci on y Corte que encuentra y demuestra la soluci on optima de problemas de la literatura con hasta 442 nodos.

3.1

Introducci on

A menudo, los Problemas de Rutas y Secuenciaci on requieren la determinaci on de secuencias optimas que veriquen un determinado conjunto de restricciones. El m as conocido de tales problemas es el cl asico Problema del Viajante de Comercio (TSP), donde se plantea la b usqueda de un ciclo Hamiltoniano de costo m nimo sobre un grafo determinado. Este problema ha sido extensamente estudiado en las u ltimas d ecadas; v ease el libro editado por Lawler, Lenstra, Rinnooy Kan, y Shmoys [LLRS85] para los u ltimos resultados sobre el TSP hasta 1985. 35

36

CAP ITULO 3. TSP GENERALIZADO: SU POLIEDRO

En varias aplicaciones se permite que un ciclo factible visite solo un subconjunto de nodos del grafo, elegidos seg un un criterio pre-especicado. Por ejemplo, en el Problema de la Recolecci on de Premios (Prize Collecting TSP) cada nodo tiene un premio asociado, y un vendedor busca un ciclo de costo m nimo para cubrir un subconjunto de nodos cuyo premio total no sea menor a un valor predeterminado. Este problema ha sido estudiado, entre otros, por Balas [B89, B93a], y Fischetti y Toth [FT88]. En este cap tulo consideramos una versi on diferente (tampoco Hamiltoniana) del cl asico TSP, conocido en la literatura como el Problema del Viajante de Comercio Generalizado (Generalized Travelling Salesman Problem) (GTSP), que puede denirse como sigue. Consideremos un grafo no dirigido completo G = (N, E ) con N := {1, . . . , n} su conjunto de nodos, y E := { [i, j ] : i, j N, i = j } su conjunto de arcos. Consideremos, adem as, una partici on propia C1 , . . . , Cm de N dada, donde los subconjuntos Ch se llamar an clusters. Asumiremos que m 5 a lo largo del cap tulo. Sea ce el costo asociado con cada arco e E . Un ciclo se llama factible si y s olo si es simple y visita al menos un nodo de cada cluster. El GTSP se plantea encontrar un ciclo factible T E cuyo costo global eT ce sea m nimo. Tal problema conlleva dos decisiones:

i) elegir un subconjunto de nodos S N , tal que |S Ch | 1 para todo h = 1, . . . , m; ii) encontrar un ciclo Hamiltoniano de costo m nimo en el subgrafo de G inducido por S.

Una versi on distinta del problema, llamada E-GTSP en lo que sigue, aparece cuando se impone la restricci on adicional de que se debe visitar Exactamente un nodo de cada cluster. N otese que GTSP y E-GTSP son equivalentes cuando los costos satisfacen la desigualdad triangular, es decir, cij cik + ckj para toda tripleta de nodos (i, j, k ). GTSP y E-GTSP son u tiles modelos para problemas que suponen simult aneamente las decisiones de selecci on y secuenciaci on, tales como por ejemplo en problemas de localizaci on-ruta. Encuentran aplicaciones pr acticas en compa n as dedicadas al reparto de mercanc a con m ultiples locales de almacenamiento, en la secuenciaci on de cheros de ordenador, rutas de clientes a trav es de agencias gubernamentales, selecci on de aeropuertos y rutas de planes tur sticos, secuenciaci on de manofacturas exibles, distribuci on postal, y dise no de redes de ordenador; v ease Noon [N88], y Noon y Bean [NB91]. Ambos GTSP y E-GTSP son claramente N P -dif ciles, puesto que se reducen al TSP cuando m = n, esto es, |Ch | = 1 para todo h. Han sido estudiados, entre otros, por Laporte y Nobert [LN83], Salazar [S92], y Sepehri [S91]; la versi on asim etrica ha sido investigada en Laporte, Mercure y Nobert [LMN87], y Noon y Bean [NB91].

3.1. INTRODUCCION

37

Ahora se introduce la notaci on principal usada posteriormente. Para cada S N , sea E (S ) := { [i, j ] E : i S , j S }, (S ) := { [i, j ] E : i S , j S }, (S ) := |{h : Ch S }|, (S ) := |{h : Ch S = }|. Para v N escribimos (v ) en lugar de ({v }), y denotamos por Ch(v) el cluster conteniendo v . Tambi en denimos W := {v N : |Ch(v) | = 1}. Un modelo de programaci on lineal entera para GTSP es el siguiente. Sea xe = 1 si el arco e E aparece en la soluci on optima, xe = 0 en otro caso. Adem as, sea yv = 1 si el nodo v N es visitado, yv = 0 en otro caso. GTSP entonces equivale a v (GT SP ) := min
e E

c e xe

(3.1)

sujeto a xe = 2 y v
e (v )

para v N para h = 1, . . . , m para S N, 2 |S | n 2, i S, j N \ S para e E para v N.

(3.2) (3.3) (3.4) (3.5) (3.6)

yv 1
v Ch

xe 2 (yi + yj 1)
e (S )

xe {0, 1} yv {0, 1}

Las restricciones (3.2) requieren que el n umero de aristas incidentes con un nodo sea o 2 (si v es visitado) o 0 (otro caso). Las restricciones (3.3) imponen que al menos un nodo de cada cluster sea visitado. Las desigualdades (3.4) son las restricciones de conexi on, imponiendo que cada corte separando dos v ertices visitados (i y j ) debe ser atravesado al menos dos veces. Las restricciones (3.4) son v alidas siempre que uno busca un ciclo (no necesariamente Hamiltoniano); su contrapartida en el caso asim etrico ha sido estudiada por Balas [B89, B93a] para el Problema de la Recolecci on de Premios. Para los problemas GTSP y E-GTSP se pueden derivar de estas, otras desigualdades m as fuertes que explotan la particular estructura de estos problemas (v ease la Secci on 3.2).

38

CAP ITULO 3. TSP GENERALIZADO: SU POLIEDRO

Un modelo matem atico para el E-GTSP se obtiene sustituyendo en (3.1)(3.6) las desigualdades (3.3) con las igualdades yv = 1
v Ch

para h = 1, . . . , m.

(3.7)

Denotamos por P , P = , y Q a los pol topos de los GTSP, E-GTSP, y TSP, respectivamente, denidos como P := conv{(x, y ) I RE N : (3.2), (3.3), (3.4), (3.5), (3.6) se verican}, P = := P {(x, y ) I RE N : (3.7) se verica}, y Q := P {(x, y ) I RE N : yv = 1 para todo v N }. Claramente, P = y Q son caras de P . Estas caras son disjuntas cuando m < n, mientras que para m = n los tres pol topos P , P = , y Q coinciden. En este cap tulo analizamos la estructura facial de P y de P = . En la Secci on 3.2 introducimos un teorema general que permite elevar cualquier faceta de Q hacia una faceta de P . Este resultado se usa para derivar familias de desigualdades que inducen facetas para P relativas a las restricciones de eliminaci on de subtour y peine. En la Secci on = 3.3 analizamos P y discutimos los casos en los que las desigualdades de la Secci on 3.2 inducen facetas para P = . Nuestro an alisis se basa en un resultado general que une la estructura poli edrica de P = a aqu ella del pol topo del E-GTSP asociado con un ejemplo obtenido eliminando un nodo de un cluster con m as de un v ertice (cluster no simple). Esto nos permite inductivamente reducir el an alisis poli edrico de P = a aqu el de Q. Tambi en describimos un procedimiento para elevar facetas de Q a facetas de P = . Los resultados te oricos aqu descritos se usan en el Cap tulo 4 para dise nar un algoritmo de ramicaci on y corte que resuelve exactamente ejemplos con hasta 442 nodos. El algoritmo se basa en procedimientos de separaci on exactos y heur sticos para las principales familias de desigualdades que se analizan en este cap tulo. Los an alisis computacionales que all se muestran nos permiten asegurar la substancial mejora que las desigualdades que aqu se estudian producen sobre la relajaci on lineal del modelo (3.1)(3.6). Para favorecer la simplicidad, en lo que sigue no distinguiremos entre una soluci on del GTSP (o del E-GTSP) y su vector caracter stico.

3.2

Facetas del pol topo del GTSP

En esta secci on estudiamos el pol topo del GTSP, P . La estructura facial de P est a claramente relacionada con aqu ella del pol topo del TSP, Q, que aparece cuando se imponen

3.2. FACETAS DEL POL ITOPO DEL GTSP

39

las ecuaciones adicionales yv = 1 para todo v N . A f n de unir estos dos pol topos, denamos los pol topos intermedios P (F ) := P {(x, y ) I RE N : yv = 1 para todo v F }, donde F N . Por denici on, P (N ) = Q y P () = P . Nuestro primer objetivo es determinar la dimensi on de P (F ) para cualquier F . Esto nos lleva a estudiar el sistema de ecuaciones que determina P (F ). Tal sistema incluye las |N | ecuaciones linealmente independientes (3.2), m as las ecuaciones que jan las variables yv = 1 para todo v F W, (3.8)

donde W ha sido denido en la Secci on 3.1. Pero adem as, no existe ninguna otra ecuaci on linealmente independiente que sea vericada por todos los puntos de P (F ), tal y como se deduce del siguiente resultado. Teorema 3.2.1 Para todo F N , dim(P (F )) = |E | |F W |. Demostraci on. Claramente dim(P (F )) |E | |F W | puesto que P (F ) I RE N y las |N | + |F W | ecuaciones v alidas (3.2) y (3.8) son linealmente independientes. Armamos que existen |E | |F W | + 1 puntos anmente independientes en P (F ). Demostrado esto tendremos que dim(P (F )) |E | |F W |, y por tanto el enunciado del teorema. La demostraci on de nuestra armaci on se realiza por inducci on sobre el cardinal de F . Cuando |F | = n la armaci on es verdad, puesto que P (F ) se corresponde con el pol topo del TSP (v ease, por ejemplo, Gr otschel y Padberg [GP85]). Asumamos ahora que la armaci on es correcta para |F | = , y consideremos cualquier conjunto de nodos F con |F | = 1. Sea v cualquier nodo fuera de F , y denamos F := F {v }. Por la hip otesis de inducci on, existen |E | |F W | + 1 puntos anmente independientes pertenecientes a P (F ) y por tanto tambi en a P (F ). Si v W entonces |F W | = |F W |, y hemos terminado. En otro caso, |F W | = |F W | + 1, es decir, necesitamos un punto adicional. Tal punto existe siempre, y se corresponde con un ciclo Hamiltoniano en el subgrafo inducido por N \ {v }. Corolario 3.2.1 dim(P ) = |E | |W |. Seg un el Teorema 3.2.1, dado un conjunto no vac o F N y cualquier v F tenemos lo siguiente: si v W entonces dim(P (F \ {v })) = dim(P (F )), en otro caso dim(P (F \ {v })) = dim(P (F )) + 1. En otras palabras, la eliminaci on de un nodo de F incrementa la dimensi on de P (F ) en, como mucho, una unidad. Como consecuencia, cualquier desigualdad que dena una faceta para P (F ) puede ser elevada de una forma simple hasta denir tambi en una faceta para P (F \ {v }).

40

CAP ITULO 3. TSP GENERALIZADO: SU POLIEDRO

Teorema 3.2.2 Sea F N y u F . Sea e xe +


eE v N

v (1 yv )

cualquier desigualdad deniendo una faceta para P (F ). Entonces la desigualdad elevada e xe +


e E v N \{u}

u (1 yu ) v (1 yv ) +

u es un valor arbitrario si u W , es v alida y dene una faceta para P (F \ {u}), donde mientras que u = min e xe + v (1 yv ) : (x, y ) P (F \ {u}), y yu = 0
eE v N \{u}

se verica cuando u W . Demostraci on. La armaci on es una consecuencia del conocido teorema de elevaci on secuencial (sequential lifting theorem, Padberg [P75]), descrito por ejemplo en Gr otschel y Padberg [GP85]. El Teorema 3.2.2 lleva a un procedimiento de elevaci on u til para derivar desigualdades que denen facetas para el pol topo del GTSP a partir de aqu ellas del pol topo del TSP. Para ello debemos elegir cualquier secuencia de elevaci on de los nodos, digamos {v1 , . . . , vn }, e iterativamente derivamos una faceta de P ({vt+1 , . . . , vn }) a partir de una faceta de P ({vt , . . . , vn }) para t = 1, . . . , n. Distintas secuencias de elevaci on pueden producir distintas facetas. Ahora usaremos el procedimiento de elevaci on para analizar la estructura facial de P . Comenzaremos con las restricciones de no-negatividad. Teorema 3.2.3 Las desigualdades xe 0 denen una faceta de P para todo e E . Demostraci on. Es consecuencia directa del Teorema 3.2.2, ya que xe 0 dene una v = 0 para todo faceta del pol topo del TSP y cada secuencia de elevaci on produce v N. N otese que las desigualdades yv 0 est an dominadas por las desigualdades v alidas yv xe para e (v ), por lo que ellas no denen facetas. Ahora analizaremos las restricciones de cota superior sobre las variables, y las restricciones (3.3).

3.2. FACETAS DEL POL ITOPO DEL GTSP Teorema 3.2.4 La desigualdad xe 1 dene una faceta de P si y s olo si e E (W ).

41

Demostraci on. Sea e = [u, v ]. Si u, v W entonces la armaci on es consecuencia del Teorema 3.2.7 eligiendo S = {u, v }. En otro caso xe 1 est a dominado por xe yu (si u W ) o por xe yv (si v W ).

olo si v W . Teorema 3.2.5 La desigualdad yv 1 dene una faceta de P si y s Demostraci on. Es suciente observar que la cara de P inducida por yv 1 coincide con P (F ) cuando F := {v }, con lo que la armaci on se sigue del Teorema 3.2.1.

Teorema 3.2.6 La desigualdad h = 1, . . . , m.

v Ch

yv 1 no dene una faceta de P para ning un

Demostraci on. Debido a (3.2), la restricci on (3.3) es equivalente a xe + 2


e (Ch ) eE (Ch )

xe 2.

Por lo tanto (3.3) est a dominada por la desigualdad v alida e (Ch ) xe 2 cuando E (Ch ) = , mientras que para E (Ch ) = (es decir, cuando |Ch | = 1) dene la cara impropia P . Ahora aplicaremos el procedimiento de elevaci on a las bien conocidas restricciones de eliminaci on de subtour del TSP (en su forma de corte): xe 2
e (S )

para S N, 2 |S | n 2.

N otese que la desigualdad anterior no cambia cuando S se reemplaza por N \ S , con lo que podemos asumir sin p erdida de generalidad |S | n/2 . Las restricciones de eliminaci on de subtour denen facetas del pol topo del TSP (v ease Gr otschel y Padberg [GP85]). on de Eliminaci on Teorema 3.2.7 Sea S N con 2 |S | n 2. La siguiente restricci de Subtour (GSEC) es v alida y dene una faceta para P : i (1 yi ) + j (1 yj ) 2 xe +
e (S )

para i S, j N \ S,

42 donde

CAP ITULO 3. TSP GENERALIZADO: SU POLIEDRO

i := j :=

2 0 2 0

si (S ) = 0, en otro caso; si (N \ S ) = 0, en otro caso;

v ease la Secci on 3.1 para la denici on de (). Demostraci on. Usemos el Teorema 3.2.2 de elevaci on. Sea {v1 , . . . , vn } cualquier secuencia de elevaci on tal que vn1 = i y vn = j . La desigualdad e(S ) xe + vN v (1 yv ) 2 dene una faceta para el pol topo del TSP, cualquiera que sea la elecci on de . Iter ativamente calculamos los coecientes de elevaci on vt = 0 para t = 1, . . . , n 2. Para vn1 , obtenemos vn1 = 2 si existe una soluci on factible del GTSP que no visite nodos v vn = 2 si no en S (es decir, si no existe Ch S ); = 0 en otro caso. An alogamente, n1 existe Ch N \ S ; vn = 0 en otro caso. El teorema anterior produce las tres familias siguientes de desigualdades que denen facetas para el GTSP. Sea S N tal que 2 |S | n 2. xe 2
e (S )

para (S ) = 0, (N \ S ) = 0, para (S ) = 0, (N \ S ) = 0, i S, para (S ) = (N \ S ) = 0, i S, j N \ S.

(3.9) (3.10) (3.11)

xe 2 y i
e (S )

xe 2 (yi + yj 1)
e (S )

Intercambiando si es preciso el papel de S y N \ S , podemos asumir siempre que las desigualdades (3.9) y (3.11) se escriben para S N tal que |S | n/2 . Lo mismo se mantiene para las desigualdades (3.10) eligiendo i N \ S cuando (S ) = 0 y (N \ S ) = 0. N otese que (3.10) son tambi en v alidas (pero sin denir facetas) cuando (S ) = 0. An alogamente, las desigualdades (3.11) se verican para cualquier S N y coinciden con (3.4). Utilizando las ecuaciones (3.2), las anteriores desigualdades se pueden reescribir como: xe
eE (S ) v S

yv 1 yv
v S \{i}

para (S ) = 0, (N \ S ) = 0, para (S ) = 0, (N \ S ) = 0, i S,

(3.12) (3.13)

xe
eE (S )

xe
eE (S ) v S \{i}

yv yj + 1

para (S ) = (N \ S ) = 0, i S, j N \ S.(3.14)

3.2. FACETAS DEL POL ITOPO DEL GTSP


t ' t $ t t t      t t H t t t t t t t & % t t t t t t t t t t     

43

T1

T2

T3

...

Ts

Figura 3.1: Un peine. Esta forma de las restricciones presenta la ventaja de tener pocos coecientes no-nulos (suponiendo que |S | n/2 ), por lo que es mejor para ser incorporada en un procedimiento de hiperplanos de corte. Cuando |S | = 2 aparecen casos particulares de GSECs, llevando a xe y v para v N, e (v ). (3.15)

Finalmente consideramos las desigualdades peine del TSP. Un peine es una familia C = (H, T1 , . . . , Ts ) de s + 1 subconjunto de nodos, donde s 3 es un entero impar; v ease la Figura 3.1 para una ilustraci on. H se llama el mango de C , mientras que T1 , . . . , Ts se llaman dientes. Adem as, deben satisfacer las siguientes condiciones: i) T1 , . . . , Ts son disjuntos dos a dos; ii) Tj H = y Tj \ H = para j = 1, . . . , s. Se dene el tama no de C como (C ) := |H | + La desigualdad peine asociada con C es
s s j =1 (|Tj |

1) (s + 1)/2.

xe +
eE (H ) j =1 eE (Tj )

xe (C ),

(3.16)

es v alida y dene una faceta para el TSP (v ease Gr otschel y Padberg [GP85]). Es bien sabido que intercambiando el papel de H y de N \H se obtiene una formulaci on equivalente de (3.16). Comenzando con (3.16), podemos obtener an alogas desigualdades induciendo facetas para el GTSP mediante el uso del Teorema 3.2.2 de elevaci on (trivialmente modicado para tratar con desigualdades de tipo ).

44

CAP ITULO 3. TSP GENERALIZADO: SU POLIEDRO

Teorema 3.2.8 Consideremos C = (H, T1 , . . . , Ts ) un peine. Para j = 1, . . . , s, sea aj un nodo en Tj H si (Tj H ) = 0, aj = 0 (un valor cticio) en otro caso; y sea bj un nodo en Tj \ H si (Tj \ H ) = 0, bj = 0 en otro caso. Entonces la siguiente desigualdad peine generalizada es v alida y dene una faceta para P :
s

xe +
eE (H ) j =1 eE (Tj )

xe +
v N

v (1 yv ) (C ),

(3.17)

v = 0 para todo v N \ (H T1 . . . Ts ), v = 1 para todo v H \ (T1 . . . Ts ), donde y para j = 1, . . . , s: v = 2 a = 1 j v = 1 b = 0 j para v Tj H, v = aj ; si aj = 0; para v Tj \ H, v = bj ; si bj = 0.

Demostraci on. Consideremos cualquier secuencia de elevaci on para los nodos v N en los que cada aj = 0 (resp., bj = 0) sigue a todos los otros nodos en Tj H (resp., Tj \ H ). v = 0 para v N \ (H T1 . . . Ts ) y v = 1 para v H \ (T1 . . . Ts ) Los coecientes son f acilmente calculables (las Figuras 3.2a y 3.2b muestran, respectivamente, soluciones del GTSP que verican estas condiciones con igualdad). La correcteza de los coecientes v = 2 para v (Tj H ) \ {aj }, y v = 1 para v (Tj \ H ) \ {bj }, puede comprobarse con ayuda de las Figuras 3.2c y 3.2d, respectivamente. a cuando aj = 0, observamos que aj es el u Para los valores de ltimo nodo de la j a se debe tener secuencia de elevaci on dentro de Tj H , es decir cuando se calcula j presente la posibilidad que tiene una soluci on del GTSP de evitar todos los nodos en a = 1 puesto que nosotros ya hemos calculado los valores v = 2 Tj H . Esto lleva a j b para v (Tj H ) \ {aj }; v ease la Figura 3.2e. De modo similar, cuando se calcula j para bj = 0 debemos considerar la posibilidad de tener no cubiertos todos los nodos en b = 0, debido a la soluci Tj \ H . Esto produce el valor on dise nada en la Figura 3.2f. j

3.3

Facetas del pol topo del E-GTSP.

Ahora abordaremos la estructura poli edrica del pol topo del E-GTSP, P = . Este pol topo es claramente una cara de P , por lo que todas las desigualdades deniendo facetas para P estudiadas en la Secci on 3.2 son tambi en v alidas (aunque no necesariamente denen facetas) para P = .

3.3. FACETAS DEL POL ITOPO DEL E-GTSP.


 t ' $ '  t  

45

$  t t      t tv            t t   t t X X t  t    t    % % Xt  t t & % t  & % t  D CC a t t a t v a Dt t t Ct a t XX A XX J X At X X t X J        

v = 0 (a)
 t  

v = 1 (b)
 t  

$  t t        t t                  t t  t t   t  t t   v t     t t  & %  t  & %  t aa C a t t a a t  at a t t  a Ct  XX J t v X Jt X t          

'

$ '

v = 2 (c)
 t  

v = 1 (d)
 t ' $ $

t t   @   @ t  t @         @   
T t
t  aj t hhh @t t t %
t T Tt t %  t & % t  & % aa CC  t t a a t t aa Ct a t at t t T bj t t T          

'

a = 1 (e) j

b = 0 (f) j

Figura 3.2: Ajustadas soluciones del GTSP para la demostraci on del Teorema 3.2.8 ( (C ) = 11).

46

CAP ITULO 3. TSP GENERALIZADO: SU POLIEDRO

Puesto que en el E-GTSP debe visitarse exactamente un nodo de cada cluster, podemos eliminar los arcos internos a los clusters, y re-denir el conjunto de arcos como E := {[i, j ] : i N, j N \ Ch(i) }. Debido a esta reducci on, las restricciones (3.7) son equivalentes a xe = 2
e (Ch )

para todo h = 1, . . . , m,

(3.18)

y un modelo simplicado para el E-GTSP puede obtenerse ahora reemplazando las restricciones (3.4) y (3.6) por las dos familias de restricciones: xe r 1
eE (S )

para S = r i=1 Cli y 3 r m 3, para l = 1, . . . , m y w N \ Cl ,

(3.19) (3.20)

xe y w
e (Cl ) (w)

respectivamente. Las desigualdades (3.19) se llamar an Restricciones de Eliminaci on de Subtour Generalizadas B asicas (GSECs B asicas), y las (3.20) se llamar an desigualdades abanico. Ambas son casos particulares de las GSECs (3.12) debido a (3.7). En efecto, (3.19) son equivalentes a las GSECs (3.12) escritas para S = r i=1 Cli , donde v S yv = r alogamente, (3.20) proceden de (3.12) cuando ya que vCl yv = 1 para i = 1, . . . , r. An i otese S = Cl {w}, ya que E (S ) = (Cl ) (w) y vS yv = vCl yv + yw = 1 + yw . N que las restricciones (3.20) dominan a (3.15). Al igual que en la secci on previa, nos proponemos relacionar la estructura facial de P con aqu ella del bien estudiado pol topo del TSP, Q, incluso a pesar de que Q no es = una relajaci on de P . Para ello, introducimos algunas deniciones elementales.
=

alida x y + para P = , denotamos por Denici on 3.3.1 Dada una desigualdad v H(, , ) := P = {(x, y ) I RE N : x = y + } la cara de P = inducida por x = y + . Sea v N \ W un nodo arbitrario pero jo, y denotamos por Pv el pol topo del E-GTSP asociado con el subgrafo de G inducido por N \ {v }. La v -restricci on de x y + es la desigualdad obtenida de x y + eliminando las variables yv y xe para todo e (v ), es decir, la proyecci on de x y + en el espacio {(x, y ) I RE N : yv = 0 , xe = 0 para e (v )}. El grafo v -compatible de x y + es olo si existe (x, y ) H(, , ) con el grafo G v = (N \ Ch(v ) , E ) con [u, w ] E si y s x[v,u] = x[v,w] = 1. El rango de un grafo se dene como el rango de su matriz de incidencia arco-nodo, es decir, como el n umero de sus nodos menos el n umero de sus componentes conexas bipartitas; v ease, por ejemplo, Nemhauser y Wolsey [NW88, p agina 76]. El grafo se dice que es de rango lleno cuando su matriz de incidencia arco-nodo es de rango lleno, es decir, cuando cada componente conexa tiene un ciclo impar.

3.3. FACETAS DEL POL ITOPO DEL E-GTSP.

47

Lema 3.3.1 Para cada desigualdad v alida x y + para P = y cada nodo v N \ W = inducida la dimensi on de H(, , ) es mayor o igual a la dimensi on de la cara de Pv por su v -restricci on, m as el rango de su grafo v -compatible. Demostraci on. Sea X la matriz en la que cada la es un punto extremo de H(, , ). Puesto que H(, , ) contiene un hiperplano que no pasa por el origen (esto es, aqu el inducido por (3.7) para h = 1), un subconjunto de las de X es anmente independiente si y s olo si es linealmente independiente. As la dimensi on de H(, , ) coincide con el rango de X menos 1. Ahora, X puede dividirse en X11 0 0 X21 X22 1

X=

donde la u ltima columna se corresponde con la variable yv , y las columnas de X22 se corresponden con las variables xe para e (v ). Entonces el rango de X es, al menos, la suma del rango de X11 m as el rango de [X22 1]. Por construcci on, el rango de X11 es la = dimensi on de la cara de Pv inducida por la v -restricci on de x y + , m as 1. Para X22 , observemos que cada una de sus las contiene exactamente dos 1s y (salvando las las repetidas) puede verse como la matriz incidencia arco-nodo del grafo v -compatible G as, la u ltima columna de [X22 1] es una combinaci on v asociado con x y + . Adem lineal (con coecientes 1/2) de las restantes columnas. Esto demuestra la armaci on. El Lema 3.3.1 nos permite extender algunos conocidos resultados del pol topo del TSP al caso del E-GTSP usando inducci on sobre
m

=
h=1

(|Ch | 1) = n m.

(3.21)

Como se demuestra en el Lema 3.3.1, el rango del grafo v -compatible G v asociado con una desigualdad dada x y + juega un papel central en el an alisis de la estructura poli edrica de P = . Desgraciadamente, determinar si un arco est a o no presente en G v exige la construcci on de una cierta soluci on del E-GTSP (x, y ) con x = y + , por lo que se trata de un problema N P -dif cil en general. En la pr actica, uno est a m as interesado en . on encontrar condiciones sucientes para la existencia de una arco en G v A continuaci describimos una de estas condiciones, relacionada con el trabajo de Naddef y Rinaldi [NR93] para el TSP Gr aco, y con el trabajo de Balas y Fischetti [BF92, BF93] para el TSP Asim etrico. on x y + se denomina Tight-Triangular (TT, para Denici on 3.3.2 Una ecuaci

48

CAP ITULO 3. TSP GENERALIZADO: SU POLIEDRO

abreviar) cuando para todo v N se tiene v = max{iv + jv ij : [i, j ] E \ (Ch(v) )}. Para v N , denotamos por (v ) := {[i, j ] E \ (Ch(v) ) : v = iv + jv ij } el conjunto de arcos tight para v . Recordemos que una cara H de P = se llama trivial cuando H {(x, y ) I RE N : xe = 0} para alg un e E ; no-trivial en otro caso. Lema 3.3.2 Sea v N \ W , y x y + una desigualdad TT v alida para P = cuya = v -restricci on dene una cara no-trivial de Pv . Entonces Gv contiene todos los arcos en (v ). Demostraci on. Sea [i, j ] cualquier arco en (v ). Consideremos cualquier soluci on del E-GTSP en H(, , ), digamos (x, y ), que use el arco [i, j ] y visite el cluster Ch(v) a trav es de los arcos [a, w] y [w, b], digamos, donde w Ch(v) \ {v }. La existencia de (x, y ) est a garantizada por la hip otesis de no-trivialidad. Comenzando con eta soluci on, construimos un nuevo punto ( x, y ) reemplazando los tres arcos [a, w], [b, w] y [i, j ], por [i, v ], [j, v ] y [a, b]. Entonces x y = x y + (iv + jv ij v ) (aw + bw ab w ), donde aw + bw ab w 0 puesto que x y + es una desigualdad TT, y iv + jv ij v = 0 puesto que [i, j ] (v ). Se sigue entonces que x y x y = , es decir, ( x, y ) H(, , ). Esto prueba que [i, j ] pertenece al grafo G v, como se pretend a. Obs ervese sin embargo que G v puede contener arcos no en (v ), como se muestra, por ejemplo, en la demostraci on del Teorema 3.3.8, caso (b). Ahora estamos listos para estudiar la estructura facial de P = . Teorema 3.3.1 dim(P = ) = |E | m. Demostraci on. Claramente, dim(P = ) |E | m puesto que las ecuaciones (3.2) y (3.7) son linealmente independientes. Por ello, resta s olo demostrar que la dimensi on de la cara (impropia y no-trivial) H(0, 0, 0) inducida por 0x 0y + 0 no es menor que |E | m. Usamos inducci on sobre , seg un se dene en (3.21). Cuando = 0 tenemos el caso TSP est andar, y la armaci on es correcta.

3.3. FACETAS DEL POL ITOPO DEL E-GTSP.

49

Asumamos ahora que la armaci on es correcta para = , y consideremos cualquier ejemplo del E-GTSP con = + 1. Entonces existe un nodo v N \ W . Debido al = Lema 3.3.1, tenemos dim(H(0, 0, 0)) d1 + d2 , donde d1 es la dimensi on de la cara de Pv inducida por la v -restricci on de 0x 0y + 0, y d2 es el rango del grafo de v -compatibilidad G asociado con 0 x 0 y + 0. Por la hip otesis de inducci on, d1 |E \ (v )| m, resta as v demostrar que d2 = | (v )| = |N \ Ch(v) |, es decir, que Gv es de rango lleno. Pero esto se sigue trivialmente del Lema 3.3.2, puesto que (v ) contiene todos los arcos en E \ (Ch(v) ) y, por lo tanto, G v es conexo y contiene un ciclo impar (recordemos que se asume que m 5). Ahora analizaremos las restricciones de no-negatividad. Debido a (3.20), yv 0 no dene una faceta para ning un v N . Sin embargo, xe 0 si lo hace para todo e E . Teorema 3.3.2 La desigualdad xe 0 dene una faceta (trivial) de P = para todo e E . Demostraci on. La demostraci on sigue una l nea similar a la del Teorema 3.3.1, y se basa en inducci on sobre . El punto clave es demostrar que para alg un v N \ W el grafo de v -compatibilidad Gv asociado con xe 0 es de rango lleno. Para ello demostramos que G arbol generador (es decir, es conexo) y un ciclo impar. v contiene un Recordemos que se asume m 5. Supongamos sin p erdida de generalidad que e = [1, 2], y sea v {1, 2} W un nodo cualquiera. Pueden ocurrir dos casos: otese que xe = 0 se verica necesariamente para todo (x, y ) P = (a) v Ch(1) Ch(2) : N con yv = 1. Se sigue pues que G v contiene todos los arcos en E \ (Ch(v ) ). (b) v Ch(1) Ch(2) : En este caso, un arbol generador G v se obtiene tomando los arcos [1, u] para todo u Ch(1) Ch(v) , y [2, u] para todo u Ch(1) \ {1}. Adem as, existe un arco [2, u] para cualquier u Ch(1) Ch(2) Ch(v) , por lo que Gv contiene el ciclo impar {[1, 2], [2, u], [1, u]}. El resultado est a as demostrado. Ahora abordaremos las GSECs (3.12)(3.14). Estas desigualdades son claramente v alidas para P = , pero no todas ellas denen facetas. Demostraremos que (3.13) y (3.14) est an dominadas por (3.12). Adem as, demostraremos que una desigualdad (3.12) dene = una faceta de P si y s olo si se verica una de las siguientes condiciones: (i) S W y |S | = 2, (ii) S = Cl {w} para alg un w N \ (Cl W ),

50

CAP ITULO 3. TSP GENERALIZADO: SU POLIEDRO

(iii) (S ) 3 y (N \ S ) 3, donde () ha sido denido en la Secci on 3.1. Teorema 3.3.3 Las GSECs (3.13) y (3.14) no denen facetas de P = . Demostraci on. Cualquier GSEC (3.14) puede ser escrita como xe
eE (S ) v S \{i}

yv + yj 1 0.

Si Ch(i) = Ch(j ) , entonces yi + yj 1, por lo que la desigualdad (3.14) es una desigualdad a dominada estrictamente debilitada de eE (S ) xe vS yv 0 la cual, a su vez, est por la ecuaci on 1 xe 2yv ) = 0. ( 2 vS
e (v )

En otro caso (3.14) est a dominado por la GSEC (3.13) escrita para S := S \ Ch(j ) , es decir por yv 0, xe
eE (S ) v S \{i}

puesto que xe
eE (S ) eE (S )

xe
v Ch(j ) S e (v )

xe =
eE (S )

xe 2
v Ch(j ) S

yv ,

v S \{i}

yv =
v S \{i}

yv +
v Ch(j ) S

yv ,

y 0
v Ch(j ) S

yv + yj 1.

An alogamente, una GSEC (3.13) se puede expresar como xe


eE (S ) v S \{i}

yv 0,

y est a dominada por la GSEC (3.12) escrita para S := S Ch(i) , es decir por xe
eE (S ) v S

yv + 1 0,

3.3. FACETAS DEL POL ITOPO DEL E-GTSP. puesto que E (S ) E (S ) implica xe
eE (S ) eE (S )

51

xe ,

y
v S

yv + 1 =
v Ch(i)

yv + 1
v S \Ch(i)

yv =
v S \Ch(i)

yv
v S \{i}

yv .

Ahora estudiamos algunos casos particulares de GSECs (3.12). Teorema 3.3.4 Las restricciones de cota xe 1 denen una faceta de P = cuando e E (W ). Demostraci on. Sin p erdida de generalidad sea e = [1, 2]. Como en la demostraci on de los Teoremas 3.3.1 y 3.3.2, es suciente demostrar que, para cualquier v W dado, el grafo v -compatible G v asociado con xe 1 es conexo y tiene un ciclo impar. En efecto, sea i, j Ch(v) {1, 2} tal que Ch(i) = Ch(j ) ; entonces G v contiene los arcos [1, u] para todo u Ch(v) {1, 2}, m as los arcos [i, u] para u {2, j }. El teorema anterior muestra que la restricci on de cota x[i,j ] 1 dene una faceta siempre que i, j W ; en otro caso, est a dominada por la desigualdad abanico as, las e (Ch(i) ) (j ) xe yj (si j W ). Adem e (Ch(j ) ) (i) xe yi (si i W ), o = restricciones cota yv 1 nunca denen una faceta de P debido a las ecuaciones (3.7). Teorema 3.3.5 La desigualdad abanico (3.20) dene una faceta de P = cuando w W . Demostraci on. N otese que la w-restricci on de (3.20) es 0x 0y +0 y por tanto dene una = faceta de Pw con dimensi on |E \ (w)| m en virtud del Teorema 3.3.1. Demostraremos que el grafo de w-compatibilidad G w asociado con (3.20) es conexo, esto es, el rango de Gw no es menor que | (w)| 1. En efecto, sea i Cl y j N \ (Cl Ch(w) ); es entonces f acil ver que G w contiene los arcos [i, u] para todo u Cl Ch(w) , y [j, u] para todo u Cl \ {i}. Debido al Lema 3.3.1, la cara inducida por (3.20) tiene dimensi on no menor que |E | m 1, de lo que se sigue la armaci on puesto que claramente esta cara es propia.

Teorema 3.3.6 La desigualdad GSEC (3.12) dene una faceta de P = cuando tanto S como N \ S tocan, al menos, 3 clusters cada uno, es decir, cuando (S ) 3 y (N \ S ) 3.

52

CAP ITULO 3. TSP GENERALIZADO: SU POLIEDRO

Demostraci on. Al igual que en las demostraciones anteriores, es suciente demostrar que, para cualquier nodo v N \ W dado, el grafo de v -compatibilidad G v asociado con (3.12) es conexo y tiene un ciclo impar. Mediante un intercambio de S con N \ S si fuese preciso, podemos sin perdida de generalidad asumir que v N \ S . Adem as, sean 1, 2 y 3 nodos distintos tales que Ch(i) = Ch(j ) para todo i, j {1, 2, 3, v }, i = j , con 1, 2 N \ S , y Ch(3) S . Claramente, (3.12) es una desigualdad TT. Demostraremos que (v ) contiene un arbol generador N \ Ch(v) , m as un ciclo impar. En efecto, (v ) contiene todos los arcos [1, u] con u Ch(v) Ch(1) , y todos los arcos [2, u] con u Ch(1) \ {1}, m as el arco [2, 3] que pertenece al ciclo impar {[1, 2], [2, 3], [1, 3]}. Debido al Lema 3.3.2, esto implica que G on. v es de rango lleno, y conrma la armaci

Corolario 3.3.1 La GSEC B asica (3.19) dene una faceta de P = cuando 3 r m 3. Resta estudiar las GSECs (3.12) no cubiertas por los Teoremas 3.3.53.3.6. En realidad, estas desigualdades no denen facetas puesto que E (S ) inducen un grafo bipartito, y por tanto pueden obtenerse como suma de ciertas desigualdades abanico seg un muestra el siguiente resultado. Teorema 3.3.7 La GSEC (3.12) no dene una faceta de P = cuando Cl S Cl Ch y |S Ch | 2, para algunos clusters Cl y Ch distintos. Demostraci on. Basta observar que (3.12) puede obtenerse en este caso como suma de la ecuaci on vCl yv = 1 y la desigualdad abanico e(Cl )(w) xe yw para todo w S Ch , cada uno de los cuales dene una faceta diferente de P = .

Corolario 3.3.2 La GSEC B asica (3.19) no dene una faceta de P = cuando r = 2 y |S | 3. Corolario 3.3.3 La desigualdad abanico (3.20) no dene una faceta de P = cuando w W y |Cl | 2. Finalmente analizamos las desigualdades peine generalizadas (3.17). Teorema 3.3.8 La desigualdad peine generalizada (3.17) dene una faceta de P = cuando aj = bj = 0 para cada diente Tj (j = 1, . . . , s).

3.3. FACETAS DEL POL ITOPO DEL E-GTSP.

53

Demostraci on. Una vez m as, es suciente mostrar que para un cierto v N \ W , el grafo de v -compatibilidad Gv asociado con (3.17) es conexo y tiene un ciclo impar. Mediante el intercambio de H y N \ H si fuese preciso, podemos siempre elegir v N \ H . Adem as, sin p erdida de generalidad asumiremos que v T1 T2 , Ch(1) T1 \ H , Ch(2) T2 \ H , y Ch(3) T3 H . Pueden ocurrir dos caso: (a) v s j =3 Tj : Puesto que (3.17) es una desigualdad TT, en virtud del Lema 3.3.2 basta observar que (v ) contiene un arbol generador de N \ Ch(v) (por ejemplo, aqu el con los arcos [1, u] para u Ch(v) T1 , y [2, w] para w T1 \ {1}), m as un ciclo impar (por ejemplo, {[1, 2], [1, 3], [2, 3]}). (b) v s j =3 Tj : Sea v T3 . Todos los arcos [w, u] E \ (Ch(v ) ) con w T3 H y u N \ H f acilmente se ve que pertenecen a (v ), con lo que tambi en al conjunto de arcos de G . Obs e rvese sin embargo que el grafo ( N \ C , ( v )) no es de rango h(v ) v lleno, ya que todos sus nodos en H \ T3 son nodos aislados. Por ello debemos usar un argumento ad hoc para concluir que G v es de rango lleno, como se precisa. En efecto, Las soluciones del E-GTSP dise nadas en la Figura 3.3 satisfacen (3.17) con igualdad, y muestran que G contiene todos los arcos de [3, u] E \ (Ch ) con v u H \ T3 , m as el arco [1, w] para cada w S := N \ (H T1 . . . Ts ) si S = , o w = 2 en otro caso. As G v es conexo, y contiene el ciclo impar {[1, w ], [1, 3], [w, 3]}.

Concluimos la secci on con la descripci on de un procedimiento de elevaci on para el E-GTSP, que nos permite extender cualquier faceta del pol topo del TSP a una faceta de P =. Supongamos que x y + dene una cara propia de P = , y sea v un nodo cualquiera = de N \ W tal que la v -restricci on de x y + dene una faceta de Pv . Debido al Lema = 3.3.1, x y + dene una faceta de P si su grafo de v -compatibilidad asociado, G v , es de rango lleno. Asumamos ahora que este no sea el caso, esto es, que alguna componente conexa de Gv es bipartita. Mostraremos como pueden modicarse los coecientes e , e (v ), de manera que se genere una desigualdad m as fuerte, deniendo una cara = propia de P con mayor dimensi on. Para ello, sea S N \ Ch(v) el conjunto de nodos de una componente bipartita de Gv , con nodos partidos entre S1 y S2 tales que (S1 ) (S2 ). Entonces cada (x, y ) H(, , ) verica la ecuaci on: x :=
e (S1 ) (v )

xe
e (S2 ) (v )

xe = 0 .

Claramente, x 0 no es una desigualdad v alida para P = , ya que es violada por cualquier soluci on del E-GTSP que use los dos arcos [i, v ] y [j, v ], donde i se elige arbitrariamente

54

CAP ITULO 3. TSP GENERALIZADO: SU POLIEDRO


 v t A ' $ A t3 A A H %   A % Atu %     T T % % t t t Tt & % t a aa at t t t    
s (a) G v contiene el arco [3, u] para todo u H \ (j =1 Tj ).

 v t A A ' $ A A t3 A @ H  @A @t A        A   t  t t Atu & % t a aa at t t t    


s (b) G v contiene el arco [3, u] para todo u (H \ T3 ) (j =1 Tj ).

'

 & t  w aa a at

t c B  B c  ct B c         T B  t T Bt t Tt  % t t t

 

 v t   

   

(c) G v contiene el arco [1, w ]. Figura 3.3: Soluciones ajustadas del E-GTSP para la demostraci on del Teorema 3.3.8 ( (C ) = 8).

3.3. FACETAS DEL POL ITOPO DEL E-GTSP.

55

en S1 , y j se elige arbitrariamente en N \ (S2 Ch(v) Ch(i) ) (la existencia de estos dos nodos deriva de la hip otesis (S1 ) (S2 ) y m 5). Se sigue que x = 0 no es una combinaci on lineal de las ecuaciones (3.2) y (3.7). Adem as, no es una combinaci on lineal de (3.2), (3.7) y x = y + puesto que la v -restricci on de x 0 coincide con 0x 0, mientras que la v -restricci on de x y + se ha asumido que dene una cara propia = de Pv . Consideremos ahora la desigualdad elevada ( + )x y + , (3.22)

donde 0 es un par ametro real. N otese que = 0 lleva a la desigualdad v alida x y + , mientras que cuando tiende a + la desigualdad (3.22) tiende a la desigualdad inv alida x 0. Sea el m aximo valor de tal que (3.22) es v alida. Este valor puede calcularse como

= min

x + y + : (x, y ) P = , x > 0 , x

es decir = min
1

donde
1 2

1 min {e : e E (S1 )} , 2 := min e : e (S1 ) \ (Ch(v) S2 ) , :=

y para todo [i, j ] E \ (Ch(v) ) con i S1 y j S2 , [i,j ] := min{x + y + : (x, y ) P = , x[i,v] = x[j,v] = 1} 0. Para cualquier [0, ], H( + , , ) es una cara propia de P = (puesto que (3.2), (3.7), x = y + , y x = 0 son ecuaciones linealmente independientes) que contiene a H(, , ). Adem as, H( + , , ) contiene tambi en un punto (x , y ) P = tal que x > 0 (es decir, el punto que determina el valor ), lo que prueba que dim(H( + , , )) dim(H(, , )) + 1. (N otese que esto implica que G v es de rango = , lleno siempre que tanto x y + como su v -restricci on denan facetas para P = y Pv respectivamente.) Iterando el procedimiento de elevaci on anterior, cuya geometr a se ilustra en la Figura 3.4, obtenemos una desigualdad que dene una faceta de P = . Ejemplo. Con la intensi on de ilustrar la forma de trabajar de este procedimiento, consideremos el siguiente ejemplo simple. Sea x y + la desigualdad abanico (3.19),

56

CAP ITULO 3. TSP GENERALIZADO: SU POLIEDRO


@ @

( +

)x y + @@

x 0 H Y

@ PP @ PP PP@ PP tH(, , ) @ P @PPP PP @ PP P= @ PP = 0 PP @ PP (x , y ) @ t @ x y + @ @ = @ i= Y H @ @ @

Figura 3.4: Geometr a del procedimiento de elevaci on. donde w W y Cl = {u, v }. Esta desigualdad se lee como x[u,w] + x[v,w] yw (= 1). Seg un el Corolario 3.3.3 y Teorema 3.3.4, x y + no dene una faceta, mientras que su v -restricci on si lo hace. Por tanto el grafo de v -compatibilidad G v asociado con x y + no es de rango lleno. En realidad, este grafo s olo contiene los arcos [w, j ] para j N \ (Cl {w}), por lo que es conexo y bipartito con nodos divididos entre S1 := N \ (Cl {w}) y S2 := {w}. La ecuaci on x = 0 entonces se lee x x = 0, con lo que x 0 no es v a lida, como se desea (n otese que, en [v,w] j S1 [v,j ] este particular ejemplo, x 0 si es v alida). Combinamos x y + con x 0, y obtenemos la siguiente forma para (3.22): x[u,w] + (1 ) x[v,w] +
j S1

x[v,j ] yw .

F acilmente se determina 1 = 1/2 ya que e = 1 para todo e E (S1 ), y 2 = debido a que (S1 ) \ (Ch(v) S2 ) = . Por tanto obtenemos = 1/2, y un punto (x , y ) asociado con cualquier soluci on del E-GTSP que use dos arcos en (S1 ) (v ). Obs ervese que la v -restricci on de la desigualdad anterior escrita para = es la misma que la de antes de la elevaci on, mientras que el grafo v -compatible contiene todos los arcos que ten a antes de la elevaci on, m as un nuevo arco (asociado con el punto (x , y )) conectando dos nodos viene de rango lleno, y la desigualdad elevada dene ahora una faceta. en S1 . As G v Es m as, esta desigualdad puede equivalentemente escribirse como x[u,w] + yv yw , donde yw = 1 y yv = 1 yu , es decir hemos obtenido una desigualdad abanico que dene una faceta. La anterior t ecnica puede usarse para elevar cualquier desigualdad que dena una = , donde v N \ W , hacia una desigualdad faceta eE \(v) e xe j N \{v} j yj + de Pv que dena una faceta eE e xe j N j yj + de P = . Para ello primero denimos

3.3. FACETAS DEL POL ITOPO DEL E-GTSP.

57

(arbitrariamente) los coecientes e para e (v ), y tomamos v lo sucientemente grande como para asegurar su validez para P = . Luego usamos el procedimiento de elevaci on para corregir los valores e con e (v ). Esta construcci on muestra que toda desigualdad que = dena una faceta de Pv tiene una desigualdad que dene una faceta en P = estrechamente relacionada con ella. Como una inmediata consecuencia, toda faceta del pol topo del TSP (asociado con un grafo con m nodos) puede elevarse para ser una faceta del pol topo del E-GTSP (asociado con un ejemplo con m clusters y n m nodos). Para ello, comenzamos con cualquier desigualdad dada que dena una faceta del pol topo del E-GTSP asociado con un ejemplo con m nodos y m clusters (es decir, para el pol topo del TSP). Luego, iterativamente, a nadimos un nodo a cada cluster, y elevamos la desigualdad actual a trav es del procedimiento anterior.

Cap tulo 4 Problema del Viajante de Comercio Generalizado: Un Algoritmo


Consideramos una variante del Problema del Viajante de Comercio sim etrico cl asico en el que los nodos est an divididos en grupos (clusters) y el vendedor tiene que visitar al menos un nodo de cada cluster. El problema es conocido como Problema del Viajante de Comercio Generalizado (GTSP), y remitimos al Cap tulo 3 para una introducci on y motivaci on al problema. En ese mismo cap tulo adem as hemos modelado el GTSP como un problema de programaci on lineal entera, y estudiado la estructura facial de dos pol topos asociados con el problema. Aqu proponemos procedimientos de separaci on ex actos y heur sticos para algunas clases de desigualdades que denen facetas, las cuales ser an usadas en un algoritmo de ramicaci on y corte para determinar la soluci on exacta del GTSP. Tambi en se describen procedimientos heur sticos, y se muestran extensos resultados computacionales tomados de la literatura, llegando a considerar problemas con hasta 442 nodos.

4.1

Introducci on

Se propone en este cap tulo un algoritmo de ramicaci on y corte para el Problema del Viajante de Comercio Generalizado (GTSP). Remitimos al lector a la introducci on del Cap tulo 3 para una descripci on y motivaci on al problema. En dicha introducci on se establece una notaci on y un modelo matem atico que mantendremos durante este mismo cap tulo. Por ello, repetimos brevemente aqu dichos elementos: 59

60 Para cada S N , sea

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO

E (S ) := { [i, j ] E : i S , j S }, (S ) := { [i, j ] E : i S , j S }, (S ) := |{h : Ch S }|, (S ) := |{h : Ch S = }|. Para v N escribimos (v ) en lugar de ({v }), y denotamos por Ch(v) el cluster conteniendo v . Tambi en denimos W := {v N : |Ch(v) | = 1}. Un modelo de programaci on lineal entera para GTSP es el siguiente. Sea xe = 1 si el arco e E aparece en la soluci on optima, xe = 0 en otro caso. Adem as, sea yv = 1 si el nodo v N es visitado, yv = 0 en otro caso. GTSP entonces equivale a v (GT SP ) := min
eE

ce xe

(4.1)

sujeto a xe = 2 yv
e (v )

para v N para h = 1, . . . , m para S N, 2 |S | n 2, i S, j N \ S para e E para v N.

(4.2) (4.3) (4.4) (4.5) (4.6)

yv 1
v Ch

xe 2 (yi + yj 1)
e (S )

xe {0, 1} yv {0, 1}

Obs ervese que el modelo (4.1)(4.6) depende fuertemente de las restricciones de integrabilidad sobre las variables y . Si se prescinde de estas restricciones, aparecen como factibles soluciones como la que muestra la Figura 4.1. Por tanto, la relajaci on LP de este modelo es bastante pobre. En las Secci on 3.2 describimos desigualdades v alidas adicionales cuya inclusi on en el modelo lleva a un considerable fortalecimiento de su LP relajaci on. En este cap tulo exponemos un algoritmo exacto para el GTSP, basado en una t ecnica de hiperplanos de corte / ramicaci on y acotaci on. En cada nodo del arbol decisional se obtiene una cota inferior sobre el valor de una soluci on optima tras resolver una relajaci on LP del GTSP. Esta relajaci on LP se fortalece iterativamente a nadiendo desigualdades

4.2. ALGORITMOS DE SEPARACION C3 C2 $ ' $ ' C 1 c ' $ c c s s


s s & % & % C  C S s  ' $ C S & % J     Cs s S J S Js Ss c C5   C4 & % S c s S

61

Figura 4.1: Soluci on GTSP no factible vericando (4.2)(4.5). Los arcos dibujados se corresponden con xe = 1, los nodos vac os con yv = 0, y los nodos negros con yv = 1/2. v alidas que son violadas por la soluci on optima del modelo lineal del momento; estas desigualdades se identican a trav es de procedimientos de separaci on exactos o heur sticos. En la Secci on 4.2 se proponen algoritmos de separaci on exactos y heur sticos para encontrar desigualdades violadas entre las desigualdades presentadas en el cap tulo anterior. Diversos algoritmos heur sticos para encontrar soluciones aproximadas del GTSP se presentan en la Secci on 4.3, donde tambi en se demuestra que el E-GTSP es resoluble en tiempo polinomial cuando se conoce la secuencia de los m clusters. La Secci on 4.4 da la descripci on global del algoritmo enumerativo para la soluci on exacta del GTSP. Un extenso an alisis computacional sobre diversas clases de problemas test aparecen al nal en la Secci on 4.5.

4.2

Algoritmos de separaci on

En esta secci on abordaremos el siguiente problema de separaci on (o identicaci on): Dado E N un punto (fraccionario) (x , y ) [0, 1] , encontrar un miembro x + y de una familia dada F de desigualdades v alidas para el GTSP, tales que x + y < . Un resoluci on exacta o heur stica de este problema es de fundamental importancia para poder utilizar las desigualdades de F en un algoritmo de hiperplanos de corte.

4.2.1

Un algoritmo de separaci on exacto para las Restricciones de Eliminaci on de Subtours Generalizadas

Consideremos la familia F de las restricciones de eliminaci on de subtour generalizadas, en la forma de corte (3.9)(3.11).

62

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO Comencemos con las restricciones (3.11): xe 2 (yi + yj 1)
e (S )

si (S ) = (N \ S ) = 0, i S, j N \ S.

Supongamos que los nodos i y j han sido jados. Entonces, buscar la desigualdad m as violada de tipo (3.11) equivale a buscar el corte de capacidad m nima (S, N \ S ) con i S y j N \ S red no dirigida G obtenida de G m as la imposici on de una capacidad x e a cada 3 e E . Esto puede hacerse en tiempo O(n ), puesto que se resuelve con el c alculo del ujo m aximo desde i a j (v ease, por ejemplo, Ahuja, Magnanti y Orlin [AMO89]). Si el valor del ujo m aximo no es menor que 2(yi + yj 1), entonces todas las desigualdades (3.11) para el par dado (i, j ) est an satisfechas; en otro caso, la capacidad del corte de capacidad m nima separando i de j es estrictamente menor que 2(yi + yj 1) y una desigualdad (3.11) de m axima violaci on se ha detectado entre aqu ellas para el par dado (i, j ). Intentado esto con todas las posibles parejas (i, j ) obtenemos un algoritmo de separaci on de complejidad O(n5 ). En realidad, se puede obtener un mejor algoritmo de complejidad O(n4 ), siguiendo la analog a con el caso del TSP (v ease Padberg y Gr otschel [PG85]), y usando el esquema de Gomory-Hu [GH61] para problemas de ujo multi-terminales. A un un m as simple algoritmo con la misma complejidad se basa en la trivial observaci on de que, para cada S , la desigualdad m as violada de tipo (3.11) aparece cuando los nodos i y j elegidos son tales que yi = max{yv : v S } y yj = max{yv : v N \ S }. Por lo tanto, cualquier nodo s con ys = max{yv : v N } puede siempre jarse para jugar el papel de, por ejemplo, i. De este modo, uno tiene que resolver (como mucho) n 1 problemas de ujo-m aximo en el intento de enviar 2(ys + yj 1) unidades de ujo desde s a cualquier j N \ {s}. Claramente, los nodos j con ys + yj 1 0 no necesitan ser considerados. Veamos ahora el problema de identicar las desigualdades (3.10): xe 2 yi
e (S )

si (S ) = 0, (N \ S ) = 0, i S.

Como antes, asumimos que el cluster Ch y el nodo i Ch est an jos. En tal caso una restricci on (3.10) con m axima violaci on se corresponde con un corte de capacidad m nima (S, N \ S ) con i S y Ch N \ S en la red G . As , ello puede ser detectado encontrando el ujo m aximo desde i a t, donde t es un nodo adicional conectado con cada j Ch a trav es de un arco con muy alta capacidad (esto se corresponde a comprimir el cluster Ch en un simple nodo). Tratando todas las parejas i, Ch ) se tiene un algoritmo de orden = 0 no necesitan ser considerados. O(m n4 ). Claramente, los nodos i con yi En cuanto a las restricciones (3.9) xe 2
e (S )

si (S ) = 0, (N \ S ) = 0

para todas las parejas (Ch , Ck ) de clusters distintos, una desigualdad (3.9) de m axima violaci on se encuentra buscando el ujo m aximo desde s a t, donde s (resp. t) es un nodo

4.2. ALGORITMOS DE SEPARACION

63

adicional conectado con cada j Ch (resp. j Ck ) mediante un arco con capacidad muy grande. La complejidad computacional de esta fase es O(m2 n3 ). N otese que una desigualdad violada de tipo (3.10) o (3.11) determinada por los algoritmos de separaci on antes descritos, no dene necesariamente una faceta. Para (3.11) esto ocurre cuando existe un cluster Ch contenido en S o N \ S ; para (3.10), esto ocurre cuando existe un cluster contenido en la parte del corte que contiene al nodo i. En estos casos uno debe obviamente rechazar la desigualdad en favor de la m as fuerte (3.9) o (3.10), que adem as si dene una faceta. Seg un el esquema anterior el algoritmo de separaci on para la familia F conteniendo las desigualdades (3.9)(3.11) precisa un tiempo O(m n4 ) en el peor de los casos. En la pr actica, el tiempo de c alculo requerido es t picamente mucho menor dado que la red G es poco densa, y tiene bastantes nodos aislados. Adem as, como se explic o previamente, varios c alculos del ujos m aximos pueden evitarse dado que algunos valores y son peque nos. Por otra parte, consideraciones param etricas sobre la estructura de los cortes pueden producir posteriores reducciones en el n umero de llamadas a c alculos del ujo m aximo. Por ejemplo, supongamos que en el intento de encontrar una desigualdad violada de tipo (3.11), uno encuentra un ujo m aximo desde el nodo s al nodo j de valor, al menos, 2yj . Entonces el c alculo del ujo m aximo desde el nodo j al Ch(s) puede evitarse cuando se consideran las desigualdades (3.10). Si el ujo anterior tiene valor 2, podemos igualmente ahorrarnos el c alculo del ujo m aximo desde s a Ch(j ) , desde j a Ch(s) , y desde Ch(s) a Ch(j ) . De manera similar, el c alculo del ujo m aximo entre dos clusters dados Ch y Ck puede evitarse si el ujo m aximo desde s a tanto Ch como a Ck tiene valor 2; en efecto, cualquier corte separando Ch y Ck tambi en separa s de Ch o Ck , con lo que cualquiera de tales cortes tiene capacidad al menos 2.
Consideremos ahora el importante caso en el que ys := max{yv : v N } = 1, lo que sucede muy frecuentemente durante el algoritmo de hiperplanos de corte. En este caso uno puede encontrar una desigualdad de eliminaci on de subtour generalizada de m axima violaci on calculando no m as de n + m 2 ujos m aximos, con complejidad computacional 4 de O(n ). En efecto, el grado de violaci on de cualquier desigualdad (3.9) con, por ejemplo, Ch S y Ck N \ S es el mismo que aqu el asociado con las desigualdades (3.10) escritas para el mismo S y para i = s. As , las desigualdades (3.9) no necesitan ser consideradas. Consideremos ahora las desigualdades (3.10) con i = s. Para jar ideas, sea i S y Ch N \ S . Si s S , entonces el grado de violaci on de las desigualdades no decrece reemplazando i con s. En otro caso, el grado de violaci on es el mismo que el de las desigualdades (3.11) escritas para j = s. Se sigue entonces que las desigualdades (3.10) con i = s no necesitan ser consideradas. Como un resultado, uno tiene que considerar expl citamente s olo las desigualdades (3.10) con i = s, y las desigualdades (3.11) (para las cuales puede volverse a asumir que i = s).

Un comentario nal en este sentido. Consideremos un ujo desde s a un nodo dado j ,

64

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO

y sea fv la cantidad de ujo atravesando cualquier nodo v N . Es f acil ver que para todos los v N existe un ujo factible desde s a v de valor v = fv + min{fv , fj fv }. En efecto el ujo desde s a j pasa a trav es de una familia de caminos dirigidos (no necesariamente disjuntos en arcos). Algunos de estos caminos pasan por v , con lo que invirtiendo la direcci on del ujo de la porci on de caminos desde v hasta j produce un ujo factible desde s hasta v de valor v . Damos ahora una descripci on del algoritmo de separaci on en Pseudo-Pascal. El algoritmo mantiene una etiqueta v representando una cota inferior sobre el valor del ujo m aximo desde s a cualquier v N \ {s}. Adem as, tenemos una etiqueta h dando una cota inferior del valor del ujo m aximo desde s a cada cluster Ch = Ch(s) . procedure GSEC SEP; input: el punto (x , y ) [0, 1]E N ; output: una secuencia S1 , . . . , Sr de subconjuntos de nodos (no necesariamente distintos) correspondientes a desigualdades violadas GSECs; begin 1. renombrar los nodos de manera que y1 y2 . . . yn ; 2. para todo v N hacer v := 0; 3. r := 0; s := 1; 4. desde j := 2 hasta n tal que j < 2(ys + yj 1) hacer 5. empezar ( comentario: desigualdades (3.11) ) 6. calcular el ujo m aximo desde s hasta j , y sea fv el ujo entrando en v N , y (S, N \ S ) sea un corte de capacidad m nima desde s a j ; 7. para todo v N hacer v := max{v , v }, donde v := fv + min{fv , fj fv }; 8. si fj < 2(ys + yj 1) entonces r := r + 1, Sr := S n; 9. para todo h {1, . . . , m} do h := max{v : v Ch }; 10. para todo h {1, . . . , m} \ {h(s)} tal que h < 2ys y yj < 1 para todo j Ch hacer 11. empezar (comentario: desigualdades (3.10)) 12. calcular el ujo m aximo desde s a Ch , y sea su valor, y (S, N \ S ) el correspondiente corte de capacidad m nima; 13. si < 2ys entonces r := r + 1, Sr := S n n.
= 1 no se N otese que, en el paso 10, los clusters Ch conteniendo un nodo j con yj consideran ya que el grado de violaci on de las correspondientes desigualdades (3.10) no puede exceder aqu el de las desigualdades (3.11) escritas para el mismo conjunto S y para i = s (comparar los pasos 8 y 13, y observar que fj ). : v N } = 1; en El algoritmo de separaci on anterior es exacto cuando max{yv

4.2. ALGORITMOS DE SEPARACION

65

este caso, podemos devolver los conjuntos S1 , . . . , Sr correspondientes a desigualdades de : v N } < 1, sin embargo, el algoritmo es de natum axima violaci on. Cuando max{yv raleza heur stica. En cualquier caso, cada subconjunto devuelto S {S1 , . . . , Sr } puede llevar a una desigualdad violada deniendo un faceta, seg un describimos a continuaci on. procedure GSEC BUILD; input: un subconjunto de nodos S , y el punto (x , y ); output: una desigualdad GSEC asociada a S , de m axima violaci on; comienzo = 0 }; 1. S := S \ {i : yi = 0 hacer para cada i tal que yi sea j Ch(i) el nodo con yj = 0 m as pr oximo a i (en el sentido del costo original ce ), y hacer S := S {i} cuando j S ; 2. si existe Ch S y Ck N \ S entonces devolver la desigualdad (3.9); 3. si existe Ch S entonces devolver la desigualdad (3.10) con i := arg max{yv : v N \ S }; 4. si existe Ch N \ S entonces devolver la desigualdad (3.10) con i := arg max{yv : v S }; 5. devolver la desigualdad (3.11) con i := arg max{yv : v S }, y j := arg max{yv : v N \ S} n. En el Paso 1, el conjunto S se modica tratando de tener clusters completos dentro de S y fuera de S . Para problemas del E-GTSP, a n de obtener desigualdades m as fuertes, los Pasos 2 y 5 pueden sustituirse por: 2a. si no existe Ch S entonces S := S Ch(i) , donde i := arg max{yv : v S }; 3a. si no existe Ch N \ S entonces S := S \ Ch(j ) , donde j := arg max{yv : v N \ S }; 4a. devolver la desigualdad (3.9) El procedimiento anterior tiene una complejidad de orden O(n).

4.2.2

Un algoritmo de separaci on heur stico para las Restricciones de Eliminaci on de Subtour Generalizadas

El algoritmo de separaci on GSEC SEP de la subsecci on anterior puede consumir excesivo tiempo de c alculo. Describimos ahora dos procedimientos heur sticos m as r apidos.

66

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO

El primer procedimiento, GSEC H1, considera el subconjunto de las desigualdades (3.9): xe 2 si (S ) = 0, (N \ S ) = 0,


e (S )

con S conteniendo uno de los clusters m as peque nos Cl . Para cada h {1, . . . , m} \ {l}, el procedimiento calcula una desigualdad de m axima violaci on y de tipo (3.9) con Cl S y Ch N \ S mediante la b usqueda del ujo m aximo desde Cl a Ch . Este procedimiento 3 tiene complejidad O(m n ), y t picamente se ejecuta mucho m as r apido que GSEC SEP. Tanto GSEC SEP como GSEC H1 producen una lista de desigualdades violadas elegidas atendiendo a sus individuales grados de violaci on, m as que atendiendo a sus efectos combinados. Para acelerar la convergencia de la fase de hiperplanos de corte, sin embargo, en cada separaci on es posible obtener una familia de desigualdades violadas llenando todo el grafo. Para ello, consideremos el problema m as simple que contempla s olo a las restricciones de eliminaci on de subtours, conocido como el problema del arbol generador m nimo (Shortest Spanning Tree) (SST). Es sabido de la teor a de matroides que los subconjuntos de nodos cuyas restricciones de eliminaci on de subtour son activas en un punto optimo, denen una familia anidada cubriendo todos los nodos del grafo. Por tanto, un algoritmo de hiperplanos de corte para el SST que a nada cortes violados a partir s olo de su grado de violaci on, precisar a un mayor n umero de iteraciones antes de generar la familia de cortes que determinan un optimo. En tal sentido, la t ecnica de compresi on (shrinking) usada en Padberg y Rinaldi [PR87, PR90] para el TSP, adem as de reducir el esfuerzo computacional empleado en cada separaci on, tiene la ventaja de producir r apidamente una familia anidada de restricciones que llenan el grafo. Describimos a continuaci on un algoritmo de separaci on heur stico para las GSECs, basado en las consideraciones previas. Para ilustrar mejor la idea b asica que subyace en el algoritmo, restrinjamos nuestra atenci on al TSP est andar. Dado el punto fraccionario x , buscamos una familia de restricciones de eliminaci on de subtour violadas. Para ello consideremos el pol topo QSEC := x 0 : xe |S | 1, para S N, |S | 2 ,
eE (S )

cuyos v ertices son los vectores incidentes de los bosques llenando el grafo. Encontramos un v ertice de QSEC pr oximo a x , digamos x , y contrastamos la violaci on de (algunas SEC de) las restricciones de eliminaci on de subtour deniendo facetas de Q pasando a trav es de x . Para ser m as precisos, buscamos x resolviendo el problema max{x x : x QSEC }, es decir, buscamos un arbol generador de peso m aximo en G con pesos en los asico algoritmo greedy de Kruskal [K56] y arcos dados por xe 0, e E . Usamos el cl comprobamos la violaci on de las n 1 SECs asociadas con los subconjuntos Si N , i = 1, . . . , n 1, correspondientes a las componentes conexas encontradas iterativamente.

4.2. ALGORITMOS DE SEPARACION

67

De la teor a de matroides (v ease, por ejemplo, Nemhauser y Wolsey [NW88, p agina 669]), las SECs asociadas con estos subconjuntos Si son las u nicas necesarias para demostrar la optimalidad de x (puesto que todas las otras SECs pueden ser olvidadas sin afectar a la optimalidad de x ), con lo que probablemente ellas ser an violadas por x . Observe que (alguno de) los subconjuntos Si encontrados con el procedimiento anterior pueden equivalentemente ser encontrados determinando las componentes conexas de los subgrafos inducidos por E () := {e E : x e } para todos los valores posibles {xe > 0 : e E }. De este modo, nuestro heur stico es una versi on mejorada de aqu el usado en Gr otschel y Holland [GH91], que estudia las componentes conexas del subgrafo G = (N, E ()) para = min{x e > 0 : e E }. El esquema anterior puede f acilmente adaptarse para tratar con SECs generalizados, tal y como indicamos en el siguiente procedimiento de tipo Pseudo-Pascal. procedure GSEC H2; input: el punto (x , y ) [0, 1]E N ; output: una secuencia S1 , . . . , Sr de subconjuntos anidados de nodos correspondientes a GSECs violadas; comienzo 1. ordenar las aristas de manera que x e1 xe2 . . . xet > 0, donde t := |{e E : x e > 0}|; 2. r := 0; T := ; 3. para cada i N hacer Vi := {i}; := n; es el conjunto de los arcos en el bosque actual, 4. comment: T := (N, T ); mientras V1 , . . . , V son las componentes conexas de G 5. para j := 1 hasta t hacer 6. si ej conecta dos componentes distintas Va y Vb (digamos) entonces empezar := T {ej }; 7. T 8. si la GSEC m as violada asociada con S := Va Vb (tal y como viene on 4.2.1) del procedimiento GSEC BUILD de la Secci es violada por (x , y ) entonces r := r + 1, Sr := S ; 9. sustituir Va y Vb con Va Vb y decrementar n n. La complejidad computacional de GSEC H2 es O(t log t + n2 ), es decir, O(n2 log n) en := (N, T ) calculado por el procedimiento se utiliza el peor de los casos. El arbol nal G heur sticamente para producir GSECs adicionales violadas, asociadas con las compo \ {e} para e T . nentes conexas de los subgrafos inducidos por T Una aproximaci on heur stica distinta para detectar GSECs violadas puede obtenerse

68

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO

cambiando la rega usada en GSEC H2 para seleccionar las dos componentes Va y Vb que ser an unidas. As , Va y Vb podr a ser elegida, de una forma greedy, como las dos componentes cuya uni on S := Va Vb produce la mayor violaci on en la correspondiente GSEC. Usando t ecnicas param etricas, el algoritmo modicado puede implementarse para ejecutarse en tiempo O(n3 ). Seg un nuestra experiencia computacional, sin embargo, esta aproximaci on es mejorada por GSEC H2.

4.2.3

Algoritmos de separaci on heur sticos para las Desigualdades Peine Generalizadas

A continuaci on describimos dos simples procedimientos heur sticos de separaci on para las desigualdades peine generalizadas. Primero consideramos las desigualdades 2-emparejamiento generalizadas. De forma similar a aqu el propuesto por Padberg y Rao [PR82] para el problema del b-emparejamiento, podemos transformar el problema de separar las desigualdades de 2-emparejamiento en un problema de corte impar de capacidad m nima; as este problema de separaci on es resoluble exactamente en tiempo polinomial. Sin embargo, tal tarea consume bastante tiempo computacional, y por ello en nuestro c odigo de ramicaci on y corte usamos el siguiente sencillo heur stico, derivado de procedimientos similares que se han propuesto para el TSP (v ease, por ejemplo, Padberg y Gr otschel [PG85]). Dado el punto fraccionario := {e E : 0 < x (x , y ), denimos el subgrafo G = (N , E ) inducido por E e < 1}. como el Consideramos ahora, una a la vez, cada una de las componentes conexas H de G mango de una posible desigualdad 2-emparejamiento generalizada violada, cuyos dientes de 2 nodos se corresponden con los arcos e (H ) con x umero de estos arcos e = 1 (si el n |), es par, la desigualdad es rechazada). El procedimiento precisa un tiempo de O(n + |E si es implementado propiamente. Nuestro segundo procedimiento de separaci on consiste en aplicar la anterior heur stica para las desigualdades 2-emparejamiento generalizadas despu es de haber comprimido cada cluster en un super-nodo, de manera an aloga a como se describe en Padberg y Rinaldi [PR90].

4.3

Algoritmos heur sticos

Tanto para el GTSP como para el E-GTSP, se pueden adaptar un gran n umero de conocidos algoritmos heur sticos para la construcci on y mejora de tours para el TSP (v ease, por ejemplo, Golden y Stewart [GS85]) Nos centraremos a continuaci on en heur sticas para producir soluciones factibles para E-GTSP (y por tanto tambi en para GTSP).

4.3. ALGORITMOS HEUR ISTICOS

69

Como procedimientos de construcci on de tours, describimos una posible adaptaci on del bien conocido procedimiento de inserci on del m as lejano para el TSP; las variantes inserci on del m as cercano y inserci on de m nimo costo se pueden adaptar tambi en de forma similar. Para cada par de clusters Ch y Ck , sea dhk la correspondiente distancia denida como dhk := min{cij : i Ch , j Ck }. Comenzamos eligiendo los dos clusters, digamos Ca y Cb , que est an lo m as alejado posible el uno del otro, y denimos un tour parcial T entre los dos nodos m as pr oximos i Ca y j Cb . En cada iteraci on, T viene aumentado determinando primero el cluster Ch no visitado m as alejado desde los clusters actualmente si visitados por T , y luego insertando un nodo v de Ch entre dos nodos consecutivos i y j de T de manera que se minimice civ + cvj cij . El procedimiento para cuando T cubre todos los clusters. Como en el caso del TSP, el procedimiento tiende a producir mejores soluciones cuando los costos satisfacen la desigualdad triangular. A continuaci on describimos dos procedimientos para mejorar soluciones. El primer procedimiento, RP1, se basa en intercambios 2-opt y 3-opt. Sea T la soluci on E-GTSP actual, visitando exactamente un nodo para cada cluster, y sea S N el conjunto de nodos visitados. Claramente cualquier soluci on pr oxima a la optima del TSP sobre el subgrafo inducido por S , puede dar una soluci on del GTSP mejorada. Una tal soluci on TSP puede obtenerse heur sticamente aplicando cualquier procedimiento cl asico de intercambio 2-opt o 3-opt sobre T . Esta idea nunca cambia el conjunto S de los nodos visitados. Para eliminar tal exigencia, proponemos el siguiente esquema generalizado de 2-opt. Sea (. . . , C , C , . . . , C , C , . . .) la secuencia de clusters correspondiente al tour actual T . Obs ervese la Figura 4.2, donde T se corresponde con la l nea continua. Todos los arcos de T no incidentes con los nodos en C C C C (dibujados con trazos gruesos en la gura) son jos. Tratamos de intercambiar la secuencia de clusters actual en (. . . , C , C , . . . , C , C , . . .). Para ello determinamos los dos pares de nodos (u , w ) y (v , z ) tales que ciu + cu w + cw h = min{cia + cab + cbh : a C , b C }, cjv + cv z + cz k = min{cja + cab + cbk : a C , b C }, donde los nodos i, j , h y k (v ease la Figura 4.2) son los nodos visitados por T pertenecientes a los clusters precediendo C , siguiendo C , precediendo C y siguiendo C , respectivamente. Este c alculo requiere |C | |C | + |C | |C | comparaciones. En su globalidad, intentar con todos los posibles pares (C , C ) y (C , C ) conlleva a una complejidad computacional O(n2 ), puesto que cada arco de G precisa ser considerado s olo dos veces. Adem as, RP1 considera el intercambio 3-opt de la Figura 4.3, en el que estudiamos la modicaci on de la secuencia de clusters (. . . , C , C , C , . . . , C , C , . . .)

70

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO

 t bb  b    b  b     b  b t b tk  i t    E E E E E ' 'E $ t E Et t " b E z " u b Et z t " u b " & % & b " b " b ' ' $ " b t " v w bt t tw v \ \  & % & \  \   \    \t  t t Q t j Q ,h , Q    , Q , Q   , Q Qt , t  

  $ t

C
% $ t

C
%

 

Figura 4.2: El intercambio 2-opt generalizado.

4.3. ALGORITMOS HEUR ISTICOS


  t t t   Q Q     Q  Q t t  Q  Qt t  B@ ,   B , B @ ,   , B @ , t Bt t

e   C
$
e'
t et

t e &  e%  e   e  t et t @   D @ # @ D    # @ Dt t @ t # t , t QQ t ,    Q , Q  ,  Q Q Q, , Q t t t  

71

  t @t 

t 

C


 t # t

t 

C


 

Figura 4.3: Cambiando la posici on del cluster C . por (. . . , C , C , . . . , C , C , C , . . .). Ahora proponemos un segundo procedimiento de mejora, llamado RP2 en lo que sigue, que se ha mostrado m as eciente en nuestras pruebas computacionales. Sea T la soluci on E-GTSP actual y (Ch1 , . . . , Chm ) la secuencia en la que T visita los clusters. Nuestra mejora consiste en encontrar el mejor tour factible, T , visitando los clusters seg un la secuencia dada. Esto puede hacerse, en tiempo polinomial, resolviendo |Ch1 | problemas de camino m nimo, como se describe a continuaci on. Construimos una red a niveles, LN, teniendo m + 1 niveles correspondiendo a clusters Ch1 , . . . , Chm , Ch1 ; v ease la Figura 4.4. LN contiene todos los nodos de G, m as un nodo extra j para cada j Ch1 . Hay un arco (i, j ) para cada i Cht y j Cht+1 (t = 1, . . . , m 1), teniendo costo cij . Adem as, hay un arco (i, j ) para cada i Chm y j Ch1 , teniendo costo cij (estos arcos conectan los dos u ltimos niveles de la red). Para un w Ch1 dado, cualquier camino en LN desde w a w visita exactamente un nodo de cada nivel (cluster), con lo que produce un tour factible para el E-GTSP. Rec procamente, cada E-

72

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO


 

  t t  a Q   !! l a ,  e  %S a ! %  eQ ! , l aat ! Q S t w  e ``, w % HH ! l @ ! ` ` Qt t % t t eQ  S `H  @ Q !  \, H ` l H  Q  `  H !  ` H , `  lt @ % e% H `! S  Q H Z tX Z  \ e%   H H H X X   Q Z  X e HHt H l  S ,   H H % X \ t t  et Q % @   XXX , H Z l  Q e  S  H  % \ X , @ X Z t t   H S l Q e  aa !  % , \   Q l a  !! a  Q e , !  a%  l ! e \t Qt   C C


h1

Ch3  Ch2

...

h1



Chm

Figura 4.4: La red en niveles LN. GTSP tour visitando los clusters seg un la secuencia (Ch1 , . . . , Chm ) se corresponde con un camino en LN desde un cierto w Ch1 a w . Se sigue por tanto que el mejor tour T para el E-GTSP visitando los clusters en la secuencia dada, puede encontrarse determinando el camino m as corto desde cada w Ch1 al correspondiente w . La complejidad global es entonces |Ch1 | O(n2 ), esto es, O(n3 ) en el caso peor. En la pr actica, el tiempo t picamente empleado se reduce signicativamente eligiendo Ch1 como el cluster con menor cardinal, y usando un algoritmo para calcular los caminos m as cortos especial para grafos ac clicos. N otese que el procedimiento de mejora descrito conlleva a un algoritmo exacto para el E-GTSP de complejidad O((m 1)! n3 ), obtenido tras intentar todas las posibles (m 1)! secuencias de clusters. Por tanto E-GTSP es polinomialmente resoluble para m jo (independientemente de n).

4.4

El algoritmo enumerativo

En esta secci on proponemos un algoritmo enumerativo para la soluci on exacta del problema. Puesto que todos los ejemplos que consideramos en nuestros resultados computacionales tienen costos que verican la propiedad triangular, daremos una descripci on m as detallada de la implementaci on del algoritmo para el E-GTSP. El algoritmo puede f acilmente se adaptado para el GTSP. Asumimos que todos los costos ce son enteros. El algoritmo sigue un esquema de ramicaci on y acotaci on, donde la cota inferior se calculan resolviendo una relajaci on lineal del problema. La relajaci on es iterativamente fortalecida a nadiendo desigualdades v alidas al LP del momento, seg un la llamada aproximaci on de hiperplanos de corte; referimos a los trabajos Padberg y Rinaldi [PR91] y J unger, Reinelt y Rinaldi [JRR92] para una descripci on profunda de la t ecnica. Ahora describiremos algunos puntos relevantes de nuestra implementaci on, incluyendo los mejores

4.4. EL ALGORITMO ENUMERATIVO

73

valores a los que hemos asignados los par ametros seg un nuestras experiencias computacionales.

4.4.1

C alculo de la Cota Inferior

En cada nodo del arbol decisional se calcula la cota inferior resolviendo el problema lineal denido por (4.1), (4.2), (3.7), las restricciones de cotas sobre las variables, las restricciones procedentes de la ramicaci on, m as un subconjunto de GSECs y desigualdades peine generalizadas. Este subconjunto inicialmente coincide con aqu el del nodo padre (para el nodo ra z se describir a m as adelante un procedimiento de inicializaci on ad hoc, basado en la optimizaci on Lagrangiana). N otese que las variables y no son eliminadas utilizando las ecuaciones (4.2), puesto que ello conlleva a matrices de coecientes en el LP m as densas. Comenzamos introduciendo la base optima del LP del nodo padre. (Para ahorra memoria, esta informaci on es almacenada en un chero scratch). Luego resolvemos iterativamente el LP, y le a nadimos algunas desigualdades violadas por la soluci on optima actual. Todas las restricciones violadas encontradas durante la fase de separaci on (salvo las desigualdades abanico) son almacenadas permanentemente de manera compacta en una estructura global de datos llamada piscina (pool). Siempre que una desigualdad introducida en el nodo actual del arbol de ramicaci on tiene una variable dual nula en 5 iteraciones consecutivas de la fase de separaci on, la eliminamos del LP (por no de la piscina). Adem as, siempre que el LP-solver requiere m as del 5 minutos para resolver el LP del momento, eliminamos todas las desigualdades con variable dual nula introducidas en los nodos anteriores. De este modo tratamos de mantener el LP tan peque no como en cada momento sea posible, sin perder la posibilidad de recuperar cortes eliminados en momentos posteriores, como se explico arriba. n de desigualdades violadas Identificacio Las desigualdades violadas que deben a nadirse en el LP del momento se identican mediante el siguiente procedimiento de separaci on. procedure SEPARACION; input: la soluci on optima (x , y ) del LP; output: un conjunto J de desigualdades violadas para ser a nadidas al LP; begin on de las desigualdades en la piscina (exceptuando aqu ellas 1. evaluar el grado de violaci presentes en el LP); 2. evaluar el grado de violaci on de todas las desigualdades abanico;

74

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO 3. sea J el conjunto de desigualdades con grado de violaci on mayor que 0.1; if |J | 1 then return; 4. aplicar la heur stica GSEC H2 de la Secci on 4.2.2, y evaluar el grado de violaci on de las GSECs encontradas; 5. sea J el conjunto de desigualdades con grado de violaci on mayor que 0.1; if |J | 1 then return; 6. aplicar la heur stica GSEC H1 de la Secci on 4.2.2, y evaluar el grado de violaci on de las GSECs encontradas; 7. for {0.1, 0.01, 0.001}, seg un valores decrecientes, do begin 8. sea J el conjunto de desigualdades (distintas) encontradas en los Pasos 1 y 6, y teniendo grados de violaci on mayor que ; if |J | 1 then return end 9. aplicar el algoritmo de separaci on GSEC SEP de la Secci on 4.2.1, y los algoritmos heur sticos de separaci on para las desigualdades peine generalizadas de la Secci on 4.2.3;

10. sea J conteniendo las GSECs y las desigualdades peine generalizadas encontradas en el paso 9, y teniendo un grado de violaci on mayor que 0.001 end. El tiempo empleado en el paso 1 depende del modo en el que se almacenen las desigualdades, en forma compacta, dentro de la piscina. En nuestra implementaci on, para cada una de tales desigualdades almacenamos su tipo, su valor lado-derecho, un puntero a la la en el LP del momento (=0 si no est a presente), m as informaci on adicional relativa al tipo de la desigualdad. Para type=desigualdad peine generalizada (v ease (3.17)), almacenamos un vector 0-1 n-dimensional para representar el mango, m as un entero ndimensional dando para cada nodo el ndice del diente que lo contiene (=0 si no lo contiene ning un diente). Adem as, almacenamos para cada diente j los dos nodos aj y bj . Usando esta estructura de datos, uno puede evaluar ecientemente los grados de violaci on de una desigualdad en la piscina observando cada elemento no-nulo de (x , y ) y recuperando (en tiempo constante) los coecientes asociados.

4.4. EL ALGORITMO ENUMERATIVO

75

En el paso 2, el grado de violaci on de las desigualdades abanico se eval uan como sigue. Para h = 1, . . . , m y j N \ Ch , inicializamos degree(h, j ) := yj . Entonces para cada [i, j ] E := {e E : x e > 0}, consideramos: degree(h(i), j ) := degree(h(i), j ) + x [i,j ] ; degree(h(j ), i) := degree(h(j ), i) + x [i,j ] . De este modo el paso 2 requiere un tiempo O(mn + |E |). Para el paso 6, su ejecuci on se evita cuando el procedimiento heur stico GSEC H2 tiene exito encontrando desigualdades GSECs signicativamente violadas. Sin embargo, hemos obtenido mejores resultados forzando la ejecuci on del paso 6 cada 10 llamadas a SEPARACION dentro del mismo nodo del arbol decisional. Esto permite detectar pronto GSECs que son raramente detectadas mediante GSEC H2. El procedimiento SEPARACION precisa contrastar que las desigualdades son distintas entre s . Esto se hace comparando sus representaciones en forma compacta, y conlleva un tiempo O(n) para cada par de desigualdades. Una considerable aceleraci on se alcanza asociando a cada desigualdad un valor hash de 4 bytes, esto es, un valor obtenido a trav es de una transformaci on de amplia imagen desde todas las posibles formas compactas a los enteros de 4 bytes. Ello asegura que diferentes valores hash se corresponden con diferentes desigualdades. n Lagrangiana Relajacio Al comienzo del nodo ra z, aplicamos una optimizaci on Lagrangiana con la intensi on de determinar una buena familia de restricciones para el LP inicial, as como una soluci on heur stica pr oxima a la optima. Consideramos el siguiente modelo (simplicado) para el E-GTSP, en el que las variables y han sido eliminadas usando las ecuaciones (4.2). min
eE

ce xe

(4.7)

sujeto a xe = m
eE

(4.8) para h = 1, . . . , m pra h = 1, . . . , m; v N \ Ch (4.9) (4.10)

xe = 2
e (Ch )

xe
e (Ch ) (v ) e (v )\ (Ch )

xe xe r 1

(4.11) para S = r i=1 Cli , C1 N \ S, 2 r m 2 para e E. (4.12)

eE (S )

xe {0, 1}

76

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO

La ecuaci on (4.8) es redundante en esta formulaci on. Las desigualdades (4.10) y (4.11) son las desigualdades abanico y las GSECs b asicas, respectivamente (n otese sin embargo que no todas las GSECs est an incluidas en el modelo). Dualizamos, en una manera Lagrangiana, las desigualdades abanico (4.10), m as las restricciones de grado (4.9) para h = 1. El problema relajado Lagrangiano busca m 2 arcos (cada uno conectando dos clusters distintos) en E \ (C1 ) no induciendo ciclos entre los clusters, m as dos arcos incidentes con C1 . Por tanto, puede ser ecientemente resuelto como sigue: i) comprimir G con respecto a los m clusters, es decir, reemplazar cada cluster Ch con un simple con respecto a los m clusters, es decir, reemplazar super-nodo h, y denir para cada par de super-nodos h, k un super-arco [h, k ] con costo c hk := min{c ij : i Ch , j Ck }, donde c ij es el costo Lagrangiano del arco [i, j ] E ; ii) calcular el 1- arbol de costo m nimo (Held y Karp [HK71]) sobre el grafo comprimido; iii) obtener una soluci on optima del problema relajado Lagrangiano reemplazando cada super-arco [h, k ] en el 1- arbol detectado en el Paso ii) con su correspondiente arco [i, j ] E (aqu el produciendo el m nimo en (4.13)). El c alculo de multiplicadores de Lagrange pr oximos al optimo se realiza a trav es de la cl asica t ecnica del subgradiente. En nuestra implementaci on, iterativamente adaptamos los multiplicadores a trav es de dos bucles anidados. En el bucle externo adaptamos los multiplicadores para las desigualdades abanico (4.10). Con estos multiplicadores jos, entramos en el bucle interno en el que los multiplicadores para las restricciones de grado (4.9) se ajustan de manera que se produzca un tour en el grafo comprimido. Esto se realiza inspirados por el exito de la t ecnica de Help-Karp para el TSP est andar. Al nal del bucle interno, si el 1- arbol nal sobre el grafo comprimido es un tour, determinamos una soluci on del E-GTSP heur sticamente a trav es del procedimiento de mejora RP2 del la Secci on 4.3, donde la secuencia de clusters Ch1 , . . . , Chm es la inducida por el tour en el grafo comprimido. Esta aproximaci on computacionalmente se demostr o bastante eciente para determinar soluciones pr oximas a la optima al inicio de los c alculos del nodo ra z. En nuestra implementaci on permitimos, como mucho, 1000 y 50 iteraciones del subgradiente en el bucle externo e interno, respectivamente. n del nodo ra Inicializacio z
Sean h y hj los mejores multiplicadores de Lagrange para las restricciones (4.9) y (4.10), respectivamente. El LP inicial al nodo ra z contiene las restricciones (4.2), (3.18),

(4.13)

4.4. EL ALGORITMO ENUMERATIVO

77

las restricciones de cota sobre las variables, m as el subconjunto de las desigualdades abanico (3.20) con hj > 0. Adem as, el LP contiene las GSECs B asicas (4.11) que resultaron activas en el c alculo del 1- arbol sobre el grafo comprimido con respecto a ( , ). Para ser m as precisos, incluimos en el LP todas las restricciones (4.11) cuyo subconjunto S se corresponde con una componente conexa detectada por el algoritmo de Kruskal [K56] para determinar el mejor 1- arbol sobre el grafo comprimido. Con esta inicializaci on, el valor optimo del primer LP est a garantizado ser al menos tan bueno como aqu el propio de la relajaci on Lagrangiana.

4.4.2

Pricing de las variables

Los problemas lineales LP que deben resolverse podr an en principio contener un enorme n umero de x-variables. En la pr actica, s olo un peque no subconjunto de estas variables, digamos {xe : e J }, necesitan ser consideradas expl citamente. J se inicializa heuristicamente, al nodo ra z, para contener los arcos que tienen costo reducido nulo al nal de la optimizaci on Lagrangiana. Estos costos reducidos se obtiene, en tiempo O(n2 ), a partir de los costos reducidos del 1- arbol calculado con los mejores multiplicadores Lagrangianos ( , ), como se describe en Carpaneto, Fischetti y Toth [CFT89]. Adem as, incluimos tambi en los 5 arcos incidentes a cada nodo con menor costo. Tras la resoluci on de cada problema LP, realizamos la operaci on de pricing de las variables xe con e E \ J , es decir, calculamos el costo reducido en el problema lineal c e := ce q umero de restricciones en el LP del momento, u i es i=1 ie ui , donde q es el n valor optimo de la variable dual para la restricci on i- esima, y ie es el coeciente de xe en la i- esima restricci on. (Estos costos reducidos tambi en se utilizan para jar las variables.) Obs ervese que para cualquier par dado (i, e), los coecientes ie pueden calcularse en tiempo constante a trav es de la informaci on almacenada en la piscina. Despu es de esta operaci on de pricing, el conjunto J es actualizado mediante la incorporaci on de los arcos e E := {f E : c f < 0} (si |E | > 100, s olo las 100 variables con menor costo reducido son incluidas). Siempre que E = , resolvemos una vez m as el problema LP con el mismo conjunto de restricciones y con el conjunto de variables aumentado. De esta manera, la fase de separaci on es llamada s olo cuando todas las variables tienen los correctos costos relativos. Para reducir el n umero de variables en el LP, cuando E = eliminamos de J todos los arcos d con LB + 4 ce U B , donde LB es el valor de la relajaci on LP actual, y U B el valor de la mejor soluci on conocida. La aproximaci on est andar para esta operaci on de pricing considera, una a la vez, cada variable xe con e E \ J y calcula su costo reducido asociado c e . Esta aproximaci on columna-a-columna resulta consumir en ocasiones bastante tiempo de c alculo, puede

78

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO

que cada para xe uno debe considerar expl citamente el coeciente de xe en cada restricci on del LP (incluso cuando este coeciente es cero). Se puede obtener algo de aceleraci on determinando heur sticamente un peque no conjunto E E conteniendo los arcos que estar an con mayor probabilidad en la soluci on optima (core edge set), y evaluar el costo \ J . Los costos relativos de las restantes reducido s olo de las variables xe para e E variables se eval uan s olo al nal del nodo actual del arbol decisional, o despu es de cada k (digamos) resoluciones de la LP relajaci on. Para otros detalles, v ease por ejemplo J unger, Reinelt y Rinaldi [JRR92]. Nosotros hemos implementado un alternativo esquema para el pricing la-a-la que en algunos caso, como en los considerados en este cap tulo, resulta m as eciente que el est andar. Inicializamos c e := ce para todo e E . Luego, para cada la del LP i {1, . . . , q } con u i = 0 determinamos el subconjunto de arcos Ji := {e E : ie = 0}. Usando la informaci on en la piscina, Ji se dene f acilmente en tiempo O(n + |Ji |). Luego adaptamos los costos reducidos c e para e Ji haciendo c e := c e ie u i . De este modo el q conjunto total de variables es examinado en tiempo O(|E | + nq + i=1 |Ji |), mientras que con la aproximaci on est andar se tomar a un tiempo O(|E | q ) para considerar un conjunto dado E . Por tanto, la nueva aproximaci on se ejecuta mejor cuando se debe examinar los costos reducidos de una gran conjunto de variables en restricciones poco densas, como en el caso del E-GTSP. No obstante, observamos que el nuevo esquema para el pricing de las variables requiere un almacenamiento de O(n2 ) bytes de memoria para el vector de reales c e , por lo que para ejemplos de grandes dimensiones el esquema propuesto podr a resultar impracticable. En nuestro algoritmo de hiperplanos de corte, aplicamos el procedimiento de pricing la-a-la despu es de la resoluci on de cada LP.

4.4.3

Fijando variables

Algunas variables de decisi on pueden jarse a 0 o a 1 usando la informaci on relativa a los costos relativos del nodo ra z. Sea U B el valor de la mejor soluci on E-GTSP disponible, y consideremos cualquier iteraci on del algoritmo de hiperplanos de corte (al nodo ra z) en el que todas las variables tienen el correcto signo en sus costos reducidos. Entonces el valor LB de la actual soluci on LP da una cota inferior v alida sobre el valor E-GTSP optimo. Sea c e el costo reducido de e E , y sea j el costo reducido de la variable yj , j N . N otese que costos reducidos negativos pueden aparecer para variables que no est an en la base y que est an en sus cotas superiores en la soluci on del LP. Entonces j dan una cota inferior sobre el valor optimo LB 1e := LB + c e y LB 1j := LB + del E-GTSP cuando xe = 1 y yj = 1 se imponen, respectivamente. De modo an alogo, j dan una cota inferior sobre el valor optimo LB 0e := LB c e y LB 0j := LB del E-GTSP cuando xe = 0 y yj = 0 se imponen, respectivamente. Puesto que estamos

4.4. EL ALGORITMO ENUMERATIVO interesado en soluciones factibles de valor estrictamente menor que U B , podemos jar xe 0 xe 1 yj 0 yj 1 Adem as, jamos yj 1 xe 0 yj 0 si xe 1 para alg un e (j ), si yj 0 y e (j ), si yv 1 y j Ch(v) . para e E tal que LB 1e U B, para e E tal que LB 0e U B, para j N tal que LB 1j U B, para j N tal que LB 0j U B.

79

Inconsistencias al jar variables implican la optimalidad de U B en el nodo actual del arbol decisional. Al contrario que LB , los valores LB 1e , LB 0e , LB 1 j y LB 0 j pueden decrecer en algunas iteraciones. Por ello, almacenamos estos valores en 4 arrays, y los actualizamos iterativamente (s olo en el nodo ra z) para mantener el m aximo valor de cada elemento. Estos tests para jar variables se realizan siempre que se incrementa alguno de las cotas de estos 4 arrays (s olo al nodo ra z), o cuando el U B disminuye (en cualquier nodo del arbol de ramicaci on).

4.4.4

C alculo de la Cota Superior

Al comienzo del nodo ra z aplicamos la inserci on del m as alejado, la inserci on del m as cercano, y la mejor inserci on, cada uno seguido por los procedimientos de mejora, tal como se describe en la Secci on 4.3. Adem as, como se explic o en la Secci on 4.4.1, para cada tour entre clusters que se detecte durante la relajaci on Lagrangiana, obtenemos una nueva soluci on factible tras aplicar el procedimiento RP2. Todas las soluciones localizadas son tratadas por los procedimientos de mejora de la Secci on 4.3. En cada nodo del arbol decisional explotamos la informaci on asociada con el punto fraccionario dado tras la resoluci on de cada LP, en el intento de mejorar el actual U B . Para ello, sea (x , y ) la soluci on optima del LP. Inicializamos una soluci on heur stica tomando todas los arcos e con xe = 1, y luego la completamos mediante un esquema de inserci on del m as cercano. Una vez m as, la soluci on factible resultante es tratada por un procedimiento de mejora de tour.

80

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO

4.4.5

Ramicaci on

Consideramos dos posibilidades para la ramicaci on: ramicaci on sobre variables y ramicaci on sobre cortes. Sea (x , y ) la soluci on fraccionaria LP al nal del nodo actual. La ramicaci on sobre variables (la aproximaci on est andar en los algoritmos de ramicaci on y corte) consiste en seleccionar una x fraccionaria, y generar los dos nodos e descendientes jando el valor de xe o bien a 0, o bien a 1. En nuestra implementaci on elegimos xe tan pr oximo como sea posible a 0.5 (los empates se rompen eligiendo el arco e con m aximo costo ce ). La ramicaci on sobre cortes consiste en elegir un subconjunto S N tal que no es un entero par, e imponiendo las alternativas xe 2k
e (S ) e (S )

x e

o xe 2k + 2,
e (S )

donde k :=

e (S ) xe /2

. En nuestra implementaci on S se determina como sigue.

Sea v1 , . . . , vm la secuencia de v ertices correspondiente a la mejor soluci on E-GTSP actual, digamos ( x, y ), donde los sub ndices de v deben de entenderse en m odulo m. Nosotros nos restringimos a conjuntos S obtenidos como la uni on de clusters consecutivos en el secuencia (es decir, S := Ch(va ) Ch(va+1 ) . . . Ch(vb ) para alg un par (a, b)), y tal que 2 + e(S ) xe 4 para = 0.2. Entre estos conjuntos S , si hay alguno, elegimos aqu el que maximice L(S ) := min {d(vi , vj ) : i = a, a + 1, . . . , b 1 y j = b + 1, b + 2, . . . , a 2} , donde d(vi , vj ) := cvi vj + cvi+1 vj+1 cvi vi+1 cvj vj+1 es el costo adicional correspondiente a la nueva soluci on obtenida de ( x, y ) mediante el intercambio del par de arcos on sobre el incremento ([vi , vi+1 ], [vj , vj +1 ]) con ([vi , vj ], [vi+1 , vj +1 ]). L(S ) es una estimaci del costo de la soluci on optima (y por tanto sobre la cota inferior del LP) cuando imponemos e(S ) xe 4. Eligiendo L(S ) tan grande como sea posible se espera producir un incremento signicativo en la cota inferior de uno de los dos descendientes del nodo actual. En nuestro estudio computacional usamos la estrategia de ramicaci on sobre cortes (que se present o como superior), y acudimos a la ramicaci on sobre variables cuando la estrategia anterior no encuentra el corte (S ). Dado que la soluci on heur stica calculada al nal del nodo ra z es bastante buena, hemos decidido implementar un esquema de exploraci on del arbol decisional del tipo depth-rst.

4.5. RESULTADOS COMPUTACIONALES

81

4.5

Resultados computacionales

El algoritmo enumerativo descrito en la Secci on 4.4 ha sido implementado en lenguaje C, y ejecutado sobre un Hewlett Packard 9000 Series 700 Apollo y sobre un DEC station 5000/240. Como LP-solver hemos usado el paquete CPLEX 2.1 que contiene tanto el algoritmo Simplex primal como el dual. Consideramos dos peque nos problemas geogr acos, 15SPAIN47 y 27EUROPE47, correspondientes a 47 ciudades y 15 clusters (regiones) de Espa na, y a 47 ciudades y 27 clusters (pa ses) de Europa, respectivamente (v eanse las Figuras 4.5 y 4.6; los correspondientes datos est an en la Tabla 4.5). Se han considerado mayores problemas a partir de los problemas TSP de la librer a TSPLIB de Reinelt [R91] con 48 n 442. La procedimiento para dividir los nodos en clusters se ha realizado tratando de simular regiones geogr acas, seg un el siguiente procedimiento. Para un problema dado, jamos el n umero de clusters a m := n/5 . Luego determinamos m centros considerando m nodos tan lejos unos de otros como sea posible. Finalmente se obtienen los clusters asignando cada nodo al centro m as pr oximo. El procedimiento resultante es el siguiente. procedure CLUSTERING; input: n, m, ce para e E (con c[v,v] := para todo v ); output: h(v ) para todo v N ; comment sea far(S ) := arg max{min{c[v,w] : w S } : v N \ S } el nodo m as alejado de S N ; begin 1. centro1 := far({1}); 2. for i := 2 to m do centroi := far({centro1 , . . . , centroi1 }); 3. for v := 1 to n do h(v ) := arg min{c[v,centroi ] : i = 1, . . . , m} end. (En arg min{} y arg max{}, los empates se rompen eligiendo el argumento menor.) Adicionalmente, para los problemas geogr acos GR96 (Africa), GR137 (America), GR202 (Europa), GR229 (Australia-Asia) y GR431 (Australia-Asia-Europa), descritos en Gr otschel y Holland [GH91], hemos considerado tambi en un natural proceso de creaci on de clusters, en la que estos se corresponden con naciones. Los problemas resultantes son 50GR96, 35GR137, 31GR202, 61GR229, y 92GR431. Las Tablas 4.3, 4.4 y 4.5 dan resultados computacionales para los problemas test anteriores. Los tiempos son relativos a segundos CPU del un ordenador HP 9000/700. Para cada problema, la Tabla 4.3 da la siguiente informaci on al nodo ra z: - problem name : en la forma mXXXXn, donde m es el n umero de clusters, y

82

= ( B ( 4 8 =  B  $ "  5      #  !$      :     " $    : # "  5    $ "    #     :  !  $  $    :  " $    #       F   " "5   ! "$  :   W    $ !   5   " :    $ "   $   :   "  :  :   :    !  $    5   $  ! !$     :   "    5  $  " 4 =  B ! : "S ! ! !:  "!:   " 5   " !'  ,  $  " :  5   "$  " " ":  P  '  : "   "    $  $   $   " 5   ! "   $  !    $   F   " :     $  !$       $  $  " $ "   $ "   5   ! "$ "   :  :   !  :  #   $   :   $   %       #   !" 6 4 6 ( <   #   :   $ "   : "  $ "   !5    $   :   5    F   " : ! !$  "X !   #    $ ! !  ,  "$   !:    #  :    P  # "  :    $   : ! $ !  "  $  $    $    $    $   5     ,  #   $ !   5   "   S    :    "$   "    !$   : ! ! 7 6 3& 4 ; 7 3 3 7  <  " : :    : "  #   $   :    F  ! " :   : F   " !# "   :   "X  :   " ! ',  $   5   !5    #  :    $   F   5    "$   $ ! ":    $  :    #  "$ "   !5   !# "  :   :         $   '   $ " ! %    $   $ ! " . 1 2 6 / >=B 2 6 1 )
7 3 ( <  ! #  "   :    $  ! $   "  $   #    5  ! !$ !  !: "  ! 5   " !:   ! ! #  ":   ":    #   $   " : "  #  :    "  !$    $  :   :    $ "   $    : !  ! :    $  "X    5    $    5    #   #    ,   "&  : "    $    "R  ) / ) & 6 < 4 / & ; 3 4 (  :  ! #   !$   $ "   F    $ "  5   " 5  !     ": ! : " :  !, $   !  $  5    P  :   : "   $   :    $  $ "  ! ":    F   # "   !$   5    $     :    " $ "   ":   5   ! $   ' "   !#   $   %   !  5  # "     !   ! W  = T T 3
/ > /2   !, $ $   :   ":  :   : "  5   " ' !  :  "  "    $ "  #  '  :   #  :  ! :   $  " 5   " 5    "    #   !#    !:   :    5    $    !5    !$  ! F  !":    $      $ "  ", # "  !$     "  :   ",  $ !    #  $    9  21 6 )
& < ) ( 4 8 (  !$  # !   5    "$  ! : "  5   " !   :  !  $  $   " !$ !  ! !$ "  : !  ! $   $ !   : "  !G  5    !     :      5    :   ! !  ! # "  "    :   $    !F       $    5     $ P !  $ !        5 "$  "  :   #     %  !V  8 > 4 0& 2 6  4  ! $   F     '  5       :   " :    5     "'  #   $   ! :   :   !  :  F   $  ! :    5     :  '    F   ! $ !  : $ " :   ! $    # "        : " " " F  $    $ "  :   ! "     $  :  "                     U  7 & 3 4 & . *2& 1 4 ; ; 3 3 6
<  !  :  #   : !  "  ": , $ !   !:  :    :  , $    :  " :   "$   "#    :       :   " "5   " $ !  " !P  !5   #        :    ": !  "F   ! $   5  ! "   5   5   " U        ! $   ! "&   "$ ,  $  !"      "     " %      "   !  O  6 I 4 & 6 <2& 4 2 8    #  : "  F   '   :  " F   !  $  :    $ "  :    P  $ "  !5  " :    5    : "  , # "   $   " "F     :  ":   :   5    !$ "  !$   5    5  " !5    !    #  "$    $  $    !:     : "  ":  "   #  : ! : "  " :         L  ( 4 8 > 0 7 B 3 / ) 7 ) & ,  :   $   "$   5   5     $  ":    :    ": !   ! $  # "  :    ":    :   #    "$  !$ " : "   $    $   $   5    :    !$   :         :   ! :     " :    $          ,  $ " "           !    #      "      %   "C ! K & 4 ) 6 0 L )  : " ", #  S   $    "$ "  :  $       $ "   $   " F    $   " ":   :  ":   "     ": "   # !   $   "     5     :  #   5        :   ! 5    $     ,   : !  "       : "   :  ! ' ,  $    5   $   ,  "    %   " $  ! H  & > 8
D 2 1 ) %& ; 3    "$ "   " ": !   , #   "$  ! !:  " #       $   ":  $   !F    "5    #    $   5    "$   ! !$    $   $ "   #  # "   :    :  ! 5   " 5   ! #  !:   !5   : !   :   #    " , 5   !     !  % "     $ "   !  ,      !  !#   "      6 = D &
& < & ) 4/ D   !5    ! "$  $ "   5     "    ! "$   "   ! !       "  : " $ !   !$ ! # !    ,            !$     F "  !: ! "#    "        $    #   "$         : "            !  !           !           " (      " !   "     " ! &  ,  " "O  K 4 / ; 3 , D & ) 47/ 3 D% = D  ! :  ' "   !#   :     !  $ "  ! "$   S !  $   : "   ":    5    "     :   "$    $   !$ "  " "5        $    !$ "      ! ":   5   !   " $ "  "  :  "&   !$   $  !       !                " :  !         ,                H 4- 3& 4 2 6 1 )/; 3 = D  ":    !#  $    5   ! :     ',  5   :   " F   " :    " "$  !#   !#  $    ! : " ' "   "  ":   ! $ "   $    5    $  S    " :  #    # !  %   "   #   "     (   " (        (        !  "    (    ( "      "    !   "  "L  *& 6 = < ) 4 / & & 6 2 <  4   #  $        " "$ "   ":   !:  ! :  ! F   ! 5     $ ! "$    5    #        ! #    :  " :   " "$   $    !   :   :  $  ! !$    $     &      $  !  :  "$ "   !: ! ! : "  $        %   5   # !     $   !  !        , 9 .21 6 ) K > )
&  4  $ !   "   ,  $  P !  ! !#    $ ! " 5   "  $  $   ! #       # !        !$   F   "   ,  $   "$ !   !   :   "  " #       "$  "  "       # !  ! "     !      %   ! &     &       "          (  !     !    (      ,       5  2 T 4  1& K 4 62 1 % > " : "   #  !'    :   !:   5    " $  $    $ " ": "   :    ! $  :    !$ !   : "   "$   : !$    "$     :   : " !     : ! ! "  !  5 P   " !  !5    $    ! " %   :  :       " " "   :  ! $   :   "$    !       "  (   :  "  O  ) ; 3% 6 827 & 3K   ":   ! "   :   !# !   $  5   " $ !    $  !5   5   ! !    :  "      :  ,  $   "#    5   ! : " ! !:    !#  !$ !  ! # "  !     5  ! "$  " !  5            " :    $         !          #  ! %   ! :    !    "                 F  2; ; 3 3 6
% 6 K   :    :  # "    $  $  !$   :  S  # "   $   5   $    : "    : " : "  " :   ! !5  ! :    !'  $    ' "       $ ,  "$  "      ",         " "&         (           !     "             &            "      " E  & 8 7 3 % 4 & ( 8 ; > ( 3   5  ! #   :    " $  :     !$  5   ! # !       $   S !  !$      : ! "!: !   5   " ":  " $ "     !  #   "  "    !,  !$    !    " " "     !   "  &          (                "           !   , &    "   ! !   "     %     " "R 6 % 4 J) 2 4 & & 8 4 ( 3 , #    :     "$    #    :    :  " :  ! # "   $    5    $ "  " !$ "   $ !   5   "       $ "  #      ! : !   " $ ! " ":  "  " $ !   %              " !%    :  !      " :  $  &  ,  "     (   :   "     "5   # !       ! L  8 > 4 0 / ? ; > 3 6/ ;  3  ":    5     $      : "  $  ! :    $ " " : !   :    $    5         5   ! $ "    "#    !  #  (    :   , '                % !      '      "           !        $ "   !&  ,  "     (         ,  %  " "     !       %  !@  & ) & 4 ) 473 ) 2 4 ; 3   :  :    ,  $   :    !$    !# "   $   :  :   ! 5    $     " :    $  " !  ,  !' "       !$     !       "      !     !   " "               "    &          #  " (                ! " %         &  ,      $ !   Q 3 & 4 2 4 D
& <; 6 3 ) 
 A    :  ' ,  ! $ P !   !#    #  : ! " :  ,  " :  5    :  ", : "  " 5    :    ,  $   " "  5 " # "         !     "  "     !    !                      !   " (   (  !        " ( "       " "    : " "$   "  (       !  O ) 4 0 ; 6 3 2  12 >  .       : " #    $   !$   :   " ! :  !:   !:   "    ! $  :   $   $   ! :     ":     $ "  ! !   "    "  ! !     !   !  "(   "(  "     "             "  !  "(   ! " " !       "      !     %   !  $   (          N  JK ) 2 > 4 1+; 3  <
3 > ( .  !:   " "# !      $       " 5    # "   :    "5       :    !        :       5   $ ! !           : !         " $            !,    ! $   !         " !:      " !  !       %    !    !     " !  "     "     (     H/ ) & 82 . )/
D 4 1  A ; 3 > 8   "$ ! #   "   :    : "  :  ! : "   :   $   !5   ! # "   :   ! # "  %   :    # "              !#    !            !           "&  ,   "    "     !   "             #         ,  ( "  "       ,              "   "  "   " +  <
 A& 6 * ) & 8 " # !   $ "  "      F  #  5   !     "  $    #  #   $ "   "      #              !         "         :    !      !   !  !  !        !  ,    "   !   "            "           ,     "  "  ( "    "   &  ,   M  3> 0 ) - 6 )2 4 / & 8  $         ! ,  #   !$      "  %     :  :  "            !$  #                   "    ,     $ !             !            " " # !       &    "           !  "    ,  !(  ,       "      " !    " $ !       
& 6 *) 67 / 3 . & 2 1
) / >  1  :    " ":  "$   5   " ! : : "  "  ":  :  " $    :    ! !: "  "  $    $ !      !  :         ,  $ !    !    # !       $   $ !    &  ,  # !        $    "   !  %   " "       "    "$    " $     "         $  "      &    ! L  2 8 > 0 . JK ) / > & 4  1   $ !  $   ,  %   !       :   "  #   !    " $      !    ",     "  5 ,  !     !  %   :   '   &  ,  "     :  $ !  " !  :   ! !  ,  ! !    "  $    ! !   !:    "#   !    "    #         " !        !        ! ! &       ! +  7
<
) & 8 0 ( 4 4  1  ! !   ! :  5   ,    "$    !    #        "  :  "  :    : "  $    "  %  :   $    "  !     $   ,     5     :       "(  ,       !' ,  "   5   "$ !    "    ":    :  !        !     $   " ! ,      !     ! ": " @  > & I *) I 3 / + > 62& 1   "  : "  " : ! $ "   ! $  :    "#      ": "    $ "        &     "      "  ! " "    (    !    "      !                   ,     ! "    !% !   " !           "$     #   !    &        (  "   !     "  ,       " +. 8 > 0 ) 6/ ) 7 & 4 7 3
3 2  1   :    5    :    "$    $    #        5  $              %  $                     ! #   " "   " !              "     "      %                    !     "  (   ,        " !   !  " !    ! !   !           E * 6 & ) / < 4 0 & > B& 6 2 1  ",  "$  $             $   "   ! : "  "  $ "       "               "            " "     "   !   % ! !$ ! " "(     ! "        (   " %     !   !    "     " :   "  ,  !      &         !  "  (     "         ,     " "#     !H  ) 673 0 & > /
2 1 2 1  " ": ! ! :   !: ! G         #     : ,   "           "    $  " !                   % !:   "    "             &   "              % ,  "#     $      ! "            !  "     :   " '   , #   '        F  6 ; 3 21 ( ( 4 2 8 > 0     " $   :  "   "   #   "        : "  : " $         ! !   5     : ! "   "  ,      "      !  !     :    !  ! % ,   !    !    !  (         &  ,  " (                          " !     !$   "          ! !  E / / D > 0 4 0 3 6 0   $    $    !       '  ,  "   &          % ! ! "        "     $ "      "       "   " "        "  (   !     ,  !      %      " !   (    (       ! !  ",  "   !   "       ! :                "          (  ,  !, (   "    C  / .2 1 > 0 ) 4 3
2 2 1 0 "         :     :   !  $        !         " # "   !         # !   "    : !  ! : ! "            !$    "     $ !           %   :   " $   :              $ !  "          !  $   ,  $ !  "$ !     !      # !  $   !    %  7 / 3  & / > 0 B & 4 A 0    " ! #  $    !$ !   "       "      $ ! "  "     "    "   ,                 " "     ! ! !          %  "  : !   % ! !:    ! #         ,      ! !$  "     "       "     %   :   "                   " $             @ ? 2 > / 4 0 3& 7 6 = <     5   $    "$    $   !5        :       ! ! %  " :   !      "$           "   "    " :           ! "  !        :  !# !     !     &  ,  # "          "%   ! :   !       ,  "   !       ,  !# !    !      !     +  ); 6 3 / 0 6 / % 7 3 (  ! ,    !     $  !  %   5  "           :    '     ! $ !  !    !          "    # !  "      %  !      !            ! "   "  "(         ,      "# !           !  "          , #   " !      !   ! : 5       !      9  8
3 0 ) 21 67 3          "             "    !   " !        $ "           $    !(     ( "      " !  !      "   ,     !     !         (    !  !             ! (                 " 5              !   "            !%   !       2 6 0 /2 1 0 3 !          !,  "   "                   !      "              "&  ,   (    ,  "  !        %   $   ! !  #          "  ! "            "             %    $   "         " (          "            !  "   !5   !       &   " !+  ) 4
3 2 1 0 !    ! !                     $   !     ,  "          (     ! (   !( "            !      " " !   "  ! !    ! ! (        " !  "( "  ,   ,   "       ,  "(   "    !  ,    " "  " ,        !(      "    ! !        !        !     "$ !  !  " / ) . !     !      " "      "         !$ !  !     ,  "    "     !,        (             " "  !  !   ,   " !   "  ! !  ! (         "  "  "( "          ! $ "  " " "              "   " ,        ( "    "             !  " !   !    " !   ! " (  " " +  & * )  $          %     " #    "    (    $ !      $ !  $ "      ! (      "'    "      % "               "$ " "$   #    &        $    &        %    ! "$      " $ "  !  !$ "     $    #  " "         !                            

Tabla 4.1: Costos de los arcos en SPAIN47 y EUROP47


CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO

4.5. RESULTADOS COMPUTACIONALES

83

XXXXn es el nombre del problema en la TSPLIB (n representa el n umero de nodos); - Lagr-LB : porcentaje raz on LB /(valor soluci on optima), donde LB es la cota inferior calculada a trav es de la relajaci on Lagrangiana de la Secci on 4.4.1; - Lagr-UB : porcentaje raz on U B /(valor soluci on optima), conde U B es la cota superior al nal de la relajaci on Lagrangiana (v ease la Secci on 4.4.4); - Lagr-t : segundos de CPU para la relajaci on Lagrangiana; - basic-LB : porcentaje raz on LB /(valor soluci on optima), donde LB es el valor optimo de la relajaci on LP lineal del modelo simplicado (4.7)(4.12); - root-LB : porcentaje raz on LB /(valor soluci on optimo), donde LB es la cota inferior nal al nodo ra z; - root-UB : porcentaje raz on U B /(valor soluci on optimo), donde U B es la cota superior nal al nodo ra z; z (incluyendo Lagr-t). - root-t : segundos de CPU para el nodo ra Seg un la tabla, la cota superior calculada a trav es de la relajaci on Lagrangiana es bastante buena. Coincide con el valor optimo en 30 ejemplos, es decir, en el 56.6% de los casos, y en media es un 0.5% superior al optimo. Por otra parte, la bondad de la cota inferior Lagrangiana es bastante pobre, con un error medio del 11.7%. Esto se debe tanto a la soluci on heur stica del problema dual Lagrangiano (resuelto a trav es del m etodo del subgradiente), como al hecho de que este esta derivado del modelo simplicado (4.7)(4.12). Obs ervese que la mejor cota inferior te orica para la relajaci on Lagrangiana iguala el valor optimo de la relajaci on lineal del modelo (4.7)(4.12). El u ltimo valor fue calculado a trav es de una versi on simplicada de nuestro algoritmo de hiperplanos de corte, y se expone en la tabla (columna basic-LB). Puede verse que la mejora con respecto a la cota Lagrangiana es considerable, as el gran error observado deriva de la debilidad del modelo simplicado. La Tabla 4.4 demuestra la ejecuci on global del algoritmo enumerativo. Para cada problema la tabla da: - problem name ; - optval : valor de la soluci on optima; - total-t : segundos CPU para la total ejecuci on; - LP-t : segundos CPU consumidos por el LP-solver;

84

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO

- SEP-t : segundos CPU consumidos por la separaci on; - nodes : n umero de nodos explorados del arbol decisional (=0 si no se ha requerido ninguna ramicaci on); - separ. : n umero total de llamadas al procedimiento SEPARACION; - cuts : n umero total de cortes distintos producidos por SEPARACION; umero m aximo de restricciones en el LP; - row : n umero m aximo de variables no-slack en el LP. - col : n La tabla muestra que todos los ejemplos considerados pueden resolverse hasta la optimalidad en un tiempo de c alculo aceptable. Adem as, una signicante parte del tiempo total de c alculo es consumido por el LP solver. En un 70% de los casos no fue necesario el branching. Los resultados tambi en muestran que el proceso de creaci on de clusters en modo natural produce ejemplos m as f aciles que aqu ellos obtenidos a trav es de nuestro procedimiento CLUSTERING. La Tabla 4.5 muestra estad sticas adicionales sobre el tipo de cortes generados, y sus columnas representan: - problem name ; - cuts : n umero total de cortes generados, incluyendo aquellos encontrados por la inicializaci on Lagrangiana (Secci on 4.4.1) y aquellos recuperados desde la piscina; - fan : n umero total de desigualdades abanico generadas (en par entesis aqu ellos encontrados por la inicializaci on lagrangiana); - GSEC H2 : n umero total de GSECs encontradas por el procedimiento heur stico GSEC H2 de la Secci on 4.2.2; - GSEC H1 : n umero total de GSECs encontradas por el procedimiento heur stico GSEC H1 de la Secci on 4.2.2; - Gcomb : n umero total de desigualdades peine generalizadas generadas; umero total de desigualdades violadas recuperadas desde la piscina; - pool : n En cuanto al procedimiento GSEC SEP, nunca encontr o desigualdades violadas, con la excepci on del ejemplo 45TS225 donde detect o 9 cortes. Esto prueba la efectividad de nuestra separaci on heur stica para GSECs. Las desigualdades recuperadas de la piscina con mayor frecuencia son las GSECs (3.9).

4.5. RESULTADOS COMPUTACIONALES

85

Para evaluar el efecto del procedimiento de creaci on de los clusters frente a la variaci on del n umero de nodos, hemos tambi en considerado un segundo procedimiento que simula regiones geogr acas. Dado un ejemplo del TSP, sean (xi , yi ) las coordenadas geogr acas del i- esimo nodo (i = 1, . . . , n). Esta informaci on est a incluida en la librer a TSPLIB para todos los ejemplos que consideramos en la Tabla 4.6. Sean xmin, xmax, ymin y ymax las m nima y m axima x- y y -coordenadas, respectivamente. Consideremos el rect angulo cuyos v ertices tienen coordenadas (xmin, ymin), (xmin, ymax), (xmax, ymax), y (xmax, ymin), y subdividido para tener una malla N G N G en la que cada celda tiene lados de longitud (xmax xmin)/N G y (ymax ymin)/N G. Cada celda de la malla conteniendo al menos un nodo, se corresponde con un cluster. N G es determinado de manera que se tenga un n umero prejado medio (par ametro de entrada) de nodos en cada cluster. Para ello, sea CLUSTER(H ) el n umero de clusters no vac os correspondientes a la malla H H , y denimos N G como el menor entero tal que CLUSTER(N G) n/. La Tabla 4.6 da, para cada ejemplo y valor de = 3, 5, 7, 10, el tiempo (segundos CPU de un HP 9000/700), el n umero de nodos del arbol decisional, y el n umero m de clusters. Comparando la Tabla 4.6 (para = 5) y la Tabla 4.4 se observa que el procedimento de creaci on de clusters en malla produce ejemplos m as dif ciles de resolver por nuestro algoritmo. No hay, sin embargo, correlaci on entre la dicultad del problema y el n umero medio de nodos en cada cluster. En su globalidad, nuestras resultado computacionales con el algoritmo de ramicaci on y corte que se propone son bastante satisfactorias. Todos los problemas test considerados fueron resueltos en tiempos de c alculo aceptables, con la u nica excepci on del problema TS225 y el procedimiento de creaci on de clusters en malla (caso = 5 de la Tabla 4.6). Adem as, los algoritmo heur sticos propuestos permiten calcular muy buenas soluciones en cortos tiempos de c alculo. Como se muestra en la Tabla 4.3, despu es de la fase Lagrangiana, el porcentaje de error medio con respecto al valor optimo es 0.5% (v ease la columna Lagr-UB), y 0.1% al nal del nodo ra z (v ease la columna root-UB). Para resumir los resultados emp ricos del algoritmo de ramicaci on y corte, realizamos una estimaci on de m nimos cuadrados sobre los diversos tiempos de ejecuci on mostrados en la Tabla 4.4 tomando n como variable independiente, seg un el modelo time = n y con un nivel de conanza del 95%. Las estimaciones se dan en la Tabla 4.2.

86

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO

time total-t LP-t SEP-t

value p-value 2.4E-7 6.0E-19 3.9E-8 1.3E-18 4.5E-10 2.2E-21

value p-value 3.99 5.7E-24 4.23 1.3E-22 4.70 4.7E-23

Tabla 4.2: Regresi on m nimos-cuadrados.

Bilbao an q hhhq San qSebasti S L q q ( q q ( Lugo b L Vitoria " Pamplona b( q (( DDq q " Gerona Lq Logro no Huesca Le on l Palencia ! ! qa L erida q q ! q Burgos q  Pontevedra P  a l q  aa hhh q Orense Pq l lq Soria aaq q ( ( Zaragoza Valladolid ( Barcelona q( Zamora Segovia q Tarragona ,L Guadalajara q, Salamanca q Avila A Lq qQ Teruel Q q Madrid on ((qc Castell A Qq ( Aq Toledo c q Cuenca C aceres q Valencia % q % q q Badajoz aa Ciudad Real q Albacete a Alicante C ordoba Ja qh q hh qen  % Murcia Granada Sevilla e  e q q %   Huelva q q  % q Almer a q% % M alaga Santander La Coru na Oviedo C adiz

Figura 4.5: Soluci on optima de 15SPAIN47.

4.5. RESULTADOS COMPUTACIONALES

87

Narvik q Mosc u  b  q  bq q Oslo a aaq Helsinki Edimburgo Estocolmo q Copenhague q @ Dubl n @  Varsovia q q Hamburgo q Q Liverpool @ ` ``  q P q PPBerl Q q n @Amsterdam q Q q Kiev Londres D lq Calais q D EE Bruselas Frankfurt e q DPraga q e q c Par s Eq Luxemburgo cq q Munich Viena Belgrado " " q S h" q Estrasburgo qh  Bucarest e q q  Salzburgo S Zurich Sq A q b a La Coru na (q Ginebra b q A ( aa q ((( q Dubrovnik Sof q a Burdeos Aq q q Venecia Mil an Ancara Estambul % q % q Marsella Bari Madrid ((q q % Roma HH ( ( q A Barcelona HH% Lisboa q q% A @ Atenas A q @ Palermo q @ M alaga

Figura 4.6: Soluci on optima de 27EUROPE47.

88
problem name 15SPAIN47 27EUROPE47 50GR96 35GR137 31GR202 61GR229 92GR431 10ATT48 10GR48 10HK48 11EIL51 12BRAZIL58 14ST70 16EIL76 16PR76 20GR96 20RAT99 20KROA100 20KROB100 20KROC100 20KROD100 20KROE100 20RD100 21EIL101 21LIN105 22PR107 24GR120 25PR124 26BIER127 28PR136 28GR137 29PR144 30KROA150 30KROB150 31PR152 32U159 39RAT195 40D198 40KROA200 40KROB200 41GR202 45TS225 46PR226 46GR229 53GIL262 53PR264 60PR299 64LIN318 80RD400 84FL417 87GR431 88PR439 89PCB442

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO


Lagr-LB 91.50 93.70 94.94 84.82 85.19 85.26 86.36 88.00 89.75 84.40 87.35 93.11 80.38 79.90 84.26 90.56 78.67 85.90 90.52 86.90 84.09 83.81 87.29 81.52 90.38 99.11 84.00 91.29 97.09 93.04 86.53 99.64 84.13 88.15 94.91 86.84 81.50 93.85 82.64 83.29 92.30 83.54 96.70 89.83 85.29 91.90 84.48 92.48 85.28 93.61 93.46 92.26 82.74 Lagr-UB 100.00 100.01 100.37 100.00 100.21 102.39 103.55 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.08 100.00 100.00 100.00 101.99 100.00 100.00 100.82 101.02 100.00 100.00 100.00 100.00 100.00 101.87 100.48 100.00 100.05 100.05 100.09 100.00 100.37 103.75 100.33 100.00 100.36 103.16 100.13 101.18 101.42 104.22 Lagr-t 0.4 2.6 9.4 8.0 13.8 24.8 83.8 0.9 0.5 1.1 0.4 1.4 1.2 1.4 0.6 4.3 3.1 2.4 3.1 2.2 2.5 0.9 2.6 1.7 2.0 2.1 4.9 3.7 11.2 7.2 4.6 2.3 7.6 9.9 9.6 10.9 8.2 12.0 15.3 19.1 20.9 19.4 14.6 49.6 15.8 24.3 33.2 52.5 59.8 77.2 408.3 146.6 78.8 basic-LB 91.76 93.71 95.01 86.81 85.35 85.42 86.49 88.60 90.53 84.58 87.59 93.13 80.60 79.92 87.05 90.85 78.60 86.24 91.09 87.61 84.28 87.35 87.56 81.54 90.62 99.25 84.45 91.40 97.29 93.28 86.64 99.82 84.24 88.35 95.14 86.97 81.71 93.90 82.88 83.47 92.44 83.62 97.21 89.92 85.44 91.98 84.67 92.64 85.52 93.67 93.49 92.39 83.03 root-LB 100.00 100.00 99.81 99.44 99.85 99.81 99.84 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 99.95 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 98.45 99.96 100.00 100.00 99.99 100.00 100.00 99.11 100.00 99.58 99.80 100.00 100.00 99.79 99.94 100.00 99.94 100.00 99.49 root-UB 100.00 100.00 100.37 100.00 100.05 100.87 100.05 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.09 100.00 100.00 100.89 100.00 100.00 100.36 102.97 100.00 100.54 100.00 100.29 root-t 1.5 3.8 16.2 31.9 464.8 156.8 2256.5 2.1 1.9 3.8 2.9 3.0 7.3 9.4 12.9 18.4 51.4 18.3 22.1 14.3 14.2 12.9 16.5 25.5 16.2 7.3 41.8 25.7 23.3 42.8 96.7 8.0 100.0 60.3 51.4 139.6 245.5 762.5 183.3 268.0 1021.3 1298.4 106.2 995.2 1443.5 336.0 811.4 847.8 5031.5 16714.4 26774.0 5418.9 5353.9

Tabla 4.3: Estad sticas al nodo ra z.

4.5. RESULTADOS COMPUTACIONALES


problem name 15SPAIN47 27EUROPE47 50GR96 35GR137 31GR202 61GR229 92GR431 10ATT48 10GR48 10HK48 11EIL51 12BRAZIL58 14ST70 16EIL76 16PR76 20GR96 20RAT99 20KROA100 20KROB100 20KROC100 20KROD100 20KROE100 20RD100 21EIL101 21LIN105 22PR107 24GR120 25PR124 26BIER127 28PR136 28GR137 29PR144 30KROA150 30KROB150 31PR152 32U159 39RAT195 40D198 40KROA200 40KROB200 41GR202 45TS225 46PR226 46GR229 53GIL262 53PR264 60PR299 64LIN318 80RD400 84FL417 87GR431 88PR439 89PCB442 optval 3271 18246 36292 28709 14416 65508 75616 5394 1834 6386 174 15332 316 209 64925 29072 497 9711 10328 9554 9450 9523 3650 249 8213 27898 2769 36605 72418 42570 35957 45886 11018 12196 51576 22664 854 10557 13406 13111 23239 68340 64007 71641 1013 29549 22615 20765 6361 9651 101523 60099 21657 total-t 1.5 3.8 18.1 41.5 504.7 215.6 3365.2 2.1 1.9 3.8 2.9 3.0 7.3 9.4 12.9 19.4 51.5 18.4 22.2 14.4 14.3 13.0 16.6 25.6 16.4 7.4 41.9 25.9 23.6 43.0 96.9 8.2 100.3 60.6 94.8 146.4 245.9 763.1 187.4 268.5 1022.2 37875.9 106.9 1187.5 6624.1 337.0 812.8 1671.9 7021.4 16719.4 31544.6 5422.8 58770.5 LP-t 0.7 0.7 4.2 13.0 366.7 109.3 2342.8 0.7 1.0 1.9 1.8 1.0 4.6 5.9 8.9 10.2 36.8 11.1 13.5 8.7 7.9 8.3 9.1 16.7 8.8 2.9 24.9 14.4 7.3 21.1 65.0 2.5 63.3 33.0 54.0 98.0 167.7 571.8 108.2 182.7 764.1 34071.0 45.4 870.3 5342.7 204.6 583.9 1038.8 4721.7 12232.3 24873.2 3636.5 43753.5 SEP-t 0.1 0.1 1.0 6.2 46.6 28.5 278.2 0.1 0.1 0.1 0.1 0.1 0.3 0.3 0.5 1.1 3.4 0.8 0.6 0.4 0.5 0.5 1.1 1.6 0.7 0.2 3.2 0.9 0.5 3.8 6.6 0.1 8.0 5.2 6.9 11.2 26.3 56.9 27.4 23.5 119.3 2481.6 5.0 132.2 943.4 34.4 43.3 292.6 1658.3 2964.2 4540.0 896.9 12712.1 nodes 0 0 2 6 2 4 4 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 2 0 0 190 0 2 16 0 0 10 2 0 2 0 46 separ. 10 7 11 59 134 94 231 9 10 14 13 10 12 20 33 27 50 31 36 19 21 22 26 46 24 4 55 20 18 50 75 2 73 37 84 65 101 146 70 90 176 1418 48 172 322 73 122 214 317 627 454 296 894 cuts 39 42 84 162 865 487 1659 19 34 69 56 23 100 117 144 153 344 123 123 143 107 128 118 197 113 14 237 117 109 222 354 7 368 284 350 354 776 901 420 623 1331 8252 215 1129 2250 608 929 1194 2425 4506 3833 2330 8735 row 135 162 338 293 547 627 1210 139 142 164 175 156 242 253 236 321 323 290 309 310 314 283 315 321 310 340 364 371 356 416 437 382 476 453 424 486 634 582 598 685 574 1010 570 658 911 779 869 952 1260 1139 1174 1340 1520 col 186 214 412 432 780 989 1942 259 220 265 180 297 317 321 396 391 404 388 515 411 512 397 465 411 404 701 468 578 462 543 617 776 701 641 705 775 861 940 943 962 852 1273 1141 1042 1374 1170 1400 1259 2165 3395 2739 2386 2326

89

Tabla 4.4: Estad sticas globales.

90
problem name 15SPAIN47 27EUROPE47 50GR96 35GR137 31GR202 61GR229 92GR431 10ATT48 10GR48 10HK48 11EIL51 12BRAZIL58 14ST70 16EIL76 16PR76 20GR96 20RAT99 20KROA100 20KROB100 20KROC100 20KROD100 20KROE100 20RD100 21EIL101 21LIN105 22PR107 24GR120 25PR124 26BIER127 28PR136 28GR137 29PR144 30KROA150 30KROB150 31PR152 32U159 39RAT195 40D198 40KROA200 40KROB200 41GR202 45TS225 46PR226 46GR229 53GIL262 53PR264 60PR299 64LIN318 80RD400 84FL417 87GR431 88PR439 89PCB442

CAP ITULO 4. TSP GENERALIZADO: UN ALGORITMO


cuts 96 109 259 296 1112 793 2219 88 98 140 131 95 208 220 241 302 492 269 284 275 251 260 266 337 253 211 410 302 272 431 549 209 594 511 574 599 1104 1189 710 947 1597 8590 513 1428 2676 1016 1358 1680 3092 5102 4354 2979 9427 fan 52 49 133 150 325 355 713 66 62 78 82 70 115 112 121 157 167 162 176 150 149 139 159 175 157 178 208 188 167 220 237 175 254 243 246 260 395 334 339 358 335 499 314 393 516 479 536 585 762 962 672 778 949 (44) (42) (127) (101) (218) (247) (460) (61) (56) (62) (65) (62) (96) (89) (83) (131) (130) (128) (143) (114) (126) (114) (130) (121) (121) (177) (151) (162) (139) (183) (169) (175) (198) (199) (195) (215) (291) (250) (252) (286) (227) (295) (254) (255) (375) (357) (371) (424) (589) (514) (436) (563) (605) GSEC H2 31 35 77 63 580 303 1026 14 28 53 39 15 80 94 83 124 277 77 74 99 76 103 83 115 76 13 168 83 76 155 231 7 264 193 236 232 536 544 262 440 715 789 129 573 567 340 579 562 1093 2182 1466 1641 1824 GSEC H1 0 0 0 22 129 30 146 0 0 0 1 0 1 0 11 1 19 5 8 0 2 0 4 20 0 0 0 6 0 18 26 0 6 41 14 56 98 206 46 79 439 2300 10 300 860 107 106 305 759 1624 1471 277 2767 Gcomb 0 0 0 8 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 4 0 0 165 0 14 27 0 0 1 0 0 5 0 38 pool 0 0 1 20 49 44 242 0 0 1 0 0 0 0 12 2 11 7 8 8 6 0 2 8 1 0 12 2 5 12 29 0 42 6 44 21 38 67 21 32 69 4785 16 104 655 39 79 165 400 378 655 197 3762

Tabla 4.5: Estad sticas sobre el procedimiento de separaci on

4.5. RESULTADOS COMPUTACIONALES

91

problem name

=3 =5 time nodes m time nodes m ATT48 3.6 0 18 3.3 0 13 EIL51 1.9 0 25 1.4 0 16 ST70 5.5 0 24 3.9 0 16 EIL76 42.0 10 34 5.5 0 16 PR76 17.2 2 31 7.6 0 22 GR96 21.7 4 34 26.3 0 22 RAT99 25.6 0 36 26.4 0 25 KROA100 14.9 0 43 19.5 0 23 KROB100 39.2 4 44 11.5 0 25 KROC100 51.0 18 42 38.3 0 25 KROD100 24.1 2 42 19.8 0 24 KROE100 15.5 0 42 11.8 0 25 RD100 84.5 16 36 20.1 4 24 EIL101 139.2 16 36 18.2 0 25 LIN105 14.3 0 45 10.0 0 30 PR107 5.0 0 42 4.2 0 22 GR120 24.8 0 46 52.4 0 28 PR124 30.0 6 45 15.2 0 25 BIER127 234.6 16 50 210.7 6 26 PR136 181.4 28 60 15.1 0 34 GR137 81.7 0 46 94.7 0 28 PR144 28.8 0 48 25.3 0 30 KROA150 56.3 2 57 72.5 0 36 KROB150 40.5 0 56 100.0 2 36 PR152 68.7 4 54 455.2 42 33 U159 36.5 0 58 154.3 0 38 RAT195 84.4 2 81 1409.5 18 49 D198 539.5 0 67 591.2 0 40 KROA200 207.2 2 72 1696.3 30 47 KROB200 2031.9 54 76 119.1 0 48 GR202 2644.3 34 73 727.4 2 43 TS225 453.4 14 75 45 PR226 130.7 0 78 65.6 0 50 GR229 312.0 0 80 1895.1 8 46 GIL262 5674.6 104 96 10763.1 42 63 PR264 747.1 16 101 109.6 0 55 PR299 761.3 2 102 4629.9 12 69 LIN318 37117.4 220 108 16784.8 40 64 RD400 21764.6 118 135 87308.1 198 81 FL417 7687.9 0 142 10373.7 0 93 PR439 1905.7 6 163 18876.5 14 96 PCB442 23226.1 86 155 39155.3 24 96 El problema TS225 con = 5 requiere m as de 100,000 segundos.

time 1.8 1.6 3.9 5.4 7.4 28.4 56.5 14.4 20.6 14.3 25.0 8.5 11.0 20.3 15.2 9.2 56.4 13.9 69.4 22.3 284.5 9.9 82.3 117.4 67.9 107.4 902.1 1986.9 512.2 132.6 731.2 5427.0 61.6 2524.0 8160.7 352.8 5296.9 1355.9 8947.7 5364.4 5189.9 21268.5

=7 nodes 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 1 0 0 0 0 12 0 0 49 2 6 0 6 0 0 0

m 7 9 16 16 15 15 16 16 16 16 16 16 16 16 16 16 21 19 19 20 23 21 25 25 24 23 36 32 35 36 31 35 33 34 49 42 47 49 64 61 74 64

time 1.8 1.6 5.2 5.8 10.5 28.4 56.5 14.4 20.6 14.3 25.0 8.5 11.0 20.3 15.2 16.0 46.9 26.7 25.7 13.6 972.0 21.8 111.2 79.2 35.5 107.4 423.5 2849.9 339.5 422.2 450.1 10601.5 105.7 9391.9 1141.0 376.8 2730.6 71010.7 21156.8 919.2 35652.6 15266.6

= 10 nodes 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 26 2 0 8 0

m 7 9 9 9 9 15 16 16 16 16 16 16 16 16 16 12 15 14 14 16 14 16 16 16 16 23 25 25 25 25 21 25 24 23 36 27 35 36 49 43 48 48

Tabla 4.6: Resultados computacionales con otra creaci on de clusters.

Cap tulo 5 Problema de la Orientaci on


Consideremos un grafo no-dirigido donde cada arco tiene asociado un costo, y cada nodo un premio. El Problema de Orientaci on (que abreviaremos como OP al venir del ingl es Orienteering Problem), consiste en buscar un circuito simple cuyos arcos conlleven un costo total no superior a una cantidad prejada de antemano, al tiempo que visite los nodos que le produzcan un m aximo premio total. Se trata de un problema N P -dif cil que aparece en numerosas aplicaciones referentes a problemas de rutas y secuenciaciones optimas. En este cap tulo se presenta un algoritmo de tipo Ramicaci on y Corte (Branch and Cut) para encontrar una soluci on optima a tal problema. El algoritmo se basa en varias familias de desigualdades v alidas para el modelo entero considerado, as como en los denominados cortes condicionales, y para ellas se describen algoritmos exactos y heur sticos de separaci on. Tambi en se presentan procedimientos heur sticos para producir soluciones aproximadas del OP. Al nal se describe un extenso an alisis computacional sobre varias clases de ejemplos procedentes de trabajos de otros autores. Con ello se observa que el algoritmo propuesto llega a resolver ejemplos con hasta 500 nodos, en tiempos de ordenador aceptables, lo que muestra favorablemente nuestro algoritmo en relaci on con los otros m etodos hasta el momento publicados.

5.1

Introducci on

Consideremos el siguiente problema de rutas, estrechamente relacionado con el Problema del Viajante de Comercio (TSP, Travelling Salesman Problem). Sea un conjunto de n ciudades, cada una asociada con un premio no negativo, y un veh culo estacionado en un dep osito localizado por ejemplo en la ciudad 1. Sea tij = tji el tiempo que dicho veh culo necesitar a para pasar directamente de una ciudad i a otra j (obs ervese que asumimos simetr a en la red de carreteras). El Problema de Orientaci on (OP, Ori93

94

CAP ITULO 5. PROBLEMA DE LA ORIENTACION

enteering Problem) es el problema de encontrar una ruta para el veh culo de manera que visite cada ciudad no m as de una vez, que el tiempo total empleado no exceda un tiempo m aximo t0 , y que recoja un premio total m aximo a su paso por las ciudades. Este problema es N P -dif cil puesto que generaliza el cl asico problema de la mochila (KP, knapsack problem), y aparece en diversas aplicaciones de problemas de rutas y secuenciaci on (v ease, por ejemplo, Golden, Levy y Vohra [GLV87]). Prueba de ello es que el American Institute for Aeronautical and Astronautical Engineers propuso este problema como un Articial Intelligence Design Challenge Problem en su conferencia anual sobre Guidance, Navigation and Control en 1987. En Tsiligirides [T89], Golden, Levy y Vohra [GLV87], y Golden, Wang y Liu [GWL88] se pueden encontrar algor tmos heur sticos para OP y algunas generalizaciones. En Laporte y Martello [LM90], y en Ramesh, Yoon y Karwan [RYK92] se proponen algoritmos exactos de tipo ramicaci on-y-acotaci on. Leifer y Rosenwien [LR94] presentan una forma de obtener una cota superior mediante la resoluci on de problemas lineales. Hay varios problemas relacionados con el OP, tales como el Problema de la Colecci on de Premios (Prize-Collecting TSP), introducido por Balas y Martin [BM85] como un modelo para la secuenciaci on de operaciones diarias de corte de l aminas de acero. En este problema se debe encontrar una ruta para un veh culo, de manera que una ciudad nunca sea visitada por el m as de una vez, coleccione en su visita por las ciudades al menos una cantidad predenida, y que el tiempo total invertido en el recorrido sea m nimo. Un detallado estudio poli edrico sobre este problema puede encontrarse en Balas [B89, B93a]. Fischetti y Toth [FT88] presentan un algoritmo exacto de tipo ramicaci on-y-acotaci on para el mismo. Otro problema bastante relacionado con OP es el Problema del Ciclo (Cycle Problem), el cual plantea la b usqueda de una ruta para el veh culo, de manera que cada ciudad sea visitada no m as de una vez, y que el costo total del recorrido sea el m nimo posible. Cuando los costos de los arcos pueden ser negativos, este problema es N P -dif cil. Balas [B93b], entre otros, han estudiado poli edricamente este problema. En este art culo proponemos un algoritmo de ramicaci on-y-corte para OP. En la Secci on 5.2 se presenta un modelo b asico de programaci on matem atica entera. En la Secci on 5.3 se discute un n umero de restricciones adicionales, que incorporadas a la relajaci on lineal de modelo b asico producen una buena cota superior. Los procedimientos de separaci on se describen en la Secci on 5.4, mientras que en la Secci on 5.5 se expone un algoritmo heur stico para encontrar soluciones aproximadas al OP. El algoritmo de tipo ramicaci on-y-acotaci on es descrito en la Secci on 5.6. La Secci on 5.7 muestra los resultados computacionales obtenidos al aplicar dicho algoritmos a ejemplos pertenecientes a varias familias, mostrando que en general el algoritmo es capaz de resolver dif ciles ejemplos de OP con hasta 400 ciudades, y en tiempo razonables de c alculo. Ello da una comparaci on favorable de nuestra propuesta en relaci on a otras propuestas previas.

5.2. MODELO MATEMATICO

95

5.2

Modelo Matem atico

Consideremos un grafo (no-dirigido) completo G = (V, E ) con n := |V | nodos. El nodo 1 representa el dep osito. Sea pv el premio no-negativo asociado con cada v V (con p1 = 0), sea te el tiempo de viaje no-negativo asociado con cada e E , y sea t0 el tiempo de viaje total m aximo permitido para el veh culo. Asumimos a lo largo de este cap tulo que todos los valores pv , te , y t0 son enteros. Adem as, asumimos sin p erdida de generalidad que el OP tiene al menos una soluci on factible (esto puede ser controlado en tiempo polinomial, sin m as que calcular el ciclo m as corto que pasa a trav es del nodo 1). Para cada S V usamos la notaci on E (S ) := {[u, v ] E : u S, v S }, (S ) := {[u, v ] E : u S, v S }, y para cada v V escribimos (v ) en lugar de ({v }). Adem as, para cualquier T E denimos V (T ) := {v V : T (v ) = } como el conjunto de los nodos alcanzables con T . Dada una funci on de valor real f sobre un dominio nito W , y dado S W , escribimos f (S ) en lugar de wS f (w). Usamos dos tipos de variables de decisi on, xe e yv , asociadas con los arcos y nodos de G, respectivamente, con el siguiente signicado: 1 si el arco e es usado, 0 en otro caso,

xe :=

e E;

yv :=

1 si el v ertice v es visitado, 0 en otro caso,

v V.

Entonces OP puede ser formulado como el Problema de Programaci on Entera 0-1: v (OP) := max
v V

pv yv

(5.1)

96 sujeto a

CAP ITULO 5. PROBLEMA DE LA ORIENTACION

te xe t0 ,
eE

(5.2) para v V, para S V, 1 S, v V \ S, para e E, para v V \ {1}, para e E, para v V \ {1}. (5.3) (5.4) (5.5) (5.6) (5.7) (5.8) (5.9)

x( (v )) = 2 yv x( (S )) 2 yv y1 = 1 , 0 xe 1 0 yv 1 xe entera yv entera

La restricci on (5.2) impone la limitaci on m axima t0 sobre el tiempo total de viaje. Las ecuaciones de grado (5.3) obligan a que toda soluci on factible deber a visitar exactamente una vez cada nodo que visite. La Restricciones de Eliminaci on de Ciclos Generalizadas (GSECs) (5.4) fuerza a que todo nodo visitado v V \ {1} deber a ser alcanzable desde el nodo 1 mediante dos caminos disjuntos. Debido a las ecuaciones de grado (5.3), las GSECs pueden ser equivalentemente escritas como x(E (S )) y (S ) yv para S V, 1 S, v V \ S (5.10) y )) y (S ) yv x(E (S V, 1 V \ S, v S. para S (5.11)

Observar que las desigualdades x( (S )) 2(yi + yj 1) para S V, 1 S, i S, j V \ S

aunque v alidas, est an dominadas por (5.4) ya que yi 1 0 para todo i V . Finalmente (5.5) impone que el nodo 1 deba ser visitado, y (5.6)(5.9) exige que todas las variables tomen valores 0 o 1. N otese que los ciclos con s olo dos nodos no son posibles seg un este modelo, ya que el mejor de tales ciclos puede encontrarse muy f acilmente, por separado, mediante simple enumeraci on en tiempo O(n).

5.3

Desigualdades adicionales

En esta secci on describimos las cinco clases de desigualdades adicionales para el OP, que son usadas por el algoritmo de Ramicaci on y Corte que se propone. Estas desigualdades son irrelevantes en el modelo entero, pero son capaces de fortalecer mucho la relajaci on

5.3. DESIGUALDADES ADICIONALES

97

lineal (5.1)(5.7), acercando su valor optimo al de aqu el. Las dos primeras familias no aprovechan la restricci on (5.2), y derivan de la llamada relajaci on a ciclo del OP, tratada en Balas [B93b]. Las restantes clases, sin embargo, si explotan la restricci on sobre el tiempo total.

Restricciones l ogicas
Claramente, xe = 1 para e (j ) implica yj = 1. Luego las restricciones l ogicas xe yj para todo e (j ), j V \ {1} (5.12)

son v alidas para OP. Para cualquier e = [v, j ] (1), tenemos que (5.12) es un caso = {v, j }. Por otra parte, para e (1) tambi particular de (5.11) donde S en estas desigualdades mejoran la relajaci on lineal del modelo (5.1)(5.7), y no est an contempladas en (5.11). Para ver esto, consideremos el punto fraccionario (x , y ) con x 12 = x13 = 1, y1 = 1, y2 = y3 = 1/2 (las restantes componentes son 0). Asumiendo t12 + t13 t0 , este punto satisface todas las restricciones de la relajaci on, pero no las restricciones (5.12) asociadas con e = [1, 2] y j = 2, y con e = [1, 3] y j = 3. Observamos adem as que a nadiendo (5.12) al modelo (5.1)(5.9) provoca que las exigencias de integrabilidad sobre las variables y sean ahora redundantes. En efecto, sea (x , y ) un punto satisfaciendo (5.2)(5.8), y denamos T := {e E : x e = 1}. Entonces de (5.3) tenemos yv = |T (v )|/2 para todo v V , i.e., yv {0, 1/2, 1}. Pero yv = 1/2 implicar a T (v ) = {e} para alg un e (v ), lo cual es imposible puesto que en tal caso las restricciones l ogicas (5.12) podr a ser violadas.

Desigualdades 2-emparejamiento
Las conocidas restricciones 2-emparejamiento para el TSP tienen la siguiente extensi on en la relajaci on a ciclo del OP: x(E (H )) + x(T ) y (H ) + |T | 1 , 2 (5.13)

donde H V se llama mango, y T (H ) es un conjunto de |T | 3, |T | impar, dientes disjuntos dos a dos. Esta desigualdad se obtiene sumando las ecuaciones de grado para todo v H junto con las restricciones de cota xe 1 para todo e T , dividiendo por 2, y luego redondeando por abajo todos los coecientes al entero m as cercano.

98

CAP ITULO 5. PROBLEMA DE LA ORIENTACION

Desigualdades cubrimiento
La restricci on sobre el tiempo total (5.2), junto con las exigencias xe {0, 1} para e E , denen un ejemplo del Problema de la Mochila 0-1 (KP), en el cual los elementos se corresponden con los arcos. Por ello, toda desigualdad v alida para KP podr a resultar muy u til para mejorar la relajaci on lineal del modelo entero para OP. Entre las diversas clases de desigualdades que se conocen para el KP, nosotros consideramos la desigualdad cubrimiento (v ease, por ejemplo, Nemhauser y Wolsey [NW88] para m as detalles): x(T ) |T | 1, (5.14)

donde T E es un subconjunto de arcos minimal respecto a la inclusi on, con eT te > t0 . Esta restricci on impone que no todos los arcos de T puedan ser seleccionados en una soluci on factible del OP. Una desigualdad cubrimiento puede en algunos casos ser fortalecida. En particular, podemos f acilmente obtener la desigualdad cubrimiento extendida v alida siguiente: x(T Q) |T | 1, donde Q := {e E \ T : te maxf T tf }. Otra forma diferente de mejorar la desigualdad es la siguiente, que explota el hecho que los arcos seleccionados deben denir un ciclo. Esta mejora puede s olo ser aplicada en el caso en que T dena un ciclo no-factible pasando a trav es del nodo 1, y lleva a la desigualdad cubrimiento-ciclo: x(T ) y (V (T )) 1. (5.16) (5.15)

La validez de (5.16) se sigue de la trivial observaci on de que x(T ) y (V (T )) implica xe = 1 para todo e T . La Figura 5.1 muestra un punto fraccionario que no satisface una desigualdad cubrimiento-ciclo, pero si las otras restricciones anteriores.

Desigualdades camino
Las clases previas de desigualdades adicionales (salvo la desigualdad cubrimiento-ciclo) est an basadas o bien en la relajaci on del OP al ciclo o bien al problema de la mochila. A continuaci on se introduce una nueva familia de restricciones que explotan ambas relajaciones al mismo tiempo. Sea P = {[i1 , i2 ], [i2 , i3 ], . . . , [ik1 , ik ]} un camino simple a trav es de los nodos V (P ) = {i1 , . . . , ik } V \ {1}, y denamos el conjunto de nodos W (P ) := {v V \ V (P ) : P {[ik , v ]} puede ser parte de una soluci on del OP}.

5.3. DESIGUALDADES ADICIONALES


j yj = z yj =1 u yj j =1

99 x e = x e = 1 x e = 1
j Q i Q
4

" j

"

" "

i3

i5

j i2 A A A i1 j

Q j u A A A A A A A

u i6 j

1 j u

Figura 5.1: Punto fraccionario que no satisface la desigualdad cubrimiento-ciclo para el ejemplo OP con t0 =6 y te =1 para todo e E (0 < 1/2). Aqu T = {[1, i1 ], [i1 , i2 ], . . . , [i6 , 1]}, x(T ) = 2 + 5, y y (V (T )) = 3 + 4. Se permite que P represente un camino no factible, en cuyo caso W (P ) = . Entonces la siguiente desigualdad camino
k1 k1

xij ij+1
j =1 j =2

yij
v W (P )

xi k v 0

(5.17)

es v alida para OP. En efecto, supongamos que hay una soluci on factible (x , y ) para OP violando (5.17). Entonces
x i1 i2 + (xi2 i3 yi2 ) + . . . + (xik1 ik yik1 ) v W (P ) donde x ij ij +1 yij 0 para todo j = 2, . . . , k 1. Se sigue entonces que xi1 i2 = 1 (luego yi = 1), x i2 i3 yi2 = 0 (luego xi2 i3 = 1 e yi3 = 1), . . ., xik1 ik yik1 = 0 (luego xik1 ik = 1), 2 y xik v = 0 para todo v W (P ). Pero entonces la soluci on (x , y ) no podr a ser factible, ya que entonces contendr a todos los arcos de P , m as un arco [ik , w] con w W (P ).

x ik v 1,

La Figura 5.2 demuestra un punto fraccionario t pico que es eliminable mediante una desigualdad camino. Este punto puede ser visto como la combinaci on convexa de dos ciclos, uno de los cuales es no factible debido a la limitaci on m axima sobre el tiempo total de viaje. No es dif cil comprobar que sin embargo el punto satisface todas las anteriores desigualdades. La denici on de W (P ) implica comprobar si para cada v V \ V (P ) existe un ciclo de la forma C = P1 (P {ik , v }) P2 , donde P1 y P2 son caminos de nodos disjuntos desde

100

CAP ITULO 5. PROBLEMA DE LA ORIENTACION


j yj = z yj =1 u j yj =1

x e = x e = 1 x e = 1

u j Z # # Z # # Z # ik = i5 # i4 ZZ Z Zj Z # u j u# b A b i3@ A bb @ b A @ b b A b j z @ j i2 " @ " " A @ " A @ 1 "" A i1 @ j u" W (P ) = {1} j

Figura 5.2: Un punto fraccionario no satisfaciendo una desigualdad camino para el ejemplo del OP con t0 =6 y te =1 para todo e E (0 < 1/2). 1 hasta i1 y v , respectivamente, tales que t(P1 ) + t(P ) + tik v + t(P2 ) t0 . Una condici on mucho m as sencilla (produciendo posiblemente conjuntos W (P ) mayores, y por lo tanto debilitando la desigualdad (5.17)) se obtiene al eliminar la exigencia de que P1 y P2 no puedan compartir nodos (salvo el nodo 1). Esto lleva a la denici on alternativa de W (P ) como W (P ) := {v V \ V (P ) : d(1, i1 ) + t(P ) + tik v + d(1, v ) t0 }, (5.18)

donde para cada j V \ {1}, d(1, j ) da el tiempo total asociado con el camino m as corto desde el nodo 1 al nodo j .

Cortes condicionales
A continuaci on mostramos desigualdades que no tienen porque ser necesariamente v alidas para todo el problema, pero que sin embargo pueden ser usadas en un algoritmo de hiperplanos de corte. Supongamos disponer de una soluci on heur stica del OP de valor LB. En el proceso de encontrar una soluci on optima del OP estamos claramente interesados en encontrar, si existe, una soluci on factible de valor estrictamente mayor que LB. Por tanto, cualquier desigualdad puede ser usada como un hiperplano de corte supuesto que sea vericada por toda soluci on factible del OP con valor estrictamente mayor que LB. A tales desigualdades les damos el nombre de desigualdades condicionales.

5.4. ALGORITMOS DE SEPARACION Consideremos una familia general de desigualdades del tipo x(T ) y (V (T )) 1,

101

(5.19)

donde T E se debe elegir en la forma apropiada. Se puede ver f acilmente que x(T ) y (V (T )) se verica para toda soluci on factible, sin importar c omo se elige T . Adem as, x(T ) = y (V (T )) implica que la soluci on del OP consiste en un ciclo completamente contenido en T . Se sigue entonces que (5.19) puede ser usado como un corte condicional, supuesto que no hay contenida en T ninguna soluci on factible con valor estrictamente mayor que LB. Esto ocurre, en particular, cuando T = E (S ) para alg un S V tal que 1 S y
v S

pv LB.

(5.20)

Una forma distinta de denir tambi en cortes condicionales, basada en t ecnicas de enumeraci on, ser a descrita en la secci on siguiente.

5.4

Algoritmos de separaci on

En esta secci on se nalamos algoritmos exactos y/o heur sticos para el siguiente problema de separaci on: Sea F una de las familias de las desigualdades descritas en la Secci on 5.3 E V para el OP; dado un punto (x , y ) [0, 1] que satisface (5.2)(5.3), encontrar un miembro x + y de F que sea (el m as) violado por (x , y ), si existe. Denotamos por G = (V , E ) el grafo soporte asociado con el punto dado (x , y ), donde V := {v V : yv > 0} y E := {e E : x e > 0}.

GSECs (5.4)
Consideremos x e como la capacidad asociada con cada arco e E . Para cada v V \{1} jado, determinamos la desigualdad m as violada de tipo GSEC (entre aqu ellas para el nodo v dado) mediante un (1, v )-corte, que denotaremos como (Sv , V \ Sv ), sobre G . Ello requiere una complejidad O(|V |3 ), en el peor de los casos, usando un algoritmos de ujo m aximo. Intentando con todos los posibles v V \ {1} obtenemos un algoritmo de separaci on que requiere una complejidad m axima de O(|V |4 ).

En nuestra implementaci on consideramos los nodos v en orden decreciente de su valor Siempre que se determina una desigualdad violada de tipo GSEC para (por ejemplo) el par Sv y v , incrementamos la capacidad x 1v en la cantidad 2 x ( (Sv )). Esto previene reobtener el corte (Sv , V \ Sv ) en iteraciones posteriores. Adem as, para incrementar el n umero de desigualdades violadas detectadas en una simple aplicaci on del algoritmo del
. yv

102

CAP ITULO 5. PROBLEMA DE LA ORIENTACION

ujo m aximo, consideremos dos (1, v )-cortes de capacidad m nima para cada v , denotados como (Sv , V \ Sv ) y (V \ Sv , Sv ), siendo Sv (respectivamente, Sv ) el conjunto que contiene los nodos alcanzables desde v (respectivamente, nodo 1) en el grafo incremental correspondiente al vector soluci on del ujo m aximo. El conjunto Sv da una posible desigualdad violada de tipo GSEC, mientras que Sv es usado, como se comenta posteriormente, para producir un corte condicional.

Restricciones l ogicas (5.12)


Esta familia puede ser tratada mediante una simple enumeraci on total, con la complejidad computacional de O(|E |).

Restricciones 2-emparejamiento (5.13)


Estas desigualdades pueden ser separadas en tiempo polinomial a trav es de una simple modicaci on del esquema de separaci on de los cortes impares de Padberg y Rao [PR82]. Para reducir el esfuerzo computacional empleado en la separaci on, sin embargo, hemos implementado la siguiente simple heur stica. Los valores xe se consideran como pesos asociados a los arcos. Aplicamos el algoritmo voraz de Kruskal para encontrar un arbol generador de peso m nimo sobre G . En cada iteraci on en la que este algoritmo selecciona un nuevo arco e, determinamos (en el subgrafo G inducido por todos los arcos seleccionados hasta el momento) la componente conexa que contiene a e, digamos H . El conjunto de nodos H se considera entonces como el mango de una posible restricci on 2-emparejamiento violada, cuyos dientes se determinan (de una manera optima) a trav es del siguiente procedimiento voraz. Sea (H ) = {e1 , . . . , ep } con xe1 xe2 . . . xep . Inicialmente relajamos el requerimiento de que los dientes deban ser disjuntos a pares. Para cada |T | 3 e impar, la mejor elecci on para T consiste en los arcos e1 , . . . , e|T | . Por lo tanto, una desigualdad con m axima violaci on se corresponde con la elecci on de un n umero impar |T | 3 que maximiza:
x e1 + (xe2 + xe3 1) + . . . + (xe|T |1 + xe|T | 1).

Si no se obtiene ninguna desigualdad violada con esta idea, entonces claramente no existe ninguna desigualdad 2-emparejamiento con el mango H . En otro caso, tenemos una desigualdad 2-emparejamiento violada en la que dos arcos dientes, digamos e y f , pueden coincidir en un nodo, digamos v . En tal caso, simplicamos la desigualdad deniendo una nueva pareja mango-dientes (H , T ) con T := T \ {e, f }, y H := H \ {v } (si v H ) o H := H {v } (si v H ). Es entonces f acil ver que la desigualdad (5.13) asociada con este nuevo par (H , T ) est a al menos tan violada como aqu ella asociada con la pareja original (H, T ). En efecto, reemplazando (H, T ) por (H , T ) se incrementa la violaci on

5.4. ALGORITMOS DE SEPARACION

103

por, al menos, 1 + yv x( (v )) 2yv x( (v )) = 0 (si v H ), o 1 yv 0 (si v H ). Iterando este sencillo paso, podemos detectar siempre una desigualdad 2-emparejamiento violada sin dientes sobrepuestos. (En algunos casos este procedimiento incluso podr a llevar a una restricci on de 2-emparejamiento con |T | = 1; si esto ocurre, rechazamos la restricci on en favor de una GSEC asociada al mango.)

Desigualdades camino (5.17)


Asumanos que el punto fraccionario (x , y ) satisface todas las desigualdades l ogicas (5.12) como sucede en el caso de nuestra implementaci on. Observamos que la desigualdad camino asociada con un camino dado P no puede ser violada por (x , y ) si x un ih ih+1 = 0 para alg [ih , ih+1 ] P . Esto se sigue del hecho que (5.17) se puede re-escribir como
h1 k1

(xij ij+1 yij+1 ) + xih ih+1 +


j =1

(xij ij+1 yij )


j =h+1 v W (P )

xik v 0

donde todos los t erminos que aparecen en los dos primeros sumatorios son no-positivos por hip otesis. As cada desigualdad camino violada est a asociada con un camino P con tenido en el grafo soporte G . Puesto que este grafo es normalmente muy poco denso, nosotros hemos implementado un sencillo procedimiento de enumeraci on para detectar los caminos P que produzcan desigualdades camino de m axima violaci on. Comenzamos con una secuencia vac a de nodos P . Luego, iterativamente, extendemos el actual P hacia cualquiera de sus posibilidades, comprobando que la desigualdad camino asociada se mantenga violada. Siempre que el camino actual P = {[i1 , i2 ], . . . , [ik1 , ik ]} verique
k1 k 1

xij ij+1
j =1 j =2

yij 0,

retrocedemos en la b usqueda ya que sabemos que ninguna otra extensi on de P puede llevar a una desigualdad camino violada.

Desigualdades cubrimiento (5.14)


Primero afrontamos el problema de la separaci on de las desigualdades cubrimiento (5.14), lo que supone buscar un subconjunto de arcos T con eT te > t0 maximizando x (T ) |T | + 1. Es bien sabido que este problema puede formularse como := min
eE

(1 x e )ze

(5.21)

104 sujeto a

CAP ITULO 5. PROBLEMA DE LA ORIENTACION

te ze t0 + 1 ,
eE

(5.22) para todo e E. (5.23)

ze {0, 1}

Si 1 entonces no existe ninguna desigualdad cubrimiento violada. En otro caso, T := {e E : ze = 1} induce una de tales desigualdades con m axima violaci on. Si bien es N P -dif cil, el problema de la mochila (5.21)(5.23) puede resolverse normalmente en muy poco tiempo de c alculo mediante algoritmos especializados (v ease Martello y Toth [MT90]). Adem as, todas las variables ze con xe = 0 pueden jarse a 0, ya que ze = 1 implicar a 1. An alogamente, se puede jar ze = 1 cuando x e = 1, ya que en tal caso su peso en (5.21) no cuenta. Dado que algunos pesos en (5.21) pueden ser cero, no est a garantizado que el conjunto de arcos T que congura un optimo en (5.21) sea minimal respecto a la propiedad (5.22). Para disponer de desigualdades m as fuertes, primero hacemos T minimal (seg un una idea voraz), y luego generamos la desigualdad extendida (5.15), que ser a la considerada. Veamos un algoritmo heur stico de separaci on para las desigualdades cubrimiento-ciclo (5.16) asociadas con un ciclo no factible T . Como en la separaci on de las desigualdades 2-emparejamiento, interpretamos los valores xe como pesos asociados con los arcos, y calculamos un arbol generador de peso m nimo sobre G. Luego consideramos, uno a uno, los arcos e E que no est an en el arbol: si a nadir e al arbol conlleva un ciclo T que pasa a trav es del nodo 1 y tal que eT te > t0 , entonces tenemos una desigualdad v alida (5.16) cuya violaci on es examinada.

Cortes condicionales (5.19)


Hemos implementado dos procedimientos heur sticos de separaci on para los cortes condicionales. Sea LB el mejor valor soluci on obtenido hasta el momento. El primer procedimiento est a basado en la condici on (5.20), y es tratado inmerso dentro con el algoritmo de separaci on para las restricciones GSECs antes descritas. Para descrito y tal que vSv pv LB , jamos T = E (Sv ) cada conjunto Sv , con 1 Sv , all y estudiamos la violaci on de la correspondiente (5.19). Nuestro segundo procedimiento se basa en la observaci on de que (5.19) puede siempre usarse como un corte condicional, supuesto que la cota inferior LB sea previamente adaptada teniendo presente todas las soluciones factibles del OP completamente contenidas en T . Esto supone calcular LB := min{LB, v (OPT )},

5.5. ALGORITMOS HEUR ISTICOS

105

donde v (OPT ) es el valor optimo del OP cuando xe = 0 viene impuesto para todo arco e E \ T . Aunque el c alculo de v (OPT ) precisa un tiempo computacional exponencial en el caso peor, para un conjunto de arcos T sucientemente disperso, incluso un simple esquema de enumeraci on exhaustiva puede resultar satisfactorio en el c alculo pr actico de v (OPT ), con poco tiempo de c alculo. En nuestra implementaci on, denimos T := E , asegurando as que el correspondiente corte condicional (5.19) ser a violado ya que x (T ) = x (E ) e y (V (T )) = y (V ), donde x (E ) = y (V ) debido a las ecuaciones de grado (5.3). Luego aplicamos un simple algoritmo para resolver el OP sobre el grafo soporte G , basado en una enumeraci on exhaustiva. Si la enumeraci on acaba en un tiempo m aximo prejado TL, entonces (tras adaptar el valor LB) se tiene garant a de poder a nadir (5.19) al LP actual.

5.5

Algoritmos heur sticos

La ejecuci on de procedimiento de ramicaci on y corte en su globalidad mejora si uno es capaz de detectar pronto buenas soluciones factibles para el OP. A tal n proponemos el siguiente procedimiento heur stico, trabajando en dos fases. En la primera fase se determina un ciclo factible C , trat andose de que contenga el mayor n umero posible de arcos en una soluci on optima. En la segunda fase se aplican procedimientos de mejora para producir a partir de C un ciclo factible pr oximo a ser optimo. Como argumentos a la primera fase, el heur stico recibe una estimaci on we , 0 we 1, de la probabilidad de que el arco e est e en una soluci on optima. El c alculo de tales valores we se describe en la Secci on 5.6.2. Ordenamos luego los arcos en orden decreciente de we , deshaciendo los empates de manera que se consideren primero los arcos con menor duraci on te . Luego detectamos heur sticamente, seg un una idea voraz, un subconjunto de arcos T conteniendo una familia de caminos disjuntos en arcos, y con la mayor probabilidad de formar parte de una soluci on optima. M as concretamente, inicializamos T := y luego consideramos, uno a la vez, cada arco e seg un el orden anterior: Si T {e} contiene un nodo con grado mayor que 2, rechazamos el arco; en otro caso, adaptamos T := T {e} si T {e} no contiene ciclos, o bien paramos el algoritmo si lo contiene. Comenzando con T , obtenemos el requerido ciclo factible C mediante los siguientes pasos. Primero eliminamos del grafo todos los nodos en V \{1} que no son cubiertos por T . Luego, unimos los caminos de T en un ciclo simple, C . Para esto aplicamos un esquema simple de tipo el vecino m as pr oximo, comenzando desde el nodo 1 y movi endonos iterativamente hacia el nodo no cubierto m as pr oximo, extremo de un camino en T . Al nal de este proceso, controlamos si eC te t0 . Cuando esto no sucede, aplicamos el siguiente procedimiento para convertir a C en un ciclo factible. Para cada nodo v

106

CAP ITULO 5. PROBLEMA DE LA ORIENTACION

cubierto por C , sean iv y jv los dos vecinos de v en C . El procedimiento iterativamente elimina un nodo v de C , es decir, reemplaza los arcos [iv , v ] y [jv , v ] por [iv , jv ]. En cada iteraci on elegimos (si es posible) un nodo v con el menor premio y cuya eliminaci on convertir a a C en factible, o si no existe ninguno entonces un nodo v que minimiza el valor pv /(tiv v + tjv v tiv jv ). La segunda fase de nuestro heur stico recibe como entrada el ciclo factible C calculado en la fase primera, e iterativamente trata de mejorarlo. En cada iteraci on, primero ejecuta una 2-optimalidad intercambiando arcos dentro de C esperando reducir su duraci on total. Luego tratamos de a nadir a C un nodo con premio m aximo perteneciente al conjunto Q(C ) conteniendo los nodos v no cubiertos por C , y tal que min[i,j ]C {tiv + tjv tij } t0 eC te . Si Q(C ) = , ejecutamos la inserci on de un nodo y repetimos. En otro caso, reaplicamos el procedimiento en su globalidad sobre el ciclo obtenido desde C eliminando, uno a la vez, uno de sus nodos.

5.6

Algoritmo de Ramicaci on y Corte

A continuaci on describimos cada uno de los componentes de nuestro algoritmo de ramicaci on y corte para la soluci on optima del OP. Asumimos que el lector tiene conocimientos b asicos de las t ecnicas de ramicaci on y corte al nivel descrito, por ejemplo, en Padberg y Rinaldi [PR91] o en Reinelt, J unger y Rinaldi [JRR92].

5.6.1

Inicializaci on

Al inicio del nodo ra z del arbol decisional, calculamos una cota inferior sobre el valor optimo del OP a trav es del algoritmo heur stico descrito en la Secci on 5.5, con pesos we = 0 para todo e E . Adicionalmente, jamos el primer Programa Lineal (LP) a ser considerado, formado por: 1. todas las variables yv , v V ; 2. las variables xe asociadas con arcos pertenecientes a la soluci on heur stica inicial; 3. para todo v V , las variables xe asociadas con los 5 arcos de menor costo e (v ); 4. la restricci on de tiempo total (5.2); 5. las n ecuaciones de grado (5.3); 6. las cotas inferiores y superiores sobre las variables.

Y CORTE 5.6. ALGORITMO DE RAMIFICACION

107

Finalmente, inicializamos con vac o una estructura de datos llamada piscina, que contendr a las restricciones del OP que no est an incluidas en el LP actual, pero que lo estuvieron en alguna iteraci on precedente.

5.6.2

La fase de hiperplanos de corte

En cada nodo del arbol decisional, determinamos una soluci on primal y otra dual del LP del momento, digamos (x , y ) y u cuando el LP del momento resulte ser no-factible, introducimos una variable articial con costo negativo grande. Obs ervese que el valor de la soluci on primal, calculado como vV pv yv , no est a garantizado que produzca una cota superior del valor optimo del OP, ya que el LP del momento contiene s olo un subconjunto de las x-variables. Pasamos luego a la llamada fase de costos (pricing phase), en la que usamos la soluci on dual u para calcular los costos reducidos c e de las variables xe que no forman parte del LP del momento, y que por defecto est an jas a valor 0. Si algunas resultan tener costo reducido con signo contrario (es decir, c e > 0), las a nadimos al LP, y re-optimizamos con el algoritmo del simplex primal. A n de mantener el tama no del LP tan peque no como sea posible, nunca a nadimos m as de 100 variables en cada iteraci on de la fase de costos (elegidas entre aqu ellas con mayor costo reducido). Iteramos la fase de costos hasta que se logre un signo correcto en el costo reducido de todas las variables, y por tanto, hasta que el valor del LP del momento, digamos UB, sea una verdadera cota superior del valor de la soluci on optima del OP. En tal caso si el nodo actual no resultase eliminado, pasamos a la fase de limpieza del LP. Sea LB el valor de la mejor soluci on del OP conocida hasta el momento. Eliminamos del LP del momento: 1. todas las variables xe con UB + 4 ce LB; ltimas 5 iteraciones, o aqu ellas 2. todas las restricciones que han sido slack en las u cuya variable de holgura exceda 0.01. Adem as, en el nodo ra z del arbol decisional jamos a 0 todas las variables xe con UB + c e LB, y a 1 todas las variables con UB c e LB (esta u ltima condici on puede aplicarse s olo a variables del LP jas a su cota superior). Luego pasamos a la fase de separaci on, en la que las restricciones violadas por (x , y ) son identicadas y a nadidas al LP del momento. Aplicamos los algoritmos del separaci on descritos en la Secci on 5.4. Primero buscamos en la estructura piscina. Luego contrastamos en secuencia: las restricciones l ogicas (5.12), las GSECs (5.4), las restricciones 2emparejamiento (5.13), las desigualdades de cubrimiento (5.14), las desigualdades camino (5.17), y los cortes condicionales (5.19). Como tiempo l mite TL para la enumeraci on usada en la separaci on de los cortes condicionales, hemos considerado TL:=5TS, donde TS es el tiempo de c alculo consumido en la u ltima fase de separaci on. Siempre que un

108

CAP ITULO 5. PROBLEMA DE LA ORIENTACION

subproceso de la fase de separaci on logra encontrar restricciones violadas, salimos de tal secuencia de procesos y a nadimos todos los cortes encontrados al LP. Para reducir el fen omeno de poco avance en la disminuci on del valor del LP (tailing o), saltamos a la fase de ramicaci on siempre que la cota superior no haya mejorado en al menos 0.001 durante las u ltimas 10 iteraciones del algoritmo de hiperplanos de corte correspondiente al nodo del momento. Cada cinco aplicaciones de la fase de separaci on, tratamos de mejorar la mejor soluci on disponible para el OP, a trav es del algoritmo heur stico descrito en la Secci on 5.5. Como valores we de entrada para tal algoritmo, consideramos we := x para todo e E . Esta e elecci on se mostr o computacionalmente muy eciente y t picamente produce soluciones bastante aproximadas a las optimas. Una heur stica adicional aparece impl cita en nuestro segundo proceso de separaci on para los cortes condicionales (5.19), como se describe en la Secci on 5.4. En efecto, la enumeraci on de las soluciones OP contenidas en el grafo soporte de x , all requerida, puede en bastantes casos mejorar el actual LB.

5.6.3

El algoritmo enumerativo

En el nodo ra z del arbol decisional, inicializamos el LP actual y la soluci on heur stica (seg un se describe en la Secci on 5.6.1) y entramos en la fase de hiperplanos de corte detallada en la Secci on 5.6.2. Cuando todos los algoritmos de separaci on fallan, si el nodo actual no resulta eliminado se pasa a la fase de ramicaci on. No obstante, hemos implementado (s olo para el nodo ra z) el siguiente esquema alternativo. Seg un nuestra experiencia, el corte condicional asociado con el grafo soporte G = (V (E ), E ) de la soluci on (x , y ) del LP del momento, es decir x(E ) y (V (E )) 1, (5.24) es bastante efectivo para acercar el valor LB al valor optimo del OP. Desgraciadamente, para grafos G m as bien densos nuestro sencillo esquema de enumeraci on no completa la enumeraci on de todas las posibles soluciones del OP contenidas en G , en el corto l mite de tiempo que le damos. Decidimos a nadir el corte (5.24) al LP incluso cuando esta enumeraci on no tiene exito, y lo llamamos corte de ramicaci on cubrimiento. Esta elecci on puede sin embargo eliminar como soluci on factible soluciones optimas para el OP, siempre que estas est en contenidas en G . Tomamos en consideraci on estas posibilidades almacenando el grafo G , con el objetivo de tratarlo en otro momento. Con el corte de cubrimiento-ramicaci on a nadido al LP, retomamos la fase de hiperplanos de corte, hasta que otra vez vuelva a fallar la separaci on en su b usqueda de cortes violados por la soluci on fraccionaria del momento. En tal caso, si se precisa, el esquema anterior es repetido iterativamente: a nadimos un nuevo corte de cubrimiento-ramicaci on almacenamos el grafo soporte actual G , y re-entramos en la fase de hiperplanos de corte.

5.7. RESULTADOS COMPUTACIONALES

109

G i

De esta forma, producimos y almacenamos una secuencia de grafos soportes, digamos = (V (Ei ), Ei ) para i = 1, . . . , k , hasta que el nodo ra z sea eliminado. En tal punto, la resoluci on del OP no ha terminado puesto que ahora debemos considerar la determinaci on de la mejor soluci on del OP en cada uno de los grafos G1 , . . . , Gk o, alternativamente, = (V (E ), E := k en la uni on de los mismos, denida como G i=1 Ei ). Para ello eliminamos de la estructura piscina todos los cortes de ramicaci on cubrimiento, y reaplicamos . Para poder nuestro algoritmo de ramicaci on y corte sobre el nuevo OP asociado con G garantizar la convergencia del algoritmo, evitamos la generaci on de cortes de ramicaci on cubrimiento en esta segunda aplicaci on del algoritmo de ramicaci on y corte. En su lugar, siempre que un nodo del arbol decisional no puede ser eliminado pasamos a la fase de ramicaci on, en la forma tradicional, jando xf = 0 o xf = 1 para una variable xf elegida como sigue. Seleccionamos las 15 variables fraccionarias xe con x as cerca e lo m posible a 0.5. Para cada una de tales variables xe candidatas a la ramicaci on, calcu1 lamos dos valores, digamos UB0 e y UBe , resolviendo el LP del momento aumentado con la restricci on adicional xe = 0 y xe = 1, respectivamente. Luego, elegimos como variable 1 para la ramicaci on aqu ella que ha producido el mayor valor 0.75 UB0 e + 0.25 UBe .

Como se ha explicado, nuestro esquema de ramicaci on y corte trabaja en dos fases. En la primera fase, evitamos la ramicaci on introduciendo los cortes de ramicaci on cubrimiento. En la segunda fase, trabajamos sobre el grafo no-denso G (resultante de los cortes de ramicaci on cubrimiento producidos en la primera fase), y usamos a cl asica estrategia de ramicaci on para alcanzar la optimalidad. Nuestra experiencia computacional muestra que nuestro esquema en su totalidad se presenta t picamente mejor (aunque no lo domina) que el esquema cl asico. En efecto, la segunda fase toma ventaja clara de un enorme n umero de cortes relevantes (producidos en la primera fase y almacenados en la piscina), as como de una muy buena soluci on aproximada del OP. Por otra parte, para algunos problemas la primera fase presenta una lenta convergencia en sus u ltimas iteraciones, debido al fen omeno de poco avance en la disminuci on del valor del LP. Para contrarrestar este comportamiento, aplicamos tambi en la fase de ramicaci on cl asica usando variables en al primera fase. En concreto, aplicamos la fase de ramicaci on cada vez que se intenta a nadir el sexto corte de ramicaci on cubrimiento en un nodo del arbol decisional.

5.7

Resultados computacionales

El algoritmo de ramicaci on y corte descrito en las secciones previas ha sido implementado en Lenguaje C, y ejecutado sobre un ordenador Digital DECstation 5000/240 y sobre un Hewlett Packard Apollo 9000/720. Utilizamos CPLEX 3.0 como algoritmo para abordar los problemas de Programaci on Lineal. Consideramos tres clases diferentes de problemas test.

110

CAP ITULO 5. PROBLEMA DE LA ORIENTACION

Los problemas de la primera clase (Clase I) incluyen 15 ejemplos tomados de bibliograf a propiamente del OP y del Problema de Rutas de Veh culos (VRP). Los problemas OP21, OP32, y OP33 son ejemplos del OP introducidos por Tsiligirides [T89] (con tiempos de viaje multiplicados por 100 y luego redondeados al entero m as pr oximo). Los problemas ATT48, EIL30, EIL31, EIL33, EIL51, EIL76, EIL101, y GIL262 son ejemplos del VRP tomados de la librer a de problemas TSPLIB 2.1 de Reinelt [R91]. Los problemas CMT101, CMT121, CMT151, y CMT200 son ejemplos del VRP tomados de Christodes, Mingozzi y Toth [CMT79]. En todos los ejemplos del VRP se interpret o la demanda de los clientes como el premio a recoger por visitar el correspondiente nodo. La segunda clase de problemas (Clase II) incluye todos los ejemplos del TSP descritos en TSPLIB 2.1 con hasta 400 nodos (problemas desde ATT48 a RD400). Para esos problemas, los premios en los nodos pj para j V \ {1} han sido generado de tres formas distintas: Generaci on 1: pj := 1; Generaci on 2: pj := 1 + (7141 j + 73) mod (100); Generaci on 3: pj := 1 + 99 t1j / , donde := maxiV \{1} t1i . La Generaci on 1 produce ejemplos del OP en los que el objetivo es cubrir tantos nodos como sea posible, como sucede en algunas aplicaciones. La Generaci on 2 intenta producir premios pseudo-aleatorios en el rango [1,100], mientras que la Generaci on 3 lleva a ejemplos dif ciles en los que los nodos m as alejados del dep osito son los que ofrecen premios mayores. En la tercera clase de problemas (Clase III) consideramos los ejemplos aleatorios usando el c odigo FORTRAN original de Laporte y Martello [LM90]. En esta clase tanto los premios como los tiempos de viaje son generados como n umeros aleatorios en el rango [1,100], con tiempos de viaje triangularizados a trav es del c alculo de caminos m nimos. Para todas las clases de problemas, denimos el tiempo de viaje total como t0 := v (TSP) , donde v (TSP) es la longitud de un circuito Hamiltoniano m nimo, y es un par ametro de entrada. En todos los ejemplos tomados del TSPLIB, este valor v (TSP) aparece en la propia librer a. Para los ejemplos OP21, OP32, OP33, CMT101, CMT121, CMT151, y CMT200, hemos considerado, respectivamente, los siguientes valores para v (TSP): 4598, 8254, 9755, 505, 545, 699, y 764. Para los problemas aleatorios de la Clase III, usamos el valor v (TSP) calculado por el c odigo FORTRAN de Laporte y Martello. La Tablas 5.1 5.6 presentan el comportamiento de nuestro programa de ramicaci on y corte en la resoluci on de las distintas clases de problemas. Cada tabla (salvo la Tabla 5.2) da:

5.7. RESULTADOS COMPUTACIONALES Name : el nombre del problema; z; r-time : el tiempo total empleado al nal del nodo ra

111

%-LB : la raz on porcentaje (optimumLB)/optimum, donde LB es el valor de la mejor soluci on heur stica calculada durante el nodo ra z; %-UB : la raz on porcentaje (UBoptimum)/optimum, donde UB es la cota superior calculada durante el nodo ra z; nodes : el n umero total de nodos del arbol decisional examinados (1 signica que el problema no ha precisado la fase de ramicaci on); cuts : el n umero total de cortes generados; opt-val : el valor de la soluci on optima (s olo para las Clases I y II); %-visited : el porcentaje del n umero de nodos visitados por la soluci on optima; time : el tiempo de c alculo total empleado por el c odigo de ramicaci on y corte. Los tiempos de c alculo se expresan en segundos, y se reeren al tiempo CPU sobre un ordenador HP Apollo 9000/720 computer funcionando a 80 MHz, con las siguientes caracter sticas: 59 SPECs, 58 MIPS, y 18 MFlops. Impusimos un tiempo l mite de 18,000 segundos (5 horas) para cada ejecuci on. Los ejemplos que excedieron tal tiempo l mite aparecen se nalados con la clave t.l. en la columna time, y los otros detalles aportados han sido calculados tratando la mejor soluci on factible del OP disponible como soluci on optima (de esta manera, la columna %-UB da una cota superior del porcentaje de error aproximado). La Tabla 5.1 se reere a los problemas de la Clase I. Consideramos 3 valores para el par ametro , que fueron 0.25, 0.50, y 0.75. Para esta clase de problemas tambi en mostramos, en la Tabla 5.2, informaci on adicional sobre el tiempo total empleado por el LP solver (t-LP) y los procedimientos de separaci on (t-sep), y sobre el n umero de restricciones generadas de tipo l ogica (log), GSEC (gsec), 2-emparejamiento (2-mat), camino (path), condicional (cond), y ramicaci on cubrimiento (b-cover). Las tablas 5.3 5.5 se reeren a los ejemplos de la Clase II, con los premios calculados seg un la Generaci on 1, 2, y 3, respectivamente. El par ametro ha sido jado a 0.50 (tambi en consideramos los casos = 0.25 y = 0.75, con comparables resultados). La Tabla 5.6 muestra los resultados medios (m aximos) sobre 10 problemas random pertenecientes a la Clase III, con = 0.2, 0.4, 0.6, y 0.8, y n = 25, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500. En contraste, el algoritmo de ramicaci on y acotaci on de Laporte y Martello [LM90] cae en dicultades cuando resuelve problemas con n = 25 para 0.6,

112

CAP ITULO 5. PROBLEMA DE LA ORIENTACION

y con n = 50 para 0.4. Por ejemplo, la ejecuci on del programa de Laporte y Martello sobre los ejemplos con n = 25 nodos requiere en media 0.1 segundos para = 0.2, 77.2 segundos para = 0.4, m as de 2 horas para = 0.6; mientras que cuando = 0.8 no se logra resolver ning un problema en un tiempo l mite de 5 horas. Por otra parte, las ejecuciones de nuestro programa de ramicaci on y corte son bastante satisfactorias. En la mayor parte de los casos, las cotas superior e inferior calculadas al nal del nodo ra z son bastante ajustadas, y s olo se precisan pocas llamadas a la fase de ramicaci on. En concreto, fuimos capaces de demostrar la optimalidad en todos los problemas aleatorios tratados de la Clase III, y en la mayor parte de los problemas reales de las clases I y II. Para los problemas sobrepasando el tiempo l mite, la soluci on alcanzada est a muy cerca de ser optima, con error aproximativo nunca superior a un 0.5%. Seg un la Tabla 5.2, la mayor parte de las restricciones generadas son GSECs, 2emparejamiento, l ogicas y cortes condicionales. Para algunos problemas dif ciles, tambi en se genera un n umero considerable de restricciones cubrimiento y camino.

5.7. RESULTADOS COMPUTACIONALES


= 0.25 %-UB nodes 0.0 1 0.0 1 0.0 1 0.0 1 0.0 1 0.0 1 0.0 1 0.0 1 0.0 1 0.5 3 0.0 1 1.0 9 0.0 1 0.0 2 1.9 18 = 0.50 %-UB nodes 0.0 1 0.0 1 0.0 1 0.0 1 0.0 1 0.0 1 0.0 1 0.0 1 0.0 1 0.0 1 0.0 2 0.8 39 0.1 5 0.0 17 0.2 35 = 0.75 %-UB nodes 0.0 1 0.0 1 0.0 1 0.0 1 0.0 1 0.0 1 0.0 1 0.3 5 0.4 71 0.0 1 0.0 1 0.0 1 0.0 7 0.2 337 0.2 253

113

Name op21 op32 op33 att48 eil30 eil31 eil33 eil51 eil76 eil101 cmt101 cmt121 cmt151 cmt200 gil262 Name op21 op32 op33 att48 eil30 eil31 eil33 eil51 eil76 eil101 cmt101 cmt121 cmt151 cmt200 gil262 Name op21 op32 op33 att48 eil30 eil31 eil33 eil51 eil76 eil101 cmt101 cmt121 cmt151 cmt200 gil262

t0 1150 2064 2439 2657 96 52 111 107 135 158 127 137 175 191 595 t0 2299 4127 4878 5314 191 103 221 213 269 315 253 273 350 382 1189 t0 3449 6191 7317 7971 286 155 331 320 404 472 379 409 525 573 1784

r-time 0.6 1.2 0.8 2.6 2.8 0.3 1.1 2.2 48.7 177.3 57.8 347.9 128.4 130.7 2541.6 r-time 0.7 1.3 1.8 0.8 5.2 0.5 8.5 2.4 3.1 5.6 36.9 411.1 131.8 147.4 365.8 r-time 1.7 0.8 1.1 1.1 0.9 1.6 1.7 60.0 56.6 4.7 130.7 50.9 114.6 127.9 436.5

%-LB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.1 1.4 %-LB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.1 0.0 0.2 %-LB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0.0 0.0 0.0 0.2 8.2 8.1

cuts 64 80 72 129 140 21 63 141 542 900 586 1315 1066 1161 4800 cuts 58 91 109 55 170 32 215 150 118 159 514 1350 451 859 2370 cuts 82 73 70 66 63 32 85 143 479 98 676 495 368 2668 2379

opt-val 90 70 250 17 2650 535 800 264 490 572 530 412 824 1205 4466 opt-val 205 160 500 30 7600 747 16220 508 907 1049 1030 715 1537 2198 8456 opt-val 315 230 660 39 11550 865 26380 690 1186 1336 1480 1134 2003 2881 11195

%-visited 33.3 25.0 36.4 37.5 20.0 38.7 9.1 27.5 30.3 31.7 28.7 33.9 29.1 33.0 29.6 %-visited 61.9 56.2 63.6 64.6 26.7 58.1 48.5 54.9 59.2 57.4 56.4 52.9 55.6 62.0 54.8 %-visited 71.4 71.9 84.8 83.3 73.3 87.1 81.8 76.5 84.2 81.2 75.2 76.9 79.5 84.0 77.2

time 0.6 1.2 0.8 2.6 2.8 0.3 1.1 2.2 48.7 189.7 57.8 612.5 128.4 299.1 t.l. time 0.7 1.3 1.8 0.8 5.2 0.5 8.5 2.4 3.1 5.6 55.2 1525.6 167.3 596.3 3252.7 time 1.7 0.8 1.1 1.1 0.9 1.6 1.7 77.6 457.6 4.7 130.7 50.9 380.3 17389.9 17512.0

Tabla 5.1: Resultados para problemas de la Clase I (ejemplos OP y VRP)

114

CAP ITULO 5. PROBLEMA DE LA ORIENTACION


= 0.25 log gsec 2-mat 21 31 0 32 37 1 26 27 3 44 65 8 54 68 0 11 3 1 32 29 0 48 77 1 82 271 5 129 539 41 157 354 6 223 687 59 172 739 33 211 634 42 476 3422 132 log 27 31 31 23 43 15 42 48 50 61 114 189 127 177 262 = 0.50 gsec 2-mat 14 0 46 2 47 2 17 11 84 0 5 1 86 2 54 5 49 7 59 19 362 14 719 86 210 61 449 82 1131 154

Name op21 op32 op33 att48 eil30 eil31 eil33 eil51 eil76 eil101 cmt101 cmt121 cmt151 cmt200 gil262 Name op21 op32 op33 att48 eil30 eil31 eil33 eil51 eil76 eil101 cmt101 cmt121 cmt151 cmt200 gil262 Name op21 op32 op33 att48 eil30 eil31 eil33 eil51 eil76 eil101 cmt101 cmt121 cmt151 cmt200 gil262

t-LP 0.4 0.8 0.4 1.5 2.2 0.2 0.8 1.4 27.7 88.3 41.3 271.4 79.4 148.7 9573.5 t-LP 0.4 0.9 1.0 0.4 3.6 0.2 5.4 1.6 1.4 2.7 23.9 503.5 27.8 84.8 740.0 t-LP 0.8 0.5 0.5 0.5 0.6 0.5 0.8 4.4 50.7 1.7 36.2 24.9 26.8 1934.7 2020.3

t-sep 0.1 0.1 0.2 0.5 0.2 0.0 0.0 0.3 15.4 80.8 8.1 239.2 29.7 101.7 1581.3 t-sep 0.1 0.2 0.5 0.2 0.8 0.2 2.0 0.4 1.1 1.5 16.0 652.9 121.0 422.6 1873.6 t-sep 0.6 0.1 0.4 0.4 0.1 0.9 0.6 69.9 328.2 2.1 86.5 19.2 332.5 13054.5 12874.4

cuts 64 80 72 129 140 21 63 141 542 900 586 1315 1066 1161 4800 cuts 58 91 109 55 170 32 215 150 118 159 514 1350 451 859 2370 cuts 82 73 70 66 63 32 85 143 479 98 676 495 368 2668 2379

cover 0 0 0 0 0 0 0 0 16 5 2 22 5 8 10 cover 0 1 0 0 4 1 14 0 0 1 8 82 7 38 83 cover 2 0 0 0 0 5 1 16 18 1 14 2 25 17 13

path 0 0 0 0 0 0 0 0 11 25 0 249 0 0 205 path 0 0 0 0 0 0 20 0 0 0 6 63 0 0 49 path 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

cond 11 9 15 11 17 5 1 14 156 156 66 64 116 263 488 cond 16 10 28 3 38 9 50 42 11 18 8 172 39 94 644 cond 38 27 34 9 27 12 43 48 138 31 169 64 97 515 547

b-cov 0 0 0 0 0 0 0 0 0 4 0 10 0 2 66 b-cov 0 0 0 0 0 0 0 0 0 0 1 38 6 18 46 b-cov 0 0 0 0 0 0 0 5 53 0 2 0 12 326 225

= 0.75 log gsec 2-mat 22 17 2 29 16 0 15 16 4 24 26 6 14 19 2 14 0 0 20 16 4 20 24 29 59 111 99 26 30 9 88 355 47 88 277 63 69 125 39 120 560 1129 165 638 789

Tabla 5.2: Resultados adicionales para problemas de la Clase I

5.7. RESULTADOS COMPUTACIONALES

115

Name spain47 europ47 att48 gr48 hk48 eil51 brazil58 st70 eil76 pr76 gr96 rat99 kroa100 krob100 kroc100 krod100 kroe100 rd100 eil101 lin105 pr107 gr120 pr124 bier127 pr136 gr137 pr144 kroa150 krob150 pr152 u159 rat195 d198 kroa200 krob200 gr202 ts225 pr226 gr229 gil262 pr264 pr299 lin318 rd400

t0 3101 13353 5314 2523 5731 213 12698 338 269 54080 27605 606 10641 11071 10375 10647 11034 3955 315 7190 22152 3471 29515 59141 48386 34927 29269 13262 13065 36841 21040 1162 7890 14684 14719 20080 63322 40185 1765 1189 24568 24096 21045 7641

r-time 0.7 21.6 0.7 1.1 1.7 1.2 3.2 5.3 5.7 50.9 113.8 53.5 27.1 156.7 50.7 32.0 82.9 30.2 7.1 78.8 86.3 17.5 41.2 73.7 214.2 178.6 240.3 582.2 145.6 204.6 497.6 331.9 716.3 395.0 683.6 150.6 9.7 1955.3 75.0 120.6 2860.2 5726.3 2558.0 874.0

%-LB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.7 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.2 0.0 1.7

%-UB 0.0 3.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.6 0.0 0.0 0.0 0.0 0.0 1.8 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.8 5.2 0.0 0.0 0.0 1.2 0.5 0.4

nodes 1 3 1 1 1 1 1 1 1 1 3 1 1 3 1 1 67 1 1 3 1 1 1 1 1 1 1 85 1 1 1 1 1 1 1 1 107 25 1 1 1 8 5 29

cuts 74 114 61 96 105 114 120 193 216 322 518 517 440 616 518 434 863 425 216 540 630 320 480 379 990 553 1170 2594 729 917 1912 1323 1431 1254 1635 603 6040 1019 431 789 1694 4524 2653 1821

opt-val 28 32 31 31 30 29 46 43 47 49 64 52 56 58 56 59 57 61 64 66 54 75 75 103 71 81 77 86 87 77 93 102 123 117 119 147 125 134 176 158 132 162 205 239

%-visited 59.6 68.1 64.6 64.6 62.5 56.9 79.3 61.4 61.8 64.5 66.7 52.5 56.0 58.0 56.0 59.0 57.0 61.0 63.4 62.9 50.5 62.5 60.5 81.1 52.2 59.1 53.5 57.3 58.0 50.7 58.5 52.3 62.1 58.5 59.5 72.8 55.5 59.3 76.9 60.3 50.0 54.2 64.5 59.8

time 0.7 22.7 0.7 1.1 1.7 1.2 3.2 5.3 5.7 50.9 121.1 53.5 27.1 326.9 50.7 32.0 776.0 30.2 7.1 83.4 86.3 17.5 41.2 73.7 214.2 178.6 240.3 4669.0 145.6 204.6 497.6 331.9 716.3 395.0 683.6 150.6 t.l. t.l. 75.0 120.6 2860.2 14244.0 3169.9 4272.5

Tabla 5.3: Resultados para problemas de la Clase II (problemas de la TSPLIB) y Generaci on 1

116

CAP ITULO 5. PROBLEMA DE LA ORIENTACION

Name spain47 europ47 att48 gr48 hk48 eil51 brazil58 st70 eil76 pr76 gr96 rat99 kroa100 krob100 kroc100 krod100 kroe100 rd100 eil101 lin105 pr107 gr120 pr124 bier127 pr136 gr137 pr144 kroa150 krob150 pr152 u159 rat195 d198 kroa200 krob200 gr202 ts225 pr226 gr229 gil262 pr264 pr299 lin318 rd400

t0 3101 13353 5314 2523 5731 213 12698 338 269 54080 27605 606 10641 11071 10375 10647 11034 3955 315 7190 22152 3471 29515 59141 48386 34927 29269 13262 13065 36841 21040 1162 7890 14684 14719 20080 63322 40185 1765 1189 24568 24096 21045 7641

r-time 12.3 48.3 3.9 18.0 7.1 30.7 7.8 147.2 7.2 58.6 399.3 125.4 67.8 259.0 207.6 237.2 285.5 27.8 51.5 151.9 99.4 303.4 79.4 73.2 194.3 797.9 668.0 460.1 735.7 188.6 518.0 1750.1 1337.8 515.2 1240.7 441.7 763.3 3973.9 329.5 2783.0 4253.3 10803.8 1370.0 837.6

%-LB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.0 1.4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.6 0.0 0.0 0.4 0.0 0.1 0.0 0.1 0.8 0.0 0.1 0.5 0.1 0.0 0.0 0.0 0.1

%-UB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.4 0.0 0.2 0.1 0.0 0.0 0.3 0.4 0.3 1.9 0.0 0.4 0.1 0.0 0.2 0.0 0.1 0.0 0.3 0.7 0.9 0.1 0.0 0.2 0.2 0.1 0.1 0.1 0.0 0.1 0.3 0.1 0.2 0.0 0.0 0.0 0.2

nodes 1 1 1 1 1 1 1 7 1 3 5 1 1 7 7 9 43 1 17 3 1 21 1 7 1 81 11 47 5 1 21 13 27 15 17 31 5 27 47 23 1 5 41 76

cuts 202 125 133 196 183 185 230 593 208 271 1185 897 558 1414 815 757 1518 387 711 556 678 1022 796 439 1011 1929 1579 2876 1795 836 1853 2691 1999 1147 2563 1945 1627 1842 1415 2080 2211 1900 1392 3721

opt-val 1645 1865 1717 1761 1614 1674 2220 2286 2550 2708 3425 2944 3212 3241 2947 3307 3090 3359 3655 3544 2667 4371 3917 5383 4309 4294 4003 4918 4869 4279 4960 5791 6670 6547 6419 7848 6834 6615 9187 8321 6654 9161 10900 13648

%-visited 53.2 61.7 64.6 56.2 56.2 52.9 72.4 55.7 53.9 57.9 63.5 46.5 55.0 49.0 48.0 54.0 54.0 57.0 57.4 58.1 50.5 57.5 59.7 77.2 47.8 57.7 51.4 54.0 52.7 48.0 54.1 48.2 56.1 54.5 50.5 65.8 54.2 46.6 72.1 50.8 50.0 49.8 60.7 54.5

time 12.3 48.3 3.9 18.0 7.1 30.7 7.8 181.0 7.2 62.0 453.1 125.4 67.8 481.4 316.2 334.2 1433.9 27.8 296.5 163.6 99.4 650.0 79.4 245.8 194.3 3193.0 1409.0 3950.6 1018.1 188.6 1772.4 2498.6 2517.1 805.1 3522.8 3847.6 1195.5 t.l. 4261.4 5574.6 4253.3 t.l. t.l. t.l.

Tabla 5.4: Resultados para problemas de la Clase II (problemas de la TSPLIB) y Generaci on 2

5.7. RESULTADOS COMPUTACIONALES

117

Name spain47 europ47 att48 gr48 hk48 eil51 brazil58 st70 eil76 pr76 gr96 rat99 kroa100 krob100 kroc100 krod100 kroe100 rd100 eil101 lin105 pr107 gr120 pr124 bier127 pr136 gr137 pr144 kroa150 krob150 pr152 u159 rat195 d198 kroa200 krob200 gr202 ts225 pr226 gr229 gil262 pr264 pr299 lin318 rd400

t0 3101 13353 5314 2523 5731 213 12698 338 269 54080 27605 606 10641 11071 10375 10647 11034 3955 315 7190 22152 3471 29515 59141 48386 34927 29269 13262 13065 36841 21040 1162 7890 14684 14719 20080 63322 40185 1765 1189 24568 24096 21045 7641

r-time 16.9 34.6 180.2 27.5 3.5 19.5 2.8 70.6 49.6 34.0 189.1 481.1 144.8 134.1 228.1 167.8 184.4 644.9 120.0 325.9 632.4 145.5 1377.8 139.3 861.6 2401.9 1573.8 269.7 1112.5 1099.0 1308.4 3672.2 1810.0 3116.5 642.6 654.2 3437.6 3379.5 1667.1 6177.4 4011.3 14699.4 8597.5 14257.1

%-LB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.4 0.1 0.0 6.2 0.6 0.0 45.5 0.0 0.1 0.0 0.7 0.0 0.1 0.0 0.0 0.0 0.5 0.0 16.0 0.0 0.2 0.0 0.0 0.0 0.0

%-UB 0.0 0.0 0.8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.8 0.1 0.4 0.1 0.0 0.3 0.0 0.3 0.1 1.1 3.2 0.0 5.6 0.5 0.2 0.1 0.1 0.6 0.1 1.3 0.2 0.1 0.2 0.2 0.1 0.3 0.4 0.1 0.0 0.0 0.0 0.0 0.0 0.0

nodes 1 1 7 1 1 1 1 1 1 1 9 3 13 3 1 9 1 11 7 19 1885 1 77 73 5 5 65 181 13 391 5 9 197 41 9 298 27 51 11 27 1 2 12 3

cuts 207 244 532 316 101 214 112 623 383 286 804 993 536 564 938 559 941 1423 474 1407 9926 811 4540 1022 1146 5386 2632 1646 1472 3159 2171 1528 2361 2161 905 1947 1598 5310 1613 2386 2625 1787 1308 1418

opt-val 1443 1282 1049 1480 1764 1399 1702 2108 2467 2430 3182 2908 3211 2804 3155 3167 3049 2926 3345 2986 1877 3779 3557 2365 4390 3979 3809 5039 5314 3905 5272 6195 6320 6123 6266 8632 7575 6993 6347 9246 8137 10358 10382 13229

% visited 55.3 59.6 60.4 64.6 58.3 52.9 70.7 51.4 57.9 61.8 65.6 45.5 51.0 49.0 52.0 56.0 45.0 55.0 59.4 55.2 26.2 57.5 57.3 68.5 51.5 51.8 43.1 52.7 56.7 48.7 52.8 47.7 61.6 51.5 51.0 71.3 55.1 52.2 67.7 56.5 39.8 49.8 60.7 55.8

time 16.9 34.6 251.8 27.5 3.5 19.5 2.8 70.6 49.6 34.0 416.6 487.4 248.8 138.9 228.1 230.3 184.4 1032.3 186.7 1121.1 17609.0 145.5 11487.2 2001.2 958.5 4958.7 t.l. 3828.9 1363.9 13736.7 1447.2 3975.4 8635.7 6548.9 783.7 11113.5 5821.8 7923.2 1891.5 9574.0 4011.3 t.l. t.l. t.l.

Tabla 5.5: Resultados para problemas de la Clase II (problemas de la TSPLIB) y Generaci on 3

118

CAP ITULO 5. PROBLEMA DE LA ORIENTACION

n 25 25 25 25 50 50 50 50 100 100 100 100 150 150 150 150 200 200 200 200 250 250 250 250 300 300 300 300 350 350 350 350 400 400 400 400 450 450 450 450 500 500 500 500

0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8

r-time 1.1 38.8 46.6 42.1 41.5 32.1 30.8 10.5 61.3 35.9 33.7 41.9 63.5 64.6 54.7 67.8 85.9 95.8 115.7 81.0 139.9 113.3 154.2 185.2 102.7 139.1 203.9 237.2 144.4 312.1 238.2 309.1 153.2 181.5 294.2 369.4 195.5 265.9 360.2 550.1 189.6 317.4 408.4 650.2 (3.4) (290.4) (310.2) (160.0) (374.9) (169.4) (78.4) (25.5) (201.5) (66.4) (63.5) (101.3) (212.7) (145.8) (95.9) (123.8) (175.9) (200.6) (235.1) (158.9) (338.5) (236.4) (485.5) (409.1) (177.2) (208.5) (293.2) (846.8) (359.4) (402.0) (477.5) (477.4) (299.8) (314.4) (550.3) (624.0) (290.2) (359.6) (716.8) (970.8) (726.8) (501.2) (639.3) (1206.3) 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.2 0.0 0.2 0.4 0.3 0.0 0.4 0.2 0.3 0.0 0.2 0.5 0.2 0.0 0.2 0.7 1.4 0.1 0.2 0.2 1.5 0.0 0.1 0.2 0.8 0.0 0.2 3.0 1.2 0.1 0.6 1.9 1.0 0.0 0.3 1.1 1.4

%-LB (0.0) (0.0) (0.0) (0.0) (0.0) (0.2) (1.1) (1.1) (0.3) (0.7) (1.2) (1.0) (0.0) (1.3) (0.6) (0.5) (0.2) (0.9) (2.9) (0.6) (0.1) (0.7) (5.9) (5.5) (0.4) (0.7) (0.4) (9.2) (0.1) (0.4) (0.4) (5.0) (0.1) (0.7) (22.0) (6.1) (0.2) (4.0) (9.5) (2.7) (0.0) (0.8) (4.5) (3.3)

%-UB 0.0 (0.0) 0.9 (5.9) 0.3 (2.3) 0.4 (1.5) 0.4 (3.2) 0.5 (1.1) 0.3 (0.5) 0.1 (0.6) 0.3 (1.1) 0.2 (0.4) 0.1 (0.2) 0.0 (0.1) 0.1 (0.8) 0.1 (0.2) 0.1 (0.2) 0.0 (0.1) 0.1 (0.3) 0.1 (0.1) 0.0 (0.1) 0.0 (0.0) 0.1 (0.3) 0.1 (0.1) 0.0 (0.1) 0.0 (0.0) 0.1 (0.2) 0.0 (0.1) 0.0 (0.0) 0.0 (0.0) 0.1 (0.1) 0.0 (0.0) 0.0 (0.0) 0.0 (0.0) 0.0 (0.1) 0.0 (0.0) 0.0 (0.0) 0.0 (0.0) 0.0 (0.1) 0.0 (0.0) 0.0 (0.1) 0.0 (0.0) 0.0 (0.0) 0.0 (0.0) 0.0 (0.1) 0.0 (0.0)

1.1 3.8 2.6 4.0 1.6 10.0 21.8 10.4 8.2 28.4 34.6 35.4 3.8 26.3 25.3 21.9 9.0 39.6 71.0 7.3 14.4 52.7 49.3 22.7 15.0 43.6 26.2 4.3 8.5 49.2 13.2 12.4 15.4 41.8 7.3 1.5 32.7 9.3 10.9 2.1 5.4 9.9 9.7 2.4

nodes (2.0) (15.0) (7.0) (17.0) (5.0) (27.0) (88.0) (67.0) (31.0) (81.0) (77.0) (237.0) (9.0) (74.0) (89.0) (127.0) (27.0) (155.0) (226.0) (13.0) (51.0) (141.0) (337.0) (153.0) (47.0) (107.0) (57.0) (13.0) (23.0) (129.0) (48.0) (48.0) (67.0) (214.0) (20.0) (4.0) (142.0) (35.0) (35.0) (6.0) (23.0) (22.0) (30.0) (8.0)

cuts 63.4 138.2 101.0 91.5 169.6 220.2 263.1 128.1 359.6 403.5 421.4 273.9 353.5 448.4 335.7 258.3 394.9 560.2 612.2 186.3 460.9 583.1 408.9 364.4 484.8 652.4 355.3 186.6 393.9 621.9 256.8 240.4 395.2 469.6 216.5 101.4 528.7 289.2 382.2 125.1 300.5 322.9 284.2 116.2 (92.0) (301.0) (272.0) (184.0) (365.0) (354.0) (829.0) (421.0) (686.0) (802.0) (552.0) (940.0) (684.0) (1336.0) (765.0) (802.0) (642.0) (1229.0) (1216.0) (341.0) (737.0) (1133.0) (1295.0) (1924.0) (750.0) (1202.0) (605.0) (628.0) (591.0) (973.0) (568.0) (568.0) (664.0) (1021.0) (510.0) (267.0) (961.0) (388.0) (1188.0) (337.0) (493.0) (482.0) (811.0) (399.0)

%-visited 28.8 (40.0) 56.8 (64.0) 74.0 (80.0) 86.0 (92.0) 32.8 (40.0) 59.8 (66.0) 76.4 (80.0) 90.2 (94.0) 35.3 (39.0) 60.9 (66.0) 80.8 (84.0) 93.2 (95.0) 33.7 (37.3) 59.5 (64.0) 79.2 (80.7) 95.5 (97.3) 32.9 (36.5) 59.2 (63.0) 80.4 (83.5) 97.3 (100.0) 31.3 (32.8) 57.8 (60.4) 79.7 (82.4) 98.4 (100.0) 30.1 (31.0) 57.5 (60.7) 80.4 (82.3) 99.8 (100.0) 29.1 (30.0) 56.6 (58.0) 80.1 (82.0) 89.8 (100.0) 28.2 (29.0) 55.4 (57.2) 79.7 (81.8) 100.0 (100.0) 27.7 (28.2) 54.7 (55.3) 79.5 (81.6) 100.0 (100.0) 27.0 (27.2) 53.6 (54.0) 78.8 (79.6) 100.0 (100.0)

time 1.2 42.7 63.4 51.5 53.8 99.6 147.0 58.9 149.6 340.3 445.2 403.8 112.6 493.1 525.0 549.9 175.4 986.2 2062.2 636.8 308.8 1386.4 1898.4 2850.9 363.5 1816.5 1949.5 2038.5 257.2 2516.6 1493.8 1612.1 439.1 2437.3 1844.3 763.9 1008.7 837.0 6050.5 1954.4 325.4 1418.0 5327.9 2454.0 (3.4) (296.6) (447.8) (191.6) (484.4) (377.8) (461.3) (279.6) (706.2) (785.0) (685.1) (1825.9) (343.9) (1460.5) (1491.1) (2491.6) (473.0) (3138.5) (5142.3) (1100.2) (761.9) (3504.6) (8932.8) (1 t.l.) (946.5) (3908.2) (3895.6) (10230.2) (635.1) (4837.7) (4674.1) (4669.8) (1392.5) (9675.7) (6206.2) (3883.8) (3257.9) (1909.9) (3 t.l.) (8008.6) (1422.9) (3034.8) (1 t.l.) (11860.4)

Tabla 5.6: Resultados medios (m aximos) sobre 10 problemas aleatorios de la Clase III

Cap tulo 6 Problema de Rutas de Veh culos con Capacidades


El Problema de Rutas de Veh culos con Capacidades (CVRP) que consideramos en este cap tulo aparece cuando una ota de veh culos debe distribuir una mercanc a a un conjunto de clientes con el m nimo costo posible. Asumimos que todos los clientes tienen una demanda espec ca, y que esta debe ser satisfecha por un u nico veh culo de la ota. Asumimos tambi en que todos los veh culos tienen una misma capacidad m axima, y que est an en un u nico dep osito. En nuestra versi on no se exige que se utilicen todos los veh culos de la ota, y los costos aparecen s olo como consecuencia del movimiento de los veh culos por la red. Nosotros modelizamos el CVRP en una formulaci on matem atica con m as variables que los modelos cl asicos, pero con la ventaja de permitir separar las soluciones del CVRP en soluciones de problemas de ciclos. Siguiendo tal consideraci on consideramos nuevas desigualdades que a nadidas al modelo conducen a relajaciones lineales mejores que las conocidas, al menos sobre varios problemas de la literatura. Estas experiencias motivan el desarrollo de un algoritmo de ramicaci on y corte en base a esta formulaci on matem atica.

6.1

Introducci on

Los Problemas de Rutas de Veh culos afrontan la utilizaci on optima de una ota de veh culos para transportar (entregando y/o recogiendo) productos entre dep ositos centrales y clientes. Se pueden encontrar interesantes aplicaciones en la secuenciaci on de los autobuses escolares, la recolecci on del correo depositado en los buzones, servicios de lavander a, recogidas de basura, . . . Dada el enorme n umero de aplicaci on pr acticas en 119

120 CAP ITULO 6. PROBLEMA DE RUTAS DE VEH ICULOS CON CAPACIDADES el que comparece (cada uno caracterizado por una funci on objetivo y restricciones espec cas), en la literatura se han tratado diversas versiones. Como introducci on al tema, v eanse por ejemplo Christodes, Mingozzi y Toth [CMT79], Christodes [C85], Laporte y Nobert [LN87], Golden y Assad [GA88], y Laporte [L92]. Existen muchos problemas combinatorios bajo el nombre com un de problema de rutas de veh culos. Aparecen variantes distintas atendiendo a criterios como, por ejemplo: 1. tama no de la ota (a) un veh culo, (b) varios veh culos; 2. tipo de los veh culos; (a) todos iguales, (b) todos distintos, (c) mixto; 3. capacidad de los veh culos (a) capacidad ilimitada, (b) capacidad limitada; 4. costo m aximo de recorrido de los veh culos (a) ilimitado, (b) limitado; 5. dep ositos (a) uno, (b) varios; 6. uso de veh culos (a) se deben usar todos los veh culos disponibles, (b) se pueden usar menos de los veh culos disponibles; 7. demanda de los clientes (a) todos iguales, (b) todos distinta, (c) estoc astica;

6.1. INTRODUCCION 8. servicio a los clientes (a) servibles exactamente por un veh culo, (b) servibles por al menos un veh culo, (c) se pueden servir o no; 9. operaciones en los clientes (a) s olo descarga, (b) recogida y entrega; 10. costos de transporte (a) sim etricos, (b) asim etricos, (c) eucl deos, (d) variables seg un el momento; 11. objetivo (a) minimizar el coste total de la ruta, (b) minimizar el n umero de veh culos requerido, (c) minimizar una penalizaci on por clientes no servidos.

121

En este cap tulo nosotros consideramos la versi on particular que a continuaci on se describe, si bien mucho de lo que se expone es tambi en extensible a otras variantes m as generales. Sea una red de carreteras conectando entre s un conjunto de clientes N = {1, . . . , n} y un dep osito 0 (puntos). Consideremos inicialmente en el dep osito un conjunto de veh culos id enticos M = {1, . . . , m}. Sea cij es costo de ir directamente desde un punto i a un punto j en la red (es decir, el costo del arco ij ), qi la demanda de un cliente i, y Q la capacidad de un veh culo. Una ruta factible se dene como un subconjunto de arcos representando un ciclo simple que visita al dep osito y a un conjunto de clientes con demanda total no mayor que Q. Entonces, el Problema de Rutas de Veh culos con Capacidades (CVRP) es el problema de encontrar una familia de no m as de m rutas factibles tales que cada cliente est e en exactamente una ruta factible y el costo total de los arcos considerados resulte lo menor posible. Existen dos versiones de este problema: el CVRP sim etrico si cij = cji para cada par de clientes i, j ; y el CVRP asim etrico en otro caso. Es bien-conocido que ambas versiones son problemas N P -dif ciles (en el sentido fuerte) ya que coinciden con el problema del Viajante de Comercio (TSP) cuando m = 1, y han sido extensamente estudiadas. Para el caso asim etrico, Fischetti, Toth y Vigo [FTV94] proponen un algoritmo de ramicaci on

122 CAP ITULO 6. PROBLEMA DE RUTAS DE VEH ICULOS CON CAPACIDADES y acotaci on basado en su llamada Aproximaci on Aditiva, llegando a demostrar la optimalidad de problemas aleatoriamente generados con hasta 300 clientes. Para el caso sim etrico, hasta nuestro conocimiento, los mejores resultados hasta el momento aparecen en el trabajo de Fisher [F94], donde se logra la prueba de optimalidad para un problema test con hasta 100 clientes mediante el uso de un algoritmo de ramicaci on y acotaci on basado en relajaci on Lagrangiana. Se han estudiado otras t ecnicas basadas en la aproximaci on de hiperplanos de corte en los trabajos de Laporte, Nobert y Desrochers [LND85] y Cornuejols y Harche [CH93]. Araque, Kudva, Morin y Pekny [AKMP94] han propuesto recientemente un algoritmo de ramicaci on y corte para el CVRP en el caso particular de clientes con id enticas demandas, logrando la prueba de optimalidad para ejemplos con hasta 60 clientes. Todas estas aproximaciones se basan en modelos matem aticos con hasta O(n2 ) variables de doble- ndice. En este cap tulo, mostramos nuestra experiencia en el tratamiento del CVRP sim etrico con un algoritmo de hiperplanos de corte basado en una formulaci on de ujos de veh culos con tres ndices (es decir, variables con tres ndices), que estamos embebiendo en un algoas variables que ritmo de ramicaci on y acotaci on. Por una parte, este modelo presenta m 2 2 los modelos anteriores(O(n m) en lugar de O(n )), y ello puede parecer una desventaja del modelo. Pero por otra parte tiene la singular ventaja de permitirnos descomponer una soluci on (fraccionaria) del CVRP en soluciones (fraccionarias) de particulares problemas de ciclo, y por tanto considerar desigualdades adicionales (nuevas) para fortalecer la relajaci on lineal del modelo anterior. Experiencias computacionales preliminares con ejemplos del trabajo de Araque, Kudva, Morin y Pekny [AKMP94], nos han adelantado que, en algunos caso, se alcanza ahora la soluci on optima (entera) durante la resoluci on del nodo ra z.

6.2

Modelo Matem atico

Representaremos por V := {0} N al conjunto de puntos de la red de carreteras dada, y por E al conjunto de sus carreteras. Diremos que G = (V, E ) es el grafo del CVRP, donde V es el conjunto de nodos, y E el conjunto de arcos. Cada nodo tiene un peso asociado qi (la demanda si i representa un cliente, y 0 si i representa el dep osito), y cada arco e tiene un costo asociado ce (el costo cij si e representa la carretera que une los clientes i y j ). Para cada S V , consideramos la notaci on: E (S ) := {e E : e tiene ambos nodos incidentes en S }, (S ) := {e E : e tiene exactamente un nodo incidente en S }. Dada una cualquier funci on f de variable real denida sobre un dominio nito D, y dado cualquier subconjunto W D, usaremos la notaci on f (W ) en lugar de dW fd . Para cada arco e E y cada k M , consideramos una variable de decisi on xk e que asume el valor 2 si el arco e une el dep osito con el u nico cliente servido por el kj - esimo

LINEAL 6.3. FORTALECIENDO LA RELAJACION

123

veh culo, 1 si e es usado s olo una vez por el k - esimo veh culo, y 0 en otro caso. Para cada k nodo i V y cada k M , consideremos una variable decisional yi que asume el valor 1 si el v ertice i es visitado por el k - esimo veh culo, y 0 en otro caso. Entonces el CVRP puede formularse matem aticamente como sigue: min
eE

ce
kM

xk e

sujeto a
k xk ( ({i})) = 2yi k xk ( (S )) 2yi k qi yi Q iV k =1 yi k M k k xe , y i {0, 1} k xe {0, 1, 2}

para todo k M y i V ; para todo k M y S V, i S, 0 S ; para todo k M ; para todo i V \ {0}; para todo k M, e E \ ({0}), i V ; para todo k M, e ({0}).

(6.1) (6.2) (6.3) (6.4) (6.5) (6.6)

Las ecuaciones (6.1) se llaman restricciones de grado, y establecen que cada v ertice visitado por un veh culo debe tener dos de sus arcos incidentes en la correspondiente ruta factible. Las desigualdades (6.2) se llaman restricciones de eliminaci on de subtour (GSECs, para abreviar), e imponen las condiciones de conexidad y el uso del dep osito por toda ruta factible. (6.3) recibe el nombre de restricci on mochila, y limita la m axima carga de los veh culos. Finalmente, las igualdades (6.4) aseguran que cada cliente est a visitado por exactamente un veh culo. Por supuesto, usando las igualdades (6.1) ser a k posible eliminar las variables yi y las restricciones de grado del modelo.

6.3

Fortaleciendo la Relajaci on Lineal

Con la intensi on de disponen de una buena relajaci on lineal del modelo anterior, se precisan nuevas restricciones adicionales. Ante todo observemos que todas las desigualdades v alidas propuestas en las aproximaciones de hiperplanos de cortes previamente propuestas in la literatura son tambi en v alidas aqu , tal y como sucede con las conocidas restricciones de capacidad: xk ( (S )) 2 bpp(S ), (6.7)
kM

donde = S V \ {0} y bpp(S ) es el m nimo n umero de veh culos que se precisan para servir los clientes del subconjunto S ; o las desigualdades peine: xk ( (Sl )) 3s + 1,
l{0,1,...,s} kM

(6.8)

124 CAP ITULO 6. PROBLEMA DE RUTAS DE VEH ICULOS CON CAPACIDADES con S0 , S1 , . . . , Ss V \ {0} vericando: (i) |Sl \ S0 | 1, l = 1, . . . , s, (ii) |Sl S0 | 1, l = 1, . . . , s, (iii) |Sl St | = 0, 1 l < t s, (iv) s impar y mayor o igual que 3. (V ease Laporte y Nobert [LN84] para m as detalles, y Cornuejols y Harche [CH93] para otras desigualdades de este tipo.) Pero utilizando la descomposici on que nuestro modelo (y m as concretamente las variables de tres ndices) nos produce de una soluci on del CVRP en soluciones (xk , y k ) (k = 1, . . . , m) de problemas de ciclos, podemos considerar las siguientes desigualdades: xk ( (S )) 2 f (S, xk , y k ), (6.9) donde k M , = S V \ {0} y f es una funci on que asume el valor 0 cuando (xk , y k ) se corresponde con una ruta factible que no visite clientes en S , y un valor en (0, 1] en otro caso. Es f acil ver entonces que las restricciones (6.2) son un caso particular de (6.9) que aparece cuando k f (S, xk , y k ) = yi . Si consideramos f (S, xk , y k ) =
iS k qi y i

, Q obtenemos otra desigualdad v alida. Esta desigualdad puede fortalecerse incluso cuando q (S ) > Q. En efecto, observemos que si (xk , y k ) es una ruta factible que verica con igualk dad la restricci on (soluci on ajustada para la desigualdad), entonces o bien iS qi yi = 0, k k o bien iS qi yi = Q. En ambos casos se tiene que xe = 0 para todo e (S ) \ (0), por lo que dicho punto tambi en verica con igualdad la desigualdad no v alida xk ( (S ) \ (0)) 0. Esto da tambi en una idea de como obtener una nueva desigualdad que domine estrictamente a la anterior: basta encontrar el m aximo valor de en [0, +) que mantenga factible la desigualdad combinada xk ( (S ))

xk ( (S ) \ (0)) 2

iS

k qi y i

Ahora bien, tal es dif cil de calcular. La cuesti on se simplica si notamos que an alogamente el punto verica con igualdad todas las desigualdades no v alidas xk ( (S ) (j )) 0 para j S y j = 0. De este modo, el razonamiento anterior nos lleva a buscar j [0, +) grande tales que x ( (S ))
j S,j =0 k j

x ( (S ) (j )) 2

iS

k qi yi

LINEAL 6.3. FORTALECIENDO LA RELAJACION se mantenga v alida. Considerando f (S, x , y ) =


k k j

125

= qj /Q se tiene la desigualdad de tipo (6.9) con


iS k qi y i + j S

qj

iS

xk ij

Tambi en esta nueva desigualdad es separable en tiempo polinomial mediante la resoluci on de un problema de ujos en redes sobre una particular red (de modo an alogo a como veremos para la pr oxima familia de desigualdades). Otra desigualdad de tipo (6.9) resulta de considerar f (S, xk , y k ) =
iS k qi (yi xk [0,i] )

Q q(1) q(2)

(6.10)

donde q(1) y q(2) son el primer y segundo m nimo en {q1 , . . . , qn }. Para concluir la validez de esta desigualdad obs ervese que Q q(1) q(2) es la capacidad m axima de cualquier veh culo para los clientes que no ser an servidos directamente desde el dep osito (es decir, k k para clientes intermedios en su ruta), mientras que yi x[0,i] asume el valor 1 si i es un k cliente intermedio en la ruta de k y 0 en otro caso, por lo que iS qi (yi xk [0,i] ) es la capacidad real necesaria por el veh culo k - esimo para sus clientes intermedios. Adem as, cuando las demandas de los clientes son todas id enticas, entonces esta particular familia de restricciones domina las restricciones multi-estrella grandes propuestas por Araque [A89] y Hall [G89]. Finalmente notemos que esta nueva familia de desigualdades puede separarse en tiempo polinomial mediante la resoluci on de un problema de ujo m aximo en un grafo con n + 2 nodos. En efecto, para verlo reescribamos la desigualdad propuesta como xk ( (S )) 2 o mejor como x ( (S ) \ (0)) +
iS k k 2qi (1 yi + xk [0,i] )

qi +2 Q q(1) q(2)
iN

iS

k qi (yi xk [0,i] 1)

Q q(1) q(2)

qj , Q q(1) q(2)
j S

Q q(1) q(2)

+ xk [0,i]

2qj iN 2qi . Q q(1) q(2) Q q(1) q(2)


j S

De este modo, si consideramos un grafo completo sobre el conjunto de nodos {0, 1, . . . , n, n+ 1}, y le asociamos el peso 1. xk [j,i] a los arcos [j, i] con j = 0 e i = n + 1, 2. 3.
k +xk 2qi (1yi ) [0,i]

Qq(1) q(2)
j S 2qj Qq(1) q(2)

+ xk [0,i] a los arcos [0, i] con j = n + 1,

a los arcos [j, n + 1] con j = 0,

126 CAP ITULO 6. PROBLEMA DE RUTAS DE VEH ICULOS CON CAPACIDADES 4. 0 al arco [0, n + 1], entonces existe una desigualdad on actual si y s olo si el ujo m aximo 2 violada por la soluci iN 2qi entre 0 y n + 1 es inferior a Qq(1) q(2) (y en tal caso, est a denido por el conjunto S que se corresponde con el lado del corte m nimo que contiene a 0). Adicionalmente, cuando q (S ) > (m 1)Q podemos considerar la desigualdad (6.9) con f (S, xk , y k ) = 1. Estas desigualdades pueden encontrarse heur sticamente, y resultan de gran utilidad para los ejemplos donde q (N ) es muy pr oximo a mQ (tal y como sucede frecuentemente en los problemas test de la literatura). Por ejemplo, si q (N \ {i}) > (m 1)Q, entonces el cliente i no puede ser servido aisladamente por ning un veh culo, y k k la desigualdad previa se convierte en x[0,i] yi . Utilizando una vez m as la descomposici on de la soluci on de CVRP en soluciones de problemas de ciclos, es tambi en posible considerar nuevas desigualdades. Sea P cualquier camino simple visitando V (P ) := {i1 , i2 , . . . , ih1 , ih } V \ {0}. Denamos W (P ) := {ih+1 V \ V (P ) : q ({i1 , . . . , ih , ih+1 }) Q}. Entonces la siguiente desigualdad camino es v alida para cada k M : xk (P ) y k (V (P ) \ {i1 , ih }) + xk ( ({ih }) (W (P ))). (6.11)

En efecto, si por reducci on al absurdo hubiese una soluci on del CVRP que no satisface dicha restricci on, entonces
h1 l 1

xk [il ,il+1 ] 1 +
l=1 l=2

k yi + l j W (P )

xk [ih ,j ] ,

o equivalentemente
k k k k xk [i1 ,i2 ] + (x[i2 ,i3 ] yi2 ) + . . . + (x[ih1 ,ih ] yih1 ) j W (P ) k k y consecuentemente xk [i1 ,i2 ] = . . . = x[ih1 ,ih ] = 1 y x[ih ,j ] = 0 para todo j W (P ), lo que contradice que (xk , y k ) sea una ruta factible que contiene a P y a un arco [ih , j ] con j no en W (P ). En cuanto a la separaci on de estas desigualdades, resulta clave observar k k que cuando se verica que x[i,j ] yi para todos los pares de clientes i, j , entonces no hay desigualdades violadas de tipo 6.11 asociadas con caminos P no completamente contenidos un e P ). en el grafo soporte de la soluci on fraccionaria (esto es, con xk e = 0 para alg De este modo, y dado que los grafos soportes no suelen ser extremadamente densos, una simple enumeraci on de sus caminos P suele ser bastante eciente.

xk [ih ,j ] 1,

De la restricci on mochila (6.3) tambi en se pueden considerar otras familias de desigualdades, como por ejemplo las conocidas restricciones de cubrimiento: y k (S S ) |S | 1, (6.12)

6.4. RESULTADOS COMPUTACIONALES

127

donde S V es un conjunto de v ertices minimal tal que q (S ) > Q, y S := {i V \ S : qi maxj S qj }. Cuando las demandas son id enticas, las desigualdades (6.12) est an dominadas por (6.3). Para evitar soluciones equivalentes obtenidas intercambiando el tercer ndice, resulta muy u til introducir una renumeraci on conveniente de los clientes, de manera que los veh culos con menor ndice visiten clientes con menor ndice. Con m as precisi on, para cualquier permutaci on dada del conjunto de clientes N , podemos asumir que i(1) i(2) . . . i(m),
k donde i(k ) := min{i N : y umero de cliente (con respecto a la (i) = 1} es el menor n permutaci on ) de los clientes visitados por el veh culo k (i(k ) := si no se utiliza el veh culo k ). Entonces se verica el siguiente sistema de restricciones: 1 y (1) = 1, k y (i) j {1,...,i1} k1 y (j )

(6.13) para todo k 3 (k M ) y i 2 (i N ). (6.14)

Al inicio se calcula el menor n umero de veh culos para servir a todos los clientes m := bpp(N ), y se compara con m para determinar la factibilidad del CVRP. Luego se k ja a 1 todas las y0 con k = 1, . . . , m.

6.4

Resultados computacionales

En el marco de un algoritmo de hiperplanos de cortes, hemos resuelto la relajaci on lineal del modelo entero presentado en la Secci on 6.2, fortalecido con las consideraciones detalladas en la Secci on 6.3. La Tabla 6.1 muestra nuestros resultados preliminares a mayo de 1995 sobre ejemplos 1, 13, 15, 16, 17, 18, 19 y 20 de Araque, Kudva, Morin y Pekny [AKMP94], y algunas variantes de los ejemplos EIL23.VRP y EIL51.VRP de la librer a TSPLIB de Reinelt [R91], todos ellos con demanda id entica 1 para todos los clientes. El signicado de las columnas es: Name : AKMP# signica que es el ejemplo # de [AKMP94]; EIL#.VRP signica que se trata del correspondiente ejemplo de la TSPLIB; n : n umero de clientes; m : n umero de veh culos disponible; axima de cada veh culo; Q : capacidad m zopt : valor objetivo optimo del modelo entero;

128 CAP ITULO 6. PROBLEMA DE RUTAS DE VEH ICULOS CON CAPACIDADES Name AKMP15 AKMP16 AKMP17 AKMP18 AKMP19 AKMP20 EIL23.VRP EIL23.VRP EIL51.VRP EIL51.VRP AKMP1 AKMP13 n m Q 21 7 3 21 3 7 29 8 4 29 5 6 32 7 5 32 4 8 22 2 11 22 5 5 50 5 10 50 10 5 40 4 10 60 2 30 zopt 530 341 832 639 627 497 527 719 ??? ??? 647 695 zLP nuestro 530 341 832 639 626.4626 497 527 719 515.9041 707.1405 639.6419 688.7019 zLP en [AKMP94] 530 341 830.80 639 625.27 497 ??? ??? ??? ??? 638.00 684.25

Tabla 6.1: Comparando la cota inferior de nuestro modelo con la de Araque, Kudva, Morin y Pekny [AKMP94]. zLP nuestro : valor objetivo optimo de nuestra relajaci on lineal; zLP en [AKMP94] : valor objetivo optimo de la relajaci on lineal considerada en Araque, Kudva, Morin y Pekny [AKMP94]. No se dispone de la soluci on optima de todos los problemas considerados, y cuando esto ocurre se indica en la tabla con el s mbolo ???. No hemos incorporado una columna con el tiempo precisado para la resoluci on de las correspondientes relajaciones lineales porque nuestro objetivo no era tanto dar un eciente algoritmo, como demostrar que con el modelo a tres ndices se pod an mejorar las cotas propuestas por otros autores recientes. Conviene observar que en esta secci on s olo hemos considerado una simple t ecnica de hiperplanos de corte, no beneciada por heur sticos que jen o eliminen variables, ni otras herramientas propias de procedimientos de ramicaci on y corte. En cualquier caso, nuestros tiempos son perfectamente comparables con los de otros autores sobre los ejemplos considerados. Claramente se precisa m as trabajo sobre esta nueva aproximaci on a la resoluci on del CVRP, tanto estudi andola sobre ejemplos mayores, como sobre la mejora de nuestro c odigo de resoluci on (los problemas lineales son particularmente dif ciles, no tanto por su dimensi on como por su estructura combinatoria del tipo multi-ujos). Adem as, pretendemos incorporar esto en un procedimiento de ramicaci on y corte para la resoluci on exacta de CVRP.

Cap tulo 7 Problema de Garantizar la Privacidad en Tablas Estad sticas P ublicas


En este cap tulo se estudia el problema de proteger datos particulares (datos sensibles) en tablas estad sticas, cuando los restantes datos deben hacerse p ublicos junto con los totales marginales. Para ello, se permite la supresi on adicional de datos no sensibles, si bien al tiempo se pretende que la informaci on no desvelada resulte lo menor posible. Aqu se presenta un algoritmo exacto de tipo Ramicaci on y Corte (Branch-and-Cut) para el caso de tablas bi-dimensionales (que puede usarse tambi en como algoritmo heur stico). Se analizan resultados computacionales sobre problemas de aplicaciones reales y aleatoriamente generados, de los que se concluye que tal algoritmo es claramente mejor que los procedimientos propuestos en los trabajos precedentes. Finalmente se extienden las ideas usadas al caso de tablas estad sticas multidimensionales.

7.1

Introducci on

La materia prima de los censos e informes es la informaci on obtenida como respuestas individuales. Normalmente, estos datos se obtienen bajo un compromiso de condencialidad: el organismo recolector/difusor se compromete a no publicar cualquier dato o resumen de datos en los cuales la informaci on de respuestas individuales pueda ser revelada (datos sensibles). En este cap tulo se estudia el problema de proteger datos sensibles en una tabla estad stica, cuando se pretenden publicar los datos no sensibles junto con los totales marginales. Cada celda contiene inicialmente un valor dado (al que llamare129

130

CAP ITULO 7. PRIVACIDAD EN TABLAS ESTAD ISTICAS Edad bajo 45 4564 6574 sobre 74 Total A B 7 10 12 9 7 3 5 0 31 22 C 8 5 3 2 18 Total 25 26 13 7 71

Tabla 7.1: Millonarios por edades y lugar de residencia. mos valor nominal), y conlleva una p erdida de informaci on en caso de resultar suprimida (valor denominado peso de supresi on de la celda). En algunos casos pr acticos el peso de supresi on viene dado coincidiendo con el valor nominal, en otros como un valor constante, y en otros es m as complejo. Una celda se considera protegida si el m aximo (resp. m nimo) posible valor que puede asumir en la tabla estad stica es mayor (resp. menor) que el valor nominal original m as (resp. menos) una nivel de protecci on superior (resp. inferior). Si existe una celda no protegida en la tabla, entonces aparece el problema de elegir celdas adicionales (celdas secundarias) que ser an tambi en suprimidas, pero de manera que se minimice la p erdida global de informaci on en la tabla nal propuesta. Cuando el peso de supresi on viene dado como una constante, es decir, igual para todas las celdas de la tabla, entonces el objetivo del problema es minimizar el n umero de celdas secundarias. Las faltas de protecci on en celdas sensibles surgen por las relaciones creadas con los marginales totales, y por el conocimiento de que los datos ocultos son cuanto menos no negativos. En realidad, motivados por las aplicaciones pr acticas reales de este problema, asumimos conocido que un organismo no est a interesado en ocultar nunca celdas con valores nominales cero, y por tanto, se supone globalmente asumido que el menor valor posible para una celda suprimida es 1 (y no 0). Por ejemplo, la Tabla 7.1 muestra una tabla bi-dimensional correspondiente al n umero de millonarios de una ciudad, clasicados seg un edad y lugar de residencia. Asumiendo que en la peque na zona C todos los habitantes conocen que s olo hay dos residentes con m as de 74 a nos de edad, entonces cualquier habitante podr a concluir que estas dos personas son millonarias. Para proteger la tabla frente a tal revelaci on estad stica de datos individuales, la Celda (4,3) viene considerada como una celda sensible, y su valor nominal 2 se sustituye por el s mbolo *. Sin embargo, esto no es suciente: apoy andose en los marginales totales, ser a posible calcular el valor 2 de la Celda (4,3). Por tanto, se precisa suprimir alg un otro dato. Si los nivel de protecci on inferior y superior para la Celda (4,3) son 1 y 3, respectivamente, entonces una soluci on optima para el problema ser a suprimir las celdas (1,1), (1,3), (4,1) y (4,3) en la tabla nal. (En este ejemplo estamos asumiendo que el peso de supresi on de una celda coincide con su valor nominal.) Este problema se conoce con el nombre de Problema de la Supresi on de Celdas (abreviadamente CSP por venir de Cell Suppression Problem), y las primeras referencias bibliogr acas que lo abordan espec camente se deben a Lawrence H. Cox en las memorias de

7.1. INTRODUCCION

131

los congresos de la Asociaci on Estad stica Americana, durante los u ltimos a nos de los 70. El CSP aparece entonces como parte del Control de Revelaciones Estad sticas (Statistical Disclosure Control), est a motivado por el deseo de preservar la privacidad y seguridad en la publicaci on de datos no sensibles, y es por ello un problema de considerable importancia para cualquier Instituto Nacional de Estad stica (y as lo han manifestado a trav es de trabajos publicados los correspondientes institutos de Estados Unidos, Canad a, Holanda, . . .). Hasta la actualidad, todos los intentos para abordar el problema han sido heur sticas o muy sencillas t ecnicas de ramicaci on y acotaci on basadas en enormes modelos matem aticos de programaci on entera mixta (ver [CCE85], [C87], [G88], [WW94]). Para una introducci on m as detallada sobre el tema y su relevancia dentro del Control de Revelaciones Estad sticas, se aconseja el trabajo de Geurts [G92] (desarrollado en el Netherlands Central Bureau of Statistics) o el trabajo de Cox [C92] (en el U.S. Bureau of the Census). Este segundo es b asicamente una argumentaci on pr actica, mientras que el primero contiene adem as los mejores resultados computacionales del momento: mediante un nuevo algoritmo de ramicaci on y acotaci on, resuelven exactamente el CSP sobre tablas de dimensi on desde 4 4 hasta 14 5 en tiempos pr oximos a 1 hora de CPU sobre un potente ordenador SUN SPARC station +1; adem as, los tiempos del heur stico que proponen precisan tiempos no peque nos con errores de hasta el 45.5 % sobre la soluci on optima. Este cap tulo presenta una alternativa m as simple y eciente de tratar el CSP. En la Secci on 7.2 se demuestra que el CSP es un problema de Optimizaci on Combinatoria de tipo N P -dif cil, en base a un an alisis (te orico) del caso particular de tablas unidimensional (de poco inter es pr actico). El caso bi-dimensional se aborda con detalle en la Secci on 7.3, introduciendo en la Secci on 7.3.1 un nuevo modelo matem atico de Programaci on Lineal Entera, ideal para ser tratado por el algoritmo de Ramicaci on y Corte (Branch-and-Cut) que se propone en la Secci on 7.3.4. En la Secci on 7.3.2 se dan diversas desigualdades para fortalecer la relajaci on lineal del modelo entero, y en la Secci on 7.3.3 se describe un algoritmo heur stico que usa la informaci on de soluciones de relajaciones lineales. La Secci on 7.3.5 analiza resultados computacionales del algoritmo propuesto sobre problemas reales y generados aleatoriamente, mostrando que ahora se resuelven problemas m as dif ciles que los considerados por Geurts [G92], con much simo menos esfuerzo (segundos sobre un PC 486 frente a minutos sobre una SUN SPARC). Finalmente, la Secci on 7.4 extiende algunas de las anteriores ideas al CSP en tablas multi-dimensionales bas andonos en una interesante extensi on de la conocida T ecnica de Descomposici on de Benders. Aunque hemos tratado de que este cap tulo pueda ser tambi en le do por un estad stico no especializado en t ecnicas de Programaci on Matem atica, en algunos casos se utilizan a Poli edrica y de los Algoritmos de Ramicaci on y Corte conceptos b asicos de la Teor que no se introducen. Indicamos el libro de Nemhauser y Wolsey [NW88] y el art culo de Padberg y Rinaldi [PR91] como referencia para los mismos.

132

CAP ITULO 7. PRIVACIDAD EN TABLAS ESTAD ISTICAS

7.2

Complejidad Algor tmica

En esta secci on demostraremos que el CSP para tablas k -dimensionales es N P -dif cil. Para ello veremos primero que est a en la clase N P , es decir, que se puede demostrar en tiempo polinomial que una soluci on dada es factible y que su peso total de supresi on es menor que un valor dado, cuando efectivamente lo sea. En efecto, dada una propuesta de soluci on, la factibilidad se determina resolviendo un problema lineal de m aximo y un problema lineal de m nimo para cada celda sensible, donde las variables son los posibles valores de las celdas que la soluci on propone ocultar, la funci on objetivo es el valor de la propia variable sensible, y las restricciones son que los valores de tales variables junto con los valores constantes de las celdas no suprimidas, deben de mantener congruentes los totales marginales, as como las cotas sobre sus valores m nimos posibles de dichas variables (v eanse las secciones 7.3 y 7.4 para m as detalle). Dado que los problemas de Programaci on Lineal se resuelven en tiempo polinomial, el CSP est a en la clase N P . Para demostrar que es adem as N P -duro observaremos que el cl asico problema de la mochila (abreviadamente KP por Knapsack Problem) es reducible al CSP con una u nica supresi on. Dado que cualquier tabla uni-dimensional puede considerarse como una particular tabla k -dimensional, para cualquier natural k , entonces el CSP es tambi en un problema N P -dif cil. Consideremos el siguiente KP:
n n

max{
j =1

pj zj :
j =1

wj zj c y zj {0, 1} (j = 1, . . . , n)},

donde pj y wj son, respectivamente, el benecio y el peso asociados al objeto j , y c es la capacidad de la mochila (todos n umero enteros positivos). Con el cambio de notaci on n xj := 1 zj y c := j =1 wj c, el problema anterior equivale a resolver
n n

min{
j =1

p j xj :
j =1

wj xj c y xj {0, 1} (j = 1, . . . , n)}.

Creamos la siguiente tabla uni-dimensional con n+2 celdas. A cada celda j (j = 1, . . . , n) le asociamos un valor nominal wj + 1 y un peso de supresi on pj . La celda (n + 1)- esima viene considerada como celda sensible, y le asociamos valor nominal 1, peso de supresi on 0, nivel de protecci on inferior 0, y nivel de protecci on superior c . En la celda n + 2 n colocamos el valor nominal total de los anteriores, es decir, j =1 wj + n + 1, con un muy alto peso de supresi on. Entonces el CSP sobre esta tabla plantea la b usqueda de un conjunto de celdas S {1, . . . , n} (si existe) de manera que suprimiendo tales celdas, el mayor valor posible para la celda (n + 1)- esima, es decir 1 + j S wj , no sea inferior a 1 + c , y que su peso de supresi on total j S pj resulte lo menor posible. Es decir, busca una soluci on optima para el KP. Dado que este es un problema N P -dif cil, el CSP uni-dimensional lo es tambi en, y por tanto el CSP.

7.3. TABLAS BI-DIMENSIONALES r1 c1


- j j H * H  J  @ HH
J @ H
HH J @
H J c r @ 2 2 HH
j j J @ j
J Q H @ * * HH c0
. Q . J r0 . . @ Q . . J ^
H Q Q s j j @ H HH ai0 HH @ 0j * H cj a J HH ri 6 H @ 
@ R a H j H j ij J - j j
J HH * . .
J . . HH . .
J H HH
J HH cN C
rN R J ^ H j j
j -

133

a00 Figura 7.1: Red representando una tabla bi-dimensional

7.3

Tablas bi-dimensionales

Una tabla estad stica bi-dimensional puede considerarse como una matriz [aij : i = 0, 1, . . . , N R; j = 0, 1, . . . , N C ] (donde el ndice 0 se corresponde con los totales marginales) que satisface: NC ai0 = j =1 aij para i = 1, . . . , N R, R (7.1) a0j = N i=1 aij para j = 1, . . . , N C, a = N R a (= N C a ). 00 i=1 i0 j =1 0j El Sistema Lineal (7.1) puede representarse de forma natural mediante la red G = (V, A) de la Figura 7.1. Esta red tiene un nodo ri para cada la i = 1, . . . , N R; un nodo cj para cada columna j = 1, . . . , N C ; m as dos nodos extra c0 y r0 . Existe una correspondencia entre los arcos y los elementos de la matriz de manera que aparece un arco (ri , cj ) asociado con cada elemento aij con i = 0 y j = 0, un arco (c0 , ri ) para cada elemento marginal ai0 con i = 0, un arco (cj , r0 ) para cada elemento marginal a0j con j = 0, un arco (r0 , c0 ) correspondiente al elemento suma total a00 . A partir de ahora no distinguiremos entre un elemento (i, j ) y su correspondiente arco (u, v ) A. Con otro poco de abuso de notaci on, tambi en escribiremos, por ejemplo, auv para indicar el valor aij del elemento (i, j ) asociado con el arco (u, v ) de G.

134

CAP ITULO 7. PRIVACIDAD EN TABLAS ESTAD ISTICAS

Sobre la representaci on en forma de red, las ecuaciones (7.1) dicen que el ujo total que entra en un nodo debe ser igual al ujo total que sale del mismo. De esta manera, los valores aij se corresponden con un ujo circulante sobre dicha red. Claramente, hay una innidad de valores aij que satisfacen (7.1). Si asumimos para generalizar que cada elemento aij tiene un rango jo de valores posibles, digamos [aij lbij , aij + ubij ], se dir a que un conjunto de valores a ij es factible si y s olo si aij lbij a ij aij + ubij , [ aij ] satisface (7.1). En t erminos de la red, [ aij ] dene entonces un ujo circulante factible en G = (V, A), donde cada arco (u, v ) A tiene ahora dos cotas superior/inferior dadas, digamos auv lbuv y auv + ubuv , sobre el ujo de este arco (t picamente, 1/ + ). Asumiremos siempre que los valores dados [aij ] denen un ujo circulante factible sobre G, al que llamaremos ujo circulante nominal. A continuaci on caracterizamos los ujos circulantes factibles sobre G que pueden obtenerse cambiando (con respecto a aij ) el ujo sobre un subconjunto de arcos dados. Para ser m as precisos, sea SU P un subconjunto de arcos de G (elementos SUPrimidos de la matriz). Obs ervese que SU P puede contener arcos correspondientes a totales marginales. Todos los arcos (u, v ) SU P deber an mantener sus valores nominales, digamos auv . El ujo sobre los arcos (u, v ) SU P , sin embargo, puede cambiar respecto a su valor nominal, supuesto que su nuevo valor se mantiene dentro del rango factible marcado por sus cotas inferior y superior. Podemos ahora denir una red incremental G(SU P ) = (V, A(SU P )) a partir de G como sigue: eliminar todos los arcos (u, v ) A \ SU P , reemplazar cada arco (u, v ) SU P por dos arcos, que son: un arco adelante (u, v ) con capacidad kuv := ubuv , as (v, u) con capacidad kvu := lbuv . un arco atr Cada arco adelante de G(SU P ) se corresponde con un incremento en el ujo sobre su arco de G, mientras que cada arco atr as con un decremento del valor del ujo por su arco. Con m as precisi on, el ujo circulante [ auv ] sobre G asociado con cada ujo circulante y sobre la red incremental se calcula como: a uv := auv a uv := auv + (yuv yvu ) para cada (u, v ) A \ SU P, para cada (u, v ) SU P.

7.3. TABLAS BI-DIMENSIONALES

135

Supongamos ahora que nos preguntamos por el m aximo incremento que el ujo puede tomar sobre un arco espec co (u0 , v0 ) en una soluci on factible. Esto se corresponde con encontrar el m aximo ujo circulante y sobre G(SU P ) que maximiza yu0 v0 yv0 u0 , es decir, el incremento del ujo sobre (u0 , v0 ). As podemos calcular tal incremento m aximo simplemente eliminando de G(SU P ) los dos arcos asociados con (u0 , v0 ), obteniendo ahora G(SU P \ {(u0 , v0 )}), y encontrando el ujo m aximo desde v0 a u0 en G(SU P \ {(u0 , v0 )}). An alogamente, el m aximo decremento asociado con (u0 , v0 ) se corresponde con el valor del ujo m aximo en G(SU P \ {(u0 , v0 )}) desde u0 a v0 . Las anteriores consideraciones nos permiten calcular ecientemente, el m aximo incre mento (digamos + 0) y decremento (digamos 0) posible sobre cada celda u0 v0 u0 v0 (u0 , v0 ) SU P , cualquiera que sea el conjunto SU P previamente dado. Adem as, por el cl asico Teorema de m aximo-ujo/m nimo-corte (es decir, la teor a de la dualidad aplicada a redes) obtenemos la siguiente u til caracterizaci on: Teorema 7.3.1 + nimo {v0 , u0 }-corte en G(SU P \ u0 v0 0 es igual a la capacidad del m {(u0 , v0 )}), mientras que u0 v0 0 es igual a la capacidad del m nimo {u0 , v0 }-corte en G(SU P \ {(u0 , v0 )}).

7.3.1

Modelo Matem atico

Sean una tabla nominal [aij ], donde cada elemento (i, j ) tiene asociado un valor inferior aij lbij (t picamente 1), un valor superior aij + ubij (t picamente +), y un peso de supresi on wij . Adem as, consideremos un conjunto P S A de supresiones primarias; para cada (u0 , v0 ) P S tenemos dos nivel de protecci on asociados, denidos por los dos valores au0 v0 LPLu0 v0 , y au0 v0 + ULPu0 v0 (por Lower Protection Level y Upper Protection Level). Queremos encontrar un conjunto SU P A de peso m nimo tal que 1. P S SU P ,
2. para cada (u0 , v0 ) P S se verique + u0 v0 ULPu0 v0 y u0 v0 LPLu0 v0 (donde + u0 v0 y u0 v0 son calculados con respecto a SU P ).

Debido a la discusi on anterior, establecemos el siguiente modelo de Programaci on 0-1. Sea 1 si (u, v ) SU P xuv = , para todo (u, v ) A. 0 en otro caso Recordemos que G(A) es la red incremental asociada con SU P = A (todas las celdas est an suprimidas). Para cada (u, v ) de G(A), sea (u, v ) el correspondiente arco de G (luego (u, v ) {(u, v ), (v, u)}). Entonces CSP se puede formular como:

136

CAP ITULO 7. PRIVACIDAD EN TABLAS ESTAD ISTICAS

min
(u,v )A

wuv xuv

(7.2)

sujeto a 0 xu,v 1 entero xuv = 1 y para cada (u0 , v0 ) P S : kuv x(u,v) ULPu0 v0
(u,v ) + (S )\{(v0 ,u0 )}

para todo (u, v ) A, para todo (u, v ) P S,

(7.3) (7.4)

para todo S V : v0 S, u0 S, (7.5) para todo S V : v0 S, u0 S, (7.6)

kuv x(u,v) LPLu0 v0


(u,v ) (S )\{(u0 ,v0 )}

donde + (S ) y (S ) son el conjunto de arcos de G(A) saliendo y entrando en un S V dado, respectivamente, y las capacidades kuv de los arcos son las denidas anteriormente.

7.3.2

Una cota inferior: la fase de corte

En el intento de podar al m aximo el arbol decisional que deber a examinar el algoritmo de ramicaci on y acotaci on, resulta muy conveniente disponer de potentes procedimientos que proporcionen ajustadas cotas inferior y superior. En la siguiente secci on abordaremos c omo se pueden encontrar soluciones heur sticas cuyo valor sea una buena cota superior. Veremos en esta c omo la relajaci on lineal del modelo entero anterior puede ser fortalecida para dar una buena cota inferior. Describiremos 4 nuevas familias de desigualdades v alidas, as como procedimientos para identicar (si existen) sus elementos m as violados por una soluci on de la relajaci on, para resolver los correspondientes problemas de separaci on. Desigualdad capacidad Cada desigualdad (7.5) puede mejorarse reemplazando, para cada (u0 , v0 ) arbitrario pero jo, cada coeciente kuv por kuv := min{kuv , ULPu0 v0 } (dado que x 0 y entero). An alogamente, cada miembro de (7.6) puede mejorarse reemplazando, para cada (u0 , v0 ) arbitrario pero jo, cada coeciente kuv por kuv := min{kuv , LPLu0 v0 }. Esto es, (7.5) y (7.6) est an dominadas por: kuv x(u,v) ULPu0 v0
(u,v ) + (S )\{(v0 ,u0 )}

para todo S V : v0 S, u0 S, (7.7) para todo S V : v0 S, u0 S, (7.8)

kuv x(u,v) LPLu0 v0


(u,v ) (S )\{(u0 ,v0 )}

7.3. TABLAS BI-DIMENSIONALES a las que llamaremos desigualdad capacidad (capacity constraint).

137

Aunque el modelo contiene un n umero exponencial de restricciones, su relajaci on lineal puede resolverse ecientemente dado que el problema de separaci on para (7.7) y (7.8) se resuelve abordando problemas de ujo m aximo sobre G(A) en el que los dos arcos adelante/atr as asociados con cualquier (u, v ) A tienen capacidad kuv x uv y kuv xuv , respectivamente, siendo x la soluci on dada. A continuaci on se presenta un esquema del procedimiento de separaci on.

Procedimiento CUT SEP; entrada el punto (fraccionario) x [0, 1]A salida cortes m as violados de tipo (7.7)(7.8) comienzo 1. para cada (u0 , v0 ) P S hacer 2. desde direcci on:=1 hasta 2 hacer comienzo 3. si direcci on=1 entonces comienzo /* cortes (7.7) */ := ULPu0 v0 ; s := v0 ; t := u0 n en otro caso comienzo /* cortes (7.8) */ := LPLu0 v0 ; s := u0 ; t := v0 n; 6. denir una red incremental vac a; 5. para cada (u, v ) A \ {(u0 , v0 )} : x uv > 0 hacer 6. a nadir dos arcos a la red incremental, digamos un arco adelante (u, v ) con capacidad x uv min{ubuv , } y un arco atr as (v, u) con capacidad xuv min{lbuv , }; 7. intentar enviar unidades de ujo desde s a t; 8. si esto no es posible, entonces almacenar la restricci on (7.7) o (7.8) asociada a un {s, t}-corte de m nima capacidad en la red incremental n n.

En realidad, tras obtener un ujo m aximo se examina su grafo incremental, almacenando una restricci on por cada corte m nimo que se detecta (=n umero de componentes conexas menos 1). Nuestras experiencias computacionales nos han mostrado que la soluci on de este modelo es, en muchos casos, ya una soluci on entera (y por tanto optima) para el CSP. No obstante, aumentando la dimensi on de los problemas tratados se observa que no siempre ocurre as , y que tal relajaci on debe ser fortalecida con nuevos cortes para aproximar su valor lineal al valor optimo del modelo entero.

138 Desigualdad puente

CAP ITULO 7. PRIVACIDAD EN TABLAS ESTAD ISTICAS

Observemos que podemos exigir que las celdas suprimidas no puedan determinarse de modo ex acto. Esto se obtiene considerando otro proceso adicional de separaci on similar al anterior, pero en el que se ja ULPuv = LPLuv = xuv para todo (u, v ) A, kuv = kuv = 1, y se reemplaza el Paso 1. por 1. para cada (u0 , v0 ) A : x u0 v0 > 0 hacer Las nuevas restricciones (7.7) y (7.8) ahora coinciden el grafo incremental es ahora sim etrico debido a que kuv = kuv , y se escriben como xe xe0
e (S )\{e0 }

para todo S V y e0 (S ),

(7.9)

donde (S ) representa el conjunto de arcos (en el grafo incremental sim etrico) con un nodo incidente en S o el otro fuera de S . Estas restricciones reciben el nombre de desigualdad puente (bridgeless inequality), y requieren que cada celda e con x e = 1 es decir, cada celda suprimida deba estar contenida en un circuito. Esta condici on generaliza la propuesta por Geurts (v eanse las restricciones 6a6b en la p agina 52 de [G92]), donde esto mismo aparece s olo para los cortes triviales asociados a conjuntos S de un s olo elemento. Aunque las restricciones (7.9) son redundantes en un modelo entero que contenga (7.7) y (7.8), experiencias computacionales nos han demostrado que su consideraci on ayuda notablemente a fortalecer la relajaci on lineal original. Desigualdad peine El resultado del punto anterior nos ha estimulado al estudio de un problema que subyace bajo el CSP en tablas bi-dimensionales, y que es el problema del subgrafo sin puentes (BSP por bridgeless subgraph problem): Un arco e se llama puente en un subgrafo H de G cuando su eliminaci on conlleva a un subgrafo H \ {e} con una componente conexa m as que H . Asumiendo un costo we asociado con cada arco e de G, y un subconjunto P S de arcos de G, el BSP busca un subgrafo H sin puentes, que contenga los arcos de P S , y con el menor costo eH we . (Obs ervese que en una soluci on factible H del BSP, dos v ertices diferentes de una misma componente conexa deber an estar conectados por al menos dos caminos, esto es, las componentes conexas de H deber an ser 2-conexas.) Relajando las imposiciones de los niveles de protecci on (esto es, manteniendo que lo u nico importante es que no se conozca el valor exacto de las celdas que se decidan ocultar), y dado que los pesos de supresi on se asumen positivos, es claro que las soluciones que nos interesan para el CSP deber an ser tambi en factibles para el BSP. Ello implica que cortes v alidos para el

7.3. TABLAS BI-DIMENSIONALES

139

BSP sean v alidos tambi en para el CSP, y motiva por tanto el estudio de este problema. La demostraci on de que BSP pertenece a la clase de los problemas N P -dif ciles est a en el trabajo de Frederickson y JaJa [FJ81]. Sustituyendo cada arco [u, v ] de un grafo G por un nodo w y los dos arcos [u, w] y [w, v ], se concluye que el BSP es N P -dif cil incluso cuando G es bipartito, por lo que no se espera poder disponer de una descripci on lineal completa para el. Sin embargo, s de una descripci on lineal parcial, y una primera familia de cortes v alidos est a formada por los anteriores cortes puente; otra familia es la que detallamos a continuaci on. Consideremos un subconjunto H V particionado en S1 , . . . , Sk , donde k es un entero impar, y un arco diferente ei (Si ) (H ) para cada i = 1, . . . , k . Sumando para todo i = 1, . . . , k las restricciones puente xei e(Si )\{ei } xe 0, y cota superior xei 1 se obtiene la desigualdad:
k

2 xe i
i=1 e (Si )\{ei }

xe k.

Dividimos todo por 2, y teniendo presente que el lado izquierdo ser a un valor entero para toda soluci on factible, entonces redondeamos por defecto la constante del lado derecho de tal desigualdad. Obtenemos as la desigualdad
k

xei
i=1 eQ

xe

k1 , 2

(7.10)

siendo Q := [vH (v )] \ {e1 , . . . , ek }. Se trata por tanto de una desigualdad v alida para el CSP, a la que llamaremos desigualdad peine (comb inequality), donde H es el mango de la desigualdad, y e1 , . . . , ek los dientes. La Figura 7.2 representa el grafo soporte de una soluci on fraccionaria que no satisface la desigualdad peine (7.10) para k = 3, S1 = {r2 , r7 , c3 , c6 }, S2 = {r6 }, S3 = {c7 }, e1 = (c3 , r3 ), e2 = (r6 , c2 ), y e3 = (c7 , r3 ). Las l neas continuas representan variables a valor 1, las discontinuas variables a valor 1/2, y las ausentes variables a valor 0. Las 5 l neas continuas de trazo m as grueso representan las 5 celdas sensibles de la tabla estad stica considerada, y cuyos datos nominales se muestran en la Tabla 7.3 (los pesos de supresi on coinciden con los nominales, y los niveles de protecci on son iguales a 1). Para resolver el correspondiente problema de separaci on, una primera idea heur stica se basa en la compresi on (shrinking) de ciertos subconjuntos candidatos, para luego proceder al c alculo del corte impar de m nimo peso, inspirado ello por el trabajo de Padberg y Gr otschel [PG85] sobre el Problema del Viajante de Comercio (Travelling Salesman Problem). Otra alternativa se basa en observar que las desigualdades anteriores son cortes procedentes de una derivaci on 0-1/2 de Chv atal-Gomory, y por tanto son separables buscando ciclos impares en un grafo particularmente dise nado seg un indican Caprara y Fischetti [CF96]. No describimos los detalles te oricos porque su implementaci on pr actica no

140

CAP ITULO 7. PRIVACIDAD EN TABLAS ESTAD ISTICAS r7 j


        jc3

 c6 j

 j r2

r6 j
S S S

jc7 S S

S S c2 j

S Sj r3

Figura 7.2: Soluci on fraccionaria que no satisface un desigualdad peine. est a a un al nivel deseado, y consecuentemente tampoco ser a contemplada en las experiencias computacionales de la Secci on 7.3.5. Actualmente estamos trabajando en estos procesos de separaci on.

Desigualdades de cubrimiento Hasta el momento se ha fortalecido la relajaci on lineal olvidando los niveles de protecci on y estudiando el problema resultante; tambi en el proceso contrario es posible, tratando de fortalecer la relajaci on lineal sobre las restricciones que vienen de imponer los niveles de protecci on. As , los cortes (7.7)-(7.8) han sido impuestos olvidando el hecho de que las x-variables deben de ser enteras 01. Cada una de estas restricciones denen un problema de la mochila (KP) en forma de , que puede expresarse en forma de introduciendo las variables xij = 1 zij (de forma an aloga a como hicimos en la Secci on 7.2). De este modo todas las restricciones adicionales implicadas por la limitaci on de la capacidad de la mochila y por la exigencia de que las variables deban de ser enteras, son tambi en cortes v alidos para nuestro problema. Conviene observar que gran parte de la dicultad del CSP se debe a que el KP est a bajo el. La Figura 7.3 muestra una soluci on fraccionaria procedente de una relajaci on lineal conteniendo todas las desigualdades precedentes. Inspirados por el trabajo de Crowder, Johnson y Padberg [CJP83] para problemas generales de Programaci on Entera 0-1, para cada desigualdad capacidad del tipo (7.7) y (7.8), y que representaremos gen ericamente mediante ke xe p,
eD

(7.11)

7.3. TABLAS BI-DIMENSIONALES c1


j HH

141 r1
j

c2
j

HH H H H j j j H

r3

c3

r2

Figura 7.3: Soluci on fraccionaria combinaci on convexa de dos subgrafos sin puentes. hemos considerado las desigualdades xe 1,
eQ

(7.12)

siendo Q D un subconjunto minimal respecto a la inclusi on de conjuntos, y tal que tal que alidas para CSP reciben el nombre de eD\Q ke < p. Tales desigualdades v desigualdades de cubrimiento (cover inequalities), y su proceso de separaci on se describe a continuaci on. Supongamos tener una soluci on fraccionaria x de la relajaci on lineal, y una desigualdad capacidad del tipo gen erico (7.11) obtenida en alguna salida precedente del procedimiento CUT SEP. Buscamos entonces un subconjunto de arcos Q D tal que eD\Q ke < p y minimizando eQ xe . Para ello introducimos una variable decisional ze para cada arco e D asumiendo valor 1 si y s olo si e Q, y resolvemos el siguiente KP: max
eD

x e ze :
e D

ke ze p 1 y ze {0, 1}(e D) .

Si el valor optimo de dicho problema es menor que x e 1, entonces concluimos que no existe ninguna desigualdad de cubrimiento a partir de (7.11) violada por el punto actual. En otro caso, basta considerar la desigualdad (7.12) para el conjunto Q inducido por la correspondiente soluci on optima del KP, hecho minimal. Para la resoluci on cada KP usamos el programa desarrollado por Martello y Toth [MT90]. Aunque obviamente tal algoritmo no tiene una complejidad te orica polinomial, resulta bastante efectivo en la pr actica. T engase presente que cuando x e = 1 entonces umero de variables xe e Q y cuando xe = 0 entonces e Q. Esto, unido con que el n nos. con 0 < xe < 1 no suele ser grande, produce KP relativamente peque

7.3.3

Una cota superior: el heur stico

La efectividad de un algoritmo de ramicaci on y acotaci on tambi en aumenta fuertemente con la rapidez en el generar buenas soluciones del problema. En la bibliograf a se

142

CAP ITULO 7. PRIVACIDAD EN TABLAS ESTAD ISTICAS

han considerado varios heur sticos para el CSP, siendo el propuesto por Kelly, Golden y Assad [KGA91] el que presenta mejores resultados. Su heur stica trata no con todas las supresiones primarias simult aneamente, sino con cada una por separado. Dividen el proceso en dos fases. En la primera consideran una red donde las capacidades de los arcos son los m aximos incrementos/decrementos respecto a los valores nominales, y los costos son los pesos de supresi on. Luego resuelven sobre ella dos problemas del ujo a costo m nimo para enviar ULPu0 v0 unidades de ujo desde v0 a u0 , y LPLu0 v0 desde u0 a v0 , para cada celda primaria (u0 , v0 ), proponiendo suprimir todas las celdas asociadas a arcos que resultaron u tiles para alg un ujo. En la segunda fase tratan de ver si alguna una de las celdas secundarias propuestas por la fase anterior, puede mantenerse sin suprimir, sin que por ello se infrinjan los niveles de protecci on de alguna celda primaria. Nuestras experiencias computacionales nos muestran que esta heur stica consume bastante tiempo de c alculo especialmente en la fase primera, debido a las resoluciones de los problemas de ujo a costo m nimo. Por otra parte, este proceso penaliza las celdas que propone de suprimir de manera proporcional al ujo que pasa por ellas, mientras que el CSP las penaliza s olo si son usadas (independientemente de cu anto se usen), lo que puede justicar los malos resultados que nos produjo esta heur stica en nuestras experiencias. Buscando un procedimiento heur stico mucho m as veloz, capaz de ser ejecutado en varias ocasiones (a ser posible tras cada iteraci on de nuestra fase de hiperplanos de corte), e incorporando la informaci on que nos dan las soluciones fraccionarias sobre la soluci on optima del CSP, hemos propuesto un heur stico del estilo anterior, pero sustituyendo la fase primera por:

Procedimiento HEURISTICO; entrada el punto (fraccionario) x [0, 1]A salida una soluci on heur stica en SU P comienzo 1. Asociarle a cada arco e el costo ce := x e we ; SU P := ; L := ; 2. para cada (u0 , v0 ) P S hacer comienzo desde direcci on:=1 hasta 2 hacer si direcci on=1 entonces comienzo := ULPu0 v0 ; s := v0 ; t := u0 n en otro caso comienzo := LPLu0 v0 ; s := u0 ; t := v0 n; L := L {(, s, t)}; end; 3. para cada (, s, t) L hacer comienzo construir la red incremental G(A); 4. calcular el camino de costo m nimo para ir de s a t en G(A) y el incremento m aximo f de ujo que se puede enviar por el; para cada e en el camino hacer comienzo

7.3. TABLAS BI-DIMENSIONALES ce := 0; SU P := SU P {e} 5. n si f < entonces comienzo disminuir la capacidad de cada arco del camino en f unidades; (eliminando obviamente los arcos de capacidad nula) disminuir en f unidades; volver al Paso 4. n n n n.

143

donde los (, s, t) son extra dos de L en el Paso 3. en orden decreciente de su valor asociado .

7.3.4

El algoritmo de ramicaci on y corte

Al igual que cualquier t ecnica de ramicaci on y acotaci on, nuestro algoritmo examina nodos del arbol decisional, insert andolos y elimin andolos din amicamente en una lista de nodos L hasta que esta queda vac a. Cada nodo en la lista contendr a informaci on sobre variables jadas y restricciones que lo determinan, as como el valor lineal optimo (cota inferior) y la soluci on x b asica de la relajaci on lineal u ltima considerada en dicho nodo durante la fase de acotaci on. Paralelamente se trabaja con una cota superior UB procedente de una soluci on factible para el CSP. La lista L es inicializada con un u nico nodo (llamado nodo ra z), conteniendo s olo como jas las variables asociadas a celdas sensibles (jas a valor 1) y las variables asociadas con celdas de valor nominal nulo (jas a valor 0), y como restricciones s olo las desigualdades triviales 0 xe 1 para las restantes variables. Este nodo tiene asociada por defecto la soluci on (entera probablemente no factible) con SU P = P S y de valor 0. Iterativamente se extrae un nodo de L para ser estudiado por la fase de acotaci on. Usamos el criterio de elegir el nodo con la menor cota inferior de la lista. Es decir, realizamos un recorrido best-rst (o lowest-rst) por el arbol decisional, y no el cl asico depth-rst mucho m as f acil de implementar pero seguramente m as ineciente cuando el algoritmo heur stico no produce un optimo. Cuando la fase de acotaci on estudia un nodo, trata iterativamente de mejorar su cota inferior. En cada iteraci on dispone de una soluci on x con la que inicia el proceso de separaci on, siempre que esta no sea ya una soluci on factible del CSP, o si su cota inferior (redondeada por exceso) no es inferior a UB. El proceso de separaci on tratar a, mediante

144

CAP ITULO 7. PRIVACIDAD EN TABLAS ESTAD ISTICAS

los correspondientes algoritmos de separaci on, de determinar desigualdades violadas de las descritas en la Secci on 7.3.2 (de ah el nombre alternativo de fase de corte). Estas familias de desigualdades son examinadas en el orden 1. desigualdades capacidad (7.7)(7.8); 2. desigualdades puente (7.9); 3. desigualdades cubrimiento (7.12). Las desigualdades determinadas (nunca m as de 30) se introducen en el Programa Lineal (LP) del momento, y la fase de acotaci on prosigue resolviendo tal LP, obteniendo una nueva soluci on x (quiz as fraccionaria), eliminando del LP ciertas restricciones y variables ahora in utiles (atendiendo a los valores de sus variables de holgura y costos reducidos, respectivamente), para volver luego a entrar en la fase de separaci on. Al tiempo que se introduce una restricci on en el LP, tambi en se almacena una copia (en forma comprimida) dentro de una estructura conocida como piscina (pool), de la que nunca viene eliminada (aunque lo sea su copia del LP). Esto permite disponer de forma r apida de una amplia gama de restricciones que han sido u tiles para el LP, que en un momento dado lo dejaron de ser, pero que pueden volver a resultar u tiles. Por ello, antes de aplicar los procedimientos de separaci on anteriores, se buscan desigualdades violadas en la piscina. Si para un determinado punto x la separaci on no detecta ninguna desigualdades, y tampoco se puede concluir el examinar dicho nodo del arbol decisional por cuanto ni tal punto es entero, ni su valor (redondeado por exceso) excede o iguala el valor UB, entonces se pasa a la fase de ramicaci on. Alternativamente, tambi en se pasa directamente a esta fase cuando en las u ltimas 10 iteraciones, la cota inferior del nodo no ha mejorado en al menos 0.001 (tailing o). En cuanto a la actualizaci on de UB, ejecutamos el heur stico descrito en la Secci on 7.3.3 al inicio del nodo ra z, y cada 10 iteraciones del proceso de separaci on en cada nodo del arbol decisional, En la fase de ramicaci on elegimos 10 variables xe con 0.05 x as e 0.95 lo m pr oximo posible a 0.5 (o todas las fraccionarias si no hay 10 con tales condiciones). Para cada variable xe considerada resolvemos dos problema de programaci on lineal creados considerando el PL u ltimo, m as la restricci on xe = 0 en uno, y xe = 1 en otro, dando los on de tales problemas lineales valores LPe0 y LPe1 , respectivamente. Si durante la resoluci sucede que alguno de dichos valores redondeado por exceso excede o iguala el valor UB, entonces paramos la fase de ramicaci on jando la correspondiente variable a su otro valor, y continuando la fase de acotaci on con el nuevo punto fraccionario. En otro caso, elegimos la variable fraccionaria xe con mayor valor 0.5 LPe0 + 0.5 LPe1 para crear dos nodos nuevos (hijos) del arbol decisional a partir del nodo actual (padre), uno con xe jo a valor 0, otro con xe jo a 1. El nodo actual deja de ser estudiado, y los dos nodos nuevos son almacenados en la lista L con sus correspondientes cotas inferiores y soluciones b asicas lineales optimas.

7.3. TABLAS BI-DIMENSIONALES 10593 1069 4436 6 14163 138 16 30421 268 26 2 1 9 0 0 0 255 0 274 5 72 5 880 37 714 2890 102 422 38 340 11 23 216 752 39 47 1 1 0 0 925 3837 126 305 6 122 3 5 7 480 3 93 1907 8422 284 895 15015 1484 5499 8 19611 553 676 42846

145

Tabla 7.2: Tabla estad stica real ISTAT.A 64153 666 38 680 21 2 34 2 3 4853 83 6 24251 234 8 865 7 0 5702 76 3 100538 1089 60 5042 11726 333 1019 82977 72 173 10 11 969 6 6 0 2 53 1275 612 65 82 6976 1591 1959 168 377 28588 84 151 10 8 1125 519 781 33 166 7280 8589 15408 619 1665 127988

Tabla 7.3: Tabla estad stica real ISTAT.B

7.3.5

Resultados computacionales

Todo ha sido programado en lenguaje ANSI C. Se ha usado la librer a CPLEX 3.0 para abordar los problemas lineales. Las experiencias computacionales se han llevado a cabo sobre un PC 486 a 50 Mhz. y con 8 Mb. de memoria RAM, funcionando bajo MS-DOS. Inicialmente hemos generado ejemplos bi-dimensionales del CSP de forma completaumero al azar en el rango mente aleatoria, en el sentido de que los valores aij son los n [0, 1000], los wij son iguales a los aij , las celdas sensibles son elegidas al azar en toda la tabla, los niveles de protecci on superior se jan a 100, y los niveles de protecci on inferior se jan a min{100, aij 1}. Con el l mite de 8 Megabytes de memoria RAM de nuestro PC 486, hemos logrado resolver ejemplos de estos con hasta 300 las, 100 columnas y 100 celdas sensibles, en tiempos nunca superior a la media hora de c alculo, y siempre al nodo ra z del arbol decisional. No obstante, obviamente, esta podr a no ser la generaci on ideal de ejemplos reales para el CSP, y por ello eludimos los resultados. Siguiendo sugerencias de Roberto Benedetti, del Instituto Nacional de Estad stica italiano (quien adem as nos proporcion o los datos reales que mostramos en las tablas 7.2 y 7.3, respectivamente), y buscando poner en dicultades nuestro c odigo, hemos considerado los dos siguientes generadores de problemas: Generador A: Con probabilidad 5/100 una celda toma un valor nominal aleatorio en

146

CAP ITULO 7. PRIVACIDAD EN TABLAS ESTAD ISTICAS [0,10[, y con 95/100 en [10,100[. Para cada celda, el peso de supresi on coincide con su valores nominal, salvo cuando esta sea 0, en cuyo caso el peso de supresi on se pone a un valor grande porque sabemos que la correspondiente celda no deber a estar entre las suprimidas. Clasicamos como sensibles las celdas con valor nominal en [1,3] (a las que les anulamos sus pesos de supresi on). Los niveles de protecci on superiores coinciden con el valor nominal, y los inferiores con el valor nominal menos 1.

Generador B: Con probabilidad 5/100 una celda toma un valor nominal aleatorio en [0,5[, y con 95/100 en [5,500[. Si celdas con valor nulo no se suprimen, y las celdas con valores en ]0,5[ se consideran sensibles, con nivel de protecci on inferior igual a su valor nominal menos 1, y con nivel de protecci on superior igual a su valor nominal. Los pesos de supresi on son iguales a los correspondientes valores nominales. Los par ametros de entrada de ambos generadores son la semilla seed para inicializar un generador pseudo-aleatorio, el n umero de las N R y el n umero de columnas N C (sin contar los totales marginales). Las columnas que aparecen en las tablas de resultados indican: nombre: semilla para la pseudo-aleatorizaci on, o nombre para los procedentes de una librer a; n: n umero de las (sin contar la marginal); umero de columnas (sin contar la marginal); m: n p: n umero de celdas sensibles (supresiones primarias); UB0 : raz on porcentaje de la cota superior al nal del nodo ra z, sobre el valor optimo; LB0 : raz on porcentaje de la cota inferior al nal del nodo ra z, sobre el valor optimo; t0 : tiempo al nal del nodo ra z; z : valor optimo del problema; umero de supresiones secundarias en el optimo; s: n nod: n umero de nodos examinados en el arbol decisional; ttotal : tiempo total de ejecuci on; theur : tiempo total consumido por HEURISTICO; cap: desigualdades capacidad (7.7)(7.8);

7.3. TABLAS BI-DIMENSIONALES pue: desigualdades puente (7.9); cub: desigualdades cubrimiento (7.12); donde los tiempos est an dados en segundos sobre un PC 486 a 50 Hhz.

147

La Tabla 7.4 muestra los resultados de utilizar nuestro programa para resolver los dos problemas reales, m as 35 problemas producidos por el Generador A al combinar los par ametros seed {111, 222, 333, 444, 555}, y N C = N R {10, 15, 20, 25, 30, 35, 40}. Analizando dicha tabla se observa que los dos problemas reales fueron trivialmente resueltos. En cuanto a los problemas generados aleatoriamente, un an alisis estad stico nos 15 6 muestra que la variaci on de time en funci on de n se ajusta mucho a time=e n , lo que parecer a desconcertante si se olvida que la generaci on ha sido elegida pensando tambi en en poner en dicultades al algoritmo en cuesti on, y que produce ejemplos del CSP mucho m as dif ciles que los considerados por otros autores (por ejemplo, la proporci on de supresiones secundarias sobre las supresiones primarias en la soluci on optima de los ejemplos aleatorios de la Tabla 7.4 es mayor que en los ejemplos de los autores precedentes). El problema generado con seed=333 y N C = N R = 40 no se resolvi o en el tiempo l mite de 2 horas sobre nuestro PC (los datos que guran en la Tabla 7.4 se han calculado asumiendo que la u ltima soluci on heur stica es la optima). Las Tablas 7.5 y 7.6 muestran los resultados sobre los problemas procedentes del Generador B. Cada la representa la media de los datos tras resolver los 5 problemas obtenidos con seed {111, 222, 333, 444, 555}. Como se puede apreciar, estos problemas resultaron m as f aciles que los anteriores, y los l mites en la dimensi on de los problemas tratados se ha debido s olo a limitaciones en la memoria RAM del ordenador usado. Tambi en hemos probado el algoritmo que aqu se propone sobre una librer a de ejemplos proporcionada por C.A.J. Hurkens, y usada en Geurts [G92]. Tales ejemplos son tablas estad sticas bidimensionales, algunas generadas articialmente y otras procedentes de casos reales. Cada uno, y para cada celda, muestra el valor nominal, el peso de supresi on, y una etiqueta indicando si dicha celda debe ser necesariamente suprimida en la tabla nal, puede ser considerada como supresi on secundaria, o no debe ser suprimida. Los datos valores nominales y pesos de supresi on de los problemas VB19, VB20 y VB21 fueron multiplicados por 10 para tratarlos como n umeros enteros. Los niveles de protecci on inferior y superior fueron sugeridos por Hurkers como 0 y 1, respectivamente, si el valor nominal es 0, o ambos iguales a 0.1 veces el valor nominal, en otro caso. Los resultados obtenidos por la aplicaci on del algoritmo que proponemos se muestran en la Tabla 7.7, y como se deduce de ella, todos los ejemplos fueron satisfactoria y trivialmente resueltos sobre nuestro PC 486/50. (Es de notar que en [G92] se propone un m etodo exacto que requiere de 2445, 4244, y 3072, segundos sobre un ordenador SUN SPARC 1+ para la resoluci on exacta del problema VB20, VB26, y VB31, respectivamente, mientras que nuestra propuesta precisa s olo de 2 segundos sobre un PC 486/50 para cualquiera de estos mismos problemas.)

148

CAP ITULO 7. PRIVACIDAD EN TABLAS ESTAD ISTICAS

nombre A B 111 222 333 444 555 111 222 333 444 555 111 222 333 444 555 111 222 333 444 555 111 222 333 444 555 111 222 333 444 555 111 222 333 444 555

n 8 8 10 10 10 10 10 15 15 15 15 15 20 20 20 20 20 25 25 25 25 25 30 30 30 30 30 35 35 35 35 35 40 40 40 40 40 ( :

p UB0 6 100.00 5 100.00 4 100.00 1 100.00 1 100.00 1 100.00 2 100.00 7 113.30 3 100.00 2 100.00 2 100.00 3 113.45 8 104.35 5 116.00 5 112.42 7 115.38 5 124.73 11 120.77 10 128.65 6 110.61 11 115.83 13 102.31 11 100.00 14 107.11 13 110.48 16 120.55 16 110.51 15 126.69 16 103.64 18 110.79 22 109.47 22 110.89 18 109.57 21 108.37 27 110.56 26 109.63 28 117.21 La resoluci on

LB0 t0 z 100.00 0.3 197 100.00 0.3 136 100.00 0.7 140 100.00 0.2 66 100.00 0.2 71 100.00 0.2 57 100.00 0.3 111 92.55 2.3 188 85.71 1.5 98 100.00 0.3 68 100.00 0.3 84 85.71 1.2 119 87.89 4.0 161 92.00 2.9 125 87.27 3.3 161 91.42 2.1 169 86.81 2.4 182 87.68 4.2 207 87.08 4.4 178 88.55 4.6 179 86.67 5.2 240 97.92 4.3 216 90.00 4.8 120 88.83 11.9 197 84.76 6.2 210 75.11 6.1 219 84.44 7.1 257 86.77 10.8 251 87.95 10.4 220 92.95 9.5 241 91.86 14.6 264 93.58 12.6 257 86.30 16.6 230 90.09 21.2 227 82.30 31.6 322 79.30 14.1 301 91.54 24.1 337 de este problema fue

s nod ttotal theur cap 9 1 0.55 0.1 29 6 1 0.66 0.1 31 6 1 0.77 0.0 47 5 1 0.27 0.0 8 3 1 0.28 0.1 6 3 1 0.27 0.0 6 4 1 0.33 0.1 12 10 8 13.73 0.1 115 10 4 4.78 0.1 59 4 1 0.33 0.0 8 6 1 0.39 0.0 14 9 4 5.93 0.1 68 14 22 46.74 0.7 167 9 3 6.37 0.2 77 12 23 77.17 0.4 222 12 12 34.43 0.5 150 8 7 17.63 0.3 123 14 44 140.50 2.2 222 14 40 139.84 1.9 281 16 36 128.08 1.1 281 21 115 659.16 11.2 363 18 3 12.69 0.9 123 10 2 12.64 0.7 156 18 69 456.71 7.6 345 21 210 2097.28 16.0 577 21 152 761.76 20.5 385 23 333 3792.55 45.1 486 24 623 6085.04 69.8 537 17 95 997.20 17.8 447 27 57 241.97 8.3 258 26 76 560.64 18.7 337 22 21 158.79 7.4 274 23 264 4425.43 66.5 588 21 174 1531.74 39.6 405 32 495 7200.0 155.4 695 29 275 4348.19 113.3 505 27 432 3671.30 134.6 503 detenida tras 2 horas de c alculo.)

pue 24 14 45 26 18 18 24 76 107 16 36 155 82 89 278 135 140 204 171 317 230 62 71 179 514 157 380 485 264 105 113 109 363 170 406 223 144

cub 0 0 2 0 0 0 0 20 2 0 0 14 32 10 10 10 11 14 10 23 67 29 11 77 104 71 81 95 91 41 50 19 132 65 134 110 87

Tabla 7.4: Problemas reales y del Generador A.

7.3. TABLAS BI-DIMENSIONALES

149

n 81 81 81 81 81 81 81 81 91 91 91 91 91 91 91 91 91 101 101 101 101 101 101 101 101 111 111 111 111 111 111 111 121 121 121 121 121 121 121

m 11 21 31 41 51 61 71 81 11 21 31 41 51 61 71 81 91 11 21 31 41 51 61 71 81 11 21 31 41 51 61 71 11 21 31 41 51 61 71

p 30.6 56.8 89.8 117.4 146.0 173.4 205.8 234.2 33.4 66.0 101.2 132.8 162.4 198.6 230.4 268.8 308.4 37.4 74.0 112.0 146.0 181.8 220.2 259.6 304.4 40.4 82.2 121.2 157.6 202.0 241.4 291.8 43.4 89.8 132.8 173.4 220.2 268.8 317.8

UB0 100.0 100.5 100.4 101.2 102.3 102.3 101.2 101.5 100.0 100.6 100.3 100.1 100.8 100.8 101.7 101.2 101.3 100.0 100.1 100.0 100.0 100.4 100.7 100.4 100.3 100.0 100.4 100.0 100.0 100.1 100.3 100.5 100.0 100.0 100.0 100.0 100.1 100.0 100.0

LB0 99.3 99.3 99.4 99.3 98.8 99.3 99.2 99.0 100.0 99.3 99.6 99.8 99.3 99.8 98.8 99.4 99.1 100.0 99.6 100.0 100.0 99.8 99.7 99.4 99.7 100.0 100.0 100.0 100.0 99.9 100.0 99.7 100.0 99.9 100.0 100.0 99.9 100.0 100.0

t0 3.9 11.4 27.6 49.1 82.8 125.4 168.6 195.8 3.8 15.3 32.8 71.8 96.3 151.8 184.3 263.4 342.2 4.0 18.8 34.3 72.6 131.1 177.3 223.3 298.6 4.5 20.8 39.2 82.1 130.1 196.2 269.6 5.0 21.1 40.6 94.0 148.8 202.2 310.0

s 27.0 43.2 51.6 60.2 61.4 63.4 65.8 66.2 28.8 49.2 56.6 65.0 67.0 68.8 69.0 69.8 69.2 32.4 53.4 62.6 72.6 75.8 76.4 77.4 72.6 35.0 58.6 69.0 78.0 82.6 83.2 81.8 37.6 63.6 74.2 87.8 89.8 90.0 85.6

nod 1.2 2.2 2.8 11.2 6.8 4.4 3.0 6.6 1.0 2.4 1.8 3.6 2.8 2.4 4.6 5.6 4.4 1.0 1.4 1.0 1.0 2.0 2.8 6.4 1.4 1.0 1.2 1.0 1.0 1.2 1.2 1.8 1.0 1.2 1.0 1.0 1.2 1.0 1.0

ttotal 5.9 22.3 56.6 378.6 247.6 249.4 257.6 467.3 4.5 26.0 51.4 154.2 168.5 188.0 394.8 605.8 590.1 5.0 23.6 35.3 73.6 160.3 231.2 454.3 366.8 5.4 22.8 40.2 83.1 144.3 206.6 329.6 6.0 23.8 41.6 94.9 156.7 203.2 311.1

theur 0.8 5.6 23.2 185.1 134.6 159.3 169.1 302.7 0.9 9.0 23.6 77.6 102.9 130.4 262.6 396.5 431.1 1.0 8.8 19.4 45.5 99.0 156.8 309.0 268.1 1.0 10.0 23.1 50.5 93.1 145.0 236.1 1.3 10.1 23.2 61.9 104.3 143.0 232.1

cap 78.4 146.0 179.8 240.0 268.6 256.2 255.8 259.6 76.8 153.0 186.2 230.6 257.6 241.6 256.6 250.0 246.4 85.2 157.2 182.6 221.8 249.4 245.4 252.8 235.8 89.6 161.2 187.2 229.4 239.0 251.8 237.0 92.6 161.0 184.8 232.2 242.8 242.8 237.8

pue 8.2 11.0 3.2 2.4 5.6 0.6 1.6 1.6 3.8 10.6 3.2 6.0 1.6 0.4 1.2 0.0 0.8 2.6 6.4 0.4 1.6 0.6 0.4 0.4 0.0 0.0 6.8 0.4 2.8 1.6 0.0 1.2 1.2 3.2 0.0 0.4 0.0 0.0 0.4

cub 8.6 17.4 32.4 48.8 48.2 52.0 63.0 58.6 6.2 17.4 31.6 39.8 49.0 55.0 60.0 62.6 75.0 5.4 16.2 28.0 31.0 44.6 49.0 62.8 59.0 5.0 16.0 27.2 36.2 40.0 56.2 62.0 4.4 13.8 24.2 35.0 41.4 53.2 65.4

Tabla 7.5: Problemas del Generador B.

150

CAP ITULO 7. PRIVACIDAD EN TABLAS ESTAD ISTICAS

n 131 131 131 131 131 131 141 141 141 141 141 151 151 151 151 151 161 161 161 161 161 171 171 171 171 181 181 181 181 191 191 191 191 201 201 201 201

m 11 21 31 41 51 61 11 21 31 41 51 11 21 31 41 51 11 21 31 41 51 11 21 31 41 11 21 31 41 11 21 31 41 11 21 31 41

p 46.6 97.4 143.2 191.6 238.2 295.4 49.6 104.4 152.0 205.8 259.6 52.6 112.0 162.4 220.2 283.4 56.8 117.4 173.4 234.2 304.4 60.6 124.8 186.0 252.0 66.0 132.8 198.6 268.8 70.4 140.0 209.0 287.8 74.0 146.0 220.2 304.4

UB0 100.0 100.0 100.0 100.0 100.1 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0

LB0 100.0 100.0 100.0 100.0 99.9 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 99.9 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0

t0 5.2 24.0 45.7 108.9 167.4 267.4 5.8 25.8 52.8 124.5 184.0 6.8 31.9 66.2 133.7 218.4 7.3 32.8 73.0 156.5 261.1 8.3 33.9 87.2 166.0 8.9 37.7 99.3 196.3 10.4 44.0 111.4 231.7 11.6 48.3 124.7 267.9

s 40.0 68.8 80.8 94.2 95.8 96.6 43.2 73.4 86.2 101.0 102.8 46.0 78.6 94.0 106.8 109.4 49.2 83.4 100.8 114.0 117.4 52.4 88.4 107.8 121.0 56.4 92.2 113.8 127.8 59.8 98.0 120.0 135.8 63.0 102.6 126.4 143.2

nod 1.0 1.0 1.0 1.0 1.2 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.2 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

ttotal 6.2 25.0 46.7 109.9 176.4 268.4 6.7 26.8 53.8 125.5 185.1 7.8 32.9 67.2 134.8 219.4 8.3 36.7 74.0 157.5 262.1 9.2 34.9 88.2 167.0 9.7 38.4 100.0 197.0 11.2 44.8 112.2 232.5 12.4 49.1 125.5 268.7

theur 1.5 10.7 28.6 70.9 125.5 191.0 1.6 11.7 34.7 82.7 132.5 1.8 14.1 41.1 90.2 160.7 2.4 16.2 46.3 105.0 190.7 2.6 17.8 54.1 122.3 3.5 20.9 66.0 141.3 4.0 24.4 76.0 170.2 4.6 27.1 83.7 200.7

cap 94.2 165.6 196.4 235.6 250.8 255.4 99.4 168.4 204.2 246.8 251.0 106.4 178.0 219.4 248.4 256.2 112.6 183.8 224.0 262.0 272.8 116.8 191.6 236.4 268.2 123.0 199.4 244.6 279.8 128.0 208.6 254.6 290.4 133.6 216.8 270.2 308.0

pue 2.0 4.6 0.2 0.4 0.0 0.0 4.8 6.6 0.2 0.0 0.0 4.2 5.6 0.0 0.0 0.0 1.4 8.2 0.0 0.0 0.0 2.0 1.2 0.0 0.0 2.0 0.0 0.0 0.0 2.0 1.2 0.0 0.0 2.6 1.4 0.0 0.0

cub 4.0 14.6 24.4 37.0 45.0 58.0 4.0 15.2 25.4 37.6 44.0 4.0 15.6 26.6 37.0 47.8 4.6 16.0 26.8 40.4 53.4 4.2 17.2 30.0 42.0 5.2 17.6 32.2 46.0 5.4 17.8 34.0 52.0 5.4 18.6 34.6 53.4

Tabla 7.6: Problemas del Generador B (continuaci on).

7.3. TABLAS BI-DIMENSIONALES


nombre DEMO1 DEMO2 DEMO3 DEMO4 DEMO5 DEMO6 DEMO7 DEMO8 DEMO9 DEMO10 FREQ1 FREQ2 MOPS2C MOPS70 MOPS80 VB01 VB02 VB03 VB04 VB05 VB06 VB07 VB09 VB10 VB11 VB12 VB13 VB14 VB15 VB16 VB17 VB18 VB19 VB20 VB21 VB22 VB23 VB24 VB25 VB26 VB27 VB28 VB29 VB30 VB31 VB32 VB33 VB34 VB35 m 3 6 4 6 5 4 8 19 3 5 19 19 6 17 17 5 2 13 20 17 16 18 13 6 3 9 3 6 12 4 12 8 13 6 3 4 3 15 2 5 5 5 14 5 7 11 7 4 4 n 4 7 4 6 4 4 6 6 3 3 6 6 5 6 6 10 10 6 6 5 6 5 6 5 4 5 10 8 5 12 3 4 6 6 5 4 3 4 10 4 3 10 5 6 12 6 6 7 4 p 9 11 4 5 4 4 14 6 3 4 22 40 4 11 32 32 9 24 17 9 6 9 14 2 2 9 6 16 10 12 7 5 24 1 4 4 2 6 4 7 1 4 11 3 16 9 8 6 1 UB0 100.00 100.00 100.00 100.00 115.79 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 101.52 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 [255] 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 LB0 100.00 100.00 100.00 100.00 94.74 100.00 100.00 80.00 100.00 100.00 100.00 100.00 100.00 98.56 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 [0.0] 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 t0 1.1 1.4 2.0 1.4 1.6 1.2 2.6 2.1 1.3 1.2 1.3 1.4 1.3 1.8 2.0 2.7 1.1 2.1 1.7 1.9 1.2 2.1 2.5 1.1 1.2 1.2 1.2 1.6 1.3 1.4 1.3 1.6 1.3 1.2 1.1 0.0 1.1 1.5 1.3 1.5 1.3 1.9 1.5 1.4 1.6 1.4 1.3 1.6 1.1 z 5 218 320 88 19 33 27289 3000 161 6 20 23 644 3749 9435 208245 12169 7334 32 1741 488 7956 7829 10 32 10 19 61096 61815 712879 63740 5057 36 41 5 0 3364 1247 8791 12119 6105 818 18 9 14 11895 1291 6903 11 s 1 4 5 4 5 4 8 5 3 2 6 6 5 5 8 6 2 9 11 9 1 4 10 2 2 3 4 5 7 4 5 5 5 3 2 0 5 5 2 4 5 10 5 3 5 8 1 6 3 nod 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ttotal 1.81 2.14 2.69 2.14 4.12 1.92 3.35 6.32 1.98 1.87 2.08 2.14 2.09 6.38 2.75 3.40 1.92 2.91 2.47 2.58 1.92 2.80 3.24 1.92 1.97 1.98 1.92 2.36 2.03 2.14 1.97 2.30 2.08 1.98 1.92 0.22 1.92 2.31 2.04 2.20 2.03 2.69 2.20 2.15 2.31 2.20 2.04 2.31 1.92 theur 0.1 0.2 0.3 0.2 0.3 0.1 0.7 0.3 0.1 0.2 0.2 0.2 0.2 0.3 0.7 1.5 0.1 0.4 0.3 0.3 0.1 0.3 0.5 0.1 0.2 0.1 0.1 0.3 0.1 0.2 0.2 0.3 0.1 0.1 0.1 0.1 0.2 0.2 0.2 0.3 0.2 0.3 0.2 0.2 0.3 0.3 0.2 0.3 0.2 cap 4 22 58 46 18 16 43 50 12 16 30 24 20 58 30 13 5 34 38 46 4 34 60 8 8 20 24 20 32 25 26 28 20 12 16 0 18 26 15 26 16 34 30 24 30 44 10 33 12 pue 2 11 32 2 8 6 5 8 6 6 0 0 8 14 0 2 4 4 4 20 0 15 6 4 4 0 0 0 0 0 0 15 1 14 1 0 14 0 4 12 26 32 0 18 0 7 4 8 16

151
cub 2 20 45 26 9 8 26 26 4 8 0 6 10 29 6 11 4 9 4 12 4 36 30 2 4 10 6 11 2 7 4 14 9 6 13 0 10 9 11 24 8 45 0 12 0 9 9 17 6

Tabla 7.7: Problemas de la librer a de Hurkens.

152

CAP ITULO 7. PRIVACIDAD EN TABLAS ESTAD ISTICAS

7.4

Tablas multi-dimensionales

Extendemos ahora el modelo de Programaci on Entera anterior al caso de tablas con 3 o m as ndices. Consideremos una tabla k -dimensional de dimensi on N EN T := (N1 + 1) (N2 + 1) . . . (Nk + 1), en la que algunas l neas se corresponden con totales marginales. Para simplicar la notaci on, usaremos un singular ndice j para referirnos a cada elemento aj de la tabla, esto es, a = [aj : j = 1, . . . , N EN T ], se presenta ahora como un vector en el espacio real I RN EN T . El sistema lineal de ecuaciones (7.1) ahora toma la forma compacta M a = 0, es decir,
N EN T

mij aj = 0
i=1

(i = 1, . . . , N EQ),

(7.13)

donde N EQ es el n umero total de totales marginales especicados, y mij {1, 0, +1} est an apropiadamente denidos. Para k = 2 tenemos que (7.13) y (7.1) coinciden, luego podemos introducir la representaci on de red del sistema. Desgraciadamente, esto no se mantiene v alido para k 3. No obstante, podemos a un obtener un modelo de Programaci on Entera 0-1 para nuestro problema, seg un se indica a continuaci on. Sea P S el conjunto de elementos j0 que tienen que ser suprimidos dentro de sus correspondientes niveles de protecci on, digamos [aj0 LPLj0 , aj0 + ULPj0 ], donde [aj ] es la soluci on nominal para (7.13). Cualquier soluci on a para el sistema (7.13) se considera factible si aj LPLj a j aj + ULPj (i = 1, . . . , N EN T ), (7.14)

donde lbj y ubj son valores dados no-negativos (por ejemplo, 1 y +, respectivamente). Sea xj {0, 1}, j = 1, . . . , N EN T , una variable decisional asumiendo el valor 1 si el elemento j se suprime. Entonces el problema que tratamos puede formularse como sigue:

N EN T

min
j =1

wj xj

(7.15)

sujeto a 0 xj 1 entero xj0 = 1 para todo j = 1, . . . , N EN T, para todo j0 P S (7.16) (7.17)

7.4. TABLAS MULTI-DIMENSIONALES y, para cada j0 P S max a j : 0 min a j : 0 tenemos (7.13) (7.14) aj0 + ULPj0 a j = aj , para todo j tal que xj = 0 (7.13) (7.14) aj0 LPLj0 a j = aj , para todo j tal que xj = 0

153

(7.18)

(7.19)

Dada una soluci on x cumpliendo (7.16)(7.17), entonces las condiciones (7.18)(7.19) pueden f acilmente ser contrastadas resolviendo 2 problemas de Programaci on Lineal para cada j0 P S . A n de tener un modelo de Programaci on Lineal Entera, sin embargo, las condiciones (7.18)(7.19) deber an ser reemplazadas por inecuaciones y/o ecuaciones lineales. En el caso de tablas bi-dimensionales, obtenemos este resultado usando la interpretaci on de redes de los problemas (7.18) y (7.19), y explotando la caracterizaci on de ujos m aximos en t erminos de cortes de capacidad m nima. En el caso m as general, la misma idea se alcanza mediante la dualidad de la Programaci on Lineal, aplicada tambi en a (7.18) y (7.19), pero seg un el esquema conocido como Descomposici on de Benders. A continuaci on describimos c omo se realiza sobre el caso concreto de exigir s olo que se verique (7.18) sobre el elemento j0 . La misma construcci on puede aplicarse para considerar (7.19). A n de paralelizar la derivaci on con el caso de tablas bi-dimensionales, expresemos la restricci on (7.18) en t erminos de variaciones positivas/negativas con respecto al valor nominal y sea + a j = aj + j j para todo j = 1, . . . , N EN T,
+ donde j , j son ambos no-negativos. Entonces (7.18) se mantiene si y s olo si el siguiente sistema admite una soluci on (recordemos que xj {0, 1} son valores previamente dados): + j j ULPj0 , + M ( ) = 0, + 0 j ubj x j 0 j lbj xj

j = 1, . . . , N EN T, j = 1, . . . , N EN T.

(7.20) (7.21) (7.22) (7.23)

Las restricciones (7.21) estipulan que a = a + + satisface (7.13), mientras (7.22) + = (7.23) imponen las restricciones de cotas inferior/superior junto con la condici on j T + on, sea c ( ) ULPj0 j = 0 para todo j tal que xj = 0. Para simplicar la notaci la representaci on de (7.20) donde cj = 1 para j = j0 , y cj = 0 para j = j0 . Obs ervese + que (7.21)(7.23) admite la soluci on factible = = 0. Por tanto (7.20)(7.23) es consistente si y s olo si (7.20) es una desigualdad v alida para el pol topo denido por (7.21)(7.23). Mediante la Dualidad en Programaci on Lineal (en concreto, el Lema de Farkas), esto a su vez es equivalente a la existencia de u I RN EQ y , I RN EN T tales que

154

CAP ITULO 7. PRIVACIDAD EN TABLAS ESTAD ISTICAS , 0 cT uT M T 0T cT + uT M T 0T

(7.24)

y
N EN T (j ubj x j + j lbj xj ) ULPj0 . j =1

(7.25)

Claramente, uno puede sin p erdida de generalidad considerar s olo las soluciones b asicas (v ertices) de (7.24). N otese que, para cada soluci on (b asica) de (7.24), uno tiene una desigualdad v alida (7.25), que es una desigualdad lineal en las variables x . Se sigue que (7.18) puede j sustituirse por un n umero exponencial de restricciones (7.25) asociadas con todas las posibles soluciones b asicas (v ertices) de (7.24). Para cualquier soluci on (posiblemente fraccionaria) x , el m as violado de tales cortes puede obtenerse resolviendo el Problema Lineal + max j j 0 0 M ( + ) = 0 + 0 j ubj x j = 1, . . . , N EN T j 0 j lbj xj j = 1, . . . , N EN T y tomando la soluci on optima dual asociada (u , , ) en caso de que el m aximo sea estrictamente menor que ULPj0 . Obs ervese que este procedimiento de separaci on de cortes N EN T puede aplicarse para cualquier x [0, 1] dado, y no s olo para vectores enteros 0-1. Esto resulta una nota fundamental, que extiende el procedimiento general de la Descomposici on de Benders.

7.5

Conclusiones

En el presente cap tulo consideramos el problema (CSP) de suprimir celdas (secundarias) en una tabla estad stica (con totales marginales) de manera que se garantice la seguridad y privacidad de la informaci on individual en ciertas celdas (primarias). Se requiere que, en la tabla nal, los valores posibles para las celdas primarias satisfagan ciertos niveles de protecci on prejados. Cada posible celda secundaria tiene un peso de supresi on, e interesa que, en la tabla nal, el peso total de las celdas secundarias resulte m nimo. Hemos estudiado fundamentalmente el caso bi-dimensional, para el que se propone un algoritmo de

7.5. CONCLUSIONES

155

ramicaci on y corte cuyos resultados experimentales superan ampliamente los publicados por otros autores. Este trabajo abre a su vez interesantes cuestiones como el de encontrar nuevas desigualdades, o el de fortalecer los coecientes (lifting) de las desigualdades aqu propuestas por ejemplo, las desigualdades puentes (7.9), a un induciendo facetas para el pol topo del BSP, podr an en algunos casos ser mejorables para el CSP debido al efecto de las restricciones de capacidad (7.7)-(7.8).

Cap tulo 8 Problema de la Selecci on de Indices en Bases de Datos


Introducimos una generalizaci on del est andar Problema de Localizaci on sin Capacidades, en el que los clientes pueden ser servidos no s olo por una u nica planta sino tambi en por subconjuntos de plantas. El problema se denomina Problema de Localizaci on sin Capacidades Generalizado (GUFLP para abreviar), y fue inspirado por el Problema de la Selecci on de Indices en el dise no f sico de bases de datos. Formulamos GUFLP como un problema de empaquetamiento de conjuntos Set Packing Problem, demostrando que nuestro modelo contiene todas las desigualdades pe na (clique), que son un n umero polinomial. Adem as, describimos un procedimiento de separaci on exacto para las desigualdades de ciclo impar, basado en la particular estructura de este problema. Estos resultados se utilizan en un algoritmo de ramicaci on y corte para la resoluci on exacta del GUFLP. Se dan nalmente resultados computacionales de este sobre dos familias distintas de ejemplos test.

8.1

Introducci on

El Problema de Localizaci on sin Capacidades (UFLP) puede formularse como sigue. Consideremos un conjunto potencial de plantas y un conjunto de clientes. Cada planta puede ser abierta pagando un coste jo, o no abierta sin coste alguno; cada cliente debe ser servido por una planta abierta, lo que conlleva el pago de un coste de transporte. El objetivo del problema es decidir las plantas que se deben abrir de manera que se minimice la suma total de los costos jos m as los costos de transporte. Se conoce que este problema pertenece a la clase de los problemas N P -dif cil en el sentido fuerte. Adem as, tiene muy diversas aplicaciones pr acticas, y ha sido ampliamente estudiado en los u ltimos 30 a nos; v ease Krarup y Pruzan [KP83] y Cornuejols, Nemhauser y Wolsey [CNW91] como fuentes 157

158

DE INDICES CAP ITULO 8. PROBLEMA DE SELECCION

de trabajos. En una formulaci on equivalente del UFLP, cada planta puede tambi en ser abierta bajo un coste jo, pero cada cliente ha de ser servido por no m as de una planta abierta, conllevando un oportuno benecio de transporte. El objetivo es ahora abrir plantas de manera que se maximice la suma de los benecios de transporte menos la suma de los costes jos. Esta formulaci on alternativa ha generado diversos resultados poli edricos para el UFLP; v ease Guignard [G80], Cornuejols y Thizy [CT82a], Cho, Johnson, Padberg y Rao [CJPR83], y Cho, Padberg y Rao [CPR83]. Una interesante aplicaci on de UFLP aparece cuando se afronta el llamado Problema de Selecci on de Indices (ISP), quien representa una fase del dise no f sico de las bases de datos. El ISP se puede describir brevemente como sigue (v ease Finkelstein, Schkolnick y Tiberio [FST88] para una descripci on m as detallada). Consideremos un conjunto de ndices potenciales y un conjunto de preguntas (queries). Se puede optar por abrir un ndice, y en tal caso se precisa un determinado tiempo de mantenimiento. Cada pregunta tiene que ser respondida. El tiempo de respuesta para cada pregunta depende del conjunto de ndices (abiertos) que se utilice para responderla. El ISP busca la elecci on de los ndices que se abrir an de manera que se minimice el tiempo total de ejecuci on, dado por la suma de los tiempos de mantenimiento para los ndices abiertos y los tiempos de respuesta para todas las preguntas. Para ciertos sistemas de gesti on de bases de datos, cada pregunta puede responderse o bien no usando ning un ndice, lo que implica un cierto tiempo de respuesta, o bien usando un determinado ndice abierto, lo que conlleva un benecio sobre el tiempo de respuesta anterior. En tal caso, el ISP puede formularse como un UFLP. En efecto, cada ndice se corresponde con una planta, y cada pregunta se corresponde con un cliente. El costo jo de una planta es el tiempo de mantenimiento de su correspondiente ndice. El benecio del transporte de un par cliente-planta es el benecio del tiempo de respuesta para el correspondiente par pregunta- ndice. Para m as detalles, v ease Caprara, Fischetti y Maio [CFM95]. Sin embargo, en la mayor parte de los sistemas avanzados de gesti on de bases de datos, no s olo se pueden responder preguntas utilizando un u nico ndice a la vez, sino que (de un modo m as general) se pueden utilizar conjuntos de ndices (llamados conguraciones). En particular, cada pregunta puede responderse o bien no usando ning un ndice con el correspondiente tiempo de respuesta, o bien usando un conjunto de ndices abiertos con el correspondiente benecio en el tiempo de respuesta determinado seg un dicho conjunto (t picamente, solo pocos conjuntos de ndices suelen en realidad ser usados para responder preguntas). En este otro caso, el ISP ya no puede ser formulado directamente como un UFLP. Este cap tulo estudia el siguiente problema, estrechamente relacionado con el UFLP. Una vez m as, consideremos un conjunto de plantas potenciales y un conjunto de clientes. Adem as, consideremos un conjunto de conguraciones, cada una asociada con un subconjunto de plantas. Cada planta puede ser o bien abierta a un costo jo, o bien continuar cerrada. Una conguraci on se dir a activa s olo si todas sus plantas asociadas son abiertas. Cada cliente puede ser servido por no m as de una conguraci on activa, con un cierto benecio de transporte. El objetivo es decidir las plantas que se deben abrir de manera que se

8.2. MODELO MATEMATICO

159

maximice la suma de los benecios de transporte menos la suma de los costes jos. Con m as formalidad, un ejemplo del problema puede denirse como sigue. Sea N := {1, . . . , n} el conjunto de plantas, M := {1, . . . , m} el conjunto de clientes, y P := {1, . . . , p} el conjunto de conguraciones. Cada planta j N tiene un costo fj > 0, y para cada par cliente-conguraci on (i, k ) M P existe un benecio gik 0. Cada conguraci on k P est a asociada con un conjunto Nk N , representando el subconjunto de las plantas que tienen que ser abiertas para que la conguraci on k sea activa. Denotemos con Pj := {k P : j Nk } el conjunto de las conguraciones asociadas con una planta j N . Sin p erdida de generalidad, asumimos que Pj no es un conjunto trivial de P para ning un j N , es decir, que Pj = y Pj = P para todo j N . En efecto, si Pj = , entonces la planta j continuar a cerrada en cualquier soluci on optima, puesto que abrir j s olo supone pagar la cantidad fj sin obtener ning un tipo de benecio. Si por otra parte Pj = P , entonces o bien la planta j se abre en cualquier soluci on optima, o bien el valor optimo es 0. El problema entonces busca un subconjunto S N de plantas a abrir, de manera que se maximice la funci on objetivo z (S ) := iM max{0, max{gik : Nk S }} j S fj . Es f acil ver que este problema es una generalizaci on del UFLP, el cual aparece cuando cada conguraci on est a asociada exactamente con una planta. Por ello, el problema es N P -dif cil (en el sentido fuerte), y nos referiremos a el con el nombre de UFLP Generalizado (GUFLP para abreviar). El ISP es una aplicaci on del GUFLP, donde cada ndice se corresponde con una planta, cada pregunta con un cliente, y cada posible subconjunto de ndices con una conguraci on. Hasta nuestro conocimiento, no existe ning un trabajo precedente en la literatura sobre el GUFLP. Este cap tulo est a organizado como sigue. La Secci on 8.2 describe una formulaci on de programaci on lineal entera para el GUFLP, y que viene usada en la Secci on 8.3 para concluir resultados poli edricos y desigualdades v alidas mediante la visi on del GUFLP como un caso particular del Problema del Empaquetamiento de Conjuntos Set Packing Problem. La Secci on 8.4 trata el problema de separar las desigualdades presentadas en la Secci on 8.3. La Secci on 8.5 presenta algunos algoritmos heur sticos , y la Secci on 8.6 describe un algoritmo de ramicaci on y corte. Finalmente, la Secci on 8.7 presenta nuestra experiencia computacional con problemas test aleatoriamente generados, y la Secci on 8.8 indica algunas conclusiones.

8.2

Modelo Matem atico

A n de proponer un modelo matem atico para el GUFLP, introduciremos las siguientes variables decisionales 0-1. Para todo j N consideremos una variable decisional yj que toma el valor 1 si la planta j se abre, y 0 en otro caso. Para todo i M y k P , consideremos una variable decisional xik que asume el valor 1 si el cliente i es servido por la conguraci on k , y 0 en otro caso. Una posible formulaci on como problema de

160

DE INDICES CAP ITULO 8. PROBLEMA DE SELECCION

programaci on lineal entera (ILP) es entonces max


iM kP

gik xik
j N

fj yj

(8.1)

sujeto a xik 1
kP

para i M, para i M, j N, k Pj , para i M, j N, k P, para i M, j N, k P.

(8.2) (8.3) (8.4) (8.5)

xik yj 0 xik , yj 1 xik , yj entero

Las restricciones (8.2) establecen que cada cliente puede servirse por no m as de una conguraci on, mientras que las restricciones (8.3) aseguran que cada cliente puede servirse s olo usando conguraciones activas. Como para el UFLP, es f acil ver que las exigencias de integrabilidad sobre las variables x puede relajarse sin afectar a la soluci on En efecto, supongamos que (x, y ) es una soluci on de (8.2)(8.4), con yj entero para todo j N . Para todo i M , denotaremos por k (i) la conguraci on activa (con respecto a las plantas abiertas en y ) con m aximo benecio de transporte para el cliente i, esto es, gi,k(i) = max{gik : yj = 1 para todo j Nk } (si no hay ninguna conguraci on activa, entonces hacemos k (i) := 0 para todo i M ). Entonces la soluci on 0-1 (x , y ) denida por xik := 1 si k = k (i) y por xik := 0 en otro caso, para todo i M y k P , tiene funci on objetivo de valor no menor que (x, y ). En otras palabras, yj son las variables estrat egicas, y una vez que se tiene el vector entero y , es f acil determinar las variables 0-1 x de manera que se maximice la funci on objetivo para el y dado. Cuando cada conguraci on est a asociada con s olo una planta, entonces la formulaci on anterior se corresponde con la llamada formulaci on ILP fuerte para el UFLP. Sin embargo, la formulaci on (8.1)(8.5) puede f acilmente reforzarse para el GUFLP como demuestra el siguiente teorema. Teorema 8.2.1 La formulaci on ILP obtenida sustituyendo las restricciones (8.3) con xik yj
kPj

para i M, j N

(8.6)

es v alida para el GUFLP. Demostraci on. Consideremos un par cliente-planta (i, j ) M N dado. Puesto que Pj P , de la desigualdad (8.2) se sigue kPj xik 1. Adem as, seg un la restricci on (8.3), xik > 0 para alg un k Pj implica yj = 1, de lo que se sigue la validez de la desigualdad (8.6).

8.3. GUFLP COMO SPP

161

El n umero de restricciones (8.6) es mn, y por tanto es menor que el n umero de restricciones (8.3). As , para un n umero dado de plantas y clientes, la nueva formulaci on tiene m + mn restricciones al igual que la formulaci on ILP fuerte del UFLP. Adem as, las restricciones (8.6) son m as fuertes que las (8.3), en el sentido de que cada miembro de (8.6) puede obtenerse elevando los coecientes de alg un miembro de (8.3). En realidad, demostraremos en la Secci on 8.3 que las restricciones (8.6) (as igual que sucede con las restricciones (8.2)) denen facetas para el pol topo denido por la envolvente convexa de las soluciones factibles del GUFLP. Por este motivo llamaremos formulaci on ILP fuerte para el GUFLP al modelo (8.1),(8.2),(8.6),(8.4),(8.5). La literatura muestra el gran esfuerzo que se ha hecho para desarrollar heur sticas duales y algoritmos exactos para resolver la relajaci on lineal de la formulaci on ILP fuerte del UFLP; v ease por ejemplo Bilde y Krarup [BK77], Erlenkotter [E78], Cornuejols y Thizy [CT82b], Conn y Cornuejols [CC90]. T picamente, esta relajaci on tiene una soluci on entera, o al menos lleva a una cota superior bastante pr oxima al optimo. El mismo comportamiento no se ha observado, sin embargo, en alguno ejemplos GUFLP de inter es, para los cuales el valor optimo de la relajaci on lineal de (8.1),(8.2),(8.6),(8.4) est a bastante lejos del valor soluci on optima (v ease la Secci on 8.7). Por ello se precisan nuevas desigualdades v alidas para fortalecer esta relajaci on lineal, tan u til para certicar la calidad de un heur stico dado, como para desarrollar algoritmos exactos para el GUFLP.

8.3

El GUFLP como Problema de Empaquetamiento de Conjuntos

Como sucede con el UFLP, el GUFLP puede verse como un caso particular de Problema de Empaquetamiento de Conjuntos (Set Packing Problem, SPP), el cual se dene como max cz : Az 1, z {0, 1}h , donde h y l son enteros positivos, c I Rh , A es una l h matriz 0-1, y 1 es un l-vector de 1s. Enviamos al lector interesado a Balas y Padberg [BP76] para una fuente de trabajos sobre el SPP. En efecto, introduciendo las variables complementarias y j := 1 yj para j N ( yj = 0 si y s olo si se abre la planta j ), la formulaci on ILP fuerte del GUFLP se lee ahora como max
iM kP

gik xik +
j N

fj y j
j N

fj

(8.7)

162 sujeto a

DE INDICES CAP ITULO 8. PROBLEMA DE SELECCION

xik 1
k P

para i M, para i M, j N , para i M, j N, k P, para j N.

(8.8) (8.9) (8.10) (8.11)

xik + y j 1
k Pj

xik , y j 0 y j entero

En esta secci on se demuestra que (8.8) y (8.9) son desigualdades fuertes (denen facetas) para la descripci on matem atica del GFULP. Adem as, se mejora la correspondiente relajaci on lineal (LPR) a nadiendo una nueva familia de restricciones. Para ambos prop ositos, adaptamos conocidos resultados del SPP al caso particular del GUFLP. Necesitamos una formulaci on de teor a de grafos de nuestro problema, por lo que primero introduciremos algunas deniciones b asicas. Consideremos un grafo no-dirigido G = (V, E ), con V := {1, . . . , v } su conjunto de nodos, y E {(i, j ) : i, j V, i = j } su = (V, E ) donde E := {(i, j ) : conjunto de arcos. El arco-complemento de G es el grafo G i, j V, (i, j ) E }. El subgrafo de G inducido por W V es el grafo H = (W, E (W )) donde E (W ) := {(i, j ) : i, j W, (i, j ) E }. La longitud de un subgrafo inducido por W se dene como la cardinalidad de su conjunto de nodos |W |, que denotaremos por w. En algunos caso, por conveniencia en la notaci on, asumiremos impl citamente que los nodos de W est an renombrados seg un una secuencia particular W := {1, . . . , w}. Entonces dos nodos i, j W se llaman consecutivos en W si |j i| = 1 o |j i| = w 1. Cuando denotamos un nodo de W , digamos, por i, impl citamente asumiremos que i se ha tomado m odulo w. Una pe na (clique) en G se dene como un subgrafo completo H de G; una pe na se llamar a pe na maximal si ella no es un subgrafo proprio de otra pe na. Un hueco (hole) en G es un ciclo sin cuerdas de longitud 5; un hueco se llama hueco impar si su longitud es impar. Un anti-hueco (anti-hole) es el arco-complemento de un hueco. Dados dos n umeros enteros w, k tales que w 5 y 2 k w , el subgrafo 2 de G inducido por W V se llama un tejido web, y se denota por Bw,k , si |W | = w y E (W ) = {(i, j ) : i, j W, k |j i| w k }. N otese que para k = 2 un tejido es claramente un anti-hueco. Adem as, cuando w es impar y k = w , un tejido Bw,k 2 es tambi en un hueco, ya que es un grafo conexo donde cada nodo i W es adyacente w,k es el exactamente a dos nodos i + k y i + k + 1 de W . Un anti-tejido (anti-web) B arco-complemento de un tejido. Un tejido o anti-tejido se dice que es primo si k y w son n umeros primos entre s . Un conjunto de nodos I V se dir a que es un conjunto independiente si (i, j ) E para todo i, j I , es decir, E (I ) = . Dada una l h matrix 0-1 A = [aij ], el grafo de intersecci on de A se dene como GA = (VA , EA ), VA := {1, . . . , h}, EA := {(j, k ) : j, k esima columna de A para todo VA , l h=1 ahj ahk > 0}. Dado un peso cj asociado con la j - j VA , entonces resolver el SPP max{cz : Az 1, z {0, 1}h } equivale a encontrar un conjunto independiente de m aximo peso en GA , donde cada nodo j VA tiene asociado

8.3. GUFLP COMO SPP

163

el peso cj . Para cada la i de A, el conjunto {j : aij = 1} VA induce una pe na en GA . Si esta pe na es maximal, la correspondiente desigualdad pe na j VA aij zj 1 dene una faceta del pol topo asociado con el SPP, y que se dene como conv {z {0, 1}h : Az 1} (v ease Padberg [P73]). A partir de (8.7)(8.11) y de la anterior discusi on, el GUFLP puede verse como el problema de encontrar un conjunto independiente de m aximo peso en el grafo intersecci on GI = (VI , EI ) asociado con la matriz 0-1 I de la formulaci on (8.8)(8.9). VI contiene un nodo para cada variable decisional. Dos nodos resultan adyacentes en GI si y s olo si las dos correspondientes variables aparecen con coecientes 1 en al menos una misma restricci on del sistema (8.8)(8.9) (recordemos que los arcos representan incompatibilidades entre las variables). Usaremos el t ermino x-nodo y y -nodo para indicar un nodo asociado con una variable x y con una variable y , respectivamente. Adem as, indicamos con X VI el conjunto de todos los x-nodos, y con Y VI el conjunto de todos los y -nodos. Si no se ocasiona confusi on, usaremos la notaci on xik y y j para denotar los nodos. Ahora establecemos algunas propiedades de GI , que son una extensi on inmediata de propiedades del grafo de intersecci on asociado con la formulaci on SPP del UFLP. Propiedad 8.3.1 (xik , xhl ) EI si y s olo si h = i, es decir, dos x-nodos son adyacentes si y s olo si las correspondientes variables est an asociadas con el mismo cliente. Propiedad 8.3.2 (xik , y j ) EI si y s olo si j Nk (o equivalentemente k Pj ), es decir, un x-nodo y un y -nodo son adyacentes si y s olo si la correspondiente variable x est a asociada con una conguraci on que contiene la planta asociada con la variable y . Propiedad 8.3.3 ( yj , y k ) EI para todo j, k N , es decir, no hay ning un par de y nodos adyacentes. Por la Propiedad 8.3.1 tenemos que cualquier subgrafo de GI inducido por un subconjunto de X est a dividido en pe nas disjuntas. Por la Propiedad 8.3.3 tenemos que cualquier es una colecci subgrafo de GI inducido por un subconjunto de Y on de nodos aislados. Un primer resultado se reere a la relajaci on lineal (8.7)(8.10). Teorema 8.3.1 Si Pj no es un subconjunto trivial de P para todo j N , esto es, Pj = y Pj = P , las restricciones (8.8) y (8.9) se corresponden con todas las desigualdades pe nas maximales de G, y por tanto denen facetas para el GUFLP. Demostraci on. Primero demostramos que cada pe na correspondiente a una desigualdad (8.8) y (8.9) es maximal. Consideremos la restricci on (8.8) correspondiente al cliente i,

164

DE INDICES CAP ITULO 8. PROBLEMA DE SELECCION

esto es kP xik 1, y sea D := {xik : k P } el correspondiente conjunto de nodos de (X \ D). Por la Propiedad 8.3.1, ning la pe na. Entonces VI \ D = Y un nodo en X \ D es adyacente a un nodo en D. Adem as, puesto que Pj = P para todo j N , por la Propiedad es adyacente a todos los nodo de D. Entonces D induce una pe 8.3.2, ning un nodo en Y na maximal en GI . Consideremos ahora la restricci on (8.9) correspondiente al cliente i y a la planta j , esto es kPj xik + y j 1, y sea F := {y j } {xik : k Pj } el correspondiente conjunto de nodos de la pe na. N otese que {xik : k Pj } = , ya que se ha asumido que Pj = . Tenemos VI \ F = (Y \ {y j }) {xil : l P \ Pj } {xhl : h M \ {i}, l P }. Por la Propiedad 8.3.1, ning un nodo en {xhl : h M \ {i}, l P } es adyacente a ning un x-nodo \ {y en F . Por la Propiedad 8.3.3, ning un nodo en Y j } es adyacente a y j . Finalmente, por la Propiedad 8.3.2, ning un nodo en {xil : l P \ Pj } es adyacente a y j . Por ello F induce una pe na maximal. Mostramos ahora que cada pe na de GI est a contenida en al menos una de las pe nas arriba consideradas. Sea una pe na de GI y sea W su conjunto de nodos. Si W s olo contiene x-nodos, entonces ella est a contenida en una pe na asociada con una asociada a alguna restricci on (8.8), por la Propiedad 8.3.1. En otro caso, por la Propiedad 8.3.3, W contiene exactamente un y -nodo, y por la Propiedad 8.3.2 est a contenida en una pe na asociada con una restricci on (8.9).

El Teorema 8.3.1 da una descripci on completa de las desigualdades que proceden de pe nas maximales para GI . Al igual que para la formulaci on ILP fuerte del UFLP, la formulaci on (8.7)(8.11) contiene todas las desigualdades pe na maximales, siendo en n umero m + mn. Para el SPP, adem as de las pe nas (maximales), las siguientes estructuras simples de subgrafos tambi en producen desigualdades v alidas: huecos impares, anti-huecos impares, tejidos primos, y anti-tejidos primos (v ease Balas y Padberg [BP76]). Ahora afrontaremos las desigualdades huecos impares para el GUFLP. En el UFLP, todo hueco es tal que cada terna de nodos consecutivos contiene exactamente dos x-nodos y un y -nodo; el menor de tales posibles huecos impares tiene longitud 9, conteniendo 3 plantas y 3 clientes. Aqu tenemos la siguiente propiedad para los huecos en GUFLP, derivada de las Propiedades 8.3.1 y 8.3.3.

Propiedad 8.3.4 En todo hueco de GI , cada terna de nodos consecutivos contiene uno o dos x-nodos, y cada par de nodos consecutivos contiene al menos un x-nodo. Por lo y como m aximo w y -nodos. tanto, cada hueco de longitud w contiene como m nimo w 3 2

El menor hueco impar posible tiene longitud 5, como sucede en el caso de m = n = 2, p = 3, N1 = {1}, N2 = {2}, N3 = {1, 2}, donde W = {y 1 , x11 , x12 , y 2 , x23 }, v ease la Figura 8.3.

8.3. GUFLP COMO SPP y 1 w


bb b

165

b b gx11

x23 g

@ @

y 2

 @w 

g  x12 

Figura 8.1: Un hueco impar en GI . Dado un hueco impar en GI inducido por W , la asociada desigualdad xik +
xik W y j W

y j

w 2

(8.12)

es v alida para GUFLP. Adem as, la desigualdad (8.12) dene una faceta para el subproblema teniendo jas a 0 todas las variables asociadas con nodos en VI \ W jas a 0 (v ease Padberg [P73]). Para el problema original, (8.12) puede elevarse a una desigualdad del tipo w ik xik + j y j xik + y j + (8.13) 2 x W y W
ik j

xik X \W

y j Y \W

encontrando no-negativos ik y j (llamados coecientes de elevaci on). Para un SPP general, cada coeciente de elevaci on de una desigualdad hueco impar est a en [0, w ] 2 (v ease Padberg [P73]), y para el UFLP est a en [0, 1] (v ease Cornuejols y Thizy [CT82a]). Teorema 8.3.2 Dada un hueco impar en GI inducido por W y la correspondiente desigualdad (8.12), entonces los coecientes de elevaci on que mantienen a (8.13) v alida para w w w w el GUFLP est an en [0, 2 3 + 1] para las variables x y en [0, 2 3 ] para las variables y . aximo Demostraci on. Sea H = (W, F ) un hueco impar. Para cada j VI \ W , el m w valor del correspondiente coeciente j en (8.13) est a dado por 2 (H \ (j )), donde (j ) := {i W : (i, j ) EI } es el conjunto de vecinos de j en W , (G) denota el n umero de estabilidad de un grafo G (es decir, el m aximo cardinal de un conjunto independiente en G), y H \ (j ) denota el subconjunto de H inducido por W \ (j ). Si j es un x-nodo, por las Propiedades 8.3.1 y 8.3.2, este puede ser adyacente a todos los y -nodos en W , m as como mucho 2 x-nodos adyacentes. Entonces, por la Propiedad 8.3.4, (H \ (j )) | 1 w 1, y j w w + 1. Si por otra parte j es un y -nodo, |W Y 3 2 3 por la Propiedad 8.3.3 no es adyacente a ning un y -nodo en W ; mientras que por la Propiedad 8.3.2 puede ser adyacente a cada x-nodo en W . Por tanto, por la Propiedad | w , y j w w . 8.3.4, (H \ (j )) |W Y 3 2 3

166

DE INDICES CAP ITULO 8. PROBLEMA DE SELECCION

, w ! ! ! !! ! ! g xik g aa B aa g aa B a Bw % l % lg % `` g ((w (

hh ( g ( g hw e e eg

( g hh ( g hw " " b b g " " w e " eg " " (g "((( B ( " (h Bw y j w h h b hh h g b b g A b b Aw b @ g b@ b w bg ` ` g

(a) ik = 2

(b) j = 2

Figura 8.2: Coecientes de elevaci on para las desigualdades hueco impar (los c rculos en negro denotan y -nodos, los c rculos en blanco denotan x-nodos). Las cotas superiores sobre los coecientes de elevaci on dadas por el teorema anterior est an ajustadas tanto para las variables x como para las variables y , para todo impar w 5. La Figura 8.3.1 muestra dos ejemplos de coecientes de elevaci on > 1. Finalmente demostramos que para el GUFLP (al igual que sucede con el UFLP, v ease Cornuejols y Thizy [CT82a]) el grafo de intersecci on GI no contiene anti-huecos (impares), ni tejidos (primos), ni anti-tejidos (primos), y por ello las correspondientes desigualdades del SPP no son u tiles para un posterior fortalecimiento de la relajaci on lineal de nuestro modelo. Teorema 8.3.3 GI no contiene ning un anti-hueco de longitud > 5 como un subgrafo inducido. = (W, F ), con w > 5. Demostraci on. Supongamos que GI contiene un anti-hueco H Entonces W contiene y -nodos; de no ser as , por la Propiedad 8.3.1, contendr a una familia de pe nas disjuntas. Adem as, W contiene como mucho 2 y -nodos (consecutivos), debido a la Propiedad 8.3.3. Puesto que w > 5, existe una terna {i, i + 1, i + 3} de x-nodos en W tal que (i, i + 3), (i + 1, i + 3) F . Por la Propiedad 8.3.1, esto implica que (i, i + 1) F , no es un anti-hueco. y por ello H umeros enteros w, k tales que w 5 y 3 k Teorema 8.3.4 Para cada par de n w w,k como un subgrafo inducido. 1 , G no contiene ning u n tejido Bw,k o anti-tejido B I 2 Demostraci on. Supongamos que GI contiene un tejido Bw,k = (W, F ), con 3 k

8.4. PROCEDIMIENTOS DE SEPARACION


w 2

167

1. Por la Propiedad 8.3.1 W contiene y -nodos. Adem as, por la Propiedad 8.3.3, W contiene como mucho k y -nodos, y si i y j son y -nodos en W , entonces |j i| < k . As , hay al menos w k k + 2 x-nodos consecutivos en W . Entonces existe una terna {i, i + 1, i + k + 1} de x-nodos en W tales que (i, i + k + 1), (i + 1, i + k + 1) F . Por la Propiedad 8.3.1, esto implica que (i, i + 1) F , y as Bw,k no es un tejido. w,k = (W, F ), 3 k w 1. Por Supongamos ahora que GI contiene un anti-tejido B 2 la Propiedad 8.3.3 hay al menos k 1 ( 2) x-nodos entre cualquier par de y -nodos en W . Entonces existe una terna {i, i +1, i + k } de x-nodos en W tal que (i, i +1), (i +1, i + k ) F . w,k no es un anti-tejido. Por la Propiedad 8.3.1, esto implica que (i, i + k ) F , y as B

8.4

Procedimientos de separaci on

En el algoritmo de ramicaci on y corte de la Secci on 8.6, usamos la relajaci on lineal (8.7) (8.10) aumentada considerando las restricciones (8.12). Como es usual, los problemas lineares contendr an s olo un subconjunto de todas esas desigualdades, y tendremos por tanto que afrontar el siguiente problema de separaci on: dado un punto z = (x , y ) I R(M P )N y una familia de restricciones F v alidas para el GUFLP, encontrar una restricci on en F violada por z , o demostrar que no existe ninguna. El problema de separaci on para las desigualdades (8.8) y (8.9) se resuelve trivialmente mediante enumeraci on expl cita, lo que supone un tiempo de orden O(np) y O(mnp), respectivamente. Brevemente describiremos el procedimiento de separaci on que usamos para identicar las restricciones hueco impar (8.12). Dada una soluci on (fraccionaria) z del problema lineal relajado de un SPP, se conoce que la identicaci on de una desigualdad hueco impar de m axima violaci on exige determinar un ciclo impar de peso m nimo en el correspondiente grafo intersecci on, donde cada arco (i, j ) tiene el peso 1 zi zj . Si el valor de la soluci on optima de este problema es menor que 1, entonces el correspondiente hueco impar dene una desigualdad de m axima violaci on; en otro caso no existe desigualdad hueco impar violada. El problema de determinar un ciclo impar de m nimo peso puede resolverse como un problema de camino m nimo sobre un cierto grafo bipartito particularmente construido (v ease, por ejemplo, Gr otschel, Lov asz y Schrijver [GLS88], P agina 235). Para UFLP, se observa en Caprara y Fischetti [CF96] que la separaci on de las desigualdades hueco impar se corresponden con el c alculo de un ciclo impar de peso m nimo sobre un grafo teniendo s olo un nodo por cada variable (fraccionaria), obtenido a partir del grafo de intersecci on original mediante simples operaciones de pre-procesamiento que eliminan los x-nodos. Para el GUFLP tambi en se mantiene la misma propiedad, tal y como mostramos a continuaci on. Consideremos una soluci on fraccionaria (x , y ) de , donde zi y zj son las (8.7)(8.10), y asignemos a cada arco (i, j ) EI el peso 1 zi zj , F ), variables asociadas con i y j , respectivamente. Introducimos el multi-grafo H = (Y

168

DE INDICES CAP ITULO 8. PROBLEMA DE SELECCION

donde cada arco en F tiene un signo, esto es, puede ser par o impar. Para cada para de y -nodos ( yj , y l ), F contiene un arco impar ( yj , y l ) con el peso 3 y j y l 2jl , donde jl := maxiM {xik + xih : k Pj , h Pl , k = h}. Adem as, para cada par de y -nodos ( yj , y l ) tales que Pj Pl = , F contiene un arco par [ yj , y l ] con peso 2 y j y l 2 jl , donde jl := maxiM {xik : k Pj Pl }. Un ciclo en H se llama impar si contiene un n umero impar de nodos impares. Debido a la Propiedad 8.3.4, cada hueco impar en GI se corresponde con un ciclo impar en H del mismo peso. Rec procamente, dado un ciclo impar en H , existe un ciclo impar en GI de igual peso, y se conoce del SPP como obtener de este ciclo un hueco impar de peso no superior (v ease Nemhauser y Sigismondi [NS92]). El punto clave del procedimiento de separaci on es entonces el c alculo de un ciclo impar de peso m nimo en H . Este problema puede resolverse como un problema de camino m nimo sobre el siguiente grafo B = (S T, C ). Cada nodo y j en H se corresponde con un par de nodos sj S, tj T en B , cada arco impar ( yj , y l ) F se corresponde con un par de arcos (sj , tl ), (sl , tj ) C , y cada arco par [ yj , y l ] F se corresponde con el par de arcos (sj , sl ), (tj , tl ) C . Entonces un ciclo impar de peso m nimo pasando a trav es de yj V se corresponde con un camino m nimo desde sj a tj en B . Damos ahora una descripci on en Pseudo-Pascal de nuestro procedimiento de separaci on. procedure ODD HOLE SEP; input: el punto (x , y ) [0, 1](M P )N ; output: una secuencia L1 , . . . , Lr de huecos impares en GI correspondiente a una desigualdad hueco impar violada; begin 1. construir el multi-grafo H a partir de GI y (x , y ); H := ; r := 0; 2. Y do 3. para todo y j Y 4. calcular un ciclo impar de peso m nimo C pasando a trav es de yj \Y H , y sea c el correspondiente peso; y conteniendo s olo los nodos en Y 5. si c < 1 entonces H := Y H {y 6. Y j }; r := r + 1; 7. construir desde C un hueco impar Lr en GI correspondiente a una desigualdad (8.12) violada end si end para end. El Paso 1. puede implementarse para funcionar en tiempo O(n2 p + mn2 ). El Paso 4. requiere un tiempo O(n2 ) si se utiliza el algoritmo de Dijkstra. Finalmente, el Paso 7. supone un tiempo O(n2 ) en el peor de los caso. Por lo tanto, la complejidad algor tmica 3 2 2 global es de orden O(n + n p + mn ). El procedimiento previo da (si existe) una desigualdad hueco impar violada de tipo (8.12). Para obtener desigualdades elevadas de tipo (8.13), usamos el siguiente m etodo

8.5. ALGORITMO HEUR ISTICOS

169

(v ease Caprara y Fischetti [CF96] para detalles). Cada arco de un hueco impar es o bien un par (xik , xhl ) con i = h, o bien un par (xik , y j ) con k Pj , y est a asociado como con la restricci on (8.8) para el cliente i en el primer caso, y con la restricci on (8.9) para el cliente i y la planta j en el segundo caso. Puede obtenerse a partir de un hueco impar en GI una desigualdad hueco impar elevada de tipo (8.13) aplicando la derivaci on de Chv atal-Gomory, combinando con coecientes 1 las restricciones asociadas con cada arco, 2 y luego redondeando por defecto los coecientes del lado izquierdo y la constante del lado derecho de la desigualdad resultante.

8.5

Algoritmo heur sticos

EL GUFLP busca un subconjunto S N de plantas que deber an abrirse, de manera que se maximice la funci on objetivo z (S ) := iM max{0, max{gik : Nk S }} j S fj . Mediante esta formulaci on combinatoria se pueden adaptar diversos algoritmos heur sticos del UFLP al GUFLP. El conocido algoritmo greedy para el UFLP se puede adaptar como sigue. Inicialmente, sea S := y S := . En cada iteraci on, la cantidad j := z (S {j }) z (S ) se calcula para cada planta j N \ S , y S := S {j }, donde j es tal que j = maxj N \S j . Si z (S ) z (S ) > 0 entonces S := S y se realiza otra iteraci on, en otro caso el algoritmo greedy se detiene con la soluci on S . Para el UFLP se conoce que la funci on objetivo z (S ) es submodular, esto es, z (S {j }) z (S ) z (R {j }) z (R) para todo j S y R S N \ {j } (v ease Cornuejols, Nemhauser y Wolsey [CNW91]). Ello implica que la soluci on S dada por el algoritmo greedy no puede mejorarse a nadiendo ning un subconjunto de plantas. Para el GUFLP, z (S ) no mantiene la propiedad de submodularidad ya que es posible tener una soluci on S que puede mejorarse s olo a nadiendo dos o m as plantas. Esto permite entonces modicar ligeramente el algoritmo anterior como sigue: si z (S ) z (S ) 0, dejamos S sin cambios y ejecutamos otra iteraci on; el procedimiento se detiene cuando S = N , siendo la soluci on S . La complejidad algor tmica global es de orden O(mn2 p). La heur stica de 2-intercambio comienza con un conjunto arbitrario S , usualmente obtenido mediante un algoritmo heur stico previo. En cada iteraci on busca 1. una planta j S tal que z (S \ {j }) > z (S ): si se encuentra tal j entonces S := S \ {j } y se ejecuta otra iteraci on; 2. una planta j S tal que z (S {j }) > z (S ): si se encuentra tal j entonces S := S {j } y se ejecuta otra iteraci on; 3. un par de plantas (j , j ), j S, j S , tal que z (S {j } \ {j }) > z (S ): si se encuentra tal par (j , j ) entonces S := S {j } \ {j } y se ejecuta otra iteraci on.

170

DE INDICES CAP ITULO 8. PROBLEMA DE SELECCION

El procedimiento se detiene cuando S permanece inalterado durante una iteraci on. La 3 complejidad global es de orden O(mn p). En cada paso del heur stico, el orden en el que las plantas se consideran se basa en el valor qj (j N ) que representa una estimaci on de la verosimilitud de tener la planta j abierta en una soluci on optima. Pueden denirse muchas posibles variantes y generalizaciones de estos dos simples algoritmos heur sticos. N otese que el GUFLP puede re-escribirse como el problema de determinar un subconjunto T P de conguraciones que maximice la funci on z (T ) := 5 max { 0 , max { g : k T }} f . Mediante esta nueva formulaci on se ik j kT Nk j iM pueden dise nar otros algoritmos heur sticos. En particular, consideramos las variantes de las heur sticas greedy y 2-intercambio, tratando con conguraciones en lugar de con plantas.

8.6

El algoritmo de ramicaci on y corte

En esta secci on describimos nuestro algoritmo enumerativo para la resoluci on exacta del GUFLP. Usaremos un esquema de ramicaci on y acotaci on, en el que las cotas superiores se calculan resolviendo una relajaci on lineal del problema. La relajaci on se fortalece iterativamente a nadiendo desigualdades v alidas al problema lineal del momento, seg un la t ecnica conocida como hiperplanos de corte. El m etodo en su globalidad se conoce com unmente como algoritmo de ramicaci on y corte (v ease Padberg y Rinaldi [PR91] para detalles). La Figura 8.6.1 muestra un diagrama de ujo muy resumido del algoritmo. La motivaci on para considerar este tipo de t ecnica basada en hiperplanos de corte se debe fundamentalmente a la discusi on que se presenta al nal de la Secci on 8.2.

Pre-procesamiento
Antes de comenzar propiamente el algoritmo de ramicaci on y corte, se aplica la siguiente t ecnica de reducci on: 1. Fijar a 0 toda variable x con un no-positivo benecio de transporte. 2. Eliminar todo cliente i con xik ja a 0 para todo k P . 3. Eliminar toda conguraci on k con xik ja a 0 para todo i M . 4. Eliminar toda conguraci on k tal que otra conguraci on l < k exista con Nk = Nl , y poner gil := max{gik , gil } para todo i M . 5. Eliminar toda planta j con Pj = .

Y CORTE 8.6. EL ALGORITMO DE RAMIFICACION

171

 

 

comienzo
?

pre-procesamiento
?

inicializaci on
? - LP solver: z  ?

separation
? Q  Q  Q 

Q Q  nuevos cortes?  Q Q  Q  Q  Q no ?

si

LP heur stica: z
 ? Q  Q Q

cambio de nodo 
6

no  Q z z?Q ramicaci on   Q Q
Q

 Q  Q ?si Q  Q Q no  si  Q Q  nuevos nodos? end  Q Q  Q   Q  Q

 

Figura 8.3: Diagrama de ujo del algoritmo de ramicaci on y corte

172

DE INDICES CAP ITULO 8. PROBLEMA DE SELECCION

6. Eliminar toda planta j con Pj = P . (En este caso, se tiene un nuevo ejemplo del GUFLP. Sea S el conjunto de plantas abiertas en una soluci on optima de este nuevo ejemplo, y sea z (S ) el correspondiente valor objetivo. Si z (S ) > fj entonces S {j } es una soluci on optima del ejemplo original, y z (S ) fj es el valor optimo. En otro caso, la soluci on optima se corresponde con no abrir ninguna planta, y tiene valor 0.)

Inicializaci on
Aplicando los procedimientos heur sticos de la Secci on 8.5 se calcula una soluci on heur stica inicial (x , y ) . El mejor valor z soluci on del GUFLP se inicializa con el correspondiente valor heur stico. El problema lineal (LP) inicial se crea considerando todas las variables no jadas, todas las restricciones (8.8), y una restricci on (8.9) para cada planta. Para evitar un problemas lineales no-acotados en las primeras iteraciones, se impone la cota superior 1 sobre todas las variables y . Finalmente, una estructura piscina donde se almacenar an todas las desigualdades que se consideren en el algoritmo, es inicializada con las restricciones (8.8) y (8.9).

LP-solver
Utilizando un resolutor de problemas lineales, se calculan el valor optimo z y la soluci on optima (x , y ) del problema lineal del momento. Si (x , y ) es factible para GUFLP o z z entonces el nodo del arbol decisional del momento se abandona. En otro caso, el problema lineal se reduce en las y columnas seg un las pautas siguientes. Eliminamos del problema lineal todas las variables con costo reducido c tal que z + c z . Adem as, eliminamos del problema lineal todas las restricciones con variable de holgura con valor mayor que un par ametro no-negativo MIN SLACK (=0.01 en nuestra implementaci on). Nunca eliminamos restricciones de la estructura piscina.

Separaci on
El objetivo de esta fase es fortalecer la relajaci on lineal del momento identicando desigualdades violadas. En nuestro algoritmo, desigualdad violada signica una desigualdad v alida x + y tal que x + y supera un cierto par ametro no-negativo MIN VIOLATION (=0.01). Comenzamos esta fase buscando desigualdades violadas entre las almacenadas en la estructura piscina. Si se encuentran algunas, la fase de separaci on naliza incorpor andolas al problema lineal del momento (pero nunca m as de MAX POOL CUTS (=200)). En otro

Y CORTE 8.6. EL ALGORITMO DE RAMIFICACION

173

caso, aplicamos el procedimiento de separaci on de la Secci on 8.4 para identicar desigualdades hueco impar (elevadas) violadas por la soluci on fraccionaria del momento (x , y ). Si se encuentra alguna, la fase de separaci on termina a nadiendo estas restricciones al problema lineal del momento (pero nunca m as de MAX HOLE CUTS (=100)). En otro caso, estimulados por el reciente trabajo de Ceria [C94], buscamos cortes de Gomory violados con un n umero de coecientes no nulos y lado derecho no mayor que MAX DENSITY (=n + m + p) y MAX RHS (=n + m + p), respectivamente. Si se encuentran algunos, se a naden al problema lineal del momento (pero nunca m as de MAX GOMORY CUTS (=10)), y se detiene la fase de separaci on. En otro caso, se ejecuta la fase de ramicaci on, y no a nadimos cortes de Gomory durante los pr oximos NO GOMORY NODES (=4) nodos del arbol decisional.

Ramicaci on
Cuando la relajaci on lineal del momento no puede mejorarse a nadiendo nuevas desigualdades, se sustituye el actual nodo del arbol decisional por otros dos nuevos (nodos hijos). En particular, se elige una planta j con el menor valor de |y j 0.5|, y se ja a 0 la variable y j en el primer nuevo nodo decisional, y a 1 en el segundo. Adem as en este u ltimo caso tambi en se jan a 0 todas las variables x asociadas con las conguraciones en Pj , debido a las restricciones (8.8).

Cambios de nodo decisional


El arbol decisional se explora siguiendo un esquema depth-rst scheme, es decir, usamos una estructura en pila para almacenar los nodos del arbol decisional que se van creando. Cada vez que se ejecuta la fase de ramicaci on, ponemos en el nal de la estructura en pila, primero el nodo originado de la restricci on y j = 1, y luego el nodo del arbol decisional originado de la restricci on y j = 0. La fase de cambio de nodo decisional toma el siguiente nodo a considerarse desde el nal de la estructura en pila.

Heur stica a partir del problema lineal


En un sentido, la soluci on fraccionaria del problema lineal del momento (x , y ) da informaci on u til para guiar la b usqueda de una buena soluci on del GUFLP (x , y ). Para explotar esta informaci on, usamos los procedimientos heur sticos de la Secci on 8.5. En particular, aplicamos el algoritmo greedy al subproblema en el que se jan a 0 todas las variables con valor 0 en (x , y ). Adem as, en la heur stica de 2-intercambio, las plantas se consideran seg un un orden basado en los valores de y ; dado que este procedimiento

174

DE INDICES CAP ITULO 8. PROBLEMA DE SELECCION

consume bastante tiempo de c alculo, s olo lo aplicamos al nal del examen de cada nodo decisional.

8.7

Resultados computacionales

Hemos implementado el algoritmo descrito en la Secci on 8.6 en el lenguaje de programaci on est andar C de Kernighan & Ritchie. Nuestro c odigo funciona sobre un ordenador Digital DECstation 5000/240 y sobre un Hewlett Packard Apollo 9000/720, usando CPLEX 2.1 como resolutor de problemas lineales. Hemos estudiado el comportamiento de nuestro programa sobre dos familias de problemas del GUFLP generados aleatoriamente. Puesto que el GUFLP fue inspirado por ISP, la generaci on fue dise nada expresamente para producir ejemplos test de estructura similar a la de los ejemplos del ISP de aplicaciones reales, seg un ideas de Caprara, Fischetti y Maio [CFM95]. En particular, en ambas familias tenemos muchos elementos gik = 0, es decir, la matriz de benecios es poco densa, como es caracter stica t pica del ISP. El generador aleatorio se ejecuta sobre el Hewlett Packard Apollo 9000/720 y utiliza la funci on rand() del sistema operativo HP-UX 9.0. Tambi en utiliza la funci on srand() para inicializar el generador con una determinada semilla s. Damos ahora descripciones en Pseudo-Pascal de los procedimientos que generan los ejemplos de la Clase A y B. Puesto que los ejemplos de la Clase B resultaron ser m as f aciles que los ejemplos de la Clase A, generamos mayores ejemplos de la Clase B que los ejemplos de la Clase A. Dado un conjunto nito S , la notaci on r := S signica que r se elige aleatoriamente entre los elementos en S , seg un una distribuci on de probabilidad (pseudo-)uniforme. Los ejemplos de la Clase A fueron generados como sigue procedure TYPE A GEN; begin m := 50; n := 50; p := 500; M := {1, . . . , m}; N := {1, . . . , n}; P := {1, . . . , p}; for j := 1 to n do fj := 100; for k := 1 to p do nk := {1, . . . , 5}; Nk := ; for j := 1 to nk do jk := (N \ Nk ); Nk := Nk {jk } end for; for i := 1 to m do gik := 0; comment: Mk es el conjunto de clientes servidos por la conguraci on k con un benecio de transporte positivo; mk := 5; Mk := ; for i := 1 to mk do ik := (M \ Mk ); Mk := Mk {ik };

8.7. RESULTADOS COMPUTACIONALES gik k := {1, . . . , tnk } end for end for end. mientras que los ejemplos de la Clase B se generaron como sigue

175

procedure TYPE B GEN; begin m := 100; n := 100; p := 0; M := {1, . . . , m}; N := {1, . . . , n}; P := ; for j := 1 to n do fj := 500; for i := 1 to m do comment: Ni es el conjunto de todas las plantas asociadas con conguraciones que sirven al cliente i con un benecio de transporte positivo; ni := 5; Ni := ; for j := 1 to ni do ji := (N \ Ni ); Ni := Ni {ji } end for; comment: pi es el n umero de conguraciones que sirven al cliente i con un benecio de transporte positivo; pi := 15; for k := 1 to pi do p := p + 1; P := P {p}; np := {1, . . . , 5}; Np := ; for j := 1 to np do jp := (Ni \ Np ); Np := Np {jp } end for; for h := 1 to m do ghp := 0; gip := {1, . . . , tnp } end for end for end. En ambos casos t representa un par ametro de entrada, y antes de salir limpiamos M , N y P borrando, respectivamente, los clientes que no pueden ser servidos por ninguna conguraci on, las plantas asociadas a ninguna conguraci on, y las conguraciones excedentes asociadas con el mismo conjunto de conjunto de plantas. Combinando s {111, 222, 333, 444, 555} y t {200, 175, 150, 125, 100, 75, 50}, hemos considerado 35 ejemplos para la Clase A. En cuanto a la Clase B, hemos elegido los valores de T en {132, 130, 128, 126, 124, 122, 120, 118}, puesto que para mayores valores de t conven a siempre abrir casi todas las plantas en la soluci on optima, mientras que para menores valores de t no conven a abrir ninguna planta. Las Tablas 8.1 y 8.2 muestra

176

DE INDICES CAP ITULO 8. PROBLEMA DE SELECCION

los resultados de nuestro algoritmo sobre los distintos ejemplos. Los tiempos se dan en segundos CPU del ordenador HP 9000/720 (80 MHz, 59 Specs, 58 MIPS, 18 Mops). Las columnas en estas tablas dan la siguiente informaci on: instance es el nombre del ejemplo en la forma is.t, donde s y t se corresponden con los valores de los par ametro de entrada usados para generar los ejemplos; p es el n umero de conguraciones; n es el n umero de plantas; m es el n umero de clientes; LB0 es el porcentaje raz on LB/(valor soluci on optima), donde LB es el inicial valor de una soluci on del GUFLP; o [LB] si el valor optimo es 0; UB0 es el porcentaje raz on UB/(valor soluci on optima), donde UB es el valor objetivo de la relajaci on lineal (8.7)-(8.10); o [UB] si el valor optimo es 0; t0 es el tiempo de ejecuci on al nal de la fase de inicializaci on; UB1 es el porcentaje raz on LPR/(valor soluci on optima), donde LPR es el valor objetivo de la relajaci on lineal al nal del nodo ra z; o [LPR] si el valor optimo es 0; t1 es el tiempo de ejecuci on al nal del nodo ra z; opti es el valor soluci on optima del GUFLP; plts es el n umero de plantas abiertas en la soluci on optima; t2 es el tiempo de ejecuci on cuando se alcanza la soluci on optima del GUFLP; basi es el n umero de desigualdades (8.10) distintas que se han considerado; hole es el n umero de desigualdades hueco impar (elevadas) distintas que se han considerado; gomo es el n umero de desigualdades de Gomory distintas que se han considerado. Por construcci on, todos los ejemplos producidos por nuestros generadores no vienen alterados durante el pre-procesamiento (el cual se toma sobre unos 0.05 segundos para contrastar cada ejemplo). Los ejemplos de la Clase B se presentan como m as f aciles de resolver por nuestro algoritmo incluso, a pesar de que en algunos casos la diferencia entre el valor optimo y la cota superior al nal del nodo ra z sea bastante grande, se precisan muy pocas ramicaciones para eliminar esta diferencia, Sin embargo, la clase A resulta m as dif cil de resolver, y tal dicultad aumenta a medida que se disminuye el valor del par ametro t: no fuimos capaces de resolver 4 sobre 5 ejemplos con t = 25 en nuestro

8.8. CONCLUSIONES

177

tiempo l mite (=50,000 segundos de CPU). La principal causa de este comportamiento se debe a la enorme diferencia entre el valor optimo y la cota superior que se tiene al nal del nodo ra z, y que no se logra disminuir signicativamente mediante la ramicaci on. Finalmente analizamos la ejecuci on de nuestro algoritmo cuando no se consideran en la fase de separaci on, o bien s olo los cortes de Gomory, o bien tanto los cortes de Gomory como las desigualdades hueco impar. Las Tablas 8.3 y 8.4 muestran los resultados Estas tablas contienen la siguiente informaci on: on lineal al nal del nodo ra z; LPR es el valor objetivo de la relajaci bran es el n umero de llamadas a la fase de ramicaci on; time es el tiempo total necesitado por el algoritmo. Para los ejemplos de la Clases A y B, el uso de las desigualdades hueco impar disminuye signicativamente el valor de la cota superior durante el nodo ra z. Adem as, para los ejemplos m as duros de la Clase A, la versi on en la que no se consideran las desigualdades hueco impar excede el tiempo l mite, o bien es en cualquier caso mucho m as lenta que la versi on original. Para los ejemplos de la Clase B, sin embargo, la versi on en la que las desigualdades hueco impar no se consideran, se presenta en muchos caso como la m as veloz. Esto se debe al hecho de que a menudo el valor de la cota superior se reduce dr asticamente tan pronto como se generan nuevos subproblemas tras ir imponiendo las condiciones de ramicaci on. Para todos los ejemplos para los que no se demuestra la optimalidad al nal del nodo ra z, el uso de cortes de Gomory disminuye el valor de la cota superior en una muy peque na cantidad, conllevando a menudo unos tiempos de ejecuci on muy superiores.

8.8

Conclusiones

Los resultados computacionales muestran que para algunos ejemplos, nuestro algoritmo produce una soluci on optima en poco tiempo de c alculo, mientras que para otros ejemplos se requiere un mayor esfuerzo. Para estos ejemplos dif ciles resultar a muy u til un procedimiento de elevaci on de desigualdades hueco impar m as sosticado, al tiempo que se deber an considerar otras nuevas familias de desigualdades v alidas en este mismo marco de una t ecnica de hiperplanos de corte. Tambi en, para estos ejemplos, nuestro algoritmo heur stico consume bastante tiempo de c alculo, y en mucho casos no tiene exito en la b usqueda de una soluci on optima (o pr oxima a la optima); se puede desarrollar nuevos trabajos adicionales en esta otra l nea de investigaci on. Ser a por supuesto de gran inter es contrastar nuestro c odigo sobre ejemplos del ISP reales, y estamos trabajando en ello.

178

DE INDICES CAP ITULO 8. PROBLEMA DE SELECCION

Instance i200.111 i200.222 i200.333 i200.444 i200.555 i175.111 i175.222 i175.333 i175.444 i175.555 i150.111 i150.222 i150.333 i150.444 i150.555 i125.111 i125.222 i125.333 i125.444 i125.555 i100.111 i100.222 i100.333 i100.444 i100.555 i075.111 i075.222 i075.333 i075.444 i075.555 i050.111 i050.222 i050.333 i050.444 i050.555

p 445 445 433 431 443 445 445 433 431 443 445 445 433 431 443 445 445 433 431 443 445 445 433 431 443 445 445 433 431 443 445 445 433 431 443

n 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50

m 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50

LB0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 99.9 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 99.6 100.0 100.0 100.0 99.5 99.7 99.3 99.4 99.1 98.9 99.6 97.6 98.2 98.4 97.5

UB0 100.0 100.0 100.0 100.0 100.1 100.0 100.0 100.0 100.0 100.4 100.8 100.8 100.0 100.4 101.3 102.1 102.0 100.4 101.7 102.6 103.9 104.0 102.4 104.0 104.6 107.1 107.0 105.8 107.6 107.8 116.0 116.1 113.4 116.9 116.3

t0 1.4 1.3 1.2 1.3 1.5 1.5 1.5 1.5 1.4 1.5 1.7 2.1 1.8 1.6 1.7 1.7 2.0 1.6 2.0 1.9 2.4 2.4 1.9 2.3 2.4 2.5 3.0 2.2 2.5 2.5 4.8 3.4 4.1 5.4 4.2

UB1 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.2 100.1 100.0 100.4 100.4 102.4 102.1 100.7 102.9 102.3 108.7 108.3 106.3 109.7 109.3

t1 1.4 1.3 1.2 1.3 1.6 1.5 1.7 1.5 1.4 2.1 2.3 3.0 1.8 2.3 3.2 4.7 4.7 1.8 4.8 9.4 47.7 45.4 5.0 50.3 43.8 85.1 86.3 60.8 92.8 92.2 157.0 142.6 141.0 153.0 150.0

opti 41755 40699 41012 38976 41398 35975 35039 35340 33537 35670 30195 29428 29688 28126 29923 24415 23847 24025 22680 24211 18704 18217 18358 17269 18536 13027 12697 12740 11963 12903 7478 7305 7292 6836 7377

plts 46 46 45 47 46 46 45 44 46 46 46 43 44 46 46 46 43 44 46 45 41 43 44 45 41 39 37 37 37 40 35 35 37 34 37

t2 0.5 0.5 1.2 0.4 0.5 0.5 0.6 1.5 0.5 0.5 0.6 1.1 1.0 0.5 0.5 0.5 0.8 0.7 0.5 0.6 47.7 1.1 0.7 0.9 77.4 101.2 567.4 91.7 500.9 121.3 336.3 1787.2 141.0 645.1 1024.3

basi 2391 2375 2374 2357 2366 2391 2375 2374 2357 2366 2391 2375 2374 2357 2366 2391 2375 2374 2357 2366 2391 2375 2374 2357 2366 2391 2375 2374 2357 2366 2391 2375 2374 2357 2366

hole 0 0 0 0 11 0 13 0 0 48 74 86 0 67 90 156 119 45 136 234 559 531 151 625 571 1733 1978 704 2130 1692 8629 8621 3737 9799 10512

gomo 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 40 0 24 60 241 261 40 308 330 1336 1236 384 1316 2179

Tabla 8.1: Resultados computacionales sobre los ejemplos de la Clase A.

8.8. CONCLUSIONES

179

Instance i132.111 i132.222 i132.333 i132.444 i132.555 i130.111 i130.222 i130.333 i130.444 i130.555 i128.111 i128.222 i128.333 i128.444 i128.555 i126.111 i126.222 i126.333 i126.444 i126.555 i124.111 i124.222 i124.333 i124.444 i124.555 i122.111 i122.222 i122.333 i122.444 i122.555 i120.111 i120.222 i120.333 i120.444 i120.555 i118.111 i118.222 i118.333 i118.444 i118.555

p 955 940 928 928 915 955 940 928 928 915 955 940 928 928 915 955 940 928 928 915 955 940 928 928 915 955 940 928 928 915 955 940 928 928 915 955 940 928 928 915

n 100 98 100 99 100 100 98 100 99 100 100 98 100 99 100 100 98 100 99 100 100 98 100 99 100 100 98 100 99 100 100 98 100 99 100 100 98 100 99 100

m 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100

LB0 96.0 98.8 95.1 89.6 97.2 93.7 98.2 92.9 86.8 95.0 89.3 97.8 89.8 81.9 90.4 79.5 96.6 92.3 75.3 90.6 51.8 94.7 76.4 62.6 77.8 0.0 89.9 35.7 37.6 0.0 0.0 67.4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

UB0 105.3 100.0 104.6 100.3 104.1 114.2 100.3 111.0 100.7 109.9 130.3 105.1 123.8 102.4 121.2 162.4 113.5 147.6 110.6 144.1 248.9 131.0 201.6 123.6 201.6 1412.7 174.5 422.6 148.0 584.1 [1076.3] 340.2 815.8 227.4 [1020.1] [780.2] [1233.1] 788.5 877.4 [685.9]

t0 7.8 6.4 15.1 7.3 5.5 8.2 7.2 15.3 7.7 6.6 8.9 8.3 15.3 8.1 6.8 9.0 8.6 16.3 8.0 7.5 8.9 11.3 11.2 7.8 7.6 9.4 10.8 11.2 8.2 9.7 9.5 10.9 11.7 8.2 9.8 9.8 11.5 11.3 8.6 9.8

UB1 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 104.4 100.0 100.0 100.0 100.0 111.9 100.0 100.0 100.0 100.0 151.3 100.0 121.2 100.0 117.7 648.1 115.8 193.6 100.0 244.1 [241.2] 160.2 184.5 112.3 [109.3] [0.0] [405.4] 100.0 177.4 [0.0]

t1 12.4 6.4 18.1 7.8 8.5 19.2 8.4 22.6 8.1 30.1 60.9 13.3 31.1 9.4 47.3 54.5 18.9 54.2 10.3 50.4 57.5 91.4 90.8 44.6 67.7 80.0 77.6 119.4 57.2 60.0 72.9 115.2 93.7 78.9 76.8 44.3 67.5 41.8 116.2 28.0

opti 3317 4600 3455 4512 3450 2651 3898 2860 3878 2794 1985 3158 2222 3212 2141 1320 2497 1606 2571 1484 701 1815 997 1961 860 99 1121 392 1347 235 0 466 159 709 0 0 0 120 148 0

plts 83 86 75 78 89 83 86 75 78 80 78 85 75 76 80 78 81 75 76 78 78 81 75 72 76 71 81 75 72 76 0 76 4 72 0 0 0 4 68 0

t2 12.4 6.4 18.1 7.8 8.5 19.2 8.4 22.6 8.1 30.1 72.3 13.3 31.1 9.4 47.3 71.1 18.9 54.2 10.3 50.6 80.1 91.4 116.9 44.6 83.4 155.2 100.6 157.9 57.2 96.2 72.9 137.2 141.5 81.9 76.8 44.3 67.5 41.8 132.8 28.0

basi 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500

hole 81 0 62 2 70 116 37 113 2 170 281 93 139 38 262 246 118 207 68 226 314 211 348 182 330 327 345 314 285 343 309 345 437 326 330 292 356 317 439 267

gomo 0 0 0 0 0 0 0 0 0 80 80 0 0 0 80 60 0 40 0 60 40 100 60 119 44 80 81 180 80 84 60 90 60 100 41 0 40 0 60 0

Tabla 8.2: Resultados computacionales sobre los ejemplos de la Clase B.

180

DE INDICES CAP ITULO 8. PROBLEMA DE SELECCION

holes gomory instance i200.111 i200.222 i200.333 i200.444 i200.555 i175.111 i175.222 i175.333 i175.444 i175.555 i150.111 i150.222 i150.333 i150.444 i150.555 i125.111 i125.222 i125.333 i125.444 i125.555 i100.111 i100.222 i100.333 i100.444 i100.555 i075.111 i075.222 i075.333 i075.444 i075.555 i050.111 i050.222 i050.333 i050.444 i050.555

LPR 41755.0 40699.0 41012.0 38976.0 41398.0 35975.0 35039.0 35340.0 33537.0 35670.0 30195.0 29428.0 29688.0 28126.0 29923.0 24415.0 23847.0 24025.0 22680.0 24211.0 18745.3 18233.2 18358.0 17330.3 18613.4 13336.5 12963.5 12834.2 12304.3 13195.1 8126.3 7912.1 7754.9 7496.3 8064.9

yes yes bran 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 3 5 28 31 4 39 32 266 253 72 317 406

time 1.34 1.21 1.06 1.11 1.61 1.46 1.65 1.38 1.22 2.09 2.32 2.96 1.68 2.25 3.22 4.59 4.67 1.73 4.74 9.31 55.55 45.57 4.88 72.36 86.98 674.47 763.66 112.98 967.69 745.16 8276.28 8784.04 2311.93 10824.70 13004.22 ( : se ha

LPR 41755.0 40699.0 41012.0 38976.0 41398.0 35975.0 35039.0 35340.0 33537.0 35670.0 30195.0 29428.0 29688.0 28126.0 29923.0 24415.0 23847.0 24025.0 22680.0 24211.0 18747.2 18236.1 18358.0 17332.1 18621.8 13339.3 12966.1 12837.1 12306.8 13198.5 8138.0 7914.8 7756.5 7500.0 8066.0 excedido

yes no bran time 0 1.40 0 1.21 0 1.05 0 1.14 0 1.59 0 1.42 0 1.66 0 1.38 0 1.22 0 2.10 0 2.33 0 3.00 0 1.70 0 2.28 0 3.27 0 4.72 0 5.03 0 1.76 0 4.66 0 9.66 2 50.52 1 36.41 0 5.02 2 58.46 5 71.14 21 497.25 20 501.91 4 100.90 41 887.00 29 601.24 288 7528.05 278 7565.24 78 2265.61 363 10197.02 472 11045.34 el tiempo l mite.)

LPR 41755.0 40699.0 41012.0 38976.0 41439.5 35975.0 35042.0 35340.0 33537.0 35829.0 30422.5 29665.0 29688.0 28246.5 30318.5 24931.0 24314.5 24110.5 23061.0 24846.5 19434.5 18952.0 18790.0 17959.8 19384.0 13953.5 13587.5 13481.0 12870.5 13915.5 8675.1 8481.8 8266.7 8675.1 8481.8

no no bran 0 0 0 0 1 0 1 0 0 4 9 8 0 3 11 72 29 3 27 49 423 298 37 339 384 3176 3286 721 4471 4853 24103 22484 8849 24103 22484

time 1.36 1.23 1.06 1.14 1.39 1.43 1.30 1.34 1.21 5.05 5.66 9.81 1.68 3.94 12.62 67.65 40.19 3.12 25.77 56.09 473.70 352.28 39.58 476.00 427.19 5352.37 4624.73 900.38 8324.17 7652.03 50000.00 50000.00 19236.57 50000.00 50000.00

Tabla 8.3: Comparando tres relajaciones lineares sobre los ejemplos de la Clase A.

8.8. CONCLUSIONES

181

holes gomory instance i132.111 i132.222 i132.333 i132.444 i132.555 i130.111 i130.222 i130.333 i130.444 i130.555 i128.111 i128.222 i128.333 i128.444 i128.555 i126.111 i126.222 i126.333 i126.444 i126.555 i124.111 i124.222 i124.333 i124.444 i124.555 i122.111 i122.222 i122.333 i122.444 i122.555 i120.111 i120.222 i120.333 i120.444 i120.555 i118.111 i118.222 i118.333 i118.444 i118.555

LPR 3317.0 4600.0 3455.0 4512.0 3450.0 2651.0 3898.0 2860.0 3878.0 2794.0 2072.7 3158.0 2222.0 3212.0 2141.0 1476.8 2497.0 1606.0 2571.0 1484.2 1060.9 1815.0 1208.1 1961.0 1011.9 641.6 1297.6 758.9 1347.0 573.6 241.2 746.7 293.4 796.3 109.3 0.0 405.4 120.0 262.6 0.0

yes yes bran 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 3 0 0 0 1 5 0 4 0 3 5 3 6 0 5 3 4 3 1 2 0 4 0 2 0

time 12.44 6.46 18.09 7.76 8.48 19.21 8.40 22.59 8.15 30.10 79.56 13.27 31.12 9.37 47.33 90.95 18.94 54.25 10.35 51.41 116.28 91.40 156.33 44.58 106.81 159.73 129.89 197.62 57.23 155.90 103.70 152.50 141.53 90.29 99.41 44.27 134.58 41.83 148.63 28.03

LPR 3317.0 4600.0 3455.0 4512.0 3450.0 2651.0 3898.0 2860.0 3878.0 2864.6 2086.8 3158.0 2222.0 3212.0 2311.3 1486.7 2497.0 1613.0 2571.0 1495.9 1067.0 1921.2 1232.7 2124.2 1028.4 658.3 1335.0 837.9 1640.4 583.6 263.1 802.6 324.6 1116.8 129.5 0.0 417.1 120.0 290.3 0.0

yes no bran 0 0 0 0 0 0 0 0 0 2 2 0 0 0 4 3 0 1 0 1 3 1 3 2 2 5 2 4 4 4 3 6 2 3 2 0 4 0 3 0

time 12.48 6.46 18.10 7.77 8.48 19.25 8.42 22.52 8.18 24.87 66.02 13.29 31.19 9.38 43.72 81.48 19.01 50.99 10.34 32.97 75.19 50.93 89.81 33.04 65.30 108.15 64.13 134.47 27.49 97.12 89.86 128.24 88.10 37.10 75.75 44.31 105.64 41.88 95.46 27.98

LPR 3491.7 4600.0 3613.4 4523.5 3590.5 3027.4 3909.9 3175.7 3907.0 3072.0 2586.4 3318.2 2750.4 3290.2 2595.7 2143.6 2834.2 2370.0 2843.8 2138.4 1744.9 2377.0 2009.9 2423.9 1734.1 1398.6 1956.2 1656.7 1993.3 1372.6 1076.3 1585.4 1297.1 1612.1 1020.1 780.2 1233.1 946.2 1298.6 685.9

no no bran 5 0 3 1 5 12 1 5 1 6 13 12 13 1 6 11 8 11 5 8 16 15 13 7 9 31 20 14 11 14 10 25 14 15 16 10 13 9 13 7

time 27.14 6.46 34.53 9.86 21.44 22.40 10.72 33.92 10.24 34.20 22.47 59.70 31.83 13.24 12.08 17.89 36.97 29.83 42.65 13.55 23.69 34.63 24.68 37.37 13.23 37.48 26.59 25.12 19.24 20.06 15.63 30.42 28.76 19.51 24.41 17.66 23.60 21.70 18.39 13.57

Tabla 8.4: Comparando tres relajaciones lineales sobre ejemplos de la Clase B.

Bibliograf a
[AMO89] R.K. Ahuja, T.L. Magnanti, J.B. Orlin, Network Flows, in G.L. Nemhauser, A.H.G. Rinnooy Kan, M.J. Todd (Editors), Optimization, vol. I, North-Holland (1989) 211370. [A89] J.R. Araque, Contributions to the polyhedral approach to vehicle routing, Ph.D. Dissertation, State University of New York, 1989.

[AKMP94] J.R. Araque, G. Kudva, T.L. Morin, J.F. Pekny, A branch-and-cut algorithm for vehicle routing problems, Annals of Operations Research 50 (1994) 3759. [BG82] A. Bachem, M. Gr otschel, New aspects of polyhedral theory, in B. Korte (Editor), Modern Applied Mathematics, Optimization and Operations Research, North-Holland, Amsterdam, 1982. [B89] [B93a] [B93b] [BF92] [BF93] E. Balas, The Prize Collecting Traveling Salesman Problem, Networks 19 (1989) 621636. E. Balas, The Prize Collecting Traveling Salesman Problem: II. Polyhedral Results, working paper, Carnegie Mellon University, July 1993. E. Balas, On the Cycle Polytope of a Directed Graph, working paper, Carnegie Mellon University, July 1993. E. Balas, M. Fischetti, The Fixed-Outdegree 1-Arborescence Polytope, Mathematics of Operations Research 17 (1992) 10011018. E. Balas, M. Fischetti, A Lifting Procedure for the Asymmetric Traveling Salesman Polytope and a Large New Class of Facets, Mathematical Programming 58 (1993) 325352. E. Balas, M.W. Padberg, Set Partitioning: A survey, SIAM Review 18 (1976) 710760. P. Bauer, The Circuit Polytope: Facets, working paper, University of K oln, March 1994. 183

[BP76] [B94]

184

BIBLIOGRAF IA

[BK77] O. Bilde, J. Krarup, Sharp Lower Bounds and Ecient Algorithms for the Simple Plant Location Problem, Annals of Discrete Mathematics 1 (1977) 79 97. [ESI95] M.H. Bjorndal, A. Caprara, P.I. Cowling, F. Della Croce, H. Louren co, F. Malucelli, A.J. Orman, D. Pisinger, C. Rego, J.J. Salazar, Some thoughts on combinatorial optimisation, European Journal of Operational Research 83 (1995) 253270. [CF96] A. Caprara, M. Fischetti, 0-1/2 Chv atal-Gomory Cuts, Mathematical Programming (to appear) (1996).

[CFM95] A. Caprara, M. Fischetti, D. Maio, Exact and Approximate Algorithms for the Index Selection Problem in Physical Database Design, IEEE Transactions on Knowledge and Data Engineering 7 (1995) 955967. [CS96a] A. Caprara, J.J. Salazar, A Branch-and-Cut Algorithm for a Generalization of the Uncapacitated Facility Location Problem, TOP 4/1 (1996) 135163. [CS96b] A. Caprara, J.J. Salazar, Separating lifted odd-hole inequalities to solve the index selection problem, Discrete Applied Mathematics 92 (1999) 111134. [CFT89] G. Carpaneto, M. Fischetti, P. Toth, New Lower Bounds for the Symmetric Travelling Salesman Problem, Mathematical Programming 45 (1989) 233254. [CCE85] B.D. Causey, L.H. Cox, L.R. Ernst, Applications of Transportation Theory to Statistical Problem, Journal of the American Statistical Association, Vol. 80, No. 392 (1985) 903909. [C94] S. Ceria, Solving Mixed Integer Programs with General Cutting Planes, talk presented at the workshop Solving Large and Complex Combinatorial Optimization Problems, Giens, May 1994.

[CJPR83] D.C. Cho, E.L. Johnson, M.W. Padberg, M.R. Rao, On the Uncapacitated Plant Location Problem. I: Valid Inequalities and Facets, Mathematics of Operations Research 8 (1983) 579589. [CPR83] D.C. Cho, M.W. Padberg, M.R. Rao, On the Uncapacitated Plant Location Problem. II: Facets and Lifting Theorems, Mathematics of Operations Research 8 (1983) 590612. [C85] N. Christodes, Vehicle routing, in: E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys (eds.), The Traveling Salesman Problem. A Guided Tour of Combinatorial Optimization, Wiley, Chichester, (1985) 431448.

[CMT79] N. Christodes, A. Mingozzi, P. Toth, The vehicle routing problem, in: N. Christodes, A. Mingozzi, P. Toth, C. Sandi (eds.), Combinatorial Optimization, Wiley, Chichester, (1979) 315338.

BIBLIOGRAF IA [CC90]

185

A.R. Conn, G. Cornuejols, A Projection Method for the Uncapacitated Facility Location Problem, Mathematical Programming 46 (1990) 273298.

[CCPS95] W. Cook, W.H. Cunningham, W.R. Pulleyblank, A. Schrijver, Combinatorial Optimization, working book, 1995. [CH93] G. Cornuejols, F. Harche, Polyhedral study of the capacitated vehicle routing problem, Mathematical Programming 60 (1993) 2152.

[CNW91] G. Cornuejols, G.L. Nemhauser, L.A. Wolsey, The Uncapacitated Facility Location Problem, in P.B. Mirchandani, R.L. Francis, Discrete Location Theory, John Wiley, 1991. [CT82a] G. Cornuejols, J.M. Thizy, Some Facets of the Simple Plant Location Polytope, Mathematical Programming 23 (1982) 5074. [CT82b] G. Cornuejols, J.M. Thizy, A Primal Approach to the Simple Plant Location Problem, SIAM Journal on Algebraic and Discrete Methods 3 (1982) 504510. [CP89] [C87] [C92] C.R. Coullard, W.R. Pulleyblank, On Cycle Cones and Polyhedra, Linear Algebra and its Applications 114/115 (1989) 613640. L.H. Cox, A Constructive Procedure for Unbiased Controlled Rounding, Journal of the American Statistical Association, Vol. 82, No. 398 (1987) 520524. L.H. Cox, Solving Condentiality Protection Problems in Tabulations using Network Optimization: A Network Model for Cell Suppression in U.S. Economic Censuses, working paper, U.S. Bureau of the Census, Washington, 1992.

[CJP83] H.P. Crowder, E.L. Johnson, M.W. Padberg, Solving Large-Scale Zero-One Linear Programming Problems, Operations Research 31 (1983) 803834. [E78] [FJ81] D. Erlenkotter, A Dual-Based Procedure for Uncapacitated Facility Location, Operations Research 26 (1978) 9921009. G.N. Frederickson, J. JaJa, Approximation algorithms for Several Graph Augmentation Problems, SIAM Journal on Computing 2 (1981) 270283.

[FST88] S. Finkelstein, M. Schkolnick, P. Tiberio, Physical Database Design for Relational Databases, ACM Transactions on Database Systems 13 (1988) 91128. [FS95] M. Fischetti, J.J. Salazar, T ecnicas Poli edricas para Garantizar la Privacidad en Tablas Estad sticas P ublicas, working paper, University of La Laguna, October 1995.

[FST94] M. Fischetti, J.J. Salazar, P. Toth, On the Cycle Polytope of a Undirected Graph, working paper, University of Bologna, Aprile 1994.

186

BIBLIOGRAF IA

[FST95a] M. Fischetti, J.J. Salazar, P. Toth, The Symmetric Generalized Travelling Salesman Polytope, Networks 26 (1995) 113-123. [FST95b] M. Fischetti, J.J. Salazar, P. Toth, Solving the Orienteering Problem through Branch-and-Cut, INFORMS Journal on Computing 10/2 (1998) 133148. [FST95c] M. Fischetti, J.J. Salazar, P. Toth, Experiments with a multi-commodity formulation for the Symmetric Capacitated Vehicle Routing Problem, Proceedings of the 3rd Meeting of the EURO Working Group on Transportation, Barcelona 1995. [FST96] M. Fischetti, J.J. Salazar, P. Toth, A Branch-and-Cut Algorithm for the Symmetric Generalized Travelling Salesman Problem, Operations Research 45/3 (1997) 378394. [FT88] M. Fischetti, P. Toth, An Additive Approach for the Optimal Solution of the Prize-Collecting Travelling Salesman Problem in B.L. Golden and A.A. Assad (Editors), Vehicle Routing: Methods and Studies, North-Holland (1988) 319343. M. Fischetti, P. Toth, A Branch-and-Cut Algorithm for Solving Hard Instances of the Asymmetric Traveling Salesman Problem, working paper, University of Bologna, November 1992.

[FT92]

[FTV94] M. Fischetti, P. Toth, D. Vigo, A Branch-and-Bound Algorithm for the Capacitated Vehicle Routing Problem on Directed Graphs, Operations Research 42 (1994) 846859. [F94] M.L. Fisher, Optimal Solution of Vehicle Routing Problems using minimum k-Trees, Operations Research 42 (1994) 626642.

[GLS96] M. Gendreau, G. Laporte, F. Semet, The Covering Tour Problem, to appear in Operations Research, 1996. [G92] J. Geurts, Heuristics for Cell Suppression in Tables, working paper, Netherlands Central Bureau of Statistics, Voorburg, September 1992.

[GA88] B.L. Golden, A.A. Assad, Vehicle Routing: Methods and Studies, North-Holland, Amsterdam, 1988. [GLV87] B.L. Golden, L. Levy, R. Vohra, The Orienteering Problem, Naval Research Logistics 34 (1987) 307318. [GS85] B.L. Golden, W.R. Stewart, Empirical analysis of heuristics, Chapter 7 in E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys (Editors), The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization, Wiley, 1985.

BIBLIOGRAF IA

187

[GWL88] B.L. Golden, Q. Wang, L. Liu, A Multifaceted Heuristic for the Orienteering Problem, Naval Research Logistics 35 (1988) 359366. [GH61] R.E. Gomory, T.C. Hu, Multi-Terminal Network Flows, SIAM Journal 9 (1961) 551570. [G85] M. Gr otschel, Polyhedral Combinatorics, Chapter 1 in M. OhEigeartaigh, J.K. Lenstra, A.H.G. Rinnooy Kan (Editors), Combinatorial Optimization - Bibliography, John Wiley & Sons, 1985.

otschel, O. Holland, Solution of Large-Scale Symmetric Travelling Sales[GH91] M. Gr man Problems, Mathematical Programming 51 (1991) 141202. [GL93] M. Gr otschel, L. Lov asz, Combinatorial Optimization: A Survey, DIMACS Technical Report 93-29, May 1993.

[GLS88] M. Gr otschel, L. Lov asz, A. Schrijver, Geometric Algorithms and Combinatorial Optimization, Springer-Verlang, 1988. [GP85] M. Gr otschel, M.W. Padberg, Polyhedral theory, Chapter 8 in E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys (Editors), The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization, Wiley, 1985. M. Guignard, Fractional Vertices, Cuts and Facets of the Simple Plant Location Problem, Mathematical Programming Study 12 (1980) 150162. D. Guseld, A Graph Theoretic Approach to Statistical Data Security, SIAM Journal on Computing, Vol. 17, No. 3 (1988) 552571. L. Hall, Two topics in discrete optimization: Polyhedral structure of capacitated trees and approximation algorithms for scheduling, Ph.D. Dissertation, M.I.T., 1989.

[G80] [G88] [G89]

[HK71] M. Held, R.M. Karp, The Traveling Salesman Problem and Minimum Spanning Trees: Part II, Mathematical Programming 1 (1971) 625. [HP93] K.L. Homan, M. Padberg, Solving Airline Crew Scheduling Problems by Branch-and-Cut, Management Science, Vol. 39, No. 6 (1993) 657682.

[JRR92] M. J unger, G. Reinelt, G. Rinaldi, The Travelling Salesman Problem, in Handbook in Operations Research and Management Science: Network Models (eds. M.O. Ball, T.L. Magnanti, C.L. Monma, G.L. Nemhauser), Elsevier, Amsterdam, 1995. [KGA91] J.P. Kelly, B.L. Golden, A.A. Assad, Cell Suppression: Disclosure Protection for Sensitive Tabular Data, working paper, University of Maryland, 1991.

188 [KP83] [K56] [L92]

BIBLIOGRAF IA J. Krarup, P.M. Pruzan, The Simple Plant Location Problem: Survey and Synthesis, European Journal of Operational Research 12 (1983) 3681. J.B. Kruskal, On the Shortest Spanning Subtree of a Graph and the Traveling Salesman Problem, Proc. AMS 7 (1956) 4850. G. Laporte, The Vehicle Routing Problem: An overview of exact and approximate algorithms, European Journal of Operational Research 59 (1992) 345358.

[LM90] G. Laporte, S. Martello, The Selective Traveling Salesman Problem, Discrete Applied Mathematics 26 (1990) 193207. [LMN87] G. Laporte, H. Mercure, Y. Nobert, Generalized Travelling Salesman Problem through n sets of nodes: the asymmetrical case, Discrete Applied Mathematics 18 (1987) 185197. [LN83] [LN84] [LN87] G. Laporte, Y. Nobert, Generalized Travelling Salesman through n sets of nodes: an integer programming approach, INFOR 21 (1983) 6175. G. Laporte, Y. Nobert, Comb inequalities for the vehicle routing problem, Methods of Operations Research 51 (1984) 271276. G. Laporte, Y. Nobert, Exact algorithms for the vehicle routing problem, in: S. Martello, G. Laporte, M. Minoux, C. Ribeiro (eds.), Surveys in Combinatorial Optimization, North-Holland, Amsterdam, (1987) 147184.

[LND85] G. Laporte, Y. Nobert, M. Desrochers, Optimal routing under capacity and distance restrictions, Operations Research 33 (1985) 10501073. [LLRS85] E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys (Editors), The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization, Wiley, 1985. [LR94] A.C. Leifer, M.B. Rosenwein, Strong Linear Programming Relaxations for the Orienteering Problem, European Journal of Operations Research 73 (1994) 517 523.

[MT90] S. Martello, P. Toth, Knapsack Problems: Algorithms and Computer Implementations, John Wiley & Sons, Chichester, 1990. [NR93] D. Naddef, G. Rinaldi, The graphical relaxation: A new framework for the Symmetric Traveling Salesman Polytope, Mathematical Programming 58 (1993) 5388. [NS92] G.L. Nemhauser, G. Sigismondi, A Strong Cutting Plane/Branch-and-Bound Algorithm for Node Packing, Journal of Operational Research Society 43 (1992) 443457.

BIBLIOGRAF IA

189

[NW88] G.L. Nemhauser, L.A. Wolsey, Integer and Combinatorial Optimization, Wiley, New York, 1988. [N88] C.E. Noon, The Generalized Traveling Salesman Problem. Unpublished Dissertation, Department of Industrial and Operations Research, University of Tennessee, 1988. C.E. Noon, J.C. Bean, A Lagrangian Based Approach for the Asymmetric Generalized Traveling Salesman Problem, Operations Research 39 (1991) 623 632. C.E. Noon, J.C. Bean, An Ecient Transformation of the Generalized Traveling Salesman Problem, INFOR 31 (1993) 3944. M.W. Padberg, On the Facial Structure of Set Packing Problems, Mathematical Programming 5 (1973) 199215. M.W. Padberg, A note on zeroone programming, Operations Research 23 (1975) 833837. M.W. Padberg, M. Gr otschel, Polyhedral computations, Chapter 9 in E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys (Editors), The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization, Wiley, 1985. M.W. Padberg, M.R. Rao, Odd Minimum Cut-Sets and b-Matchings, Mathematics of Operations Research 7/1 (1982) 6780. M.W. Padberg, G. Rinaldi, Optimization of a 532-city Symmetric Traveling Salesman Problem, Operations Research Letters 6 (1987) 17. M.W. Padberg, G. Rinaldi, Facet Identication for the Symmetric Traveling Salesman Polytope, Mathematical Programming 47 (1990) 219257. M.W. Padberg, G. Rinaldi, A Branch-And-Cut Algorithm for the Resolution of Large-Scale Symmetric Traveling Salesman Problems, SIAM Review 33 (1991) 60-100. W.R. Pulleyblank, Polyhedral Combinatorics, in A. Bachem, M. Gr otschel, B. Korte (Editors), Mathematical Programming. The State of the Art, Bonn, 1982. W.R. Pulleyblank, Polyhedral Combinatorics, Chapter 5 in G.L. Nemhauser, A.H.G. Rinnooy Kan, M.J. Todd (Editors), Handbooks in Operations Research and Management Science Vol.1 Optimization, North-Holland, 1991.

[NB91]

[NB89] [P73] [P75] [PG85]

[PR82] [PR87] [PR90] [PR91]

[P82] [P91]

[RYK92] R. Ramesh, Yong-Seok Yoon, Mark H. Karwan, An Optimal Algorithm for the Orienteering Tour Problem, ORSA Journal on Computing 4/2 (1992) 155165.

190 [R91]

BIBLIOGRAF IA G. Reinelt, TSPLIB - A Traveling Salesman Problem Library, ORSA Journal on Computing 3 (1991) 376384.

[BM85] ROLL-A-ROUND: Software Package for Scheduling the Rounds of a Rolling Mill, Copyright Balas and Martin Associates, Pittsburgh, PA. [S92] [S86] [S91] [S79] [T89] J.J. Salazar, Algoritmi per il problema del Commesso Viaggiatore Generalizzato, PhD Dissertation, Royal Spanish College in Bologna, Italy, 1992. A. Schrijver, Theory of Linear and Integer Programming, John Wiley & Sons, Chichester, 1986. M.M. Sepehri, The Symmetric Generalized Travelling Salesman Problem, PhD Dissertation, University of Tennessee, Knoxville, 1991. P.D. Seymour, Sums of circuits, Graph Theory and Related Topics (J.A. Bondy and U.S.R. Murty, Eds.), Academic, New York (1979) 341355. T. Tsiligirides, Heuristic Methods Applied to Orienteering, J. Opl. Res. Soc. 35/9 (1984) 797809.

[WW94] A.G. de Waal, L.C.R.J. Willenborg, Minimizing the Number of Local Suppressions in a microdata Set, working paper, Netherlands Central Bureau of Statistics, 1994.

También podría gustarte