python 遗传算法_Python | 智能优化算法之遗传算法实现

1.遗传算法的提出

遗传算法(Genetic Algorithm, GA)是1975年由霍兰教授提出的,它是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,其目的:一是抽取和解释自然系统的自适应过程;二是设计具有自然系统机理的人工系统。遗传算法一致被认为是智能优化算法的基础,广泛应用于,函数优化、组合优化、生产调度等问题。

2.遗传算法的实现

本文遗传算法的实现基于 @幼鹰me 大佬开发的库

scikit-opt​scikit-opt.github.io

2.1 目标函数定义

首先第一步应当是定义待解决问题的优化目标

def 

2.2 遗传算法的求解

调用遗传算法进行求解

from sko.GA import GA

ga = GA(func=func,n_dim=4,size_pop=20,max_iter=10,lb=[-1,-1,-1,-1],ub=[1,1,1,1],precision=1e-7)
best_x,best_y = ga.run()
print('best_x:',best_x,'best_y:',best_y)

2.3结果可视化

对运行的结果进行可视化

import pandas as pd
import matplotlib.pyplot as plt

Y_history = pd.DataFrame(ga.all_history_Y)
fig, ax = plt.subplots(2, 1)
ax[0].plot(Y_history.index, Y_history.values, '.', color='red')
Y_history.min(axis=1).cummin().plot(kind='line')
plt.show()

最后的结果如图下图所示

6d90ab5528e20f554807a06f062f27d8.png

前人种树,后人乘凉!

再次感谢大佬的开发!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值