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

article/2025/10/3 8:51:55

最优化问题

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

工程设计中最优化问题(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)等。

最优化算法

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

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

最优化算法有三要素:变量(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)

参考:

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


http://chatgpt.dhexx.cn/article/CGogJEHM.shtml

相关文章

梯度下降优化算法总结

写在前面 梯度下降(Gradient descent)算法可以说是迄今最流行的机器学习领域的优化算法。并且,基本上每一个深度学习库都包括了梯度下降算法的实现,比如Lasagne、cafe、keras等。关于梯度优化的三种分类在机器学习中常用的优化方法这篇博客中已经介绍过…

优化算法详解

文章目录 1、机器学习要求解的数学模型2、最优化算法2.1 分类2.2 通用的优化框架 3 公式解3.1 费马定理3.2 拉格朗日乘数法3.3 KKT条件 4 数值优化算法4.1 梯度下降法4.1.1 SGD、BGD、MBGD随机梯度下降法4.1.2 动量项Momentum4.1.3 AdaGrad算法4.1.4 RMSProp4.1.5 AdaDelta算法…

优化算法综述

目录 优化算法综述数学规划法精确算法(exact algorithm)启发式 VS. 元启发式启发式算法元启发式算法What is the difference between heuristics and meta-heuristics? 多目标智能优化算法模拟进化算法与传统的精确算法(确定性算法&#xff…

约束优化:约束优化的三种序列无约束优化方法

文章目录 约束优化:约束优化的三种序列无约束优化方法外点罚函数法L2-罚函数法:非精确算法对于等式约束对于不等式约束 L1-罚函数法:精确算法 内点罚函数法:障碍函数法等式约束优化问题的拉格朗日函数法:Uzawas Method…

常用优化算法

大多问题都可以建模成一种最优化模型进行求解,比如我们现在学习的机器学习算法,大部分的机器学习算法的本质都是建立优化模型,通过最优化方法对目标函数(或损失函数)进行优化,从而训练出最好的模型。常见的…

智能优化算法期末复习

目录 一、GA遗传算法 二、ACO蚁群算法 三、PSO粒子群算法 四、SA模拟退火算法 五、ABC人工蜂群算法 六、DE差分进化算法 七、TA阈值接收算法 八、综合 一、GA遗传算法 1.运算流程 2.遗传算法适应值分配策略(基于目标函数的直接分配、基于排名的分配&#xf…

智能优化算法

目录 进化类算法 遗传算法 概述 特点 改进方向 算法流程 差分进化算法 概述 原理 特点 算法流程 免疫算法 概述 优点 算法流程 群智能算法 蚁群算法(ACO) 概述 特点 算法流程 改进的蚁群算法 粒子群算法(PSO) 概述 特点 算法流程 蝙蝠算法(Bat Algorithm,BA) 模拟退火算法 概述…

优化方法总结(梯度下降法、牛顿法、拟牛顿法等)

梯度下降法 梯度下降法是最简单,也是最常用的最优化方法。梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解/一般情况下,其解不保证是全局最优解,梯度下降法的速度也未必是最快的。梯度下降法的优化思…

几种常用的优化方法梯度下降法、牛顿法、)

几种常用的优化方法 1. 前言 熟悉机器学习的童鞋都知道,优化方法是其中一个非常重要的话题,最常见的情形就是利用目标函数的导数通过多次迭代来求解无约束最优化问题。实现简单,coding 方便,是训练模型的必备利器之一。 2. 几个数…

常见的几种最优化方法(梯度下降法、牛顿法、拟牛顿法、共轭梯度法等)

常见的几种最优化方法(梯度下降法、牛顿法、拟牛顿法、共轭梯度法等) 我们每个人都会在我们的生活或者工作中遇到各种各样的最优化问题,比如每个企业和个人都要考虑的一个问题“在一定成本下,如何使利润最大化”等。最优化方法是…

优化方法

一阶优化方法:梯度下降法 梯度下降不一定能够找到全局最优解,有可能是一个局部最优解。如果损失函数是凸函数,梯度下降法得到的解一定是全局最优解。 梯度下降法分为三类: batch gradient descent 每次更新参数使用全部的样本&a…

Visual Studio 2012安装教程

1.鼠标右击软件压缩包,选择解压到【Visual Studio2012】。 2.双击打开【Visual Studio2012】文件夹。 3.双击打开【安装包】。 4.选中【vs_ultimate】后,鼠标右击选择【以管理员身份运行】。 5.更改软件安装路径:建议安装到除C盘以外的磁盘&a…

vs2022的下载及安装教程

Visual Studio在团队项目开发中使用非常多且功能强大,支持开发人员编写跨平台的应用程序;Microsoft Visual C 2022正式版(VC2022运行库),具有程序框架自动生成,灵活方便的类管理,强大的代码编写等功能,可提供编辑C语言…

VS2012安装步骤

学习C#一段时间了,安装了VS,在安装的过程中,没有想象中的那么顺利,一直想记录一下,今天在此小编来介绍一下VS的安装吧! 1.exe安装文件直接双击,安装就开始啦! 2.选择安装路径&#…

【数据库系统工程师】第9章 非关系型数据库NoSQL

目录 思维导图9.1 NoSQL概述1.三高需求面前,NoSQL应运而生 9.2 相关理论基础1.一致性2.分区3.存储分布4.查询模型 9.3 NoSQL数据库的种类1.分类与特点2.文档存储3.键值存储4.列存储5.图存储6.其他存储模式 9.4 NoSQL应用案例与新技术1.HBase数据库2.云数据库GeminiD…

NOSQL数据库习题

NOSQL数据库习题 第一章第二章第三章第四章第五章NoSQL数据库上机测试 第一章 1.写出DB、RDB、DBMS、TRDB、NoSQL、NewSQL、NDFS的中文名称。 答:DB:数据库 RDB:关系型数据库 DBMS:数据库管理系统 TRDB:传统关系型数…

NoSql数据库使用心得

http://bbs.chinaunix.net/thread-4168061-1-1.html NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚。但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非…

NoSQL - 学习/实践

1.应用场景 主要用于学习NoSQL数据库, 与关系型数据库的区别, 以及各自的原理实现,应用场景。 2.学习/操作 1.文档阅读 What is NoSQL? | Nonrelational Databases, Flexible Schema Data Models | AWS Relational (SQL) or NoSQL? - Ama…

NoSQL数据库入门

为什么80%的码农都做不了架构师&#xff1f;>>> NoSQL数据库入门 本书是一本NoSQL入门书&#xff0c;从最基本的NoSQL发展史开始&#xff0c;介绍了memcached、Tokyo、Redis和MongoDB的等NoSQL数据库的使用背景、优缺点和具体应用案例...更多<< 转载于:h…

SQL与NoSQL数据库入门基础知识详解

这几年的大数据热潮带动了一激活了一大批hadoop学习爱好者。有自学hadoop的&#xff0c;有报名培训班学习的。所有接触过hadoop的人都知道&#xff0c;单独搭建hadoop里每个组建都需要运行环境、修改配置文件测试等过程。对于我们这些入门级新手来说简直每个都是坑。国内的发行…