找回密码
 立即注册
查看: 520|回复: 1

优化算法中的惩罚函数是怎么来的?

[复制链接]
发表于 2021-7-4 09:20 | 显示全部楼层 |阅读模式
惩罚算法的优点在哪里,“惩罚”这个名字又是怎么来的。
发表于 2021-7-4 09:21 | 显示全部楼层
最近做最优化分析需要用到这个,但是发现网上相关文章和浅显的例子都比较少,特别是中文的。自己不算很了解,先稍微解释一下,希望抛砖引玉吧。
惩罚函数,penalty function,用于解决约束条件下的最优化问题。通过惩罚函数可以将有约束的目标函数转化为无约束的目标函数。
举个例子,现在要求函数:f(x)在约束条件g(x)<=0下的最大值。构造函数p(x)=f(x)-h(x)g(x)。其中,h(x)为惩罚项系数函数,可以是函数,也可以是简单的系数,根据约束条件的复杂程度和算法的精度看你什么要求了。
现在取h(x)为正值常数c。p(x)=f(x)-c*g(x),p(x)就是新的目标函数,且不含约束条件。当x取值使得g(x)>0时,p(x)<f(x),无法达到原目标函数原有最大值。-c*g(x)就是惩罚项,当x取值不满足约束条件时,使得目标函数的值远离最优值。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-21 04:24 , Processed in 0.158823 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表