《基于MATLAB的多目标线性规划_理想点法求解程序代码.doc》由会员分享,可在线阅读,更多相关《基于MATLAB的多目标线性规划_理想点法求解程序代码.doc(2页珍藏版)》请在金锄头文库上搜索。
1、%多目标线性规划的求解方法及MATLAB实现%利用理想点法求解%eg:%max f1(x)=-3x1+2x2%max f2(x)=4x1+3x2%s.t.: 2x1+3x2=18% 2x1+x2=0%解:先对单目标求解%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 6.0000 最优解 ; fval =-12.0000 最优值;%exitflag = 1 收敛 ; output = iteration
2、s: 6 迭代次数;% algorithm: large-scale: interior point所使用规则lambda.ineqlin%ans =% 0.6667% 0.0000lambda.lower%ans =% 4.3333% 0.0000%不等约束条件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 4.0000 最优解 ; fval =-24.0000 最优值;%即最优解是24%于是得到理想点(12, 24)。pause%3,然后求如下模型的最优解%min fif(x)=f1(x)-122+f2(x)-242(1/2)%s.t.: 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% 5.6488pause%目标值为f1x=(-f1)*xf2x=(-f2)*x