线性规划-对偶单纯形变量的含义?
我刚刚学习了求解线性规划的单纯形方法,并且我正在尝试理解它的对偶问题代表什么。
我了解解决对偶问题的机制 - 我不需要这方面的帮助。我无法得到的(即使在维基百科上阅读后)是对偶中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 上工作 1 小时,在 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 中的结果与原始中的结果相同(尽管原始增加了结果的下限,而对偶则减少了上限),但是对偶问题的目标函数由哪些组成?
I have just learned the simplex method for solving linear programs, and I'm trying to understand what it's dual problem represents.
I understand the mechanics of solving a dual problem - I do not need help with that. What I can't get (even after reading about it on Wikipedia) is the actual meanings of the y variables in the dual.
I would like to give an example all together with variable meanings in the primal problem, and what I figured out of the dual, and would ask anyone kind enough to explain the meanings in the dual:
Primal:
max z = 3*x1 + 5*x2
subject to:
x1 <= 4
2*x2 <= 12
3*x1 + 2*x2 <= 18
x1, x2 >= 0
In the primal problem, x1 and x2 are quantities of products A and B to be produced. 3 and 5 are their unit selling prices, respectively. Products are produced on 3 machines, M1-M3. To produce a first product, an hour of work on M1 and 3 hours on M3 are needed. To produce the second one, two hours of work are needed on both M2 and M3. Machines M1, M2, M3 can work for maximum of 4, 12 and 18 hours, respectively. Finally, I can not produce a negative quantity of any of the products.
Now, I set the dual problem:
min z = 4*y1 + 12*y2 + 18*y3
subject to:
y1 + 3*y3 >= 3
y2 + 2*y3 >= 5
y1, y2, y3 >= 0
Now, the only thing I think I can figure out is that the constraints mean:
- for an hour of work on M1 and 3 hours on M3, I should get payed at least 3 money units
- for two hours of work on M2 and 2 hours on M3, I should get payed at least 5 money units
But, I just can't wrap my mind around the meanings of y1 and y2 variables. When I finally do the minimization, the result in z is the same in the primal (although the primal in increasing the lower bound of the result while the dual is decreasing the upper bound), but what does the objective function of the dual problem consist of?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Dual 的目标函数是最小化3 台机器(资源)的每小时成本。
因此,Dual 的目标函数 (
4*y1 + 12*y2+ 18*y3
) 可以解读为:由于 Primal 处理生产利润最大化,<双重可以被认为是最小化公司的生产成本。
(有时,考虑一下公司“租赁”机器M1、M2和M3会有所帮助。)如果他们要租用机器,他们最多应该租多少台机器?为每台机器支付 [美元/小时] 并仍然可以盈利地生产
x1
和x2
?双变量 y1、y2 和 y3 的含义是每小时的拥有/租赁成本。
对偶问题的
y
变量通常称为资源的“影子价格”。由于您正在寻求深入理解对偶:
X1
和X2
,而不是制造这些其他产品。The Objective function of your Dual is to minimize the Cost/Hour of the 3 machines (resources).
So, the Dual's objective function (
4*y1 + 12*y2+ 18*y3
) can be read as:Since the Primal dealt with maximizing the profit of production, the Dual can be thought of as Minimizing the production costs for the firm.
(It sometimes helps to think of the company "renting" the machines M1, M2 and M3.) If they are going to rent it, what is the most that they should pay [$/hour] for each machine and still manufacture
x1
andx2
profitably?The meaning of your dual variables
y1, y2, and y3
are the per hour owning/renting costs.The dual problem's
y
variables are often referred to as "shadow prices" of the resources.Since you are looking for insight into understanding duals:
X1
andX2
instead of to manufacture these other products.