gusucode.com > 使用Matlab在优化方面的程序项目 > 多元变量多目标规划问题求解/example_4.m
% 使用平台 - Matlab7.0 %by akjuan %all rights preserved by www.4math.cn %2008.11 % 收益函数是 70*x(1)+66*x(2) ; 风险函数是 % 0.02*x(1)^2+0.01*x(2)^2+0.04*(x(1)+x(2))^2 % ;用收益函数乘以权值0.5减去风险函数乘以0.5,然后取负,则转变为求单一目标的最小值问题,ff1是收益函数,ff2是风险函数 function example_4_b() clc clear f=@(x)-0.5*(70*x(1)+66*x(2))+0.5*(0.02*x(1)^2+0.01*x(2)^2+0.04*(x(1)+x(2))^2); %fun='[-(70*x(1)+66*x(2)),0.02*x(1)^2+0.01*x(2)^2+0.04*(x(1)+x(2))^2]'; x0=[1000,1000]; A=[1 1]; B=5000; Aeq=[]; Beq=[]; lb=[0 0];ub=[inf inf]; options=optimset('display','iter','Tolx',1e-8); [x_f,fval_f, exitflag]=fmincon(f,x0,A,B,Aeq,Beq,lb,ub,[],options) ff1=70*x_f(1)+66*x_f(2) ff2=0.02*x_f(1)^2+0.01*x_f(2)^2+0.04*(x_f(1)+x_f(2))^2