• 大小: 6KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-01-06
  • 语言: Python
  • 标签: GA  

资源简介

经典遗传算法(SGA)解非线性最优化问题的原理及其python代码实现

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
“““
程序功能:实现经典的遗传算法,测试函数为经典的非线性问题:
        max f(x1x2)=21.5+x1*sin(4*pi*x1)+x2*sin(20*pi*x2)
        s.t.  -3.0<=x1<=12.1
               4.1<=x2<=5.8
说明:
1.采用经典的二进制编码,选择算子为轮盘赌选择,交叉算子为单点交叉,变异算子为反转(单点)变异
2.可调的参数为:genupperlowerpcpmpop_numdeltafun(165-172行)
3.修改函数请改25231232234行,231232行和upperlower保持一致
作者:(晓风)wangchao
email: 18821709267@163.com 
最初建立时间:2018.10.10
最近修改时间:2018.10.24

GA的简单实现
“““
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import math

#目标函数
def aimfun(x):
    y=21.5+x[0]*math.sin(4*math.pi*x[0])+x[1]*math.sin(20*math.pi*x[1])
    return y

#获得染色体长度
def getchromolen(delta upperlower):
    maxlen=25
    chromo_len=[]
    for j in range(len(upper)):
        a=(upper[j]

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-10-24 22:49  sga\
     文件        8162  2018-10-24 22:49  sga\sga.py
     文件        8186  2018-10-24 22:49  sga\sga2.py

评论

共有 条评论