- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
最近我尝试了几种不同的邻居选择算法来解决 Traveling Salesman Problem使用 Simulated Annealing :
abcdefg -> abfdecg
)ab|cdefg -> cdefgab
)abcdefg -> abdcefg
)a|bc|d|ef|g -> aefdbcg
)ab|cdef|g -> abfedcg
)事实证明,渐近性能存在巨大差异。 #5 结果是最好的,#2 结果根本不起作用。
为什么 #2 和 #5 有如此巨大的差异?两种算法一次改变两条边。在上面的示例中,#2 更改打破了 bc
并附加了 ga
。 #5 将 bc
替换为 bf
,并将 fg
替换为 cg
。为什么 #2 根本不起作用,而 #5 是 5 个中最好的?
最佳答案
也许我不明白你的问题,但据我所知,TSP 要求在一个闭环中访问所有城市,所以你从哪个城市开始不会改变总距离。您的策略 #2 似乎是一个循环排列,即相同的循环但起点不同,所以难怪它没有任何改进!
策略 #5 效果很好,因为它可能会删除两条交叉边:
a--b f--e a--b--f--e
| X | --> | |
\--g c--d \--g--c--d
请注意,#5 仅修改 2 条边。您的策略 #4 同时修改 4 条边,因此改进路线的可能性可能非常低。此外,策略#1 是#4 的特例,#3 是#5 的特例。
关于algorithm - 使用模拟退火的旅行商邻居选择的性能差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32939840/
我正在制作一个应用程序,我在其中为每个国家/地区分配不同的值并根据该值执行某些操作。喜欢: Argentina 3 Australia 7 USA 23 要选择国家/地区,我需要使用用户当前所在的国家
这里是一般 Node mongodb 问题。 我有这个功能: static addSpaceToCreator = ( userId, spaceId, callback ) => {
Linux 中的 tcp 数据路径是否有很好的概述(2.6,如果路径实际不同则不是 2.4)?在 tcp/ip 堆栈处理的不同阶段,数据包在哪里? 数据包如何打包到tcp段,然后是ip数据包。它是如何
我是一名优秀的程序员,十分优秀!