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

文章目录

  • 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.mzph.cn/diannao/48567.shtml

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

相关文章

【AI那些事】YOLO算法在香橙派AIpro上跑起来的初体验

一、本文概述 在之前推出的Yolo算法后,我在windows电脑上使用python语言运行将其跑通了,觉的这个识别算法很是有意思,就一直想着这个算法能不能跑在硬件的开发板上那就太好了。我就开始寻找市面上可行的开发板,一直期盼的事情真的…

【学术研究、研究热点、最新前沿】如何跟踪最新的论文

1.跟踪arxiv 使用https://www.arxivdaily.com/接收每天的推送。 2.跟踪热点文章的引用 使用semantic scholar。 3.跟踪某个学术大佬或者主题 3.1 使用web of science。 3.2 使用文献鸟 4.跟踪某个期刊

迭代学习笔记

一、迭代学习定义和分类 1、直观理解 迭代学习一般应用于重复性的场景。比如控制一个单自由度的小车以特定的速度曲线移动到指定位置,整个时间是10s,控制频率是0.01,那么整个控制序列就会有1000个点。这1000个点在10s内依次发出&#xff0c…

小白快速入门量化交易的自学路径

今年已然过去一半了,年初立的flag都实现了吗? 据我多年来的观察,很多小白萌新开始学习量化,特别是年初的时候立下“宏图大志”,但有相当一部分最终没能"上岸",从入门到放弃,从然后到没…

抽象java入门1.5.2

前言: 坑留下来是为了补的 正片: 一、面向对象特性 二、面向对象编程详细展开 这些没有加粗的方法究竟来源哪? 在上一期的提示中,我们说了这些方法来源于面向对象编程的一个特性 验证: 第一步:我们先…

代码随想录算法训练营第23天|39. 组合总和、40.组合总和II、131.分割回文串

打卡Day23 1.39. 组合总和2.40.组合总和II3.131.分割回文串 1.39. 组合总和 题目链接:39. 组合总和 文档讲解: 代码随想录 这道题和昨天做的组合之和由两个区别:被选的元素没有数量限制,同时被选的元素可以无限重复,…

JavaScript:节流与防抖

目录 一、前言 二、节流(Throttle) 1、定义 2、使用场景 3、实现原理 4、代码示例 5、封装节流函数 三、防抖(Debounce) 1、定义 2、使用场景 3、实现原理 4、代码示例 5、封装防抖函数 四、异同点总结 一、前言 …

Adobe Premiere Pro(Pr)安装包软件下载

一、简介 Adobe Premiere Pro(简称Pr)是由Adobe公司开发的一款功能强大的视频编辑软件。它支持多平台使用,包括Windows和Mac系统,并且拥有良好的兼容性和高效的性能。Premiere Pro不仅提供了视频剪辑、特效添加、音频处理等基本功…

《从C/C++到Java入门指南》- 9.字符和字符串

字符和字符串 字符类型 Java 中一个字符保存一个Unicode字符,所以一个中文和一个英文字母都占用两个字节。 // 计算1 .. 100 public class Hello {public static void main(String[] args) {char a A;char b 中;System.out.println(a);System.out.println(b)…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 二进制游戏(200分)- 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

Transformer之Vision Transformer结构解读

论文地址 代码地址 写在前面 什么是Transformer呢?就是把符号向量化为Token, 再和位置编码求和或者做阿达玛积,最后送入一定层数的Attention Block构成的Encoder和Decoder,就完成了Transformer的基础功能。 那么,把上…

idea2019版本创建JavaWeb项目并配置Tomcat步骤

一、创建JavaWeb项目 1.新建项目File->New->Project 2. 选择JavaWeb应用在New Project窗口中选择Java后勾选Java EE中的Web Application后点击next即可 3.设置项目名称后点击finish即可 4.至此项目创建完成,检查文件是否齐全,开始配置Tomcat 二、…

IDEA工具中Java语言写小工具遇到的问题

一:读取excel时遇到 org/apache/poi/ss/usermodel/WorkbookProvider 解决办法: 在pom.xml中把poi的引文包放在最前面即可(目前就算放在最后面也不报错了,不知道为啥) 二:本地maven打包时,没有…

base SAS programing学习笔记(read raw files2)

使用COLUMN input和FORMATTED input读入固定位置的外部文件;如下图所示, 1.COLUMN input (按列数读入外部文件数据) 使用column input 不需要按从左到右的顺序读取外部文件的数值,可以是任意读取,也可以重…

STM32F103定时器中断详解

目录 目录 目录 前言 一.什么是定时器 1.1 STM32F103定时器概述 1.2基本定时器 1.2通用定时器 1.3高级定时器 1.4 三种定时器区别 基本定时器(Basic Timer) 通用定时器(General-Purpose Timer) 高级定时器(Advanced Ti…

ubuntu2204配置anacondacuda4090nvidia驱动

背景 某个机房的几台机器前段时间通过dnat暴露至公网后被入侵挖矿,为避免一些安全隐患将这几台机器执行重装系统操作; 这里主要记录配置nvidia驱动及cuda&anaconda。 步骤 大概分为几个步骤 禁用nouveau配置grub显示菜单install nvidia-driveri…

基于Python+Django,开发的一个在线教育系统

一、项目简介 使用Python的web框架Django进行开发的一个在线教育系统! 二、所需要的环境与组件 Python3.6 Django1.11.7 Pymysql Mysql pure_pagination DjangoUeditor captcha xadmin crispy_forms 三、安装 1. 下载项目后进入项目目录cd Online-educ…

配置RIPv2的认证

目录 一、配置IP地址、默认网关、启用端口 1. 路由器R1 2. 路由器R2 3. 路由器R3 4. Server1 5. Server2 二、搭建RIPv2网络 1. R1配置RIPv2 2. R2配置RIPv2 3. Server1 ping Server2 4. Server2 ping Server1 三、模拟网络攻击,为R3配置RIPv2 四、在R…

Linux:Linux权限

目录 1. Linux权限的概念 2. Linux权限管理 2.1 文件访问者的分类 2.2 文件类型和访问权限 2.2.1 文件类型 2.2.2 基本权限 2.3 文件权限值的表示方法 2.4 文件访问权限的相关设置方法 2.4.1 chmod 2.4.2 chown 2.4.3 chgrp 2.4.4 umask 3. file指令 4. Linux目…

base SAS programming学习笔记13(Array)

1.Array array-name{dimension} <elements> array-name&#xff1a;向量名称 dimension&#xff1a;向量长度&#xff0c;默认为1&#xff1b; elements:列出变量名&#xff0c;变量名要么全是数值变量或者全是字符变量 array-name和variable不能相同&#xff1b;也不能和…