线性规划-对偶单纯形变量的含义?

发布于 2024-12-29 20:01:17 字数 1298 浏览 0 评论 0原文

我刚刚学习了求解线性规划的单纯形方法,并且我正在尝试理解它的对偶问题代表什么。

我了解解决对偶问题的机制 - 我不需要这方面的帮助。我无法得到的(即使在维基百科上阅读后)是对偶中y变量的实际含义

我想举一个例子,其中包含原始问题中的变量含义,以及我从对偶中得出的结果,并请任何好心的人解释对偶中的含义:

原始:

max z = 3*x1 +  5*x2

subject to:
          x1          <=  4
                2*x2  <= 12
        3*x1 +  2*x2  <= 18

        x1, x2 >= 0

在原始问题中, x1x2是要生产的产品AB的数量。 35 分别是其单位售价。产品由 3 台机器生产,M1-M3。要生产第一个产品,需要在 M1 上工作 1 小时,在 M3 上工作 3 小时。要制作第二个,M2M3 都需要两个小时的工作。机器M1、M2、M3最多可分别工作4、1218小时。最后,我不能生产任何产品的负数量。

现在,我设置了对偶问题:

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个货币单位的报酬

但是,我就是无法理解其中的含义y1y2 变量。当我最终进行最小化时, 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

卸妝后依然美 2025-01-05 20:01:17

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 处理生产利润最大化,<双重可以被认为是最小化公司的生产成本。

(有时,考虑一下公司“租赁”机器M1、M2和M3会有所帮助。)如果他们要租用机器,他们最多应该租多少台机器?为每台机器支付 [美元/小时] 并仍然可以盈利地生产 x1x2

双变量 y1、y2 和 y3 的含义是每小时的拥有/租赁成本。

对偶问题的 y 变量通常称为资源的“影子价格”

由于您正在寻求深入理解对偶

  1. 一个技巧是减少对偶的维度。 (假设只有一台机器M1。)现在,制定对偶并尝试理解目标函数和约束。
  2. 从“机会成本”的角度思考会有所帮助。如果制造公司必须租用机器(资源),那么它应该支付什么价格/小时?或者,如果有许多其他(有利可图的)产品,机器将以多少成本/小时分配给 X1X2,而不是制造这些其他产品。
  3. 请注意,并非所有对偶都可以轻松“理解”。但是,您可以通过查看原始变量中的相应变量来了解许多双重约束。同样,您可以通过研究相应的原始约束来深入了解对偶变量。

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:

Minimize 4*(cost/hour of Machine1) + 12*(cost/hour of M2) + 18*(cost/hr of M3)

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 and x2 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:

  1. One trick is to reduce the dimension of the dual. (Imagine there was only one Machine M1.) Now, formulate the dual and try to understand the objective function and the constraints.
  2. It helps to think in terms of "opportunity costs." If the manufacturing firm had to rent machines (resources), what price/hour should it pay? Alternatively, if there were many other (profitable) products, at what cost/hour will the machines be allotted to X1 and X2 instead of to manufacture these other products.
  3. Note that not all duals can be "understood" easily. However, you can get a sense of many dual constraints by looking at the corresponding variable in the primal. Similarly, you can get insights into a dual variable by studying the corresponding primal constraint.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文