MATLAB编程 程序

来源:百度知道 编辑:UC知道 时间:2024/05/28 07:00:36
max a1*[1/2(-0.0138+0.1343)x1+1/2(-0.258+0.2767)x2+1/2(-0.0379+0.1136)x3+1/2(-0.0347+0.0867)x4] - a2*[1/2(0.012+0.214)x1+1/2(0.011+0.023)x2+1/2(0.214+0.756)x3+1/2(0.218+0.782)x4]
s.t. (0.101+2.512)x1+(0.312+0.456)x2+(1.987+2.146)x3+ (2.083+2.185)x4=(2.152+2.248)
x1+x2+x3+x4=1
x1,x2,x3,x4>0
其中:取a1=0.6;a2=0.4
x1是符号
x2是符号
x3是符号
x4是符号

%by dynamic
%see also http://www.matlabsky.com
%contact me matlabsky@gmail.com
%2009.2.20
%

%目标函数
a1=0.6;
a2=0.4
f1= a1*[1/2*(-0.0138+0.1343) 1/2*(-0.258+0.2767) 1/2*(-0.0379+0.1136) 1/2*(-0.0347+0.0867)]';
f2=a2*[1/2*(0.012+0.214) 1/2*(0.011+0.023) 1/2*(0.214+0.756) 1/2*(0.218+0.782)]';
f=f1-f2;
%等式约束
Aeq=[0.101+2.512,0.312+0.456,1.987+2.146,2.083+2.185
1 1 1 1];
beq=[2.152+2.248;1];
%边界约束
lb=zeros(4,1);
%调用linprog函数求解线性规划
[x,fval]=linprog(f,[],[],Aeq,beq,lb)