智能优化算法总结

优化算法有很多,经典算法包括:有线性规划,动态规划等;改进型局部搜索算法包括爬山法,最速下降法等,模拟退火、遗传算法以及禁忌搜索称作指导性搜索法。而神经网络,混沌搜索则属于系统动态演化方法。

梯度为基础的传统优化算法具有较高的计算效率、较强的可靠性、比较成熟等优点,是一类最重要的、应用最广泛的优化算法。但是,传统的最优化方法在应用于复杂、困难的优化问题时有较大的局限性。一个优化问题称为是复杂的,通常是指具有下列特征之一:(1)目标函数没有明确解析表达;(2)目标函数虽有明确表达,但不可能恰好估值;(3)目标函数为多峰函数;(4)目标函数有多个,即多目标优化。一个优化问题称为是困难的,通常是指:目标函数或约束条件不连续、不可微、高度非线性,或者问题本身是困难的组合问题。传统优化方法往往要求目标函数是凸的、连续可微的,可行域是凸集等条件,而且处理非确定性信息的能力较差。这些弱点使传统优化方法在解决许多实际问题时受到了限制。

智能优化算法一般都是建立在生物智能或物理现象基础上的随机搜索算法,目前在理论上还远不如传统优化算法完善,往往也不能确保解的最优性,因而常常被视为只是一些“元启发式方法”(meta-heuristic)。但从实际应用的观点看,这类新算法一般不要求目标函数和约束的连续性与凸性,甚至有时连有没有解析表达式都不要求,对计算中数据的不确定性也有很强的适应能力。

下面给出一个局部搜索,模拟退火,遗传算法,禁忌搜索的形象比喻:
  
  为了找出地球上最高的山,一群有志气的兔子们开始想办法。
   
  1.兔子朝着比现在高的地方跳去。他们找到了不远处的最高山峰。但是这座山不一定是珠穆朗玛峰。这就是局部搜索,它不能保证局部最优值就是全局最优值。
   
  2.兔子喝醉了。他随机地跳了很长时间。这期间,它可能走向高处,也可能踏入平地。但是,他渐渐清醒了并朝最高方向跳去。这就是模拟退火。

  3.兔子们吃了失忆药片,并被发射到太空,然后随机落到了地球上的某些地方。他们不知道自己的使命是什么。但是,如果你过几年就杀死一部分海拔低的兔子,多产的兔子们自己就会找到珠穆朗玛峰。这就是遗传算法。
   
  4.兔子们知道一个兔的力量是渺小的。他们互相转告着,哪里的山已经找过,并且找过的每一座山他们都留下一只兔子做记号。他们制定了下一步去哪里寻找的策略。这就是禁忌搜索。

一般而言,局部搜索就是基于贪婪思想利用邻域函数进行搜索,若找到一个比现有值更优的解就弃前者而取后者。但是,它一般只可以得到“局部极小解”,就是说,可能这只兔子登“登泰山而小天下”,但是却没有找到珠穆朗玛峰。而模拟退火,遗传算法,禁忌搜索,神经网络等从不同的角度和策略实现了改进,取得较好的“全局最小解”。
  
  模拟退火算法(Simulated Annealing,SA)
  
  模拟退火算法的依据是固体物质退火过程和组合优化问题之间的相似性。物质在加热的时候,粒子间的布朗运动增强,到达一定强度后,固体物质转化为液态,这个时候再进行退火,粒子热运动减弱,并逐渐趋于有序,最后达到稳定。
  
  模拟退火的解不再像局部搜索那样最后的结果依赖初始点。它引入了一个接受概率p。如果新的点(设为pn)的目标函数f(pn)更好,则p=1,表示选取新点;否则,接受概率p是当前点(设为pc)的目标函数f(pc),新点的目标函数f(pn)以及另一个控制参数“温度”T的函数。也就是说,模拟退火没有像局部搜索那样每次都贪婪地寻找比现在好的点,目标函数差一点的点也有可能接受进来。随着算法的执行,系统温度T逐渐降低,最后终止于某个低温,在该温度下,系统不再接受变化。
  
  模拟退火的典型特征是除了接受目标函数的改进外,还接受一个衰减极限,当T较大时,接受较大的衰减,当T逐渐变小时,接受较小的衰减,当T为0时,就不再接受衰减。这一特征意味着模拟退火与局部搜索相反,它能避开局部极小,并且还保持了局部搜索的通用性和简单性。

  在物理上,先加热,让分子间互相碰撞,变成无序状态,内能加大,然后降温,最后的分子次序反而会更有序,内能比没有加热前更小。就像那只兔子,它喝醉后,对比较近的山峰视而不见,迷迷糊糊地跳一大圈子,反而更有可能找到珠峰。

值得注意的是,当T为0时,模拟退火就成为局部搜索的一个特例。 

   
  模拟退火的伪码表达:
  procedure simulated annealing
  begin
  t:=0;
  initialize temperature T
  select a current string vc at random;
  evaluate vc;
  repeat
   repeat
   select a new string vn in the neighborhood of vc; (1)
   if f(vc)   then vc:=vn;
   else if random [0,1]    then vc:=vn;
  until (termination-condition) (3)
  T:=g(T,t); (4)
  T:=t+1;
   until (stop-criterion) (5)
  end;
   
  上面的程序中,关键的是(1)新状态产生函数,(2)新状态接受函数,(3)抽样稳定准则,(4)退温函数,(5)退火结束准则 (简称三函数两准则)是直接影响优化结果的主要环节。虽然实验结果证明初始值对于最后的结果没有影响,但是初温越高,得到高质量解的概率越大。所以,应该尽量选取比较高的初温。
  
  上面关键环节的选取策略:

  (1)状态产生函数:候选解由当前解的邻域函数决定,可以取互换,插入,逆序等操作产生,然后根据概率分布方式选取新的解,概率可以取均匀分布、正态分布、高斯分布、柯西分布等。
   
  (2)状态接受函数:这个环节最关键,但是,实验表明,何种接受函数对于最后结果影响不大。所以,一般选取min [1, exp ((f (vn)-f (vc))/T)]。

  (3)抽样稳定准则:一般常用的有:检验目标函数的均值是否稳定;连续若干步的目标值变化较小;规定一定的步数;
   
  (4)退温函数:如果要求温度必须按照一定的比率下降,SA算法可以采用 ,但是温度下降很慢;快速SA中,一般采用 。目前,经常用的是一个不断变化的值。

  (5)退火结束准则:一般有:设置终止温度;设置迭代次数;搜索到的最优值连续多次保持不变;检验系统熵是否稳定。
  
  为了保证有比较优的解,算法往往采取慢降温、多抽样、以及把“终止温度”设的比较低等方式,导致算法运行时间比较长,这也是模拟退火的最大缺点。人喝醉了酒办起事来都不利索,何况兔子?
  
  遗传算法(Genetic Algorithm, GA)
  
  “物竞天择,适者生存”,是进化论的基本思想。遗传算法就是模拟自然界想做的事。遗传算法可以很好地用于优化问题,若把它看作对自然过程高度理想化的模拟,更能显出它本身的优雅——虽然生存竞争是残酷的。
  
  遗传算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。其中,选择、交叉和变异构成了遗传算法的遗传操作;参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素组成了遗传算法的核心内容。

  作为一种新的全局优化搜索算法,遗传算法以其简单通用、健壮性强、适于并行处理以及高效、实用等显著特点,在各个领域得到了广泛应用,取得了良好效果,并逐渐成为重要的智能算法之一。
   
  遗传算法的伪码:
   
  procedure genetic algorithm
  begin
   initialize a group and evaluate the fitness value ; (1)
   while not convergent (2)
   begin
   select; (3)
   if random[0,1]
   crossover; (4)
   if random (0,1)
   mutation; (5)
   end;
  end
  上述程序中有五个重要的环节:
  (1)编码和初始群体的生成:GA在进行搜索之前先将解空间的解数据表示成遗传空间的基因型串结构数据,这些串结构数据的不同组合便构成了不同的点。然后随机产生N个初始串结构数据,每个串结构数据称为一个个体, N个体构成了一个群体。GA以这N个串结构数据作为初始点开始迭代。
  
  比如,旅行商问题中,可以把商人走过的路径进行编码,也可以对整个图矩阵进行编码。编码方式依赖于问题怎样描述比较好解决。初始群体也应该选取适当,如果选取的过小则杂交优势不明显,算法性能很差(数量上占了优势的老鼠进化能力比老虎强),群体选取太大则计算量太大。
  
  (2)检查算法收敛准则是否满足,控制算法是否结束。可以采用判断与最优解的适配度或者定一个迭代次数来达到。
   
  (3)适应性值评估检测和选择:适应性函数表明个体或解的优劣性,在程序的开始也应该评价适应性,以便和以后的做比较。不同的问题,适应性函数的定义方式也不同。根据适应性的好坏,进行选择。选择的目的是为了从当前群体中选出优良的个体,使它们有机会作为父代为下一代繁殖子孙。遗传算法通过选择过程体现这一思想,进行选择的原则是适应性强的个体为下一代贡献一个或多个后代的概率大。选择实现了达尔文的适者生存原则。
   
  (4)杂交:按照杂交概率(pc)进行杂交。杂交操作是遗传算法中最主要的遗传操作。通过杂交操作可以得到新一代个体,新个体组合了其父辈个体的特性。杂交体现了信息交换的思想。
   
  可以选定一个点对染色体串进行互换,插入,逆序等杂交,也可以随机选取几个点杂交。杂交概率如果太大,种群更新快,但是高适应性的个体很容易被淹没,概率小了搜索会停滞。
   
  (5)变异:按照变异概率(pm)进行变异。变异首先在群体中随机选择一个个体,对于选中的个体以一定的概率随机地改变串结构数据中某个串的值。同生物界一样,GA中变异发生的概率很低。变异为新个体的产生提供了机会。
   
  变异可以防止有效基因的缺损造成的进化停滞。比较低的变异概率就已经可以让基因不断变更,太大了会陷入随机搜索。想一下,生物界每一代都和上一代差距很大,会是怎样的可怕情形。
  
  就像自然界的变异适和任何物种一样,对变量进行了编码的遗传算法没有考虑函数本身是否可导,是否连续等性质,所以适用性很强;并且,它开始就对一个种群进行操作,隐含了并行性,也容易找到“全局最优解”。
  
  禁忌搜索算法(Tabu Search,TS)
   
  为了找到“全局最优解”,就不应该执着于某一个特定的区域。局部搜索的缺点就是太贪婪地对某一个局部区域以及其邻域搜索,导致一叶障目,不见泰山。禁忌搜索就是对于找到的一部分局部最优解,有意识地避开它(但不是完全隔绝),从而获得更多的搜索区间。兔子们找到了泰山,它们之中的一只就会留守在这里,其他的再去别的地方寻找。就这样,一大圈后,把找到的几个山峰一比较,珠穆朗玛峰脱颖而出。  
  
  当兔子们再寻找的时候,一般地会有意识地避开泰山,因为他们知道,这里已经找过,并且有一只兔子在那里看着了。这就是禁忌搜索中“禁忌表(tabu list)”的含义。那只留在泰山的兔子一般不会就安家在那里了,它会在一定时间后重新回到找最高峰的大军,因为这个时候已经有了许多新的消息,泰山毕竟也有一个不错的高度,需要重新考虑,这个归队时间,在禁忌搜索里面叫做“禁忌长度(tabu length)”;如果在搜索的过程中,留守泰山的兔子还没有归队,但是找到的地方全是华北平原等比较低的地方,兔子们就不得不再次考虑选中泰山,也就是说,当一个有兔子留守的地方优越性太突出,超过了“best to far”的状态,就可以不顾及有没有兔子留守,都把这个地方考虑进来,这就叫“特赦准则(aspiration criterion)”。这三个概念是禁忌搜索和一般搜索准则最不同的地方,算法的优化也关键在这里。
  
  伪码表达:
  procedure tabu search;
  begin
   initialize a string vc at random,clear up the tabu list;
   cur:=vc;
   repeat
  select a new string vn in the neighborhood of vc;
  if va>best_to_far then {va is a string in the tabu list}
  begin
   cur:=va;
   let va take place of the oldest string in the tabu list;
   best_to_far:=va;
  end else
  begin
   cur:=vn;
   let vn take place of the oldest string in the tabu list;
  end;
   until (termination-condition);
  end;
  
  以上程序中有关键的几点:
  (1)禁忌对象:可以选取当前的值(cur)作为禁忌对象放进tabu list,也可以把和当然值在同一“等高线”上的都放进tabu list。

  (2)为了降低计算量,禁忌长度和禁忌表的集合不宜太大,但是禁忌长度太小容易循环搜索,禁忌表太小容易陷入“局部极优解”。
  
  (3)上述程序段中对best_to_far的操作是直接赋值为最优的“解禁候选解”,但是有时候会出现没有大于best_to_far的,候选解也全部被禁的“死锁”状态,这个时候,就应该对候选解中最佳的进行解禁,以能够继续下去。
   
  (4)终止准则:和模拟退火,遗传算法差不多,常用的有:给定一个迭代步数;设定与估计的最优解的距离小于某个范围时,就终止搜索;当与最优解的距离连续若干步保持不变时,终止搜索;
  
  禁忌搜索是对人类思维过程本身的一种模拟,它通过对一些局部最优解的禁忌(也可以说是记忆)达到接纳一部分较差解,从而跳出局部搜索的目的。
  
  人工神经网络(Artificial Neural Network,ANN)
  
  神经网络从名字就知道是对人脑的模拟。它的神经元结构,它的构成与作用方式都是在模仿人脑,但是也仅仅是粗糙的模仿,远没有达到完美的地步。和冯·诺依曼机不同,神经网络计算非数字,非精确,高度并行,并且有自学习功能。
   
  生命科学中,神经细胞一般称作神经元,它是整个神经结构的最基本单位。每个神经细胞就像一条胳膊,其中像手掌的地方含有细胞核,称作细胞体,像手指的称作树突,是信息的输入通路,像手臂的称作轴突,是信息的输出通路;神经元之间错综复杂地连在一起,互相之间传递信号,而传递的信号可以导致神经元电位的变化,一旦电位高出一定值,就会引起神经元的激发,此神经元就会通过轴突传出电信号。
   
  而如果要用计算机模仿生物神经,就需要人工的神经网络有三个要素:(1)形式定义人工神经元;(2)给出人工神经元的连接方式,或者说给出网络结构;(3)给出人工神经元之间信号强度的定义。  
  
  历史上第一个人工神经网络模型称作M-P模型,非常简单: 其中,
  表示神经元i在t时刻的状态,为1表示激发态,为0表示抑制态;
  是神经元i和j之间的连接强度;
  表示神经元i的阈值,超过这个值神经元才能激发。

  这个模型是最简单的神经元模型。但是功能已经非常强大:此模型的发明人McCulloch和Pitts已经证明,不考虑速度和实现的复杂性,它可以完成当前数字计算机的任何工作。
  
  以上这个M-P模型仅仅是一层的网络,如果从对一个平面进行分割的方面来考虑的话,M-P网络只能把一个平面分成个半平面,却不能够选取特定的一部分。而解决的办法就是“多层前向网路”。
  
  图2是多层前向网络的示意图。最下面的称作输入层,最上面一层称作输出层,任何一个中间层都接受来自前一层的所有输入,加工后传入后一层。每一层的神经元之间没有联系,输入输出层之间也没有直接联系,并且仅仅是单向联系,没有反馈。这样的网络被称作“多层前向网络”。数据在输入后,经过每一层的加权,最后输出结果。
   
  如图3,用可覆盖面来说明多层网络的功能:单层网络只能把平面分成两部分,双层网络就可以分割任意凸域,多层网络则可以分割任意区域。
  为了让这种网络有合适的权值,必须给网络一定的激励,让它自己学习,调整。一种方法称作“向后传播算法(Back Propagation,BP)”,其基本思想是考察最后输出解和理想解的差异,调整权值,并把这种调整从输出层开始向后推演,经过中间层,达到输入层。
  
  可见,神经网络是通过学习来达到解决问题的目的,学习没有改变单个神经元的结构和工作方式,单个神经元的特性和要解决的问题之间也没有直接联系,这里学习的作用是根据神经元之间激励与抑制的关系,改变它们的作用强度。学习样本中的任何样品的信息都包含在网络的每个权值之中。
   
  BP算法中有考察输出解和理想解差异的过程,假设差距为w,则调整权值的目的就是为了使得w最小化。这就又包含了前文所说的“最小值”问题。一般的BP算法采用的是局部搜索,比如最速下降法,牛顿法等,当然如果想要得到全局最优解,可以采用模拟退火,遗传算法等。当前向网络采用模拟退火算法作为学习方法的时候,一般成为“波尔兹曼网络”,属于随机性神经网络。
   
  在学习BP算法学习的过程中,需要已经有一部分确定的值作为理想输出,这就好像中学生在学习的时候,有老师的监督。如果没有了监督,人工神经网络该怎么学习?
   
  就像没有了宏观调控,自由的市场引入了竞争一样,有一种学习方法称作“无监督有竞争的学习”。在输入神经元i的若干个神经元之间开展竞争,竞争之后,只有一个神经元为1,其他均为0,而对于失败的神经元,调整使得向对竞争有利的方向移动,则最终也可能在一次竞争中胜利;  
  
  人工神经网络还有反馈网络如Hopfield网络,它的神经元的信号传递方向是双向的,并且引入一个能量函数,通过神经元之间不断地相互影响,能量函数值不断下降,最后能给出一个能量比较低的解。这个思想和模拟退火差不多。
   
  人工神经网络应用到算法上时,其正确率和速度与软件的实现联系不大,关键的是它自身的不断学习。这种思想已经和冯·诺依曼模型很不一样。

由于人工神经网络中神经元个数众多以及整个网络存储信息容量的巨大,使得它具有很强的不确定性信息处理能力。即使输入信息不完全、不准确或模糊不清,神经网络仍然能够联想思维存在于记忆中的事物的完整图象。只要输入的模式接近于训练样本,系统就能给出正确的推理结论。

   
  总结

  模拟退火,遗传算法,禁忌搜索,神经网络在解决全局最优解的问题上有着独到的优点,并且,它们有一个共同的特点:都是模拟了自然过程。模拟退火思路源于物理学中固体物质的退火过程,遗传算法借鉴了自然界优胜劣汰的进化思想,禁忌搜索模拟了人类有记忆过程的智力过程,神经网络更是直接模拟了人脑。
   
  它们之间的联系也非常紧密,比如模拟退火和遗传算法为神经网络提供更优良的学习算法提供了思路。把它们有机地综合在一起,取长补短,性能将更加优良。
  
  这几种智能算法有别于一般的按照图灵机进行精确计算的程序,尤其是人工神经网络,是对计算机模型的一种新的诠释,跳出了冯·诺依曼机的圈子,按照这种思想来设计的计算机有着广阔的发展前景

  • 69
    点赞
  • 352
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
智能优化算法总结 优化算法有很多,经典算法包括:有线性规划,动态规划等;改进型局部搜索算法包括爬⼭法,最速下降法等,模拟退⽕、遗传算法以及禁 忌搜索称作指导性搜索法。⽽神经⽹络,混沌搜索则属于系统动态演化⽅法。 梯度为基础的传统优化算法具有较⾼的计算效率、较强的可靠性、⽐较成熟等优点,是⼀类最重要的、应⽤最⼴泛的优化算法。但是,传统 的最优化⽅法在应⽤于复杂、困难的优化问题时有较⼤的局限性。⼀个优化问题称为是复杂的,通常是指具有下列特征之⼀:(1)⽬标函 数没有明确解析表达;(2)⽬标函数虽有明确表达,但不可能恰好估值;(3)⽬标函数为多峰函数;(4)⽬标函数有多个,即多⽬标优 化。⼀个优化问题称为是困难的,通常是指:⽬标函数或约束条件不连续、不可微、⾼度⾮线性,或者问题本⾝是困难的组合问题。传统优 化⽅法往往要求⽬标函数是凸的、连续可微的,可⾏域是凸集等条件,⽽且处理⾮确定性信息的能⼒较差。这些弱点使传统优化⽅法在解决 许多实际问题时受到了限制。 智能优化算法⼀般都是建⽴在⽣物智能或物理现象基础上的随机搜索算法,⽬前在理论上还远不如传统优化算法完善,往往也不能确保解的 最优性,因⽽常常被视为只是⼀些"元启发式⽅法"(meta-heuristic)。但从实际应⽤的观点看,这类新算法⼀般不要求⽬标函数和约束 的连续性与凸性,甚⾄有时连有没有解析表达式都不要求,对计算中数据的不确定性也有很强的适应能⼒。 下⾯给出⼀个局部搜索,模拟退⽕,遗传算法,禁忌搜索的形象⽐喻:      为了找出地球上最⾼的⼭,⼀群有志⽓的兔⼦们开始想办法。       1.兔⼦朝着⽐现在⾼的地⽅跳去。他们找到了不远处的最⾼⼭峰。但是这座⼭不⼀定是珠穆朗玛峰。这就是局部搜索,它不能保证局 部最优值就是全局最优值。       2.兔⼦喝醉了。他随机地跳了很长时间。这期间,它可能⾛向⾼处,也可能踏⼊平地。但是,他渐渐清醒了并朝最⾼⽅向跳去。这就 是模拟退⽕。   3.兔⼦们吃了失忆药⽚,并被发射到太空,然后随机落到了地球上的某些地⽅。他们不知道⾃⼰的使命是什么。但是,如果你过⼏年 就杀死⼀部分海拔低的兔⼦,多产的兔⼦们⾃⼰就会找到珠穆朗玛峰。这就是遗传算法。       4.兔⼦们知道⼀个兔的⼒量是渺⼩的。他们互相转告着,哪⾥的⼭已经找过,并且找过的每⼀座⼭他们都留下⼀只兔⼦做记号。他们制 定了下⼀步去哪⾥寻找的策略。这就是禁忌搜索。 ⼀般⽽⾔,局部搜索就是基于贪婪思想利⽤邻域函数进⾏搜索,若找到⼀个⽐现有值更优的解就弃前者⽽取后者。但是,它⼀般只可以得 到"局部极⼩解",就是说,可能这只兔⼦登"登泰⼭⽽⼩天下",但是却没有找到珠穆朗玛峰。⽽模拟退⽕,遗传算法,禁忌搜索,神经 ⽹络等从不同的⾓度和策略实现了改进,取得较好的"全局最⼩解"。      模拟退⽕算法(Simulated Annealing,SA)      模拟退⽕算法的依据是固体物质退⽕过程和组合优化问题之间的相似性。物质在加热的时候,粒⼦间的布朗运动增强,到达⼀定强度 后,固体物质转化为液态,这个时候再进⾏退⽕,粒⼦热运动减弱,并逐渐趋于有序,最后达到稳定。      模拟退⽕的解不再像局部搜索那样最后的结果依赖初始点。它引⼊了⼀个接受概率p。如果新的点(设为pn)的⽬标函数f(pn)更 好,则p=1,表⽰选取新点;否则,接受概率p是当前点(设为pc)的⽬标函数f(pc),新点的⽬标函数f(pn)以及另⼀个控制参数"温 度"T的函数。也就是说,模拟退⽕没有像局部搜索那样每次都贪婪地寻找⽐现在好的点,⽬标函数差⼀点的点也有可能接受进来。随着算 法的执⾏,系统温度T逐渐降低,最后终⽌于某个低温,在该温度下,系统不再接受变化。      模拟退⽕的典型特征是除了接受⽬标函数的改进外,还接受⼀个衰减极限,当T较⼤时,接受较⼤的衰减,当T逐渐变⼩时,接受较⼩的 衰减,当T为0时,就不再接受衰减。这⼀特征意味着模拟退⽕与局部搜索相反,它能避开局部极⼩,并且还保持了局部搜索的通⽤性和简 单性。   在物理上,先加热,让分⼦间互相碰撞,变成⽆序状态,内能加⼤,然后降温,最后的分⼦次序反⽽会更有序,内能⽐没有加热前更 ⼩。就像那只兔⼦,它喝醉后,对⽐较近的⼭峰视⽽不见,迷迷糊糊地跳⼀⼤圈⼦,反⽽更有可能找到珠峰。 值得注意的是,当T为0时,模拟退⽕就成为局部搜索的⼀个特例。       模拟退⽕的伪码表达:   procedure simulated annealing   begin   t:=0;   initialize temperature T   select a current string vc at random;   evaluate vc;   repeat    repeat    se
智能优化算法 智能优化算法 ⽬录 遗传算法(Genetic Algorithm) 遗传算法是模拟⽣物在⾃然环境中的遗传和进化的过程⽽形成的⾃适应全局最优化搜索算法。 理论 达尔⽂的⾃然选择学说表明,遗传和变异是决定⽣物进化的内在因素。遗传是指⽗代和⼦代之间,在性状上存在相似现象;变异是指⽗代和 ⼦代之间,以及⼦代的个体之间,在性状上存在差异的现象。在⽣物体内,遗传和变异的关系⼗分密切。⼀个⽣物的遗传往往会发⽣变异, ⽽变异的性状有的可以遗传。 遗传物质的主要载体是染⾊体,基因是有遗传效应的⽚段,他储存着遗传信息,可以准确的复制,也可以发⽣突变。⽣物⾃⾝通过对基因的 复制和交叉,是其性状的遗传得到选择和控制。同时,通过基因重组、基因变异和染⾊体在结构和数⽬上的便宜发⽣丰富多彩的变异现象。 总结⽣物遗传和进化的规律有: 1,⽣物的所有遗传信息都包含在其染⾊体中,染⾊体决定了⽣物的性状,染⾊体是由基因及其有规律的排列所构成。 2,⽣物的繁殖过程是由其基因的复制过程完成的。同源染⾊体的交叉或变异会产⽣新的物种,使⽣物呈现新的性状。 3,对环境适应能⼒强的基因或染⾊体,⽐适应能⼒差的基因或染⾊体有更多的机会遗传到下⼀代。 遗传学与遗传算法术语对应关系 遗传学术语 遗传学术语 遗传算法术语 遗传算法术语 群体 可⾏解集 个体 可⾏解 染⾊体 可⾏解编码 基因 可⾏解编码的分量 基因形式 遗传编码 适应度 评价函数值 选择 选择操作 交叉 交叉操作 变异 变异操作 特点 算法是模拟⽣物在⾃然环境中的遗传和进化的过程形成的⼀种并⾏、⾼效、全局搜索的⽅法,他有⼏下特点: 1,遗传算法以决策变量的编码作为运算的对象; 2,直接以⽬标函数值作为搜索信息; 3,同时使⽤多个搜索点的搜索信息; 4,是⼀种基于概率的搜索技术; 5,具有⾃组织、⾃适应和⾃学习等特性。 领域 20世纪90年代以后,它作为⼀种⾼效、实⽤、鲁棒性强的优化技术,发展极为迅速,在机器学习、模式识别、神经⽹络、控制系统优化及 社会科学等领域⼴泛应⽤。 算法流程 1. 初始化。设置进化代数计数器g=0,设置最⼤进化代数G,随机⽣成NP个个体作为初始群体P(0); 2. 个体评价。计算群体P(t)中各个个体的适应度。 3. 选择运算。将选择算⼦作⽤于群体,根据个体的适应度,按照⼀定的规则或⽅法,选择⼀些优良的个体遗传到下⼀代群体。 4. 交叉运算。将交叉算⼦作⽤于群体,对选中的成对个体,以某⼀概率交换他们之间的部分染⾊体,产⽣新的个体。 5. 变异运算。将变异算⼦作⽤于群体,对选中的个体,以某⼀概率改变某⼀个或某⼀些基因值为其他的等位基因。群体P(t)经过选择、 交叉和变异运算之后得到下⼀代群体P(t+1)。计算适应度值,并根据适应度值进⾏排序,准备进⾏下⼀次遗传操作。 6. 终⽌条件判断:若g<=G,则g=g+1,转到第2步;若 g>G ,则输出最⼤适应度的个体作为最优解,终⽌计算。 差分进化算法(Differential Evolution Algorithm) 理论 同其他进化算法⼀样,差分算法也是对候选解的种群进⾏操作,但其种群繁殖⽅案不同:它通过把种群中两个成员之间加权向量加到第三个 成员上来产⽣新的参数向量,称"变异";然后将变异向量的参数与另外预先确定的⽬标向量参数按⼀定的规则混合来产⽣新的试验向量, 称"交叉";最后,若试验向量的代价函数⽐⽬标向量的代价函数低,试验向量就在下⼀代中代替⽬标向量,称"选择"。种群中所有的成 员必须当作⽬标向量进⾏⼀次这样的操作,以便在下⼀代中出现相同个数竞争者。在进化过程中对每⼀代的最佳参数向量进⾏评价,记录最 ⼩化过程。 这样利⽤随机偏差扰动产⽣新个体的⽅式,可以获得⼀个收敛性⾮常好的结果,引导搜索过程向全局最优解逼近。 特点 1. 结构简单,容易使⽤; 2. 性能优越。具有较好的可靠性、⾼效性和鲁棒性。 3. ⾃适应性。 4. 具有内在的并⾏性,可协同搜索,具有利⽤个体局部信息和群体全局信息知道算法进⼀步搜索的能⼒。在同样的精度下,查分进化算 法具有更快的收敛速度。 5. 算法通⽤,可直接对结构对象进⾏操作,不依赖于问题信息,不存在对⽬标函数的限定。 领域 在⼈⼯神经元⽹络、电⼒、机械设计、机器⼈、信号处理、⽣物信息、经济学、现代农业和运筹学等。然⽽,尽管该算法获得了⼴泛研究, 但相对于其他进化算法⽽⾔,研究成果相当分散,缺乏系统性,尤其在理论⽅⾯还没有重⼤的突破。 算法流程 操作流程如下: 1,初始化 2,变异 3,交叉 4,选择 5,边界条件处理 上述的是最基本的差分进化算法操作程序,实际应⽤中还发展了⼏个变形形式,⽤符号:DE/x/y/z加以区分,其中x限定当前被变异的向量 是"随机的"还是"最佳的";y是所利⽤的差向量的个数;z
TLBO智能优化算法是一种基于种群的启发式随机群智能算法。它的基本思想源于教师对学生的影响,即教师的教学水平会影响学生的学习成绩。该算法的迭代过程分为两个阶段:教师阶段和学习阶段。在教师阶段,学生向教师学习;在学习阶段,学生之间相互学习。相比于其他的算法,TLBO算法具有概念简单、超参数量少和收敛快速的优势。\[1\] 与其他优化算法相比,TLBO算法优化内涵和平衡全局探索与局部开发的策略上有一些差异。在优化内涵方面,不同算法的迭代方向和步长的确定方式也存在差异。例如,差分进化算法的迭代方向由差分向量确定,迭代步长由缩放因子控制;粒子群算法的方向和步长由粒子的速度、局部最优方向和全局最优方向共同确定;而遗传算法的方向仅由部分维度确定,步长可以认为是1。\[2\] 在平衡全局探索和局部开发的策略上,不同算法也有一定的区别。例如,模拟退火算法通过调整一个超参数来平衡全局探索和局部开发;蚁群算法需要同时协调更多参数;而经典差分进化算法则不需要单独设计平衡能力,因为其核心的差分向量自带平衡能力。\[3\] 总的来说,TLBO智能优化算法是一种简单、高效的优化算法,通过模拟教师和学生的学习过程来实现优化目标的达成。它在解决各种优化问题上具有一定的优势。 #### 引用[.reference_title] - *1* [智能学习 | MATLAB实现TLBO教学学习优化算法的图像特征提取](https://blog.csdn.net/kjm13182345320/article/details/128441323)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [智能优化算法——总结](https://blog.csdn.net/qq_38029916/article/details/131121610)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值