一、模型與演算法
模型是將抽象的實際問題轉化成數學問題,用便於理解和計算的數學模型表示,通俗的說可以把模型理解為
計算公式,常見數學定義定理等,演算法即計算方法,是求解數學模型用的,就是
將模型解出的方法。總之,
模型是將實際問題數學化,演算法是將其中所蘊含的數學問題進行求解。
數學模型,是
對某乙個具體問題的抽象描述,因為要求嚴謹和準確,所以一般只能選擇數學描述,避免出現二義性。數學模型的建立,並不意味著問題的解決,但卻是問題解決的基礎,因為至少把問題解釋清楚了,保證了所有人對問題的理解是一致的。
計算機演算法是
解決問題的方法和流程,一般情況下,演算法是基於數學模型的。如 「常微分方程的精確求解」 問題,分別採用代數模型、幾何模型來描述,就會推導出不同的演算法:代數動力學演算法與幾何演算法,兩者雖然演算法思路完全不同,但都通向 「問題解決」 的終點。
二、 解決問題的過程
識別給定問題的目標、變數和約束的過程被稱為
建模。在優化過程中,構建乙個適當的模型是第乙個步驟,有時也是最重要的乙個步驟。
一旦模型建立好之後,可以使用
優化演算法來找到問題的解。沒有通用的優化演算法。有很多的優化演算法,每個都是為了解決特定型別的優化問題。使用者應該選擇適合自己特定應用的演算法。這一步也很重要,它決定了問題被解決的快慢、是否可以找到所有的解。
當優化演算法應用到模型上的時候,我們要判別是否它已經成功地解決問題。如果沒有,一步步地迭代解決問題。
三、 數學公式
在數學上,優化是最小化或最大化乙個受限於其變數的函式物件。
x是變數的向量,稱為未知數或引數;
f是目標函式,我們要最大化或最小化的x的函式;
c是未知量滿足約束的向量,是變數x的向量函式。
四、 有約束的和無約束的優化
無約束的優化:如果對變數有自然限制,有時可以安全地忽略它們,並假設它們對最優解不起影響。 不受約束的問題也可以重新構造為受約束的優化問題,其中約束條件是目標函式中的懲罰項,這些懲罰項具有阻止約束違規的作用。
有約束的優化:約束優化問題是
對變數進行
顯式的約束。這些約束可以是
簡單的界限,例如0≤x≤100;更多是
一般的線性約束或者
表示變數之間複雜關係的非線性不等式。
當目標函式和所有約束都是x的線性函式時,問題是
線性規劃問題。
非線性規劃問題,其中至少一些約束或目標是非線性函式。
五、 全域性和區域性優化
對於凸規劃來說,區域性最優解就是全域性最優解。線性規劃問題屬於凸規劃類。然而,一般的
受約束和不受約束的非線性問題,可能區域性最優解不是全域性最優解。
六、隨機和確定性優化
七、 優化演算法
優化演算法都是迭代的。
他們從最初的猜測開始,並產生一系列改進的估計,直到達到目標。
區分乙個演算法的關鍵是:從乙個迭代移動到下乙個迭代的策略。
迭代策略:
(1)利用目標函式f的值,約束條件c,或者是這些函式的一階和二階導數。
(2)一些演算法累積以前迭代中所收集的資訊,而其他演算法僅使用當前點的本地資訊。
優秀的演算法應具有以下屬性:
(1)魯棒性
(2)效率
(3)準確性
這些目標可能會出現一些衝突,所以需要一些權衡。
數值最優化
多元函式 1.設多元函式 f rn r 二次連續可微,則 f 在 x 處的梯度和hessian矩陣為 f x f x x 1,f x x2,f x x n t 2f x f x x21 f x x n x1 f x x1 x n f x x2n 2.多元函式的taylor展開式 一階 f x f y...
數值優化(十)
gauss newton在newton法上做了一些改進,newton法需要通過 nabla 2 f k p k nabla f k 計算出優化方向 p k 現在直接把上面得到的估計式代入,得到gn方向 p k 滿足 j ktj kp k j k tr k 由於求梯度的時候就已經計算了 j 所以第二步...
數值優化(三)
線搜尋方法的基本過程都是在每一次迭代中先計算出乙個優化方向 p k 再在這個方向上對目標函式做一維優化,即選取合適的 alpha k 使 x x k alpha p k 達到優化目的。一般來說,選取 p k b k nabla f k 其中 b k 是乙個對稱正定矩陣,b k 的選取有多種選擇,比如...