最优化学习笔记(十)——对偶线性规划
一、对偶问题
每个线性规划问题都有一个与之对应的对偶问题。对偶问题是以原问题的约束条件和目标函数为基础构造而来的。对偶问题也是一个线性规划问题,因此可以采用单纯形法(有关单纯形法会在以后的笔记中补充)求解。对偶问题的最优解也可以通过原问题的最优解得到,反之亦然。而且,在某些情况下,利用对偶理论求解线性规划问题更为简单,而且有助于深入了解待求问题的本质。
二、对偶问题的定义与表述
考虑如下形式的线性规划问题:
\min \quad \boldsymbol{c}^T\boldsymbol{x} \\ st. \quad \boldsymbol{Ax} \ge \boldsymbol{b}\\\boldsymbol{x} \ge \boldsymbol{0}
该问题称为原问题,其相应的对偶问题定义为:
\max \quad \boldsymbol{\lambda}^T\boldsymbol{b}\\ st.\quad \boldsymbol{\lambda}^T\boldsymbol{A} \le \boldsymbol{c}^T\\ \boldsymbol{\lambda} \ge \boldsymbol{0}
其中, λ∈Rm\boldsymbol{\lambda} \in \mathbb{R}^m是对偶向量。在原问题和对偶问题中, b和c\boldsymbol{b}和 \boldsymbol{c}的作用是互逆的,这种对偶称为对称形式的对偶。
为了定义任意线性规划问题的对偶问题,可首先将给定的线性规划问题转换为与上述原问题结构形式相同的等价问题;然后,根据对称形式的对偶,得到等价问题的对偶。
三、证明对偶问题的对偶是原问题
将对偶问题表示为:
\min \quad \boldsymbol{\lambda}^T(-\boldsymbol{b})\\ st. \quad \boldsymbol{\lambda}^T(-\boldsymbol{A}) \ge (-\boldsymbol{c}^T)\\ \boldsymbol{\lambda} \ge \boldsymbol{0}
则上述问题的等价于:(将上式两端同时转置)
\min \quad (-\boldsymbol{b}^T)\boldsymbol{\lambda}\\ st. \quad (-\boldsymbol{A}^T)\boldsymbol{\lambda} \le -\boldsymbol{c}\\ \boldsymbol{\lambda} \ge \boldsymbol{0}
则上式的对偶问题为:( x\boldsymbol{x}等价于对偶定义的 λ\boldsymbol{\lambda})
\max \quad \boldsymbol{x}^T(\boldsymbol{-c})\\ st. \quad \boldsymbol{x}^T(-\boldsymbol{A})^T \le -\boldsymbol{b} ^T\\ \boldsymbol{x} \ge \boldsymbol{0}
对上式取转置:
\max \quad (-\boldsymbol{c}^T)\boldsymbol{x}\\ st. \quad (-\boldsymbol{A})\boldsymbol{x} \le -\boldsymbol{b} \\ \boldsymbol{x} \ge \boldsymbol{0}
整理后,就可以得到原问题。
四、线性规划问题的标准型
线性规划问题的标准型约束为Ax=b\boldsymbol{Ax=b},为了构造相应的对偶问题,首先将上述等式变换为不等式:
\boldsymbol{Ax \ge b}\\ \boldsymbol{Ax \le b} \Rightarrow \boldsymbol{- Ax \ge -b}
那么,带有等式的原问题可以写为:
\min \quad \boldsymbol{c}^T\boldsymbol{x}\\ st. \quad \boldsymbol{Ax} \ge \boldsymbol{b}\\ \boldsymbol{- Ax \ge -b}\\\boldsymbol{x} \ge \boldsymbol{0}
上式的对偶问题可以整理为:
\max \quad \boldsymbol{\lambda}^T\boldsymbol{b}\\ st. \quad \boldsymbol{\lambda}^T\boldsymbol{A}\le \boldsymbol{c}^T
这种对偶关系称为非对称形式的对偶。
原问题 | 对偶问题 |
---|---|
mincTx\min \quad \boldsymbol{c}^T\boldsymbol{x} | maxλTb\max \quad \boldsymbol{\lambda}^T\boldsymbol{b} |
st.Ax≥bx≥0 st.\quad \boldsymbol{Ax} \ge \boldsymbol{b}\\ \quad \quad\quad\boldsymbol{x} \ge \boldsymbol{0} | st.λTA≤cTλ≥0st.\quad \boldsymbol{\lambda}^T\boldsymbol{A} \le \boldsymbol{c}^T\\\quad\quad\quad\quad\boldsymbol{\lambda} \ge \boldsymbol{0} |
表1 对称形式对偶关系
原问题 | 对偶问题 |
---|---|
mincTx\min \quad \boldsymbol{c}^T\boldsymbol{x} | maxλTb\max \quad \boldsymbol{\lambda}^T\boldsymbol{b} |
st.Ax=bx≥0st. \quad \boldsymbol{Ax} = \boldsymbol{b}\\\quad\quad\quad\boldsymbol{x} \ge \boldsymbol{0} | st.λTA≤cTst. \quad \boldsymbol{\lambda}^T\boldsymbol{A}\le \boldsymbol{c}^T |
表2 非对称形式对偶关系
五、构造任意线性规划问题的对偶问题
- 将原问题转换为与之等价的对称形式对偶关系中的原问题。
- 参照对称形式对偶关系就可得到对偶问题,整理后可得到非对称形式的对偶问题。
最优化学习笔记(十)——对偶线性规划相关推荐
- 最优化学习笔记(十九)——拟牛顿法(5)BFGS算法
一.BFGS算法的更新公式 为了推导BFGS算法,需要用到对偶或者互补的概念,前边已经讨论过hessian矩阵逆矩阵的近似矩阵需要满足以下条件: Hk+1Δg(i)=Δx(i)0≤i≤k \bolds ...
- 最优化学习笔记(十八)——拟牛顿法(4)DFP算法
秩2算法可以保证在任意第kk步迭代下, 只要一维搜索是精确的,近似矩阵Hk\boldsymbol{H}_k就是正定的. DFP算法 令k=0k=0,选择初始点x(0)\boldsymbol{x}^{( ...
- 最优化学习笔记(十六)——拟牛顿法(2)
Hessian矩阵逆矩阵的近似 一.拟牛顿法的基本思路 令H0,H1,H2,-\boldsymbol{H_0,H_1, H_2}, \dots表示Hessian矩阵逆矩阵F(x(k))−1\bolds ...
- IOS之学习笔记十五(协议和委托的使用)
1.协议和委托的使用 1).协议可以看下我的这篇博客 IOS之学习笔记十四(协议的定义和实现) https://blog.csdn.net/u011068702/article/details/809 ...
- 吴恩达《机器学习》学习笔记十四——应用机器学习的建议实现一个机器学习模型的改进
吴恩达<机器学习>学习笔记十四--应用机器学习的建议实现一个机器学习模型的改进 一.任务介绍 二.代码实现 1.准备数据 2.代价函数 3.梯度计算 4.带有正则化的代价函数和梯度计算 5 ...
- 吴恩达《机器学习》学习笔记十二——机器学习系统
吴恩达<机器学习>学习笔记十二--机器学习系统 一.设计机器学习系统的思想 1.快速实现+绘制学习曲线--寻找重点优化的方向 2.误差分析 3.数值估计 二.偏斜类问题(类别不均衡) 三. ...
- 吴恩达《机器学习》学习笔记十——神经网络相关(2)
吴恩达<机器学习>学习笔记十--神经网络相关(2) 一. 代价函数 二. 反向传播算法 三. 理解反向传播算法 四. 梯度检测 五. 随机初始化 1.全部初始化为0的问题 2.随机初始化的 ...
- 最优化学习笔记(五)——牛顿法(多维数据)
在最优化学习系列中,第一次就说的是牛顿法,但是那是在一维搜索上的,它其实就是将函数ff在xx处利用泰勒公式展开,得到它的近似函数,进而求解最小值.本节内容主要说明牛顿法在多维数据上的迭代公式.最优化学 ...
- Mr.J-- jQuery学习笔记(十九)--自定义动画实现图标特效
之前有写过自定义动画Mr.J-- jQuery学习笔记(十八)--自定义动画 这次实现一个小demo 图标特效 页面渲染 <!DOCTYPE html> <html lang=&qu ...
- Mr.J-- jQuery学习笔记(十六)--展开和收起动画折叠菜单的实现
之前写过动画的隐藏与显示:Mr.J-- jQuery学习笔记(十四)--动画显示隐藏 动画隐藏与显示的一个小demo--对联广告:Mr.J-- jQuery学习笔记(十五)--实现页面的对联广告 与动 ...
最新文章
- 微软和 SAP 扩展了云环境中的合作关系
- 从零开始学电脑办公_从零开始学办公软件之办公软件介绍
- 有一种道理叫“实践”
- 检查单 2015-05-15-01
- laravel5.8笔记八:数据库(单库和多库)
- deviceFilters与设备过滤
- [react] 需要把keys设置为全局唯一吗?
- airodump-ng wlan0mon扫描不到网络_MySQL ProxySql 由于漏洞扫描导致的 PROXYSQL CPU 超高...
- vscode使用相关配置
- 考拉Android统一弹框
- poi下载excel模板
- C++多线程——_beginthread()和_beginthreadex
- 聊聊我在腾讯和字节工作感受
- 少有人走的路--心智成熟的旅程
- 5个增加设计趣味性的方法
- html图片撑开盒子,css背景图撑开盒子高度
- [solved] hp victus ubuntu 20.04 wifi
- vue项目跨域的问题(一个项目对接两个不同的域名、端口接口导致跨域,最好的办法是后端解决)
- 点成分享| 低温冷冻保存的技术研究(一)
- 7-2 公路村村通 迪杰斯特拉(dijkstra)算法
热门文章
- 【OpenCV 例程200篇】76. OpenCV 实现图像傅里叶变换
- C语言中数组越界访问造成死循环现象
- php 目录555 权限_CMS网站安全权限划分设置教程
- 334. Increasing Triplet Subsequence
- Java 泛型(1):基本原理
- python的2种字符串格式化输出
- CentOS 7.2 安装zabbix 3.4
- Spring MVC+Mybatis 多数据源配置
- ●BZOJ 1855 [Scoi2010]股票交易
- 8.String、StringBuffer、enum枚举