【约束优化】一次搞定拉格朗日,对偶问题,弱对偶定理,Slater条件和KKT条件

1. 原问题的拉格朗日等价形式

对一个约束优化问题:
min ⁡ x f ( x ) s.t.  g i ( x ) ≤ 0 , i = 1 , ⋯ , m h i ( x ) = 0 , i = 1 , ⋯ , p \min\limits_{\mathbf{x}} f(\mathbf{x})\\ \text{s.t. } g_i(\mathbf{x})\leq0,i=1,\cdots,m\\ h_i(\mathbf{x})=0,i=1,\cdots,p xminf(x)s.t. gi(x)0,i=1,,mhi(x)=0,i=1,,p

  • 不等式约束: g i : R n ↦ R , i = 1 , ⋯ , m g_i:\R^n\mapsto \R,i=1,\cdots,m gi:RnR,i=1,,m

  • 等式约束: h i : R n ↦ R , i = 1 , ⋯ , p h_i:\R^n\mapsto\R,i=1,\cdots,p hi:RnR,i=1,,p

  • 可行域: Ω = { x ∈ R n : g i ( x ) ≤ 0 , h j ( x ) = 0 , i = 1 , ⋯ , m , j = 1 , ⋯ , p } \Omega=\{\mathbf{x}\in\R^n:g_i(\mathbf{x})\leq0,h_j(\mathbf{x})=0,i=1,\cdots,m,j=1,\cdots,p\} Ω={xRn:gi(x)0,hj(x)=0,i=1,,m,j=1,,p}

  • 拉格朗日函数: L ( x , λ , μ ) = f ( x ) + ∑ i = 1 m λ i g i ( x ) + ∑ j = 1 p μ j h j ( x ) , λ i ≥ 0 L(\mathbf{x},\lambda,\mu)=f(\mathbf{x})+\sum_{i=1}^m\lambda_ig_i(\mathbf{x})+\sum_{j=1}^p\mu_jh_j(\mathbf{x}),\lambda_i\geq0 L(x,λ,μ)=f(x)+i=1mλigi(x)+j=1pμjhj(x),λi0

可以看到:

  • case 1:当 x ∈ Ω \mathbf{x}\in\Omega xΩ 时, L ( x , λ , μ ) = f ( x ) + ∑ λ i g i ⏟ ≤ 0 + ∑ μ j h j ⏟ = 0 ≤ f ( x ) L(\mathbf{x},\lambda,\mu)=f(\mathbf{x})+\underbrace{\sum\lambda_ig_i}_{\leq0}+\underbrace{\sum\mu_jh_j}_{=0}\leq f(\mathbf{x}) L(x,λ,μ)=f(x)+0 λigi+=0 μjhjf(x),因此 max ⁡ λ ≥ 0 , μ L ( x , λ , μ ) = f ( x ) \max\limits_{\lambda\geq0,\mu}L(\mathbf{x},\lambda,\mu)=f(\mathbf{x}) λ0,μmaxL(x,λ,μ)=f(x)
  • case 2:当 x ∉ Ω \mathbf{x}\notin\Omega x/Ω 时, L ( x , λ , μ ) = f ( x ) + ∑ λ i g i ⏟ + ∞ + ∑ μ j h j ⏟ + ∞ = ∞ L(\mathbf{x},\lambda,\mu)=f(\mathbf{x})+\underbrace{\sum\lambda_ig_i}_{+\infin}+\underbrace{\sum\mu_jh_j}_{+\infin}=\infin L(x,λ,μ)=f(x)++ λigi++ μjhj=
  • 综合上述情况:

f ( x ) = { max ⁡ λ ≥ 0 , μ L ( x , λ , μ ) , x ∈ Ω + ∞ , otherwise f(\mathbf{x}) = \begin{cases} \max\limits_{\lambda\geq0,\mu}L(\mathbf{x},\lambda,\mu),\quad \mathbf{x}\in \Omega \\[2ex] +\infin, \quad \text{otherwise}\end{cases} f(x)= λ0,μmaxL(x,λ,μ),xΩ+,otherwise

因此原问题(Primal) min ⁡ x ∈ Ω f ( x ) ⇔ min ⁡ x ∈ R n max ⁡ λ ≥ 0 , μ L ( x , λ , μ ) \min\limits_{\mathbf{x}\in\Omega}f(\mathbf{x})\Leftrightarrow\min\limits_{\mathbf{x\in\R^n}}\max\limits_{\lambda\geq0,\mu}L(\mathbf{x},\lambda,\mu) xΩminf(x)xRnminλ0,μmaxL(x,λ,μ)

2. 对偶函数和对偶问题

【思考】:现在我们知道了原问题等价于求拉格朗日函数的最大值再求最小值,那么倘若交换 min ⁡ \min min max ⁡ \max max 运算,即 max ⁡ λ ≥ 0 , μ min ⁡ x ∈ R n L ( x , λ , μ ) \max\limits_{\lambda\geq0,\mu}\min\limits_{\mathbf{x\in\R^n}}L(\mathbf{x},\lambda,\mu) λ0,μmaxxRnminL(x,λ,μ) 是否依旧和原问题等价呢?

于是我们定义:

  • 对偶函数(Dual Function): q ( λ , μ ) : = min ⁡ x L ( x , λ , μ ) q(\lambda,\mu):=\min\limits_{\mathbf{x}}L(\mathbf{x},\lambda,\mu) q(λ,μ):=xminL(x,λ,μ)
  • 对偶问题(Dual Problem): max ⁡ λ ≥ 0 , μ q ( λ , μ ) \max\limits_{\lambda\geq0,\mu}q(\lambda,\mu) λ0,μmaxq(λ,μ)

【思考】:我们对原问题和对偶问题是否等价很感兴趣。如果他们不等价,那么原问题和对偶问题有怎样的关系?在某些特殊情况下,原问题和对偶问题等价?

3. 弱对偶定理

【定理】:对任意 x ∈ Ω \mathbf{x}\in\Omega xΩ(原问题可行) 和任意 λ ≥ 0 , μ \lambda\geq0,\mu λ0,μ(对偶问题可行), q ( λ , μ ) ≤ f ( x ) q(\lambda,\mu)\leq f(\mathbf{x}) q(λ,μ)f(x) 恒成立。

【证明】:设 x ∗ \mathbf{x}^* x 是原问题的最优解,则对任意 λ ≥ 0 , μ , x ∈ Ω \lambda\geq0,\mu, \mathbf{x}\in\Omega λ0,μ,xΩ 有如下不等式:
q ( λ , μ ) = min ⁡ x L ( x , λ , μ ) ≤ L ( x ∗ , λ , μ ) ≤ max ⁡ λ ≥ 0 , μ L ( x ∗ , λ , μ ) = f ( x ∗ ) ≤ f ( x ) q(\lambda,\mu)=\min\limits_{\mathbf{x}}L(\mathbf{x},\lambda,\mu)\leq L(\mathbf{x}^*,\lambda,\mu)\\\leq\max\limits_{\lambda\geq0,\mu}L(\mathbf{x}^*,\lambda,\mu)=f(\mathbf{x}^*)\leq f(\mathbf{x}) q(λ,μ)=xminL(x,λ,μ)L(x,λ,μ)λ0,μmaxL(x,λ,μ)=f(x)f(x)

因为在对偶函数中, x ∈ R n \mathbf{x}\in\R^n xRn,而 x ∗ ∈ Ω , Ω ⊂ R n \mathbf{x}^*\in\Omega,\Omega\subset\R^n xΩ,ΩRn,所以 min ⁡ X L ( x , λ , μ ) ≤ L ( x ∗ , λ , μ ) \min\limits_{\mathbf{X}}L(\mathbf{x},\lambda,\mu)\leq L(\mathbf{x}^*,\lambda,\mu) XminL(x,λ,μ)L(x,λ,μ)

【推论】:设 λ ∗ , μ ∗ = arg ⁡ max ⁡ λ ≥ 0 , μ q ( λ , μ ) \lambda^*,\mu^*=\arg\max\limits_{\lambda\geq0,\mu}q(\lambda,\mu) λ,μ=argλ0,μmaxq(λ,μ),并且 x ∗ = arg ⁡ max ⁡ x ∈ Ω f ( x ) \mathbf{x}^*=\arg\max\limits_{\mathbf{x}\in\Omega}f(\mathbf{x}) x=argxΩmaxf(x),则由弱对偶定理,我们可以得到:
q ( λ ∗ , μ ∗ ) ≤ f ( x ∗ ) ⇔ max ⁡ λ ≥ 0 , μ min ⁡ x L ≤ min ⁡ x ∈ Ω max ⁡ λ ≥ 0 , μ L q(\lambda^*,\mu^*)\leq f(\mathbf{x}^*)\Leftrightarrow\max\limits_{\lambda\geq0,\mu}\min\limits_{\mathbf{x}}L\leq\min\limits_{\mathbf{x}\in\Omega}\max\limits_{\lambda\geq0,\mu}L q(λ,μ)f(x)λ0,μmaxxminLxΩminλ0,μmaxL

4. 强对偶定理

在约束优化问题中,强对偶定理是指原问题的最优值与其对偶问题的最优值相等的情况。然而,强对偶定理成立的条件依赖于问题的具体结构和性质。以下是针对不同类型的优化问题,强对偶定理成立的常见条件:

  • 线性规划问题(LP):只要原问题有一个可行解并且最优解存在,那么强对偶定理总是成立。在这种情况下,强对偶性条件非常宽松。
  • 凸(Convex)优化问题:对于凸优化问题,强对偶定理的成立通常需要满足Slater 条件。该条件是针对凸优化问题中强对偶性成立的充分条件,Slater 条件要求:
    • 凸性:目标函数 f ( x ) f(\mathbf{x}) f(x) 和不等式约束函数 g i ( x ) g_i(\mathbf{x}) gi(x) 必须是凸函数,等式约束函数 h j ( x ) h_j(\mathbf{x}) hj(x) 必须是仿射函数(即线性函数)。
    • 严格可行性 ∃ x 0 s.t.  ∀ i g i ( x 0 ) < 0 , h ( x ) = 0 \exist\mathbf{x}_0\ \text{s.t.}\ \forall i\ g_i(\mathbf{x}_0)<0,h(\mathbf{x})=0 x0 s.t. i gi(x0)<0,h(x)=0

由弱对偶定理我们有: q ( λ ∗ , μ ∗ ) ≤ L ( x ∗ , λ ∗ , μ ∗ ) ≤ f ( x ∗ ) q(\lambda^*,\mu^*)\leq L(\mathbf{x}^*,\lambda^*,\mu^*)\leq f(\mathbf{x}^*) q(λ,μ)L(x,λ,μ)f(x),所以当 q ( λ ∗ , μ ∗ ) = f ( x ∗ ) q(\lambda^*,\mu^*)= f(\mathbf{x}^*) q(λ,μ)=f(x) 时,
L ( x ∗ , λ ∗ , μ ∗ ) = f ( x ∗ ) ⇒ ∑ i = 1 m λ i ∗ g i ( x ∗ ) + ∑ j = 1 p μ i ∗ h i ( x ∗ ) ⏟ = 0 = 0 ⇒ ∑ i = 1 m λ i ∗ g i ( x ∗ ) = 0 ⇒ λ i ∗ g i ( x ∗ ) = 0 ⇒ KKT: 互补松弛条件 \begin{aligned} &L(\mathbf{x}^*,\lambda^*,\mu^*)= f(\mathbf{x}^*)\\ &\Rightarrow\sum_{i=1}^m\lambda_i^*g_i(\mathbf{x}^*)+\underbrace{\sum_{j=1}^p\mu_i^*h_i(\mathbf{x}^*)}_{=0}=0\\ &\Rightarrow\sum_{i=1}^m\lambda_i^*g_i(\mathbf{x}^*)=0\\ &\Rightarrow\lambda_i^*g_i(\mathbf{x}^*)=0 \Rightarrow\textbf{KKT: 互补松弛条件} \end{aligned} L(x,λ,μ)=f(x)i=1mλigi(x)+=0 j=1pμihi(x)=0i=1mλigi(x)=0λigi(x)=0KKT: 互补松弛条件

5. KKT条件

KKT(Karush-Kuhn-Tucker)条件是用于解决非线性优化问题的一个重要工具,特别是带有约束的优化问题。它为寻找局部最优解提供了必要条件和充分条件(在某些情况下)。

  • 凸优化问题中,如果目标函数和不等式约束函数都是凸的,KKT条件不仅是局部最优解的必要条件,还是全局最优解的充分条件。这种情况下,满足KKT条件的解就是最优解。
  • 非凸优化问题中,KKT条件仍然是局部最优解的必要条件,但不再是充分条件。也就是说,即使一个解满足KKT条件,它也不一定是全局最优解。只有在特定问题结构下(如凸性条件),KKT条件才是充分条件。

【KKT条件】:设 x ∗ , λ ∗ , μ ∗ \mathbf{x}^*,\lambda^*,\mu^* x,λ,μ 分别是原问题和对偶问题的最优解,则满足如下条件:

  • 原问题可行: g i ( x ∗ ) ≤ 0 , ∀ i = 1 , ⋯ , m g_i(\mathbf{x}^*)\leq0,\forall i=1,\cdots,m gi(x)0,i=1,,m h j ( x ∗ ) = 0 , ∀ j = 1 , ⋯ , p h_j(\mathbf{x}^*)=0,\forall j=1,\cdots,p hj(x)=0,j=1,,p
  • 对偶问题可行: λ i ∗ ≥ 0 , ∀ i = 1 , ⋯ , m \lambda_i^*\geq0,\forall i=1,\cdots,m λi0,i=1,,m
  • 互补松弛条件: λ i ∗ g i ( x ) = 0 , ∀ i = 1 , ⋯ , m \lambda_i^*g_i(\mathbf{x})=0,\forall i=1,\cdots,m λigi(x)=0,i=1,,m
  • 稳定点: ∇ x L ( x ∗ , λ ∗ , μ ∗ ) = 0 \nabla_{\mathbf{x}}L(\mathbf{x}^*,\lambda^*,\mu^*)=0 xL(x,λ,μ)=0

下一节将介绍支持向量机SVM的数学原理

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

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

相关文章

上市公司数字经济与实体经济融合发展程度测算数据(2008-2022年)-最新出炉_附下载链接

上市公司数字经济与实体经济融合发展程度测算数据&#xff08;2008-2022年&#xff09; 下载链接-点它&#x1f449;&#x1f449;&#x1f449;&#xff1a;上市公司数字经济与实体经济融合发展程度测算数据&#xff08;2008-2022年&#xff09;-最新出炉.zip 一、引言 随着…

Prompt Engineering (Prompt工程)

2 prompt工程2大原则 2.1 给出清晰&#xff0c;详细的指令 策略1&#xff1a;使用分割符清晰的指示输出的不同部分&#xff0c;比如"",<>,<\tag>等分隔符 策略2&#xff1a;指定一个结构化的输出&#xff0c;比如json,html等格式 策略3&#xff1a;要…

Nginx防盗链配置

1. 什么是盗链? 盗链是指服务提供商自己不提供服务的内容&#xff0c;通过技术手段绕过其它有利益的最终用户界面&#xff08;如广告&#xff09;&#xff0c;直接在自己的网站上向最终用户提供其它服务提供商的服务内容&#xff0c;骗取最终用户的浏览和点击率。受益者不提供…

ppt设计软件哪个好?这5个在线ppt工具不容错过!

职场人每天的办公日常&#xff0c;大概率都离不开PPT&#xff0c;不管是制作季度汇报&#xff0c;还是向团队展示各类方案&#xff0c;诸如此类的场景都会用到ppt。 ppt是一个看重视觉效果的演示媒介&#xff0c;可以说它的外观精美与否&#xff0c;很大程度上决定了观众或潜在…

LC20. 有效的括号

用来熟悉一下栈的应用之括号匹配 题目链接 下面是大致思路 1.初始化:创建一个空栈,用于存储左括号。&#xff08;LC这题不用&#xff0c;自己写完整的需要&#xff09; 2.遍历字符串:从左到右依次扫描字符串中的每个字符。 3.处理左括号:如果是左括号,将其压入栈中。 4.处理右…

8. 性能指标

博客补充&#xff1a;CUDA C 最佳实践指南-CSDN博客https://blog.csdn.net/qq_62704693/article/details/141267262?spm1001.2014.3001.5502 在尝试优化 CUDA 代码时&#xff0c;了解如何准确测量性能并了解带宽在性能测量中的作用是值得的。本章讨论如何使用 CPU 计时器和 C…

【Stable Diffusion - Ai】小白入门必看(涂鸦、涂鸦重绘、局部重绘和重绘蒙版篇)!真材实料!不卖课!!!

【Stable Diffusion - Ai】小白入门必看&#xff08;涂鸦、涂鸦重绘、局部重绘和重绘蒙版篇&#xff09;&#xff01;真材实料&#xff01;不卖课&#xff01;&#xff01;&#xff01; 在上一篇 小白入门必看&#xff08;图生图篇&#xff09;中我们详细的介绍了文生图和图生…

Linux字体更新 使用中文字体

问题描述&#xff0c;处理之前&#xff0c;中文乱码 处理后的结果 压缩需要上传的字体&#xff1a; 上传到LInux的字体目录&#xff0c;上传后解压出来 刷新字体&#xff1a; fc-cache -fv 测试是否正常 fc-list | grep "FontName"如果还不行 可以在代码里面指定字…

信息安全工程师(72)网络安全风险评估概述

前言 网络安全风险评估是一项重要的技术任务&#xff0c;它涉及对网络系统、信息系统和网络基础设施的全面评估&#xff0c;以确定存在的安全风险和威胁&#xff0c;并量化其潜在影响以及可能的发生频率。 一、定义与目的 网络安全风险评估是指对网络系统中存在的潜在威胁和风险…

Kafka 基础入门

文章内容是学习过程中的知识总结&#xff0c;如有纰漏&#xff0c;欢迎指正 文章目录 前言 1. 核心概念 1.1 Producer 1.2 broker 1.3 consumer 1.4 zookeeper 1.5 controller 1.6 Cluster 2. 逻辑组件 2.1 Topic 2.2 Partition 2.3 Replication 2.4 leader & follower 3. …

CH569开发前的测试

为了玩转准备Ch569的开发工作 &#xff0c;准备了如下硬件和软件&#xff1a; 硬件 1.官方的 Ch569 开发板&#xff0c;官方买到的是两块插接在一起的&#xff1b;除了HSPI接口那里的电阻&#xff0c;这两块可以说是一样的。也意味着两块板子的开发也需要烧录两次&#xff1b…

OpenCV基本操作(python开发)——(7)实现图像校正

OpenCV基本操作&#xff08;python开发&#xff09;——&#xff08;1&#xff09; 读取图像、保存图像 OpenCV基本操作&#xff08;python开发&#xff09;——&#xff08;2&#xff09;图像色彩操作 OpenCV基本操作&#xff08;python开发&#xff09;——&#xff08;3&…

ffmpeg视频滤镜:网格-drawgrid

滤镜介绍 drawgrid 官网链接 》 FFmpeg Filters Documentation drawgrid会在视频上画一个网格。 滤镜使用 参数 x <string> ..FV.....T. set horizontal offset (default "0")y <string> ..FV.....T. set…

使用pytorch实现LSTM预测交通流

原始数据&#xff1a; 免费可下载原始参考数据 预测结果图&#xff1a; 根据测试数据test_data的真实值real_flow&#xff0c;与模型根据测试数据得到的输出结果pre_flow 完整源码&#xff1a; #!/usr/bin/env python # _*_ coding: utf-8 _*_import pandas as pd import nu…

Oracle视频基础1.1.3练习

1.1.3 需求&#xff1a; 完整格式查看所有用户进程里的oracle后台进程 查看物理网卡&#xff0c;虚拟网卡的ip地址 ps -ef | grep oracle /sbin/ifconfig要以完整格式查看所有用户进程中的 Oracle 后台进程&#xff0c;并查看物理和虚拟网卡的 IP 地址&#xff0c;可以使用以下…

【数据集】MODIS地表温度数据(MOD11)

【数据集】MODIS地表温度数据(MOD11) 数据概述MYD11A2数据下载MYD11A2 v006MYD11A2 v061参考MODIS(Moderate Resolution Imaging Spectroradiometer)是美国国家航空航天局(NASA)和美国国家海洋和大气管理局(NOAA)联合开发的一种遥感仪器,搭载于Terra和Aqua卫星上。MOD…

SpringBoot最佳实践之 - 项目中统一记录正常和异常日志

1. 前言 此篇博客是本人在实际项目开发工作中的一些总结和感悟。是在特定需求背景下&#xff0c;针对项目中统一记录日志(包括正常和错误日志)需求的实现方式之一&#xff0c;并不是普适的记录日志的解决方案。所以阅读本篇博客的朋友&#xff0c;可以参考此篇博客中记录日志的…

2024年优秀的天气预测API

准确、可操作的天气预报对于许多组织的成功至关重要。 事实上&#xff0c;在整个行业中&#xff0c;天气条件会直接影响日常运营&#xff0c;包括航运、按需、能源和供应链&#xff08;仅举几例&#xff09;。 以公用事业为例。根据麦肯锡的数据&#xff0c;在 1.4 年的时间里…

Tenda路由器 敏感信息泄露

0x01 产品描述&#xff1a; ‌ Tenda路由器‌是由深圳市吉祥腾达科技有限公司&#xff08;Tenda&#xff09;生产的一系列网络通信产品。Tenda路由器以其高性能、高性价比和广泛的应用场景而闻名&#xff0c;适合家庭、办公室和各种网络环境。0x02 漏洞描述&#xff1a…

net mvc中使用vue自定义组件遇到的坑

自定义一个ButtonCounter.js组件 export default {data() {return {count: 0}},template: <van-button type"primary" click"count">You clicked me {{ count }} times.</van-button> }按照官网文档的意思&#xff0c;组件命名需要大写驼峰命…