matlab求解线性规划最优解怎么弄?

如题所述

题主给出线性规划问题,可以用fmincom函数求得最优解。

求解思路:1、创建自定义目标函数,myfun(x),即f=10*a*h2、创建自定义约束条件函数,mycon(x),即

(1)不等式条件

0.5≤b/a≤2;

0.5≤c/(10-b)≤2;

0.5≤(a-c)/(10-b)≤2;

0.5≤(c+10-b)/(2*h)≤2;

0.5≤(a-c+10-b)/(2*h)≤2;

0.5≤(a+b)/(2*h)≤2;

(2)等式条件

(a*b*(h-2))=200;

(10*b*c*(h-4))=35;

((10-b)*a*c*(h-4))=105;

3、初定x的初值,即x0=rand(1,4)

4、确定x的上限值,即lb值,lb=zeros(1,4);

5、确定x的下限值,即ub值,ub=ones(1,4)*20;

6、使用fmincon函数,求其a、b、c、V值

[x,fval,exitflag] = fmincon(@(x) myfun(x),x0,A,b,Aeq,beq,lb,ub,@(k) mycon(k));

a=x(1);b=x(2);c=x(3);h=x(4);

7、验证各等式条件

按上述要求编程,运行后可得到如下结果

追问

谢谢大佬,但我画完图之后发现有问题,我设计的东西叫搅拌池,我之所以求长宽平均值/高h并将平均值限定在0.5到2之间主要是为了满足这个池子装水后水的尺寸上长宽高接近1:1:1,可是换图后发现长宽的比并没有限制在这个范围内,所以大佬应该补充限制条件1/2≤c/10-b≤2这些,大

佬是不是漏掉这这个不等式组了;另外我不太懂大佬的V指的是什么

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-11-11
可以编程解决,但要求把决策变量以外的常数等要有实际数值,不能用a,b ,c等代替,否则,不能用程序解决。