众所周知,遗传算法主要框框如下:
网上各种版本都太高端了,我感到很困惑,所以我想写个傻瓜遗传算法
该问题目标是:计算f(x)的最大值
具体代码如下:
# *_*coding:utf-8 *_*
import numpy as np
def main():
"""
f(x) = max{x1 + x2}
x1 in range(1023)
x2 in range(1023)
"""
# 定义变量,基因,组成染色体
# 本目标中含有2个变量,所以定义两个基因
NUM_DNA = 2
# 把变量用二进制表示,每个变量用PER_DNA_LENGTH位二进制表