多目标问题求解

上传人:cl****1 文档编号:486485254 上传时间:2023-05-03 格式:DOC 页数:14 大小:245.50KB
返回 下载 相关 举报
多目标问题求解_第1页
第1页 / 共14页
多目标问题求解_第2页
第2页 / 共14页
多目标问题求解_第3页
第3页 / 共14页
多目标问题求解_第4页
第4页 / 共14页
多目标问题求解_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《多目标问题求解》由会员分享,可在线阅读,更多相关《多目标问题求解(14页珍藏版)》请在金锄头文库上搜索。

1、多目标问题求解 20 20J = min F(x)X5.LG(X) 6则可以按照下面的方式将其转为成单目标问题min兀)+厶2(兀)*+弁(兀)xs.t.xmxxM这样,可以用以前学过的无约束函数求解,x = f min searchbitd (Fun、x0,xm,xM)x, f, flag, out = f min searchbnd(Fun, xxm.xM,opt, pl, p2, )MATLAB还提供了Isqnonlin ()函数直接求解这类问题,该函数的调用格式为x,nf, fopt, flag, c = lsqnonlin(F, xQ,xm. xM)662无约束多目标函数的最小二乘求

2、解(%! + 2x2 + 3 兀3) sin(Xj + x2 )eA, 3 + 5x3min幺-勺-4勺COS(4西+xjo3_X s.t.0x71056.6.3多目标问题转换为单目标问题求解线性加权变换及求解f(x) = w1fl (x) + w2f2 (%) + + wpfp(x)其中 +w2 Wp 二,且 0叫川2,Wp51min (w4,2&2.4 w2 1,1,1)4%j + 2.8x2 + 2.4兀3 20 X 兀3 6X s.t.X 兰一3最简单的变换方法是根据对两个指标的侧重情况引入加权,使得目标函数 改成标量形式 x = linprog(w * /I + w2 * /2, A

3、, B, Aeq, Beq, xm. xM.xO.OPT, pl, p2,)6.6.3多目标问题转换为单目标问题求解线性规划问题的最佳妥协解每个目标函数/.(x) = c.x i = l,2,p,可以理解成第i方得利益分配,所以这样的最 优化问题可以认为是女方利益的最大分配。步骤如下:(1)单独求解每个单目标函数的最优化问题,得出最优解 fkS、p(2)通过归范化构造单独的目标函数= (3)最佳妥协解可以变换成下面的单目标线性规划问题直靈求解 J = nndxr jb1亠 “ Xm6.6.3多目标问题转换为单目标问题求解Function xff,flag,cc=linprog_c(C,A,B,

4、Aeq,Beq,xm,xM) pfm=size(C);C=O;For i=l:pxff=lingprog( C( i,: ),A,B,Aq,Beq,xm,xM); c=c-C(if:)/f;Endx,f, agf cc =linprog_c( c, A, B,Aeq, Beq,xm,xM);例子:C=-4, -2.8, 24,; 111; A=4 2.82.4;-l -1 -1;-1 -1 0;B=20;-6;-3;Aeq=;Beq=;xm=0;0;0;xM=; x=linprog_c(C,A,B,Aeq,Bq,xm,xM),Cx;6.6.3多目标问题转换为单目标问题求解线性规划问题的最小二乘

5、解min |Cjv力 Ax B乂 s.t. 3 Ac今乂 = By x” 例子:C=3,l,0,6;0,10,0,7;2,l,&0;l,1,3,2; d=zeros(4,l);A=2,4,0,l;0,0,5,3;l ,1,6,5;B=110;-180;250;Aeq= ;Beq= ;xm= O;O;O;O;Xm=;X=lsqlin(C,d,A,B,Aq,Beq,xm,xM)C恢664多目标优化问题的Pareto解集采用离散点分析方法对例335中的多目标优化问题进行分析min 1,1,lx4x. + 2.8兀 + 2.4a = m. 13z兀 jfq 兰6X S.t-_ 兀_ V _ 3兀,兀2

6、,兀30f2=-l,-l,-l;Aeq=4,28 2.4;Beq=mi(l);xm=0;0;0; A=l,l,l;l,l,0;B=6; 3;mi=15:0l:20;ni=;for m-miBeq=m;x=linprog(fl,A,BfAeq,Beqfxm);ni=mf-f2x;EndPlot(mifni)664多目标优化问题的Pareto解集考虑一个双目标函数的问题,可以首先得出可详解的离散点,将这些点先在二维平 面上显示出来,如图6 所示,因为原始问题是求取两个坐标系竹和f2的最小值,所 以从得出的可行解离散点提取出区域左下角的一条曲线,这个曲线上的点都是原问 题的解,称为 Pareto 解

7、集(Pareto set Pa ret front)。调用函数为Paretofront ()K=paretofront (fi,f2r.,fp),其中fi,f2r.,fp为可行解的离散点构成的列向量,K向 量为标志向量,指示可行解离散点是否为Pareto解集中的点。xi,x2,x3=meshgrid(o:o.i:4);ii=find(4*xi+2.8*x2+2.4*x3=6&X1+X2=3);xx 仁 xi(ii);xx2=x2(ii);xx3 二 X3(ii);f 仁 4*xxi+28 次xx2+24*xx3;F2=-(XX1+XX2+XX3);K=paretofront(fi,f2);Plot(fi,f2/x9,hold on;polt(fi(k),f2(k)/o,)665极丸极小问题求解假设有某一组P个目标函fi(x),i=1,2r.,p,他们中的每一个均可以提取出一个最大值 max f (x)x,/G(x)50而这样得出的一组最大值仍然是X的函数,现在对这些最大值进行最小化搜索,即厂/、这类问题称为极小极大问题。J = min max t. (x)xs.tG(X)0J min max 力(兀)Ax BA = BX s.t.eqeqX枷 S V SC(x) Ox,fot,flag二 fminimax(F,xo,A,B,Aeq,Beq,xm,Xm,CFQPT,Pbp2,)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号