求帮忙用MATLAB求利润的最大值问题.z(利润)=240x11+270x12+180x13+230x14+260x21+270x22+210x23+240x24+210x31+200x32+220x33+20x34,约束条件:x11+x12+x13+x14≤50,x11+x12+x13+x14≤50,x31 + x32 + x33 +x34 ≤50,30≤x11+x21+x31≤30+50,60
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/03 23:11:51
![求帮忙用MATLAB求利润的最大值问题.z(利润)=240x11+270x12+180x13+230x14+260x21+270x22+210x23+240x24+210x31+200x32+220x33+20x34,约束条件:x11+x12+x13+x14≤50,x11+x12+x13+x14≤50,x31 + x32 + x33 +x34 ≤50,30≤x11+x21+x31≤30+50,60](/uploads/image/z/15208254-54-4.jpg?t=%E6%B1%82%E5%B8%AE%E5%BF%99%E7%94%A8MATLAB%E6%B1%82%E5%88%A9%E6%B6%A6%E7%9A%84%E6%9C%80%E5%A4%A7%E5%80%BC%E9%97%AE%E9%A2%98.z%28%E5%88%A9%E6%B6%A6%29%3D240x11%2B270x12%2B180x13%2B230x14%2B260x21%2B270x22%2B210x23%2B240x24%2B210x31%2B200x32%2B220x33%2B20x34%2C%E7%BA%A6%E6%9D%9F%E6%9D%A1%E4%BB%B6%3Ax11%2Bx12%2Bx13%2Bx14%E2%89%A450%2Cx11%2Bx12%2Bx13%2Bx14%E2%89%A450%2Cx31+%2B+x32+%2B+x33+%2Bx34+%E2%89%A450%2C30%E2%89%A4x11%2Bx21%2Bx31%E2%89%A430%2B50%2C60)
求帮忙用MATLAB求利润的最大值问题.z(利润)=240x11+270x12+180x13+230x14+260x21+270x22+210x23+240x24+210x31+200x32+220x33+20x34,约束条件:x11+x12+x13+x14≤50,x11+x12+x13+x14≤50,x31 + x32 + x33 +x34 ≤50,30≤x11+x21+x31≤30+50,60
求帮忙用MATLAB求利润的最大值问题.
z(利润)=240x11+270x12+180x13+230x14+260x21+270x22+210x23+240x24+210x31+200x32+220x33+20x34,
约束条件:x11+x12+x13+x14≤50,x11+x12+x13+x14≤50,x31 + x32 + x33 +x34 ≤50,30≤x11+x21+x31≤30+50,60≤x12+x22+x32≤60+70,20≤x13+x23+x33≤20+30,
20≤x14+x24+x34≤20+30,xij≥0,i=1,2,3 j=1,2,3,4
求帮忙用MATLAB求利润的最大值问题.z(利润)=240x11+270x12+180x13+230x14+260x21+270x22+210x23+240x24+210x31+200x32+220x33+20x34,约束条件:x11+x12+x13+x14≤50,x11+x12+x13+x14≤50,x31 + x32 + x33 +x34 ≤50,30≤x11+x21+x31≤30+50,60
可以用 fmincon函数.(Matlab里面没有求最大值的函数,所以要求-f的最小值,你懂得~)
function z= lirun( x )
x11=x(1);x12=x(2);x13=x(3);x14=x(4);x21=x(5);x22=x(6);x23=x(7);x24=x(8);x31=x(9);x32=x(10);x33=x(11);x34=x(12);
y=240*x11+270*x12+180*x13+230*x14+260*x21+270*x22+210*x23+240*x24+210*x31+200*x32+220*x33+20*x34;
z=-y;
end % 首先定义函数,编辑在m文件里面,然后保存.
>> A=[1 1 1 1 0 0 0 0 0 0 0 0;0 0 0 0 1 1 1 1 0 0 0 0;0 0 0 0 0 0 0 0 1 1 1 1 ;1 0 0 0 1 0 0 0 1 0 0 0;-1 0 0 0 -1 0 0 0 -1 0 0 0;0 1 0 0 0 1 0 0 0 1 0 0;0 -1 0 0 0 -1 0 0 0 -1 0 0;0 0 1 0 0 0 1 0 0 0 1 0;0 0 -1 0 0 0 -1 0 0 0 -1 0;0 0 0 1 0 0 0 1 0 0 0 1;0 0 0 -1 0 0 0 -1 0 0 0 -1];
b=[50; 60; 50;80;-30;130;-60;50;-20;30;-20]; %然后用矩阵来描述约束条件.
>> x0=20*ones(1,12);lb=zeros(1,12);
>> [x,f]=fmincon('lirun',x0,A,b,[],[],lb,[],[]);
>> -lirun(x) %输出最大利润
>> x %输出此时的x的值
结果如下
ans =
39800
x =
-0.0000 50.0000 -0.0000 0 12.4689 27.5311 -0.0000 20.0000 17.5311
0.0000 32.4689 -0.0000
在第二个条件下的结果如下
ans =
73100
x =
-0.0000 100.0000 0.0000 0 60.0000 30.0000 0 30.0000 20.0000
-0.0000 50.0000 -0.0000
记得我们的承诺,哈哈 ^.^