Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Academico Profesional de Informtica, Facultad de Ciencias Fsicas y Matemticas,Universidad Nacional de Trujillo, Av. Juan Pablo
II S/n, Trujillo
2 Escuela Academico Profesional de Informtica,Universidad Nacional de Trujillo, Av. Juan Pablo II S/n, Trujillo
* Correspondencia de autores: jquintanilla@unitru.edu.pe , jrodriguez@unitru.edu.pe
Publicado el 05 de Diciembre de 2014
RESUMEN
1. INTRODUCCION
El sistema de transporte es el componente mas importante para
la mayora de las organizaciones, debido a que el exito de una
cadena de abastecimiento esta estrechamente relacionado con
su diseo y uso adecuados. El transporte es el responsable de
mover los productos terminados, materias primas e insumos,
entre empresas y clientes que se encuentran dispersos geogrficamente, y agrega valor a los productos transportados cuando
estos son entregados a tiempo, sin daos y en las cantidades
requeridas.
Igualmente el transporte es uno de los puntos clave en la satisfaccion del cliente. Sin embargo, es uno de los costos logisticos
a recibir el bien o servicio durante un intervalo de tiempo predeterminado; este tipo de problema ha sido resuelto por diferentes
autores, entre los que vale la pena mencionar a Olivera (2004),
quien presenta una solucion mediante bsqueda Tab, Gendreau et a.,l (1998) proponen una heuristica de insercion; Olivera
(2004), Vacic (2002), Brysy (2001), Zhu (2000) y Louis et al (1999)
lo resuelven con algoritmos geneticos y Barn y Schaerer (2003)
y Gambardella et al., (1999) presentan una propuesta a traves
de algoritmos de colonia de Hormigas. Los diferentes problemas VRP, y basicamente los que utilizan multiples vehculos
(Restori, s/f; Olivera, 2004) y/o depositos (Tansini et al., s/f),
pueden reducir su complejidad acotando el universo de soluciones, disminuyendo el conjunto de clientes a ser visitados por
cada vehiculo o desde cada deposito, esto es, asignar a cada
vehiculo/deposito un conjunto de clientes para atender, lo que
Medaglia (2005) llama set covering, o lo que otros autores conocen como clusterizar o asignar primero, rutear despues cluster
firts routen second (Olivera, 2004).
Ti + Si + tij M(1
(S11)
veV
Variables de Desicion :
Funcion Objetivo :
z=
veV jeJ
a0 T0V , veV
(S13)
(S1)
a j Tj b j , jeJ
(S14)
Restricciones :
xijv = 1, jeJ
(S2)
(S15)
ieJF veV
ieJF
jeJR
(S16)
x0jv =
jeJ
xi(n+1)v veV
B. Anlisis
(S4)
ieJ
d j xijv veV
(S5)
ieJF jeJ
(S6)
(S7)
veV
(S8)
IMPLEMENTACIN
(S9)
ieJF
1
(S10)
3
4
5
7
8
70
9
10
11
12
13
14
15
71
#CONJUNTOS
s e t J : = { 1 . . n } ; #CONJUNTO DE CLIENTES
s e t J F : = { 0 } union J ; #cCONJUNTO DE NODOS DIRECTOS
s e t JR : = J union { n + 1 } ; #CONJUNTO DE NODOS INVERSOS
s e t JC : = { 0 } union ( J union { n + 1 } ) ; #CONJUNTO DE TODOS LOS
NODOS
s e t V : = { 1 . . v } ; #CONJUNTO DE VEHICULOS
16
17
20
21
24
27
30
31
32
33
34
35
36
83
41
42
43
44
45
48
88
91
92
94
95
53
97
98
101
55
56
104
105
106
108
110
111
113
114
115
59
60
61
118
119
120
62
63
64
65
68
69
122
123
125
# RESTRICCION 6 : c a rg a de l o s v e h i c u l o s en r u t a
s . t . R6 { h i n J , hh i n J } : L [ hh] >=(L [ h]d [ hh]+p [ hh]M* (1 (sum { l
i n V}X[ h , hh , l ] ) ) ) ;
126
127
# RESTRICCION 5 : l a s c a r g a s de l o s v e h i c u l o s luego d e l
primer c l i e n t e
s . t . R5 { h i n J , l i n V } : L [ h] >=( L0 [ l ]d [ h]+p [ h]M* (1 X [ 0 , h , l ] )
);
66
67
121
124
# RESTRICCION 4 : l a s c a r g a s i n i c i a l e s de l o s v e h i c u l o s
s . t . R4 { l i n V } : L0 [ l ]=sum { i i n J F } ( sum { h i n J } ( d [ h ] * X [ i , h , l
]) ) ;
f o r { i i n JF , j i n JR , l i n V : i ! = j and X [ i , j , l ] == 1 }
p r i n t f " < l i n e x1= " "%f " " y1= " "%f " " x2= " "%f " " y2= " "%f " " " &
" s t y l e = " " s t r o k e : blue ; s t r o k e width : 1 " " />\n " ,
x [ i ] * 3 0 , y [ i ] * 3 0 , x [ j ] * 3 0 , y [ j ] * 30 >>
filename ;
116
117
f o r { k i n JC }
{
p r i n t f " < t e x t x= " "%f " " y= " "%f " " f i l l = " " b l a c k " " > " "%s " " </
t e x t > " , x [ k ] * 3 0 , y [ k ] * 3 0 , k >> f i l e n a m e ;
p r i n t f " < c i r c l e cx= " "%f " " cy= " "%f " " r= " "%f " " />\n " , x [ k
] * 7 , y [ k ] * 3 0 , 3 0 . 5 >> f i l e n a m e ;
}
109
57
58
p r i n t f " <?xml v e r s i o n = " " 1 . 0 " " s t a n d a l o n e = " " no " " ?>\n " >
filename ; # e s c r i t u r a
p r i n t f " <!DOCTYPE svg PUBLIC " "//W3C//DTD SVG 1.1//EN" " \n
" >> f i l e n a m e ;
p r i n t f " " " h t t p ://www. w3 . org/Graphics/SVG/1.1/DTD/svg11 . dtd "
" >\n " >> f i l e n a m e ;
p r i n t f " <svg width= " " 1000\% " " h e i g h t = " " 1000\% " " v e r s i o n = " "
1 . 0 " " \n " >> f i l e n a m e ;
p r i n t f " xmlns= " " h t t p ://www. w3 . org /2000/ svg " " >\n " >>
filename ;
103
112
#SOLUCION
solve ;
102
# RESTRICCIONES
54
# RESTRICCION 14 : a s e g u r a r l a f a c t i b i l i d a d d e l h o r a r i o
s . t . R14 { l i n V } : Tn1 [ l ] <=b [ n + 1 ] ;
96
107
# RESTRICCION 13 : a s e g u r a r l a f a c t i b i l i d a d d e l h o r a r i o
s . t . R13 { h i n J } : a [ h] <=T [ h] <=b [ h ] ;
93
100
# RESTRICCION 12 : a s e g u r a r l a f a c t i b i l i d a d d e l h o r a r i o
s . t . R12 { l i n V } : a [0] <= T0 [ l ] ;
90
51
52
# RESTRICCION 11 : a s e g u r a r l a f a c t i b i l i d a d d e l h o r a r i o
s . t . R11 { h i n J , l i n V } : ( T [ h]+ s [ h]+ t [ h , n+1] M* (1 X[ h , n+1 , l ] )
) <=Tn1 [ l ] ;
87
99
49
50
86
#VARIABLES DE DECISION
46
47
85
89
39
40
# RESTRICCION 10 : a s e g u r a r l a f a c t i b i l i d a d d e l h o r a r i o
s . t . R10 { h i n J , hh i n J } : ( T [ h]+ s [ h]+ t [ h , hh]M* (1 (sum { l i n V
} X [ h , hh , l ] ) ) ) <=T [ hh ] ;
84
37
38
# RESTRICCION 9 : a s e g u r a r l a f a c t i b i l i d a d d e l h o r a r i o
s . t . R9 { h i n J , l i n V } : ( T0 [ l ]+ t [ 0 , h]M* (1 X [ 0 , h , l ] ) ) <=T [ h ] ;
81
28
29
76
82
# RESTRICCION 8 : r e s t r i c c i o n e s de l a capacidad de l o s
vehiculos
s . t . R8 { h i n J , l i n V } : L [ h] <=q [ l ]+M* (1 (sum { i i n J F }X[ i , h , l
]) ) ;
75
80
25
26
74
79
22
23
73
78
18
19
72
77
#PARAMETROS
# RESTRICCION 7 : r e s t r i c c i o n e s de l a capacidad de l o s
vehiculos
s . t . R7 { l i n V } : L0 [ l ] <=q [ l ] ;
128
129
#DATOS
data ;
...
C. Aplicacin
Dentro de la empresa Lindley SA, la Gestion de Residuos Solidos y Reciclaje es un punto muy importante. El compromiso
de proteccion del ambiente es esencial para la calidad de vida
de las generaciones actuales y venideras. El reto se encuentra
en combinar este compromiso con los objetivos de crecimiento
economico de la Empresa. Corporacin Lindley asume este
reto, entre otras acciones, reduciendo el uso de materiales para
la produccion y promoviendo una cultura de reciclaje, un adecuado manejo de los residuos solidos, peligrosos y no peligrosos,
y desarrollando proyectos que reduzcan la generacion de los
mismos, buscando contribuir con el equilibrio ecologico y el
bienestar de la comunidad. De los materiales empleados y los
que son factibles de reciclar y reutilizar por la Empresa (materiales valorizados), se han tomado en cuenta los de envasado y
embalaje, de los cuales el vidrio y el cartn presentan materiales
valorizados. As tenemos que el cartn posee hasta un 15% de
material valorizado y el vidrio hasta un 20%, lo que representa
el 6.28% de los materiales valorizados por la Empresa.
Se tomaron como datos de procesamiento a 8 clientes y 2
depositos, uno de colecta y otro de entrega en diferentes ubicaciones, como se muestra en la figura S1, el codigo de la programacion del modelo en GLPK se encuentra en el Anexo 1, y se
obtuvieron los siguientes resultados:
1
2
tral.
Time used :
0.1 secs
Memory used : 0 . 8 Mb ( 8 8 0 3 3 1 b y t e s )
colecta y entrega.
3
4
5
6
7
8
Arco
Vehiculo
9
10
11
12
13
14
15
16
17
18
19
0
0
1
2
3
4
5
6
7
8
3
5
9
1
2
9
7
4
8
6
2
1
2
2
2
1
1
1
1
1
A. Resultados Obtenidos
Numero de Clientes
Numero de Vehiculos
T.E. / M.U.
c=4
v=2
4. RESULTADOS COMPUTACIONALES
c=6
v=3
c=8
v=3
c = 10
v=4
c = 25
v = 10
5. CONCLUSIONES
Los problemas de entrega y colecta simultneos han llamado
mucho la atencion en los ultimos aos, especialmente para hacer
frente con el reciclaje y cuestiones relativas al medio ambiente.
Los clientes, en realidad, la solicitud de tiempo de servicio especfico; con el fin de aumentar la calidad del servicio, las empresas
de logistica a menudo proporcionan servicios para satisfacer
esas peticiones. Por tanto, este estudio considera un problema
de enrutamiento de vehiculos con entrega y colecta simultanea
38
39
40
41
42
43
REFERENCES
1. Ai, T. J., Kachitvichyanukul, V. (2009) A particle swarm optimization for the vehicle routing problem with simultaneous
pickup and delivery Computers and Operations Research 36
, 16931702.
2. Alvarenga, G. B., Mateusb, G. R., De Tomi, G. (2007) A
genetic and set partitioning two-phase approach for the vehicle routing problem with time windows Computers and
Operations Research 34, 15611584.
44
45
46
47
48
49
50
51
2
3
53
4
5
6
7
8
9
10
11
J : = { 1 . . n } ; # c o n j u n t o de c l i e n t e s
J F : = { 0 } union J ; # c o n j u n t o de nodos d i r e c t o s
JR : = J union { n + 1 } ; # c o n j u n t o de nodos i n v e r s o s
JC : = { 0 } union ( J union { n + 1 } ) ; # c o n j u n t o de todos l o s
nodos
s e t V : = { 1 . . v } ; # c o n j u n t o de v e h i c u l o s
s e t Arc : = { i i n JC , j i n JC } ; # c o n j u n t o de a r c o s e n t r e l o s
nodos d i r e c t o s e i n v e r s o s
16
17
18
19
20
21
22
23
24
25
28
29
30
31
32
q { l i n V } ; # capacidad d e l v e h i c u l o l
g { l i n V } ; # c o s t o de despacho d e l v e h i c u l o l
c { ( i , j ) i n Arc } ; # d i s t a n c i a e n t r e e l nodo i e j (Km)
t { i i n JF , j i n JR } : = c [ i , j ]/VD; # tiempo de v i a j e e n t r e
e l nodo i e j
param d { h i n J } ; #demanda de e n t r e g a d e l c l i e n t e h
param p { h i n J } ; # c a n t i d a d de r e c o l e c c i o n d e l c l i e n t e h
param s { h i n J } ; # tiempo de s e r v i c i o d e l c l i e n t e h
param a { k i n JC } ; # i n i c i o d e l tiempo de s e r v i c i o d e l c l i e n t e
h
param b { k i n JC } ; # f i n d e l tiempo de s e r v i c i o d e l c l i e n t e h
param M; #una c o n s t a n t e a r b i t r a r i a grande
param a l ; #un parametro que i n d i c a e l i n t e r c a m b i o e n t r e e l
c o s t o de despacho y e l c o s t o de v i a j e
37
61
p r i n t f " \n " ;
p r i n t f " Costo t o t a l de despacho minimo en e l t o u r : %s\n " , a l
* ( sum { l i n V } ( sum { h i n J } ( g [ l ] * X [ 0 , h , l ] ) ) ) ;
p r i n t f " \n " ;
p r i n t f " Costo t o t a l de v i a j e minimo en e l t o u r : %s\n " , (1 a l
) * ( sum { i i n J F } ( sum { j i n JR } ( sum { l i n V : i ! = j } ( c [ i , j ] * X
[ i , j , l ]) ) ) ) ;
p r i n t f " \n " ;
printf ( "
Arco
Vehiculo \n " ) ;
p r i n t f " \n " ;
p r i n t f { i i n JF , j i n JR , l i n V : X [ i , j , l ] } "
%1s %2
s
%10s
\n " , i , j , l ;
p r i n t f " \n " ;
data ;
63
64
65
#NUEMRO DE CLIENTES
param n : = 8 ;
66
67
68
#NUMERO DE VEHICULOS
param v : = 3 ;
69
70
72
74
75
76
77
78
79
80
81
#VENTANA DE TIEMPO ,
param :
a
0
0
1
912
2
825
3
65
4
727
5
15
6
21
7
170
8
255
9
1236
a : INCIO , b : FIN
b:=
1236 # DEPOSITO DE DISTRIBUCION
967
870
146
782
67
702
225
324
1 5 5 0 ; #DEPOSITO DE COLECTA
82
83
84
85
86
87
89
90
91
92
93
94
95
96
97
98
35
36
59
88
var L0 { l i n V } ; # c a r ga d e l v e h i c u l o l cuando d e j a DC
var L { h i n J } ; # c a r ga r e s t a n t e de un v e h i c u l o luego de haber
atendido a l c l i e n t e j
var X { i i n JF , j i n JR , l i n V} , b i n a r y ; # v a r i a b l e de v i a j e de
un v e h i c u l o l s i v i a j a d i r e c t a m e n t e d e l nodo i a l nodo
j
var T { h i n J } ; # tiempo de empezar a s e r v i r a l c l i e n t e h
var T0 { l i n V } ; # tiempo de p a r t i r d e l v e h i c u l o l en DC
var Tn1 { l i n V } ; # tiempo de l l e g a d a d e l v e h i c u l o l a CC
33
34
58
73
param
param
param
param
26
27
57
71
14
15
56
62
set
set
set
set
12
13
55
60
param n i n t e g e r ; # c a n t i d a d de c l i e n t e s
param v i n t e g e r ; # c a n t i d a d de v e h i c u l o s
solve ;
52
54
ANEXOS
99
100
#d : DELIVERY ,
param : d
p
1
10
5
2
30
15
3
10
5
4
10
5
5
10
5
6
20
10
7
20
10
8
20
10
101
102
param M: = 5 0 0 0 0 ;
103
s . t . R1 { h i n J } : ( sum { i i n J F } ( sum { l i n V} X [ i , h , l ] ) ) = 1 ; #
a t e n d e r a todos l o s c l i e n t e s exactamente una vez
s . t . R2 { h i n J , l i n V } : ( sum { i i n J F } X [ i , h , l ] ) =(sum { j i n JR } X
[ h , j , l ] ) ; # l l e g a r y d e j a r a cada c l i e n t e con e l mismo
vehiculo
104
param a l : = 0 . 5 ;
105
106
107
108
109
110
111
112
113
114
115
116
117
param c :
0
1
2
3
4
5
6 7
8
9:=
#MATRIZ DE COSTOS DE DISTANCIAS ENTRE NODOS , c = d
/100
0 0 130 260 130
280 400
434 546 716 890
1 130
0
130 270
150 256
300 431 584 398
2 260 130 0
130
270 141
440 306 452 282
3 130 270 130
0 400 252
564 444 593 396
4 280 150 270 400 0
121
171 285 448 262
5 409 255 135 289
118 0
293 175 313 138
6 453 315 430 577
181 293
0 113 272 442
7 573 432 315 440
300 176
123 0
142 327
8 724 580 451 587
451 317
272 139 0
170
9 525 398 268 408
266 148
469 311 178 0 ;
118
119
end ;
Lindley SA en GLPK