No es una prueba, pero me decidí a probar el problema con Mathematica para tener una idea de lo que es un caso típico podría ser. Aquí está mi código principal:
n=100;
Flies = Union[{{0, 0}}, Table[{RandomInteger[n-1]+1, RandomInteger[n-1]+1}, {i, 1, n}]]
Hunt = First[FindShortestTour[Flies, DistanceFunction -> ManhattanDistance]]
Después de ejecutar dentro de un bucle $2000$ de las veces me tienen los siguientes resultados
Average Tour Length = 1044.62
Max Tour Length = 1182
(El mínimo de la Duración del Tour iba a ser $100$ se mueve.)
Editar:
El tour longitudes de encontrar no son verdaderamente óptima a menos que se use Method -> "IntegerLinearProgramming"
como un argumento para FindShortestTour
. Sin embargo, esto es mucho más lento. El óptimo tours son aproximadamente el $100$ se mueve mejor.
Ejemplos de trayectos más largos
Ejemplo 1: espaciados de manera Uniforme.
Conjunto de las moscas:
{{0, 0}, {50, 50}, {0, 11}, {0, 22}, {0, 33}, {0, 44}, {0, 55}, {0, 66}, {0, 77}, {0, 88}, {0, 99}, {11, 0}, {11, 11}, {11, 22}, {11, 33}, {11, 44}, {11, 55}, {11, 66}, {11, 77}, {11, 88}, {11, 99}, {22, 0}, {22, 11}, {22, 22}, {22, 33}, {22, 44}, {22, 55}, {22, 66}, {22, 77}, {22, 88}, {22, 99}, {33, 0}, {33, 11}, {33, 22}, {33, 33}, {33, 44}, {33, 55}, {33, 66}, {33, 77}, {33, 88}, {33, 99}, {44, 0}, {44, 11}, {44, 22}, {44, 33}, {44, 44}, {44, 55}, {44, 66}, {44, 77}, {44, 88}, {44, 99}, {55, 0}, {55, 11}, {55, 22}, {55, 33}, {55, 44}, {55, 55}, {55, 66}, {55, 77}, {55, 88}, {55, 99}, {66, 0}, {66, 11}, {66, 22}, {66, 33}, {66, 44}, {66, 55}, {66, 66}, {66, 77}, {66, 88}, {66, 99}, {77, 0}, {77, 11}, {77, 22}, {77, 33}, {77, 44}, {77, 55}, {77, 66}, {77, 77}, {77, 88}, {77, 99}, {88, 0}, {88, 11}, {88, 22}, {88, 33}, {88, 44}, {88, 55}, {88, 66}, {88, 77}, {88, 88}, {88, 99}, {99, 0}, {99, 11}, {99, 22}, {99, 33}, {99, 44}, {99, 55}, {99, 66}, {99, 77}, {99, 88}, {99, 99}}
Óptima Duración Del Tour: $1110$
Óptima Tour:
Ejemplo 2: generados al Azar, a continuación, refinado.
Conjunto de las moscas:
{{0, 0}, {1, 48}, {3, 68}, {4, 39}, {5, 96}, {77, 70}, {6, 51}, {23,
89}, {89, 36}, {8, 64}, {10, 17}, {10, 48}, {22, 100}, {68, 31}, {59, 80}, {15, 42}, {25, 16}, {16, 54}, {19, 12}, {30, 92}, {21, 48}, {22, 63}, {22, 69}, {22, 79}, {24, 55}, {25, 84}, {26, 73}, {25, 42}, {75, 52}, {12, 72}, {30, 44}, {30, 82}, {76, 14}, {32, 10}, {32, 25}, {32, 59}, {35, 76}, {36, 38}, {67, 84}, {37, 56}, {37, 99}, {38, 12}, {39, 4}, {39, 87}, {40, 26}, {42, 69}, {43, 44}, {44, 31}, {44, 80}, {45, 98}, {46, 13}, {66, 0}, {47, 53}, {38, 31}, {49, 25}, {49, 67}, {51, 94}, {53, 57}, {56, 22}, {58, 51}, {54, 34}, {60, 42}, {61, 65}, {62, 8}, {64, 18}, {65, 58}, {67, 5}, {67, 70}, {69, 21}, {69, 56}, {1, 30}, {72, 7}, {15, 28}, {72, 63}, {74, 23}, {49, 34}, {75, 41}, {69, 48}, {76, 75}, {59, 92}, {80, 32}, {80, 56}, {80, 82}, {81, 44}, {84, 39}, {85, 2}, {82, 22}, {25, 93}, {88, 80}, {90, 47}, {91, 70}, {23, 37}, {93, 98}, {53, 0}, {97, 0}, {98, 41}, {98, 62}, {50, 74}, {99, 84}, {100, 31}, {28, 98}}
Óptima Duración Del Tour: $1252$
Óptima Tour:
(Nota: Este tour tiene una duración estimada de $1360$ utilizando el valor predeterminado (no óptimo) método usado en la primera parte.)