收藏 分享(赏)

多目标规划及相应的matlab程序实现..doc

上传人:cjc2202537 文档编号:1526868 上传时间:2018-07-25 格式:DOC 页数:8 大小:256KB
下载 相关 举报
多目标规划及相应的matlab程序实现..doc_第1页
第1页 / 共8页
多目标规划及相应的matlab程序实现..doc_第2页
第2页 / 共8页
多目标规划及相应的matlab程序实现..doc_第3页
第3页 / 共8页
多目标规划及相应的matlab程序实现..doc_第4页
第4页 / 共8页
多目标规划及相应的matlab程序实现..doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、 优化与决策多目标线性规划的若干解法及 MATLAB 实现摘要:求解多目标线性规划的基本思想大都是将多目标问题转化为单目标规划,本文介绍了理想点法、线性加权和法、最大最小法、目标规划法,然后给出多目标线性规划的模糊数学解法,最后举例进行说明,并用 Matlab 软件加以实现。关键词:多目标线性规划 Matlab 模糊数学。注:本文仅供参考,如有疑问,还望指正。一引言多目标线性规划是多目标最优化理论的重要组成部分,由于多个目标之间的矛盾性和不可公度性,要求使所有目标均达到最优解是不可能的,因此多目标规划问题往往只是求其有效解(非劣解)。目前求解多目标线性规划问题有效解的方法,有理想点法、线性加权

2、和法、最大最小法、目标规划法。本文也给出多目标线性规划的模糊数学解法。二多目标线性规划模型多目标线性规划有着两个和两个以上的目标函数,且目标函数和约束条件全是线性函数,其数学模型表示为:(1)11212212maxnrrrnzcxcxz 约束条件为:(2)121212,0nmmnnaxaxbx若(1)式中只有一个 ,则该问题为典型的单目标线性规12iiinzcxc划。我们记: , , , ,()ijmnAa()ijrnC1(,)Tmbb 12(,)Tnxx.12(,)TrZZ则上述多目标线性规划可用矩阵形式表示为: maxZC约束条件: (3)0Ab三MATLAB 优化工具箱常用函数 3在 M

3、ATLAB 软件中,有几个专门求解 最优化问题的函数,如求线性规划问题的linprog、求有约束非线性函数的 fmincon、求最大最小化问题的 fminimax、求多目标达到问题的 fgoalattain 等,它们的调用形式分别为:.x,fval=linprog(f,A,b,Aeq,beq,lb,ub)f 为目标函数系数,A,b 为不等式约束的系数, Aeq,beq 为等式约束系数 , lb,ub 为 x 的下限和上限, fval 求解的 x 所对应的值。算法原理:单纯形法的改进方法投影法。.x,fval =fmincon(fun,x0,A,b,Aeq,beq,lb,ub)fun 为目标函数

4、的 M 函数, x0 为初值,A,b 为不等式约束的系数 , Aeq,beq 为等式约束系数, lb,ub 为 x 的下限和上限 , fval 求解的 x 所对应的值。算法原理:基于 K-T(Kuhn-Tucker)方程解的方法。.x,fval =fminimax(fun,x0,A,b,Aeq,beq,lb,ub)fun 为目标函数的 M 函数, x0 为初值,A,b 为不等式约束的系数 , Aeq,beq 为等式约束系数, lb,ub 为 x 的下限和上限 , fval 求解的 x 所对应的值。算法原理:序列二次规划法。.x,fval =fgoalattain(fun,x0,goal,wei

5、ght,A,b,Aeq,beq,lb,ub)fun 为目标函数的 M 函数, x0 为初值,goal 变量为目标函数希望达到的向量值, wight 参数指定目标函数间的权重,A,b 为不等式约束的系数, Aeq,beq 为等式约束系数, lb,ub 为 x的下限和上限, fval 求解的 x 所对应的值。算法原理:目标达到法。四多目标线性规划的求解方法及 MATLAB 实现4.1 理想点法在(3)中,先求解 个单目标问题: ,设其最优值为 ,rmin(),12,jxDZr *jZ称 为值域中的一个理想点,因为一般很难达到。于是,在期望的某种*12(,)rZZ度量之下,寻求距离 最近的 作为近似

6、值。一种最直接的方法是最短距离理想点法,*构造评价函数,*21()riiiZZ然后极小化 ,即求解()Zx,*21min()()riixDiZxZ并将它的最优解 作为(3)在这种意义下的“最优解” 。*x例 1:利用理想点法求解 112212max()34.80,fxstx解:先分别对单目标求解:求解 最优解的 MATLAB 程序为1()fx f=3;-2; A=2,3;2,1; b=18;10; lb=0;0; x,fval=linprog(f,A,b,lb)结果输出为:x = 0.0000 6.0000fval = -12.0000即最优解为 12.求解 最优解的 MATLAB 程序为2(

7、)fx f=-4;-3; A=2,3;2,1; b=18;10; lb=0;0; x,fval=linprog(f,A,b,lb)结果输出为:x =3.0000 4.0000fval =-24.0000即最优解为 24.于是得到理想点:(12,24).然后求如下模型的最优解 22112min()()()4.380,xDffxfxstMATLAB 程序如下: A=2,3;2,1; b=18;10; x0=1;1; lb=0;0; x=fmincon(-3*x(1)+2*x(2)-12)2+(4*x(1)+3*x(2)-24)2)(1/2),x0,A,b,lb,)结果输出为:x = 0.5268

8、5.6488则对应的目标值分别为 , .1()9.72fx()190536fx4.2 线性加权和法在具有多个指标的问题中,人们总希望对那些相对重要的指标给予较大的权系数,因而将多目标向量问题转化为所有目标的加权求和的标量问题,基于这个现实,构造如下评价函数,即 1min()()rixDZx将它的最优解 作为(3)在线性加权和意义下的“最优解” 。 ( 为加权因子,其选*x i取的方法很多,有专家打分法、容限法和加权因子分解法等).例 2:对例 1 进行线性加权和法求解。 (权系数分别取 , )10.52.解:构造如下评价函数,即求如下模型的最优解。121221min0.5(3)0.5(43)8

9、,xxstMATLAB 程序如下: f=-0.5;-2.5; A=2,3;2,1; b=18;10; lb=0;0; x=linprog(f,A,b,lb)结果输出为:x =0.0000 6.0000则对应的目标值分别为 , .1()2fx()18f4.3 最大最小法在决策的时候,采取保守策略是稳妥的,即在最坏的情况下,寻求最好的结果,按照此想法,可以构造如下评价函数,即 1()maxiirZ然后求解: 1()ixDxDirinnZ并将它的最优解 作为(3)在最大最小意义下的“最优解” 。*x例 3:对例 1 进行最大最小法求解:解:MATLAB 程序如下,首先 编写目标函数的 M 文件:fu

10、nction f=myfun12(x)f(1)=3*x(1)-2*x(2);f(2)=-4*x(1)-3*x(2); x0=1;1;A=2,3;2,1;b=18;10;lb=zeros(2,1); x,fval=fminimax(myfun12,x0,A,b,lb,)结果输出为:x =0.0000 6.0000fval = -12 -18则对应的目标值分别为 , .1()2fx()18f4.4 目标规划法(4)0()xDAprZ并把原多目标线性规划(3) 称为和目标规划(4)相对应的多目标线性规划。minx为了用数量来描述(4) ,我们在目标空间 中引进点 之间的某种“距离”rE0()Zx与0

11、*21/1()()riiDZx,这样(4)便可以用单目标 来描述了。0min()x,例 4:对例 1 对进行目标规划法求解:解:MATLAB 程序如下,首先 编写目标函数的 M 文件:function f=myfun3(x)f(1)=3*x(1)-2*x(2);f(2)=-4*x(1)-3*x(2); goal=18,10; weight=18,10; x0=1,1; A=2,3;2,1; b=18,10; lb=zeros(2,1); x,fval=fgoalattain(myfun3,x0,goal,weight,A,b,lb,)结果输出为:x = 0.0000 6.0000fval =

12、-12 -18则对应的目标值分别为 , .1()2fx()18f4.5 模糊数学求解方法由于多目标线性规划的目标函数不止一个,要想求得某一个点作 ,使得所有的目标函*x数都达到各自的最大值,这样的绝对最优解通常是不存在的。因此,在具体求解时,需要采取折衷的方案,使各目标函数都尽可能的大。模糊数学规划方法可对其各目标函数进行模糊化处理,将多目标问题转化为单目标,从而求该问题的模糊最优解。具体的方法为:先求在约束条件: 下各个单目标 的最大值0Axb,12,iZr和最小值 ,伸缩因子为*iZi*,12,iiidZr得到 (5)*112max1,2,0,0nijiiikjkj nZcdrxbm式(5

13、)是一个简单的单目标线性规划问题。最后求得模糊最优解为: .*1(,)TnZCx利用(5)式来求解的关键是对伸缩指标的 确定, 是我们选择的一些常数,由于在多idi目标线性规划中,各子目标难以同时达到最大值 ,但是可以确定的是各子目标的取值范*iZ围,它满足: ,所以,伸缩因子为 可以按如下取值: .*iiiZi *iiidZ例 5:对例 1 进行模糊数学方法求解:解:分别求得 , 在约束条件下的最大值为: .()fx2 *(12,4)Z分别求得 , 在约束条件下的最小值为: .1f2 5,0伸缩因子为 (7,4)id然后求如下模型的最优解: 1212max.3715408,ZstxMATLAB 程序如下:f=0;0;-1; A=3,-2,27;-4,-3,24;2,3,0;2,1,0; b=15;0;18;10; lb=0;0;0 x,fval=linprog(f,A,b,lb)结果输出为:x = 1.0253 5.3165 0.8354fval =-0.8354于是原多目标规划问题的模糊最优值为 .*(7.51,20.7)Z五结论多目线性标规划是优化问题的一种,由于其存在多个目标,要求各目标同时取得较优的值,使得求解的方法与过程都相对复杂. 通过将目标函数进行模糊化处理,可将多目标问题转化为单目标,借助工具软件,从而达到较易求解的目标。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 解决方案

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报