使用单纯形法求解 max z = 50 x 1 + 100 x 2 \max z = 50x_1 + 100x_2 maxz=50x1+100x2
s.t. { x 1 + x 2 ≤ 300 2 x 1 + x 2 ≤ 400 x 2 ≤ 250 x i ≥ 0 , i = 1 , 2 \text{s.t.} \begin{cases} x_1 + x_2 \leq 300 \\ 2x_1 + x_2 \leq 400 \\ x_2 \leq 250 \\ x_i \geq 0, i= 1, 2 \end{cases} s.t.⎩⎪⎪⎪⎨⎪⎪⎪⎧x1+x2≤3002x1+x2≤400x2≤250xi≥0,i=1,2
2. 求解过程
首先引入松弛变量,将线性规划问题化成标准型。 max z = 50 x 1 + 100 x 2 + 0 x 3 + 0 x 4 + 0 x 5 \max z = 50x_1 + 100x_2 + 0x_3 + 0x_4 + 0x_5 maxz=50x1+100x2+0x3+0x4+0x5
s.t. { x 1 + x 2 + x 3 = 300 2 x 1 + x 2 + x 4 = 400 x 2 + x 5 = 250 x i ≥ 0 , i = 1 , 2 , … , 5 \text{s.t.} \begin{cases} x_1 + x_2 + x_3 = 300 \\ 2x_1 + x_2 + x_4 = 400 \\ x_2 + x_5 = 250 \\ x_i \geq 0, i = 1, 2, \dots, 5 \end{cases} s.t.⎩⎪⎪⎪⎨⎪⎪⎪⎧x1+x2+x3=3002x1+x2+x4=400x2+x5=250xi≥0,i=1,2,…,5
2.1. 第一次迭代
首先画出如下的表格;(PS:表格第一行有 3 个 C C C、 σ \sigma σ,应该合并,但是我不知道如何在Markdown中合并表格)
C C C
C C C
C C C
C B C_B CB
基
b b b
x 1 x_1 x1
x 2 x_2 x2
x 3 x_3 x3
x 4 x_4 x4
x 5 x_5 x5
σ \sigma σ
σ \sigma σ
σ \sigma σ
在第一行中, C j C_j Cj 表示目标函数的系数矩阵(向量), C j C_j Cj 右侧是目标函数的系数矩阵(向量)具体值,在题目中目标函数为 max z = 50 x 1 + 100 x 2 + 0 x 3 + 0 x 4 + 0 x 5 \max z = 50x_1 + 100x_2 + 0x_3 + 0x_4 + 0x_5 maxz=50x1+100x2+0x3+0x4+0x5,因此按照 x 1 , x 2 , … , x 5 x_1, x_2, \dots, x_5 x1,x2,…,x5 的顺序写出它们的系数, C = [ 50 100 0 0 0 ] C = \begin{bmatrix} 50 &100 & 0 & 0 & 0 \end{bmatrix} C=[50100000]
C C C
C C C
C C C
50 \color{#FF0000}{50} 50
100 \color{#FF0000}{100} 100
0 \color{#FF0000}{0} 0
0 \color{#FF0000}{0} 0
0 \color{#FF0000}{0} 0
C B C_B CB
基
b b b
x 1 x_1 x1
x 2 x_2 x2
x 3 x_3 x3
x 4 x_4 x4
x 5 x_5 x5
σ \sigma σ
σ \sigma σ
σ \sigma σ
在 x 1 , x 2 , x 3 , x 4 , x 5 x_1, x_2, x_3, x_4, x_5 x1,x2,x3,x4,x5 下面写上约束方程组的系数矩阵 A A A;需要注意的是:在方程中没有出现的变量,其系数为 0,必须写上; A = ( a i j ) = [ 1 1 1 0 0 2 1 0 1 0 0 1 0 0 1 ] A = (a_{ij}) = \begin{bmatrix} 1 & 1 & 1 & 0 & 0 \\ 2 & 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 & 1 \\ \end{bmatrix} A=(aij)=⎣⎡120111100010001⎦⎤
C C C
C C C
C C C
50
100
0
0
0
C B C_B CB
基
b b b
x 1 x_1 x1
x 2 x_2 x2
x 3 x_3 x3
x 4 x_4 x4
x 5 x_5 x5
1 \color{#FF0000}{1} 1
1 \color{#FF0000}{1} 1
1 \color{#FF0000}{1} 1
0 \color{#FF0000}{0} 0
0 \color{#FF0000}{0} 0
2 \color{#FF0000}{2} 2
1 \color{#FF0000}{1} 1
0 \color{#FF0000}{0} 0
1 \color{#FF0000}{1} 1
0 \color{#FF0000}{0} 0
0 \color{#FF0000}{0} 0
1 \color{#FF0000}{1} 1
0 \color{#FF0000}{0} 0
0 \color{#FF0000}{0} 0
1 \color{#FF0000}{1} 1
σ \sigma σ
σ \sigma σ
σ \sigma σ
在 b b b 列依次写上约束矩阵右侧的常数,分别是 b = [ 300 400 250 ] b = \begin{bmatrix} 300 \\ 400 \\ 250 \\ \end{bmatrix} b=⎣⎡300400250⎦⎤
C C C
C C C
C C C
50
100
0
0
0
C B C_B CB
基
b b b
x 1 x_1 x1
x 2 x_2 x2
x 3 x_3 x3
x 4 x_4 x4
x 5 x_5 x5
300 \color{#FF0000}{300} 300
1
1
1
0
0
400 \color{#FF0000}{400} 400
2
1
0
1
0
250 \color{#FF0000}{250} 250
0
1
0
0
1
σ \sigma σ
σ \sigma σ
σ \sigma σ
在系数矩阵中找到一个单位矩阵,其对应的变量作为初始基变量,因此基变量为 基 = [ x 3 x 4 x 5 ] \text{基} = \begin{bmatrix} x_3 \\ x_4 \\ x_5 \\ \end{bmatrix} 基=⎣⎡x3x4x5⎦⎤ 将其填入基列;