标签:
1. 啥是对偶
对偶(duality)本身是一种非常普遍的概念,在生活中非常常见。比如你在吃一个甜筒冰激凌,为了能吃出一个洞来,你先从上面吃,然后再从下面吃,最后终于被你吃出了一个洞!当然这是玩笑了,下面是一个严肃的例子。比如爬山的时候一个大台阶你先上去了,回头拉你的女朋友上来,这时候就出现了一个标准的对偶:你把手尽力往下伸(最小化),而她把手尽力往上伸(最大化),最后终于碰到一起了(强对偶定理)。这个过程中,你的手的高度总是高于或等于女朋友的手(弱对偶定理)。线性规划中对偶的格式非常固定,但是个别问题有非常明显的经济解释,现在就看一个和吃有关的。
2. 吃货的决策科学
听说英国人喜欢吃下午茶是因为只吃两顿,所以中午会饿。但是作为吃货就不应该管是哪国人,只要有加餐就不能错过。下面这个表是学校餐厅两种甜点的营养含量(克)和价格信息及吃货的营养需求:
巧克力蛋糕 | 奶油芝士蛋糕 | 吃货一顿饭需求 | ||
p1 | 可可 | 3 | 0 | 6 |
p2 | 糖 | 2 | 4 | 10 |
p3 | 奶油 | 2 | 5 | 8 |
价格 | 5 | 8 | ||
x1 | x2 |
例如巧克力蛋糕含有3克、2克和2克的可可、糖和奶油,且一个巧克力蛋糕的价格为5元。而吃货需要的三种营养元素最低标准是6克、10克和8克。也就是说必须要吃够这些才能保证营养。显然两种蛋糕只买一个是不够吃货吃的,所以必须得多买点。假设餐厅可以提供散装的称重,也就是说可以不用按个买,那这个问题就要好好研究一下,如何既能满足营养需求还能使价格最低。吃货列了以下线性优化问题:
min 5*x1 + 8*x2 (总的价格)
subject to 3*x1 >= 6 (营销要大于需求)
2x1 + 4x2 >= 10
2x1 + 5x2 >= 8
x1, x2 >= 0 (显然要是正数)
其中x1和x2是两种蛋糕的购买数量。解出这个线性规划就可以得到最佳的购买组合。这个问题有时也叫营养问题(diet problem),具有非常直接的现实意义上的解释。
作为一个节约的吃货到此为止问题就已经解决了,但是该问题的对偶问题,同样有非常合理的经济角度的解释。下面我们把吃货放一边,考虑一下餐厅老板及零售商之间的决策问题。
3. 对偶问题的解释
现在我们要做几个假设:
1.假设餐厅老板每天只接待吃货一个人,且他也有这个表格,知道吃货要吃多少东西。
2.老板要做的事是从零售商进货,他同样会告诉零售商这个表格的信息。我们再假设老板是按营养元素进货,然后再加工成蛋糕的。
3.假设价格是学校统一定的,餐厅老板无法改变。
现在我们考虑零售商的问题,即如何给这三种元素定价,能够使卖给餐厅老板后收入最大化。
首先每天进的三样营养要至少满足吃货的最低需求,而由于餐厅老板不会招待别人,所以餐厅老板会确定的买6克、10克和8克的三种营养元素。再考虑另外一个因素,如果我们让p1,p2和p3为这三种元素的价格,那么
3*p1 + 2*p2 + 2*p3 <= 5
这个条件需要满足。式子左边的含义是一个蛋糕需要的营养元素的价格,这个价格如果超过了5元,且老板一个蛋糕只能卖5元。所以如果原材料的进价超过了5元钱,餐厅老板是不会同意的,因为这样他就赚不到钱了。这样的后果就是他不会再从这个家进货了。所以零售商必须要保证餐厅还要能挣到钱,或者是至少不赔本(所以我们用小于等于)。这样,上个问题的对偶问题就出来了:
max 6*p1 + 10*p2 + 8*p3 (卖出三种营养元素的收入)
subject to 3*p1 + 2*p2 + 2*p3 <= 5
4*p2 + 5*p3 <= 8
p1 , p2 , p3 >= 0
因为这里的解的值并不重要,所以我们也就不去求解了。
4. 对偶定理
最后来看一下两个对偶定理。弱对偶定理的意思是任何一个最小化问题的解的函数值都会大于等于其对偶问题(最大化)的任何解的函数值。如果用咱们的这个问题来解释就是:吃货花钱买蛋糕的价格一定会大于(最多等于)餐厅老板进货的价格。这个解释非常合理,因为餐厅总要赚差价嘛。
而强对偶定理指的是两个问题的最优解的值一定相等。也就是说,如果吃货足和零售商足够精明,他们两个人都找到了最优解,那么吃货花的钱和零售商的收入会正好相等,也就是说在这个情况下,餐厅老板啥也没有挣到。
5. 小结
对偶性是一个非常经典同时也比较难理解的概念,除了这个比较明显的解释以外,还有一般课本上的影子价格(shadow price)解释,问题背景是工厂加工原材料。虽然和这个问题不同,但是都和原材料价格有关,所以才某些课本上,对偶的向量用p来做名字,我猜也就是这个原因吧。
标签:
原文地址:http://www.cnblogs.com/zzrnature/p/5093660.html