【问题标题】:how to design CPM algorithm?如何设计CPM算法?
【发布时间】:2009-12-09 09:26:09
【问题描述】:

如何用列表数据结构表示图我有三个类(图、节点、边),并希望在图中找到关键路径。

如何计算

  • ES:最早开始
  • EC:最早完成
  • LS : 最近开始
  • LC:最新完成

谢谢

【问题讨论】:

    标签: c++ algorithm project-management


    【解决方案1】:

    另一种存储图形的方法是 Boost 图形库 (BGL)。从我在维基百科上看到的,critical path 是两个顶点之间最长的路径。此外,对于一般情况,似乎找到longest path 是 NP Complete,但对于我认为是您的情况的有向无环图 (DAG),有更有效的算法。

    最长路径算法不在 BGL 中,但维基百科上的 DAG 算法看起来相当容易实现。

    【讨论】:

      【解决方案2】:

      优秀的quickgraph库有描述图的类,以及大量的图算法,包括shortest path。你也许可以做类似的事情。

      不过,您似乎想要的实际上比标准的图算法更复杂;似乎您希望 Microsoft Project 的核心以一种简单的算法可用,但不幸的是,事实并非如此。您可能会考虑购买一个项目副本,并使用它的 COM API 来创建您的计划——这可能是一种简单的方法,具体取决于您的环境。不过,我怀疑您将面临一大堆工作。

      【讨论】:

      • 我不知道 Qt 是什么,但我不明白为什么不知道。这是一个纯 .net 程序集,您可以在任何地方使用。
      猜你喜欢
      • 2012-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-08
      • 1970-01-01
      • 1970-01-01
      • 2017-04-19
      • 2012-11-12
      相关资源
      最近更新 更多