第四章:对偶理论与灵敏度分析

各位同学,今天我们来聊聊线性规划里最让我着迷的两个概念——对偶理论和灵敏度分析。说实话,刚入行时我觉得对偶问题就是个数学游戏,直到我在一个供应链项目中栽了跟头,才真正明白它的价值。

4.1 对偶问题的本质

每个线性规划问题,都有一个对应的“镜像问题”。我们管原来的叫原问题,镜像的那个就是对偶问题。你想想看,这就像一枚硬币的两面。

举个简单的例子。假设你是一家工厂的厂长,要决定生产A、B两种产品各多少件。原问题就是:在资源约束下,怎么安排生产让利润最大。而对偶问题问的是:如果我把资源租出去,最低多少钱才不亏?

核心关系:

  • 原问题求最大值,对偶问题求最小值
  • 原问题的约束个数 = 对偶问题的变量个数
  • 原问题的变量个数 = 对偶问题的约束个数

我在项目中遇到过一种情况:原问题变量太多,求解特别慢。这时候转成对偶问题,变量变少了,计算效率直接翻倍。嗯,这就是实战中的小技巧。

4.2 影子价格的经济学含义

影子价格,说白了就是资源的“隐性价值”。它不是市场价,而是你多拿一单位资源,能多赚多少钱。

举个例子。你的工厂每天有100个工时,影子价格是50元/小时。这意味着:如果你能多搞到1个工时,利润就能增加50元。反过来,如果你浪费1个工时,就损失50元。

资源类型 当前用量 影子价格 含义
工时 100小时 50元/小时 增加1小时,利润+50元
原材料 200公斤 0元/公斤 有闲置,增加也没用
设备 80机时 30元/机时 增加1机时,利润+30元

实战经验:影子价格为0的资源,说明有闲置。这时候别急着增加采购,先看看能不能把闲置资源利用起来。我曾经帮一家企业优化,发现他们仓库里堆着大量“影子价格为0”的原料,直接砍掉采购预算,一年省了200万。

4.3 灵敏度分析:成本系数变化

灵敏度分析,就是看参数变了,最优解会不会变。我习惯把它分成两类:成本系数变化和资源约束变化。

先看成本系数。比如产品A的利润从100元涨到120元,原来的生产计划还最优吗?

判断方法:

  • 计算每个变量的“允许增加量”和“允许减少量”
  • 如果变化在允许范围内,最优解不变
  • 如果超出范围,需要重新求解

我记得有一次做定价优化,客户问:“降价10%会不会影响生产计划?”我算了一下,发现降价幅度在允许范围内,直接告诉他“放心卖,生产不用动”。这就是灵敏度分析的价值——不用每次都重新跑模型。

4.4 灵敏度分析:资源约束变化

资源约束变化,比如工时从100小时增加到120小时。这时候影子价格就派上用场了。

如果工时的影子价格是50元/小时,增加20小时,利润理论上增加1000元。但要注意,这个线性关系只在“可行域”内成立。超出范围,影子价格可能变。

避坑指南:我曾经犯过一个错误——看到影子价格高,就拼命增加资源。结果超出了允许变化范围,影子价格变了,实际利润远低于预期。后来我养成了习惯:每次调整资源,先查“允许增加量”和“允许减少量”。

4.5 知识体系总览

下面这张图,是我自己总结的对偶理论与灵敏度分析的知识框架。你把它存下来,以后做项目时对照着看,思路会清晰很多。

对偶理论与灵敏度分析知识体系 对偶理论 • 原问题 → 对偶问题 • 对称形式与不对称形式 • 对偶定理:弱对偶、强对偶 • 互补松弛性 • 对偶单纯形法 影子价格 • 定义:资源的隐性价值 • 影子价格 = 对偶变量值 • 影子价格 > 0 → 资源紧缺 • 影子价格 = 0 → 资源闲置 • 用于资源采购决策 灵敏度分析 成本系数变化 • 目标函数系数 cj 的变化 • 允许增加量 / 允许减少量 • 判断最优解是否改变 资源约束变化 • 右端项 bi 的变化 • 影子价格的应用 • 允许变化范围 三者相互关联:对偶问题给出影子价格,影子价格是灵敏度分析的基础

4.6 实战案例:生产计划调整

最后,我分享一个真实案例。某工厂生产三种产品,原问题求解后得到最优解。后来原材料涨价,成本系数变了。我直接用灵敏度分析,发现变化在允许范围内,生产计划不用动。

但过了两个月,工时约束变了——工人加班时间受限。这次超出了允许范围,我重新求解对偶问题,发现影子价格变了,于是调整了生产结构。整个过程,我只用了不到10分钟就给出了决策建议。

我的习惯:每次做完线性规划,我都会把灵敏度分析报告打印出来贴在工位上。市场一变,扫一眼就知道要不要重新算。这比每次都从头建模高效多了。

好了,对偶理论与灵敏度分析就讲到这里。记住一句话:对偶问题让你看到资源的真实价值,灵敏度分析让你知道什么时候该动、什么时候该稳。这两招用好了,你就是成本控制的高手。


公众号:蓝海资料掘金营,微信deep3321