您好。我有个数学问题:有11个未知数,四个线性约束条件,然后求一个对数加和的最小值。您能帮忙么?

如题所述

format long;
aeq=[0 1 1 1 0 3 6 2 1 2 0;
2 0 0 4 2 6 12 6 0 4 0;
0 1 2 0 1 3 6 0 0 2 0;
1 1 1 1 1 1 1 1 1 1 -1];
beq=[6;32;16;0];
x0=[1 1 1 1 1 1 1 1 1 1 1]';
lb=1e-12*x0;
ub=1e3*x0;
options=optimset('largescale','off','display','final','tolx',1e-16,'tolfun',1e-16,'MaxFunEvals',6000,'MaxIter',1000,'tolcon',1e-16);
[p,fval,exitflag,output]=fmincon(@(x) mobj(x),x0,[],[],aeq,beq,lb,ub,[],options);
disp('fval=');
disp(fval);
disp('exitflag=');
disp(exitflag);
disp('output=');
disp(output);
disp(p);

function y=mobj(x)
y=x(1)*(3+log(x(1)/x(11)))+x(2)*(-28+log(x(2)/x(11)))+x(3)*(-88+log(x(3)/x(11)))+x(4)*(-8+log(x(4)/x(11)))+x(5)*(-49+log(x(5)/x(11)))+x(6)*(-85+log(x(6)/x(11)))+x(7)*(-183+log(x(7)/x(11)))+x(8)*(-3+log(x(8)/x(11)))+x(10)*(-60+log(x(10)/x(11)));

结果
fval=
-7.936743192639692e+002

exitflag=
4

output=
iterations: 21
funcCount: 318
stepsize: 1
algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
firstorderopt: 6.736260150574935e-006
cgiterations: []
message: [1x129 char]

0.00777101878392
0.00000100000000
1.87678991494635
1.87282872519052
12.24640817010730
0.00000100000000
0.00000100000000
0.00005078690925
2.25026778604463
0.00000100000000
18.25412040198197来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-31
请直接放上题目。。追问

大致如此:min(a,b,c,d,e,f,g,h,i,j,k)=a(3+ln(a/k))+b(-28+ln(b/k))+c(-88+ln(c/k))+d(-8+ln(d/k))+e(-49+ln(e/k))+f(-85+ln(f/k))+g(-183+ln(g/k))+h(-3+ln(h/k))+j(-60+ln(j/k))。
约束条件:
b+c+d+3f+6g+2h+i+2j=6,
2a+4d+2e+6f+12g+6h+4j=32
b+2c+e+3f+6g+2j=16
a+b+c+d+e+f+g+h+i+j=k

追答

这。。一起坐等高人

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网