单纯形法求解步骤:一个简单例子

本文通过实例详细解析了使用单纯形法求解线性规划问题的过程,包括问题标准化、构造初始表、确定基变量及迭代计算,直至求得最优解。

1. 题目

使用单纯形法求解
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+x23002x1+x2400x2250xi0,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=250xi0,i=1,2,,5

2.1. 第一次迭代

  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 σ
  1. 在第一行中, 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 σ
  1. 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 σ
  1. 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 σ
  1. 在系数矩阵中找到一个单位矩阵,其对应的变量作为初始基变量,因此基变量为
    基 = [ x 3 x 4 x 5 ] \text{基} = \begin{bmatrix} x_3 \\ x_4 \\ x_5 \\ \end{bmatrix} =x3x4x5
    将其填入基列;
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 x
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值