专栏名称: Python开发者
人生苦短,我用 Python。伯乐在线旗下账号「Python开发者」分享 Python 相关的技术文章、工具资源、精选课程、热点资讯等。
目录
相关文章推荐
51好读  ›  专栏  ›  Python开发者

GAFT:一个使用 Python 实现的遗传算法框架

Python开发者  · 公众号  · Python  · 2017-08-01 20:00

正文

请到「今天看啥」查看全文


RouletteWheelSelection

from gaft . operators import UniformCrossover

from gaft . operators import FlipBitMutation

# 用于编写分析插件的接口类

from gaft . plugin_interfaces . analysis import OnTheFlyAnalysis

# 内置的存档适应度函数的分析类

from gaft . analysis . fitness_store import FitnessStoreAnalysis

# 我们将用两种方式将分析插件注册到遗传算法引擎中


2. 创建引擎


# 定义种群

indv_template = GAIndividual ( ranges = [( 0 , 10 )], encoding = 'binary' , eps = 0.001 )

population = GAPopulation ( indv_template = indv_template , size = 50 )

# 创建遗传算子

selection = RouletteWheelSelection ()

crossover = UniformCrossover ( pc = 0.8 , pe = 0.5 )

mutation = FlipBitMutation ( pm = 0.1 )

# 创建遗传算法引擎, 分析插件和适应度函数可以以参数的形式传入引擎中

engine = GAEngine ( population = population , selection = selection ,

crossover = crossover , mutation = mutation ,

analysis = [ FitnessStoreAnalysis ])


3. 自定义适应度函数


可以通过修饰符的方式将,适应度函数注册到引擎中。


@ engine . fitness_register

def fitness ( indv ) :







请到「今天看啥」查看全文