中国项目管理资源网

基于线性规划的项目组合选择探讨

2010/4/4 5:43:35 |  3188次阅读 |  来源:原创   【已有0条评论】发表评论

美国项目管理协会PMI对项目组合的定义为“A portfolio is a collection of projects and/or programs and other work grouped together to facilate effective management of that work to meet strategic business objectives”,即组合是项目和/或项目群以及其他工作聚合在一起,通过有效管理以满足业务战略目标。而项目组合管理是对项目组合的有效管理,PMI对组合管理的定义为“Project Portfolio management refers to the selection and support of projects or program investments. These investments in projects and programs are guided by the organization’s strategic plan and available resources .”,即项目组合管理是指在可利用的资源和企业战略计划的指导下,进行多个项目或项目群投资的选择和支持。项目组合管理是通过项目评价选择、多项目组合优 化,确保项目符合企业的战略目标,从而实现企业收益最大化。

因此项目组合管理采取的是自上而下的管理方式,即先确定企业的战略目标,将项目组合与企业目标结合在一起,获得项目之间的恰当平衡和组合。由于企业的资源是有限的,如何运用优化模型来选择适当的项目,“做不什么,不做什么”的项目选择管理就是项目组合中的首要任务。

在项目选择管理理模型中有多种优化模型,它们各有优缺点。笔者发现在项目管理办公室中,经常利用线性规划数学模型对项目进行取舍。构建线性规划数学模型的核心就是:求一组变量的值,在满足一组约束条件下,求得目标函数的最优解。

一般来讲,公司都有大批愿意从事的项目,但由于关键资源的限制,不得不选择其中若干项目,而放弃其它项目,这就是典型的0-1背包问题。假定一个公司在某个时段可以投资于N个项目,项目X[i]所需要投入的成本为W[i],所能带的效益是V[i]。公司所能拥有的总成本预算为C。应如何选择可行的项目,使得公司在该段时间所产生的经济效益最大? 在选择项目时,对每个项目X[i]只有2种选择,即项目实施(1)或项目搁置(0)。不能将项目X[i]实施多次,也不能让项目X[i]半途而废。

因此,数学表达式为:

f = Max ∑V[i] * X[i]

∑W[i] * X[i] <= C

X[i] 取(0,1) , i 取值从1到N。

也就是说,通过求出变量X[1], X[2] ,... ,X[N] 的一个决策序列来得到它的解,而对变量 X[i]的决策就是决定取0值和取1值。

解决这一问题的思路,我们利用动态规划来求解。即用子问题定义状态:即f[i][v]表示前i项目恰好占用公司的总预算,并可以获得的最大经济价值。则其状态转移方程便是:

f[i][v] = max{f[i-1][v],f[i-1][v-c[i]]+w[i]}

这个方程非常重要,它的内涵就是:“在公司总预算C之内实施前i件项目”这个子问题, 若只考虑第i个项目的策略(实施或搁置),那么就可以转化为一个只涉及到前i-1个项目的问题。如果不实施第i个项目,那么问题就转化为“在公司总预算C之内实施前i -1个项目”,价值为f[i-1][v];如果实施第i个项目,那么问题就转化为“前i-1个项目实施后所剩下的公司预算为v-c[i]的空间内,此时能获得的最大价值就是f[i-1][v-c[i]]再加上通过实施第i项目获得的价值w[i]。”因此在具体解决步骤中,我们采用递归的方式可以得出最优解。

如果问题更进一步,每个项目i不仅仅要用占用资金W[i],而且需要人力资源H[i],那么公司总预算C和总人力成本U的限制下,我们应如何选择呢?针对这二维费用的背包问题,我们只需要只需状态也加一维即可。设f[i][v][u]表示前i件物品付出两种代价分别为v和u时可获得的最大价值。状态转移方程就是:

f[i][v][u] = max{f[i-1][v][u],f[i-1][v-w[i]][u-h[i]]+w[i]}

∑W[i] * X[i] <= C
∑H[i] * X[i] <= U
X[i] 取(0,1) i 取值从1到N。

对于此类的问题的解决,我们可以利用Mathlab或编程的方式进行求得最优解。

从上面的例子分析,我们得知构建线性规划数学模型主要包括以下几个步骤:
(1) 明确问题,确定目标,确定备择项目集合;
(2) 备择项目集合筛选,由于项目集合选择问题的可行解个数随着备择项目个数的增加呈指数阶的增长,往往因为备择项目过多而造成了许多实际的项目集合选择问题计算和求解上的困难。因而通过一定的的筛选准则在不影响最终结果的前提下减少备择项目的个数,能有效地降低问题的计算复杂度,提高计算效率。当然,结合具体情况,许多比较简单或者具有特殊形式的项目集合选择问题也可以略过这一步骤。
(3) 收集资料,确定约束条件,在给定得到备择项目集合基础上,确定各项目的投入和产出状况,确定项目集合选择问题需要遵从的资源约束,从而建立线性规划模型;
(4) 对模型求解得最优解,并进行优化分析。这一阶段的主要任务是在数学模型的基础上,运用适当的数学方法求解该模型,得到项目集合选择问题的最优解。

运用线性规划法来选择项目组合思路比较直接,求出来的最优解也往往是有效的,但是也存在一些要注意的问题:

• 问题分析和建模能力:这要求管理者们必须具备相当全面的知识和丰富的经验,比如说,他们必须了解哪些问题可以用线性规划法解决,并能 准确理解各种假设的条件和作用,能帮助数学分析人员和计算机人员分析问题,解释和评价分析的结果。

• 备择项目集合的筛选。项目集合选择问题的计算复杂度和初始备择项目的数量是密切相关的。在大量实际的项目集合选择问题中,初始备择项目的数量往往比较大,使得问题的计算复杂度比较高,对问题作进一步的细化和求解变得比较困难。这也正是项目集合选择问题的一个主要难点。许多好的项目集合选择方法就是因为求解复杂度比较高,在求解实际问题时没有应用价值。因此在选择和优化之前对备择项目进行精简的作用主要体现在以下两个方面:第一,如果在对初始备择项目集合进行选择和优化之前能够通过一定的方法减少备择项目的个数,能够使得问题的计算复杂度显著的下降。第二,由于精简之后的备择项目集合比较小,决策者往往能够有足够的时间和精力对其中各项目作进一步的了解,这也提高了最终决策的可靠性和科学性。

【 发表评论 0条 】


网友评论
网友评论(共0 条评论)..

请您注意·自觉遵守:爱国、守法、自律、真实、文明的原则
·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规
·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·您在中国项目管理资源网新闻评论发表的作品,中国项目管理资源网有权在网站内保留、转载、引用或者删除
·参与本评论即表明您已经阅读并接受上述条款