基于MATLAB的可行方向法求极值问题参考
基于MATLAB可行方向法求极值的实现
姓名:xxx学号:xxx
(北京理工大学机械与车辆学院车辆工程,北京 )
摘要:在工程实际的优化设计中,随着设计变量数和约束条件数的增加,随机方向搜索法和复合形法等直接优化解法的求解效率会偏低。可行方向法,顾名思义,一种始终在可行域内寻找下降方向的搜索法,以其收敛速度快、效果好的优点已成为求解约束非线性问题的一种有代表性的直接解法,同时也是求解大型约束优化问题的主要方法之一。本文将简单介绍可行方向法的数学思想,采用线性规划法和约束最优步长法编写MATLAB程序,最后通过算例完成对优化问题的求解。
关键字:可行方向法;MATLAB;优化方法。
可行方向法的基本数学思想
1.1可行方向法的搜索策略
可行方向法迭代的第一步都是从可行域的某一初始点出发,沿负梯度方向移至某一个或J个起作用约束面的交集上。以后的搜索路线和迭代计算可根据约束函数和目标函数的不同性状,分别采用以下三种不同策略继续搜索。
由点出发,沿可行方向作一维最优化搜索,若所得新点在可行域内,则再沿方向作一维最优化搜索;若所得的新点不在可行域内,则将它移至约束面上再反复重复上述步骤,若,则停止迭代,如图1.1所示。
由点出发,沿可行方向作一维最优化搜索,若所得新点在可行域外,则沿可行方向以最大步长到达另一个约束面上一点,将该点作为迭代点进行反复搜索,直至满足给出的K-T条件,如图1.2所示。
沿着约束面进行搜索。对于只具有线性约束的非线性规