现在需要做一个TSP问题的解法,表示遇到了无奈的情况
问题描述:旅行商问题,已知N个城市的坐标或者距离邻接矩阵(int类型),从一个城市出发固定0城市或者固定1城市出发,经过且仅经过其余N-1个城市一次,回到出发城市。求最短距离,并且需要知道最短距离的途径路径。
测试样例:已知坐标的,最大有52个城市
已知距离邻接矩阵的,最大有58个城市
0、暴力法:城市顺序全排列,找到最短距离(纯属开玩笑,跑两天不知道行不行···
1、回溯法:运行了1个小时才能得到结果而且只是,表示未免也太慢了点吧。
2、分支定界法:空间消耗太大了,运行时间也难以保证。
3、动态规划法:空间复杂度要求太高了,城市稍微比较多的样例程序就会崩···,数量比较少的样例倒是没问题,自己写出来了
4、模拟退火算法,遗传算法,蚁群算法,看了半天的算法介绍,表示自己学不会怎么破···
5、其他算法:禁忌搜索?(其实这个觉得能写,但算法有点不理解····
想问问大神们,有什么好的方法可以过了那17个样例。真心感谢啊······
希望能用C/C++语言实现,不是也没关系。