UNIVERSIDAD COMPLUTENSE DE MADRID FACULTAD DE MATEMATICAS Departamento de Estadística e Investigación Operati~a ~ECORTES LAGRANGIANOS FUERTES EN LA RESOLUCIO~ DEL PROBLEMA DEL ORDENAMIENTO SECUENCIAL M. Teresa Ortuño Sánchez UD’I~ ID %1I ID U~ m IflWII~ I ~ \I~ U 530954204 8~ 2¿t ea; UNIVERSIDAD COMPLUTENSE DE MADRID FACULTAD DE CIENCIAS MATEMATICAS Departamento de Estadística e Investigación Operativa SOBRE CORTES LAGRANG ¡ANOS FUERTES EN LA RESOLUCION DEL PROBLEMA DEL ORDENAMIENTO SECUENCIAL M. Teresa Ortuño Sánchez iINIIUIDHlU 5309 542048* UNIVERSIDAD COMPLUTENSE Memoria para optar al grado de E actor en Ciencias Matemáticas, reaJ izada bajo la dirección del Dr. D. Laureano Escudero Bueno. Madrid, Marzo 1995 D. LAUREANO ESCUDERO BUENO, PROFESOR DEL DEPARTAMENTO O]E ESTADíSTICA E INVESTIGACION OPERATIVA DE LA UNIVERSIDAI COMPLUTENSE DE MADRID. CERTIFICO: Que la presente memoria titulada: SOBRE CORTES LAGRANGIANOS FUERTES EN LA RESOLUCION DEI PROBLEMA DEL ORDENAMIENTO SECUENCIAL ha sido realizada Ciencias bajo Matemáticas constituye mi dirección Dña. M. Teresa por la Licenciada ei Sánchez, y Ortuño II su Tesis para optar al grado de Doctor en Ciencia c Matemáticas. Y vigente para que conste, y a los efectos en cumplimiento que haya lugar, Madrid a 28 de Marzo de 1995. de firmo la legislaciói el presente ei ¡ u u u u u ¡ u u u u u E u u u u u u u ¡ A mis padres. AGRADECIMIENTOS No quisiera profesor L. trabajo, por orientaciones, trabajar comenzar esta Escudero, haber bajo cuya hecho posible enseñanzas a su lado memoria sin expresar y su dirección la ha sido elaboración inestimable ha sido una fuente del ayuda. mi gratitud realizado mismo La al este con sus posibilidad de enriquecimiento de constante durante los años de elaboración de esta memoria. Agradezco también al Departamento de Estadística Operativa, a sus directores P. Ibarrola y L. Pardo, e Investigación y a miembros el haberme brindado la posibilidad de desarrollar en un ambiente realmente además de excelentes propicio. cornpai¶eros, todos sus mi trabajo Mención especial merecen los que, han sabido ser amigos y fuente constante de apoyo y estímulo a lo largo del camino, no siempre fácil, recorrido en estos años. Por último, he de agradecer la gran comprensión y el apoyo moral recibido por parte de mis padres, mis hermanos, de los amigos, que han seguido paso a paso, sin entender a veces pero siempre des 1e el cariño, el trabajo que ha dado lugar a esta memoria. Madrid, Marzo 1995 INDICE PROLOGO CAPITULO 1: DESCRIPCION DEL PROBLEMA Y PRELIMINARES 1.1 Introducción 1.2 Descripción del problema 2 1.3 Campos de aplicación 4 1.4 Notación 4 1.5 Definiciones básicas 6 1.6 Problemas de Optimización Combinatoria relacionados con el SOP E 1.6.1 El problema de asignación 8 1.6.2 El problema del árbol generador de peso mínimo 9 1.6.3 El problema del camino mínimo 10 1.6.4 El problema del flujo máximo 10 1.6.5 El problema del viajante 12 1.7 Cotas superiores y cotas inferiores en optimización combinatoria 1.7.1 Complejidad 14 14 1.7.2 Procedimientos aproximativos (heurísticos) 18 1.7.3 Procedimientos de relajación 20 CAPITULO 2: METODOLOGíA BASADA EN EL PRIMAL 2.1 Introducción 23 2.2 Modelos 25 2.2.1 Introducción. Equivalencia y bondad de modelos 2.2.2 Diférentes modelos 0—1 equivalentes 25 para el SOP con relaciones de precedencia 2.2.3 Modelo 0-1 para el SOP con relaciones 28 de precedencia y acotaciones 2.3 Preproceso 33 37 2.3.1 Eliminación de arcos del conjunto A 37 2.3.2 Reducción del intervalo (r,d) 38 2.3.3 Eliminación de arcos del conjunto TI 39 2.3.4 Adición de arcos al conjunto II 40 2.3.5 Transformación de desigualdades en igualdades 40 2.3.6 Test de infactibilidad 41 U Indtce. 2.4 Obtención de cotas inferiores. SO? con relaciones de precedencia 2.4.1 Algoritmos de separación. Metodología 42 2.4.2 Identificación de condiciones de eliminación de subciclos 2.4.3 2.4.4 Identificación de condiciones que preservan 42 43 U relaciones de precedencia 49 Algoritmo de planos de corte. Lineas generales 52 2.5 Obtención de cotas inferiores. SO? con relaciones de precedencia y acotaciones 57 2.6 Algoritmo exacto 57 U CAPITULO 3: METODOLOGíA BASADA EN EL DUAL 3.1 Introducción 61 3.1.1 Motivación 61 3.1.2 Desarrollo de la metodología 66 3.2 Modelo matemático 67 3.2.1 Modelización 67 3.2.2 Preproceso 68 3.3 Relajación Lagrangiana ‘U 68 3.3.1 Resultados fundamentales 68 3.3.2 71 Estimación de los multiplicadores de Lagrange. Método del subgradiente 3.3.3 Relajación Lagrangiana del SO?. Método de generación de filas y columnas para la estimación de multiplicadores 3.4 Algoritmo general de planos de corte utilizando 74 metodología dual. Líneas generales 82 ‘U CAPITULO 4: CORTES VALIDOS PARA EL SO? 4.1 Introducción 85 4.2 Cortes válidos inducidos por las relaciones de precedencia 87 4.2.1 Obtención de cortes válidos 4.2.2 Identificación ‘U de restricciones 87 violadas. Algoritmos de separación 4.2.3 Ejemplo de identificación de restricciones violadas 91 103 1] 4.3 Cortes validos inducidos por las acotaciones superiores al peso acumulado de cada nudo 107 4.3.1 Obtención de cortes válidos 107 4.3.2 Identificación de permutaciones. Búsquedas locales 115 4.3.3 Obtención del peso de un camino permutación 117 CAPITULO 5: REFORZAMIENTO DE CORTES VALIDOS PARA EL SO? 5.1 Introducción 119 5.2 Fundamentos teóricos 120 5.3 Reforzar restricciones tipo cubrimiento 129 5.3.1 Caso 1: Una restricción tipo cubrimiento como soporte 130 5.3.2 Caso 2: Una restricción tipo mochila como soporte 134 5.4 Reforzar restricciones tipo mochila 143 5.4.1 Caso 1: Una restricción tipo cubrimiento como soporte 143 5.4.2 Caso 2: Otra restricción tipo mochila como soporte 145 5.4.3 Caso 3: Misma restricción como soporte 147 5.5 Identificación de diques maximales 151 5.6 Ejemplo ilustrativo ‘152 APENDICE 1: DESCOMPOSICION DE BENDERS 157 REFERENCIAS ‘163 Prólogo El problema Problem), del problema viajante, TSP hamiltoniano a coste mínimo, más ha de escrito inglés, que, planteado sobre una red, circuito se (del entre los Traveling consiste en obtener un es quizá el problema problemas Sálesman no resueltos sobre el que dentro de la Optimización Combinatoria (es decir, problemas con complejidad N? para la obtención óptima). de la solución Esto es así no sus aplicaciones, sino porque ha sido un influido desarrollo en el de sólo por problema numerosos la riqueza paradigmático, conceptos de de que ha optimizELción y algoritmos a lo largo de su historia. La aparición “Solution of Journai a del artículo large—scale of the Operations de Dantzig, F’ulkerson traveling—salesman Research Society y problem” Johnson (1954), en revista la of Amertca fue uno de los principales eventos en la historia de la Optimización Combinatoria. época ya Dantzig había lineal, y problemas contexto, distintos de mediante desarrollado el método Simplex para programación problemas asignación En esa y de adaptaciones de optimización combinatoria, transporte, se del simplex método algoritmos con complejidad polinomial. —1.— habían resuelto que dieron como en los este lugar a Prólogo El problema matriz C de (c), = asignación consiste en elegir n elementos de una u‘U ‘U uno por fila y por columna, de forma que la suma de los II elementos elegidos sea mínima. Este problema puede resolverse utilizando técnicas de programación lineal de la siguiente manera: sea el politopo P formado por todas las matrices de la forma X satisfagan las condiciones x ~ O x , ~11 Se plantea Vi x1 ~ , el problema de programación lineal consistente Anbos problemas son equivalentes, P son precisamente con posiciones), y las n! matrices un 1 en cada el óptimo = 1 ~li Ecx matriz XsP tal que se minimice la función matrices 1 = (x ) que II 1 Vj en encontrar la . ya que en este caso los vértices de que cumplen las condiciones (es decir, fila y columna del problema y O en todos las de programación lineal se demas alcanza ‘U u ‘U ‘U ‘U siempre en uno de los vértices. Al intentar del viajante, aplicar donde x el mismo procedimiento para resolver = 1 significa en el camino hamiltoniano planteami~hto,• identificación X el del politopo Ex Ex =lVi, 1 Q como E x 5 ¡S~ — =1 Vj, substancialmente. el x ji ¡ E formado por Sea todas 1 ‘U en su la siguiente las matrices ‘U subciclos, ‘U u ~O, Ii VS 1 1 < S¡ < n JES donde (i.e., cambia que, aunque similar j (x) que sati~facen = ¡ES que nos movemos del nudo i al nudo elegido, se observa problema el problema la nueva condición caminos hamiltonianos probleiha condiciones de asignación así no introducidas introducida evita la formación de cardinal inferior a excluía su para en problemas ~ planteamiento. de medianas de situación El que el número de dimensiones es exponencialmente grande. Se advierte por tanto que ahora el número de condiciones necesarias para definir el politopo se incrementa de manera considerable, pero; sobre todo, que en este caso ya no es cierto que todos los vértices de Q tengan u u u ‘rólogo coordenadas entéras 0—1. Es por eso necesario añadir una nueva condición al problema que asegure la integralidad de las soluciones, pasando así de un problema resoluble por técnicas de programación lineal a un problema de programación lineal entera, cuyas técnicas de solución no estaban desarrolladas en absoluto en esos momentos. Q Si, dadas todas las matrices X del politopo ó 1 un (todas los nuevo posibles politopo, caminos sea R, hamiltonianos), cuyos vértices con todos sus valores O fuera posible deierminar fueran exactamente soluciones, entonces el problema podría resolverse utilizando lineal. politopo envoltura convexa El soluciones R deseado factibles. caracterizan Pronto es la se observó que las estas programación de todas las desigualdades que este politopo no son de fácil obtención y. en cualquier caso, ..1 el número requerido haría infactible su utilización para fines practicos. Así, Dantzig, partiendo de Fulkerson una solución introduciendo y Johnson especularon con la posiblilidad óptima en el problema o casi caracterizado óptima, probar por politopo adicional de desigualdades (denominadas cortes) completo el politopo R, ninguna solución entera. viajante con 49 planos de eliminaran optimalidad Q un soluciones fraccionales pero, sobre todo, mostraron era relavante en general para sin un vez, se utilizó el desarrollo ha sido problemas de optimizaclón concepto fundamental para que el concepto de resolver otros de Branch—and—Bound, la solución combinatoria de eliminar problema del problemas de programación lineal entera. Además en ese artículo, primera número que, aún no definiendo por De esta forma lograron resolver ciudades, corte el la de, la tipos quizá por técnica mayoría planteados en el determina cotas de marco cuyo de de los la programación lineal entera. Otro procedimiento aplicar algoritmos importante que de tipo Branch-and-Bound que se describe en el capítulo 3. primera de este procedimiento TS? versión más relajaciones para eficiente que lineales. el desarrollo todos de técnicas es la relajación las para diseñar obtenidos problema del hasta un algoritmo para entonces viajante servía la el utilizando de base de optimización cuyo uso se extendería —Lii— que Lagrangiana, HeId y Karp (1910, 1971) utilizaron los De nuevo el sobre a u Prólogo numerosos problemas combinatorios. En fotma cuanto a sus aplicaciones, simétrica, TSP, (con - c el problema c = JI Vi,j) del viajante, como inglés Asymmetric Traveling Salesman Problem), tanto asimétrica, en su ATSP es el modelo (del clásico para U ‘U U U secuenciar de forma óptima un conjunto de elementos. Normalmente, el valor óptimo de la secuenciar reales secuenciación pares pueden Aparecen elementos modelizarse secuenciación adicionales, de buscada tal así se como sucesivos. de esta debe que modifican nuevos expresa Aunque forma, de los costes multitud en gran satisfacer de número de situaciones de la tipo la naturaleza del problema. que deben ser estudiados combinatorios, de casos otro notablemente problemas la suma condiciones U independientemente. Una de las presencia de relaciones antes que otros en condiciones adicionales que aparece problemas cJe precedenc La; ciertos en la secuencia. de secuenciación con frecuencia trabajos, U elementos deben aparecer Otra condición frecuente, de es la donde cada especialemente elemento lleva asociado un peso, es la presencia de fechas tope antes de las cuales cada elemento debe haber sido secuenciado. Escudero que llamó (1988) introdujo Problema del el ATSP con relaciones Ordenamiento Secuencial, de precedencia, SOP (del al inglés, Sequential Ordering Problem). Escudero y Sciomachen (1993) han extendido el problema introduciendo U ‘U pesos en los nudos del graf o del problema y acotaciones en el peso de los subcaminos desde el origen hasta cada nudo o elemento. Este es el problema objeto dividida de estudio en esta monografía, que está en cinco U capítulos, estructurados, de la forma siguiente: En el capítulo 1 se describe formalmente el problema del ordenamiento secuencial establece así, como otros su complejidad de resolución problemas algorítmica combinatorios y se describen relacionados; los métodos generales para problemas de este tipo que se aplican actualmente optimización combinatoria. -Lv- se en U U ‘U u -s’. Prólogo El capítulo 2 recoge el estado actual al problema que nos ocupa, centrada primal, consistente problema. los en trabajar algoritmos de referente sucesivas relajaciones lineales del modelizaciones para el SO? y se resumen separación violadas e introducirlas la investigación en la metodología que denominaremos con Se estudian diferentes de desarrollados para detectar restricciones en forma de planos de corte válidos que refuerzan la relajación lineal actual. Para el SO? (i.e., los resultados ATSP con relaciones computacionales obtenidos de precedencia y acotaciones) a partir de esta metodología muestran que el modelo no proporciona buenas cotas inferiores, general, a pesar nuevos cortes lentamente. identificar detectados, Por tanto, nuevo enfoque, solución de a la relajación del la función objetivo no mejora, lo hace añadir parecía necesario enfrentarse que permitiera óptima desde y ya que en o problema muy al problema desde un la obtención de una mejor cota inferiér a la la que iniciar la metodología branch—and—bound. A este proposito está dedicada el resto de la monografía. El capítulo 3 está dedicado a establecer las bases de la metodología que denominaremos referentes para la obtiene dual. En el a la relajación aplicación un de nuevo lagrangiana, esta método se recogen relajación para la los resultados se desarrolla a la estimación el resolución de fundamentales algoritmo básico del 501’, y los multiplicadbres se de Lagrange. Este nuevo método está basado en la aplicación de la metodología de descomposición de Benders y en la generación de cortes para el 4roblema relajado que, en nuestro caso, es el mínimo peso. Así, el problema relajado ser un problema combinatorio, problema de la arborescencia de pasa de ser un problema lineal a conservandose siempre la integralidac de las soluciones obtenidas. A la identificación el capítulo cortes 4. válidos acotaciones En las de cortes válidos para el problema está dedicado secciones inducidos (condiciones por que las no 4.2 y 4.3, relaciones han sido respectivamente, de precedencia introducidas en se obtienen y por el las problema Prólogo relajado), y se desarrollan diversos algoritmos de separación ‘U ‘U que permiten 1 detectar dicho y reforzar problema. estructura cortes La que sean inclusión de arborescencia de del violados estos por cortes problema la solución válidos relajado, no pues actuál de destruye la estos cortes se utilizan para modificar los coeficientes de la función objetivo. Finalmente, en el sobre reforzamiento coeficientes, capítulo de condiciones aquellos cubrimiento reforzamientos forma tomando 4 antes si sus anteriores, deteriorar al base algunos para reforzar de ser introducidos cortes ya detectados o; como de tipo cubrimiento se propone una metodología obtenidos en el capítulo como 5, e introducidos, ya restricciones tipo mochila. la función objetivo, via incremento los cortes en el problema, sido incrementados Se pretende para acelerar de válidos sean restricciones coeficientes máximo han trabajos así U ‘U tipo en de esta así U ‘U su u U convergéncia al óptimo. u U u -vi- U U U U U U U U u Capítulo 1 Descripción del problema y Prelimináres 1.1.- INTRODUCCION El Problema Problem), clásico tanto para del en Viajante, su forma secuenciar Normalmente, de TSP (del simétrica forma inglés, como óptima Traveling Salesman ¡ asimétrica, es el conjunto de elementos. un modelo el valor óptimo de la secuenciación se expresa como la suma de los costes de secuenciar pares de elementos sucesivos. Aunque multitud de situaciones reales pueden modelizarse de esta forma, en gran núMero de casos la secuenciación adicionales, tal que Aparecen, por tanto, buscada debe modifican satisfacer notablemente otro la naturaleza nuevos problemas combinatorios, el problema que nos ocupa, tipo de condiciones del problema. uno de los cLales es el Problema del Ordenamiento Secuencial, SOP (del inglés, Sequential Ordering Problem). Este capitulo está organizado de la forma siguiente. En la sección 1.2 se define sección 1.3 formalmente se recogen sección 1.4 se introduce el trabajo. A el Problema algunas del de sus Ordenamiento aplicaciones la notación que se utilizará continuación, en las secciones 1 1.5 y •1 En la prácticas.j En la Secuencial a lo largo 1.6, se de todo definen los Capítulo conceptos aquellos básicos los sección 1.7, algorítmica de necesarios problemas algoritmos este se la relacionados desarrollan encuadra exposición el posterior, así como con el SO? o necesarios posteriormente. problema y Preliminares de Por acuerdo a último, su en en la compleJidad En esta sección que se desarrollarán se presentan la en los capítulos teoría y posteriores, el tipo indicando, tanto, el marco de los trabajos objeto de esta monografía. de u por ‘U ‘U ‘U . 1.2.- DESCRIPCION DEL PROBLEMA Sea un grafo dirigido o digrafo G nudos y V(i,jkA. (i,i 3 ) A es Un el conjunto camino (i r—1 ,~ r ), del Viajante es tal ir (V.A). donde V es el conjunto de = arcds. secuencia que Sea. c1 de (TSP) Problema del todos peso del arco y arcos i1, (i 12 r—l. El nudos Vk=l (1 k ,i k+1 kA ,~ (i,j) ). 12. Problema si c Viajante ji los vértices de O sin repetir ninguno, c = V(i,j)cA. En caso contrario se denomina ji Asimétrico (ATSP). En este trabajo secuenciado. u tal que A = A U Sea (k 1) la secuencia <(O,j) VjsV> con c ej ~ O, camino, y sea u el último ordenada de nudos desde nudo •k hasta el núdo 1 en un camino Hamiltoniano dado. Así 31 ~ (0 nudo 1, 1) si el nudo i pertenece y denota por nudo sea (i,jk(k 1) si el el u). arco (i,j) forma parte del camino. Se i<j el hecho de que el nudo i se secu~ncie en 31 antes factible el grafo debe diflgido satisfacer 1’ las = (N,fl) con N relaciones de C V tal en O. Se supone que IT tiene 2 que un precedencia conjunto de arcos fl, de forma que (i,j)sTl exige que i < Hamiltoniano factible ‘U ‘U al camino desde el nudo k hasta el que el j. Sea ‘U se supone que lquec ji *c.JI desde el que se supone que comienza cualquier Sea ie(k ‘U tal El problema se denomina Problema del Viajante Sea O el nudo ficticio, nudo el consiste en obtener un camino Hamiltoniano 31 en O, es decir, que su peso sea mínimo. 3(i.j)EA ta de una un camino que contenga Simétrico 1 y se exponen los métodos generales de resolución de problemas tipo. técnicas para combinatorios que se 1. Descripción del problema ‘U ‘U ‘U j dadas camino por 1 ‘U 31 el U en todo •camino la propiedad transitiva a ‘U ‘U 1] Capítulo cerrada (i.e., si (i,k)eTI 1. Descripción del problema y (k,jkfl entonces introdujo el ATSP con relaciones de precedencia, (i,j)EIfl. y Preliminares Escudero ~(1988) al que llamó Problema del Ordenamiento Secuenc ial. Escudero y Sciomachen (1993) han extendido el problema introduciendo pesos en los nudos del grafo y acotaciones en el peso de los subcaminos del camino 31 factible en G. Sea p Dado un vértice i, sea y1 j, el peso del nudo el peso acumulado del VjeV, con p nudo i en un = O. camino hamiltoniano 31 factible en G, tal que c L (a,b)E(O ab II Por tanto Y’ + <1.1) L bCO 1> el peso total del camino hamiltoniano coincide con el peso acumulado del nudo u. Sea el vector n—dimensional d tal que d proporciona una cota superior al peso acumulado del vértice i, VieV en cualquier camino factible 31. El PROBLEMA DEL ORDENAMIENTO SECUENCIAL (SOP) consiste en, dado un graf o dirigido con pesos en los vértices y en los arcos, obtener unl camino hamiltoniano con precedencia y peso total con acotaciones mínimo superiores satisfaciendo en el peso las relaciones de cada de subcamino hamiltoniano. Formalmente, d 1 VieV y c dados los digrafos G=(V,A) y P=(N,TI), y los atributos V(i,j)eA, el SOP consiste en obtener lj el camino Hamiltoniano 31 en O tal que a. S (j,i)eTI para b. y 5 d i<j en 31. VicV, donde la expresión para y1 viene dada en (1.1). c. El peso (1 , j Si 11=0 y ~ c es mínimo. >efl 3j e y 1 d es finito, el SO? se convierte en él ATSP. CLawler et al. (1985) recogen numerosas referencias sobre el TSP/ATSP.) 3 Capítulo 1. Descripción del problema y Preliminares 1.3.- CAMPOS DE APLICACION El SOP tiene gran número de aplicaciones prácticas. obvia es el ATSP con ciudades origen y destino fijadas, una ciudad requiere una cántidad dada de ciudades debe satisfacer unas fechas dadas. El SOP aparece, pér ejeñiplo, y es problemas de planificación de la tiempo una y Una en el que visitar la partida aplicación produccióñ (ver de las interesante, en Escudero, 1989). El problema básicamente es el siguiente: tiene que procesar un conjunto sólo puede ejecutar uno cada vez y los trabajos no de trabajos, pueden ser proceso proceso interrumpidos después de comenzados. Se condce el tiempo de para cada trabajo. Además existe un tiempo de ajuste entre el de dos trabajos distintos, que depeñde de ambos trabajos. <La secuenciación de trabajos que pertenecen ningún tiempo de ajuste). ser Una máquina aplicación entregado. trabajos, a la misma familia relaciones de precédencia entre de forma que algunos no puedeh dómenzar hasta que otros finalizados. El objetivo satisfagá todás estas consiste en~ obtener condiciones, tal la secuencia que se el los estén de trabajos minimicé ‘U ‘U ‘U ‘U no precisa de Cada trabajo puede tener una fecha límite para Además pueden existir “U ‘U ‘U ‘U que tiempo “U ‘U de ‘U Sea el graf o dirigido G=(V,A), donde y es el conjunto de vértices y A ‘U ‘U finalización del último trabajo que se procese. 1.4.- NOTAGION el conjunto de arcos, subconjunto de A, y y los sean W vectores y W’ xeR dos , subconjuntos z,aeR Para hamiltoniano 31 en G, se define: 1) A(W) es el conjunto de arcos del. subgraf o generado por W; A(W) < (i,jkA 1 i,j ~ W > E (1 , j )EF x de V, un F un camino ‘U ‘U u ‘U “U • •/•~• • Capítulo 1. Descripción del problema 3) Por simplicidad de notación nos referiremos una secuencia de nudos (i ¡2~ r )~ a veces a un camino como enumerando implícitamente arcos que los unen, o como una secuencia de arcos nudos. Así, j hasta j) (i representa el y Preliminares conjunto ordenado los sin mencionar los de nudos desde en el camino 31. 4) Dado el conjunto W = <i,a,b,j> y el subcamino (i,a,b,j), x(i,...,j) = x+ x(W) 5) (i 6) i<j x(A(W)) j) U (a b) que el significa representa nudo i se inmediatamente antes) que el nudo 7) 6¾j) < 87(j) el conjunto secuencia j antes ordenado (no de nudos necesar~iamente en un camino Hamiltoniano dado. (j,k)eA > < (i,j)EA } 8) w(W) es el conjunto de todos los arcos con nudo origen en W, (i.e. (i,j)sA 1 kW, j~W) w(W) es el conjunto de todos los arcos con nudo destino en (i.e. (j,i)eA ¡ jtW, kW) 9) W:W’E w~(W) ~ &(W’) = < (i,jkA 1 kW, jcW’> Por tanto, W:W 10) j:W W:j 11) E E E A(W) {<jbW> VjeV {W:{j» VjeV N(F) es el conjunto de nudos de y incidente en el conjunto de arcos F. 5 ‘~Capítulo 1. DescrLpción~del problema y Preliminares 12) z(i) e~ el nudo que se s~&íencia inmediatamente después que el nudo i en un camino 31 dado. 13) a<i) es el nudo que se secuencia inmediatamente antes que el nudo i en un camino 31 dado. 14) Dado el camino (j,a(j),a(a(j)) Hamiltoniano z(z(i)),z(i),i), j nudos dei a j) (i es decir, la es el secuenciación camino de los en orden inverso. ~ 15) P(j) es el conjunto de nudos tal que ieP(j) 16) j) R(i (i,j)EII. ‘U V(a,b)EA Tab De acuerdo con Hamiltoniano(O esta notación, el peso acumulado del camino i) será y ~=Z (1.2) ‘ab (a,b>E(O 1.1: Se llama árbol 1.2: a un grafo conexo y sin ciclos; Se llama ‘U Se llama arborescencia a un ditaf o conexo y sin ciclos, tal que cada nudo es vértice destino de un único arco, exceptuando un nudo al que no llega ningún árco, llamado nudo raíz. Definición conjunto 1.3: V’cV, = (v’.E~A Dado se ‘U ‘U bosque a un grafo sin ciclos. Definición ‘U 1) 1.5.- DEFINICIONES BASICAS Definición ‘U ‘U ‘U ‘U ‘U ‘U un llama grafo (digrafo) subgrafo G generado = (V,E) por y’ <~ = (V’,A,) ) donde E~~= { <x,y>EE 1 xCV’, yeV’ > 6 CG = (V,A)) al grafo y un (digrafo) ‘U U ‘U ‘U ‘U U u Capítulo Definición conjunto 1.4: FcE (digraf o) G Dado un (EcA) se 1. Descripción del problema y Preliminares grafo llama (digrafo) graf o (V,E) G parcial CG generado = (V,A)) y F graf o por al un (y ,F), donde V ~V recoge sólo los nudos que definen’ (nudos F F F origen o destino) algún arco en F. Definición 1.5: Dado un grato G grafo parcial conexo y Dado un digrafo G grafo parcial (V,E) se llama árbol generador de G a un sin ciclos de G que contiene (V,A) se llama arborescencia = de = G, sea G (V,C) c con a todos sus nudos. generadora CcA, tal de G a un que G c E~s una arborescencia Definición 1.6: Dado un digraf o O = (V,A) se llama camino Hamiltontano en G a un camino en G que contiene a todos sus nudos. Si el nudo inicial y el nudo final del camino coinciden, entonces se denomina circuito Hamiltoniano. Definición conjunto 1.7: Dado de arcos un QSA digrafo 1.8: Dado un precedencias, = tal que verifica conexo y ningún subconjunto de Definición G Q (V,A) se llama a un que el graf o 0= (y, digrafo G = (V,A) y un digrafo P = en 0, denotará por SOP(n,P), donde n Definición es decir, E (V,fl) de a la envoltura convexa del conjunto de puntos que son vectores de incidencia factibles es verifica esta propiedad. se llama politopo del ordenamiento secuencial hamiltonianos no soluciones factibles de caminos del SO?. Se ¡Vj. 1.9: Dado un politopo P = conv < xe<O;l>~ 1 Ax 5 b > , conde j A es una matriz real mxn y b un vector m—dimensional, una desigualda c 1 de la forma ax 5 ¿3 es una desigualdad válida para 1’ si se satisface pa Y a todo xEP. Definición 1.10: Se llama cara de un politopo P desigualdadaxalconjuntoF={xeP/ax=z(3>. cara se llama propta. En este ¿aso, se dice que «x 7 correspondiente a Si0*F*Pla 5 (3 define una ca¡-a. la Capítulo Definición 1.~ Descripción del problema 1.11: Un politópo P es de dimensión k (dim 1’ y Preliminares = k) si el máximo ‘U ‘U número de j5untos en P afínménte indepéndientes es k+1. Definición 1.12: Se llama faceta de un politopo 1’ a toda cara propia de 1’ con dimensión máxima; es decir, una cara F del politopo P es una faceta si y sólo’si dim F= dimP - 1. 1.6.- PROBLEMAS DE OPTIMIZACION COMBINATORIA RELACIONADOS CON EL ‘U ‘U U SOP Y CON SU RESOLUCION. 1.6.1.— El problema de asignación (Asigninent Problem, AP). Dada uná matriz cuadrada C de dimensión n, donde c corréspondiente asignación a la fila consiste en i—ésima y la columna j—ésima, encontrar una permutación es el elemento el problema (i i n de ) de las columnas de C tal que se minimice ~ c j - Muy frécuentémente, el ji problema descrito tiene su aplicación en el caso en que sea preciso asignar recursos a tareas a coste mínimo, tal que cada recurso ha de asignarse a una y sólo una tarea y cada tarea sólo puede tener asignado un recurso. En estás asociado a la a~igñación del recursó i a la tarea casos c recoge el coste j. Este problema se puede modelizar c¿mo problema de programación 0—1 de la siguiente forma: 1, o, ‘U U ‘U U U 1~ caso cóntrario asigna la fila i a la columna ‘U ‘U j Entonces, el problema de asignación consiste en Mm ~ 1=1 cx j=1 s. a. 8 ‘U U U U u • -‘41 Capítulo (1) 41t” 1. Descripción del problema ~x~~=í V=l n Vil n y Preliminares ¡=1 Zx (2) =1 j =1 (3) x c<O,l> Vi,j=l n ji Existen excelentes algoritmos para resolver este problema, como el famoso método Húngaro, de complejidad 0(n3) y, por tanto, fuertemente polinomial. Hoy día los algoritmos más utilizados tienen com¡5lejidad O(Vfi m log(nC)), y, por tanto, así llamada débilmente polinomial, donde m (i,j) es el número de arcos con c >0, y C = max < c 1~ > II .~Asi el (1.1) . algoritmo de Bertsekas (1991) y otros. Ver también Ahuja, Magnanti y Orlin (1993). 1.6.2.— El problema de la arborescencia generadora de peso mínimo (Min—Sum Arborescence Probíem). Sea G = (V,A) un digraf o conexo en el que cada arco ueA tiene asignado un peso w(u), generadora de donde uE(i,j) para i,jsV. peso mínimo consiste El problema en de la arborescencia encontrar la arboréscencia generadora de G con menor suma de los pesos de sus arcos. La solu’ción de este problema para el caso de grafos no dirigidos (problema del árbol generador de peso mínimo, minimum spanning tree problem) fue und de los primeros éxitos polinomial. de la (Ver Kruskal optimización siendo también polinomial; ver el algoritmo de Edmods (1967). En el desarrollo de nuestro a Fischetti la implementación problema complejidad es utilizaremos La complejidad del su dirigido trabajo (1956)). combinatoria, debida y Toth (1993). Este problema se puede plantear como un problema de programación 0—1, { tal que se define la siguiente variable 0—1: = 1, si el arco (i,j> pertenece a la arborescencia O, en caso contrario 9 U Capítulo 1. Descripción del problema y Preliminares a Sea O el nudo origen de la arborescencia generádora tal que 3(O,j)eA y 3(j.OkA, VjeV. z = ctx Mm U U U s.a. (1) x(A) ‘U n—l = (2) x(8(j)) = 1 VjEV\{O> (3) x(W) ~ lWI—l ‘U U 2 5 4W~ 5 n—l VWcV, E’ (4) xeB 1.6.3.- El ptoblema del camino mínimo (Sharkest Path Prabíem). Dado un digrafo G (V,A), donde cada arco u=(i,j)sA tiene asociado el u parámetro 1(u), llamado longitud de u, el problema del camino mínimo desde U un vértice forma (a = a hasta otro vértice b) tal que minimice Z uE(a Las lon~iiudes b consiste en encontrar un camino de la 1(u) 1,) s de los arcos pueden ser positivas o negativas, mientras no exista ningún~ ciclo dirigido con lonáitxíd negativa en G. La complejidad de este problema es polinomial, 0(n2) para redes tales que <I(u)~O VucA ~y 0(nm) (0(n3) para grafds completós) cuando no hay restricción én el signode las longitudes<de arco. Ver Gallo y Pallottino (1988); y Ahúja, Magnánti y Orlin (1993). 1.6.4.— ,EI probléma del flujo máximo (Maxi¡num FIaw Prohlem). Dado un digrafo G = (V,A). con IAL = m, douide cada arco u=(i.j)EA tiene asociado el parámetro real no negativo c(u) denominado capacidad del arco, sean las siguientes definiciones: lo U U U U U U U 1] • .,.— Capítulo 1. DescrIpción del problema y Preliminares Definición 1.13: Un flujo a través de G es un vector ~ = (~ Y) de forma que se verifica la siguiente ley de conservación de flujo: E s. E VieV = úEd<i> Definición 1.14: Un flujo uE6(I> de s a 1 es un vector q, tal que verifica la ley de conservación de flujo Vi*s,t, y además se verifica que E~ = ued(5> uEd(t) Definición 1.15: Un flujo ~ es compatible con G si ~ 5 c(u) VusA. Definición 1.16: Se llama valor de un flujo ~ de s a 1 a v(9’)= u68 (s> Dado un digrafo O = <V,A), el problema de flujo s,teV consiste en encontrar un flujo máximo de s u 1 para compatible a través de A tal que su valor sea máximo. Definición 1.17: Dado un digraf o G = (VA), un conjunto Q~A~ es un (s,t)—corte si su eliminación separa a 0 en dos componentes conexas y s y t no pertenecen a la misma componente divide a y en dos conjuntos disjuntos, conexa. Un (s,t)—corte, por tanto, sean W y W, tales . que seW (i.e., sSW) y tEW. Así, Q=6(W). Definición 1.18: Se define la capacidad de un corte, c(87(W)), como cCi,j) cG3 (W)) = iEW,jcW 11 Capítulo 1. Desc?ipción del problema Teorema 1.1: (Fórd y Fulkerson y Preliminares 1956,1962) Sea ~ un flujo compatible en un digrafo G. Si 6(W) es un corte en G, entonces v(9’) 5 c(6(W)). Teorema 1.2: (Flujo máximo—córte mínimo) (Ford y Fulkerson (1956)> Dado un digrafo O se verifica: max v(9’) 1 9’ compatible < mm > = c(8(W)> 1 8(W) corte en O < Por tanto el problema del flujo máximo también se puede formular como sigue: Dado un digrafo O con capacidades asociadas a sus arcos, encontrar un corte tal que su capacidad sea mínima. La complejidad problema, tales como también (1993), O((n+m)(log de es los algoritmo~ el algoritmo polinomial, n)(m+nlog n)) de Goldberg y siendo para el utilizados para Tarjan O(ñm • 2log 2 n) segundo. Para resolver (1988) para una el y Orlin y sobre algoritmos de flujo, ver Ahuja, Magnanti y Orlin (1989, 1993). 1.6.5.— El problema del viajante (Traveling Salesman Prablem, TSP). Dado un digrafo O para (i,jkA, i,jsV, el consiste en encontrar sea mínima, = (V,A), con pesos c problema, asociados a los arcos propiamente denominado, del ‘U ‘U ‘U ‘U “U ‘U ‘U ‘U este primero panorámica ‘U (i,j), viajante un circuito hamiltoniano 3< en O tal que su longitud u ‘U ‘U ‘U ‘U donde la longitud está expresada por la suma de los pesos c lj de los arcos en el camino. En la asimétrico. sección 1.2 se efectúa El TSP asimétrico la distinción tiene una gran de este trabajo. 12 del TSP utilidad en simétrico para y los objetivos ‘U ‘U ‘U “U 1] ½. • . • x una lj •. Cap itulo 1. Descripción del problema . Sea •.. variable 0—1 que indica si en y Preliñtinares (i,j) arco está en el circuito hamiltoniano o no, tal que x ~ = ~ O, si (i,j)E31 en caso contrario La modelización 0—1 del ATSP más apropiada para este trabajo es la siguiente: z = t Mm cx s. a. (1) x(A) n = (2) x(&(j)) = 1 VjeV (3) x(flj)) = 1 VjeV <4) x(W) 5 W~-l VWcV, 2 5 jw¡ 5 n—l (5) xeB La versión de este modelo para la obtención del camino Hamiltor¡iano en G de peso mínimo, será ampliamente (donde la condición (1) es sustituida utilizada a lo largo de este trabajo. por x(A) (Ver, por = ~jemplo, sección 2.2.2). El ISP es el problema de Optimización Combinatoria por muy utilizado puede en considerarse problemas sección la literatura. como combinatorios 1.7.1); por tanto, una El extensión anteriores, no problema se no del objeto ATSP. de A es polinomial, conocen algoritmos antonomasia, nuestro estudio diferencia j de sino Nr—duro polinomiales los (ver para su descritos en resolución. Los esta algoritmos sección desarrollados son útiles para la para todos resolución (SOP). 13 los del problemas problema que nos ocupa Cap itulo 1. Déscri~ción 1.7.- del problema y Preliminares COTAS SUPERIORES Y COTAS INFERIORES EN OPTIMIZACION COMBINATORIA La importancia aplicaciones del prácticas, problema que viene dada por nos el ocupa, hecho de que típico de Optimización Combinatoria. En él tratamos total, problema optimi~áción; luego soluciones el es un posibles no es un de conjunto cohjunto de todos los posibles condiciones. Se trata por tanto desarrolladas en técnicas el continuo, caminos de un estudio además el sino un que un problema una y la de finito: serie de Así, las filosofía subyacente a las metodologías que expondremos es válida para el estudio de otros tipos de problemas combinatorios. 1.7.1. Complejidad Existen diferentes formas de medir la complejidad en los que el número de iteraciones del problema. Elegimos de entre los que, presenta casos, casos patológicos aunque precisión términos esta el teoría; fumdamentales casos inconveniente de por tanto, utilizados sólo en se proporciona este hñ definirán trabajo. Para está por del peor de permitir que sean desarrollar con brevemente los una exposición polinomial si que lo resuelva tal que su complejidad en el peor de acotada por una función problema. A un algoritmo de este ti PO SC polinomial de n, el tamaño del complejidad exponencial). Un algoritmo no polinomial es un algoritmo cuyo tiempo de ejecución es una función no polinomial n. 14 ‘U ‘U ‘U ‘U ‘U ‘U le denomina algoritmo polinom ial. En caso contrario se dice que el problema tiene complejidad no polinomial. (también denominada ‘U ‘U ‘U ‘U la teoría (1979). 1.19: Se dice que un problema tiene complejidad existe un algoritmo los el análisis No es el objeto de esta monografía detallada sobre el tema ver Garey y Definición ellas los que determinen la complejidad, de la N~’—completitud. en los algoritmos no ,está fijado determinísticamente el tamaño ‘U ‘U un peso conjunto combinatorio. problema sus conjunto verifiquen este por de minimizar pero problema de es de “U en ‘U U ‘U u Capítulo 1. Descripción Las tablas del problema 1.1 y 1.2 ilustran numéricamente y Preliminares la importancia de disponer de algoritmos polinomiales para resolver un problema. 10 n 20 30 40 50 610 .00001 secs. .00002 secs. .00003 secs. .00004 secs. .00005 secs. .00006 secs. .0001 .0002 .0009 .0016 .0025 .0036 secs. secs. secs. secs. secs. secs. .001 secs. .008 secs. .027 secs. .064 secs. .125 secs. secs. 3.2 24.3 1.7 mm. 5.2 mm. . .$216 3 n n 2E’ .1 secs. secs. secs. 0.01 1.0 17.9 secs. secs. mm. 13.0 mm. 12.7 35.7 366 dias años ~igíos .059 58 6.5 3855 secs. m¡n. años siglos íJa~ío~ 2x10~ siglos siglos Tabla 1.1 Tiempo de cómputo de la solución óptima en función del tamaño del problema. t=f(n) n Ordenador actual 1 n n 100 veces más rápido lOON 1 2 1000 vdces más rápido lOQÓN ¡1 1 ION 2 31.6N 2 n 2 4.64N n 4 2” 6 3” 6 2.5N 4 ION 3.98N 4 6 N + 6.64 5 N +9.97 5 ¡ 6 N + 4.19 6 N +6.29 6 Tabla J.2: Tamaño máximo de un problema a optimizar (En función de tecnología superior> 15 en una hora. Cap itulo <It De.~éripción del problema Formalmente la ¿l~sificación de problemas según su complejidád en esta teoría se reduce a problemas de decisión, una respuesta aplicabilidad de la forma “sí” 6 de la téoría; puede reformular casos, se y Preliminares “no”. es decir, problemas que exigen Sin embargo esto no restringe ya que cualquier problema de optimización la ‘U ‘U se como un problema de decisión y. en la may9ría de los verifica c~ue el probleffla de optimización tiene complejidad polinomial si y sólo si el problema de decisión asociado la tiene. Definición 1.20: Se dice que el problema A es polinomial al problema E, si existe un algoritmo reducible en u tiempo para A que utiliza un algoritmo que resuelve el problema E, la utilización del algoritmo E es un subalgoritmo polinomial y el resto de las operaciones del algoritmo para A son también polinomiales. Lema 1.1: Si existe una reducción en tiempo polinomial de A a E, y existe un algortimo polinomial para E, entonces existe un algoritmo U polinomial para A. Definición 1.19: Se dice que el problema A es transformable pólinomial al problema E si A es reducible en tiempo polinomial a E, A y B son problemas de decisión y la llamada al algdritmo para en tiempo B se realiza ‘U exactamente una vez. Las principales clases en las que se agrupan los problemas de decisión son las siguientes: Definición 1.22: La clase todos problemas los de (del ~‘ inglés, 9’olynomial time) decisión para los que existe es la clase de un algoritmo poliriornial. ‘U Existe una clase de pr¿blemas se ha podido resolución. (del ‘U probar que no que no pertenecen a la clase ~P,pero no existe un algoritmo polinomial para su Algunos de estos problemas se engloban dentro de la clase Al’ inglés, Nondeterministic décadas se han dado tres Po]ynomial diferentes time). formulaciones Durante de las las últimas ‘U características 16 ‘U u Cap itulo 1. Descripción del problema de los problemas desarrollo de Papadimitriou en esta estas y clase, todas ellas ver Garey formulaciones Steiglitz (1982) entre otros. Se y preíinkinares equivalentes. Para y (1979) Johnson un y introduce a continuación una de ellas: Definición 1.23: transformables La clase NP es la clase de todos los próblemas en tiempo polinomial al problema de programación entera. Definición 1.24: Un problema de decisión A es NP—completo si: a) AcNP y b) cualquier problema de la clase NP es transformable en tiempo polinomial a A. Por tanto, demostrara el problema de programación entera es NP—completo. que un problema NP—completo pertenece problemas de la clase NP podrían ser P, todos los a la clase resueltos mediante Si se algoritmos en tiempo polinomial. Definición 1.25: Un problema (de decisión o no de decisión ) es NP2duro si cualquier problema de la case NP es reducible (no necesariamente transformable) en tiempo polinomial a dicho problema. Se verifica que probado el hecho abiertos de las P~NP. Como se ha indicado de que P*NP matemáticas (es este hoy día), uno pero anteriormente, de los grandes la hipótesis no está p~oblemas general es que P*NP y, por tanto, que los problemas NP—completos pertenecen a NP\P. La mayoría de los problemas que se engloban dentro de la Optirnización Combinatoria son problemas que pertenecen a la clase NP—dura. (Problemas polinomiales son del generador, el problema de asignación, el problema árbol el problema del camino mínimo, y el problema del flujo 1 máximo entre otros). Es bien sabido que el problema del viajante es NP—duro. Por tanto también el SOP lo es. Es, por tanto, improbable que haya algún algoritmo eficiente para obtener recorridos óptimos, con esfuerzo computacional 17 4 _ u Capítulo áceptable, 1.- Desctipción del problema y Preliminares cuando el tardinal dcv es grande. Hoy día problemas de grandes dimensiones de los que se sosbecha que no tienen complejidad polinomial se ábotdan dos formas: de bien - pór prácedimientos aproximativos, bien por medio de relajaciones del problema. 1.7.2. Procedimientos Un enf oque heurísticos solución aproximativos para eficientes, óptima, algoritmo necesariamente que, se problema de el problema aunque no - - de es garanticen éncueñtÑn mueve con mejor uña solución bloqueada un resolver normalmente, heurístico (heurísticos) una diseñar la minimización, un de aceptables. factible valor en la función objetivo, (a un óptimo obtención soluciones solución algoritmos a Un otra proporciona cotas superiores al valor óptimo del problema. Ver por ejemplo Reeves (1993). Algoritmos de búsqueda local Unó de los tipos de algoritmós héurísticos más utilizados u ‘U ‘U ‘U ‘U para - heurístico no hasta que llega a local del problema). Por tanto, algoritmo la ‘U ‘U son los ‘U ‘U ‘U algoritmos de búsqueda local. Un altoritmo de búsqueda• local se basa en procedimientos de búsqueda en entornos: obtiene utilizando (implícita entorno a partir o y, de una solución otra heurística explícitamente) si existe, si todas encuentra una dada (donde la solución es necesario) el las soluciones con posibles mejor inicial algoritmo valor en se examina en la dicho función u objetivo. La noción específico. ‘U ‘U ‘U En pertenecientes de entorno varia nuestro caso, a su entorno - en cada heurística dado> un serán camino aquellos arcos no pertenecientes al mismo. - 18 hamiltoniano, caminos por medio de un número limitado de intercambios y en cada problema los caminos ‘U que pueden obtenerse de arcos del camino por u u u ‘U u 0 SC4 Cap itulo 1. Descripción del problema y Preliminares El tiempo de ejecución del tiempo necesario de una heurística para la aplicación de búsqueda del procedimiento el entorno y del número de iteraciones que se requieran. el problema de búsqueda de caminos de local depende de búsqúeda En general, peso mínimo, 1982) Si A es se en para verifica el algoritmo de siguiente teorema: Teorema 1.3: búsqueda local polinomio, entonces, asumiendo que P * NP, no se puede garantizar~ que A encuentre un solución (Papadimitriou con tiempo camino óptima & Steiglitz, de del de peso búsqueda acotado problema, en por incluso entornos un si un acotado múltiplo se ~or constante permitiera un un de la número exponencial de iteraciones. Por tanto es posible que una heurística de búsqueda local llegue a una solución bloqueada muy lejos de la solución óptima del problema. Sin embargo, computacional aceptables excepto demuestra cotas en que este superiores a casos patológicos, tipo de heurísticas la solución óptima la exp~riencia suelen proporcionar (en un problema de minimización). - Se han desarrollado aceptables (1988) y cotas para algoritmos intercambios este trabajo a la obtener una heurísticos solución óptima Sciomachen (1993) solución para inicial mejorar del describen factible la problema. un para solución Escudero conjtinto el inicial SO?, de así mediante en los que intervienen k nudos para k = 3 y 4. A lo -lhrgo de supondremos solución factible acotada superiores (1989) y Escudero y algoritmos como distintas heurísticas para el SOP que proporcionan en al problema, superiormente. Pero todo momento que y, por tanto, el desarrrollo queda fuera del propósito de esta monografía. 19 puede encontranse que la solución y alcance de las óptima una está heurísticas Capítulo 1.7.3. Procedimientos 1. Descripción del problema y Preliminares de relajación bado un problema (1’), sea F(P) su conjunto de soluciones factibles, z y u‘U ‘U ‘U el v~aloren la función objetivo z (x) del -punto óptimo •x P Definición 1.26: Dado un problema (P) de minimización, un problema (R) de minimización es una relajación de (P) si y sólo si: U) F(P) ~ F(R) (Ii) z z 5 en F(P) ‘PP Éxistien diferentes de un problema dado. Uno de los más utilizados con~iste en considerar no todas, sino sólo - métodos para obtener relajaciones - algunas de condición las (i). condiciones del problema, Dado que la función de objetivo forma que- se para ambos satisface problemas es la la misma, ré~ulta que z() s z (x). Ejemplo 1.1: Dado un problema IP de programación entera - z = Mm { z (x) : xeS, x entero> IP la relajación Otra forma restricciones de de relajación procedimientos del : xES >~ consiste en eliminar en la función objetivo de forma Esta técnica se conoce con el nombre punto de relajación se basan en la resolución (que se suponen más fáciles de resolver) Como se verifica óptimo del siempre problema que el valor relajado no es Se les exige para ser polinomial eficientes que - ‘U ‘U ‘U de en lugar del en la función superior de un problema de minimización) al óptimo del problema métodos proporcionan cotas inferiores para el óptimo problema. algunas Lagrangiana. problema original. trata estos relajaciones (u> se satisfaga. problemas relajados objetivo < z(x) del problema e introducirlas que la condición Los conseguir Mm ‘U ‘U u IP lineal de IP es ZLP ‘U ‘U ‘U ‘U tengan (si se original, de este complejidad 1 u ‘U u 20 u u -,. obtener en el lugar objetivo el los procedimientos intervalo de su - - - - Capítulo 1. Descripción del problema y Preliminares - Mediante - de de optimalidad solución de la mejor cociente (z’t~z)/z óptima. solución relajación apropiado Llamando factible proporciona el para z ‘4 obtenida el objetivo consiste el problema al valor en original, - la función heurísticamente, intervalo de en entonces optimalidad por ~ definición, mide la bondad de la solución heurística obtenida. Definición que x 1.27: Dado un problema (1’). un punto x eF(P) y un e>O, ~e dice es una solución e—óptima de (1’) si se verifica la siguiente condición (para un problema de minimización): * z (x ) s z La obtención e + de la cota z puede no ser suficiente para probar R optimalidad, pero identificación los procedimientos de soluciones e—óptimas, ya de relajación que, si un permften la .1 factible x punto * satisface 2 <x ) 5 z P e, + entonces x es una solución e—óptima. La idea básica del método es relajar algunas condiciones del p+oblema de forma que el problema relajado pueda resolverse obteniendo así se pretende violada tiempo la solución Se en tiempo polinomial, cota inferior al valor óptimo. el valor de la cota obtenida. (en por problema. una primera mejorar identificar - R polinomial) actual, alguna y, de Para condición alguna A continuación ello es necesario relajada manera, jue introducirla consigue así un nuevo problema relajado sea en el más fuerte¡ que el anterior, que debe poder resolverse también en tiempo polinomial. La forma usual de violadas es hacerlo aplicada al SOP, se desarrolla distintos modelos a relajar introducir en En este soluciones en introducir el problema contexto factibles, tiene en forma de en el problema planos en el de diversas cortes violados gran importancia orden a 21 2, técnicas Esta donde para que refuercen identificar sean facetas del mismo. corte. capítulo y relajado el estudio aquellas condiciones metodología, se describen identificar e la cota: inicial. -i del politopo de restricciohes que u Capítulo 1. Descripción Un método relajado alternativo condiciones linealmente metodología los puede consistir violadas coeficientes en de forma la elegida en este trabajo, del problema y Preliminares en introducir en el de función cortes objetivo. que se desarrollará que problema J modifiquen Esta es la en los restantes capítulos de la monografía. u’ u’ ml a MI MI ‘ml u u ‘U u u 22 ml ml Li Capítulo 2 Metodología Basada en el Primal 2.1.- INTRODUCCION Sea el modelo general de programación 0—1 IP Modelo 2.1: z= Max cx sa. Ax ~ b XEB donde x es el vector columna del conjunto J de variables es el vector fila de la función objetivo, 0—1, n c A es la matriz de coeficientes de las restricciones y b el vector del lado derecho. Denominaremos búsqueda de programación cotas 0—1 Metodología inferiores (2.1) y, Primal al tipo de técnicas a la solución en general, óptima programación de un y modelos de problema con variables de enteras, tal que tengan las siguientes características: 1) Se relaja la condición de integralidad 23 de las variables binarias; u Cap flujo 2. Metodología estas variables acotadas en el problema relajado basada en el primal pasan a ser variables entre O y 1. Así, el problema a resolver en cada iteración es un problema de oro2ramación lineal (PPL). 2) Pueden también relajarse otras condiciones del problema original. 3) Resuelto trata en una iteración un de identificar condiciones óptima del problema relajado relajadas del problema problema original. original, Esta lineales, que sean violadas actual, o por y que, o por se utiliza para reducir supuesto sin lineal, se la solución bien son condiciones bien son cortes información cortes al PPL, y, por tanto, factibles problema de programación válidos para el para añadir nuevos el conjunto de soluciones reducir el conjunto de soluciones enteras factibles del problema original. Esta metodología requiere para su aplicabilidad que la complejidad de los algoritmos para identificar condiciones violadas sea polinomial. Así mismo requiere iteración tenga también se satisface que la resolución del problema una complejidad polinomial. ya que la programación lineal relajado en cada Esta última condición tiene este tipo de complejidad. U ‘U ‘U ‘U ‘U ‘U ‘U ‘U ‘U ‘U ‘U Ver los trabajos pioneros de Khachian (1979) y Karmarkar (1984). Utilizando proporcionan (Ver metodología se han - diseñado algoritmos que como Lovasz y esta Schrijver, metodología 1988). se ha Veremos utilizado a lo para largo la de este obtención de algoritmos para el SOP. En primer lugar, en la sección 2.2, se plantea el problema de la modelización más eficiente del SOP para ser utilizada por un algoritmo que se base diversas adelante, en la metodología modelizaciones y ‘U cotas inferiores a un gran número de problemas combinatorios. Grdtschel, capitulo esta se analiza que hemos equivalentes la bondad en denominado el de cada sentido una primal. que desde el se Se plantean definirá más punto de vista ‘U ‘U U ‘U computacional. 24 u u ji u Capítulo 2. Metodología basada en el primal 1 ¡ A continuación, fundamentales reducir el de en la sección técnica conocida como de puntos lineales factibles la número 2.3, se desarrollan preproceso, del los que aspectos tratárá de problema sin éliminar ninguna solución factible entera. En las secciones 2.4 y 2.5 se estudian los algoritmos para la obtención de cotas inferiores, algoritmos que siguen el esquema general de los corte algoritmos especial de incapie planos en de los algoritmos algunas de las restricciones sección 2.4 se estudia acumulado (i.e., d = j conocidos de en la literatura , separación haciendo desarrollado~ para especificas del problema que nos ocupaJ En la el caso en el que no existen acotaciones ~l peso w VjeV), y en la sección 2.5 el caso en el cjue este peso sí está acotado. Por último, procedimiento en exacto la sección (exponencial, 2.6, se basado describe en técnicas brevemente el “branch—and4bound”) a seguir cuando la única condición violada por una solución obtenida es la condición de integralidad, en esta metodología condición que en todo momento aparece relajada primal para obtener cotas inferiores al valor: óptimo del problema. 2.2.— MODELOS 2.2.1.— Iñtraducción. Sea IP el Equivalencia y bandad de modelas problema de programación entera 2.1. <Se supone~ que el problema está propiamente dimensionado). Definición sistema 2.1: (2.1) Se donde llama relajación cada x puede lineal tomar del problema cualquier valor IP del el mismo intervalo [0,1]. Sea LP la relajación lineal de IP. Definición equivalentes 2.2: Los sistemas Ax 5 b y A’x 5 b’ son sistemas si tienen las mismas soluciones para x E <0,1>”. 25 .1 — 0—1 Capítulo 2. Metodología 2.3: Dados los sistemas 0—1 equivalentes Ax 5 b Definición se diée que el sistema A’X 5 b’ es tan fuerte que {x/ basada en el primal A’x Definición 5 los 2.4: Dados los sistemas 0—1 equivalentes Ax definición, factibles sistemas y, del conjunto un sistema sistema dos sistemas más definan equivalentes Pero cuanto restringe más se acerca de soluciones fuerte, 0—1 enteras. se por tanto, enteras. el espacio el sistema problema original. y, 5 y u A’x 5 b si se verifica por Ax 5 b y más fuerte de A’x 5 b’ sea uno de soluciones lineales a la envoltura convexa De hecho, el objetivo final al obtener sea Ax ~ b con xe[0,l)”, facetas b 5 para xE[0,l1” las mismas soluciones dos 5 b’> ~ <x/ Ax 5 b> para xe[O,l1” que <xIA’xsb’>c{x/Ax=b> tienen A’x como Ax 5 b si se verifica se dice que el sistema A’x 5 b’ es más fuerte qáe Ax Por y tanto, es que las restricciones definan la envoltura convexa del del La solución óptima del problema LP será, en este caso, la solución óptima del problema original IP. Ejemplo 2.1: Sea el sistema siguiente: 5x + 6y + 7z 5 11 x,y,z E < 09 La relajación lineal del problema es: 5x 0 que 6y + = + 7z 5 11 x,y,z 5 1 geométricamente representa el conjunto factible representado figura 2.la. Un sistema 0—1 equivalente al sistema anterior es el siguiente, x+z51 y+z~l 0 5 x,y,z 5 1 x,y,z E < 09 26 en ‘U ‘U ‘U ‘U la ‘U “U ‘U ‘U “U ‘U ‘U ‘U ‘U ‘U “U ‘U ‘U ‘U ‘U 1] Capítulo 2. Metodología ya que no elimina ninguna solución entera del basada en el primal problema. Su relájación (repre4entado lineal geométricamente representa el conjunto factible superpuesto al anterior) que se muestra en la figura 2.lb: 094> (1.0-,.—,, -5-,—,) 5< ~¿0,0> (O 2 .0) (0.10> (4.1.0) Figura 2.Ia Figura 2.Ib Figura 2.1 Tenemos Estas así dos formulaciones representaciones primera, ya que son tales elimina 0—1 que equivalentes la soluciones del segunda es lineales mismo más factibles problema. fuerte para que el la primer problema relajado. Además, en restricciones tanto, los este caso, introducidas puntos la segunda definen extremos representación facetas del del conjunto es politopo factible tal que las y, por entero relajado tienen coordenadas enteras. Podemos frecuentemente, la definición observar éste 2.2. es que el un caso) Tiene sentido, problema varias pues, 0—1 puede formulaciones analizar dichas tener (y, equivalentes muy según formulaciones, asi como la bondad de cada modelización en términos de “fortaleza” en relación 27 Capítulo 2. Metodologta ‘U ‘U ‘U ‘U basada en el primal con las otras formulaciones (equivalentes) del problema. 2.2.2.- Diferentes modelos 0-1 equivalentes para el 501’ can relaciones de precedencia En un primer momento (ver Escudero, 1988), el 501’ fue formulado como el problema de encontrar un camino hamiltoniano 31 con peso total mínimo en un graf o de forma relaciones (i,j>EU de que se satisfagan precedencia significa Claramente, que (i,j),(j,k)efl entonces vienen dadas en todo i<j este grafo no las relaciones por el digrafo camino puede contener U tiene que preceder de precedencia. P=<N,fl), hamiltoniano ningún circuito a k. Por tanto, y, Estas donde factible. además, si se supone que ‘U ‘U ‘U ‘U 1’ es un digraf o sin circuitos y cerrado transitivamente. Como se ha mencionado anteriormente, para el algunos al., 501’, todos modelos 1993). Así ellos 0—1 equivalentes. que se han planteado mismo se resume existen A diferentes continuación en la literatura el modelos 0-1 resultado se (ver de describen Ascheuer la et experiencia cornputacional obtenida por lo que respecta a la bondad de cada modelo. Modelo 2.2 Para esta primera formulación del 501’ sea la siguiente notación: e (a) IT (b) (o) A ‘U { (j,i)EVxV / (i,j)efl U ‘U ‘U U { <i,kkVxV 1 Bj con (i,j),(j,kkTl > e A\(T1 U TI) U Ningún camino factible 3< puede contener un arco de contrario, se violaría que si (i,j)(j,k)ell (i,k) perteneciera infactibilidad considera pues una relación entonces de precedencia, ni un ft, pues, en caso arco de u, ya ‘U i<j y j<k, y esto no sería posible si el arco al camino. A será, por tanto, el conjunto de arcos cuya todavía no ha podido ser demostrada, si existe. Se el subgraf o D=(V,A). Se consideran también los siguientes ‘U -‘U parámetros: 28 - ‘U ‘U U Capitulo 2. Metodología (d) « í+< i/(i,k)ElrT }j k~V (e) ~k n—¡< j/(k,j)ell >1 keV (resp. basada en el primal «kí (respectivamente n—f3 1< ) es el mínimo número de nudos predecesores sucesores) que ha de tener el nudo k en cualquier camino hamiltoniano 31 factible. Se (i,j)eA, introducen -los x11 es una dos tipos siguientes variable 0—1 que indica de variables; si el arco Para cada arco (i,j) está~ en el camino hamiltoniano 31 o no, tal que { = X 1, si (i,j)e(O,. .,u) , en caso contrario . Es decir, x El ti segundo todo h,keV. = 1 si y sólo si tipo Estas j = z(i) de variables variables 0—1 se utilizarán son variables auxiliares para modelizar las ~hk restricciones de precedencia, de forma que l,si elnudoksesecuenciaanivelh,cona hk{ en caso contrario El modelo queda, pues, formulado de la siguiente manera: z shs¡3 k t =Mincx s. a. (1) x(A) = n—í (2) x(8(j)) 1 VjeV (3) xG5Áj)) 5 1 VjCV = 29 para u Capítulo 2. Metodología basada en el primal s x (4) Li ~ O (5) x(W) ~W¡-.í y WcV , 2s 1W15 n-l 5 -(6) x -6< 0,1 > -~-1 « V(i,j)eA Z =1 Vh~V E ~1 VkcV ~ ¡¿Ja shs(3 (8) ~ ~ h~ a ShSj3 <‘1 si (11) Ckh (12) C ‘U ‘U ‘U V(i,j)eA +1 E ~ u‘U V<i,j>ETP~fl h%h - a 5h5f3 + ‘ si:?¿l~hC +~ mm <,~—í> VkEV, «shs¡3 E <O;1> 5 ¡h V(i,jkA, l+x jh.1 IJ max <a ,a1 -l>shs mm Las restricciones problema de (1)—(6) dan la formulación encontrar análogamente al modelo restricciones de ‘U ‘U ‘U ‘U ‘U un camino en programación 0—1 hamiltoniano en el• 0—1 del ATSP. Las inecuaciones eliminación de subciclos, <(3,(3—1> Ji SEC’s - del graf o tipo (5) se llaman (del inglés, Subtour Flimination Constraints, ver Dantzig, Fulkerson y Johnson, 1954). Las restricciones (7)—(12) aseguran precedencia. La restricción cada y nivel, la - relaciones de (7) obliga a que se secuencie un solo nudo en restricción nudo. La restricción que se respeten las ‘U U ‘U ‘U ‘U (8) a que exista un solo nivél para cada (9) evita que se secuencien en orden inverso pares de 30 ‘U ‘U “U 1] Capitulo 2. Metodología nudos unidos hace que por relaciones si secuencie (i,j)eTI y de precedencia (j,k)elI inmediatamente ó directas, (k,j)eTT, después que basada en el Primal y la restricción entonces el nudo el nudo i. k ~no Finalmente, (10) se las restricciones (12) integran los submodelos (1)—(6) y (7)—(1l). Crítica al modelo Después de trabajar computacionalmente con este modelo se obsebvó que en un gran número de E desviación relativa (z el valor en heurístico casos —2 LR la función utilizado, y )/z LR el de la la cota LR de era bastante objetivo z intervalo optimalidad, grande, es donde z solución que obtiene inferior al valor decir, E la representa el algoritmo óptimo z obtenida mediante la relajación lineal del modelo anterior. Este intervalo se debe a que, o bien zE o bien z lejos del verdadero computacional cercano, con mientras formulaciones valor otro óptimo tipo que zLR equivalentes de no. del problema. modelos se Surge de postula ahí para el problema, Debido la , o ambos, están a la que el necesidad que sean más experiencia valor de 2’ es encontrar fuertes~ que la formulación anterior. Modelo 2.3 En este segundo modelo se utilizan dos tipos de variables 0—1. Sean las variables x tales que ij x = ~ Sean las ~. si (i,j)e(O u) O, en caso contrario variables 0—1 y1~ para cada (i,j)cA variables auxilitres se utilizarán para modelizar las relaciones de precedencia, tales que ~I si i<j en el camino factible 31 n caso contrar i o 31 que - Capítulo 2. Metodología baáada en el Primal El modelo es el siguiente: z = Miii ctx s. a. x satisface las restricciones (7) y = 1 (8)y11 +y U V(i,j)efl =1 ‘U V(i,j)eA (9) y +y +yS 2 Vi,j,keV, i*j*k (10) y1~ ~ O V(i,jkA <11) x— y11 ~ O V(i,jkA Considerando las restricciones integralídad se obtiene lineal. Grt~tschel, (Ver restricciones implica <l)—(6) del modelo 2.2 y~~E<0,l> debido a la (8)—QQ) y añadiendo la condición de la formulación 0—1 del problema del ordenamiento Junger no son y Reinelt necesarias, integralidad ‘U ‘U ‘U ‘U ‘U de las ya (1984)). que variables En la este x restricción Ji . Las caso (11) las las restricciones (7)—(ll) aseguran que se respetan las relaciones de precedencia. ‘U ‘U ‘U Critica al modelo Una ventaja del modelo 2.3 es que combina de una forma natural dos problemas de optimización combinatoria bien conocidos: camino hamiltoniano y el problema del ordenamiento lineal. el problema del Una desventaja es la utilización de las variables auxiliares y1~~ Este modelo no parece ser bueno computacionalmente número de casos se describen se sustituirán el intervalo en este capítulo, las restricciones de optirnalidad, utilizando ya que en gran las técnicas que ‘U sigue siendo grande. En el siguiente modelo donde aparecen 32 las variables por un ¡‘U ‘U ‘U u u u Capítulo 2. Metodología nuevo conjunto de restricciones, basada en el i9rimal de tamaño exponencial en n. - Modelo 2.4 z * t =Mincx s.a. x satisface las restricciones (l)—(6) modelo 2.2 (12) x(j:W) x(W) + + x(W:i) 5 V(i.j)cTT y VW tal que 0 * W S VVi,j> Llamaremos a las inecuaciones de tipo (12) restricciones la precedencia, PFC’s; (del ingés Precedence Forcing que fuerzan Constraints, ver Ascheuer et al. (1993) y Balas et al. (1994)). Crítica al modelo Este modelo tiene es un planteamiento la ventaja de no utilizar variables auxiliares, y más natural para el 501’. La experiencia computacional confirma este punto de vista. Los modelos 2.3 y 2.4 son más fuerte~ que el modelo 2.2. Sin embargo algoritmos proporcionan mejores que utilizan el modelo cotas 2.3. implementados utilizando inferiores a la solución En la sección 2.4.1 el modelo 2.4 óptima se estudia que aquellos el tratamiento del conjunto exponencial de condiciones de tipo (12). 2.2.3.— Modelo 0—1 para el SOP con relaciones de precedencia y ac¿taciones En esta sección se considera el problema de obtener unt camino hamiltoniano de peso mínimo de forma que se satisfagan las relaciones de —h precedencia, subcamino cuando existen hamiltoniano. Sea acotaciones d el vector superiores al n—dimensional peso de cada que proporciona estas cotas. Para la resolución del problema 33 es conveniente que el espacio de u Capítulo 2. Metodología basada en el Primal 1 a soluciones lineales factibles sea la más restringido posible. Para ello, como se verá en la sección 2.3, puede ser conveniente introducir un nuevo vector n—dimensional, r, que proporciona cotas inferiores al peso de cada suboamino. En principio, en el problema que nos ocupa, r = 1 Vi=l n. Se considera el nudo ficticio O, con PO= O, d o = O, VjeV. desde el que ha de comenzar cualquier camino. Se supone que c ~ O recoge el costo de acondicionamiento en el caso de que el nudo j sea el primer nudo del camino hamiltoniano después del nudo O. En este modelo se consideran las variables 0-1 x = { I~ El segundo si (i,j)E(0 Ji U ‘U ,talque u) en caso contrario tipo de variables a utilizar son las variables continuas y1, que dan el peso acumulado del vértice i en el ¿amino hamiltoniano 31. En el caso que se está considerando, vértice puede estar acotado inferiormente, Y¡=max<r¡~l.Ya<¡)+ca<¡)J >+p este cony , El modelo es el siguiente: * = Mm =0 0 1 ‘U ‘U donde el peso acumulado de un peso, que depende del conjunto de nudos secuenciados antes que él en 31, viene dado por: z ‘U U u Modelo 2.5 x ‘U U (2.1) a u u t cx U s.a. (1) x(A) = n—l (2) x(d(j)) 5 1 VjEV 34 U ‘U ‘U ‘U u — 1 Capítulo 2. Metodología (3) x(V (j)) 5 (4) 0 s x 5 II VjeV 1 V(i,jkA ¡W~—l V Y/cV (5) x(W) 5 (6) x <0;l> E 1 , 2~ jW¡s n—l V(i.j)EA (7a) m (l—x (y-*T )-.y s M (1—x ) Ji j Jj Ji < Ij JJ basada en el Primal V(i,j)eÁ si r=l VieV (7b) (y +T )—y ~ M (1—x ) J ~-1 -1 Ij Jj V(i,j)sA si 3kV ¡ r>1 (8) y1 + (9)e 53’ 5 lj y~ 5 V(i,j)sTT ~d VkV donde e = r.—1 + M +T)-.e Ji 1 1 JJ u =(d 1 =(p 5. es p 1 1 +T)-d ij la longitud del camino mínimo desde el nudo i hasta el j en el digraf o G=(V,A), considerando 1 como la distancia II de i a j V(i,j)eA. nudo Las anteriores, obliga a pertenece restricciones (1)—(6) y proporcionan que = las un camino mismas hamiltoniano que en los -~ modelos 31. La restricción (7a) si x =1, es decir, si el arco (i,j) Ji 1j al camino 31, en el caso en que todas las cotas inferiores sean iguales a 1. y son + Esta restricción T es redundante 35 para x Ji = 0. La restricción - u Cap itulo 2. Metodología basada en el Primal a (7b) obliga a que y inferior ~ y sea superior +1 a 1, si x Jj Ij =1 en el caso de que alguna cota y es redundante para x = La restricción 0. (7b) es necesaria dada la definición (2.1) de y. Los valores de M y m son valores suficientemente grandes en valor Ji absoluto como para no eliminar ningúna solución entera del problema, pero tales que utilizan la información disponible sobre el problema para acotar Ij al máximo el problema lineal relajado y, por tanto, hacerlo más fuerte. Las restricciones nudo i antes (8) que el son las PF’C’s, ya que obligan a secuenciar nudo j si (i,j)efl. Las restricciones (9) el acotan el peso acumulado de cada nudo. Llamaremos fuerzan las inecuaciones Las acotaciones, Este utilizar a modelo de tipo (7) y (9) restricciones que DFC’s; (del inglés Due date Forcing Constraints). puede ser planteado matemáticamente sin necesidad de el vector r, ya que hasta el momento se considera que r y, por tanto, la condición (7b) es vacía. Basta para ello = 1 VjeV -3 con eliminar la condición (7b), y reescribir las condiciones (7) y (9) en la forma (7’) m (1—x ) s (y+T )—y s M (1—x ) JJ ‘1 J JJ j U JJ (9’) p donde ~ y1 s d =(d +T)-p m =(p +T)—d Ji J~j Sin embargo, formulación disminuya ninguna trata es el conjunto posible solución de resolver el ‘U U u u U U u U reforzar de u u U j como veremos posible 13 V(i,jkA VicV M U en la sección 2.3, las restricciones soluciones factible problema 0—1, lineales lo utilizando 36 cual la utilizando de forma factibles es muy la primera sin que eliminar conveniente metodología que se en si se u este U u u CapItulo 2. Metodología basada en el primal capítulo se desarrolla. 2.3.- PREPROCESO Una fase planos importante de corte de un procedimiento consiste en analizar de optirnización el problema para intentar basado en descubrir alguna estructura que ayude a descomponerlo, o a reducir su tamaño, o a hacer más la formulación del IP convirtiendo algunas desigualdades en fuerte igualdades Esto es o fijando igualmente requerido algunas necesario variables para a un valor determinado, reducir el esfuerzo etc. computacional para la obtención de una solución factible para el problema. Se llama pre proceso a la realización de todas estas operaciones. Utilizando como base la formulación IP para el SOP dada en el modelo 2.5 de la sección 2.2.3, se proponen las siguientes operaciones: 2.3.1.— Eliminación de arcos del conjunto A Dado el grafo G = (V,A), con V conjunto de nudos y A conjunto de arcos, se debe eliminar del conjunto A el (i,j) sí se ha d~tectado arco que i no puede ser el predecesor inmediato de j en ningún camino factible 31. Las (Es decir, si a(j)*i V31 factible). lineas maestras del procedimiento son las siguientes: a. = O (es decir, eliminar el arco (i,j) del conjunto Li A) si se verifica alguna de las condiciones siguientes: Fijar x <le arcos - (j,i)efl (2.2) 3keV 1 (i,k)Ák,j)EII (2.3) e+T (2.4) 1 Jj > d -3 BkeV tal que o bien x b. Fijar x =- 1 (es 1k = 1 o bien x decir, kj eliminar = 1. el (2.5). arco (i,j) y convertir los II vértices i y j en un sólo nudo de peso p. + c + Ji 37 p ) sise satisface Capítulo 2. Metodología basada en el primal alguna de las condiciones siguientes: x 1k Fijar O V(k,jkA tal que k*i y 31 / (l,j)sll (2.6) O V(’,k)eA tal que k*j y 31 1 (¡,l)EII (2.7) x = O si se verifica (2.2) ó (2.3) equivale a pasar del grafo 1> G = (V,A) al subgrafo factible D La condición (2.4), donde camino factible modelo. La condición no puede a(j) ser k * 3<. el Vk*i e = r1 -(2.5) se (resp. inicial z(i) (V,Á) (ver modelo 2.2, sección 2.2.2). — 1 deduce (2.6) (resp. nudo =. + de p, implica las restricciones (2) y (resp. final) de ningún el arco (3) del j <resp. i) (2.7)) indica que si el nudo 1< Vk*j) entonces t j<i en cualquier que camino factible y (i,j) debe formar ‘U ‘U ‘U ‘U ‘U ‘U ‘U ‘U parte de cualquier camino factible 31. se U ‘U ‘U ‘U j en el digrafo U U 2.3.2.— Reducción -del intervalo (r ,d), VieV. Cuanto menor sea este intervalo más fuertes son las restricciones y (9) del modelo (2.5). Este procedimiento sólo es efectivo si (7) existen relaciones de precedencia, es decir, si IT*0. De forma recursiva se actualizan los vectores r y d, tal que incrementa r y reduce d ÚjeV de la forma siguiente: .1 j ~l - donde 5 1 1 Ij es la distancia mínima del nudo i al nudo lj G = ¡N,A), siendo T Observación conseguir, conjunto 2.1.: pero es rr es Esta la distancia entre los nudos a y b. nueva una cota grande, ya que cota es costosa la de supone más calcular resolver ajustada cuando ~I que se puede el cardinal problemas de del camino mínimo. En esos casos se utiliza la siguiente relajación alternativa: ffir =max<r,RI,R2> VjcV 38 u ‘U <2.8) ‘U U U Capítulo 2. Metodología basada en el primal donde Rl R2 max < r E E 1 Vi 1 (i,j)eTT p+ C + (2.9) —I (p-~ C) R1+ 1 1 (2.10) —J /wjefl y C —I mm E = mm md < Vk 1 <i.kkA < r. Vi <2.11) 1 (i,j)EII - (2.12) =min<d,DI,D2> 1 VieV 1 <2.13) donde Dl D2 E E mm D —J < d - .1 y = E mm — J ¡ (p+ Ch .1 z (p + j C) (2.15) — < Vk 1 (k,jkA Vj ¡ (2.16) (i.j)efl (2.17) j Observación 2.2: Siempre ha de verificarse que r la mejor cota superior (2.14) <í,j)ETI max < d. —l Vj 1 (i,j)eTT > — ~ 1, d 1 ~ z, donde z es ¡ j disponible del peso acumulado del último nudo que se secuencie. 2.3.3.- Eliminación de arcos del conjunto TI Se debe eliminar del conjunto 39 de arcos TI todo arco (i,j) que Capítulo 2. Metodología basada en el primal SI SI verifique d ya que modelo si 2.5 — esta es C1 ( + (2.18) p) < r+ 1 — condición se redundante verifica incluso en entonces la la relajación restricción lineal y, (8) por ~ del tanto, <i,jkfl también es redundante. 2.3.4.— Adición de arcos al conjunto 11 Sean los nudos i,j~V taj que se cumpJen las siguientes condiciones: (b) c = c Ij (c)c 1k (d)c = O JI c III] jk Sc liv y c 1<1 =c VkeV\<i,j> kj +c uJ V u,veV\<i,j>, u*v Jv (e) j no tiene ningún predecesor ni sucesor en P. Entonces se puede añadir el arco (i,j) o el arco (ji) al conjunto 11, de forma que al menos una solución óptima del SO? original es óptima para el nuevo problema. Esta observación puede ayudar en algunos casos a reducir sustancialmente el tamaño del problema. Observación 2.3: Se deben ejecutar y 2.3.4 secuencialmente, y repetir los procedimientos 2.3.5.- Transformación de desigualdades en igualdades (V,A) y 1’ = (N,11) definimos: (a) V = < vEV 1 ~(v,j)eTI, j*v > (b) y vcV 1 B(i,v)eTl, i!=v 2 = < 2.3.1, 2.3.2 , ml ml SI ml 2.3.3 esta secuencia hasta que no se obtenga ningún nuevo cambio. Dados G ml ml SI ml u u 40 u Li Capítulo 2. Metodología es decir, y basada en el brimal es el conjunto de nudos que tienen sucesores en fi y y 2 es el conjunto de nudos que tienen predecesores en 11. Entonces las desigualdades (2) y (3) del modelo se pueden tran ;formar en: (2a) x(5 <3)) = 1 VJeV C2b) x(d CjE VjsV\V 5 1 2 (3a) xG5~(j)) = 1 VJEV (Sb) x(6 ~<j)) ÚjEV\V 5 1 Este tipo de análisis se efectúa cualquier fase del algoritmo general no sólo en el preproceso, cuando algunas variables sino se fijan en a cero o a uno. 2.3.6.— Test de infactibilidad Un problema dado será infactible si se verifica condiciones siguientes: 1) B = 0, - 2) 31EV donde B = < (0,b) con bEV ¡ 1 1 e > d 1 = d Ob BasV 1 (a,b)EII y b 1 3) B(a,b)crr y 3(a,j)eA ti ti 4) Lj >1, con L = <al 5) 3(a,b)dfl y 3(i,b)cA 6) új 7)aeLh 3(a,b)eTl y 3(i,akA > 1, con Lt = <b ¡ 3(a,b)cTl y :3(b,jkA > ya~B 8) 3a,beV / (a,b),(b,a) E 11 9) 3a,b,ceV 1 (a,b),(b,c),(c,a> 10) G = (V,A) no es conexo 41 E TI alguna de las 10 Capítulo del 2. Metodología basada en el primal Si se verif lea Ja condición .1 ningún nudo podría ser el nudo inicial camino superior puede 3<. La condición 2 indica que una cota no satisfacerse. La condición 3 identifica un nudo que debe ser predecesor de otro y al mismo tiempo último nudo del camino, y la condición 5 identifica un nudo que debe ser sucesor de otro y al mismo tiempo nudo inicial del camino. La condición 4 (resp. 6) implica que más de un nudo debe ser nudo inicial (resp. final) debe ser inicial del camino. La condición 7 identifica un nudo que del camino pero al que no se puede llegar desde el nudo 0. Finalmente las condiciones 8 y 9 detectan ciclos en IT. 2.4.- Se plantea el problema de encontrar un camino hamiltoniano 3< con peso mínimo precedencia en un grafo dadas por el de forma digraf o que se satisfagan P=(N,TI). (Se supone, las relaciones por tanto, de que no esquema general algoritmos cje planos de corte, que ~iguen para este tipo de algoritmos, aplicandolos ‘U ji u hay restricciones de cota superior en el peso acumulado de ningún nudo.) Para ello se desarrollan ‘U ‘U ‘U u OBTENCION DE COTAS INFERIORES. SOP CON RELACIONES DE PRECEDENCIA total u u u al modelo el 2.4 de la sección 2.2.2. (Ver algoritmo 2.2) 2.4.1. Algoritmos de separación. Metodología. En el desarrollo principal de un la utilización (generalmente problema) la restricciones de planos de corte juega de procedimientos solución satisface algoritmo todas determinado, óptima las o, de que verifiquen si un la última desigualdades relajación correspondientes en caso contrario, identifiquen un papel punto dado lineal a un del tipo de al menos una algoritmos de U ‘U U ji desigualdad de este tipo que sea violada por dicho punto. Ese tipo separación. de Nuestra procedimientos investigación reciben se que se ejecuten en tiempo polinomial. e> centra nombre de en algoritmos de separación U U 42 u u Capítulo 2. Metodología En las dos secciones siguientes polinomiales para las restricciones para las restricciones que fuerzan basada en el primal se describen algoritmos de eliminación de separación de subciclos (SEC’S) y la precedencia (PFC’S). En ambos casos tenemos un número de desigualdades exponencial en n. 2.4.2. Identificación La entrada de condiciones de eliminación de subciclas del algoritmo es un punto xeaÁ, con x ~ O V(i,j)~A. El Ii algoritmo es válido para situaciones más generales que las consideradas el modelo 2.4. Así, no se exige a x satisfacer las en restricciones (l)—(3),(6) del modelo. El algoritmo garantiza que x satisface todas las desigualdadesj de la forma x(W) o 5 VW~V, 2 IWI-l bien proporciona un conjunto WSV, hecho proporciona un conjunto W 5 IWI 5 n (2.19) 2 =jwj 5 jwj—i. (j W 1) n tal que x(W> > tal que la diferencia x(W) — De sea lo mayor posible, es decir, identifica la SEC más violada. Para ello, se construye el digrafo auxiliar D 0 = (y 00 ,A ), de la forma siguiente (ver figura 2.2): V o = V U <O>, A” = <(i,j)EA 1 x donde O es un nudo nuevo ji > O> Ao = A” U <(O,v) ¡ vsV> U <(j,i) 1 (i,j)EA” y (j,i)~A”> Se resuelve el problema de separación para las SEC’s reduciendolo a una secuencia de problemas de corte mínimo. Para convertir el problema en uno de flujo sobre un digrafo se introducen capacidades c 0 para los arcos Ii de ID de la forma siguiente: o Sea = x(a(j)) + x(&’~(j)) VjeV 43 2.20) fi Capítulo Se define c00-3 = 1— <l/2)C J + 2. Metodología Nf basada en el primal Vje y SI (2.21> a con M entero positivo elegido de forma que co ~ O Vj~V 01 Se define c Observación 0 J> 2.3: = c si 0 II = 1/2 Cx (j,ikA” U + x VjeV » para algún (i,j)EAX, (2.22) se supone que x u’ a vale JI cero. u’ jkJ D = (V.A) D = (V>A”) y) SI y) a u’ SI D 0 SI = CV ,A 00 u SI Figura 2.2 A continuación se introducen n digrafos nudo de V, que son pequeñas modificaciones de 13 ID k 1< = CV ,A 1 con capacidades c, k (a> y 1< k = y auxiliares, . 44 para cada Para cada kcV se define o de la forma siguiente: O uno a SI SI SI u Li Capítulo 2. Metodología (b)Ak =A 1< (c)c EJ Un k donde B o Ji V(v,k)cB M vk Observación {(v,k) 1 veV\{k>} ‘4 y ( i , j ) cA 0 =c (d)ck o basada en el primal 2.4: En contiene un arco de E U (b) significa unión disjunta. Por si tanto, A o se añade un arco paralelo. (Ver figura 2.3>. ‘4 Figura 2.3 Algoritmo 2.1: - Algoritmo de separación para las restriccior ¡es de eliminación de subciclos. Entrada: Un punto xcO A tal que x ~ O ‘1 Salida: Al menos un conjunto de nudos, sea W, de cardinaL entre 2: y n tal que x viola su SEC correspondiente, o la información de que nc - ningún conjunto de este tipo. Algoritmo: Para cada kcV: Paso 1.— Costruir el digrafo ID ‘4 = <‘4 A) con - capacidades c ‘4. Ii tal como se ha indicado anteriormente. Paso 2.- Utilizar un algoritmo de flujo máximo para determinar un 45 existe Cap CÉtiCo 2. MetodoLogía basada en el primal u (0,10—corte 8(W ), es decir, un corte que separe O y 1<, y tal que keWk. O4W’4~ de forma que la capacidad del corte k u c’4(a~w )) sea la menor posible Pasa 3.— ‘4 Si c’4(.5 (W )) x(W~) s nM < jWj—í. ‘4 t + 1 entonces Si c’Xd<W )) satisface todaslas SEC’s. nM x viola la 1 VkcV entonces x + Teorema 2.1: Si la capacidad mínima de un (O,k)—corte en D menor que nM (2.19). Si 2 s 1, + un hay entonces x satisface (O,k)—corte 8 (W’4). n, con 5 )) ~ nM 1, + todas para u u SEt las ‘4 VkeV desigualdades algún keV, tal ‘U no és del tipo WJ<SV~ que u IW[—l. entonces x(W) > ‘U Demostración: (Ascheuer et al., 1993) En primer Lugar se prueba que la capacidad de cualquier corte a<w ‘4 ‘4 en el digrafo ID, con 0~W , keW En efecto, c1’ ck(ó7w )) = weW Z + ‘4 z + weW ‘4 vEV\W weWj(v,w)eA ‘4 E = [IW~l-l/2 wsWj(v,w)eA + M!w~Ij+l/2 + j —íí4 J — ( x(W ) + nM ‘4 ). ‘4 u vk Z u u ~‘< vcV\WJ(v,kks E Lx ‘4 ‘U u +x)+jV\W¡M (v,w)E.5 (W 1< ) E Cx+x¼ (v,w)s&(W 46 ‘4 ) 2 u ‘U vEV\Wj(v,k)~B c~+ wEW = nM 1N~ Z v~V\W = es la diferencia Zx~~ +xwvj v,weA(W + u ‘U u ‘U u Capítulo 2. Metodología basada en el Primal + E 1/2 (x + (v,w)e5 (W = Por tanto, (~ x(W) — (W)) ~ 1 + x) = k nM. + se verifica 5 la desigualdad x(W~) IWI—l si y sólo si nM. Falta demostrar que si existe un corte &(W ) con capacidad menor que I~I 1+ nM, entonces l~¡ ~ 2. En efecto, como k e ~, entonces la capacidad del corte seria l+nM. Por tanto implica W ~ki=< ~ 1. Si ck(&(W)) < mM + k 1 ~ 2. Además, por construcción, W ‘4 u = V es una solución posible. Conclusión: El algoritmo condiciones de de no separación arriba indicado negatividad algoritmo de flujo máximo. tiempo polinomial. máximo debido se puede ejecutar Por tanto Recomendamos a Goldberg para la y Tarjan es un llamando SEC’s n más veces del Para algoritmo una las a un algoritmo que se ejecuta utilización (1988). las en de flujo panoramica sobre algoritmos de flujo máximo ver Ahuja, Magnanti y Orlin (1989). Aplicación del algoritmo El algoritmo anterior contempía situaciones necesarias en el SOP. Si se parte (4) del modelo A de que el vector xeC 2.4. más entonces el conjunto 47 generales . satisface de nudos las - !que las .1 restricciones (1) y cuya SEC es1 violada -, Capítulo 2. Metodología verifica nM + WkI 5 n—l. 2< Esto es así ya que k basada en el Primal <&<W)) = — x(V) nM = + uu 4 1, y por tanto W cV como se deduce del teorema 2.1. (3), U ‘U ‘U ‘U VjcV. y por tanto según la expresión (2.21) basta tomar o M O para que o ~ O. Esto implica que los conjuntos de arcos B y, por k tanto, los digrafos auxiliáres D para kcV no son necesarios. Además se u Si además suponemos que el punto x satisface (3) del modelo, entonces el problema problema de corte mínimo de en un graf o las restricciones separación no se (2) y convierte en un dirigido> y se pueden utilizar algoritmos como el de Gomory—Hu para obtener un corte de capacidad mínima. (Ver Padberg. y Rinaldi, 1990). En efecto, entonces C J 5 si el punto x satisface las restricciones puede transformar el digrafo O k en el digrafo simétrico O’ = <y ,A’) con o o capacidades c’ (b)c’ (c)c’ yO haciendo: =c0 ~Ji Ii =1/2(x ji +x) Ji V(i,j)sA 0 JI =c’ VvEV 0v Sea G” = capacidades =c0 s’ (V ,E) o el grafo no 1 dirigido inducido por 13’ = CV ,A’) o con I ¡-3 -31 G” = c’ tiene -= c’ U V<ijkE . la propiedad de que c”(6(W)) = c’(8~(W)> = c’(&(W)) para cualquier W~V , donde .5~(W) = 8(V\W). Por tanto, un corte .5(W) en G” con capacidad mínima c”G5(W)) corresponde a un corte de capacidad mínima K1W) en O’ y viceversa. Por tanto el problema de separación para las SEC’s, suponiendo que el punto inicial ‘U definido de la forma siguiente: (a) E = < <ij> 1 (i,j)~A’ > (b) c” ‘U U U{(v,0)/veV> o =c’ 1.) y 2 - (a)A’=A (2) verífica las condiciones 48 (2),(3),(4) del modelo, puede U ‘U ji ‘U 4 u u Cap Club resolverse utilizando cualquier 2. Metodología algoritmo que basada en el primal determine un corte de capacidad mínima en un grato no dirigido. 2.4.3.— Identificación de condiciones que preservan precedencia Se plantea relaciones de restricciones que . el problema de separación para las fuerzan la precedencia (PFC’s). x(j:W) + x(W) + 5 x(W:i) Wj V(i,j)dfl y 0*WSV\{i,j> (2.23) Como en el apartado anterior, se reducirá el problema de separación a una serie de problemas de corte mínimo La entrada del algoritmo con x ~O V(i,j)cA. El li ¡ viola alguna restricción del tipo (2.23), y en algoritmo se pregunta si x caso afirmativo da A es un como salida punto xEO , alguna restricción - violada. Para ello, se construye para cada arco (i,j)ell un problema de corte mínimo del que se obtiene la información de si la PFC (2.23) es violada para algún conjunto Dado el digraf o de precedencias 1’ = (N,TI), para cada arco introduce un nuevo digrafo ID = CV ,A ) JJ con capacidades J~j ¡-3 digraf o viene definido por los siguientes parámetros (ver figura 2.4 (a) V = (V\<i.j>) ‘.1 U (U) A”=<(i,jkÁ\x Cc) A < (k,l)\ ji <y ti > donde y ‘-1 >0> (k,l)eA”, k,k<i,j> > — x ‘41 U U < Cv .1) \ (j,l)eA”. W<i,j> > U < (k,v ) \ (k,i)eA”, k~<i,j> Ii Ii Cd) d11 ‘41 es un nudo nuevo V(k,lkA 4 Ii fl 49 A” U Este Capítulo 2. Metodología ví (e) d1~ l~l Cf) Por x — V<j,1)eA JI d1> —x kv tanto eliminando ‘U ‘U ‘U ‘U J basada en el primal ‘41 V(k,ikA el digrafo O se obtiene a partir todos los arcos que terminan en el nudo salen del nudo i y todos reemplazando los nudós i y - los arcos entre j j, de y Ii . - = <V.A”) todos los arcos que los nudos i y por el nuevo nudo O” j y, finalmente. u Las capacidades de los arcos son los valores de las componentes positivas del vector x. ji ‘U u u Figura 2.4 Las restricciones que fuerzan las relaciones de precedencia relativas al arco Ci,j)eTl y al digrafo ID = (V,A), x(j:W) + x(W) + x(W:i) 5 (2.24) pueden escribirse, en términos de la transformación de ID en O, como: x(W U <y>) s = w U <v>~ — 50 1 (2.25) ‘U ‘U ji ‘U ‘U ‘U ‘U u u Cap itulo 2. Metodología Por tanto, para contrastar si se verifica la basada en el p!7imal ¡‘FC relativa al arco (i,j>etl es preciso contrastar si el vector x verifica la SEC 5 x(W) W~-í para el digrafo D V*~V, y Ii cW 2slWlsn-l y ‘.1 Si existe un conjunto de nudos E*, W~V *1 con y 25? ~n—1 tal que Ji -~ JI x(W) > —1 entonces para el conjunto W = W\<v > se satisface x(j:W) + ti x(W) x(W:i) > JW[. Si no existe ningún W con esa propiedad entonces se + satisfacen todas las restricciones de la forma (2.24> relativas al arco (i,j)efl. Repitiendo este procedimiento V<i,jkfl se resuelve el problema de separación para las restricciones (2.23). Teorema puede 2.2: El problema transformar eliminación en un de subciclos de separación para las restricciones problema identificación (resuelto de en el apartado de 2.4.2). (2.25) se condiciones de Por tanto este problema se resuelve en tiempo polinomial. Demostración: Sea o-av Utilizando una versión simplificada del algoritmo 2.1, en 1~1 el paso 1 del algoritmo normalmente sólo se tiene que construir el digrafo oauxiliar D =(V ,A ) con capacidades c (asociado al nudo comprimido a’) a partir de] a’ o-a’ digraf o D =CV,A ) con capacidades II Ii d JJ, y ejecutar los pasos 2 y 3 del algoritmo para este caso. Si en el paso 3 se identifica un conjunto de nudos WV con a’eW, O~W, tal que co-C&(W)) < l+(n—l)M entonces se verifica y por tanto se viola la PFC asociada. satisface todas las PFC’s. 51 En caso contrario el vector x Capítulo 2. Metodología Falta por comprobar que se verifica O’EW y Por tanto restricciones + basada en el Primal ~ 2. Pero e~to es a~f yá que u (n—1)M. queda demostrado que el problema de separación que polinomial VxeO ca’(K(a’)) = 1 j j A Si además fuerzan la ‘U ji u precedencia se puede resolver para en las tiempo a ( x~O el punto x dado satisface las restricciones modelo, entonces se puede hacer M = O, lo que simplifica (2) y (3) del el algoritmo tal como se ha indicado en la sección 2.4.2. u 2.4.4.— Algoritmo de planos de corte. Lineas generales Las ideas básicas del algoritmo de planos de corte utilizado para resolver el problema son las siguientes: Algoritmo 2.2 Entrada: Matriz nxn P = (N,fl). Paso 1: Calculár de coeficientes la envoltura c Ii transitiva y digrafo acíclico cerrada del de precedencias digraf o acíclico P para obtener el digrafo de precedencias inicial. Paso 2: Preproceso precedencia. - (Sección 2.3.4). Se intentan añadir Si se añade alguna volver al paso 1. que no pueda añadirse ninguna precedencia. relaciones de Repetir hasta El digrafo final será P=(V,l1). Paso 3: Preproceso. eliminar arcos <Secciones 2.3.1, del conjunto 2.3.3, A y del 2.3.5). conjunto U, Se fijar intentan algunas variables, y se convierten algunas desigualdades en igualdades. 52 ji ‘U -u ‘U ‘U u u u u ‘U ji u ji ‘U u u Capítulo 2. Metodología Paso 4: Gota superior solución inicial. óptima. La proporciona la primera Obtener basada en el una cota superior aplicación de un cota superior, inicial algoritmo Primal de la heurístico con valor z en la función objetivo. Paso 5: Primera del relajación. del problema. problema, (LPAP), considerando integrado por las Obtener la relajación el problema de asignación restricciones (l)—(4). Se inicial asociado obtiene así un problema de programación lineal al que se denomina rela!jación LP inicial. Paso 6: Gota inferior inicial. Resolver el LP actual, con solución óptima x y valor en la función objetivo z. Si x es factible para el problema del programación óptima del problema). Si z — entera IP, FIN (x es la solución z < 1, FIN (la solución encontrada por el algoritmo heurístico es óptima>. En otro caso ir al Paso ‘7: Selección que paso 7. del problema intervienen en el cuasi—global. problema Seleccionar cuasi—global. Se las variables considera el siguiente conjunto de variables: — las - variables con valor 1 en la solución proporcionada por varias ejecuciones del algoritmo heurístico. — las variables básicas en la solución óptima del problerr~a de asignación. — las variables no básicas en la solución óptima del problema de asignación con coste reducido igual a cero. — las variables no básicas en la solución óptima del problema de asignación con valor 1. Este conjunto de variables es la mejor estimación hasta el momento del conjunto de variables con valor 53 1 en la solución óptima. Estas CapItulo 2. Métodología variables, junto modelo, con las definén cuasi—global. la (LP restricciones primera (l)—(4) y relajación cuasi—global). lineal La solución basada en el Primal la función del objetivo llamado inicial para del problema la resolución - u ji U ji de este problema - es lá mejor solución obtenida hasta el momento. Si no algoritmo se ha obtenido aproximado, ninguna entonces solución la primera factible utilizando versión del el problema ji ji cuasi—global es el problema global. Paso 8: O¡~timización del problema cuasi—global. Obtener la solución la solución óptima de la relajación lineal del problema cuasi—global. Paso 9: Obtención óptirña de costes reducidos. Para probar que del problema LP cuasi—global es también óptima para el problema LP global es necesario obtener los costes reducidos las variables que no han sido incluidas en el de problema cuasi—global. Paso 10: Introducción coste de variables reducido apropiado, de sé alguna revisa el en el problema de las cuasi—global. Si el no signo variables problema tiene cuasi—global el añadiendo las variables que no lo tengan. Formalmente, se añaden las variables que satisfacen reducido. la condición 5 c1 0, donde (Nota: Se supone que las variables c no es su coste incluidas en el problema cuasi—global tienen valor x1~ =0.) En este caso se revisa la solución actual del LP y se vuelve al paso 8. Paso 11: Fijación permanente costes reducidos o Ji de valores de las variables. tienen el signo adecuado, ‘U u ji Si todos los ji ‘U ‘U ‘U ‘U ‘U ji entonces el valor z, es una nueva cota inferior (más fuerte ‘U que la mejor obtenida hasta el momento) de la solución óptima ‘U óptimo actual del LP, del problema global. Además, 54 las variables que satisfagan la ‘U u u • • Capítulo 2. Metodología basada en el f!rimal condición a;ti -se fijan — permanentemente a su valor actual (que puede ser c 1 ro o uno). Si al valor - llegar fijado, problema Paso 12: Si en el paso debido se variables no obtenido a que de se se la han fijado nuevo básicas tiene solución un los reducir el número pasos 2 tamaño un óptima del fijado algunas considerable y del cuasi—global. 3 de (Preproceso). A problema. (Este paso variables es cm como permane deba fijarse recto rites.) obtiene: nuevas implicación, han problema Detectando b. ha de trata del reducción a. las se ejecutan Reducción La Se anterior se continuación 13: FIN. todas global. variables, Paso aquí y variables eliminando Actualizando el cuyo todas lado las derecho valor variables por fijadas. de la restricción tal como (1) del modelo. c. Actualizando los preproceso d. (sección Eliminando al nudo x vectores i r y d está indicado en 2.3.2.>. la restricción (resp. al (2) nudo j) (resp. si (3)> se ha correspondimte fijado la variable 1. U Si esta calcula de Observación consecutivas nivel de 2.5: es tolerancia, reducción nuevo Si tal que la de variables solución la su normalmente del solución de diferencia a- LP es = ~Q4, 55 afecta y se al vuelve dos menor entonces valor al de paso 8. optimizaciones que o-, no dcl donde se se llevan o- LP es a un cabo Capítulo 2. Metodología los pasos correspondientes a la fijación basada en el Primal de costes reducidos ni el paso u“U ‘U 14 de generación de restricciones que se detalla a continuación. Paso 14: Generación pueden de restricciones. lograr más procedimientos reducciones anteriores, de restricciones, Una vez comprobado del se ejecuta la nuevas restricciones, cualquier fase se utilizando de los identificación añadiendo al problema cuasi—global la SEC y la PFC más violadas (utilizando los descritos en las secciones 2.4.2. y las problema que no restricción - algoritmos de 2.4.3.). Cuando se elimina de la no activa actual que hubiera sido separación se añaden relajación LP añadida con U u u U anterioridad. Si no se ha obtenido ninguna restricción violada, FIN. El algoritmo proporciona como salida la cota inferior z. - Paso 15: Si se ha podido añadir alguna restricción en el paso anterior U ji se actualiza la solución actual del LP. Ir al paso 7. U Otros cortes válidos para el SOP En lugar de introducir como corte una restricción tipo SEt, o PFC es posible introducir inducida ATSE, por pfl, en ellas. el problema Muchos de relajado los restricción válida del U que sean también válidos para el ji ji cortes se pueden escribir de forma cualquier válidos para el politopo SOP(n,P). Las clases facetas para (1982), Padberg muchos. Sin exhaustivo de el P y desigualdades Rinaldi embargo sobre válidas se han estudiado estas no (1990), es condiciones y de desigualdades en Grdtschel Grdtschel objetivo y ‘U de este y (1977), Holland trabajo su aplicabilidad que definen Padberg (1991> hacer al SOP, un y Rao y otros estudio ya que no serán necesarias para la metodología que propondremos en el capítulo 3. ji ‘U U 56 ‘U U 13 Capítulo 2.5.- 2. Metodología basada en el Primal OBTENCION DE COTAS INFERIORES. SOP CON RELACIONES Dl PRECEDENCIA Y ACOTACIONES Se plantea el problema de encontrar un camino hamiltoniano 11 con peso total mínimo en un grafo precedencia superiores dadas por de forma el digrafo que se satisfagan P=(N,TT). cuando al peso de cada subcamino hamiltoniano, las relaciones existen de acotaciones proporcionadas por el vector n—dimensional d. Para ello se desarrolla un algoritmo de planos de corte modelo sigue 2.5 de la sección 2.2.3. el esquema descrito La metodología en el algoritmo básica de este algoritmo 2.2. condiciones que fuerzan la precedencia y las basado en el Ahora, sin embargo, acotaciones son las introducidas en la relajación lineal del modelo (debido a que el número de ellas es del orden de n2 como máximo), y sólo se utiliza el algoritmo de separación descrito en la sección 2.4.2 para las SEC. La experiencia que se obtienen combinatorio. computacional están Parece muy para este alejadas necesario, de por tanto, modelo indica que las la solución óptima utilizar permita la obtención de buenas cotas inferiores. un del cotas problema nuevo enfoque que Este será el problema que abordaremos con la metodología propuesta en el gapítulo siguiente. 2.6.- ALGORITMO EXACTO En cualquiera anteriormente, óptima, o bien el de los algoritmo cuando algoritmos termina la única de cuando restricción planos se de corte encuentra violada es la la descritos solución condición de integralidad (restricción (6) del modelo 2.5). En problemas solución óptima En concreto, de no muy grandes utilizando si la dimensiones las técnicas habituales única restricción 5.7 violada es posible llegar a la de pro~ramaciónj entera. es la condiéión de u Cap itulo 2. Metodología integralidad, se similar descrita a la puede utilizar una en Padberg y técnica basada en el Primal branch—and—cut, Rinaldi (1991). para de forma el -problema del viajante. - 13 objetivo es El fijar variables a un valor determinado (0 ó 1). En cada nudo n habbá un subconjunto N~o de variables fijadas con valor O, y un subconjunto 1’? de variables N 0 U N u fijadas con valor 1, de forma que se verifique c A. 1 N~=<x - o II /x Ji /x En cada nudo probablemente =lenelnudon> se nuevas U =Oenelnudon> efectúa variables la fase fijaran de sus preproceso, valores a cero con lo ó uno. a continuación se resuelve para ese nudo el problema de programación asociado, y después restricciones se tratando ejecuta de el procedimiento identificar de condiciones que lineal generación violadas. A de 13 U Estas restricciones se añaden al subproblema lineal asociado. Se resuelve por tanto en cada nudo un subproblema similar al problema original. Cuando- en un nudo integralidad se continúa el la única condición violada es la condición de proceso de ramificación variable que será fijada a cero ó a uno. Así en cada nudo estarán fijadas correspondientes variables a las ramificaciones hasta eligiendo no sólo las llegar a él, sino una nueva variables todas que hayan sido fijadas en el fase de preproceso efectuada las en el U -u U ji mismo nudo o en cualquiera de sus nudos predecesores en la ramificación. De incluirá sus la misma las restricciones nudos predecesores. ramificaciones requerida forma tendremos en cada generadas Por nudo el subproblema en el mismo nudo tanto en nudos distintos problemas lineal y en cualquiera provenientes a resolver, asociado y de de distintas la información en cada nudo debe ser almacenada. Utilizando este procedimiento 58 13 ‘U 13 ji U u Cap (tulo 2. Metodología 1 basada en el Primal se resuelven problemas más complejos, pero el número de ramificaciones es menor que si se efectúa el tradicional algoritmo branch—and—bound. El proceso de ramificación continúa hasta que en una rama se obtenga una solución entera, que se almacenará si es mejor que la mejor solución obtenida hasta el momento, o hasta que la cota proporcionada por un nudo sea peor adelante que el la mejor solución obtenida. proceso de ramificación, Cuando la mejor no solución se puede~ seguir obtenida hasta momento será la solución óptima del problema. ¡ 59 el u u u u u’ a a u .1 ‘3 u’ u 2 SI a u u u SI u Capítulo 3 Metodología basada en el Dual 3.1.- INTRODUCCION 3.1.1.— Motivación Una vez analizada la metodología basada en el primal, )odemos observar dos inconvenientes fundamentales para su aplicación al SOP: 1) Dados los tipos de condiciones del SOP que se relajan de eliminación precedencia (DFC’s)), en de subciclos (PFC’s) y (SEC’s), restricciones restricciones que fuerzan (restricciones que fuerzan la las acotaciones el número de condiciones es finitamente grande (exponencial LVI +1 Al) en los dos primeros casos. Por tanto, no hay ¡ninguna garantía de que en el pedr de los casos no fuera necesario generar y, por tanto, añadir al condiciones de este problema LP un número tipo. Por consiguiente, llegaría a invalidar la razón fundamental tipo de metodología. finitamente de en ese punto extremo se por la cual se adopta este . 61 grande . CapItulo 3. Metodología 2) Una de las algorítmico, condiciones más importantes basada en el Dual desde el como es la condición de integralidad, tipo de metodología. Por tanto, se corre punto de se relaja vista en este el grave peligro de que la convergencia sea muy pequeña, es decir, que la diferencia en el valor de la función objetivo entre dos problemas sucesivos de PL (en el que en el segundo se ha incluido alguna óptima condición violada por la solución del primero) sea muy pequeña y, por tanto, la cota inferior esté alejada del valor óptimo. Por tanto, proponemos utilizar una metodología distinta, Esta metodología se basa en técnicas de relajación La~rangiana adecuadamente adaptadas al problema que nos ocupa. Una décadas de ha las sido idea~ la más de se considerar entera términos de complejidad), pequeño de solución pueden óptima a un que complicados restricciones da lugar a nivel observación programación restricciones útiles adicionales. computacional una cota las últimas muchos problemas difíciles de como problemas fáciles (en por un La conj&nto - dualización problema Lagrangiano fácil proporciona en inferior relativaniente de estas de resolver, (en a u U U que denominaremos Metodología Dual, para la obtención de cotas inferiores para el SOP. u u problemas cuya de minimización) al valor óptimo del ptobl~ma origiñal. Así, es posible utilizar el problema’ La~rangiano en lú~ár de la relajación linéai pata la u U U U u - obtención de cotas. Además, el enfoque Lagrangiano ofrece un número u import~nté de veñtajas res~ecto a la relajáción lineal. Este enfoque fue utilizado p¿r HeId y Karp (197Ó) para, a partir - de un Ñ-o6lema Lagtangiano básado en árboles generadores de peso mínimo, proporcionar eficiente que un algoritmo todos los para el obtenidos Problema hasta del entonces U Viajante utilizahdo muchó más relajaciones lineales. A partir de ese momento lá técni¿a se ha utilizádo en muchos problemas combinatorios - “clásicos”, pi-oporcidnando, en la mayot<a de los - U u -. casos, el mejor algoritmo éxistenté para el problema. u 62 U 13 St U . u - U Capítulo 3. Metodología - Sin embargo, restricciones tradicionalmente adicionales a dualizar se suponía basada en el Dual que era relativamente el conjunto de pequeño en relación con las dimensiones del problema. Con nuestra Metodología Dual proponemos - una extensión de -las técnicas Lagrangianas a problemas donde el número de restricciones complicadas es finitamente grande, como es el problema que nos ocupa. 1) Las características de esta metodología son las siguientes: Al metodología igual que la inferiores primal, obtener cotas relajados para los que se tiene esta resolviendo metodología consiste iterativamente la garantía en problemas de que el valor en la función objetivo (a minimizar) de cada nuevo problema no es superior al valor obtenida de la solución anteriormente. menos, las así óptima, pero En nuestro llamadas tampoco inferior a la cota problema concreto relajaremos, restricciones complicadas, es decir, al las PFC’s y DFC’s. 2) La primera diferencia la condición problema con la metodología primal es que no se relaja de integralidad resultante relajado de las variables ya no es un binarias. Por tanto el problema de Programación Lineal, sino que sigue siendo un Problema Combinatorio Esta característica ese problema cierta es muy importante, combinatorio pueda resolverse esperanza de que la convergencia porque en el caso~ de que en tiempo polinorhial hay al óptimo del problema original sea más rápida que en el caso de la relajación lineal. 3) La segunda gran diferencia (en nuestro problema concreto) es! que, en principio, no se relaja un tipo de condiciones muy dificil de tratar, como son las SEC’s (número exponencial de condiciones) y, por tanto, se incrementa la expectativa de una deteriorización fuerte en la función objetivo. El problema resultante de relajar 63 en el SOP las condiciones PFC’s y Capítuló. 3. Metodología basada en el Dual - U DFC’s es un problema combinatorio para el que no hay algoritmos conocidos con- complejidad polinomial (ver sección l.6.S). - El problema relajado queda plañteádó de la forma siguiente: U 4 =MINcV s. a. (1) x(X> = n—1 (2) x(á(j)) = 1 VjEVMO> (3) x(&¼j))s 1 VjeV (4) x(W) VWcV , 2 s (5) x E 5 IWI-l W~ 5 4 n-l <0$> U Se puede observar que este modelo es el programa 0—1 para obtener el camino Hamiltoniano en el grafo viajante asimétrico. D=(V,A) de mínimo peso, o problema del Este problema es k9’—duro y, por tanto, la relajáción obteñida no es un “buen” problema combinatorio. La condición (3) exige que no salga más de un arco de cada Podemos observar que el problema resultante al relajar el problema de obtener una arborescencia generadora nudo. esta condición es de mínimo peso, U U problema que tiene complejidad polinomial. Ver sección 1.6.2. de la metodología U que proponemos, no se relajan las condiciónes SEC’s, pero en su lugar ji 4) Así, y ésta se relaja condiciones es una característica (en forma dualizada, muy importante como ya se (3), que llamaremos de asignación. una aproximación - 4 j al problema del viajante no verá) tipo de Es preciso notar que necesitaría otro tipo de relajación. (Ver HeId y Karp (1970)). Una vez identificadas las condiciones (y cortes asignación, el de ningún reforzados) de U U PFC’s y DFC’s que hayan sido violadas por la solución óptima del problema del árbol generador de mínimo peso, si se incluyesen estas a 64 4 U u - r - - condiciones en el - conjunto Capítulo de se 3. Metodología restricciones destruiría la del - basada en el Dual problema estructura de combinatorio relajado, obviamente, arbor?scencia generadora de dicho conjunto de condiciones. Vemos aquí, pues, dos graves inconvenientes: El primer inconveniente sería del mismo metodología primal puesto que, actuando incrementar El tipo que en el caso de la de esta forma, se puede llegar a el problema relajado en un número exponencial de condiciones. segundo inconveniente es que no existen hoy día algoritmos con complejidad polinomial para resolver el nuevo problema combinatorio. Por tanto, necesitamos utilizar la información obtenida por la violación de las condiciones de asignación, PFC’s y DFC’s sin que por ello destruyamos la estructura del problema combinatorio y, por tanto, sin incrementar el número de condiciones. 5) Así, proponemos dualizar violación hayamos las condiciones y Para hemos identificado. ello cortes de implicados cuya expresar estos cortes de forma que su dualización signifique únicamente una modificación (obviamente, lineal) en los coeficientes de la función objetivo tanto, de las una mismas metodología multiplicadores totalmente de variables del apropiada Lagrange. nuevo en el para Ver problema. estimar sección 3.3. tratamiento Precisaremos, por los correspondientes Este de problemas es~uemaf no combinatorios es (ver por ejemplo Aboundi, Hallefjord y Jornsten (1991) para el problema de asignación con ciertas condiciones adicionales), pero si es novedoso para el SOP. Un problema combinatorio problema auxiliar a resolver SEC’s de en programa lugar 0—1 para las alternativo al anteriormente en cada condiciones iteración de resolver el problema propuesto consistiría asignación. de asignación, como en reía jar Tendríamos así las el que tiene también complejidad polinomial. Identificar condiciones de asignación 65 no satisfechas por una solución CapItulo 3. Metodología binaria es binaria. Ahora bien, asignación tan trivial cómo en identificar nuestro y, por tanto, SEC’s problema basada en el Dual ¡Sara la sólo tenemos misma n solución condiciones de eñ el péor de los cásos sólo es necesario estimar - n multiplicadores de Lagrange. En cambio hay un número exponencial condiciones SEC’s, lo que implica que el número de multiplicadores de de Lagrange a estimar y actualizar podría ser excesivamente grande. Por otro lado, conjeturamos que este tipo de relajación seria más débil. Parece pues, en principio, que hay razones para justificar la la resolución de utilización del problema de la arborescencia ~eneradora. En definitiva (1) Resolver nuestra problemas metod¿logia dual combinatorios propone: difíciles via condiciones violadas, y obtener con complejidad polinomial cortes equivalentes y más fuértes pára la solución óptima del problema combinatorio auxiliar. (3) - La utilización apropiada de la teoría función objetivo para su convergencia Lagrangiana al dualizar hacia la solución óptima, la via la utilización de las condiciones y cortes identificados. 3.1.2.- Desarrollo de la metodología Una vez motivada la conveniencia de enfrentarse nuevo enfoque, adecuado para en esta la sección 3.2 metodología, se y al problema desde un desarrolla se e] describe modelo nuestra cortes metodología “naturales” para y PFC’s reforzar y válidos para dualizar. identificar DFC’s. los cortes a El En cortes capítulo 5 el el tipo capítulo válidos presenta válidos tal que se obtenga u -u u ‘U U de para la 4 las u U U ‘U U matemático preproceso necesario para ese modelo. En la sección 3.3 se describe el método para la actualización y utilización de los multiplicadores de Lagrange - de las condiciones U U problemas combinatorios con complejidad polinomial. (2) Identificar u u se presenta U U condiciones motivación teórica una dualización más U fuerte de las condiciones violadas. 66 ‘U u u -‘e Capítulo 3. Metodología basada en e¡. Dual 3.2.- MODELO MATEMATICO 3.2.1.- Modelización Entre las modelizaciones 0—1 equivalentes posibles para el ÑOP, el siguiente modelo es el que más se adapta a nuestros requerimientos: Modelo 3.1 Mm s. a. (1,] >EA ~ cx ~-3 (1) x(A) = n—l <j>) <2) x(3 = 1 (3) x(W) VjEV\<O> VWcV,IWI~ W—í (4a) x<5tj)) = 1 VjcV , y (4b) x(e5~ (j)) VjEV <~> i < j 5 1 1 en 1< si el 1 = < jeV/ 3(j,ikIT, i*j > i V = V\V 2’ 2 arco (i,jklT; 1 es decir, x satisface las relaciones de precedencia dadas por el conjunto de arcos en 11 <6) y VjcV; es decir, s d x satisface la acotación al peso acumulado de cada nudo, donde y tiene la expresión (1.1).’ J 1< (7) xc<o,í> El problema relajado, mínimo, consiste en problema de la arborescencia generadora ‘de peso minimizar la función objetivo anterior sujet - a las condiciones (1), (2>, (3> y (7). En nuestra metodología modelización matemática dual modificar es necesario con una es inmediato comprobar si alguna PFC o en cuyo caso habría que utilizar los coeficientes capitulo 4 se estudia contar precisa de las condiciones (5) y (6), ya que. dada una solución al problema relajado, DFC es violada> no de la función objetivo esta en informacikn el problemal para En el la forma de obtener un corte válido para el SOP a 67 13 Capitulo 3. Metodología partir de una condición (5) ó (6) violada. u basada en el Dual 13 U - 3.2.2.— Preproceso Tal como se ha formulado en la sección 2.3, el objetivo fundamental del preproceso en la metodología primal es hacer más fuerte la formulación del problema, más fuerte transformando (i.e., ninguna solución relajado puede se han entera). el sistema en otro sistema eliminado De esta proporcionar soluciones forma una cota continuas la solución inferior 0—1 equivalente más sin y eliminar del problema alta, ya que lineal se ha 13 ji 13 eliminado un haz de soluciones factibles lineales. No todos los procedimientos 2.3 son necesarios de preproceso presentados en el planteamiento de la metodología dual, ya que el problema en todo momento es un prógrama 0—1. No obstante, efectuar un preproceso para tratar en la sección es conveniente de fijar variables a o ó a 1, ya que se disminuyen las dimensiones del problema. - Por tanto, el preproceso descrito en la sección 2.3 13 13 ji la U a un valor U tiene sig’úiéñte especialización para la metodología dual: 1.— Se utiliza el procedimiento 2.3.1 para fijar variables determinado. U 2.— Los procedimientos 2.3.2, 2.3.3 y 2.3.4 no son necesarios. U 3.— El procédimiento -2.3.5 está implícito en el modelo. 4.— Se utiliza el procedimiehto 2.3.6 para detectar cuando un problema dado es infactible. 3.3.- RELAJACION LAGRANGIANA u 3.3.1.— Resultados fundamentales Sea un problema ‘U 13 combinatorio formulado programación entera IP 68 como el problema de ji 13 U u 1¡ • -- Capítulo 3. Metodología z - basada en e~l Dual =Mincx s.a. Axsb Dx 5 d x ~ O y entero Sea LP la relajación lineal del problema IP, y sea z Sea la relajación Lagrangiana LR z() = Mm cx s.a + LP su valor óptimo u u(Bx—d) Ax~b x ~ O y entero donde u es el restricciones a vector de variables dualizar. Se duales puede asociadas observar que con el conjunto las restriccioíSes problema IP se han separado en dos conjuntos de forma que LR u de del es 1 ácil de resolver en relación con IP para una realización de u. Proposición 3.1: El problema LR u es una relajación del problema IP, con u ~ 0. Demostración: Veamos que se verifican las condiciones de la definición 1.21: (i) Obvio. (Ii) Sea x * óptimo para IP. Entonces x z(u) = mm < cx + u(Bx—d) 1 s cx es factible para LR * + u(B?—d) -c cx y u = 2 u dado que u ~ O y Dx- d 50 En general, no es posible garantizar u tal que z (u) = z que se pueda encontrar un vector pero, puesto que el problema LR u proporciona cotas inferiores para la solución óptima de IP, la mejor elección para u será solución óptima del problema D z = max 2 (u) 69 la Capítulo-3. Este problema se denomina el dual Metodología lagrangiano basada en el Dual del problema IP. Ver su dual uu U Geoffrion (1974>, Fisher (1981) y Guignard y kim (1987), entre otros. Teorema 3.1: Dado el problema IP, su relajación lineal LP y lagrangiano D, se verifica: 5 (a) z (b) Si para un u 3x U ‘U U que satisface las condiciones * (i) x (u) es óptimo para (LR Bx s d U =0 (iii) u(Bx—d) entonces x (c) Si x U es óptimo para IP. satisface (iii), entonces x las condiciones Ci> (u) y es una solución c—óptiná ~ - del IP, con apartado ¿ = (b) pero u(Hx—d) Demostracion: (a) Pot la proposición 3.1, z(u) s z Vu z * Por otra parte, z = max z~(u) max < mm u max cx. + <mm u(Bx—d) 1 Ax x — max u { max y vb-ud 1 vA — mm < cx 1 Ex 5 cx 5 + c u(Bx-d) 1 Ax + 5 = max ZD(u) 5 5 z b, x ~ O y entero> ~ uR, y ~ O, u ~ O d, AxS b, x ~ O > = satisface (i) y Cii) entonces x * Además, z Z ()() * D = cx Por tanto x es factible para IP. ~ z-(u)(x ) = cx ya que, por la proposición 3.1, z IP * + u(Bx—d) = cx - 13 13 U ji b, x z O > = donde las dos igualdades se deben al argumento de dualidad lineal. (b) Si x no y - (dado que x satisface (iii)). U 13 U U 13 es óptimo para IP. 70 “U 13 “U U ¡ - u ‘--4 Capítulo 3. Metodología el basada en Dual * (c> Obvio, ya que x es factible y satisface la condición de la delinición 1.22. Definición 3.1: El problema LR valor óptimo no varía tiene la propiedad de integralidad si su u si se elimina la condición de integralidad . en las variables, i.e., LD () = z donde LD es el (u> problema Vu ~ O, D, donde se ha eliminado la condición de integralidad. Teorema 3.2: Si LP es factible y LR u tiene la propiedad de integ-alidad, entonces z LP =z Demostración: = max z u~O LD (u) (por dualidad lineal) = max zD(u) (por la propiedad de integralidad) u O - u Por tanto la relajación Lagrangiana proporciona una cota igual o mejor que - la relajación propiedad de lineal. En integralidad modelizaciones sólo Lagrangiana cuando la obtención es para las operativo (o aproximación) que utilizar de z LR la u’ tiene la relajación sea más fácil que la obtención de z LP 3.3.2.- Estimación de los multiplicadores de Lagrange. Puesto que la mejor cota posible para el problema IP en la me&dología lagrangiana es z = max z (u), se trata u O del problema dual Lagrangiano. de los metodos de estimación de encontrar la solución óptima Esto no siempre es posible, pero la mayoría - de multiplicadores soluciones óptimas o casi óptimas para este problema. 71 se basan en encontrar Capítulo 3. Met¿dología basada en el Dual El- problema ID cuenta con un gran número de propiedades estructurales - que facilitan su resolución. Suponiendo que el conjunto X = x ~ O y entero > de soluciones factibles para LR puede representar t como X = x , t=l T >, u x / Ax ~ b es finito, entonces X se y- el problema D se puede expresar como el siguiente problema lineal- con muchas restricciones 2 2 = max D s.a. 25 + cxt Se inferior observa así de una familia continua, cóncava, para cada u la función finita de funciones diferenciable c.s. • 2(u) es O lineales. la envoltura 3.2: Un satisface: z(u> vector 5 y z() + es - pero no diferenciable un y(u—u) subgradíente Vu j z (u) es una función en general en los puntos u, tal que el problema LR— u tiene óptimos múltiples. Definición ji u u(Bxt~d) que ji ji de zD(u) en u si se ~ 0 u U 13 Observación 3.1: La función zD(u) es subdiferenciable en todo punto. * Proposición 3.2: Un vector u (u) en u*.. Existen en la literatura - dual - Lágrangiano. En es óptimo para O O es un subéradiente de gran número de algoritmos para el ptoblema general, estos algoritmos siguen alguno de los siguientes enfoques; u ji 13 (1) El método del subgradiente. (2) Versiones del método simplex utilizando técnicas de generación de columnas. u (3) Métodos específicos de ajuste de multiplicadores. Dado que proporcionando, el método omitimos el (1) es desarrollo 72 el de que mejores los otros resultados dos métodos. está (Ver u ‘U “U u - - Fisher (1981) - para ~1 - una ~. Cap itulo 3. Metodología basada en eV Dual extensión de de técnicas estimaci de multiplicadores). Método del subgradiente para resolver el problema D * Dado un valor inicial u u donde x k se genera una secuencia <u }, tal que k +a<Bx—d) k+1 k k es una solución óptima de LRu y ak es un k escalar ositivo, denominado longitud de paso. Teorema3.S:z(u>-~-z si a 40 k 1=0 y Sa-~w. Demostracion: Ver Bertsekas (1982), entre otros. Generalmente se utiliza la siguiente expresión para a A (z a 1< donde A para z0 z — k = Bx-d es un escalar tal que (obtenida, (u Ok k )) 112 O < A frecuentemente, 1< 5 * 2 aplicando y una z es una cota superior heurística al problema r IP), ver ¡-leId, Karp y Wolfe (1974) y HeId. Wolfe y Crowder (1974). A menudo la sucesión A A k se obtiene fijando A = 2 y dividienc.o por 2 cuando el valor z (u) no ha aumentado en un número fijo de iteraciones. D Esta la 3< regla funciona condición parte la bien empíricamente, suficiente diferencia establecida (z —z0(u3<)) no en aunque no tiene porqué <¡erificar el tiende teorema en 3.5, general ya que a cero 4 por si otra * z se * obtiene a partir de una heurística para IP, pues z ~ z ~ z 11’ 0 El método normalmente termina cuando se llega a un número determinado de iteraciones. 73 1J - - - CapItulo -3. -Metodología - basada en el Dual 3.3.3.- Relajación Lagrangiana del SOP Tal como se indicó en la sección 3.1 las condiciones del SOP a relajar y son las condiciones de tipo (4), (5) Por tanto, (6) del modelo 3.1. la relajación Lagrangiana obtenida cx u(yx + — w(ax + 1) - ji ‘U 13 s. a. 5 (3) x(W) VjeV\<0} W—1 VWcVJWM 13 (7) xs{O,i>I< donde u es vector el asignación x(&}j)) vector 5 de variables correspondientes matrices y a ~‘ reforzamiento de variables 1, representadas duales para a las de condiciones las duales para las en la forma los cortes (5) pueden contener válido 13 13 ji es - (1) x(Á) = n—l (2) x(c5 (j)) = 1 13 rx válidos de y (6) del respectivas. 1, modelo, ax el “U 5 donde a uno (Ver de y w es la forma elémentos superiores condiciones 5 condiciones las debido capítulos 4 al y s 5). Puesto igualdad, que el las restricciones multiplicador de tipo correspondiente no (4a) son restricciones está restringido en de signo. El resto de los multiplicadores han de ser mayores o iguales que cero. (Se supone que al multiplicador de una coñdición violada todavía no detectada 13 se le asigna el valor estimado nulo). Cada vectores iteración Lagrangiana de multiplicadores se distingue por la actualización u y w. Así, en cada iteración de se resuelve los un problema combinatorio de la arboréscencia generadora de peso mínimo, y se pasa a la correspondiente siguiente iteración a una restricción identificando un corte válido violada y realizando una modificación .74 ‘U 13 en 13 u u • - • - Cap itulo 3. Metodología basada en el Dual - los coeficientes de las variables en la función objetivo. Se secciones utilizarán a continuación anteriores adaptándolas los conceptos y desarrollándolas y notación de las para el problema que nos ocupa. Sea el siguiente problema SOP, donde en el espacio de soluciones X se recogen las condiciones que definen una arborescencia: (P) min<cx/Axsb,xeX> donde b y c son vectores y A es la matriz de dimensiones apropiadas que de el sistema condiciones que acotaciones. La vector de Axsb recoje fuerzan el las relajación multiplicadores conjunto precedencias Lagrangiana u de y de condiciones condiciones <1’) asignación, que fuerzan relativa a Axsb (dimensionado como b y con las tal las con el restricciones en signo indicadas anteriormente) es (LR ) Claramente, desaparecen mm + < cx para u = u(Ax—b) ¡ xeX 0, las de la función objetivo. que el valor condiciones En general, óptimo de (LR u ), sea z D (u), óptimo de (P), sea z . es un llamadas “complicadas” (LR ) depende de u, tal u limite inferior El dual Lagrangiano (D) determina del valor el mejor límite inferior de z (D) Puesto z que z =maxz(u) O u O5 z , el valor óptimo de (D) es un buen limite inferior del valor óptimo del problema original. En muchos casos, es fácil crear un algoritmo heurístico para, manipulando la solución de (D), obtener una solución factible (y probablemente muy buena) para el problema original (P). Para subgradiente resolver tal (D) se podría como se ha utilizar indicado 75 en en la principio sección el métcdo J anterior. del Esta u - . - - - Capítulo 3. Metodología - metodología resuelve subáradiente g = Ax 3< —b, donde xk es la solución óptima arborescencia el (LRu). - problema Para (D) basada en el Dual la calculando, iteración iterativamente, k se - el al problema de actualizan los U U multiplicadores de Lagrange u;- segúrv la fórmula u donde =max{0,u a k =A 3< ~ u +ag> 3<+i 3< —z(u) .D k - - . k De nuevo se resuelve el problema para la 3< zI, En la expresión (3.1) z sea la diferencia z (demostradc& por Reíd iteraciones necesarias serán suficientemente salvo correspondiente — también una en - y grande que haya que — es un estimador de z (1970)) para que y, por obtener z perjudica solución heurísti¿a, la función objetivo. pequeño, incluso heurística no es un buen método. se algoritmo pudiera tendría el escalar cuando k-* obtener mayor tomar en 3< z este valor z el 3< de valor algoritmo), valor de como una mejor incluso, zk sea tal la solución ji 1-u se aproximación a podría constante dejar (z3<0k —z (u z0, ))-* el O u 13 A continuación se presenta una metodología que, en el marco . puede ayudar a obtener z (en la esperanza de ir reduciendó la distancia generación de filas y 2 - - columnas — 3< para cada iteración z para la estimación de multiplicadores. Sea T el conjunto de puntos éxtremos del conjunto x; ~que engioba las - restricciones 13 ji el valor (siempre ~ O) sea Ak (cg. ,A = 1) si se consigue que la diferencia w de del un cuyo caso se toma Salvo que para número Se suele tómar la convergencia de u U - eficiencia e, de la generación de cortes, Método menor z 1’ (siempre ~ O) es- ffiuy pequeño, y además muy U etc. , tal que cuanto menor tanto, . -- Si 0 k+l, mayor precisión tendrá la actualización Karp, (lo iteración del problema con coñdíciones 76 fáciles (en nuestro caso; el U U ji ‘U 13 13 U_ - -- l~” -~ 1 • 1 Capítulo problema de arborescencia). seria infactible). Se supone que T ~ 0 basada en e- Dual (de lo - contrario, (P) Se puede reescribir el problema (LR ), tal que u (u) = mm + <cx + t u (Ax-b) tET x t representa el vector <cx t u (Ax-b) > = mm xEX donde 3. Metodología las coordenadas del punto extremo t para teT. Por tanto, la resolución del problema CD) es equivalente a la resolución de problema O maxz(u)=max<min<cxt u u tET con +u(Axt~b)>> u ~0 Vi excepto aquellos correspondientes asignación con igualdad, cuyo multiplicador a asociado no restricciones está . de restringido en signo; problema que se puede reescribir de nuevo como un problema de programación lineal, sea (DM) (Dual Maestro> según la descomposicion de Henders (1962) (DM) max< T/ 3,scxt +u(Axt~b)VtET>. u Definición 3.3: Una desigualdad tipo Benders es una desigualdad del tipo s cxt - Cada + u (Axt~b) punto extremo para algún teT. teT i. e., una de las restricciones un problema con tantas proporciona una desigUaldad del problema. filas como Por tanto puntos extemos tipo el problema (DM) es haya en X, y tantas columnas como restricciones “complicadas” haya en el problema (P). Si el conjunto T fuera conocido explícitamente el problema óptimo. Pero impráctico lineal T~ trabajar preciso considerar. (DM) para puede ser con (DM), obtener un el número dado el vector bastaría de enormemente número de E enders, - con resolver multiplicadores grande condiciones u que haría que sería En cambio es muy posible que sólo un número pequeño de 77 U Ca»ítulo 3. Metodología - córidiciones en (DM) sean ne¿esarias - basada en el Dual para resolver el problema, i.e., pocos 13 puntos extremos en 1 ptoporcionan condiciones activas en (DM). Supongamos por un momento que se conoce el conjunto de puntos extremos, sea- 5 para SST, cuyas correspondientes condiciones en (DM) son suficientes. para resolver el problema. Por tanto, se puede reescribir (DM), tal que - (DM) max{ r/TScx u +u(Ax-b)VtcS uu >. La metodología de Benders (ver apendice 1) permite en general obtener el conjunto - S de una forma eficiente. Sin embargo én nuestro caso, no es - - sólo el conjunto 1 quien no es conocido explícitamente. Tampoco están explícitamente modelizadas todas las restricciones “complicadas” del - problema y, por correspondientes Ob~ervación fórmá; tanto, desconocen los elementos del vector Axt~b a condiciones no identificadas. 3.2: junto se - con El la vector de multiplicadores a, el vector multiplicador u está variable u de para el variables problema (u,r) (P) para U u U el iJ está U problema (DM). Defiñición prefijado 3.4: El a cero y está deactivado activado si su si es una variable libre valor del problema (DM>. Llamaremos (DMR) (Problema Dual Maestro Relajado) a una relajación del problema (DM) donde no aparecen las condiciones tipo Benders relativas a puntos extremos todavía no identificados y donde algunas componentes del vector, u (aquellos multiplicadores correspondientes a restricciones complicadas todavía no identificadas> están activadas. Podemos utilizar el método que se verá en el capítulo siguiente para generar cortes para, a su vez, construir progresivamente un conjunto cada vez más restrictivo de condiciones en (DMR). Es preciso notar que en la iteración k -se resuelve el problema la arborescencia (LRu) y, por tanto, .se obtiene una nueva solución, sea x3<. La fase de identificación de cortes violados. (y su correspondiente reforzamiento) proporciona un 78 de u U U U ji U U u u 4- conjunto de Capítulo 3. Metodología - - restricciones, sean (AY’ b> < para basada en eL Dual ~ (donde 6ík 1k - es el conjunto de cortes) que son violadas en el problema original por el punto 1’. La aplicación del punto en la función objetivo de (LRu 3< x proporciona la condición tipo Benders a incluir en el problema (DMR k+i ). Y’ Las condiciones en 13< implican que los correspondientes - Lagrange <y, por utilizarse en la optimización correspondientes 3<.! (DMR tanto, 13<1 variables en de (DMR columnas <DMR)) 3<-*i ). deben multiplicadores deactivarse Esto implica en la matriz y, la adición de condiciones de así, de las del p -oblema ). Ver figura 3.1. —4 (DMR) (DMRJ<,) figura A continuación nuevo vector en el se 3.1 resolvería de multiplicadores problema de este nuevo problema de Lagrange. arborescencia (LRu3<.! ) sea u k+i , para obtener el que se utilizaría correspondiente a la siguiente iteración. Supóngase que antes de añadir la nueva condición basada en el punto al problema dual maestro relajado, el conjunto de condiciones en (DMR) 3< es 5 , y el correspondiente nueva condición derivada relajado, esto es, v(DMR) valor en la función objetivo del punto ~ + 1~ U 0 cx3< u j=i.2 Y’ (Ax3<—b> k—i 79 ¡ es v(DMR ). 13< La será un corte en el problema dual (3.2) u Capítulo 3. Métodología bbservación¡Safa el - 3.3: Incluso problema si no original se identifica que esté violado basada en el Dual ni ngún por el nuevo corte k punto indddido ñor la< condición (32) debe introducirsé en (DMR x , ji válido el corte ). U - 3< Observación 3.4: En caso de que x driginal y la situación no viole ninguna condición del problema anterior- se cúmpla con igualdad estricta, Y’ es la solución óptima del problema general (P). U U Es preciso notar que en la metodología de Benders, dado que todas las restricciones no incluidas en X están multiplicadores, en el conjunto que definen los puntos extremos dualizadas con la sucesión de valores valores nulos en sus respectivos de v(DMR > es monótona U 3< Z decreciente. Por tanto, se puede utilizar el valor v(DMR ) como el valor en la obtención de la amplitud de paso a y, finalmente, converge a v(DM). En la práctica, se podría terminar 3<la ejecución del algoritmo cuando la diferencia ~dntre z y v(LRu ) (limites superior e inferior de v(DM), respectivamente) sea menor que una tolerancia dada. Ahora bien, dado que la dualizacion (LR ) no incluye en el SOP todas u lás coñdiciones de asignación; niultiplidadores duales respectiVos precedencias y están activados), - añaden nuevos’ cortes, - mayores (o dimensiones correspondientes visúálizar~ el duál el problema (DMR-), édmo v(DMR 1< ) (DMR) se convierte es lo mismo, de Lagrange). una secuencia (DMR ),..., (DMR ), 1 v(DMR 2 )V que multiplicadores problema maestro lo acotaciones (i.e., los resulta que cuando se 2 se en un probieñia de permite En esta de situación relajaciones tal que deactivar la los podemos del problema serie v(DMR ), 1 3< ¿onverge al óptimo v(DM), aunque no necesariamente de se del forma ffionótona. En principio, subgradiente para podría obtener comenzar utilizando los multiplicadores dualés la u. metodología A - medida que el óptimo del problema de la arborescencia no se deteriore adecuádamente, se podría utilizar el problema relajado (DMR) para incrementar la convergencia. El problema (DMR) podría incluir las condiciones correspondientes a las arborescencias iteraciones anteriores. 80 1 x , x 2 ,... obtenidas en las u U ‘U ji ji ji ji U u U u ji ji U u - - basada en el1 Dual Capítulo 3. Metodología . Algoritmo 3.1 La metodología del subgradiente tiene normalmente convergencia muy rápido en las primeras iteraciones, incrementa tienen el número escasa de variación y, iteraciones, los por el tanto, ritmo de de Lágrange .1~. deteriorizacion utilización reemplazar de cortes a la metodología violados del en subgradiente el problema del 1 óptimo de la relajación Lagrangeana se va paulatinamente reduciendo. La de pero a medida jque se multiplicadores ritmo un (DMRI puede e incrementar el ritmo de convergencia a v(DM). Paso O: Resolver LR con u = O, primera relajación Lagrangiana del problema. o Sea x su solución óptima y v<LR ) su valor óptimo. Hacer z = v(LR ). 0 -—1 o -4 Hacer 5 = < 0 >, = 10 k = 0, a- = O, a- = K (cte.), z = 1 . c - w , Estimar el vector u según el método del subgradiente. Paso 1: k = k+l Resolver (LR ) y hacer z = max k v(LR) Si 1 — +¡ v( LR) <2, v(LR 3< J kí < e ó x no proporciona nuevos cortes, v(LR) - hacer o- = o-+l. En caso contrario hacer 5 = 5 u { x > y afiadir los nuevos cortes. Paso 2: Heurística: Si se encuentra una nueva solución, actualizar 2 = mm < z, nueva solución > Paso 3: Resolver (DMR ) para el conjunto 5 actual. 8 Hacer z 3< = v(DMR 1< Paso 4: Actualizar u: 3< Si a > o- entonces obtener u a partir de (DMR ). En caso contrario obtener u utilizando la metodología cota superior. 81 del subgradiente E con ~ como u - . - Capítulo 3. Metodología - Pasa 5: Criterio - de parada: z—z z SealNT= Si INT basada en el Dual e, <. o el número de iteraciones es alto, o xk factible FIN. En caso contrario ir al pas9 1. 3.4.- ALGORITMO GENERAL DE PLANOS DE CORTE UTILIZANDO METODOLOGíA 1 a ‘U “U u ji DUAL. Lineas .generaíes: Entrada: Matriz de coeficientes c P=(N,ll>. Paso 1: Calcular la envoltura Ji y digrafo transitiva acíclico cerrada del de precedencias digraf o acíclico P para obtener el digrafo de precedencias inicial. Paso 2: Preproceso. Paso 3: Solución la (Sección 3.2.2) inicial solución proporciona factible. óptima. La la primera Obtener una aplicación de cota superior, cota un superior algoritmo inicial de heurístico con valor z en la función objetivé, Pasa 4: Obtención de la primera relajación siguiente problema relajado: — Incluir las (que junto restricciones del problema. Considerar el - (1), (2), (3) y (7) con la función objetivo representan del modelo el problema encontrar la arborescencia de peso mínimo). — Ignorar las PFC y las DFC (restricciones 3.1 de - (5) y (6) del modelo, respectivamente). — Relajar las restricciones tipo (4) utilizando la metodología Lagrangiana con multiplicadores u. Se ¡Áantea así el siguiente problema denominaremos Relajación Lagrangiana Debil: 82 relajado, al u 13 ‘U 13 U ji ‘U 13 u uu que U U u U 1~ -: - - J-. Capítulo 3. Metodología MinL(u)= Y (c+u)x (14)6k ¿~ 3< s.a. Ii 1 —Y’¿~ u conuy ~O y VvCV 2 ‘ yEV (1),(2),(3),(7) Para la primera iteración, II basada en el Dual - en principio, asignar u y = O VveV, 1< 1. Paso 5: Resolver la relajación Lagrangiana Lk para la etapa k-ésima. (Problema de la arborescencia de mínimo peso, con solución T). Paso 6: Identificar condiciones de asignación violadas por T. Paso ‘7: Identificar, por inspección, PFC y DFC violadas por la arborescencia T. Paso 8: Reforzar las restricciones PFC y DFC identificadas por adióíón de variables (Secciones 4.2 y 4.3 respectivamente) Paso 9: Reforzar las coeficientes restricciones utilizando anteriores información por incremento proporcionada por de otras restricciones violadas ya identificadas. (Capitulo 5) Paso 10: Reforzar restricciones información proporcionada identificadas. En general, violadas por ya identificadas las nuevas utilizando la restricciones (Capítulo 5). después de los pasos 7, 8, 9 y 10 se obtienen cortes violados del tipo - ax ~ 1 5 k < <í,j>eF cA a los que se asocian multiplicadores Lagrangiana fuerte 83 w1, obteniendo asi la Reía jación Capítulo 3. Metodología Mm L (u,w) = cx + u(x—l) + w(«x-k) basada en el Dual con u ~ O VvEV 3< , w~ O VI 2 . s.a. (1), (2), (3), <7) Para la primera iteración después de introducido el corte 4 4 l—ésimo, en principio, asignar w = 0. Paso 11; Actualización multiplicadores de los multiplicadores de las de Lagrange. Actualizar los restricciones violadas identificadas, según el algoritmo 3.1. 4 4 Si no ~e ha identificado ninguna restricción violada FiN. Paso 12: k = k+l. Ir al paso 5. ‘U 84 Capítulo 4 Cortes válidos para el 4.1.- SOP INTRODUCCION. Sea el modelo (3.1) para el arborescencia (2), (3) y generadora SOP. La solución óptima al problema de la de mínimo peso (7) del modelo proporcionará dualización (i.e., penalización en dado por las restricciones (1), una cota inferior para el SOP. La la función objetivo) de las restricciones del restricciones de tipo (4) puede incrementar dicha cota. Si la solución obtenida satisface problema, entonces es la solución óptima. encontrar aquellas restricciones solución actual y, a partir Estos introducirán, cortes dualización se que sean de ellas, todas En caso contrario, ‘fuertemente” obtener dualizados, las se trata violadas por de la cortes válidos para el SOP. en la de los mismos requiere una estimación función objetivo. La de sus correspondientes multiplicadores de Lagrange. Ver sección 3.3. Las restricciones (aparte de las SOF no restricciones consideradas de tipo en la arborescencia gcneradora (4) que se dualizan de entrada) 85 son Capítulo 4. Cortes válidos para el Sol’ las restricciones de tipos (5) y (6). Las primeras evitan que forme parte de un la solución y las (i.j)dfl. subeamino de segundas obligan la forma 1) (O si W(O j) para j) VJEV sea tal a que el suboamino (O uU j j que se satisfaga Z (I,k>E(O es decir, eliminan j) ~ 5d la posibilidad (4.1) , de que forme parte de la solución un j) tal que y~ > d, para y~ según (1.1). suboamino (O Las restricciones que fuerzan la precedencia para cada arco (i,j)ETI se han modelizado en la literatura con la siguiente expresión, x(j:W) o, equivalentemente, + x(W) + x(W:i) 5 ~W , U con la expresión x(O:W) + x(W) + x(W:j) Wj, 5 VWSV\<O,i,j>, El corte Escudero, V(i,J)dfl, (4.2a), Grñtschel fue y descubierto Stoer uj V(i,j)efl, jWj ~ 1 (4.2b) independientemente (1993) y Halas, Fischetti por y U Ascheuer, Pulleyblank (1994). Una violación de las restricciones de tipo (6) corresponde a un j cuya acotación d es menor que el peso total acumulado del .1 subcamino (O 1). Por tanto, ese subcamino debe prohibirse. Para ello vértice proponemos imponer la condición x(O con W En A(O = las relaciones j) s 1W) — 1 (4.3) j). dos secciones de precedencia siguientes y se obtienen las restricciones modelizaciones que fuerzan las para U u las acotaciones 86 u u • Capítulo que son más fuertes que las expresiones válidas para el problema 4. Cortes válidos part el SOl’ (4.2] y (4.3), respectivamente, SO? original. Utilizamos la definición y 2.4 para el concepto de “fortaleza” de un sistema. 4.2.- CORTES VALIDOS INDUCIDOS POR LAS RELACIONES DE PRECEIJENCIA. 4.2.1. Obtención de cortes válidos. Teorema 4.1: Sean 5 1 y 5 2 subconjuntos de V\W, tal que 5 xS 12 Entonces x(S:W) + x(W) x(W:S) + S II. IWI 5 (4.4) es una desigualdad válida para el SOP, VW c V\{O>, ¡iV¡ ~ 1. Demostración: Sea 3< un camino hamiltoniano que satisface las relaciones de precedencia. Para una solución dada, x, sean 5 52 * < leS 1 x(W:i) = 1 = 1 < JES 2 ¡ x(j:W) = Para cada jeS = 1 > (4.5) 1 > se considera el subcamino de 3< que empieza en el nudo j, 2 recorre un subconjunto de nudos de W y termina en el primer nudo que no pertenece 12 puede ser sucesor de * S II y. por tanto, a W, sea 1. Entonces ISS, ya que 5 xS 1 no j. De la misma forma, dado isS1, si se considera el subcamino de 3< que empieza en un vértice kW, a continuación recorre un subconjunto de nudos de W y termina en i, resulta que NS, ya que 5 xS 1 2 £ U y. por tanto, 1 no puede ser predecesor de i. * Por tanto, mínimo j el subgraf o + 1 1 de 3< generado componentes. por los nudos de W tieke como Como cada entonces el subgrafo es un bosque, y así 87 componente es un camino, U Capítulo 4. Cortes válidos para el SOl’ wj—(jS~+~Sj). x(W)< Como 1 ¡S = Corolario 4.la: x(W:S) y (4.6) entonces se verifica x(S:W) = (4.4) Si además de las hipótesis del teorema 4.1, existe kEW tal que {k> x 5 c TI reforzar 2 y 5 x <k> c U, entonces la desigualdad (4.4) se puede 1 x(S:W) 4 x(W) x(W:S) s + U U j (4.7) ¡ Demostracion: Sean las hipótesis del teorema 4.1 pero, generado por los nudos de W tiene como mínimo que el nudo k no puede pertenecer nudo jeS ahora, S el subgraf o <SL de 3< 1 componentes, ya a ningún subcamino que empiece en un j) ni a ningún subcamino que termine en un nudo icS (pues k < (pues i <1<). Teorema 4.2: Sea 5 < jsV\W = tal que 3(i,j)dll; i*j, i*O, kW > y sea 5 1 2 un subconjunto de V\W tal que 5 1 x 5 2 ~ II. Entoñces x(O:W) + x(S:W) + x(W) + x(W:S) ~ es una desigualdad válida para el SO?, VW c V\dO}, U W~ (4.8) a U U j jw¡ ~ 1. a Observación contener 4.1: algún El conjunto elemento, 5 pero no puede ser vacío. necesariamente El conjunto 5 debe todos los que satisfagan las condiciones dadas en su definición. Demostracion: * Si x(O:W) * Si: x(O:W) = = O se cumplen las hipótesis del teorema 4.1. 1 el subgrafo tiene j que el primer nudo no perteneciente O y atraviesa W, sea 1, no + 1 componentes como mínimo, ya a W del camino que empieza en el nudo puede pertenecer 88 a 5 y, por tanto, esta U U U U U U U Ii ¡ • • • Capítulo 4. Cortes válidos para 1e1 SOl’ componente del subgraf o generado por W no notar que el nudo 1 no puede pertenecer está contabilizada. a 5 Es preciso ya que, por definici ón, no puede tener ningún predecesor i tal que kW, i*O, i*l. Corolario 4.2a: que <k> x 5 1 u [ Si además de la hipótesis del teorema 4.2 existe keW tal c U 2 • y 5 x <k> c TI, entonces la desigualdad (4.8) se puede 1 reforzar como sigue, x(0:W) x(S 2 :W) + + x(W) x(W:S) + IwHL s (4.9) Demostración: El nudo k no puede pertenecer nudo 0, atraviesa MT. no ser que 5 0. = al subcamino, si existe, que empieza en el y termina en el primer nudo 1 no pertenecientela MT, a Además k no puede pertenecer a ningún subcarnino que empiece en un nudo jeS (k < 2 j) ni a ningún subcamino que termine en un nudo ieS (i < k). U Teorema 4.3: Sean 5 tales que 1 y 5 icS, (5— <1>) cli. 2 dos subconjuntos de V\W, y sean los nudos i 2 SxS 1 • Sea k 2 cli, y .1 (5— <i>)x<i>cIl un nudo de V\( MT u 51 u 5 2 ) tal que (i,k)eTl y (k,jkfl. Entonces x(S:W) + x(i:W) + x(W) + x(W:j) + IWI x(W:S) ~ es una desigualdad válida para el SO?, VW c VVO>, Observación verifiquen 4.2: En el caso en que los conjuntos 5 las hipótesis del teorema 4.3, la 1 (4.10) WI ~ y 5 2 desigualdad 1. deI teorema 4.1 (4.10) es un 4.5), el reforzamiento del corte (4.4). Demostración: Dado el teorema 4.1, * y definidos los conjuntos 5 subgrafo generado por MT tiene al menos [5 5 X 1 5 6 TI. 2 89 + 1S y 5 1 según 2 componentes, dado que * Si x(i:MT) termina en el , primer nudo 1 no perteneciente a MT, proporciona del subgraf o generado por MT que no ha sido contabilizada, componente que kS 1, el subcamino que empieza en i, atraviesa el conjunto MT y = pues (5 1 fi> ) x O> c IT. (Análogo para x(MT:j) — 1 Además l!=j,ya que 3k perteneciente a V\(MT u 5 = una ya 1). u 5 ) tal que (i,kkTI y 1 * x(S:W) = + u x(W:S) Y puesto que entonces (4.11) x(W) MT¡—( 5 S¡+JS[-F x(i:MT) + U 2 (k,j)Efl. Ls[+[sI u x(MT:j) c. 4. d. El siguiente teorema define otro tipo de desigualdades válidas U para u el SOP Teorema 4.4: Sea (i 3 >~ ,.. . 123 5 k < i ,i 3 = ,i ) un camino en (V,TI). Se define i 123 .k > 51 = < is J ~i j impar> (4.12) 52 = < ¡ES! J j (4.13) par MT S V\S. u u entonces y • x(51:W) + x(W) -4- x(W:S1) s jw[ (4.14) x(S 2 :MT) + x(W) + x(W:S) ~ IMTI (4.15) SO?. son ddsiguaidades válidas para el Demostracían: * Sean los siguientes conjuntos: 5 y 5 11 12 = <leS j 1 <iES .1 1 ¡ x(W:i) j = 1> /x(i:MT)=1>. J 90 (4.16) (4.17) u u u u u u 3 • E 3 u Capítulo 4. Cortes válidos para el SOl’ - * Para todo i E 5, el subcamino de 3< que empieza en un nudo continuación recorre un subconjunto de nudos de MT y termina en que NS, 1 j ya que o bien y, por tanto, l=i~ ES j-1 1, o = bien Bi j—1 eS tal 2 que i NMT, es tal , <1 j—2 a j-1 < j ó LES. 2 6 5, el subcamino en 3< que empieza en el nudo i recorre j j un subconjunto de nudos de MT y termina en el primer nudo que no pertenece * Para todo i , • a W, sea 1, es tal que lES quei<i 3 * 3+1 <i 3+2 y,portanto.l=i (4.14) Is[ = x(MT:S) y k, o bien 31 = J+I 5 E tal 1 eS 1 ólES. 3+1 W Por tanto, el subgrafo generado por mínimo. Como * ya que, o bien j , 2 S[ tiene = 5 + x(S:W), 5 componentes como se verifica la expresión c.q.d. La expresión (4.15) se demuestra utilizando un razonamiento análogo. u 4.2.2.— Identificación de restricciones violadas. Algoritmos de separ aman. Sean f, cortes Q~, £2, £2 especificados respectivamente. 4 los por (Cada conjuntos de índices los teoremas 4.1, conjunto contiene, en de las 4.2, faffii 1 las 4.3 principio, un de ~ 4.4, número exponencial de índices). Sea T la arborescencia cuyo nudo raiz es el nudo O que optiíniza relajación de lagrangiana identificar solución y, alguna a partir actual del problema combinatorio relación de ella, de precedencia generar que un corte sea con auxiliar. violada índice la Se trata por en algún esta £2~, para i=1,2,3,4. La figura 4.1 ilustra las dos posibles situaciones en las que relación dé precedencia (i,j)dfl puede ser-violada por la arborescencia T. 91 una Cap itulo 4. Cortes válidos para el SOl’ uU u •0 •0 ij * * * * •1 * 1 * * 1; * 1 * * * J T T Figura 4.lb Figura 4.ía Figura 4.1 Caso 1: Dado un subcamino de una desigualdad la par de nudos forma violada (j i), (i,j) tales (ver figura con índice en £2 1 que o iE?(j) 4.la), en £2 y se , 3 T contiene puede más un identificar fuerte que la desigualdad (4.2a), definiendo los siguientes conjuntos: * MT = *,Para { lEV / lE(j O, 14 l!=j> en 1. obtener una desigualdad con índice en £2 (i.e., el corte (4.4) dado por el teorema 4.1), definimos 5 1 52 =P(j) n (V\W) (iES) 1 ( mayor subconjunto de V\MT 1 jeS y 2 5 1 x 5 2 ~ II ). Ejemplo 4.1: Ver figura 4.2 A continuación se comprueba la condición impuesta en el corolario 4.la para introducir, si es posible, el corte más fuerte (4.7). 92 u u u u E u 1 ¡ ¡ ja w ‘SS 81 S2 en O = (VSA) en P (V.1]) (f.c., corte Figura 4.2 * Para obtener una desigualdad can Indice en £2 3 (4.10) dado por el teorema 4.3), definimos 5 1 S 2 1 iES,1 (5 1 —<i>)x<i> ( mayor subconjunto de P(j) n (V\W) E ( mayor subconjunto de V\MT 1 jcS , 21 5 x 5 Z e IT y <j} x (5 2 —<j>) c 11) siemiSre que JkEV\(MTUS uS ) tal que (i,lc)eTl y (k,j)elI. 12 Ejemplo 4.2: Ver figura 4.3 k w si 82 en O = enP- (VSA) Figura 4.3 93 •r]) u Cap itulo 4. Cortes válidos para el SOl’ Caio 2: j, si existe algún nudo Dado un nudo (ver figura 4.lb) identificamos en iE?(j) j) en tal que k(O generaL una familia de desigualdadades violadas con indice en O: Podemos entonces introducir en el problema cortes del tipo 14.8) proporcionados por .~-éI teorema 4.2, -- definiendo el siguiente conjunto MT, tal que *MT=<lEV/lE(O,...,j),l*O,l*j>enT De acuerdo verifiquen las con la hipótesis elección del de los conjuntos teorema 4.2 se que estarán violados siempre que jES correspondiente <4. 2b). 1 Sean Q yMQ , 5 1 obtendrán y serán y 5 2 tales distintos más fuertes que cortes, que el corte j < kEQ/ 3<1,k)ET con kW> Observación 4.3: El nudo p j siempre pertenece a Q. 4.1: Si se construyen los conjuntos 5 y de forma que 5 =0 el corte u J dos subeonjuntos de V tales que, < V ksV\W 1 3ieP<k), ¡!=1<,i*O, kW Q u u (4.18) u u (4.8) obtenido es el corte más violado por la arborescencia 1 de entre todos los cortes -posibles proporcionados por el teorema 4.2. U >~flemostración{ Sea el corte (4.8) La solución actual x(O:MT) x es conjunto W es tal que W + x(S:W) la + x(MT) + correspondiente < lEV 1 IE(O 1 x(MT:S) a la SIMTL arborescencia j) en T, 1*0. l*j T, y el >. Entonces: * x(W) y [MT son constantes para toda elección de 5 * El único arco con origen en algún nudo de V\W y destino en algún nudo de y 5. MT es el arco con origen en el nudo 0. Así, para la solución actual, 94 U U u u U Capítulo 4. Cortes válidos para el SOl’ x(0:MT) = x(S’:W) 2 O = 2 Por consiguiente, * x(W:S 1 ). O VS’cV / O S 5’ y, por tanto, x(S:W) 2 el corte Cualquier 5 1 ~ O (4.8) estará es tal que 5 más S violado cuanto mayor sea (para que se verifiquen las Q hipótesis del teorema 4.2), y entonces x(W:S ) ~ x(W:S’). ¡ Así, el corte (4.8) obtenido a partir 1 de los conjuntos 5 y 5 2 definidos según (4.18) es el más violado. U Observación 4.4: Los únicos arcos que influyen en la violación del corte (4.8) son los arcos de la forma (l,k)ET con leW, kcQ Por tanto todos los . cortes obtenidos a partir de conjuntos 5 tales que Q y 5 ~ 5 son tan O —4a—-—b—---*é —~1 2 1 violados como el corte dado por la proposición 4.1. Ejemplo 4.3: Ver figura 4.4. J”—4J”’ O en F Q = < i,J, J = (VII) Solucion actual T ,~j ,j a 1’ is. w 5 = 2 1”’ <i,i, j’,jtj”’> 0 en O - (VSA) Figura 4.4. Corte más violado 95 Capítulo Proposición 4.2: Sea 4. Cortes válidos para el SOl’ Q tal que Q 1 S 5 1 51 S Sea 5 2 ~ Q\S 1 tal que xS~II. El corte (4.8) proporcionado por 5 y 5 es tan violado y más fuerte que el corte propocionado por la proposición 4.1. si se verif ¡ca la siguiente condición: > W:S[ + corte es tan MT:Q\SuS[ j u U 2 (4.19) Demostración: * Si Q1 S S~ el violado como el proporcionado por la de la proposición 4.1. * I0:MTI y IMTI son constantes para toda elección de 5 y 5 1 * El corte (4.8) proposición tiene 4.1, consideradas además frente en la W:QI %w[ a proposición variables W:Sj + 4.2. en 2 las variables Utilizando la hipótesis en las condición hipótesis (4.19), se verif ¡ca: S:MT W:S¡ > ¡W:S[ + pues 5,5 1 ~ 2 + W:Q\SuS¡ + W:Q¡, = IW:S>I el siguiente U U Q. U Sea 1 algoritmo para identificar el corte más fuerte j 3 posible entre los más violados: Algoritmo 4.1: Paso 1: Hacer 5 = Q. Hacer Q Paso 2: Si 2 máximo subconjunto de Q\S tal que 5 xQ 1 2 Paso 3: Si Q2:MT[ Paso 4: Hacer 2 S W:Q2j + W:Q\S uQ = 96 j ir al paso 6. 1 ~ II. 2 3 3 3 3 3 a a ‘3 CapItulo 4. Cortes válidos para Paso 5: VjcQ\S uS 12 <j> si • 5 X 2 ~ IT hacer 5 5 = 1 1 .1 SOP u<j>. Ir al paso 8. Paso 6: V Q’ c Q ,si Q x O \Q< Sfi 2 2 2 5 1 Q2 Si 5 5 = 5 5 22 = Q =0 2 de variación Q’:W[. — x(0:W) 4.5: Un conjunto de nudos candidato a pertenecer a 5 una hacer = Q \Q’ Paso 8: Fin. Se obtiene el corte supone IW:Q’I, 2 Q’2 u 1 < Q’:WI 2 ha sido modificado, ir al paso 2. Paso 7: Hacer ObservacIón y 22 en 1 o a 5 el + x(S:W) + x(MT) + x(W:S) ~ IMTI Q’2 en las hipótesis del paso 6 es Introducirlo en 5 en lugar de en 5 2 1 ¡ 2 número de variables del corte (4.8) de Esta diferencia . es positiva y, por tanto, Ja introducción Q< en 5 hace más fuerte el corte. 2 1 Observación Q 2 c Q2 4.6: Como el paso 6 se ejecuta V , la complejidad de este algoritmo es no polinomial. Observación 4.7: Si se sustituye Paso 6: Vj 6Q2 .si el paso 6 del algoritmo por * <j> x O2 \<j> S Uy e 5 = Su <j 1 j:W¡ < W:j j hacer 1 Q 2 =Q\{j> 2 Si 5 se obtiene polinomial). ha sido modificado, ir al paso 2. un algoritmo con Pero en este caso no complejidad cuadrática hay garantía (y, por tanto, de que el corte obtenido sea el más fuerte entre los más violados, aunque sí es uno de estos cortes y tan fuerte o más que el obtenido a partir de la proposición 4.1. 97 Capítulo 4. Cortes válidos Ejemplo 4.4: Para la situación descrita en el ejemplo J para el SOl’ 4 3, el corte más fuerte obtenido por el algoritmo es el dado por la figura 4 5 a 1’ w en Q si JIW[ > W:j a (VA) en A para 36 < j’, j”> Figura 4.5 Una vez obtenido el impuesta en el corte, coralario a continuación se comprueba 4.2a para introducir, si es la condición posible, e] reforzamiento (4.9). J Caso 3: Para identificar desigualdades violadas con índices en £2 4 1.- Dado un par de nudos de la forma (j el j (i,j) tales que ieP(j) y T contiene un subcamino i), se define el conjunto MT de forma que, W<IEV/IE(j Dado j digrafo i),lsi,l*j>enT. P=(V,IT) de precedencias, sea 1’> el subgrafa generado por V\W. Sea C un camino desde el nudo O hasta el nudo j en P’ tal que iEC, y sea C’ el conjunto de nudos del camino C, tal que 98 u u Capítulo 4. Cortes válidos para el SOl’ 1 2 1< k+1 k+2 k.m+1 Formamos el conjunto 5 del teorema 4.4 de la siguiente forma: *Sikesparymesimpar 45=C’ * Si k es impar y m es impar ~ 5 = * Si k es par y m es par = 5 *Sikesimparymespar i E h donde Sean y 5h 1 5h 2 5h =C’\<i> h tal que h <i1~,1 (4.20) (4.21) C’\< i h (4.22) h (4.23) 45=C’\<i> ~ (4.24) los conjuntos formados a partir del conjunto con h=t ó donde h=k~1~..,k~m e significa = st que no (4.25) se ha eliminado ningún n ido del 1 camino C, de forma que: Si k es par (casos (4.20) y (4.22)>, s¡ =<ieShinespar>, 1 h 5 = < 2 Si k es impar i n E 5 1 n es impar (4.26) (casos (4.21) y (4.23)), 5h = 1 h 52 < La desigualdad T, dado que i,jESh1 < i E Sin i E n Sin h es impar>, (4.27) es par> (4.14) para s , = es violada por la arborescencia 1 1 y es más fuerte que la desigualdad (4.2a). Dependiendo de la elección del nudo i a eliminar (en casc ¡ h sea necesario), se obtiene una familia 99 ¿ de cortes no de que dom: nados e Capítulo 4. Cortes válidos para el SOl’ igual de fuertes (e.d., con el mismo número de variables). 6’1 Sea < (a;b)eT 1 acMT = más violado de la familia ¿ beS1’1 > para cada h dado. El corte (4.14) , por la solución actual T será aquel tal IDNI sea máximo. que 6’2 Sea para 5 se bES” > para cada h dado. El corte (4.15) 2 ‘ 51’ estará violado por la arborescencia T si[ D~ = 2 obtiene más < (ab)cT 1 aeMT = una violado familia de cortes por la solución 4.3: Si no violados actual del T será tipo [ MT. (4.15), el que ¡ D~ ¡ aquel tal (i.e., :31cv\W tal que existe ninguna (i,l).(l,j)ETI elección ) entonces de no h corte sea existe garantía iJ ‘3 que ~ tal ‘3 ‘3 Si máximo. Proposición ‘3 ‘3 de que la arborescencia T viole ningún corte en £2 4 ‘3 Demostración: * Construidos los conjuntos 51’ y 5” 1 (4.27), se verifica proposición, jeS * Para que ieS~ según las expresiones (4.26) o de la 2 siempre. En las hipótesis la solución actual x correspondiente a la arborescencia 1 se verifica: 1’ x(S:W) = O x(S”:MT) 2 = 1 x(MT) IWI = (j ~ 5 h )~ - 1 U, Si la 2 = ‘3 ‘3 Si x(MT:S”) 1 = 1 (i.e~, no existen arcos de MT a 5 1 excepto al nudo entonces la desigualdad (4.14) no es violada por la solución x. x(MT:S”) ‘3 2 O (j.c., no existen arcos de MT desigualdad (4.15) no es violada por la solución x. 100 a 5”), 2 entonces U ‘3 ‘3 • Capítulo 4. Cortes válidos para el SOl’ Observación 4.8: Es preciso notar que los arcos de intervienen en el corte (4.15) salvo en j a MT y de las hipótesis 18 y a i no de la proposición 4.3. Observación 4.9: Si h entonces 5 = 0 = C’ y se obtiene un único corte del tipo (4.14) y un único corte del tipo (4.15) como máximo. Obtención del camino C Cualquier satisfagan camino C la condición desigualdades violadas. en el digraf o P, de la proposición (excepto aquellos 4.3) proporciona que una’ o más El término del lado derecho es el mismo .1 para cualquier corte. Si se toma C como el camino máximo del nudo O al nudo j pasando por (donde se considera que todos los arcos de IT tienen igual longitud), entonces se obtiene la faiñilia de cortes más fuertes número de variables), (i.e., con mayor pero no necesariamente el corte más violado por la solución actual T. Por el contrario, superiores n a EV 1 3 obtienen si el camino aquellos arcos incidentes algún arco de W a i cortes en general máximo se obtiene asignanco pesos n en el conjunto en la arborescencia de vértices T>, ent¿nces se con menos número de variables, p~ro más violados por la solución actual. En concreto, desarrollada, la en el de la capítulo determinado la proponemos obtención facilitarán a de de la función cortes En con de el no la técnicas casos se segundo procedimiento. lo’ en consiga se introducirá experiencia del primer mayor las aquellos iteraciones, objetivo, de la utilización utilización 5. vista número de los computacional procedimieñto de variables, reforzamiento que, para descritas para número una deteriorizacion el corte obtenido que fuerte a partir del Capttulo 4. Cortes válidos para el SOl’ j, si existe algún nudoiEP(j), y T contiene. un subcamino 2.— Dadó un nudo u U j) tal 4be k(0,.n,j), se defin&el conjunto MT talque, (0 u MT * j), 1*0~ l*j > en T. { lEV 1 IE(0 = s Dado el digraf o P=(V,TI) de precedencias, sea P’ el subgraf o generado por V\MT. Sea 12 un camino desde el nudo O hasta el nudo j en U P’, y sea U el conjunto de nudos del camino 12, tal que = i=Oi < 1 =j ,i,i ‘2’ > k ¡<+1 Formamos el conjunto S.dei teorema 4.4 de la siguiente forma: *Sikespar * Si k es impar donde isfi S= C’\< ~> 4 (4.28) i> 1’ (4.29) k Sean S1’1 y S1’2 los conjuntos formados según respectivamente, ‘a partir. del conjunto 51’, donde C’\< i > h = z o h ‘c~ue s1’ = 12’. La desigualdad (4.14) para 5 = tal que h = con = 1 T, dado que O,jES 1 6 h = (4.12) ¿ y 2~..,k (4.13) ‘3 (4.30) u 5 1’ es violada por la arborescencia 1 y es más fuerte que la desigualdad (4.2b>. Dado un camino 12, y dependiendo de la elección de i uña faimilia ‘3 4SC’ • , se obtiene dé cortes ño dórninados e igual de fuertes (e.d., con el mismo número dé Variables). Sea D = { (a,b)eT 1 áMT 1. , beS > para cada h dado. El corte (4.14) 1 más violado de la familia que ¡ 6’ ¿ por la solución sea maxímo. 102 actual 1 será aquel tal ‘U U ‘3 ‘3 u ‘3 u u Capítulo 4. Cortes válidos para el sol’ 1’ Sea O 2 para 5 = = < h (a,b)ET 1 aEW beS 2 > para cada h dado. El corte (4.15> , 51’ estará violado si. de cortes violados del tipo [W 0h 2 (4.15), el solución actual T será aquel tal que . Si se obtiene una familia corte más violado por la sea máximo 4.2.3.— Ejemplo de identificación de restricciones violadas. Sea el grafo dirigido G precedencias 1’ (V,fl) = cerrado transitivamente. tanto. (l,v)ETT VveV. tal (V,A) de la figura 4.6, y sea el digrafo de que <(2,3),(3,4),(4,5),(S,St(8,9)> La arborescencia T de mínimo peso en el grafo O es: —~ 2 —~ 3 — 8 7 -.— — 4 — 5 —÷ 6 —.4 es decir, se obtiene una primera solución relajada haciendo x x 12 =x = II O 23 =x 38 =x 87 u !y u es 1 y, por El nudo 1 hace las veces de nudo auxiliar Figura 4.6 1 ~ =x 74 =x 46 =x 56 V(i,j)~T 103 =x Sq =1 9 Capítulo Esta camino (4,8) solución no hamiltoniano y (5,8). Por viola en G), tanto ninguna condición pero viola sí necesitamos u 4. Cortes válidos para el SO? de dos asignación relaciones identificar cortes de (i.e., j es un precedencia: válidos U inducidos por estas relaciones que sean violados por la solución x actual. Cortes inducidos por la precedencia * El corte de tipo (4.2a) que se obtiene es * Se identifica un corte de tipo 1 haciendo 5 5 2 = < 2,3,4,5 = < 8,9 obteniéndose el corte x x + U (4,8): + x 5 74 87 x + 1 5 , j j 1 que es más fuerte que el 4.la, no se corte (4.2a). No se verifican las hipótesis del corolario por lo tanto puede reforzar disminuyendo el término independiente. * Se identifica un corte de tipo 3 haciendo i=4 j=S 5 2 =<S,9> k=5 obteniéndose el corte x + x * x + x 5 1 Este corte es un reforzamiento del corte de tipo 1 obtenido anteriormente. u u ‘3 U ‘3 u Para identificar posibles cortes de tipo 4, sea * ‘3 El camino 12 de longitud máxima en E’ del nudo 1 al nudo E es 1 —~ 2— 3 — 4 — 5 —~ 8 1 Por tanto, sea C’= < 1,2,3,4,5,8 > S=C’ 5 = < 2,4,8 52 = < 1,3,5 u 104 ‘3 u : Capítulo El conjuntoS proporciona el corte x + x Sol’ 4. Cortes válidos para el x + 51 Este corte está dominado por el corte de tipo 3 anterior. El conjunto 5 no proporciona ningún corte violado, ya que no hay ningún 2 arco en T de un nudo en MT a un nudo en Cortes inducidos por la precedencia 2’ y por tanto, ¡D¡ El corte de tipo (4.2a) que se obtiene es x87 * Se identifica un corte de tipo 1 haciendo = { 7,4 5 = < 2,3,5 = < 8,9 > 1 52 O < ¡MT[. (5,8) * MT = x74 + x45 ~ 2 + } obteniéndoseelcorte x No se verifican 87 +x 97 +x las hipótesis 74 +x 46 +x del corolario 94 52 4.la, por lo tanto no se puede reforzar disminuyendo el término independiente. Para cualquier * elección de 5 y 5 no existe ningún k verificando las 2 1 hipótesis del teorema 4.3. Por tanto no es posible obtener níngun corte de tipo 3 para esta precedencia violada. Para identificar posibles cortes de tipo 4, sea * MT = < 4,7 > El camino 12 de longitud máxima en P’ del nudo 1 al nudo 8 es 1 —* 2 —* 3 ~ 5—~ 8 Por tanto, sea 12= Estamos en las < 1,2,3,5,8 hipótesis de la proposición 4.3, ya que el nudo 5 es inmediatamente anterior al nudo 8 en C. Así, no tiene porqué haber ningún corte de tipo 4 violado. En este caso, sea 5 = < 2,5 } 5 = < 1,3,8 1 2 El conjunto 5 1 no proporciona ningún corte válido para el problema. 105 • Capítulo 4. Cortes válidos para el SO? . El conjunto 5 proporciona el corte x~ 2 x74 + 87 + x 2 5 • válido pero no violado por la solución actual x. Introducidos de estos Lagrange objetivo del se cortes obtiene en el problema un vector nuevo problema relajado. y estimados sus multiplicadores de coeficientes • u en la j función La soludión a éste nuevo problema es la ‘U arborescencia 1—.4 2—* 3 —*4 —*5 —*6~~ 8 —*7 9 En este caso, violada, y la condición habrí a que de asignación activarla. u correspondiente Además, la al nudo precedencia 6 (8,9) está está violada, y dará lugar a cortes de tipo 2. Cortes inducidos por la precedencia Para esta precedencia violada, el corte 4.2b que se obtiene es * x (8,9) 12 +x +x 23 +x 34 45 +x 56 +x 69 55 Para identificar cortes de tipo 2, sea * MT < 2,3,4,5,6 Q = <8,9> Q < 8,9 > = Utilizando la proposición 4.1, se obtiene el corte más violado de entre los posibles cortes de tipo 2 haciendo 5 1 = <8,9> 5 0 obteniendose el corte (más fuerte que el corte 4.2b) x +x 12 +x 23 +x 34 +x 45 4-x 56 +x 25 +x 38 +x 68 69 =<8> 1 52 =<9> Como [S:MT[ = 2 , jMT:S[ = 1 y ¡W:Q\SUS[ hipótesis de la proposición 4.2 ( 2 > 1 x +x +x +x +x +x + O +x 4 ‘3 ‘3 ‘3 U ‘3 ‘U 55 Se obtiene otro posible corte de tipo 2 haciendo 5 1 = O , se verifican las ‘U 4 ‘3 ). Por tanto el corte +x +x +x 55 U 106 ‘3 u u Cap itulo 4. Cortes válidos para el SO? obtenido es tan violado como el anterior y más fuerte, ya que se ha incrementado el número de variables. 4.3.- CORTES VALIDOS INDUCIDOS POR LAS ACOTACIONES SUPERIORE S AL PESO ACUMULADO DE CADA NUDO 4.3.1.— Obtención de cortes válidos. Se trata de obtener cortes válidos para el SO? tales que eliminen aquellas soluciones que no satisfagan la condición (4.1). El primer corte con MT y1 > d = J . ACO propuesto 3); por es el corte (4.3), tanto se j) x(O prohibe el IV’ 5 camino (O.. J ~. ¡ 1, — .j) si Veamos como reforzar ese corte. J Ejemplo 4.5: (Ver (4.3). condición proporciona figura 4.7). Es fácil Sea el camino ver que el corte x + 01 (0,i,j,g) x Ij + una desigualdad válida para el problema x Jg tal + x 0) que + x JI “iola la x + Ig original, siemre 5 2 que el peso acumulado del camino permutado (0,j,i,g) también viole la cota del nudo g, d g O ~~*J —*i —*g Figura 4.7 Dado una camino p = i(k)=g), con P (O,i(1) = conjunto de nudos en el camino p, sea Inicialmente E =A(p), trata de ir provenientes camino p cuyos N(p) donde N(p) es el (P,E) un subgrafo parcial de O. donde A(p) es el conjunto de arcos del camino p. Se aumentando de = el conjunto permutaciones arcos no de estén la de arcos forma todos denominará permutaciones expí (citas. 107 E añadiendo p’ incluidos = nuevos arcos (O,iMl) ,...,i’ (k)=g) en E, a las que del se • Definición 4.1: Capítulo 4. Cortes válidos para el SO? Dado un camino p = (0,i(í) nudo g, llamaremos longitud de p, sea L, tal que T i(k)=g) desde el nudo O al al peso acumulado del nudo g. es el peso del arco (a,b)Ep. Por tanto, ab L= • El U ‘U U ‘U objetivo es T (a,b)Ep identificar secuencialmente de un camiño p dado que verifique L > d permutaciones de A(~’) a E, el &orte explícitas x(E) ~ 1 MT 1 sea todavía — un corte válido. Es preciso notar que no todas las permutaciones permutaciones p de forma que, añadiendo los , £ arcos no redundantes U (4.31) de p son que pefmiten añadir arcos al conjunto E. Sean los siguientes U conceptos: Definición 4.2: parcial Dado un = (P,E), ~‘ camino PO = (0,i(1) i<k)=g), N(p0) donde 1’ y y = E el subgrafo U Mp’) con p 1=0 ‘3 o permutación implícita p explícita o de p en de p Vi=1 llamaremos j, a todo camino del nudo O al nudo g en el grafo ~ que pase por todos los nudos y tal que p Definición 4.3: explícita Llamaremos p’ de un permutación permutación cambio permisible = p (0 g) * a con una L j. p’ Vi=0 > permutación d tal , que satisfaga la siguiente condición: L, ~‘= > d, y no hay ninguna permutación (P,E’) con L ~ s d p Así, el corte (4.3) , donde E’= E implícita p U <(k,l)ep9. * en (4.32) £ se puede reforzar utilizando el corte definido en el siguiente teorema: Teorema 4.5: Sea E = ~‘ = ‘U U U ‘3 (P,E) un subgrafo parcial de G tal que inicialmente A(p), donde p es un camino dado p LOS = (0 g), 1’ = Mp) y L g > d . g ‘3 ‘3 ‘U U U u ¡ • • Capítulo 4. Cortes válidos para el SO? Entonces, el corte x(E) sjW g 1-1 (4.33) es un corte válido para el SO? con E e E U {(k,1)ep’> si y sólo fi es una permutación permisible de p. Demostración 4z) Cualquier camino en el graf o ~ del nudo O al nudo g que pase por todos los nudos permitida estos tiene MT~ ¡ arcos, por definición caminos y su longitud de permutación es factible para es permisible. el problema superior a Por tanto, original, la máxima ninguno de de donde el corte (4.33) es válido al no eliminar ninguna solución factible. ~) Si al introducir sigue siendo válido factible. los arcos de una permutación p’ en E el cort•e (4.33) es debido a que no se ha eliminado Por tanto al introducir implícita p con L * p 5 d ninguna solución p’ no se ha formado ninguna perr rtutación y, entonces, p’ es permisible. g U Ejemplo 4.6: El siguiente ejemplo ilustra la necesidad de que se verifique la condición (4.32) para que el nuevo corte siga siendo válido. Ver figura 4.8. ‘o 7 Figura 4.8 109 8 Capítulo 4. Cortes válidos para el SO? - Sea el camino inicial = p Supongamos que identificamos (0,1,2,3,4,5) el camino = q 1 = L 33 (0,1,4,2,3,5) > = d = 1 L 7 34 . > d q Así, inicialmente, ~=(P,E), donde (2,3),(3,4),(4,5),(1,4),(4,2),(3,5)>, = P (0,1,2,3,4,5), y es la Lp 62 , > d5 El . conjunto {(O,4),(4,1),(l,3),(3,2),(2,5)>. = Adviertase que x(p) peso del = satisfecha por del 5. L• nudo cualquier 5. sea del * graf o p = arco = sería ~‘ una 6 s d= 7, pero el corte (4233) no tanto la condición superior (4.32) camino p’ para poder introducirlo debe al ser en el corte y que este siga siendo ún corte válido para el SO?. Observación 4.10: Cuantas más permutaciones permisibles se identifiquen, más fuerte será el corte (4.33). Observación mucho 4.11: tiempo. La verificación Por ello se de la condición introducirá un (4.32) puede concepto u U E (0,4,1,2,3,5) de que no viola la acotación Por ‘U (0,4,1,3,2.5) ~‘. este camino, a pesar acumulado arcos Finalmente, permutación implícita en el graf o permitiría de {(0,1),(1,2), longitud (1,k)eE. Supongamos ahora que queremos añadir el camino p’ 1 5 = E u‘U de consumir más fácil ‘U ‘U ‘U ‘3 ‘U ‘3 U verificación que el concepto de permutación permisible. Sea ~ — = (P,E) un subgrafo parcial de G A<p), donde p es un camino dado p es la longitud asociada desde el nudo O al a un arco nudo k = = (0 (a,b)SA. en el digrafo (V,A) tal que inicialmente E = g). E Sea ~. s Sea Ok N(p) L> ~‘ = Observación 4.12: (P,E’), con E’ La distancia mínima 110 = E desde mínima (P,E) el = Th ‘ab la distancia mínima desde el nudo g hasta el nudo m en el digrafo = y 1 la distancia inducido por ~ tal que (b,a)eE si y sólo si (a,b)EE y una permutación p’, sea d digraf o Sea ~. nudo O al nudo Dada g U ~gm U A(p’). el ‘U ‘U en ‘3 U ‘3 ‘3 u ¡ U Cap itulo 4. Cortes válidos para el SO? p(O g) no corresponde necesariamente a la longitud de una perrrutación de nudos en P=N(p). Definición 4.4: Llamaremos permutación aceptable a una permutació 1 p’ de un camino p = (O g) con L > d P £ tal que satisfaga la siguiente condición: s’ > d , donde s’ es la distancia mínima del nra1 o O al Og nudo g en el digrafo Lema 4.1: Toda permutación (4.34) ~‘. aceptable es una permutación permisible, pero no viceversa. Demostración a) Sea p’ una permutación aceptable. Entonces, por definición, s’ > d Cg el digraf o y, Por tanto, todo camino de O a g tiene longitud mayor que d ~. en particular, L > d , p que L * > d p en g . y toda permutación implícita p * en es tal ~“ g Así, p’ es permisible. U g b) No toda permutación permisible es aceptable. Ver Ejemplo 4.7. Ejemplo 4.7: Sea el camino p = (0,1,2,3,4,g), con L = 20 > d = 5, y la permutación p permisible = p’ (O,4,l,2,3,g). con L , = £ 17 > 5. Por tanto, j e’ grafo p = (P,E> es tal queP=N(p> que yE= A(p)UA(p’). La permutación p” = (0,2,4,3,1,g) L , y = 11 > 5 toda permutación es una permutación implícita que se permisible, •1• forme ya con su p introducción tiene, obviamente, 5 arcos y, por tanto, longitud n1 ayor o igual a 8, suma de los pesos de los cinco arcos de menor peso en Sin embargo en el nuevo grafo ~“ 111 = (P,E’) con E’ = E U A(p”), se Capítulo cumple que s’ Og = 4 < 5 y~ por tanto, Nota: La distancia mínima s’ Og 4. Cortes válidos p” no es • 0 —e 1 =4 ‘3 aceptable. u = 4 corresponde al camino (0,2,4,1,g). 4 4W para el SO? i1~ 4 2 :3 =-* 4 _____ 4 uu 1~ —~—* g d g ~5 1• Figura 4.9 Corolario 4.3a: El corte x(E) [MT[—1 es válido para E e E 5 U A(p’), donde £ p’es una permutación aceptable dep. Definición 4.5: Una permutación p’ de p es descartable si satisface la condición 5 Ok +T . kI +s sd (4.35) £ para algún arco (k,l)ep’ ‘3 ‘3 ‘U ‘U u ‘3 Lema 4.2: Toda permutación descartable es no aceptable. Demostración Supongamos que la condición (4.35) se sátisface para un arco <k,l)Ep’. Sea E el siguiente conjunto de arcos: 112 ‘3 u u • Capítulo 4. Cortes válidos para el SO? H <(r,sIIECM(O k) > U (k,l) U < (a,b) ¡ (b,a)eCM(g 1)> (4.36) donde CM(0 k) es el conjunto de arcos que forman parte del camino mm. mo del nudo O al nudo k en CM(g 1) es el conjunto de arcos que forman parte del camino mini mo del nudo g al nudo 1 en Los arcos en B forman un camino desde el nudo O hasta el nudo en = (P,E’) donde E’ = E U <(k,I)Ep’>. tal que su longitud es menor o igual a d . Por tanto, la longitud del camino mínimo del nudo O al nudo g e. es g menor o igual a d y la permutación p’ no es aceptable. U g Observación 4.13: El recíproco del lema 4.2 no es cierto, como sLE puede ver en el siguiente ejemplo: Ejemplo 4.8: queremos Sea el introducir Vke<O grafo ~ = <P,E) del ejemplo 4.7. la permutación p”. Se calcula en ~ Supongamos que y~s 5, y g). =4 5 s 01 s gk Ok =8 5 =8 5 02 =12 gI s g2 03 gS =12 04 =4 5 g4 = 4j =4 A continuación se verifica la condición (4.35) V(k,l)cp”: (0,2) e O + 1 + 3 > 5 (3,1) 4 12 (2,4) e 8 + 1 + 4 > 5 (1,g) 4 4 4 + 4 + 4 > 5 (4,3) 4 4 + + 1 + + 12 > 5 O = 5 Así la permutación p” es descartable y, por tanto, no aceptab. e, como se observaba en el ejemplo U), pero algoritmo de camino mínimo al graf o ~‘. no ha sido necesario Por tanto, apI icar un no se introdi. [cen sus arcos en Consideremos el mismo ejemplo, donde ahora se asigna al arco longitud 5 en lugar de 4, e intentemos introducir la permutación p”. 113 (0,1) J 5 =5 01 5 s =12 5 ti 02 s =9 =13 5 =8 g2 =4 5 5 ga ‘U =4 04 03 u =4 g4 A continuación se comprueba la condición (4.35) V(k,l)ep”: (0,2) ~ O + 1 + 8 > 5 (3,1) ~ 13 (2,4) 4 9 + 1 + 4 > 5 (1$g)4 4 + 4 + 4 > 5 (4,3) 4 La permutación permutación p”, por es no aceptable, tanto, 4 + 12 > 5 + 5+í+ó>5 no es descartable. pues en el grafo embargo la = 4 < 5, donde s s’ ~‘ Sin og Og sigue correspondiendo al camino (0,2,4,1,g). Así, permutación no descartable Sea el ejemplo 4.6 correspondiente no es permisible, pues 3p * u A* permutación aceptable. Observación 4.14: permutación no descartable ala =\~ permutación permisible. figura 4.8. implícita 1 L • = 6 5 p En él la permutación = 7. d 5 Sin embargo ningún arco (k,l)sp’ verifica la condición 4.35, ya que (0,4) 9>7 (1,3) 56 > 7 (4.1) 28 > 7 (3,2) 30 > 7 (2.5) 27 > 7 y, por tanto, p” es no descartable. Comprobando automáticamente primero permutaciones necesario aplicar que verifiquen no complejidad del la un condición (4.35) podemos que no van a ser aceptables. análisis para de la ningún condición (k,l)Ep’. (4.35) Así, sólo será (Obsérvese es que sensiblemente la inferior a la cdrnplejidad de un algoritmo de camino rnínirño, ver sección 1.6.3). Para reforzar el corte (4.3), x(0 lineas generales los siguientes pasos: 114 j) 5 ¡MT J j — 1, se ‘3 ‘U ‘3 ‘3 ‘3 descartar algoritmo de camino mínimo a aquellas permutaciones (4.35) ‘3 ‘U ‘3 siguen en “3 ‘U ‘U ‘3 ‘3 u ‘ji Capítulo 4. Cortes válidos para el SO? Algoritmo 4.2: Entrada: Un camino p = (0,.. .,g) tal que L > d p Inicialmente sea g = (P,E) con 1’ = N(p) y E = A(p). Paso 0: Determinar AM, donde AM es el conjunto de los 1 [MT g peso mínimo , en conjunto que en este arcos con caso coincide con E. Hacer 1 = 0. Pasa 1: Dado el grafo ~ = (P,E), encontrar una permutación explícita de p. (Ver sección 4.3.2). Si no se encuentra ninguna p’ nueva permutación o no se quiere reforzar más e] corte, FIN. Paso 2: Si L , d 5 p Paso 3; Construir E’= E a d ir al paso 1. £ el conjunto AM’ para el nuevo graf o (P,E’) con ~‘ U A(p’). Si el peso total de los arcos en AM’ es superior p’ es permisible. Hacer 1 = O e ir al paso 7. g Paso 4: Determinar s Paso 5: Comprobar y s gI VId’ en el grafo Si 1=1, s<- s’ VIEP ~. 1=0. 01 la condición (3.22) V(l,k)ep’. Si p’ es descartable s d es aceptable. ir al paso 1. Paso 6: En calcular s’ ~‘ VleP. Si s’ 01 p’ no Ir al paso 1. En caso contrario hacer 1=1 e ir al paso 7. Paso 7: Hacer E e E x(E) 5 U A(p’) y AM e AM’ en El nuevo corte reforzado es ~. ¡MT [—1. Ir al paso 1. g 4.3.2.— Identificación de permutaciones. Búsquedas locales. Para generar p = (0,i(1) permutaciones g) 1 L > d p en búsquedas consiste en locales. encontrar medio de un número aceptables p’ de un subcamino proponemos un procedimiento heurísticd dado. basado £ Dado el aquellos camino otros p. el caminos limitado de intercambios arcos no pertenecientes a dicho camino. 115 procedimiento que pueden de arcos del básicamente obtenerse .1 camino por p por • Capítulo • . 4. Cortes válidos para el SOR 1 J El procedimiento realiza dos tipos de búsquedas tipo, denominado TRíA, se basa en tres intercambios variantes. El segundo tipo, locales. El primer de arcos y tiene dos denominado Sí, se basa en dos intercambios de arqos y una orientación inversa. i) El tipo de búsqueda denominado TRIA—1 parte de un par de nudos i,jep. Supongamos El nuevo que p camino es de que se la forma (O a(i),i,z(i) considera es (0 ,g) supuesto que estos arcos pertenecen a Á. a(j),j,z(j) a(i),i,j,z(i) g). a(j),z(j), Ver figura 4.10. 1~ z(i) ..: —.-* a(j) —* 1 z(j) j ... —.4 g —-4 •1’ Figura 4.10 u) El tipo de búsqueda TRIA—2 parte de un par de nudos el nuevo camino (0 a(i),z(i) j,i.z(j) g), i,j~p, supuesto que estos Observación 4.16: a(i)=0 y j=g es una elección válida para la búsqueda. 1 O —* a(i) z(j) ‘3 ‘U ‘3 y considera arcos pertenecen a A. Ver figura 4.11. .1 ‘3 ‘3 ‘3 u Observación 4.15: i=O y j=g es una eleción válida para la búsqueda. 0 —e ‘3 ‘3 ‘U u —o ... —4 £ ‘U u u •1’ Figura 4.11 116 ‘3 u u ¡ 2’, 4’ • Capítulo 4. Cortes válidos para el SO? iii) El tipo de búsqueda Hl parte de un par de nudos i,jep, nuevo camino (O i,R(z(i) j),z(j) g), supuesto que y considera el ¡ estos arcos pertenecen a A. Ver figura 4.12. Observación 4.17: i=0 y j=g es una elección válida para la búsqueda. 1 0 —o i z(i) e— ... j 4— z(j) —.4 g 1’ Figura 4.12 4.3.3.— Obtención del peso L de un camino permutacion. p Dado un camino p = (0,i(1) g) con peso L , sea una permutación p p’=(O,i’(1) g) obtenida con los tipos de búsqueda TRIA—1, TRIA—2 y Hl. El peso L , se obtiene de la forma siguiente: p Sea a la ganancia que se obtiene insertando el nudo 1 entre el nudo 1k ¡ k y el nudo z(k) en el camino p. Esta ganancia se puede expresar corno kz(k)~kí +c kí Sea I,z(k) ) ¡ la ganancia que se obtiene eliminando el nudo k del (3 k (4.37) camino p. Esta ganancia se puede expresar como ¡3 k +c =c k.z(k) —c a(k),z(k) (4.38) Tipo de búsqueda TRIA—1: L,L p -(a p +¡3) (4.39) .1 Ii Tipo de búsqueda TRIA-2: L p , = L.p - ((3 1 + (4.40) a jI 117 ‘U Capítulo 4. Cortes válidos para el SO? ‘3 ‘Tipo de búsqueda HL L (o4,(1> <o L <o,I,(1) L L (0,1 ‘(1> p’ donde ~ =1> L (0,1 1) —L (O,I’(1) j y) J z(I ),z(j)) ji j VvER(a(j) z(v)) j z(I>) z(i)) z(I),z (4.41) -$ p z(j)) a +1 -L ‘3 118 Capitulo 5 Reforzamiento de cortes válidos 5.1.- INTRODLJCCION Sea el problema (1), la SO? expresado del (2) y árbol (3) dualización según generador del modelo de las el modelo 3.1. de peso mínimo 3.1, junto La solución dado por con la condición de restricciones tipo (4), óptima las del restricciones integralidad, proporcionará y ursa cota del SO?, inferior para el SO?. Si la solución obtenida entonces es la solución aquellas restricciones “fuertemente” función óptima. de todas tipos para el SO?. objetivo multiplicadores de y, (5) (?FC’s> Estos cortes para Lagrange las En caso contrario, violadas por la solución actual, cortes válidos la satisface del ello, nuevo descrita en la sección 3.3. Sea el politopo 119 y restricciones se trata (6) (DFC’s) y a partir se introducirán, se estiman problema, de encontrar los según qúe sean de ellas: obtener dualizádos, en correspondientes la meiodología u Capítulo 5. Reforzamiento pfl { = CONV 1) x(A) xE<O,l>IA¡, tq = 1 3) x(W) ~ fw¡—í 4) x(á + VjcV\<0> (j)) 5 1 5) x satisface VWcV, [W[~ 1 U VjcV ‘3 ‘U las relaciones de precedencia. 6) x satisface la acotación al peso acumulado de cada { = C0NV donde P rl xe<o,í>[A[, t.q. Mc s b nudo. } es un politopo 0—1 positivo, ya que A es una matriz de ceros y soP unos y, por tanto,. todos lbs elementos de A son no negativos, y b > O. Para cada restricción acuerdo con la metodología corte violada, el válido descrita en el capítulo que se obtiene de 4, es una, restricción tipo ax s b, donde el vector a contiene sólo ceros y unos, y el escalar b es entero positivo. su dualización, capítulo. Así, Se puede intentar utilizando 5.3, cortes 5.4 y metodología a 5.6 desarrolla se los distintos que los tipos se válido antes de describe en los fundamentos este teóricos . la información proporcionada por identificados, desarrollan este corte se desarrollan un corte utilizando anteriormente 5.5 reforzar metodología en la, sección .5.2 que permiten reforzar otros la mientras algoritmos que en específicos de desigualdades un ejemplo de identificación ‘3 U n 2) x(6(j)) x satisface de cortes válidos las que obtenidas. y reforzamiento secciones aplican La ‘3 ‘3 u U U U la sección de cortes para un programa SO? dado. uu 5.2.- FUNDAMENTOS TEORICOS Las siguientes definiciones son necesarias: Definición 5.1: Una desigualdad ~x 5 maximal si [3 ieN y a’ > a tales que 120 a con a0 > O válida para pfl sop es ‘U ‘3 u U s •0 u • Capítulo a’x II sea válida para ?~ JENMI> «x ji ~a de cortes yálidos o IAl , con N=< 1,2,3 sol, Definición +~ 5. Reforzamiento ¡ 5.2: Una desigualdad ax s a maximal para el coeficiente 1 si con a > O válida para pfl es o o so~ a’ > a tal que ~ 1 a’x +~ II j EN\<I> ¡ ax Sa jj O sea válida para P”sol, , con N={ 1,2,3 Definición 5.3: Un dique 12 es un conjunto de índices de variables 0—1 tal que sólo una de las variables con índices en 12 puede tomar valor uno. En este caso se dice que la desigualdad x(C) 5 1 es la desigualdad inducida por el dique C. Definición 5.4: Un dique 12 es maximal si no está dominado por nin~ún otro dique 12<; es decir, 12 es maximal si no hay otro dique 12’ tal que CcC’. Definición 5.5: Un dique 12 es trivial si ¡C[ todo programa 1. Es preciso notar que en con variables 0—1 el dique formado por el índice de cada variable es trivial. Definición 5.6: Un cubrimiento 12 es un conjunto índices de variables 0—1 tal que sólo un número determinado de variables con índices en 12, sea k puede tomar valor desigualdad x(C) 5 uno, con O < k< k c ¡12 c dice ‘que la En este caso se es inducida por el cubrimiento 12. Definición 5.7: Una desigualdad ax 5 a 0 y a I. es de tipo mochila si a ~ O VjeN 1 >0. Observación 5.1: Se supone que :3jEN tal que a > a , y que 1 0 • 121 > JEN a J > a. .0 ¡ 14 Cap Etulo 5. Reforzamiento Definición 5.8: Se dice que un cubrimiento 12 de cortes válidos está implicado desigualdad tipo mochila si existe un número entero, sea k tal que toda solución 0—1 factible para también es factible para la desigualdad x(C) Observación 5.2: Si la relación la c desigualdad por para O<k tipo una c<IC[ mochila kc 5 inversa es también cierta, u entonces ambas u J desigualdades son equivalentes. Proposición 5.1: desigualdad ax Sea F = ~ { xel”’ : sop válida ax = a ~ (con para maximal si y sólo si VjcN BxeF tal que x > o la cara definida por > 0). la La desigualdad es = 1. U ‘3 Demostracion; ax • = a~ es maximal. Supongamos que BjeN tal que VxEF x = O. Entonces cualquier punto x factible tal que x j = 1 verifica ax < a o Por tanto el coeficiente a1 se podría incrementar en Mm <a0- ax >, ‘dx’ factible positiva, o en características, y la cualquier y tal que x cantidad si no 1, = 1 cantidad existe un x estrictamente con estas condición no sería maximal. ~): Si VjeN BxEF 1 x = 1, entonces si incremetaramos el coeficiente .1 lo sustituyeramos por a’ > a, para ese punto x tendríamos: E desigualdad no ax a4Eax = válida para Por tanto la desigualdad ax Estudiemos a +a’x ji continuación es maximal, para, a es maximal. el U problema de en caso de que no lo sea, más fuerte incrementando desigualdad dada. y .1 >a o identificar desigualdad que modelice una PFC ó una 0F12, o algún ellas, a ?~ . sop 5 para ello •122 U ‘3 alguno de si una ‘3 ‘U u‘U ‘U corte inducido por obtener una condición los j coeficientes de la ‘3 ‘3 ‘U U Capítulo 5. Re forzamiento Observación 5.3: Todas las PFC’s, DFC’s y son desigualdades para cada kE< coeficiente a k r del tipo a x 1 [A[ b 5 r r los cortes de cortes válidos inducidos por ellas Dada una restricción . > estudiemos si se puede aumentar de esté tipo, el valor del k en a , para a ~ O. r Proposición 5.2: Sea Rr = max <a x ¡ Ax a) Si R1r = b r VI entonces a r x b) Si 31 1 R’ r < b b 5 a y-1 se puede sustituir b 5 r no es maximal, y el ~jeficiente r a ,I = a r¡ por xc<o,i>IÁI es maximal. r entonces a x r b, x 1 = 1, 5 br + siendo — entonces maximal para el coeficiente 1 la nueva condición. Demastracion: a) SiR1 =b y- Si a x entonces3x * /ax =b y- esto se verifica b es maximal 5 VlE{ 1 b) Supongamos que 31 IR ¡A¡ < b =1 a” = a 1 + b y- — y- R 1 > a1 y- . >, entonces, por y que sustituimos y- y- • con x y- la proposición 5.1, el coeficiente~ a por y- y- Veamos que la restricción y- a’1 x +~ y- jEN\<I> 1 a1x sb rj (5.1) sigue siendo válida para pfl sol, Sea un punto factible x = (x,...,x~..,x a tI x [Al) Veamos que x satisface la restricción (5.1>: * Si x = O entonces y- +~ 1 jEN\<l> hipótesis, ya que a x s b y- .1 ax rJ =~ i ax rJ era una desigualdad válida para y- 123 b p¿r y- JEN 50P ‘3 Capítulo 5. Reforzamiento de cortes válidos ,~1 U * Si x =1, R’ = max 1 ax ¡ Ax s b, x < y- =1, ‘3 = xe<O,íWÁ[> y- a1 max + y- — E { a1x 1 Ax s U, xE<0,L>IAk y- jEN\<I> Portantomax{a’’ x JEN\<I> —a” +R1 —a1 y- y- =1>= /Ax5b,x a~x +~ y- ~ a1 +b = y- y- —R’ +R1 —a1 y- y- b = r y- y- y la desigualdad sigue siendo válida para todo x factible de La proposición 5.2 es. por tanto para que una restricción a x 5 b y- U . una condición necesaria y suficiente sea maximal. Sin embargo para contrastar y- esta condición es necesario resolver un problema con la misma complejidad que el problema original. Huscamos por eso condiciones más débiles que puedan contrastarse Proposición tal en tiempo polinomial: 5.3: Sea que se resuelven dopde 1 = max rl ax 1 ax r independientemente es el conjunto b 5 1 estos 1 , x = 1, ¡ xE<0,IWAI problemas para i de cortes válidos (reforzados E > M c 1, o no) que se hayan identificado más las desigualdades tipo (4) del problema original Sea R’ = y- mm < Si * 3 >. R1 Entonces rl ¡ EM 1 ¡ R’ < b y- resulta que la coeficiente a I se puede sustituir por y- Observación 5.4: condición no es maximal y el y- tI y- = ay-¡ + —I Ry- by- El problema a resolver para cada i para obtenér R1rl es del tipo denominado mochila 0—1. Para i = r el problema se denomina SSP (Subset Sum Problem), panorámica especial se para de algoritmos pueden el que hay algoritmos mochila y utilizar los especiales. 5SF, ver Martello algoritmos (1984) y (1988). 124 descritos Para y Toth (1990). en Martello y una En Toth ‘3 ‘3 ‘3 2 ‘3 ‘3 ‘3 U U ‘U ‘3 ‘3 ‘3 ‘3 u Li u 1 II • <.et. 4., • Capítulo 5. Reforzamiento de cortes válidos Demostración: es una cota superior al valor de R’. ?or tanto caso la demostración cuenta que si x del apartado b de la proposición x ¡ ~E y-J /Axsb,x a1x jEN\<l> ¡ y- P por tanto 5.2, teniendo y- la desigualdad —l =I.xE<O,1>IÁI ¡ a y- +b y- -R y- +R y- -a = y- 1 sigue siendo válida > ¡ y- sb y- para todo x factible rl La proposición coeficientes lugar de U . sol, en =1 en el punto factible x max<a”y- y es válida en este r y- a original. 5.3 es una condición individualmente. una nueva Así, restricción, forman puede sustituir parte puede de variables, de la restricción incremento que Si además un conjunto incrementados, el suficiente una para de incrementar los coeficiente da cada reemplazar la cpndición cuyos coeficientes han sido estructura tipo a dique, entonces se original por una nueva en la que todos los coeficientes con índices en el dique han sido aumentados. Proposición , si existe un conjunto de o variables con índices en 12, tal que en un subconjunto s;O todo coeficiente a, 5.4: Dada una restricción a con icS, restricción sustituir puede ser individualmente del tipo x(C) 5 1, a incrementado, entonces y además existe la restricción por una nueva en la que todos los coeficientes original una se puede con índices en 5 han sido incrementados. Demostración: Obviamente la nueva restricción en 5 incrementados es más fuerte con todos los coeficientes con índices que la restricción original. Veamos que no elimina ninguna solución factible: Cualquier solución factible es tal 125 que sólo una de las variables con • • Cap Club • 5. Re forzamiento de cortes válidos ‘~1 U índices en 12, sea x , puede tomar valor uno. Si c45 o todas las variables con toman índices en equivalente 12 valor cero, a la condición original. equivalente a la coeficiente dcx, condición entonces la nueva condición ‘3 es Si ceS entonces la nueva condición es obtenida al incrementar únicamente el condición válida por hipótesis. U ‘3 Ejemplo 5.1: Dada una restricción de la forma ax ~ II supongamos para (5.2) A II los o II que se ha conseguido un índices .1, 1’ y 1”. incremento Tenemos entonces individual tres de coeficientes nuevas restricciones, cada una de las cuales podría reemplazar a la restricción original; &x + « ,x~ II + a ,,x,, II ax +&4x1. ax +a~x4+a,,x,, + x¡ « 5 +... 4-... u (5.4) ‘3 (5.5) Sa cuenta con la restricción x ¡ ~+ x,,1 + (5.3) o a,,x,, Pero si además se ejemplo Sa +... II 5 1 , entonces inducida por un dique, se puede reemplazar por cada una de las restricciones anteriores por: «‘x + II atx, ya que sólo cada solución sistema *‘a’,,x,, 1 1 s a +... dado por las Por u “3 una de las variables factible. ‘3 ‘3 ‘3 ‘3 x tanto, condiciones (5.6) 0 x, la (5.3), x,, puede tomar valor uno en condición <5.4) (5.6) es ó (5.5) y, equivalente obviamente, ‘3 al más fuerte. Una generador vez de obtenida peso función objetivo la solución mínimo, para obtener es óptima preciso para modificar el los problema coeficientes una cota inferior del valor que sea más fuerte que la anterior. del árbol de la ‘3 ‘3 óptimo de SO? Sea el siguiente algoritmo basíco: 126 ‘3 “3 Li Capítulo 5. Reforzamiento de cortes válidos válidos PFC’s Algoritmo 5.1: Paso 1: Identificar cortes “fuertemente” relajado por cubrimientos). Pasa 2: Tratar se utiliza (Nota: Estos cortes son desigualdades indtlcidas por la solución óptima Ver capítulo 4. cada uno de los cortes válidos identificados a base de incrementar sus coeficientes. la información proporcionada identificados y 1DFC’s problema de reforzar anteriormente, por del violadas actual. inducidos (reforzados o no) y Para ello por cortes anteridrmente restricciones inducida~ por diques. (Nota: La desigualdad resultante es de tipo mochila). Paso 3: Inducir del corte reforzado el correspondi ente conjunto de diques rnaximales. Ver sección 5.5. Paso 4: Utilizar diques este para nuevo corte reforzar los y las restricciones cortes, a su vez inducidas por reforzados o no, correspondientes a los anteriormente introducidos. Paso 5: Estimar los multiplicadores de Lagrange nuevos cortes, y resolver el nuevo problema relajado. Definición 5.9: Dado un corte ax cardinal del conjunto de variables Definición 5.10: Dada soporte ~x 5 { 5 b, se flama densidad x 1 a la condición ax 5 de] ¿ox-te al O * b a reforzar, y una cbndición , se llama potencial de la condición soporte o del conjunto de variables < x 1 a * O y a ~ O Observación condición a 5.5: Dada una condición a reforzar, soporte cada una de las al cardinal se puede utilizar condiciones anteriormente como identificadas. Para ello se van eligiendo las condiciones soporte en orden decreciente en cuanto a su potencial. 127 u • En los pasos 2 Capítulo 5. Reforzamiento • y 4 del algoritmo utilizando en principio calculado cuanto se puede incrementar descritas en este único corte se trata de cortes de reforzar un una sola condición cada vez como soporte. capítulo, reforzado. se Para cada coeficiente decide ello sustituir se tendrán el corte Una vez actual cuenta las por un siguientes observaciones: Observación exista 5.6: La algún, dique proposición 5.4 puede aplicarse ‘3 ‘3 ‘3 según las técnicas corte en válidos en el caso de que de potencial mayor que uno. En ese caso se utilizará ‘U ‘U ‘U el dique identificado de máximo potencial. Observación coeficiente 5.7; Si no se puede incrementar de la coñdición a reforzar, simultaneamente de un ante la posibilidad de incrementar el coeficiente de una variable presente en el corte variable nueva, preferimos incrementar la densidad del hay indicios de que ese corte más pueda ser soporte o introducir una corte, puesto que más frecuente de otras condiciones tipo cubrimiento y mochila a reforzar. Estudiemos a continuación el problema planteado en la proposición 5.3. ‘3 ‘U ‘3 ‘3 ‘3 Se trata de obtener 1 N R y-i = max donde ax se indica = < ax 1 ax r 1 5 b , x =1, xe<0,l> > b puede ser una condición tipo cubrimiento o tipo mochila según en los pasos anteriores. En todos los casos se verifica la ‘3 ‘3 siguiente proposición: Proposición 5.5: Sea el problema max (P) ay-x axsb N (5.7) ‘3 ‘3 xE{O,1> Sea JI el conjunto de índices 3 tales que x = 1 en el óptimo de CF), y .12 ‘3 128 ‘U ti ¡ • Capítulo 5. Reforzamiento el conjunto de j tales que x índices = O en de cortes el óptimo de yálidos (P J2 = NVII. SeaR rl ,xE<O,1>N > =max<ax/axsb y- 1 Entonces se verifica que R> rl = R Víedí. rl Demostración: Si leil entonces x = 1 en x factible para el problema max < ay-x ¡ ax b 5 solución óptima de (P). Por tantc x es ,x = 1, xe<o,í>N > y si es óptimo para uno de los dos problemas lo es también para el otro. Por tanto Por U . rl rl tanto, según la proposición 5.5, sólo será necesario obte~er rl cuando 1E32. En las dos secciones siguientes se estudiará el probí ~ma de la obtención de R rl y R1 para cada tipo de restricciones soporte y condiciones a reforzar. 523.- REFORZAR RESTRICCIONES TIPO CUBRIMIEN17O. Estudiemos ahora el problema planteado en la proposición caso en el que se pretende reforzar una restricción tipo 5.3, para el cubr ¡miento, problema que puede ser resuelto en tiempo polinomial: Obtener R’ =max<cx/axsb rl donde restricción r c es ax el 5 vector b ,x 1 es =i,xe< 04>N> 1 de de ceros tipo y unos en mochila. (5.8) la función Puede ser objetivo. una La restricción original del problema, es decir, un corte tipo cubrimiento sin reforzar, que denotaremos por x(J ) 5 k , donde .1 es el conjunto de indices de las 1 variables con coeficiente 1 positivo 1 en 129 la restricción, o puede ser una válidos u‘3 (con algún coeficiente entero mayor que uno) que sea ‘3 Capítulo 5. Reforzamiento restricción reforzada válida para el problema, y que denotaremos por xCJ ) 5 de cortes k. Estudiemos cada uno de estos problemas: 5.3.1.— Caso 1: Una restricción tipo cubrimiento Problema: x(i ) 5 k yx(.J) 5k como soporte. Incrementar los coeficientes de la restricción tipo cubrimiento , utilizando como soporte la restricción tipo cubrimiento ,para Jnite 1 y- 1 1 U ‘3 ‘U ‘3 Sea el siguiente problema para cada Ial, donde J = 3W (12) rl = Max <x(Jr ) x(J)1 5k 1 , x ¡ =1, xs<0,1>’~1 > ¡ (5.9) ‘3 y sea el problema general (12) lI=Max<x(d)/x(J)sk y- rl ,xe<o,1>1~’ > 1 (5.10) Proposición 5.6: Sean R y R los valores óptimos de los problemas (5.9) rl rl y (5.10) respectivamente, y sean los siguientes conjuntos de índices; B=Jnj r 1 A=JVI , .11 = conjunto D=J\i , 1 de índices correspondientes r a variables que toman valor 1 en alguna solución óptima de (12), y .12 = conjunto de índices correspondientes ‘3 ‘3 ‘3 a variables que toman valor ‘3 ‘3 O en alguna solución óptima de (12). Entonces se verifica que: a)R= [A[ +Min< k , [H[ > , 11=3 r , ‘3 b)Silei 1~ c) Si lelE) Ry-1 y-~ Ry-1 = [A[ J2=D + Mm < k—1 , [H[ 130 ‘U ‘3 ‘3 u “‘‘-‘st 4 Capítul~o 5. Reforzamiento de cortes ‘álidos Demostración: a) Las variables con índices en el conjunto restricción. Su valor no está restringido valor (i.e. uno intervienen fil VIEA). en la función Las objetivo. A no intervienen y, por tanto, variables Entonces con en la pueden tomar el índices en el mejor en O no de los casos tomarán valor cero (i.e, 1cJ2 VlcD). Las variables de B pertenecen a la función objetivo valor uno y a la restricción. Tomarán el el máximo número permitido: Mm Ademas, como variable cuyo y [H índice óptima (i.e., fil < k [ ¡H¡ , >. son siempre mayor o igual esté en B tomará valor que uno, cualquier uno en alguna solución VIsE). Por tanto: Ry-1= [A[ +Min<k , [B[ >, JI = AuH = .1 y- , y .12 = D b) Si leí = 1 en alguna solución leil. Entonces x 4 y- óptima del problema 1 (12). Esa solución es también óptima para el problema (12), y pcr tanto y-l c) Las rl variables restricción. valor uno. objetivo. con índices en el conjunto Su valor no está restringido A no y, por tanto, intervienen en la pueden tomar el Las variables con índices en O no intervienen en laj función Como lsD, todas las variables con índices en D excepto deben tomar el valor cero. Las variables con índices en E pertenecen a la función objetivo y a la restricción. el máximo número permitido: Mm < k Por tanto —1 , ¡E1 >, tomarán el valor uno ¡ ya que la restricción es de la forma >0 x sk-1. JEJ .3 ¡ J*l Así, rl = jA[ +Min<k1—1 , [E[ > 131 U • Cap itulo 5. Re forzamiento . de cortes válidos Corolario 5.Ca: Se verifica que a) R’ = Rl’ rl b)R’ si l,l’ED ‘3 ‘3 ó< l,l’tD. ti silefly SRI l’~D. rl ti Demostración: El número de variables que toman valor uno en el máximo (y por tanto es el valor de R1 ) [Aj + Mm < k —1 , [H[ > si lcD, y [A¡ Mm + < 1< , [H[ > si u lSD, cantidades ambas independientes de 1. Además Mm { k—l ,[E¡ >sMin<k , [H[ U > El algoritmo de incremento de coeficientes es el siguiente: Algoritmo 5.2: Datos: Indices r e i, los conjuntos J Paso 1: Obtener A, H, D. Paso 2: Sea Si Ry-D 1 ~ ky- Paso 3: Si rl < 1 [H[ , ‘3 ‘3 1 >. STO?. No se puede incrementar ningún coeficieñte. k y- se obtiene una nueva restricción para cada lsD, donde el nuevo coeficiente para x , con lsD, será a Paso 4: Sea Si RA7 = RAE ti J ‘U ‘3 y J , y el coeficiente entero k r [A[ +Min{k—1 rl = ‘3 ‘3 ‘3 ~ k IA[ y- = ky- +Min{k rl — , [Hj >. STOP. No se puede incrementar ningún coeficiente ‘3 ‘3 ‘3 u con índice en J 132 ‘3 u u Capítulo 5. Re forzamiento Paso 5: Si R AB < k y-! se obtiene una nueva restricción para cada Ial , tal y- que el nuevo coeficiente para x ,con íd 1 a’ = 1 ¡ Observación de cortes válidos 5.8: + k — r , será r RAE y-I Cada nueva restricción con un coeficiente incrementado puede sustituir a la restricción original. El algoritmo 5.2 puede mejorarse en caso de contar con un cl [que de potencial mayor que 1, según la siguiente proposición: Proposición 5.7: Si el dique 12 elegido es tal que 3SSC con [5 ¡ y tal que S~AuH, entonces = IA[—ISnA[+ 6 + Mm < k—l . [H¡—¡SnB¡ = jA[—¡SnA[+ ‘5 + Mm < k AB con ‘5 = { 1 O , jH¡—¡SnE[ + + (ha) > y (1—6) si ¡SnA¡ > O en caso contrario Demostración: * x(C) 5 1 x(SnA) * Si + 4 5 1. + 1 variables con índices en A podrán tomar valor~ 1 en el > O ¡ A¡ [SnA j óptimo 1 VSSC. Por tanto si SSAuH se verifica 5 x(SnH) Sr¡A[ Sólo x(S) — de los problemas (5.9) y (5.10>. En ambos casos, tpdas las variables con índices en SnH deben tomar valor O y. por tanto, el número máximo de variables con índices en H que pueden tomar el valorj 1 viene dado por la expresión Mm Mm 1 < k1—1 , [H[—[SnH¡ > para R < k 1 , IHVISnEI > D rl para R 133 AB rl Capítulo 5. Reforzamiento * de cortes válidos = 0 Si [SnA[ Todas las variables con índices en A tomarán valor 1 en el máximo de ambos problemas. Sólo una variable con índice en SnE puede tomar valor 1, y, el número por tanto, máximo de variables con índices en H que pueden tomar el valor 1 viene dado por la expresión Mm < k1—1 , Mm { k [E¡—¡SnH[+ 1 > para RD y-’ AB Observación , ¡B¡—ISnE[+ 1> para Rrl 5.9: Los pueden pertenecer coeficientes simultaneamente U . incrementados con índices en un a una nueva restricción dique que sustituya a la restricción original. 5.3.2.- Caso 2: Una restricción Problema: XCI ) k 5 Incrementar tipo mochila como soporte. los coeficientes de la restricción tipo cubrimiento y- utilizando como soporte la restricción tipo mochila x(J 1 ) con xGI) x =>0 y- JEJ entero Va > 1, , xU) j r 1 ax =>0 jEJ ,donde BJEJ a >1 y a J y Jy-nJ *0. r ri 1 j ¡ JUJ : = 1, xe<o.i>[~’ >, ‘3 ‘3 ‘U ‘3 ‘U k j R’ = Max <xCI ) 1 XCI) s k • x ¡ ~ue jj Sea el siguiente problema para cada Ial, donde J = (CM) tal S ‘U ‘3 ‘3 ‘U (5.11) ‘3 U ‘3 ‘3 y sea el problema general (CM) Sea R = Max <xli >1 x(J) s k , XE<0,1>[~ y-l y1 j .11 el conjunto de índices >. correspondientes toman el valor 1 en una solución óptima de (CM), y .12 Como en el problema anterior, sea E=dni r ¡ , A=J\j D=j\J y- 134 (5.12> a las variables que ‘3 ‘3 JUI. U ‘3 ‘U u 1, 1•• Capítulo Observación (CM) ¡ 5.10: tendrá hipótesis podrá x de Nótese = la 1 que VicA. incrementar ningún sin pérdida Observación BSSC con Sea en cx [Sj>i caso 5 k Si a~a, El y Con R’ sea objeto c La = reducir el computacional, de acuerdo un mochila anticipar coeficiente orden si en en el k cortes de (CM) no y- se válidos y ce cada verifican las procedimiento , de lcy- — ( vector número descrito no = 1 .3 cubrimiento para todo en iteración los ya entonces 1 tal que ). para jal, y yreforzar a c = O .3 será de proceso y con considerar los índices coeficientes de la no este es ningún posteriores, que (5.13> inicialmente 1 .Por > iteraciones interesante ¡A lcd será: 6<0,í>n de mayor c — y- 0. + 1 =1, ~ creciente iteraciones que =k y- A = potencial tipo x que k [A[—[AnSI tal Estableciendo la las 12 axsk, correspondiente, incrementado = es no considerada. que ~ caso a resolver <cx ¡ complejidad tipo k un mochila su con dique restricción Max de este [A[ se considerará un entonces programa (CM ) En si óptima <k,sead=.P\A existe contrario. . y- 5.3. ¡AJ y SCA n~[i[ tanto, de generalidad, 5.11: solución de coeficiente. Encasocontrario,si tanto, Re forzamiento cualquier Por proposición 5. .1 se puede incrementar coeficiente para en restricción orden, posible ello j=1 el podtá n y c1 ser = c .3 (Ver proposición Sea una 5.9). ordenación c es que decir, no situamos forman situamos precederá a los a coeficientes posteriormente, parte índices en el Sc conjunto a 5...Sc primero del de índices los .1 . y- índices Además nueva j en la de la restricción de manera tal que a cubrimiento de .1, .1 (5.14) correspondientes (i.e. r para c = 1 ordenación. tipo índices .3 , en si a variables y a su derecha < a .3 , el indice 1 modo mochila, para los para los índices 135 las D), este independiente De c a se índices en .1 ordenan en los D y, Cap itulo 5. Reforzamiento de cortes válidos Pata cadá binomio compuesto por una restricción tipo cubrimiento y una restricción tipo mochila, se puede efectuar la ordenación (5.14) con el algoritmo Quicksort; su complejidad es O(nlogn). Sea A c el valor de la suma de los i primeros términos de la secuencia a<>.c~a <1) c (2) A A 1 =A =0 1—1 +c a ;es decir: (nl (nl para a (1) (1) i=1,2 n (5.15) o El algoritmo para resolver el problema CM (5.12) una vez determinado el vector A es el siguiente: Algoritmo 5.3: Paso 1: Obtener el valor de a, donde ae<0 cumple: A a n> es el único entero que k < A «+1 5 1 a Paso 2: R = Max <x(J ) 1 x(i y- 1 ~ k ) j ,XE<O,l> = >0 c 3=1 Paso 3: Calcular p ¿ argmax <0, a VjeD> .3 Paso 4: .11 = < (j) : p < j 5 a ‘3 ‘3 ‘3 ‘4 ‘3 ‘U ‘3 ‘U ‘3 ‘3 ‘3 u i2 = i\.J1 El programa mochila a resolver para cada índice 1 tal que (l)Ei2 es el siguiente: = c max>0 + cx LI)> s .a. (CM) 1 J >0 a x 1 EJ\< (¡1> 1 x e<0. 1> 1 5k—a 1 (5.16) (II ViEJ\< (1)> 136 ‘3 ‘3 ‘3 ‘U ‘U ‘3 u Capítulo 5. Re forzamiento Observación R (1) 5.12: R = para (1)632 tal que c de cortes a . LI) Cl) = c válidos a para Cf> Cf) (f)eJl. El 1, una algoritmo para resolver vez determinado (5.15), para i = 1,2 el el programa vector A, mochila donde A es (5.16) para el el valor índice definido en n, es el siguiente: Algoritmo 5.4: Pasa 1: Obtener el valor de a, donde ac<1 n>\<l> es el único entero para el que se cumple: { 1 5k—a <A1 , donde A-« ¡ (1) a A1 = A —ca (1) (1> paral<a (5.17) en otro caso y a.í «+2 Paso 2: Calcular R ‘~ para 1 < « (1) (J) : paraotro en l=«+l caso. (1) <~> (5.18) , tal que a >0c.> si l<a (5.19) 1=1 >0 c<.>+ c<> en otro caso. I=1 Paso 3: c CI) Observación mochila = c CI) + max <0, k 5.13: (5.16) Puesto para cada — RLI» que sólo índice es 1 condición dada en la observación 5.12, la siguiente manera: 137 tal necesario que resolver (1)632 y no el problema verifica la el algoritmo puede simplificarse de Capitulo Paso 1: Obtener el valor de a, 5. Reforzamiento donde ae<l de cortes válidos n>\<l> es el . único ‘3 ‘4 entero para el que se cumple: 1 5.k—a A—a 1 1 = <A’ donde a’ (1) A- c Cl> a Cl) A1 =A -a ~ y para 1 = «+1 A ‘4 ‘3 en otro caso. puesto que 1< a y leiz implica 1< p. Proposición 5.8: La complejidad del algoritmo 5.4 para resolver el programa mochila (5.16) es 0(logn). Demostración: Determinar realizar el mediante valor una de a y con búsqueda ello binaria el valor similar a de la R<’>, se puede utilizada en 5.14: El algoritmo 5.4 obtiene el coeficiente reformado reemplaza al coeficiente c j en la condición cubrimiento cx Dado el incremento ordenamiento en orden ya no iteración j c l=n+I—j Cl) con iteraciones proposición etapas, para no es ningún Por dirección j+l n se efectúa índice (n),(n—1) de y (p), (p—l) (1), p = argmax <0,a VjeD>. 138 de que la si en a en ~ 1, donde las (Ver incremento cuyos indices están fijada iteraciones correspondiente = cCl) proceso de que es que incrementado a los índices en D. En ambos la variable (p+l) coeficiente para el las ser c ky- 5 anticipar el podrá primero para aquellas variables el puede incrementar = tanto, comenzando se coeficiente q las correspondientes proceso, y creciente, posible posteriores 5.9). (5.14), el u algoritmo Quicksort y. por tanto, con complejidad O(logn). Observación ‘3 en dos en 3 casos, y luego durante se mueve p es tal en u ‘3 ‘3 ‘U ‘U ‘3 ‘U ‘U ‘U el la que ‘U ‘3 ‘3 1] Capítulo 5. Re forzamiento Proposición 5.9: Sean * (1) (n+1—j> correspondientes a las variables iteraciones y q y R~~> j q>j * Sean RCI) programas y (p) de cortes (n+1—q) = válidos los ‘índices que se fuerzan a tomar el valor 1 en las Sa , c respectivamente, y sea a = c para Cp> mochila los valores óptimos de (5.16) correspondientes CI) Cp> la función a las objetivo respectivas de los itera¿ iones j y q. Entonces, resulta que R<~> ~ Demostración: Para la iteración j, =c CI) Para la iteración q, +max>0 cx 1 = c >0 max + Ip) l I6J\<C 3)> cx II IEJ\<Cp)> s. a. s. a. >0 5k—a ax 1 >0 (1) IEJ\< VieJ\<(l)> (5.20) 5k-a I I lEJ\ <(1) x 6<0,1> ax 1 Cp) Cp> > x 6<0,1> Vial\<(p)> (CM1) (Ch~ p Los posibles casos son los siguientes: 1. x<> = 1 en la solución óptima de (CM1) a. x = (5.20). 1 en la solución óptima de (CM ) (5.20). (1) p Todas las variables que en (CM ) toman el valor uno también p lo pueden tomar en (CM ), puesto que tienen la misma holgura en b. X() = restricción tipo mochila y mismo el en la función objetivo para (CM ) y (CM ). Por coeficiente tanto R<>’> la p = 1 Rl». O en la solución óptima de (CM ). 1’ Puesto que x<> = 1 en el óptimo de (CM ) entonces 3f 139 = p Capítulo 5. Reforzamiento tal que x • que = <1) 1 Vi~1 = f de cortes válidos de (CM ). en el óptimo Puesto p O en el óptimo de (CM) entonces f < 1, y además • p es posible que haya un conjunto de variables, sea para fi> 7 a a 5 (f) 5 a CI> • ~ , que que, en tomen el valor 1. Por tanto, CI) R<’> ya caso contrario, x no CI> hubiera tomado el valor cero en la solución óptima para (CM ). p 2. x<~ = O en la solución óptima para (CM). a. x 1 en la solución óptima de (CM ). En este caso = (1) p R<’> — o la situación es impasible, ya que entonces la solución óptima de (CM ) es factible para (CM) y mejor, en p contradicción con que x U. x ¡ Cp> O en el óptimo de (CM ). = p =0 en la solución óptima de (CM). CI) En este caso, Bf < p talque x~>= 1 óptimo de (CM ). Estas variables Vi = 1 f en el también toman el valor 1 en el la solución óptima de (CM ). p Además, comok variables tantoR Por tanto, del ~roblema (p) i, ~R 1 —a’ ~k Cp) con a Cf) a 5 a 5 <1) —a 1 , (3) Cl> al menos una de las tomará el valor Por CI) el número de variables con valor 1 en la solución óptima méchilá’ asociádo a la iteración q, nunca será inferior que el número correspondiente para el problema asociado a la iteración Corolario 1. 5.8a: Si Rl’> = k y- , resulta que RCP> ~ k j. U y- en la hipótesis ‘U contemplada en la proposición 5.6. 140 ‘U ‘3 ‘U u • • , 4’ Capítulo 5. Re forzamiento de cortes válidos Demostración: Trivial. La U descripción restricción tipo del algoritmo cubrimiento cx de incremento k 5 dada la de coeficientes restricción de tipo la mochila y. ax 5 k es la siguiente: Algoritmo 5.5: Paso 1: Ordenar los coeficientes c a de modo que: .31 cC)a Sc a 5...Sc a CI) C2) C2) (ti> (n) teniendo en c =0. =c Ci> cuenta que (i) precede a (j) si a < a CI> y (.3) Paso 2: Calcular p tal que: p argmax <0, a VjED> .3 = Paso 3: Calcular el vector A, donde A=A 1 ¡—1 + i=1,2 Ci> y n A=0 O Paso 4: Obtener R, .11 y 32 según el algoritmo 5.3. Paso 5: Para cada 1=n+1—j hacer: entonces c a CI) CI) = R c . j iteración (1) = si R; (l)eiI de Proposición n+1—j 5.10: 1,2 n—p, ó ca <1> (1) lo contrario R~1> mientras (i.e., — c a en 1e32 y Cf> < k donde para (f)eil, 3(f)eil tal que a ), ejecutar el algoritmo 5.4. Cf> Cf> Paso 6: Para cada iteración j = = , = n—p+1,n—p+2 n, mientras R<1>< 1: r donde ejecutar el algoritmo 5.4. La complejidad del 141 algoritmo 5.5 para obtener los u • Capítulo 5. Reforzamiento de cortes válidos coeficientes c Vjei es 0(nlogn). Demostración: El pá~o 1 ejecuta el algoritmo Quicksort y, por tanto, tiene complejidad 0(nlogn), el paso 2 tiene complejidad •0(logn), el paso 3 tiene complejidad los 0(n) O(nlogn) pues y el paso algoritmo 4 4.4 y 5 se conjuntamente ejecuta n veces tienen en complejidad el peor de casos. los U Observación paso 4 del 5.15: (l>e32 para todo l=n+1—j donde j=n—p+l, n—p-*2 algoritmo 4.3. Por tanto el Paso 6 n. Ver queda simlSlificado al no necesitar analizar si (l)sJl. Observación 5.16: Cada ejecución del algoritmo 5.4 en los pasos 4 y 5 para la iteración j Observación y actualiza el coeficiente cC> para 1 = 5.17: a c (l)sJl ó c a = CI) CI) c para Cf> Cf) (f)eil entonces de coeficientes logrado por el algoritmo 5.5 puede mejorarse en caso de contar con un dique 12 de potencial mayor que 1, tal que ordenación a en = 5 (5.14) mm no < 3S~C [5 [>1 y teniendo a ¿ icS aparezcan iteraciones con >, en sólo variable x en En . cuenta ese la caso variable se x efectua tal , la que de forma que el resto de las variables con indices la ordenación. De esta forma se realizan las correspondientes correspondientes SSJ a todas las variables, a índices ieS con i*j. Para estos por la variable x J ‘4 U ‘3 u u CI) 5.18: El incremento u n+l—j. =c+max{0,k-R>. CI) Observación Si ‘3 ‘3 U ‘3 índices excepto las se sustituye la ‘4 ‘3 U ‘3 y se comienza de nuevo el algoritmo. 1 Observación 5.19: Cada dique sustituye la a restricción 12 en .1 puede producir SOP dada cx ~ k y- ), en una condición la que se (que pueden incrementar, simultaneamente, todos los coeficientes correspondientes a variables que formen parte del dique y que individualmente puedan ser incrementados. 142 ‘U U ‘U ‘3 U U u • • : .t Capítulo 5. Reforzamiento de cortes válidos 5.4.- REFORZAR RESTRICCIONES TIPO MOCHILA. 5.4.1.— Caso 1: Una restricción tipo cubrimiento como soporte. Problema: x(i ) Incrementar k 5 y. los utilizando coeficientes como de soporte la la restricción restricción tipo tipo mochila cubrimiento y- x(i) sk 1 ,con =>0 x(J) r 1 ax 1.3 x(i) , 163 yVj6J , 3jei y. y. x =>0 1 ,donde .3 a .3 ~ 1 y entero 1 tal que a > 1, .1 ni *0. .3 y-! Sea el siguiente problema para cada Ial, donde J R1rl = Max {x(J y- ) 1 x(J 1 ) 5k 1 (MC)¡ x , = .1 rl u.! =1, xe<0,1>’~’ >, ¡ (5.21) 1 y sea el problema general (MC) R Sea Ji el conjunto rl = Max <XCI y- ) 1 x(i 1 ) de 5 k índices x6<O,1>’~’ >. , 1 correspondientes (5.22) a las toman el valor 1 en una solución óptima de (MC), y J2 = variables J\J1. que Sean los conjuntos H=ini y- Observación , 1 A=IÑJ D=i\J , 1 y. 5.20: Nótese que cualquier solución óptima de (MC) y de cada (MC 1) tendrá x1 = 1 VkA. Por tanto, >0 si a k no se verifican las JEA hipótesis de la proposición 5.3. En este caso el procedimiento descrito no podrá incrementar ningún coeficiente. En caso contrario , sea J = J\A , k = y. pérdida de generalidad, Observación se considerará que A 5.21: Si existe un dique k — y. >0 a . Por tanto, sin .3 lEA = 0. 12 de potencial mayor que 1, tal que 143 j 3S~C, con [S¡ > 1 y SCA, eñtoticesk k = - >0 yJ 1 max < a — , .3 > jES u .J\A. = Sea n~¡J[ cero en ax 5 k c~c, y sea a un vector de componente i—ésima a caso y- . contrario. La restricción tipo mochila a si ial 1 , y y- reforzar será n “U Sea una ordenación en el conjunto de Indices .1, tal que ‘3 R =Max<ax¡cxsk ca Cl> es decir, (1> ~c a> ~c _ (2) (2) • 1 =1,xe<0,1> a (ti) situamos primero los índices en orden no creciente x 3’ (5.23) <n> correspondientes de sus coeficientes y- a 1 y, a las variables en a su derecha, situamos (en cualquier orden) los índices en D. La descripción restricción cx ‘U El ~Yrograma mochila a resolver para todo í¿i será: (MC) .1 a JEA\5 5 tipo del álgoritmo mochila ax s de 1<y. incremento dada la de c¿eficientes restricción tipo de la u u u cubrimiento k es la siguiente: Algoritmo 5.6: Paso 1: Ordenar los cóeficientes c a de modo que .31 c<a ~c a k a a 1=1 . CI> Si Rs ~ k PARAR. No se puede incrementar y-I ningún coeficiente. Paso 3: Sea c Paso 4: .11 .12 = { u -~ E Paso 2: Sea R= rl ~ = w. Calcular p (j) : 1 5 j < p U) : 1 5 j s k = argmin c VjcDu<n+1> 1 si p 5 k < ‘U u ‘U en otro caso “U = J\.J1 144 u ‘3 ti k Paso 5:R y-1 =Za CI> J=1 Paso 6: Para cada iteración j = 1 n—p+1, donde 1 = n—p+2 = c = n+1—j hacer: (1> R =R y.’ Paso 7: Para cada iteración j = * n+1—j hacer: si (lkil 6 c a (1) CI) * mientras R<1> < 1< donde y- n, a para (f)cJl entonces R~1~= R Cf) Cf) rl en caso contrario ( i.e., (l)eJ2 y [3(f)eJl t.q. cha> = c a Cf> ir) k —1 entoncesR CI) >0 aC> .1=1 Observación 5.22: coeficiente a para 1 (1) a <1> =a Observación que en dique Cada CI> = Se cada iteración se reordenan 12 CI> iteración j del algoritmo 5.6 actua iza el n+1—j, de forma que +max<0,k-Ry. 5.23: a aplica la CI> > observación j correspondiente los índices de 5.18 del a un forma apartado SÁ .2, índice que no 1 perteneci ~nte aparezcan en tal al la ordenación los índices ieC, i*l 5.4.2.— Caso 2: Otra restricción tipo mochila como soporte. Sea el vector x de variables 0—1, y sean las condiciones reforzadas ax y- 5 b (5.24) ax 5 b (5.25) y donde a ~ O y a Ej JI ~ O Vjal y enteros, son los elementos de los 145 ‘ectores Capítulo 5. Reforzamiento a y a, respectivamenté, tal que BgeJ y- con a y- yb>Oyb de cortes > 1. Ms.! y.g con a 1 ‘U válidos if > 1, y >0. Se propone a continuación un método de incremento de los coeficientes de la restrición tipo mochila (5.24) de manera que la condición resultante ‘U ‘U ‘U sea equivalente a la inicial y más fuerte. Para cada variable x, lel, se define el siguiente programa 0—1: (MM ): =ay-1 +max R >0 ‘4 ‘4 ax s.a. >0 ax 1.3 .3 sb—a 1 II 1, xc <0,1> 1 Es decir, izquierda de Vj*l (5.26) 1 es el máximo valor que puede tomar el término de la R r,I (5.24), si x es una solución factible para la restricción ‘4 ‘U ‘3 (5.25), tal que x 1= 1. ‘3 Por tanto; la nueva restricción (reforzada) será ay-xsb donde los elementos y-j rJ { (5.27) ~ del vector ay-1 • y-., a+ max si j*l R <O,b producirá no 5.25: sólo Dado un dique sobre el .i (5.28) > sí j=l y-,~ — Observación 5.24: Puede ocurrir que a Observación ‘U tienen la expreston: a Mi y a rl Cc.! tal que = coeficiente O de ~ 1. lsC, la variable el x incremento , sino se sobre ‘3 ‘3 ‘U coeficientes correspondientes a variables en el dique 12. 146 Mi ‘4 ti • Dado un dique 12, Capítulo 5. Reforzamiento para cada variable x1, IEC, de cortes vtlidos se define el si.~uiente programa 0—1: 1 (MM ): >0 +max =a r,C,i r,C,I jEJ\< 1 >~ ~ s. a. >0 ax JEJ\<I> Sb-a ~ > x= 1, x j 1 = II O VjeC\<l} x e<0,1> .3 (5.29) Vjei\C Por tanto, la nueva restricción (reforzada) será ax y- 5 donde los elementos a b (5.30) VjeJ del vector a tienen la expresión: y. ay-.3 { :~+ sijgC max <0,b -R~ y- y-,C,I si jEC (5.31) .1 Observación 5.26: Para unas restricciones dadas r e i, y para un dique 12, el programa hecho, xp = (MMv (5.29) r,C,I ) y se repite (MM” ) [C¡ veces únicamente con pequeñas modificaciones. se diferencian en que se De impone 1 para (MM~y-,C,I ) y x q= 1 para (MM”y.,C,I ) para p,qeC. Observación 5.27: Para la resolución del problema (5.26) y (5.29) ~e puede utilizar el algoritmo para optimización del problema de la mochila descrito en Martello y Toth (1984), (1990). 5.4.3.— Caso 3: Misma restricción como soporte Sea el siguiente problema para el índice pEC. como un caso particular del problema (5.29), 147 Capítulo 5. Refor±amtento de cortes válidos u1 u (S):R~ =max<ax/axsb.x P Una vez obtenido R~, problema para obtener R” los coeficientes ciertas del no siempre con p*q. , vector circunstancias =1,xe{O,l>ti> P a. es (5.32) necesario resolver Sea la ordenación no Entonces es posible sin resolver el nuevo problema, un nuevo decreciente determinar ~ de bajo para q > p, una vez obtenido PP. (Ver proposiciones 5.11 y 5.12). Observación 5.28: ~ < q si a,5 aq. Proposición valor 5.11: Sea R~ el óptimo de (5 determinar el valor de R~ para q > p con q sC • • Entonces: Caso 1: x = o (5.32). ) Se ,p e 12 p en la solución óptima x~ ,x(C p p u, del problema (5 con valor P óptimoR~.Siademás entonces R” + 0s5~a R~ = sb—R~, —a ‘5 len la solución óptima x~ de(S) = 9 ,con valor óptimo R~. p Entonces R9 ~ PP Demostracion: Caso 1: x O en el óptimo x~ para (5 ). 9 p Dada una solución factible para el problema (5 ) ~aP sea Nac.l el , P conjunto de Entonces, p E índices tales correspondientes • N a las solución óptima para a) 2<p = E ,q p <s que leN Ni 3, si p variables que . y sólo donde N , p a es si x el toman P ap = 1 de valor uno el conjunto en x ~. p O en el óptimo para (Sq)• * Entonces p EN, ‘4 ‘4 ‘U “U ‘4 ‘3 ‘U ap índices en ‘3 ‘3 de si. ) q Caso 2: x trata p - Mi la ‘4 ‘4 ‘U * ~E . Como Os 148 ‘55 b — R~ por hipótesis, ‘U ‘4 Ii Capítulo 5. Reforzamiento N x a = q a N * p =1 — + <p> VieN .. <q> es tal que la solucion x a de cortes válidos con a qj x u E ¡ u • ~ a Vi~Nia J 3 9 Veamos es factible para el problema(s). q que esta solución función objetivo es ax a es con x , óptima a para (5 ). con p ~ Ni’ a Si no es óptima es porque 3 N’* N 9 9 + Ni’ 9 <p> para el problema (5 ) (a p <q> — proporciona s a ) p la , q e N’ que , 9 proporciona una solución factible, tal que ax’ > axt En este caso, en 1. = 9 9 una solución ractible y con mejor valor en la función q objetivo que el proporcionado por Ni * , en contradición con que Ni * 3, 3, proporcionaba el valor óptimo. Por tanto la solución dada por Na es óptima, Nia ¡ 3 ¡ 3 Su valor 9 = PP — a 3, b)x + a = PP 9 =lenelóptimox Esto significa tanto, +~ 4 = 9 N y 9 c.q.d. “para(S). que ~ es una solución factible para (5 ). pl y, por si es óptima para un problema también lo es para >el otro. * Pero eso contradice la hipótesis de que x = O en el óptimo para (5 ). Por tanto es imposible. 3, E u E ¡ Caso 2: x * = 1 en el óptimo para (5 ). 9 a) x p• — 3, 1 en el óptimo x * para (5 9). Si R” < R9 entonces la solución x = que la solución óptima 2<” para mejor. 149 no es óptima para (5 ), ya p (5 9 ) es factible para (5 3, ) y • Capitulo 5. Reforzamiento PP Si — > R” entonces la solución x de cortes válidos para (5 ) j no es óptima por q ‘U una razón análoga. Por tanto j = * b)x=Oenelóptimox para(S). *9 9 Si ~ PP entonces la solución x no es óptima para (5 ), 9 que la solución ¿ptiina para (5) es factible para (5) y mejor. — 3, Por tanto R9 ya ~ PP. U PP = b entonces no es necesario resolver el problema para ningún q tal que x = 1 Corolario 5.lOa: Supuestas las hipótesis de la proposición 5.11, si 9 en el óptimo para (5 3, ). Demostración: Estamos en las hipótesis del caso 2 de la proposición 5.11. PortantoR~~R3,=b. por tanto ComoelproblemaesunS5P,R95bVq~R9=by no se podrá incrementar su coeficiente a resolver explícitamente el problema. Proposición determinar 5.12: Sea R» el Entonces R” . Así, no es necesario 9 valor óptimo de el valor de R9 para q > p, con p.q a—a •<b—R3,. 93, = PP + E U (5) (5.32). Se trata 12 x(C) s 1, y 0 5 ‘5 de ~. Demostración: Dado que p,q E 12 entonces: En el óptimo para(S) p x * =1* x 3, por tanto =0 9 En el óptimo para (5 qq ) x • =1* Se verifican * x *p =0 + las hipótesis proposición 5.11 y, por tanto, 1?” = PP ‘U ‘U •150 ‘5. } del apartado a) del caso 1 de la ‘U u “U ‘U ‘U ‘U ‘U ‘4 ‘3 ‘3 ‘U u ‘U ‘U u u Capítulo 5. Reforzamiento Observación 5.29: Sea JIci el conjunto de índices de cortes válidos <1> tal que x 1 en una solución óptima para el problema (S):RMax<ax/axsb,xe<O,1? Se verifica entonces que R R = (5.33) > Vpeil. p Observación 5.30: Para la resolución del problema (5.32) y (5.33) se puede utilizar el algoritmo para optimización del problema SSP descr ito en Martello y Toth (1988), (1990). 5.5.- IDENTIFICACION DE CLIQUES MAXIMALES. Problema: Dada una condición tipo mochila Sax jEJ ~b (5.34) ~ identificar todos los diques maximales inducidos por ella. Sea una ordenación en el conjunto de índices 3, con na [3, a Cl) a. Para cada índice j ~ij)= mm E Cn> < 1 n < k 1 lsk=n , a .3 + tal que sb (5.35) se define ak > b , con jtk > (5.36) n+1, en otro caso Obviamente si ~«j) = n+1. la variable x no * * trivial implicado por ~ij) n+1), el conjunto 12(j) Proposición 5.13: Sean la = E i.j condición .3 no pertenece (5.34). En a ningún dique otro caso, (i.e., <j> u { k ¡ k ~ ~«j)> define un dliquei < 1 n ~(j) n+l. Entonces (b)~«i)=7(j)siysólosia+a j ?CI>—1 sb. 151 > dos índices tales que < j y Capítulo 5. Reforzamiento Mi Mi ‘3 de cortes válidos Demostración: Ver Dietrich, Escudero, Garín y Férez (1993). 1 A partir de este resultado es posible obtener todos los diques u. maximales inducidos por la condición (5.34) sin repeticiones. ‘3 ‘3 Algoritmo 5.7: Paso 1: Ordenar lós coeficientes de la condición mochila en orden no decreciente, de modo que a =...Sa Sa (1) (2> a sb Ci,) Mi ‘3 ‘U Paso 2: Calcular r(n) según la expresión (5.36). Sea h Si h = mm < n, 2(n) > n PARAR. No existe ningún dique no trivial inducido por = + la condición mochila dada. Paso 3: Sea g = mm < k ¡ hsksn, ak Paso 4: Se define el dique 12(h) <h> u { k /k ~ g Paso 5: Si g = ah> b } > h+1 PARAR. Se han identificado todos los diques maximales. = En caso contrario hacer h Paso6:Sig=h+1 ó a +a 1’ Paso 7: Hacer g = = ‘3 h+l. sbiralpaso4. u g—1 g—1 e ir al paso 6. 5.6.- EJEMPLO ILUSTRATIVO. Sea el grafo dirigido O precedencias 1’ (11,11) = tal y II es cerrado transitivamente de nudo auxiliar, (V,A) de la figura 5.1, y sea el digrafo de que <(5,6),(6,7),(7,S),(7,4),(4,2)j10,8)> (ver figura 5.2). El nudo 1 hace y, por tanto, (l,vÑfl VvcV. 152 S TI las veces ‘3 ‘3 ‘3 u ‘3 u u u 1 E 1 E ¡ ¡ 1 ¡ Cap itulo 5. Re forzamiento de cortes aálidos u ¡ 1 ¡ 1 ¡ ¡ ¡ 1 ¡ 1 u Figura 5.1 TI 77¾ clausura transitiva de 4-~ 2 10—4 8 Figura 5.2 La arborescencia de mínimo peso en el graf o G es: 1 — 8 9 —e 10 2 —.43—e 11 4—~ 5 L—* 7 La precedencia 6 (58) es violada por esta solución. Se obtiene asj el corte de tipo 1; x 89 +x 910 +x 102 23 +x 311 +x +x 114 153 46 +x 46 +x 47 s6 (5.37) 2 CapItulo 5. Reforzamiento Para la precedencia (5,6), también violada, se de tipo 2: x 18 +x 89 +x 910 +x Siguiendo el por tanto, corte se (5.37) resuelve el habría como introduce el multiplicadores de nuevo +~ +x 23 +x 311 +x 114 el algoritmo 5.1, utilizando los 102 que tratar soporte. corte (538) Lagrange problema 46 obtiene +x 46 caso cuya el corte no solución cortes, la se siguiente arborescencia: 6 La precedencia (5,2) es violada por esta solución. Se obtiene así el corte de tipo 2: x 23 +x +x 311 como existe k = 114 +x +x 46 4 tal que +x 46 47 5—* 6— 53 (5.39) 7—.* 4—* 2 en TI, se verifican las hipótesis del corolario 4.la. Se obtiene así el corte reforzado x 23 +x +x 311 114 +x +x 46 +x 46 52 (5.40) 47 89 +x 910 (5.41) En este caso el corte obtenido es un dique. (5.37) utilizando como soporte el corte (5.40). Siguiendo el algoritmo 5.2, D R’= , [A[ 3 , [Ej [A¡ +Min<k, = 9 , k = 2 [E¡ >=5<6 • k = VlsJ 154 6 Intentemos reforzar Mi Mi ‘U a u u u u ‘U u La precedencia (10,8), también violada, proporciona el corte de tipo 1 x u u u y, de estimar dos es (5.38) es posible, Después a estos corte (5.38) +x 47 57 sin reforzar. correspondientes válidos el siguiente de reforzar En este relajado, de cortes 9 el corte ‘U ‘U ‘Mi ‘3 u u ¡ • Capítulo 5. Reforzamiento Se obtiene de cortes válidos así el corte reforzado tipo mochila (incrementando coeficientes en las variables del dique (5.41), según la observación 5.6) 2x 89 +2x El corte corte 311 +,c 114 +x 45 +x (5.38), de tipo cubrimiento, como soporte el +x ¡02 +x 23 +x 910 el cubrimiento (5.42), +x 46 47 s6 (5.42) no se podía reforzar ut ¡lizando (5.37). En cambio, si utilizamos como soporte reforzamiento del corte (5.37), que es una cóndición mochila, y se aplica el algoritmo 5.5, Paso 0: [A[ 1 4k y. = k = 1 - = 6 Paso 1: Se ordenan los coeficientes, de forma que (6)=46 Paso 2: p (7)=47 Paso3:A=O 0 5 Paso 4: A6 (9)=910 O = A (8)=89 =5 5 ki < A7 A=1 1 A=2 2 A=3 3 A=4 4 A A A =9 A =6 6 4 a = 7 =7 8 9 =11 6. Según el algortimo 5.3 se obtiene: R=6 32 = <(7), (8). (9) Paso 5: Aplicando el algoritmo 5.4 para 1 a R<~ =>0c 1=1 (1) +c = (9) y 1 = (8) se obtiene 415<6k y. (8) R =5<6 Portantoa’ =c C9> +(6—5)=2,a’ C9> =c (8) (8) Por otra parte, R (7) =R (6) =R CS> =R Obteniéndose el corte (tipo (4) =R (3> =R mochila) 155 C2) =R Cl) reforzado =6~k siguiente y(incrementando ‘3 coeficientes en las variables del dique (5.41)) x 18 +2x +2x 89 +x 910 Intentemos +x ¡02 ahora +x 23 +x 311 reforzar +x 114 +x 46 la condición +x 46 mochila s7 (5.43) 47 (5.43) utilizando u el cubrimiento (5.40) como soporte (algoritmo 5.6). Paso O: A 18, 89, 910, 102> = < .1 J\A = k , = k y. — a 6 < 7 = = k Por tanto .3EA~ 1 = 6 >0 . y. Paso 1: Se ordenan los coeficientes, de forma que (1) = 23 (2) = 311 (5) = 46 (6) = 47 Páso2:R 1 = y-l ~ k (3> = 114 (4) = 45 y- Por tanto no se puede incrementar ningún coeficiente. Sin embargo, utilizando la restricción tipo dique (5.41) según la observación 5.21, el paso O pasa a ser Paso 0: .1 = J\A YportantoR y-! , k r = =1<k k y. - 2 - 2 = 3 y- Así, aplicando el algoritmo, se obtiene la siguiente condición reforzada, x 18 +3x 89 +3x 910 +x 102 +x 23 +x 311 +x +x 114 46 +x 46 +x 47 57 (5.44) que sustituye a la condición tipo mochila (5.43). Estimando calculando la los multiplicadores solución del de Lagrange nuevo problema de todos estos relajado se cortes y obtiene la óptima del arborescencia 1 5 que no 6—* 7 viola ninguna 4 10—.4 2— restricción 8 9 3—* 11 y es, por tanto, problema. 156 la solución ‘U ‘U Mi ‘U ‘U ‘U ‘3 ‘U ‘3 ‘U ‘U ‘U ‘U ‘U u u Apéndice 1 Descomposición de Benders 1.- INTRODUCCION E u u En la práctica, lineal son actuales. las dimensiones de muchos problemas de progr’amación demasiado El tipo grandes para técnica desarrollada de ser resueltos por con Benders los ordénadores (1962) permite resolver problemas de grandes dimensiones en aquellos cajos en los que se pueda identificar un de condiciones gran dificultad. Para conjunto de conjunto ello condiciones se utilizará (denominadas cuya cierta resolución dualización condiciones estructura general no va a ser explotada. Sea el siguiente problema (P) de programación lineal: * z mm cx s. a. Ax xeX = b = { x : Dx 5 d, x ~ O > 157 no ofrezca del difíciles) otro cuya Apendice 1. donde c es condiciones, el b vector de d correspondientes y los vector de variables, que X es un dondiciones coeficientes, A Descomposición y D términos son las de Benders matrices independientes todos ellos con las dimensiones apropiadas. conjunto difíciles, no y vacío y X el acotado. conjunto Sea Ax de soluciones = b el y x de el Se supone sistema U U ‘U de que puede obtenerse U de forma simple, bien porque está definido por subsistemas independientes con dimensiones relativamente pequeñas, o existen algoritmos polinomiales para su obtención, o cualqúier otra razón que perniita su consideración de forma explícita. 2.- ESQUEMA GENERAL EN LA DESCOMPOSICION DE BENDERS. Sea CD) el problema dual del problema (F): - z=maxwb+vd s.a. wA + vD U ‘U ‘U ‘U Sc vSO donde w y y son vectores de variables con las dimensiones apropiadas. ‘U ?ara una realización del vertor w, sea el problema (D) : z w = wb +max vd s.a. yO c—wA 5 vsO U ‘U ‘U Por tanto el problema CD) se puede escribir de la forma siguiente: = max z = max wb +max vd s.a. vD 5 c—wA v50 Utilizando argumentos simples de teoría siguiente formulación para el problema CD): * z = max wb lin (c-wA)x de la dualidad, resulta la U u XEX 158 ‘3 U u E • Apendice 1. Descomposición de Benders Dado que el conjunto X es no vacio y acotado, resulta (c—wA)x ¡ xEX > para un w dado es un punto óptimo para el problema < mm extremo de X. Sea T = x, < que él punto x,. . . ,x el conjunto > (finito) de’ puntos extremos de X. Por tanto el problema (D) se puede reescribir como + * z y, = en max wb w forma mm < .3=1,2,. explícita, ..t el (c—wA)x problema (D) es equivalente al denominado Problema Maestro (PM) max z s. a. z 5 wb + Vj (c—wA)x = .3 donde z es la variable a maximizar. . Sea (z ,w * su correspondieñie ) valor óptimo. Dado que el número grande no sería de puntos extremos de X puede ser finitamente t práctica la resolución explícita del problema (PM). Sin embargo, empíricamente se observa que una gran mayoría de las condiciones en S~ (PM) se de satisfacen puntos suficientes con desigualdad extremos para resolver relajado tal cuyas el estricta. Así, correspondientes problema; es existe condiciones decir, existe un conjunto en (PM) son un problema * , maestro considerando un que subconjunto obtiene de el mismo condiciones vector (i.e., puntos óptimo (z ,w extremos) del problema maestro. Sea (PMR) una relajación de este tipo para un número determinado, sea t, de puntos extremos en max z s.a. z ~ wb + (c—wA)x Vj = 1,2,..., t , t 5 .1 Sea (z,w) la correspondiente solución óptima. 159 t u • • . • Apendice 1. Descomposición de Benders 11 1 ‘U Observación 1: z es un límite superior para z. — * Observación 2: z z si y sólo si (z,w) satisface también las condiciones = en • (PM) que explícitamente no se han incluido en (PMR). Observación 3: z u < z si hay alguna condición en (PM) y, obviamente, no ‘U en (PMR) que sea violada por el vector (z,w). Para comprobar que todas las condiciones en (PM) son satisfechas por el vector (z,w), es decir, para comprobar la condición o su equivalente z 5 wb z 5 wb + + Cc—wA)x mm Vj =1,2 t < (c—wA)x > .1=1 t U ‘U ‘U es preciso resolver el siguiente problema auxiliar (PA): = wb + mm ‘U < (c—wA)x > xEX donde x recoge el punto extremo correspondiente a la condición en (PM) con U el menór valor en el témino de la derecha. Sea dicho valor z, tal que si U z = E~•• entonces E + = zi En casó contrario (i.e., z > z óptimo x en (PA), sea x z s wb (c—wA)k , ) al menos el punto corresponde a una condición violada en (PM), sea que kes preciso añadir a (PMR). U k Dado que iterativamente t es un . número finito, el algoritmo que consiste en resolver los problemas (PMR) aumentado y (PA> converge en un número finito de iteraciones. Observación 4: Aunque se añade una condición al problema (PMR) en cada iteración, sería fácil instrumentar un esquema en él que se eliminasen condiciones que de una forma repetida sean fuertemente satisfechas, evitando siempre el problema del zig—zag. Observación 5: Dada la estructura de las condiciones que definen 160 u ‘U el conjunto X, un paso crucial en los algoritmos basados en la descomposición de Henders es la rapidez con la cual debe resolverse el problema (PA). ‘3 ‘U ‘U ‘3 u u Apendice 1. Descomposición de Benders 3.- VARIABLES DUALES EN EL PROBLEMA MAESTRO RELAJADO. El problema (PMR) puede también expresarse de la forma siguiente: max wO s.a. donde O + + 5 z w(Ax -b) z j es Vj=1,2 el vector Vj cx nulo, y el 1,2 = punto t , t s t extremo x .3 se supone ‘:onocido t Algebraicamente, el problema puede escribirse como { max (0, 1> W] s. a. ( J{ (Ax-b) t .3 wtj 5 .3 Sea (PDMR) el problema dual de (PMR), con la siguiente expresión: z = mm >0 .3 (cx )X .3.3 s. a. I donde 1 variable x Ax-b ]A= es un dual vector lo] de unos y de la condición A es el vector dual en (PMR) correspondiente tal que XI es la al punto ktremo .3 El sistema de condiciones en (PDMR) también puede expresarse a mo >0(Ax)X .3.3 .3 >0A =1 A ~O .3 bEA =b .3 .3 Vj = 1,2 t de donde resulta 161 u Apendice 1. Descomposición de Benders 1 u = >0 mm .3 ‘3 c(xA) .3.3 u s.a; .3 A ~ Cx A) >0X =1 Cuando U = E se tiene que el vector que da la solución óptima del , problema dual al (PM), y por tanto vector x resultante en X activos la solución al problema original, es el de la combinación lineal de los puntos extremos x1 en el (PMR), tal que los coeficientes de ponderación ‘U ‘U U son los valores de las variables duales de las condiciones del (PMR). Así, en general se verifica que ~ ;, con = ~ la solución óptima para el problema , .3 _ original se alcanza cuando z * = z z, en el punto X = >0 .3 Finalmenté, descomposición es de oportuno Henders destacar es que la independientemente en Dantzig y MTolfe (1960). el P u x A .3.3 esquema descomposición ‘U primal de la introducida U U u u u ‘U u 162 ‘U u u REFERENCIAS R. Aboudi, A. Hallefjord and K. Jornsten relaxation technique to an constraints, Euro pean Jourrial (1991), A facet generatior assignment of problem Operational and with Research, side 50, Pp. flowsJ en: 335—344. R.K. Ahuja, T.L. Magnanti Optimization, G.L. and J.E. Nemhauser, Orlin (1989), A.H.G. Nietwork Rinnooy—Kan and M.J. Todd, eds., Niorth—Holland, Amsterdam, Pp. 211—369. R.K. Ahuja, T.L. Magnanti and JE. Orlin, (1993), Network Flows: Theory, Algorithms and Applications, Prentice Hall, Englewood Cliffs, NY:. N. Ascheuer, L.F. Escudero, M. Grñtschel and M. Stoer (1993), Plane Approach Applications to to Job the Sequential Scheduling in Ordering A Cdtting Problem Manufacturing), SIAM (MTith J~ on Optimization, 3, Pp. 25-42. E. Balas, M. Fischetti Precedence—constrained and W.R. Asymmetric Pulleyblank Traveling (1994), Salesman The Polytope Management Science Report MSRR-582, Graduate School of Indu~trial Administration, Carnegie Mellon University, Pittsburg, PA. (Aceptado para publicación en Mathematical Programming). i.F. Henders (1962), Partitioning Procedures for Solving Mixed Variables Programming Problems, Numerische Methamatik, 4, Pp. 238—252. D.P. Hertsekas (1982), Constrained Optimization aná Lagrange Multipliers methods, Academic Press, NY. D.P. Bertsekas (1991), Linear Network Optimization, MIT Press, Cambridge, MA. G.H. Dantzig, D.R. Fulkerson and S.M. Johnson (1954), Solution of a Large—Scale Traveling Salesman Problem, Operations Research 2, Pp. 393—410. G.B. Dantzig and P MTolfe (1960), A decomposition programs, Operations Research 8, pp. 101—111. 163 principle for Jinear • H.L. Dietrich and L.F. Inequalities, Escudero European (1992), Journal On of Tightening Operational uu Referencias Cover Induced Research, 60, (1993), 0(n) Pp. 335—343. H.L. Dietrich, L.F. Procedures - Extensions Escudero, for of • A. Identifying C¿nsecutive Garín and Maximal G. Pérez Cliques Minimál Covers and and Nion—Dominated Altérnates, Top, 1, PP. 139-160. i. Édmoñds (1967), Optimum Hranching, Journal of Research of the National Bureau of Standards B—71, Pp. 223-240. L.F. EscSudero (1988a), An Inexáct Algorithm for the Sequential Ordering l4oblem, Euro pean Journal of Óperational Research, 37, Pp. 236-253. L.F. Escudero (1988b), On the Implementation Im~irovin~ a Solution to the de Investigación Sequential of an Algorithm Ordering Problem, for in FMS, Annais of 3 L.F. Escudero and A. for Finding a U ‘U ‘4 Trabajos Operativa. 3, Pp. 117—140. L.F. Escuderci (1989), A Production Planning Problem Operations Research, 17, Pp. 69-104. u u Sciomachen (1993a), A 0(n ) Appr~oximate Algárithm Feasible Solution for the Sequential Ordering Problern. Journai. of Combinatorics, Information and System Sciences, u ‘4 ‘3 (ácepfádo para publicación). L.F: Escudero Impr5ving - and • A. Sciomachén Féasible Solutions (1993b). Local Search to Sequential the Procedures Ordering for Problem, Annais of Operations Research, 43, Pp. 397-416. 3, . • Fischetti and P. Toth (1993), An Efficient Algorithm for the Min—Sum Arborescence Problem on Complete Digraphs, ORSA Journal on Computing. 5, Pp. 426—434. M.L. Fisher (1981), The Lagrangian relaxation method for solving integer pr¿gramming problems, Management Science, 27, Pp. 1-18. L.R. Ford and D.R. Fulkerson (1956). Maximal Flow Thouáh a Nétwork, Canadian Journal of Mathefnatics 8, Pp. 399—404. L.R. Fotd and D.R. Fulkerson (1962), • Flows in Networks, Princeton University Press, Princeton, NJ. G. Gallo and 5. Pallottino (1988), Shortest Operations Research, 13, Pp. 3-79. 164 Path Algorithms, Annals of u‘4 ‘U u u Referencias M.R. Garey and D.S. Johnson (1979), Computers and Intractabtlity: A Guide to the Theory of NP—Completeness, Freeman, San Francisqo. A.M. Geoffrion (1974), Lagrangian Relaxation and its Uses in Integer Programming, Math. Programmtng Study, 2, PP. 82—114. A.V. Goldberg and R.E. Tarjan (1988), A New Approach to the Maximum Flow Problein, Journa¿ of ACM, 35, pp. 921-940. M. Grbtschel (1977), Polyedrische Optimierungsproblem, M. Gr6tschel, for Charakterisierungen Kombinatorischer Hain, Meisenheim am Clan, Germany. M. Junger and G. Reinelt (1984), A Cutting Plane Algorithm the Linear Ordering Problem, Operations Research, 32! PP. 1195—1220. M. Gr5tschel, L. Lovasz and A. Schrijver (1988), Geometric Algorithms ¡ and Combinatorial Optimization, Springer—Verlag, Herlin. M. Grdtschel and Travelling M. Guignard 0. Holland Salesman and s. (1991), Problern, Kim 1987), Solution of Mathematical Lagrangean Large—scale Symmetric Programming Decomposition: Sil PP. A kodel Yielding Stronger Lagrangean Eounds, Mathematical Programmtng 39, Pp. 215—228. ¡ M. HeId and R.M. Karp (1970), The Traveling Salesman Problem and Minimum Spanning Trees, Operations Research, 18, Pp. 1138—1162. M. Reíd and R.M. Karp (1971), The Traveling Salesman Problem and Minimum Spanning Trees: Part II, Mathematical Programming, 1, pp. 6—25~ M. Held, P. MTolfe and H.P. Crowder (1974), Validation of Subgradient Optimization, Mathematical Programming, 6, Pp. 62—68. P.C. Kanellakis Asymmetric and C.C. Travelling Papadimitriou Salesman (1978), Problem, Local Search Operations for the Research, 26, Pp. 1086—1098. N. Karmarkar (1984), A New Polynomial Time Algorithm for Linear Programming, Combinatorica, 4, Pp. 375—395. L.G. Khachian (1979), A Polinomial Algorithm in Linear Programming, Soviet Mathematícs Doklady 20, Pp. 191-194. i.H. Kruskal (1956), On the Shortest Spanning Subtree of a Graph and the Traveling Salesman Problem, Mathematical Society 7, Pp. 48-50. 165 ?roceedings of the American u Referencias E.L. Lawler, J.K. Lenstra, A.H.G. Rinnoy Kan and D.E. Shmoys, eds. (1985) The Traveling Salesman optimization, 5. ?roblem. A guided tour of combinatorial J. Wiley, NY. Martello and P. • Toth (1984), A Mixture of • Óynamic Programming and Eranch—arid—bound for the Subset Suin>Problem, Management Science, U ‘U ‘U 30, Pp. 765—771. 5. Martello and P. Toth (1988), A New Algorithm for the 0—1 Knapsack Problem, Management Science, 34, pp. 633—644. 5. Martello and P. Toth (1990), Computer Implementations, IB. Orlin (1993), A Faster Ktiapsack Problems: Algorithms ‘4 and 3. MTiley, NY. Polynomial Minimum Cost Flow Algorithm, Operations Research, 4, Pp. 338-350. M. Padberg and M. Gróúchel (198S), Polyhedral Computations, en: E.L. Lawler, J.K.< Lenstra, A.H.G: Rinndóy~-Kan and D.B. Shmoys, eds., The Traveling ?roblem. • Salesman optimization, A gúided tour of combinatorial .1. Wiley, pp. 251—360. M.W. Padberg and M.R~ Rao (1982), Odd Minimúm Cut—Sets and b—Matchings, Mathemati&s of Operations Research ‘7, pp. 67-80. M.MT. Padberg Minimum and G. Rinaldi (1990), An Efficient Capacity Cut Problem, M¿thernatical Algorithm for the ‘U Programming 47, Pp. 19-36. M.W. Padbé0g and O. Rinaldi (1991), A Hranch—and—cut Algorithm for the Resulution of Large—scale Symmetric Salesman Problems, JAM Reyiew 33, pfr 60—100. C.H. Papadimitriou and 1<. Steiglitz (1982), Combinatortal Algorithnís and Cornplexíty, Prentice-Hall, C.R. Reeves (1993), Modérn heuristic Optimizátion: NY. techniques Problems, Hlackwell Scientific Publications, Oxford. for Combinatorial ‘4 ‘U ‘U ‘3 u 166 ‘4 u pv