惩罚函数的介绍

1.惩罚函数介绍

惩罚函数是处理约束问题的万能方式,在处理约束问题时,通常将惩罚函数加入到目标函数,从而实现约束问题变为无约束问题。

2.惩罚函数作用机理

作用机理:当个体适应度值小,但未在约束条件内,加入惩罚函数以增大适应度值,从而将个体淘汰。

3.惩罚函数作用方式

使用惩罚函数处理等式约束问题,通常是将等式准换为不等式约束:

K^{_{}}{_{i}}(x)-a\leq 0

其中:

K^{_{i}}(x)是优化问题的等式约束

a-是允许的容差,是一个很小的值。

惩罚函数可分为内部方法和外部方法:内部方法是从约束内的可行解进行优化,而外部方法是随机地从大部分为不可行解开始优化。

4.外部惩罚函数种类

外部惩罚惩罚函数可分为死亡惩罚函数,静态惩罚函数,动态惩罚函数,共同进化惩罚函数,自适应惩罚函数等。主要介绍一下死亡惩罚、静态惩罚、动态惩罚。

4.1死亡惩罚

死亡惩罚是对所有不满足约束条件的个体赋值一个指定极差的适应度,在进行下一代选择是时,不满足约束的个体就会被淘汰,仅留下满足约束的个体。方法简单,但是可行域很小时算法会因为个体全部死亡而陷入停滞。

4.2静态惩罚

静态惩罚函数会考虑个体违反约束条件的程度,并经过加权后添加到适应度值,加权的比重是不变。静态惩罚函数由于略微放款约束,效果相比死亡函数好,具体算法为:

Y(x)=f(x)\pm \sqrt{\sum_{i=0}^{m}H(g_{i}(s))g_{i}(s)^{_{2}}}

其中H(\cdot )是Heaviside函数,H(y)=1,y>0;H(y)=0,y\leq 0

4.3动态惩罚

动态惩罚函数是惩罚因子的计算随着时间的推移而增大:

fitness(x)=f(x)+(C\times t )^{\alpha }\times SVC(\beta ,x)

其中C,\alpha, \beta-为常量,t为代数

 g(\cdot ),H(\cdot )-为非线性约束和线性约束条件

m,p-非线性约束和线性约束约束条件个数

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值