Obtención de todos los circuitos elementales de coste cero en un

Anuncio
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.
Descargar