程序为
clear;
clc;
format short g
c=[-400;-1000;-300;200];
A=[2 3 0 0;3 4 0 0];
B=[16;24];
Aeq=[0 -2 1 1];
Beq=[0];
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呢,运行结果一部分对,一部分不对呢,大家帮帮忙啊