• Metaheuristics学科简谈


    § Metaheuristics类算法是什么?
      这个词其实没有严格的学术定义。多用于泛指利用一定程度的随机性寻找最优解的近似算法。这些算法往往对自己的搜索空间做很少的假设,所以可以应用得很广。哪怕最优解完全是无规律分布在搜索空间里的,它们也能给出相当不错的近似解。
      Metaheuristics有不少近义词(意义都稍微不太一样),包括Stochastic Optimization, Derivative-Free Optimization.
      Metaheuristics类算法是近似算法。它们不会给出问题的最优解,但通常会给出相当不错的近似解。不错的程度视具体问题,具体算法而定。
      Metaheuristics类算法目前缺乏统一、完整的理论体系。数学上无法证明某个算法对某类问题是否一定可用,因此这类算法的使用常常是凭经验。参数的设置也对算法的性能影响很大。对特定问题特定算法的参数设置往往也是凭经验,并没有太多理论支撑。

    § 核心思想:Exploration与Exploitation
      最基本的两个Metaheuristics算法是Random Search与Hill Climbing。Random Search即随机探索整个搜索空间,不停地更新已发现的最优解。Hill Climbing则随机选择一个初始解,探索初始解附近的解,并不断将其替换。这两种算法体现了Metaheuristics算法的两个核心思想:Exploration与Exploitation。几乎所有的Mataheuristics算法都是这两个思想的组合。
      Exploration即尽量探索整个搜索空间。由于对搜索空间几乎没有任何假设,全局最优解可能存在于空间的任何位置。为了避免陷在局部最优解里,一个有效的算法必须尽可能地做Exploration。
      Exploitation即尽量利用有效信息。在绝大部分问题中,优质的解往往会有相似的特征。利用这些特征,算法便可以从初始解进步到一个质量更好的解。
      总的来说,我们希望优化算法在Exploration和Exploitation之间做好平衡。Exploitation程度更高的解往往会更高效,但如果搜索空间太过混乱,相似的解的质量天差地别,我们便需要更高程度的Exploration。

    § 著名算法名录
      以下是Metaheuristics算法中应用较广的一部分,每一个都有各种变种:
      § Single-States Methods
        Simulated Annealing
        Tabu Search
      § Population Methods
        Evolution Strategies (ES)
        Genetic Algorithms (GA)
        Differential Evolution (DE)
        Ant Colony Optimization (ACO)
        Particle Swarm Optimization (PSO)

  • 相关阅读:
    PHP读取excel中地址实现多文件下载
    PHP中域名绑定
    js生成word中图片处理
    Mysql查询不为null值
    Specified key was too long max key length is 1000 bytes
    无法向Windows服务器复制粘贴文件
    Sql Server Configuration Manager 网络配置为空,没有实例
    The first one
    前端基本知识 防抖、节流,compose 函数,apply,bind,call
    写一个闭包 ,每次调用都加1
  • 原文地址:https://www.cnblogs.com/suhani/p/11474356.html
Copyright © 2020-2023  润新知