在饲料配方设计中实数编码的遗传算法的运用_第1页
在饲料配方设计中实数编码的遗传算法的运用_第2页
在饲料配方设计中实数编码的遗传算法的运用_第3页
在饲料配方设计中实数编码的遗传算法的运用_第4页
在饲料配方设计中实数编码的遗传算法的运用_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在饲料配方设计中实数编码的遗传算法的运用在饲料配方设计中实数编码的遗传算法的运用一、研究意义1、引入新的优化算法——遗传算法,解决现有饲料配方设计中由纯数学思维算法本身局限性所产生的不足。如:线性规划模型中,当约束条件之间或约束条件与目标函数间存在矛盾时,系统无可行解;数学上给出的满足约束条件和目标函数的优化配方,从营养学的角度看有时又是不可行的。在饲料配方设计中实数编码的遗传算法的运用一、研究意义2、解决标准遗传算法在计算饲料配方时易产生早熟现象以及局部寻优能力差等问题。如:用标准遗传算法在计算饲料配方时易产生早熟现象以及局部寻优能力差等问题,特别是在原料多,约束条件多的情况下,这种缺点表现的更为明显。在饲料配方设计中实数编码的遗传算法的运用二、遗传算法(GeneticAlgorithm,GA)遗传算法(GeneticAlgorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。1975年遗传算法美国教授具有内在的隐并行性和更好的全局寻优能力;直接对结构对象进行操作,不存在求导和函数连续性的限定;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。在饲料配方设计中实数编码的遗传算法的运用1、遗传算法的组成遗传算法可定义为一个8员组:SGA=(C,E,P0,M,Φ,Γ,Ψ,T)C——

个体的编码方法;

E——

个体适应度评价函数;

P0——

初始群体;

M——

群体大小;

Φ——

选择算子;

Γ——

交叉算子;

Ψ——

变异算子;

T——

遗传运算终止条件。在饲料配方设计中实数编码的遗传算法的运用2、遗传算法思想初始化群体;计算群体上每个个体的适应度值;按由个体适应度值所决定的某个规则选择将进入下一代的个体;按概率Pc进行交叉操作;按概率Pm进行突变操作;没有满足某种停止条件,则转第(2)步,否则进入(7)。输出种群中适应度值最优的染色体作为问题的满意解或最优解。在饲料配方设计中实数编码的遗传算法的运用3、遗传算法的优点(1)遗传对所解的优化问题没有太多的数学要求,遗传算法可以处理任意形式的目标函数和约束,无论是线性的还是非线性的,离散的还是连续,甚至混合的搜索空间。(2)进化算子的各态历经性使得遗传算法能够非常有效的进行概率意义下的全局搜索,而传统的优化方法是通过邻近点比较而转移到较好的点,从而达到收敛的局部搜索过程。(3)遗传算法对于各种特殊问题可以提供极大的灵活性来混合构造领域独立的启发式,从而保证算法的有效性。在饲料配方设计中实数编码的遗传算法的运用4、遗传算法性能分析指标(1)在线性性能评估在线性能表示为:其中:T是进化代数;是第t代的平均适应度函数;表示到T代为止所有适应度函数值的平均性能。在线指标用于说明算法的在线性能。在饲料配方设计中实数编码的遗传算法的运用4、遗传算法性能分析指标(2)离线性性能评估离线性能表示为:其中是第t代最好的个体的适应度函数值;表示至第T代每次最好的适应度函数值的平均。离线指标用于说明算法的收敛性。在饲料配方设计中实数编码的遗传算法的运用三、遗传算法在饲料配方设计中的应用

算法设计流程图饲料配方问题描述确定决策变量、约束条件建立线性规划模型确定适应度转换规则设计遗传因子个体表型X编码方法解码方法个体基因型X确定运行参数适应度函数F(x)遗传算法算法调试运行在饲料配方设计中实数编码的遗传算法的运用1、标准遗传算法在饲料配方设计中的应用1.1编码策略

在遗传算法的运行过程中,它不对所求解问题的实际决策变量直接进行操作,而是对表示可行解的个体编码施加选择、交叉、变异等遗传算法,通过这种遗传操作来达到优化的目的,这是遗传算法的特点之一。遗传算法通过这种对个体编码的操作,不断搜索出适应度较高的个体,并在群体中逐渐增加其数量,最终寻求出问题的最优解或近似最优解。在遗传算法中如何描述问题的可行解,即把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法就称为编码。在饲料配方设计中实数编码的遗传算法的运用1.1编码策略二进制编码浮点数编码符号编码存在缺点:1、海明悬崖;2、求解的精度确定后算法缺乏微调能力;3、算法精度要求高或二进制编码字串长时,算法搜索效率较低。

也称实数编码,是指个体的每个基因值用某一范围内的一个浮点数来表示,个体的编码长度等于其决策变量的个数。根据饲料配方设计的要求及实数编码的特点,在本次饲料配方中的标准遗传算法采用实数编码。

在饲料配方设计中实数编码的遗传算法的运用1.2初始种群的生成根据饲料原料及其营养成分表中各种原料的用量上限、用量下限、等量使用的要求,在最优解所占问题空间中的分布范围内使用随机生成初始种群。具体实现过程:在饲料配方设计中实数编码的遗传算法的运用1.2初始种群的生成(1)生成随机种子;(2)设定初始种群的数量;(3)利用约束条件对生成的每一个随机数的上下限进行控制,保证生成的随机数在约束条件围内;(4)测试生成的种群中各原料是否能满足营养需求,若不能满足则返回(3);(5)初始种群的数量是否达到,若达到则跳出,否则返回(3)。

在饲料配方设计中实数编码的遗传算法的运用1.3适应度函数度量个体适应度的函数称为适应度函数。饲料配方设计的要求是在保证满足饲养标准要求的条件下降低饲料配方的成本。因此,本研究中遗传算法的个体适应度函数的设计采用饲料成本极小化方法。适应度函数为:ci代表第i种的饲料原料的市场价格;xi代表第i种饲料原料在配方中的含量;Zmin为饲料配方的成本;n为饲料原料的种类数。适应度较高的个体遗传到下一代的概率较大,适应度较低的个体遗传到下一代的概率相对较小。在饲料配方设计中实数编码的遗传算法的运用1.4选择操作选择操作也叫复制操作,从群体中按个体的适应度函数值选择出较适应环境的个体。标准遗传算法中采用轮盘赌模型。选择操作的主要目的是提高全局的收敛性和计算效率。

饲料配方设计中的标准遗传算法的选择操作的实现:

在饲料配方设计中实数编码的遗传算法的运用1.4选择操作

以单个个体适应度值倒数占种群中共np个个体的适应度值倒数之和的比率作为选择概率。即:单个个体适应度值倒数:适应度值倒数之和:选择概率:(1<=j<=np)在饲料配方设计中实数编码的遗传算法的运用1.5交叉过程交叉运算是产生新个体的主要方法,是决定算法收敛性能的关键。标准遗传算法中,进行交叉操作时,首先按照预先设定的交叉概率选出要进行交叉的个体,形成交叉配对池,然后对配对池中的个体进行完全随机的等概率一一配对,最后对每一对父代个体随机确定交叉点,交换基因片段,生成新的子代个体。在饲料配方设计中实数编码的遗传算法的运用1.5交叉过程根据实数编码的特点,交叉方式选择算术交叉。算术交叉是指由两个个体的线性组合而产生出两个新的个体。当满足概率Pc,则:rnd是[0,1]上的随机数。在饲料配方设计中实数编码的遗传算法的运用1.5交叉过程否种群中的每个个体Xi是否选择完成?针对Xi生成随机数R随机数R小于交叉概率Pc?种群中的个体Xi进入交叉配对池种群配对池中的每个个体是否配对完成?随机配对随机选择交叉点交换基因片段进入下一阶段操作是否是是否标准交叉操作具体流程图在饲料配方设计中实数编码的遗传算法的运用1.6变异过程变异运算是产生新个体的辅助方法。但也是必不可少的一步运算步骤。主要目的:(1)提高了遗传算法的局部搜索能力。

(2)维持群体的多样性,防止出现早熟现象。在本研究中,基本遗传算法变异过程的实现采用均匀变异,即在变异过程中,个体中的一个随机基因,在约束条件的上下范围内实现随机生成,并替换原有基因值。在饲料配方设计中实数编码的遗传算法的运用1.7算法操作的基本步骤(1)根据配方设计要求进行实数编码;(2)随机初始化群体P(0)=(p1,p2,…pn);(3)计算群体上每个个体的适应度值(Fitness);(4)评估适应度,对当前群体P(t)中每个个体Pi计算其适应度F(Pi);(5)按由个体适应度值所决定的某个规则应用选择算子产生中间代Pr(t);(6)依照交叉概率Pc选择个体进行交叉操作;(7)根据变异概率Pm对繁殖个体进行变异操作;(8)没有满足某种停止条件,则转第(3)步,否则进入(9)步;(9)输出种群中适应度值最优的个体。算法的停止条件:完成了预先给定的进化代数则停止。在饲料配方设计中实数编码的遗传算法的运用运行参数确定通过100次试验,分别确定:终止代数G=300;群体大小M=128;交叉概率;变异概率。在饲料配方设计中实数编码的遗传算法的运用标准遗传算法的不足1、算法的运算时间长;2、计算后的结果不理想,与单纯型法的结果相比还有一定的差距。造成不足的原因:标准遗传算法在进化过程中易产生早熟现象和局部寻优能力差等问题。在饲料配方设计中实数编码的遗传算法的运用2、改进的遗传算法2.1编码策略同标准遗传算法。2.2初始种群生成同标准遗传算法。2.3适应度函数同标准遗传算法。在饲料配方设计中实数编码的遗传算法的运用2.4选择策略标准遗传算法选择策略——轮盘赌模型存在以下缺陷:(1)适应度函数中有较多指标需要计算,特别在多次的迭代过程中,一定程度上影响了程序运行效率;(2)不能保证最优个体进入下一轮竞争。

在饲料配方设计中实数编码的遗传算法的运用2.4选择策略针对以上缺陷,对选择策略进行优化:(1)采用随机联赛选择模型替代轮盘赌模型,降低计算机处理时间。操作:每次从群体中随机选取4个个体进行适应度大小比较,将其中适应度最高的2个个体遗传到下一代群体;重复上述过程直到下一代群体完全生成。(2)构造新的种群时,采用精英主义方法。操作:在交叉和变异的过程中允许父代和子代进行竞争,让优良个体进入下一轮的竞争环境,这样既保证了算法的迭代稳定性,又保证了算法具有实现局部最优化的能力。在饲料配方设计中实数编码的遗传算法的运用2.5交叉操作标准遗传算法交叉操作存在的缺陷:子代个体的搜索空间将不断收缩,从而导致早熟。针对以上缺陷,对交叉操作进行改进。对父代矢量的各个分量进行交叉时,采用不同的随机数:child1[j]=parent1[j]+rnd[j](parent2[j]-parent1[j])child2[j]=parent2[j]+rnd[j](parent1[j]-parent2[j])parent1[j]、parent2[j]分别为父代parent1、parent2的分量;child1[j]、child2[j]分别为子代个体矢量child1、child2的分量;rnd[j]为[-2,2]区间的随机数。在饲料配方设计中实数编码的遗传算法的运用2.6变异操作标准遗传算法变异操作存在的缺陷:均匀变异特点适合应用于遗传算法的初期运行阶段,但在运行阶段后期对于局部的重点搜索,均匀变异的收敛难于达到一个很好的效果。针对以上缺陷,对变异操作进行改进:采用高斯变异来改进均匀变异,高斯变异时符合正态分布的随机数Q可由一些符合均匀分布的随机数利用公式来近似产生。在饲料配方设计中实数编码的遗传算法的运用2.7交叉概率和变异概率

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论