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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

%多目标线性规划的求解方法及MA TLAB实现

%利用理想点法求解

%eg:

%max f1(x)=-3x1+2x2

%max f2(x)=4x1+3x2

%s.t.: 2x1+3x2<=18

% 2x1+x2<=10

% x1,x2>=0

%解:先对单目标求解

%1,求解f1(x)最优解的MA TLAB程序为

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 = iterations: 6 迭代次数;

% algorithm: 'large-scale: interior point'所使用规则lambda.ineqlin

%ans =

% 0.6667

% 0.0000

lambda.lower

%ans =

% 4.3333

% 0.0000

%不等约束条件1以及第1个下界是有效的

pause

%2,求解f2(x)最优解的MA TLAB程序为

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 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];

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.6488

pause

%目标值为

f1x=(-f1)'*x

f2x=(-f2)'*x

相关文档
最新文档