王树尧老师运筹学课程笔记 05 线性规划与单纯形法(概念、建模、标准型)

第5讲 线性规划与单纯形法(概念、建模、标准型)

线性规划问题及其数学模型

线性规划问题

定义:在线性约束条件下,寻找线性目标函数的最优化问题。

线性规划问题的共同特征

  • 每一个问题都用一组决策变量 ( x 1 , x 2 , ⋯   , x n ) \left(x_{1}, x_{2}, \cdots, x_{n}\right) (x1,x2,,xn)表示某一方案,这组决策变量的值就代表一个具体方案。一般这些变量取值是非负且连续的。(如果实际要求变量不是连续的,那么先把变量当做连续的去求解,最后再进行讨论。)
  • 要有建模的有关数据,如资源拥有量、消耗资源定额、创造新价值量等,并构成互不矛盾的约束条件,这些约束条件可以用一组线性等式或线性不等式来表示。
  • 都有一个要求达到的目标,它可用决策变量及其有关的价值系数构成的线性函数(称为目标函数)来表示。按问题的不同,要求目标函数实现最大化或最小化。

线性规划模型的标准型

之所以要将问题化为标准型,主要是为了便于之后使用单纯形等方法进行求解。

线性规划数学模型一般有如下形式:

目标函数 max ⁡ ( min ⁡ ) z = c 1 x 1 + c 2 x 2 + ⋯ + c n x n \quad \max (\min ) z=c_{1} x_{1}+c_{2} x_{2}+\cdots+c_{n} x_{n} max(min)z=c1x1+c2x2++cnxn
满足约束条件 { a 11 x 1 + a 12 x 2 + ⋯ + a 1 n x n ⩽ ( = , ⩾ ) b 1 a 21 x 1 + a 22 x 2 + ⋯ + a 2 n x n ⩽ ( = , ⩾ ) b 2 ⋮ a m 1 x 1 + a m 2 x 2 + ⋯ + a m n x n ⩽ ( = , ⩾ ) b m x 1 , x 2 , ⋯   , x n ⩾ 0 } \left\{\begin{array}{c}a_{11} x_{1}+a_{12} x_{2}+\cdots+a_{1 n} x_{n} \leqslant(=, \geqslant) b_{1} \\ a_{21} x_{1}+a_{22} x_{2}+\cdots+a_{2 n} x_{n} \leqslant(=, \geqslant) b_{2} \\ \vdots \\ a_{m 1} x_{1}+a_{m 2} x_{2}+\cdots+a_{m n} x_{n} \leqslant(=, \geqslant) b_{m} \\ x_{1}, \quad x_{2}, \cdots, \quad x_{n} \geqslant 0\end{array}\right\} a11x1+a12x2++a1nxn(=,)b1a21x1+a22x2++a2nxn(=,)b2am1x1+am2x2++amnxn(=,)bmx1,x2,,xn0

标准化的步骤:

  1. 目标函数需要化为 m a x max max。若原本的目标函数是 m i n min min,则令 z ′ = − z z^{'}=-z z=z,然后求 m a x z ′ max z^{'} maxz
  2. 约束条件需要化为 = = =。若原本的约束条件是 ≤ \leq ,则约束条件变为原本的约束条件减去一个新的非负变量。若原本的约束条件是 ≥ \geq ,则约束条件变为原本的约束条件加上一个新的非负变量。
  3. 变量需要化为 ≥ 0 \ge0 0。若原本的变量是 = 0 =0 =0,则直接改为 ≥ 0 \ge0 0,但实际上这种情况并不会出现,因为如果变量 = 0 =0 =0,那么改变量就不会在目标函数和约束条件中出现。若原本的变量是 ≤ 0 \le0 0,则令 x i ′ = − x i x_i^{'}=-x_i xi=xi,并令 x i ′ ≥ 0 x_i^{'}\ge0 xi0,同时目标函数和约束条件中进行替换。若原本的变量没有约束( ∈ \in R),则令 x i = x i ′ − x i ′ ′ x_i=x_i^{'}-x_i^{''} xi=xixi,并令 x i ′ ≥ 0   x i ′ ′ ≥ 0 x_i^{'}\ge0\ x_i^{''}\ge0 xi0 xi0,同时目标函数和约束条件中进行替换。

线性规划问题的处理流程

  1. 数学建模。得到目标函数和约束条件。
  2. 化标准型(详解上述标准化的3个步骤)。
  3. 单纯形法求解。
  4. 对于解的讨论。

补充说明

线性规划数学模型一般有如下形式:

目标函数 max ⁡ ( min ⁡ ) z = c 1 x 1 + c 2 x 2 + ⋯ + c n x n \quad \max (\min ) z=c_{1} x_{1}+c_{2} x_{2}+\cdots+c_{n} x_{n} max(min)z=c1x1+c2x2++cnxn
满足约束条件 { a 11 x 1 + a 12 x 2 + ⋯ + a 1 n x n ⩽ ( = , ⩾ ) b 1 a 21 x 1 + a 22 x 2 + ⋯ + a 2 n x n ⩽ ( = , ⩾ ) b 2 ⋮ a m 1 x 1 + a m 2 x 2 + ⋯ + a m n x n ⩽ ( = , ⩾ ) b m x 1 , x 2 , ⋯   , x n ⩾ 0 } \left\{\begin{array}{c}a_{11} x_{1}+a_{12} x_{2}+\cdots+a_{1 n} x_{n} \leqslant(=, \geqslant) b_{1} \\ a_{21} x_{1}+a_{22} x_{2}+\cdots+a_{2 n} x_{n} \leqslant(=, \geqslant) b_{2} \\ \vdots \\ a_{m 1} x_{1}+a_{m 2} x_{2}+\cdots+a_{m n} x_{n} \leqslant(=, \geqslant) b_{m} \\ x_{1}, \quad x_{2}, \cdots, \quad x_{n} \geqslant 0\end{array}\right\} a11x1+a12x2++a1nxn(=,)b1a21x1+a22x2++a2nxn(=,)b2am1x1+am2x2++amnxn(=,)bmx1,x2,,xn0

其中 c i c_i ci为价值系数, b i b_i bi为限额系数, a i j a_{ij} aij为技术系数。这些名称来源于生产问题,可以结合实际的生产问题加以理解。

一般情况下 m < n m<n m<n,即方程个数 < < <未知数个数。(也就是说求出的解是无穷多个的,KKT定理可能会失效。)

总结

线性规划问题是指,在线性约束条件下,寻找线性目标函数的最优化问题。

对于线性规划问题,可以按照KKT方法进行处理,更推荐的是先化为标准型然后再用单纯形法求解。

  • 12
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值