Documentos de Académico
Documentos de Profesional
Documentos de Cultura
7 20
7
20
21 21 3 15
16 15 2
16
25
25
4
RESTRICCIONES?
• Si se tienen n ciudades.
• Se define:
RESTRICCIONES?
• Son suficientes restricciones?
Cada nodo tiene un arco de salida,
Después de cada ciudad, se visita otra ciudad.
1
1
6
2
6
2
5 3
5 3
4
4
x12=x23=x31=x54=x46=x65= 1
Estas restricciones son necesarias,
pero no son suficientes.
Se deben de incluir restricciones que garanticen conectividad, imponiendo
que el agente viajero debe de pasar de un conjunto de ciudades a otro.
1 2
3
Se deben de incluir restricciones que garanticen conectividad, imponiendo
que el agente viajero debe de pasar de un conjunto de ciudades a otro.
1 2
Subtour de:
2 nodos
5 2 arcos
4
Subtour de:
3 3 nodos
3 arcos
Para que no existiera subtours habría que establecer que entre cada subconjunto de k
nodos existen a lo más k-1 arcos.
Sea N =conjunto de nodos en el grafo (todas las ciudades a visitar)
Y S= cada subconjunto posible de nodos (cada grupo de 1, 2, 3, hasta n ciudades)
𝑥𝑖𝑗 ≤ 𝑆 − 1 ∀𝑆 ∁ 𝑁, 2≤ 𝑆 ≤𝑛−1
𝑖∈𝑆 𝑗∈𝑆
𝑥𝑖𝑗 ≤ 𝑆 − 1 ∀𝑆 ∁ 𝑁, 2≤ 𝑆 ≤𝑛−1
𝑖∈𝑆 𝑗∈𝑆
𝑥𝑖𝑗 ≤ 𝑆 − 1 ∀𝑆 ∁ 𝑁, 2≤ 𝑆 ≤𝑛−1
𝑖∈𝑆 𝑗∈𝑆
Si se tienen n ciudades ,
¿cuántas combinaciones
se necesitan para
determinar la ruta más
corta?
Habiendo definido la
ciudad de partida
(da igual cualquier
ciudad),
¿Cuántas opciones
hay para seleccionar
la segunda ciudad a
visitar?
(n-1)
Suponiendo que ya
se definió la segunda
ciudad a visitar,
(100-1)! =
9332621544394420000000000000000000000000000000000
0000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000
000000000 combinaciones
Algoritmos heurísticos
• Nearest-neighbor algorithm
– El vecino más cercano.
• Algoritmos de inserción
Algoritmo del Vecino más Cercano
TSP
1. Inicie con un tour parcial, el cual consiste en un
vértice arbitrario.
2. Si el tour parcial es
T = {v1, v2, …, vk}
Con k < n, seleccionar vk+1 el vértice más cercano a
vk que no esté en el tour e insértelo al final del tour.
3. Si k = n parar.
Algoritmos de inserción más cercana
TSPi como nodo de inicio.
1. Escoge un nodo arbitrario
2. Encuentra el nodo más cercano a i. El nodo j para el
cual la distancia cij es la menor. Forma el subtour T=i-j-i.
3. Encuentra un nodo k que no esté en el subtour T que
esté lo más cercano posible de cualquier nodo del
subtour T.
4. Encuentra un arco [i,j] del subtour T para el cual la
inserción de k da el menor incremento en longitud, es
decir, k para la cual ∆𝑓 = 𝑐𝑖𝑘 + 𝑐𝑘𝑗 − 𝑐𝑖𝑗 sea el mínimo.
5. Modifique el subtour T mediante la inserción de k entre
i y j.
6. Vaya al paso 3 hasta que se haya formado un tour TSP.
Algoritmos de inserción más lejana
TSP
1. Escoge un nodo arbitrario i como nodo de inicio.
2. Encuentra el nodo más alejado de i. El nodo j para el
cual la distancia cij es la más grande. Forma el subtour
T=i-j-i.
3. Encuentra un nodo k que no esté en el subtour T que
esté lo más alejado posible de cualquier nodo del
subtour T.
4. Encuentra un arco [i,j] del subtour T para el cual la
inserción de k da el menor incremento en longitud, es
decir, k para la cual ∆𝑓 = 𝑐𝑖𝑘 + 𝑐𝑘𝑗 − 𝑐𝑖𝑗 sea el
mínimo.
5. Modifique el subtour T mediante la inserción de k
entre i y j.
6. Vaya al paso 3 hasta que se haya formado un tour TSP.
Algoritmo de inserción más barata
TSP
1. Escoge un nodo arbitrario i como nodo de inicio.
2. Encuentra el nodo más cercano al nodo i. Forma
un subtour T=i-j-i.
3. Encuentra un arco [i,j] del subtour T y un nodo k
que no se encuentre en subtour T, de modo que
el incremento en la longitud ∆𝑓 = 𝑐𝑖𝑘 + 𝑐𝑘𝑗 −
𝑐𝑖𝑗 sea el mínimo.
4. Modifique el subtour T mediante la inserción de
k entre i y j.
5. Vaya al paso 3 hasta que se haya formado un
tour TSP.
Elección del vértice a insertar