智能算法
像风一样自由2020
深度学习,神经网络,python
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
遗传算法求三元函数极值(python)-采用实数编码3
这次代码的修改点在交叉变异 函数中,做了其他修改: def crossover_and_mutation(pop, CROSSOVER_RATE=0.015): new_pop = [] for i in range(POP_SIZE//2-20): fatherpoint = np.random.randint(low=0, high=POP_SIZE) child=pop[fatherpoint] motherpoint = np.rand原创 2020-07-02 16:28:40 · 3737 阅读 · 0 评论 -
遗传算法求三元函数极值(python)-采用实数编码2
这次代码的修改点在select函数中,在100个个体中,通过轮盘赌选择出前48个个体,然后再选择出最优个体和最差个体,总共50个,然后再在轮盘赌中后剩下的50个个体进行交叉和变异,返回出50个,这样50+50=100个体作为下一次进化的初始种群,如此不断循环,得出结果。 select如下: def select(pop, fitness): # nature selection wrt pop's fitness # fitnew=fitness.copy() #深拷贝 fitnew =原创 2020-06-29 20:07:17 · 1106 阅读 · 0 评论 -
遗传算法求三元函数极值(python)-采用实数编码
遗传算法求三元函数极值(python)-采用实数编码 本文的遗传算法采用实数编码求三元函数极值 所求函数为 ` 其完整代码如下: x1x1-x1x2+x3 import numpy as np import random DNA_SIZE =1 POP_SIZE =100 CROSSOVER_RATE = 0.8 MUTATION_RATE = 0.015 N_GENERATIONS = 500 X_BOUND = [3.0,5.0]#x1 Y_BOUND = [2.1,6.7]#x2 Z_BOUND原创 2020-06-21 17:08:44 · 5228 阅读 · 0 评论 -
遗传算法求三元函数极值(python)-采用二进制编码
遗传算法求三元函数极值(python)-采用二进制编码 本文的遗传算法采用二进制编码求三元函数极值 所求函数为 要想使用遗传算法,首要任务是进行编码 传统的 GA 中, DNA 我们能用一串二进制来表示, 比如: DNA1 = [1, 1, 0, 1, 0, 0, 1] DNA2 = [1, 0, 1, 1, 0, 1, 1] 这里,我们仍然使用二进制编码,但是如何与我们的问题对应起来呢? 我们知道二进制很容易转十进制,再区间压缩以下,这样一个DNA和一个解一一映射。 def translat...原创 2020-06-11 16:41:46 · 7658 阅读 · 4 评论
分享