首页 理论教育 工程优化设计的算法优化方案

工程优化设计的算法优化方案

时间:2023-07-02 理论教育 版权反馈
【摘要】:优化的艺术在于恰当地选择最好的算法。计算过程中可能违背某项约束,使设计点离开可行域,甚至某些变量成为负的,从而使目标函数值向负的方向发散,这就需要加大违背约束项的权因子。上面已说明,工程优化设计的模型是有约束的非线性函数求极值问题,如式,一般求解这类问题需要用参数变换方法,构造增广目标函数,或称罚函数式中:rk称为第k 步迭代的罚因子,或权因子。

工程优化设计的算法优化方案

有了数学模型,就要选择合适的算法。求解非线性规划问题,数学上有各种各样的算法,同求解非线性电路和求解非线性控制系统一样,没有一种通用算法适用于各种数学模型。优化艺术在于恰当地选择最好的算法。算法与问题的性质有关,衡量一种算法是否有效,主要看以下几个方面:①收敛性及收敛速度—目标函数下降到某一定值时,函数(包括梯度)的计算次数;②对存储容量的要求;③通用性。

即使是较成熟的算法,应用时对于不同性质的问题仍可能出现以下一些情况:

(1)变量间数量差别很大或各约束值的数量级差别很大。例如,电容以10-6法拉计,功率以千伏安(103)甚至兆伏安(106)计。数量级差别太大会引起收敛慢,因此需要对变量定尺度,使各变量间数量级相差在1~10之间。

(2)计算过程中可能违背某项约束,使设计点离开可行域,甚至某些变量成为负的,从而使目标函数值向负的方向发散,这就需要加大违背约束项的权因子。

(3)由于优化设计数学模型是高维的,变量间互相有关联,因而可能有多个局部极小值。这样,寻优得到的点是局部极小点,与初始值或其他因素有关。一般工程上有经验设计值时,可以用这些经验值作为初值,输入计算机。但也有先用随机搜索法得到一些较优点,再将这些点作为各个初始值输入计算机,进行寻优计算。

上面已说明,工程优化设计的模型是有约束(m 个等式约束,p 个不等式约束)的非线性函数求极值问题,如式(10.4),一般求解这类问题需要用参数变换方法,构造增广目标函数,或称罚函数

式中:rk称为第k 步迭代的罚因子,或权因子。

{rk}是逐渐趋于零的下降序列,于是式(10.19)表示的问题可转换为求下述无约束极值问题

每改变一次罚因子rk,对P(x,rk)求极小,因此,这一方法称为序贯无约束极小化方法,是一种罚函数法。

它的主要缺点是:权因子rk的改变是盲目的。一般按照一定比率使其逐步减少。另外,当rk逐渐趋于零时,在最优点X*附近,P(X,rk)的二次偏导数矩阵(Hesse阵)逐渐变为病态,使搜索方向不正确,同时,也影响到收敛速度。

乘子罚函数法是一种改进的罚函数法。

对于如下问题

用乘子罚函数法时,应构造下述增广目标函数

式中:r为罚因子;λi及μj为拉格朗日乘子。(www.xing528.com)

乘子迭代公式为

因此,这一方法的实质是求P 的无约束极小值点和调整乘子向量的迭代过程交替进行,促使X 收敛于最优点X*,λ收敛于λ*

罚因子的选择有一定的方法,可保证r增大到某一定值以后就不再增大。

乘子罚函数法保持了原罚函数法的优点,又克服了罚因子越取越大造成的困难,收敛速度比罚函数法快。

图10.7 直接搜索法程序框图

由上述可知,应用式(10.19)和式(10.22)都可将有约束极小化问题转化为无约束极小化问题。多维无约束极小化问题的算法也有许多类型,其中一类是直接搜索法,即只计算目标函数值,而不必计算函数的梯度。属于这类方法有:单纯形法、随机搜索法、共轭方向法等。另一类是计算目标函数梯度或二次梯度等,具体算法是每次产生一个新的计算点Xk+1,都需完成确定的搜索方向和步长两项工作。不同算法的区别也主要在这一步。确定步长是属于一维搜索的范围,主要算法有黄金分割(0.618)法、二次及三次插值法等。

因此,在一个有约束的极小化问题中,除主程序外,还包含若干个子程序,如一维搜索子程序,计算目标函数梯度的子程序,判断是否收敛的子程序等。

如图10.7所示直接搜索法求无约束极值的一般程序框图。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈