数学建模讲义曲阜师范大学数学系QufuNormalUniversity主讲人:吕迪迪最优化模型---多目标规划第四讲多目标规划方法多目标规划解的讨论——非劣解多目标规划及其求解技术简介效用最优化模型罚款模型约束模型目标规划模型目标达到法多目标规划应用实例多目标规划是数学规划的一个分支。研究多于一个的目标函数在给定区域上的最优化。又称多目标最优化。通常记为MOP(multi-objectiveprogramming)。在很多实际问题中,例如经济、管理、军事、科学和工程设计等领域,衡量一个方案的好坏往往难以用一个指标来判断,而需要用多个目标来比较,而这些目标有时不甚协调,甚至是矛盾的。因此有许多学者致力于这方面的研究。1896年法国经济学家V.帕雷托最早研究不可比较目标的优化问题,之后,J.冯·诺伊曼、H.W.库恩、A.W.塔克、A.M.日夫里翁等数学家做了深入的探讨,但是尚未有一个完全令人满意的定义。求解多目标规划的方法大体上有以下几种:一种是化多为少的方法,即把多目标化为比较容易求解的单目标或双目标,如主要目标法、线性加权法、理想点法等;另一种叫分层序列法,即把目标按其重要性给出一个序列,每次都在前一目标最优解集内求下一个目标最优解,直到求出共同的最优解。对多目标的线性规划除以上方法外还可以适当修正单纯形法来求解;还有一种称为层次分析法,是由美国运筹学家沙旦于70年代提出的,这是一种定性与定量相结合的多目标决策与分析方法,对于目标结构复杂且缺乏必要的数据的情况更为实用。多目标规划模型(一)任何多目标规划问题,都由两个基本部分组成:(1)两个以上的目标函数;(2)若干个约束条件。(二)对于多目标规划问题,可以将其数学模型一般地描写为如下形式:一多目标规划及其非劣解)(max(min))(max(min))(max(min))(XfXfXfXFZk21mmgggGXXXX2121)()()()(s.t.式中:为决策变量向量。TnxxxX],,,[21)(max(min)XFZGXts)(..缩写形式:有n个决策变量,k个目标函数,m个约束方程,则:Z=F(X)是k维函数向量,(X)是m维函数向量;G是m维常数向量;(1)(2)对于线性多目标规划问题,可以进一步用矩阵表示:CXZmax(min)bAXs.t.式中:X为n维决策变量向量;C为k×n矩阵,即目标函数系数矩阵;A为m×n矩阵,即约束方程系数矩阵;b为m维的向量,即约束向量。多目标规划的非劣解多目标规划问题的求解不能只追求一个目标的最优化(最大或最小),而不顾其它目标。对于上述多目标规划问题,求解就意味着需要做出如下的复合选择:▲每一个目标函数取什么值,原问题可以得到最满意的解决?▲每一个决策变量取什么值,原问题可以得到最满意的解决?)(max(min)XFZGX)(s.t.在图1中,max(f1,f2).就方案①和②来说,①的f2目标值比②大,但其目标值f1比②小,因此无法确定这两个方案的优与劣。在各个方案之间,显然:④比①好,⑤比④好,⑥比②好,⑦比③好……。非劣解可以用图1说明。图1多目标规划的劣解与非劣解而对于方案⑤、⑥、⑦之间则无法确定优劣,而且又没有比它们更好的其他方案,所以它们就被称为多目标规划问题的非劣解或有效解,其余方案都称为劣解。所有非劣解构成的集合称为非劣解集。当目标函数处于冲突状态时,就不会存在使所有目标函数同时达到最大或最小值的最优解,于是我们只能寻求非劣解(又称非支配解或帕累托解)。效用最优化模型罚款模型约束模型目标达到法目标规划模型二多目标规划求解技术简介为了求得多目标规划问题的非劣解,常常需要将多目标规划问题转化为单目标规划问题去处理。实现这种转化,有如下几种建模方法。)(maxXZGXts)(..是与各目标函数相关的效用函数的和函数。方法一效用最优化模型(线性加权法)(1)(2)思想:规划问题的各个目标函数可以通过一定的方式进行求和运算。这种方法将一系列的目标函数与效用函数建立相关关系,各目标之间通过效用函数协调,使多目标规划问题转化为传统的单目标规划问题:在用效用函数作为规划目标时,需要确定一组权值i来反映原问题中各目标函数在总体目标中的权重,即:kiii1max),,2,1(),,(21migxxxinikii11TmaxGXts)(..式中,i应满足:向量形式:方法二罚款模型(理想点法)思想:规划决策者对每一个目标函数都能提出所期望的值(或称满意值);通过比较实际值fi与期望值fi*之间的偏差来选择问题的解,其数学表达式如下:i21)(minkiiiiffZ),,2,1(),,,(21migxxxini或写成矩阵形式:)()(minFFAFFZTGX)(式中,是与第i个目标函数相关的权重;A是由(i=1,2,…,k)组成的m×m对角矩阵。i理论依据:若规划问题的某一目标可以给出一个可供选择的范围,则该目标就可以作为约束条件而被排除出目标组,进入约束条件组中。假如,除第一个目标外,其余目标都可以提出一个可供选择的范围,则该多目标规划问题就可以转化为单目标规划问题:方法三约束模型(极大极小法)),,,(max(min)211nxxxfZ),,2,1(),,,(21migxxxini),,3,2(maxminkjfffjjj方法四目标达到法首先将多目标规划模型化为如下标准形式:)()()(min)(min21XfXfXfxFk00021(X)(X)(X)Φ(X)m在求解之前,先设计与目标函数相应的一组目标值理想化的期望目标fi*(i=1,2,…,k),每一个目标对应的权重系数为i*(i=1,2,…,k),再设为一松弛因子。那么,多目标规划问题就转化为:,minX),,2,1(,)(*kifXfiii),,2,1(0)(miXi)()()(min)(min21XfXfXfxFk000)()()()(21XXXXm松弛因子由于流体力学中要求解非线性的方程,在求解过程中,控制变量的变化是很必要的,这就通过松弛因子来实现的.它控制变量在每次迭代中的变化.也就是说,变量的新值为原值加上变化量乘以松弛因子.如:A1=A0+B*DETAA1:新值A0:原值:B:松弛因子DETA:变化量松弛因子可控制收敛的速度和改善收敛的状况!为1,相当于不用松弛因子大于1,为超松弛因子,加快收敛速度小于1,欠松弛因子,改善收敛的条件一般来讲,大家都是在收敛不好的时候,采用一个较小的欠松弛因子。Fluent里面用的是欠松弛,主要防止两次迭代值相差太大引起发散。松弛因子的值在0~1之间,越小表示两次迭代值之间变化越小,也就越稳定,但收敛也就越慢。方法五目标规划模型(目标规划法)需要预先确定各个目标的期望值fi*,同时给每一个目标赋予一个优先因子和权系数,假定有K个目标,L个优先级(L≤K),目标规划模型的数学形式为:LlKkklkklklddpZ11)(min),,,(),,,(migxxxini2121),,,(Kifddfiiii21LlKkklkklklddpZ11)(min),,2,1(),,,(21migxxxini),,2,1(Kifddfiiii式中:di+和di-分别表示与fi相应的与fi*相比的目标超过值和不足值,即正、负偏差变量;pl表示第l个优先级;lk+、lk-表示在同一优先级pl中,不同目标的正、负偏差变量的权系数。投资的收益和风险一、问题提出市场上有n种资产is(i=1,2……n)可以选择,现用数额为M的相当大的资金作一个时期的投资。这n种资产在这一时期内购买is的平均收益率为ir,风险损失率为iq,投资越分散,总的风险越小,总体风险可用投资的is中最大的一个风险来度量。购买is时要付交易费,(费率ip),当购买额不超过给定值iu时,交易费按购买iu计算。另外,假定同期银行存款利率是0r,既无交易费又无风险。(0r=5%)已知n=4时相关数据如下:isir(%)iq(%)ip(%)iu(元)S1282.51103S2211.52198S3235.54.552S4252.66.540试给该公司设计一种投资组合方案,即用给定达到资金M,有选择地购买若干种资产或存银行生息,使净收益尽可能大,使总体风险尽可能小。基本假设:1.投资数额M相当大,为了便于计算,假设M=1;2.投资越分散,总的风险越小;3.总体风险用投资项目is中最大的一个风险来度量;4.n种资产Si之间是相互独立的;5.在投资的这一时期内,ri,pi,qi,r0为定值,不受意外因素影响;6.净收益和总体风险只受ri,pi,qi影响,不受其他因素干扰。二、基本假设和符号规定二、基本假设和符号规定符号规定:Si——第i种投资项目,如股票,债券ri---为Si的平均收益率qi---为风险损失率pi----为交易费率ui----Si的交易定额0r-------同期银行利率xi-------投资项目Si的资金a---投资风险度Q----总体收益ΔQ----总体收益的增量三、模型的建立与分析1.总体风险用所投资的Si中最大的一个风险来衡量,即max{qixi|i=1,2,…n}2.购买Si所付交易费是一个分段函数,即pixixiui交易费=piuixi≤ui而题目所给定的定值ui(单位:元)相对总投资M很小,piui更小,可以忽略不计,这样购买Si的净收益为(ri-pi)xi三、模型的建立与分析3.要使净收益尽可能大,总体风险尽可能小,这是一个多目标规划模型:目标函数maxniiiixpr0)(min{max{qixi}}约束条件niiixp0)1(=Mxi≥0i=0,1,…n4.模型简化:4.1在实际投资中,投资者承受风险的程度不一样,若给定风险一个界限a,使最大的一个风险qixi/M≤a,可找到相应的投资方案。这样把多目标规划变成一个目标的线性规划。模型1:固定风险水平,优化收益目标函数:11max()niiiiQrpx约束条件:iiqxaMMxpii)1(,xi≥0,i=0,1,…n4.2.若投资者希望总盈利至少达到水平k以上,在风险最小的情况下寻找相应的投资组合。模型2:固定盈利水平,极小化风险目标函数:R=min{max{qixi}}约束条件:0()niiiirpxk,Mxpii)1(,xi≥0i=0,1,…n4.3.投资者在权衡资产风险和预期收益两方面时,希望选择一个令自己满意的投资组合。因此对风险、收益赋予权重s(0<s≤1),s称为投资偏好系数.模型3目标函数:mins{max{qixi}}-(1-s)niiiixpr0)(约束条件:niiixp0)1(=M,xi≥0i=0,1,2,…n四、模型1的求解模型1为:minf=(-0.05,-0.27,-0.19,-0.185,-0.185)(x0x1x2x3x4)Tx0+1.01x1+1.02x2+1.045x3+1.065x4=1s.t.0.025x1≤a0.015x2≤a0.055x3≤a0.026x4≤axi≥0(i=0,1,…..4)由于a是任意给定的风险度,到底怎样给定没有一个准则,不同的投资者有不同的风险度。我们从a=0开始,以步长△a=0.001进行循环搜索,编制程序如下:a=0;while(1.1-a)1c=[-0.05-0.27-0.19-