基于Matlab的修正型Powell方法仿真
发布时间
阅读量:
阅读量
1.鲍威尔基本算法的运算流程
1.依次沿着n个坐标轴方向[e1,e2,...,en],利用坐标轮转法进行一维搜索。随后,通过初始点X(0)与终点Xn(1)生成一个新的方向S(1),并以此作为搜索方向继续进行一维搜索,从而得到极小值点X(n+1)(1)。
2.将初始点设定为X0(2)=X(n+1)(1),同时从原始的搜索方向组中移除第一个方向S1(1)=e1,并将第一轮生成的新搜索方向S(1)放置于末尾,构成新的搜索方向组[e2,e3,...,en,S(1)],以此作为第二轮迭代所需的n个方向。
3.按照上述步骤持续执行,直至找到符合迭代收敛精度标准的近似最小点为止。
评价:
Powell基本算法仅具备理论上的价值,在实际应用中存在显著局限性。即使是对二次函数而言,该算法也可能失效;更不用说面对多维复杂函数时的表现了。在基本算法的设计过程中,并未对n个搜索方向是否存在线性相关性进行判断。一旦这些方向之间出现相关关系,则无法形成共轭方向组,进而无法构建完整的n维空间。这将导致后续的迭代过程只能在降维或退化空间中展开,从而无法准确求得极值点。
2.鲍威尔修订算法
1.核心 :
在每次生
全部评论 (0)
还没有任何评论哟~
