【讨论】求解二元函数最大值
本帖最后由 厚积薄发 于 2010-1-26 21:25 编辑<P>如有:</P>
<P>Q=-9.85 + 0.0576x + 186.44d - 0.00008148*x*x - 2191.83*d*d - 0.123*x*d</P>
<P>200<=X<=500,0<=d<=0.05</P>
<P>如何求得Q的最大值呢?</P>
<P></P> <p>在帮助里面搜索下Maximize</p><p>具体我也没用过</p> 我是分别对方程的x,d求偏导,再联立得到的方程,解出Qmax:
In:= D[-9.85 + 0.0576 x + 186.44 d - 0.00008148*x*x - 2191.83*d*d - 0.123*x*d, x]
D[-9.85 + 0.0576 x + 186.44 d - 0.00008148*x*x - 2191.83*d*d - 0.123*x*d, d]
Out= 0.0576- 0.123 d - 0.00016296 x
Out= 186.44- 4383.66 d - 0.123 x
In:= Solve[{%12 == 0, %13 == 0}, {x, d}]
Out= {{x -> 328.313, d -> 0.0333186}}
最后判断x 和d在不在取值范围内,不在的话看得到的偏导方程的单调性,方法比较笨,等高手…… 3楼的解看来是正确的。我用lingo11解出的跟3楼的差不多。满足约束条件。
鉴于mathematica对优化问题的求解还有待改进,不如将两种软件结合着用,比较好。 输入:Maximize[{-9.85 + 0.0576 x + 186.44 d - 0.00008148*x*x - 2191.83*d*d - 0.123*x*d, 200 <= x <= 500, 0 <= d <= 0.05}, {x, d}]
结果:{2.71136, {x -> 328.313, d -> 0.0333186}} 4楼说的有道理,5楼正解~~ 本帖最后由 mathcd 于 2009-7-27 19:40 编辑
做数值优化的软件很多.最近完成了一种符号优化的东西.
所以可以给出准确解,而不是数值近似解.
准确解如下:
所以可以近似到任意程度. 学习....... 用lingo试了下,弹出个错误窗口.. 抱歉,对于程序的不熟
页:
[1]
2