'''
使用离散重组完成的整数规划遗传算法
过程
1、初始化族群
2、计算个体适应度
3、淘汰适应度最低的个体。
4、适应度最高的个体直接延续到下一代,同时所有个体通过离散重组进行繁衍。产生新的族群
重复2,3,4步。
'''
import numpy as np
class GeneticAlgorithm:
def __init__(self,target,populationsNum, DNALen,maxiter, passRate,keepRate, mutationRate,lb,ub):
self.target = target
self.populationsNum = populationsNum # 种族数量
self.DNALen = DNALen # 个体数值长度
self.passRate = passRate # 淘汰比率
self.keepRate = keepRate # 留存比率
self.maxiter = maxiter # 最大迭代次数
self.mutationRate = mutationRate # 变异系数
# self.getMax = getMax
def init_populations(self): # 初始化族群函数
'''
初始化族群
'''
populations = [] # 存储初始化种群
for i in range(self.DNALen):
populations.append(np.random.randint(lb[i],ub[i],self.populationsNum)) # 根据上下限生成个体
populations = np.array(populations).T # 转为numpy格式
return populations # 返回初始化族
【最优化问题】使用离散重组完成的整数规划遗传算法
于 2022-09-27 21:28:43 首次发布
本文介绍了一种基于离散重组的整数规划遗传算法实现,该算法通过初始化族群、计算个体适应度、淘汰低适应度个体并保留高适应度个体进行遗传繁衍,最终找到最优解。适用于解决复杂的优化问题。

最低0.47元/天 解锁文章
9126

被折叠的 条评论
为什么被折叠?



