多变量函数的局部最大值搜索

时间:2020-06-07 16:01:12

标签: algorithm search optimization local maxima

我正在寻找一种算法来搜索多元函数的局部最大值(可悲的是,未知的导数)。

历史记录:

在过去三年中,我只处理6维曲面,而通用算法是:

  1. 设置统一网格并在每个点进行计算。 (〜500M – 1G点至少可以确定某种形式的精度; 1点需要<1 ms来计算根据输入的变化-并行化)
  2. 在点数组中搜索局部最大值。
  3. 使用BFGS算法=>局部最大值优化局部最大值。

当前:

现在,我们需要处理12-D到18-D函数,这使得以前的算法无法维护。我们已决定通过使用Smolyak网格来设置Chebyshev多项式并在此近似超空间中进行搜索来缓解某些障碍。但这仅相对加快了该问题的速度,现在我们只需要在这些Chebyshev多项式上搜索最大值。可悲的是,我只是一位小数学家,更多的是计算化学家。

我的问题是,我尝试研究却无济于事:

  1. 是否有用于在多变量函数上搜索局部最大值的算法? (除了模拟退火/粒子群方法之类的一些随机启发式方法的多重重置之外?)
  2. 是否有可能利用Chebyshev多项式的形式来帮助我们有效地找到此近似超空间上的局部最大值?是否有有效的算法至少可以使用其导数搜索Chebyshev多项式的极值,然后将其与二阶导数计算结合起来?

我的想法涉及计算机视觉,因为我认为本地最大值搜索应成为此部门的日常工作。科学?在化学领域,全局最大值是节目的明星,通常使我的视野非常有限。问题的严重性使我有点不知所措。

我觉得有点陷入困境。任何朝着正确方向的踢都值得赞赏!

扎夫

其他信息:该算法已经并且将用于用Fortran编写的内部烘焙程序。

0 个答案:

没有答案