6

我想看看幾個IPM的實現。最好的語言是C/C++,Java或Python,Perl等任何腳本語言。其他人也很好。實現「內點法」來解決LP(和QP)

我正在尋找一個很好的資源,可以幫助我,優化技術

  1. 基礎,內點方法,以及它與其他技術基礎差異
  2. 基礎,
  3. 類型IPM,
  4. 算法細節和
  5. 示例實現。

我對此感興趣,作爲我的項目的一部分,我將使用這些思想/邏輯來解決線性或二次方程的系統。

讓我知道你是否有任何有關上述資源的信息。

+0

simplex有什麼問題?據我所知,它仍然可以更快地解決任何IPM的線性方程式? – willem 2011-05-12 09:58:47

+0

Simplex也可以解決,但根據Boyd的Convex Optimization Book需要時間。所以,現在對IPM感興趣。 – Aditya369 2011-05-28 20:33:45

+0

@ willem,內點法比單純形法更有效解決非常稀疏的LP問題。 – simple 2017-06-25 19:51:24

回答

4

另一個開放源碼內點線性規劃解算器GLPK寫入C: http://www.gnu.org/software/glpk/http://en.wikibooks.org/wiki/GLPK

由Bob Vanderbei線性規劃書(http://www.princeton.edu/~rvdb/LPbook /)是解釋使用二次規劃的內點算法的好書。引用的網站也有鏈接到軟件,但它似乎不是「商業質量」軟件。範德貝還擁有LOQO,這是一個更爲工業強度的二次編程內點代碼(http://www.princeton.edu/~rvdb/ps/loqo5.pdf)。內部點qp最近的另一個想法是:http://www-personal.umich.edu/~murty/Grav-QP.pdf

3

單純形法和內點法都有它們的位置。其中一個不是更好或更快的 比其他一般,你會發現每種方法在不同的 類別的問題表現更好。

至於代碼,開源Coin-OR項目Clp具有在C++中實現的Simplex,Dual Simplex和Interior Point方法。然而,如果你只是想尋求一個 的線性或二次方程組的形式f(x)= 0,那麼這根本就不是你想要的。如果你想要的系統是線性的 ,那麼你需要了解直接或迭代線性求解器。如果問題 是非線性的,則應該考慮牛頓法或準牛頓法。

祝你好運。