Ingeniería en Tecnologías de la Información y Comunicaciones

Problema de flujo a coste mínimo.Sea G = (V,A) un grafo con dos vértices fijos, s el nodo fuente y t el nodo destino. Cada arco (i,j) A tiene asociada una capacidad k y un coste por unidad de flujo que circula
ij

por cada arco c . Sea
ij

la cantidad de flujo demandada desde el nodo t, para ser

servida desde el nodo s. Entonces podemos plantear el problema de flujo a coste mínimo en los siguientes términos: enviar unidades de flujodesde el nodo s al nodo t de G = (V,A) con el patrón de flujo cuyo coste asociado sea el mínimo, satisfaciendo las restricciones de capacidad y conservación en los nodos V {s,t}. En este caso el patrón de flujo f de ser tal que :

Red residual.La red residual R(f) correspondiente a un flujo f se define como sigue: Reemplazamos cada arco (i,j) A por dos arcos (i,j) y (j,i). El arco (i,j) tiene un coste c y una capacidad
ij

residual de r = k
ij ji ij

ij

f , y el arco (j,i) tiene un coste de c = -c y una capacidad residual de
ij ji ij

r = f . En la red residual se consideran sólo los arcos con capacidad positiva. Algoritmo de Busacker. El algoritmo de Busacker y Gowen (1961) intenta enviar las unidades de flujo de s a t eligiendo en cada iteración el camino de mínimo coste de s a t, que envía un flujo igual al cuello de botella del camino. El algoritmo termina cuando se han enviado las unidades de flujo, o no hay camino de s a t. En este último caso el problema no tiene solución. Denotamos: CT = coste total del camino que envía las unidades CC = coste del camino mínimo que se calcula en cada iteración. Sea G = (V,A) un grafo dado, y s y t dos vértices fijados a priori.
1

i Paso 4: Si ..t.t y asignar a i CC el coste de tal camino. En otro caso de que no exista tal camino.. Paso 6: Asignar CT = CT + * CC.> 0 entonces asignar En otro caso hacer = .i = . Hacer = e i = t e ir al Paso 3.Predi + c i.. y almacenarlo en Pred i = s.i y para aquellos arcos tales que r i = 0 entonces c Predi. Paso 5: Si i = s. parar puesto que no existe solución factible.i Predi.y buscar un nuevo camino de coste mínimo de s a t pero con los nuevos costes asignados a los arcos. hacer i = t e ir al Paso 4. no hay solución factible. Paso 3: Si i = s.i .i * Predi.Predi =r i... Si no existe tal camino Parar. i. Hacer i = Pred y repetir el paso 3. ir al Paso 6.. En otro caso . En otro caso.Ingeniería en Tecnologías de la Información y Comunicaciones Paso 1: Asignar CT = 0. Almacenarlo en Pred i = s. Sea = e i = t.> 0 hacer = . si > r entonces = r Predi.. y asignar Paso 2: Buscar el camino mínimo de s a t en la red incremental usando el algoritmo de Ford. i Asignar a CC el coste de tal camino . 2 .c Predi.r Predi. Si .i * Predi. r =r . Construir la red incremental de G. Hacer i = Pred y repetir el Paso 5.i * = ...Predi =.

3 .Ingeniería en Tecnologías de la Información y Comunicaciones Si - 0. parar hemos encontrado el camino de flujo a coste mínimo.