最近在科研的需要,開始研究規劃的算法。其中有些算法,容易陷入局部最優解。關於這部分的說明,見我的另一篇博客《matlab局部最優和全局最優算法》(http://blog.csdn.net/angelo99/article/details/50788088)。
今天使用了一款全局最優的算法 GlobalSearch。
GlobalSearch,試圖找到與最低的目標函數值。全局搜索求解器首先生成基於分散搜索的試驗點。然後過濾這些試驗點,然後和fmincon從這些過濾點的開始進行搜索。
具體的工作流程如下:
1)建立PROBLEM的結構體:PROBLEM = createOptimProblem('fmincon','objective',...);
2)配置GlobalSearch的求解器:GS = GlobalSearch;
3)運行求解器:run(GS,PROBLEM)。
舉例如下:
Run global search on the optimization problem
minimize peaks(x, y);