• 资源平衡与资源平滑


    资源平衡资源平滑是项目进度(时间)管理知识领域里,制定进度计划这个过程的工具资源优化下的两种技术,因为二者比较类似经常有学员朋友会问到二者的区别以及做题的时候到底应该选哪个,故写此文就这两个概念做一个较为详细的阐述,希望读者朋友读完本文能对透彻理解这两个优化资源的技术有所助益。

    项目进度计划一般需要用进度网络分析技术这个工具来编制,常用的进度网络分析技术包括关键路径法资源优化技术以及进度压缩等。一般第一步先用关键路径法编制出理论可行的进度计划;第二步运用资源优化技术根据项目实际的资源制约因素,把理论可行的进度计划变为实际可行的进度计划;最后用进度压缩法来进一步优化项目进度计划。本文主要通过举例详细讲述第二步资源优化技术下的两种子技术资源平衡资源平滑

    先来熟悉一下二者的概念:

    资源平衡(Resource Leveling),是根据资源制约因素对活动的开始日期与完成日期进行调整的一项技术。这儿的资源制约因素可以是关键资源只在特定时间可用,或者数量有限,或者被过度分配等等情况。资源平衡往往会改变关键路径(通常是延长)。

    资源平滑(Resource Smoothing),是为了让项目资源需求不超过预定的资源限制而对进度活动进行调整的一种技术。资源平滑不会改变项目关键路径,也可以把资源平滑看做一种特殊的资源平衡。

    我们来看一个实际的例子。如下图所示这是某个网站开发项目的进度网络图:

     
     

    橙色数字为该活动所需的工期周数,也就是说活动A、B、C、D、E、F分别需要工期周数为1、1、2、3、4、1周,从图中我们可以知道该项目的关键路径为A-C-E-F。每个活动所需的资源数如下列表所示:

     
     

    从上表可以看到,表格中的数字为每个活动在各周分别需要的资源数目,其中活动B和C可以并行开展,D和E也可以并行开展,其它都是逻辑关系完成到开始的顺序开展,灰色部分表示该活动的自由浮动时间。这个就是第一步用关键路径法做出来的理论可行的进度计划。下面绿色的资源柱状图表示项目每周需要的资源数量。

    在实际的项目中,我们需要对比项目目前的实际资源与计划的资源情况,有不一致的地方就需要作相应的调整。在检查资源过程中,我们发现这个计划里面活动B和C有其特殊性,都只能用同一个叫李明的资源,因为该活动在目前的项目团队中只有他可以做,这个时候就出现了李明过渡分配的问题,因为活动B和C是并行开展的,而李明只能一天做某一个活动,这个时候我们就需要做资源平衡来调整进度计划让其实际可行。

    因为活动B和C都需要李明来开展,故这两个活动只能一个一个来做而不能同时并行做,这个时候我们就可以把进度计划调整到如下表所示:

     
     

    上图可以看到我们把B和C错开做了,这样导致的结果是关键路径延长了,项目的工期也延长了一周,可以看到原来的项目总工期是8周,资源平衡做完之后项目总工期变为了9周。这个就是在做资源平衡,资源平衡的特点就是会造成项目关键路径的变化(通常是延长)。这儿总结一下此处所做的资源平衡就是:根据过渡分配的资源的实际情况,重新调整进度计划相关活动的开始结束时间,来使资源不再被过渡分配从而让进度计划具有实际可操作性。

    做完资源平衡之后,我们还需要继续检查其他的资源限制情况与现在的进度计划相冲突之处。在我们这个例子中,项目经理发现本项目实际能够使用的一共只有4个资源,而我们看上面表格进度计划的下方的资源需求柱状图发现有的周的资源需求是超过了4个的,这个时候就需要进一步做资源平滑。

    资源平滑是为了让项目资源需求不超过预定的资源限制而对进度活动进行调整的一种技术。在我们这个项目中,第5周的资源需求是5个,第6周的资源需求是6个,都超出了我们项目团队可用的资源数4个(见上图表格右下红色部分),这个时候我们就需要进一步做资源平滑调整我们的进度计划如下图右边部分所示:

     
     

    可以看到我们这儿把超出资源限制的这部分工作调整到了其他资源使用量不多的周上,从而使每周的资源使用量尽量地保持平稳。本项目中,我们也可以看到资源平滑也可能会使对应的活动工期延长(上图右边活动D的工期从资源平滑前的3周延长到资源平滑后的4周),但是该活动只在其自由和总浮动时间内延迟(灰色为该活动的浮动时间),这种调整就叫资源平滑。

    资源平滑后,进度计划可能还有需要优化的地方比如总工期过长等等,这个时候就可以用进度压缩方法来进一步优化我们的进度计划,关于进度压缩我们此处不是讨论重点故不展开叙述。

    综上所述我们总结一下资源平衡与资源平滑的区别,如下表所示:

     
     

    好了,关于资源



    作者:朱焕
    链接:https://www.jianshu.com/p/3113147038ef
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    [VC++]利用VS2005进行dump文件调试
    Release和Debug模式下成员变量初始化问题
    JDBC与C++的DB访问性能
    Log4J与LogBack的性能比较
    WinRar命令行参数
    玩弄C++:回调一个类成员函数
    如何将一个模板类A作为模板类B的模板参数
    HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTup
    HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTup
    使用jQuery发送POST,Ajax请求返回JSON格式数据
  • 原文地址:https://www.cnblogs.com/bolang100/p/10710548.html
Copyright © 2020-2023  润新知