TravelingSalesmanProblem

n개의 도시가 있고, 각 도시간의 거리가 있을 때, 모든도시를 거치는 가장 짧은 경로를 푸는 문제. also more formally called directed HamiltonianPathProblem.

n이 증가함에 따라 ComputationalComplexity가 급격히 증가하는 대표적인 NP-complete Problem이다. BigOhNotation으로 TimeComplexity를 표현하면 O(Cn)

MetropolisAlgorithm 페이지에 보면, TSP문제를 푸는 JavaApplet 프로그램을 볼수 있다.

예제프로그램 TspSolver.py으로 도시개수에 따른 수행시간비교 (IBM p690 1CPU, Permutation이용)

Numer of cities

Path

Distance

Time(sec)

0

.

0

2.28881835938e-05

1

0

0

3.2901763916e-05

2

0, 1

0.672324796349

0.000115871429443

3

1, 0, 2

0.945174301694

0.000323057174683

4

1, 3, 0, 2

1.01731284864

0.0015242099762

5

0, 1, 2, 3, 4

1.55294601167

0.00891494750977

6

1, 4, 5, 0, 3, 2

2.02538077212

0.0609500408173

7

3, 0, 6, 1, 2, 4, 5

1.63212360019

0.482034921646

8

0, 5, 6, 2, 7, 1, 4, 3

2.10825713515

4.30308294296

9

5, 4, 6, 8, 7, 0, 1, 3, 2

2.24051225861

42.6521940231

10

5, 4, 2, 6, 9, 1, 7, 3, 0, 8

2.49560470526

465.248432875

11

3, 8, 9, 1, 4, 10, 5, 7, 2, 0, 6

3.08470515919

5576.83088613

12

7, 5, 4, 3, 6, 9, 2, 1, 11, 0, 8, 10

2.27237596408

71951.927316

TSP (last edited 2012-08-06 15:07:45 by 182)

web biohackers.net