第1章 预备知识与基础
自人类文明诞生以来,各种类型的有组织的活动从未间断,不断地推动着人类社会的进步与发展。这些有组织的活动主要可以分为两种类型。
(1)一类是反复进行、不断循环往复的活动,该类型的活动不确定性极小且一致性较高,往往存在较为规范化和标准化的参考模式,人们称为运作或者作业(operation),如制造业的日常产品加工活动和企业的日常运营活动等。
(2)另一类属于临时性、一次性的活动,这种类型的活动不确定性较高且一致性较低,缺少标准化的参考依据,还往往带有一定的创新性以及创造性,如企业新产品开发或者产品技术改进等[1]。
目前还没有形成一个统一的关于项目的定义,许多专家学者从不同角度对项目进行了描述。美国项目管理协会(Project Management Institute,PMI)在《项目管理知识体系指南(PMBOK指南)》第6版中把项目定义为:项目是为创造独*的产品、服务或成果而进行的临时性工作[2]。国际标准化组织(International for Organization for Standardization,ISO)认为:项目是指在满足时间、费用以及资源等约束条件下,通过实施一系列的具有开始和结束日期、相互协调和控制的活动以实现项目目标的独*过程[3]。国际项目管理协会(International Project Management Association,IPMA)的罗德尼 特纳(Rodney Turner)认为:项目是一种一次性的努力,它通过一种新颖的方式将人力、财力和物力等进行组织,完成具有独*范围定义的工作,使工作结果符合特定的要求,同时还需满足时间和成本的约束。美国著名项目管理专家詹姆斯 刘易斯(James Lewis)认为:项目是一种一次性的复合任务,具有明确的开始时间、明确的结束时间、明确的规模以及预算,通常还存在一个临时性的项目组织。
综上所述,项目就是指在特定环境约束与要求(如时间、费用以及资源等)下,为完成既定目标所进行的特殊的、非重复性的、一次性的活动。项目是一个过程而不是过程终结后所形成的结果。例如,可以把一栋商业大楼的建设过程称为项目,而不是把商业大楼本身称为一个项目。
人类社会发展至今,一直在主动地创造和运用知识开展各种创新活动,以满足人类的一些新需求。由此成就了一些新的产业,不断地推动人类社会的发展与进步,创新的意义显而易见。而项目本身所具有的特殊性、一次性、非重复性的特点,将其与创新紧密联系。项目是实现创新的载体和有效途径,项目管理的重要性已经毋庸置疑,而项目管理*重要的工作就是项目的计划、调度与控制。
1.1 项目计划
项目计划是项目组织为了在合理的工期内采用较低的成本,以较高的质量完成项目目标,对项目活动进行周密而系统安排的过程,包括项目任务确立、实施方案的制订、预算的编制、人员的组织、政策的确立、执行程序的安排及标准的选用等。
在整个项目周期中,项目计划是*基本、*重要的阶段之一,尤其是在做出影响项目整个过程主要决策的初始阶段。但由于项目是一个创造性的过程,项目早期的不确定性极大,因此项目计划不可能在项目的初始阶段就一次性完成,需要不断展开与不断修正。通过将项目实际进度与项目计划进行比较,可以实现对项目实际进度的跟踪与控制,并需及时地根据执行情况不断地对项目计划进行反馈和修正,以完善项目计划。
1.1.1 项目计划的原则
项目计划作为项目管理的重要阶段,在项目中起着不可忽视的作用,因此在制订过程中要按照项目总目标、总计划进行详细计划。在项目计划制订过程中一般应遵循以下六个原则。
(1)目的性:任何项目都存在一个或几个确定的目标以实现特定的功能、作用和任务,而项目计划的制订则是围绕项目目标的实现而展开的。因此,在制订计划时,首先必须分析目标、明确任务。
(2)系统性:项目计划本身是一个系统,由一系列的子计划组成,各个子计划并不是孤立存在的。这些子计划虽彼此之间相对独立,但又紧密相关,从而使制订出的项目计划也具有系统的目的性、相关性、层次性、适应性、整体性等基本特征,使项目计划形成有机协调的整体。
(3)经济性:项目计划的目标不仅要求项目有较高的效率,而且要有较高的效益,因此在计划中必须提出多种方案进行优化分析。
(4)动态性:由项目的生命周期所决定,一个项目的生命周期短则数月,长则数年,在这期间,项目环境常处于变化之中,使计划的实施偏离项目基准计划,因此项目计划要随着环境和条件的变化而不断调整和修改,以保证完成项目目标,这就要求项目计划要有动态性,以适应不断变化的环境。
(5)相关性:项目计划是一个系统的整体,构成项目计划的任何子计划的改变都会影响到其他子计划的制订和执行,进而影响到项目计划的正常实施。因此,制订项目计划要充分考虑各子计划间的相关性。
(6)职能性:项目计划的制订和实施不是以某个组织或部门内的机构设置为依据的,也不是以自身的利益及要求为出发点,而是以项目和项目管理的总体及职能为出发点,涉及项目管理的各个部门和机构。
1.1.2 项目计划的特点
一份完善的项目计划应具有以下特点。
(1)动态可调整性:根据预测到的变化和实际存在的差异,及时做出反馈和改进。
(2)创造性:充分发挥并利用想象力和抽象思维能力,满足项目发展的需要。
(3)分析性:探索研究项目内、外部的各种因素,确定各种不确定性因素并分析其原因。
(4)响应性:及时确定存在的问题,提供调整和修正计划的多种可行方案。
1.1.3项目计划的形式
项目计划贯穿于项目生命周期的全过程。随着项目的逐渐展开,项目计划被不断地修改和调整,形成一个系统的计划体系。项目计划主要有以下三种形式[4]。
(1)概念性计划:也称为自上而下的计划,其任务是确定初步的工作分解结构图。概念性计划规定项目的整体轮廓以及战略方向。
(2)详细计划:又称为自下而上的计划,其任务是制定详细的工作分解结构图。详细计划提供项目的任务范围,具体的工作任务,执行工作任务的步骤、时间和资源。
(3)滚动计划:通过滚动的方法对可预见的未来逐步制订详细计划。随着项目的不断推进,分阶段地重新评估计划制订过程中所制订的进度和预算,并不断地对计划进行改进,使计划更加明确、合理,增加计划的灵活性。
1.2 项目调度
项目计划阶段的主要工作在于明确需要执行哪些任务以实现项目目标。而项目调度则在于如何有效地完成上述任务。在项目调度问题中通常包含一系列的子活动,它们之间存在逻辑上的先后顺序关系,同时每个子活动的执行又需要持续一定的时间并消耗特定种类和数量的资源。因此,项目调度可描述为在满足资源约束以及活动优先顺序关系的前提下,合理分配资源,安排项目活动,以优化工期*短、成本*低、净现值*大或资源均衡等目标。
早期项目调度方案的制订主要依靠手工对各项活动进行排序,确定各个活动的开始时间并判断项目目标是否有所改善。这样的排序过程需要反复调整,直到获得较为满意的解为止。但是,随着项目规模的增大以及约束条件的不断增多,上述过程变得极为复杂,工作量极大地增加,人工求解相当困难,过程烦琐且容易出错。人们开始追求更为高效的项目调度方案制订方法,提出了甘特图法、关键路径法(critical path method,CPM)以及计划评审技术(program evaluation and review technique,PERT)等。然而,甘特图法不能体现活动之间的相互依赖关系,也不能指出哪些活动是关键活动,更不能体现活动过早或者过晚完成所带来的影响等。此外,CPM和PERT都没有考虑资源的限制,仅考虑活动优先顺序关系下各项活动的安排。而现实中资源总是稀缺的,各活动对所需资源的竞争(如人力、设备、原材料以及资金等)很可能导致项目无法按照计划执行。因此,在甘特图法、CPM以及PERT之后,学术界和产业界逐渐转向了资源受限项目调度问题(resource constrained project scheduling problem,RCPSP)的研究,并开发了各类精确算法和启发式算法,对实际项目调度问题进行更合理的求解。
本节将从项目调度建模过程中主要涉及的活动工期、约束条件以及目标函数等出发,对常见的活动工期估计方法以及各类约束等进行详细的介绍。
1.2.1 活动工期
项目通常由一系列的活动(activity)组成,这些活动在不同的情况下,也可能称为任务(task)或者工作(job)。活动工期(duration),也称为作业时间,是指完成一项活动所需的时间,即一项活动的持续时间。活动工期一般取决于活动的工时定额,其时间度量单位需根据活动属性来定。精准的活动工期估计是展开项目调度的前提条件,然而,活动工期的精准估算往往是非常困难的,其原因包括缺乏历史数据、组织文化的阻挠等[5]。目前,进行活动工期估计的方法主要包括确定型时间估计和概率型时间估计。
1)确定型时间估计
当与活动相关的各种因素的不确定性较低时,可采用单一时间估计(single-time estimate)方法,对一项活动所需作业时间进行估计,确定一个时间值。该方法适用于通过查找一些定额资料或者借鉴以往的经验数据,较为准确地给出一系列活动的持续时间。此外,在进行活动时间估计时,应以完成各个活动的*大可能所需时间为准。
2)概率型时间估计
对于一些特殊的活动,如采用新技术、新工艺等,在估计活动的持续时间时,既无经验可循又无定额可查,采用单一时间估计活动工期往往会存在较大的误差。在这种条件下,三点时间估计方法是一个较优的选择。一般认为活动工期服从于β分布(beta distribution)。管理人员可估计一项活动的三个历时值,并借助概率统计方法来估计活动工期的期望值和方差。这三个估计值分别是To—*乐观时间,Tm—*可能时间,Tc—*保守时间。那么活动的期望工期Te及活动工期标准方差可由式(1-1)和式(1-2)求得[6]
(1-1)
(1-2)
1.2.2 约束条件
经典的项目调度问题主要涉及三类约束:一是活动逻辑关系约束;二是资源约束;三是时间约束。优秀的项目调度方案是在满足项目各种资源和活动先后顺序约束的基础上达到既定的目标,如项目工期*短化、成本*小化、资源均衡利用等。
1.活动逻辑关系约束
活动之间的逻辑约束,即先后次序一般分为两类,一类是工艺逻辑,由活动或者工作之间客观的科学规律所决定,例如,零件生产完成才能进行装配、设备安装完成才可进行调试等;另一类是组织逻辑,是从活动组织安排以及资源约束等方面考虑,确定活动的先后顺序,该类约束在一定条件下可变。
通常,项目的一系列活动及其相互关系可用网络图表示。网络图包含两种:以节点或者该节点编号表示活动的网络图称为单代号网络图;活动由连接两个节点的箭线表示的网络图称为双代号网络图。单代号网络图如图1-1所示,双代号网络图如图1-2所示。
图1-1 单代号网络图
图1-2 双代号网络图
项目中活动的先后顺序可以利用搭接关系来描述。搭接关系有四种基本的类型[7],分别是完成-开始(finish-start,FS)型、完成-完成(finish-finish,FF)型、开始-开始(start-start,SS)型以及开始-完成(start-finish,SF)型。图1-3详细地展示了活动A与活动B之间的搭接关系。
图1-3 活动之间的基本搭接关系
FS型关系表示活动B必须在活动A完成一段时间后才能开始,若A完成与B开始之间的时间跨度为零,则表示紧前约束关系;FF型关系
展开