线性规划问题求解MATLAB编程"程序"及运输结果

来源:百度知道 编辑:UC知道 时间:2024/06/01 02:07:14
max[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]
min[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
max a1*[0.3499 *x1+0.1107 *x2+0.0942 *x3+0.0725 *x4] - a2*[0.7896 *x1平方+0.1162 *x2平方+0.2077 *x3平方+0.0469 *x4平方
s.t. 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
%
%目标函数
f1=-0.5*[-0.0138+0.1343,-0.258+0.2767,-0.0379+0.1136,-0.0347+0.0867]';
f2=0.5*[0.012+0.214,0.011+0.023,0.214+0.756,0.218+0.782]';
%等式约束
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函数求解线性规划
[x1,fval1]=linprog(f1,[],[],Aeq,beq,lb)
[x2,fval2]=linprog(f2,[],[],Aeq,beq,lb)

clc;clear;
a1=0.6;a2=0.4;
myfun=inline('-(0.6*(0.3499 *x(1)+0.1107*x(2)+0.0942*x(3)+0.0725*x(4)) - 0.4*(0.7896*x(1)^2+0.1162*x(2)^2+0.2077*x(3)^2+0.0469*x(4)^2))','x')
A=[];B=[];
Aeq=[1 1 1 1];Beq=1;
X0=[0.25 0.25 0.25 0.25];
%options=optimset
%options.TolCon=10e-17
[X,FVAL,EXITFLAG] = fmincon(myfun,X0,A,B,Aeq,Beq,[