資源描述:
《基于MATLAB的多目標(biāo)線性規(guī)劃_理想點(diǎn)法求解程序代碼.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、%多目標(biāo)線性規(guī)劃的求解方法及MATLAB實(shí)現(xiàn)%利用理想點(diǎn)法求解%eg:%maxf1(x)=-3x1+2x2%maxf2(x)=4x1+3x2%s.t.:2x1+3x2<=18%2x1+x2<=10%x1,x2>=0%解:先對單目標(biāo)求解%1,求解f1(x)最優(yōu)解的MATLAB程序?yàn)閒1=[3;-2];A=[2,3;2,1];b=[18;10];lb=[0;0];[x,fval,exitflag,output,lambda]=linprog(f1,A,b,[],[],lb)%結(jié)果輸出為:x=0.00006.0000最優(yōu)解;fval=-12.0000最優(yōu)值;
2、%exitflag=1收斂;output=iterations:6迭代次數(shù);%algorithm:'large-scale:interiorpoint'所使用規(guī)則lambda.ineqlin%ans=%0.6667%0.0000lambda.lower%ans=%4.3333%0.0000%不等約束條件1以及第1個(gè)下界是有效的pause%2,求解f2(x)最優(yōu)解的MATLAB程序?yàn)閒2=[-4;-3];A=[2,3;2,1];b=[18;10];lb=[0;0];[x,fval,exitflag,output,lambda]=linprog(f2,A,
3、b,[],[],lb)%結(jié)果輸出為:x=3.00004.0000最優(yōu)解;fval=-24.0000最優(yōu)值;%即最優(yōu)解是24%于是得到理想點(diǎn)(12,24)。pause%3,然后求如下模型的最優(yōu)解%minfi[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];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,[])%輸出結(jié)
4、果:x=%0.5268%5.6488pause%目標(biāo)值為f1x=(-f1)'*xf2x=(-f2)'*x