Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2010-04-09
帖子: 10
声望力: 16 ![]() |
![]()
有一个多目标优化问题:
目标有两个,同样主要。一个方程求其最大值,另一个求其最小值,用什么方法比较好?全是线性的。线性加权?还是其他?什么命令? ![]() fun f0=ff(x) yta=0.3;mu=0.3;h=0.001; B=0.5;ty=36.25*B^2+82.3893*B-1.3536; D2=x1-0.0005;D3=x1-2*h;D0=(x1+D3)/2; ap=pi*(D3^2-x2^2)/4;ad=pi*(1/4*D2^2-x3^2); f1=12*yta*x4*ap^2*mu/(pi*D0*h^3)+3*x4*ty*ap*10^3/h; f2=32*yta*x5*ap*mu*ad/(pi*x3^4); f3=0.4*5500; k=(3*x4*ty*ap*10^3/h)/(f2+f3+12*yta*x4*ap^2*mu/(pi*D0*h^3)) F=0.5*abs(f1+f2+f3-80000)-0.5*k; 约束: lb=[50;25;3;10;5]; ub=[150;80;15;120;20]; 结果 [x,fval,exitflag]=fmincon(@ff,x0,[],[],[],[],lb,ub) Warning: Large-scale (trust region) method does not currently solve this type of problem, switching to medium-scale (line search). > In C:\MATLAB6p5\toolbox\optim\fmincon.m at line 213 ??? Error using ==> fmincon FMINCON cannot continue because user supplied objective function failed with the following error: Error: File: C:\MATLAB6p5\work\ff.m Line: 1 Column: 6 Missing operator, comma, or semicolon. 此帖于 2010-11-20 18:52 被 tangxy03 编辑。 |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-09-14
年龄: 43
帖子: 351
声望力: 24 ![]() |
![]()
多目标一般都是采用线性加权转化为单目标优化
__________________
qq604443022 |
![]() |
![]() |