大规模优化问题求解示例与实践
1. 大规模优化方法概述
大规模优化函数包含针对连续优化问题的算法,尤其适用于具有稀疏性或特定结构的大型问题。主要的大规模算法是迭代式的,会生成一系列近似解,每次迭代中(近似)求解一个线性系统。这些线性系统借助 MATLAB 的稀疏矩阵功能以及各种稀疏线性求解技术(包括迭代法和直接法)来求解。
一般而言,大规模优化方法会尽可能保留问题的结构和稀疏性,并利用精确的导数信息。为了高效求解大规模问题,部分问题的表述会受到限制(例如仅求解超定的线性或非线性系统),或者需要额外的信息(如非线性最小化算法要求在用户提供的函数中计算梯度)。
1.1 大规模方法覆盖的问题类型
并非所有可能的问题表述都能被大规模算法所覆盖。以下表格描述了大规模方法所涵盖的功能,以及每个问题表述所需的额外信息和大规模问题高效运行的条件。
| 函数 | 问题表述 | 额外信息需求 | 大规模问题条件 |
|---|---|---|---|
| fminunc | $\min_{x} f(x)$ | 必须在 fun 中为 $f(x)$ 提供梯度。 提供 Hessian 矩阵的稀疏结构,或在 fun 中计算 Hessian 矩阵。 |
Hessian 矩阵应稀疏。 |
| fmincon |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



