You are on page 1of 55

Pontifica Universidad Catlica de Valparaso

Facultad de Ingeniera
Escuela de Ingeniera Industrial

Proyecto de Investigacin de Operaciones


Diseo de Sistemas de Transporte

Por

Kevin Aldair Castillo Iturrieta


Marco Andrs Sanhueza Marcoleta

Investigacin Operacional 1, EII 445


7 de Julio, 2012

ndice
1 Introduccin ........................................................................................................................... 2
2 Objetivo de estudio y Revisin del problema ...................................................................... 4
2.1 Objetivo de estudio ............................................................................................................... 4
2.2 Entorno y limites del sistema de transporte .......................................................................... 4
2.3 Variables y medidas de desempeo ...................................................................................... 5
2.4 Revisin ................................................................................................................................ 5
3 Aplicacin del problema ........................................................................................................ 7
4 Formulacin ........................................................................................................................... 8
5 Modelo programacin lineal entera-mixta .......................................................................... 9
6 Heurstica para una solucin factible ................................................................................ 11
7 Pruebas se comportaciento ................................................................................................. 12
7.1 Generalidades ..................................................................................................................... 12
7.2 Resolucin de instancia en AMPL ..................................................................................... 13
7.2.1 Datos del Modelo ........................................................................................................ 13
7.2.2 Solucin en AMPL ...................................................................................................... 16
7.3 Comparacin Heurstica V/S Solucin ............................................................................... 17
7.4 Anlisis ............................................................................................................................... 19
8 Extensiones ........................................................................................................................... 21
9 Conclusiones ......................................................................................................................... 22
10 Agradecimientos ................................................................................................................ 23
11 Bibliografa ......................................................................................................................... 24
12 Anexos ................................................................................................................................. 25
12.1 Anexo A ........................................................................................................................... 25
12.1.1 Cdigo Generacion de Datos ..................................................................................... 25
12.1.2 Cdigo Heurstica ...................................................................................................... 30
12.2 Anexo B ............................................................................................................................ 33
12.2.1 Archivo.Mod ............................................................................................................. 33
12.2.2 Archivo.Run .............................................................................................................. 34
12.3 Anexo C ............................................................................................................................ 36
12.3.1 Instancia 1 .................................................................................................................. 36
12.3.2 Instancia 2 .................................................................................................................. 41
12.3.3 Instancia 3 .................................................................................................................. 46
12.3.4 Instancia 4 .................................................................................................................. 51

1 Introduccin
Nuestro proyecto consiste en exponer un modelo que permita disear sistemas de
transporte cuyo objetivo sea minimizar costos y maximizar trfico. El modelo que
exponemos ubica la lnea o ruta principal, de tal manera que se minimizan los costos de
construccin de la ruta o la distancia que recorre dentro de la ciudad, y se maximiza la
captura de trfico por la misma. El trfico es capturado entre 2 pares de nodos si ambos son
visitados por el camino. Los nodos origen y destino del camino son fijados, es decir,
presenta nodos extremos.
Las aplicaciones del modelo pueden ser variadas, tales como diseo de lneas de
buses o metro, en el cual la forma de la ruta y el nmero de paradas es determinada por la
solucin del problema de optimizacin. Tambin puede ser aplicado para un mbito de
conexiones de redes informticas como sera un diseo de red de fibra ptica que permita
interconectar antenas de wifi en un sector determinado.
En este proyecto se propone un mtodo de solucin exacto y adems se presenta una
heurstica, con el objetivo de comparar resultados. Se exponen tambin los resultados de las
experiencias computacionales y los respectivos anlisis. Adems se presenta un programa
que permite generar en forma automtica datos para problemas de redes.

2 Objetivo de estudio y Revisin del problema


2.1 Objetivo de estudio
El objetivo de estudio de este informe es el Diseo de sistemas de Transportes,
por lo cual, se procede hacer el anlisis sistmico de este mismo.

Qu es un Sistema de Transporte?
Un Sistema de transporte es un conjunto de instalaciones fijas (redes y terminales),
entidades de flujo (Paquetes de informacin, Vehculos, Trenes, etc.) y un Sistema de
control que permiten movilizar eficientemente personas, bienes e informacin para
satisfacer necesidades de movilidad.
Por lo tanto, nuestro objetivo de estudio se enfocara en como poder localizar
nuestras instalaciones fijas en cierta ruta, que desde ahora en adelante llamaremos nodos,
de forma de poder transportar entidades de flujo de un cierto origen a un destino de manera
eficiente, es decir, intentando maximizar la captura de trfico y minimizando el costo de
construccin de la ruta, en la cual, circula el trfico. Por consiguiente, el alcance de nuestro
problema engloba a cualquier problema en el cual se requieran necesidades de movilidad
entre un origen y un destino.

2.2 Entorno y limites del Sistema de Transporte


El entorno de nuestro sistema es el lugar fsico colindante, en donde se presente
nuestro problema. Dependiendo de la aplicacin que puede ser variada, nuestro entorno
puede ser las distintas comunas donde se emplaza un sistema de metro o puede ser el
campus de una universidad si es que se quisiera realizar un sistema que permita conectar
antenas de WIFI, por medio de fibra ptica, de manera de maximizar la captura de trfico y
minimizar el costo de construccin de la red de fibra ptica. De aqu nuestro entorno puede
ser un edificio concreto, un campus, un centro comercial, una ciudad, etc. Es importante
mencionar que en relacin con el entorno este es un sistema abierto, ya que, hay un
continuo intercambio de informacin, materia y/o energa, que pueden ser las personas que
ingresan al sistema para ser movilizadas desde un origen y luego lo abandonan una vez que
llegan a su destino. Es un sistema en equilibrio dinmico, debido a que esta en un constante
cambio, actualizacin y movimiento de flujos de informacin y personas. El lmite de
nuestro sistema, ser aquella lnea fsica que separa el sistema del entorno, la cual
dependiendo del caso puede ser un ducto, la misma lnea de metro con sus estaciones, etc.
En especifico el espacio fsico donde es emplazado y tambin toda la comunidad que
pertenece al sistema.

2.3 Variables y medidas de desempeo


Las variables de nuestro sistema sern los nodos (Paraderos, Estaciones, Antenas,
etc.), La demanda de trfico (Personas, bienes e informacin), los arcos o aristas (Las
conexiones entre los nodos, sea, los caminos) y finalmente las restricciones que
dependern del modelo elegido para abordar el problema.
Nuestras medidas de desempeo sern el trfico capturado y los costos de
construccin del camino. Tambin se consideran como medidas de desempeo a todas
aquellas que nacen del Anlisis de sensibilidad, precios duales, intervalos de factibilidad,
costos reducidos, etc.

2.4 Revisin del problema


Muchos problemas en la literatura se centran en la maximizacin de utilidades o la
minimizacin de costos. El problema de Diseo de Sistemas de Transporte es a diferencia,
un problema con multi-objetivos en el cual se maximiza el flujo capturado y al mismo
tiempo se minimizan los costos, de ambos objetivos contrapuestos se debe conseguir el ms
ptimo dentro de nuestra regin factible, algunos autores que hicieron aportes son:
Neufville y Keeney (1973), Lee y Moore (1973, 1977), Moore et al. (1978), Aneja y Nair
(1979), Nijkamp (1979), Jara-Daz y Han (1980), entre otros.
Toregas (Toregas et al, 1971; Toregas y Re- Velle, 1972) aplic un programa lineal
entero a la ubicacin de instalaciones pblicas. El objetivo de Toregas fue para localizar el
nmero mnimo de instalaciones, de manera que ningn nodo de demanda se encuentre
demasiado lejos de la distancia mxima de servicio, S, de una instalacin. Toregas propone
que este servicio de mxima distancia, S, es un buen sustituto para la eficiencia que presta
un esquema de localizacin. La intuicin sugiere que el uso de una instalacin se reducir
en gran medida si los usuarios deben viajar ms de un mximo de distancia, S, para llegar
al centro.
Schilling (1976, Schilling cols., 1980), estudio como maximizar la cobertura, es
decir, capturar el mayor flujo de demanda posible, iniciando la formulacin de problemas
multiobjetivos, Schilling tambin propuso criterios adicionales para la cobertura como un
enfoque para el problema de la equidad en la ubicacin de las instalaciones pblicas y para
capturar el hecho de que otros tipos de demandas existen.
The maximum covering shortest path problem (MCSPP) se introdujo por
primera vez por (J. R. Current, C. S. Re Velle and J. L. Cohon, 1985). En este problema, el
camino necesitaba estar construido entre el origen y el destino, con 2 objetivos a la vista:
minimizar el costo de construccin de la ruta y maximizar la satisfaccin del nodo de
demanda. En este problema la cobertura se define por unos nodos de demanda individuales,
en oposicin a pares de nodos (trfico).

6
Este modelo sirvi de base para distintas formulaciones de problemas de redes en
las cuales se deseaba capturar demanda y minimizar costos de construccin de ruta.
Especficamente en un nuestro proyecto sirvi como un peldao de apoyo para poder
entender el problema base en el cual se basa nuestro trabajo. En la literatura existen muchos
problemas en los cuales el MCSPP sirvi como base para su formulacin, entre los cuales
podemos mencionar (Boffey and Narula, 1985) que extendieron el MCSPP a multipath, The
median-path (MPP) (J. R. Current, C. S. Re Velle and J. L. Cohon, 1987), The hierarchical
network design problmem (HNDP) (J. R. Current, C. S. Re Velle and J. L. Cohon, 1986) y
as sucesivamente. La mayora de estos problemas son muy difciles de resolver a
optimalidad, debido a la naturaleza multi-objetivo, que ocasiona que la satisfaccin ficticia
de los nodos de demanda que estn lejos del camino se pueda lograr por medio de subtours, que son rutas circulares que estn desconectadas de la ruta principal. Al remover
estos sub-tours se aade complejidad a la tarea de resolver el problema, por lo que estos
problemas suelen comnmente resolverse mediante heursticas, en lugar de mtodos
exactos.
Nuestro proyecto se ha basado especficamente en el The minimum cost path
location for maximum traffic capture, eligiendo uno de los 2 modelos que presenta,
The mximum traffic, shortest path problem- Costless nodes (MTSPP), el cual es
formulado como un modelo de programacin lineal entera mixta de un problema de ruta
ms corta, ms restricciones que definen la cobertura de trfico y los nodos activos
(Antenas y paradas) en la ruta principal. Un segundo objetivo se aade, de tal manera, que
maximiza el trfico entre pares de nodos.En este problema no existen nodos inactivos en la
ruta principal, es decir, aquellos nodos por los cuales pasa la ruta principal pero no los
visita. En el (MTSPP) los nodos extremos son libres, es decir, no estn prefijados. El
modelo est hecho para bordes, no para arcos lineales, cuya formulacin es ms
complicada. Para simplificar el problema, se formulara el problema para arcos lineales y se
fijara tanto el origen como el destino, es decir, el modelo estar hecho para nodos extremos.

3 Aplicacin del problema


La aplicacin de nuestro problema como fue explicado antes, engloba a cualquier
problema en el cual se requieran necesidades de movilidad entre un origen y un destino, y
se necesiten ubicar nodos activos (paraderos, estaciones etc.) en la ruta de manera de
maximizar el trfico entre estos y minimizar el costo de la ruta principal. Un ejemplo
clsico de aplicacin puede ser el diseo de ruta de buses, una lnea de metro o cualquier
sistema de lneas de transporte. Que tenga la forma de un solo camino. Este camino debe
seguir algunos caminos ya existentes, como una lnea de buses que sigue los caminos o
calles de una ciudad en particular. En el caso de una lnea de buses el path principal
representa el troncal y los caminos secundarios son rutas de acceso, algo similar ocurre con
una lnea de metro. Las personas se acercan a las paradas de los buses, las cuales son los
nodos del camino principal. Los usuarios del sistema de transporte no usan la lnea a menos
que haya paradas dentro de un umbral o radio de distancia entre su origen y destino. Hay
una estimacin del trfico demandado entre distintos pares de nodos, el cual puede ser
obtenido a travs de modelos economtricos y estimaciones de demanda por medio de
proxies. Las paradas o estaciones son abiertas dependiendo del trfico capturado deseado.
Entre otras aplicaciones podemos encontrar el diseo de ruta y localizacin de
buzones para una compaa especializada en Courier, servicios expresos de transporte en
logstica, que opera dentro de una ciudad. Un solo vehculo lleva los paquetes o mensajes
entre 2 pares de buzones (el origen y el destino), localizado por la misma compaa. La
solucin del modelo contiene la localizacin de los buzones y la forma de la ruta.
El modelo tambin puede ser implementado para la construccin de una red de
WIFI en algn lugar en particular como un centro comercial, un campus de una
universidad, un edificio pblico, etc. El punto de acceso, es decir, el lugar donde se ubican
las antenas, son conectadas por medio de fibra ptica. Las antenas son los nodos activos en
el camino, que reciben y transmiten paquetes de informacin conocidos a dispositivos fijos
o mviles que se encuentran de un radio de distancia de los nodos (AP o Gateway), el cual
ser mayor o menor dependiendo de la tecnologa. El bus (o canal) de fibra ptica tiene que
usarse en un ducto existente para su implementacin. El nmero de antenas que son
instaladas y conectadas por medio del camino es definido por la solucin, dependiendo del
trfico transportado por esas antenas.

4 Formulacin
La definicin formal de nuestro problema visto como un modelo de redes consiste
en lo siguiente:
En una formulacin de 2 objetivos, La ruta ms corta (o la ruta con costo mnimo)
es construida, de tal manera que su forma maximiza el trfico transportado por la ruta entre
dos pares de nodos en el camino. Se tiene un Grafo G=(N,A) no conexo, donde N es el
conjunto de nodos y A el conjunto de arcos bidireccionales, donde cada arco (i,j) del grafo
puede contener una arco de la trayectoria de la ruta principal, donde esta ruta tiene la forma
de un camino individual. Cada nodo son las posibles ubicaciones de las paradas, estaciones,
antenas, etc. Cada arco de la ruta del camino resultante debe coincidir un arco de la red
original G. La red original G debe representar, por ejemplo un sistema de calles y carreteras
de una ciudad, en caso que quisiramos instalar un sistema de metro o una lnea de buses,
taxis, etc. Se definen los Nodos (O y D) N, los cuales representan el nodo origen y el
nodo destino, que a su vez representan el inicio y el termino de la ruta o path principal. Solo
puede conectarse un solo arco al origen y un solo arco al destino. Hay una estimacin del
trfico demandado entre los distintos pares de nodos. El trfico es capturado solo si el nodo
i y j pertenecen a la ruta. Las paradas o estaciones son abiertas dependiendo del trfico
capturado deseado y los usuarios no usan el sistema al menos, que se ubiquen paradas
dentro de un umbral de distancia de su origen y destino.

Parmetros
Conjunto de nodos
Conjunto de arcos
Costo de construccin del arco (i, j)
Total entre los nodos i y j
Nodo origen
Nodo destino
Subconjunto no vacio de N
Cardinalidad del conjunto S

Variables de decisin
( )

{
{
{

5 Modelo Programacin lineal entera-mixta

( )

( )

( )

( )
)

( )

( )

( )
( )

( )

( )

Objetivo (1) minimiza el costo de construccin del camino. Objetivo (2) Maximiza
el trfico capturado, es decir, el trfico cuyo origen y destino son nodos de la ruta principal.
Restriccin (3) se requiere exactamente un arco conectado al nodo origen. Restriccin (4)
se requiere exactamente un arco conectado al nodo destino. Restricciones (5) y (6) Fuerza
la continuidad de la ruta y define los nodos cuyo trfico de demanda es satisfecho, es decir,
si es visitado por el camino principal. Restricciones (7) y (8) Capturan el trfico entre 2
pares de nodos siempre y cuando los nodos pertenezcan a la ruta.
Hay que tener en cuenta que si la ruta visita a un par de nodos, el trfico es capturado en
ambos sentidos, por lo que es suficiente para definir las variables para k>j. Restriccin (9)
debido a la naturaleza multi-objetivo, la satisfaccin ficticia de los nodos de demanda que
estn lejos del camino se puede lograr, por medio de rutas circulares que estn
desconectadas de la ruta principal. Con el fin de evitar estos sub-tours en el modelo se
propone un procedimiento que consiste en aadir una restriccin de ruptura de sub-tours
cada vez que un sub-tour aparece en la solucin, donde E(S) es el conjunto de todas las
aristas conectado a cualquier par de nodos que pertenecen al conjunto S, y se resuelve de
nuevo hasta que se encuentre una solucin sin sub-tours. Para observar de manera grfica la
restriccin (9), ver Fig. 1.

10
Restriccin (10) Se definen los valores apropiados para las variables. No hay necesidad de
declarar variables como
en forma binaria, ya que se llevara a valores binarios en la
solucin, debido a la estructura del modelo.

Figura 1 - La ruta negra representa el camino principal y la ruta roja representa los
posibles sub-tours que se pueden generar al no existir la restriccin (9)

11

6 Heurstica para una solucin factible


Nuestra Heurstica consiste en un algoritmo simple de bsqueda de posible trfico
entre los posibles puntos sucesivos, partiendo desde el origen.
Se parte desde el nodo origen, la heurstica considerara para sus clculos todos
aquellos nodos cuya distancia euclidiana al nodo destino sea menor o igual a la distancia
del nodo de bsqueda al destino. El nodo de bsqueda es aquel nodo de donde se buscara
encontrar la ruta con mayor captura de trfico. Partiendo desde el origen (Nodo de
bsqueda) se analizan todas las posibles rutas desde este nodo, es decir, todas las
conexiones a los nodos (en fig. 2.) Nodo origen (1) y nodos sucesivos (4,2 y 3). Luego la
heurstica toma el costo entre el nodo de bsqueda y los nodos sucesivos, y los guarda. A
(1-3), B (1-4) y C (1-2). Ahora busca el trfico entre los posibles rutas, por ejemplo (1-2) y
el trfico entre el nodo sucesivo, es decir, el nodo 2 y todas sus conexiones, en este caso (29), (2,10), (2-5) y suma todos los trficos. Una vez hecho esto para todos los posibles nodos
sucesivos, es decir, sumar todas las posibles capturas de trfico. Se procede a dividir esta
suma por el costo o distancia guardado previamente (A, B, C), el que tenga un mejor ratio
(Trfico/Costo) es entonces el nodo candidato a formar parte de el camino principal, si en
este caso particular, el nodo 2 hubiese sido el nodo con el mayor ratio se conecta el nodo 1
al nodo 2 (Camino rojo). Se actualiza el nodo de bsqueda a nodo 2 y se procede a buscar
nuevamente los nodos sucesivos y las posibles capturas de trfico. El algoritmo finaliza al
llegar al destino. En el Anexo A, Se tiene la formulacin en Java de esta heurstica.

Figura 2 - Heurstica para una solucin factible. El camino negro representa las
conexiones en el grafo y la conexin roja representa que ese arco forma parte del
camino principal.

12

7 Pruebas de comportamiento
7.1 Generalidades
Nuestra experiencia computacional se realizo en un computador con un procesador
AMD Phenom II 3,2 Ghz (Quad-Core) y 4 GB de RAM. Hemos usado como solver AMPL
con Cplex 11.2. Para la generacin de datos (Nodos, Arcos, Trfico) se ha usado un
algoritmo programado en java, que consiste en utilizar el mtodo Math.Random (), el cual
entrega, valores aleatorios entre (0 y 1). Al usuario se le permite ingresar las distancias del
plano donde desea ubicar los nodos, la cantidad de nodos a ubicar y el mximo trfico que
puede existir entre 2 pares de nodos. Con esta informacin el programa genera las
coordenadas de ubicacin de los nodos, dispersando los datos con el coeficiente de
RPearson, el cual, cuando tiende a 0 nos dice que los datos estn dispersados. A s mismo
el programa genera las aristas a travs de un algoritmo que busca la ruta ms corta entre los
nodos generados y va guardando las conexiones una matriz de variables boolean (True or
False) de tal manera que para todos los nodos va existir una conexin. Entregando un a
veces un perfecto rbol. El programa permite modificar las coordenadas de los nodos,
agregar aristas, eliminar aristas, modificar el trfico y permitir una nueva conexin de ms
aristas de forma automtica utilizando el mismo criterio que para generar el rbol, pero sin
perder las conexiones ya hechas. Se estima que puede generar para un grafo con 5000
nodos todos los datos en un tiempo no superior a 20 minutos. Cabe destacar que la
heurstica esta indexada a este programa. Cdigo en Anexo A.
En cuanto a la programacin en AMPL, lo ms importante es el algoritmo de
eliminacin de subtours. Este algoritmo permite la eliminacin inteligente de subtours, es
decir, agregando la restriccin cada vez que se encuentre un subtour, capturndolo y
eliminndolo. Luego se procede a resolver de nuevo el problema en forma iterativa hasta
que no se encuentra ningn subtour, esa solucin es la ptima. Cdigo en Anexo B.
Para las pruebas de comportamiento se generaron 5 instancias distintas. Con una
cantidad predefinida de 15 nodos, cabe destacar que no se utilizaron ms nodos dado que
AMPL est disponible solo en su versin para estudiante en forma gratuita que tan solo
soporta 300 variables y 300 restricciones. Todos los datos obtenidos estn en el Anexo C.
Se procede ahora a examinar una instancia en particular.

13

7.2 Resolucin de instancia en AMPL


7.2.1 Datos del modelo
Para la instancia de prueba se considera una red de 15 nodos con 56 arcos dirigidos
en un plano de 5000x5000[m]. El trfico entre pares de nodos se mueve en un rango
[0,7000], ver fig. 3.

Instancia Nodos: 15
516993 Iteraciones
Coef Rp: 1.0E-6
El Tiempo de Generacin de Datos: 14.758[seg]

Coordenadas:
Nodo

4730

3119

2368

4798

4433

2604

1000

4047

1433

1066

4363

4523

90

3558

2243

3971

3735

4885

10

2702

1102

11

2332

2959

12

3245

2996

13

3526

4252

14

3405

1914

15

998

3160

Figura 3 - Red de 15 nodos y 56 arcos dirigidos


Se considera que la distancia entre los nodos es igual al costo y que C (i, j) = C (j, i).

14

Costo

Costo

594,5

10

1269,51

1451,17

10

11

1893,5

14

1790,99

10

14

1074,04

836,39

11

1719,87

1369,77

11

2095,63

13

1280,27

11

1015,91

594,5

11

10

1893,5

14

1238,1

11

12

913,75

1033,06

11

14

1497,78

1245,32

11

15

1349,06

11

1719,87

12

1892,53

15

887

12

11

913,75

10

1269,51

12

13

1287,05

11

2095,63

12

14

1093,77

15

2138,71

13

1280,27

1451,17

13

879,78

724,86

13

1313,41

12

1892,53

13

666,61

13

879,78

13

12

1287,05

1033,06

14

1790,99

15

991,4

14

1238,1

836,39

14

10

1074,04

1245,32

14

11

1497,78

11

1015,91

14

12

1093,77

13

1313,41

15

887

1369,77

15

2138,71

724,86

15

991,4

13

666,61

15

11

1349,06

Tabla 1. Costos entre arcos.

15
Tabla 2.- Matriz de trfico
1

10

11

13

14

15

1 0.0

786.0

6114.0

4154.0

6055.0

2635.0

1558.0

5130.0

1246.0

3724.0

5778.0

4580.0

3261.0

273.0

2 786.0

0.0

4812.0

5636.0

5553.0

529.0

4423.0

4803.0

1260.0

3308.0

997.0

1614.0

4009.0

3156.0

3 6114.0

4812.0

0.0

1164.0

1603.0

3392.0

881.0

800.0

6948.0

483.0

334.0

5262.0

2955.0

4311.0

4 4154.0

5636.0

1164.0

0.0

5373.0

904.0

1713.0

1010.0

5499.0

3211.0

1506.0

2456.0

3198.0

2466.0

5 6055.0

5553.0

1603.0

5373.0

0.0

3978.0

5334.0

1180.0

6794.0

6313.0

2052.0

4196.0

5638.0

1928.0

6 2635.0

529.0

3392.0

904.0

3978.0

0.0

4691.0

2394.0

5844.0

4914.0

3398.0

2188.0

3180.0

1785.0

7 1558.0

4423.0

881.0

1713.0

5334.0

4691.0

0.0

3948.0

473.0

4416.0

1334.0

6258.0

6470.0

5419.0

8 5130.0

4803.0

800.0

1010.0

1180.0

2394.0

3948.0

0.0

2830.0

382.0

4080.0

4133.0

2205.0

2722.0

9 1246.0

1260.0

6948.0

5499.0

6794.0

5844.0

473.0

2830.0

0.0

3647.0

1261.0

1901.0

47.0

338.0

10 3724.0

3308.0

483.0

3211.0

6313.0

4914.0

4416.0

382.0

3647.0

0.0

1817.0

1228.0

1731.0

3369.0

11 5778.0

997.0

334.0

1506.0

2052.0

3398.0

1334.0

4080.0

1261.0

1817.0

0.0

109.0

2793.0

4209.0

13 4580.0

1614.0

5262.0

2456.0

4196.0

2188.0

6258.0

4133.0

1901.0

1228.0

109.0

0.0

2531.0

1071.0

14 3261.0

4009.0

2955.0

3198.0

5638.0

3180.0

6470.0

2205.0

47.0

1731.0

2793.0

2531.0

0.0

4868.0

15 273.0

3156.0

4311.0

2466.0

1928.0

1785.0

5419.0

2722.0

338.0

3369.0

4209.0

1071.0

4868.0

0.0

Tabla 3.- Matriz de Distancias


1

0 2897,94

10

11

13

14

15

594,5 3843,71 3883,94 1451,17 4660,72 2628,89 2027,01 2860,26 2403,33 1490,09 1653,27 1790,99 3732,23

2 2897,94
0 3012,95 1560,58 3847,34
3
594,5 3012,95
0 3723,94 3371,27
4 3843,71 1560,58 3723,94
0 3012,28
5 3883,94 3847,34 3371,27 3012,28
0

2013,86 2593,62

836,39 1369,77 3711,06 1839,35 2004,08 1280,27 3064,77

1920,28 4446,55 2581,63 2385,41


3396,52 1033,06 1245,32

2291,8 2130,78

1881,1

887 2138,71 3630,56

1892,53

2135,4

1238,1 3479,71

2534,3 3214,61

4531,64 2830,85 3015,81 4459,14 1269,51 2095,63 2647,31 3811,99

11 2403,33 1839,35 2130,78 1719,87 2095,63 2563,41 2320,64


12 1490,09 2004,08
1251 2478,84 2647,31 1892,53 3204,66
13 1653,27 1280,27 1881,1 2534,3 3811,99 879,78 3505,39
14 1790,99 3064,77 1238,1 3214,61 2146,6 2779,32 3700,26
2135,4 3479,71

1251

2860,5 3401,45 1719,87 2478,84

6 1451,17 2013,86 1920,28 3396,52 4531,64


0 4380,61 2190,69 724,86 3802,91 2563,41
7 4660,72 2593,62 4446,55 1033,06 2830,85 4380,61
0 2192,25 3879,04 3585,31 2320,64
8 2628,89 836,39 2581,63 1245,32 3015,81 2190,69 2192,25
0 1749,7 2905,48 1015,91
9 2027,01 1369,77 2385,41 2860,5 4459,14 724,86 3879,04 1749,7
0 3921,5 2382,83
10 2860,26 3711,06 2291,8 3401,45 1269,51 3802,91 3585,31 2905,48 3921,5
0 1893,5

15 3732,23

12

887

2146,6 2138,71

879,78 2779,32 3630,56

3204,66 3505,39 3700,26

991,4

1398,08 1313,41 2362,52 1485,85


1951,52

666,61 2989,27 3235,24

1970,3 3255,99 1074,04 2671,89

1015,91 2382,83

1893,5

913,75 1759,97 1497,78 1349,06

1398,08 1951,52

1970,3

913,75

0 1287,05 1093,77 2252,98

1313,41

666,61 3255,99 1759,97 1287,05

0 2341,13 2753,77

2362,52 2989,27 1074,04 1497,78 1093,77 2341,13

0 2710,38

991,4 1485,85 3235,24 2671,89 1349,06 2252,98 2753,77 2710,38

16

7.2.2 Solucin en AMPL


La solucin de este modelo dado que es multi-objetivo debera usar un mtodo para
estimar soluciones no inferiores, tal como Noninferior set estimation Method (NISE)
(Cohon, 1978). Para simplificar el anlisis de este modelo no se utilizan soluciones no
inferiores y en su defecto se agrega un peso al trfico, el cual se puede variar. Se defini
para las pruebas el nodo 7 como origen y al nodo 1 como destino.

1 Solucin en Ampl:

Al correr el programa con un peso de trfico de 0.05 en la funcin objetivo se obtienen


los siguientes valores:
##
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective -1116.7
207 MIP simplex iterations
0 branch-and-bound nodes
Iteracin= 4 Tiempo= 0.015600 Acumulado= 0.031200
OBJ = -1116.7
Camino Principal: (7 -> 15 -> 4 -> 8 -> 2 -> 9 -> 6 -> 13 -> 12 -> 11 -> 5 -> 10 -> 14 -> 3 -> 1)

Al analizar los datos encontramos que el problema se resolvi 4 veces, es decir, se


encontraron subtours en las iteraciones 1,2 y 3, los cuales fueron eliminados. Se necesitaron
207 iteraciones simplex y el tiempo acumulado de ejecucin fue de 0.0312000 (No se
analizara el tiempo, ya que, al ser una instancia bastante pequea este factor es
despreciable). El valor de la funcin objetivo fue de -1116.7, negativo dado a la
maximizacin de trfico. Y el camino principal con este peso de trfico corresponde al path
Hamiltoniano (Fig. 4). El path Hamiltoniano corresponde a la solucin menos costosa que
pasa por todos los nodos, y es a la vez la solucin ms costosa desde el punto de vista de la
construccin del path principal, ya que en sta solucin, no existen costos de accesibilidad.
Por ejemplo, si se tratara de construir una lnea del metro, y los nodos fueran ciudades,
entonces la lnea del metro pasara por todas las ciudades, lo que claramente implicara un
costo muy alto para el operador del sistema.

2 Solucin en Ampl:

Al correr el programa con un peso de trfico de 0.025 en la funcin objetivo se obtienen


los siguientes valores:
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective 3999.91
482 MIP simplex iterations
0 branch-and-bound nodes
Iteracin= 2 Tiempo= 0.078001 Acumulado= 0.109201
OBJ = 3999.91
Camino Principal: (7 -> 15 -> 11 -> 12 -> 14 -> 3 -> 1 )

17

Figura 4.- Path Hamiltoniano para la red de 15 nodos.


Al analizar los nuevos datos encontramos que el problema se resolvi 2 veces, es decir, se
encontraron subtours, los cuales fueron eliminados. Se necesitaron 482 iteraciones simplex,
Ms iteraciones que el de la prueba anterior, esto nos dice que el modelo tuvo que trabajar
ms en la bsqueda de la solucin ptima (Ms del doble). El valor de la funcin objetivo
fue de 3999.1 es decir influyo ms el costo que el trfico y el path principal no formo un
path hamiltoniano. Se analizara este caso con la solucin de la heurstica.
Todos los resultados de las distintas Instancias se encuentran en el Anexo C

7.3 Comparacin Heurstica V/S Solucin


Se procedi a solucin del modelo mediante la heurstica propuesta en el apartado 5
y ejecutada en la plataforma Netbeans 7.1.1.
Al correr la heurstica con el mismo peso sealado en 2 Solucin de ampl del
apartado 7.2.3 (Peso = 0.025), la solucin es:
La Ruta Generada es:
7-> 15-> 11-> 14-> 3-> 1
Valor Objetivo: 4154.097922500713
El Tiempo de Solucin: 0.0[Seg]

18
Si analizamos el resultado obtenido por la heurstica la ruta es bastante parecida a la
del apartado anterior solo que tiene un nodo menos en el camino principal (Fig. 5). Los
valores de la funcin Objetivo son bastantes parecidos con una diferencia del 3.85% entre
la solucin ptima (Modelo PLEM) y la solucin Buena (Heurstica). Obviamente no nos
podemos quedar con estos resultados tan bsicos y al analizar el resto de las instancias
obtenemos:
PLEM
Heurstica %Diff
3495,54
3642,27 4,1976347
2498,63
3703,99 48,240836
4638,55
6088,4 31,2565349
3906,03
5346,11 36,8681244

Tabla 4 Soluciones Instancias v/s heursticas


El promedio de las diferencias entre las instancias y la heurstica es de 24.878%, lo
cual, no nos parece bastante alentador, de todas formas este anlisis sigue siendo bsico y
necesitaramos analizar al menos, segn nos dice la teora estadstica, unas 30 veces para
obtener recin algn comportamiento. Aun as nuestra heurstica es bastante buena porque
puede generar una ruta para una instancia de 1000 nodos y realizarlo tan solo en segundos,
mientras que esto sera imposible para el caso del modelo PLEM, que lo ms probable es
que pase un tiempo bastante razonable iterando.

Figura 5 Ruta principal, Heurstica v/s PLEM.

19

7.4 Anlisis
Se hicieron 2 anlisis al modelo principalmente para observar el comportamiento el
primero fue subir el trfico entre nodos a algn sector, es decir, que aumentara la demanda
en cierto lugar, lo que se esperaba era que la ruta se fuera hacia ese sector en particular y
cambiara la forma de la ruta. El segundo anlisis que se hizo fue eliminar un nodo del grafo
y especficamente uno que perteneciera al camino para ver como el programa se las
arreglaba para seguir satisfaciendo la factibilidad.

Anlisis va trafico

Se subi la demanda entre los siguientes pares de nodos (12-6), (12-13) y (6-1), al doble
del mximo fijado al crear los datos (7000x2 =14000).
Recordemos que la solucin anterior fue:
OBJ = 3999.91
Camino Principal: (7 -> 15 -> 11 -> 12 -> 14 -> 3 -> 1 )

La nueva solucin con el trfico aumentado es:


CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective 3808.79
1418 MIP simplex iterations
0 branch-and-bound nodes
absmipgap = 63.3101, relmipgap = 0.0166221
Iteracin= 4 Tiempo= 0.577204 Acumulado= 0.873606
OBJ = 3808.79
Camino Principal: (7 -> 15 -> 11 -> 12 -> 13 -> 6 -> 1 )

Como se esperaba la ruta se fue por los nodos que tenan ms trfico, lo que concluye
que el modelo funciona, es decir, maximiza el trfico y no solo se va por la ruta ms
corta. Respecto a las funciones objetivos, Mejora en un 4,78%. Lo ms notable es la
diferencia de iteraciones, siendo la de la iteracin anterior 482 Iteraciones simplex y la
de la nueva solucin 1418 Iteraciones Simplex, es decir, ms del triple. Esto nos dice
que el modelo Piensa Bastante para obtener la optimalidad. Se concluye que mientras
ms diverso sea el trfico y contenga puntos atpicos el modelo tardara ms en su
solucin.

20

Anlisis va eliminacin nodo

Se procede a eliminar el nodo el nodo 12.


La nueva solucin es:
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective 4154.1
278 MIP simplex iterations
0 branch-and-bound nodes
suffix up OUT;
suffix down OUT;
suffix current OUT;
Iteracin= 1 Tiempo= 0.031200 Acumulado= 0.031200
OBJ = 4154.1
Camino Principal: (7 -> 15 -> 11 -> 14 -> 3 -> 1 )

Como se observa comparado con la solucin anterior es que el modelo simplemente


no selecciona el nodo 12 y pasa directamente al 14, es decir, la ruta no cambia sigue siendo
la misma. Recuerde que la ruta anterior era (Camino Principal: (7 -> 15 -> 11 -> 12 -> 14 -> 3 -> 1)). No se
esperaba este comportamiento antes de obtener la solucin. Lo que se esperaba era que se
formulara una ruta totalmente distinta en comparacin a la solucin anterior. Lo que
podemos concluir es que el modelo sigue siendo consecuente con la ruta antes descrita, es
decir, los nodos del camino principal son lo que tienen mayor demanda de trfico, por lo
tanto, aunque saque algn nodo del camino, el modelo no tendera a bordear pasando otro
nodo a la ruta si no intentar seguir el camino ms directo al que se tena antes. Respecto a la
funcin objetivo empeora en un 3,87%.

21

8 Extensiones
Al modelo presentado se le pueden hacer extensiones, entre las cuales
mencionamos:

Mximum traffic capture mnimum cost with fixed cost: Esta extensin permite
que se determine la ruta menos costosa para maximizar la captura de trfico,
localizando ciertos nodos que concentran el trfico (paraderos), as, Como nodos
inactivos que estn en el camino solo para permitir la reduccin de costos. Respecto
al modelo original equivale netamente a que ahora no todos los nodos del camino
son visitados. Se agrega una variable que indica si un nodo pertenece al path y a la
vez es inactiva

Multipath: Esta extensin permite que en vez de solo tener una ruta principal tener
muchas rutas interconectadas en puntos especficos para hacer transbordos. Esto es
muy comn verlo en los sistemas de metro de las grandes ciudades. Tambin puede
ser visto como un modelo de lnea de buses donde existe una lnea principal (Buses
troncales) y lneas secundarias (Buses de acercamiento). Se tendra que agregar una
variable que permita poder compartir un nodo con una red existente.

Minimizar Tiempo de Viaje: Esta extensin permitira minimizar los tiempos de


viajes entre los nodos. Sucede que el modelo original al ser su formulacin simple
no permite minimizar tiempos de viaje y suele suceder que para instancias grandes,
por ejemplo: que una persona tenga que recorrer toda la ciudad para poder llegar a
su destino. Esto se podra lograr agregando una variable que cuente el tiempo que se
demora en ser cubierto el trfico entre dos nodos. Se tendra que incluir una variable
de velocidad promedio para poder sacar los tiempos respecto a la distancia
recorrida.

22

9 Conclusiones
Del desarrollo del tema, se obtuvieron las siguientes conclusiones. El
problema planteado de programacin lineal entera-mixta es aplicable a un problema
de diseo de redes en el cual se quiera construir una ruta o lnea de transporte que
est conectada a un nodo origen y un nodo destino (Ambos predeterminados), y
adems, que la accesibilidad al path principal sea un objetivo a considerar (Umbral
de distancia). Siempre que los objetivos sean minimizar costos y maximizar captura
de trfico entre los distintos pares de nodos. Estos problemas surgen en el diseo de
redes de fibra ptica, lneas de buses o lneas de metro y distribuciones de ruta.
Respecto a la experiencia computacional se concluyo que el modelo se comportaba
acorde a lo esperado con tiempos de resolucin bastante pequeos para una
instancia de 15 nodos. Lo ms complicado de la experiencia computacional es el
proceso de eliminacin de subtours, el cual es computacionalmente intenso, por lo
cual que las estrategias de bsqueda y eliminacin de subtours, en cualquier
algoritmo redes que los incluya, debe ser muy bien pensada y analizada. Se propone
un programa bastante til para la generacin de datos, el cual fue indispensable para
la resolucin de los problemas. Respecto a la heurstica propuesta v/s PLEM, se vio
que el promedio para de diferencia entre las soluciones objetivo fue de 24.878%, lo
cual, bajo el punto de vista de la teora no es bastante alentador. Si fuera menos de
un 10% sera bastante prometedor. De todas formas la heurstica fue capaz de
resolver una instancia de 1000 nodos y encontrar una buen path principal, en un
tiempo bastante pequeo. Nos hubiese gustado haber evaluado las condiciones de
tiempo de resolucin para una instancia ms grande, pero dado las condiciones
descritas en cuanto a la capacidad de los solvers, no se pudieron analizar ms que
una instancia de 15 nodos, lo cual es bastante decepcionante y se espera poder
contar con los solvers necesarios para el siguiente proyecto, para evaluar de mejor
forma el comportamiento de algn modelo.

23

10 Agradecimientos
Damos las gracias al Dr. Gabriel Gutirrez, Profesor a cargo de la asignatura de
investigacin operacional I, por toda la ayuda entregada en cuanto a las referencias para
poder realizar el trabajo y la orientacin para la construccin de un algoritmo de
eliminacin de subtours.
Tambin Agradecemos a Pablo Ibacache, Ayudante de taller de Investigacin
operacional 1, por guiarnos en la programacin del modelo en AMPL.

24

11 Bibliografa

J. R. Current, C. S. Re Velle and J. L. Cohon, 1985. The Maximum Covering


Shortest Path Problem a Multiobjective Network Design and Routing
Formulation.
Gabriel Gutirrez Jarpa, Macarena Donoso, Carlos Obreque, Vladimir Marianov,
2009. Minimum cost path location for maximum traffic capture

Hamdy A. Taha, 2004. Investigaciones de operaciones, 7. Edicin. Editorial


Pearson Prentice Hall, Mxico.

Frederick S. Hillier. Gerald J. Lieberman. Introduction to Operations Research,


8th edition. Editorial McGraw-hill College.

Germn Enrique Paredes Belmar, 2008. Un Procedimiento Optimal para


resolver el median Shortest path problem.
http://cybertesis.ubiobio.cl/tesis/2008/paredes_g/doc/paredes_g.pdf

Giacomo Nannicin, 2009. Mathematical Programming: Modeling and


Applications
http://www.lix.polytechnique.fr/~giacomon/teaching/td8-slides.pdf

25

12 Anexos
12.1 Anexo A
12.1.1 Cdigo Generacin de Datos
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package instanciaio;
/**
*
* @author Kevin
*/
public class GeneradorDeDatos {
private int X[];
private int Y[];
private double array[][];
private double traffic[][];
private boolean edge[][];
private double graph[][];
private int nNodos;
private int rangoA;
private int rangoB;
public GeneradorDeDatos() {
}
public void GenenerarPuntos(int ranA,int ranB, int nN){
nNodos=nN;
rangoA=ranA;
rangoB=ranB;
X= new int[nNodos];
Y= new int[nNodos];
X = setArray(X);
Y = setArray(Y);
int contX= contDig(rangoA);
int contY= contDig(rangoB);
double rPvalue = 0.000001;
int iter=0;
long tiempoInicio = System.currentTimeMillis();
for(int i=0; i<nNodos ; i++){
boolean bool=true;
do{
X[i] = (int)(Math.random()*Math.pow(10, contX));
Y[i] = (int)(Math.random()*Math.pow(10, contY));
if(X[i]>=0 && X[i]<=rangoA && Y[i] >=0 && Y[i]<=rangoB){
bool=false;
}
}while(bool);
if(i==nNodos-1){
if(System.currentTimeMillis()-tiempoInicio>=300000){
rPvalue = rPvalue*10;
tiempoInicio= System.currentTimeMillis();
}
if(rPearson(X,Y,rPvalue)==false){
iter = iter+1;
System.out.println("Iterando...");
i=0;
}
}

26

}
System.out.println("");
System.out.println("Instancia Nodos: "+nNodos);
System.out.println(iter+" Iteraciones");
System.out.println("Coef Rp: "+rPvalue);
}
public void GenerarArcos(int disT){
if(disT==0){
distEuclidiana(nNodos);
}
if(disT==1){
distManhattan(nNodos);
}
}
public void GenerarTrafico(int maxTraffic){
traffic = new double[nNodos][nNodos];
int contT=contDig(maxTraffic);
for(int i=0; i<traffic.length;i++){
for(int j=0; j<traffic[i].length;j++){
boolean bool=true;
do{
traffic[i][j] = (int)(Math.random()*Math.pow(10, contT));
traffic[j][i] =traffic[i][j];
if(i==j){
traffic[i][j]=0;
bool=false;
}
if(traffic[i][j]>0 && traffic[i][j]<=maxTraffic){
bool=false;
}
}while(bool);
}
}
}
public void GenerarGrafo(){
for(int i = 0 ; i<edge.length;i++){
int posX = 0;
int posY = 0;
double min = 1000000000;
for(int j=0; j<edge[i].length;j++){
if(i!=j){
if(edge[i][j]==false){
if(array[i][j]<min){
min = array[i][j];
posX=i;
posY=j;
}
}
}
}
edge[posX][posY]=true;
edge[posY][posX]=true;
}
copiarMatriz();
setearDistancias();

27

public void setEdge(){


edge = new boolean[nNodos][nNodos];
edge=setArray(edge);
}
public boolean agregarArista(int i,int j){
if(i>nNodos || i<0 || j>nNodos || j<0){
return false;
}
graph[i-1][j-1]=array[i-1][j-1];
graph[j-1][i-1]=array[j-1][i-1];
edge[i-1][j-1]=true;
edge[j-1][i-1]=true;
return true;
}
public boolean eliminarArista(int i,int j){
if(i>nNodos || i<0 || j>nNodos || j<0){
return false;
}
graph[i-1][j-1]=0;
graph[j-1][i-1]=0;
edge[i-1][j-1]=false;
edge[j-1][i-1]=false;
return true;
}
private void setearDistancias(){
for(int i = 0 ; i<edge.length; i++){
for(int j=0;j<edge.length;j++){
if(edge[i][j]==false){
graph[i][j]=0;
}
}
}
}
private void copiarMatriz(){
graph= new double[nNodos][nNodos];
for(int i=0;i<graph.length;i++){
for(int j=0;j<graph[i].length;j++){
graph[i][j]=array[i][j];
}
}
}
public boolean modificarPunto(int nodo,int x1,int y1){
if(nodo>nNodos || nodo<0 || x1<0 || x1>=rangoA || y1<0 || y1>rangoB){
return false;
}
X[nodo-1]= x1;
Y[nodo-1]= y1;
return true;
}
public boolean modificartrafico(int nodoI,int nodoJ, int traf){
if(nodoI>nNodos || nodoI<0 || nodoJ>nNodos || nodoJ<0){
return false;
}
traffic[nodoI-1][nodoJ-1] = traf;
traffic[nodoJ-1][nodoI-1] = traf;
return true;
}

28
private double[][] distEuclidiana(int nNodos){
array = new double[nNodos][nNodos];
for(int i=0 ; i<array.length;i++){
for(int j=0; j<array[i].length;j++){
array[i][j]=Math.sqrt(Math.pow((X[j]-X[i]), 2)+Math.pow((Y[j]-Y[i]), 2));
}
}
return array;
}
private double[][] distManhattan(int nNodos){
array = new double[nNodos][nNodos];
for(int i=0 ; i<array.length;i++){
for(int j=0; j<array[i].length;j++){
array[i][j]=Math.abs(X[i]-X[j])+Math.abs(Y[i]-Y[j]);
}
}
return array;
}
private int contDig(int rango){
int cont=0;
while(rango!=0){
rango= (int)rango/10;
cont++;
}
return cont;
}
private boolean rPearson(int X[],int Y[], double rPvalue){
double
double
double
double
double

promX = prom(X);
promY = prom(Y);
X2=0;
Y2=0;
XY=0;

for( int i = 0 ; i<X.length && i<Y.length && X[i]!=-1 && Y[i]!=-1 ; i++){
X2 = X2 + (X[i]-promX)*(X[i]-promX);
Y2 = Y2 + (Y[i]-promY)*(Y[i]-promY);
XY = XY + (X[i]-promX)*(Y[i]-promY);
}
double rPearson = XY/(Math.sqrt(X2*Y2));
if(rPearson<rPvalue && rPearson>-rPvalue){
return true;
}
return false;
}
private double prom(int X[]){
int cont=0;
while(cont<X.length && X[cont]!=-1){
cont++;
}
double suma = 0;
for(int i=0; i<X.length && X[i]!=-1 ; i++){
suma = suma + X[i];
}
return (suma/cont);
}
private int[] setArray(int X[]){
for(int i=0 ; i<X.length; i++){
X[i]=-1;
}
return X;
}

29

private boolean[][] setArray(boolean edge[][]){


for(int i=0 ; i<edge.length;i++){
for(int j=0;j<edge[i].length;j++){
edge[i][j]=false;
}
}
return edge;
}
public int[] getX() {
return X;
}
public int[] getY() {
return Y;
}
public double[][] getArray() {
return array;
}
public double[][] getTraffic() {
return traffic;
}
public double[][] getGraph() {
return graph;
}

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

30

12.1.2 Cdigo Heurstica


* @author Kevin
*/
public class Heurstica {
private
private
private
private
private

double Obj;
boolean X[][];
boolean Y[];
boolean V[][];
int path[];

public Heurstica(int nNodos) {


X = new boolean [nNodos][nNodos];
Y = new boolean [nNodos];
V = new boolean [nNodos][nNodos];
path = new int [nNodos];
}
private void routeConnection(double graph[][], double traffic[][], double array[][], int
Or, int Dt){
setearX();
setearY();
setearV();
int pl = 0;
int i = Or-1;
while(i!=Dt-1){
double max=0;
double cost=0 ;
double sum =0;
int posX = 0;
int posY = 0;
for(int j=0; j<graph[i].length;j++){
if(Y[j]!=true){
if(graph[i][j]!=0){
if(array[j][Dt-1]<=array[i][Dt-1]){
cost = graph[i][j];
sum = traffic[i][j];
for(int k=0; k<graph[j].length;k++){
if(Y[k]!=true){
if(array[k][Dt-1]<=array[j][Dt-1]){
if(graph[j][k]!=0){
sum = sum + traffic[j][k];
}
}
}
}
if(max<(sum/cost)){
max=sum/cost;
posX = i;
posY = j;
}
}
}
}
}
X[posX][posY]=true;
Y[posX]=true;
Y[posY]=true;
path[pl]=posY;
i=posY;
pl++;
}

31
public double FunObjet(double fact, double graph[][], double traffic[][], double
array[][], int Or, int Dt){
double z=0;
routeConnection(graph,traffic,array,Or,Dt);
trafficCapture();
for(int i = 0; i<X.length ;i++){
for(int j=0 ; j<X[i].length;j++){
if(X[i][j]==true){
z = z + array[i][j];
}
if(V[i][j]==true){
z = z - traffic[i][j]*fact;
}
}
}
return z;
}
private void trafficCapture(){
for(int i = 0; i<X.length ;i++){
for(int j=0 ; j<X[i].length;j++){
if(Y[i]==true && Y[j]==true && i>j){
V[i][j]=true;
}
}
}
}

private void setearX(){


for(int i=0; i<X.length; i++){
for(int j=0; j<X[i].length ;j++){
X[i][j]=false;
}
}
}
private void setearY(){
for(int i=0; i<Y.length; i++){
Y[i]=false;
}
}
private void setearV(){
for(int i=0; i<V.length; i++){
for(int j=0; j<V[i].length ;j++){
V[i][j]=false;
}
}
}
public int[] getPath() {
return path;
}

32
public double getObj() {
return Obj;
}
public void setObj(double Obj) {
this.Obj = Obj;
}
public boolean[][] getV() {
return V;
}
public void setV(boolean[][] V) {
this.V = V;
}
public boolean[][] getX() {
return X;
}
public void setX(boolean[][] X) {
this.X = X;
}
public boolean[] getY() {
return Y;
}
public void setY(boolean[] Y) {
this.Y = Y;
}
}

33

12.2 Anexo B
12.2.1 Archivo.Mod
param nNodos;
set N:= 1..nNodos;
set A within N cross N;
param subtours >= 0, integer, default 0;
set S{1..subtours};
param Or;
param Dt;
param T{i in N,j in N};
param C{A};
param fact;
var X{A} binary;
var Y{N} binary;
var V{i in N, j in N} >=0, <=1;
minimize OBJ: sum{(i,j) in A}C[i,j]*X[i,j] - sum{ i in N, j in N: i>j}fact*T[i,j]*V[i,j];
s.t. R1: sum{j in N: (Or,j) in A}X[Or,j]=1;
s.t. R2: sum{i in N: (i,Dt) in A}X[i,Dt]=1;
s.t. R3 {j in N: j!=Or && j!= Dt}: sum{i in N: (i,j) in A && i!=Dt}X[i,j] = sum{k in N:
(j,k) in A && k!=Or }X[j,k];
s.t. R4 {j in N: j!=Or && j!= Dt}: sum{i in N: (i,j) in A}X[i,j] = Y[j];
s.t. R5 {k in N, j in N: k>j}: V[k,j]<=Y[k];
s.t. R6 {k in N, j in N: k>j}: V[k,j]<=Y[j];
s.t. subtour_elim {k in 1..subtours} :sum{i in S[k], j in S[k] : (i,j) in A} X[i,j] <=
card(S[k])-1;
# Restricciones Auxiliares
s.t. RR2:sum{j in N: (Dt,j) in A}X[Dt,j]=0;
s.t. RR1: sum{i in N: (i,Or) in A}X[i,Or]=0;

34

12.2.2 Archivo.Run
model proyecto.mod;
data proyecto.dat;
# Seleccin de Solver
option solver cplex;
option cplex_options 'timing=1 integrality=0 mipgap=0';
option presolve 0;
option cplex_options 'sensitivity';
param TCPU;
let TCPU:=0;
param Iter;
let Iter:=0;

#Tiempo de CPU

# Estructura de Datos
let subtours := 0;
param successorvertex{N} >= 0, integer;
param currentvertex >= 0, integer;
param global binary;
param subbool binary;
let global := 0;
set SP;
set SS;
set SS1;
# Parte Iterativa
repeat while (global == 0) {
# Resolver
solve;
#Imprime tiempos de CPU e iteraciones
let Iter:= Iter+1;
let TCPU:= TCPU + _solve_user_time;
printf "Iteracin= %d
Tiempo= %f
TCPU;

Acumulado= %f\n", Iter, _solve_user_time,

# Buscar Los caminos de cada vertice


for {i in N} {
let successorvertex[i] := sum{j in N : j != i && (i,j) in A} j * X[i,j];
}

# Busco Todos los Nodos Visitados


let SS:={};
for {i in N}{
if Y[i] != 0 then {
let SS:= SS union {i};
}
}
# CaminoPrincipal
let currentvertex := Or;
let SP := {};
repeat {
let SP:= SP union {currentvertex};
let currentvertex := successorvertex[currentvertex];
} until (currentvertex = successorvertex[Dt]);

35
# Condicion de termino
let SS1:= SS diff SP;
if

card(SS1) != 0 then{

# Agrego todos los posibles Subtours


let subbool:=0;
repeat while ( subbool == 0){
let subtours := subtours + 1;
for { i in SS1}{
let currentvertex := i;
let S[subtours] := {};
repeat {
let S[subtours] := S[subtours] union {currentvertex};
let currentvertex := successorvertex[currentvertex];
} until (currentvertex = i);
}
let SS1:= SS1 diff S[subtours];
if card(SS1)==0 then{
let subbool:=1;
}
}
}else{
let global:= 1;
}
}
display
display
display
display

X;
Y;
V;
OBJ;

printf "Camino Principal: (";


for {i in SP: i!=Dt} {
printf "%d -> ", i ;
}
print Dt,")";
print "";
display X.rc, X.current, X.down, X.up;
display
display
display
display
display
display

R1,R1.down,R1.up,R1.slack;
R2,R2.down,R2.up,R2.slack;
R3,R3.down,R3.up,R3.slack;
R4,R4.down,R4.up,R4.slack;
R5,R5.down,R5.up,R5.slack;
R6,R6.down,R6.up,R6.slack;

36

12.3 Anexo C
12.3.1 Instancia 1
Instancia Nodos: 15
81720 Iteraciones
Coef Rp: 1.0E-6
El Tiempo de Generacion de Datos: 8.037[seg]
Coordenadas:
Nodo
X
Y
1
4594
1396
2
4283
826
3
157
2300
4
3500
1500
5
200
1302
6
3700
3641
7
1862
3090
8
4798
3237
9
3027
4083
10
1584
3686
11
3059
2133
12
676
4653
13
2814
3147
14
4189
4969
15
4761
4043

Nodos
Series1

14

12
9

15

10

6
7

13

11
4

1
2

1000

2000

3000

4000

5000

6000

37
Matriz Distancias
1

10

11

12

13

14

15

649,
32
4528
,15
1098
,93
4395
,01
2416
,46
3214
,57
1852
,27
3110
,54
3782
,09
1702
,76
5094
,98
2496
,88
3595
,88
2652
,26

649,
32
0

4528
,15
4381
,39
0

1098
,93
1033
,13
3437
,39
0

4395
,01
4110
,65
998,
93
3305
,93
0

2416
,46
2874
,74
3788
,29
2150
,32
4209
,62
0

3214
,57
3314
,65
1879
,13
2282
,79
2441
,14
1918
,81
0

1852
,27
2465
,39
4734
,64
2168
,4
4988
,57
1169
,97
2939
,68
0

3110
,54
3490
,79
3378
,76
2625
,95
3965
,59
805,
17
1530
,78
1962
,69
0

3782
,09
3932
,45
1989
,3
2906
,83
2756
,61
2116
,48
657,
65
3245
,21
1496
,62
0

1702
,76
1790
,65
2906
,8
771,
47
2977
,32
1638
,58
1532
,53
2059
,84
1950
,26
2141
,83
0

5094
,98
5258
,93
2409
,56
4232
,78
3384
,64
3188
,84
1962
,03
4358
,43
2419
,11
1326
,48
3468
,3
0

2496
,88
2746
,82
2788
,74
1784
,15
3199
,53
1014
,41
953,
7
1986
,04
959,
93
1342
,92
1043
,18
2615
,16
0

3595
,88
4144
,07
4835
,35
3536
,76
5418
,4
1415
,17
2990
,91
1835
,95
1461
,25
2903
,81
3052
,83
3527
,18
2282
,61
0

2652
,26
3252
,32
4922
,89
2838
,48
5321
,26
1134
,6
3051
,62
806,
85
1734
,46
3197

3
4
5
6
7
8
9
10
11
12
13
14
15

4381
,39
1033
,13
4110
,65
2874
,74
3314
,65
2465
,39
3490
,79
3932
,45
1790
,65
5258
,93
2746
,82
4144
,07
3252
,32

3437
,39
998,
93
3788
,29
1879
,13
4734
,64
3378
,76
1989
,3
2906
,8
2409
,56
2788
,74
4835
,35
4922
,89

3305
,93
2150
,32
2282
,79
2168
,4
2625
,95
2906
,83
771,
47
4232
,78
1784
,15
3536
,76
2838
,48

4209
,62
2441
,14
4988
,57
3965
,59
2756
,61
2977
,32
3384
,64
3199
,53
5418
,4
5321
,26

1918
,81
1169
,97
805,
17
2116
,48
1638
,58
3188
,84
1014
,41
1415
,17
1134
,6

2939
,68
1530
,78
657,
65
1532
,53
1962
,03
953,
7
2990
,91
3051
,62

1962
,69
3245
,21
2059
,84
4358
,43
1986
,04
1835
,95
806,
85

1496
,62
1950
,26
2419
,11
959,
93
1461
,25
1734
,46

2141
,83
1326
,48
1342
,92
2903
,81
3197

3468
,3
1043
,18
3052
,83
2558
,3

2615
,16
3527
,18
4130
,29

2282
,61
2143
,27

1088
,42

2558
,3
4130
,29
2143
,27
1088
,42
0

Matriz Trfico
1

10

11

12

13

14

15

0.0
1761
.0
3300
.0
5363
.0
3397
.0
40.0

3300
.0
642.
0
0.0

5363
.0
602.
0
2136
.0
0.0

3397
.0
4406
.0
3322
.0
4942
.0
0.0

40.0

1761
.0
0.0

1066
.0
6167
.0
6652
.0
15.0

3088
.0
2846
.0
3058
.0
6511
.0
2137
.0
4732
.0
1626
.0
0.0

1875
.0
6927
.0
6322
.0
99.0

3653
.0
4936
.0
5556
.0
5475
.0
5264
.0
2368
.0
1962
.0
67.0

555.
0
4286
.0
4609
.0
4053
.0
1484
.0
3078
.0
6434
.0
5839
.0
1287
.0
6651
.0
0.0

3770
.0
5771
.0
3641
.0
2683
.0
349.
0
2354
.0
5172
.0
3039
.0
5571
.0
1141
.0
2058
.0
0.0

761.
0
5116
.0
376.
0
950.
0
6989
.0
3407
.0
951.
0
1778
.0
1465
.0
6144
.0
4190
.0
4344
.0
0.0

4749
.0
887.
0
4854
.0
3479
.0
6754
.0
2739
.0
6238
.0
931.
0
4040
.0
549.
0
4227
.0
1948
.0
2729
.0
0.0

6789
.0
2943
.0
6729
.0
4829
.0
2054
.0
4783
.0
3476
.0
6384
.0
6072
.0
3212
.0
1312
.0
6460
.0
5864
.0
5375
.0
0.0

3
4
5
6
7
8
9
10
11
12
13
14
15

1066
.0
3088
.0
1875
.0
3653
.0
555.
0
3770
.0
761.
0
4749
.0
6789
.0

642.
0
602.
0
4406
.0
2714
.0
6167
.0
2846
.0
6927
.0
4936
.0
4286
.0
5771
.0
5116
.0
887.
0
2943
.0

2136
.0
3322
.0
5289
.0
6652
.0
3058
.0
6322
.0
5556
.0
4609
.0
3641
.0
376.
0
4854
.0
6729
.0

4942
.0
2312
.0
15.0
6511
.0
99.0
5475
.0
4053
.0
2683
.0
950.
0
3479
.0
4829
.0

3935
.0
1694
.0
2137
.0
6216
.0
5264
.0
1484
.0
349.
0
6989
.0
6754
.0
2054
.0

2714
.0
5289
.0
2312
.0
3935
.0
0.0
4126
.0
4732
.0
1486
.0
2368
.0
3078
.0
2354
.0
3407
.0
2739
.0
4783
.0

1694
.0
4126
.0
0.0
1626
.0
6916
.0
1962
.0
6434
.0
5172
.0
951.
0
6238
.0
3476
.0

5195
.0
67.0
5839
.0
3039
.0
1778
.0
931.
0
6384
.0

6216
.0
1486
.0
6916
.0
5195
.0
0.0
3109
.0
1287
.0
5571
.0
1465
.0
4040
.0
6072
.0

3109
.0
0.0
6651
.0
1141
.0
6144
.0
549.
0
3212
.0

2058
.0
4190
.0
4227
.0
1312
.0

4344
.0
1948
.0
6460
.0

2729
.0
5864
.0

5375
.0

38

Grafo
1

10

11

12

13

14

15

1852
,27
0

649,
32
0

1098
,93
1033
,13
0

649,
32
0

2441
,14
0

998,
93
0

1532
,53
0

1962
,03
0

11

1043
,18
0

15

806,
85

959,
93
1461
,25
0

1986
,04
0

14

1014
,41
1415
,17
1134
,6

1326
,48
0

13

2409
,56
0

1043
,18
0

2977
,32
0

1326
,48
0

12

771,
47
0

1530
,78
657,
65
1532
,53
1962
,03
953,
7
0

806,
85
0

10

1169
,97
805,
17
0

657,
65
0

1134
,6
0

1852
,27
0

2441
,14
0

1014
,41
953,
7
1986
,04
959,
93
0

1415
,17
0

1879
,13
0

805,
17
1530
,78
0

1169
,97
0

771,
47
2977
,32
0

2409
,56
0

1033
,13
0

1879
,13
0

1098
,93
0

998,
93
0

1088
,42

1088
,42
0

3
4

1461
,25
0

39
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective 2119.725
137 MIP simplex iterations
0 branch-and-bound nodes
suffix up OUT;
suffix down OUT;
suffix current OUT;
Iteracion= 1 Tiempo= 0.000000 Acumulado= 0.000000
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective 3052.605
291 MIP simplex iterations
0 branch-and-bound nodes
Iteracion= 2 Tiempo= 0.046800 Acumulado= 0.046800
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective 3302.785
313 MIP simplex iterations
0 branch-and-bound nodes
Iteracion= 3 Tiempo= 0.078001 Acumulado= 0.124801
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective 3495.54
457 MIP simplex iterations
0 branch-and-bound nodes
Iteracion= 4 Tiempo= 0.093601 Acumulado= 0.218401
X [*,*]
: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 :=
1 . 0 . 0 . . . 0 . . . . . . .
2 0 . . 0 . . . . . . . . . . .
3 . . . . 0 . 1 . . . . 0 . . .
4 0 0 . . . . . . . . 0 . . . .
5 . . 0 . . . 0 . . . 0 . . . .
6 . . . . . . . 0 0 . . . 0 0 1
7 . . 0 . 0 . . . 0 0 0 0 1 . .
8 0 . . . . 0 . . . . . . 0 . 0
9 . . . . . 1 0 . . . . . 0 0 .
10 . . . . . . 0 . . . . 0 . . .
11 . . . 0 0 . 0 . . . . . 0 . .
12 . . 0 . . . 0 . . 0 . . . . .
13 . . . . . 0 0 0 1 . 0 . . . .
14 . . . . . 0 . . 0 . . . . . 0
15 . . . . . 0 . 0 . . . . . 0 .
;

40
Y [*] :=
10
20
31
40
50
61
71
80
91
10 0
11 0
12 0
13 1
14 0
15 1
;
V [*,*]
: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 :=
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
7 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0
14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 0 0 1 0 0 1 1 0 1 0 0 0 1 0 0
;
OBJ = 3495.54
Camino Principal: (3 -> 7 -> 13 -> 9 -> 6 -> 15 )

Utilizando Heuristica
La Ruta Generada es:
3-> 7-> 9-> 6-> 8-> 15
Valor Objetivo: 3642.2754704178205
El Tiempo de Solucin: 0.002[Seg]

41

12.3.2 Instancia 2
Instancia Nodos: 15
81720 Iteraciones
Coef Rp: 1.0E-6
El Tiempo de Generacion de Datos: 8.037[seg]

Coordenadas:
Nodo
X
1
475
2
258
3
1804
4
1814
5
1117
6
1566
7
4911
8
997
9
4193
10
4600
11
1298
12
3393
13
3285
14
2260
15
4090

Y
1797
330
815
2569
2268
2989
584
4156
54
3200
4734
3259
2112
3468
4633

42

Matriz Distancias
1

10

11

12

13

14

15

1482
,96
1652
,44
1545
,61
796,
24
1615
,9
4598
,85
2416
,06
4106
,28
4357
,07
3050
,13
3263
,77
2827
,6
2445
,09
4594
,68

1482
,96
0

1652
,44
1620
,29
0

1545
,61
2726
,58
1754
,03
0

796,
24
2119
,84
1607
,23
759,
22
0

1615
,9
2963
,3
2186
,99
487,
75
849,
38
0

4598
,85
4659
,93
3115
,58
3678
,54
4150
,94
4119
,84
0

2416
,06
3896
,72
3437
,08
1784
,95
1891
,81
1298
,33
5298
,92
0

4106
,28
3944
,67
2507
,28
3461
,92
3789
,93
3938
,95
892,
43
5200
,08
0

4357
,07
5204
,79
3675
,03
2856
,56
3605
,54
3041
,33
2634
,42
3727
,67
3172
,22
0

3050
,13
4525
,13
3951
,53
2225
,64
2472
,63
1765
,46
5502
,39
651,
68
5503
,04
3640
,93
0

3263
,77
4290
,37
2915
,14
1723
,18
2482
,39
1846
,84
3075
,7
2558
,4
3303
,34
1208
,44
2562
,16
0

2827
,6
3512
,58
1968
,65
1540
,35
2173
,61
1929
,79
2231
,29
3068
,04
2249
,41
1706
,74
3289
,84
1152
,07
0

2445
,09
3722
,24
2691
,9
1003
,55
1657
,24
843,
25
3917
,3
1438
,23
3923
,25
2355
,3
1590
,03
1152
,12
1699
,81
0

4594
,68
5761
,95
4450
,05
3072
,5
3798
,94
3012
,19
4131
,4
3129
,57
4580
,16
1521
,05
2793
,83
1540
,68
2646
,41
2169
,36
0

3
4
5
6
7
8
9
10
11
12
13
14
15

1620
,29
2726
,58
2119
,84
2963
,3
4659
,93
3896
,72
3944
,67
5204
,79
4525
,13
4290
,37
3512
,58
3722
,24
5761
,95

1754
,03
1607
,23
2186
,99
3115
,58
3437
,08
2507
,28
3675
,03
3951
,53
2915
,14
1968
,65
2691
,9
4450
,05

759,
22
487,
75
3678
,54
1784
,95
3461
,92
2856
,56
2225
,64
1723
,18
1540
,35
1003
,55
3072
,5

849,
38
4150
,94
1891
,81
3789
,93
3605
,54
2472
,63
2482
,39
2173
,61
1657
,24
3798
,94

4119
,84
1298
,33
3938
,95
3041
,33
1765
,46
1846
,84
1929
,79
843,
25
3012
,19

5298
,92
892,
43
2634
,42
5502
,39
3075
,7
2231
,29
3917
,3
4131
,4

5200
,08
3727
,67
651,
68
2558
,4
3068
,04
1438
,23
3129
,57

3172
,22
5503
,04
3303
,34
2249
,41
3923
,25
4580
,16

3640
,93
1208
,44
1706
,74
2355
,3
1521
,05

2562
,16
3289
,84
1590
,03
2793
,83

1152
,07
1152
,12
1540
,68

1699
,81
2646
,41

2169
,36

Matriz de Trafico
1

10

11

12

13

14

15

0.0

1544
.0
1842
.0
2973
.0
5934
.0
3571
.0
6535
.0
3548
.0
1765
.0
645.
0
1530
.0
2319
.0
4590
.0
2591
.0
5836
.0

1544
.0
0.0

1842
.0
6863
.0
0.0

2973
.0
4770
.0
2947
.0
0.0

5934
.0
658.
0
337.
0
428.
0
0.0

3571
.0
5364
.0
1346
.0
3631
.0
6528
.0
0.0

6535
.0
115.
0
3452
.0
1223
.0
1314
.0
134.
0
0.0

3548
.0
6782
.0
1115
.0
3382
.0
4540
.0
3320
.0
1466
.0
0.0

1765
.0
4941
.0
1433
.0
1045
.0
4823
.0
5313
.0
5751
.0
6012
.0
0.0

645.
0
5169
.0
1939
.0
2324
.0
2014
.0
2291
.0
991.
0
6811
.0
6939
.0
0.0

1530
.0
873.
0
6363
.0
3289
.0
440.
0
4217
.0
3409
.0
478.
0
1995
.0
4106
.0
0.0

2319
.0
1197
.0
543.
0
296.
0
4645
.0
4699
.0
6037
.0
1865
.0
5366
.0
655.
0
6366
.0
0.0

4590
.0
3380
.0
1762
.0
2400
.0
2708
.0
600.
0
3840
.0
3765
.0
1712
.0
6937
.0
1165
.0
309.
0
0.0

2591
.0
1050
.0
801.
0
2920
.0
2209
.0
6175
.0
434.
0
1701
.0
4964
.0
6255
.0
6864
.0
1772
.0
3275
.0
0.0

5836
.0
1016
.0
6536
.0
4605
.0
3692
.0
189.
0
3787
.0
1486
.0
445.
0
2733
.0
6641
.0
1417
.0
5685
.0
2861
.0
0.0

3
4
5
6
7
8
9
10
11
12
13
14
15

6863
.0
4770
.0
658.
0
5364
.0
115.
0
6782
.0
4941
.0
5169
.0
873.
0
1197
.0
3380
.0
1050
.0
1016
.0

2947
.0
337.
0
1346
.0
3452
.0
1115
.0
1433
.0
1939
.0
6363
.0
543.
0
1762
.0
801.
0
6536
.0

428.
0
3631
.0
1223
.0
3382
.0
1045
.0
2324
.0
3289
.0
296.
0
2400
.0
2920
.0
4605
.0

6528
.0
1314
.0
4540
.0
4823
.0
2014
.0
440.
0
4645
.0
2708
.0
2209
.0
3692
.0

134.
0
3320
.0
5313
.0
2291
.0
4217
.0
4699
.0
600.
0
6175
.0
189.
0

1466
.0
5751
.0
991.
0
3409
.0
6037
.0
3840
.0
434.
0
3787
.0

6012
.0
6811
.0
478.
0
1865
.0
3765
.0
1701
.0
1486
.0

6939
.0
1995
.0
5366
.0
1712
.0
4964
.0
445.
0

4106
.0
655.
0
6937
.0
6255
.0
2733
.0

6366
.0
1165
.0
6864
.0
6641
.0

309.
0
1772
.0
1417
.0

3275
.0
5685
.0

2861
.0

43

Grafo
1

10

11

12

13

14

15

796,
24
0

1615
,9
0

2416
,06
0

1482
,96
1652
,44
0

1652
,44
1620
,29
0

1482
,96
0

1607
,23
759,
22
0

487,
75
849,
38
0

2507
,28
0

2634
,42
0

0
0

2231
,29
0

1003
,55
1657
,24
843,
25
0

1540
,35
0

1438
,23
0

2355
,3
1590
,03
1152
,12
1699
,81
0

1521
,05
2793
,83
1540
,68
0

3
4

1620
,29
0

0
1754
,03
0

1754
,03
1607
,23
0

759,
22
487,
75
0

2416
,06
0

892,
43
0

11

892,
43
2634
,42
0

10

2507
,28
0

651,
68
0

12

651,
68
0

1208
,44
0

13

15

1657
,24
0

843,
25
0

2249
,41
0

2231
,29
0

14

1540
,35
1003
,55
0

1208
,44
1706
,74
2355
,3
1521
,05

1152
,07
1152
,12
1540
,68

5
6
7
8

796,
24
1615
,9
0

849,
38
0

1438
,23
0

1590
,03
2793
,83

2249
,41
1706
,74
0
1152
,07
0
1699
,81
0

2169
,36

0
0
0

2169
,36
0

44
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective -1222.18
108 MIP simplex iterations
0 branch-and-bound nodes
suffix up OUT;
suffix down OUT;
suffix current OUT;
Iteracion= 1 Tiempo= 0.000000 Acumulado= 0.000000
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective 1329.81
175 MIP simplex iterations
0 branch-and-bound nodes
Iteracion= 2 Tiempo= 0.000000 Acumulado= 0.000000
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective 2498.63
312 MIP simplex iterations
0 branch-and-bound nodes
Iteracion= 3 Tiempo= 0.062400 Acumulado= 0.062400
X [*,*]
: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 :=
1 . 0 0 . 1 0 . 0 . . . . . . .
2 1 . 0 . . . . . . . . . . . .
3 0 0 . 0 0 . . . 0 . . . . . .
4 . . 0 . 0 1 . . . . . . 0 0 .
5 0 . 0 1 . 0 . . . . . . . 0 .
6 0 . . 0 0 . . . . . . . . 1 .
7 . . . . . . . . 0 0 . . 0 . .
8 0 . . . . . . . . . 0 . . 0 .
9 . . 0 . . . 0 . . . . . 0 . .
10 . . . . . . 0 . . . . 0 0 0 0
11 . . . . . . . 0 . . . . . 0 0
12 . . . . . . . . . 1 . . 0 0 0
13 . . . 0 . . 0 . 0 0 . 0 . 0 .
14 . . . 0 0 0 . 0 . 0 0 1 0 . 0
15 . . . . . . . . . 0 0 0 . 0 .
;

45
Y [*] :=
11
21
30
41
51
61
70
80
90
10 1
11 0
12 1
13 0
14 1
15 0
;
V [*,*]
: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 :=
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
5 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
6 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 1 1 0 1 1 1 0 0 0 1 0 1 0 0 0
15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
;
OBJ = 2498.63
Camino Principal: (2 -> 1 -> 5 -> 4 -> 6 -> 14 -> 12 -> 10 )

Utilizando Heuristica
La Ruta Generada es:
2-> 5-> 6-> 14-> 13-> 10
Valor Objetivo: 3703.9923875655795
El Tiempo de Solucin: 0.0[Seg]

46

12.3.3 Instancia 3
Instancia Nodos: 15
81720 Iteraciones
Coef Rp: 1.0E-6
El Tiempo de Generacion de Datos: 8.037[seg]

Coordenadas:
Nodo
X
1
4605
2
438
3
1118
4
95
5
3700
6
567
7
907
8
2063
9
2725
10
1960
11
1151
12
3500
13
1788
14
1889
15
4471

Y
963
3973
3954
2375
3300
1599
830
878
3227
4814
4897
4500
2452
50
4967

47
MATRIZ DE DISTANCIAS
1

10

11

12

13

14

15

5140
,43
4594
,05
4725
,87
2506
,11
4087
,78
3700
,39
2543
,42
2942
,8
4671
,85
5235
,12
3705
,59
3186
,32
2865
,35
4006
,24

5140
,43
0

4594
,05
680,
27
0

4725
,87
1634
,4
1881
,43
0

2506
,11
3330
,7
2663
,54
3721
,78
0

4087
,78
2377
,5
2418
,6
908,
27
3564
,98
0

3700
,39
3177
,8
3131
,12
1745
,39
3728
,5
840,
81
0

2543
,42
3495
,66
3217
,89
2472
,66
2923
,33
1660
,68
1157

1157

3008
,44
4120
,81
4074
,31
4493
,61
1845
,82
1254
,08
5460
,48

2440
,5
3937
,35
4121
,18
3896
,65
1597
,84
846,
09
4745
,35

2942
,8
2405
,59
1763
,8
2764
,56
977,
73
2703
,21
3008
,44
2440
,5
0

4671
,85
1738
,9
1203
,56
3070
,33
2306
,47
3503
,81
4120
,81
3937
,35
1761
,76
0

5235
,12
1167
,11
943,
58
2734
,16
3007
,96
3349
,31
4074
,31
4121
,18
2294
,86
813,
25
0

3705
,59
3107
,02
2443
,78
4013
,68
1216
,55
4125
,32
4493
,61
3896
,65
1490
,35
1571
,69
2382
,31
0

3186
,32
2033
,7
1644
,66
1694
,75
2091
,61
1489
,45
1845
,82
1597
,84
1215
,97
2368
,25
2526
,62
2669
,32
0

2865
,35
4182
,74
3979
,4
2936
,68
3720
,51
2036
,44
1254
,08
846,
09
3285
,15
4764
,53
4902
,86
4732
,63
2404
,12
0

4006
,24
4153
,69
3502
,68
5086
,04
1836
,66
5156
,03
5460
,48
4745
,35
2464
,98
2515
,66
3320
,74
1077
,46
3677
,46
5553
,7
0

3
4
5
6
7
8
9
10
11
12
13
14
15

680,
27
1634
,4
3330
,7
2377
,5
3177
,8
3495
,66
2405
,59
1738
,9
1167
,11
3107
,02
2033
,7
4182
,74
4153
,69

1881
,43
2663
,54
2418
,6
3131
,12
3217
,89
1763
,8
1203
,56
943,
58
2443
,78
1644
,66
3979
,4
3502
,68

3721
,78
908,
27
1745
,39
2472
,66
2764
,56
3070
,33
2734
,16
4013
,68
1694
,75
2936
,68
5086
,04

3564
,98
3728
,5
2923
,33
977,
73
2306
,47
3007
,96
1216
,55
2091
,61
3720
,51
1836
,66

840,
81
1660
,68
2703
,21
3503
,81
3349
,31
4125
,32
1489
,45
2036
,44
5156
,03

1761
,76
2294
,86
1490
,35
1215
,97
3285
,15
2464
,98

813,
25
1571
,69
2368
,25
4764
,53
2515
,66

2382
,31
2526
,62
4902
,86
3320
,74

2669
,32
4732
,63
1077
,46

2404
,12
3677
,46

5553
,7

MATRIZ DE TRFICO
1

10

11

12

13

14

15

0.0

3136
.0
5297
.0
5850
.0
3245
.0
6325
.0
116.
0
430.
0
6388
.0
6206
.0
2087
.0
566.
0
6768
.0
4431
.0
460.
0

3136
.0
0.0

5297
.0
5320
.0
0.0

5850
.0
5442
.0
6072
.0
0.0

3245
.0
6241
.0
2095
.0
170.
0
0.0

6325
.0
4739
.0
2323
.0
1652
.0
4790
.0
0.0

116.
0
3845
.0
2296
.0
5147
.0
5690
.0
2243
.0
0.0

430.
0
1549
.0
5354
.0
3646
.0
6327
.0
6618
.0
4964
.0
0.0

6388
.0
6524
.0
6528
.0
5276
.0
2187
.0
2328
.0
5575
.0
170.
0
0.0

6206
.0
1258
.0
2057
.0
3120
.0
6276
.0
6742
.0
5596
.0
6678
.0
4405
.0
0.0

2087
.0
3340
.0
40.0

566.
0
4695
.0
4396
.0
6861
.0
5406
.0
1841
.0
6719
.0
4246
.0
5209
.0
63.0

6768
.0
67.0

2811
.0
0.0

2749
.0
4751
.0
0.0

4431
.0
5307
.0
5905
.0
2747
.0
5681
.0
4124
.0
2358
.0
2316
.0
1148
.0
3179
.0
539.
0
5152
.0
972.
0
0.0

460.
0
5931
.0
4537
.0
3202
.0
421.
0
1669
.0
5941
.0
5517
.0
5031
.0
1800
.0
4864
.0
243.
0
4740
.0
1936
.0
0.0

3
4
5
6
7
8
9
10
11
12
13
14
15

5320
.0
5442
.0
6241
.0
4739
.0
3845
.0
1549
.0
6524
.0
1258
.0
3340
.0
4695
.0
67.0
5307
.0
5931
.0

6072
.0
2095
.0
2323
.0
2296
.0
5354
.0
6528
.0
2057
.0
40.0
4396
.0
3968
.0
5905
.0
4537
.0

170.
0
1652
.0
5147
.0
3646
.0
5276
.0
3120
.0
4140
.0
6861
.0
900.
0
2747
.0
3202
.0

4790
.0
5690
.0
6327
.0
2187
.0
6276
.0
294.
0
5406
.0
5563
.0
5681
.0
421.
0

2243
.0
6618
.0
2328
.0
6742
.0
3361
.0
1841
.0
2418
.0
4124
.0
1669
.0

4964
.0
5575
.0
5596
.0
1153
.0
6719
.0
5986
.0
2358
.0
5941
.0

170.
0
6678
.0
1359
.0
4246
.0
642.
0
2316
.0
5517
.0

4405
.0
181.
0
5209
.0
5786
.0
1148
.0
5031
.0

1661
.0
63.0
51.0
3179
.0
1800
.0

4140
.0
294.
0
3361
.0
1153
.0
1359
.0
181.
0
1661
.0
0.0
2811
.0
2749
.0
539.
0
4864
.0

4751
.0
5152
.0
243.
0

3968
.0
900.
0
5563
.0
2418
.0
5986
.0
642.
0
5786
.0
51.0

972.
0
4740
.0

1936
.0

48

Grafo
1

10

11

12

13

14

15

1157

1489
,45
0

1836
,66
0

840,
81
0

977,
73
0

2506
,11
0

1644
,66
1694
,75
0

1203
,56
0

680,
27
1634
,4
0

1167
,11
943,
58
0

1634
,4
1881
,43
0

4006
,24
0

680,
27
0

2942
,8
0

2543
,42
0

2506
,11
0

1157

2440
,5
0

1761
,76
0

0
813,
25
0

1490
,35
1571
,69
0

1597
,84
1215
,97
2368
,25
0

1881
,43
0

908,
27
0

840,
81
0

908,
27
0

2440
,5
0

11

12

1167
,11
0

1203
,56
943,
58
0

977,
73
0

10

2543
,42
2942
,8
0

13

0
0

1489
,45
0

1694
,75
0

14

1644
,66
0

15

4006
,24

1836
,66

1597
,84
846,
09
0

1254
,08
0

1761
,76
0
1490
,35
1215
,97
0

813,
25
1571
,69
2368
,25
0

1254
,08
846,
09
0

1077
,46
0

1077
,46

0
0

49
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective 4638.55
171 MIP simplex iterations
0 branch-and-bound nodes
suffix up OUT;
suffix down OUT;
suffix current OUT;
Iteracion= 1 Tiempo= 0.015600 Acumulado= 0.015600
X [*,*]
: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 :=
1 . . . . 0 . . 0 0 . . . . . 0
2 . . 0 0 . . . . . . 0 . . . .
3 . 0 . 0 . . . . . 0 0 . 0 . .
4 . 0 0 . . 0 . . . . . . 1 . .
5 0 . . . . . . . 0 . . . . . 0
6 . . . 0 . . 0 . . . . . 0 . .
7 . . . . . 0 . 0 . . . . . 0 .
8 0 . . . . . 0 . 0 . . . 0 0 .
9 0 . . . 0 . . 0 . 0 . 1 0 . .
10 . . 0 . . . . . 0 . 0 0 0 . .
11 . 0 0 . . . . . . 0 . . . . .
12 . . . . . . . . 0 0 . . . . 1
13 . . 0 0 . 0 . 0 1 0 . . . . .
14 . . . . . . 0 0 . . . . . . .
15 0 . . . 0 . . . . . . 0 . . .
;

50
Y [*] :=
10
20
30
41
50
60
70
80
91
10 0
11 0
12 1
13 1
14 0
15 1
;
V [*,*]
: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 :=
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
13 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0
;
OBJ = 4638.55
Camino Principal: (4 -> 13 -> 9 -> 12 -> 15 )

Utilizando Heuristica
La Ruta Generada es:
4-> 2-> 3-> 10-> 9-> 12-> 15
Valor Objetivo: 6088.402309864763
El Tiempo de Solucin: 0.016[Seg]

51

12.3.4 Instancia 4
Instancia Nodos: 15
151753 Iteraciones
Coef Rp: 1.0E-6
Coordenadas:
Nodo
X
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

El Tiempo de Generacion de Datos: 18.205000000000002[seg]

Y
1251
1703
4669
2698
311
3660
3033
3204
3496
1980
2113
1083
335
631
981

1687
3230
3790
1306
4902
382
3750
2299
4799
12
4988
4666
3600
291
3382

52
MATRIZ DE DISTANCIAS
1

10

11

12

13

14

15

0
1607
,84
4013
,15
1496
,32
3349
,6
2739
,76
2726
,08
2046
,64
3837
,26
1826
,76
3411
,69
2983
,73
2121

4013
,15
3018
,4
0

1496
,32
2166
,06
3170
,98
0

3349
,6
2175
,6
4497
,63
4316
,13
0

2739
,76
3455
,57
3554
,23
1333
,87
5625
,5
0

2726
,08
1428
,04
1636
,49
2466
,85
2955
,74
3425
,87
0

2046
,64
1766
,28
2090
,29
1114
,49
3891
,67
1970
,49
1461
,04
0

3837
,26
2382
,56
1547
,26
3582
,99
3186
,67
4420
,04
1146
,63
2517

2517

2593
,94
2901
,9
3178
,26
3150
,2
3263
,8
2472
,78

5021
,32
1395
,85
2416
,66
3380
,76
5341
,38
2886
,71

1826
,76
3229
,9
4637
,24
1479
,85
5166
,98
1720
,26
3883
,48
2593
,94
5021
,32
0

3411
,69
1805
,18
2822
,82
3728
,18
1804
,05
4858
,85
1542
,41
2901
,9
1395
,85
4977
,78
0

2983
,73
1564
,13
3691
,45
3727
,98
807,
27
4999
,36
2154
,43
3178
,26
2416
,66
4739
,65
1079
,16
0

2121

1607
,84
0

1527
,49
3128
,4
5343
,07
2302
,76
4622
,09
3030
,37
4211
,21
3263
,8
5341
,38
1377
,55
4925
,25
4398
,29
3322
,21
0

1716
,37
737,
83
3710
,5
2694
,04
1661
,11
4022
,07
2084
,74
2472
,78
2886
,71
3514
,95
1964
,86
1288
,05
681,
79
3110
,75
0

3
4
5
6
7
8
9
10
11
12
13
14
15

1527
,49
1716
,37

3018
,4
2166
,06
2175
,6
3455
,57
1428
,04
1766
,28
2382
,56
3229
,9
1805
,18
1564
,13
1417
,15
3128
,4
737,
83

3170
,98
4497
,63
3554
,23
1636
,49
2090
,29
1547
,26
4637
,24
2822
,82
3691
,45
4338
,16
5343
,07
3710
,5

4316
,13
1333
,87
2466
,85
1114
,49
3582
,99
1479
,85
3728
,18
3727
,98
3293
,36
2302
,76
2694
,04

5625
,5
2955
,74
3891
,67
3186
,67
5166
,98
1804
,05
807,
27
1302
,22
4622
,09
1661
,11

3425
,87
1970
,49
4420
,04
1720
,26
4858
,85
4999
,36
4627
,22
3030
,37
4022
,07

1461
,04
1146
,63
3883
,48
1542
,41
2154
,43
2702
,17
4211
,21
2084
,74

4977
,78
4739
,65
3947
,12
1377
,55
3514
,95

1079
,16
2255
,62
4925
,25
1964
,86

1302
,25
4398
,29
1288
,05

1417
,15
4338
,16
3293
,36
1302
,22
4627
,22
2702
,17
3150
,2
3380
,76
3947
,12
2255
,62
1302
,25
0
3322
,21
681,
79

3110
,75

MATRIZ DE TRFICO
1

10

11

12

13

14

15

0.0

5975
.0
3169
.0
2455
.0
4136
.0
5239
.0
5341
.0
2315
.0
2960
.0
5689
.0
3064
.0
1471
.0
2493
.0
1886
.0
6353
.0

5975
.0
0.0

3169
.0
1911
.0
0.0

2455
.0
6019
.0
4730
.0
0.0

4136
.0
2192
.0
2142
.0
4850
.0
0.0

5239
.0
4728
.0
2294
.0
3399
.0
6422
.0
0.0

5341
.0
1549
.0
1329
.0
1690
.0
2927
.0
5697
.0
0.0

2315
.0
1358
.0
5184
.0
5504
.0
2942
.0
6200
.0
47.0

47.0

0.0

3121
.0
3648
.0
2006
.0
4371
.0
4321
.0
5045
.0
748.
0

4167
.0
1132
.0
2777
.0
2978
.0
1210
.0
1299
.0
4976
.0

2960
.0
5017
.0
5661
.0
1994
.0
3756
.0
6895
.0
3121
.0
4167
.0
0.0

5689
.0
1411
.0
3036
.0
6608
.0
1578
.0
360.
0
3648
.0
1132
.0
5424
.0
0.0

3064
.0
700.
0
1697
.0
6476
.0
1553
.0
1412
.0
2006
.0
2777
.0
1604
.0
1379
.0
0.0

1471
.0
6506
.0
1458
.0
3506
.0
380.
0
4244
.0
4371
.0
2978
.0
6753
.0
4255
.0
4004
.0
0.0

2493
.0
5260
.0
5078
.0
3379
.0
1040
.0
3283
.0
4321
.0
1210
.0
426.
0
2145
.0
5354
.0
250.
0
0.0

1886
.0
3974
.0
3534
.0
6382
.0
2798
.0
4512
.0
5045
.0
1299
.0
3587
.0
4200
.0
2825
.0
2898
.0
933.
0
0.0

6353
.0
1845
.0
1573
.0
856.
0
6048
.0
492.
0
748.
0
4976
.0
6052
.0
3143
.0
6853
.0
3099
.0
202.
0
6696
.0
0.0

3
4
5
6
7
8
9
10
11
12
13
14
15

1911
.0
6019
.0
2192
.0
4728
.0
1549
.0
1358
.0
5017
.0
1411
.0
700.
0
6506
.0
5260
.0
3974
.0
1845
.0

4730
.0
2142
.0
2294
.0
1329
.0
5184
.0
5661
.0
3036
.0
1697
.0
1458
.0
5078
.0
3534
.0
1573
.0

4850
.0
3399
.0
1690
.0
5504
.0
1994
.0
6608
.0
6476
.0
3506
.0
3379
.0
6382
.0
856.
0

6422
.0
2927
.0
2942
.0
3756
.0
1578
.0
1553
.0
380.
0
1040
.0
2798
.0
6048
.0

5697
.0
6200
.0
6895
.0
360.
0
1412
.0
4244
.0
3283
.0
4512
.0
492.
0

5424
.0
1604
.0
6753
.0
426.
0
3587
.0
6052
.0

1379
.0
4255
.0
2145
.0
4200
.0
3143
.0

4004
.0
5354
.0
2825
.0
6853
.0

250.
0
2898
.0
3099
.0

933.
0
202.
0

6696
.0

53
GRAFO
1

10

11

12

13

14

15

2121

1527
,49
0

1716
,37
737,
83
0

1479
,85
0

1496
,32
0

3554
,23
1333
,87
0

1428
,04
1636
,49
0

1826
,76
0

2046
,64
1766
,28
2090
,29
1114
,49
0

1607
,84
0

1496
,32
0

1607
,84
0

1720
,26
0

0
0

2046
,64
0

1428
,04
1766
,28
2382
,56
0

1114
,49
0

1970
,49
0

1395
,85
0

0
0

1079
,16
0

1079
,16
0

807,
27
1302
,22
0

1395
,85
0

1377
,55
0

1479
,85
0

1461
,04
1146
,63
0

1970
,49
1461
,04
0

1333
,87
0

1661
,11
0

3554
,23
1636
,49
2090
,29
1547
,26
0

1302
,22
0

807,
27
0

1661
,11

1377
,55
0

1288
,05

3322
,21
681,
79

3322
,21
0

1288
,05
681,
79
0

3
4

9
10
11

1826
,76
0

12

13

2121

14

1527
,49
1716
,37

737,
83

15

1720
,26
0

2382
,56
1547
,26
0
0

1146
,63
0

54
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective 3191.99
282 MIP simplex iterations
0 branch-and-bound nodes
suffix up OUT;
suffix down OUT;
suffix current OUT;
Iteracion= 1 Tiempo= 0.078001 Acumulado= 0.078001
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective 3193.66
269 MIP simplex iterations
0 branch-and-bound nodes
Iteracion= 2 Tiempo= 0.093601 Acumulado= 0.171601
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective 3230.79
314 MIP simplex iterations
0 branch-and-bound nodes
Iteracion= 3 Tiempo= 0.046800 Acumulado= 0.218401
CPLEX 11.2.0: sensitivity
CPLEX 11.2.0: optimal integer solution; objective 3906.03
628 MIP simplex iterations
0 branch-and-bound nodes
Iteracion= 4 Tiempo= 0.187201 Acumulado= 0.405603
X [*,*]
: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 :=
1 . 0 . 0 . . . 0 . 0 . . 0 0 0
2 0 . . . . . 0 0 0 . . . . . 1
3 . . . . . 0 0 0 0 . . . . . .
4 0 . . . . 0 . 1 . 0 . . . . .
5 . . . . . . . . . . . 0 0 . 0
6 . . 0 1 . . . 0 . 0 . . . . .
7 . 0 0 . . . . 0 0 . . . . . .
8 0 1 0 0 . 0 0 . . . . . . . .
9 . 0 0 . . . 0 . . . 0 . . . .
10 0 . . 0 . 0 . . . . . . . 0 .
11 . . . . . . . . 0 . . 0 . . .
12 . . . . 1 . . . . . 0 . . . 0
13 0 . . . 0 . . . . . . . . 0 0
14 0 . . . . . . . . 0 . . 0 . .
15 0 0 . . 0 . . . . . . 1 0 . .
;

55
Y [*] :=
10
21
30
41
51
61
70
81
90
10 0
11 0
12 1
13 0
14 0
15 1
;
V [*,*]
: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 :=
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
5 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
6 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 0 1 0 1 1 1 0 1 0 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 0 1 0 1 1 1 0 1 0 0 0 1 0 0 0
;
OBJ = 3906.03
Camino Principal: (6 -> 4 -> 8 -> 2 -> 15 -> 12 -> 5 )

Utilizando Heurstica
La Ruta Generada es:
6-> 10-> 15-> 5
Valor Objetivo: 5346.109212612864
El Tiempo de Solucin: 0.001[Seg]

You might also like