运筹学--线性规划

线性规划的定义

线性规划可以从以下特征进行判断

  1. 决策变量一般为非负且连续
  2. 约束条件是一组线性等式或者线性不等式
  3. 目标函数由决策变量与常系数组合成的表达式

满足上述条件可以判定为是一个线性约束问题。

求解线性规划问题的常用方法一般是图解法和单纯形法,图解法一般适用于低维问题,单纯性法则更加常规,应用更加广泛。

  • 图解法:构建坐标系,将约束条件绘制在坐标系中;寻找目标函数的等值线,通过等值线的移动寻找最优解。
  • 单纯形法:手工利用单纯形法求解问题时基本都是通过单纯性表进行求解,因此先通过例子来说明一下单纯形法,之后在简单总结一下操作步骤。

e.g.
m a x z = 2 x 1 + 3 x 2 s . t . x 1 + 2 x 2 ≤ 8 4 x 1 ≤ 16 4 x 2 ≤ 12 x 1 , x 2 ≥ 0 \begin{aligned} &max&z = 2x_1 +3x_2\\ &s.t. &x_1 +2x_2 \leq8\\ & &4x_1 \leq16\\ & &4x_2 \leq12\\ & &x_1,x_2 \geq0\\ \end{aligned} maxs.t.z=2x1+3x2x1+2x284x1164x212x1,x20

1. 引入人工变量转化为标准形式:max问题、等式约束、非负决策变量
m a x z = 2 x 1 + 3 x 2 + 0 ∗ x 3 + 0 ∗ x 4 + 0 ∗ x 5 s . t . x 1 + 2 x 2 + x 3 = 8 4 x 1 + x 4 = 16 4 x 2 + x 5 = 12 x 1 , x 2 , x 3 , x 4 , x 5 ≥ 0 \begin{aligned} &max&z = 2x_1 +3x_2+0*x_3+0*x_4+0*x_5\\ &s.t. &x_1 +2x_2+x_3=8\\ & &4x_1 +x_4 =16\\ & &4x_2 + x_5 = 12\\ & &x_1,x_2,x_3,x_4,x_5 \geq0\\ \end{aligned} maxs.t.z=2x1+3x2+0x3+0x4+0x5x1+2x2+x3=84x1+x4=164x2+x5=12x1,x2,x3,x4,x50
2. 选取基变量与基解,列出初始的单纯形表
基变量的个数与约束的矩阵秩相等,基变量对应取值的解为基解(非基变量为0)
选取 x 3 , x 4 , x 5 x_3,x_4,x_5 x3,x4,x5为基变量,对应的基解为 ( 0 , 0 , 8 , 16 , 12 ) (0,0,8,16,12) (0,0,8,16,12)
写出简化的单纯性表:

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
12100
40010
04001

计算非基变量的检验数: σ j = c j − ∑ i = 1 m c i a i j \sigma _j=c_j-\sum_{i=1}^m c_ia_{ij} σj=cji=1mciaij
利用上述公式可以计算非基变量 x 1 , x 2 x_1 ,x_2 x1,x2对应的检验数为2,3。
检验数的理解首先是从正负开始,检验数为正,代表将该变量换入基变量之后会使得目标函数增加,而大小则是代表增加的程度;负数刚好反过来。对于max问题如果全部检验数为负则说明已经无法继续进行优化。

3. 最大的检验数对应的变量 x k x_k xk换入基中,并计算 θ \theta θ
θ \theta θ代表的其实是原基变量对换入的基变量的容忍度,想要换出的就是容忍度最低的,对应计算公式为 b i / A i k b_i/A_{ik} bi/Aik
分别计算基变量的 θ \theta θ为(4,-,3),选取容忍度最低的为换出变量,因此可以更新基同时更新单纯形表:

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
1010-1/2
40010
01001/4

对应的基变量为: x 3 , x 4 , x 2 x_3,x_4,x_2 x3,x4,x2,对应的基解为 ( 0 , 3 , 2 , 16 , 0 ) (0,3,2,16,0) (0,3,2,16,0)

4. 重复计算非基变量的检验数与 θ \theta θ,重复出基与入基的操作
计算结果如下:

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
1010-1/2
00-412
01001/4

对应的基变量为: x 1 , x 4 , x 2 x_1,x_4,x_2 x1,x4,x2,对应的基解为 ( 8 , 3 , 0 , − 16 , 0 ) (8,3,0,-16,0) (8,3,0,16,0)

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
1001/40
00-21/21
011/2-1/80

对应的基变量为: x 1 , x 3 , x 2 x_1,x_3,x_2 x1,x3,x2,对应的基解为 ( 4 , 2 , 0 , 0 , 4 ) (4,2,0,0,4) (4,2,0,0,4)
此时非基变量的检验数均为负数,因此已经找到了最优解。

重点
单纯形法的重点其实是在于入基出基的操作,上述的简化的单纯性表其实是在原有的系数矩阵的基础上将基变量对应的系数矩阵经过初等变换变为单位阵。

预告:下一部分想要进一步的讨论一下单纯性法。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值