问题标签 [minimization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
787 浏览

fortran - 最小二乘最小化 Fortran 77

试图在 fortran77 中实现单参数最小二乘最小化。这是代码;它可以编译并且似乎可以工作,除了......它陷入了h1 = 1.8E-2和3.5E-2的值之间的无限循环。现在看看,但很可能,我自己不会有太多运气来解决这个问题。欢迎大家帮忙!

编辑:再看一遍我决定我不知道是什么搞砸了。应该从中得到 6618.681 的卡方,但它只是停留在 6921.866 和 6920.031 之间。帮助!

0 投票
3 回答
1862 浏览

c++ - 非线性函数最小化 C++

我一直在尝试将代码从 MATLAB 移植到 C++,并偶然发现了一个非常意想不到的困难。我似乎找不到与 MATLAB 的 fminunc 等效的 C++。

简单地说,问题定义是最小化 f(x),对于向量 x、标量函数 f(x) 和初始猜测 x_0。

到目前为止,我的搜索努力只发现了一个名为 MinPack 的库,它无法解决 f(x) 是标量而 x 是向量的情况。

当然,与时间一样古老的编程语言可以免费实现非线性优化的经典数值配方吗?还是我在这里过于乐观?即使是诸如梯度下降之类的基本方法也将是一个巨大的改进......

0 投票
3 回答
1123 浏览

c++ - 2D 函数最小化算法或 C/C++ 库

我需要最小化一个2D function f(x,y). 我已经使用1-D最小化Brent's Method(类似于寻找根的二分搜索。)我认为一个2D版本将是一个非常简单、常见的问题,它会有很多好的算法和库,但我还没有找到。我正在考虑只使用Downhill Simplex from Numerical Recipes,但我认为可能有一个更简单的 just2D或一个方便的库。

对于感兴趣的,这里有一些更多的细节:

我实际上是在尝试找到一条最小化两个 1D 函数之间的点的线,即双切线。一维函数通常看起来像抛物线,它们在某个点交叉。交叉点给出了要最小化的点的 X,我想找到一条与抛物线相切的线,该抛物线在该 X 处最小化 Y。

所以,我真的是minimizing g( f1(x1), f2(x2) )

不幸的是,我没有更多关于 f1() 和 f2() 的信息。功能由用户选择,甚至由用户提供。如果用户提供数据,我将函数作为一组点。我可以进行插值以在线上的任何点获得一个非常好的数值导数,但仅此而已。之前的开发人员认为最小化是找到双切线的最通用方法。我仍在试图弄清楚他是否正确。

0 投票
1 回答
196 浏览

java - 在障碍物和空间限制下最小化总路径成本

我有一个布置在2D Grid. 我想用连接将节点对连接起来,然后占用 2D 网格上的物理空间。这些连接现在本身就是障碍,未来的连接将不得不采取避免与它们相交的路径。

我目前正在使用A* algorithm并逐渐建立连接。虽然它找到了从开始到结束节点的最短路径,但它没有考虑需要建立的其他连接,因此连接所有对后的总路径成本不是最优的。

有谁知道是否有一种算法可以解决这个问题,或者这是一个 NP 完全问题?任何有关相关材料的指导也将不胜感激。

0 投票
1 回答
1493 浏览

python - 如何最小化复杂函数

当我尝试使用 scipy.optimize fmin 或 scipy.optimize minimize 最小化我的复杂函数时,我遇到了问题。事实上,最小化似乎不想考虑到我有一个复杂的功能这一事实。

我将我的代码分为两部分,第一部分是一个类,第二部分是我的主程序,它调用类并解决最小化问题。

这是我的课:

这是我的主要程序:

但我得到了这个错误:

有人知道它到底发生了什么吗?谢谢你。

0 投票
2 回答
2736 浏览

scipy - python用公共变量优化多个函数

我试图最小化(全局)3个使用公共变量的函数,我试图将它们组合成一个函数并最小化使用L-BFGS-B(我需要为变量设置边界),但事实证明很难平衡每个参数具有权重,即当一个被最小化时,另一个不会。我还尝试使用SLSQP方法来最小化其中一个,同时将其他约束设置为约束,但约束通常被忽略/不满足。以下是需要最小化的内容,所有数学运算都在meritscalculation, meritoflength,中完成meritofROC,从计算中作为全局变量返回。meritofproximityheightorderreturned

我想使用一个共同的 x0(带边界)作为自变量来最小化所有这些,有没有办法实现这一点?

0 投票
1 回答
415 浏览

c - 使用 gsl multimin 在同一范围内计算 f 和 df/dx

关于多维最小化算法的gsl库文档如下:

您必须提供 n 个变量的参数函数,以供最小化器操作。您可能还需要提供一个计算函数梯度的例程和一个同时计算函数值和梯度的第三个例程。

提供的示例定义了如下功能(我省略了问题的具体细节,替换为...):

函数f本身

f, df= (df/dx, df/dy)的梯度。

最后,第三个函数同时计算f两者df

这三个是一个struct类型的成员gsl_multimin_function_fdf的成员,最终传递给最小化器。

有几种情况,一旦计算了函数值,它的导数可能更容易计算,例如: Let f(x,y) = exp(x * g(y)),其中g(y)计算可能很昂贵,那么简单df/dx = g(y) f(x,y)使用g(y) = log(f)/x.

现在,据我从示例中了解到,最小化器需要独立定义函数及其导数,而第三个定义看起来像一个虚拟包装器。

是否可以以某种方式定义这些函数,使得函数及其导数实际上可以在同一范围内计算?

编辑:

在文档中,关于fdf,它指出

此函数提供了对单独函数的优化,f(x)并且g(x)- 同时计算函数及其导数总是更快。

然而,我不确定如何。扫描表头,发现定义了三个宏,这三个函数各一个

根据所使用的优化算法,这似乎是交替调用的。有人可以确认一下吗?回到我最初的问题,这是否意味着库用户必须检查以找出使用什么方法才能利用同时计算函数值及其梯度的可能性?

0 投票
0 回答
905 浏览

python - python或matlab中的惩罚插值

我有一个损失函数 L 和 2 个信号 f(t),g(t) 。我想找到s 最小化的功能: L(f(t)-g(t+s(t)))+lambda*integral(s''(t))

理想情况下,s应该是多项式或样条。

这是我为解决问题而编写的代码:

编辑:我更接近解决方案,但我仍然遇到问题。

我定义了一个成本函数:

我正在尝试使用 scipy.optimize.minize 将其最小化。主要问题是经常pt超出 的范围值t。所以当我打电话时s2(pt) i收到一个错误。如何在 t 的范围之外插入函数?

0 投票
2 回答
4466 浏览

python - Python中的连续分段线性拟合

我有许多短时间序列(可能是 30 - 100 个时间点),它们有一个大致的形状:它们从高位开始,迅速下降,可能会或可能不会在零附近稳定,然后回升。如果它们不平稳,它们看起来就像一个简单的二次曲线,如果它们确实平稳,你可能会有一长串零。

我正在尝试使用该lmfit模块来拟合连续的分段线性曲线。我想推断线在哪里改变梯度,也就是说,我想知道曲线在哪里“定性地”改变梯度。我想知道梯度什么时候停止下降,什么时候又开始增加,一般来说。我有一些问题:

  • lmfit似乎至少需要两个参数,所以我必须通过_.
  • 我不确定如何将一个参数限制为大于另一个参数。
  • 我收到could not broadcast input array from shape (something) into shape (something) 错误

这是一些代码。首先,我的目标函数,要最小化。

然后我打电话,

该模型是,在某个时间 t1,线的梯度发生变化,并且同样发生在 t2。需要推断这两个参数以及线段的梯度(和一个截距)。

我可以使用 MCMC 方法做到这一点,但我有太多这些系列,而且需要太长时间。

部分回溯:

时间序列的几个例子: 没有高原:稳定下降和上升 长而陡峭的高原

欢迎任何和所有建议。非常感谢。

0 投票
1 回答
13859 浏览

python - Python - 最小化卡方

我一直在尝试通过最小化卡方来将线性模型拟合到一组应力/应变数据。不幸的是,使用下面的代码不能正确地最小化chisqfunc函数。它在初始条件下找到最小值x0,这是不正确的。我查看了scipy.optimize文档并测试了最小化其他正常工作的功能。您能否建议如何修复下面的代码或建议另一种方法,我可以通过最小化卡方来将线性模型拟合到数据?

感谢您阅读我的问题,任何帮助将不胜感激。

干杯,威尔

编辑:我目前使用的数据集:链接到数据