线性规划的对偶问题及理论
线性规划对偶理论的提出源于1940年代美国数学家冯·诺依曼的工作,他首次引入了对偶的概念。1947年,乔治·丹茨格(George Dantzig)进一步完善了线性规划及其对偶理论,并提出了著名的单纯形法。对偶理论的基础在于每一个线性规划问题(原问题)都可以关联一个对偶问题,这两个问题的最优解之间存在紧密的联系。对偶理论广泛用于经济学、运筹学和工程学。例如,在资源分配问题中,对偶变量代表资源的影子价格或边际效益,这帮助决策者做出更有效的资源配置决策。在网络优化、生产计划和金融投资等领域,对偶理论为优化问题提供了有力的分析工具,促进了复杂问题的求解。对偶理论的应用不仅限于优化问题,它还在博弈论、约束满足问题等方面有着广泛的应用。
对偶的矩阵关联 | 对偶转换关系表 |
---|---|
![]() |
![]() |
一、线性规划的对偶问题
对偶问题可以看作是资源外包的数学表达,它提供了一种有效的方法来优化资源的使用。通过对偶问题,原问题中的资源约束可以被视为外包给一个虚拟的市场,从而找到最佳的资源分配策略。这种方法尤其适用于资源有限、需要最大化效率的情况。
1.1 对偶问题引例
王老板有一个家具厂。王老板生产桌子和椅子两种产品,桌子的单价是50元,生产一张桌子需要4个木工工时,2个油漆工工时,椅子的单价为30元,生产一把椅子需要3个木工工时,1个油漆工工时,王老板总计有120个木工工时和50个油漆工工时。两个家具老板的对话如下:
李老板:Hi,王老板,听说近来家具生意好呀,也帮帮兄弟我哦!唉!我想租您的木工和油漆工一用。咋样?价格嘛...好说,肯定不会让您兄弟吃亏。
王老板:价格嘛...好商量,好商量,只是......
李老板内心独白:王老板做家具赚了大钱,可惜我老李有高科技产品,却苦于没有足够的木工和油漆工咋办?只有租咯。
王老板内心独白:家具生意还真赚钱,但是现在的手机生意这么好,不如干脆把我的木工和油漆工租给他,又能收租金又可做生意。
此时,王老板考虑两个问题:第一个自己用木工和油漆工最多能赚多少钱(最大化生产收益),第二个把木工和油漆工出租出去不能低于自己赚的钱(不吃亏原则),并且出租的价格要尽可能低,使得李老板可以接受([竞争性原则])。
家具生产模型(原问题,Primal)
资源出租模型(对偶问题,Dual)
王老板按照资源出租模型(对偶规划问题),求解就可以获得其出租木工、油漆工资源的价格,这样既能保证不吃亏(出租资源的租金收入并不低于自己生产时的销售收入),又是的出租价格对李老板有极大的吸引力(李老板所付出的总租金W最少)。本质上,是一种“共赢”。
1.2 线性规划的对偶问题
最大变最小 | 最小变最大 |
---|---|
![]() |
![]() |
对于一个线性规划问题,可以将其表示为如下形式:
其中CC和XX分别表示目标函数的系数和决策变量,AA和bb分别表示约束条件的系数和右侧常数。
对应的对偶问题可以表示为:
其中,YY表示对偶变量。
1.3例题
原问题:
对偶问题:
1.4例题
原问题线性规划 LP:
对偶问题线性规划 DP:
二、对偶性质
2.1 对偶问题的对偶是原问题
证明:
-
首先写出
- 原问题:maxz=CX{AX≤bX≥0maxz=CX{AX≤bX≥0(1)
- 对偶问题:minw=bTX{ATY≥CTY≥0minw=bTX{ATY≥CTY≥0(2)
- 原问题:
-
把对偶问题转为对称形式:
- min → max:目标函数取相反数。
- 约束条件 ≥ → ≤:约束条件取相反数。maxz=−bTY{(−AT)Y≤−CTY≥0maxz=−bTY{(−AT)Y≤−CTY≥0(2')
-
然后,再转对偶问题:
- min → max,≤ → ≥,资源限制 / 收益 位置互换。minz=−(CT)TX{(−AT)TX≥(−bT)TX≥0minz=−(CT)TX{(−AT)TX≥(−bT)TX≥0(1')
- min → max,≤ → ≥,资源限制 / 收益 位置互换。
-
目标函数、约束条件取相反数后,可以发现,对偶的对偶是原问题。
2.2 弱对偶性:生产总收益 ≤ 出租资源的收益
- 若XX是原问题可行解,YY是对偶问题可行解,则恒有CX≤bTYCX≤bTY。
证明:
- 已知限制条件:AX≤bAX≤b,ATY≥CTATY≥CT。
- 把AX≤bAX≤b 带入要证明的CX≤YTbCX≤YTb 里,发现bTY=YTb≥YTAX=(ATY)TX≥CXbTY=YTb≥YTAX=(ATY)TX≥CX,得证。
可以得到一些推论:
- 如果原问题有无界解(生产收益可以无穷大),则对偶问题无可行解(人家收益无穷大,干嘛用有限的钱把资源卖给你)。
- 同样,对偶问题无界解⟹⟹ 原问题无可行解。
- 还有一种表述是,原问题有解 对偶问题无界,则原问题有无界解。
- 但是反之不亦然,即,原问题无解推不出对偶问题无界解,对偶问题可能无解 / 无界解。
2.3 强对偶性:最大生产收益 = 最小买资源付出
强对偶定理表明,在线性规划问题中,如果原问题和对偶问题都存在可行解,那么它们的最优目标函数值相等。我们将通过单纯形法的推导,详细证明这一结论。
- 单纯形法与基变量
在单纯形法中,我们选择基变量和非基变量来表示系统的解:
基变量的选择:我们选择AA 的一个满秩子矩阵BB,称为基矩阵。对应的解记为XBXB,其余变量称为非基变量,记为XNXN。
基解的表示:令XN=0XN=0,解方程AX=bAX=b 得到XBXB:
其中B−1B−1 是基矩阵BB 的逆矩阵。
目标函数值:
在基解下,原问题的目标函数值为:
其中CBCB 是与基变量对应的目标系数向量。
- 对偶问题的可行解
对偶变量的表示:在对偶问题中,对偶变量YY 可以看作是约束条件的影子价格,表示资源的机会成本。在单纯形法中,我们可以通过基矩阵BB 和目标系数CBCB 来确定YY:
需要证明Y=(B−1)TCTBY=(B−1)TCTB 是对偶问题的一个可行解。这意味着它满足对偶问题的约束:
代入YY 的表达式,有:
由于AT=[BT,NT]AT=[BT,NT],其中NN 是非基列组成的矩阵,分别考虑基变量和非基变量的情况:
- 对于基变量jj,AjAj 是基矩阵BB 的列,有:BT(B−1)TCTB=CBBT(B−1)TCTB=CB因此,显然满足不等式。
- 对于非基变量jj,约束条件表示为:NT(B−1)TCTB≥CNNT(B−1)TCTB≥CN这是单纯形法中的检验数条件,保证检验数非负,即:CBB−1Aj−Cj≥0CBB−1Aj−Cj≥0该条件是保证在每一步迭代中,选择进入基的变量时,目标函数值不会下降的关键。因此,我们可以证明Y=(B−1)TCTBY=(B−1)TCTB 是对偶问题的一个可行解。
- 从可行解到最优解
由于对偶问题的目标函数值为:bTY=bT(B−1)TCTB=CBB−1bbTY=bT(B−1)TCTB=CBB−1b
这正是原问题的最优目标函数值。因此,我们可以得出结论:如果原问题的基解XBXB 对应的YY 是可行的,并且CX=bTYCX=bTY,那么YY 也是对偶问题的最优解。
通过单纯形法的推导,我们证明了原问题和对偶问题的最优解的目标函数值相等,具体为CBB−1b=bT(B−1)TCTBCBB−1b=bT(B−1)TCTB。这证明了强对偶定理的正确性。原问题的最优解提供了对偶问题的可行解,反之亦然,从而表明线性规划的解在经济学解释和数学理论上都具有对称性。
2.4 互补松弛性:双最优解时,约束条件能否严格取等
- (双最优解情况下)原问题中某一约束条件对应的【对偶变量】≠ 0⟹⟹ 该约束条件取严格等式;
- 若约束条件取严格不等式,则其对应的对偶变量一定 = 0。
证明: - 双最优解时,有CX=bTYCX=bTY,写成CX=YTbCX=YTb 的形式,然后有YTb=YTAX=CXYTb=YTAX=CX,所以有YT(AX−b)=0,XT(ATY−CT)=0YT(AX−b)=0,XT(ATY−CT)=0。
-YT(AX−b)=0YT(AX−b)=0(内积 = 0)说明:① AX−bAX−b松弛变量)每一个元素 与 ② YY(对偶变量)每一个元素,总有一个 = 0,得证。 - 同理,XT(ATY−CT)=0XT(ATY−CT)=0 说明,对偶问题约束条件的 ① 松弛变量 与 ② 在原问题对应的决策变量,总有一个 = 0。(合理,因为对偶的对偶是原问题)。
例:线性规划问题
上述线性规划的最优解是X0=(6,2,0)TX0=(6,2,0)T,求其对偶问题最优解。
应用松弛互补定理,其对偶问题
给对偶问题的约束方程添加剩余变量:
原问题PP线性规划最优解是X0=(620)X0=(620),对偶问题的剩余变量是Ys=(y3y4y5)Ys=(y3y4y5)。
在互补松弛定理中Y0sX0=0Y0sX0=0,将上述X0X0和YsYs代入上述式子得到:
已知y3,y4≥0y3,y4≥0,上述6y3+2y4=06y3+2y4=0,因此y3=0,y4=0y3=0,y4=0;将y3=0,y4=0y3=0,y4=0代入到约束方程
中,得:
得到{y1+2y2=32y1+2y2=4{y1+2y2=32y1+2y2=4,解上述方程,得
上述求出的值就是最优解,即Y0=(1 1)Y0=(1 1)。
2.5 影子价格:对偶问题的最优解 = 资源的边际价格
- 在双最优解的情况下,有原问题的目标函数z=CX=YTbz=CX=YTb,其中bb是资源限制。
- 对zz求bb的偏导数,得∂z∂b=Y∂z∂b=Y,这说明,YY的各个元素代表了 相应资源每增加一个单位 所能带来的生产收益,也就是边际价格。
影子价格的性质: - 根据互补松弛性,如果生产问题第jj个 ≤ 约束条件取<而非 =,即第jj种资源没有充分利用,可以推出对偶变量ii= 0,资源jj的影子价格 / 边际价格 = 0。这是合理的,对于没有充分利用的资源,我们并不想花钱买更多。
- 反之,资源jj充分利用⇒⇒ 资源jj的对偶变量(影子价格)> 0,此时,资源jj只是恰好耗尽而已,而非稀缺。这种情况叫做“退化的最优解”,直观理解,就是在线性规划的图解法中,目标函数的线与约束条件的线重合了。
2.6 检验数:自主收益-外包收益=差额成本(Reduce cost)
影子价格表示一个约束的资源单位变化对目标函数最优值的影响。它与对偶变量紧密相关,在线性规划的最优解中,影子价格等于对偶变量的值,即y=CBB−1y=CBB−1。
检验数(Reduced Cost)表示在当前解中引入一个非基变量对目标函数的影响。检验数的公式为:
其中,ATjATj是矩阵AA的第jj列;yy是对偶变量的最优解。
从线性规划原形生产计划问题可知,cjcj是生产该产品的所得的单位利润,ATjyATjy是生产该产品所耗用资源的价值,或者是将这些资源打包出售所获得的收益,所以是cjcj的机会成本,即以外包方式所获取的利润。
当检验数为负时,说明机会成本ATjyATjy更高,因此此时出让资源更为有利,不应该自主生产,即引入该变量会降低目标收益。
检验数的绝对值即为差额成本,它表示从当前解状态出发,引入一个单位的非基变量所导致的目标函数值的变化。差额成本解释了引入新的非基变量(或资源)时,对目标函数的改进程度,即选择哪个变量进入基可以带来最大的目标函数改进。
总结
对偶问题不仅是一个重要的数学概念,更是理解和解决现实问题的有力工具。通过引入对偶问题,可以从不同的角度审视原问题,深入理解其结构特征。这种视角转变有助于揭示原问题潜在的规律和最优策略。原问题和对偶问题之间的对称和互补关系使得在一个问题的求解过程中,能够同时获得关于另一个问题的有价值信息。这不仅提高了求解效率,还提供了更全面的理解。由于这种独特的性质,对偶问题在网络优化、金融投资以及诸多科学与工程问题中也展现出了重要的理论价值和实际应用潜力。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)