遗传算法自学笔记1

自学遗传算法的笔记,解析代码李锐博恩的遗传算法代码,学习过程看的是王小平的遗传算法理论与应用,相关概念和说法里面都有。遗传算法基本原理其他地方都有,不在赘述。(以书中为例)

李的前段代码:
function main()
%% -------------主函数-----------------------------------
%                用遗传算法求:
%   max: f(x1,x2) = 21.5+x1*sin(4*pi*x1)+x2*sin(20*pi*x2) 
%        s.t: -3.0 <= x1 <= 12.1
%              4.1 <= x2 <= 5.8
%---------------------------------------------------------------
clear
clc
close all
popsize = 100;     %种群大小
x1_length = 18;   %x1长度为18
x2_length = 15;   %x2长度为15

chromlength = 33; %二进制编码长度(不懂1)
————————————————
版权声明:本文为CSDN博主「李锐博恩」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Reborn_Lee/article/details/82913414

第一章 参数设定

    第一步:确定基因编码

定义:把求解问题中的关键因子,即主要影响因素或者主要矛盾,从变现形式到基因型的映射称为编码。

主要内容:二进制编码长度确定

chromlength = 33; %二进制编码长度

 本例中实数x就是变现形式,要把x变成二进制编码(可以换成其他的编码比如浮点编码),变为{0,1}的二进制串,串长取决于求解的精度,如果设定求解精度到6位小数,对应变量x的区间长度[-1,2]=3,编码长度就是2^21<3*10^6<2^22,所以编码的二进制串长度最小为22位。

所以对应李的编码长度,求解精度是4位,所以是x1   18位,x2   15位,总计:33位。

转化过程:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值