📌  相关文章
📜  第 12 类 RD Sharma 解决方案 – 第 30 章线性规划 – 练习 30.4 |设置 1(1)

📅  最后修改于: 2023-12-03 14:56:39.415000             🧑  作者: Mango

第 12 类 RD Sharma 解决方案 – 第 30 章线性规划 – 练习 30.4 |设置 1

本文将为程序员介绍《RD Sharma 数学教材》中的线性规划-练习 30.4的解决方案,这可以帮助你更好地理解线性规划的相关知识,提高数学素养。

章节介绍

线性规划是一门数学领域的重要概念,广泛应用于商业、工业和经济领域。线性规划中,目标函数是线性的,约束条件也是线性的。线性规划的目标是最小化或最大化某个线性函数,同时满足一系列约束条件。

练习题目

我们将着眼于解决RD Sharma 数学教材中第 12 类的第 30 章线性规划中的第 30.4 练习。该练习的题目是:

Maximize Z = 7x + 4y, subject to the constraints:

  • 2x+3y ≤ 12
  • x+y ≥ 1
  • x≥ 0, y≥ 0
解决方案

使用线性规划的相关知识,我们可以将上述问题转化为标准形式。标准形式的形式如下:

Maximize Z = c1x1 + c2x2 + ... + cnxn, subject to the constraints:

  • a11x1 + a12x2+ ... + a1nxn ≤ b1
  • a21x1 + a22x2 + ... + a2nxn ≤ b2
  • ...
  • am1x1 + am2x2 + ... + amnxn ≤ bm
  • x1 ≥ 0, x2 ≥ 0, ... , xn ≥ 0

将题目中的数据代入可得:

Maximize Z = 7x + 4y, subject to the constraints:

  • 2x+3y ≤ 12
  • -x-y ≤ -1
  • x≥ 0, y≥ 0

现在,我们可以使用单纯形法来解决这个问题。运用单纯形法,可得出以下的解决方案:

Step 1: 将约束条件和目标函数写成矩阵形式

[ 2  3 | 12 ]
[-1 -1 | -1 ]

[ 7 ]
[ 4 ]

Step 2: 加入松弛变量将约束条件转化成等式

[ 2  3  1  0 | 12 ]
[-1 -1  0  1 | -1 ]

我们发现,每一列都有一个基本变量,现在我们需要选择一个初始基本变量集合。

根据单纯形法的定义,初始基本变量集合应该是非零的个系数在目标函数中的那些列。即:

[ 2  3  1  0 | 12 ]
[-1 -1  0  1 | -1 ]
[ 7  4  0  0 |  0 ]

选择第 1 和 2 列,对应变量 $x_1$ 和 $x_2$ 作为初始基本变量。因此,系数矩阵是:

[ 2  3  1  0 | 12 ]
[-1 -1  0  1 | -1 ]
[ 7  4  0  0 |  0 ]

接下来,我们需要对这个矩阵进行操作来找到最优解。

Step 3: 将初始矩阵转化为单位矩阵

首先,我们需要通过行操作将矩阵的左下角变为单位矩阵。我们可以通过以下的步骤来实现:

a. 将第二行行交换到顶部

[ -1 -1  0  1 | -1 ]
[  2  3  1  0 | 12 ]
[  7  4  0  0 |  0 ]

b. 将第一行乘以-1

[  1  1  0 -1 |  1 ]
[  2  3  1  0 | 12 ]
[  7  4  0  0 |  0 ]

c. 将第二行加上两倍的第一行

[  1  1  0 -1 |  1 ]
[  0  1  1 -2 | 10 ]
[  7  4  0  0 |  0 ]

d. 将第三行减去七倍的第一行

[  1  1  0 -1 |  1 ]
[  0  1  1 -2 | 10 ]
[  0 -3  0  7 | -7 ]

e. 将第三行乘以-1/3

[  1  1  0 -1 |  1 ]
[  0  1  1 -2 | 10 ]
[  0  1  0 -7/3|  7/3]

f. 将第二行减去第三行

[  1  1  0 -1   |   1    ]
[  0  0  1 -1/3 |  23/3  ]
[  0  1  0 -7/3 |   7/3  ]

现在,不含于目标函数中的变量列变为单位矩阵。 我们接下来做其它步骤。

Step 4: 选择离基变量

现在我们需要选择下一个基本变量。为了找到下一个基本变量,我们需要计算出每一行的回报系数。回报系数是每个非基本变量的一个价值。换句话说,它告诉我们如果我们让 $x_i$ 变成一个基本变量,会带来多少收益。

[  1  1  0 -1   |   1    ]
[  0  0  1 -1/3 |  23/3  ]
[  0  1  0 -7/3 |   7/3  ]
                 ^
                 |
             离基变量

从这个表格可以看出,将 $x_4$ 作为下一个基本变量会得到最大的收益。然而, $x_4$ 有一个限制条件 $x_4 ≥ 0$。所以我们需要计算限制条件被满足的最小值,即:

12 - 2x1 - 3x2 = 0
x1 = -3 / 2 x2 + 6

因此,我们需要计算这个函数在 $x_4 = 0$ 和 $x_1 = \frac{6-3x_2}{2}$ 两个点的值。这些点是:

(0, 0)     -> 0
(3, 2)     -> 7
(-3/2, 4)  -> 14

所以,我们选择 $x_2$ 作为下一个基本变量。我们将进行下一步操作以将 $x_2$ 成为基本变量。

Step 5: 迭代操作

迭代运算的步骤比较简单,它们如下所示:

a. 将第 3 行乘以3

[  1  1  0 -1   |   1    ]
[  0  0  1 -1/3 |  23/3  ]
[  0  3  0 -7   |   7    ]

b. 将第二行加上3倍的第三行

[  1  1  0 -1   |   1    ]
[  0  0  1 -2   |  44/3 ]
[  0  3  0 -7   |   7    ]

c. 将基本变量列变为单位矩阵

[  1  0  0 -4 |   2 ]
[  0  0  1 -2 |44/3]
[  0  1  0 -7/3|7/3]

Step 6: 检查最优解

由于我们的目标是最大化目标函数 $Z = 7x + 4y$,我们需要检查这个目标函数在每个基向量上的值。我们的基向量是 $(4, 0)$,$(0, 7/3)$ 和 $(0, 0)$。在这些向量上,目标函数的值分别是 28,9 以及 0。因此,最优解是 $Z = 28$,当 $x=4$,$y=0$ 时达到。