十四天就能养成一个习惯,放不开,有时大多是因为一种适应而已。少浏览网页,还是踏实做些工作的好。
老师让准备遗传算法的PID控制,自己看点书,就拙劣的搬上来吧,也符合科学网的风格。
遗传算法简称GA,模拟自然界遗传机制和生物进化论而成的一种并行搜索最优化方法。将优胜劣汰,适者生存的生物进化原理引入优化参数形成的编码串联群体中,按所选择的适配值函数并通过遗传中的复制、交叉及变异对个体进行筛选,使适配值高的个体被保留下来,组成新的群体,不断迭代,最终得到全局最优解。
遗传算法的基本操作是复制、交叉、变异
复制:是从一个旧种群中选择生命力强的个体位串产生新种群的过程。根据个体位串的适配值复制,复制操作可以通过随机方式来实现。
交叉:模拟了生物进化过程中的繁殖现象,在匹配池中任选两个数据,随机选择一点或多点交换点位置,得到新的数据。体现了信息交换的思想。
遗传算法的应用步骤
第一步:确定决策变量及各种约束条件,即确定出个体的表现型X和问题的解空间。
第二步:建立优化模型,即确定出目标函数的类型及数学描述形式或量化方法。
第三步:确定可行解的染色体编码方法,即确定出个体的基因型x及遗传算法的搜索空间。 所谓编码是将所要优化的参数按照一定的规则从参数空间映射为编码空间的一个“基因”。
第四步:确定解码方法,即给定出由个体基因型x到个体表现型X的对应关系或转换方法。通过遗传操作获得最优的“染色体”,将其复原成为原参数空间的值,这就是解码操作。解码与编码是互逆操作。
第五步: 确定个体适应度的量化评价方法,即确定出由目标函数值J(x)到个体适应度函数F(x)的转换规则。适应度函数实际上就是优化目标函数的一种表现形式,对于PID控制器的参数寻优,所用目标函数很多。
第六步:设计遗传算子,即确定选择运算,交叉运算,变异运算等遗传算子的具体操作方法。
遗传操作是按照给定的某一个适应度函数来评价每个个体的生存能力,然后仿造自然界“优胜劣汰”的进化原理,给出每个个体不同的存活概率,并通过交叉、变异操作产生新的染色体,多次遗传操作。