【问题标题】:Minimum cost algorithm with 1 cost for edges and 2 costs for vertexes最小成本算法,边成本为 1,顶点成本为 2
【发布时间】:2018-04-29 20:46:56
【问题描述】:

我正在尝试找出适用于以下情况的算法:我想在无向图上运行最小成本算法。边有一个与之相关的成本,而顶点有 2 个成本与它们的哪一个相关联。这是它变得有点棘手的地方。我必须选择与顶点相关的 2 个成本之一。如果我选择 cost1,则顶点的类型为 1,如果我选择 cost2,顶点的类型为 2。如果顶点的类型不同,则只能认为它们由一条边连接。大多数情况下,为顶点选择最低成本是合乎逻辑的,但根据与其关联的边的成本及其相邻顶点的类型,您更愿意为顶点选择最高成本,结果以较小的总成本。任何建议,例如我应该尝试应用哪种算法或方法,将不胜感激。

Here is a link to a simple example of what I am trying to achieve。此解决方案的成本为 57,这是该图可能的最低成本。

编辑:拼写。

【问题讨论】:

  • 您必须解释“最小成本算法”的含义。您发布的内容看起来不像流程图。
  • 我的意思是算法将返回顶点和边成本的最小可能总和。 @Snefel
  • 您应该编辑您的问题以包含该信息。

标签: algorithm graph


【解决方案1】:

您描述的问题可以简单地转换为最小割问题,然后用Stoer-Wagner algorithm 解决。再创建两个顶点,每个顶点与所有其他顶点(彼此除外)都有边。一方面,边成本取自相应顶点的成本;另一方面,从他们的cost2s。现在找到一个最小切割;这将在两个新节点之间进行切割,并将原始顶点划分为 type1 和 type2。

编辑:如果(原始)边成本与顶点成本相比足够高,您最终可能会在同一分区中获得两个新顶点。为防止这种情况发生,请向添加到新顶点的所有边添加一个大的相等成本(大于所有其他边的总和)。

【讨论】:

    猜你喜欢
    • 2018-10-22
    • 1970-01-01
    • 2020-11-24
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 2021-01-24
    相关资源
    最近更新 更多