最优化理论与方法-第十一讲-线性规划-极点的刻画

news2024/9/22 1:15:02

文章目录

  • 1. 概述
  • 2. 线性规划定义
  • 3. 多面体的基本性质
    • 3.1 定义
    • 3.2 证明1
    • 3.3 证明2

B站老师学习视频

1. 概述

  • 线性规划的标准形式;
  • 多面体的几何分解;
  • 单纯形法;
  • 对偶单纯形法

2. 线性规划定义

  • 线性规划Linear Programming:目标函数为决策变量的线性函数,同时约束条件为线性等式或线性不等式约束
  • 标准形式:
    ( L P )      min ⁡    c T x s t .      A x = b , x ≥ 0 \begin{equation}\begin{aligned} &(LP)\; \;\min\; c^Tx\\ &st.\;\;Ax=b,x\ge 0\\ \end{aligned}\end{equation} (LP)mincTxst.Ax=b,x0
    其中, c ∈ R n , A ∈ R m × n , b ∈ R m c\in R^n,A\in R^{m\times n},b\in R^m cRn,ARm×n,bRm,通常假设系数矩阵A行满秩,即 r ( A ) = m r(A)=m r(A)=m
    将非标准形的线性规划问题转换为标准形式,
  • 1)要求最大,就取负号求最小
    max ⁡ d T x → min ⁡ { − d T x } \begin{equation}\begin{aligned} &\max d^Tx\to \min \{-d^Tx\} \end{aligned}\end{equation} maxdTxmin{dTx}
  • 2)实际给的是不等式 a i T x ≤ b i a_i^Tx\le b_i aiTxbi,标准型是等式,那么我们需要凑等式,引入变量s
    a i T x ≤ b i → a i T x + s = b i , s ≥ 0 \begin{equation}\begin{aligned} &a_i^Tx\le b_i\to a_i^Tx+s=b_i,s\ge0 \end{aligned}\end{equation} aiTxbiaiTx+s=bi,s0
  • 3)实际无要求 x ≥ 0 x\ge0 x0,需要转换变量,假设有两个正的变量,通过差值来表示负值:
    x i 无需求 → x i = x i + − x i − , x i + ≥ 0 , x i − ≥ 0 \begin{equation}\begin{aligned} &x_i 无需求\to x_i=x_i^+-x_i^-,x_i^+\ge0,x_i^-\ge0 \end{aligned}\end{equation} xi无需求xi=xi+xi,xi+0,xi0
  • 我们记S为可行集, S = { x ∣ A x = b , x ≥ 0 } S=\{x\big|Ax=b,x\ge0\} S={x Ax=b,x0},容易看出S是由线性约束的描述的。这里相当于S就是多面体集合。
    – 多面体 S 1 S_1 S1: 可以用四个定点P1,P2,P3,P4表示凸集合S1,并且任一点X可以由四个点的凸组合形式表示。
    在这里插入图片描述
    – 多面体 S 2 S_2 S2,假设过X点作两个边的平行线,这样得到一个M1锥区域,这区域的线可以向右上无限延伸。
    在这里插入图片描述

3. 多面体的基本性质

3.1 定义

  • 极点(extremepoint):给凸集C,若 x ∈ C x\in C xC不能表示成C另外两点的凸组合,则称x为C的极点。
  • 方向(recession direction):给出凸集C,若非零向量d满足:对于任意 x ∈ C x\in C xC均有
    x + λ d ∈ C , ∀ λ > 0 \begin{equation} x+\lambda d \in C,\forall \lambda>0 \end{equation} x+λdC,λ>0
    则称d为集合C的方向
  • 极方向(extreme direction):若方向d不能表示成另外两个方向的正线性组合,即不存在 λ 1 , λ 2 > 0 \lambda_1,\lambda_2>0 λ1,λ2>0,使得 d = λ 1 d 1 + λ 2 d 2 d=\lambda_1d_1+\lambda_2d_2 d=λ1d1+λ2d2,则称d为C的极方向
  • 这个极方向很类似于矩阵里面的特征向量

在这里插入图片描述

  • 考虑多面体 S = { x ∣ A x = b , x ≥ 0 } S=\{x\big|Ax=b,x\ge0\} S={x Ax=b,x0},这里假设 A m × n A_{m\times n} Am×n行满秩
  • x ∈ S x\in S xS是S的极点当且仅当x 可表示为 x = ( B − 1 b 0 ) x=\begin{pmatrix}B^{-1}b\\\\0\end{pmatrix} x= B1b0 ,其中
    A=(B,N),B可逆且 B − 1 b ≥ 0 B^{-1}b\ge 0 B1b0
  • 解释:
    — 因为A行满秩,所以可得 A A T AA^T AAT是一个 m × m m\times m m×m满秩矩阵,可得:
    A = ( B , N ) , x = [ x b T x n T ] → A x = b → B x b T + N x n T = b \begin{equation} A=(B,N),x=\begin{bmatrix}x_b^T\\\\x_n^T\end{bmatrix}\to Ax=b\to Bx_b^T+Nx_n^T=b \end{equation} A=(B,N),x= xbTxnT Ax=bBxbT+NxnT=b
  • 这里的B可以看做是极大线性无关组, x n T x_n^T xnT为非零解,即 N x n T = 0 Nx_n^T=0 NxnT=0
    B x b T + N x n T = b → B x b T = b → x b T = B − 1 b \begin{equation} Bx_b^T+Nx_n^T=b\to Bx_b^T=b\to x_b^T=B^{-1}b \end{equation} BxbT+NxnT=bBxbT=bxbT=B1b
  • 这里线性规划中需要 x ≥ 0 x\ge0 x0,所以就必须保证 B − 1 b ≥ 0 B^{-1}b\ge 0 B1b0
  • 这里的 x n T x_n^T xnT解可以由 x b T x_b^T xbT通过线性组合表出,所以通解x表示为:
    x = ( x b T x n T ) = ( B − 1 b 0 ) \begin{equation} x=\begin{pmatrix}x_b^T\\\\x_n^T\end{pmatrix}=\begin{pmatrix}B^{-1}b\\\\0\end{pmatrix} \end{equation} x= xbTxnT = B1b0

3.2 证明1

  • 已知 : x = ( B − 1 b 0 ) x=\begin{pmatrix}B^{-1}b\\\\0\end{pmatrix} x= B1b0 ,其中A=(B,N),B可逆且 B − 1 b ≥ 0 B^{-1}b\ge 0 B1b0
  • 证明: x ∈ S x\in S xS是S的极点
  • 证明:
    – 代入可得Ax=b ,所以可得 x ∈ S x\in S xS
    A x = ( B N ) ( B − 1 b 0 ) = b \begin{equation} Ax=\begin{pmatrix}B&N\end{pmatrix}\begin{pmatrix}B^{-1}b\\\\0\end{pmatrix}=b \end{equation} Ax=(BN) B1b0 =b
    – 不妨设 x = λ x ˉ + ( 1 − λ ) x ~ x=\lambda \bar{x}+(1-\lambda)\tilde{x} x=λxˉ+(1λ)x~,其中 λ ∈ ( 0 , 1 ) , x ˉ , x ~ ∈ S \lambda \in(0,1),\bar{x},\tilde{x}\in S λ(0,1),xˉ,x~S
    – 可知 A x ˉ = b , x ˉ ≥ 0 , A x ~ = b , x ~ ≥ 0 A\bar{x}=b,\bar{x}\ge0,A\tilde{x}=b,\tilde{x}\ge0 Axˉ=b,xˉ0,Ax~=b,x~0
    – 可将 x ˉ , x ~ \bar{x},\tilde{x} xˉ,x~分解为通解形式:
    x ˉ = [ x B ˉ x N ˉ ] ; x ~ = [ x B ~ x N ~ ] ; x = ( B − 1 b 0 ) \begin{equation} \bar{x}=\begin{bmatrix}\bar{x_B}\\\\\bar{x_N}\end{bmatrix};\tilde{x}=\begin{bmatrix}\tilde{x_B}\\\\\tilde{x_N}\end{bmatrix};x=\begin{pmatrix}B^{-1}b\\\\0\end{pmatrix} \end{equation} xˉ= xBˉxNˉ ;x~= xB~xN~ ;x= B1b0
    – 代入方程可得:
    ( B − 1 b 0 ) = λ [ x B ˉ x N ˉ ] + ( 1 − λ ) [ x B ~ x N ~ ] ; \begin{equation} \begin{pmatrix}B^{-1}b\\\\0\end{pmatrix}=\lambda\begin{bmatrix}\bar{x_B}\\\\\bar{x_N}\end{bmatrix}+(1-\lambda)\begin{bmatrix}\tilde{x_B}\\\\\tilde{x_N}\end{bmatrix}; \end{equation} B1b0 =λ xBˉxNˉ +(1λ) xB~xN~ ;
  • 整理可得:
    0 = λ x N ˉ + ( 1 − λ ) x N ~ \begin{equation} 0=\lambda\bar{x_N}+(1-\lambda)\tilde{x_N} \end{equation} 0=λxNˉ+(1λ)xN~
  • 因为 λ ≥ 0 , 1 − λ ≥ 0 , x N ˉ ≥ 0 , x N ~ ≥ 0 \lambda\ge0,1-\lambda\ge 0,\bar{x_N}\ge0,\tilde{x_N}\ge0 λ0,1λ0,xNˉ0,xN~0 可得:
    x N ˉ = x N ~ = 0 \begin{equation}\bar{x_N}=\tilde{x_N}=0\end{equation} xNˉ=xN~=0
  • 又因为 A x ˉ = b A\bar{x}=b Axˉ=b,即
    ( B N ) ( x B ˉ 0 ) = B x B ˉ = b → x B ˉ = B − 1 b \begin{equation} \begin{pmatrix}B&N\end{pmatrix}\begin{pmatrix}\bar{x_B}\\\\0\end{pmatrix}=B\bar{x_B}=b\to \bar{x_B}=B^{-1}b \end{equation} (BN) xBˉ0 =BxBˉ=bxBˉ=B1b
  • 这样可得:
    x ˉ = ( B − 1 b 0 ) \begin{equation}\bar{x}=\begin{pmatrix}B^{-1}b\\\\0\end{pmatrix}\end{equation} xˉ= B1b0
  • 同理可得:
    x ~ = ( B − 1 b 0 ) \begin{equation}\tilde{x}=\begin{pmatrix}B^{-1}b\\\\0\end{pmatrix}\end{equation} x~= B1b0
  • 所以x点无法由两个不同的点进行凸组合,所以x是极值点

3.3 证明2

  • 已知 : x ∈ S x\in S xS是S的极点, A x = b , x ≥ 0 Ax=b,x\ge0 Ax=b,x0
  • 证明: x = ( B − 1 b 0 ) x=\begin{pmatrix}B^{-1}b\\\\0\end{pmatrix} x= B1b0 ,其中A=(B,N),B可逆且 B − 1 b ≥ 0 B^{-1}b\ge 0 B1b0
  • 证明:
  • 不妨设:
    x = ( x 1 , x 2 , ⋯   , x k , 0 , ⋯   , 0 ) T , x 1 , ⋯   , x k ≥ 0 \begin{equation} x=(x_1,x_2,\cdots,x_k,0,\cdots,0)^T,x_1,\cdots,x_k\ge0 \end{equation} x=(x1,x2,,xk,0,,0)T,x1,,xk0
  • 考虑A的对应列 a 1 , a 2 , ⋯   , a k a_1,a_2,\cdots,a_k a1,a2,,ak,假如 a 1 , a 2 , ⋯   , a k a_1,a_2,\cdots,a_k a1,a2,,ak线性相关,则存在不全为0的系数,使得如下方程成立
    θ 1 a 1 + θ 2 a 2 + ⋯ + θ k a k = 0 \begin{equation} \theta_1a_1+\theta_2a_2+\cdots+\theta_ka_k=0 \end{equation} θ1a1+θ2a2++θkak=0
  • 构造n维向量 θ = ( θ 1 , θ 2 , ⋯   , θ k , 0 , ⋯   , 0 ) \theta = (\theta_1,\theta_2,\cdots,\theta_k,0,\cdots,0) θ=(θ1,θ2,,θk,0,,0),前k列不为零,其他为0,则可得 A θ A\theta Aθ如下:
    A θ = θ 1 a 1 + θ 2 a 2 + ⋯ + θ k a k = 0 \begin{equation} A\theta = \theta_1a_1+\theta_2a_2+\cdots+\theta_ka_k=0 \end{equation} Aθ=θ1a1+θ2a2++θkak=0
  • 只要取充分小的 ϵ > 0 \epsilon >0 ϵ>0,使得
    x ˉ = x + ϵ θ ≥ 0 , x ~ = x − ϵ θ ≥ 0 \begin{equation} \bar{x}=x+\epsilon \theta \ge 0,\tilde{x}=x-\epsilon \theta\ge 0 \end{equation} xˉ=x+ϵθ0,x~=xϵθ0
  • 乘以A可得:
    A x ˉ = A x + A ϵ θ = b , A x ~ = A x − A ϵ θ = b \begin{equation} A\bar{x}=Ax+A\epsilon \theta=b,A\tilde{x}=Ax-A\epsilon \theta=b \end{equation} Axˉ=Ax+Aϵθ=b,Ax~=AxAϵθ=b
  • 则可得:
    x ˉ , x ~ ∈ S , x = 1 2 x ˉ + 1 2 x ~ \begin{equation} \bar{x},\tilde{x}\in S,x=\frac{1}{2}\bar{x}+\frac{1}{2}\tilde{x} \end{equation} xˉ,x~S,x=21xˉ+21x~
  • 根据上面可得,x点可以由两个点 x ˉ , x ~ \bar{x},\tilde{x} xˉ,x~线性组合,与x是极点矛盾!!!所以我们假设的假如 a 1 , a 2 , ⋯   , a k a_1,a_2,\cdots,a_k a1,a2,,ak线性相关不成立
  • 结论: a 1 , a 2 , ⋯   , a k a_1,a_2,\cdots,a_k a1,a2,,ak线性无关, r ( A ) = m → k ≤ m r(A)=m\to k\le m r(A)=mkm
    – 若情况1,k=m,记
    x B = ( x 1 x 2 ⋯ x m ) T , x N = 0 \begin{equation} x_B=\begin{pmatrix}x_1&x_2&\cdots&x_m\end{pmatrix}^T,x_N=0 \end{equation} xB=(x1x2xm)T,xN=0
  • 可得:
    A x = ( B , N ) ( x B 0 ) = B x B = b → x B = B − 1 b \begin{equation} Ax=(B,N)\begin{pmatrix}x_B\\\\0\end{pmatrix}=Bx_B=b\to x_B=B^{-1}b \end{equation} Ax=(B,N) xB0 =BxB=bxB=B1b
  • 结论:
    x = ( B − 1 b 0 ) \begin{equation} x=\begin{pmatrix}B^{-1}b\\\\0\end{pmatrix}\end{equation} x= B1b0

– 若情况2: k < m k<m k<m,那么我们可以凑m项为B,
B = ( a 1 a 2 ⋯ a k a k + 1 ⋯ a m ) \begin{equation} B=\begin{pmatrix}a_1&a_2&\cdots&a_k&a_{k+1}&\cdots&a_m\end{pmatrix} \end{equation} B=(a1a2akak+1am)
x B = ( x 1 x 2 ⋯ x k 0 ⋯ 0 ) \begin{equation} x_B=\begin{pmatrix}x_1&x_2&\cdots&x_k&0&\cdots&0\end{pmatrix} \end{equation} xB=(x1x2xk00)

  • 可得:
    A x = ( B , N ) ( x B 0 ) = B x B = b → x B = B − 1 b \begin{equation} Ax=(B,N)\begin{pmatrix}x_B\\\\0\end{pmatrix}=Bx_B=b\to x_B=B^{-1}b \end{equation} Ax=(B,N) xB0 =BxB=bxB=B1b

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

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

相关文章

Ubuntu16.04环境下Baxter机器人开发环境搭建要点说明

Ubuntu16.04环境下Baxter机器人开发环境搭建要点说明 前面写过一篇文章&#xff0c;描述了在ubuntu20.04环境下baxter机器人开发环境的搭建&#xff0c;本人在后来的使用中&#xff0c;出于一些原因又在ubuntu16环境下搭建了开发环境&#xff0c;二者总体流程基本类似&#xf…

【数据分享】2013-2022年我国省市县三级的逐年SO2数据(excel\shp格式\免费获取)

空气质量数据是在我们日常研究中经常使用的数据&#xff01;之前我们给大家分享了2000——2022年的省市县三级的逐年PM2.5数据和2013-2022年的省市县三级的逐年CO数据&#xff08;均可查看之前的文章获悉详情&#xff09;&#xff01; 本次我们分享的是我国2013——2022年的省…

【Spark官方文档部分翻译】RDD编程指南(RDD Programming Guide)

写在前面 内容如何选择 本翻译只翻译本人认为精华的部分&#xff0c;本人认为的Spark的一些核心理念&#xff0c;编程思想。一些特别基础的操作包括但不限于搭建环境就不在此赘述了。 配套版本 本系列基于Spark 3.3.1&#xff0c;Scala 2.12.10&#xff0c;进行翻译总结 原…

pycharm报错:No module named pip/No module named pytest

1、问题概述? 今天在执行一个python脚本的时候,控制台提示:No module named pytest,就是没有pytest模块,于是我使用pip命令进行安装,命令如下; pip install pytest 结果又提示No module named pip,说我没有pip模块,没办法,再安装pip 2、安装pip-方式1 在pycharm的T…

路由表与IP数据报转发:基础小白指南

目录 1. 路由表的基本概念 2. 路由表中的默认路由 3. IP数据报的转发流程 4. 路由聚合 5. 最长前缀匹配 总结 在网络世界中&#xff0c;IP数据报的转发是如何进行的&#xff1f; 这篇文章将带你深入了解路由表的基本概念和IP数据报的转发流程。我们会用简洁明了的语言和实…

华为mate20 激活设备

升级失败 需要 准备2个usb线 一根usb1.0工程线 一根正常线 。工程线怎么做&#xff0c;找一个10k电阻 把红线和绿线连起来。我用的是贴片电阻103 大概是2512 1W&#xff0c;也可以用金属膜电阻 步骤① 热风枪吹开后盖

vscode下运行django项目(命令与可视化操作两种方式python .\demo\manage.py runserver)

文章目录 实验前提1. 命令方式操作2. code图形方式操作 实验前提 vscode配置django环境并创建django项目&#xff08;全图文操作&#xff09; https://blog.csdn.net/xzzteach/article/details/140591167 1. 命令方式操作 python .\demo\manage.py runserver关闭运行 2. c…

App Instance 架构示例

前言 在Unity程序设计过程中&#xff0c;我们处理的第一个对象是Application Instance。 它的主要职责是启动流程管理、卸载流程管理&#xff0c;次要职责是管理在内部的子系统生命周期。其他职责&#xff0c;提供或桥接应用程序的配置信息、及其他第三方接口。 它通常以单例的…

buu做题(7)

[BJDCTF2020]Mark loves cat 开始的界面没啥东西, 看了下源码好像也没啥东西 用dirsearch扫描一下 有git 泄露 用工具githack下载源码 <?phpinclude flag.php;$yds "dog"; $is "cat"; $handsome yds;foreach($_POST as $x > $y){$$x $y; }f…

【过题记录】 7.21

Mad MAD Sum 算法&#xff1a;思维&#xff0c;前缀最大值 模拟一下他的运行过程就会发现&#xff0c;两次之后整个数组就固定了&#xff0c;之后每次都是每个数往后移动一位&#xff0c;可以模拟两次之后计算每个数的存活轮数&#xff0c;计算贡献。 #include<bits/stdc.h…

FreeRTOS 任务的挂起与恢复

任务的挂起与恢复的API函数 挂起 - vTaskSuspend 挂起任务类似暂停&#xff0c;可恢复&#xff1b; 删除任务&#xff0c;无法恢复&#xff0c;类似“人死两清” 使用 必须将 INCLUDE_vTaskSuspend 定义为 1 才能使用此函数 void vTaskSuspend( TaskHandle_t xTaskToSuspen…

GIT命令学习 二

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 ☁️运维工程师的职责&#xff1a;监…

PostgreSQL简介和安装

一、Postgresql简介&#xff1a; 1、PostgreSql是功能强大的&#xff0c;开源的关系型数据库&#xff0c;底层基于C语言实现&#xff1b; 2、开源&#xff1a;允许对PostgreSql进行封装&#xff0c;用于商业收费&#xff1b; 3、版本迭代速度快&#xff0c;正式版本已经到15.R…

《昇思25天学习打卡营第24天|基于 MindSpore 实现 BERT 对话情绪识别》

1. BERT 模型概述 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;是一个预训练的语言表示模型&#xff0c;可以应用于多种自然语言处理任务&#xff0c;包括对话情绪识别。BERT 通过双向 Transformer 编码器&#xff0c;能同时考虑句子…

【Langchain大语言模型开发教程】基于文档问答

&#x1f517; LangChain for LLM Application Development - DeepLearning.AI Embedding&#xff1a; https://huggingface.co/BAAI/bge-large-en-v1.5/tree/main 学习目标 1、Embedding and Vector Store 2、RetrievalQA 引包、加载环境变量 import osfrom dotenv import…

单例模式_Golang

目录 一、单例模式 1.1 基本概念 1.2 使用场景 二、Golang实现 2.1 懒汉模式&#xff08;Lazy Loading&#xff09; 一、单例模式 1.1 基本概念 一个类只能生成一个实例&#xff0c;且该类能自行创建这个实例的一种模式,这个定义个人感觉可以拆的通俗一些,在项目的生命周…

2-41 基于matlab的小车倒立摆系统的控制及GUI动画演示

基于matlab的小车倒立摆系统的控制及GUI动画演示。输入小车及倒立摆的初始参数&#xff0c;位置参数&#xff0c;对仿真时间和步长进行设置&#xff0c;通过LQR计算K值&#xff0c;进行角度、角速度、位置、速度仿真及曲线输出&#xff0c;程序已调通&#xff0c;可直接运行。 …

【BUG】已解决:ModuleNotFoundError: No module named‘ pip‘

已解决&#xff1a;ModuleNotFoundError: No module named‘ pip‘ 目录 已解决&#xff1a;ModuleNotFoundError: No module named‘ pip‘ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰…

JAVA零基础学习2(算术逻辑三元运算符、原码反码补码、标准的类如何描写)

JAVA零基础学习2&#xff08;算术逻辑三元运算符、原码反码补码、标准的类如何描写&#xff09; 算术运算符算术运算符自增和自减运算符算术运算符的优先级示例代码 逻辑运算符三元运算符示例代码示例1&#xff1a;简单的条件判断示例2&#xff1a;嵌套的三元运算符 原码反码补…

WebGSI地图切片|栅格地图切片原理|地图矢量切片原理

介绍 图栅格切片是WebGIS中使用的一种新技术&#xff0c;通过地图栅格切片可以有效缩短服务器的地图生成时间和地图传输时间&#xff0c;提高系统的响应速度。 地图切片是在多个比例尺下配置地图&#xff0c;预先将每个比例尺下的地图绘制成小图片&#xff0c;保存到服务器上一…