更新时间:2023-03-17 14:02
罚函数是指在求解最优化问题(无线性约束优化及非线性约束优化)时,在原有目标函数中加上一个障碍函数,而得到一个增广目标函数,罚函数的功能是对非可行点或企图穿越边界而逃离可行域的点赋予一个极大的值,即将有约束最优化问题转化为求解无约束最优化问题。
把非线性约束优化问题转化为无线性优化约束问题。依据如何将目标函数和约束函数进行组合,人们导出了许多不同形式的罚函数。由于这些早期方法均需要求解一系列无约束的罚函数极小化问题,故通常称之为序列无约束极小化方法(Sequential Unconstrained Minimization Technique),简称SUMT。
基本思路:通过引进一个乘法因子把约束条件连接到目标函数上,从而将有约束的最优化问题转化为无约束条件的问题。合理的罚函数可以在当搜索到不可行点时,使目标函数值变得很大,离约束条件越远惩罚越大。
外罚函数法
根据约束的特点,构造某种惩罚函数,然后加到目标函数中去,将约束问题求解转化为一系列的无约束问题。这种“惩罚策略”,对于无约束问题求解过程中的那些企图违反约束条件的目标点给予惩罚。如图《外罚函数法》所示:
通过上述方法,我们可以把有约束的问题化为无约束问题求解。也就是所谓的外罚函数法。
但是外罚函数的原理主要是应用了近似最优并且近似可行的,近似最优可以接受,但是近似可行在实际运用中让人无法接受。这一点可以由内罚函数解决。
内罚函数法
相比于外罚函数法在不可行区域加惩罚,内罚函数法在可行域边界筑起高墙,让目标函数无法穿过,就把目标函数挡在可行域内了。
但是这种惩罚策略只适用于不等式约束问题,并要求可行域的内点集非空,否则,每个可行点都是边界点,都加上无穷大惩罚,惩罚也就失去意义了。
优缺点对比
1)由于无约束最优化问题的解法已有许多很有效的算法,如DFP,BFGS等,所以在求解复杂得多的约束优化问题是,工程技术人员一般会采用罚函数法——SUMT外点法和内点法。
2)内点法适用于解含不等式约束问题,并且每次迭代的点都是可行点,这是设计人员所希望的。但要求初始点为可行域的内点,需要相当的工作量,同时它不能处理等式约束;外点法适于解既含等式约束又含不等式约束的优化问题,初始点可以是可行域之外的点,却不能保证近似最优解是可行的。
3)罚函数法对于增广的目标函数的Hessian矩阵的条件数随罚因子增大或减小而增大,造成在求解无约束最优化问题时的困难,如何选择罚因子往往进退维谷。如外罚函数法,欲使得无约束问题接近于原约束问题,应该选择尽可能大的罚因子;但为了减轻求解无约束问题的困难,又应选取较小的罚因子,否则增广矩阵病态。这也是罚函数法的固有弱点。
惩罚因子是用来权衡损失和分类间隔的权重,惩罚因子越大,表明重视损失,如果惩罚因子选取的非常大,那么如果有分错的样本,对其的惩罚非常大,将导致出现硬间隔的效果。不断增大惩罚因子的值,总能实现将样本点完全正确的分类,但是这样将会导致过拟合,泛化能力不够。
如果在同一个问题中,对不同的样本点用不同的惩罚因子也是可以的。对给定正负样本赋予不同的惩罚因子,这样对于如果正负样本点的数目差别比较大,可以对样本数目比较小的样本类别赋予较大的权重,否则此类样本错分的概率将增大。如果对于不同的样本点赋予不同的惩罚因子,这样从理论上来说,应该会有更好的分类效果,分别考虑每个样本的惩罚因子,确定其对于错分的影响,但是这样对于复杂性又有所提高,需要单独考虑每个样本。但是对于样本点比较少的时候,比较适合分别赋予权重,有更好的效果。
电机优化设计
在电机优化设计中应用广义罚函数法优化方法,既可以避免罚函数内点法因罚因子取得不当而造成的寻优困难,又保留了寻优逼近边界的优点,通过目标函数调整和罚函数的容差迭代,可以达到快速收敛的目的。同时,广义罚函数优化方法,还具有边界附近进一步搜索最优点的特性。在应用中,该方法是一种实用性很强而有效的内点寻优方法。
在机械领域,利用广义罚函数优化方法编制的计算机寻优模块与各类外点法或可行方案寻求方法结合,具有显著的优化效果。
广义指数因子预测
选择合适的罚函数和损失函数构建广义指数因子预测模型,能够比较准确地进行预测,其总体预测精度较高且较为稳定。该模型实施的关键在于预报方程的变量选择和系数估计,在线性回归模型的拟合过程中引入罚函数能够压缩回归方程系数估计,将方程中一部分自变量的系数压缩为0,从而达到自变量选择、降低误差方差的目的,并保证预报方程的稳定性,从而提高预测精度.因此,应用罚函数方法来实现广义指数因子预报方程的拟合是合理的。