最小化单变量函数的算法

标签 algorithm optimization numerical-methods

给定一个连续的凸单变量函数,我想在有界区间 [a,b] 内最小化它,我有什么选择?我可以访问数值导数,但不能访问解析导数。

这是在一个循环内完成的,该循环将运行任意多次,因此确实需要尽可能快。二分法既优雅又简单,但我怀疑您因为不利用凸性和斜率而错过了效率。

最佳答案

对于此设置,我会选择 Golden Section Search .

  • 凸性意味着单峰性,这是此方法所需要的。

  • 相反,此方法不需要导数。您可以通过数字方式找到导数,但这是“多函数评估”的另一种说法;不妨将它们用于黄金分割分区。

关于最小化单变量函数的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30773966/

相关文章:

regex - 尽可能快地从众多正则表达式中选择正确正则表达式的算法

algorithm - 如何在哈希表中均匀分布不同的键?

php - SQL记录检索

c++ - 什么是复制省略和返回值优化?

误差函数的算法及其 friend (erf、erfc 等)

java - 使用 java 计算 Romberg 积分

c++ - 以 [0.5, 0.5, 0.5] 为中心的盒子大小为 1 的模拟是否有缺陷?

algorithm - 所需公式 : Sort array to array -"snaked"

arrays - 在数组中查找数字及其平方的算法

java - 是否有用于 Java 的远程分析器? (最好使用 JMX)