在随机方向法中,产生可行搜索方向的方法是从k(k≥n)个随机方向中,选取一个较好的方向。
其计算步骤为:
1)在(-1,1)区间内产生伪随机数ri(j)(i=1,2,…,n;j=1,2,…,k),按下式计算随机单位向量:
2)取一试验步长α(0),按下式计算k个随机点:
X(j)=X(0)+α(0)e(j)(j=1,2,…,k) (5-5)
显然,k个随机点分布在以初始点X(0)为中心,以试验步长α(0)为半径的超球面上。
3)检验k个随机点X(j)(j=1,2,…,k)是否为可行点,除去非可行点,计算余下的可行随机点的目标函数值,比较其大小,选出目标函数值最小的点XL。
4)比较XL和X(0)两点的目标函数值,若f(XL)<f(X(0)),则取XL和X(0)的连线方向作为可行搜索方向;若f(XL)≥f(X(0)),则将步长α(0)缩小,转步骤1)重新计算,直至f(XL)<f(X(0))为止。如果α(0)缩小到很小(例如,α(0)≤10-6),仍然找不到一个XL,使f(XL)<f(X(0)),则说明X(0)是一个局部极小点,此时可更换初始点,转步骤1)。(www.xing528.com)
综上所述,产生可行搜索方向的条件可概括为,当XL点满足
则可行搜索方向为
S=XL-X(0) (5-7)
5)搜索步长的确定。可行搜索方向S确定后,初始点移至XL点,即X(0)←XL,从X(0)点出发沿S方向迸行搜索,所用的步长α一般按加速步长法来确定。所谓加速步长法是指依次迭代的步长按一定的比例递增的方法。各次迭代的步长按下式计算:
α=τα (5-8)
式中,τ为步长加速系数,可取τ=1.3;α为步长,初始步长取α=α(0)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。