APP下载

基于多属性效用函数组件优化组合的研究

2010-08-06张春阳吴庆涛

通信技术 2010年6期
关键词:效用函数分析法组件

张春阳, 陈 卓, 吴庆涛

(河南科技大学电子信息工程学院,河南 洛阳 471003)

0 引言

基于组件的软件复用被认为是提高软件生产率的有效途径之一。基于组件的开发成为近年来软件工程领域研究的最新热点。其主要贡献在于提高生产率,缩短上市时间,提高软件的质量,减少维护的成本,允许不同应用之间的相互操作,同时也意味着降低了风险的程度提高系统功能性。上述前提是组件最优复用和最优组合。在进行基于组件的软件开发中产生诸多问题,怎样才能进行组件最优组合,发挥出组合后最大的优势。目前状况是,商业市场是组件的主要来源,这给项目开发人员带来很多不便,诸如,开发人员对组件信息掌握不全,不能全面理解,不同组件之间信息交流的问题,组成一个系统后可能会产生冲突等。组件的最优化组合是影响项目开发成功的关键技术之一。本文就详细讨论了组件组合的最优化方法。用构件进行组合的思想早在70年代就已提出了[1],从80年代开始又产生出了新的生命力。构件技术是90年代软件技术的一个重要进展,独立于语言的。它只规定构件的外在表现形式,而不关心其内部实现方法;它既可用面向编程语言实现,也可用非面向对象的过程语言实现。

1 组件组合技术的现状

基于构件的组合技术在国际上正以迅猛的势头发展,它已成为新一代软件技术发展的标志,有数据显示2008年[2],所有软件解决方案中有70%是使用构件和模板这样的“积木”来建造的。当然大型的软件公司及软件组织机构都推出了支持构件技术的软件平台。中国软件业对构件技术的研究机构有北京大学软件工程研究所,上海普元等。组件组合涉及其他相关决策,开发人员往往对被选择的组件特性和行为细节缺乏足够了解,因此组件选择成为影响项目成功的决定性因素之一。目前,组合这方面技术的研究还不多,效用函数法发挥出了很大的优势。此法运用实验心理学原理,将不可公度的目标函数或准则转化为单一的目标函数,提高决策的准确性。接下来要做的工作为运用基于效用函数的多属性分析方法和AHP方法进行组件的最优化组合。

2 多属性效用函数分析法

多属性效用函数法是多目标决策的主要方法之一[3],它是运用了试验心理学原理,将不可公度的目标函数或准则转化为单一的目标函数。它主要是用于提高决策的准确性,使每一个方面都得到最佳的状态,避免冲突的发生。多属性效用函数分析法最大的好处是它能用来比较两个根本不具备可比性的物体,类似于“苹果和香蕉”哪个更好这类问题。对于分析这类问题,基于效用函数分析法是非常有价值的。

2.1 原理与模型

定义1 目标(Objective):目标是主体对客体的需求在概念上的反映。决策的目标只有两个方向:极大或是极小。

定义2 属性(Attribute):属性是影响决策问题的一个或一组变量。

定义 3 准则(Criteria):准则是衡量判断事务对主体有效性的标度,是比较,评价的基准。准则通常表现为属性或目标。

设n个属性 f1, f2,… ,fn,对于这些指标分别给一定的功效函数(即评分) di(0 ≤ di≤ 1 )用来描述 di与指标值 fi之间的关系称为功效函数,即 d1= F ( f1)。

2.2 具体的方法与步骤

具体的方法与步骤如下:

①定性技术经济指进行量化处理,得到相应的定量数据;

②将①处理后的数据与原始数据按对应的方案组成指标矩阵;

③无量纲处理:

通过公式可得到新的无量纲矩阵;

④求功效函数值指标矩阵。按式(1)、(2)、(3)进行规范化处理,求得所有指标的功效函数值(0 ≤≤ 1)。得到功效函数值 D = ();

⑤计算各指标权重。通过专家打分,求得各指标权重w = ( w1, w2,… ,wn);

⑥计算各方案综合权重 c(Ai),并根据各方案综合权重值的大小进行排序。取权重值大的为最优方案。

3 AHP法

层次分析法是美国匹兹堡大学T.L.Saaty 教授与20世纪70年代创立的,简称为AHP(Analytic Hierarchy Process)[4],主要用于多目标的复杂决策问题。决策者将复杂问题分成若干层次和若干因素,进行简单的比较和计算。层次分析法的过程基本如下[5]:

①AHP层次的确定;

②每个层次依次进行层次单排序,这样做的目的是确定本层次与上层次中的某元素有联系的各个元素重要性次序的权值。具体的做法为创建一个判断矩阵其中ija是元素iA与jA相比的重要程度,,计算这个矩阵的最大特征值及相对应的特征向量,特征向量为单排序的权重值,下一步是判断矩阵的一致性,最后为合成权重。利用同一层次所有层次单排序的结果,就可以计算针对上一层次而言的本层次所有元素的重要性权重值。最后得到一组值,选择这组数值当中最大的即可。

4 两种方法相结合

这两种方法都是多目标情况下的决策分析法,每种方法都是有利有弊。将这两种方法进行结合,目的是想发挥最大的优势,有效的避免弊端。确定每一类参与者的相对重要性和属性对于每一类参与者的相对影响这两个步骤,使用AHP法来做。

5 应用实例

随着企业信息化的发展,中小企业需要公司的内部网络平台,由于很多因素,他们没有独立开发所需要的软件或平台的能力,只能依靠从第三方的组件库中挑选适合自己情况的组件进行相互组合来满足需要。我们总体的目标为:满足我们要求的最小成本,如图1成本分析图所示。

图1 成本分析

根据该结构图,分步骤给出属性对目标的优先序:

确定每一类参与者的相对重要性;确定属性对于每一类参与者的相对影响;确定属性相对于目标的优先序。前两步通过AHP来实现,判断矩阵计算结果如表1所示。

表1 判断矩阵计算结果

求出矩阵的最大特征值,及这个最大特征值对应的特征向量,计算过程就不在此详细的列出来了,最后得到一组权重值(0.5568,0.0798,0.2560)。由表2,表3中数据可知第2种组合方案是这三种方案中最优的。

表2 属性的备选方案进行优劣排序

表3 各个方案的属性的效用值

6 结语

构造效用函数法是一种比较直观的分析法,好处为它能把两个根本不具备可比性的指标拿到一起进行比较。按照某种规则,称为相互可比的量化指标。这种方法可评判更多技术及经济指标的多个方案。AHP及效用函数法已经在经济上和运筹学方面发挥了很大的作用。在计算机的领域中,用到的地方还不是很多。由于是初始阶段,研究人员刚刚把这种数学方法应用到基于组件的软件开发中。这种方法在选择最优化的任何问题上,提供了理论的保证,以便我们挑选出的组件组合成的新系统功能更强大,稳定性更好。

[1] 钱航炜,项凯.软件组件获取方法的研究[J].计算机工程与应用,2005,11(10): 90-91.

[2] 李孝明,曹万华.一种软件构件的分类与检索的实现技术[J].计算机与数字工程,2004,21(03):73-75.

[3] 曾红卫,缪淮扣.构件组合的抽象精化验证[J].软件学报,2008,17(09):26-28.

[4] 吴建玉,胡文红,张运涛.基于J2EE架构的大坝安全信息系统的设计与实现[J].通信技术,2008,41(12):319-320.

[5] 孙莉.基于构件的软件测试中测试用例分配优化研究[J].通信技术,2008,41(10):193-194.

猜你喜欢

效用函数分析法组件
异步机传统分析法之困难及其克服
无人机智能巡检在光伏电站组件诊断中的应用
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
基于幂效用函数的最优投资消费问题研究
基于时间重叠分析法的同车倒卡逃费探析
供给侧改革的微观基础
层次分析法在SWOT分析法中的应用
AHP和SWOT分析法在规划编制中的应用
风起新一代光伏组件膜层:SSG纳米自清洁膜层