文字理解
內點法屬於約束優化演算法。約束優化演算法的基本思想是:通過引入效用函式的方法將約束優化問題轉換成無約束問題,再利用優化迭代過程不斷地更新效用函式,以使得演算法收斂。
內點法(罰函式法的一種)的主要思想是:在可行域的邊界築起一道很高的「圍牆」,當迭代點靠近邊界時,目標函式徒然增大,以示懲罰,阻止迭代點穿越邊界,這樣就可以將最優解「檔」在可行域之內了。
數學定義
對於下面的不等式約束的優化問題:
\[\min f(x), x \in r^n
\[s.t \quad g_(x) \leq0, i=1,2,...,m
利用內點法進行求解時,構造懲罰函式的一般表示式為
\[\varphi (x, r)=f(x)-r\sum_^\frac(x)}
或者\[\varphi (x, r)=f(x)-r\sum_^(x)]}
演算法步驟
取初始懲罰因子\(r^>0\),允許誤差\(\epsilon>0\);
在可行域\(d\)內選取初始點\(x^\),令\(k=1\);
構造懲罰函式\(\varphi (x, r^)\),從\(x^\)點出發用無約束優化方法求懲罰函式\(\varphi (x, r^)\)的極值點\((x^, r^)\);
檢查迭代終止準則:如果滿足$$|x^{} r^-x^{} r^|\leq\epsilon_=10^-10^$$或者$$|\frac ,r^)-\varphi (x^{}, r^)}, r^)}|\leq\epsilon_=10^-10^$$則停止迭代計算,並以\((x^, r^)\)作為原目標函式\(f(x)\)的約束最優解,否則轉入下一步;
取\(r^=cr^\),\(x^=x^r^\),\(k=k+1\),轉向步驟3。遞減係數\(c=0.1-0.5\),通常取0.1。
內點懲罰函式法特點及其應用
懲罰函式定義於可行域內,序列迭代點在可行域內不斷趨於約束邊界上的最優點(這就是稱為內點法的原因)
只適合求解具有不等式約束的優化問題
內點法求解案例
用內點法求下面約束優化問題的最優解,取迭代初始\(x^0 = [0, 0]^}\),懲罰因子的初始值\(r^0 = 1\),收斂終止條件\(\|x^k - x^\| \leq \varepsilon\),\(\varepsilon = 0.01\)
\[\min f(x) = x_1^2 + x_1^2 - x_1x_2 - 10x_1 - 4x_2 + 60
\[\mathrm\; g(x) = x_1 + x_2 -8 \leq 0
構造內懲罰函式:\(\varphi(x, r) = x_1^2 + x_1^2 - x_1x_2 - 10x_1 - 4x_2 + 60 -r\ln(x_1 + x_2 -8)\)
用解析法求內懲罰函式的極小值
\[\nabla\varphi(x, r) = [2x_1 - x_2 - 10 - \frac \quad 2x_2 - x_1 - 4 - \frac]
令\(\nabla \varphi(x, r) = 0\)得:\(\begin2x_1 - x_2 - 10 - \frac = 0 \\ 2x_2 - x_1 - 4 - \frac = 0\end\)
解得:\(x^*_1(r) = \begin\frac} & \frac}\end^}\)
\(x^*_2(r) = \begin\frac} & \frac}\end^}\)
\(\because g(x^*_1(r)) > 0\)
\(\therefore\) 捨去\(x^*_1(r)\)
\(\because \varphi(x, r)\)為凸函式
\(\therefore\) 無約束優化問題的最優解為\(x^*(r) = x^*_2(r) = \begin\frac} & \frac}\end^}\)
求最優解
當\(r^0 = 1\)時,\(x^*(r^0) = \begin4.8417 & 2.8417\end^}\),\(\|x^*(r^0) - x^0\| = 5.6140 > \varepsilon\)
當\(r^1 = 0.1\)時,\(x^*(r^1) = \begin4.9834 & 2.9834\end^}\),\(\|x^*(r^1) - x^*(r^0)\| = 0.2004 > \varepsilon\)
當\(r^2 = 0.01\)時,\(x^*(r^2) = \begin4.9983 & 2.9983\end^}\),\(\|x^*(r^2) - x^*(r^1)\| = 0.0211 > \varepsilon\)
當\(r^3 = 0.01\)時,\(x^*(r^3) = \begin4.9998 & 2.9998\end^}\),\(\|x^*(r^3) - x^*(r^2)\| = 0.0021 < \varepsilon\)
即\(x^*(r^3)\)為最優解
特徵點法匹配
在slam中vo的實現方法可以根據是否需要提取特徵分為兩類 基於特徵點的方法 不使用特徵點的直接方法。其中基於特徵點的vo執行穩定,對光照 動態物體不敏感。影象特徵點的提取和匹配是計算機視覺中的乙個基本問題,在視覺slam中就需要首先找到相鄰影象對應點的組合,根據這些匹配的點對計算出相機的位姿 相對...
速率法和終點法的區別 終點法 速率法 二點法
終點法 速率法二點法 終點法具有不同分子結構的物質,對光譜有選擇吸收的特性,吸收光譜的可在可見光區域也可在紫外或紅外光區 域。若利用物質對可見光譜的選擇吸收作定量分析,此時主要表現為顏色的變化,稱為比色分析法 若利用物質對紫外或 紅外光區域的選擇吸收作定量分析,稱為吸收分光光度法。比色分析法和吸收分...
頂點法向量的計算
在opengl程式設計中,三維模型頂點法向量的計算很重要,它直接影響著顯示的效果 本人接觸opengl時間不長,很長一段時間一直困惑於法向量計算的問題,後經仔細研究並找了些資料才基本實現了法向量的計算演算法,現總結如下,希望對初學者能有些幫助。大家知道,在opengl中頂點 三角形模型對光照的反射取...