Operations Research课程之带约束的非线性规划(凸分析|Lagrange松弛|Lagrange对偶|KKT条件)

目录

1.凸分析

1.1 为什么需要凸分析

1.2 凸分析相关概念

1.3 凸规划定义

1.4 单变量NLP凸分析 

1.5 多变量NLP凸分析

2.拉格朗日松弛

2.1 拉格朗日函数

2.2 拉格朗日对偶

2.2.1 弱对偶性 

2.2.2 凸性

2.2.3 强对偶性

2.2.4 与LP对偶关系

3.KKT条件 

3.1 KKT介绍

3.2 KKT举例


来源:Coursera课程/Operations Research (3): Theory week5/6

课程前言:

运筹学包括三个部分:模型,算法和理论,大部分场景下,理论(theory)是关于最优性条件(optimality conditions),求解实际问题需要建立模型,求解模型需要使用算法,而理论能帮助开发更好的算法

(1)最优性条件

  • 线性规划:对偶性
  • 整数规划:全单模矩阵
  • 带约束的非线性规划:拉格朗日和KKT条件✅

博客Operations Research课程之非线性规划(梯度下降|牛顿法|Gurobi+Python)中提到的梯度下降和牛顿法适用于无约束的非线性规划,对于带约束的非线性规划问题,本文首先介绍凸规划,然后介绍两种工具:Lagrangian relaxation和 KKT condition

1.凸分析

1.1 为什么需要凸分析

与LP问题相比,NLP更困难

  • 在NLP中,一个局部最小(最优)不总是全局最小(最优),如左图所示,x1是局部最小但是不是全局最小
  • 在有最优解NLP中,可能不存在极点最优解(extreme point),如右图所示,最优解是(2,2)但是极点是(0,4)和(4,0)

没有人能开发有效的算法来解决通用NLP,为了更容易求解NLP(找到一个全局最优解),我们希望NLP有以下特征:

  • 我们希望局部最优就是全局最优
  • 我们希望保证有极点最优解(当存在一个最优解时)

了解这些特征,就需要了解凸分析(convex analysis) 

1.2 凸分析相关概念

(1)凸集convex set

定义1(凸集convex set)

凸集中任意两点的连线也在集合内,如左图所示,右图不是凸集 

(2) 凸函数convex functio

 定义2(凸函数convex function)

 凸函数有一个上升曲线,任意两点连线上某点的取值要大于实际取值,如左图所示,右图不是凸函数

(3) 凹函数concave function

 定义3(凹函数concave function)

上面红色框的是凸集和凸函数,其中凸函数最后一个是三维,画图会发现一个碗的形状,因此是凸函数。 

(4)全局最优与局部最优

命题1(凸函数的全局最优性global optimality)

(5)极点与最优解

命题2

对任何在凸可行域上有全局最小的凹函数,全局最小是一个极点

1.3 凸规划定义

根据上述两个命题可知,如果想在凸可行域F上最小化函数f

  • 如果函数f是凸的,就搜索一个局部最小
  • 如果函数f是凹的,就搜索F中的极点

对于LP问题,有两个重要特征

因此我们可以用贪婪搜索关注极点,从而找到最优解,这也是单纯形法的思想,单纯形法通过不断搜索更好的基本可行解(极点)来寻找最优解。

定义4(凸规划convex program CP)

如果一个NLP的可行域是凸的并且目标函数在可行域上也是凸的,那么这个NLP是CP问题

根据定义4可得命题5 

命题5

1.4 单变量NLP凸分析 

前面定义了凸性和凸规划的概念,在给定一个函数后,我们需要知道它是不是凸的,比较简单的函数可以通过凸函数定义来证明,但是复杂的函数是不能直接看出的,首先针对单变量NLP

单变量NLP凸分析条件

其中条件2称为FOC(first order condition),对所有函数,FOC都是局部最优的必要条件,对于凸函数,FOC还是全局最优的充分条件。求解NLP问题,凸分析对于寻找局部最优或全局最优是非常关键的。以库存控制中的EOQ经济订货批量模型为例说明对于单变量NLP的凸分析过程

1.5 多变量NLP凸分析

 在Operations Research课程之非线性规划中介绍过梯度和Hessian矩阵

对于多变量NLP,其凸性理论和单变量类似

多变量NLP凸分析条件

 有一个关键概念,条件1中的半正定(positive semi-definite PSD)

半正定(positive semi-definite PSD)

下面举例说明多变量NLP凸分析及求解过程

虽然不能有效的解决通类NLP问题(general NLP),但是求解CP问题还是存在一些有效的算法,对于CP类的NLP,可以结合凸分析使用上述1.4和1.5节中的方法,如果FOC难以直接求解,还可以使用牛顿法和梯度下降,但是这些方法都只适用于无约束,接下来介绍求解带约束的非线性凸规划问题用到的方法:拉格朗日松弛和KKT条件

2.拉格朗日松弛

2.1 拉格朗日函数

对于带约束的非线性规划问题,当约束难处理时,最直观的方法是先忽略这些约束,求解问题找到最优解,如果满足约束就是原问题的最优解,如果不满足约束只能寻找一个最近的可行解。很显然这种方法有缺陷。现在换一种思路:不是直接忽略所有约束,而是允许违反约束,但是尽量保证可行性。

拉格朗日松弛将约束条件通过拉格朗日乘子结合到目标函数中,其核心是奖励可行性(reward feasibility)和惩罚不可行(penalize infeasibility)。注意拉格朗日乘子也可以为负,但是后面表达式也要变化,只要两者乘积能表示核心即可。下面是一个简单的转化例子

2.2 拉格朗日对偶

2.2.1 弱对偶性 

弱对偶性:拉格朗日松弛能提供原始NLP一个bound

回想LP及其对偶问题:任何可行的对偶解都能为原始LP提供一个bound,通过寻找对偶最优解能为原始LP提供最紧的bound,这和拉格朗日松弛为原始NLP提供bound类似,因此最小化拉格朗日函数也称为拉格朗日对偶

拉格朗日对偶除了具有弱对偶性,还有一些其它需要探讨的性质:

  • 拉格朗日函数的凸性
  • 强对偶性
  • LP对偶和拉格朗日对偶的关系

2.2.2 凸性

拉格朗日对偶是凸的

无论原始NLP凸性如何,拉格朗日对偶NLP都是凸的,因此可以用数值算法比如梯度下降求解,这个关键性质正是拉格朗日对偶在求解带约束非线性规划问题的优势

2.2.3 强对偶性

拉格朗日对偶的强对偶性

2.2.4 与LP对偶关系

LP对偶是拉格朗日对偶的一种特例

3.KKT条件 

3.1 KKT介绍

KKT条件根据三位学者命名,全称Karush-Kuhn-Tucker conditions,用于判断带约束的非线性规划的某个解是否是最优解候选,注意此处适用于满足正则条件(regular NLP),KKT条件的证明可自寻其它资料,KKT条件使用到了2.1节拉格朗日函数的概念

KKT条件对于NLP只是必要条件,但是对CP是必要且充分条件

对于一般的非线性规划问题,最优解一定满足KKT,但是满足KKT的不一定是最优解。如果这个非线性规划问题属于凸规划,那么满足KKT条件的解就是全局最优解。 

3.2 KKT举例

在KKT条件下能帮助为带约束的非线性规划问题找到一些候选解,比较这些解再寻找全局最优。

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

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

相关文章

Redis 管道(Pipeline)是什么?有什么用?

目录 1. redis 客户端-服务端模型的不足之处 2. redis 管道是什么?有什么好处? 3. 管道的使用场景 4. 管道使用的注意事项 1. redis 客户端-服务端模型的不足之处 众所周知,redis 是一个客户端-服务端的模型设计,客户端向服务…

上海网站建设如何做

上海是中国最繁华的城市之一,作为全国的经济、文化和科技中心,网站建设在上海变得越来越重要。如何做好上海网站建设,让网站更加吸引人,成为企业和个人宣传自身的重要平台呢? 首先,要有清晰的定位和目标。在…

SCI一区级 | Matlab实现BO-Transformer-BiLSTM时间序列预测

SCI一区级 | Matlab实现BO-Transformer-BiLSTM时间序列预测 目录 SCI一区级 | Matlab实现BO-Transformer-BiLSTM时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.【SCI一区级】Matlab实现BO-Transformer-BiLSTM时间序列预测,贝叶斯优化Transfor…

Zoom视颊会议软件使用

GPT-3.5 (OpenAI) Zoom是一款极受欢迎的视频会议软件。使用Zoom可以方便地进行视频会议、远程授课、在线研讨会等活动。以下是Zoom的使用步骤: 1. 下载Zoom客户端 可以在Zoom官网上下载对应平台的Zoom客户端。下载并完成安装后,双击打开客户端。 2. 创建…

【AI】ChatTTS实现文本转语音

最近有时间继续研究一下各种有趣的开源项目,一个叫ChatTTS的项目吸引了我的注意,这个项目可以把文本转换成语音,配合gpt生成文本,可以直接用于生产有声书作品了,这可以说是直接的生产力项目了。 项目对显存的要求不高&…

Git 操作补充:cherry-pick、变基

1. 挑选提交合并 git cherry-pick 对于多分支的代码库,将代码从一个分支转移到另一个分支是一种常见的需求,这可以分成两种情况:一种情况是,你需要另一个分支的所有代码变动,那么就采用 git merge;另一种情…

SF-HCI-SAP问题收集17:值映射布尔型EC数据

Complacency is the enemy of study 学习的敌人是自己的满足。 SAP SuccessFactors Employee Central 到 SAP ERP 的员工主数据复制 successfactor employee center主数据同步,一直以来排错比较难,难的地方是这个提示消息比较隐晦,而且同步的…

云原生技术架构详解

云原生技术最全详解(图文全面总结) 容器技术 容器技术:是将应用程序、及其所有依赖项,打包到一个独立的、可移植的容器中。 如下图所示: 容器技术的实现,最典型的就是以Docker为代表的。 如下图所示: 主要解决: 1、…

Ubuntu设置nacos开机以单机模式自启动

首先,需要安装jdk Ubuntu 安装JDK 创建Systemd服务单元文件 sudo vim /etc/systemd/system/nacos.service按i进入编辑模式,写入下面信息 [Unit] Descriptionnacos server Afternetwork.target[Service] Typeforking Environment"JAVA_HOME/opt/j…

Kafka集群安装部署

简介 Kafka是一款分布式的、去中心化的、高吞吐低延迟、订阅模式的消息队列系统。 同RabbitMQ一样,Kafka也是消息队列。不过RabbitMQ多用于后端系统,因其更加专注于消息的延迟和容错。 Kafka多用于大数据体系,因其更加专注于数据的吞吐能力…

用freertos后NVIC里系统时钟部分报错,如何解决?

🏆本文收录于《CSDN问答解答》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&…

YOLOv8模型调参---数据增强

目录 1.数据预处理 2.数据增强 2.1 数据增强的作用 2.2 数据增强方式与适用场景 2.2.1离线增强(Offline Augmentation) 2.2.2 在线增强(Online Augmentation) 3. 数据增强的具体方法 4. YOLOv8的数据增强 4.1 YOLOv8默认…

Http 实现请求body体和响应body体的双向压缩方案

目录 一、前言 二、方案一(和http header不进行关联) 二、方案二(和http header进行关联) 三、 客户端支持Accept-Encoding压缩方式,服务器就一定会进行压缩吗? 四、参考 一、前言 有时请求和响应的body体比较大,需要进行压缩,以减少传输的带宽。 二、方案一(和…

《信息记录材料》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问:《信息记录材料》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《信息记录材料》级别? 答:国家级。主管单位:全国磁性记录材料信息站 主办单位…

社区活动|FlowUs知识库的发展|先进技术的落地应用|下一代生产力工具你用了吗

在当今快速发展的数字化时代,技术的进步不断推动着工作方式和知识管理的革新。FlowUs,作为一款前沿的知识管理和协作平台,正站在这一变革的浪潮之巅,引领着智能工作的新潮流。 智能化的智能学习引导工具 FlowUs不仅仅是一个工具&…

昇思25天学习打卡营第7天|深度学习流程全解析:从模型训练到评估

目录 构建数据集 定义神经网络模型 定义超参、损失函数和优化器 超参 损失函数 优化器 训练与评估 构建数据集 首先从数据集 Dataset加载代码,构建数据集。 代码如下: #引入了必要的库和模块,像 mindspore 以及相关的数据处理模块等等。…

Vue2-Vue Router前端路由实现思路

1.路由是什么? Router路由器:数据包转发设备,路由器通过转发数据包(数据分组)来实现网络互连 Route路由:数据分组从源到目的地时,决定端到端路径的网络范围的进程 | - 网络层 Distribute分发…

无人机5公里WiFi低延迟图传模组,抗干扰、长距离、低延迟,飞睿智能无线通信新标杆

在科技日新月异的今天,我们见证了无数通信技术的飞跃。从开始的电报、电话,到如今的4G、5G网络,再到WiFi的广泛应用,每一次技术的革新都极大地改变了人们的生活方式。飞睿智能5公里WiFi低延迟图传模组,它以其独特的优势…

2024上半年热门网络安全产品和工具TOP10

今年上半年,利用生成式人工智能(GenAI)的网络安全工具继续激增。许多供应商正在利用GenAI的功能来自动化安全运营中心(SOC)的工作,特别是在自动化日常活动方面,如收集威胁信息和自动创建查询。 …

爬虫-Python基础

一、Python环境的安装 1. 下载Python 访问Python官网: Welcome to Python.org点击downloads按钮,在下拉框中选择系统类型(windows/Mac OS/Linux等)选择下载最新版本的Python 2. 安装Python 双击下载好的Python安装包勾选左下角 Add Python 3.7 to PATH 选项&…