我在R中使用nloptr但是,我想給我的模型更自由,因爲最好的解決方案並避免過度擬合。我描述了我的問題早in this question:使用nloptr查找N個最佳解決方案
nloptr(x0, eval_f, eval_grad_f = NULL, lb = NULL, ub = NULL,
eval_g_ineq = NULL, eval_jac_g_ineq = NULL, eval_g_eq = NULL,
eval_jac_g_eq = NULL, opts = list(), ...)
基本上我有解決非線性問題。我有一個函數來最小化和一些非線性約束。但我不想使用找到的最好的解決方案,因爲它過度適用於示例數據並給出極端值。因此,我想找到N個最佳解決方案,然後選擇我想要的解決方案。
所以現在我想知道有沒有找到N個最佳解決方案的方法,其中nloptr在迭代過程中發現。除nloptr之外,還有其他方法嗎?
「第二最佳解決方案」的定義是什麼?最低的局部最小值不是全局最小值?或者某個點接近全球最低點,但不是當地最低點?還要別的嗎?這裏需要一些嚴格的定義。不過,我明白你的意圖。 – tonytonov
@tonytonov在我的情況下,它並不重要。它可以是任何一組解決方案,它比起始值提供更優化的解決方案。據我所知,'nloptr'經歷了多次迭代找到最優解,因此我想知道是否可以取N個最好的(最接近最終解決方案)。謝謝 – mm441
只是一個選擇:隨機啓動並調整opts:限制迭代次數或收斂容差,你會得到接近但希望不同的解決方案。 – tonytonov