第13章 多目标决策
单目标决策问题前三章已经进行了较为详细的探讨。从合理行为假设引出的效用函数,提供了对这类问题进行合理分析的方法和程序。但在实际工作中所遇到的的决策分析问题,却常常要考虑多个目标。这些目标有的相互联系,有的相互制约,有的相互冲突,因而形成一种异常复杂的结构体系,使得决策问题变得非常复杂。
总之,多目标决策问题正愈来愈多的受到人们的重视,尤其是在经济、管理、系统工程、控制论和运筹学等领域中得到了更多的研究和关注。
13.1 基本概念
多目标决策和单目标决策的根本区别在于目标的数量。单目标决策,只要比较各待选方案的期望效用值哪个最大即可,而多目标问题就不如此简单了。
例13.1 房屋设计
某单位计划建造一栋家属楼,在已经确定地址及总建筑面积的前提下,作出了三个设计方案,现要求根据以下5个目标综合选出最佳的设计方案:
1) 低造价(每平方米造价不低于500元,不高于700元); 2) 抗震性能(抗震能力不低于里氏5级不高于7级); 3) 建造时间(越快越好);
4) 结构合理(单元划分、生活设施及使用面积比例等); 5) 造型美观(评价越高越好)
这三个方案的具体评价表如下。
表13.1 三种房屋设计方案的目标值
具体目标 低造价(元/平方米) 抗震性能(里氏级) 建造时间(年) 结构合理(定性) 造型美观(定性)
方案1(A1) 500 6.5 2 中 良
方案2(A2) 700 5.5 1.5 优 优
方案3(A3) 600 6.5 1 良 中
由表中可见,可供选择的三个方案各有优缺点。某一个方案对其中一个目标来说是最优者,从另一个目标角度来看就不见得是最优,可能是次优。比如从造价低这个具体目标出发,则方案1较好;如从合理美观的目标出发,方案2就不错;但如果从牢固性看,显然方案3最可靠等等。
1.多目标决策问题的基本特点
例13.1就是一个多目标决策问题。类似的例子可以举出很多。多目标决策问题除了目标不至一个这一明显的特点外,最显着的有以下两点:目标间的不可公度性和目标间的矛盾性。
目标间的不可公度性 是指各个目标没有统一的度量标准,因而难以直接进行比较。例如房屋设计问题中,造价的单位是元/平方米,建造时间的单位是年,而结构、造型等则为定性指标。
目标间的矛盾性 是指如果选择一种方案以改进某一目标的值,可能会使另一目标的值变坏。如房屋设计中造型、抗震性能的提高可能会使房屋建造成本提高。
2.多目标问题的三个基本要素
一个多目标决策问题一般包括目标体系、备选方案和决策准则三个基本因素。 目标体系—是指由决策者选择方案所考虑的目标组及其结构;
备选方案—是指决策者根据实际问题设计出的解决问题的方案。有的被选方案是明确的、有限的,而有的备选方案不是明确的,还有待于在决策过程中根据一系列约束条件解出。
决策准则—是指用于选择的方案的标准。通常有两类,一类是最优准则,可以把所有方案依某个准则排序。另一类是满意准则,它牺牲了最优性使问题简化,把所有方案分为几个有序的子集。如“可接受”与“不可接受”;“好的”、“可接受的”、“不可接受的”与“坏的”。
3.几个基本概念
1)劣解和非劣解
劣解:如某方案的各目标均劣于其他目标,则该方案可以直接舍去。这种通过比较可直接舍弃的方案称为劣解。
非劣解:既不能立即舍去,又不能立即确定为最优的方案称为非劣解。非劣解在多目标决策中起非常重要的作用。
f2(第二目标值)单目标决策问题中的任意两个方案都
可比较优劣,但在多目标时任何两个解不一I定都可以比较出其优劣。如图13.1,希望f1GH和f2两个目标越大越好,则方案A和B、
EF方案D和E相比就无法简单定出其优劣。
D但是方案E和方案I比较,显然E比I劣。
B而对方案I和H来说,没有其它方案比它们
C更好。而其它的解,有的两对之间无法比较,A但总能找到令一个解比它们优。I、H这一类解就叫非劣解,而A、B、C、D、E、F、
f1(第一目标值)G叫作劣解。
如果能够判别某一解是劣解,则可淘汰
图13.1 劣解与非劣解 之。如果是非劣解,因为没有别的解比它优,
就无法简单淘汰。倘若非劣解只有一个,当
然就选它。问题是在一般情况下非劣解远不止一个,这就有待于决策者选择,选出来的解叫选好解。
对于m个目标,一般用m个目标函数f1(x),f2(x),L,fm(x)刻划,其中x表示方案,而x的约束就是备选方案范围。
最优解:设最优解为x,它满足
*fi(x*)?fi(x) i?1,2,?,n (13.1.1)
2)选好解
在处理多目标决策时,先找最优解,若无最优解,就尽力在各待选方案中找出非劣解,然后权衡非劣解,从中找出一个比较满意的方案。这个比较满意的方案就称为选好解。
单目标决策主要是通过对各方案两两比较,即通过辨优的方法求得最优方案。而多目标决策除了需要辩优以确定哪些方案是劣解或非劣解外,还需要通过权衡的方法来求得决策者认为比较满意的解。权衡的过程实际上就反映了决策者的主观价值和意图。
13.2 决策方法
解决多目标决策问题的方法目前已有不少,本节主要介绍以下三种:化多目标为单目标的方法、重排次序法、分层序列法。决策的一般步骤为,第一步,判断各个方案的非劣性,从所有方案中找出全部非劣方案,即满意方案。第二步,在全部非劣方案中寻找最优解或选好解。
13.2.1 化多目标为单目标的方法
由于直接求多目标决策问题比较困难,而单目标决策问题又较易求解,因此就出现了先把多目标问题转换成单目标问题然后再进行求解的许多方法。下面介绍几种较为常见的方法。
1) 主要目标优化兼顾其它目标的方法
设有m个目标f1(x),f2(x),….,fm(x),x?R均要求为最优,但在这m个目标中有一个是主要目标,例如为f1(x),并要求其为最大。在这种情况下,只要使其它目标值处于一定的数值范围内,即 就可把多目标决策问题转化为下列单目标决策问题:
maxf1(x)'x?R'R?{xfi?fi(x)?fi,i?2,3,...,m;x?R}''' (13.2.1)
例13.2 设某厂生产A、B两种产品以供应市场的需要。生产两种产品所需的设备台时、原料等消
耗定额及其质量和单位产品利润等如表13.2所示。在制定生产计划时工厂决策者考虑了如下三个目标:第一,计划期内生产产品所获得的利润为最大;第二,为满足市场对不同产品的需要,产品A的产量必须为产品B的产量的1.5倍;第三,为充分利用设备台时,设备台时的使用时间不得少于11个单位。
表
消耗定额 产品 产品消表
资源 设备台时(h) 原料(t) 2 3 4 4 3 3.2 A B 限制量 12 12 13.2 耗、利润
显然,上述
决策问题是一
单位利润(千元) 个多目标决策问题,今若将利润最大作为主要目标,则后面两个目标只要符合要求即可。这样,上述问题就可变换成单目标决策问题,并可用线性规划进行求解。
设x1为产品A的产量,x2为产品B的产量,则上述利润最大作为主要目标,其它两个目标可作为约束条件,其数学模型如下:
max z?4x1?3.2x2
?2x1?4x2?12(设备台式约束)?(原料约束)?3x1?3x2?12?s.t.?x1?1.5x2?(目标约束)0 (13.2.2) ?2x?4x?11(目标约束)2?1??x1,x2?0(线性规划问题及后面所介绍的目标规划问题的求解过程请参阅《运筹学》有关部分。)
2) 线性加权和法
设有一多目标决策问题,共有f1(x),f2(x),…,fm(x)等m个目标,则可以对目标 fi(x) 分别给以权重系数?i(i=1,2,…,m),然后构成一个新的目标函数如下:
max F(x)=
??i?1mifi(x) (13.2.3)
计算所有方案的F(x)值,从中找出最大值的方案,即为最优方案。
在多目标决策问题中,或由于各个目标的量纲不同,或有些目标值要求最大而有些要求最小,则可首先将目标值变换成效用值或无量纲值,然后再用线性加权和法计算新的目标函数值并进行比较,以决定方案取舍。
3) 平方和加权法
设有m个目标的决策问题,现要求各方案的目标值f1(x),f2(x),…,fm(x)与规定的m个满意值f1*,f2*,…,fm*的差距尽可能小,这时可以重新设计一个总的目标函数:
F(x)=
??(f(x)?fiii?1m*2i) (13.2.4)
并要求min F(x),其中?i是第i(i=1,2,…)个目标的权重系数。
4) 乘除法
当有m个目标f1(x),f2(x),…,fm(x)时,其中目标f1(x),f2(x),…,fk(x)的值要求越小越好,目标fk(x),fk+1(x),…,fm(x)的值要求越大越好,并假定fk(x),fk+1(x),…,fm(x)都大于0。于是可以采用如下目标函数
F(x)=
并要求min F(x)。
5) 功效系数法
设有m个目标f1(x),f2(x),…,fm(x),其中k1个目标要求最大,k2个目标要求最小。赋予这些目标f1(x),f2(x),…,fm(x) 以一定的功效系数di(i=1,2,…,m),0?di?1。当第i个目标达到最满意时di=1,最不满意时di=0,其它情形di则为0,1之间的某个值。描述di与fi(x)关系的函数叫作功效函数,用di=F(fi)表示。
不同性质或不同要求的目标可以选择不同类型的功效函数,如线性功效函数、指数型功效函数等。图13.2所示为线性功效函数的两种类型。图13.2a所示为要求目标值越大越好的一种类型,即fi值越大,di也越大。图13.2b为要求目标值越小越好的一种类型,即fi越小,di越大。
f1(x)?f2(x)???fk(x) (13.2.5)
fk?1(x)?fk?2(x)???fm(x)记 max fi(x)= fimax,min fi(x)=fimin,若要求fi(x)越大越好,则可设di(fimin)?0,di(fimax)?1,第i个目标的功效系数di的值为
di(fi(x))?fi(x)?fimin (13.2.6)
fimax?fimin若要求fi(x)越小越好,则可设di(fimin)?1,di(fimax)?0,第i个目标的功效系数di的值为
d 1.0 d 1.0 O f (a) O f (b) 图13.2 线性功效函数
a) 目标值愈大愈好的类型 b) 目标值愈小愈好的类型
di(fi(x))?1?fi(x)?fimin (13.2.7)
fimax?fimin同理,对于指数型功效函数的两种类型,亦可类似地确定di的取值。 当求出n个目标的功效系数后,即可设计一个总的功效系数,设以
D?md1d2?dm (13.2.8)
作为总的目标函数,并使max D。
从上述计算D的公式可知,D的数值介于0、1之间。当D = 1时,方案为最满意,D = 0时,方案为最差。另外,当某方案第i目标的功效系数di=0时,就会导致D = 0 ,这样也就不会选择该方案了。
13.2.2 重排次序法
重排次序法是直接对多目标决策问题的待选方案的解重排次序,然后决定解的取舍,直到最后找到“选好解”。下面举例说明重排次序法的求解过程。 例13.3 设某新建厂选择厂址共有n个方案m个目标。由于对m个目标重视程度不同,事先可按一定方法确定每个目标的权重系数。若用fij表示第i方案第j目标的目标值,则可列表如表13.3所示。
表13.3 n个方案的m个目标值
目标(j) 方案i f1 f2 … … … … fj … … … … fm-1 fm λ1 f11 f21 λ2 f12 f22 λj f1j f2j λm-1 f1,m-1 f2,m-1 λm f1,m f2,m 1 2