El problema de determinar el mejor circuito entra varias ubicaciones fue encarado por distintas profesiones desde la prehistoria, este es conocido como el problema del viajante:

  • Un viajante tiene que partir de su casa y visitar una serie de clientes antes de retornar finalmente a su casa
  • No puede dejar de visitar ningún cliente
  • Se conocen las distancias entre cada par de clientes y entre cada cliente y la casa del viajante

Una formulación equivalente en términos de teoría de grafos es la de encontrar en un grafo completamente conexo y con arcos ponderados (pesado) el ciclo hamiltoniano de menor costo. El ciclo hamiltoniano en un grafo es un camino cerrado que pasa una sola vez por todos los nodos del grafo.

Tipo del Problema

Dependiendo de si la dirección en la cual se atraviesa una ciudad importa o no, se define:

  • Viajante simétrico: No importa la dirección.
  • Viajante asimétrico: Importa la dirección.

En otras palabras, se define un viajante asimétrico para un grafo dirigido.

Formulación

Definimos las variables bivalentes para que tomen valor positivo cuando se utiliza el camino que va de la ciudad a la ciudad , con . Siendo la cantidad de ciudades. Consideramos la ciudad inicial como la ciudad . Por otro lado, definimos constante como el costo de utilizar el camino que va de la ciudad a la ciudad .

Primero, debemos asegurarnos que solo lleguemos a una ciudad una sola vez, y que solo salgamos de una ciudad una sola vez.

Luego, podemos definir el funcional como el costo de los caminos utilizados

Esta dos restricciones aún no son suficientes, ya que todavía no impedimos la formación de subtours. Sean siete ciudades, entonces los caminos no incumplirán restricciones, pero formarían un camino aislado.

Formulación MTZ

La formulación MTZ, llamada así tras los que la formularon (Miller, Kuhn, Tucker), define como el número de secuencia en el cual la ciudad es visitada, para todo .

Si se utiliza el camino , entonces tendremos que . En otras palabras, el número de secuencia de la ciudad debe ser menor al número de secuencia de la ciudad . A partir del primer caso, se obliga a que todas las ciudades tomen un número de secuencia distinto y ordenado, evitando así la formación de subtours. Si analizamos el ejemplo anterior: e imponemos las restricciones, tendremos , esto es absurdo. Debido a que no estamos utilizando en la formación de restricciones, el único camino cerrado que podemos formar es aquel que incluya a la ciudad cero, (y, por lo tanto, completo).

Si no se utiliza el camino , entonces tendremos que . En otras palabras, la diferencia de secuencia entre todo par de ciudades debe ser menor o igual a . Esto obliga a que los números de secuencia no solo estén ordenados, sino que además sean consecutivos. Sean números distintos tal que , con . Entonces los únicos valores que posibles que podrán tomar los números de secuencia serán los números consecutivos de a .

Características del problema

Una situación se modela como problema del viajante cuando:

  • En el problema se plantean actividades o cosas de las cuales no se conoce el orden en el cual se realizan
  • La función objetivo dependerá del orden que indique el modelo para esas actividades.

Variaciones al problema del Viajante

Variables para Recorrido

Si contamos con que existen dos tramos posibles para cada par de ciudades posible, entonces podemos separar en uno de los tramos utilizados

Variables de Orden

Se debe visitar la ciudad antes de visitar la ciudad , entonces

No se puede visitar la ciudad sin antes visitar la ciudad o la ciudad

Nota

Estamos obligando a cumplir una de las dos restricciones, pero eso no implica que ambas no se pueden cumplir a la vez. Una restricción anulada puede igualmente cumplirse.