线性规划中可行域为什么一定是凸的--证明

线性规划中的凸性证明

线性规划中可行域是凸的,这是自然能够想到和容易理解的道理。直观上,线性约束定义的可行域是由半平面的交集构成的,这些半平面的交集总是形成凸区域。

这么一个自然想到、容易理解的道理,怎么从数学上完备地证明它?下面的内容为此作答。

准备知识:

凸集的定义:如果集合 C C C中任意两点 X 1 X_1 X1 X 2 X_2 X2,其连线上的所有点也都在集合 C C C中,称 C C C为凸集.

为了更好地理解凸集,下面给出一些凸集和凹集的示例:

线性规划的标准型

m a x z = ∑ j = 1 n c j x j s . t . { ∑ j = 1 n a i j x j = b j x j ≥ 0 max \quad z= \sum_{j=1}^{n}c_{j}x_j \\ s.t. \left\{\begin{array}{l} {\sum_{j=1}^{n}a_{ij}x_j=b_j} \\ x_j \ge 0 \\ \end{array}\right. maxz=j=1ncjxjs.t.{j=1naijxj=bjxj0

证明

命题:如果线性规划中存在可行解,则可行解组成的可行域是凸集。

证明思路:任意假设两个可行解,证明其连线上的所有点仍属于可行域,即满足约束。

证明过程
步骤一:设任意两点,并给出满足约束的方程

  • X 1 = ( x 11 , x 12 , … , x 1 n ) T X_1=(x_{11},x_{12},\dots,x_{1n})^T X1=(x11,x12,,x1n)T, X 2 = ( x 21 , x 22 , … , x 2 n ) T X_2=(x_{21},x_{22},\dots,x_{2n})^T X2=(x21,x22,,x2n)T为可行域内任意两点,其满足
    { ∑ j = 1 n a i j x 1 j = b j ∑ j = 1 n a i j x 2 j = b j \left\{\begin{array}{l} \sum_{j=1}^n a_{ij}x_{1j}=b_j \\ \sum_{j=1}^n a_{ij}x_{2j}=b_j \\ \end{array}\right. {j=1naijx1j=bjj=1naijx2j=bj

步骤二:设连线上的任意一点,并给出与两点的关系方程

  • 连线上的任意点 X = ( x 1 , x 2 , … , x n ) T X=(x_{1},x_{2},\dots,x_{n})^T X=(x1,x2,,xn)T 的表示
    X = k ( X 1 − X 2 ) + X 2 , 0 ≤ k ≤ 1 X=k(X_1-X_2)+X_2, \quad 0 \leq k \leq1 X=k(X1X2)+X2,0k1
    这一步如果不好理解,可以看下面的解释:
    在这里插入图片描述

步骤三:判断 X X X 是否满足约束条件
∑ j = 1 n a i j x j = ∑ j = 1 n a i j ( k ( x 1 j − x 2 j ) + x 2 j ) = k ∑ j = 1 n a i j x 1 j − k ∑ j = 1 n a i j x 2 j + ∑ j = 1 n a i j x 2 j = k b j − k b j + b j = b j \begin{aligned} \sum_{j=1}^n a_{ij}x_{j}&=\sum_{j=1}^n a_{ij}(k(x_{1j}-x_{2j})+x_{2j}) \\ &= k\sum_{j=1}^n a_{ij} x_{1j} - k\sum_{j=1}^n a_{ij} x_{2j} + \sum_{j=1}^n a_{ij} x_{2j} \\ &= k b_j - k b_j + b_j \\ & = b_j \end{aligned} j=1naijxj=j=1naij(k(x1jx2j)+x2j)=kj=1naijx1jkj=1naijx2j+j=1naijx2j=kbjkbj+bj=bj
因此, X X X 在可行域内。这证明了连线上的任意点均在可行域内,即可行域是凸集。

证毕!


参考资料:

  • 胡运权主编的第五版《运筹学教程》

文档源码:

## 线性规划中的凸性证明
**线性规划中可行域是凸的**,这是自然能够想到和容易理解的道理。直观上,线性约束定义的可行域是由半平面的交集构成的,这些半平面的交集总是形成凸区域。这么一个自然想到、容易理解的道理,怎么从数学上完备地证明它?下面的内容为此作答。
### 准备知识:
**凸集的定义**:如果集合$C$中任意两点$X_1$和$X_2$,其连线上的所有点也都在集合$C$中,称$C$为凸集.
<p align = "center">    
<img  src="https://i-blog.csdnimg.cn/direct/c36979ba43054a219a993520e58b5f2f.png" width="200" />
</p>为了更好地理解凸集,下面给出一些凸集和凹集的示例:
<p align = "center">    
<img  src="https://i-blog.csdnimg.cn/direct/29b80fec3fb341fc8bad74738821ef4f.png" width="200" />
</p>**线性规划的标准型**:$$max \quad z= \sum_{j=1}^{n}c_{j}x_j \\
s.t. \left\{\begin{array}{l}
{\sum_{j=1}^{n}a_{ij}x_j=b_j} \\
x_j \ge 0 \\
\end{array}\right.$$### 证明
命题:如果线性规划中存在可行解,则可行解组成的可行域是凸集。证明思路:任意假设两个可行解,证明其连线上的所有点仍属于可行域,即满足约束。证明过程
步骤一:**设任意两点,并给出满足约束的方程**
- 设$X_1=(x_{11},x_{12},\dots,x_{1n})^T$,$X_2=(x_{21},x_{22},\dots,x_{2n})^T$为可行域内任意两点,其满足
$$\left\{\begin{array}{l}
\sum_{j=1}^n a_{ij}x_{1j}=b_j \\
\sum_{j=1}^n a_{ij}x_{2j}=b_j \\
\end{array}\right.$$步骤二:**设连线上的任意一点,并给出与两点的关系方程**
- 连线上的任意点 $X=(x_{1},x_{2},\dots,x_{n})^T$ 的表示
$$X=k(X_1-X_2)+X_2, \quad 0 \leq k \leq1$$
这一步如果不好理解,可以看下面的解释:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d3d7473352704642bd4e6503e0a0ad75.png)步骤三:**判断 $X$ 是否满足约束条件**
$$ \begin{aligned} 
\sum_{j=1}^n a_{ij}x_{j}&=\sum_{j=1}^n a_{ij}(k(x_{1j}-x_{2j})+x_{2j}) \\
&= k\sum_{j=1}^n a_{ij} x_{1j} - k\sum_{j=1}^n a_{ij} x_{2j} + \sum_{j=1}^n a_{ij} x_{2j} \\
&= k b_j - k b_j + b_j \\
& = b_j
\end{aligned}$$
因此,$X$ 在可行域内。这证明了连线上的任意点均在可行域内,即可行域是凸集。证毕!---
参考资料:
- 胡运权主编的第五版《运筹学教程》

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

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

相关文章

计算机毕业论文题目:设计与实现一个校园通知信息系统

设计与实现一个校园通知信息系统是一个涉及多个方面的复杂项目&#xff0c;它旨在提高信息传递的效率和准确性&#xff0c;确保学生、教师以及学校管理人员能够及时获取到重要的通知信息。以下是关于如何设计并实现这样一个系统的详细说明&#xff1a; 1. 需求分析 用户…

在Spring项目中,两个实用的工具(生成类与映射文件、API自动生成)

尊贵的Spring玩家&#xff0c;是不允许动脑思考的&#xff0c;所以我们要学会复制粘贴 1.生成类与映射文件 背景&#xff1a;在项目编写初期&#xff0c;我们已经设计好了表&#xff0c;后面就需要根据表来撰写实体类(model)和对应的sql语句(dao和mapper)。如果一个项目中&…

可视化数据分析收集软件Splunk Enterprise for Mac

Splunk Enterprise for mac 是一款强大的机器数据平台软件&#xff0c;具有以下特点和优势&#xff1a; 软件下载地址 一、功能强大的数据处理能力 专为收集、整理、搜索、分析和监控各种类型或来源的机器数据而设计&#xff0c;能够实时处理大量的机器生成数据&#xff0c;…

【PyTorch】张量操作与线性回归

张量的操作 Tensor Operation 拼接与切分 1.1 torch.cat() torch.cat(tensors, dim0, outNone)功能&#xff1a;将张量按维度dim进行拼接 tensors&#xff1a;张量序列dim&#xff1a;要拼接的维度 1.2 torch.stacok() torch.stack(tensors, dim0, outNone)功能&#xf…

java自定义线程池详解

目录 线程池使用线程池的目的线程池工作原理线程池常用方法自定义线程池等待队列拒绝策略线程工厂 线程池 使用线程池的目的 资源复用&#xff0c;降低开销。重复利用已创建的线程&#xff0c;避免线程频繁地创建和销毁带来的性能开销。方便线程的可管理性。线程是稀缺资源&a…

C++速通LeetCode中等第14题-旋转图像

思路图解&#xff1a; class Solution { public:void rotate(vector<vector<int>>& matrix) {// 设矩阵行列数为 nint n matrix.size();// 起始点范围为 0 < i < n / 2 , 0 < j < (n 1) / 2// 其中 / 为整数除法for (int i 0; i < n / 2; i)…

传知代码-多示例AI模型实现病理图像分类

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 概述 本文将基于多示例深度学习EPLA模型实现对乳腺癌数据集BreaKHis_v1的分类。EPLA模型是处理组织病理学图像的经典之作。EPLA模型是基于多示例学习来进行了&#xff0c;那么多示例学习模型对处理病理学图像具有…

滚动条指定距离滚动

/*** scroller 滚动条元素* to 滚动到位置* duration 滚动时间*/ function scrollLeftTo (scroller, to, duration) {let rafIdlet count 0const from scroller.scrollLeftconst frames duration 0 ? 1 : Math.round((duration * 1000) / 16)function cancel () {cancelAn…

中间件知识点-消息中间件(Kafka)二

Kafka 一、Kafka介绍及基本原理 kafka是一个分布式的、支持分区的、多副本、基于zookeeper的分布式消息系统/中间件。 kafka一般不会删除消息&#xff0c;不管这些消息有没有被消费。只会根据配置的日志保留时间(log.retention.hours)确认消息多久被删除&#xff0c;默认保留…

Navicat数据库管理工具实现Excel、CSV文件导入到MySQL数据库

1.所需要的工具和环境 navicat等第三方数据库管理工具云服务器中安装了 1Panel面板搭建的mysql数据库 2.基于 1Panel启动mysql容器 2.1 环境要求 安装前请确保您的系统符合安装条件&#xff1a; 操作系统&#xff1a;支持主流 Linux 发行版本&#xff08;基于 Debian / Re…

【Python机器学习】NLP信息提取——提取人物/事物关系

目录 词性标注 实体名称标准化 实体关系标准化和提取 单词模式 文本分割 断句 断句的方式 使用正则表达式进行断句 词性标注 词性&#xff08;POS&#xff09;标注可以使用语言模型来完成&#xff0c;这个语言模型包含词及其所有可能词性组成的字典。然后&#xff0c;该…

Jboss Administration Console弱⼝令

漏洞描述 Administration Console管理⻚⾯存在弱⼝令&#xff0c;admin:admin&#xff0c;登陆后台上传war包 , getshell 影响版本 全版本 环境搭建 因为这⾥⽤的环境是CVE-2017-12149的靶机 cd vulhub-master/jboss/CVE-2017-12149 docker-compose up -d 密码⽂件 /j…

开发易忽视的问题:InnoDB 行锁设计与实现

开发易忽视的问题&#xff1a;InnoDB 行锁设计与实现 存储模型和锁机制 存储结构 数据页&#xff1a; InnoDB 将表的数据存储在数据页中&#xff0c;每个页默认大小为 16KB。数据页中存储多个行记录&#xff0c;行记录按照主键顺序存放。 行格式&#xff1a; InnoDB 支持多种…

VSCode开发ros程序无法智能提示的解决方法(二)

VSCode开发ros程序无法智能提示的解决方法&#xff08;二&#xff09; 说明解决 说明 在Ubuntu下使用vscode开发ros程序&#xff0c;无法进行智能提示。 解决 将C/C更换为v1.20.5版本&#xff0c;如下图

sheng的学习笔记-AI-强化学习(Reinforcement Learning, RL)

AI目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 基础知识 什么是强化学习 强化学习&#xff08;Reinforcement Learning, RL&#xff09;&#xff0c;又称再励学习、评价学习或增强学习&#xff0c;是机器学习的范式和方法论之一&#xff0c;用于描述和解决智能体&#…

Trainer API训练属于自己行业的本地大语言模型 医疗本地问答大模型示例

Trainer API 是 Hugging Face transformers 库中强大而灵活的工具&#xff0c;简化了深度学习模型的训练和评估过程。通过提供高层次的接口和多种功能&#xff0c;Trainer API 使研究人员和开发者能够更快地构建和优化自然语言处理模型 文章目录 前言一、Trainer API它能做什么…

RNN的反向传播

目录 1.RNN网络&#xff1a;通过时间反向传播(through time back propagate TTBP) 2.RNN梯度分析 2.1隐藏状态和输出 2.2正向传播&#xff1a; 2.3反向传播&#xff1a; 2.4问题瓶颈&#xff1a; 3.截断时间步分类&#xff1a; 4.截断策略比较 5.反向传播的细节 ​编辑…

达梦数据库踩坑

提示&#xff1a;第一次接触达梦&#xff0c;是真的不好用&#xff0c;各种报错不提示详细信息&#xff0c;吐槽归吐槽&#xff0c;还是需要学习使用的。 前言 题主刚接触达梦数据库时&#xff0c;本来是想下载官网的连接工具进行数据库连接的&#xff0c;但是谁曾想&#xff…

监控易监测对象及指标之:全面监控GBase数据库

在数字化时代&#xff0c;数据库作为企业核心数据资产的管理中心&#xff0c;其稳定性和性能直接关系到业务的连续性和企业的运营效率。GBase数据库作为高性能的分布式数据库系统&#xff0c;广泛应用于各类业务场景。为了确保GBase数据库的稳定运行和高效性能&#xff0c;对其…

git安装包夸克网盘下载

git安装包夸克网盘下载 git夸克网盘 git网站上的安装包下载速度有点慢&#xff0c;因此为了方便以后下载就将文件保存到夸克网盘上&#xff0c;链接&#xff1a;我用夸克网盘分享了「git」&#xff0c;点击链接即可保存。 链接&#xff1a;https://pan.quark.cn/s/07c73c4a30…