Você está na página 1de 30

INVESTIGACION DE OPERACIONES II

Luis Medina Aquino

El problema del flujo con


costo mnimo
Luis Medina Aquino

Definicin del problema


Definicin del problema: Una red compuesta por n nodos, a los que
se asocia un valor ki que indica el nivel ofertado o demanda por el
nodo i.
Si ki>0, existe una oferta en el nodo i denominndose fuente u origen .
Si ki<0, existe una demanda en el nodo i denotndose por sumidero o destino.
Si ki=0, el nodo i denomina intermedio o de transbordo.

A cada arco (i,j) se asociar una variable xij>= 0 que representa el


flujo que circula por l y un costo unitario de transporte cij.
El flujo est limitado por el limite inferior lij y el limite superior uij.
Todos los nodos tienen que cumplir las leyes de conservacin de
Kirchhoff.
kj
j

xij
cij

Formulacin matemtica del


problema.
La formulacin matemtica del problema de
flujo con costo mnimo queda como:
n

Minimizar

c x
i 1 j 1

s.a.

kD ( j )

ij ij

x jk

i A ( j )

lij xij uij


4

xij k j

j 1, 2,..., n

i, j 1, 2,..., n

Ejemplo:
k1=1

1
1

k4=-3

Minimizar
s.a.

2
3
0

2
3
k3=0

k2=-4

2
-2

k5=6

2 x12 3 x13 x14 2 x23 6 x35 x45 2 x52


x12 x13 x14 1,
x12 x23 x52 4,
x13 x23 x34 x35 0,
x14 x34 x45 3,
x35 x45 x52 6,
0 xij .

Propiedades del problema


El problema puede reescribirse, en forma
matricial, como:
Minimizar

cx

s.a. Ax = k
l xu

Matriz de incidencia, A=[aij], [aij]=ei-ej


y ei es el vector unitario i-simo.
6

Propiedades del problema


Adicionando todas las filas de la matriz A se
tiene que k 0 para que el problema tenga
solucin, es decir las restricciones deben ser
combinaciones lineales; y por consiguiente, el
rango de la matriz A es como mximo rango
(A)<= n-1, donde n define el nmero de nodos
de la red.
n

j 1

Propiedades importantes:
1. El rango de la matriz A es n-1
2. Las soluciones del problema son siempre enteras para valores
de ki enteros.
7

Propiedades del problema


1. El rango de la matriz A es n-1
Tantas columnas como arcos

(i,j)

Dimensiones de A:
nodos (n) x arcos
8

Tantas filas como nodos

aij es la columna de A que corresponde al

arco que une los nodos i y j

ei e j
aij

xij

j
i

xij aparece en la ecuacin del


nodo i con signo + y en la
ecuacin del nodo j con signo -

Ciclos y Dependencia Lineal

Dos teoremas de gran valor para la definicin del algoritmo que permitir
resolver el problema formulado:
Teorema 1. Un conjunto de columnas de la matriz A sern linealmente
dependientes si y solo si existe un ciclo entre sus nodos.
Demostracin: Supongamos un subgrafo del grafo original, cuyos nodos
unidos por arcos definen un ciclo, tal y como se muestra en la siguiente
figura:
i

j
k

l
Asignando una orientacin arbitraria a dicho ciclo, a los arcos en dicha
direccin un coeficiente +1 y a los arcos orientados en sentido opuesto un
coeficiente -1, se tiene:
[aij]+[ajk ]-[ alk ]+[ alm ]-[ anm]+
=(ei-ej)+(ej-ek)-(el-ek)+(el-em)-(en-em)+=0
por lo que las columnas de A correspondientes los arcos no son
linealmente independientes.
Corolario: Las variables bsicas no podrn formar un ciclo y, por tanto,
definen un rbol compuesto por n-1 arcos y n nodos.
9

Ciclos y Dependencia
Lineal
Teorema 2. Cualquier arco no bsico cuya columna es [alm] puede
representarse como combinacin lineal de las columnas de los n1 arcos bsicos. As, el conjunto definido por las columnas que
representan los vectores bsicos y el no bsico [alm] definirn el
ciclo.
Corolario: para obtener la representacin correcta de un arco no
bsico dado, simplemente se localiza el ciclo nico en el subgrafo
de la base que contiene el arco asociado. Definiendo una
orientacin acorde con el arco no bsico, cualquier arco en el ciclo
que posea la misma orientacin, tendr asignado un coeficiente de
-1, mientras que los que presenten sentido opuesto tendrn
asignado coeficiente +1.

10

Ejemplo
En el grafo donde los arcos continuos son los
bsicos, el arco a45 puede representarse como:
[a45]=[a35]+[a13 ]-[a14 ]=(e3-e5)+(e1-e3)-(e1-e4)=e4-e5
4
1
3
2

11

Algoritmo simplex para redes


El algoritmo consiste en partir de una solucin bsica
factible y aplicar el criterio de optimalidad a todos los
arcos no bsicos.
Si los costos relativos de las variables no bsicas son no
negativos, se ha alcanzado el ptimo.
En caso contrario es necesario introducir la base el
nuevo arco bsico con costo relativo ms negativo y
sacar de la base el arco cuya variable bsica se anule
en el proceso de compensacin del ciclo al que
pertenece el nuevo arco bsico.
12

Algoritmo simplex para redes


Fsicamente, los costos relativos de un arco representan el costo
unitario adicional en que se incurre al enviar un flujo unidad a lo
largo de otra cadena que une los mismos nodos que el arco no
bsico.
En la figura, el costo de enviar una unidad de flujo desde el nodo 3
al 4 es c34 si se utiliza el arco no bsico (3,4), o bien
c13+c15+c54 si se utiliza la cadena bsica.
El costo relativo r34 ser la
diferencia entre el costo absoluto
y el costo sinttico, ste ltimo es
el costo en el que se incurre
cuando se hace uso de la cadena
2
bsica que une los mismos nodos
que el arco no bsico, o sea:
r34 = c34 (c13+c15+c54 )
13

1
3

Algoritmo simplex para redes


Este proceso de compensacin consiste en, una vez identificado el
nuevo arco bsico y el ciclo al que pertenece, se asigna al ciclo el
sentido del nuevo arco bsico:
Si envio por el arco 34, tendr que aumentar el flujo en en el arco 13 y
decrementar en en los arcos 15 y 54 -> todos los arcos en la direccin del
sentido en el ciclo incrementarn su flujo
Anlogamente, los arcos orientados en sentido contrario vern decrementados
los valores.
El mximo incremento posible vendr limitado por el mnimo decremento en el
ciclo que se denotar por .
Este mnimo decremento vendr determinado por el valor de la variable bsica
ms pequea de entre los arcos orientados en sentido opuesto al definido en el
ciclo.
Esta variable bsica, con valor ms pequeo, se bloquear alcanzando el valor
cero y dejando de ser bsica.

2
14

Algoritmo simplex para redes


Para conocer, de entre todos los arcos no bsicos, aquel arco que
entra en la base, se aplica el criterio de optimalidad del Simplex,
que consistir en calcular todos los costos relativos no bsicos.
Considerando como nuevo arco bsico aqul con costo relativo ms negativo.

Para calcular el costo relativo de un arco no bsico, se identifica el


ciclo formado por el y otros arcos que sean bsicos;
se le asocia un sentido que coincidir con la orientacin del arco no bsico.
El costo relativo de dicho arco vendr definido por la diferencia entre su costo
absoluto y la suma algebraica de los costos de los arcos bsicos del ciclo
multiplicados por +1 si estn orientados en sentido contrario al ciclo
multiplicados por -1 si lo esta a favor.
Para el ciclo de la figura, se tiene:

r34 c34 (c13 c15 c54 )


15

Ejemplo
Obtener el flujo mximo con
costo mnimo en la siguiente
red, donde a cada arco se le
asocia el costo absoluto
unitario cij, a cada nodo su
nivel de oferta/demanda ki y no
existen restricciones de cota
mxima para los flujos que
circulan por cada arco.
Una solucin bsica factible
puede obtenerse definiendo un
rbol tal como:

k1=1

1
1

k4=-3

16

3
4

3
3

k3=0

k5=6

k2=-4

-2

k3=0

k2=-4

2
3

k1=1

k4=-3

3
0

Donde en cada arco se define


el flujo que circula y que es
factible ya que cumple las
leyes de Kirchhoff en cada
nodo.

6
5

k5=6

Ejemplo
Los costos relativos de los
arcos no bsicos sern:

k1=1
1

r14 c14 c34 c23 c12 1 0 2 2 3


r13 c13 c12 c23 3 2 2 1

r35 c35 c52 c23 6 2 2 6

1
3
3

k4=-3

k1=1

3
3
k3=0

k2=-4

2
6

k5=6

r45 c45 c34 c23 c52 1 0 2 2 1

Introduciendo el arco r14


en la base:

r12 c12 c14 c34 c23 2 1 0 2 3


r13 c13 c14 c34 3 1 0 2

r35 c35 c52 c23 6 2 2 6

r45 c45 c34 c23 c52 1 0 2 2 1

Habindose
el ptimo.

k4=-3

1
3
2

2
3
k3=0
1

alcanzado
17

k2=-4

2
6

6
5

k5=6

Obtencin de una solucin


bsica factible inicial.

Para la definicin del algoritmo Simplex para un


problema de redes es imprescindible partir de una
solucin bsica factible con la que iniciar el proceso de
iteracin. La obtencin de esta solucin bsica factible
puede realizarse haciendo uso de variables de holgura y
resolviendo la Fase I del sistema de ecuaciones as
obtenido.
Para aplicar la Fase I al problema:
Minimizar
cx
s.a.
Ax = k,
x>= 0
18

Obtencin de una solucin


bsica factible inicial.
se ampla el sistema de ecuaciones de
restricciones con variables de holgura ; dichas
variables sern positivas en las ecuaciones
donde k > O y negativas en las ecuaciones
donde k < O , a fin de obtener una solucin
bsica que sea factible para el problema primal.
Por consiguiente, el problema a resolver ser:
Fase I:
Minimizar
s.a.
Ax = k,
(x,) >= 0
19
Su
optimizacin definir una base inicial.

Ejemplo: Obtener el flujo mximo con costo mnimo en la red.


k2=2
2
2
k1=4

-1

-5

4 k4=-5
3

3
k3=-1

donde a cada arco se le asocia el costo


absoluto unitario cij, a cada nodo su nivel
de oferta/demanda ki y no existen
restricciones de cota mxima para los
flujos que circulan por cada arco.
20

Ejemplo: Obtener el flujo mximo con costo mnimo en la red.


k2=2
2

2
k1=4

-1

-5

4 k4=-5
3

3
k3=-1

la matriz de incidencia nodo-arco es:


1, 2 1,3 2,3 2, 4 3, 2 3, 4

1 1

2 1
A
3 0

4 0

21

0
1

1
1

1
0

1
1

0
1

Ejemplo: Obtener el flujo mximo con costo mnimo en la red.

Para la obtencin de una solucin bsica


factible, se resuelve el problema en la
Fase I:

Ax k ,

Minimizar

s.a.

x, 0
donde Ax k viene dada por:
1

1
0

22

0
4


0 1 0 0
2
x
1
0 0 1 0


0 0 0 1
5

1 0

Ejemplo: Obtener el flujo mximo con costo mnimo en la red.

La tabla de simplex es:

x (-1)

x12

x13

x23

x24

x32

x34

-1

-1

-1

-1

-1

-1

-1

-1

-1

-5

23

Ejemplo: Obtener el flujo mximo con costo mnimo en la red.

La tabla de simplex es:

x12

x13

x23

x24

x32

x34

-1

-1

-1

-1

24

Ejemplo: Obtener el flujo mximo con costo mnimo en la red.

Aplicando Simplex se tiene:

x12

x13

x23

x24

x32

x34

ki/aij

-1

-1

-1

-1

-2

-2

-2

25

Ejemplo: Obtener el flujo mximo con costo mnimo en la red.

Aplicando Simplex se tiene:

x12

x13

x23

x24

x32

x34

-1

-1

-1

-1

-1

-1

-2

-2

26

ki/aij

2
5

Ejemplo: Obtener el flujo mximo con costo mnimo en la red.

Aplicando Simplex se tiene:

x12

x13

x23

x24

x32

x34

ki/aij

-1

-1

-1

-1

-1

-1

-1

-1

-2

-2

-2

27

Ejemplo: Obtener el flujo mximo con costo mnimo en la red.

Aplicando Simplex se tiene:

x12

x13

x23

x24

x32

x34

-1

-1

-1

-1

-1

-1

-1

Se ha alcanzado el final de la fase I y la solucin bsica factible es:


x12=3
x13=1
x24=5
28

ki/aij

Ejemplo: Obtener el flujo mximo con costo mnimo en la red.


k2=2
2
3
k1=4

4 k4=-5

1
1
3
k3=-1

Aplicando el criterio de optimalidad:


r23=c23-(c13-c12)= -1-(-5-2)=7
r32=c32-(c12-c13)=6-(2+5)=-1
r34=c34-(-c13+c12+c24)=3-(--5+2+4)=-8
Introduciendo x34 en la base, se tiene:

29

Ejemplo: Obtener el flujo mximo con costo mnimo en la red.


Introduciendo x34 en la base, se tiene:

Aplicando el criterio de optimalidad:


r12=c12-(c13+c34-c24)= 2-(-5+3-4)=8
r23=c23-(c24-c34)=-1-(4-3)=-2
r32=c32-(c34-c24)=6-(3-4)=7

k2=2
2
k1=4

Todos positivos ptimo


30

4 k4=-5

1+3=4

3
k3=-1
k2=2
2

Introduciendo x23 en la base, se tiene:


r12=c12-(c13-c23)= 2-(-5+1)=6
r24=c24-(c23+c34)=-1-(-1+3)=2
r32=c32-(-c23)=6-(1)=5

k1=4

5-3=2

5-3=2
4 k4=-5

1+3=4

3
k3=-1

Você também pode gostar