遗传算法优化matlab,遗传算法优化相关MATLAB算法实现

遗传算法

1、案例背景

遗传算法(Genetic Algorithm,GA)是一种进化算法,其基本原理是仿效生物界中的“物竞天择、适者生存”的演化法则。遗传算法的做法是把问题参数编码为染色体,再利用迭代的方式进行选择、交叉以及变异等运算来交换种群中染色体的信息,最终生成符合优化目标的染色体。

在遗传算法中,染色体对应的是数据或数组,通常是由一维的串结构数据来表示,串上各个位置对应基因的取值。基因组成的串就是染色体,或者叫基因型个体( Individuals) 。一定数量的个体组成了群体(Population)。群体中个体的数目称为群体大小(Population Size),也叫群体规模。而各个个体对环境的适应程度叫做适应度( Fitness) 。

2、遗传算法中常用函数

1)创建种群函数—crtbp

2)适应度计算函数—ranking

3)选择函数—select

4)交叉算子函数—recombin

5)变异算子函数—mut

6)选择函数—reins

7)实用函数—bs2rv

8)实用函数—rep

3、主程序:

1. 简单一元函数优化:

clc

clear all

close all

%% 画出函数图

figure(1);

hold on;

lb=1;ub=2; %函数自变量范围【1,2】

ezplot('sin(10*pi*X)/X',[lb,ub]); %画出函数曲线

xlabel('自变量/X')

ylabel('函数值/Y')

%% 定义遗传算法参数

NIND=40; %个体数目

MAXGEN=20; %最大遗传代数

PRECI=20; %变量的二进制位数

GGAP=0.95; %代沟

px=0.7; %交叉概率

pm=0.01; %变异概率

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值