我有一个逻辑问题,因此从两个解释中选择:
数学: 我有2-14个节点的无向加权完整图。节点总是成对出现(起点到终点)。为此,我已经有了最小生成树,它认为对起始点始终位于其端点之前。现在我想添加另一对节点。
现实解释: 我已经有1-7人的最佳出租车路线。每个连接(起始点)和离开(端点)在不同的地方。现在我想在我向出租车添加另一个人时找到最佳路线。我已经计算了从每个点到数据库中每个点的子路径(因此这是一个加权图)。所有计算的路径都是实际值,而不是启发式。
现在我尝试找到解决此问题的最佳性能解决方案。我目前的想法:
忽略新端点在新起点之前的情况,此接缝可行。 我预计出租车的大致方向是一个方向,这消除了以下边缘情况。
我是否遗漏了这种算法无法计算最优解的情况?
答案 0 :(得分:0)
这个算法肯定有很多例子(这是一个First Fit构造启发式算法)找不到最优解。给定一个合理大小的数据集,根据我的经验,我想通过简单地获取该结果并添加元启发式(或其他优化算法)来获得10-20%的改进。
说明:
如果您有多个具有有限人员能力的出租车,它有一个继承箱装箱问题,这是NP完全的(事实证明,P中所有已知的建筑启发法都是次优解决的。)
但即使您只有1辆出租车,它也与TSP相似:如果您拥有10个位置的最佳解决方案并添加1个位置,它可以在最佳解决方案中创建雪球效果,使最佳解决方案看起来完全不同。 (对不起,还没有这个的可视图像)
如果您以后需要任何其他限制,则需要注意these false assumptions。