应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

优化算法有哪些(最优化理论的三大经典算法)

  此账号为华为云开发者社区官方运营账号,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态
  本文分享自华为云社区《智能优化算法(1)遗传算法》,原文作者:我是一颗大西瓜。
  智能优化算法又称现代启发式算法,是一种具有全局优化性能、通用性强且适合于并行处理的算法。这种算法一般具有严密的理论依据,而不是单纯凭借专家经验,理论上可以在一定的时间内找到最优解或近似最优解。常用的智能优化算法有:遗传算法、模拟退火算法、禁忌搜索算法、粒子群算法、蚁群算法。
  本文主要为大家带来遗传算法和蚁群算法的详细解读。1。遗传算法
  遗传算法(Geneticalgorithm,GA),模拟生物在自然环境中遗传和进化的自适应(对遗传参数的自适应调整)全局优化(随机变异不断寻找全局最优解)算法,基本思想是优胜劣汰,是应用最广泛和效果最显著的智能优化算法。1。1编码方法
  算法模型通过对个体(individual,也即solution)进行二进制编码(01编码)、自然数编码、实数编码和树型编码。在对个体进行适应度计算时需要进行解码,实现问题的解空间与算法搜索空间的相互转换。1。2适应度函数
  每个个体都有一个适应度函数(Fitness),对这个个体的优劣进行定量评价,适应度函数是算法执行适者生存、优胜劣汰的依据。适应度函数需要根据目标函数进行设置,令g(x)g(x)表示目标函数,令G(x)G(x)表示适应度函数,从目标函数g(x)g(x)映射到适应度函数G(x)G(x)的过程称为标定。
  对于最大值优化问题,可直接将g(x)g(x)设定为适应度函数G(x)G(x),即G(x)g(x)G(x)g(x);对于最小值优化问题,G(x)ming(x)G(x)ming(x);在遗传算法规定中,适应度函数为正值,但上述二式无法保证,因此需要加上最小值或者最大值以及分段函数。1。3选择操作
  选择(Selection)是从当前群体中选择适应度函数值大的个体,这些优良个体有可能作为父代繁殖下一代,个体适应度函数越大,被选择作为父代的概率越大(有可能!)
  选择算法有很多,最基本的是轮盘赌算法:
  Pifrac{Fi}{sum{i1}{N}Fi}Pii1NFiFi
  其中,PiPi表示个体被选择的概率;FiFi表示个体的适应度函数值;NN表示种群规模。
  根据选择概率PiPi将圆盘形赌轮分为NN份,第ii个扇形的中心角为2piPi2Pi。随机产生0到1之间服从均匀分布的数rr,落在第ii个扇形的累计概率为Qisum{j1}iPjQij1iPj,则选择个体ii,重复NN次,就可以选择NN个个体。1。4交叉操作
  两个个体通过交叉(Crossover)互换染色体部分基因而重组产生新的个体,也就是产生新解。交叉前需要进行随机配对。
  一般情况下,对二进制编码的个体采用点交叉的方法,也就是在两个配对字符串随机选择一个或者多个交叉点,互换部分子串从而产生新的字符串
  两个个体是否进行交叉操作由交叉概率决定,较大的交叉概率可以使遗传算法产生更多新解,保持群体多样性,并能防止算法过早成熟,但是交叉概率过大会使算法过多搜索不必要的解区域,消耗过多的计算时间,一般取值在0。9左右。1。5变异操作
  生物进化中,某些染色体可能会发生基因突变(Mutation),从而产生新的染色体,这也是产生新解的另外一种重要方式。交叉操作相当于进行全局探索,变异操作相当于进行局部开发,这也是智能优化算法必备的两种搜索能力。
  个体能否变异取决于变异概率,过低会使得部分有用基因无法进入染色体,不能提高解的质量;过大会使子代丧失父代优良基因,导致算法失去从过去搜索经验的学习能力,一般情况下,变异概率取值为0。005左右。
  值得注意的是,Rudolph通过马尔科夫链相关理论证明仅采用选择、交叉和变异三个操作的遗传算法不能收敛到全局最优解,而采用精英保留策略的遗传算法是全局收敛的。
  算法的整体流程如下图所示:
  1。6算法分析
  一个好的智能算法,关键在于全局探索和局部开发能力的平衡。全局探索的目的是对解空间进行更全面的探索,局部开发主要目的是对已知区域进行更精细的搜索,希望获得质量更好的新解。
  遗传算法可以通过设置选择压力实现全局探索和局部开发的平衡。在算法运行初始阶段,设置较小的选择压力可以使算法具有较好的全局探索能力,进行广域搜索;算法运行后期,设置较大的选择压力可以使算法进行比较精细的局部搜索。
  选择压力的设置可以从适应度函数标定和选择策略。
  适应度函数标定,在算法早期,应当缩小个体适应度差距,减少淘汰率;算法运行最后阶段,扩大个体适应度差距,保证算法能在高适应度个体对应解区域进行集中搜索,加快算法收敛速度。常用方法有:线性尺度变换HaFbHaFbsigma截断法HF(hatFcsigma)HF(Fc)幂律尺度变换HFalphaHF
  选择策略,低选择压力可选择多种类型的个体,加强对未知解区域的搜索,避免算法陷入局部极值,但算法优化速度会变得缓慢;高选择压力可选择优良个体,加快优化速度但群体多样性会下降,减少搜索到全局最优值的概率。除了轮盘赌算法外,选择策略还有:分级选择法锦标赛选择法Boltzmann选择法2。蚁群算法2。1蚁群优化算法
  蚁群优化(AntColonyOptimization,ACO)算法是源自大自然生物界的仿真类算法,其思想吸收了蚁群觅食过程中的行为特性。蚁群算法在TSP问题、二次分配问题、图着色问题、车辆调度问题、通信网络中的负载均衡问题等表现出良好的优化性能。
  大自然中的蚂蚁没有视觉,依赖于同类散发在环境中的信息素决定自己何去何从,孤立的蚂蚁沿着同伴的信息素轨迹移动,同时释放自己的信息素,从而增强了该路线上的信息素数量,随着越来越多的蚂蚁通过该路线,一条较佳的路线就形成了(这条路径不一定最短,但对于NPhard问题而言足够了)。2。1。1算法模型
  以旅行商问题(TravelingSalesmanProblem,TSP)为例,在图论中称为最小Hamilton问题。
  记G(V,E)G(V,E)为赋权图,V(1,2,3,。。。,N)V(1,2,3,。。。,N)为顶点集,EE为边集,各顶点间的距离d{ij}dij已知(d{ij}

身份证可以查酒店记录吗(个人怎么查开宾馆记录)身份证可以查酒店记录吗(个人怎么查开宾馆记录)实践日子中酒店的入住记载怎样查?假定说你有入住宾馆记载,那么就能够直接进入处理网络去查询自己的一个个人信息,所以在日常日子傍边,人们仍身份证号可以查酒店记录吗(用身份证号能查到住店记录吗)身份证号可以查酒店记录吗(用身份证号能查到住店记录吗)实践日子中酒店的入住记载怎样查?假定说你有入住宾馆记载,那么就可以直接进入处理网络去查询自己的一个个人信息,所以在日常日子傍边身份证怎样查开过房(用身份证号能查到住店记录吗)身份证怎样查开过房(用身份证号能查到住店记录吗)实践日子中酒店的入住记载怎样查?假定说你有入住宾馆记载,那么就能够直接进入处理网络去查询自己的一个个人信息,所以在日常日子傍边,人们怎么用老公身份证查酒店记录(用身份证号能查到住店记录吗)怎么用老公身份证查酒店记录(用身份证号能查到住店记录吗)实践日子中酒店的入住记载怎样查?假定说你有入住宾馆记载,那么就能够直接进入处理网络去查询自己的一个个人信息,所以在日常日子傍身份证号查酒店开房记录(用身份证号能查到住店记录吗)身份证号查酒店开房记录(用身份证号能查到住店记录吗)实践日子中酒店的入住记载怎样查?假定说你有入住宾馆记载,那么就能够直接进入处理网络去查询自己的一个个人信息,所以在日常日子傍边,怎么身份证查酒店住宿记录(用身份证号能查到住店记录吗)怎么身份证查酒店住宿记录(用身份证号能查到住店记录吗)实践日子中酒店的入住记载怎样查?假定说你有入住宾馆记载,那么就可以直接进入处理网络去查询自己的一个个人信息,所以在日常日子傍边酒店前台能查入住记录吗(怎么查开宾馆记录)酒店前台能查入住记录吗(怎么查开宾馆记录)实践日子中酒店的入住记载怎样查?假定说你有入住宾馆记载,那么就能够直接进入处理网络去查询自己的一个个人信息,所以在日常日子傍边,人们仍是要酒店前台能查住房记录吗(怎么查个人酒店入住记录)酒店前台能查住房记录吗(怎么查个人酒店入住记录)实践日子中酒店的入住记载怎样查?假定说你有入住宾馆记载,那么就能够直接进入处理网络去查询自己的一个个人信息,所以在日常日子傍边,人们酒店前台能查多久的入住记录(怎样查个人住宾馆信息)酒店前台能查多久的入住记录(怎样查个人住宾馆信息)实践日子中酒店的入住记载怎样查?假定说你有入住宾馆记载,那么就可以直接进入处理网络去查询自己的一个个人信息,所以在日常日子傍边,人酒店会员卡能查入住记录吗(怎么查个人开宾馆记录)酒店会员卡能查入住记录吗(怎么查个人开宾馆记录)实践日子中酒店的入住记载怎样查?假定说你有入住宾馆记载,那么就能够直接进入处理网络去查询自己的一个个人信息,所以在日常日子傍边,人们凭会员卡能查酒店记录吗(入住酒店信息查询)凭会员卡能查酒店记录吗(入住酒店信息查询)实际日子中酒店的入住记载怎样查?假设说你有入住宾馆记载,那么就可以直接进入处理网络去查询自己的一个个人信息,所以在日常日子傍边,人们仍是要
查微信群的聊天记录怎么查(微信怎么看聊天记录)查微信群的聊天记录怎么查(微信怎么看聊天记录)微信现已成为我们最常用的谈天东西,因为微信的运用率十分高,我们也常常会收拾一下微信谈天记载和其他软件的缓存文件来腾出手机空间。但有时分怎样查微信群里以前的聊天记录吗(怎么样查找微信删除的聊天记录)怎样查微信群里以前的聊天记录吗(怎么样查找微信删除的聊天记录)微信现已成为咱们最常用的谈天东西,因为微信的运用率十分高,咱们也常常会拾掇一下微信谈天记载和其他软件的缓存文件来腾出手电脑怎么查微信群聊天记录吗(怎么样查找聊天记录微信)电脑怎么查微信群聊天记录吗(怎么样查找聊天记录微信)微信现已成为我们最常用的谈天东西,因为微信的运用率十分高,我们也常常会收拾一下微信谈天记载和其他软件的缓存文件来腾出手机空间。但微信如何查找已删除的聊天记录(如何查询以往微信聊天记录)微信如何查找已删除的聊天记录(如何查询以往微信聊天记录)众所周知,微信是当下最流行的交流沟通软件,我们都喜欢借助微信与朋友家人进行沟通,微信中不仅仅只有聊天这个功能,其实其中还有其怎么在手机查微信群聊天记录(查找微信聊天记录)怎么在手机查微信群聊天记录(查找微信聊天记录)微信现已成为我们最常用的谈天东西,因为微信的运用率十分高,我们也常常会收拾一下微信谈天记载和其他软件的缓存文件来腾出手机空间。但有时分微信如何查以往聊天记录(查找微信聊天记录)微信如何查以往聊天记录(查找微信聊天记录)微信现已成为我们最常用的谈天东西,因为微信的运用率十分高,我们也常常会收拾一下微信谈天记载和其他软件的缓存文件来腾出手机空间。但有时分我们换手机怎么查微信以往聊天记录(查找微信聊天记录)换手机怎么查微信以往聊天记录(查找微信聊天记录)微信现已成为咱们最常用的谈天东西,由于微信的运用率非常高,咱们也常常会拾掇一下微信谈天记载和其他软件的缓存文件来腾出手机空间。但有时查微信群聊天记录(怎么样查找聊天记录微信)查微信群聊天记录(怎么样查找聊天记录微信)微信现已成为我们最常用的谈天东西,因为微信的运用率十分高,我们也常常会收拾一下微信谈天记载和其他软件的缓存文件来腾出手机空间。但有时分我们苹果手机怎么查微信聊天记录数量(怎么样查找聊天记录微信)苹果手机怎么查微信聊天记录数量(怎么样查找聊天记录微信)微信现已成为咱们最常用的谈天东西,因为微信的运用率十分高,咱们也常常会拾掇一下微信谈天记载和其他软件的缓存文件来腾出手机空间电脑上查微信群聊天记录(怎么样查找聊天记录微信)电脑上查微信群聊天记录(怎么样查找聊天记录微信)微信现已成为我们最常用的谈天东西,因为微信的运用率十分高,我们也常常会收拾一下微信谈天记载和其他软件的缓存文件来腾出手机空间。但有时怎么查一个人在微信群的聊天记录(微信怎么看聊天记录)怎么查一个人在微信群的聊天记录(微信怎么看聊天记录)微信现已成为咱们最常用的谈天东西,由于微信的运用率非常高,咱们也常常会拾掇一下微信谈天记载和其他软件的缓存文件来腾出手机空间。但
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网