函数最小化与最大化方法全解析
1. 引言
在优化领域,我们常常需要找到一个依赖于一个或多个独立变量的函数 (f) 的最大值或最小值。解决这个问题的计算目标通常是快速、低成本且占用小内存。由于计算成本往往主要取决于函数 (f) 的评估次数,所以我们的目标是尽可能减少对 (f) 的评估。
极值可分为全局极值(函数的真正最高或最低值)和局部极值(在有限邻域内的最高或最低值)。寻找全局极值通常是一个极具挑战性的问题,常用的启发式方法包括从不同的初始值开始寻找局部极值,然后选择其中最极端的值;或者对局部极值进行微扰,看是否能找到更好的点。
近年来,模拟退火方法在解决各种全局极值问题上取得了显著的成功。此外,经济学家和一些工程师特别关注约束优化问题,其中线性规划是一个发展较为成熟的领域,它可以通过单纯形算法来解决。
2. 一维黄金分割搜索
黄金分割搜索是一种用于一维函数最小化的方法,它类似于二分法寻找函数根的过程。在二分法中,我们将根所在的区间不断缩小,而在黄金分割搜索中,我们需要找到一个三元组 ((a, b, c)),使得 (f(b)) 小于 (f(a)) 和 (f(c)),以此来确定函数的最小值所在的区间。
2.1 确定新点的策略
假设 (b) 是区间 ((a, c)) 中的一个点,且 (b - a) 与 (c - a) 的比例为 (w),即 (b - a = w(c - a)),(c - b = (1 - w)(c - a))。我们的下一个试验点 (x) 是在 (b) 的基础上额外增加一个比例 (z),即 (x - b = z(c - a))。为了最小化最坏情况下的可能性,我们选择 (z) 使得 (