永发信息网

急求高手进,matlab编程求z的最大值 z=5*t1+6*t2+4*t3+38*t4+5*t5+4*t6+5*t7+4*t8+6*t9+7*t10+2*t11+8*t12

答案:1  悬赏:20  手机版
解决时间 2021-03-23 21:45
  • 提问者网友:孤凫
  • 2021-03-23 00:49
急求高手进,matlab编程求z的最大值 z=5*t1+6*t2+4*t3+38*t4+5*t5+4*t6+5*t7+4*t8+6*t9+7*t10+2*t11+8*t12
最佳答案
  • 五星知识达人网友:低音帝王
  • 2021-03-23 01:54
>> c = [5 6 4 38 5 4 5 4 6 7 2 8]; %目标函数系数
>> A1 = [1 zeros(1,3) 1 zeros(1,3) 1 zeros(1,3);0 1 zeros(1,3) 1 zeros(1,3) 1 zeros(1,2);0 0 1 zeros(1,3) 1 zeros(1,3) 1 zeros(1,1);0 0 0 1 zeros(1,3) 1 zeros(1,3) 1];
>> B1 = [90 75 90 80]; %不等式约束
>> A2 = [8 2 4 9 zeros(1,8);zeros(1,4) 7 6 6 3 zeros(1,4);zeros(1,8) 4 8 5 2];
>> B2 = [700 500 400]; %等式约束
>> v1=zeros(1,12); %下界
>> [x fv] = linprog(-c,A1,B1,A2,B2,v1); 线性规划追问为什么结果是个负值?这个可不符合实际情况~~~
fv =
-2.0231e+003
其实我想知道如何用matlab求最大值,但这还是个求最小值的编程追答我第一次没有说清楚,不好意思
极大值问题与极小值问题其实是等价的:对于求目标函数为f的极大值问题等价于求解目标函数为-f的极小值问题,只是对于-f的问题,求出的极小值等于f问题的极大值再反号。
因此上面编程中c = [5 6 4 38 5 4 5 4 6 7 2 8]是目标函数的系数,但在传递给函数linprog(-c,A1,B1,A2,B2,v1);时,请注意用的是-c,因此相当于解的是-f的极小值问题,解出来的 fv=
-2.0231e+003,加上一个负号就是原问题的极大值了为
fv=2.0231e+003
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯