对偶专题——KKT条件

article/2025/10/3 1:47:38

[对偶专题——Duality and Dual problem (一) https://blog.csdn.net/jmh1996/article/details/85030323]
对于一般的带约束的优化问题:
在这里插入图片描述
介绍了如何通过构造原优化目标的一个下界函数 L ( x , λ , u ) L(x,\lambda,u) L(x,λ,u),这一般通过添加一些线性的函数来构造的,然后找到这个函数的最大值。寻找的方法是先固定 λ \lambda λ 最小化 L ( x , λ ) L(x,\lambda) L(x,λ)得到一个 g ( λ , u ) g(\lambda,u) g(λ,u)。然后再通过变化 λ , u \lambda,u λ,u的值来最大化 g ( λ , u ) g(\lambda,u) g(λ,u)。注意其中的一个重要的不等式:
f 0 ( x ) ≥ L ( x , λ , u ) ≥ g ( λ , u ) f_0(x)\geq L(x,\lambda,u)\geq g(\lambda,u) f0(x)L(x,λ,u)g(λ,u)
g ( λ , u ) g(\lambda,u) g(λ,u)就是对偶函数,而最大化 g ( λ , u ) g(\lambda,u) g(λ,u) 就是所谓的对偶问题。

原函数的图像与 L ( x , λ , u ) L(x,\lambda,u) L(x,λ,u) 的图像是这样的:
在这里插入图片描述
我们可以看到,对于一般的最优化问题,原函数的最小值其实和 L ( x , λ , u ) L(x,\lambda,u) L(x,λ,u)的最大值是存在一段距离的,他们并不相等。

如果他们相等的话,那么我们就可以通过解对偶问题来求原目标函数的最小值,可以想象这会给问题求解带来巨大的便利,因为对偶函数 a l w a y s always always 是个凸函数。

那么什么时候下对偶问题的最大值会等于原问题的最小值呢?

我们先看只有等式约束的情况:
在这里插入图片描述
现在只含有等式约束,其实是方便的很了。

假设 f 0 ( x , y ) 和 h ( x , y ) = 0 f_0(x,y)和h(x,y)=0 f0(x,y)h(x,y)=0的图像是这样的:
在这里插入图片描述
如上图所示,红线是 h ( x , y ) = 0 h(x,y)=0 h(x,y)=0 这个等式确定的一条曲线。各个蓝圈圈是 f 0 ( x , y ) = 1 , 2 , 3 ⋅ ⋅ ⋅ f_0(x,y)=1,2,3··· f0(x,y)=1,2,3形成的曲线。现在,我们观察到当 f 0 ( x , y ) = 2 f_0(x,y)=2 f0(x,y)=2 的时候, f 0 ( x , y ) f_0(x,y) f0(x,y) h ( x , y ) = 0 h(x,y)=0 h(x,y)=0 相交于两个点,此时目测当 f 0 ( x , y ) f_0(x,y) f0(x,y)继续变小的时候,它和 h ( x , y ) = 0 h(x,y)=0 h(x,y)=0 依然还有交点,因此 2 2 2 肯定就不是 f 0 ( x , y ) f_0(x,y) f0(x,y)的最小值。当 f 0 ( x , y ) = 1 f_0(x,y)=1 f0(x,y)=1的时候,它和 h ( x , y ) = 0 h(x,y)=0 h(x,y)=0 只有一个交点了,交点是两个曲线的切点处, f 0 ( x , y ) f_0(x,y) f0(x,y) 再变小一点点 它就和红线没有交点了,因此 f 0 ( x , y ) f_0(x,y) f0(x,y) 的最小值就是1。假设交点是 ( x ∗ , y ∗ ) (x^*,y^*) (x,y)

注意到 f 0 ( x , y ) = 1 f_0(x,y)=1 f0(x,y)=1 h ( x , y ) = 0 h(x,y)=0 h(x,y)=0 相切于 ( x ∗ , y ∗ ) (x^*,y^*) (x,y),根据相切的定义我们可以得到它们的梯度是共线的: ▽ f 0 ( x , y ) = λ ▽ h ( x , y ) \bigtriangledown f_0(x,y)=\lambda \bigtriangledown h(x,y) f0(x,y)=λh(x,y)

于是,对于带等式约束 h ( x ) = 0 h(x)=0 h(x)=0 的最优化问题,我们可以得到。


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

相关文章

java telnet端口_Java 实现 telnet命令 验证主机端口的连通性

Java 实现 telnet命令 验证主机端口的连通性 1、Telnet 命令 Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在…

解决阿里云服务器telnet端口不成功的问题

问题还原 阿里服务器部署了一个API站点,端口为8079,本地电脑怎么telnet到这个端口都不成功 排查 防火墙 要么把防火墙全部关闭,或者配置入站出站规则,这里我是直接关闭服务器的防火墙 查看端口是否正常监听 确保系统内部必须…

能ping通,但是telnet端口连接失败

背景:在windows上创建了客户端,使用腾讯云的轻量服务器创建的Linux服务器。 问题:服务器操作系统防火墙已关闭,使用ping命令没问题,但是使用telnet测试端口的时候,连接失败。 解决:一开始添加了…

telnet端口不通怎么解决(单边不通的方法建议)

telnet端口不通是大家在检测端口的时候可能会遇到的问题之一,遇到这种状况一般要如何解决呢?这里为各位带来分享,看一下telnet端口不通的解决方式,看一下如何处理吧。 telnet端口不通怎么解决 1.开放供应商服务器端口 总是出现…

telnet服务器端口

telnet服务器端口 1.Windows 机器使用telnet命令1.2开启telnet功能1.2 使用telnet 1.Windows 机器使用telnet命令 1.2开启telnet功能 可以通过下面步骤进入程序和功能 然后找到启用或关闭Windows功能 然后勾选上Telnet客户端,代表功能开启。 1.2 使用telnet …

telnet命令及测试网络端口的几种方法

1、常见的用法: telnet IP port 如:telnet 192.168.1.10 80 端口,如果端口没有开启监听则会显示连接失败。 若端口有开启监听,telnet端口是通的会显示一个白色的光标并闪烁,如下图: 2、Linux下其余几种测…

Telnet端口

出现“Telnet不是内部命令”的相关提示,说明Telnet客户端没有开启 一、开启Telnet客户端 1、打开控制面板,点击“程序” 2、选择“启用或关闭Widows功能” 3、我们可以看到“Telnet Client”没有勾选,即没有开启 4、勾选“Telnet Client”…

telnet用法 测试端口号

Telnet是进行远程登录的标准协议和主要方式它为用户提供了在本地计算机上完成远程主机工作的能力。可以用telnet命令来测试端口号是否正常打开还是关闭状态。 方法/步骤 点击计算机的开始菜单--》运行 ,输入CMD命令,然后确定。打开cmd命令行。 输入tel…

Linux驱动——ALSA

Linux驱动——ALSA 小狼http://blog.csdn.net/xiaolangyangyang Control宏定义: SOC_SINGLE_VALUE SOC_SINGLE_VALUE_EXT SOC_SINGLE SOC_SINGLE_TLV SOC_DOUBLE SOC_DOUBLE_R SOC_DOUBLE_TLV SOC_DOUBLE_R_TLV SOC_DOUBLE_S8_TLV SOC_ENUM_DOUBLE SOC_ENUM_SINGL…

ALSA编译使用

ALSA ALSA下载alsa-lib 交叉编译alsa-utils 交叉编译alsa.confamixeramixer controlsamixer contents设置声卡获取声卡设置值使用 amixer 设置声卡使用 aplay 播放 WAV 格式音乐使用 arecord 录制音频 ALSA下载 下载alsa-lib 和 alsa-utils alsa下载地址 alsa-lib api文档地址…

ALSA 配置文件简介

参考自:asoundrc文件     asoundrc配置文件简单介绍     asound.conf 插件讲解 文章目录 1、Asoundrc1.1、什么是asoundrc文件?1.2、为什么需要asoundrc文件?1.3、asoundrc文件什么时候被加载的?2、Plugin(插件)2.1、Plugin: hw2.2、Slave 定义2.3、Plugin: Rate…

Linux ALSA 之五:ALSA Proc Info

ALSA Proc Info 一、概述二、Proc Files of Alsa Driver1、/proc/asound/xxx 简述2、创建 /proc/asound 目录树2.1 /proc/asound/version 文件2.2 /proc/asound/devices 文件2.3 /proc/asound/cards 文件2.4 /proc/asound/cardx 目录2.5 /proc/asound/pcm 文件 一、概述 Linux…

Linux ALSA 之二:ALSA 声卡与设备

ALSA 声卡与设备 一、ALSA Sound 初始化1、alsa_sound_init() 入口函数2、init_soundcore() 入口函数 二、声卡结构体与创建、注册1、struct snd_card2、声卡创建流程3、声卡创建过程使用举例 三、声卡之 Pcm 设备1、Pcm 设备简介2、ALSA Driver 的 Pcm 中间层3、Pcm 设备创建 …

ALSA音频编程

一、前序 这里了解一下各个参数的含义以及一些基本概念。 声音是连续模拟量,计算机将它离散化之后用数字表示,就有了以下几个名词术语。 样本长度(sample):样本是记录音频数据最基本的单位,计算机对每个通道采样量化时数字比特…

alsa 驱动介绍

Machine 以装配有CS4270的一款android 智能电视的为例 /sound/soc/samsung/exynos.c Platform 以Samsung cpu exynos4412为例 /sound/soc/samsung/ Codec 以wolfson的Codec芯片cs4270为例 /sound/soc/codecs/cs4270.c ALSA 框架介绍 Alsa 太多太杂,很难整理的规整&a…

ALSA Configure

0. 前言 本文主要介绍alsa-lib配置文件相关代码的分析内容。 1. 配置文件的路径 在alsa-lib中,函数 snd_config_topdir 用于获取配置文件的路径,有两个方法可以进行配置: 使用环境变量 ALSA_CONFIG_DIR 进行配置。在生成configure时&…

ALSA应用层编程播放音乐

关于ALSA,网上也有介绍,但是我在看的时候看的也是一脸懵逼,不是介绍的不好,是因为我之前对于嵌入式软件这一块实在没什么了解,之前一直学的JAVA,整个体系跟JAVA还是有很大的区别,要学的也完全是…

ALSA系统简析

一 音频架构 如图所示 是 嵌入式系统的音频连接 音频编解码器将数字音频信号 转换成 扬声器播放所需要的模拟声音信号。而通过麦克风时,则执行相反的过程。 数字音频信号通过 PCM技术对模拟信号以某个比特率采样得到的,编解码器的任务就是以支持的PCM…

ALSA编程精华

https://www.cnblogs.com/cslunatic/p/3677729.html 一、前序 这里了解一下各个参数的含义以及一些基本概念。 声音是连续模拟量,计算机将它离散化之后用数字表示,就有了以下几个名词术语。 样本长度(sample):样本是记录音频数据最基本的…

ALSA学习笔记

文章目录 一、概述二、系统架构三、常用操作命令1、安装ALSA2、查看音频设备3、列出音频设备4、音量控制器 四、常见问题1、cannot open mixer: 没有那个文件或目录 一、概述 ALSA(Advanced Linux Sound Architecture),高级Linux声音架构的简…