以上这个式子比较复杂,未知变量Q和p的约束条件都是大于零,求Z最大值时的最优解,有哪位大神可以提供matlab或者Lingo的求解程序给我,不胜感激!
参考代码(里面有些系数请再仔细检查,我虽已尽量小心,但不敢保证录入无误):
z = @(x)(1.8-x(1))/400*x(2)^2 + (-1.8*x(1)^2+146.24*x(1)-1270)/50*x(2) ...得到的结果为:
x =其中第一个值为p,第二个为Q。目标函数为:
>> z(x)需要注意的是初值的选择需要慎重,选择不当很容易落在局部最优点(0,0)处。
优化结果绘制二维图如下:
h=ezmesh(@(p,Q)arrayfun(@(x1,x2)z([x1,x2]),p,Q),[0 50 0 300]);这里需要注意,ezmesh那句不能简单写成ezmesh(@(x1,x2)z([x1 x2])),因为匿名函数z不支持向量运算。