最优化技术——线性规划

线性规划基本概念

线性规划问题就是在一组线性约束条件下,求解目标函数最优解的问题

标准形式

线性规划问题的标准形式:

  • 目标函数求最大值
  • 所有约束条件均由等式表示
  • 每个约束条件右端常数常为非负值
  • 所有决策变量为非负值

改造方法

所有的情况与改造方法

  • 目标函数求最小值则应该改为求最大值

    • 方法——添加负号

      minF=ΣcjxjmaxF=Σcjxj min F = \Sigma c_jx_j \rightarrow maxF = -\Sigma c_jx_j

  • 约束条件中,某些常数项bi为负数

    • 方法——在约束条件两边乘以负号

      Σai,jxj>3Σai,jxj<3\Sigma a_{i,j}x_j>-3 \rightarrow -\Sigma a_{i,j}x_j<3

  • 约束条件不等式符号为<=

    • 方法——在不等式左边加上一个非负变量(松驰变量)

      Σai,jxjbiΣj=1maijxj+xm+1=bi\Sigma a_{i,j}x_j \leq b_i \rightarrow \Sigma_{j=1}^m a_{ij}x_j+x_{m+1}=b_i

  • 约束条件**不等式符号为>= **

    • 在不等式左边减去一个非负变量(剩余变量)

      Σai,jxjbiΣj=1maijxjxm+1=bi\Sigma a_{i,j}x_j \geq b_i \rightarrow \Sigma_{j=1}^m a_{ij}x_j-x_{m+1}=b_i

  • 约束条件中某变量有如下限制:

    • 一、某变量必须为负数,即:xj0x_j \leq0:

      • 方法——设置一个新的变量

        xj=xjx_j' = -x_j

    • 二、某个变量无符号限制

      • 方法——将该变量拆分成两个正数的差

        Vk0,Uk0,Xk=VkUkV_k \geq 0, U_k \geq 0,X_k = V_k - U_k

例题

一、

minF=3x1+4x22x3+5x4min F = -3x_1 + 4x_2 -2x_3 + 5x_4

s.t.s.t.

4x1x2+2x3x4=24x_1 - x_2+2x_3-x_4=-2

x1+x2+2x3x414x_1+x_2+2x_3-x_4 \leq14

2x1+3x2x3+2x42-2x_1+3x_2-x_3+2x_4\geq2

x10,x20,x30x_1\geq0,x_2\leq0,x_3\geq0

将上面的式子化成标准型,首先需要检查上面的式子中有哪些地方不符合我们的要求:

  1. 目标函数为最小值minF=3x1+4x22x3+5x4min F = -3x_1 + 4x_2 -2x_3 + 5x_4
  2. 等式约束右边为负数4x1x2+2x3x4=24x_1 - x_2+2x_3-x_4=-2
  3. 不等式约束x1+x2+2x3x414x_1+x_2+2x_3-x_4 \leq142x1+3x2x3+2x42-2x_1+3x_2-x_3+2x_4\geq2
  4. 约束中有小于零的x10,x20,x30x_1\geq0,x_2\leq0,x_3\geq0

额,经过整理我们发现。。。都不符合,所以需要一条一条的改:

改前 改后
minF=3x1+4x22x3+5x4min F = -3x_1 + 4x_2 -2x_3 + 5x_4 maxS=minF=3x14x2+2x35x4maxS=-minF = 3x_1-4x_2+2x_3-5x_4
4x1x2+2x3x4=24x_1 - x_2+2x_3-x_4=-2 4x1+x22x3+x4=2-4x_1+x_2-2x_3+x_4 = 2
x1+x2+2x3x414x_1+x_2+2x_3-x_4 \leq14 x1+x2+2x3x4+x5=14x_1+x_2+2x_3-x_4+x_5 =14
2x1+3x2x3+2x42-2x_1+3x_2-x_3+2x_4\geq2 2x1+3x2x3+2x4x6=2-2x_1+3x_2-x_3+2x_4 -x_6= 2
x20x_2\leq0 x70,x7=x2x_7 \geq 0 , x_7 = - x_2
x4x_4 无约束 x8,x90,x4=x8x9x_8,x_9\geq0,x_4 = x_8-x_9

整理之后得到:

maxS=minF=3x1+4x7+2x35x8+5x9maxS=-minF = 3x_1+4x_7+2x_3-5x_8+5x_9

s.t.s.t.

4x1x72x3+x8x9=2-4x_1-x_7-2x_3+x_8-x_9 = 2

x1x7+2x3x8+x9+x5=14x_1-x_7+2x_3-x_8+x_9+x_5 =14

2x13x7x3+2x82x9x6=2-2x_1-3x_7-x_3+2x_8-2x_9 - x_6= 2

xi0,j=1,3,5,6,7,8,9x_i \geq 0,j=1,3,5,6,7,8,9

概念之凸集

最优化技术——线性规划

  • 凸集:如果集合C中任意两点X1,X2X_1,X_2,其连线上的所有点也都是集合C中的点,称C为凸集。
  • 有限个凸集的交集仍然是凸集
  • 顶点:如果凸集C中不存在任何两个不同的点X1,X2X_1,X_2,使XX成为这两个点连线上的一个点。

最优化技术——线性规划

线性规划的一些定义

  • 定义一:凡是满足Ax=bAx=bx0x\geq0的解x=(x1,x2,..,xn)Tx = (x_1,x_2,..,x_n)^T称为线性规划问题的可行解。同时满足maxZ=cxmax Z = cx的可行解称为最优解

  • 定义二:设线性规划约束方程组的系数矩阵AmnA_{m*n}的秩为mm,则AA中某mm列组成的任一个mm阶可逆阵BB称为该线性规划问题的一个基矩阵,简称基。若记B=(p1,p2,,pm)B=(p_1,p_2,…,p_m),则称pk(k=1,2,m)p_k(k=1,2,…m)为基B中的一个基向量。则A中其余n-m个列向量为非基向量。

    感觉这里很象最大线性无关组。

  • 定义3:当Ax=bAx=b式中A确定了一个基B后,与基向量pkp_k相对应的决策变量xkx_k称为关于基B的一个基变量,而与非基向量所对应的决策变量称为非基变量

  • 定义4:设B=(pk1,pk2,,pkm)B=(p_{k_1},p_{k_2},…,p_{k_m})是A中的一个基,对应的基变量为xk1,xk2,,xkmx_{k_1},x_{k_2},…,x_{k_m},我们称非基变量的取值均为零且满足约束条件的一个解x,为关于基B的一个基本解

解的确定

基本解的确定

B为一个基矩阵,XBX_B为对应的基变量, NN为非基矩阵,XNX_N为对应的非基变量,那么Ax=bAx=b可以写成:
BXB+NXN=b BX_B+NX_N=b
由这个式子可以推出:
XB=B1bB1NXN X_B = B^{-1}b-B^{-1}NX_N
同时,根据基本解的定义,非基变量的解都是0,所以,最终的解是:
$$
\left[
\begin{matrix}
X_B\
X_N
\end{matrix}
\right]

\left[
\begin{matrix}
B^{-1}b\
0
\end{matrix}
\right]
$$
这样的解也被称为关于基B的基本解,同时有定义五:

  • 满足非负条件x0x\geq0的基本解称为基本可行解

例题

求下列方程组的一个基本解、基本可行解

x1+2x28x_1 + 2x_2 \leq 8

x22x_2\leq 2

解:

  1. 首先将他化成标准形式

    x1+2x2+x3=8x_1+2x_2 +x_3 = 8

    x2+x4=2x_2+x_4 = 2

  2. 根据上方方程得到系数矩阵:

    A=[13100101]A=\left[\begin{matrix}1 & 3 & 1 & 0\\0 & 1 & 0 & 1 \end{matrix} \right]

  3. 取前两个列向量作为基向量,后两个就是非基向量

    B=[1201]B = \left[ \begin{matrix}1 & 2 \\ 0 &1 \end{matrix} \right]

  4. 令非基变量x3,x4=0x_3, x_4 = 0,可以得到基本解

    (4,2,0,0)T(4,2,0,0)^T

图解法

假设解以下问题

最优化技术——线性规划

我们可以用图解法的方法解决(初中生就会的那种)

最优化技术——线性规划

关于图解法的一些定理:

  • 定理一:若线性规划问题存在可行解,则该问题的可行域一定是凸集
  • 定理二:线性规划问题的基本可行解X对应可行域(凸集)的顶点
  • **定理三:**若问题存在最优解,一定存在一个基本可行解是最优解

看到定理二忽然恍然大悟,原来我初中铤而走险,每次都只试交点的方法是有科学依据的(逃

定理三也非常有意义,因为它直接给我们提供了一种解决优化问题的方法:找出所有基本可行解然后再一个一个比较,直接得到最大的,但是可惜的是,这样的做法时间复杂度过高,电脑有点遭不住。

相关文章: