这里答案给出的方程有小错误:求利润最大值,所以要改为max,在代码中加系数负号求最小值,最后变回最大值
clc,clear
a = [1.25,2,2.8];
b = [0.25,0.35,0.5];
c = a - b;
d = [300,321,250,783,200];
f = [6000,10000,4000,7000,4000];
e = d./f;
g = [c(1)-e(1)*5,c(1)-e(2)*7,-e(3)*6,-e(4)*4,-e(5)*7,-e(1)*10,-e(2)*9,c(2)-e(3)*8,c(3)-e(4)*11-e(2)*12];
A = [5,0,0,0,0,10,0,0,0;
0,7,0,0,0,0,9,0,12;
0,0,6,0,0,0,0,8,0;
0,0,0,4,0,0,0,0,11;
0,0,0,0,7,0,0,0,0];
aeq = [1,1,-1,-1,-1,0,0,0,0;0,0,0,0,0,1,1,-1,0];
beq = [0,0]';
[x,y] = linprog(-g,A,f',aeq,beq,zeros(9,1))