ESTADISTICA ESPAÑOLA Núm. 104, 1984, págs. 49 a 70 Obtenc ión de todos los circu itos elementale s de coste cero en un grafo aumentador de flujo ópti mo por NICOS CHRISTOFIDES Department of Managernent Science Imperial College London University por VICENTE VALLS VERDEJO Departamento de Estad^stica e Investigacidn Operativa Universidad de Valencia RESUMEN E1 método propuesto por Christofides y Valls (1982) para hallar todas las soluciones óptimas de ios problemas de flujos en redes, requiere obtener todos !os circuitos elementales de coste cera y longitud mayor que dos cie una sucesión de grafos aumentadores de flujo óptimos. EI propósita de este trabajo es proporcionar un método eficaz para !a obtención de tales circuitos. f'^r^uhrc^s^ c•lc^^•^: Flujos en redes; circuitos elementales; camir^as más cortos. 1. INTRODUCCION Sea G= (V, A) una red conexa, donde V es el conjunto cie vértices y A es el conjunta de las aristds, siendo ^ V ^_^^^ y ^ A ^= r^ . Consíderamos el problema de hallar el (.^^ - t) tlujo de valor ^ y casto mínimo mín ^. = c•_^^ SO ESTADtSTiCA ESPAIVOLA s.^a: F si i - .^^ ^'X - L.^ X. _ -F sii - t 1^ .Í ^^ 1 U SI l E V-- t.S, t} (P) 0 5 X;^ _ < u;^ (i, j^ E A donde u^; y F son números enteros y c;1 son números reales. Asociado a cada solución posible X de P se define el grafo G(X} _( V, A(X)), llamado el grafo aumentador de flujo asociado a X, del siguiente modo A(X) = A,(X) ^ A2(X) donde A ^ (X) _ { (i, .! ) l (i, j ) E A y X^^ < ^^ ^^ } siendo la capacidad y el costo de la arista u,^ E A, (X) l!`^J ^ l^V - X^.1 C'^^l = C;Í y donde A2(X) - { ^, I)/(!, f) E A y x;f > o} siendo u' - X Íi ^,i y c^' _- c ^i ^j En el casa en que X sea una solución óptima de P, diremos que G(X) es un grafo aurnentador de t^ujo óptimo. El método propuesto por Christofides y Valls ( 1982) para hallar todas las soluciones óptimas de los problemas de flujos en redes, requiere obtener todos los circuitos elementales de coste cero y longitud mayor que dos de una sucesián de grafos aumentadores de Flujo óptimos. EI objetivo de este trabaLjo es proporcionar un método eficaz para la abtención de tales circuitos. 2. NOTACION Y DEFINICIONES PREVIAS La terminología y notación usadas en este trabajo serán las de Christofides (1975). OBTENCION DF TODOti LOS CIRCIJiTOS EL.EMENTALES DE C'OSTE CERO 51 Si en G(X) existen las aristas ^^ ^^ y ct^; , diremos que una arista es imagen de la otra. Se dice que un circuito C de G(X) es propio si no contiene a la vez a una arista y a s u i magen . Sea C un circuito propio de G{X). C define un ciclo C. en G al considerar V{C,) = = V(C) y como aristas de C. las aristas de G que dan lugar a ias aristas de C. A C. se le llama el equiva^ente de C en G. Sea X una solucián posible del problema P. Sea C un circuito propio en G(X). Definimos ^C = X+ a_ ,C, donde por ^ ,C denotaremos al vector ^ A ^-dimensional (... ^^C ^. ..), donde ^C ^^ es la componente ij del vector orientación O(C. > inducido por C sobre C^, y donde h es un número real. Entonces diremos que ^ ha sido obtenida de X circulando ^ unidades de ílujo a través de C. Evidentemente, si 0^ ^. < r^' (C), ^C es también una solución posible de P. Si P es una cadena, entonces 1{P) designará la longitud de P. Este trabajo est,á basado en la aplicación repetida y de una manera eficaz de una especialización del Algoritmo Primal del Simplex a la resolución de problemas de flujos en redes y, en particular, del problema de la arborescencia de carninos de mínimo costo. Para cualquier aclaración sobre esta especialización se puede consultar Kennington y Helgason (1980). Las variables duales serán representadas por ^,^^ y los costes reducidos por ^.k - c•k. 3. METOD(^LOG lA DEL ALGORITMO A partir del grafo aumentador de ^lujo óptirno G(X) y del número real E, 4< ^ < E^ se define el ,g,rafo G^(X), que coincide con G(^C) salvo en el valor n+1 de los costos de las aristas. El nuevo costo es: c• ^= c•^^ -^ . De esta forma, el problema de hallar todos los circuitos elementales de coste cero en G(X) es equivalente a hallar todos los circuitos de coste negativo en GE {X). Es conocido, ver por ejemplo Jensen y Barnes (1980), que el Algoritmo Principal del Simplex puede ser especializado para resolver el problema de la arborescencia de caminas de coste mínimo (problema a.c.c.m.), detectando además este algoritmo la existencia de circuitos de coste negativo si los hubiera. Para poder hallar cualquier circuito de coste negativo de GE (X) por medio de este método es necesario que exista en G£ (X) un vértice, tal que cualquier otro vértice es ESTAUIS^CICA E,SPAÑC)LA ^sccesihle en G^^ (X) desde él, EI sumidero r es un tal vértice siempre que todo vértice de G^ea accesihle en G desde ef vértice fuente .^ (Christofides, 197.5). Ahora bien, esta última condición se puede presuponer en toda red en la cual se vaya a calcular el (.^ - t), flujo de valor F y coste mínimo, pues si un vértice no es accesible desde s, no influye en la solución del problema y puede ser eliminado de la red. Veamos cómo podemos usar el mencionado algoritmo (al que denominaremos Algoritmo Básico) que resuelve el problema de la arborescencia de caminos de coste rninimo con origen el vértice t, para hallar de un modo ebcaz los elementos de ^, es decir, todos los circuitos elementdles de coste negativo y longitud mayor que dos de G s (X). Supongamos que hemos aplicado el Algoritmo Básico a G^ (X) y hemos hallado el circuito elementai de coste negativo C, C, = ^ '^j [I ^ 1' ^ . . . 1' ^ I _ Il/ ; I ^'.I con ^-, > 2. Entonces los conjuntos ó;^^ ={circuitos en ^ que no contienen a la arista cc;l} Q'^^-1 ^{circuitos en ó que contienen a c1r y no a c1; _ 1} E ^ .......................................................................... á;={ circuitos en ó que contienen a c^; ^, u; E_ 1, .,., u á pero no a u; } constituyen una partición de: ó-{C^ }. Supongamos ahora que hemos hallado un elemento C2 = t^ó u ^ ^ ' ^ ... ^,?2 _ t u;2 ^ ^ ^ de ó r E. Entonces los conj untos `^ _ { elementos de ó ^^ que no contienen a u? 2} ° r2 ^2 or2_ ^{efementos de ó^ que contienen a u?2 pero no a c^?2_ E} t ............................................................................... á;={ elementos de ó' ^r que contienen a u?2, c^? 2_ 1, . .., c^ ; pe ro no a c^ ;} constituyen una partición de Q;1 -{ Cz} . Por tanto, los conjuntos ^2 {C,} , {C`} • ^2 ^: ^^ ^i C r2• O/2- ^+ ..., O ^ • O /^- I• ^/'E-^2 ♦ ..., Gi ^) constituyen una partición de ó. Actuando de una manera análoga en cada uno de los subconjuntos de la partición de ó, Ilegaremos a obtener todos los circuitos de coste negativo y longitud mayor que dos de G^ (X). (}BTENC'IC)N I)E=. "CODC)s LOS CIR<'tT1TOs ELEMENTAC.E-.S DE: CU5TE: C'ERC) 53 Est^^ metodologi^i puecie ser representada por un á rbol, al que Ilamaremc^s árhol de húsqued^: de circuitos, tal como se muestra en 1a figura 1. Ubservamos que hay tres clases de circuitos en ^: ^l^ E1 circuito C,. h^ Circuitos de Tipo l: Son aquellos que se obtienen imponiendo la condición de que una serie c1e aristas no permanezcan at circuito. cl^ Circuitos de Tipo Il: Son aquellos que para su obtención se impone que al menos una arista pertenezca al circuito y se excluye la pertenencia de otras aristas. La estrdtegia del Algoritmo que proponemos será generar primero C, y los circuitos cie Tipo 1 y después, los ci rcuitos de Tipo 1 I. 4. OBTENCION DE C, Y DE TODOS LOS CIRCUITOS DE TIFO 1 Algunas de las siguientes proposiciones son presentadas sin demostración por no presentar esta excesiva dificult^ad. El lector interesado en ellas puede consultar Valls (19^1). f'rc^^^c^.S•tt`i^ín 4.1 Sea B una base posible del problema a.c.c.m. en G^ (X) y T su árbol con raíz asociado. Sea i un vértice de GE {X) y P el único (r - i1 camino en T. Entonces ^t•E = c'' (P) - i (P)E f rv^c^.S^tcrcín 4 .2 Sea B una base posible del problema a.c.c.m. en C,E{X), Sea T el árbol con raíz asociado. Sea Ck e1 ciclo fundamental definido por la arista no básica rl k en T y consideremos en Ck la orientación opuesta a la de uk . Entonces, el costo reducido de la arista u k viene dado por ^,k - C'k = C'' (Ck) - ^ Uh(Ck)E ahErlfCkl E^:STAUISTICA ESPAh1()[_A C^ _ ^^,^ u^t•^u; . «: = la arista u^ pertenece al circuito ^ ^^' = la arista c^1 no pertenece a{ circuito i X= este elemento de 1a partici8n de C es vacio Fig. OHTE:NC'ION DE TC)DOS 1_OS C'[RCUITOS ELFMFN'TAI.E:S DE C'OS"TF C`ERO SS ^^t' l)1O.1^ ll'(1 C'lO /t Sea (/ ^ = I ^. .^ 1- Entonces , , ^ ` ('^ --_ ^ t'f j ^, t.F, ^ t'E ^ 'f. Sea P^ el único ^t - j^-camino en T y P, el único (t - i^-camino en T. Por la proposici ón a nte rior: ^^ '^ = c' ( P^ )- 1( P^ )E , ^^• F= c^' ( P; )-!( P; )E , por !o que: ^' k - c•^ _ (c•' ( p^ ) - ^ ( p^ ) E ) - (^•' ( p^ ) - / ( p; }^ ) - ^^• f^ - E ) = (c''(P^;) - c'' (Pr) - c•U) - (1(P ) - l(P,) - 1)E Sea /r el último vértice común a P^ y P;. Entonces, f'^ = Prh - P^, donde Pr^ es !a (r - lr ) secci ón de P^ y P,^ es !a (J1 - j) sección de P^' y análogamente para P;, P; ^ Pfn • Phr, por tanto :^ - c•^ _ (c'^(P,^^) + c•'(Pn;) - I 1(P,^^ ) + -- ( c''(P^^^) 1(P^^.i) - (l(Prh) + 1(Pa;)) -- + 1^E = c''(P^r^)) ` c`í^l Ic'^ (Pn^) - c'^ (Pn^) - (',^1 - ^ l (P^1,) - )( ph;) - 1 j E ^. ^ t•' (^ ^ ) - ^ ^ `^ (Ck )E uhEA(Ckl t'ru>>u.^^ic'i^^rt ^.3 Sea B una base posible del problema a.c.c.m. en G^(X) y T su árbol con raiz asociado. Sea c^ una arista básica y c^' su arista imagen. Entonces, el coste reducido de t^ ' e s 2E . f'ru^^u.^^ic^i^^ ^t 4.^ Sea B una base posible del problema d.c.c.m. en G^(X) y T su árbof con raíz asociddo. Sea c^ ^ una arista no básica que define el ciclo fundarrzental C^ . Entances, C^ es un circuito de coste negativo sii el coste reducido de u k es 1(Ck )E . Uc'^rrus^ti-crc•i^^rt Sea ^t^ = (i, j^. Para que el ciclo fundamental C,^ definido por c^k sea un circuito es condición necesaria y suficiente que j sea un vértice del único (t - i ^-camino que hay en T. E=.STA[)lSTIC`A E Sf'ANC)[,A E1 costo de Ck en G(X) es nulo: c^` (C^) __ ^. C'on^,ideremos en Ck la orient^ción 0,, (C,^ ) ^- - ] , «,, ^ A ( C,^ ). Por tanto, aplicando la opuetit^ ^^ la cie cc ^ . Fntonces, proposición 4.2 )l E = I ( C k)E ^ 'k u^^AIC^ ^ Consideremos en Ck ]a orientación opuesta a la de c^ k. Por la proposición 4.2 :. ^ - c• ^ = c•' (C k ) - ^ 0 ^ (C k )E uhEAlCk t Por hi pótesis, .- k -- c-^ _ ] f C ^. ) E . Como, 2 < ] (C,^ ) <_ rT ] n + ] implica que 1 2£ < ] (Ck)E < rt ^ + ] por lo que, c•' (Ck )= 0 pues c•' (Ck ) es un número entero. Del hecho de que ^ ^^ ^Ck ) ^ ] (Ck ^ uh+^A(Ckl se dedUCe qUe Oh(Ck) - l para tocUO u h E A(Ck ) , por 10 qUe Ck es Un CIrCUltO. Por tanto, Ck es un circuito de coste negativo en G^(X). Teniendo en cuenta que el circuito elementaf de coste negativo que detecta el Algoritmo Básico es el circuito fundamental asociado a la últirna arista no básica que ha entrado en la base, y que los circuitos de longitud dos son los formados por una arista y su imagen, tenemos que las propasiciones 4.3 y 4.4 indican la manera de evitar que el Algoritmo Básico al ser aplicada a G^ (X), detecie un circuito de coste negativo y ]ongitud dos. Basia con cambiar la^ regla de entrada usual del Algoritmo Primal del Simplex por la siguiente Rc^,^,^/cr c/c^ E^rtruclci ^1^lclc^itic•uclu: «Cualquier arista no básica u^ de coste reducido positivo es candidata a entrar en la base salvo si dicho coste reducido es 2^ y cc^ es la imagen de una arista básica.» Ofi-TFNCIt)N C)E: iODOS 1_OS CIRCUITC)S FLE MENTAI^I:✓ S i)F COSTi: C'E;RO 57 Ucj/iitic•i^íit -i.S Diremos que una tabla del simplex es 2E-óptima si el coste reducido de cualquier arista es o bien no positivo o bien igual a 2E cuando la arista no básica es imagen de una arista básica. Ct^^^tc^rttt^rit^ 4.b Toda tabla óptima es una tabla 2E-óptima. AI Algoritmo Básico con esta Regla de Entrada Modificada y con la Regla de Parada Modificada: «Terminar cuando se obtenga una tabla 2^E-óptima», le Ilamaremos Algoritmo Básico Modificado. El circuito de Tipo i, C^, j^ = l, 2, . .., !t, del árbol de búsqueda de circuitos de la figura 1, se puede obtener aplicando el Algoritmo Básico Modificado al grafo ii^ (X ) - { rr'r,, rl^ri , . . . , t1 r^ n- _1I^ Esta generación de circuitos de Tipo 1 se prosigue hasta que el Algoritmo Básico Modificado no detecta más circuitos de coste negativo por haber obtenido una tabla 2^E-óptima. Este proceso de obtención de circuitos de Tipo 1 puede ser acelerado por medio de una adecuada elección de aristas tl ^. Supongamos que hemos obtenido C^ al aplicar el Algoritmo Básico Mad ificado al grafo ^i^ (X) - {u r^, tl?=, ..., cl ^ - I I} P . Cp ha sido detectado porque, al realizar la última iteración del simplex, la arista t^k ha entrado en la base B, cuyo árbol con raíz asociado es T. Pero T es una arborescencia con raíz t en G^(X) - {tl^r^ , 112r2 , (1 p - 1 I r^_ I por lo que también lo será en el grafo C^l^(X) -- {tl^ r,, t12, . r2 Si hacemos =[Ik , tlP P ., l! ^-I+, tJ k} B ser^ una base posible inicial para el Algoritrn^o Básico Modifi- cado aplicado a CI^(X) " { Cl,^, t1 ^, ..., tl^ ^[I, Cl ^^ P ESTADISTICA ESPAÑOLA SR Así pues, sólo cu^^ndo se apl ica e! Algcaritmo Básico Modificado a G^ ( X), hdy que hal lar una solución posible básica inicial. En tas siguientes aplicdciones de dicho Algoritmo, !a última tabla básica de! simplex que dio lugar a la detección de CP, sirve como tabta básica posible inicia! pard detectar Cp+ ^. La única diferencia es que la nueva tabla del simplex tiene una columna menos: l..a correspondiente a la arista c^^^. Fijémenos también que en los sucesivos gratos ^r^ ( X) - { rl;^ , ct2=, ll pn } se cumple que todo vértice es accesible desde e! vértice C. Supongamos que, una vez obtenido C,^, el Algoritmo Bdsico Modificado termina por haber detectado una tabla 2E -óptima. Liamaremos G^(X) _ t.',^ (X) - { u;^, u?2, ... , ctt^ ^h Denotaremos por B^ a la base 2E-óptima y pc^r T^ a la arborescencia con raíz t asociada a B^. Si la tabla 2E-óptima es también óptima indica que en G^ (X) no existen circuitos de coste negativo. Si por el contrario, la tabla no es óptima quiere decir que al menos existe un circuito de coste negativo en G^(X). Los siguientes teoremas nos indicarán un modo de obtener los circuitos de coste negativo y longitud mayor que dos de C^^(X), si los hubiere. f'^•u^^ca.^^ic•icí^t 4.7 Sea B una base posibte del problema a.c.c.m. en GE (X). Sea C= ^ •„rt, ^ •, ct, ^ •,, ..., cf^^•,,, con ^•p = ^ ^,,, un circuito en G^ ( X). Entonces, ^ :.t; _ ^.e = _^.^(G) + ^(C^ ^, ^EA^C^ Cut•^^l^tt•ir^ 4.X Sea B una base posible del problema a.c.c.m, en G^tX). Sea C un circuito en GE(X). Entonces, C es de coste negativo sii ^ :.E _ ^.E ^- !(C^ u _ E^ AfCI 08TENCiUN DE TCUI}OS LOS CIRCUITOS EL^MENTALES DE CUSTF CERU S9 TEOREMA 4.9 Sea C un circuito de coste negativo en G^(X). Entonces, el coste ^-educido de cualquier arista de C con respecto a B^ es cfe ta forma k^ , donde ^ Es un número entero. De^rtcastrc^cic^n Sea C= ^•ou', ^•',, ... , u^ ^•q, con ^ •4 = ^ •^. Por ser C un circuito de coste negativo en G£(X): u'{C) = 0. Por lo que ^^ _ c.^ ^ 1(C^ u`:EAfCt r según la Proposición 4.7. Sea P^ el único (t - ^ •^ ^-camino en T^ y C^ el ciclo fundamental defínido por c^;' en T^. En la demostración de la Proposición 4.2 se vio que ^ E .,._ `' i i c•^ (^-,) +(1(P;) - 1(P,+ i) + 1^ Como ^s _ c.E ^ 0 , ^ ó ;^, - c'^^ = 2^ por ser B^ una base ZE -óptima y 1(P^) - 1(P^+ ^) + _ ^n l< ^ rl, c•' (C,) 5 0. Enionces, r=y q (^ £ - c•^1 -^,^E^^c^ ^, c•' (C;) + ^= ^ ^ ( ^ (P;) - ^(Pr+ ^) + l^ = ;-o q = ^, c'' (C;) + 1(C^ = 1(C^ ;>> Por tanto, q ^ c•' (C ^) = o ;^^ con c•' (C^) < 0, i = l , . . . , y tenemos que ESTAD[STIC'A FSPAÑC)L.A lo qué implica que c' (C,) ^ U, número entero, i= l,... , y. ,..., y. Ati pues, ^.^ - c.^ -^^^, donde ^; es un Prc^^c)sic•iún 4.10 Sea ^ un cincuito de costo negativo en G^ (X). Entonces, existe al menos una arista de C que es im^agen de una arista básica. !'ropc^.^ it'itín 4.11 Sea u' una arista imagen de la arista u, ambas pertenecientes a G^(X). Entonces, si c! ^ A(T^) implica que u' E A(T^). f rc1^c),^^r'c•ic^n 4.12 Sea P;^ un ^i -- j>-camino formado por aristas de G^ (X), cuyos costes reducidos, con respecto a B^ , son de la forma ^^E ,^^ entero. Entonces, L... ;.k - c•k - _ ( 1(P^^} + 1(P^) - 1(P^)^E u k^MP;^1 donde P; ( respectivamente, P^) es el único ^t - i1-camino (respectivamente, rt - j), camind en T^ . ^jY l tI ^) .^^ 1 rc! c•iv n Lo demostraremos por inducción sobre el número de aristas de P;^. Supongamos que P^1 tiene una sola arista: P;^ = iuj. En el curso de la demostración de la Proposición 4.2 se vio que ; ^ - c•ú = c•' (Cu) + ( 1(P;) - 1(P^) + 1)E _ Por ser -n < 1{P;) - 1(F^) + 1_< n se cumple que c•' {Cu) = o. Por tanto, la hipótesis de induceión se c^.mple al ser l(P^^) = l. Supongamos que la hipótesis de inducción se cump!° para un número de aristas de Pr^ menor o igual que h-- l. OBTENCCON DE T'©DOS LOS CIRCUITOS ELEMENTALES DE COSTE CERU 6] Sea P;^ = lU, L' ^U21'2, ..., U,,_ ^ ^ ',,_ ^U,,f Descompongamos P;^, según P+.i - P^h- ^ Ph- Ii Entonces, 1(P;^) - 1(P^h- ^) + Como P;h_ ^ tiene ( h -- 1) aristas y por la hipótesis de inducción ^ zk -- c'k =[ l(P;h_ ^) + l(P^) -- 1(Ph-^)]E u k E A(P;h _ 11 Pero, e ., E ^ah -- C Qti = [ 1(Ph_ - 1(P ) + I] E Por tanto, ^ zk - ^k - [ 1(pti->> + a k^A(P^l 1(P^) - 1(Ph_^)]E + + [ 1(Pti- ^) - ^(P ) + l] E = [ 1(P^) + l(P^) - 1(P )] E , TEOREMA 4.13 Sea C= ^'ou ^^•,, ..., u^^^^, ^'o = ^ '^, un circuito de G^(X) tal que el coste reducido de la arista u;, con respecto a la base B^, es k,^ , k; entero, i= 1, .. ., 1. Entonces, C es un circuito de coste negativo. Ue^n^^slruciún Sea r un número entero tal que 0 < r< I. Sea C^, la ( ^ •^ -- ^ ',} seccián de C. Análogamente se define C^r. Aplicando la Proposición 4.12 dos veces ^ ^ k _E C'k^ ^- "k _ t'^^ akeA(CI ^okeA(Corl ^ ^E ..k .E - Ck - akEA/Cr^ ^ _ [ 1(Co, ) + 1(Po) - 1(P,)]E + [ 1(C^) + 1(P,) - 1(P,))E _ _ [ 1(Cn,.1 + 1(C,^>] s = 1(C)E Por tanto, C es de coste negativo. FSTADISTICA ESPAÑOL.A Los Teorem^ati 4.9 y 4.13 demuestran que los circuitos de coste negativo de G^(X) son los circuitos de G^ ( X), tales que los costos reducidos de sus aristas con respecto a I^a hase B^ son de la forma ^^ , donde k es o bien un número entero no positivo o bien 2. Por tanto, se pueden eliminar de G^ (X) todas las aristas cuyo costo reducido respecto a B^ sea menor o igual yue -- 1, sin que quede eliminado con ello ningún circuito de coste negativo. La Proposición 4.10 indica que todo circuito de coste negativo en G^{X) tiene que contener al menos una arista imagen de una arista básica. Por tanto, si Ilamamos GR^ (X) al grafo que se obtiene de G^ (X) al eliminar las aristas de coste reducido menor o igual que - l, el problema de hallar los circuitos elementales de coste negativo y longitud mayor que dos de G^(X), queda reducido al de hallar los circuitos elementales de longitud mayor que dos de CrR^ (X), sabiendo que todo circuito debe contener al menos una arista de coste reducido igual a ZE . De entre todos los dlgori tmos conocidos para generar todos los circuitos elementales de un grafo dirigicio, es el Algoñtmo de Johnson (1975) el más eficiente y el que necesita menos memoria de ordenador para su codificación (Mateti y Deo, 197b), Este algoritmo puede ser especializado, aumentando su eficacia, para hallar todos los circuitos elementos de GR^ (X) ( Valls, 1981). 5. C^BTENCIUN DE I...OS CI RC U ITOS DE Tl PQ I 1 Supongamos que después de haber obtenido el circuito C^,, el Algoritmo Básico Modit^icado termina con una tabla 2E -óptirna, generando a continuación el algoritmo de Johnson especializado los circuitos C,t+ I, .... Cn+^• Entonces, disponemos de la siguiente partición de ^ ^ = { C, y ^^ { C^} ^J . .. ^.J { C^,} ^ { Cl^+ I. . .., C^} ^J ^J ^ ;'l^ - , ^ . . . ,.^ ^ ^, ^J . . . ^J ^', , - ... ^,l ^ ; Se trata ^^hor^^ de ohtener los elementos de cada uno de los conjuntos ^, °rlr-1 ^ ... ^ c ^^ ^ ... ^.^ c^^-I ^ Empecemos hallancio los elernentos de ^h °r/r-i ^i^ ^ ... ^ c ^ Los elementos de L l^ o^ .% - 1, 2 , . . . . ^ ' ^, ^ 1 ^.J ^ ; OBTFNCION DE TC)DOS LOS CIRCUITOS ELEMENTALES DE CUSTE CERO ^3 son los circuiios elementales de coste negativo y longitud mayar que dos del grafo h-i u^h_ ^ } ^^^X^ ^ ^ur^^ u^2, que contienen a las aristas h h r^j+l * Uj+2+ Uh rh pero no a la arista u^. ^C} lo que es lo mismo: Son los circuitos elementales de coste cero y longitud mayor que dos del grafo Hh=G(X)- {u',u2,.. •+ r= r^ U h-!1'I que contienen a las aristas 'h h uj+l+ Uj+Z^ • pero no a la arista u^ . Proposición S.l Sea G un grafo dirigido con costos, que no contiene circuitos de coste negativo. Sea P=^^ou ^^}, ... u k^^k un camino en G. Entonces: Existe un circuito elemental de coste cero en G que contiene a las aristas Uj+^+ uj+2+ •• ., Uk pero no a la arista u j, 0 < j< K sii existe en - ^t'j+ G - ^lljf I, ..., ^'k_ ^ } un (^^k -^^ j^-camino de costo mínimo, de coste igual a - ^ ^ c(u;) ^ =j+ ^ Demostrución Sea C = vjr^ j+ ^,v j+, ... u kvkP un circuito elemental de coste cero en G, que no contie ne a la áris tá u j, 0< j< k. Entonces P es es un ( v k- v)-can^ino de coste i mínimo en G - {uj^ - {vj+^^ . .., v,^-1} pues si no lo fuera, existicía en dicho grafo otro (vk - vj^-camino P`, tal que Ú4 ESTAD[STICA ESPAÑC)LA c•(P' ) ^ c•{P). Si P' no fuera elemental, siempre se podría extraer de él un (vk - v^), camina' elemental P", el iminando ^ de P' los circuitos que formara. Como por hipcitesis, el costo de los circuitos es no negativo, tendríamos que c•(P") S c•(P' ). Pero entonces ^, ^ ^+^ ... Uk ^ ^ k ^ ^ ju j+ ' sería un circuito elen^ental de G de costo negativo, lo cual está excluido por hipótesis. Sea P un (^tk - ^^^}-camino de costo minimo, en . ^ , 1♦ i, . ••'^-^ G -- {u^} de costo igual a Si P no es elemental , podemos extraer de é! un ( ^^k - ^'^), camino elemental de P", eliminando de P todos ios circuitas que contenga, que serán de coste cero por ser P un camino más corto y contener G sólo circuitos de coste no negativo. Entonces: C ^ `;^j+ ^ ^^+^ ... ux''^ , es el circuito buscado. Cv rvlct ri v S.2 ^ ó^, j= l, 2, ..., r,, - 1 es no vacío sii existe en el grafo H^ un ( ^ ` ^ - ^ ^), camino de coste min^mo, de costa igual a h ^ ^ C (Gh^ ^ r=j+ 1 siendo , H^ = ^'^h - {^1^^ ^ - , { t`^+t, ..., t'hh_^} CUIOrUI"%U S,^ SI b^ #^, e Xlste una bi yección entre los elementos de ^" y IOS ( ^ ' ^^ - 1'^ }-caminos elementales de costo minimo de r Hh, j= l, 2, ..., r^, - 1 ^ OBTENCIUN DE TODOS LOS CIRCUITOS ELEMENTA[_ES T)E C+OSTE C'ERO 65 EI Colorario S.2 nos i nd ica un método de obten^ión de elementos de . ^ o^, ^ -- l, 2, ..., rh - 1 Se intenta hallar el ( ^';'h - ^ •^)^amino de coste mínirno en el grafo H^ , pudiendo abtener uno de estos tres resultados: 1. ^ El vértice ^ '^ no es accesible en H^ desde ^ •;h . Entonces ^^ = c^ . 2. El costo del ( ^'hh - ^ •^^-camino de costo rnínimo es mayor que ^h _ ^ t•^uh^ ; ^+i Entonces ^h = c^ . ^ 3. El costo del (^• ^ - ^•^ ^-camino P de costo rnínimo es Entonces: C= R^fa^ ^ ^^^+^ ... a;ti^^';h es un elemento de ^^. Es importante resaltar que para obtener los elementos de b^, j= 1, 2, ..., r,, -- 1 hay que hallar caminos de coste mínimo cuyo origen es siempre ^ •;^ . ^ Veamos cómo se pueden obtener todos los elementos de ^ f, j= 1, ..., rh - 1. Supongamos que disponemos de una arborescencia generadora Th con raíz ^^"ti, en el grafo H^ (ello impl ica que todo vértice de H^ es accesible desde ^•;h^, obtenida, por ejemplo, usando el algoritmo de Dijkstra (1959). Para decidir que ^^ =^ o bien hallar un etemento de ^^ , hay que aplicar el Algoritrno Básico al grafo H^ usando como solución posible básica inicial una arborescencia generadora con raíz ^ ^hh de H^. Como Hh se obtiene de Hh eliminando ciertas aristas podría ocurrir que algunas de esas aristas pertenecieran a Th , con lo que T^ no sería arborescencia generadora de H^ . Para evitar esto, en vez de realmente eliminar dichas aristas, realizamos una operación técnicamente equivalente: Sumar a los costos de las aristas de A(Hh) / A(H'^) una cantidad M, donde M es un número real mayor que cualquier cantidad que pueda obtenerse a! aplicar e1 a^goritmo. Sea H^M el grafo con costos así obtenido. Entonces Th es una arborescencia generadora, con raíz ^ ^,h, en H^M, o lo que es lo mismo, una solución posible básica inicial para apiicar el Algoritmo Básicv en el grafo H^^. ESTADISTICA ESPAl^tOLA Fijémonos que en N,^ ^ todo vértice es accesible desde ^^;'h, por tanto, existe un (^'rti - t'^^, camino de coste minimo en H^ M. Si este camino tiene costo mayor que ^^^u ii i =j + quiere decir que ;^ = c^ . Si el costo es rk - ^ C(U i) i^j+ 1 entonces se ha generado un elemento l^ h ^ 1' h Bh 1 = tlhhhl/h U 1 1 ... hh h^ `1Ú^ l+ 1 ^+ 1' .. U h rh rh de ^^ . EI circuito B" define la siguiente partición de ;^: b^ _{B;} U B^^ U 8^^^^ U... u B^ donde B^ _{circuitos de b^ que no contienen a la arista h^ pero sí a sus posteriores en B; } EI siguiente paso en la obtención de todos los elementos de e^ es analizar el conjunto Bl' . Hay que hallar el ( ^•;y -- ^`^ )-camino de costo mínimo en el grafo H^ -{ h^ ^} o lo q ue es equi valente, hallar el ( ^• ^ - ^•^)-camino de costo mínimo en el grafo que se obtiene de H^^ sumando; M al costo de h^ ^. Prosiguiendo de esta manera se obtienen todos los elementos de ó^. 6. PODA DEL ARBOL DE BUSQUED^A DE CiRCUITOS Tevremu 6.1 Sea G un grafo dirigido con costos que no contiene circuitos de coste negativo y en el que todo vértice es accesible desde el v^rtice s, Sea B una base óptima respecto del problema de hallar la arborescencia de caminos de coste mínimo con origen s. Sea ^` un vértice de G y sea P un (s - ^ •^-camino de coste minimo. Entonces: Si existe otro (s - ^•^-camino elemental de costo minimo distinto de P implica que OIITENCION DE TODUS LOS CIRCUITOS ELEMENTALES DE COSTE CERU Fi7 existe una arista que no pertenece a P ni es imagen de una arista de P, que termina en un vértice de P distinto de s y tal que su costo reducido respecto de B es igual a cero, L^Pmostrucivrr Sea ^= su ^ ^ • ^ ... ^ ' k_ Iuk ^ • un (s - ^ •)-camino elemental de costo mínimo, distinto de P. Sea u^ , t < j s k, la última arista de P no perteneciente a P. Entonces: l. La arista u^ no puede ser imagen de una ar•ista de P, pues éntonces ^ no sería un camino elemental. 2. Por ei mismo motivo, ^ •^ es distinto de s. 3. ^ •^ es un vértice de P y ^ • f_ I no Io es. El costo reducido, con respecto a la base B, de la arista u^ _( ^ ^^_ I, ^ ^^^ tiene que ser no positivo par ser B una base óptima. Si el coste reducido es cero, el teorema está demostrado. Supongamos, por el conirario, que: ^^_ I^ - c•(u^^ < 0. Entonces <'. I^ _ I ^^ - C(u^)_ ^^t' ^ - ^t' ^ _ I -- C ( u ^ ) ^< ^ --. ^^ • f < t^t • ^ _ I -^- C• ( u ^ ) donde K^ h es el valor de la variable dual óptima asociada al vértice /^. Descompongarnos ^ según, ^ = ^,_ I ^ •;_ ^u; ^ ^.; P^,, . Por la definición de u^, ^^,, coincide con la ( ^^ j- v )-sección de P. Entonces, c(^^_ I)> w^_ ^ pues ^^^_ I es el costo de cualquier (s -(j -- 1))-camino de costo mínimo. Así pues _ c(P) = c(P^_ ^) + c•(u^^ + c(Pf^,) >_ w^_ I+ c(P^^) + c•(u^) > w^ + c• ( P^,, )= c( P) lo cual es un absurrio, por ser ambos, P y^(s - ^ •^-caminos de costo mínimo. TEOREMA 6.2 Sea G un grrdfo dirigido con costos que no contiene circuitos de coste negativo y en el que todo vértice es accesible desde el vértice s. Sea B una base óptima respecto del problema de hallar la arborescencia de caminos de costo míni mo con orige n s. ESTADISTICA ESPAI^iOLA Sea ^ • un vértice de G y sea P=.^ ^^''^ rnínimo. ^ • k- i u k ^ . U n(.1^ -` ^') -cami no de CUSte _ k, no existe una _ k, tal que para todo k< j< Supongamos que existe un k. 1<'k < que cumpla las condiciones impuesias en la tesis det teorema 6.1. ^ arista ( r, •1 ^ Entonces, todo ^.ti^ -- ^ ^^-camino elemental de costo minimo contiene a las aristas u-^-, [l^+i• ,.., uk. I^Pif1t).ti lYUCI ^)It Hacemos 1a demostración por reducción a! absurdo. Supongamos que existe un (.^ - ^ •)-camino elernentai P, yue no contiene todas las aristas, u^ , uk+ I,..., u k. Supongamos que u k+h es la última arista de P no contenida en ?5. Sea ( i, ^ ' k♦ h) la única arista de ^ que termina en el vértice ^ '-^+h . Entonces, por un razonarniento análogo al empleado en la demostración del teorema b.l, tenemos que el costc^ reducido de ( r, ^^;^ ♦,,) con respecto a B es nulo. Por otra parte: ^ l. Debido a 1a elección de uk+^, la arista (^, ^ 'k+h) no pertenece a P. 2. Por la rnisma razón ( i, ^ ^ k+h1 no puede ser imagen de una arista de P. 3. Como ^ es mayor o igual q ue 1, ^ ' k+h es distinto de .^ . Así pues ( i. ^'k+h) cumple las condiciones de la tesis del teorema b. l, lo cual cc^ntradice la hipótesis de este teorema. Los teoremas 6.1 y 6.2 nos indican la manera de eliminar ramas del árbol de búsqueda de circuitos de la figura 1. Supongamos que hemos hallado un circuito B^ de ^^ que induce la siguiente partición e^ ^ i a ^ I lJ B^ ^ ^ B^ ^ T i U... ^ B^ Bh define un ( ^ •k - ^ •^ ) camino elemental de P de costo mínimo en H^ M cuyo costo es ^ ^ t•(t^!} r=j+ 1 (^BTENCIO!V DE TOD(US LOS CIRCUITOS ELEMENTALFS DE COSTE CFRC^ b9 Cualquier otro circuito de ^^ estar•á formado por las aristas u^+ I, ..., (^,h y por otro (^^^ - ^ ^ ^-camino elemental de coste mínimo en H^ M. Supongamos que, con respecto a P, existe el í^ a que hace referencia el enunciado del teorema 6.2. Entonces, por dicho teorema y por la definición de los conjuntos B^, i= 1, ..., h, tenemos que B^ -- B^+ ^ - ...- B^^-<Á Todo el proceso desarrollado en las sesiones S y b puede ser aplicado igualmente a la obtención de los elementos de los conjuntos b^, j! l, ..., r^ -- 7. l, i= 1, ..., h. RESUMEN En este trabajo hemos descrito un algoritmo que obtiene todos ios circuitos de coste cero y longitud mayor que dos de un grafo aurnentador de flujo óptimo G(X). Este algoritmo está basado en la aplicación repetida de una versión simplicial del algoritmo que resuelve el problema del camino de coste minimo y del algoritmo de Johnson. Dicho algoritmo ha sido diseñado buscando una máxima efectividad, procurando que la información generada en una fase del algoritmo sea úiil en la fase siguiente. Así se ha realizado la exploración del árbol de búsqueda de circuitos, de forma que la base óptima obtenida al final de una fase sea o genere una solución básica inicial para la fase siguiente (r^eoptimización). También se ha usado la información generada para disminuir el tarnaño del árbol de búsqueda de circuitos, reduciendo asi el tiempo de computación. REFERENCIAS CHRISTOFiDES, N.: C;ruph Theory: An Algorithrnic Approuch. Acadernic Press. London, 19?S. CHRISTOFIDES, N., y VALLS, V.: FindinX ull optimul solutions to network flow prohlerns. Imperial Callege internal report IC-OR-82-14. Sometido a Networks para su publicación, 1982. DUKSTRA, E. W.: «A Note on Twa Prnblems in Connexion with Crraphs^. Numerishe Muthemutik, 1, pp. 2b9-271, 1959. JENSEN, P. A., y BARNES, J. W.: Network flow progrummink. John Wiley & Sons. New York, 1980. JOHN90N, D. B.: «Finding all the Elementary Circuits of a Directed Graph^. Sium J. Comput, 4, pp. 77-84, 1975. KENNINGTON, J. L., y HELGA90N, R. V.: Algorithm^ for Network Proxrumminx. John Wiley 8t Sons. New York, 1980. MATETI, P., y DEO, N.: «On Algorithms for Enumerating all Circuits of a Graph». Siurn J. C'U^^^^^ut, S, pp. 9U-99, 197b. VALLS, V.: Obtenc ión dP tocius Ic,.t soluci^^nes vptimus en los pruhlernus de Jlujos en recles. Tesis doctoral, 1981. !l) l:Sl^A[)ISTIC`A F:SF'A!tiUl_A SU MM.aRY HINUING AC.i_ ELEM^,N"TARY CIRCUITS t)f= lER(:) C'^S'T IN AN UPTIMAL INCREMENTAL CRAt^H. The method given by Christofides and Valls (19K2) for finding all optimal solutians to network flow problems, requieres to generdte all elementdry circuits of Zero cost and length greater than two of d succession of optimal incremental graphs. This paper proposes an ef^cient methocf to get such circuits. f^c^^^ ^^^v ^•cl.^: Network problem; elementary circuit^; shortest path. AMS, 19gU. Subject classification: b8E ll), 94C i 5.