24小时热门版块排行榜    

查看: 4913  |  回复: 26

chicdaima

铁虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
送鲜花一朵
LZ可否把你代码发给菜鸟我一下,我想学习一下 谢谢了。chic_home@126.com
爱拼才会赢
11楼2013-01-17 16:16:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

凡尘清泉

铁杆木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
5楼: Originally posted by typhoon111 at 2011-12-20 10:37:00
竟然有人还关注这个问题,不容易。。

426的解貌似是整数解,我使用浮点数的时候也从来没有到达过426。。呵呵...

426的整数解确实是存在的,而且是将每两个城市之间的距离用四舍五入(不是向下取整)的办法进行取整。我虽然没找到相应的图,但是在网上找到了一个路径。我按照给的路径计算了一下,确实整数解是426。但是这个路径是否是用启发式算法算出来的就不得而知了。
路径是:
[1 22 8 26 31 28 3 36 35 20 2 29 21 16 50 34 30 9 49 10 39 33 45 15 44 42 40 19 41 13 25 14 24 43 7 23 48 6 27 51 46 12 47 18 4 17 37 5 38 11 32 1]
其中城市的标号与数据库里的是对应的。
我给大家讲个笑话啊,等我博士毕业之后……
12楼2013-12-06 10:47:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

凡尘清泉

铁杆木虫 (著名写手)

引用回帖:
10楼: Originally posted by lixin2005 at 2012-05-01 22:34:35
本人用D(i,j)=round(((C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2)^0.5);就近取整Dij后,得到了426的最优解,visitedloop2=;他的实数解是429.9883,反倒不是我求得的最优实数解。谢谢小木虫,一个月的迷茫,靠虫友,靠自己 ...

426的整数解确实是存在的,而且是将每两个城市之间的距离用四舍五入(不是向下取整)的办法进行取整。我虽然没找到相应的图,但是在网上找到了一个路径。我按照给的路径计算了一下,确实整数解是426。但是这个路径是否是用启发式算法算出来的就不得而知了。
路径是:
[1 22 8 26 31 28 3 36 35 20 2 29 21 16 50 34 30 9 49 10 39 33 45 15 44 42 40 19 41 13 25 14 24 43 7 23 48 6 27 51 46 12 47 18 4 17 37 5 38 11 32 1]
其中城市的标号与数据库里的是对应的。
我给大家讲个笑话啊,等我博士毕业之后……
13楼2013-12-06 10:48:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

凡尘清泉

铁杆木虫 (著名写手)

引用回帖:
6楼: Originally posted by gmxgmxgmx at 2011-12-20 17:44:45
问题是从来没有人的论文里把426的图给出来,给出来的所谓的426的都是假的。...

426的整数解确实是存在的,而且是将每两个城市之间的距离用四舍五入(不是向下取整)的办法进行取整。我虽然没找到相应的图,但是在网上找到了一个路径。我按照给的路径计算了一下,确实整数解是426。但是这个路径是否是用启发式算法算出来的就不得而知了。
路径是:
[1 22 8 26 31 28 3 36 35 20 2 29 21 16 50 34 30 9 49 10 39 33 45 15 44 42 40 19 41 13 25 14 24 43 7 23 48 6 27 51 46 12 47 18 4 17 37 5 38 11 32 1]
其中城市的标号与数据库里的是对应的。
我给大家讲个笑话啊,等我博士毕业之后……
14楼2013-12-06 10:48:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

凡尘清泉

铁杆木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
8楼: Originally posted by lixin2005 at 2012-05-01 21:53:51
谢谢typhoon111!
这个问题,很好啊,我郁闷了一个月,豁然开朗
如果那些大牛业是将
D(i,j)= ((C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2)^0.5;
舍去小数部分用floor();可定会得到426的,本人还得到413呢,也理解 ...

用floor取整确实很容易就能得到一个426。。。。
我给大家讲个笑话啊,等我博士毕业之后……
15楼2013-12-06 10:50:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

typhoon111

木虫 (著名写手)

引用回帖:
14楼: Originally posted by 凡尘清泉 at 2013-12-06 10:48:18
426的整数解确实是存在的,而且是将每两个城市之间的距离用四舍五入(不是向下取整)的办法进行取整。我虽然没找到相应的图,但是在网上找到了一个路径。我按照给的路径计算了一下,确实整数解是426。但是这个路径 ...

我在继续城市距离的时候加上了个Math.round()函数来取整,使用蚁群算法可以很容易取到426的解,而且路径和你所说的完全一致。
16楼2015-07-16 10:34:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

typhoon111

木虫 (著名写手)

引用回帖:
6楼: Originally posted by gmxgmxgmx at 2011-12-20 17:44:45
问题是从来没有人的论文里把426的图给出来,给出来的所谓的426的都是假的。...

在计算城市距离时使用四舍五入,确实可以得到426的解,具体的路径是:[1 22 8 26 31 28 3 36 35 20 2 29 21 16 50 34 30 9 49 10 39 33 45 15 44 42 40 19 41 13 25 14 24 43 7 23 48 6 27 51 46 12 47 18 4 17 37 5 38 11 32 1]
17楼2015-07-16 10:37:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

typhoon111

木虫 (著名写手)

引用回帖:
8楼: Originally posted by lixin2005 at 2012-05-01 21:53:51
谢谢typhoon111!
这个问题,很好啊,我郁闷了一个月,豁然开朗
如果那些大牛业是将
D(i,j)= ((C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2)^0.5;
舍去小数部分用floor();可定会得到426的,本人还得到413呢,也理解 ...

是round()函数,不是floor()函数
18楼2015-07-16 10:38:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

凡尘清泉

铁杆木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
16楼: Originally posted by typhoon111 at 2015-07-16 10:34:38
我在继续城市距离的时候加上了个Math.round()函数来取整,使用蚁群算法可以很容易取到426的解,而且路径和你所说的完全一致。...

嗯 是的。我上次回复的时候比较早,当时刚刚接触这个问题。实际上426的解应该是很容易用元启发式算法得到的。不仅仅是蚁群算法。
而且在计算城市距离的时候,四舍五入取整是一个很常规的处理办法。
元启发式算法中加入2opt,一般可以在很大程度上提升算法性能,获得很好的结果。
我给大家讲个笑话啊,等我博士毕业之后……
19楼2015-07-16 10:49:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

typhoon111

木虫 (著名写手)

引用回帖:
19楼: Originally posted by 凡尘清泉 at 2015-07-16 10:49:45
嗯 是的。我上次回复的时候比较早,当时刚刚接触这个问题。实际上426的解应该是很容易用元启发式算法得到的。不仅仅是蚁群算法。
而且在计算城市距离的时候,四舍五入取整是一个很常规的处理办法。
元启发式算法 ...

我重新调试了下代码,GA在求解这个问题时,还是一般,平均值在430-450之间,要低于ACO。两者都引入了2opt。

GA在求解TSP时,最大的问题是排列不好进行变异,我试了两种Partially Matching Crossover和Order Crossover,都一般。
http://www.cnblogs.com/biaoyu/archive/2012/10/02/2710267.html

不知道你试过没有?
20楼2015-07-17 15:33:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 typhoon111 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见