我在C++中使用了NLopt library
,COBYLA algorithm
,用於最小化基於對數的成本函數。我已經在Matlab中使用了fmincom
。 Matlab函數比NLopt
表現得更好。它需要比NLopt少得多的優化,並且收斂到比NLopt好得多的最小值。C++:NLopt COBYLA與Matlab相比fmincon
我相信用於算法的補充選項是不同的。我試圖複製相同的參數爲NLopt與默認在Matlab中的fmincon,它仍然不會給出類似的結果。
我需要知道如何以類似於Matlab的方式進行會聚,如果可能的話,在NLopt中使用COBYLA。 在此先感謝
感謝您的回覆!我已經試圖觀察/繪製這些值,但不能得出任何結論。 COBYLA需要更多的迭代,並且不像fmincon那樣收斂(最小值更大)。其次,你能解釋所有的選擇嗎?我已經使用了初始步長,但我並不真正瞭解rho或其他選項以及如何使用它們。我按照你的建議嘗試過BOBYQA,有時候它表現良好,但也有一些情況下它會收斂!對於同樣的情況,COBYLA並非如此。 L-BFGS不是無梯度的,這是必需的!你有什麼建議?謝謝! – MonsieurBeilto