我目前正在嘗試使IpOpt內部點解算器正常工作。 我運行的例子,運行良好,除了選項。IpOpt選項列表不可訪問
每當我試圖設置的選項,例如:
app->Options()->SetStringValue("mu_strategy", "adaptive");
我得到一個std :: bad_alloc異常。 如果我將示例中的所有選項集保留下來,就可以正常運行,如上所述。
我也曾嘗試設置的選項手動檔給予在初始化路徑:
app->Initialize("C:\\ipopt.opt");
然而,這將引發我初始化內部異常()。
我在我的可執行文件夾中有一個ipopt.opt文件。
任何線索,即使我做錯了什麼或我能做些什麼來解決這個問題?
例子我已經嘗試使用(所有給我bad_alloc的有關設置選項):
- http://codepad.org/mHIfBz3k
- https://projects.coin-or.org/Ipopt/browser#releases/3.11.0/Ipopt/examples/hs071_cpp
(具體是:https://projects.coin-or.org/Ipopt/browser/releases/3.11.0/Ipopt/examples/hs071_cpp/hs071_main.cpp)
編輯(已解決):我正在使用在發佈模式下構建的Visual Studio的編譯庫。我試圖在Visual Studio中使用它們,而我的項目處於調試模式,因此它崩潰了。
從提供的鏈接看來,您似乎使用的是舊版本3.11.0,您是否也可以使用新版本複製問題?你是如何得到你的ipopt庫 - 自定義編譯或例如。分銷包?你能提供更多關於編譯步驟的細節嗎? – pe3k
嗨,這個問題是相當古老的。前段時間我已經解決了這個問題。我正在使用以發佈模式構建的編譯過的庫。我試圖在調試模式下使用它們,因此它崩潰了。我很抱歉沒有結束這個問題,現在我會這樣做。 – Satchmode
@Satchmode讓它成爲答案,然後關閉它。你的解決方案也可以幫助其他人。 –