最优化理论与方法-第十讲-对偶理论的基本性质和割平面法

news2025/9/13 16:31:07

文章目录

  • 1. 向量化拉格朗日对偶函数
  • 2. 对偶问题是凹函数
  • 3. 对偶问题转换
  • 4. 外逼近法
    • 4.1 步骤
    • 4.2 注意事项

1. 向量化拉格朗日对偶函数

( D )      max ⁡    d ( λ , μ ) s t .      λ i ≥ 0 , i = 1 , ⋯   , m ,      d ( λ , μ ) = min ⁡ x ∈ X { f ( x ) + ∑ i = 1 m λ i g i ( x ) + ∑ i = 1 l μ i h i ( x ) } \begin{equation}\begin{aligned} &(D)\; \;\max\; d(\lambda,\mu)\\ &st.\;\;\lambda_i\ge0,i=1,\cdots,m,\\ &\;\;d(\lambda,\mu)=\min\limits_{x\in X}\{f(x)+\sum_{i=1}^m\lambda_ig_i(x)+\sum_{i=1}^l\mu_ih_i(x)\}\\ \end{aligned}\end{equation} (D)maxd(λ,μ)st.λi0,i=1,,m,d(λ,μ)=xXmin{f(x)+i=1mλigi(x)+i=1lμihi(x)}

  • 为了方便向量的表达方式,我们记:
         g ( x ) = ( g 1 ( x ) , g 2 ( x ) , ⋯   , g m ( x ) ) T      h ( x ) = ( h 1 ( x ) , h 2 ( x ) , ⋯   , h l ( x ) ) T      λ = ( λ 1 , λ 2 , ⋯   , λ m )      μ = ( μ 1 , μ 2 , ⋯   , μ l ) \begin{equation}\begin{aligned} &\; \;g(x)=(g_1(x),g_2(x),\cdots,g_m(x))^T\\ &\; \;h(x)=(h_1(x),h_2(x),\cdots,h_l(x))^T\\ &\; \;\lambda=(\lambda_1,\lambda_2,\cdots,\lambda_m)\\ &\; \;\mu=(\mu_1,\mu_2,\cdots,\mu_l)\\ \end{aligned}\end{equation} g(x)=(g1(x),g2(x),,gm(x))Th(x)=(h1(x),h2(x),,hl(x))Tλ=(λ1,λ2,,λm)μ=(μ1,μ2,,μl)
  • 整理上式可得:
    ( D )      max ⁡    d ( λ , μ ) s t .      λ i ≥ 0 , i = 1 , ⋯   , m ,      d ( λ , μ ) = min ⁡ x ∈ X { f ( x ) + λ T g ( x ) + μ T h ( x ) } \begin{equation}\begin{aligned} &(D)\; \;\max\; d(\lambda,\mu)\\ &st.\;\;\lambda_i\ge0,i=1,\cdots,m,\\ &\;\;d(\lambda,\mu)=\min\limits_{x\in X}\{f(x)+\lambda^Tg(x)+\mu^Th(x)\}\\ \end{aligned}\end{equation} (D)maxd(λ,μ)st.λi0,i=1,,m,d(λ,μ)=xXmin{f(x)+λTg(x)+μTh(x)}

2. 对偶问题是凹函数

  • 对偶问题(D)问题,对偶函数是函数

  • 这里的函数图像如下:这个定义国内外相反,真有点坑,容易糊涂
    在这里插入图片描述

  • 需要证明对偶函数 d ( λ , μ ) d(\lambda,\mu) d(λ,μ)是凹函数
    d ( λ , μ ) = min ⁡ x ∈ X { f ( x ) + λ T g ( x ) + μ T h ( x ) } \begin{equation} d(\lambda,\mu)=\min\limits_{x\in X}\{f(x)+\lambda^Tg(x)+\mu^Th(x)\} \end{equation} d(λ,μ)=xXmin{f(x)+λTg(x)+μTh(x)}

  • 假设X为有限个值 X = { x 1 , x 2 , ⋯   , x n } X=\{x_1,x_2,\cdots,x_n\} X={x1,x2,,xn},那么对偶函数,就是从N个函数中求最小值
    d ( λ , μ ) = min ⁡ i = 1 , ⋯   , n { f ( x i ) + λ T g ( x i ) + μ T h ( x i ) } \begin{equation} d(\lambda,\mu)=\min\limits_{i=1,\cdots,n}\{f(x_i)+\lambda^Tg(x_i)+\mu^Th(x_i)\} \end{equation} d(λ,μ)=i=1,,nmin{f(xi)+λTg(xi)+μTh(xi)}

  • 对于每个函数,一旦 x i x_i xi确定后, d ( λ , μ ) d(\lambda,\mu) d(λ,μ)就只是一个关于 λ , μ \lambda,\mu λ,μ的线性函数,也就是分段最小值函数,详见下图:
    在这里插入图片描述

  • 由上图可得,对偶函数是凹函数,是凸问题。

3. 对偶问题转换

  • 我们有如下对偶问题:
    ( D )      max ⁡    d ( λ , μ ) s t .      λ i ≥ 0 , i = 1 , ⋯   , m ,      d ( λ , μ ) = min ⁡ x ∈ X { f ( x ) + λ T g ( x ) + μ T h ( x ) } \begin{equation}\begin{aligned} &(D)\; \;\max\; d(\lambda,\mu)\\ &st.\;\;\lambda_i\ge0,i=1,\cdots,m,\\ &\;\;d(\lambda,\mu)=\min\limits_{x\in X}\{f(x)+\lambda^Tg(x)+\mu^Th(x)\}\\ \end{aligned}\end{equation} (D)maxd(λ,μ)st.λi0,i=1,,m,d(λ,μ)=xXmin{f(x)+λTg(x)+μTh(x)}
  • 定义 θ = d ( λ , μ ) \theta = d(\lambda,\mu) θ=d(λ,μ)
    ( D )      max ⁡    θ s t .      λ i ≥ 0 , i = 1 , ⋯   , m ,      θ = d ( λ , μ ) = min ⁡ x ∈ X { f ( x ) + λ T g ( x ) + μ T h ( x ) } \begin{equation}\begin{aligned} &(D)\; \;\max\; \theta\\ &st.\;\;\lambda_i\ge0,i=1,\cdots,m,\\ &\;\;\theta=d(\lambda,\mu)=\min\limits_{x\in X}\{f(x)+\lambda^Tg(x)+\mu^Th(x)\}\\ \end{aligned}\end{equation} (D)maxθst.λi0,i=1,,m,θ=d(λ,μ)=xXmin{f(x)+λTg(x)+μTh(x)}
  • 因为最终求 θ \theta θ的最大值,所以可以缩放 θ = d ( λ , μ ) → θ ≤ d ( λ , μ ) \theta=d(\lambda,\mu)\to \theta\le d(\lambda,\mu) θ=d(λ,μ)θd(λ,μ)
    ( D )      max ⁡    θ s t .      λ i ≥ 0 , i = 1 , ⋯   , m ,      θ ≤ d ( λ , μ ) = min ⁡ x ∈ X { f ( x ) + λ T g ( x ) + μ T h ( x ) } \begin{equation}\begin{aligned} &(D)\; \;\max\; \theta\\ &st.\;\;\lambda_i\ge0,i=1,\cdots,m,\\ &\;\;\theta\le d(\lambda,\mu)=\min\limits_{x\in X}\{f(x)+\lambda^Tg(x)+\mu^Th(x)\}\\ \end{aligned}\end{equation} (D)maxθst.λi0,i=1,,m,θd(λ,μ)=xXmin{f(x)+λTg(x)+μTh(x)}
  • 整理后可得:
    ( D )      max ⁡    θ      θ ≤ min ⁡ x ∈ X { f ( x ) + λ T g ( x ) + μ T h ( x ) } s t .      λ ≥ 0 \begin{equation}\begin{aligned} &(D)\; \;\max\; \theta\\ &\;\;\theta\le \min\limits_{x\in X}\{f(x)+\lambda^Tg(x)+\mu^Th(x)\}\\ &st.\;\;\lambda\ge 0\\ \end{aligned}\end{equation} (D)maxθθxXmin{f(x)+λTg(x)+μTh(x)}st.λ0
  • 如果最终存在一个 θ ˉ \bar{\theta} θˉ是上面的最大值,那么就是最优值
    θ ˉ = v ( D ) \begin{equation} \bar{\theta}=v(D)\end{equation} θˉ=v(D)
  • 假设X有有限个解 X = { x 1 , x 2 , ⋯   , x n } X=\{x_1,x_2,\cdots,x_n\} X={x1,x2,,xn},那么存在n个不等式,可以用scipy的库进行线性规划问题的求解,假设X有无穷多解,那么代表的就是无穷多个线性不等式。
         θ ≤ min ⁡ i = 1 , ⋯   , n { f ( x i ) + λ T g ( x i ) + μ T h ( x i ) } s t .      λ ≥ 0 \begin{equation}\begin{aligned} &\;\;\theta\le \min\limits_{i=1,\cdots,n}\{f(x_i)+\lambda^Tg(x_i)+\mu^Th(x_i)\}\\ &st.\;\;\lambda\ge 0\\ \end{aligned}\end{equation} θi=1,,nmin{f(xi)+λTg(xi)+μTh(xi)}st.λ0
  • 我们假设 X 0 = { x 1 , x 3 } X_0=\{x_1,x_3\} X0={x1,x3},现在只有两个约束,那么这个得到的最大值肯定大于N个约束的的最大值 θ ˉ \bar{\theta} θˉ,因为约束越多,其定义域的范围越小,那么值域就越小,最大值也就越小
    θ 0 ≥ θ ˉ \begin{equation}\begin{aligned} \theta_0\ge \bar{\theta} \end{aligned}\end{equation} θ0θˉ
  • 我们记最优解为 ( λ 0 , μ 0 , θ 0 ) (\lambda_0,\mu_0,\theta_0) (λ0,μ0,θ0),现在求 d ( λ 0 , μ 0 ) d(\lambda_0,\mu_0) d(λ0,μ0)
    d ( λ 0 , μ 0 ) = min ⁡ x ∈ X { f ( x ) + λ 0 T g ( x ) + μ 0 T h ( x ) } \begin{equation} d(\lambda_0,\mu_0)=\min\limits_{x\in X}\{f(x)+\lambda_0^Tg(x)+\mu_0^Th(x)\} \end{equation} d(λ0,μ0)=xXmin{f(x)+λ0Tg(x)+μ0Th(x)}
  • 假设存在一个 x 0 x_0 x0 满足如下条件:
    g ( x 0 ) ≤ 0 , h ( x 0 ) = 0 , λ 0 T g ( x 0 ) = 0 \begin{equation} g(x_0)\le 0,h(x_0)=0,\lambda_0^Tg(x_0)=0 \end{equation} g(x0)0,h(x0)=0,λ0Tg(x0)=0
  • 反正上面都为0,等式左右相加不影响:
    f ( x 0 ) = f ( x 0 ) + λ 0 T g ( x 0 ) + μ 0 T h ( x 0 ) \begin{equation} f(x_0)=f(x_0)+\lambda_0^Tg(x_0)+\mu_0^Th(x_0) \end{equation} f(x0)=f(x0)+λ0Tg(x0)+μ0Th(x0)
  • 我们定义 x 0 x_0 x0 d ( λ 0 , μ 0 ) d(\lambda_0,\mu_0) d(λ0,μ0)最优解,那么可得:
    d ( x 0 , λ 0 , μ 0 ) = f ( x 0 ) + λ 0 T g ( x 0 ) + μ 0 T h ( x 0 ) = f ( x 0 ) \begin{equation} d(x_0,\lambda_0,\mu_0)=f(x_0)+\lambda_0^Tg(x_0)+\mu_0^Th(x_0)=f(x_0) \end{equation} d(x0,λ0,μ0)=f(x0)+λ0Tg(x0)+μ0Th(x0)=f(x0)
  • 则强对偶定理成立
  • d ( λ 0 , μ 0 ) = θ 0 d(\lambda_0,\mu_0)=\theta_0 d(λ0,μ0)=θ0,可得:
    d ( λ 0 , μ 0 ) = v ( D ) \begin{equation} d(\lambda_0,\mu_0)=v(D) \end{equation} d(λ0,μ0)=v(D)

4. 外逼近法

4.1 步骤

  • step 0: 选取X的非空子集 X 1 X^1 X1,其中 X 1 X^1 X1包含有限个元素,令 k = 1 k=1 k=1
  • step 1: 求解线性规划问题:
    ( D )      max ⁡    θ      θ ≤ min ⁡ x ∈ X { f ( x ) + λ T g ( x ) + μ T h ( x ) } , ∀ x ∈ X k s t .      λ ≥ 0 记最优解为 ( λ k , μ k , θ k ) \begin{equation}\begin{aligned} &(D)\; \;\max\; \theta\\ &\;\;\theta\le \min\limits_{x\in X}\{f(x)+\lambda^Tg(x)+\mu^Th(x)\},\forall x\in X^k\\ &st.\;\;\lambda\ge 0\\ & 记最优解为(\lambda^k,\mu^k,\theta^k) \end{aligned}\end{equation} (D)maxθθxXmin{f(x)+λTg(x)+μTh(x)},xXkst.λ0记最优解为(λk,μk,θk)
  • step 2: 求解相应的子问题:
    min ⁡ { f ( x ) + ( λ k ) T g ( x ) + ( μ k ) T h ( x ) ∣ x ∈ X } ; \begin{equation} \min\{f(x)+(\lambda^k)^Tg(x)+(\mu^k)^Th(x)\big|x\in X\}; \end{equation} min{f(x)+(λk)Tg(x)+(μk)Th(x) xX}
  • 记其最优解为 x k x^k xk,最优值为 d ( λ k , μ k ) d(\lambda^k,\mu^k) d(λk,μk)
  • step 3: x k x^k xk是原问题 ( P ) (P) (P)的可行解,且 ( λ k ) T g ( x k ) = 0 (\lambda^k)^Tg(x^k)=0 (λk)Tg(xk)=0,则算法终止, x k x^k xk ( λ k , μ k ) (\lambda^k,\mu^k) (λk,μk)分别是原问题P和对偶问题D的最优解,且最优值相等,若
    θ k = d ( λ k , μ k ) \begin{equation} \theta^k=d(\lambda^k,\mu^k) \end{equation} θk=d(λk,μk)
    则算法终止, ( λ k , μ k ) (\lambda^k,\mu^k) (λk,μk)即对偶问题的最优解,且最优值为 θ k \theta^k θk
  • step 4: X k + 1 = X k ∪ { x k } , k : = k + 1 X^{k+1}=X^k\cup\{x^k\},k:= k+1 Xk+1=Xk{xk},k:=k+1,转 step 1

4.2 注意事项

    1. X的子集合点总需要包含一个原问题的可行解,这样能保证 θ \theta θ有一个上界,使得迭代更好收敛。
      θ ≤ f ( x ) + λ T g ( x ) + μ T h ( x ) ≤ f ( x ) \begin{equation} \theta \le f(x)+\lambda^Tg(x)+\mu^Th(x)\le f(x) \end{equation} θf(x)+λTg(x)+μTh(x)f(x)
    1. X包含无穷多个解,为了方便迭代,我们可以动态去掉 X k X^k Xk中多余的解,加速迭代
    1. 割平面法,通过不断加约束来不断地缩小定义域,近似的逼近最优解。就像切西瓜一样,不断地切,最后切成我们想要的形状。
      在这里插入图片描述
  • 在最优解附近具有不稳定性,我们通常通过加正则项的方法进行正则化
  • 后续研究次梯度法和bound method

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

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

相关文章

传神社区|数据集合集第7期|法律NLP数据集合集

自从ChatGPT等大型语言模型(Large Language Model, LLM)出现以来,其类通用人工智能(AGI)能力引发了自然语言处理(NLP)领域的新一轮研究和应用浪潮。尤其是ChatGLM、LLaMA等普通开发者都能运行的…

CrowdStrike更新致850万Windows设备宕机,微软紧急救火!

7月18日,网络安全公司CrowdStrike发布了一次软件更新,导致全球大范围Windows系统宕机。 预估CrowdStrike的更新影响了将近850万台Windows设备,多行业服务因此停滞,全球打工人原地放假,坐等吃瓜,网络上爆梗…

TCP并发服务器多线程

1.创建线程‐‐pthread_create int pthread_create( pthread_t *thread, // 线程 ID 无符号长整型 const pthread_attr_t *attr, // 线程属性, NULL void *(*start_routine)(void *), // 线程处理函数 void *arg); // 线程处理函数 参数: pthrea…

EXCEL怎么自动添加表格吗?

第一步&#xff0c;选中需要添加表格的范围 第二步&#xff0c;点击开始&#xff0c;选择条件格式&#xff0c;“使用公式确定要设置格式的单元格” 第三步&#xff0c;编辑规则说明加上<>"" 第四步&#xff0c;点击边框&#xff0c;选择外边框确定即可&#x…

STM32CubeIDE(CAN)

目录 一、概念 1、简述 2、CAN 的几种模式 二、实践 1、环回模式轮询通信 1.1 软件配置 1.2 代码编写 2、环回模式中断通信 2.1 软件配置 2.2 代码编写 一、概念 1、简述 STM32微控制器系列包含多个型号&#xff0c;其中一些型号集成了CAN&#xff08;Controller Are…

用移动硬盘装系统里面资料会全删吗?误装系统怎么办

使用‌移动硬盘装系统是一种可行的选择&#xff0c;尤其是当你需要在多台电脑上使用相同的操作系统时。然而&#xff0c;对于初次尝试的新手来说&#xff0c;可能会有一些疑虑&#xff1a;在将移动硬盘用作系统安装盘后&#xff0c;原有的数据是否会被完全删除&#xff1f;如果…

邮件安全篇:邮件反垃圾系统运作机制简介

1. 什么是邮件反垃圾系统&#xff1f; 邮件反垃圾系统是一种专门设计用于检测、过滤和阻止垃圾邮件的技术解决方案。用于保护用户的邮箱免受未经请求的商业广告、诈骗信息、恶意软件、钓鱼攻击和其他非用户意愿接收的电子邮件的侵扰。 反垃圾系统的常见部署形式 2. 邮件反垃圾…

3GPP眼中的XR及其技术特点

3GPP R18 支持了XR Services。XR需要高数据速率和低延迟通信&#xff0c;这也真是5G可以大展身手的地方。这篇就从3GPP的角度看下XR是什么以及XR有哪些技术特点。 Extended Reality (XR) 是指由计算机技术和可穿戴设备生成的所有现实与虚拟相结合的环境和人机交互技术。 实际上…

【ELK】window下ELK的安装与部署

ELK的安装与部署 1. 下载2. 配置&启动2.1 elasticsarch2.1.1 生成证书2.1.2 生成秘钥2.1.3 将凭证迁移到指定目录2.1.4 改配置2.1.5 启动2.1.6 访问测试2.1.7 生成kibana账号 2.2 kibana2.2.1 改配置2.2.2 启动2.2.3 访问测试 2.3 logstash2.3.1 改配置2.3.2 启动 2.4 file…

SQL injection UNION attacks SQL注入联合查询攻击

通过使用UNION关键字&#xff0c;拼接新的SQL语句从而获得额外的内容&#xff0c;例如 select a,b FROM table1 UNION select c,d FROM table2&#xff0c;可以一次性查询 2行数据&#xff0c;一行是a&#xff0c;b&#xff0c;一行是c&#xff0c;d。 UNION查询必须满足2个条…

Potree在web端显示大型点云模型文件

一、克隆项目代码&#xff08;准备好上网工具&#xff0c;得先有node.js npm 环境&#xff09; git clone https://github.com/potree/potree.git二、依赖安装&#xff08;换淘宝镜像能快一些&#xff09; cd potree npm install三、运行 npm start四、使用样例 打开浏览器…

【Linux学习】常用基本指令

&#x1f525;个人主页&#xff1a; Forcible Bug Maker &#x1f525;专栏&#xff1a;Linux学习 目录 &#x1f308;前言&#x1f525;XShell的一些使用查看Linux主机IP使用XShell登录主机XShell下的复制粘贴 &#x1f525;Linux下常用基本指令ls指令pwd指令cd指定touch指令…

Java:115-Spring Boot的底层原理(下篇)

这里续写上一章博客&#xff08;115章博客&#xff09; SpringBoot视图技术&#xff1a; 支持的视图技术 &#xff1a; 前端模板引擎技术的出现&#xff08;jsp也是&#xff09;&#xff0c;使前端开发人员无需关注后端业务的具体实现&#xff08;jsp中&#xff0c;具体的…

Windows 如何把软件从C盘移到其他盘

不知道您有没有发现&#xff0c;当我们下载安装程序时&#xff0c;程序通常会默认自动安装在C盘驱动器中&#xff0c;如果您不手动修改路径的话&#xff0c;C盘驱动器上的可用空间将逐渐减少&#xff0c;并会在不久的将来出现 C盘已满 问题&#xff0c;这可能会导致您的电脑性能…

python实现责任链模式

把多个处理方法串成一个list。下一个list的节点是上一个list的属性。 每个节点都有判断是否能处理当前数据的方法。能处理&#xff0c;则直接处理&#xff0c;不能处理则调用下一个节点&#xff08;也就是当前节点的属性&#xff09;来进行处理。 Python 实现责任链模式&#…

【Python】sqlite加密库pysqlcipher3编译安装步骤

目录 说明准备工作openssl编译sqlite tclsetup.py修改quote_argumentopenssl路径 安装加密示例代码测试附录参考 说明 pysqlcipher3是针对Python 3使用的pysqlcipher的一个分支&#xff0c; 尽管仍然维护对Python 2的支持。它仍然处于测试阶段&#xff0c; 尽管这个库包含的最…

电脑没有摄像头怎么用手机当摄像头?虚拟摄像头使用的详细教程来了(全)

随着科技水平以及全球化经济的快速发展&#xff0c;视频会议、在线课程和直播已经成为日常办公或者生活中必不可少的一个环节。然而&#xff0c;在如今仍有许多台式电脑和一些老旧的笔记本电脑并没有内置摄像头&#xff0c;亦或者自带的摄像头质量不够理想&#xff0c;这使得视…

数据结构day5

一、思维导图 二、课后练习 1、使用循环链表完成约瑟夫环问题 2、使用栈&#xff0c;完成进制转换&#xff08;输入&#xff1a;一个整数&#xff0c;进制数&#xff0c;输出&#xff1a;该数的对应的进制数&#xff09; //头文件 #ifndef DEC_TO_BIN_H #define DEC_TO_BIN_H…

怎样使用 Juicer tools 的 dump 命令将.hic文件转换为交互矩阵matrix计数文件 (Windows)

创作日志&#xff1a; 万恶的生信…一个scHiC数据集没有提供处理好的计数文件&#xff0c;需要从.hic转换。Github一个个好长的文档看了好久才定位到 juicer tools 的dump命令&#xff0c;使用起来比想象中简单。 一、下载Juicer tools 注意&#xff1a;使用Juicer tools的前提…

Ubuntu 22.04.4 LTS (linux) Tomcat 9 内存和线程优化

1 Apache Tomcat 9.0.91 线程 #在70行左右&#xff0c;增加如下 sudo vim /data/tomcat/conf/server.xmlmaxThreads"800" #客户请求最大线程数minSpareThreads"200" #最小线程数maxSpareThreads"500" #最大线程数acceptCount"800"…