python 遗传算法包_一个易用、易部署的Python遗传算法库

scikit-opt 是一个 Python 库,提供多种启发式算法,包括遗传算法、差分进化算法等。它支持用户自定义算子、GPU 加速和断点继续运行。通过实例展示了如何使用遗传算法求解优化问题,如旅行商问题,并提供与其他算法如模拟退火、粒子群等的使用示例。
摘要由CSDN通过智能技术生成

简介: # [scikit-opt](https://github.com/guofei9987/scikit-opt) [![PyPI](https://img.shields.io/pypi/v/scikit-opt)](https://pypi.org/project/scikit-opt/) [![release](https://img.shields.io/github/v/relea

一个封装了7种启发式算法的 Python 代码库

(差分进化算法、遗传算法、粒子群算法、模拟退火算法、蚁群算法、鱼群算法、免疫优化算法)

安装pip install scikit-opt

或者直接把源代码中的 sko 文件夹下载下来放本地也调用可以

特性

特性1:UDF(用户自定义算子)

举例来说,你想出一种新的“选择算子”,如下

-> Demo code: examples/demo_ga_udf.py#s1# step1: define your own operator:def selection_tournament(algorithm, tourn_size):

FitV = algorithm.FitV

sel_index = []    for i in range(algorithm.size_pop):

aspirants_index = np.random.choice(range(algorithm.size_pop), size=tourn_size)

sel_index.append(max(aspirants_index, key=lambda i: FitV[i]))

algorithm.Chrom = algorithm.Chrom[sel_index, :]  # next generation

return algorithm.Chrom

导入包,并且创建遗传算法实例

-> Demo code: examples/demo_ga_udf.py#s2import numpy as npfrom sko.GA import GA, GA_TSP

demo_func = lambda x: x[0] ** 2 + (x[1] - 0.05) ** 2 + (x[2] - 0.5) ** 2ga = GA(func=demo_func, n_dim=3, size_pop=100, max_iter=500, lb=[-1, -10, -5], ub=[2, 10, 2],

precision=[1e-7, 1e-7, 1])

把你的算子注册到你创建好的遗传算法实例上

-> Demo code: examples/demo_ga_udf.py#s3ga.register(operator_name='selection', operator=selection_tournament, tourn_size=3)

scikit-opt 也提供了十几个算子供你调用

-> Demo code: examples/demo_ga_udf.py#s4from sko.operators im

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值