【运筹学】对偶理论 : 互补松弛定理应用 ( 原问题与对偶问题标准形式 | 已知原问题最优解求对偶问题最优解 | 使用单纯形法求解 | 使用互补松弛定理公式一求解 | 互补松弛定理公式二无效 ) ★★
文章目录
- 一、原问题与对偶问题标准形式
- 二、互补松弛定理
- 三、已知原问题最优解求对偶问题最优解
- 四、使用单纯形法求解
- 五、使用互补松弛定理公式一求解
- 六、使用互补松弛定理公式二求解 ( 无效方法 )
- 七、总结
一、原问题与对偶问题标准形式
原问题 P\rm PP : maxZ=CXs.t{AX≤bX≥0\begin{array}{lcl} \rm maxZ = C X \\\\ \rm s.t\begin{cases} \rm AX \leq b \\\\ \rm X \geq 0 \end{cases}\end{array}maxZ=CXs.t⎩⎪⎨⎪⎧AX≤bX≥0 ; \ \ \ \ \ \ \ \ \ \ \, 对偶问题 D\rm DD : minW=bTYs.t{ATY≥CTY≥0\begin{array}{lcl} \rm minW = b^T Y \\\\ \rm s.t\begin{cases} \rm A^TY \geq C^T \\\\ \rm Y \geq 0 \end{cases}\end{array}minW=bTYs.t⎩⎪⎨⎪⎧ATY≥CTY≥0
等价方法 :
- 生产 : 目标函数追求 利润最大化 , 约束方程设备的使用时长受约束 , 小于等于 某个时间值 ;
- 出租设备 : 目标函数追求 租金最小化 , 约束方程设备产生的利润要 大于等于 生产的利润 , 不能亏钱 ;
二、互补松弛定理
X0\rm X^0X0 和 Y0\rm Y^0Y0 分别是 原问题 P\rm PP 问题 和 对偶问题 D\rm DD 的 可行解 ,
这两个解各自都是对应 线性规划问题 的 最优解
的 充要条件是 : {Y0Xs=0YsX0=0\begin{cases} \rm Y^0 X_s = 0 \\\\ \rm Y_sX^0 = 0 \end{cases}⎩⎪⎨⎪⎧Y0Xs=0YsX0=0
其中 Xs,Ys\rm X_s , Y_sXs,Ys 是 松弛变量 或 剩余变量 ;
三、已知原问题最优解求对偶问题最优解
已知线性规划 :
maxZ=3x1+4x2+x3{x1+2x2+x3≤102x1+2x2+x3≤16x1,x2,x3≥0\begin{array}{lcl} \rm maxZ = 3x_1 + 4x_2 + x_3 \\\\ \rm \begin{cases} \rm x_1 + 2x_2 + x_3 \leq 10 \\\\ \rm 2x_1 + 2x_2 + x_3 \leq 16 \\\\ \rm x_1,x_2, x_3 \geq 0 \end{cases}\end{array}maxZ=3x1+4x2+x3⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧x1+2x2+x3≤102x1+2x2+x3≤16x1,x2,x3≥0
上述线性规划的最优解是 X0=(620)\rm X^0 = \begin{pmatrix} \quad \rm 6 \quad \rm 2 \quad 0 \quad \end{pmatrix}X0=(620) , 求其对偶问题最优解 ;
四、使用单纯形法求解
方法一 : 写出上述线性规划的对偶问题 , 然后使用单纯形法求最优解 ,
首先写出 对偶问题 , 然后转为 标准形式 , 找 单位阵 作为基矩阵 , 然后得到基变量 , 假设非基变量为 000 求出 基解 ,
在单纯形表中计算 检验数 , 如果 检验数都小于 000 就是最优解 , 如果检验数都大于 000 , 则不是最优解 ;
根据检验数确定 出基变量 , 然后计算出 入基变量 , 进行下一次迭代 ;
方程组 同解变换, 构造单位阵 , 然后计算检验数 , 继续按照上述方法进行迭代 ;
该方法比较麻烦 ;
五、使用互补松弛定理公式一求解
方法二 : 利用 互补松弛定理 计算 ;
写出原问题的对偶问题 :
minW=10y1+16y2{y1+2y2≥32y1+2y2≥4y1+y2≥1y1,y2≥0\begin{array}{lcl} \rm minW = 10y_1 + 16y_2 \\\\ \rm \begin{cases} \rm y_1 + 2y_2 \geq 3 \\\\ \rm 2y_1 + 2y_2 \geq 4 \\\\ \rm y_1 + y_2 \geq 1 \\\\ \rm y_1,y_2 \geq 0 \end{cases}\end{array}minW=10y1+16y2⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧y1+2y2≥32y1+2y2≥4y1+y2≥1y1,y2≥0
给对偶问题的约束方程添加剩余变量 :
{y1+2y2−y3=32y1+2y2−y4=4y1+y2−y5=1y1,y2,y3,y4,y5≥0\begin{cases} \rm y_1 + 2y_2 - y_3 = 3 \\\\ \rm 2y_1 + 2y_2 - y_4 = 4 \\\\ \rm y_1 + y_2 - y_5 = 1 \\\\ \rm y_1,y_2, y_3 , y _4, y_5 \geq 0 \end{cases}⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧y1+2y2−y3=32y1+2y2−y4=4y1+y2−y5=1y1,y2,y3,y4,y5≥0
互补松弛定理 :
" X0\rm X^0X0 和 Y0\rm Y^0Y0 分别是 原问题 P\rm PP 问题 和 对偶问题 D\rm DD 的 最优解 " ⇔\Leftrightarrow⇔ {Y0Xs=0YsX0=0\begin{cases} \rm Y^0 X_s = 0 \\\\ \rm Y_sX^0 = 0 \end{cases}⎩⎪⎨⎪⎧Y0Xs=0YsX0=0
其中 Xs,Ys\rm X_s , Y_sXs,Ys 是 松弛变量 或 剩余变量 ;
原问题 P\rm PP 线性规划最优解是 X0=(620)\rm X^0 = \begin{pmatrix} \quad \rm 6 \quad \rm 2 \quad 0 \quad \end{pmatrix}X0=(620) ,
对偶问题的剩余变量是 Ys=(y3y4y5)\rm Y_s= \begin{pmatrix} \quad \rm y_3 \quad \\\\ \quad \rm y_4 \quad \\\\ \quad \rm y_5 \quad \\ \end{pmatrix}Ys=⎝⎜⎜⎜⎜⎛y3y4y5⎠⎟⎟⎟⎟⎞
互补松弛定理中 YsX0=0\rm Y_sX^0 = 0YsX0=0 , 将上述 X0\rm X^0X0 和 Ys\rm Y_sYs 代入上述式子得到 :
YsX0=(620)×(y3y4y5)=6y3+2y4+0y5=6y3+2y4=0\rm Y_sX^0 = \begin{pmatrix} \quad \rm 6 \quad \rm 2 \quad 0 \quad \end{pmatrix} \times \begin{pmatrix} \quad \rm y_3 \quad \\\\ \quad \rm y_4 \quad \\\\ \quad \rm y_5 \quad \\ \end{pmatrix} = 6y_3 + 2y_4 + 0y_5 = 6y_3 + 2y_4 =0YsX0=(620)×⎝⎜⎜⎜⎜⎛y3y4y5⎠⎟⎟⎟⎟⎞=6y3+2y4+0y5=6y3+2y4=0
已知 y3,y4≥0\rm y_3, y_4 \geq 0y3,y4≥0 , 上述 6y3+2y4=0\rm 6y_3 + 2y_4 = 06y3+2y4=0 , 因此 y3=0,y4=0\rm y_3 = 0 , y_4 = 0y3=0,y4=0 ;
将 y3=0,y4=0\rm y_3 = 0 , y_4 = 0y3=0,y4=0 代入到约束方程 {y1+2y2−y3=32y1+2y2−y4=4y1+y2−y5=1y1,y2,y3,y4,y5≥0\begin{cases} \rm y_1 + 2y_2 - y_3 = 3 \\\\ \rm 2y_1 + 2y_2 - y_4 = 4 \\\\ \rm y_1 + y_2 - y_5 = 1 \\\\ \rm y_1,y_2, y_3 , y _4, y_5 \geq 0 \end{cases}⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧y1+2y2−y3=32y1+2y2−y4=4y1+y2−y5=1y1,y2,y3,y4,y5≥0 中 ;
得到 {y1+2y2=32y1+2y2=4\begin{cases} \rm y_1 + 2y_2 = 3 \\\\ \rm 2y_1 + 2y_2 = 4 \end{cases}⎩⎪⎨⎪⎧y1+2y2=32y1+2y2=4 , 解上述方程 ,
① 变换 : {2y1+4y2=62y1+2y2=4\begin{cases} \rm 2y_1 + 4y_2 = 6 \\\\ \rm 2y_1 + 2y_2 = 4 \end{cases}⎩⎪⎨⎪⎧2y1+4y2=62y1+2y2=4
② 求解 : {y1=1y2=1\begin{cases} \rm y_1 = 1 \\\\ \rm y_2 = 1 \end{cases}⎩⎪⎨⎪⎧y1=1y2=1
上述求出的值就是最优解 , 即 Y0=(11)\rm Y^0 = \begin{pmatrix} \quad \rm 1 \quad 1 \quad \end{pmatrix}Y0=(11) ;
六、使用互补松弛定理公式二求解 ( 无效方法 )
方法三 : 利用 互补松弛定理 计算 ;
互补松弛定理 :
" X0\rm X^0X0 和 Y0\rm Y^0Y0 分别是 原问题 P\rm PP 问题 和 对偶问题 D\rm DD 的 最优解 " ⇔\Leftrightarrow⇔ {Y0Xs=0YsX0=0\begin{cases} \rm Y^0 X_s = 0 \\\\ \rm Y_sX^0 = 0 \end{cases}⎩⎪⎨⎪⎧Y0Xs=0YsX0=0
其中 Xs,Ys\rm X_s , Y_sXs,Ys 是 松弛变量 或 剩余变量 ;
上面 " 五、使用互补松弛定理公式一求解 " 小节 使用的是 YsX0=0\rm Y_sX^0 = 0YsX0=0 公式进行求解 , 在本小节中使用 Y0Xs=0\rm Y^0 X_s = 0Y0Xs=0 公式进行求解 ;
原问题 P\rm PP 线性规划最优解是 X0=(620)\rm X^0 = \begin{pmatrix} \quad \rm 6 \quad \rm 2 \quad 0 \quad \end{pmatrix}X0=(620) , 将该最优解代入原问题的约束条件中 , 求出原问题的约束变量 Xs\rm X_sXs ;
原问题 :
maxZ=3x1+4x2+x3{x1+2x2+x3≤102x1+2x2+x3≤16x1,x2,x3≥0\begin{array}{lcl} \rm maxZ = 3x_1 + 4x_2 + x_3 \\\\ \rm \begin{cases} \rm x_1 + 2x_2 + x_3 \leq 10 \\\\ \rm 2x_1 + 2x_2 + x_3 \leq 16 \\\\ \rm x_1,x_2, x_3 \geq 0 \end{cases}\end{array}maxZ=3x1+4x2+x3⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧x1+2x2+x3≤102x1+2x2+x3≤16x1,x2,x3≥0
原问题添加松弛变量后 :
maxZ=3x1+4x2+x3{x1+2x2+x3+x4=102x1+2x2+x3+x5=16x1,x2,x3,x4,x5≥0\begin{array}{lcl} \rm maxZ = 3x_1 + 4x_2 + x_3 \\\\ \rm \begin{cases} \rm x_1 + 2x_2 + x_3 + x_4 = 10 \\\\ \rm 2x_1 + 2x_2 + x_3 + x_5 =16 \\\\ \rm x_1,x_2, x_3, x_4 , x_5 \geq 0 \end{cases}\end{array}maxZ=3x1+4x2+x3⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧x1+2x2+x3+x4=102x1+2x2+x3+x5=16x1,x2,x3,x4,x5≥0
将最优解 X0=(620)\rm X^0 = \begin{pmatrix} \quad \rm 6 \quad \rm 2 \quad 0 \quad \end{pmatrix}X0=(620) 代入原问题 :
{6+2×2+0+x4=102×6+2×2+0+x5=16\begin{cases} \rm 6 + 2\times 2 + 0 + x_4 = 10 \\\\ \rm 2 \times 6 + 2 \times 2 + 0 + x_5 = 16 \end{cases}⎩⎪⎨⎪⎧6+2×2+0+x4=102×6+2×2+0+x5=16
得到 : {x4=0x5=10\begin{cases} \rm x_4 = 0 \\\\ \rm x_5 = 10 \end{cases}⎩⎪⎨⎪⎧x4=0x5=10
Xs=(00)\rm X_s = \begin{pmatrix} \quad \rm 0 \quad \\\\ \quad \rm 0 \quad \end{pmatrix}Xs=⎝⎛00⎠⎞
这个信息是无用的 , 根据这个 Xs\rm X_sXs 乘以任意的 Y0\rm Y^0Y0 值都是 000 , 求不出对偶问题的最优解 ;
七、总结
互补松弛定理 :
" X0\rm X^0X0 和 Y0\rm Y^0Y0 分别是 原问题 P\rm PP 问题 和 对偶问题 D\rm DD 的 最优解 " ⇔\Leftrightarrow⇔ {Y0Xs=0YsX0=0\begin{cases} \rm Y^0 X_s = 0 \\\\ \rm Y_sX^0 = 0 \end{cases}⎩⎪⎨⎪⎧Y0Xs=0YsX0=0
其中 Xs,Ys\rm X_s , Y_sXs,Ys 是 松弛变量 或 剩余变量 ;
原问题 P\rm PP 线性规划最优解是 X0=(620)\rm X^0 = \begin{pmatrix} \quad \rm 6 \quad \rm 2 \quad 0 \quad \end{pmatrix}X0=(620) ,
对偶问题的剩余变量是 Ys=(y3y4y5)\rm Y_s= \begin{pmatrix} \quad \rm y_3 \quad \\\\ \quad \rm y_4 \quad \\\\ \quad \rm y_5 \quad \\ \end{pmatrix}Ys=⎝⎜⎜⎜⎜⎛y3y4y5⎠⎟⎟⎟⎟⎞
最优解中不等于 000 的 , 对应的剩余变量中对应的一定为 000 ,
如果最优解中等于 000 , 那么剩余变量中的对应的值就不确定了 ;
【运筹学】对偶理论 : 互补松弛定理应用 ( 原问题与对偶问题标准形式 | 已知原问题最优解求对偶问题最优解 | 使用单纯形法求解 | 使用互补松弛定理公式一求解 | 互补松弛定理公式二无效 ) ★★相关推荐
- 【运筹学】对偶理论 : 互补松弛性 ( 原问题与对偶问题标准形式 | 互补松弛定理 | 互补松弛定理示例说明 )
文章目录 一.原问题与对偶问题标准形式 二.互补松弛定理 三.互补松弛定理示例说明 一.原问题与对偶问题标准形式 原问题 P\rm PP : maxZ=CXs.t{AX≤bX≥0\begin{arra ...
- c语言中的原码反码补码,c语言中的原码 反码 补码
陈独秀的秘密 所谓原码就是前面所介绍的二进制定点表示法,即最高位为符号位,"0"表示正,"1"表示负,其余位表示数值的大小. 反码表示法规定:正数的反码与其原码 ...
- 原码反码补码的概念,以及原码反码的表示形式
本文主要讲解计算机的原码, 反码和补码.的概念,以及原码反码的表示形式,以及原码反码补码之前如何相互转换,还有计算机中数字是怎么样存储的. 原码: 假设机器字长为n,原码(自然二进制码)是一种计算机中 ...
- 计算机原码补码和反码的计算方法,一个数的原码,反码,补码怎么算,原码 反码 补码...
数在计算机中是以二进制形式表示的. 数分为有符号数和无符号数. 原码.反码.补码都是有符号定点数的表示方法. 一个有符号定点数的最高位为符号位,0是正,1是副. 以下都以8位整数为例, 原码就是这个数 ...
- 【数学思维】运筹学-线性规划之标准形式与Hidden LP
[数学思维]运筹学-线性规划之标准形式与Hidden LP 一.线性规划的标准形式 二.LP规约为标准形式的常见情况 三.Hidden LP 本篇博文内容来自于我学习的研究生课程,由祁琦老师主讲的&l ...
- /*已知一个排好序的数组,按数组原排序方式插入一个数据*/
/*已知一个排好序的数组,按数组原排序方式插入一个数据*/std::vector<int>shuzu = {1,2,3,4,5,7,8,9};int x = 0, caru = 6;std ...
- atomic原子类实现机制_JUC学习笔记--Atomic原子类
Atomic 原子操作类包 Atomic包 主要是在多线程环境下,无锁的进行原子操作.核心操作是基于UnSafe类实现的CAS方法 CAS CAS: compareAndSwap :传入两个值:期望值 ...
- 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质示例 | 证明 原序列实部 x_R(n) 的 傅里叶变换 是 原序列傅里叶变换 的 共轭对称序列 )
文章目录 一.前置公式定理 1.相关元素说明 x(n) 分解为实部序列与虚部序列 x(n) 分解为共轭对称序列与共轭反对称序列 ( 序列对称分解 ) X(e^{jω}) 分解为实部序列与虚部序列 X( ...
- 【运筹学】线性规划 单纯形法 阶段总结 ( 初始基可行解 | 判定最优解 | 迭代 | 得到最优解 | 全流程详细解析 ) ★
文章目录 一.线性规划示例 二.转化标准形式 三.查找初始基可行解 四.初始基可行解的最优解判定 五.第一次迭代 : 入基与出基变量选择 六.第一次迭代 : 方程组同解变换 七.第一次迭代 : 生成新 ...
最新文章
- 如何用python制作动态二维码,提升表白成功率?
- 表格转化为Latex代码
- Sharding-JDBC 1.3.0发布——支持读写分离
- stm32之实时时钟RTC(掉电计时保持、秒中断、闹钟中断、溢出中断)
- NEERC2017 Archery Tournament 线段树 新套路
- Spring快速开启计划任务
- 【原创】MapReduce编程系列之表连接
- centos7/RHEL7最小化系统安装gnome图形界面
- 【WinHex篇】WinHex磁盘克隆教程
- 一切成功源于积累——20140928 认识货币——加元
- Python3.8场景式编程学习与训练- 第1章 入门基础 沙箱技术与虚拟环境创建
- Riverbed’s Modeler Academic
- 1317: PIPI的生日礼物
- html中创建表格在正上方的表格标题
- HTML/CSS-花样边框案例
- 低代码学习教程:通讯录支持设置子管理员
- 融云--快速集成融云
- js map基本操作和循环取值
- 日常记录,vue-table表格背景透明
- 阿里十年经验输出,大数据平台“数加”的前世今生
热门文章
- keras 自定义Layer
- 软考的意义,要不要考软考
- 2022学Django----基础五之Ajax
- 学习之旅-计算语言学工作者需要了解的数学知识
- 经验分享:新媒体运营离不开的几款运营软件
- 10-38 A4-7在订单详细信息表中查找包含产品种类数超过特定值的订单信息 (20 分)
- Mac报错:TSM AdjustCapsLockLEDForKeyTransitionHandling_ISSetPhysicalKeyboardCapsLockLED Inhibit
- 比较员工的年龄大小(继承、异类集合、static)
- 嗨格式数据恢复的 10 种最佳替代方法
- cocos2dx fnt字体、自定义字体制作