用数字解决难题方程组


10

我有一个要求解的个非线性方程组:n

f = f 1f n

f(x)=a
f=(f1,,fn)x=(x1,,xn)

该系统具有许多特性,使其特别难以操作。我正在寻找有关如何更有效地处理系统的想法。

为什么系统很难?

  • 功能类似于此功能(但当然是多维的):

    Mathematica图形

    它们具有平坦的高原,由平坦的变化区域隔开。在2D中,您可以想象一个像这样:fi

    Mathematica图形

    通常,每个具有两个平稳段,这些平稳段通过围绕维超平面的平滑变化而分开。 Ñ - 1fin1

    像牛顿那样的方法很难处理这样的函数,因为导数在高原上实际上为零。在多个维度上,我无法轻易找到都没有稳定的fi区域,如果可以的话,就可以解决问题。二等分方法在效果很好,但是不能很好地推广到多个维度。n=1

  • 这些函数的计算速度非常慢。我正在寻找一种方法,它可以在尽可能少的迭代中获得根的合理近似值。

  • 这些函数是使用蒙特卡洛方法计算的。这意味着每次计算它们时,我都会得到略有不同的随机值。导数很难估计​​。一旦我们距离根足够近,噪声将开始占主导地位,因此有必要使用平均来提高精度。理想情况下,应该有可能将方法推广到等效的随机近似版本(例如,Newton→Robbins-Monro)。

  • 该系统是高维的。可以大到10-20。当,一种有效的方法可能是以下方法:尝试遵循和定义的轮廓并查看它们相交的位置。尚不清楚如何将其推广到高尺寸。n = 2 f 1x 1x 2= 0 f 2x 1x 2= 0nn=2f1(x1,x2)=0f2(x1,x2)=0

我对系统还有什么了解?

  • 正是有一个根源(根据理论结果)。

  • 我知道高原上的的值(假设任何为0和1 )。fii

  • x i f ix ifi与有特殊关系:  随着从到从1到0单调变化。对于其他任何固定值来说都是如此。xifi(,xi,) - X Ĵ xixji


您是否知道解决方案必须位于所有变量的上下限?这些界限越紧密越好。您能否以所需的最大尺寸给出一个确定性的示例,以说明您的平稳期和困难,但是不需要进行蒙特卡洛模拟,并且函数中也没有随机误差(如果可以计算导数,则可以得到加分)?这样的确定性示例的目的是理解问题的难度,而不是说蒙特卡洛评估将不会用于您实际问题的最终解决方案中。
马克·L·斯通

@ MarkL.Stone Bounds:我不认识他们。但是我可以猜到。猜测必须相当广泛,才能确信它们是正确的。示例:我将提供一个示例,并将在明天编辑问题。关于的真正形式,我没有比这里描述的要清楚得多,因此我的第一个例子可能不能真正代表实际问题。但是,我将把费米函数(S型)构成的东西放在一起,并尝试使它尽可能多地解决实际问题。f
Szabolcs

我期待看到它,
Mark L. Stone

Answers:


1

因为只有一个根并且没有约束,所以您可能会把它摆成一个优化问题:将原始函数平方的和(沿每个维)最小化。

经典的优化方法可能会失败,但是启发式方法(例如遗传算法或CME-ES(协变等矩阵自适应-进化策略))可能会起作用。


这确实是可行的方法。我特别要看一下专门为您的目的而开发并且非常健壮的SPSA算法。
Wolfgang Bangerth,

2
OP提到评估该函数非常昂贵(将Monte Carlo仿真应用于函数评估)。对于遗传算法和其他进化算法来说,这不是一个很大的问题吗?它们是“平凡的并行”(通常也是MC),因此可以进行大规模并行计算,但是它们是进入此处的最佳方法吗?
GertVdE

@WolfgangBangerth谢谢,正如您所说的,这听起来像是正确的解决方案。我将看一下SPSA。
Szabolcs

1
关于昂贵的功能评估:确实,与传统方法相比,遗传算法和相关的启发式方法往往需要进行更多的功能评估。好处是启发式方法通常可以解决以下问题:1)否则需要特定问题的方法,或者2)由于数值问题而失败。对于此示例,由于目标函数的随机性以及沿某些维度的小梯度,传统方法可能会遇到麻烦。SPSA看起来像是解决此问题的理想方法。
MattKelly
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.