单纯形法只有两个约束条件_【Intro to OR读书笔记】直观理解对偶理论:单纯形法的视角...

本文是《Intro to OR》读书笔记,通过解析Wyndor Glass Co. Problem阐述对偶理论的直观理解。从单纯形法的初等行变换出发,揭示每次迭代后单纯形表的结构,进而引出对偶问题。通过对单纯形表的分析,讨论了弱对偶性和强对偶性的概念,指出对偶问题在判断原问题最优解中的作用。
摘要由CSDN通过智能技术生成

8f69bbbb409db1f7b56db1a833e1ad13.png

引言

对偶理论是运筹学里面非常重要的知识点,我一直想直观地理解对偶理论的来龙去脉。但是,现有的介绍对偶理论的文章通常在开头就直接给出原问题和对偶问题的表达式,没有一个自然地“引出”对偶问题的过程。最近读了《Introduction to Operations Research》,非常喜欢里面对于对偶理论的引出和解释,仅以此文作为学习笔记。

1 从单纯形法说起

《Introduction to Operations Research》中反复用到了如下的例子,称为“Wyndor Glass Co. Problem”。

f3fbc40fea7ebd3e5d8ddb75cd35529d.png
Wyndor Glass Co. Problem

用单纯形法求解的过程如下:

19b57b3e1eb6e65038d9db05dd1aef38.png
Wydor Glass Co. Problem的求解过程

0到1、1到2的这两步,其实就是矩阵的初等行变换。由线性代数的知识可以知道,第

次初等行变换可以表示为左乘一个矩阵
(下一段说明了这里为什么写成矩阵的逆的形式)。因此,理论上说,从0到2的变换可以用一个矩阵
表示,该矩阵是每一步的初等行变换的矩阵的乘积

更精巧的是,从0到任意第

步的变换矩阵
,都是这一步对应的
基变量,在约束矩阵中对应的基向量 经过重新排列得到的矩阵
的逆。

这里的“基变量”,指的是已经完成入基和出基操作之后的基变量。这里的“重新排列”指的是在初始的约束方程组的基向量矩阵

中,将入基变量对应的基向量与出基变量的基向量进行交换。

具体的过程详见下面的手写笔记。

807096e5d8e62bcde70645540f8bfe9d.png

每一步变换的

数值可以通过下面的这个Python程序验证:
import numpy as np
B_1 = np.matrix([[1., 0., 0.],
                 [0., 2., 0.],
                 [0., 2., 1.]])
B_1_I = B_1.I
print("B_1_I")
print(B_1_I)
print("n")

B_2 = np.matrix([[1., 0., 1.],
                 [0., 1., 0.],
                 [0., 0., 3.]])
B_2_I = B_2.I
print("B_2_I")
print(B_2_I)
print("n")

B_3 = np.matrix([[1., 0., 1.],
                 [0., 2., 0.],
                 [0., 2., 3.]])
B_3_I = B_3.I
print("B_3_I")
print(B_3_I)
print("n")

print("B_2_I*B_1_I")
print(B_2_I*B_1_I)
print("n")

# IF B_3_I = B_x *B_1_I, B_x = B_3_I *B_1_I.I
B_x = B_3_I *B_1_I.I
print("B_x.I")
print(B_x.I)
print("n")

这样一来,我们就得到了一个很有意思的结论:

从初始的单纯形表迭代任意次,其结果都可以表示为如下形式:

7ac4e065b3df0074e6d6a41ae2f7e20a.png

其中,

为当前基变量对应的基向量,按照与
对应的方式排列。

2 对偶问题的引出:单纯形表的另一种解释

由上一部分的结论可以看出,无论迭代多少次,单纯形表的第一行总可以写成以下形式:

f91ee98194903e1e785c2c6c46f27134.png

Row 0决定了该次迭代是否达到最优。假设该次迭代达到最优,根据最优解的判别条件,可以得到原问题的对偶问题:

b8007dd1d58978c14e923e1c14b239c6.png

换言之,从单纯形法的角度来说,对偶问题描述了通过单纯形法求解原问题的优化目标

从下面这张表可以看出,通过单纯形表解原问题的过程中,表0和表1的对偶问题的解都不在可行域中(不满足

);只有在表2中,当原问题达到最优解时,对偶问题的解
刚好是可行的,且两者目标函数的最优值相等。

20d3029b94bc45afdb27d59006887858.png

由此,可以很直观地得到以下两个结论:
弱对偶性,Weak duality property:对于原问题的可行解

和对偶问题的可行解
,总有
(原问题的最大值等于对偶问题的最小值)

强对偶性,Strong duality property:对于原问题的最优解

和对偶问题的最优解
,总有
(原问题和对偶问题的目标函数的最优值相等)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值