PROGRAMA DEL AGENTE VIAJERO
Publicado por Leticia (1 intervención) el 03/12/2001 14:52:18
PORFAVOR, ES MUY URGENTE QUE ALGUIEN ME MANDE EL PROGRAMA, EN PASCAL O C.
GRACIAS:):)
GRACIAS:):)
Valora esta pregunta
0
// Algoritmo del agente viajero - Pseudocódigo
// Definición de estructuras y variables
Estructura Ciudad
Nombre: Cadena
X: Real
Y: Real
Arreglo de ciudad Ciudades
// Función para calcular la distancia entre dos ciudades
Función CalcularDistancia(ciudad1: Ciudad, ciudad2: Ciudad) -> Real
// Implementar la fórmula de distancia entre dos puntos en un plano (euclidiana)
// Distancia = sqrt((x2 - x1)^2 + (y2 - y1)^2)
Distancia = RaízCuadrada((ciudad2.X - ciudad1.X)^2 + (ciudad2.Y - ciudad1.Y)^2)
Devolver Distancia
// Función para calcular la longitud total del recorrido
Función CalcularLongitudRecorrido(recorrido: Arreglo de Entero) -> Real
LongitudTotal = 0
Para cada par de ciudades consecutivas en recorrido
LongitudTotal += CalcularDistancia(Ciudades[ciudad_actual], Ciudades[ciudad_siguiente])
Fin Para
Devolver LongitudTotal
// Algoritmo de fuerza bruta para el problema del agente viajero
Procedimiento AgenteViajeroFuerzaBruta()
MejorRecorrido = Nulo
MejorLongitud = Infinito
// Generar todas las permutaciones posibles de ciudades
Mientras haya una permutación por generar
LongitudActual = CalcularLongitudRecorrido(permutación_actual)
Si LongitudActual < MejorLongitud
MejorLongitud = LongitudActual
MejorRecorrido = permutación_actual
Fin Si
Fin Mientras
// MejorRecorrido ahora contiene la solución óptima
// MejorLongitud contiene la longitud mínima del recorrido