优化中的数值与计算问题详解
在优化过程中,数值和计算问题至关重要,它们直接影响着优化结果的准确性和可靠性。本文将深入探讨自动微分、优化中的其他重要数值问题以及一个具体的通用电机问题。
1. 自动微分
在进行优化之前,需要进行一些准备工作。自动微分(AD)软件在其中起着关键作用。以下是其具体步骤:
1. 输入函数评估例程 :我们拥有函数评估例程代码,将其作为AD软件的输入。
2. 应用链式法则 :AD软件在目标函数代码中应用一系列链式法则,生成新的代码。
3. 输出梯度向量代码 :生成的代码用于根据当前的(x)值生成梯度向量。
最终,我们会得到两个代码:一个用于根据(x)评估目标函数,另一个用于根据(x)生成(f(x))的梯度。需要注意的是,这里的梯度是通过解析方法计算的,而不是有限差分法。有时,生成的梯度代码会同时提供梯度和目标函数的值,此时原本的目标函数评估函数就不再需要了。
有一些知名的自动微分软件,如ADIFOR和ADIC:
- ADIFOR :由阿贡国家实验室的数学与计算机科学部以及莱斯大学的并行计算研究中心开发,用于对Fortran 77程序进行自动微分。给定Fortran 77源代码和用户指定的因变量和自变量,它能生成计算偏导数的代码,并输出目标函数值。
- ADIC :是对ANSI C代码实现自动微分的工具。
2. 其他重要数值和计算问题
在优化过程中,还存在一些其他
超级会员免费看
订阅专栏 解锁全文
5600

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



