当前位置: 首页 > news >正文

优化理论笔记

目录

一、前言

二、优化问题的基本要素

三、优化问题分类

四、最优值类型

五、最优化方法分类

六、非约束优化

1、问题定义

2、优化算法

1)一般局部搜索过程

2)集束搜索

3)禁忌搜索

4)模拟退火

5)蛙跳算法

3、例子测试问题

七、约束优化

1、问题定义

2、约束方法处理

1)罚函数方法

2)将约束转化为非约束问题

3)例子测试问题

八、多解问题

1、问题定义

2、小生境算法分类

3、例子测试问题

九、多目标优化

1、多目标问题

2、加权聚合方法

3、帕累托最优

十、动态优化问题

1、定义

2、动态环境类型

3、例子测试问题


一、前言

最近进组了,其中一个研究方向是计算智能,按照我目前要学的内容,简单记录一下我学习的笔记,没相关背景的读者初看应该比较难懂(其实我也没完全看懂)。

二、优化问题的基本要素

每个优化问题都是由以下基本要素构成:

1)一个目标函数

2)一个未知变量集(它影响着目标函数的值,如果x表示未知数,也叫做独立变量,则 f(x) 叫做候选解x的质量)

3)一个约束集

一个优化问题的目标是从可行域中选出值赋给变量,使得目标函数最优化,且满足所有约束。

三、优化问题分类

分类基于一些特性:

1)影响目标函数的变量数目。一个只要优化一个变量的问题就叫做单变量问题,若需考虑不止一个变量,就叫做多变量问题

2)变量类型

3)目标函数的非线性度:线性问题是指目标函数与变量成线性关系。二次问题使用的是二次函数,当使用其他非线性目标函数时,则问题叫做非线性问题

4)使用的约束:只使用边界约束叫做非约束问题。约束问题有附加的等式/不等式约束

5)最优值的数目:如果只存在一个确定的解,问题就是单模的。如果存在不止一个最优解,则问题是多模的。一些问题可能会有假的最优值,这就叫做欺骗问题

6)优化准则的数目:如果要优化的数量只用一个目标函数表达,则问题叫做单目标问题。一个多目标问题要确定不止一个目标,这些目标都要同步优化

用于解决上述问题类型的优化方法各自差异很大,日后再详细叙述。

四、最优值类型

优化算法找到的解根据它的质量来分类。解的主要类型为局部极值和全局极值。

下面考虑一个最小化问题中的全局极值的相关定义。

定义A.1 全局最小值:

定义A.2 强局部极小值:

定义A.3 弱局部极小值:

五、最优化方法分类

一个最优化算法通过循环迭代将当前的一个候选解更新为一个新的更好的解来寻找一个最优解。最优化方法可以根据所找到的解的类型,分成两个主要的类别。局部搜索算法仅仅使用当前解周边的搜索空间的局部信息来生成新的解。因为只使用了局部信息,局部搜索算法定位的是局部最优解(也有可能是全局最小值)。全局搜索算法使用搜索空间的更多信息来定位一个最优值。即全局搜索算法探索整个搜索空间,而局部搜索算法则探索的是邻域。

最优化算法可进一步分为确定性方法和随机方法。随机方法使用随机元素来将个候选解变换为一个新的解。因此无法预测新的解。而确定性方法则不使用随机元素根据问题特征,最优化方法分为以下类别 (在这些类中可以基于定位局部解还是全局解以及是否使用随机元素来变换到搜索空间中的新的点来细分)。

  • 无约束方法,用于优化无约束问题。
  • 约束方法,用于在约束搜索空间中寻找解。
  • 多目标优化方法,针对不只优化一个目标的问题。
  • 多解(小生境)方法,具有定位不止一个解的能力。
  • 动态方法,能够定位和跟踪改变的极值。

后续会分别讨论这些优化方法的每一类。

六、非约束优化

1、问题定义

2、优化算法

有很多优化算法用于解决非约束问题,这里介绍部分。

1)一般局部搜索过程

局部搜索方法遵从算法 A.1 给出的相同的基本结构。选择 x(0) 作为个起点,并评估其质量。

然后,迭代地确定一个搜索方向,并朝该方向移动。

搜索方向和步长可由最陡梯度下降法、变化梯度或牛顿方法确定 (以及其他很多方法)。

2)集束搜索

3)禁忌搜索

禁忌搜索(TS)是一个迭代邻域搜索算法,其中邻域动态改变。TS 通过主动避免搜索空间中之前已经访问过的点来增强局部搜索。通过避免已经访问的点,搜索过程中的循环得以避免,且能逃离局部极值。TS 的主要特征为使用一个明显的存储空间。一个简单的 TS 通常实现了两种形式的存储。

  • 基于频率的存储,它维护了一个搜索点在特定时间间隔内被访问了多少次 (或移动了多少次) 的信息。
  • 基于最新的存储,它维护了一个搜索点在最近多长时间内被访问过 (或所做的移动有多近)。最新度根据这个事件发生的迭代来衡量。

例如,如果一个搜索点的频数超过了给定的闯值,则该点被归类为下次迭代的禁忌。禁忌表中列出的位置被排除在可能被当前位置访问的候选位置的邻域之外。在一定时期内位置保留在禁忌表中。

以下情况可用于终止 TS:

  • 邻域为空,即:所有可能的邻域点都已经访问过了。
  • 从上次改进以来的迭代数超过了预先设定的阈值。

4)模拟退火

退火指的是液体或固体降温的过程,以及这些物质冷却时的行为分析。当温度降低,分子的移动性也减弱,因此分子可能排成晶体状结构。安排好的结构是该系统的最小能源状态。为保证得到这样的安排,冷却必须在足够慢的过程中进行。如果物质过快地冷却,就会达到一个无晶形状态。

模拟退火是基于上面描述的物理过程的优化过程。在数学优化的上下文中,一个目标函数的最小值表示该系统的最小能量。模拟退火是为找到一个目标函数的冷却过程的算法实现。

5)蛙跳算法

蛙跳算法是基于单元粒子在 n 维保护力场的物理问题。

3、例子测试问题

本节列出了一些用于评估无约束优化算法的经典测试函数。本节的目的并不是提供个例子问题的完整清单,而是给出作为分析优化方法性能的一个良好起点的列表。

七、约束优化

1、问题定义

同样是假设最小化问题,一般约束问题的定义如下。

2、约束方法处理

可以找到以下类型的约束。

  • 边界约束定义了搜索空间的边界。搜索空间的每一维的上下边界定义了寻求解所在的超立方。虽然边界通常定义为变量之上的上下边界,这样的盒状约束并不是唯一定义边界的方法。搜索空间的边界可以在超立方的周围。问题也有可能是无边界的。
  • 等式约束限定了问题的变量的函数必须等于某个常数。
  • 不等式约束限定了问题的变量的函数必须小于或等于 (或大于、等于)某个常数。
  • 约束可以是线性的或非线性的。

约束处理方法需要考虑若干重要问题,这些问题主要是关于如何在可行和非可行解中权衡。

  • 怎样比较两个可行解?这个问题的答案很明显:具有更好目标函数值的解更好。
  • 怎样比较两个非可行解?这里的答案就没那么明显了,实际上它通常是跟问题相关的。需要考虑以下问题:

    -具有最好目标函数值的不可行解更好吗?
    -最少地或最低限度地违反约束的解更好吗?
    -需要在最佳目标函数值和约束违反程度之间权衡吗?

  • 可以假设任何可行解都比任何非可行解更好吗?换句话说,目标函数值和约束违反程度能够最好地平衡好吗?再次,这个问题的答案是跟问题相关的。在财政危机和生命危机问题中,首要保证的是没有财务损失,或生命损失。不那么严峻的问题?如时间安排,可以考虑少数几个关键约束被违反的解。

关于约束处理方法的研究在进化计算(EC)和群体智能(SI)方法中都非常多。基于这些研究所做的努力,约束处理方法可分为以下几类:

  • 拒绝不可行解,该方法并不将解限制在可行空间。在不可行空间的解只是简单地被拒绝或忽视。
  • 罚函数方法,该方法对目标函数添加一个惩罚,以抑制在搜索空间中搜索不可行的区域。
  • 将约束问题转化为非约束问题,然后解决非约束优化问题。
  • 保持可行性方法,该方法假设解在可行空间中初始化,并运用特定算子将可行解转化为新的可行解。这些方法限制解只移到可行空间中,其中任何时候都满足所有约束。
  • 帕累托排序方法,该方法用了多目标优化的概念,如非支配(见第 A.8 节),来基于违反程度对解进行排序。
  • 修复方法,该方法对不可行解运用特定算子或行动使之变为可行解。

后续部分将提供这些方法中的两个的简短定义和讨论。

1)罚函数方法

罚函数方法给目标函数增加了一个函数,用于惩罚代表不可行解的向量。假设一个约束优化问题如定义 A.5 所定义。

2)将约束转化为非约束问题

通过为约束问题定义拉格朗日算子,一个约束问题能转换为非约束问题,然后最大化拉格朗日。

3)例子测试问题

本小节列出了约束优化的一些测试函数。再说一下,目的并不是提供一个例子问题的完整清单,而是给出作为评估约束优化方法的一个良好起点的列表。

八、多解问题

多解问题是多模的,含有很多极值。这些极值可能包括一个以上全局极值和一些局部极值,或仅仅一个全局极值和一个以上的局部极值。多解优化方法的目标是寻找尽可能多的这些极值。第 A.7.1节给出了正式定义,第 A.7.2 节列出了不同的算法类别,第 A.7.3节给出了测试问题的例子。

1、问题定义

2、小生境算法分类

小生境算法可以根据小生境定位的方法来分类,包括以下 3 种类别。

  • 顺序小生境 (或时间小生境) 会一直搜索小生境。搜索过程迭代定位小生境 (或极值),且从搜索空间中删除它的任何参考。删除小生境的参考往往也意味着搜索空间的改变。小生境的搜索和删除顺序地持续,直到满足收敛条件。例如,在多次迭代后不能获得小生境。
  • 并行小生境并行地定位所有小生境。个体动态地自组织,或在极值位置形成物种,除了定位小生境,并行小生境算法需要组织个体使得它们一直维护它们在最优值附近的位置。即,一旦找到一个小生境,则个体一直在该小生境聚集。
  • 准顺序小生境顺序地定位小生境,但并不删除小生境来改变搜索空间。相反,对新的小生境持续搜索,而对已经找到的小生境进行并行地精炼和维护。

如果不考虑小生境定位的方法,小生境算法可以根据物种形成行为来分类。

  • 同域物种形成:在相同搜索空间中的粒子形成物种,但继续演化去探索不同的资源。例如,不同种类的鱼在同一环境中依靠不同的食物源。
  • 异域物种形成:个体的差异基于搜索空间中的空间孤立。不存在跨物种的沟通,且子物种只能从现有的遗传信息变异后得到 (由变异激发)。例如,考虑不同种的鱼在它们的食物源附近生活和玩耍,毫不影响生活在不同区域的其他物种的存在。
  • 跨域物种形成:新物种的进化是隔离物种共享同一边界的结果。原物种之间的交流不一定被鼓励。例如,新的鱼种形成可能基于小部分不同鱼群的相互作用的进化。新物种可能有不同的食物需求并且可能触犯环境的稳定性。

3、例子测试问题

本节列出了 5 个简单的函数来测试小生境算法,除此之外,前述章节中提到的任何多模函数均可使用。

九、多目标优化

很多现实世界的问题需要同步优化一系列目标函数。这些目标函数彼此可能还有一些冲突。例如,考虑在一个数据通信网络中寻找最优路径,它的目标可能包括最小化路由成本、最小化路径长度、最小化拥塞,以及最大化物理设施的利用。在这最后两个目标中有重要的权衡:最小化拥塞须尽少使用链路。而另一方面,使用的减少意味着那些耗费了大量安装和维护成本的基础设施未被充分利用。
本部分提供了多目标优化 (MOO) 的理论概述,主要集中讲述后续章节需要的定义。本章的目的绝非给出 MOO 的一切知识,更多内容查阅文献。第 A.8.1节定义了多目标优化问题 (MOP),并讨论了MOO中一个最优值的含义。第A.8.2节总结了解决 MOP 问题的加权聚合方法。第 A.8.3 节提供了帕累托最优和支配的定义,并给出了例子问题的列表。

1、多目标问题

最优值的含义需要为 MOO 重新定义。在单目标优化 (UOO) 中,只优化一个目标,局部极值和全局极值的定义见第 A.3 节。而对于 MOO,最优化的定义则没那么简单。主要问题在于存在相互冲突的目标,对一个目标的改进可能导致另外一个目标变差。例如,最大化一个机械结构的结构稳定性可能引起成本增加,跟要减小成本的目标相抵触。冲突的目标之间存在权衡,而任务就是找到平衡了这些权衡的解。这样的平衡在一个目标在不削弱另外一个或多个目标的前提下没法再改进时达到。这些解叫做非支配解,这样的解可能存在很多。
因此,解决多目标问题的目标在于生成一个好的妥协解集,而非单个解。这个解集叫做非支配集,或帕累托最优集。目标空间中相应的目标向量叫做帕累托前端。支配和帕累托最优的概念将在下一节定义。

2、加权聚合方法

3、帕累托最优

本节给出了一些探讨 MOO 是需要的定义。定义包括:支配、帕累托最优、帕累托最优前端等。这些定义假设是最小化。
定义 A.11 支配:决策向量 x1,支配一个决策向量 x2 (表示为 x1<x2),当且仅当:

解决 MOP 的目标是近似真实帕累托最优前端,并选择代表了权衡的解 (对于最终只需要一个问题的解)。找到精确的真实帕累托前端 (即,找到 ζ 中的所有帕累托最优解) 往往很费时,因此任务就简化为找真实帕累托前端的近似,使得:

  • 到帕累托前端的距离最小。
  • 非支配解集,即,帕累托最优集,尽可能的分散。
  • 维持已经找到的非支配解。

寻找近似真实帕累托前端的任务本身就是个多目标问题,第一个目标是保证近似的尽量精确,而第二个目标保证完整覆盖整个帕累托前端。

十、动态优化问题

动态目标优化问题含有随时变化的目标函数。目标函数的改变导致了极值位置的改变,以及搜索空间特征的变化。现存的极值可能会消失,而新的极值会出现。第 A.9.1 节提供动态问题的正式定义。第 A.9.2 列出动态问题的不同类型。第 A.9.3 节给出了测试问题例子。

1、定义

一个动态优化问题可正式定义如下所示。

2、动态环境类型

3、例子测试问题

以上,优化理论笔记

祝好

相关文章:

优化理论笔记

目录 一、前言 二、优化问题的基本要素 三、优化问题分类 四、最优值类型 五、最优化方法分类 六、非约束优化 1、问题定义 2、优化算法 1&#xff09;一般局部搜索过程 2&#xff09;集束搜索 3&#xff09;禁忌搜索 4&#xff09;模拟退火 5&#xff09;蛙跳算法…...

FastAPI学习-23.异常处理器 exception_handler

前言 通常我们可以通过 raise 抛出一个 HTTPException 异常&#xff0c;请求参数不合法会抛出RequestValidationError 异常&#xff0c;这是最常见的2种异常。 HTTPException 异常 向客户端返回 HTTP 错误响应&#xff0c;可以使用 raise 触发 HTTPException。 from fastap…...

国庆出游远程实测:ToDesk 、TeamViewer、AnyDesk远程控制软件稳定性

ToDesk 、TeamViewer、AnyDesk远程控制软件稳定性 【前言】【实测软件】【测试环境】【实操体验】1. 软件安装2. 登录速度3. 文件传输4. 操作延迟5. 画面清晰度6. 安全防护 【本文小结】 【前言】 随着科技的不断发展&#xff0c;远程控制软件已成为我们生活中不可或缺的一部分…...

Facebook 惊现网络钓鱼浪潮,每周攻击 10 万个账户

日前&#xff0c;据Bleeping Computer网站披露&#xff0c;某黑客组织通过一个伪造和受损的 Facebook账户网络&#xff0c;发送钓鱼信息&#xff0c;利用密码窃取恶意软件攻击 Facebook企业账户。尽管该攻击链并不“新奇”&#xff0c;但此次网络攻击的活动规模却十分庞大&…...

高通camx开源部分简介

camera整体框架 ISP Pipeline diagram Simple Model Camx and chi_cdk 整体框架 CtsVerifier, Camra Formats Topology of Camera Formats. Topology (USECASE: UsecaseVideo) Nodes List Links between nodes Pipeline PreviewVideo Buffer manager Create Destro…...

Springboot 框架中加解密字段后存储数据库

为防止数据库泄露&#xff0c;表里的敏感字段被曝光&#xff0c;需要对用户的重要数据做加密存取。 选择加密算法&#xff1a; 首先&#xff0c;你需要选择适合你的需求的加密算法。一些常见的加密算法包括AES、RSA、SHA等。具体的选择取决于你要加密的数据和安全需求。 引入…...

计算机毕设 大数据工作岗位数据分析与可视化 - python flask

文章目录 0 前言1 课题背景2 实现效果3 项目实现3.1 概括 3.2 Flask实现3.3 HTML页面交互及Jinja2 4 **完整代码**5 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要…...

Maven聚合项目配合Springcloud案例

创建maven项目 导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache…...

目标检测网络系列——YOLO V1

文章目录 One Stage DectectionYOLO网络正向预测pipline反向传播过程理解grid和grid对应的B个预测框YOLO网络的限制对比实验与其他的real-time detection的对比VOC 2007数据集的错误分析YOLO和Fast RCNN的集成学习VOC 2012数据集结果YOLO模型的泛化性DEMOOne Stage Dectection …...

任务工单发送失败重试方案设计

需求背景&#xff1a; 该系统为一个工单系统&#xff0c;其中任务工单为该系统中的一个模块&#xff1b;任务工单它是需要周期性调度的一种任务类型&#xff1b;可以按照用户配置的时间周期定时性触发的。由于任务需要发送到对应的工作人员上&#xff0c;所以这里需要先对员工进…...

关于 Vue-iClient-MapboxGL 的使用注意事项

官网&#xff1a;https://iclient.supermap.io/web/apis/vue/zh/api/guide/installation.html 关于图的使用&#xff0c;其余的引入步骤不再赘述&#xff0c;仅说注意事项。 推荐使用的是全局引入&#xff0c;也就是完整引入 因为单独引入我踩了不少坑&#xff0c;比如说 cs…...

Go 语言 map 如何顺序读取?

Go 语言中的 map 是一种非常强大的数据结构&#xff0c;它允许我们快速地存储和检索键值对。 然而&#xff0c;当我们遍历 map 时&#xff0c;会有一个有趣的现象&#xff0c;那就是输出的键值对顺序是不确定的。 现象 先看一段代码示例&#xff1a; package mainimport &q…...

flutter StreamSubscription 订阅者 stream

当您使用[Stream.listen]收听[Stream]时 则返回[StreamSubscription]对象 List<StreamSubscription?> subscriptions []; overridevoid initState() {super.initState();//subscriptions列表添加两个StreamSubscription。Stream.listen返回StreamSubscription对象subs…...

安全性算法

目录 一、安全性算法 二、基础术语 三、对称加密与非对称加密 四、数字签名 五、 哈希算法 六、哈希算法碰撞与溢出处理 一、安全性算法 安全性算法的必要性&#xff1a; 安全性算法的必要性是因为在现代数字化社会中&#xff0c;我们经常需要传输、存储和处理敏感的数据…...

解决ASP.NET Core的中间件无法读取Response.Body的问题

概要 本文主要介绍如何在ASP.NET Core的中间件中&#xff0c;读取Response.Body的方法&#xff0c;以便于我们实现更多的定制化开发。本文介绍的方法适用于.Net 3.1 和 .Net 6。 代码和实现 现象解释 首先我们尝试在自定义中间件中直接读取Response.Body&#xff0c;代码如…...

DownloadingImages 下载缓存图片,显示图片文字列表

1. 用到的技术点: 1) Codable : 可编/解码 JSON 数据 2) background threads : 后台线程 3) weak self : 弱引用 4) Combine : 取消器/组合操作 5) Publishers and Subscribers : 发布者与订阅者 6) FileManager : 文件管理器 7) NSCache : 缓存 2. 网址: 2.1 测试接口网址: …...

【应用层协议】HTTPS的加密流程

目录 一、认识HTTPS 二、密文 1、对称加密 2、非对称加密 三、HTTPS加密流程 1、建立连接 2、证书验证 3、密钥协商 4、数据传输 5、关闭连接 总结 在数字化时代&#xff0c;互联网已经成为我们生活和工作中不可或缺的一部分。然而&#xff0c;随着数据的不断增加&a…...

最新AI创作系统/AI绘画系统/ChatGPT系统+H5源码+微信公众号版+支持Prompt应用

一、AI创作系统 SparkAi创作系统是基于国外很火的ChatGPT进行开发的AI智能问答系统和AI绘画系统。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图…...

Z410 2023款无人机,专为零基础开发者打造的入门级开源无人机

为什么开发Z410升级款-Easydrone无人机 新手开发者通常在本科阶段加入人工智能行业&#xff0c;对无人机二次开发往往一知半解&#xff0c;面临着C、Python、ROS和mavlink等一系列入门知识&#xff0c;学习起来非常困难&#xff0c;学习的过程中也面临许多挫折。为了帮助零基础…...

elementui修改message消息提示颜色

/* el弹出框样式 */ .el-message {top: 80px !important;border: 0; }.el-message * {color: var(--white) !important;font-weight: 600; }.el-message--success {background: var(--themeBackground); }.el-message--warning {background: var(--gradientBG); }.el-message--…...

Linux和Hadoop的学习

目录 1. Linux的常用快捷键2. Hadoop集群部署问题汇总 1. Linux的常用快捷键 复制&#xff1a;CtrlshiftC 粘贴&#xff1a;CtrlshiftV TAB&#xff1a;补全命令 编写输入&#xff1a;i 退出编写&#xff1a;esc 保存并退出&#xff1a;shift&#xff1a; 2. Hadoop集群部署问…...

通达信指标预警信号,自动发送给微信好友1.0

1.功能介绍&#xff1a;十一节假日期间写了一个&#xff0c;可将股票指标预警信号&#xff0c;自动发送给微信好友/微信群&#xff08;即电脑端的消息&#xff0c;通过模拟微信操作可在手机上显示&#xff09;。本工具按通达信写的&#xff0c;如果大智慧&#xff0c;同花顺也能…...

浅谈CDN内容分发与全局负载均衡

CDN简介 CDN的全称是Content Delivery Network&#xff0c;即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络&#xff0c;依靠部署在各地的边缘服务器&#xff0c;通过中心平台的负载均衡、内容分发、调度等功能模块&#xff0c;使用户就近获取所需内容&#xff0c…...

【框架风格】解释器模式

1、描述 解释器框架风格&#xff08;Interpreter Framework Style&#xff09;是一种软件架构风格&#xff0c;其核心思想是构建一个解释器&#xff08;Interpreter&#xff09;来解释并执行特定领域或问题领域的语言或规则。以下是解释器框架风格的一些特点&#xff1a; 1. 领…...

c++视觉图像线性混合

图像线性混合 使用 cv::addWeighted() 函数对两幅图像进行线性混合。alpha 和 beta 是两幅图像的权重&#xff0c;它们之和应该等于1。gamma 是一个可选的增益&#xff0c;这里设置为0。 你可以通过调整 alpha 的值来改变混合比例。如果 alpha0.5&#xff0c;则两幅图像等权重…...

Doris 2.0.1 DockerFile版 升级实战

1、Doris 2.0.1 DockerFile 的制作 参考 Doris 2.0.1 Dockerfile制作-CSDN博客 2、之前的Doris 集群通过 Docker容器进行的部署&#xff0c;需提前准备好Doris2.0.1的镜像包 参考&#xff1a; 集群升级 - Apache Doris Doris 升级请遵守不要跨两个及以上关键节点版本升级的…...

kotlin aes 加密解密

文章目录 1. key填充2. 加密3. 解密 1. key填充 aes算法对key的字节数有要求 所以对输入的key要做填充处理 fun fillKey(key: String): ByteArray {val random SecureRandom.getInstance("SHA1PRNG")random.setSeed(key.toByteArray())val generator KeyGenerato…...

sqlite3的lib和头文件在哪下载 2023/9/19 上午10:46:43

2023/9/19 上午10:46:43 sqlite3的lib和头文件在哪下载 2023/9/19 上午10:46:54 你可以从SQLite官方网站下载SQLite的lib和头文件。请按照以下步骤进行操作: 打开SQLite官方网站:https://www.sqlite.org/index.html 在页面上方的菜单中选择 “Download”(下载)。 在下载…...

磁通量概述

磁通量指的是设在磁感应强度为B的匀强磁场中&#xff0c;有一个面积为S且与磁场方向垂直的平面&#xff0c;磁感应强度B与面积S的乘积&#xff0c;叫做穿过这个平面的磁通量&#xff0c;简称磁通&#xff08;Magnetic Flux&#xff09;。标量&#xff0c;符号“Φ”。在一般情况…...

MySql 终端常用指令

一、开发背景 利用数据库实现数据的增删改查 二、开发环境 Window10 mysql-8.0.33-win64 三、实现步骤 1、管理员模式打开终端 2、登录数据库&#xff08;停止 开启 登录&#xff09; 具体指令参考 MySql 安装篇 ​​​​​​​ ​​…...

【React-hooks篇幅】自定义hooks

首先得了解自定义 Hooks 跟普通函数区别在于哪里&#xff1f; Hooks 只应该在 React 函数组件内调用&#xff0c;而不应该在普通函数调用。Hooks 能够调用诸如 useState、useEffect、useContext等&#xff0c;普通函数则不能。由此可以通过内置的Hooks等来获得Firber的访问方式…...

面试算法21:删除倒数第k个节点

题目 如果给定一个链表&#xff0c;请问如何删除链表中的倒数第k个节点&#xff1f;假设链表中节点的总数为n&#xff0c;那么1≤k≤n。要求只能遍历链表一次。 例如&#xff0c;输入图4.1&#xff08;a&#xff09;中的链表&#xff0c;删除倒数第2个节点之后的链表如图4.1&a…...

数据结构——排序算法(C语言)

本篇将详细讲一下以下排序算法&#xff1a; 直接插入排序希尔排序选择排序快速排序归并排序计数排序 排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某写关键字的大小&#xff0c;按照递增或递减0排列起来的操作。 稳定性的概念…...

基于Http Basic Authentication的接口

Basic Authenrication是 HTTP 用户代理提供用户名的一种方法 &#xff0c;它是对 Web 资源实施访问控制的最简单技术&#xff0c;它不需要 Cookie、会话标识符和登录页面。HTTP Basic身份验证使用静态的标准HTTP标头&#xff0c;这意味着 不必在预期中进行握手。 当用户代理想…...

【yaml文件的编写】

yaml文件编写 YAML语法格式写一个yaml文件demo创建资源对象查看创建的pod资源创建service服务对外提供访问并测试创建资源对象查看创建的service在浏览器输入 nodeIP:nodePort 即可访问 详解k8s中的port&#xff1a;portnodePorttargetPortcontainerPortkubectl run --dry-runc…...

kt6368A双模蓝牙芯片无法透传 可能是什么问题呢

一、问题简介- kt6368A蓝牙芯片无法透传 可能是什么问题呢&#xff1f; KT6368A蓝牙芯片&#xff0c;在使用上还是非常的简单&#xff0c;总共也就8个腿&#xff0c;焊接也是很容易的事情 出现不能透传&#xff0c;大概率有如下2点原因 硬件问题&#xff0c;比如&#xff1…...

SpringBoot终极讲义第二章笔记

01.关于Import 和 ImportResource Import注解用法(类上): 一般和Configuration一起使用,用来导入里面Bean方法返回的对象 ImportResource(类上):一般和Configuration一起使用,用来导入某个.XML文件里的bean 个人觉得这两个注解有点鸡肋 SpringBoot启动类默认扫描的是启动类…...

【C++面向对象侯捷下】4. pointer-like classes,关于智能指针 | 5. function-like classes,所谓仿函数

文章目录 4. pointer-like classes,关于智能指针pointer-like classes,关于智能指针 shared_ptrpointer-like classes,关于迭代器5. function-like classes&#xff0c;所谓仿函数【不懂&#xff0c;跳过】 4. pointer-like classes,关于智能指针 pointer-like classes,关于智…...

社科院与杜兰大学能源管理硕士项目——惊喜会随时间慢慢酝酿而出

我们越来越难感受到惊喜&#xff0c;按部就班的生活让我们丧失了感知力&#xff0c;我们再难以被简单的确幸所打动。试试停下脚步&#xff0c;惊喜往往不期而遇。社科院与杜兰大学能源管理硕士项目是你人生中的小确幸吗 学习是一种持续不断的自我提升&#xff0c;它能让我们逐渐…...

Array简介

概念&#xff1a; 数组&#xff08;Array&#xff09;是Java中最简单的数据结构之一&#xff0c;它用于存储固定大小的相同类型元素序列。数组是一个连续分配的内存块&#xff0c;可以通过索引访问其中的元素。元素在数组中按照顺序排列&#xff0c;并使用整数索引来唯一标识每…...

Django的模版使用(Django-03)

一 模版的使用 模板引擎是一种可以让开发者把服务端数据填充到html网页中完成渲染效果的技术。它实现了 把前端代码和服务端代码分离 的作用&#xff0c;让项目中的业务逻辑代码和数据表现代码分离&#xff0c;让前端开发者和服务端开发者可以更好的完成协同开发。 静态网页&…...

详解分布式搜索技术之elasticsearch

目录 一、初识elasticsearch 1.1什么是elasticsearch 1.2elasticsearch的发展 1.3为什么学习elasticsearch? 1.4正向索引和倒排索引 1.4.1传统数据库采用正向索引 1.4.2elasticsearch采用倒排索引 1.4.3posting list ​1.4.4总结 1.5 es的一些概念 1.5.1文档和字段 …...

系统架构设计:3 软件架构建模技术与应用

目录 一 架构“4+1”视图 二 论点 1 架构的本质 2 “4+1”视图 (1)逻辑视图 <...

JAVA在线电子病历编辑器源码 B/S架构

电子病历在线制作、管理和使用的一体化电子病历解决方案&#xff0c;通过一体化的设计&#xff0c;提供对住院病人的电子病历书写、保存、修改、打印等功能。电子病历系统将临床医护需要的诊疗资料以符合临床思维的方法展示。建立以病人为中心&#xff0c;以临床诊疗信息为主线…...

TS中的枚举是什么如何使用

在 TypeScript 中&#xff0c;枚举&#xff08;enum&#xff09;是一种用于定义命名常量集合的数据类型。枚举可以提高代码的可读性和可维护性&#xff0c;因为它允许开发人员定义并使用有意义的符号名称来表示特定的常量。 下面是一个使用枚举的示例&#xff1a; enum Color…...

UG\NX二次开发 重命名特征对象 UF_OBJ_set_name

文章作者:里海 来源网站:《里海NX二次开发3000例专栏》 感谢粉丝订阅 感谢 林闹 订阅本专栏,非常感谢。 简介 UG\NX二次开发 重命名特征 UF_OBJ_set_name 效果 代码 #include "me.hpp" #include <vector> #include...

低欲望社会:只要我没欲望,世界就对我束手无策?

新的转变正在发生&#xff0c;越来越多的人&#xff0c;正从外部的物质世界向内部的精神世界回归。 比如&#xff0c;中产不再炫名牌&#xff0c;而是改炫读书&#xff1b;打工人不再炫工资&#xff0c;而是炫如何整顿职场。 越来越多的人认为消费主义弥漫着恶臭&#xff0c;…...

抢红包设计

抢红包大致可以分为2步&#xff1a;1 发红包 &#xff1b;2 抢红包 发红包流程 为了突出红包设计主题&#xff0c;以下设计会忽略支付流程、24H过期退款剩余金额、用户领取红包余额到账等业务&#xff0c;则简化后的相关表设计如下&#xff1a; CREATE TABLE red_record (id…...

k8s集群-6(daemonset job cronjob控制器)

Daemonset 一个节点部署一个节点 当有节点DaemonSet 确保全部 (或者某些) 节点上运行一个 Pod 的副本。加入集群时&#xff0c;也会为他们新增一个 Pod 。当有节点从集群移除时&#xff0c;这些Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。 DaemonSet 的典型用…...

Compose 编译器版本和Kotlin版本对应关系

使用了最新的kotlin版本&#xff0c;compose报错&#xff0c;不兼容&#xff0c;在这里记录一下版本对应关系 值得注意的是Compose Kotlin 编译器扩展 (androidx.compose.compiler) 未关联到 Compose 库版本。相反&#xff0c;它会关联到 Kotlin 编译器插件的版本&#xff0c;…...