Mathematica中使用等式约束的函数最小化8

Boo*_*cko 7 wolfram-mathematica mathematica-8

在Mathematica 8中使用具有简单相等性的约束时,最小化不起作用.例如

FindMinimum[{x^2 + y^2,  y == 1}, {x, y}]
Run Code Online (Sandbox Code Playgroud)

在Mathematica 6中工作正常,但在版本8中出错.任何人都可以确认(或解释)这个吗?看起来像使用约束修复其中一个参数会使版本8 xy==1变得混乱.放置就可以了,也就是任何不等式.

有什么简单的解决方法吗?我试过改变Method,没有运气.我想将所有参数保留在参数列表中,但是使用简单约束来保留其中一些参数,而不是从列表中删除参数名称.我在版本6中有一个工作代码,它在8中不再起作用了.

Mr.*_*ard 2

您的语法似乎不正确:

FindMinimum[{x^2 + y^2,  y == 1}, {x, y}]
Run Code Online (Sandbox Code Playgroud)

x它要求以 的值开始y。这对我来说没有多大意义。

也许您正在尝试这样做:

Minimize[{x^2 + y^2, y == 1}, {x, y}]
Run Code Online (Sandbox Code Playgroud)
  输出:{1, {x -> 0, y -> 1}}

显然你的语法有效的。考虑Minimize如上所示作为您的问题的可能解决方法。

  • 文档表明他的语法是合理的。下面是一个示例: FindMinimum[{x + y, x + 2 y >= 3 && x >= 0 && y >= 0 && y \[Element] Integers}, {x, y}] (2认同)
  • 我同样感到惊讶;从语法着色来看,Mathematica 前端似乎也很惊讶(注意 x 的绿色和 y 的蓝色的有趣组合)。 (2认同)