智能优化算法期末复习

article/2025/10/3 9:31:18

目录

一、GA遗传算法

二、ACO蚁群算法

三、PSO粒子群算法

 四、SA模拟退火算法

五、ABC人工蜂群算法

六、DE差分进化算法

七、TA阈值接收算法 

 八、综合


一、GA遗传算法

1.运算流程

2.遗传算法适应值分配策略(基于目标函数的直接分配、基于排名的分配)

3.遗传算法在二进制问题如0-1背包和顺序问题(如TSP问题)的交叉和变异算子的实现

(1)单点交叉

左边部分都不变。

(2)部分交叉

现将所交叉部分提取出来,交换。剩下的根据情况分析是否放原位。

(3)变异:

0-1背包问题:直接0—>1,1—>0

TSP问题:

swap: 断掉4条边,连上4条边。

insert: 断掉一部分,将该部分插入某处。

inverse:将某一部分进行翻转,还是放在原处。

4.遗传算法的交叉概率和变异概率对算法行为的影响

①交叉概率Pc:较大的交叉概率可以增强遗传算法开辟新的搜索区域的能力,但高性能的模式遭到破坏的可能性增大;若交叉概率太低,遗传算法搜索可能陷入迟钝状态。

②变异概率Pm:一般低频度的变异可防止群体中重要基因的可能丢失,高频度的变异将使遗传算法趋于纯粹的随机搜索。

  5.轮盘赌思想算法实现(遗传算法)

二、ACO蚁群算法

1.运算流程

2. 蚁群优化算法的信息素挥发系数对算法性能的影响

 ρ表示信息素挥发系数,它反映了蚂蚁群体中个体之间相互影响的强弱。

当ρ过小时,则表示以前搜索过的路径上被再次选择的可能性过大,算法的随机搜索性能和全局搜索能力会变弱。

当ρ过大,说明路径上的信息素挥发相对变多,算法的随机搜索性能和全局搜索能力得到提高,但会增加过多无用的搜索操作导致算法收敛速度降低

3.从信息素挥发和沉积的角度分析蚁群优化算法的正反馈机制

某条路径上信息素挥发越多,剩余信息素越少,后续蚁群访问的概率就越小。从而该条路径上信息素也越少,后续蚁群访问的概率继续减小,形成正反馈机制。

相反,若路径上信息素挥发越少,剩余信息素越多,后续蚁群访问的概率就越大。从而该路径上信息素就越多,后续蚁群访问概率增大,形成正反馈机制。

3.蚂蚁算法的概率公式

三、PSO粒子群算法

1.运算流程

2.粒子群优化算法的惯性权重w对算法的影响

可以同来控制算法的开发和探索能力。惯性权重的大小表示了对粒子当前速度继承的多少。当惯性权重较大时,全局寻优能力较强,局部寻优能力较弱。当惯性权重较小时,全局寻优能力较弱,局部局部寻优能力较强。

3.PSO算法的速度和位置修改公式

 四、SA模拟退火算法

1.运算流程

 2.模拟退火算法的概率接收公式

系统从能量E1变化到E2,其对应的概率为:

 如果E2<E1,系统接收此状态;否则,以一个随机的概率接收或丢弃此状态。状态2被接收的概率为:

注:公式

中的负号是求最小值的时候才有,若问题时求最大值,那么就没有负号,要懂得区别

3. 模拟退火算法的初始温度和降温系数(假设是几何降温)对算法行为的影响

(1)初始温度T0:T0越大,获得高质量解的概率越大。但是初温过高会导致计算时间增加,降低算法的收敛速度。

(2)降温速度α :α是[0,1]且非常接近1的常数,降温系数越大,温度下降越慢,算法收敛速度越慢,接收劣质解的概率越高,获得高质量解的概率越高。

4.模拟退火算法解决0-1背包问题


 

五、ABC人工蜂群算法

1.侦察蜂scout和观察蜂onlooker的作用

(1)侦察蜂的作用:当雇佣蜂太久没有更新解时(即陷入了局部解),则启动侦察蜂重新进行全局搜索,从而避免算法陷入局部最优解

(2)观察蜂(跟随蜂)的作用:对雇佣蜂找到的局部解周围进行探索,即对局部解进行优化寻找更优的局部最优解。

2.ABC算法的雇佣蜂Employed bee和观察峰Onlooker)的数量对算法性能的影响。

雇佣蜂(采蜜蜂)的数量越多,算法全局搜索性能越强,算法收敛越慢,但搜索到全局最优解的可能越大;

观察蜂(跟随蜂)的数量越多,算法局部搜索性能越强,算法收敛越快,但越容易陷入局部最优解。

3.ABC算法的位置修改公式

 4.从观察蜂的工作机制分析蜂群优化算法的正反馈机制。

观察蜂是跟随雇佣蜂,雇佣蜂找的蜜源越好,就会有越多的观察蜂跟随它,而观察蜂跟随的越多,那对雇佣蜂的函数值寻优次数(对蜜源的优化)就越多,那找到的解(蜜源)就会更优。从而形成了正反馈。

六、DE差分进化算法

1.算法流程

2.差分进化算法参数f对算法性能的影响

变异算子f∈[0,2]是一个实常数因数,它决定偏差向量的缩放比例。

变异算子f过小,则可能造成算法“早熟”。随着f值的增大,防止算法陷入局部最优的能力增强,但当f > 1时,算法收敛到最优值的速度会变慢(这是因为当差分向量的扰动大于两个个体之间的距离时,种群的收敛性会变得很差)。通常f取0.5。

3.差分进化算法参数交叉概率cr对算法性能的影响

交叉算子cr是一个范围在[0,1]内的实数,它控制着一个试验向量参数来自随机选择的变异向量而不是原来向量的概率。交叉算子cr越大,发生交叉的可能性就越大。cr一个较好的取值是0.1,但较大的cr通常会减慢算法的收敛,为了看看是否可能获得一个快速解,可以先尝试cr=0.9或cr=1.0。

4.DE算法的base vector、difference vector、donor vector、trial vector和target vector

(1)base vector:基向量;

(2)difference vector:差向量(又叫偏差变量),两个不同基向量的差;

(3)donor vector:变异向量,产生变异的向量;

(4)trial vector:试验向量,引入交叉操作后的向量组,如果试验成功,则取代原有的目标向量;试验失败,则继承原有的目标向量;

(5)target vector:目标向量,实际所需的解。

5. DE算法的mutation公式DE/rand/1、DE/best/1

  

6. DE的两种交叉策略bin和exp

 bin是均匀交叉,exp是指数交叉。

七、TA阈值接收算法 

1.算法流程

(类似于模拟退火算法,只是将概率接受改成了阈值接收)

2.阈值接收方法的初始阈值和阈值下降系数(假设是几何降温)对算法行为的影响

(与模拟退火的初始温度和降温系数类似)

初始阈值越大,接收劣质解的概率越高,获得高质量解的概率就越大,然而,初始阈值过高会使计算时间增加降低算法的收敛速度

阈值下降系数越大(即越接近1),阈值下降越慢,算法收敛速度越慢接收劣质解的概率越高获得高质量的解的概率就越高

 八、综合

1.区分metaheuristic和heuristic

(1)metaheuristic:元启发式算法,是一个通用的启发式策略,不借助于某种问题的特有条件,从而可以广泛运用。如GA、SA、PSO、ACO、ABC、DE。

(2)heuristic:启发式算法,针对特定条件下求解某个具体的问题。如爬山算法。

2.区分single solution-based和population-based的智能优化算法

(1)single solution-based的智能优化算法(迭代过程只有一个解):SA、TA

(2)population-based的智能优化算法:GA、ABC、PSO、ACO、DE

3.区分construction-based和iterative improvement-based的智能优化算法

(1)construction-based(每次都是从头开始构造新解):ACO解是通过一步步选出来的

(2)iterative improvement-based(迭代产生新解):GA、ABC、PSO、SA、DE、TA

4.区分组合优化问题、连续优化问题、约束优化问题等概念及我们使用的实例

(1)组合优化问题

①概念:具有离散变量的问题,我们称它为组合的。组合优化(Combinatorial Optimization)问题的目标是从组合问题的可行解集中求出最优解。

实例:旅行商问题(Traveling Salesman Problem-TSP)、0-1背包问题(Knapsack Problem——KP)、度约束的最小生成树问题;

(2)连续优化问题

①概念:连续优化是求解连续变量的问题,其一般是求解一组实数,或者一个函数。

实例:求解函数的最大值和最小值

(3)约束优化问题

①概念:约束优化问题是一类数学最优化问题,它由目标函数以及与目标函数中的变量相关的约束条件两部分组成,优化过程则为在约束条件下最优化(最大化或最小化)目标函数。

实例:0-1KP、目标规划、度约束的问题

5.算法的简写

(1)模拟退火算法:Simulated Annealing,简称SA

(2)遗传算法:Genetic Algorithm,简称GA

(3)阈值接收算法:Threshold Algorithm,简称TA

(4)粒子群算法:Particle Swarm Optimization,简称PSO

(5)蚁群优化算法(简称蚁群算法):Ant Colony Optimization,简称ACO

(6)人工蜂群算法(简称蜂群算法):Artificial Bee Colony Algorithm, 简称ABC

(7)差分进化算法:Differential Evolution,简称DE

6.各种算法接收新解的方式(接收所有,只接收更好的,概率接收)

(1)概率接收劣质解:模拟退火算法(SA)、阈值接收算法(TA,确定性接收)

(2)只接收更好的:遗传算法(GA)、差分进化算法(DE)、人工蚁群优化算法(ACO)、蜂群优化算法(ABC)

(3)接收所有:粒子群优化算法(PSO)

7.根据产生新解时修改的维数和接受新解的策略比较粒子群优化算法、差分进化算法和蜂群优化算法

算法产生新解时修改的维数接受新解的策略
PCOn维接受所有的解,通过比较适应度值,迭代更新粒子的速度和位置,从而逐步收敛于全局最优解
DE1~n维(由概率公式决定)只接受更好的解
ABC1维(修改方向)只接受更好的解,通过雇佣蜂全局搜索、跟随蜂进行局部优化以及侦查蜂辅助全局搜索的机制,算法逐步收敛于全局最优解

8.遗传算法中轮盘赌思想的具体实现

public static int[] rouletteWheel(double[] fitness, int num){double[] fites = new double[fitness.length];for(int i = 0;i < fites.length; i++){fites[i] = fitness[i];if( i != 0){fites[i] += fites[i-1];}}int[] ids = new int[num];for (int id = 0; id<ids.length;id++){double fit = rand.nextDouble()*fites[fites.length-1];for(int i=0; i < fites.length ;i++){if(fit < fites.length) {ids[id] = i;break;}}}return ids;}

9.随机键表示法将连续型数据转换为城市访问路径的方式 

10.将连续性数据转换为二进制数据、整型数据的方法

11.基于种群的元启发式的初始化过程 

12.prufer序列转换为边集表示的树

13.将树转化为prufer序列 

(1)概念:prufer序列是无根树转化而来的序列。对树的每个节点进行1到n的编号,则点数为n的树转化来的Prufer数列长度为n - 2

(2)Prufer序列 -> Tree树

方法:

① 找到编号最小叶子x

② 设与叶子x相连的点是y,则删掉x,并在prufer序列尾部加入一个数y

③ 重复1,2操作,直到整棵树只剩下两个节点,此时prufer序列长度为n - 2。

============================== 

到此为止,不会再更新了。

逢考必过~🎉


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

相关文章

智能优化算法

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

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

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

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

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

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

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

优化方法

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

Visual Studio 2012安装教程

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

vs2022的下载及安装教程

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

VS2012安装步骤

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

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

目录 思维导图9.1 NoSQL概述1.三高需求面前&#xff0c;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的中文名称。 答&#xff1a;DB&#xff1a;数据库 RDB&#xff1a;关系型数据库 DBMS&#xff1a;数据库管理系统 TRDB&#xff1a;传统关系型数…

NoSql数据库使用心得

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

NoSQL - 学习/实践

1.应用场景 主要用于学习NoSQL数据库&#xff0c; 与关系型数据库的区别&#xff0c; 以及各自的原理实现&#xff0c;应用场景。 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里每个组建都需要运行环境、修改配置文件测试等过程。对于我们这些入门级新手来说简直每个都是坑。国内的发行…

大数据开发学习:NoSQL数据库入门

大数据处理&#xff0c;涉及到从数据获取到数据存储、数据计算的诸多环节&#xff0c;各个环节需要解决的问题不同&#xff0c;相关岗位要求的技能也不同。在数据存储阶段&#xff0c;对数据库选型是非常重要的一项工作。今天的大数据开发学习分享&#xff0c;我们就来聊聊NoSQ…

Nosql复习笔记,教材《NoSQL数据库入门与实践》

Nosql复习笔记 目录 一、NoSQL数据库的主要技术特点有以下几种。 二、单机的局限性 三、服务器的纵横扩充 四、帽子定理CAP 五、BASE:基本可用(BA)、 软状态(S)、最终一致性(E) 六、键值数据库实现基本原理 七、键值数据库存储结构基本要素 八、键值存储特点&#xff…

NoSQL数据库入门概述

关系型数据库与NoSql数据库 什么是NoSQL Not Only SQL&#xff0c;其含义是&#xff1a;适合关系型数据库的时候就是用关系型数据库&#xff0c;不适用的时候也没必要非得使用关系型数据库不可&#xff0c;可以考虑使用更加合适的数据存储。 为弥补关系型数据库的不足&am…

MongoDB(NoSQL)数据库入门及基本操作

文章目录 一、NoSQL 简介1.1 NoSQL的优点1.2 NoSQL的缺点1.3 NoSQL的分类 二、MongoDB2.0 demo示例2.1 install and connect mongoose2.2 基本指令 一、NoSQL 简介 NoSQL(NoSQL Not Only SQL )&#xff0c;意即"不仅仅是SQL"&#xff0c;是非关系型的数据库。 NoS…

NoSql入门

一.概念&#xff1a; NoSQL(NOSQL Not Only SQL)&#xff0c;意即“不仅仅是SQL”&#xff0c;泛指非关系型的数据库。随着互联网web2.0网站的兴起&#xff0c;传统的关系数据车在应付web2.0网站&#xff0c;特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从…

大数据开发——Hive实战案例

文章目录 1. 创建表结构1.1 视频表结构1.2 用户表结构 2. 准备工作2.1 创建临时表2.2 创建最终使用表2.3 对创建表进行解读 3. 业务分析 1. 创建表结构 1.1 视频表结构 1.2 用户表结构 2. 准备工作 2.1 创建临时表 由于使用的是orc方式进行存储&#xff0c;所以我们需要建立…