2008-10-17 57 views

回答

3

它不是基於GNU科學,但我發現這個算法尋找所有局部極小:http://www.cs.uoi.gr/~lagaris/papers/MINF.pdf

2

任何標準的優化算法尋找一個「接近」起點的本地最小值,無論是自己選擇還是由您提供。發現所有局部最小值可能是一個不可計算的問題,因爲即使在有限的範圍內,它們的數目也可能是無限的(例如,f(x)= [cos(1/x)]^2具有無限數量的局部最小值在(0,1]範圍內) 假設你有局部最小值的數目是有限的,找到它們是一個比找到全局最小值更復雜的任務,而這又是一個比找到局部最小值更困難的問題沒有簡單的方法來調整局部最優化算法以找到全局最小值,即使流行算法找到全局最小值,這樣的遺傳算法/進化策略,也不能保證它們訪問所有局部最小值。事實上,他們試圖避免它。

在這種情況下使用GSL的最好方法是看最小化函數,並嘗試猜測最小值應該是然後使用GSL代碼查找它們。