2017-09-20 59 views
0

我遵循ipopt coinor網站的說明並設法安裝ipopt優化器。這在構建目錄中產生了一些靜態目標文件,但它沒有產生任何bin文件夾。如何在linux上使用pyopt優化器

現在,試圖讓pyomo使用ipopt的時候,只有這樣,才能到,我已經看到使用的指定可執行文件的位置,像這樣 opt = SolverFactory('ipopt', executable='executable path here') 但我想不出什麼,可能是。

我也注意到了硬幣 - 或者在他們的網站上有一些預編譯的二進制文件。那些包含bin文件夾內的ipopt可執行文件,但鏈接會讓系統抱怨缺少一個名爲libsvml.so的靜態對象。

ipopt安裝指南沒有提到libsvm,所以這讓我很困惑。

難道我錯過了make/install步驟中的某些東西嗎? 任何幫助將不勝感激

回答

3

這個問題是非常類似於以前的問題。請看回答here。根據我的經驗,如果您按照說明從源代碼安裝ipopt,並且沒有以ipopt可執行文件結束bin目錄,那麼您要麼丟失了一個步驟,要麼因爲缺失的依賴項而導致配置/安裝失敗或第三方代碼。您應該重新從頭開始安裝。

如果您更喜歡使用二進制文件,那麼請確保您正在爲系統Linux-32bit或Linux-64bit下載正確的文件,並確保包含可執行文件的bin文件夾位於您的搜索路徑中。另一件要檢查二進制文件是可執行文件具有可執行權限。您可以使用Linux命令chmod +x來修改權限。您應該能夠在命令行上鍵入ipopt並獲得在其他答案中記錄的輸出。

+0

除了指定可執行文件外,還有其他方式可以使用這個解算器嗎? –

+1

不適用於Ipopt。另外,在Ipopt的構建過程中很容易錯過的一個步驟是在「make」成功完成後運行「make install」。 「make install」步驟是創建bin目錄的步驟。 –