为什么我们要考虑线性规划的对偶问题?

您所在的位置:网站首页 macbook切换中英文输入 为什么我们要考虑线性规划的对偶问题?

为什么我们要考虑线性规划的对偶问题?

2022-12-22 23:16| 来源: 网络整理| 查看: 265

本文作者:作者:翁欣(中科院管理科学与工程研究生在读)

回答这个问题我们分以下几步解释:

如何理解原问题和对偶问题之间的关系?经济学角度数学角度哪些情况下,考虑对偶问题有助于求解原问题?

1.经济学角度理解原问题与对偶问题关系

这是一个在教材上被广泛使用的解释:如果原问题是企业A拥有m种资源(有m个约束),计划生产n种产品(有n个变量),目标是最大化总收入;那么对偶问题就是,企业B想要收购这些资源,需要确定m种资源的报价(有m个变量),目标是最小化总成本,但企业A只有在卖资源的收益不低于卖产品的时候才会同意卖资源(n个约束)。

数值实例:

企业A生产书架、桌子和椅子三种产品,拥有48m³木材,20h制造工时,8h测试工时三项资源。已知:

书架售价60元,生产一个书架需要8单位木材、4单位制造工时和2单位测试工时;

桌子售价30元,生产一张桌子需要6单位木材、2单位制造工时和1.5单位测试工时;

椅子售价20元,生产一把椅子需要1单位木材、1.5单位制造工时和0.5单位测试工时;

求三种产品各生产多少数量时,企业A能够最大化总收入。

显然,原问题的线性规划为:

如果企业B想要收购木材、制造工时、测试工时这三样资源,就必须为每项资源报价,并且满足企业A愿意出让资源的条件,即让企业A获得不低于自己制造产品的收入。

求三项资源的单位报价各为多少时,企业B能够最小化总成本。

那么,可以写出对偶问题的线性规划是:

上面的例子,旨在从实际经济问题的角度解释「每一个线性规划问题都存在一个与其对偶的问题」这句话的合理性。后面的章节中我们会进一步阐述两个问题的解如何对应,也就是,如果我们计算出了对偶问题的最优解,如何用它推算出原问题的最优解。

2.数学角度理解原问题与对偶问题关系

从数学角度,对偶问题可以被理解为寻找原问题目标函数上界(或下界)的问题。

以原问题是求目标函数最大化为例,我们以向量形式写线性规划:

那么,最小的上界就是原问题目标函数的最优值。在所有的上界中,我们要找到最小的那一个,这个问题表述出来就是:

可以发现,这就是对偶问题的形式

反之,如果原问题是求目标函数最小化,那么对偶问题就是在寻找原问题目标函数的下界。这张图可以帮助理解:

在图中,26是目标函数最优值,两个问题分别从左右两侧逼近最优值

简单结合两个角度的解释

也就是说,在这个例子里,对偶问题的任意一个可行解,都是原问题的一个上界。因为企业B用这组报价可以买到资源,所以企业A制造产品的收入不可能高于这组报价对应的成本。

当我们找到企业B所有报价里总成本最低的那一组,就是企业A能获得的总收入的最大值,是原问题的最优解。

3.哪些情况下,考虑对偶问题有助于求解原问题?

接下来我们想考虑,同样是求解线性规划,解对偶问题会比解原问题更容易吗?或者说,什么情况下,考虑对偶问题有助于求解原问题?

原问题约束多、变量少时,求解对偶问题能够降低计算时间

使用单纯形法时,如果原问题约束多变量少,转换成对偶问题,就是约束少变量多。回顾单纯形法的原理,约束的减少能够有效降低计算时间。

2.帮助证明原问题无解

类似“证明无罪比证明有罪更难”,要证明原问题有解,只需要找出一个满足约束的点;却不能通过遍历所有的点来证明原问题无解。对偶问题的出现为证明原问题无解提供了思路,具体的方法在Farkas lemma部分展开说明。

3.便于进行敏感度分析

很多时候我们对原问题的好奇心并不仅限于得到最优解,而是还关注「如果某些已知条件发生变化,对最优解的影响程度如何」,这就是敏感度分析。

对偶问题和敏感性分析息息相关。一是增加敏感度分析的直观程度(例如,对偶问题的最优解就是原问题约束的影子价格),二是在改变某些条件导致原问题无可行解时,可以借助仍然有可行解的对偶问题来分析。

参考文献

[1] L Winston, Wayne & B Goldberg, Jeffrey. (2004). Operations research: applications and algorithms.

[2] Vijay V. Vazirani. (2003). Approximation Algorithms.

[3] 为什么我们要考虑线性规划的对偶问题?-知乎



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3