遗传算法 粒子群算法_带约束的遗传算法、差分进化算法、粒子群算法的小介绍...

以下文字针对 scikit-opt 的 v0.5.9 版本(也是写这篇文章时的最新版本),针对带约束的遗传算法、差分进化算法、粒子群算法做一个梳理。有些约束很好用,有些约束效果其实不怎么好,在这里做个汇总。找了不少论文,实现之后效果一般,哪天找到更好的实现会持续做更新。

一些约束的格式的定义

  • lb:lower bound,“下界约束”,例如,要求满足约束 x0>=-1, x1>=1, x2>=0,那么取值 lb=[-1,1,0]
  • ub:upper bound,“上界约束”,例如,要求慢猪约束x0<=5, x1<=2, x2<=3,那么取值 ub=[5,2,3]
  • constraint_eq:线性约束,例如,要求 x0*x1=1, x1*x2=5,那么,取值 constraint_eq = [lambda x: x[0]*x[1]-1, lambda x: x[1]*x[2]-5]
  • constraint_ueq:非线性约束,例如,要求 x0*x1>=1, x1*x2<=5,那么,取值 constraint_ueq = [lambda x: 1-x[0]*x[1], lambda x: x[1]*x[2]-5]

多解释一下 constraint_eq、constraint_ueq,它们都是列表,列表的元素是函数,constraint_eq 里面的函数约束是等于0,constraint_ueq 里面的函数的约束是小于等于0

也可以这么写:

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值