对偶问题的基本性质

2024-01-04 02:12
文章标签 问题 基本 对偶 性质

本文主要是介绍对偶问题的基本性质,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写于:2024年1月3日晚

修改于:


原规划与对偶规划

原规划对偶规划
max ⁡ z = C T X s.t.  { A X ≤ b , 其中  X ( m ∗ 1 ) X ≥ 0 \begin{aligned} & \max \mathrm{z}=\mathbf{C}^T \mathbf{X} \\ & \text { s.t. }\left\{\begin{array}{l}\mathbf{A X} \leq \mathbf{b}, \quad \text { 其中 } \mathrm{X}_{\left(\mathrm{m}^* 1\right)} \\ \mathbf{X} \geq \mathbf{0}\end{array}\right.\end{aligned} maxz=CTX s.t. {AXb, 其中 X(m1)X0 min ⁡ w = Y b s.t.  { Y A ≥ C T , 其中  Y ( 1 ∗ n ) Y ≥ 0 \begin{aligned} & \min w=\mathbf{Y b} \\ & \text { s.t. }\left\{\begin{array}{l}\mathbf{Y A} \geq \mathbf{C}^T, \text { 其中 } \mathrm{Y}_{\left(1^* \mathrm{n}\right)} \\ \mathbf{Y} \geq 0\end{array}\right.\end{aligned} minw=Yb s.t. {YACT, 其中 Y(1n)Y0
max ⁡ z = ∑ j = 1 n c j x j s.t.  { ∑ j = 1 n a i j x j ≤ b i ( i = 1 , 2 , … , m ) x j ≥ 0 ( j = 1 , 2 , … , n ) \begin{aligned} & \max \mathrm{z}=\sum_{j=1}^n c_j x_j \\ & \text { s.t. }\left\{\begin{array}{l}\sum_{j=1}^n a_{i j} x_j \leq b_i(i=1,2, \ldots, m) \\ x_j \geq 0(j=1,2, \ldots, n)\end{array}\right.\end{aligned} maxz=j=1ncjxj s.t. {j=1naijxjbi(i=1,2,,m)xj0(j=1,2,,n) min ⁡ w = ∑ i = 1 m b i y i s.t.  { ∑ i = 1 m a i j y i ≥ c j ( j = 1 , 2 , … , n ) y i ≥ 0 ( i = 1 , 2 , … , m ) \begin{aligned} & \min w=\sum_{i=1}^m b_i y_i \\ & \text { s.t. }\left\{\begin{array}{l}\sum_{i=1}^m a_{i j} y_i \geq c_j(j=1,2, \ldots, n) \\ y_i \geq 0(i=1,2, \ldots, m)\end{array}\right.\end{aligned} minw=i=1mbiyi s.t. {i=1maijyicj(j=1,2,,n)yi0(i=1,2,,m)

对称性:对偶问题的对偶问题是原问题。任何一个线性规划问题存在且有唯一的对偶问题。


弱对偶性:若 X ‾ \overline{\mathbf{X}} X 是原问题的可行解, Y ‾ \overline{\mathbf{Y}} Y 是对偶问题的可行解,则存在 C X ‾ ⩽ Y ‾ b \mathbf{C} \overline{\mathbf{X}} \leqslant \overline{\mathbf{Y}} \mathbf{b} CXYb

原问题最优目标函数值是对偶目标函数值的下界,对偶问题最优目标函数值是原问题目标函数值的上界。
在这里插入图片描述

坐标轴理解: 坐标轴自左向右逐渐增大。如果原问题和对偶问题都有可行解 X ‾ 、 Y ‾ \overline{\mathbf{X}} 、 \overline{\mathbf{Y}} XY,那么说明原问题和对偶问题都存在某个可行解对应的函数值,而因为原问题为 max ⁡ \max max 类型,则更优解会在 Z ∗ \mathrm{Z}^* Z 右侧,而对偶问题为 m i n \mathrm{min} min 类型,更优解会在 W ∗ \mathrm{W}^* W 左侧,两者一定会在某一处取得相同的最优目标函数值,因此存在 C X ‾ ⩽ Y ‾ b \mathbf{C} \overline{\mathbf{X}} \leqslant \overline{\mathbf{Y}} \mathbf{b} CXYb

将原问题和对偶问题看做是两个人在角力,目标函数值视为擂台。原问题自左向右冲,对偶问题自右向左冲,如果问题有可行解,那么就在擂台上,如果有无界解,那么就将对方挤出擂台。


无界性

  1. 若原问题/对偶问题有无界解,那么对偶问题/原问题无可行解
    在这里插入图片描述
    如果原问题有无界解,说明原问题最优值随着坐标轴一直向右延伸,对偶问题被挤出擂台,所以对偶问题无可行解。

  2. 若原问题/对偶问题无可行解,那么对偶问题/原问题无可行解或有无界解

  3. 若原问题有可行解,而对偶问题无可行解,那么原问题有无界解

  4. 若对偶问题有可行解,而原问题无可行解,那么对偶问题有无界解

补充:原问题和对偶问题中有一个为无穷多/唯一最优解,无法退出另一个最优解的情况。


最优性:设 X ^ \widehat{\mathbf{X}} X 是原问题的可行解, Y ^ \widehat{\mathbf{Y}} Y 是对偶问题的可行解,当 C X ^ = Y ^ b \mathbf{C} \hat{\mathbf{X}}=\hat{\mathbf{Y}} \mathbf{b} CX^=Y^b 时, X ^ \hat{\mathbf{X}} X^ Y ^ \hat{\mathbf{Y}} Y^ 是最优解。
对偶定理:
表述1:若原问题和对偶问题都有可行解,则都有最优解,而且最优解的目标函数值相等。
表述2:若原问题有最优解,则对偶问题也有最优解,而且目标函数值相等。


互补松驰定理:线性规划问题的最优解中,如果对应某一约束条件的对偶变量值非零,那么该约束条件取严格等式;反之如果约束条件取严格不等式,那么对应的对偶变量一定为零。也即:
{ y i ∗ ( ∑ j = 1 n a i j x j − b i ) = 0 ( i = 1 , 2 , … , m ) x j ∗ ( ∑ i = 1 m a i j y i − c j ) = 0 ( j = 1 , 2 , … , n ) \left\{\begin{array}{l} y_i *\left(\sum_{j=1}^n a_{i j} x_j-b_i\right)=0(i=1,2, \ldots, m) \\ x_j *\left(\sum_{i=1}^m a_{i j} y_i-c_j\right)=0(j=1,2, \ldots, n) \end{array}\right. {yi(j=1naijxjbi)=0(i=1,2,,m)xj(i=1maijyicj)=0(j=1,2,,n)

应用:由原/对偶问题最优解求对偶/原问题最优解

这篇关于对偶问题的基本性质的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/567850

相关文章

解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题

《解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题》在Spring开发中,@Autowired注解常用于实现依赖注入,它可以应用于类的属性、构造器或setter方法上,然... 目录1. 为什么 @Autowired 在属性上被警告?1.1 隐式依赖注入1.2 IDE 的警告:

解决java.lang.NullPointerException问题(空指针异常)

《解决java.lang.NullPointerException问题(空指针异常)》本文详细介绍了Java中的NullPointerException异常及其常见原因,包括对象引用为null、数组元... 目录Java.lang.NullPointerException(空指针异常)NullPointer

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

关于Nginx跨域问题及解决方案(CORS)

《关于Nginx跨域问题及解决方案(CORS)》文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CO... 目录一、概述二、什么是 CORS?三、常见的跨域场景四、Nginx 如何解决 CORS 问题?五、基

MySQL安装时initializing database失败的问题解决

《MySQL安装时initializingdatabase失败的问题解决》本文主要介绍了MySQL安装时initializingdatabase失败的问题解决,文中通过图文介绍的非常详细,对大家的学... 目录问题页面:解决方法:问题页面:解决方法:1.勾选红框中的选项:2.将下图红框中全部改为英

Python中多线程和多进程的基本用法详解

《Python中多线程和多进程的基本用法详解》这篇文章介绍了Python中多线程和多进程的相关知识,包括并发编程的优势,多线程和多进程的概念、适用场景、示例代码,线程池和进程池的使用,以及如何选择合适... 目录引言一、并发编程的主要优势二、python的多线程(Threading)1. 什么是多线程?2.

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了