【发布时间】:2020-08-27 05:49:57
【问题描述】:
有许多算法或策略可以找到具有最低或最高成本的路径。但是,很难找到一种方法可以找到在(或低于)所需成本 (RC) 的路径,即这样的 RC 不是最小或最大的,而是实际成本应该小于这样的 RC。
我正在寻找一种可行的算法来找到满足这两个约束的路径:
- 此类路径的成本应低于所需成本。
- 从源到目的地的路径应包含尽可能多的跃点。
一个例子如下所示, 例如,
源是节点A,目的是节点B;所需成本为 10。从 A 到 B 可以找到 3 条路径:
1. A --> C --> B; cost is 5
2. A --> C --> D --> B; cost is 8
3. A --> C --> D --> E --> B; cost is 12
根据提到的两个约束条件,path 2 (A --> C --> D --> B; cost is 8) 是最好的一个,因为成本为 8,比所需的成本 10 小,并且路径 2 比路径 1 长。
希望我能清楚地解释我的问题。 有没有发布的算法或方法来解决这个问题?
提前谢谢你。
【问题讨论】:
-
这是 NP 完全的。具体来说,这是哈密顿路径问题的超级问题。
-
看起来确实是 NP-Complete,您应该在 Operations Research 上提问
-
那么,你的数据中是否允许循环,例如我可以有 A->C->D->C->D->B 类型的结构吗?如果是这种情况,我可以根据自己的选择继续循环多次,从而从相同的节点构造许多不同长度的路线。如果您不允许循环问题变得更容易处理,请查找有向无环图所有路径算法。
标签: algorithm graph routes dijkstra