北卡罗来纳大学遗传算法工具箱

目录

北卡罗来纳大学遗传算法工具箱  gaot 重要函数如下

1.initializega函数介绍

2.ga函数介绍

3.initializega求解一元函数


注:本文的代码可用于matlab 2012a版本

北卡罗来纳大学遗传算法工具箱  gaot 重要函数如下

·optimtool(matlab内部封装函数)

·initializega

·ga

·normGeomSelect

·arithXover

·nonUnifMutation

本文主要介绍  initializegaga 两个函数

1.initializega函数介绍

函数组如下:

pop = initializega(populationSize, variableBounds, evalFN,evalOps,options)

参数                                                                  意义

Pop                                                            随机生成的初始种群

populationSize                                          种群大小即种群中个体的数目

variableBounds                                         变量边界的矩阵

evalFN                                                      适应度函数的名称

evalOps                                                     适应度函数的参数

options                                                     精度及编码形式,1为浮点编码,0为二进制编码

2.ga函数介绍

[x,endPop,bPop,tracelnfo]=ga(bounds,evalFN,evalOps,startPop,opts,termFN,termOps,selectFN,selectOps,xOverFNs,xOverOps,mutFNs,mutOps)

参数                                                                意义

Bounds                                                   变量上下界的矩阵

evalFN                                                    适应度函数的名称

evalOps                                                   适应度函数的参数

startPop                                                   初始种群

opts                         精度、编码形式及显示方式,1为浮点编码,0为二进制编码,默认为[1e-61 0]

termFN                                                     终止函数的名称

termOps                                                   终止函数的参数

selectFN                                                   选择函数的名称

sefeectOps                                               选择函数的参数

xOverFNs                                                 交叉函数的名称

xOverOps                                                 交叉函数的参数

mutFNs                                                    变异函数的名称

mutOps                                                    变异函数的参数

x                                                                 优化计算得到的最优个体

endPop                                                       优化终止时的最终种群

bPop                                                           最优种群的进化轨迹

traceInfo                                                   每代的最优适应度函数值和平均适应度函数值矩阵

3.initializega求解一元函数

适应度函数

function [sol, fitnessVal] = fitness(sol, options)

x = sol(1);

fitnessVal = x + 10*sin(5*x)+7*cos(4*x);

end

主函数

%% I. 清空环境变量
clear all
clc

%% II. 绘制函数曲线
x = 0:0.01:9;
y =  x + 10*sin(5*x)+7*cos(4*x);

figure
plot(x, y)
xlabel('自变量')
ylabel('因变量')
title('y = x + 10*sin(5*x) + 7*cos(4*x)')


%% III. 初始化种群
initPop = initializega(50,[0 9],'fitness'); % (种群大小, 变量边界的矩阵,适应度函数名称)

%% IV. 遗传算法优化
[x endPop bpop trace] = ga([0 9],'fitness',[],initPop,[1e-6 1 1],'maxGenTerm',25,...
                           'normGeomSelect',0.08,'arithXover',2,'nonUnifMutation',[2 25 3]);


%% V. 输出最优解并绘制最优点
x
hold on
plot (endPop(:,1),endPop(:,2),'ro')

%% VI. 绘制迭代进化曲线
figure(2)
plot(trace(:,1),trace(:,3),'b:')
hold on
plot(trace(:,1),trace(:,2),'r-')
xlabel('Generation'); ylabel('Fittness');
legend('Mean Fitness', 'Best Fitness')

函数曲线如下: 

 迭代进化曲线:

北卡罗来纳大学遗传算法工具箱(GAOT)是北卡罗来纳大学开发的一种遗传算法工具。遗传算法是一种模拟自然进化过程的优化算法,通过模拟生物遗传、突变、自然选择等过程来寻找最优解。 GAOT提供了一套完整的工具集,用于实现和应用遗传算法。它包括了遗传算法的基本原理和优化方法,以及各种进化操作和选择策略的具体实现。用户可以利用GAOT进行问题建模、参数设置、算法优化等操作,并通过不断的迭代优化过程来求得最优解。 GAOT具有以下几个特点: 首先,GAOT具有可扩展性。用户可以根据不同的问题需求,自定义优化算子和适应度函数,灵活地应用于不同的领域和任务。 其次,GAOT具有高效性。通过高效的编程和并行计算技术,GAOT可以在较短的时间内快速搜索到问题的最优解。 此外,GAOT还具有易用性和直观性。它提供了友好的用户界面和丰富的图形化显示功能,使用户能够直观地了解算法的运行状态和结果。 需要注意的是,GAOT虽然是一种强大的遗传算法工具,但它仍然需要用户理解问题的特性和算法的原理,合理选择参数和优化方案,才能在实践中取得良好的结果。 总而言之,北卡罗来纳大学遗传算法工具箱(GAOT)是一种实用的遗传算法工具,可以帮助用户解决优化问题,求得最优解。在未来的研究和实践中,GAOT将继续发挥重要的作用,为各个领域的问题提供优化解决方案。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值