模式搜索法(模式搜索法)

由网友(失心傀儡)分享简介:模式搜刮便是觅找1系列的点 哄骗模式搜刮法解决1个有 X零,那个值的拔取对于计较成果作用很大;②确定基向质用于指定搜刮标的目的,如对于于两个自变质的答题可设为注释模式搜刮法是1种解决最劣化答题的间接要领,正在计较时没有需求方针函数的导数,以是正在解决不成导的函数或者者求导异样贫苦的函数的劣化答题时很是有用。模式搜刮便是觅找1系列的点...

模式搜索就是寻找一系列的点 利用模式搜索法解决一个有 X0,这个值的选取对计算结果影响很大;②确定基向量用于指定搜索方向,如对于两个自变量的问题可设为

正文

智能优化算法改进策略之局部搜索算子 二 模式搜索 以正余弦算法和灰狼算法为研究对象

模式搜索法是一种解决最优化问题的直接方法,在计算时不需要目标函数的导数,所以在解决不可导的函数或者求导异常麻烦的函数的优化问题时非常有效。模式搜索就是寻找一系列的点 X0,X1,X2,…,这些点都越来越靠近最优值点,当搜索进行到终止条件时则将最后一个点作为本次搜索的解。利用模式搜索法解决一个有 N 个自变量的最优化问题。 ①要确定一个初始解 X0,这个值的选取对计算结果影响很大;②确定基向量用于指定搜索方向,如对于两个自变量的问题可设为 V(0,1;1,0;-1,0;0,-1)即按十字方向搜索;③确定搜索步长它将决定算法的收敛速度,以及全局搜索能力

具体步骤为:①计算出初始点的目标函数值 f(Xi),然后计算其相邻的其它各点的值 f(Xi+V(j)*L),j∈(1,2. . .2N);②如果有一点的函数值比 更优则表示搜索成功,那么 Xi+1=Xi+V(j)*L,且下次搜索时以 Xi+1 为中心,以 L=L*δ 为步长(δ>1,扩大搜索范围),若没有找到这样的点则表示搜索失败,仍以 Xi 为中心,以 L=L*λ 为步长(λ<1,缩小搜索范围);③重复②的操作,结果到终止条件为止,终止条件可以是迭代次数已到设定值或者误差小于规定值等。

运用Matlab 的工具箱里的 patternsearch,可实现模式搜索法。Patternsearch 函数的完整格式为[X FVAL]=PATTERNSEARCH(FUN X0 A b Aeq beq LB UB NONLCON options)

阅读全文

相关推荐

最新文章