fit函数算法表示_遗传算法解多峰函数Shubert的最大值(适合初学者的详解)

本文介绍了如何使用遗传算法在[-10,10]*[-10,10]范围内寻找Shubert函数的最大值。通过设定种群规模、最大遗传代数和变量参数,利用MATLAB实现遗传算法代码,包括种群初始化、编码解码、轮盘赌选择法、交叉变异操作等步骤,并展示了优化过程和结果。" 132048885,8396109,LeetCode 69:平方根的二分查找解法,"['算法', '数据结构', '二分查找', 'LeetCode', '职场和发展']
摘要由CSDN通过智能技术生成

题目如下:用遗传算法求该Shubert函数在[-10,10]*[-10,10]上的最大值

50a960b83bc996465b2c4f8e750e2234.png

采用谢菲尔德大学的遗传算法工具箱,matlab代码如下:

number_population=500;%种群规模:个体个数

number_generations=100;%最大遗传代数

number_variable=2;%变量个数

length_chromosome=20;%染色体长度,即每个个体由多少个字符编码

gap=0.9;%代沟:一个群体中有90%的个体会被选择、交叉、变异等,剩余的10%直接复制到下一代

sub=-10;%变量取值范围的下界

up=10;%变量取值范围的上界

select_code_gray=1;%是否使用格雷编码:1 使用、0 不使用

select_log=0;%是否使用对数标度:1 使用、0 不使用

trace=zeros(number_generations,2);%记录迭代轨迹:第一列记录某一代群体中的最优解,第二列记录某一代的平均值

fieldd=[rep([length_chromosome],[1,number_variable]);rep([sub;up],[1,number_variable]);rep([1-select_code_gray;select_log;1;1],[1 num

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值