求助,matlab建模程序运行结果为何不对啊
目标函数:maxZ=400x1+1000x2+300x3-200x4约束条件:s.t
-2x2+x3+x4=0
2x1+3x2≤16
3x1+4x2≤24
0≤x3≤5
x1≥0,x2≥0, x4≥0
程序为
clear;clc;format short gc=[-400;-1000;-300;200];A=;B=;Aeq=;Beq=;xLB=zeros(4,1);xUB=inf*ones(4,1);xUB(3)=5;x0=0*ones(4,1);nEq=1;x=linprog(c,A,B,Aeq,Beq,xLB,xUB, x0); DepartmentA=x(1);DepartmentB=x(2);DepartmentC=x(3)+x(4);Finish=x(3);Unfinish=x(4);Profit=-c'*x;fprintf('=============计算结果==============\n');fprintf('\t\tDepartmentA=%d\n',DepartmentA);fprintf('\t\tDepartmentB=%d\n',DepartmentB);fprintf('\t\tDepartmentC=%d\n',DepartmentC);fprintf('\t\tFinish=%d\n',Finish);fprintf('\t\tUnfinish=%d\n',Unfinish);fprintf('\t\tProfit=%d\n',Profit);正确结果为DepartmentA=3.4483
DepartmentB= 3.0345
Finish=5.000000e+000
Unfinish=1.0690
Profit=5.700000e+003为何我编的程序DepartmentA几乎接近0呢,运行结果一部分对,一部分不对呢,大家帮帮忙啊
帮楼主顶一个~~~~~~~~ 帮楼主顶一个~~~~~~~~
YoonA 发表于 2010-6-8 20:41 http://www.madio.net/static/image/common/back.gif
沙发姐…………
MATLAB这个工具箱我都忘了~~不过我拿lingo解了下,结果跟你的差不多啊
你得运行结果:
=============计算结果==============
DepartmentA=2.929782e-001
DepartmentB=5.138015e+000
DepartmentC=1.027603e+001
Finish=5.000000e+000
Unfinish=5.276029e+000
Profit=5.700000e+003我的运行结果:
Variable Value Reduced Cost
X1 0.000000 0.000000
X2 5.333333 0.000000
X3 5.000000 0.000000
X4 5.666667 0.000000
所以证明…你的程序没有错,是答案错了~~要么就是方程错了~~~
回复 linmatsas 的帖子
谢谢啊,我也纳闷,也不知道哪错了
回复 zhaoyunyaya 的帖子
不客气~~~我觉得肯定是方程有问题~~呵呵,再改改吧~~~~~~
这个,发帖有没有奖励啊 {:3_41:}···········
页:
[1]