多目标问题求解_第1页
多目标问题求解_第2页
多目标问题求解_第3页
多目标问题求解_第4页
多目标问题求解_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、多目标问题求解6.6.1多目标优化模型多目标优化问题的一般表示为:其中F(x)=f1(x),f2(x),fp(x) 。. . ( ) 0min( )xs t G xJF x设某商店有A1,A2,A3三种糖果,单价分别为4,2.8和2.4元/kg,现在要筹办一次茶话会,要求买糖果的钱不超过20元,糖果总量不得少于6kg,A1和A2两种糖果总量不得少于3kg,应该如何确定最好的买糖方案?1231231231231212342 . 82 . 4m i n()42 . 82 . 42 06. .3,0 xxxxxxxxxxxxxs txxxxx6.6.2无约束多目标函数的最小二乘求解假设多目标规划问题

2、目标函数F(X)=f1(x),f2(x),fk(x),则可以按照下面的方式将其转为成单目标问题这样,可以用以前学过的无约束函数求解,22212. .min( )( )( )mMkxs t xx xfxfxfx 00min(,) , ,min(, 1, 2,)mMmMxfsearchbnd Fun x xxx f flag outfsearchbnd Fun x xxopt p pMATLAB还提供了lsqnonlin()函数直接求解这类问题,该函数的调用格式为0 , ( ,)foptmMx nfflag clsqnonlin F x xx6.6.2无约束多目标函数的最小二乘求解22132322

3、123123412(23)sin()5mincos(4)03. . 005xxxxxxxxx exexxx stx 6.6.3多目标问题转换为单目标问题求解线性加权变换及求解1122( )( )( )( )ppf xw f xw fxw fx其中 ,且121pw ww120,1pw ww1212312312123min(4, 2.8, 2.41,1,1)42.82.4206. .3,0wwxxxxxxxx s txxxxx 最简单的变换方法是根据对两个指标的侧重情况引入加权,使得目标函数改成标量形式 ( 1* 12* 2, , , 0, 1, 2,)xlinprog wfwfA B Aeq B

4、eq xm xM x OPT p p6.6.3多目标问题转换为单目标问题求解线性规划问题的最佳妥协解m a x. .e qe qmMJC xA xBxs tAxBxxx每个目标函数 可以理解成第i方得利益分配,所以这样的最优化问题可以认为是各方利益的最大分配。步骤如下:(1)单独求解每个单目标函数的最优化问题,得出最优解(2)通过归范化构造单独的目标函数(3)最佳妥协解可以变换成下面的单目标线性规划问题直接求解( )1,2,iif xcx ip,1,2, .kf kp1212111( )ppf xc xc xc xfff ma x().e qe qmMJfxAxBxstAxBxxx6.6.3多

5、目标问题转换为单目标问题求解Function x,f,flag,cc=linprog_c(C,A,B,Aeq,Beq,xm,xM)p,m=size(C);C=0;For i=1:px,f=lingprog(C(i,:),A,B,Aeq,Beq,xm,xM);c=c-C(i,:)/f;Endx,f,flag,cc=linprog_c(c,A,B,Aeq,Beq,xm,xM);例子:C=-4,-2.8,-2.4,;1 1 1;A=4 2.8 2.4;-1 -1 -1;-1 -1 0;B=20;-6;-3;Aeq=;Beq=;xm=0;0;0;xM=;x=linprog_c(C,A,B,Aeq,Be

6、q,xm,xM),C*x;6.6.3多目标问题转换为单目标问题求解线性规划问题的最小二乘解21m i n2. .e qe qmMC xdA xBxs tAxBxxx 例子:C=3,1,0,6;0,10,0,7;2,1,8,0;1,1,3,2; d=zeros(4,1);A=2,4,0,1;0,0,-5,-3;1 ,1 , 6,5;B=110;-180;250;Aeq=;Beq=;xm=0;0;0;0;Xm=;X=lsqlin(C,d,A,B,Aeq,Beq,xm,xM)C*x6.6.4多目标优化问题的Pareto解集采用离散点分析方法对例3-35中的多目标优化问题进行分析1312312123m

7、 in1,1,142.82.46.3,0ixxxxmxxxx s txxxxx f2=-1,-1,-1;Aeq=4,2.8 2.4;Beq=mi(1);xm=0;0;0;A=-1,-1,-1;-1,-1,0;B=-6;-3;mi=15:0.1:20;ni=;for m=miBeq=m;x=linprog(f1,A,B,Aeq,Beq,xm);ni=ni,-f2*x;EndPlot(mi,ni)考虑一个双目标函数的问题,可以首先得出可详解的离散点,将这些点先在二维平面上显示出来,如图6-11所示,因为原始问题是求取两个坐标系f1和f2的最小值,所以从得出的可行解离散点提取出区域左下角的一条曲线,

8、这个曲线上的点都是原问题的解,称为Pareto解集(Pareto set或Paret front)。调用函数为Paretofront()K=paretofront(f1,f2,fp),其中f1,f2,fp为可行解的离散点构成的列向量,K向量为标志向量,指示可行解离散点是否为Pareto解集中的点。x1,x2,x3=meshgrid(0:0.1:4);ii=find(4*x1+2.8*x2+2.4*x3=6&x1+x2=3);xx1=x1(ii);xx2=x2(ii);xx3=x3(ii);f1=4*xx1+2.8*xx2+2.4*xx3;F2=-(xx1+xx2+xx3);K=paretofront(f1,f2);Plot(f1,f2,x),hold on;polt(f1(k),f2(k),0)6.6.5极大极小问题求解假设有某一组P个目标函数fi(x),i=1,2,p,他们中的每一个均可以提取出一个最大值 而这样得出的一组最大值仍然是x的函数,现在对这些最大值进行最小化搜索,即 这类问题称为极小极大问题。x,fot,flag,c=fminimax(F,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论