2017-05-14 105 views
0

我對MatLab非常陌生。因此,如果這是非常基本的,我很抱歉。fmincon爲什麼會產生不同的解決方案

我使用了一個名爲fmincon函數來完成尋找最小化功能的解決方案。爲什麼我獲得運行fmincon的不同解決方案?

我想知道,用於使用fmincon不同的解決方案滿意或令人信服的數學或編程的解釋。

+0

您是否每次都使用不同的初始點? – OmG

+0

我的初始點是基於一個隨機數發生器向量,其元素總和應爲1(1)。因此,它在每次運行中產生不同的數字,但統一條件保持不變。 –

回答

1

檢查these limitations MATLAB的文檔。

fmincon是被設計爲在其中目標和約束函數是連續的,並且具有連續的一階導數的問題的工作基於梯度的方法。

功能是非常微妙的,它是最好的,如果你能避免它。它只適用於一開始就定義完整的問題。任何偏差都可能導致局部而非全局最小值,並且這些偏差可能取決於(除其他之外)您初始解的估計值或起點。

0

由於fmincon對初始點敏感,如果您爲fmincon設置了不同的起始點,則在每次應用時可能會得到不同的解決方案。你可以找到fminconhere算法之一。

相關問題