1.遗传算法的提出
遗传算法(Genetic Algorithm, GA)是1975年由霍兰教授提出的,它是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,其目的:一是抽取和解释自然系统的自适应过程;二是设计具有自然系统机理的人工系统。遗传算法一致被认为是智能优化算法的基础,广泛应用于,函数优化、组合优化、生产调度等问题。
2.遗传算法的实现
本文遗传算法的实现基于 @幼鹰me 大佬开发的库
scikit-optscikit-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()
最后的结果如图下图所示
