Está en la página 1de 50

Profesor: Luis Yez Sandivari

Ing. Civil Industrial, USM


Magster en Gestin Empresarial, USM
Alum. Doctorado Sistemas Complejos, U Chile.
Modelos de Transporte:
I) Problema de Flujo a costo mnimo (F.C.M.)

xij : Flujo desde nodo i al nodo j

aij : Coeficiente de costo asociado al arco (i,j)

si : Oferta del nodo i


Mn
x
aij xij
(i, j )A

s.a
1) xij x ji = si ,i N
jO(i ) jD(i )

2) bij xij cij ,(i, j) A


Modelos de Transporte:
II) Problema de ruta mnima (RM)

Encontrar la ruta de costo mnimo entre s y t, donde s es la


fuente y t el terminal o sumidero.
La red se caracteriza por un grafo del tipo G (N,A) conjuntos N
(1n), A (1m)

Parmetros

Costos (tiempos, distancias) entre nodo i y nodo j,


aij : costo asociado al arco (i,j)
Variables
1: si (i,j) pertenece a la ruta de costo mnimo (R)
xij :
0: si no pertenece a la ruta
Modelos de Transporte:
II) Problema de ruta mnima (RM)

Restricciones

1. Divergencia 1; si i=s


jO(i)
xij
jD(i)
x ji = -1; si i=t

0; de otra forma

2. Capacidad
Funcin Objetivo

xij 0,(i, j)
Mn
x

(i, j )A
aij xij
Modelos de Transporte:
III) Problema de Transporte equilibrado
Conjuntos

I : Conjunto de nodos fuente


J : Conjunto de nodos demanda
Parmetros aij : Costo unitario de transporte de i a j
i : Oferta del nodo i
j : Demanda del nodo j
III) Problemas de Transporte:
III.1) Problema de Transporte equilibrado

Mn
x

(i, j )A
aij xij
Variables
s.a.
xij : x
j
ij = i , i
Cantidad a transportar
desde i a j
x
i
ij = j , j

0 xij mn i , j { }
=
i
i
j
j
Problemas de Transporte:
III.2) Problema con exceso de oferta

Mn
x

(i, j )A
aij xij
Mn
n.m

aij xij + ai,m+1 xi,m+1


x
(i, j )A i
s.a.
s.a
x i , i m+1

x
ij
j ij = i , i
x
j
= j , i
x = j , j = 1,..., m +1
ij
i ij

xij 0
i

xij 0
>
i
i
j
j
x i,m+1 = m+1
i
m


j
j + m+1 = i
i
Modelos de Transporte: III.3) Problema de Transporte con nodos de
transferencia
Conjuntos

F :Conjunto de nodos orgen (fuente)


T : Conjunto de nodos transferencia
S : Conjunto de nodos destino (demanda)
III.3) Problema de Transporte con nodos de
Modelos de Transporte:
transferencia

Mn
x
aij xij
(i, j )A

s.a.
xij = i ,i F
jD(i )

bij = 0 xij x ji = 0,i T


jO(i ) jD(i )

{ }
cij = mn i , s ,i F; j T
xij = j ,j S
cij = mn { , } ,i T ; j S
i j
iD( j )

bij xij cij ,(i, j) A


= i j
iF jS
Modelos de Transporte:
III.4) Dualidad en el contexto del problema de
transporte (F.M.C)
Mn
x

(i, j )A
aij xij

s.a. L(x, , ) = aij xij + i ( i xij ) + j ( j xij )


(i, j ) i j j i

x
jO(i)
ij = i , i F = aij xij i xij j xij + i i + j j
(i, j ) i, j i, j i j


iD( j )
xij = j , j S = (aij i j )xij + i i + j j
(i, j ) i j

0 xij mn i , j { } Funcin dual:


=
i
i
j
j q( , ) = mn {L(x, , )}
x


q( , ) = mn (aij i j )xij + i i + j j
(i, j )
x
i j
Modelos de Transporte:
III.4) Dualidad en el contexto del problema de
transporte (F.M.C)
Condicin de holgura complementaria:

Si:
aij i j > 0 xij = 0
{
aij i j < 0 xij = mn i , j }
Si el precio de salida ms el de entrada es
i + j < aij menor que el costo de transporte, es
deseable transportar el mnimo (i.e. Xij=0)

Si el precio de salida ms el de entrada es


i + j > aij mayor que el costo de transporte, es
deseable transportar el mximo (i.e. Xij>0)

{
xij = mn i , j }
Modelos de Transporte:
III.4) Dualidad en el contexto del problema de
transporte (F.M.C)

Algoritmo de Hitchcock:

El algoritmo de Hitchcock resuelve las condiciones de H.C.,


donde se encuentra un set (u,v) que cumple tales
condiciones encontrando el ptimo:

Max i i + j j
,
i j
Dual
s.a.
i + j < aij ,i, j / xij = 0
i + j = aij ,i, j / xij > 0
Modelos de Transporte:
III.4) Dualidad en el contexto del problema de
Algoritmo de Hitchcock: transporte (F.M.C)

Proceso

1. Inicializacin (x0 factibleu0,v0)


2. Mejora
3. Actualizacin (pivote, definir ciclo, condicin de
centro)
4. Chequeo optimalidad (costo oportunidad)

Mejora
Precio sombra: xij > 0 i + j = aij ; 1 = 0 ( , )
Costo Oportunidad: xij = 0 aij i j > 0

Ejemplo
Puntos de origen y destino coincidentes

El problema de ruteo de vehculos consiste es disear rutas para los


vehculos considerando las restricciones y objetivos, minimizando
una funcin objetivo dada.

Clientes

Rutas CD Objetivos

Disear rutas para m vehculos


Cada cliente es visitado una sola vez
El total de la demanda de cualquier ruta
no excede la capacidad Q del vehculo
Cantidad m de vehculos, fija a priori o
variable
Puntos de origen y destino coincidentes

Caractersticas

Depsitos, donde es relevante el nmero de ellos y su


ubicacin.
Vehculos, sus variables son: capacidad, costos, tiempo de
partida, periodo de descanso del conductor, tipo y nmero de
vehculos, mximo tiempo.
Consumidores, de ellos podemos considerar su demanda,
ventanas de tiempo estrictas o suaves, retiro y entrega,
restricciones de accesibilidad, demanda dividida, prioridad.
Informacin de ruta, tiempos mximos de las rutas o
distancias, costos de los enlaces.
Puntos de origen y destino coincidentes

El problema del ruteo de vehculos se define como un grafo G =


(V,A), donde V = {0, ...,n} es un set de vrtices, A = {(i, j) : i, j V,
i < j} corresponde a un set de arcos. El nodo 0 es un deposito
mientras que el resto de los vrtices son los clientes. Cada nodo
de V tiene asociada una demanda qi y cada arco (i, j) tiene
asociado un costo o una distancia cij . (Se considera G no dirigido
esto permite el intercambio de cij y cji ).
Puntos de origen y destino coincidentes
Descripcin del problema
IV) Travelling Salesman Problem (TSP): Formulacin
Conjuntos

N : Conjunto de nodos
A : Conjunto de arcos
Parmetros cij : Costo o distancia entre nodo i y nodo j

Variables
1: si el nodo j se visita inmediatamente despus de i
xij :
0: si el nodo j no es un vecino
Descripcin del problema VRP
IV) Travelling Salesman Problem (TSP): Formulacin

Restricciones

1. Divergencia


jO(i)
xij
jD(i)
x ji = 0, i N


jD(i)
x ji = 1, j N

2. Slo se sale una vez de cada nodo


jO(i)
xij = 1, i N
Descripcin del problema VRP
IV) Travelling Salesman Problem (TSP): Formulacin

Restricciones 1 y 2 permiten soluciones denominadas subtur

N=7

Eliminar sub-ciclos:

s N
x ij s 1;2 s N 2
i, js
i j
Descripcin del problema VRP
IV) Travelling Salesman Problem (TSP): Formulacin
Ejemplo:

S1 = 3

x
i, js1
ij 2
i j

S2 = 4
x
i, js2
ij 3
i j
Descripcin del problema VRP
IV) Travelling Salesman Problem (TSP): Formulacin
Ejemplo:

S1 = 5

x ij 4
i, js1
i j

S2 = 2
x ij 1
i, js2
i j
Descripcin del problema VRP
IV) Travelling Salesman Problem (TSP): Formulacin
Ejemplo:

S1 = 5 x
i, js1
ij 4
i j

S2 = 2 Cumple con restriccin de


divergencia, no as con el
flujo de salida de cada nodo
Descripcin del problema VRP
IV) Travelling Salesman Problem (TSP): Formulacin

Modelo compacto Min cij xij


x
i, jA

s.a.
xij x ji = 0,i N
jO(i ) jD(i )

xij = 1,i N
jO(i )

x ij s 1,2 s N 2
i, js
i j

xij {0,1} i, j
Travelling Salesman Problem (TSP)
(Problema del viajero)

Mecanismos de resolucin:

Rutas mnimas (shortest path)


i.e.NNP-Nearest Neighbour Procedure
Heuristicas: Clark & Wright savings (mtodo del
ahorro)
Problema de programacin lineal entera
Algoritmo del mtodo de ahorro de Clark y Wright

Criterio del Ahorro:

W(i,0) W(0,j) W(i,j)


i j i j

W(0,i) W(j,0) W(0,i) W(j,0)


0 0

Sij = W(i,0) + W(0,j) - W(i,j)


Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

P0 : Centro de Distribucin
P1 , P2 , P3 , P4 : Puntos de Demanda

Matriz de Costos [U.M.]

De / Al P0 P1 P2 P3 P4
P0 - 100 50 80 60
P1 90 - 30 40 20
P2 40 20 - 60 50
P3 100 60 80 - 40
P4 70 10 60 30 -
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

Demandas
Capacidad de Flota
Puntos Demanda [ton] (Vehculos)
V1 : 20 [ton]
P1 8 V2 , V3 , V4 : 10 [ton]
P2 5
P3 3 Iterar hasta L = 1
P4 10

Supresiones
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

Costo configuracin inicial de reparto:

K = j=1,4 W(0,j) + i=1,4 W(i,0)

K = (100+50+80+60)+(90+40+100+70)=590 UM

P1 P2
De / Al P0 P1 P2 P3 P4
P0 - 100 50 80 60
P0 P1 90 - 30 40 20
P2 40 20 - 60 50

P4 P3 P3 100 60 80 - 40
P4 70 10 60 30 -
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

n Calculo Matriz de Ahorros


De / Al P0 P1 P2 P3 P4
P0 - 100 50 80 60
P1 90 - 30 40 20
P2 40 20 - 60 50
Sij = W(i,0) + W(0,j) - W(i,j)
P3 100 60 80 - 40
P4 70 10 60 30 -
De / Al P0 P1 P2 P3 P4

P0 - -1 -1 -1 -1

P1 -1 - 110 130 130

P2 -1 120 - 60 50

P3 -1 140 70 - 120

P4 -1 160 60 120 -
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

n L = 0 (nivel de supresin inicial)


n Mximo Ahorro: S41 = 160
Demandas: d4 + d1 = 10 + 8 = 18 ton < V1 = 20 ton
=> S41 = -1, S14 = 0, S4,j = 0, Si,1 = 0
=> K=590-160=430 UM Ruta: P0 P4 P1 P0
De / Al P0 P1 P2 P3 P4
P0 - -1 -1 -1 -1
P0 P1 P2 P3 P4
P1 -1 - 110 130 130
P0 - 0 -1 -1 -1
P2 -1 120 - 60 50

P3 -1 140 70 - 120
P1 -1 - 110 130 0
P4 -1 160 60 120 - P2 -1 0 - 60 50
P3 -1 0 70 - 120
P4 0 -1 0 0 -
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

Siguiente Ahorro Mximo: S13 = 130


Demandas: d 1 + d 3 = 18 + 3 = 21 ton > V1 => S 13 = 0
S34 = 120
Demandas: d 3 + d 4 = 3 + 18 = 21 ton > V1 => S 34 = 0
S12 = 110
Demandas: d 1 + d 2 = 18 + 5 = 23 ton > V1 => S 12 = 0

P0 P1 P2 P3 P4
P0 - 0 -1 -1 -1
P1 -1 - 110 130 0 P0 P1 P2 P3 P4
P2 -1 0 - 60 50 P0 - 0 -1 -1 -1
P3 -1 0 70 - 120 P1 -1 - 0 0 0
P4 0 -1 0 0 -
P2 -1 0 - 60 50
P3 -1 0 70 - 0
P4 0 -1 0 0 -
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

S32 = 70
Demandas: d 3 + d 2 = 3 + 5 = 8 ton < V2 = 10 ton
=> S 32 = -1, S 23 = 0, S 3,j = 0, S i,2 = 0
=> K=430-70=360 UM Ruta: P0 P3 P2 P0

P0 P1 P2 P3 P4
P0 - 0 -1 -1 -1
P1 -1 - 0 0 0 P0 P1 P2 P3 P4
P2 -1 0 - 60 50
P0 - 0 0 -1 -1
P3 -1 0 70 - 0
P1 -1 - 0 0 0
P4 0 -1 0 0 -
P2 -1 0 - 0 50
P3 0 0 -1 - 0
P4 0 -1 0 0 -
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

S24 = 50
Demandas: d 2 + d 4 = 8 + 18 = 26 ton > V1
=> S 24 = 0

P0 P1 P2 P3 P4
P0 - 0 0 -1 -1
P1 -1 - 0 0 0
P0 P1 P2 P3 P4
P2 -1 0 - 0 50
P0 - 0 0 -1 -1
P3 0 0 -1 - 0
P1 -1 - 0 0 0
P4 0 -1 0 0 -
P2 -1 0 - 0 0
P3 0 0 -1 - 0
P4 0 -1 0 0 -
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

Solucin con L = 0:
K=360 UM
Ruta:
P0 P4 P1 P0 ; Demanda: 18 ton (V1)
P0 P3 P2 P0 ; Demanda: 8 ton (V2)

P1 P2

P0

P4 P3
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

L = 1 , supresin : S41 = 0 (Matriz Ahorros Inicial)


Mximo Ahorro: S31 = 140
Demandas: d 3 + d 1 = 3 + 8 = 11 ton < V1 = 20 ton
=> S 31 = -1, S 13 = 0, S 3,j = 0, S i,1 = 0
=> K=590-140=450 UM Ruta: P0 P3 P1 P0

De / Al P0 P1 P2 P3 P4
P0 - -1 -1 -1 -1

P1 -1 - 110 130 130


P0 P1 P2 P3 P4
P2 -1 120 - 60 50 P0 - 0 -1 -1 -1
P3 -1 140 70 - 120 P1 -1 - 110 0 130
P4 -1 160 60 120 - P2 -1 0 - 60 50
P3 0 -1 0 - 0
P4 -1 0 0 120 -
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

Siguiente Ahorro Mximo: S14 = 130


Demandas: d 1 + d 4 = 11 + 10 = 21 ton > V1 => S 14 = 0
S43 = 120
Demandas: d 4 + d 3 = 10 + 11 = 21 ton > V1 => S 43 = 0

P0 P1 P2 P3 P4
P0 - 0 -1 -1 -1
P1 -1 - 110 0 130 P0 P1 P2 P3 P4
P2 -1 0 - 60 50 P0 - 0 -1 -1 -1
P3 0 -1 0 - 0 P1 -1 - 110 0 0
P4 -1 0 0 120 - P2 -1 0 - 60 50
P3 0 -1 0 - 0
P4 -1 0 60 0 -
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

S12 = 110
Demandas: d 1 + d 2 = 11 + 5 = 16 ton < V1 = 20 ton
=> S 12 = -1, S 21 = 0, S 1,j = 0, S i,2 = 0, S 23 = 0
=> K=450-110=340 UM Ruta: P0 P3 P1 P2 P0

P0 P1 P2 P3 P4
P0 - 0 -1 -1 -1
P1 -1 - 110 0 0 P0 P1 P2 P3 P4
P2 -1 0 - 60 50 P0 - 0 0 -1 -1
P3 0 -1 0 - 0 P1 0 - -1 0 0
P4 -1 0 60 0 - P2 0 0 - 0 50
P3 0 -1 0 - 0
P4 -1 0 0 0 -
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

S24 = 50
Demandas: d 2 + d 4 = 16+10 = 26 ton > V1
=> S 24 = 0

P0 P1 P2 P3 P4
P0 - 0 0 -1 -1
P1 0 - -1 0 0 P0 P1 P2 P3 P4
P2 0 0 - 0 50
P0 - 0 0 -1 -1
P3 0 -1 0 - 0
P1 0 - -1 0 0
P4 -1 0 0 0 -
P2 -1 0 - 0 0
P3 0 -1 0 - 0
P4 -1 0 0 0 -
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

Solucin con L = 1:
K=340 UM
Ruta:
P0 P3 P1 P2 P0 ; Demanda: 16 ton (V1)
P0 P4 P0 ; Demanda: 10 ton (V2)

P1 P2

P0

P4 P3
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo

K=360 UM > K=340 UM


Mejor Solucin: L=1

P1 P2

P0 P1 P2

P4 P3 P0

P4 P3
Algoritmo del mtodo de ahorro de Clark y Wright: Ejemplo/
extensin supresiones
Punto de origen y destino separados
V) Problema de Ruta Mnima

Algoritmo de Rutas Mnimas:

Sean d1, d2, , dn escalares que satisfacen:

d j di + aij ,(i, j) A
Y definimos una ruta R, que comienza en i y termina en j. Si se
cumple que:

d j = di + aij ,(i, j) A

Entonces R es la ruta mnima entre i y j


Punto de origen y destino separados
V) Problema de Ruta Mnima
Algoritmo genrico:
Inicializacin (k=0); V0={1}

-Etiquetas: (d1 , d2 ,...d j ) / d1 = 0;d j = ;j 1


(0) (0) (0) (0) (0)

-Remover 1 de la lista V0
-Iteracin k: V (k ) = {V (k1) {i} j O(i) / j V (k1) }
j V (k ) ;d (kj ) = d (k1)
j

j V (k ) ;h j = d (k1)
j + aij
si h j < d (k1)
j d (kj ) = h j
d (kj ) = d (k1)
j

-Etiquetas (d1(k ) ,d2(k ) ,...d (kj ) )


Si Vk) =vaco, entonces STOP
-Remover i de Vk)

Ejemplo
Ruta Mnima: Ejemplo 4
2 2 4 2

2
1 1 3 6
Orgen Destino
4
3 5 2
Algoritmo Genrico 3
Iteracin*k Vk d1 d2 d3 d4 d5 d6 i
0 {1} 0 1
0 h2=2
1 {2} 2
0 2
0 2 h3=3 h4=6 h5=4
2 {3,4,5} 3
0 2 3 6 4
h1=7 2 3 h4=X h5=6
3 {1,4,5} 4
0 2 3 6 4
h1=X 2 3 6 h5=X h6=8
4 {1,5,6} 5
0 2 3 6 4 8
0 2 3 h4=7 4 h6=6
5 {6,4} 6
0 2 3 6 4 6
0 2 3 h4=X 4 6
6 {4} 4
0 2 3 6 4 6
0 2 3 6 4 h6=8
7 {6} 6
0 2 3 6 4 6
8 {}
d2=2 d4=6
Ruta Mnima: Ejemplo 4
2 2 4 2
d6=6
2
d1=0 1 1 3 6
Orgen Destino
4
3 5 2
3
d3=3 d5=4
Algoritmo Genrico
Iteracin*k Vk d1 d2 d3 d4 d5 d6 i
0 {1} 0 1
0 h2=2
1 {2} 2
0 2
0 2 h3=3 h4=6 h5=4
2 {3,4,5} 3
0 2 3 6 4
h1=7 2 3 h4=X h5=6
3 {1,4,5} 4
0 2 3 6 4
h1=X 2 3 6 h5=X h6=8
4 {1,5,6} 5
0 2 3 6 4 8
0 2 3 h4=7 4 h6=6
5 {6,4}
0 2 3 6 4 6
6 Ecuacin de Bellman
0 2 3 h4=X 4 6
6 {4} 4
0 2 3 6 4 6 d1 = 0
0 2 3 6 4 h6=8
7 {6} 6
0 2 3 6 4 6
d j = min {di + aij },j 1,i D( j)
8 {} (i, j )A
Punto de origen y destino separados
V) Problema de Ruta Mnima
Algoritmo genrico: Generalidades
Al final de la iteracin k, se satisfacen las siguientes
condiciones:

d j < :dj es el largo de alguna ruta que parte en el nodo 1 y


termina en el nodo j
i V (k ) di = d j di + aij , j O(i)
Si el algoritmo termina, entonces la ruta mnima est conformada
desde el nodo 1 al nodo j para todo nodo donde: d j <

Ecuacin de Bellman d1 = 0
d j = min {di + aij },j 1,i D( j)
(i, j )A
Punto de origen y destino separados
V) Problema de Ruta Mnima
Algoritmo de Dijktra:

-Elegir:
i V (k ) / di = min
(k)
{d j }
jV

aij 0;(i, j) A Cada nodo entra a V una sola vez

-Los nodos que salen de V no vuelven a entrar:

{
V (k ) = V (k1) {i} j O(i) / j k1
w=0 V (w)
}

Ecuacin de Bellman d1 = 0
d j = min {di + aij },j 1,i D( j)
(i, j )A

Ejemplo
Punto de origen y destino separados
V) Problema de Ruta Mnima
Algoritmo de Dijktra: Ejemplo

4
2 2 4 2

2
1 1 3 6
Orgen Destino
4
3 5 2
3

Hallar ruta mnima


Ruta Mnima: Ejemplo 4
2 2 4 2

2
1 1 3 6
Orgen Destino
4
3 5 2
Algoritmo Dijktra 3
Iteracin*k Vk d1 d2 d3 d4 d5 d6 i
0 {1} 0 1
0 h2=2
1 {2} 2
0 2
2 {3,4,5}
0
0
2
2
h3=3
3
h4=6
6
h5=4
4


3 i V (k ) / di = min
(k)
{d j }
jV
h1=7 2 3 h4=X h5=6
3 {1,4,5} 5
0 2 3 6 4
h1=X 2 3 h4=7 4 h6=6
4 {1,4,6} 4
0 2 3 6 4 6
0 2 3 6 4 h6=8
5 {6} 6
0 2 3 6 4 6
6 {}
d2=2 d4=6
Ruta Mnima: Ejemplo 4
2 2 4 2
d6=6
2
d1=0 1 1 3 6
Orgen Destino
4
3 5 2
3
d3=3 d5=4
Algoritmo Dijktra
Iteracin*k Vk d1 d2 d3 d4 d5 d6 i
0 {1} 0 1
0 h2=2
1 {2} 2
0 2
0 2 h3=3 h4=6 h5=4
2 {3,4,5} 3
0 2 3 6 4
h1=7 2 3 h4=X h5=6
3 {1,4,5} 5
0 2 3 6 4
h1=X 2 3 h4=7 4 h6=6
4 {1,4,6} 4
0 2 3 6 4 6
0 2 3 6 4 h6=8
5 {6} 6
0 2 3 6 4 6 Ecuacin de Bellman
6 {} d1 = 0
d j = min {di + aij },j 1,i D( j)
(i, j )A

También podría gustarte