zhaoyunyaya 发表于 2010-6-8 19:13

求助,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

帮楼主顶一个~~~~~~~~

linmatsas 发表于 2010-6-8 21:16

帮楼主顶一个~~~~~~~~
YoonA 发表于 2010-6-8 20:41 http://www.madio.net/static/image/common/back.gif
沙发姐…………

linmatsas 发表于 2010-6-8 21:22

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
所以证明…你的程序没有错,是答案错了~~要么就是方程错了~~~


zhaoyunyaya 发表于 2010-6-9 03:35

回复 linmatsas 的帖子

谢谢啊,我也纳闷,也不知道哪错了
   

linmatsas 发表于 2010-6-9 12:12

回复 zhaoyunyaya 的帖子

不客气~~~我觉得肯定是方程有问题~~呵呵,再改改吧~~~~~~
   

tiancai1234 发表于 2010-6-19 21:41

这个,发帖有没有奖励啊

suxiangshiwoha 发表于 2010-7-8 14:47

{:3_41:}···········
页: [1]
查看完整版本: 求助,matlab建模程序运行结果为何不对啊