Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2010-04-05, 18:32   #1
zplwg
初级会员
 
注册日期: 2008-09-17
年龄: 50
帖子: 1
声望力: 0
zplwg 正向着好的方向发展
默认 运筹学:指派问题?

运行如下m文件,则:fval=23,但fv=8,两者不等;

但:如果把e的内容换一个,即:e=[2 15 13 4;10 4 14 15;9 14 16 13;7 8 11 9];,则fval=fv=28


这个m文件问题出在哪里?为什么fval不等于fv?



e=[4 6 5 8;6 10 7 8;7 8 11 9;9 3 8 4];
a=e';
f=a(:);
o=ones(1,4);
z=zeros(1,4);
y=eye(4);
aeq=[o,z,z,z;z,o,z,z;z,z,o,z;z,z,z,o];
aeq=[aeq;y,y,y,y];
beq=ones(8,1);
lb=zeros(16,1);
[x,fval,exitflag,output,lambda]=linprog(f,[],[],aeq,beq,lb);
xv=reshape(x,4,4);
xx=xv';
xx0=round(xx);
xe=xx0./e;
xe=xx0.*e;
fv=sum(sum(xe));

此帖于 2010-04-05 18:35 被 zplwg 编辑。 原因: 注意
zplwg 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 12:05


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.