数模笔记_多变量最优化计算之牛顿法
Date: 2_22
Name: Guo Yehao
Theme: Calculation in Optimality with multiple variables
Reference: 數學建模方法與分析(華章)
在上一節中,我們討論多變量最優化計算中的隨機搜索算法,它的精度并不是眾多算法中最高的。在精度問題上,有的時候問題本身就帶有明顯的誤差性,以至于我們不能將其忽略,比如上一節消防站部署的問題,我們在區域劃分時就有了誤差,因此我們并不需要對結果要求很高的精確度,所以用一些比較粗略的算法就可以滿足要求,比如隨機搜索算法;然而有的時候,問題本身不帶有離散的特征,比如連續型的題目,或者誤差不明顯表現出來,以致于我們可以當作數據沒有可疑數字(或者大物實驗中稱為可靠位數無窮多位),這個時候我們就不能僅僅用粗略一點的算法了,我們需要一種更加精確的算法。
在本節中討論了多變量函數的牛頓法,它是基于梯度的快速收斂算法的一種,數學思想是微分的線性近似,幾何上講是用超平面(低維情況下就是切線和切平面)近似原始曲面,用這種線性近似不斷迭代,迭代次數決定結果的精度。和我們在單變量最優化問題中討論的一樣,用牛頓法快速收斂之前需要一個零點方程的近似解,這個近似解通過某些全局方法產生。低維的情況可以通過圖像法直接觀察得出,高維的情況就需要用到隨機搜索算法了。
問題的背景來源于生產收益問題,價格和數量之間有著較復雜的函數關系,最終我們得到收益的復雜函數表達式,如書中所示。通過圖像法,我們得到目標函數由唯一取到極大值的內點。我們現在的目的是求解函數的駐點,復雜的表達式使得我們不能通過人工的方法求出解析解。駐點處有梯度向量為零的特征,之后我們會通過梯度向量討論,可以得到一些“整體”的表示方法,所謂“整體”就是通過矩陣整體運算。
- 對于多元向量值函數,每個分量的泰勒級數展開只保留到一階項,這樣多元向量值函數就可以近似地表示為一個基準點處的函數值和一個偏導數矩陣(Jocabi矩陣)和自變量列向量的乘積。
- 令這個近似表達式為零,求解自變量的列向量,作為向量值函數為零的近似解,求解的問題就是我們在線性代數里面接觸的那些解方程的問題,唯一復雜的地方在于Jocabi矩陣求逆,低維的情況可以手算出來(伴隨矩陣除以行列式),以得到固定的迭代公式,高維的情況也許有現成的計算機程序(實際上自己寫程序也不難,把行列式用定義法展開就可以計算,伴隨矩陣的固定求法也使得很容易程序實現)。
- 新求解出的自變量向量作為新的基準點,用相同的方法求解出下一組自變量,如此迭代就可以不斷提高解的精度。
PS: 牛頓法是非常快的局部收斂方法,然而切記在使用前要有一個相對精確的近似解,這個近似解通常由像隨機搜索算法這樣的全局方法得到。
總結
以上是生活随笔為你收集整理的数模笔记_多变量最优化计算之牛顿法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数模笔记_多变量最优化计算之随机搜索算法
- 下一篇: 文献检索实践