数模笔记_多变量最优化计算之牛顿法

Date: 2_22
Name: Guo Yehao
Theme: Calculation in Optimality with multiple variables
Reference: 数学建模方法与分析(华章)

在上一节中,我们讨论多变量最优化计算中的随机搜索算法,它的精度并不是众多算法中最高的。在精度问题上,有的时候问题本身就带有明显的误差性,以至于我们不能将其忽略,比如上一节消防站部署的问题,我们在区域划分时就有了误差,因此我们并不需要对结果要求很高的精确度,所以用一些比较粗略的算法就可以满足要求,比如随机搜索算法;然而有的时候,问题本身不带有离散的特征,比如连续型的题目,或者误差不明显表现出来,以致于我们可以当作数据没有可疑数字(或者大物实验中称为可靠位数无穷多位),这个时候我们就不能仅仅用粗略一点的算法了,我们需要一种更加精确的算法。

在本节中讨论了多变量函数的牛顿法,它是基于梯度的快速收敛算法的一种,数学思想是微分的线性近似,几何上讲是用超平面(低维情况下就是切线和切平面)近似原始曲面,用这种线性近似不断迭代,迭代次数决定结果的精度。和我们在单变量最优化问题中讨论的一样,用牛顿法快速收敛之前需要一个零点方程的近似解,这个近似解通过某些全局方法产生。低维的情况可以通过图像法直接观察得出,高维的情况就需要用到随机搜索算法了。

问题的背景来源于生产收益问题,价格和数量之间有着较复杂的函数关系,最终我们得到收益的复杂函数表达式,如书中所示。通过图像法,我们得到目标函数由唯一取到极大值的内点。我们现在的目的是求解函数的驻点,复杂的表达式使得我们不能通过人工的方法求出解析解。驻点处有梯度向量为零的特征,之后我们会通过梯度向量讨论,可以得到一些“整体”的表示方法,所谓“整体”就是通过矩阵整体运算。

  • 对于多元向量值函数,每个分量的泰勒级数展开只保留到一阶项,这样多元向量值函数就可以近似地表示为一个基准点处的函数值和一个偏导数矩阵(Jocabi矩阵)和自变量列向量的乘积。
  • 令这个近似表达式为零,求解自变量的列向量,作为向量值函数为零的近似解,求解的问题就是我们在线性代数里面接触的那些解方程的问题,唯一复杂的地方在于Jocabi矩阵求逆,低维的情况可以手算出来(伴随矩阵除以行列式),以得到固定的迭代公式,高维的情况也许有现成的计算机程序(实际上自己写程序也不难,把行列式用定义法展开就可以计算,伴随矩阵的固定求法也使得很容易程序实现)。
  • 新求解出的自变量向量作为新的基准点,用相同的方法求解出下一组自变量,如此迭代就可以不断提高解的精度。

PS: 牛顿法是非常快的局部收敛方法,然而切记在使用前要有一个相对精确的近似解,这个近似解通常由像随机搜索算法这样的全局方法得到。

猜你喜欢

转载自blog.csdn.net/weixin_45358177/article/details/113959073