logo资料库

基于MATLAB的多目标线性规划_理想点法求解程序代码.doc

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
6.0000 最优解 ; fval =-12.0000 最优值; output = iterations: 6 迭代次数; algorithm: 'large-scale: interior point'所使用规则 2x1+x2<=10 x1,x2>=0 %多目标线性规划的求解方法及 MATLAB 实现 %利用理想点法求解 %eg: %max f1(x)=-3x1+2x2 %max f2(x)=4x1+3x2 %s.t.: 2x1+3x2<=18 % % %解:先对单目标求解 %1,求解 f1(x)最优解的 MATLAB 程序为 f1=[3;-2]; A=[2,3;2,1]; b=[18;10]; lb=[0;0]; [x,fval,exitflag,output,lambda] = linprog(f1,A,b,[],[],lb) %结果输出为:x=0.0000 %exitflag = 1 收敛 ; % lambda.ineqlin %ans = 0.6667 % % 0.0000 lambda.lower %ans = % % %不等约束条件 1 以及第 1 个下界是有效的 pause %2,求解 f2(x)最优解的 MATLAB 程序为 f2=[-4;-3]; A=[2,3;2,1]; b=[18;10]; lb=[0;0]; [x,fval,exitflag,output,lambda] = linprog(f2,A,b,[],[],lb) %结果输出为:x=3.0000 %即最优解是 24 %于是得到理想点(12, 24)。 pause %3,然后求如下模型的最优解 %min fi[f(x)]={[f1(x)-12]^2+[f2(x)-24]^2}^(1/2) %s.t.:… … … A=[2,3;2,1]; b=[18;10]; x0=[1;1]; 4.3333 0.0000 4.0000 最优解 ; fval =-24.0000 最优值;
0.5268 5.6488 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 = % % pause %目标值为 f1x=(-f1)'*x f2x=(-f2)'*x
分享到:
收藏