热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

项目组合多目标规划问题的交互式求解法

摘自PM圈子网—项目管理牛人聚集地在在项目组合管理中,如何在确保实现企业战略目标的基础上,兼顾各个项目的计划目标,并自上而下地平衡和协调各

摘自PM圈子网—项目管理牛人聚集地

在在项目组合管理中,如何在确保实现企业战略目标的基础上,兼顾各个项目的计划目标,并自上而下地平衡和协调各个项目的资源使用,从而使得企业的有限资源得到最大化地利用是项目组合资源优化管理中一大难题。

在实际问题中,项目管理办公室可能会同时考虑以下这些方面都达到最优:项目A完工时间必须最短,项目B预算成本最低,项目C质量最好,项目D所使用的人员最少等。在这种情况下,往往很难利用线性规划来解决问题。因为线性规划只研究在满足一定条件下,单一目标函数取得最优解。这个最优解若是超过了实际的需要,很可能是以过分地消耗了约束条件中的某些资源作为代价。线性规划把各个约束条件的重要性都不分主次地等同看待,这也不符合项目群中各个项目的优先级往往不同的实际情况。


为了弥补线性规划问题的局限性,解决有限资源和计划指标之间的矛盾,在线性规划基础上,建立多目标规划方法,从而使一些线性规划无法解决的问题得到满意的解答。 先将目标等级化:将目标按重要性的程度不同依次分成一级目标、二级目标,…,最次要的目标放在次要的等级中。我们可以把目标优先级作如下约定:

• 对同一个目标而言,若有几个决策方案都能使其达到,可认为这些方案就这个目标而言都是最优方案;若达不到,则与目标差距越小的越好。

• 不同级别的目标的重要性是不可比的。即较高级别的目标没有达到的损失,任何较低级别的目标上的收获都不可弥补。所以在判断最优方案时,首先从较高级别的目标达到的程度来决策,然后再其次级目标的判断。

• 同一级别的目标可以是多个。各自之间的重要程度可用数量(权数)来描述。因此,同一级别的目标的其中一个的损失,可有其余目标的适当收获来弥补。

• 若多目标规划问题的解能使所有的目标都达到,就称该解为多目标规划的最优解;若解只能满足部分目标,就称该解为多目标规划的次优解;若找不到满足任何一个目标的解,就称该问题为无解。


线性多目标规划问题(LMP)的数学表达式标准型为:

min Z = C Y

s.t AX + Y’+ Y” = b

X,Y,Y’ Y” > 0

这里 C、Y、A、X、Y’、Y” 、 b均为矩阵或向量的形式。

与线性规划相比,多目标规划标准型的特点在于:

1、 偏差列向量Y’ 、Y” 。Y’ 、Y” 分别为 负、正偏差列向量,各有 m(m是约束方程的个数)个元素Y’、Y” 。负偏差变量的经济含义为当实际值小于目标值时,实际值与目标值的偏差为负偏差,正偏差变量的经济含义与之恰恰相反。

2、 价值系数行向量C。C的元素最多不超过 2m个,由目标优先权等级 Pi和目标优先权系数η组成,即 C = (c1,c2…,c2m) = (η[1] * P[1], η[2] * P[2],…, η[2m] * P[2m])。目标优先权排序 P[1],P[2],…,P[2m]给出了多目标规划迭代过程中实现目标的顺序。在实 现某一优先级目标后,应依顺序考虑一个优先级能否实现。但是不能为实现较低目标而使较高级目标的实现受到影响。

3、 在多目标规划的目标函数中,出现的变量 只能是偏差变量。也就是说,列向量 y以正偏差变量和负偏差变量为元素。目标优先权等级 P[i]既不是变量,也不是常数,它只是说明不同目标实现的先后顺序,这种优先等级的确定一般是由企业决策部门根据企业具体情况及各目标的轻重缓急加以确定 的。而目标优先级系数,则说明同一优先级目标相互之间的比例关系。

4、 由于多目标规划的目标函数是向量值函数,一般情况下不存在通常意义的最优解。因此多目标规划主要考虑使问题的向量目标在某种意义下非劣的有效解。而在无穷多个有效解中,我们必须根据决策者的满意程度在有效集中寻找到最终满意解。

多目标规划的解法主要有单纯形法和图解法。图解法一般只适用于两个决策变量的情形。单纯形法对于求解多目标规划有普遍意义,是一种较为传统的方法。该算法沿可行域逐步搜索极点,直至得到所有的有效解,然后再根据偏好从中选择一个满意解。在这一过程,决策者并未参与其中,使得搜索过程显得繁琐且计算量大。


在实际工作中,项目管理办公室可以采用交互式单纯型算法让决策者参与搜索过程,每次选择最适合自己偏好的进基向量,这样每次得到的既是有效的极点解,又向着最终满意解不断得到改善,直至最终得到满意的解。具体算法步骤如下:

(i) 构造LMP问题,并求出一个初始有效极点解x’及对应的基B;

(ii) 建立对应于基B的单纯型表,计算n个目标函数在x’处的函数值Z=(z[1], z[2], …, z[n]),如果决策者满意,则得到最终的满意解,否则转(iii);

(iii) 决策者根据理想点和偏好给出目标函数值的增减量Z’=(z[1]’, z[2]’, …, z[n]’),并求出x’的所有相邻有效极点解,构成有效变量集K’,并根据K’做凸规划,得到弱有效解子集G。

(iv) 从G中,挑选出有限个让决策者满意的解。并随机给定一组系数来构造

Q ={λ[1], λ[2],…, λ[n]},

λ[i] 取值在[0,1]之间,且∑ λ[i] = 1,从而到得

x”={ λ[1] * X[1] + λ[2] * X[2], …, λ[n] * X[n] }。

若x”的正负符号与(iii)中一致,则转(vi),否则转(v);

(v) 对Q进行优先排序或加权优先排序,并重新计算Z,如果该解可以被决策者接受,转(vi),否则转(iii).

(vi) 接受可行解Z,并加以分析。

以上交互式规划法虽然不能给出全部解,但可以保证每一步得到的解均为有效的极点解。而且在实现上容易用编程来实现,从而在项目组合中的项目计划和筛选决策中起一定的辅助作用。


推荐阅读
  • 图数据库中的知识表示与推理机制
    本文探讨了图数据库及其技术生态系统在知识表示和推理问题上的应用。通过理解图数据结构,尤其是属性图的特性,可以为复杂的数据关系提供高效且优雅的解决方案。我们将详细介绍属性图的基本概念、对象建模、概念建模以及自动推理的过程,并结合实际代码示例进行说明。 ... [详细]
  • 汇编语言等号伪指令解析:探究其陡峭的学习曲线
    汇编语言以其独特的特性和复杂的语法结构,一直被认为是编程领域中学习难度较高的语言之一。本文将探讨汇编语言中的等号伪指令及其对初学者带来的挑战,并结合社区反馈分析其学习曲线。 ... [详细]
  • 离散型随机变量的典型分布:超几何、几何、二项及泊松分布
    本文探讨了几种常见的离散型随机变量分布,包括超几何分布、几何分布、二项分布及其衍生的负二项分布和泊松分布。通过具体的模型和推导过程,详细介绍了这些分布的概率质量函数、期望和方差等关键特征。 ... [详细]
  • 深入理解Java中的Collection接口与Collections工具类
    本文详细解析了Java中Collection接口和Collections工具类的区别与联系,帮助开发者更好地理解和使用这两个核心组件。 ... [详细]
  • 最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ... [详细]
  • 本文将详细介绍如何在Linux操作系统中执行PHP脚本,包括环境配置、命令使用及验证方法。对于需要在Linux环境下开发或部署PHP应用的用户来说,这是一篇非常实用的文章。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 作为一名专业的Web前端工程师,掌握HTML和CSS的命名规范是至关重要的。良好的命名习惯不仅有助于提高代码的可读性和维护性,还能促进团队协作。本文将详细介绍Web前端开发中常用的HTML和CSS命名规范,并提供实用的建议。 ... [详细]
  • 脑机接口(BCI)技术正逐步将科幻变为现实,从帮助听障人士恢复听力到使瘫痪者重新站立,甚至可能将多年的学习过程压缩至瞬间。本文探讨了这一前沿技术的现状、挑战及其未来前景。 ... [详细]
  • 网易严选Java开发面试:MySQL索引深度解析
    本文详细记录了网易严选Java开发岗位的面试经验,特别针对MySQL索引相关的技术问题进行了深入探讨。通过本文,读者可以了解面试官常问的索引问题及其背后的原理。 ... [详细]
  • HBase运维工具全解析
    本文深入探讨了HBase常用的运维工具,详细介绍了每种工具的功能、使用场景及操作示例。对于HBase的开发人员和运维工程师来说,这些工具是日常管理和故障排查的重要手段。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 本文介绍了如何通过扩展 UnityGUI 创建自定义和复合控件,以满足特定的用户界面需求。内容涵盖简单和静态复合控件的实现,并展示了如何创建复杂的 RGB 滑块。 ... [详细]
  • 在编写顺序控制程序(梯形图)时,一些复杂的功能如时间控制和旋转换刀等难以仅通过位运算实现。因此,功能指令应运而生,旨在简化这些复杂操作的编程过程。本文详细介绍了FANUC PMC中常用的功能指令及其应用场景。 ... [详细]
author-avatar
happy王琦2010_190
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有