geatpy模板sga_real_templet简单应用

实值编码[1]

实值编码遗传算法(RCGA)的染色体空间和问题解空间是同一个空间,较好的解决了二进制编码遗传算法(BCGA)存在的求解精度和冗余代码等问题。
1
2

代码(aimfuc)

import numpy as np


def aimfuc(Phen, LegV):
	x = Phen[:, [0]]
	f = x + 10 * np.sin(5 * x) + 7 * np.cos(4 * x)
	return [f, LegV]

代码(main)

import numpy as np
import geatpy as ga

AIM_M = __import__('aimfuc')
x = [0, 10]
b = [1, 1]
# codes = [1]
precisions = [6]
# scales = [0]
ranges = np.vstack([x]).T
borders = np.vstack([b]).T

fieldd = ga.crtfld(ranges, borders, precisions)  # , codes, scales)
problem = 'R'
maxormin = -1
MAXGEN = 100
NIND = 50
SUBPOP = 1
GGAP = 0.65
pm = 0.05
selectStyle = 'rws'
recombinStyle = 'xovsp'
drawing = 1

[pop_trace, var_trcae, times] = ga.sga_real_templet(AIM_M, AIM_F="aimfuc", PUN_M=None, PUN_F=None, FieldDR=fieldd,
                                                    problem=problem, maxormin=-1, MAXGEN=MAXGEN, NIND=NIND,
                                                    SUBPOP=SUBPOP, GGAP=GGAP, selectStyle=selectStyle,
                                                    recombinStyle=recombinStyle, recopt=None, pm=pm, distribute=True,
                                                    drawing=1)

结果

3

参考文献

[1]GB/T 7714
张东民, 廖文和. 基于实值编码遗传算法的起重机伸缩臂结构优化[J]. 南京航空航天大学学报, 2004, (2):185-189.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值