多目标规划第十组许多实际问题的优化牵涉的目标往往不止一个,如设计一个工厂的施工方案,就要考虑工期、成本、质量、污染等目标,再如找工作,购买家用电器,追求的目标往往都不止一个。由于这类问题需同时考虑多个目标,而有些目标之间又相互矛盾,从而使决策问题变得复杂,这类决策问题称为多目标决策问题。多目标决策方法是现代管理科学的重要内容,也是系统分析的基本工具。按照决策变量是连续的还是离散的,多目标决策可以分为多目标规划决策(MultipleObjectiveDecisionMaking)和多准则决策(MultipleAttributeDecisionMaking)两大类,前者是以数学规划的形式呈现的决策问题,后者则是已知各个方案及它产生的结局向量,由此选择最优方案的决策。多目标决策主要指多目标最优化,即多目标规划。对于某些问题,可以先用多目标规划选出几个备选方案,然后再用多准则决策方法作进一步处理,因此,这两者既有区别又有联系。多目标最优化的思想萌芽于1776年经济学中的效用理论。1896年,法国经济学家V·Pareto首先在经济理论的研究中提出了多目标最优化问题。1951年,美国数理经济学家T·C·Koopans从生产和分配的活动分析中考虑了多目标决策问题,并首次提出了多目标最优化问题解的概念,将其命名为“Pareto解”(即有效解)。同年,H·W·Kuhn和A·W·Tucker从数学规划论角度首次提出向量极值问题及有关概念。进入20世纪70年代,随着第一次国际多目标决策研讨会的召开及这方面专著的问世,多目标决策问题的研究工作迅速、蓬勃地开展起来,到目前为止,已取得若干有价值的第一节多目标规划模型线性规划及非线性规划研究的都是在给定的约束集合R={X|gi(X)≥0,i=1,2,……,m)}X∈En上,求单目标f(x)的最大或最小的问题,即方案的好坏是以一个目标去衡量。然而,在很多实际问题中,衡量一个方案的好坏往往难以用一个指标来判断。也就是说,需要用一个以上的目标去判断方案的好坏,而这些目标之间又往往不是那么协调,甚至是相互矛盾的。本章将以实例归结出几类常见的描述多目标最优化问题的数学模型。一.一般多目标规划模型例1:【喜糖问题】设市场上有甲级糖及乙级糖,单价分别为4元/斤及2元/斤。今要筹办一桩喜事。“筹备小组”计划总花费不超过40元,糖的总斤数不少于10斤,甲级糖不少于5斤。问如何确定最佳的采购方案。我们先确定此问题应满足的条件(即约束条件)。不难看出,当甲级糖数量为x1,乙级糖数量为x2时,有:121211242401050,0xxxxxxx在研究以什么为“最佳”的衡量标准时,“筹备小组”的成员们意见可能会发生分歧,其原因是他们会提出各种各样的目标来。如果要求总花费最小,即要求:f1(x1,x2)=4x1+2x2→min如果要求糖的总数量最大,即要求:如果要求甲级糖的数量最大,即要求:易见,这是具有3个目标的规划问题(由于约束及目标均为线性函数,故它为多目标线性规划问题)。21212(,)maxfxxxx3121(,)maxfxxx例2:【投资决策问题】某投资开发公司拥有总资金A万元,今有n(≥2)个项目可供选择。设投资第i(i=1,2,……,n)个项目要用资金ai万元,预计可得到收益bi万元。问应如何使用总资金A万元,才能得到最佳的经济效益?niii=1ii1ii=12n0iaxAx(x1)0i=12nix决定投资第个项目设,,……,决定不投资第个项目问题的约束条件为,,……,xi=0或1所谓“最佳的经济效益”,如果理解为“少花钱多办事”,则变为两个目标的问题,即投资最少,收益最大:这是具有两个目标的0-1规划问题。111211()max()minnniiinniiifxxbxfxxax,……,,……,例3:【木梁设计问题】把横截面为圆形的树干加工成矩形横截面的木梁。为使木梁满足一定的规格和应力及强度条件,要求木梁的高度不超过H,横截面的惯性矩不少于给定值W,且横截面的高度要介于其宽度和4倍宽度之间。问应如何确定木梁尺寸,可使木梁的重量最轻,并且成本最低。设所设计的木梁横截面的高为x1,宽为x2(图1)。为使具有一定长度的木梁重量最轻,应要求其横截面面积x1x2为最小,即要求x1x2→minx1x2图1r由于矩形横截面的木梁是由横截面为圆形的树干加工而成的,故其成本与树干横截面面积的大小成正比。由此,为使木梁的成本最低还应要求尽可能的小,或即:根据问题的要求,应满足下述约束条件:这是具有两个目标的非线性规划问题。22212(/2)(/2)rxx2212()/4xx2212()minxx1121221120400,0xHxxWxxxxxx由以上实例可见,多目标最优化模型与单目标最优化模型的区别主要是目标多于一个。在这些目标中,有的是追求极大化,有的是追求极小化,而极大化与极小化是可以相互转化的。因此,我们不难将多目标最优化模型统一成一般形式:决策变量:x1,……,xn目标函数:minf1(x1,……,xn)………………minfp(x1,……,xn)111()0()0nmngxxgxx,……,约束条件:………………,……,若记X=(x1,……,xn),V-min表示对向量F(X)=[f1(X),……,fp(X)]T中的各目标函数f1(X),……,fp(X)同等的进行极小化。R={X|gi(X)≥0,i=1,……,m}表示约束集。则模型一般式也可简记为这里(VMP)为向量数学规划(VectorMathematicalProgramming)的简写。1min[()()]()()0i=1min()()piVfXfXVMPgXVFXVMPXR,……,,……,m或二.分层多目标规划模型本节介绍一类不同于(VMP)形式的多目标最优化模型。这类模型的特点是:在约束条件下,各个目标函数不是同等的被优化,而是按不同的优先层次先后的进行优化。例如,在例1中,若筹备小组希望把所考虑的三个目标按重要性分成以下两个优先层。第1优先层——总的花费最小。第2优先层——糖的总数量最大。甲级糖数量最大。那么这种先在第1优先层次极小化总花费,然后在此基础上再在第2优先层次同等的极大化糖的总数量和甲级糖的问题,就是所谓分层多目标最优化问题。可将其目标函数表示为:L-min{P1[f1(X)],P2[f2(X),f3(X)]}其中P1,P2是优先层次的记号,L-min表示按优先层次序进行极小化。下面,我们来看一个建立分层多目标最优化模型的例子例4:某水稻区一农民承包10亩农田从事农业种植。已知有三类复种方式可供选择,其相应的经济效益如表方案复种方式粮食产量(公斤/亩)油料产量(公斤/亩)利润(元/亩)投入氮素(公斤/亩)用工量(小时/亩)1大麦-早稻-晚梗1056——120.27503202大麦-早稻-玉米1008——111.46483503油菜-玉米-蔬菜336130208.2740390设该农户全年至多可以出工3410小时,至少需要油料156公斤。今该农户希望优先考虑总利润最大和粮食总产量最高,然后考虑使投入氮素最少。问如何确定种植方案。首先设立决策变量如下方案1的种植亩数:x1,方案2的种植亩数:x2,方案3的种植亩数:x3,根据农户的要求确定问题的三个目标函数为:年总利润:f1(x1,x2,x3)=120.27x1+111.46x2+208.27x3粮食总产量:f2(x1,x2,x3)=1056x1+1008x2+336x3投入氮素量:f3(x1,x2,x3)=50x1+48x2+40x3根据农户的全年出工能力,对油料需求量,所承包农田数以及种植亩数应为非负等限制,应有约束条件:总用工量:320x1+350x2+390x3≤3410油料需求:130x3≥156农田数:x1+x2+x3=10种植亩数非负:x1≥0,x2≥0,x3≥0。根据农户对目标重要性的排序,将前两个目标作为第一优先层,将第三个目标作为第二优先层,再把其中的求最大化转化为求其负数的最小,便得到下列具有两个优先层次的分层多目标极小化模型:对它进行求解便可得到农户满意的种植方案。112312321231233123123min[(120.27111.46208.2710561008336)(504840)]3203503903410130156.10000LPxxxxxxPxxxxxxxstxxxxxx,,,,三.特殊目标规划模型本节介绍一类在实际中有着广泛应用的特殊多目标最优化模型。这类模型并不是去考虑对各个目标进行极小化或极大化,而是希望在约束条件的限制下,每一目标都尽可能的接近于事先给定的各目标值。设p个目标函数的给定目标值分别为:00101()(1)ppiiifffXfXR,……,则为使各目标函数尽量接近其目标值,可建立以追求总绝对偏差极小化为目标的目标规划模型:min00000000()()()0()1()0()()()iiiiiiiiiiiiiiiiiifXffXffXfdfXfipfXffXfdffXfXf若记关于的正偏差为-,,,,……,关于的负偏差为,,001()()01iiiiiiiiiiipddfXfddfXfddip---,,……,则不难看出=-,=-,,,……,10min()().0001(2)(2)piiiiiiiiiiiddXRfXddfstddddip----于是目标规划模型(1-1)也可以表示为,,……,虽然去掉了绝对值运算,但却含有偏差变量相乘的约束条件,这仍然使求解很不方便。考察去掉偏差变量相乘的约束条件,得到模型:10min().()001())(1)))()piiiiiiiiiddXRstfXddfddip---+-+++---1p1p,,……,3可以证明,若(X,d,d是-3的最优解,其中d=(d,……,d,d=(d,……,d,则X是(2)的最优解。因而可将3作为目标规划模型的一般形式。在此一般形式基础上,还可以建立加权的或分层的目标规划模型。例5:某机器制造厂生产两种型号的机器,同时也进行机器的零部件和工业性作业生产。已知有关数据如下表,并且该工厂全年能承担生产的总工时为58万小时。生产项目单位产值利润工时需要量1号机套5万元/套1万元/套1000小时/套160套(指令性计划)2号机台1.6万元/套0.2万元/台400小时/台320~500台(市场预测)零部件和工业性作业万小时50元/小时8.1元/小时26万小时(市场预测)今决策者希望在完成上级下达的指令性计划的前提下,全年总产值达到2750万元左右,总利润不低于440万元,并且要避免开工不足。然后,还希望工人的加班时间不超过总工时的4%,以及依据市场预测的信息进行生产。试问应如何安排工厂的年生产计划。首先,设立决策变量为x1:生产1号机套数x2:生产2号机台数x3:生产零部件和工业性作业的工时数(万小时)12345()160()2750()440400()5810000()440010000fXfXfXfXfX0110123201233012341235目标函数及其目标值::1号机产量xf:年总产值5x+1.6x+50xf:总利润x+0.2x+8.1xf1000:总工时xxxf=10000:加班时间不超过总工时的%的要求:1000xxxf10000658(14)()232050026fX02036=%:按市场预测信息进行生产的要求:号机产量:x工业性作业和零部件的工时:xf=111222343567881111232212333123441min[()()()]16051.650