• 大小: 8.32KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-01-30
  • 语言: Python
  • 标签: 算法  遗传  

资源简介

遗传算法

资源截图

代码片段和文件信息

import numpy as np  
from scipy.optimize import fsolve basinhopping  
import random  
import timeit  
  
  
# 根据解的精度确定染色体(chromosome)的长度  
# 需要根据决策变量的上下边界来确定  
def getEncodedLength(delta=0.0001 boundarylist=[]):  
    # 每个变量的编码长度  
    lengths = []  
    for i in boundarylist:  
        lower = i[0]  
        upper = i[1]  
        # lamnda 代表匿名函数f(x)=050代表搜索的初始解  
        res = fsolve(lambda x: ((upper - lower) * 1 / delta) - 2 ** x - 1 50)  
        length = int(np.floor(res[0]))  
        lengths.append(length)  
    return lengths  
    pass  
  
  
# 随机生成初始编码种群  
def getIntialPopulation(encodelength populationSize):  
    # 随机化初始种群为0  
    chromosomes = np.zeros((populationSize sum(encodelength)) dtype=np.uint8)  
    for i in range(populationSize):  

评论

共有 条评论