遗传算法锦标赛选择java实现_遗传算法,选择算子之锦标赛选择(竞赛选择)...

遗传算法,是最常用的解决优化问题的算法,是最早的群智能算法。遗传算法中主要包括,选择、交叉、变异算子,其中对DNA个体的编码方式分为实数编码和二进制编码等。今日由于学习和工作需要对该算法进行了一些了解,对该算法中常用的竞赛选择方式做如下笔记:

遗传算法中的竞赛选择方式是一种放回抽样,几元竞赛就是一次性在总体中取出几个个体,然后在这些个体中取出最优的个体放入保留到下一代种群的集合中。需要保存多少个体就重复此操作几次。

以下为python2.7写的代码,已经测试过,共两个文件,可以通过修改mycmp.py中的比较函数以适应不同需求。

tournament_selection.py

1 #!/usr/bin/env python

2 #encoding:UTF-8

3 importrandom4 importnumpy as np5 from mycmp importmycmp6

7 """

8 锦标赛方式选择, 选择出个体编号9 indicateValueDict {个体索引号:(Value1, Value2), }10 key为索引号,从0开始。value为元组,一般不超过两个元素。11

12 selectNum 需要选择出的个体个数13 elementNum=2 默认为二元竞赛选择14 """

15 def tournament_selection_Dict(indicateValueDict, selectNum, elementNum=2):16 #个体索引列表

17 indicateList=range(len(indicateValueDict))18 #选择出的个体序号 列表

19 remainIndicateList=

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值