geatpy脚本编程

代码

求解问题:
max = x+10sin(5x)+7cos(4x)
0<=x<=10

import numpy as np
import geatpy as ga
import time

def aimfunc(Phen, LegV):
	x = np.array([Phen[:,0]]).T    #取解码后第一列的值,即变量1的解码值
	f = x + 10*np.sin(5*x) + 7*np.cos(4*x)
	return [f,LegV]

x=[0,10]
b=[1,1]
ranges=np.vstack([x]).T  #变量范围,两行,第一行下界,第二行上界
border=np.vstack([b]).T  #变量是否包含边界,两行,第一行下界,第二行上界
precesion=[4]            #精度,小数点后6位
codes=[0]                #编码方式,标准二进制编码
scales=[0]               #刻度,算数刻度

NIND=50                  # 种群规模
MAXGEN=100               # 最大遗传代数
GGAP=0.5                 # 代沟,子代与父代个体不相同的概率为0.5
selectStyle='rws'        # 轮盘赌选
recombinStyle='xovsp'    # 单点杂交
recopt=0.65              # 交叉概率                                                      
pm=0.05                  # 变异概率
SUBPOP=1       
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值