有約束條件下順序非線性優化的C++中有沒有好的庫?C++ WITH約束條件下的順序非線性優化庫
我在尋找不平等限制和/或上限和下限。
已經有stackoverflow question這個,但並不是所有的都有限制。我知道的NLopt,但它不適合我的具體問題。還有其他人嗎?
我終於發現,我一直在尋找,如果任何其他人有興趣lpOpt
有約束條件下順序非線性優化的C++中有沒有好的庫?C++ WITH約束條件下的順序非線性優化庫
我在尋找不平等限制和/或上限和下限。
已經有stackoverflow question這個,但並不是所有的都有限制。我知道的NLopt,但它不適合我的具體問題。還有其他人嗎?
我終於發現,我一直在尋找,如果任何其他人有興趣lpOpt
一個SQP算法,你可以嘗試是DONLP2解決方案。它最初是用Fortran 77編寫的,但也有ANSI C版本。它使用密集代數,因此它主要適用於中小型問題。它是免費的學術用途。您需要直接從作者處請求代碼,請按照鏈接中的說明進行操作。
UPDATESequential Quadratic Programming只是解決帶約束的非線性目標函數的一種方法,也有例如interior point methods。一個非常好的應用內點方法的大型開源C++替代品是Ipopt(在另一個answer中已經提到過)。還有例如商業包裝KNITRO。如果你不能或不想提供目標函數和約束梯度,你也可以看看COBYLA2,其中可以下載一個C版本here。
爲了獲得更多靈感,您也可以參考Decision Tree For Optimization Software,其中列出了適用於各種不同問題的不同優化代碼。
@pyCthon我注意到你自己找到了Ipopt。我根據您的發現編輯了我的答案,並且還包含一些其他鏈接。儘管有點晚,但我希望你仍然會發現它們很有用。 – 2012-07-23 19:41:58