Está en la página 1de 10

Facultad: Ingeniería Industrial

Departamento: Ingeniería Industrial


Disciplina: Estadística e Investigación de Operaciones
Asignatura: Investigación de Operaciones 2

Tema 1: Decisiones Secuenciales

Actividad 1.1: Presentación del Problema del Agente Viajero (PAV).

Sumario:
1. Descripción del Problema del Agente Viajero (PAV).
2. Aplicaciones del Problema del Agente Viajero (PAV).
3. Modelo de programación lineal para el problema del agente viajero (PAV).

Objetivos:

Al concluir el estudio de esta clase, el alumno debe ser capaz de:

1. Conocer lo elementos fundamentales para formular el problema del agente viajero


(PAV).
2. Identificar situaciones de la vida real que pueden formularse como un problema del
agente viajero.
3. Dada una situación de la vida real, identificar la información necesaria y estructurarla
como un problema del agente viajero con todos sus elementos.

Orientaciones para el auto-aprendizaje:


1. Estudiar el material correspondiente a la Actividad 1.1.1 (las dudas serán canalizadas
por los foros de debates que se habiliten al respecto).
2. Realizar las preguntas de comprobación de conocimientos que se proponen.
3. Realizar y discutir los ejercicios de aplicación que se proponen.

Caso de estudio: Comercio Electrónico (www.tuenvio.cu)


La corporación CIMEX, como parte del perfeccionamiento
del comercio electrónico, ha concentrado las ventas
provinciales de sus mercancías en un único establecimiento.
Diariamente, desde este punto deben salir los vehículos para
realizar la distribución de las mercancías, visitando a aquellos clientes que compran en la
modalidad de entrega a domicilio. La distribución de dichas mercancías puede ser realizada
por vehículos de la propia entidad o por terceros a los que se les subcontrate el servicio
(estatales, cooperativas o privados). Al finalizar cada recorrido los vehículos deben regresar
hasta el establecimiento de CIMEX para entregar las “Actas de entrega de mercancía”
firmadas por los clientes y completar otros trámites de documentación y pago (esto último
en caso de estar subcontratados).
Tanto a CIMEX, en caso de usar vehículos propios, como a los socios de las cooperativas o los
trabajadores por cuenta propia, les interesa realizar la distribución de las mercancías con el
menor consumo de recursos para maximizar su utilidad por concepto de este servicio. Para
ello deben lograr disminuir los costos durante la distribución de las mercancías, los cuales
están asociados principalmente al consumo de combustible (el cual depende de la cantidad
de kilómetros recorridos) y al salario o pago del distribuidor.
¿Cómo organizar diariamente las rutas de distribución de mercancías de TuEnvio
para minimizar los costos de distribución?

Colectivo de profesores: Dr. Ing. Rosario Garza Ríos,


1
MsC. Ing. Ángela Martínez Miranda, MsC. Ing. Laura María
Santalla Rodríguez
Facultad: Ingeniería Industrial
Departamento: Ingeniería Industrial
Disciplina: Estadística e Investigación de Operaciones
Asignatura: Investigación de Operaciones 2

1.1. Descripción del Problema del Agente Viajero (PAV).

El problema del agente viajero (PAV o TSP, este último del inglés Traveling Salesperson Problem)
se puede formular como: “Dado un conjunto de n ciudades, de las cuales se conoce para cada
par de ellas, la distancia que las separa, un agente viajero ha de partir de una ciudad de origen
y debe visitar exactamente una vez cada ciudad del conjunto, y retornar al punto de partida1. El
problema consiste en encontrar el ciclo para el cual la distancia total recorrida (o el costo o el
tiempo u otra medida de efectividad) sea mínima [1]. El modelo del PAV asociado se define por
medio de dos datos:
• El número de ciudades, N.
• Las distancias (o el costo o el tiempo) dij entre las ciudades i y j [2].

Ejemplo 1.1: Un agente distribuidor debe visitar a 5 clientes. La Figura 1 (a) muestra la red o
grafo resultante de las posibles conexiones entre las ciudades y la Figura 1 (b) muestra las
posibles combinaciones de rutas resultantes de este problema para un total de 24 rutas posibles.

Figura 1: PAV de 5 ciudades (Ejemplo 1.1). a) Red o grafo resultante. b) Árbol de opciones de rutas.
Fuente: Colectivo de autores.

El Ejemplo 1.1, Figura 1 (a), permite ilustrar como el PAV puede ser enunciado formalmente
como una red G = [N, A, C] definida por un conjunto de nodos N = [2...,n] (ciudades), A el
conjunto de arcos o aristas (caminos que conectan las ciudades entre sí), y C = [Cij] la matriz de
costos, donde Cij es el costo de moverse desde el nodo i al nodo j. Los nodos i = [2, 3, 4, …, n] se
corresponden con los nodos a visitar y el 1 es el nodo de origen y destino. A cada arco (i, j) se le
asocia un valor no negativo Cij, que representa el coste de viajar del nodo i al j [1, 3].

La cantidad de ciudades, N, que se deseen visitar determinará el tamaño o complejidad del


problema dado por el número de combinaciones posible que se originan. El Ejemplo 1.1, Figura
1 (b), muestras las posibles rutas a obtener. Teniendo en cuenta que un punto solo se puede
visitar una vez y todos deben ser visitados antes de regresar al origen, para este ejemplo del
punto de partida existirán 4 posibles variantes de ciudades a visitar (N – 1 = 5 – 1 = 4). Luego, de
este segundo punto se podrán visitar cualesquiera de las otras 3 ciudades aún no visitadas (N –
2 = 5 – 2 = 3), del punto 3 solo se podrá ir a cualquiera de las 2 ciudades restantes (N – 3 = 5 – 3
= 2), del punto 4 solo se visitará la ciudad que falta (N – 4 = 5 – 4 = 1) y finalmente del último

1 Un recorrido donde cada nodo i se visita una sola vez es llamado ciclo hamiltoniano o tour.

Colectivo de profesores: Dr. Ing. Rosario Garza Ríos,


2
MsC. Ing. Ángela Martínez Miranda, MsC. Ing. Laura María
Santalla Rodríguez
Facultad: Ingeniería Industrial
Departamento: Ingeniería Industrial
Disciplina: Estadística e Investigación de Operaciones
Asignatura: Investigación de Operaciones 2

punto que se visite se regresará al origen. De esta forma al analizar las combinaciones para un
PAV con 5 ciudades se obtienen un total de 24 rutas posibles, o lo que es lo mismo (N – 1)!
alternativas. Para un PAV con 10 puntos a visitar, se obtendrían (N - 1)! = (10 – 1)! = 9! = 362 880
combinaciones, para 11 puntos (tan solo 1 más) serían 3 628 800 variantes. Esta característica
hace que, aun cuando existen algoritmos exactos para darle solución a este tipo de problemas,
en la medida que el número N de ciudades a visitar en el PAV crece, la complejidad
computacional lo hace también, hasta un punto en el cual sería necesario esperar demasiado
tiempo para obtener un resultado [1, 3].

Durante la identificación y formulación de este tipo de problemas se debe prestar especial


atención a la confección de la matriz de costos C. Esta deberá ser una matriz cuadra N x N, con
tantas filas y columnas como puntos a visitar. Se dice que un modelo PAV es simétrico si Cij = Cji
para todas las i y j, de lo contrario, el modelo PAV es asimétrico. Además, para aquellos pares
de puntos que no puedan relacionarse entre sí, por determinas restricciones de la situación
objeto de estudio, los costos Cij serán penalizados, Cij = M, donde M es un número muy grande
con relación a los valores de distancia que se manejan en el problema. El uso de los arcos (i, j)
donde i = j no está permitido, por lo que se impone Cii = ∞ para todo i ∈ N [1].

Ejemplo 1.2: Considere las distancias entre las ciudades del Ejemplo 1.1 que se muestran en la
Tabla 1 y confecciones la matriz de distancias.
Tabla 1: Tabla de distancias entre los puntos del Tabla 2: Matriz de cotos para el Ejemplo 1.1.
Ejemplo 1.1 [3].
Ciudades 1 2 3 4 5
Ciudades 2 3 4 5 1 M 132 217 164 58
1 132 217 164 58 2 132 M 290 201 79
2 - 290 201 79 3 217 290 M 113 303
3 - - 113 303 4 164 201 113 M 196
4 - - - 196 5 58 79 303 196 M

La Tabla 2 muestra la matriz de costos resultante a partir de la Tabla 1 para el Ejemplo 1.1. Para
su confección se tuvo en cuenta que:
• La matriz debe tener N cantidad de filas y columnas – La tabla de datos tiene una fila y
una columna menos porque es simétrica (falta la columna 1 y la fila 5), aunque es la
tabla es cuadra (número de fila = número de columnas) es 4x4 y no 5x5 dada la cantidad
de ciudades N a visitar.
• La Tabla 1 muestra que la matriz es simétrica, o lo que es lo mismo la distancia de i a j
es igual que la de j a i para todos los puntos de la matriz, pudiéndose completar de esta
forma los espacios en blanco por debajo de la diagonal.
• Las distancias del punto i al j, donde i = j, fueron penalizadas por M (un número muy
grande) pues en la practicas no son caminos lógicos, ir de un punto a sí mismo y podrían
generar bucles durante la búsqueda de soluciones.

Ejemplo 1.3: Considere las siguientes restricciones para el traslado entre las ciudades del
Ejemplo 1.1 y realice las modificaciones correspondientes a la matriz de distancias obtenida en
el Ejemplo 1.2.

Colectivo de profesores: Dr. Ing. Rosario Garza Ríos,


3
MsC. Ing. Ángela Martínez Miranda, MsC. Ing. Laura María
Santalla Rodríguez
Facultad: Ingeniería Industrial
Departamento: Ingeniería Industrial
Disciplina: Estadística e Investigación de Operaciones
Asignatura: Investigación de Operaciones 2

a) Para viajar entre los puntos 4 y 5 hay que cruzar un puente, el cual tiene cerrada la senda
de ida de 4 a 5 no así el de regreso.
b) El punto 1 es realmente la piquera de la empresa de vehículos desde donde estos salen
en las mañanas a trabajar y regresan en la tarde al finalizar la distribución en la última
ciudad.
c) El punto 2 es el almacén desde donde cargan la mercancía los distribuidores para
entregar en las ciudades 3, 4 y 5.
Tabla 3: Matriz de cotos para el Ejemplo 1.1 modificada por restricciones del Ejemplo 1.3.

Ciudades 1 2 3 4 5
1 M 132 M M M
2 M M 290 201 79
3 217 M M 113 303
4 164 M 113 M M
5 58 M 303 196 M

La Tabla 3 muestra la matriz de costos resultante de las restricciones que se dan para el Ejemplo
1.1 de 5 ciudades en el Ejemplo 1.3. Para su confección se tuvo en cuenta que:
a) La distancia de viajar de 4 a 5 fue penalizada (C45 = M), ya que ese camino no puede ser
usado en la construcción de la ruta por inaccesibilidad.
b) La distancia de viajar de 1 a 3, a 4 o a 5 se penaliza con M (C13 = M, C14 = M y C15 = M),
pues salir de la piquera cada mañana los vehículos siempre pasarán por el almacén
(Punto 2) a buscar la mercancía que trasladarán a los clientes. Nunca irán de la piquera
directo a ningún cliente pues irían vacíos.
c) La distancia de viajar desde 3, 4 o 5 al punto 2 (almacén) se penaliza con M (C32 = M,
C42= M y C52 = M) pues al punto 2 (almacén) solo se llega desde el punto 1 (piquera).
d) La distancia de viajar de 2 a 1 se penaliza con M (C21 = M) pues del almacén nunca el
vehículo va a regresar a la piquera, de este deberá comenzar a distribuir las mercancías
a los clientes 3, 4 o 5.

Resumen

• El PAV consiste en visitar N puntos en un solo recorrido, teniendo en cuenta las conexiones
entre dichos puntos y las distancias que los separan.
• En el PAV cada punto debe ser visitado una sola vez.
• El PAV puede formularse como un grafo o red G = [N, A, C]; donde N son los nodos o puntos
a visitar, A las aristas o caminos y C la matriz de distancia entre los puntos.
• La cantidad máxima de rutas posibles en un PAV se determina como: (N – 1)!.
• La matriz de costos C es cuadrada (N x N).
• La matriz de costos C es simétrica si Cij = Cji para todas las i y j, de lo contrario, el modelo
PAV es asimétrico.
• En la matriz de costos C para los pares de puntos que no puedan relacionarse entre sí, se
penalizarán los costos Cij, Cij = M (Ejemplo: Cij = M, para todo i = j).

Colectivo de profesores: Dr. Ing. Rosario Garza Ríos,


4
MsC. Ing. Ángela Martínez Miranda, MsC. Ing. Laura María
Santalla Rodríguez
Facultad: Ingeniería Industrial
Departamento: Ingeniería Industrial
Disciplina: Estadística e Investigación de Operaciones
Asignatura: Investigación de Operaciones 2

1.2. Aplicaciones del Problema del Agente Viajero (PAV).

Las aplicaciones del PAV van más allá de la definición clásica de visitar ciudades por un agente
distribuidor. En esta sección se resumen otras aplicaciones que muestran cómo puede adaptarse
el modelo PAV clásico (“ciudades” conectadas por “rutas”) para representar otras situaciones.

Caso de estudio: Picking o preparación de pedidos [2].

En un almacén rectangular se utiliza una grúa elevada para recolectar las


mercancías que serán despachadas posteriormente. Las tareas de la grúa
consisten en: (1) Recolectar una carga en un lugar; (2) transportar la carga
y entregarla en otro lugar (punto de entrega más cercano), y (3) moverse
descargada para llegar a un nuevo lugar de recolección. Supongamos que
hay N pedidos que se tiene que recolectar y entregar (un pedido está formado por un único
producto). Se necesita organizar como se realzará la recolección de los pedidos para
minimizar los desplazamientos de la grúa y su tiempo no productivo (entiéndase por este el
tiempo 3).
Los tiempos no productivos están determinados, entre otros factores, por la ubicación de los
lugares de recolección y entrega de los pedidos y las velocidades lateral y transversal de la
grúa. La grúa cuando no está activa (recogiendo y entregando pedidos) se ubica en un punto
en específico del almacén (punto de estado inactivo) para no estorbar en otras labores que
se realicen dentro de este, debiendo iniciar y finalizar su recorrido desde este punto.
Para un grupo específico de 6 pedidos, los tiempos (en minutos) para llegar a los lugares
donde están las mercancías de los pedidos 1, 2, 3, 4, 5, y 6 desde un estado inactivo son 0.1,
0.4, 1.1, 2.3, 1.4 y 2.1 minutos, respectivamente. La Tabla 4 proporciona los tiempos no
productivos (en minutos) asociados con la secuenciación de los pedidos.
Tabla 4: Tiempos de traslado de la grúa desocupada entre los puntos (en minutos).
Puntos 1 2 3 4 5 6
1 - 1 1.2 0.5 1.7 0.9
2 1.1 - 0.9 2 0.8 1.1
3 1.2 1.9 - 1.4 0.4 1
4 1.5 2.3 0.4 - 2.0 1.5
5 1.2 1.8 1.4 2.5 - 2.1
6 0.9 1.1 1.0 0.5 2.1 -

Discusión: Para plantear este caso de estudio puede como un problema de agente viajero (PAV)
se analizarán los elementos que lo componen partiendo de la formulación como grafo o red que
se presentó en el punto anterior:
• Nodos o Puntos: N = 7, el equivalente a las ciudades del planteamiento tradicional del
PAV para esta situación son los pedidos, pues cada pedido está conformado por un
producto, el cual tienen una ubicación especifica dentro del almacén y un punto de
entrega cercano desde donde se traslada la grúa al nuevo punto. Se incluye también el
punto de estado inactivo desde donde parte la grúa elevada a realizar sus operaciones
y al cual regresa una vez concluida estas.

Colectivo de profesores: Dr. Ing. Rosario Garza Ríos,


5
MsC. Ing. Ángela Martínez Miranda, MsC. Ing. Laura María
Santalla Rodríguez
Facultad: Ingeniería Industrial
Departamento: Ingeniería Industrial
Disciplina: Estadística e Investigación de Operaciones
Asignatura: Investigación de Operaciones 2

• Aristas o caminos: teniendo en cuenta que cada vez que la grúa elevada recoge un
pedido deberá ir y entregarlo en el punto de entrega más cercano, las aristas en este
caso están dadas por la relación entre el punto de recogida y entrega del pedido y el
siguiente punto de recogida hasta donde se trasladará.
• Matriz de costos C: el equivalente a las distancias entre las ciudades del planteamiento
tradicional del PAV son los tiempos no productivos de la grúa, o sea el tiempo de
traslado desde el punto de entrega más cercano al punto de recogida y el nuevo punto
de recogida al cual se dirigirá, cuyo objetivo es minimizarlo.

Caso de estudio: Fábrica de Pinturas VITRAL [2].

La fábrica de pintura VITRAL produce pinturas por lotes en la misma planta


de producción (un lote es de un color) de forma tal que cuando se completa
una secuencia de colores, se inicia un nuevo ciclo en el mismo orden. La
secuenciación de los colores afecta el tiempo de preparación (arreglo)
entre lotes sucesivos, pues las instalaciones de producción se deben limpiar
entre uno y otro lote. La meta es seleccionar la secuencia que minimice el tiempo de
preparación total por ciclo para maximizar la producción diaria de la fábrica.
El programa de producción diaria de VITRAL para el mes de diciembre, incluye lotes de pintura
blanca (B), amarilla (A), roja (R), y negra (N). La Tabla 5 resume en minutos los tiempos de
limpieza entre lotes de diferentes colores. El objetivo es determinar la secuencia de los
colores que minimice el tiempo de limpieza total. Además, para garantizar la calidad de los
colores el departamento de control de la calidad de la fábrica, le indicó al departamento de
producción que el lote de pintura blanca nunca se debe producir a continuación del lote de
pintura negra.
Tabla 5: Tiempos de limpieza entre lotes de pintura (en minutos).
Pintura Blanca Amarilla Negra Roja
Blanca - 10 17 15
Amarilla 20 - 19 18
Negra 50 44 - 22
Roja 45 40 20 -

Discusión: Para plantear este caso de estudio puede como un problema de agente viajero (PAV)
se analizarán los elementos que lo componen partiendo de la formulación como grafo o red que
se presentó en el punto anterior:
• Nodos o Puntos: N = 4, el equivalente a las ciudades del planteamiento tradicional del
PAV para esta situación son los colores, debiéndose determinar luego de fabricado un
lote de un color de qué color será el siguiente lote a fabricar (o sea partiendo de una
ciudad cuál será la siguiente ciudad a visitar).
• Aristas o caminos: en este caso están dadas por la secuencia u orden entre la fabricación
de un lote y el siguiente.
• Matriz de costos C: el equivalente a las distancias entre las ciudades del planteamiento
tradicional del PAV son los tiempos de limpieza de la línea. Estos tiempos varían en

Colectivo de profesores: Dr. Ing. Rosario Garza Ríos,


6
MsC. Ing. Ángela Martínez Miranda, MsC. Ing. Laura María
Santalla Rodríguez
Facultad: Ingeniería Industrial
Departamento: Ingeniería Industrial
Disciplina: Estadística e Investigación de Operaciones
Asignatura: Investigación de Operaciones 2

función del lote que se acaba de producir y el que le sucederá y cuyo objetivo es
minimizarlo.

Caso de estudio: Fábrica de tarjetas de circuitos eléctricos [2].

En la fabricación de tarjetas de circuito integrado (como las que se


utilizan en las computadoras personales), estas deben ser perforadas
para abrir los agujeros donde se montan los diferentes componentes
electrónicos. Las tarjetas son alimentadas de una en una bajo un taladro
móvil y este se mueve por la superficie de la placa para realizar las
perforaciones en las ubicaciones especificadas. Las ubicaciones y la
secuencia que el taladro debe seguir para realizar las perforaciones sobre la tarjeta se
introducen al inicio de la producción cada lote de tarjetas. El objetivo es minimizar los tiempos
de producción de las tarjetas, para lo cual se busca disminuir el tiempo de ejecución de cada
una de las operaciones.
Para un tipo de placa que requiere 6 perforaciones, la distancia entre la posición inicial del
taladro y los puntos a perforar es de 0.4, 1.0, 1.5, 0.8, 1.2 y 2 milímetros respectivamente. La
Tabla 6 resume la distancia entre los puntos de la placa a perforar. Se conoce, además, que
el taladro se mueve a una velocidad lineal de 7 milímetros por segundo y que le lleva medio
segundo taladrar un agujero.
Tabla 6: Distancia entre los puntos de la placa (milímetros).
Pintura P2 P3 P4 P5 P6
P1 1.2 0.5 2.6 4.1 3.2
P2 - 3.4 4.6 2.9 5.2
P3 - - 3.5 4.6 6.2
P4 - - - 3.8 0.9
P5 - - - - 1.9

Discusión: Para plantear este caso de estudio puede como un problema de agente viajero (PAV)
se analizarán los elementos que lo componen partiendo de la formulación como grafo o red que
se presentó en el punto anterior:
• Nodos o Puntos: N = 7, el equivalente a las ciudades del planteamiento tradicional del
PAV para esta situación son los puntos donde se realizarán las perforaciones, los cuales
deberán ser visitados por el taladro con este fin. Se incluye también el punto de inicio
del taladro desde donde parte a realizar las perforaciones en la placa y al cual regresa
una vez concluida estas.
• Aristas o caminos: en este caso están dadas por la distancia entre un punto y otro de la
placa, incluyendo el punto de inicio.
• Matriz de costos C: El objetivo de la situación es disminuir el tiempo de operación del
taladro, por tanto, como el tiempo de perforación es fijo y la velocidad de
desplazamiento es lineal, estos no influyen en el tiempo de operación. Luego si se logra
disminuir la distancia de traslado entre los puntos se podrá disminuir el tiempo de
operación. En este problema el equivalente a las distancias entre las ciudades del
planteamiento tradicional del PAV son las distancias entre los puntos (incluyendo el

Colectivo de profesores: Dr. Ing. Rosario Garza Ríos,


7
MsC. Ing. Ángela Martínez Miranda, MsC. Ing. Laura María
Santalla Rodríguez
Facultad: Ingeniería Industrial
Departamento: Ingeniería Industrial
Disciplina: Estadística e Investigación de Operaciones
Asignatura: Investigación de Operaciones 2

punto de inicio) o también dado que se conoce la velocidad con que se mueve el taladro,
se puede expresar en términos del tiempo de desplazamiento del taladro entre los
puntos.

Caso de estudio: Mantenimiento de cajeros automáticos.

La Empresa de Servicios en RED (REDSA), gestiona y controla la red


de cajeros automáticos del sistema bancario nacional. Como parte
de las actividades de la empresa cada día se realizan
mantenimientos correctivos a los cajeros que se reportan
averiados, servicio que se desarrolla in situ (el mantenimiento se
realiza en la locación donde se encuentra el cajero).
Debido a la alta demanda del servicio se hace necesario disminuir la los tiempo prestación de
los mismos para cubrir toda la demanda en el horario laborar. En La Habana, la empresa
organiza los servicios por municipios y cada mañana le entrega los circuitos que debe realizar
cada equipo y al finalizar la jornada estos regresan para entregar los equipos y completar
documentación. Para el caso particular de Marianao, donde se han reportado 4 averías en el
día, la Tabla 7 resume las distancias entre la sede de REDSA y los cajeros a visitar en Marianao
y entre estos.
Tabla 7: Distancia entre los cajeros y entre estos y REDSA (Kilómetros).
Pintura REDSA C1 C2 C3 C4
REDSA - 8 12 6 11
C1 8 - 5 3 6
C2 10 5 - 2 3
C3 6 3 2 - 4
C4 11 6 3 4 -

Discusión: Para plantear este caso de estudio como un problema de agente viajero (PAV) se
analizarán los elementos que lo componen partiendo de la formulación como grafo o red que
se presentó en el punto anterior:
• Nodos o Puntos: N = 5, el equivalente a las ciudades del planteamiento tradicional del
PAV para esta situación son los puntos donde están ubicados los cajeros. Se incluye
también la sede de REDSA, desde donde parte el equipo a realizar los mantenimientos
y al cual regresa una vez concluido estos.
• Aristas o caminos: en este caso están dadas por la distancia entre los cajeros y entre
estos y la sede de REDSA.
• Matriz de costos C: El objetivo de la situación es disminuir el tiempo de mantenimiento,
como no se especifica nada de la duración del mantenimiento in situ este elemento se
considera despreciable y solo se considerará el tiempo de desplazamiento entre los
puntos a visitar. En este problema el equivalente a las distancias entre las ciudades del
planteamiento tradicional del PAV son las distancias entre los cajeros (incluyendo la
sede de REDSA) pues a menor distancia recorrida menor será el tiempo de traslado y
por tanto el de ejecución de todos os mantenimientos.

Colectivo de profesores: Dr. Ing. Rosario Garza Ríos,


8
MsC. Ing. Ángela Martínez Miranda, MsC. Ing. Laura María
Santalla Rodríguez
Facultad: Ingeniería Industrial
Departamento: Ingeniería Industrial
Disciplina: Estadística e Investigación de Operaciones
Asignatura: Investigación de Operaciones 2

1.3. Modelo de programación lineal para el problema del agente viajero (PAV).

El objetivo del PAV es encontrar una ruta que, comenzando y terminando en una ciudad
determinada, en este caso denotada por la ciudad i, pase una sola vez por cada una de las
ciudades y minimice la distancia recorrida. Por ello se define Xij como variables de decisión
dicotómicas para todo arco (i, j) ∈ A (conjunto de arcos o caminos), de forma que tomen el valor
1 si el arco (i, j) forma parte de la solución y 0 en otro caso [1]. De esta forma la variable de
decisión y la función objetivo quedan enunciada como sigue:

Variable de Xij: Viajar o no del nodo i al nodo j. Xij = 1 si se viaja del punto i al punto j
decisión i,j = 1, 2, 3, 4, …, n Xij = 0 si no se viaja del punto i al punto j
𝑛 𝑛
Función
𝑀𝑖𝑛 𝑍 = ∑ ∑ 𝐶𝑖𝑗 ∗ 𝑋𝑖𝑗 (1)
objetivo
𝑖=0 𝑗=0

El PAV debe garantizar que una ciudad se visite una sola vez para lo cual deberá estar sujeto a
las restricciones siguientes:

∑𝑛𝑗=1 𝑋𝑖𝑗 = 1 ,i = 1, 2, 3, 4, …, n (2)


Sujeto a: ∑𝑛𝑖=1 𝑋𝑖𝑗 = 1 ,j = 1, 2, 3, 4, …, n (3)
0 ≤ Xij ≤ 1; Xij entera (5)

La restricción (2) se garantiza que solo un arco puede salir de cada nodo (o sea, de una ciudad
solo puede salir un camino), mientras que la restricción (3) asegura que solo un arco puede
entrar en cada vértice (o sea, a una ciudad solo se llega por un camino). La restricción (4)
permitirá que los valores de Xij sean 0 o 1 [1, 3]. Estas restricciones definen al PAV como un
modelo de asignación donde se asigna para una ciudad desde cual se llegará y a donde se sale.
Estas restricciones son necesarias, pero no suficientes, pues pueden dar lugar a soluciones con
subciclos, lo cual, aunque garantice que solo se visite un punto una vez no asegura que la ruta
obtenida salga de un punto y regrese a este al finalizar el recorrido.

Un mecanismo para evitar la formación de subciclos es a través de nuevas variables de decisión.


De esta forma, se definen las variables Ui, ∀ i ∈ N, que representan el lugar de la secuencia en el
que se visita el nodo i. Para el nodo origen 1, se fija el valor de U1 en 1, pues es el primer nodo
que se debe visitar. Para el resto de vértices, estas variables toman un valor entre 2 y n. Para
construir el problema de programación lineal se deben añadir a las dos primeras restricciones,
la siguiente [1]:

Sujeto a: Ui − Uj ≤ (N − 1) (1 − Xij) − 1, ∀ (i, j) ∈ A, 2 ≤ i ≠ j ≤ N (5)

Con las restricciones del tipo (5) se impide la creación de subrutas para el resultado del PAV.

Colectivo de profesores: Dr. Ing. Rosario Garza Ríos,


9
MsC. Ing. Ángela Martínez Miranda, MsC. Ing. Laura María
Santalla Rodríguez
Facultad: Ingeniería Industrial
Departamento: Ingeniería Industrial
Disciplina: Estadística e Investigación de Operaciones
Asignatura: Investigación de Operaciones 2

Notas adicionales - ¿Cómo interpretar la restricción (5)?

La interpretación de la restricción (5) es la siguiente: si el agente viajero va de i


directamente a j, entonces Xij valdrá 1 y Ui − Uj ≤ −1. Dado que se visita antes el
nodo i que el j, Ui tomará un valor menor que Uj y, por tanto, su diferencia valdrá (−1),
cumpliéndose así la inecuación. Si el agente viajero no va de i a j, Xij tomará el valor 0, con lo
que Ui − Uj ≤ N − 2. En este caso, no se tiene información adicional acerca de Uj y Uj, por lo
que nos centramos en el extremo: si i se visita antes que j, la máxima diferencia entre Uj y Uj
será 2 − n, mientras que, si j se visita antes que i, Uj − Uj tomará un valor mínimo de n − 2. En
todos los casos, por tanto, se cumple que Uj − Uj ≤ n−2. Obviamente, de existir subciclos estas
variables no podrán tomar valores que cumplieran esta restricción, pues no se puede
establecer qué vértices se visitan antes y cuáles se visitan después [1].

Existen en la literatura otros mecanismos que permiten evitar la formación de subciclos


para lo cual podrá consultar la bibliografía de referencia.

Como se explicó anteriormente, en el PAV a medida que el número N de ciudades a visitar crece,
el número máximo de rutas posible aumenta de forma factorial (N – 1)!, igualmente al plantearlo
como un problema de programación lineal se incrementan el número de variables y
restricciones. Todo ello incrementa la complejidad computacional hasta un punto en el cual sería
necesario esperar demasiado tiempo para obtener un resultado. Además, existen diferentes
variaciones a este tipo de problemas al ajustarlo a escenarios diversos como: restricciones de
capacidad, de tiempo, parque de vehículos heterogéneas, entre otras. Estas variaciones unido a
la complejidad computacional de resolverlo por métodos exactos ha propiciado la investigación,
desarrollo y aplicaciones de algoritmos heurístico, que permitan en obtener una buena solución
en un tiempo razonable.

En la próxima lectura se tratarán algunas variaciones de este tipo de


problema, sus ámbitos de aplicación y método de solución usando
algoritmos heurísticos.

1.4. Bibliografía consultada.

1. MENDOZA CASANOVA, J.J., Diseño de Algoritmos Heurísticos y Metaheurísticos


eficientes para resolver el Problema del Agente Viajero, in FACULTAD REGIONAL
MULTIDISCIPLINARIA DE CHONTALES. 2017, Universidad Nacional Autonoma de
Nicaragua, Managua: Managua, Nicaragua. p. 406.
2. TAHA, H.A., Investigación de Opreciones. 9na Edición ed. 2012, México: Pearson
Educación de México,S.A. 824.
3. ANAYA FUENTES, G.E., et al., Solución al Problema de Secuenciación de Trabajos
mediante el Problema del Agente Viajero. Revista Iberoamericana de Automática e
Informática industrial 13 (2016) 430–437, 2016. 13: p. 8.

Colectivo de profesores: Dr. Ing. Rosario Garza Ríos,


10
MsC. Ing. Ángela Martínez Miranda, MsC. Ing. Laura María
Santalla Rodríguez

También podría gustarte