我刚刚学会了解决线性程序的单纯形法,我试图理解它的双重问题代表什么。
我理解解决双重问题的机制 - 我不需要帮助。我无法得到的(即使在Wikipedia上阅读之后) 中 y 变量的实际含义。
我想在原始问题中给出一个可变含义的例子,以及我从双重中得出的结论,并且会问任何人,以解释双重意义:
原始
max z = 3*x1 + 5*x2
subject to:
x1 <= 4
2*x2 <= 12
3*x1 + 2*x2 <= 18
x1, x2 >= 0
在原始问题中, x1 和 x2 是要生成的产品 A 和 B 的数量。 3 和 5 分别是他们的单位售价。产品在3台机器上生产, M1-M3 。要生产第一个产品,需要在 M1 上工作一小时,在 M3 上工作3个小时。要生成第二个, M2 和 M3 需要两个小时的工作。机器 M1,M2,M3 分别最多可以工作在 4,12 和 18 小时。最后,我不能产生负数量的任何产品。
现在,我设置了双重问题:
min z = 4*y1 + 12*y2 + 18*y3
subject to:
y1 + 3*y3 >= 3
y2 + 2*y3 >= 5
y1, y2, y3 >= 0
现在,我认为我唯一可以理解的是约束意味着: - 在 M1 上工作一小时,在 M3 上工作3小时,我应该至少付3个钱单位 - 对于 M2 的两小时工作和 M3 的2小时工作,我应该得到至少5个钱单位
但是,我无法理解 y1 和 y2 变量的含义。当我最终进行最小化时, z 中的结果在原始中是相同的(尽管原始增加结果的下限而双重增加上限),但是双重问题的客观函数由?
组成答案 0 :(得分:11)
Dual的目标功能是最小化3台机器(资源)的成本/小时。
因此,Dual的目标函数(4*y1 + 12*y2+ 18*y3
)可以理解为:
Minimize 4*(cost/hour of Machine1) + 12*(cost/hour of M2) + 18*(cost/hr of M3)
由于 Primal 处理最大化生产利润, Dual 可以被视为最小化公司的生产成本。
(有时候会想到公司“租用”机器 M1,M2和M3 。)如果他们要租用它,最多的是什么他们应该为每台机器支付[$ /小时]并仍然可以制造x1
和x2
?
双变量y1, y2, and y3
的含义是每小时拥有/租用成本。
双重问题的y
变量通常被称为资源的“影子价格”。
因为您正在寻找洞察理解双重身份:
X1
和X2
分配机器的成本/小时,而不是制造这些其他产品。