最优化算法——常见优化算法分类及总结

之前做特征选择,实现过基于群智能算法进行最优化的搜索,看过一些群智能优化算法的论文,在此做一下总结。

最优化问题

  在生活或者工作中存在各种各样的最优化问题,比如每个企业和个人都要考虑的一个问题“在一定成本下,如何使利润最大化”等。最优化方法是一种数学方法,它是研究在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优的一些学科的总称。

  工程设计中最优化问题(optimalization problem)的一般提法是要选择一组参数(变量),在满足一系列有关的限制条件(约束)下,使设计指标(目标)达到最优值。因此,最优化问题通常可以表示为数学规划形式的问题。进行工程优化设计时,应将工程设计问题用上述形式表示成数学问题,再用最优化的方法求解。这项工作就是建立优化设计的数学模型。

optimalization

  
  最优化问题分为函数优化问题和组合优化问题两大类,其中函数优化的对象是一定区间的连续变量,而组合优化的对象则是解空间中的离散状态。其中典型的组合优化问题有旅行商(Traveling salesman problem,TSP)问题、加工调度问题(Scheduling problem,如Flow-shop,Job-shop)、0-1背包问题(Knapsack problem)、装箱问题(Bin packing problem)、图着色问题(Graph coloring problem)、聚类问题(Clustering problem)等。

最优化算法

根据自己对最优化的理解,采用最优化算法解决实际问题主要分为下列两步:

  • 建立数学模型。对可行方案进行编码(变量),约束条件以及目标函数的构造。
  • 最优值的搜索策略。在可行解(约束条件下)搜索最优解的方法,有穷举、随机和启发式搜索方法。

最优化算法有三要素:变量(Decision Variable)、约束条件(Constraints)和目标函数(Objective function)。最优化算法,其实就是一种搜索过程或规则,它是基于某种思想和机制,通过一定的途径或规则来得到满足用户要求的问题的解。

优化问题相关算法有如下分类:

优化算法

精确算法(绝对最优解)

精确算法包括线性规划、动态规划、整数规划和分支定界法等运筹学中的传统算法,其算法计算复杂性一般很大,只适合于求解小规模问题,在工程中往往不实用。

启发式算法(近似算法)

  启发式方法指人在解决问题时所采取的一种根据经验规则进行发现的方法。其特点是在解决问题时,利用过去的经验,选择已经行之有效的方法,而不是系统地、以确定的步骤去寻求答案。

领域搜索算法。从任一解出发,对其领域的不断搜索和当前解的替换来实现优化。根据搜索行为,它又可分为局部搜索法和指导性搜索法。

  • 局部领域搜索法(也称爬山法)。以局部优化策略在当前解的领域中贪婪搜索,如只接受优于当前解的状态作为下一当前解的爬山法;接受当前邻域中的最好解作为下一当前解的最陡下降法等。

  • 指导性搜索法。利用一些指导规则来指导整个解空间中优良解的探索,如SA、GA、EP、ES和TS等.

个体启发(寻找相对最优)

特点:每次输出的是相同的。从一个解开始,寻找最优,易陷入局部最优。

爬山算法

算法思想:从当前的节点开始,和周围的邻居节点的值进行比较。如果当前节点是最大的,那么返回当前节点,作为最大值(即山峰最高点);反之就用最高的邻居节点替换当前节点,从而实现向山峰的高处攀爬的目的。

其实就是,在初始值的附近,找到最大的一个。

  • 优点

    • 容易理解,容易实现,具有较强的通用性;
    • 局部开发能力强,收敛速度很快
  • 缺点

    • 全局开发能力弱,只能搜索到局部最优解;
    • 搜索结果完全依赖于初始解和邻域的映射关系。

禁忌算法(Tabu Search,TS)

基本思想:基于爬山算法的改进,标记已经解得的局部最优解或求解过程,并在进一步的迭代中避开这些局部最优解或求解过程。局部搜索的缺点在于,太过于对某一局部区域以及其邻域的搜索,导致一叶障目。为了找到全局最优解,禁忌搜索就是对于找到的一部分局部最优解,有意识地避开它,从而或得更多的搜索区域

  • 特点:

    • 避免在搜索过程中的循环
    • 只进不退的原则,通过禁忌表实现
    • 不以局部最优作为停止准则
    • 邻域选优的规则模拟了人类的记忆功能
  • 禁忌表:用于防止搜索出现循环

    • 记录前若干步走过的点、方向或目标值,禁止返回
    • 表是动态更新的
    • 表的长度称为Tabu-Size
  • 禁忌表的主要指标(两项指标)

    • 禁忌对象:禁忌表中被禁的那些变化元素
    • 禁忌长度:禁忌的步数
  • 禁忌对象(三种变化)

    • 以状态本身或者状态的变化作为禁忌对象
    • 以状态分量以及分量的变化作为禁忌对象
    • 采用类似的等高线做法,以目标值变化作为禁忌对象
  • 禁忌长度:可以是一个固定的常数(T=c),也可以是动态变化的,可按照某种规则或公式在区间内变化。

    • 禁忌长度过短,一旦陷入局部最优点,出现循环无法跳出;
    • 禁忌长度过长,候选解全部被禁忌,造成计算时间较大,也可能造成计算无法继续下去。

参考:

  1. 禁忌搜索算法(Tabu Search)
  2. 禁忌搜索算法详解

贪婪算法

从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快的地求得更好的解。当达到算法中的某一步不能再继续前进时,算法停止。

基本都要先排序,从排序的开始那个依次判断,符合就留下不符合就去掉。

模拟退火(simulated annealing,SA)

模拟退火算法作为局部搜索算法的扩展,在每一次修改模型的过程中,随机产生一个新的状态模型,然后以一定的概率选择邻域中能量值大的状态.这种接受新模型的方式使其成为一种全局最优算法,并得到理论证明和实际应用的验证.SA虽然在寻优能力上不容置疑,但它是以严密的退火计划为保证的,具体地讲,就是足够高的初始温度、缓慢的退火速度、大量的迭代次数及同一温度下足够的扰动次数。

用兔子的故事来说:兔子喝醉了。他随机地跳了很长时间。这期间,它可能走向高处,也可能踏入平地。但是,他渐渐清醒了并朝他踏过的最高方向跳去。这就是模拟退火。

其实就是,先用初始值进行随机更新,记录每次更新的值,最后取历史记录中最大的值。

参考:模拟退火算法

群体智能(全局最优)

类别:

  • 粒子群算法(PSO)
  • 蚁群算法(ACO)
  • 人工蜂群算法(ABC)
  • 人工鱼群算法(AFSA)
  • 混洗蛙跳算法(SFLA)
  • 烟花算法(FWA)
  • 细菌觅食优化(BFO)
  • 萤火虫算法(FA)

特点:

  • 全局寻优
  • 每次的解都不同
  • 时间较长

智能计算包括:

  • 进化算法(EC),如遗传算法。
  • 模糊逻辑
  • 群智能(SI)算法
  • 人工免疫系统(AIS)
  • 人工神经网络(ANN)

参考:

  1. 最优化问题及其分类
  2. 遗传算法
  3. 《MATLAB神经网络30个案例分析》的13个案例中的GA优化SVM参数
  4. 手把手教你实现SVM算法(一)
  5. 遗传算法学习笔记(一):常用的选择策略
  6. 粒子群算法介绍(讲解的很清晰,将PSO的算法原理、算法特点以及参数的设置)
  7. 群体智能简介ppt(粒子群和人工蚁群优化)
  8. 优化算法分类

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242383.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DSP之CMD文件

DSP之CMD文件 用户希望将某一段,尤其是自定义段,放在什么存储器的什么位置,这也是链接器不知道的。为了告诉链接器,即将使用的芯片其内部存储空间的分配和程序各段的具体存放位置,这就需要编写一个配置文件&#xff0…

突发!央行确认支付宝3种违法违规行为,处罚18万元!

支付宝近段可谓是多事之秋,可把马云愁苦了,继余额宝限额、限时、银行直连被停之后,最近支付宝又被罚了。2018年3月22日中国人民银行杭州中心支行对支付宝做出行政处罚决定,支付宝(中国)网络技术有限公司因七项违规行为被合计罚款共…

杭州刚公布完摇号卖房新政,隔天就来个百亿地王,大家怎么看?

为了响应房子是用来住的而不是用来炒的的知指导,目前各地对如何限制房价使了浑身解数,各种手段不断推出,其中近段最热门的调控手段就是摇号卖房。目前已经有6个城市实施摇号卖房的政策,分别是上海、南京、长沙、成都、杭州、西安。…

DSP之寄存器映射和CDM文件

DSP之寄存器映射和CDM文件 RAM:程序运行速度快,关掉电源,程序会丢失。 Flash:程序运行速度慢,关掉电源,程序不会丢失。 所以,程序一般存到Flash中,在运行的时候,由CPU将…

为何穷人玩股票绝大多数会赔钱?

大家身边有炒股的朋友吗?他们是赚了还是赔了呢?反正小编我身边有几个炒股的穷朋友,都是几万块钱的玩,结果玩了几年也没有见到发大财的,而且大部分人都亏钱了。其实玩股票赢钱、亏钱都很正常,富人也有亏钱的…

回收 PV - 每天5分钟玩转 Docker 容器技术(152)

当 PV 不再需要时,可通过删除 PVC 回收。 当 PVC mypvc1 被删除后,我们发现 Kubernetes 启动了一个新 Pod recycler-for-mypv1,这个 Pod 的作用就是清除 PV mypv1 的数据。此时 mypv1 的状态为 Released,表示已经解除了与 mypvc1 …

PHP会话管理——Session和Cookie

会话管理包括:Session和Cookie,主要功能都是把客户端和服务器关联起来,用于管理和查看用户在网站中的状态。 背景Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭…

ADC的本质与特性

ADC的本质与特性 模拟数字转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件。 模拟信号 数字信号 芯片 采样、 保持、量化和编码 所谓采样就是将一个时间上连续变化的模拟量转化为时间上离散变化的模拟量。 将采样结果储存…

无人银行真来了,未来80%的银行人估计得失业!

应该说中国第一家无人银行成立,看到这个消息我还是挺兴奋的,银行终于做出改变了!以前马云曾经说过“如果银行不改变,那我们就要改变银行”,而且也做到了,以前躺着赚钱的银行现在也开始奋发图强,…

这些信用卡取现可以免除手续费!

信用卡取现相信很多人在急用钱的时候都干过,但是信用卡1%-2%的手续费看着真肉疼。那有没有取现不要手续费的信用卡呢?还真有!今天我就给大家介绍几款取现不要手续费的信用卡,希望对大家有帮助。招行young卡招行的young每个月可以享…

RS232和RS485的区别

RS232和RS485的区别 串口通信 双方需要约定好帧格式和波特率。 串口通信的高低的电压范围是多少呢?

6月30日后支付宝还能正常提现吗?因为银行直连要停止了

3月末网联公布了网联涵(2018)42号文件,其名称为“关于非银行支付机构网络支付清算平台渠道接入工作相关事宜的函”。 在这份文件中声明中,自2018年6月30日起,银行将关闭与第三方支付平台的直连,所有第三方支付都将无权代扣。对于这…

历史上唯独倒闭的两家银行,看看他们是如何破产的

我国历史上总共也就有2家银行倒闭,分别是海南发展银行和河北省肃宁县尚村农信社。这两家银行之所以破产,完全是人为造成的,特别是海南发展银行从成立之日起就奔着破产而去。首先我们来看下海南发展银行海南发展银行成立于1995年,成…

施密特触发器

施密特触发器 应用 波形变换 可将三角波、正弦波、周期性波等变成矩形波。脉冲波的整形 数字系统中,矩形脉冲在传输中经常发生波形畸变,出现上升沿和下降沿不理想的情况,可用施密特触发器整形后,获得较理想的矩形脉冲。脉冲鉴幅…

如果征信有这些行为,申请房贷直接被拒绝

大家都知道现在房贷不好申请,很多人都申请好几个月了还没有放款,而有的人更是直接被拒绝。如果你的征信有些信息达不到银行的要求,那房贷被拒是分分钟的事情。我们来看下信用卡逾期不同情况下对买房的影响。银行看征信一般主要看最近2年的情况…

你会因为贫富差距远离曾经的好友吗?

因为贫富差距,朋友之间渐行渐远,这个绝对不是个别现象,而是普遍现象。先说一个真实的例子我们高中的时候有几个同学玩得很好,即使上了大学也保持良好的联系,放假也会经常聚会。那时候只要春节回老家,不管有…

安规 电容

安规 电容 安规电容是指电容器失效后,不会导致电击,不危及人身安全的安全电容器。安规电容通常只用于抗干扰电路中的滤波作用。它们用在电源滤波器里,起到电源滤波作用,分别对共模,差模干扰起滤波作用。出于安全考虑和…

经常收到信用卡邀请短信,但为什么总是办不下来?

经常收到信用卡邀请短信,90%以上基本都是信用卡代理中介给你发的,所以跟卡能不能下没多大关系。我也经常收到类似的短信,这些短信看起来很有诱惑力,什么优质客户,额度高,让你一看就有想申请的冲动&#xff…

电阻值的优先值

电阻值的优先值 我们常用的阻容值就是这么来的。

Open3D 点云数据处理基础(Python版)

Open3D 点云数据处理基础(Python版) 文章目录 1 概述 2 安装 2.1 PyCharm 与 Python 安装 2.3 Anaconda 安装 2.4 Open3D 0.13.0 安装 2.5 新建一个 Python 项目 3 点云读写 4 点云可视化 2.1 可视化单个点云 2.2 同一窗口可视化多个点云 2.3…