Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algorithms for the Exploration of all possible values on the problem of agents travellers
1. INTRODUCCIÓN
Desde luego que por cuestiones aplicativas el problema
El problema del agente viajero o TPS por sus siglas en puede diferir en su planteamiento en cuanto a que podría
inglés (Travelling Salesperson Problem) es uno de los proponerse por ejemplo que el vendedor parta de un
problemas mas famosos y complejos de las ciencias punto especifico o predeterminado, pensemos en que la
computacionales y ha sido abordado por varias ramas de solución es para una empresa que posee un punto central
la ingeniería y por distintas razones, su principal de distribución como una fabrica o una bodega, o todavía
aplicación es la de rutear desde distintas perspectivas, ya mas interesante si se tienen regiones claramente
sea un proceso que lleva una secuencia específica o una diferenciadas con varios puntos de distribución
distribución de carácter logístico en la que intervienen obligatoria, como ocurre con zonas de electrificación
elementos del transporte, buscando la mejor ruta posible asociadas a una subestación.
con criterios de economía en distancia o en costo [1][2].
Proveer soluciones contribuye a mejorar tareas y En cuanto a la dificultad del algoritmo su dificultad esta
procesos en distintos ámbitos, científicos e industriales, ligada al tiempo de solución del problema, nos referimos
proponiendo alternativas para el mejor uso de los al tiempo que emplea un computador en llegar a una
recursos. Disciplinas que abordan este tema son la solución. Un análisis a este punto es el siguiente: si se
investigación de operaciones y las ciencias informáticas tienen N ciudades el número posible de recorridos es (n-
como algoritmia y teoría de grafos. 1)!
Limite=Ciudades.Elementos();
Para i=0 hasta Limite
402 Scientia et Technica Año XIV, No 39, septiembre de 2008. Universidad Tecnológica de Pereira.
{
Trayectoria.Limpiar(); Definimos las siguientes variables de tipo entero: i,
primera= Ciudades(i).nombre; Límite.
Construir(Ciudades,
Ciudades(i).nombre,Trayectoria); Privado vacío Eliminar (Lista L, Cadena Cad)
}//fin para {
} //fin metodo Analisis Entero i, Limite;
Si (Limite>0) Ant.nombre=L(0).nombre;
{ Ant.costo=L(0).costo;
Limite2=Auxiliar.Elementos(); Ant.Activar();.
Para i=0 hasta Limite2 L(0).Ad_siguiente(Sig);
{ i=1
Construir(Auxiliar, Auxiliar(i).nombre,T); Repita
Eliminar (T, Auxiliar(i).nombre); {
} L(i).Ad_anterior(Ant);
} Sig.nombre=L(i+1).nombre;
Si no Sig.costo=L(i+1).costo;
{ Sig.Activar();
Evaluar (T); L(i).siguiente=Sig
Eliminar (T,Cad); Ant.nombre=L(i).nombre;
}//fin si Ant.costo=L(i).costo;
}//fin método Construir Ant.Activar();
i=i+1;
Método Eliminar: permite sacar de una lista un elemento }hasta (i==Limite)
específico. L(i).Ad_anterior(Ant);
Scientia et Technica Año XIV, No 39, septiembre de 2008. Universidad Tecnológica de Pereira. 403
L(i).Ad_siguiente(prim);
Es importante y necesario párale estudio de cualquier
Para i=0 hasta Limite problema proveerse hermanitas que amplíen la
{ perspectiva del asusto tratado.
Valor=Valor+L(i).Valor_siguiente();
} Se requieren conocimientos sólidos sobre estructura de
Si (minimo>Valor) datos para poder comprender y abordar el problema del
{ TSP.
Minimo=Valor;
Copiar (L,Tminima) La programación orientada a objetos es un poderoso
} paradigma que al combinarlo con estructuras de datos nos
} acercan a soluciones eficientes y económicas en términos
de memoria, lo que se hace importante para este tipo de
problemas.
El método copiar vacía el contenido de la primera lista en
la segunda. El programa expuesto en seudo código permite que
investigador plasme este algoritmo en el lenguaje de su
6. EXPLICACIÓN DEL ALGORITMO preferencia.
7. CONCLUSIONES