最优化:建模、算法与理论(最优性理论2

news2024/11/19 13:36:12

5.7 约束优化最优性理论应用实例

5.7.1 仿射空间的投影问题

考虑优化问题
min ⁡ x ∈ R n 1 2 ∣ ∣ x − y ∣ ∣ 2 2 , s . t . A x = b \min_{x{\in}R^n}\frac{1}{2}||x-y||_2^2,\\ s.t.{\quad}Ax=b xRnmin21∣∣xy22,s.t.Ax=b
其中 A ∈ R m × n , b ∈ R m , y ∈ R n A{\in}R^{m \times n},b{\in}R^m,y{\in}R^n ARm×n,bRm,yRn为给定的矩阵和向量,这里不妨设矩阵A是行满秩的,这个问题可以看成仿射平面 { x ∈ R n ∣ A x = b } \{x{\in}R^n|Ax=b\} {xRnAx=b}的投影问题
对于等式约束,我们引入拉格朗日乘子 λ ∈ R m \lambda{\in}R^m λRm,构造拉格朗日函数
L ( x , λ ) = 1 2 ∣ ∣ x − y ∣ ∣ 2 + λ T ( A x − b ) L(x,\lambda)=\frac{1}{2}||x-y||^2+\lambda^T(Ax-b) L(x,λ)=21∣∣xy2+λT(Axb)
因为只有仿射约束,估 S l a t e r Slater Slater条件满足, x ∗ x^* x为一个全局最优解,当且仅当存在 λ ∗ ∈ R m \lambda^*{\in}R^m λRm使得
{ x ∗ − y + A T λ = 0 A x ∗ = b \left\{ \begin{matrix} x^*-y+A^T\lambda=0\\ Ax^*=b \\ \end{matrix} \right. {xy+ATλ=0Ax=b
由上述KKT条件第一式,等号左右两边同时左乘 A A A可得
A x ∗ − A y + A A T λ = 0 Ax^*-Ay+AA^T\lambda=0 AxAy+AATλ=0
注意到 A x ∗ = b Ax^*=b Ax=b以及 A A T AA^T AAT是可逆矩阵,因此可以解出乘子
λ = ( A A T ) − 1 ( A y − b ) \lambda=(AA^T)^{-1}(Ay-b) λ=(AAT)1(Ayb)
代入回去可以得到
x ∗ = y − A T ( A A T ) − 1 ( A y − b ) x^*=y-A^T(AA^T)^{-1}(Ay-b) x=yAT(AAT)1(Ayb)

5.7.2 线性规划问题

考虑线性规划问题
min ⁡ x ∈ R n c T x , s . t . A x = b , x ≥ 0 (5.7.1) \min_{x{\in}R^n}{\quad}c^Tx,\\ s.t.{\quad}Ax=b,\\ x{\ge}0\tag{5.7.1} xRnmincTx,s.t.Ax=b,x0(5.7.1)
其中 A ∈ R m × n , b ∈ R m , c ∈ R n A{\in}R^{m \times n},b{\in}R^m,c{\in}R^n ARm×n,bRm,cRn分别为给定的矩阵和向量
拉格朗日函数可以写为
L ( x , s , v ) = c T x + v T ( A x − b ) − s T x = − b T v + ( A T v − s + c ) T x , s ≥ 0 L(x,s,v)=c^Tx+v^T(Ax-b)-s^Tx\\ =-b^Tv+(A^Tv-s+c)^Tx,s{\ge}0 L(x,s,v)=cTx+vT(Axb)sTx=bTv+(ATvs+c)Tx,s0
其中 s ∈ R n , v ∈ R m s{\in}R^n,v{\in}R^m sRn,vRm,由于线性规划是凸问题且满足 S l a t e r Slater Slater条件的,因此对于任意一个全局最优解 x ∗ x^* x,我们有如下KKT条件
{ c + A T v ∗ − s ∗ = 0 , A x ∗ = b x ∗ ≥ 0 s ∗ ≥ 0 s ∗ x ∗ = 0 (5.7.2) \left\{ \begin{matrix} c+A^Tv^*-s^*=0,\\ Ax^*=b \\ x^*{\ge}0\\ s^*{\ge}0\\ s^*x^*=0 \end{matrix} \right.\tag{5.7.2} c+ATvs=0,Ax=bx0s0sx=0(5.7.2)
我们设原始问题和对偶问题最优解函数值分别为 p ∗ p^* p d ∗ d^* d,则根据 p ∗ p^* p取值情况,有如下三种可能
(1)如果 − ∞ < p ∗ < + ∞ ( 有界 ) -\infty<p^*<+\infty(有界) <p<+(有界),那么原始问题可行而且存在最优解,由 S l a t e r Slater Slater条件知强对偶原理成立,因此有 d ∗ = p ∗ d^*=p^* d=p,即对偶问题也是可行的且存在最优解
(2)如果 p ∗ = − ∞ p^*=-\infty p=,那么原始问题可行,但目标函数值无下界,由弱对偶原理知 d ∗ ≤ p ∗ = − ∞ d^*{\le}p^*=-\infty dp=,即 d ∗ = − ∞ d^*=-\infty d=,因为对偶问题是对目标函数极大化,所以此时对偶问题不可行
(3)如果 p ∗ = + ∞ p^*=+\infty p=+,那么原始问题无可行解,注意到 S l a t e r Slater Slater条件对原始问题不成立,此时对偶问题既可能是函数值无界( d ∗ = + ∞ d^*=+\infty d=+)也可能无可行解( d ∗ = − ∞ d^*=-\infty d=),我们说,不可能出现 − ∞ < d ∗ < + ∞ -\infty<d^*<+\infty <d<+的情形,这是因为如果对偶问题可行且存在最优解,那么可对对偶问题应用强对偶原理,进而导出原始问题也存在最优解,这矛盾了
在这里插入图片描述

5.7.3 基追踪

min ⁡ x ∈ R n ∣ ∣ x ∣ ∣ 1 , s . t . A x = b (5.7.3) \min_{x{\in}R^n}||x||_1,\\ s.t.{\quad}Ax=b\tag{5.7.3} xRnmin∣∣x1,s.t.Ax=b(5.7.3)
利用分解 x i = x i + − x i − x_i=x_i^+-x_i^- xi=xi+xi,其中 x i + = m a x { x i , 0 } , x i − = max ⁡ { − x i , 0 } x_i^+=max\{x_i,0\},x_i^-=\max\{-x_i,0\} xi+=max{xi,0},xi=max{xi,0}分别表示 x x x的正部和负部,问题5.7.3的一种等价形式可以写成
min ⁡ ∑ i x i + + x i − , s . t . A x + − A x − = b , x + , x − ≥ 0 \min{\sum_i}x_i^++x_i^-,\\ s.t.{\quad}Ax^+-Ax^-=b,\\ x^+,x^-{\ge}0 minixi++xi,s.t.Ax+Ax=b,x+,x0
进一步的,令 y = [ x i + , x i − ] T ∈ R 2 n y=[x_i^+,x_i^-]^T{\in}R^{2n} y=[xi+,xi]TR2n,我们将问题5.7.3转化为如下线性规划问题
min ⁡ y ∈ R 2 n 1 T y , s . t . [ A , − A ] y = b , y ≥ 0 \min_{y{\in}R^{2n}}1^Ty,\\ s.t.{\quad}[A,-A]y=b,\\ y{\ge}0 yR2nmin1Ty,s.t.[A,A]y=b,y0
其中 1 = ( 1 , 1 , ⋯   , 1 ) T ∈ R 2 n 1=(1,1,\cdots,1)^T{\in}R^{2n} 1=(1,1,,1)TR2n
那么根据一般线性规划的最优性条件,等价于求解
{ 1 + [ A , − A ] T v ∗ − s ∗ = 0 , [ A , − A ] y ∗ = b y ∗ ≥ 0 s ∗ ≥ 0 s ∗ y ∗ = 0 (5.7.4) \left\{ \begin{matrix} 1+[A,-A]^Tv^*-s^*=0,\\ [A,-A]y^*=b \\ y^*{\ge}0\\ s^*{\ge}0\\ s^*y^*=0 \end{matrix} \right.\tag{5.7.4} 1+[A,A]Tvs=0,[A,A]y=by0s0sy=0(5.7.4)
同样的,我们也可以直接推导5.7.3的最优性条件,拉格朗日函数为
L ( x , v ) = ∣ ∣ x ∣ ∣ 1 + v T ( A x − b ) L(x,v)=||x||_1+v^T(Ax-b) L(x,v)=∣∣x1+vT(Axb)
x ∗ x^* x为全局最优解当且仅当存在 v ∗ ∈ R m v^*{\in}R^m vRm使得
{ 0 ∈ ∂ ∣ ∣ x ∗ ∣ ∣ 1 + A T v ∗ , A x ∗ = b (5.7.5) \left\{ \begin{matrix} 0{\in}\partial||x^*||_1+A^Tv^*,\\ Ax^*=b \\ \end{matrix} \right.\tag{5.7.5} {0∣∣x1+ATv,Ax=b(5.7.5)
最优性条件5.7.4和5.7.5本质上是等价的

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

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

相关文章

【软考-中级】系统集成项目管理工程师-人力资源管理历年案例

持续更新。。。。。。。。。。。。。。。 目录 2019 下 试题三(20分)背诵整理1. 冲突管理的6种方法2. 获取项目人力资源的依据 系列文章 2019 下 试题三(20分) 阅读下列说明&#xff0c;回答问题 1至问题 3&#xff0c;将解答填入答题纸的对应栏内     某公司承接了一个软件…

Java BigDecimal计算及转换

BigDecimal应用汇总 1、负数转正数 a.abs(); 相当于&#xff1a;绝对值2、加法 a.add(b)3、减法 a.subtract(b) 相当于&#xff1a;a-b4、乘法 a.multiply(b)5、除法 a.divide(b) 相当于&#xff1a;a/b6、处理小数 BigDecimal.setScale()方法用于格式化小数点 setScale…

C++ vector 的使用

CSDN的uu们&#xff0c;大家好。这里是C入门的第十七讲。 座右铭&#xff1a;前路坎坷&#xff0c;披荆斩棘&#xff0c;扶摇直上。 博客主页&#xff1a; 姬如祎 收录专栏&#xff1a;C专题 目录 1. 构造函数 1.1 vector(size_t n, const T& val T()) 1.2 vector…

laravel框架介绍(一) 开发环境配置

一.编译及开发工具 PHPStudy是一个windows下的Apache/NgnixPHPMySQL的集成开发环境 优点: 便于安装, 部署方便服务器版本快速切换集成了很多实用的工具 ​​​​​​小皮面板(phpstudy) - 让天下没有难配的服务器环境&#xff01; 二.配置和工具 2.1&#xff0c;Apache安装与…

论坛介绍|COSCon'23 开源百宝箱(T)

众多开源爱好者翘首期盼的开源盛会&#xff1a;第八届中国开源年会&#xff08;COSCon23&#xff09;将于 10月28-29日在四川成都市高新区菁蓉汇举办。本次大会的主题是&#xff1a;“开源&#xff1a;川流不息、山海相映”&#xff01;各位新老朋友们&#xff0c;欢迎到成都&a…

聊聊设计模式--简单工厂模式

简单工厂模式 ​ 前面也学了很多各种微服务架构的组件&#xff0c;包括后续的服务部署、代码管理、Docker等技术&#xff0c;那么作为后端人员&#xff0c;最重要的任务还是代码编写能力&#xff0c;如何让你的代码写的漂亮、易扩展&#xff0c;让别人一看赏心悦目&#xff0c…

PAM从入门到精通(十七)

接前一篇文章&#xff1a;PAM从入门到精通&#xff08;十六&#xff09; 本文参考&#xff1a; 《The Linux-PAM Application Developers Guide》 PAM 的应用开发和内部实现源码分析 先再来重温一下PAM系统架构&#xff1a; 更加形象的形式&#xff1a; 六、整体流程示例 2.…

【SpringBoot底层原理】SpringBoot底层原理实践(一)——手撕SpringBoot容器(幼儿园版)

Spring底层原理实践&#xff08;一&#xff09;——手撕Spring容器&#xff08;幼儿园版&#xff09; 0. 前言1. 依赖2. 注解3. Bean定义类4. 容器接口5. 配置类6. 测试Bean7. 启动类8. 容器实现类8.1 容器初始化8.2 获取Bean8.3 创建Bean 9. 测试 0. 前言 SpringBoot项目创建…

Character Animator 2024(Ch2024):打造生动角色,让动画设计更上一层楼

Character Animator 2024是一款专为角色动画设计师打造的软件&#xff0c;它可以帮助设计师快速创建出丰富多彩的角色动画。无论是初学者还是专业设计师&#xff0c;都可以通过Character Animator 2024轻松实现自己的创意。 Ch2024独特优势&#xff1a; 实时角色动画&#xf…

进程【Linux系统编程】

一、先谈硬件——冯诺依曼体系结构 存储器&#xff1a;内存&#xff08;硬盘是外存&#xff09; 输入设备&#xff1a;鼠标、键盘、摄像头、话筒、磁盘、网卡…… 输出设备&#xff1a;显示器、播放器硬件、磁盘、网卡…… 输入输出设备是外部设备&#xff0c;简称外设。 中央…

做一个最新版的淘宝客返利程序源码有多难?

我们都知道淘宝客返利程序成为了很多人的创业和赚钱的工具。这种程序允许通过推广淘宝商品来获得佣金。然而&#xff0c;你知道构建这样一个淘宝客返利程序有多难吗&#xff1f;今天我们就从最基本的API说起&#xff0c;现在我将介绍构建一个最新版淘宝客返利程序所需的关键API…

学习学不进去的时候怎么办?

01 人生很难只有欢声笑语,学习道路也一样。 有时候,我们会面临进退两难的情形: 明明知道应该学,却仿佛被定格在原地,一步也迈不出去。 这种状态为通常被称为“学不进去”&#xff0c;这时该怎么办? 其实, “学不进去”的原因可谓千头万绪,但归根结底,大抵可归为两类: 外在环境…

Python--练习:使用while循环求1..100的和

案例&#xff1a;使用while循环求1..100的和 思考&#xff1a; 先套用原有基础模式&#xff0c;之后再思考其他的。 while循环的基本语法&#xff1a; 对于循环次数已知的情况&#xff0c;建议使用while循环 因为是知道次数的&#xff0c;所以可以用一个计数器。程序里面&am…

【前端】图片裁剪路径绘制及图片不规则裁剪

说明 项目中可能需要用户根据展示的图片&#xff0c;然后绘制需要裁剪的路径&#xff0c;再根据绘制的坐标进行裁剪&#xff0c;以下是前端的裁剪路径绘制的代码示例&#xff0c;后端可以根据当前的获取到的坐标进行裁剪&#xff0c;裁剪的坐标保存在coordinate数组中。 代码 …

Hadoop3教程(二十八):(生产调优篇)NN、DN的多目录配置及磁盘间数据均衡

文章目录 &#xff08;148&#xff09;NN多目录配置&#xff08;149&#xff09;DataNode多目录配置及磁盘间数据平衡磁盘间数据均衡 参考文献 &#xff08;148&#xff09;NN多目录配置 NN多目录的意思是&#xff0c;本地目录可以配置成多个&#xff0c;且每个目录存放内容相…

用 Python 这样去创建词云不是更美嘛?

什么是词云&#xff1f;在网络上我们经常可以看到一张图片&#xff0c;上面有一大堆大小不一的文字&#xff0c;这便是词云。词云一般是根据输入的大量词语生成的&#xff0c;如果某个词语出现的次数越多&#xff0c;那么相应的大小就会越大。 Python 中有一个专门用来生成词云…

Spring的 @ControllerAdvice 之 ResponseBodyAdvice对响应结果进行增强

Spring的 ControllerAdvice 之 ResponseBodyAdvice对响应结果进行增强 1. 使用背景2. 使用方法3. 结果 1. 使用背景 对响应结果进行统一结果处理时&#xff0c;有时会出现有的接口未进行封装&#xff0c;为了解决该问题&#xff0c;可使用ControllerAdvice 注解对响应结果进行…

三辊闸机的应用领域和特点

三辊闸机是一种常用于门禁控制的设备&#xff0c;它具有以下应用和优点&#xff1a; 应用&#xff1a; 门禁控制&#xff1a;三辊闸机可以用于各种场合的门禁控制&#xff0c;如小区、写字楼、学校、医院等。考勤管理&#xff1a;三辊闸机可以与考勤系统集成&#xff0c;用于…

机器学习-K-近邻(KNN)算法

目录 一 . K-近邻算法&#xff08;KNN&#xff09;概述 二、KNN算法实现 三、 MATLAB实现 四、 实战 一 . K-近邻算法&#xff08;KNN&#xff09;概述 K-近邻算法&#xff08;KNN&#xff09;是一种基本的分类算法&#xff0c;它通过计算数据点之间的距离来进行分类。在…

算法通关村第二关-青铜终于学会链表了

大家好我是苏麟 , 今天来学反转链表 . 反转链表 描述 : 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 LeetCode 206.反转链表 : 206. 反转链表 牛客 BM1 反转链表 : 分析 : 本题有两种方法&#xff0c;带头结点和不带头结点&am…