如何最小化( x -一个)2+ (是- b)2(x−a)2+(y−b)2受制于一种--√+b√=2–√a+b=2?

计算科学 优化 约束优化 计算几何 结石 软件推荐
2021-12-01 10:38:00

我不确定这是否是主题,但我正在尝试。

x,y为正实数。我试图找到

mina+b=2(xa)2+(yb)2

我尝试为此使用 Mathematica,通过运行

Minimize[{(x - a)^2 + (y - b)^2, Sqrt[a] + Sqrt[b] == Sqrt[2]}, {a, 
  b}]

但计算并没有终止。我没有使用计算软件工具的经验。有什么好的建议来处理这个问题?(例如,在这里 Python 会是一个不错的选择吗?我应该尝试什么?)。

我想最佳近似值对我来说也会很有趣。

看来要分析解决这个问题是行不通的。

评论:

我不确定这是否重要,但就我而言,我也知道x,y满足 xy14由于a+b=2,算术几何不等式意味着ab14也许这些事实可以以某种方式在这里使用,我不确定。

2个回答

来自评论:我建议您设置然后将变量 c,d 中的问题传递给您正在使用的任何计算软件。如果可能的话,我会不惜一切代价避免约束中的那些不平滑的平方根。a:=cb:=d

总的想法(从非常哲学的角度来看;这感觉更像是评论而不是对我的回答)是,在许多情况下,我们真正知道如何解决的所有问题,尤其是对于大维度,都是线性问题:求解线性方程组是一项简单的任务,并且在所有本科优化课程中都教授了使用线性约束最小化线性函数的显式过程。可能 Mathematica 可以进行线性替换并轻松解决线性问题。

每当您遇到非线性问题时,其数值解决方案通常涉及用线性近似代替它:考虑一下牛顿法或导数本身的想法。如果约束不平滑,则对其进行线性化会更加困难。

@federicopolini 的回答是正确的:Introduce 您的优化问题现在将如下所示: 受约束 不等式约束对于确保获得有意义的解决方案很重要。

c=a,d=b
min(xc2)2+(yd2)2
c+d=2,c0,d0.

现在,您可以消除并获得以下问题: 受约束 d=2c

min(xc2)2+(y(2c)2)2
c0,c2.

您可以分析解决这个问题:找到的所有三个值,其中 . 然后,您需要通过确保然后,您需要比较它们是否小于或大于的值,以涵盖可行区间端点处的值。cddc[(xc2)2+(y(2c)2)2]=0d2dc2[(xc2)2+(y(2c)2)2]>0(xc2)2+(y(2c)2)2c=0c=2