1.实验目的
掌握常用遗传算法函数的使用,掌握使用Matlab工具箱中的遗传算法函数实现多元函数求解问题,掌握遗传算法改进算法在多元函数求解中的应用方法。
2.实验环境
Matlab
3.实验内容
(1)遗传算法常用函数的使用。
1)使用crtbp函数创建一个种群大小为6,个体长度为10,各位的二进制数分别为{1 2 3 4 5 6 7 8 9 10}的种群。
2)使用ranking函数。设有8个个体的种群,其目标值如下:[1;2;3;4;8;7;6;5],使用线性排序和压差为2估算适应度。
3)使用select函数。考虑以下具有8个个体的种群Chrom,适应度值为FitnV.
使用轮盘赌选择方式选择8个个体。
4)使用函数recombin对4个个体的种群进行重组。
5)使用函数mut将当前种群(含有4个个体,个体长度为5)变异为新种群。
6)在6个个体的父代种群中插入子代种群(子代种群有两个个体)。
7)先使用crtbp创建二进制种群Chrom(3个个体,个体长度为7),表示在[-2,8)区间的一组简单变量,然后使用bs2rv将二进制串转换为实值表现型。
(2)利用MATLAB自带工具箱GADST求解一个非线性方程组。
问题描述:
要求利用GUI方式和命令行两种方法求解。
GUI:
命令行:
(3)利用遗传算法计算以下一元函数的最大值:f(x)=x+10sin(5x)+7cos(4x)
其中,x的取值范围是[0,10],遗传算法参数设置如下表所示:
(4)利用遗传算法计算以下多元函数的最小值:
f(x,y)=5sin(xy)+x2+y2 x∈[-4,4], y∈[-4,4],选择二进制编码,遗传算法参数设置如下表所示: