凸优化和非凸优化

news2024/11/24 11:47:22

在数学中一个非凸的最优化问题是什么意思?

1、凸优化和非凸优化的定义
在这里插入图片描述
2、凸优化:相对简单
在凸集中,有个基本理论,那就是任意局部最优解一定是全局最优解。基于这个性质,设计一个简单的局部算法,比如 贪婪算法(Greedy algorithm)梯度下降法(Gradient decent),收敛求得的局部最优解即为全局最优解。因此求解凸优化问题相对来说是比较高效的。这也是为什么机器学习中凸优化的模型非常多,毕竟机器学习处理大数据,需要高效的算法。
3、非凸优化:非常困难
而非凸优化问题被认为是非常难求解的,因为可行域集合 可能存在无数个局部最优点,通常求解全局最优的算法复杂度是指数级的(NP难)。如下图:
在这里插入图片描述
https://www.slideshare.net/SessionsEvents/hanie-sedghi-research-scientist-at-allen-institute-forartificial-intelligence-at-mlconf-seattle-2017

最经典的算法要算蒙特卡罗投点法了,大概思想便是随便投个点,然后在附近区域(可以假设convex)用2中方法的进行搜索,得到局部最优值。然后随机再投个点,再找到局部最优点。如此反复,直到满足终止条件。

假设有1w个局部最优点9,你至少要投点1w次吧?并且你还要假设每次投点都投到了不同的区域,不然你只会搜索到以前搜索过的局部最优点。

再补充一点:数学规划9模型里面如果有整数变量9,这个问题通常被称为 highly nonconvex(极度非凸),如下图:
在这里插入图片描述

实心黑点组成的集合,是一个离散集,按照1中判断一个集合是否为凸集的技巧,我们很容易验证这个离散集是非凸的。因此整数规划问题也是一个非凸优化问题,并且它也是NP难的。

因此数学规划里最难的一类问题,叫做混合整数非线性规划(mixed integer nonlinear programming)

那么整数规划的求解思路呢,也遵循了科学研究的本质,即被分解为求解一个个的线性规划问题。感兴趣的朋友可以搜索分支定界法

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

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

相关文章

MySQL 的备份方式

MySQL 的备份方式 1. 逻辑备份 逻辑备份是指将数据库中的数据导出为可读的 SQL 语句,通过这些语句可以还原数据库的结构和数据。 使用 mysqldump 工具进行逻辑备份 - **命令示例:**mysqldump -u [username] -p [database_name] > backup_file.sql- …

企微hook源码第二弹

免费的企微框架,可下载测试。 支持文本消息,图片消息,视频消息,文件消息。 有兴趣可以进群交流。649480745,群内不定期开源企微hook源码 接下来就是第二弹的企微hook源码。后续会在群内开源完整源码。

【比较mybatis、lazy、sqltoy、mybatis-flex、easy-query操作数据】操作批量新增、分页查询(三)

orm框架使用性能比较 比较mybatis、lazy、sqltoy、mybatis-flex、easy-query操作数据 环境: idea jdk17 spring boot 3.0.7 mysql 8.0测试条件常规对象 orm 框架是否支持xml是否支持 Lambda对比版本mybatis☑️☑️3.5.4sqltoy☑️☑️5.2.98lazy✖️☑️1.2.4…

CodeFlying 和 aixcoder两大免费软开平台,孰强孰弱?

今天为大家带来码上飞CodeFlying和aixcoder两款免费的软件开发平台效果的测评 一、产品介绍 首先简单介绍一下这两个平台 码上飞CodeFlying:码上飞 CodeFlying | AI 智能软件开发平台! 是一款革命性的软件开发平台,它通过将软件工程和大模…

分库分表如何管理不同实例中几万张分片表?

在进行分库分表设计时,确认好了数据节点数量和分片策略以后,接下来要做的就是管理大量的分片表。实际实施过程中可能存在上百个分片数据库实例,每个实例中都可能有成千上万个分片表,如果仅依靠人力来完成这些任务显然是不现实的。…

spring自定义事件监听器

1. 创建自定义事件 import org.springframework.context.ApplicationEvent; import java.util.List;public class CollectionCreateEvent extends ApplicationEvent {private List<String> fileList;public CollectionCreateEvent(Object source,List<String> file…

【CSP试题回顾】201312-2-ISBN号码

CSP-201312-2-ISBN号码 解题思路 输入ISBN码&#xff1a;从用户接收一个ISBN字符串。 初始化变量&#xff1a;创建一个向量verifyArray来存储ISBN的前9位数字&#xff0c;和两个整数identificationCode和checkSum分别用于存储ISBN的校验位和计算出的校验和。 处理ISBN字符串…

道路积水监测站——确保道路畅通和行车安全

TH-JS1道路积水监测站是一种专门用于监测城市道路积水情况的设备&#xff0c;旨在保障城市道路安全和防止水患对交通造成的不利影响。这些监测站通过实时检测和记录道路积水数据&#xff0c;为城市管理部门提供重要信息&#xff0c;以便及时采取应对措施&#xff0c;确保道路畅…

【CSP试题回顾】201409-2-画图

CSP-201409-2-画图 解题思路 定义picture的二维数组&#xff0c;用于记录每个单元是否被涂色。数组的大小被设置为105x105&#xff0c;这是为了确保能够覆盖题目中可能出现的所有坐标。 输入变量n&#xff0c;表示将要绘制的矩形数量。 对于每个矩形&#xff0c;读取其左下角…

Ruoyi框架上传文件

axios资料&#xff1a;axios中文文档|axios中文网 | axios axiosjson 默认情况下&#xff0c;axios将JavaScript对象序列化为JSON。 submit(data) {if (data && this.definitionId) {// 启动流程并将表单数据加入流程变量startProcess(this.definitionId, JSON.string…

MySQL--优化(SQL语句执行慢,如何分析)

MySQL–优化&#xff08;SQL语句执行慢&#xff0c;如何分析&#xff09; 定位慢查询SQL执行计划索引 存储引擎索引底层数据结构聚簇和非聚簇索引索引创建原则索引失效场景 SQL优化经验 一、如何分析 聚合查询&#xff1a; 对于涉及大量数据的聚合操作&#xff0c;如果可能的…

【GIS技术】GIS在地质灾害易损性评价、危险性评估与灾后重建中的实践技术应用

地质灾害是指全球地壳自然地质演化过程中&#xff0c;由于地球内动力、外动力或者人为地质动力作用下导致的自然地质和人类的自然灾害突发事件。由于降水、地震等自然作用下&#xff0c;地质灾害在世界范围内频繁发生。我国除滑坡灾害外&#xff0c;还包括崩塌、泥石流、地面沉…

python并发 map函数的妙用

1.map是什么&#xff1f; map函数是Python中的一个内置函数&#xff0c;用于将一个函数应用到一个或多个可迭代对象的每个元素上&#xff0c;生成一个新的可迭代对象。它的一般形式是&#xff1a; map(function, iterable1, iterable2, ...)其中&#xff0c;function是一个函…

linux安装mysql5.7

linux安装mysql5.7 一、下载mysql5.7二、解压包介绍三、上传包到linux四、卸载mariadb五、安装mysql六、修改权限七、启动mysql八、使用过navicat创作不易&#xff0c;笔记不易&#xff0c;如觉不错&#xff0c;请三连&#xff0c;谢谢~~ 一、下载mysql5.7 去mysql官方下载&am…

Python解释器及PyCharm安装教程

PyCharm官方下载地址☞https://www.jetbrains.com/pycharm/download/?sectionwindows Python解释器官方下载地址☞ https://www.python.org/downloads/windows/

pytorch续写tensorboard

模型训练到一半有 bug 停了&#xff0c;可以 resume 继续炼&#xff0c;本篇给出 pytorch 在 resume 训练时续写 tensorboard 的简例&#xff0c;参考 [1-3]&#xff0c;只要保证 writer 接收的 global step 是连着的就行。 Code import numpy as np from torch.utils.tensor…

UE5 UE4 关闭/开启引擎开启插件(UE4 MDL资源删除)

问题&#xff1a; 最近遇到了个情况&#xff0c;我安装在UE4.26中的一个NVIDA Omniverse插件&#xff0c;这个插件导致每次生成新的项目时&#xff0c;都会自动开启并在工程中生成一个MDL的文件夹和资源&#xff0c;比较烦。 而且是空工程&#xff0c;也依然自动生成。删除、…

石头里的传奇故事—沉积岩

“ 沉积岩者&#xff0c;地质历史之积淀者也。” 野外发现层状延伸的岩石出露&#xff0c;发现的岩石呈现灰白色&#xff0c;主要矿物为磨圆度好的石英颗粒&#xff0c;石英粒径为1-2mm。岩石质地坚硬。石英颗粒间填充物黏土物质&#xff0c;滴加盐酸未见气泡&#xff0c;斜层…

pytest多重断言插件-pytest-assume

最近准备废弃之前用metersphere做的接口自动化&#xff0c;转战pytest了&#xff0c;先来分享下最近接触到的一个插件&#xff1a;pytest-assume。 在使用这个插件之前&#xff0c;如果一个用例里面有多个断言的话&#xff0c;前面的断言失败了&#xff0c;就不会去执行后面的断…

黑马瑞吉外卖练习笔记

day2 员工管理 完善登录 问题&#xff1a;用户不登录&#xff0c;直接访问系统首页&#xff0c;照样可以正常访问。我们希望&#xff0c;只有登录成功后才可以访问系统中的页面&#xff0c;如果没有登录则跳转到登录页面 怎么实现&#xff1f; 用过滤器或拦截器&#xff0c;在…