0

假设我在一些变量之间有一些已知的关系,例如a = b + c和一个起始解决方案,例如a=2, b=1, c=1。我正在编写一些代码,例如,给定更新a=3,我更新 and 的值,b以便c仍然满足关系,例如设置b=2(显然有很多可能性,我只需要一个)。

在实践中,有很多关系,它们不是线性的。该代码通过用户为每个变量提供函数作为其他变量的函数来工作,例如a(b,c)b(a,c)c(a,b)。然后我构建一个依赖关系图,当一个值发生变化时,我会执行广度优先搜索之类的操作来更新其他值。这似乎可行,但我不禁认为我正在重新发明轮子,这是一些众所周知的计算机科学/图论问题。也许甚至还有一个包裹?

谁能提供一些链接或一些关于我正在解决的问题的见解?

4

1 回答 1

0

这看起来像是找到F(a,b,c)=b+c-a接近给定起点(例如b=1, c=1.)的多维函数(例如 )的根

Wiki页面描述了一种变量函数的求根方法,并具有指向更高维方法的链接。这些方法与多维优化问题有关。

有很多实现:SciPyGNU、Mathematica、Matlab、...

于 2012-05-12T18:11:48.370 回答