MATLAB遗传算法PID大作业精品毕业设计完整版Word格式.docx
- 文档编号:13449439
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:15
- 大小:208.90KB
MATLAB遗传算法PID大作业精品毕业设计完整版Word格式.docx
《MATLAB遗传算法PID大作业精品毕业设计完整版Word格式.docx》由会员分享,可在线阅读,更多相关《MATLAB遗传算法PID大作业精品毕业设计完整版Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
La=2.75E-6;
Kt=0.03;
num=Kt;
den=[(J*La)((J*Ra)+(La*B))((B*Ra)+Kt*Kt)0];
t=0:
0.001:
0.2;
step(num,den,t);
Kp=15;
Ki=0.8;
Kd=0.6;
numcf=[KdKpKi];
dencf=[10];
numf=conv(numcf,num);
denf=conv(dencf,den);
[numc,denc]=cloop(numf,denf);
0.04;
step(numc,denc,t);
matlab进行仿真,我们可以看出不恰当的PID参数并不能使系统达到控制系统的要求,因此需要对PID参数进行优化。
图4系统阶跃响应(Kp=15,Ki=0.8,Kd=0.6)
3.遗传算法
3.1遗传算法和工具箱简介
遗传算法(GA)是基于自然选择和基因遗传学原理的优化搜索方法。
它借鉴了达尔文的进化论和孟德尔的遗传学说。
其本质上是一种高效、并行、全局搜索的方法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解。
遗传算法操作使用适者生存的原则,在潜在的解决方案种群中逐次产生一个近似最优的方案。
在遗传算法的每一代中,根据个体在问题域中的适应度值和从自然遗传学中借鉴来的再造方法进行个体选择,产生一个新的近似解。
在这个过程导致种群中个体的进化,得到的新个体比原个体更能适应环境,就像自然界中的改造一样。
表3.1遗传学和遗传算法中基本用语对照表
遗传学
遗传算法
染色体(Chromosome)
解的编码(算法的操作对象)
基因(Gene)
解中每一分量
等位基因(Allele)
特性值
基因座(Locus)
二进制串中位置
基因型(Genptype)
结构
表现型(Phenotype)
参数集、候选解
个体(Individual)
解
适者生存
在算法停止时,最优目标值的解有最大可能被留住
适应性(Fitness)
适应度函数值
群体(Population)
选定的一组解
复制(Reproduction)
根据适应度函数值选取的一组解
交配(Crossover)
通过交配产生一组新解的过程
变异(Mutation)
编码的某一个分量发生变化的过程
英国谢菲尔德大学开发的遗传算法工具箱把参数,选择,交叉,变异等过程封装成函数进行操作,其基本搜索过程不变。
表3.2遗传算法工具箱常用函数
创建种群
crtbase
创建基向量
crtbp
创建任意离散随即种群
crtrp
创建实值初始种群(bs2rv)
适应度计算
ranking
常用的基于秩的适应度计算
scaling
比率适应度计算
选择函数
reins
一致随机和基于适应度的
重插入
rws
轮盘选择
select
高级选择例程
sus
随机遍历采样
变异算子
mut
离散变异
mutate
高级变异函数
mutbga
实值变异
交叉算子
recdis
离散重组
recint
中间重组
reclin
线性重组
recmut
具有变异特征的线性重组
recombine
高级重组算子
xovdp
两点交叉算子
xovdprs
减少代理的两点交叉
xovmp
通常多点交叉
xovsh
洗牌交叉
xovshrs
减少代理的洗牌交叉
xovsp
单点交叉
xovsprs
减少代理的单点交叉
子种群的支持
migrate
在子种群间交换个体
实用函数
bs2rv
二进制串到实值的转换
rep
矩阵的复制
3.2利用遗传算法优化过程
1)根据遗传算法优缺点这里选择遗传代数为100,种群大小为30,变量维数为3其中10≤Kp≤20,0≤Ki≤1,0≤Kd≤1,要求精度0.0001所以二进制串编码长度为17故Kp精度为(20-10)/(-1)Ki,Kd精度为(1-0)/(-1),代沟为0.9,交叉概率为0.6,变异概率为0.01。
2)适应度函数的设计
PID优化设计的目的是使系统某些性能指标最优,然而,单纯的误差性能指标很难同时满足系统对快速性、稳定性和鲁棒性的要求,因此在适应度函数中引入超调量、上升时间和累计绝对误差指标项。
设σ=(|yp-yref|/yref)×
100%为系统的超调量,yp和yref分别为输出峰值和输入参考值;
t*r为上升时间,将其定义为输出从0第1次达到0.95yref的时间;
ek=yk-yref为采样时刻k的输出误差;
wj(j=1,2,3)为权重系数。
则多目标适应度函数为:
(5)
通过对权重系数的调整,可以改变系统对快速性和稳定性的要求。
如系统要求较小的超调,可以适当增大w1;
若系统要求快速的动态响应,则可以适当增大w2。
计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。
因此连续PID控制算法不能直接使用,需要采用离散化方法。
在计算机PID控制中,使用的是数字PID控制器。
图3.2增量式PID控制系统
增量式PID控制是数字控制器的输出只是控制器的增量△u(k)。
当执行机构需要的是控制量的增量时,应采用增量式PID控制,采样时刻点kT(T为采样周期)代表连续时间t。
做如下近似变换来离散化:
可得离散的PID表达式:
增量式PID控制算法:
增量式PID控制算法不需多次累加,控制增量△u(k)仅与最近3次得采样有关,所以误动作时的影响相对较小
图3.3基于GA算法参数调整的PID控制系统
采样时间取1ms,为获取满意的过渡过程动态特性,采用误差绝对值时间积分性能指标作为参数选择的目标函数。
为防止控制量过大,在目标函数中加入控制输入的平方项。
选用下式作为参数选取的最优指标
为系统偏差,为PID控制器输出,为上升时间。
为避免超调了,采用惩罚功能,一旦产生超调,将超调量作为最优指标的一项,此时最优指标为
J值越小,对应的PID参数越优良。
但是,由于GA算法用于求解最大值问题,所以需要对J做一个简单变形,从而得到算法的适应度函数:
3)依据遗传算法的步骤编写程序并仿真
图3.4BestKpKiKd优化值时的阶跃响应
图3.5J随进化代数的变化曲线
图3.6优化得到BestKpKiKd及此时的LeastJ
4.程序代码
1.GA.m文件
%GA(GenericAlgorithm)ProgramtooptimizeParametersofPID
clc
clearall;
closeall;
%清除命令,变量,关闭窗口
globalrinyouttimef
%输入,输出,离散时间
%******Initialization******%
MAXGEN=100;
%遗传代数
NIND=30;
%种群大小
NVAR=3;
%变量维数
PRECI=17;
%变量精度
GGAP=0.9;
%代沟(Generationgap)
Pc=0.6;
%交叉概率
Pm=0.01;
%变异概率
FieldD=[PRECI,PRECI,PRECI;
10,0,0;
20,1,1;
1,1,1;
0,0,0;
1,1,1;
1,1,1];
%区域描述器
Chrom=crtbp(NIND,NVAR*PRECI);
%初始种群
fori=1:
1:
MAXGEN
gen(i)=i;
%遗传代数
%******Step1:
EvaluateLeastJ******
KpKiKdlsj=bs2rv(Chrom,FieldD);
%各代种群由二进制串转化为实值
forj=1:
NIND
J=0;
KpKiKd=KpKiKdlsj(j,:
);
[KpKiKd,J]=pidf(KpKiKd,J);
%计算本代种群中各个个体的目标函数值
Lsj(j,1)=J;
end
[OderLsj,IndexLsj]=sort(Lsj);
%本代种群中各个个体的目标函数值升序排列
genlstj(i)=OderLsj
(1);
%升序排列中第一个最小,为本代最优
BestKpKiKd=KpKiKdlsj(IndexLsj
(1),:
%BestKpKiKd
Lsj=Lsj+1e-10;
%Avoidingdevidingzero1*10^(-10)
Msj=1./Lsj;
%设置适应度函数
[OderMsj,IndexMsj]=sort(Msj);
%Arrangingfismalltobigger适应度值升序排列
genmost=OderMsj(NIND)
;
%LetBestfi=max(fi)升序中最后一个最大,为本代最优
moststring=Chrom(IndexMsj(NIND),:
%本代中对应最优的PID参数
%******Step2:
SelectandReproductOperation******
FitnV=ranking(Lsj);
%分配适应度值(Assignfitnessvalues)
SelCh=select('
sus'
Chrom,FitnV,GGAP);
%选择
%************Step3:
CrossoverOperation************
SelCh=reco
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 遗传 算法 PID 作业 精品 毕业设计 完整版