我研究了茶匙在大学的背景下NP完整性。我从来没有实际上有一种情况,它将适用于实际问题。一点点的研究显示,它已经用来选择最廉价的路径移动钻周围,即使孔在电路板。这是几乎所有我能找到。

你使用它吗?什么其他的实际应用并TSA有?

有帮助吗?

解决方案

与此线程中的其他人一样,我在大学中为NP完整问题构建了一个解决方案(这是一个朋友的辅助项目) - 一个调度程序。在我同意处理他的问题时,我不知道NP完成了什么。我后来意识到我已经提出了一些相当好的启发式方法来解决问题 - 当然真正的诀窍是知道何时告诉用户没有解决方案并且他们过度约束了问题。

这是将我最终的理论课和现实世界结合在一起的好方法。

再次,启发式和“足够接近”。由于寻找和实施理想解决方案的成本,优选接近最优解决方案的现实世界用途通常是好的。

其他提示

我曾经被赋予了编写程序的任务,该程序用“波浪形”相当均匀地填充矩形区域。 - 不自相交的曲线。我的第一次尝试是在矩形内生成随机点并尝试找到它们的游览(不一定是绝对最短的)。不幸的是,这种方法效果不好,我放弃了。

我最终解决了这个问题:

我的成功方法与TSP无关,但对于好奇的我会总结一下:

从单个线段开始。现在循环:如果一行“太长”,则将其除以二。随机移动每个点,但使点相互排斥。当可以取得很少进展时结束循环。有细节,但希望你能得到这个想法。

当然这会产生一个角度路径(这是可以接受的),但是很容易将角落变成平滑的弧线。

是的,我保留了代码。

我从来没有亲自使用它,但除了钻孔电路板之外的另一个应用是,如果你想去许多不同的地方,比如卖真空吸尘器。您可以使用问题的解决方案来确定最便宜的方式到处访问一次。

知道问题何时是NP-hard对于排除涉及解决该问题的解决方案是有用的。无论何时你看到TSP(或任何其他NP难问题)都会让你的丑陋头脑出现非常重要的问题,你知道你正朝着错误的道路前进。你不仅知道它,而且知道为什么,并且可以自信地告诉你的老板/队友/任何人。

据说 http://en.wikipedia.org/wiki/CONCORDE 显示:

  

协和飞机已经应用于问题   基因定位,[1]蛋白质功能   预测,[2]车辆路线,[3]   将位图图像转换为   连续线图,[4]   安排地震的船舶运动   调查,[5]和研究   组合的缩放特性   优化问题。[6]

是的我在Geocaching应用程序中用它进行路径规划。

它目前使用点之间的直线距离,但应该正确(当我绕过它时)使用道路来计算点之间的距离。

http://code.google.com/p/gpsturbo/

大多数情况下,您不想使用解决NP-Complete / Hard问题的算法。您只需要一个“足够好”的算法。这些通常基于启发式并给出合理的近似值。

我有一个问题是独立集(NP-Complete)的一个实例,但我发现了一个贪婪的算法,在绝大多数情况下都给出了相当不错的结果,并且运行时间很长。

许多类型的优化订购,例如汽车池提取,UPS包裹递送等,无论节点遍历要求在哪个方面都可以表达,例如时间或距离。

茶匙是 世界你好 NP完整的问题。在这是纯粹的规范形式,你不会找到它在野外常常(演示喜欢这一个,不包括的),但是一个巨大的子集NP完整的问题相关的或甚至基于TSP,例如:

  • 车辆路线 (包括供应的卡车路由选择)
  • 航空公司飞机的路由
  • 是火车的路由
  • 滑雪犁机的路由

这些具有额外的特定领域限制,这使他们更难解决。所以TSP是一个很好的介绍NP完整的问题,了解它们的性质。

几个问题在现实生活比赛的东西你在学数学课。问题是简化和抽象的,这样你可以看到的数学和不分心的详细信息。最好的现实生活的例子中的大运输服务提供商,如你所提到的,实际上并不涉及任何旅行推销员:它涉及调度的机器有工作来执行与 依赖于序列的装备时间.这包括机器在哪一个手臂的动作的一个工具,围绕不同的地点,也有一些绘画的应用程序(红>橙色->黄色更易于红>黄>橙色)。还有一些应用在 x射线晶体学 你有东方的一些样品的晶体,在几个不同的角度。

该公司基于改进的TSP算法。

http://www.pointserve.com/

他们为纽约市周围的有线电视安装人员和维修人员提供其他问题。

由于人类通常可以解决与20-60个节点的地图大多数算法相比或更好的TSP问题,因此让计算机解决问题并不常见。当成本足够高时,让计算机比人类提高1-2%可能值得进行计算。如果路线没有改变,那么可以证明花一些时间来优化它。这在集成电路设计中很常见。

航空公司旅行网站在向您显示航空公司列表和每条航线的价格时会使用特定版本的TSP问题。不同的是距离,而不是距离,他们优化成本,当然没有要求访问每个城市一次!假设您想从LGA飞往洛杉矶国际机场。大约有半打直达路线,以及无数其他路线。它可以建议LGA-> ORD-> LAX或LGA-> DWF-> LAX。可以手动为路线定价的人类有时可以找到比旅游网站搜索的票价更低的票价。通常,人们不希望连接超过两个,但给定航班的连接数没有上限。

我用它来解决我的旅行推销员iPhone游戏的路线。有趣的是人们非常善于解决最短的路线,但不是解决最长的路线。最长和最短的路线具有相同的复杂性,但人们似乎受过训练,能够找到最短的路线,通常比计算机更快,更好。

在我的第一份工作中,我们建立了家庭护理安排应用程序。
我们用一些非线性时间约束和一个额外的非线性成本函数解决了TSP问题 我们使用非最优解算器来解决问题。

谷歌地图(以及其他所有基于地图的路线软件)难道不会使用某种旅行推销员来解决行车路线吗?

据我所知,我还没有使用过TSP,但我已经研究过一些自主机器人来穿越迷宫。所以我想知道TSP是否可以应用于迷宫解决。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top