资源简介
使用matlab编程利用遗传算法Max f (x1, x2) = 21.5 + x1·sin(4πx1) + x2·sin(20πx2)
s. t. -3.0 ≤ x1 ≤ 12.1
4.1 ≤ x2 ≤ 5.8
代码片段和文件信息
%%%*****用遗传算法求函数最大值(双输入单输出)****%%%%%
clc;
clear;
x1min=-3.0; %输入变量1的变化范围
x1max=12.1;
x2min=4.1; %输入变量2的变化范围
x2max=5.8;
pb=0.001; %变异概率
N=20; %初始种群数目=20
s1=ceil(log2(1000*(x1max-x1min))); %计算二进制串的长度
s2=ceil(log2(1000*(x2max-x2min)));
s=s1+s2; %%种群的位数
zq=randi(Ns); %产生初始种群,库函数和for循环均可
% for i=1:N
% for j=1:s
% r=rand(1);
% if r>0.5
% zq(ij)=1;
% else zq(ij)=0;
% end
% end
% end
%%*****用于二进制转化为十进制****
for i=1:s1
zhuanhuan(i1) = 2^(s1-i);
end
for i=s1+1:s
zhuanhuan(i1) = 2^(s-i);
end
for k=1:500 %遗传算法的次数
%%********将二进制转换成十进制
for i=1:N
j1(i)=zq(i1:s1)*zhuanhuan(1:s1);
j2(i)=zq(is1+1:s)*zhuanhuan(s1+1:s);
end
%%****转化为目标函数值
x1=x1min+j1*(x1max-x1min)/(2^s1-1);
x2=x2min+j2*(x2max-x2min)/(2^s2-1);
%%****计算适配值
f=21.5+x1.*sin(4*pi*x1)+x2.*sin(20*pi*x2);
%%%******依次得到最大值,平均值
f_max(k)=max(f);
f_sum=sum(f);
f_avr(k)=sum(f)/N;
%%******复制********
g=f/f_sum; %计算选择概率
- 上一篇:相空间重构程序
- 下一篇:三相电压型逆变器电压闭环控制simuli
nk仿真模型
相关资源
- 协同进化遗传算法求解函数优化问题
- 医学图像重建作业matlab源码
- 3-PRS并联机器人工作空间分析
- 清洁机器人路径规划matlab仿真程序
- Matlab delta机器人的空间仿真程式
- rbf神经网络求解机器人的运动学逆解
- 基于遗传算法的旅游全国的路径最优
- 基于遗传算法的机器人路径规划matl
- 多种群遗传算法的函数优化算法(源
- 单机器人的多任务路径规划GUI
- 遗传算法完整MATLAB程序实数法,轮盘
- 遗传算法解决最优路径、选址问题
- 灰狼优化算法求解柔性作业车间问题
- 遗传算法GA车间调度Matlab代码
- 信息论大作业 LZ78算法编译码 matlab仿
- 求解多旅行商(MTSP)的遗传算法的
- 数字图像处理作业canny边缘检测坎尼边
- 数字图像处理 MATLAB 大作业 代码及其
- 6自由度机器人正逆运动学matlab
- 机器人焊接轨迹规划matlab仿真程序
- 激光原理作业代码及答案
- matlab 机器人避障程序
- 基于遗传算法的小波神经网络在股票
- matlab开发-基于遗传算法的机器人运动
- 机器人 matlab 程序
- 机器视觉论文基于matlab的间单图像处
- 斯坦福机器学习编程作业machine-learn
- 国外一大牛Petercorke 写得机器视觉工具
- 数字图像处理期末大作业.doc
- matlab结课大作业人脸识别是否戴口罩
评论
共有 条评论