MATLAB R2018a全局优化工具箱学习(二)模式搜索法
模式搜索法(又称Hooke-Jeeves的算法)是一种直接搜索的算法,它并不依赖于导数,因此可以使用直接搜索来解决目标函数不可微分或甚至不连续的问题。需要给定一个初始点.MATLAB提供了三种直接搜索算法,称为广义模式搜索(GPS)法,生成集搜索(GSS)法和网格自适应搜索(MADS)法。它们的不同之处在于用于搜索的方向向量不同。
所谓模式搜索,包含了两种移动过程,探测移动和模式移动。探测移动表示沿着相应维度的坐标轴的移动,探测使函数值下降的方向,而模式移动表示两个相邻的探测点连线方向的移动,最终给出最值点。
算法(参考网上):
[x,fval] = patternsearch(fun,x0)
[x,fval] = patternsearch(fun,x0,A,b)
[x,fval] = patternsearch(fun,x0,A,b,Aeq,beq)从v从v
[x,fval] = patternsearch(fun,x0,A,b,Aeq,beq,lb,ub)
[x,fval] = patternsearch(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)
参数解释:
%x为所求得的最小值点,而不是最小值