最优化技术——线性规划

最优化技术——线性规划

线性规划基本概念

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

标准形式

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

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

改造方法

所有的情况与改造方法

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

    • 方法——添加负号

      \[ min F = \Sigma c_jx_j \rightarrow maxF = -\Sigma c_jx_j\]

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

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

      \[\Sigma a_{i,j}x_j>-3 \rightarrow -\Sigma a_{i,j}x_j<3\]

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

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

      \[\Sigma a_{i,j}x_j \leq b_i \rightarrow \Sigma_{j=1}^m a_{ij}x_j+x_{m+1}=b_i\]

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

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

      \[\Sigma a_{i,j}x_j \geq b_i \rightarrow \Sigma_{j=1}^m a_{ij}x_j-x_{m+1}=b_i\]

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

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

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

        \[x_j' = -x_j\]

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

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

        \[V_k \geq 0, U_k \geq 0,X_k = V_k - U_k\]

例题

一、

\[min F = -3x_1 + 4x_2 -2x_3 + 5x_4\]

\(s.t.\)

\[4x_1 - x_2+2x_3-x_4=-2\]

\[x_1+x_2+2x_3-x_4 \leq14\]

\[-2x_1+3x_2-x_3+2x_4\geq2\]

\[x_1\geq0,x_2\leq0,x_3\geq0\]

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

  1. 目标函数为最小值\[min F = -3x_1 + 4x_2 -2x_3 + 5x_4\]
  2. 等式约束右边为负数\[4x_1 - x_2+2x_3-x_4=-2\]
  3. 不等式约束\[x_1+x_2+2x_3-x_4 \leq14\]\[-2x_1+3x_2-x_3+2x_4\geq2\]
  4. 约束中有小于零的\[x_1\geq0,x_2\leq0,x_3\geq0\]

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

改前 改后
\[min F = -3x_1 + 4x_2 -2x_3 + 5x_4\] \[maxS=-minF = 3x_1-4x_2+2x_3-5x_4\]
\[4x_1 - x_2+2x_3-x_4=-2\] \[-4x_1+x_2-2x_3+x_4 = 2\]
\[x_1+x_2+2x_3-x_4 \leq14\] \[x_1+x_2+2x_3-x_4+x_5 =14\]
\[-2x_1+3x_2-x_3+2x_4\geq2\] \[-2x_1+3x_2-x_3+2x_4 -x_6= 2\]
\[x_2\leq0\] \[x_7 \geq 0 , x_7 = - x_2\]
\[x_4 \]无约束 \[x_8,x_9\geq0,x_4 = x_8-x_9\]

整理之后得到:

\[maxS=-minF = 3x_1+4x_7+2x_3-5x_8+5x_9\]

\(s.t.\)

\[-4x_1-x_7-2x_3+x_8-x_9 = 2\]

\[x_1-x_7+2x_3-x_8+x_9+x_5 =14\]

\[-2x_1-3x_7-x_3+2x_8-2x_9 - x_6= 2\]

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

概念之凸集

在这里插入图片描述
在这里插入图片描述
  • 凸集:如果集合C中任意两点\[X_1,X_2\],其连线上的所有点也都是集合C中的点,称C为凸集。
  • 有限个凸集的交集仍然是凸集
  • 顶点:如果凸集C中不存在任何两个不同的点\[X_1,X_2\],使\(X\)成为这两个点连线上的一个点。

在这里插入图片描述 ## 线性规划的一些定义

  • 定义一:凡是满足\[Ax=b\]\[x\geq0\]的解\[x = (x_1,x_2,..,x_n)^T\]称为线性规划问题的可行解。同时满足\[max Z = cx\]的可行解称为最优解

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

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

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

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

解的确定

基本解的确定

B为一个基矩阵,\[X_B\]为对应的基变量, \(N\)为非基矩阵,\(X_N\)为对应的非基变量,那么\[Ax=b\]可以写成: \[ BX_B+NX_N=b \] 由这个式子可以推出: \[ 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的基本解,同时有定义五:

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

例题

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

\[x_1 + 2x_2 \leq 8\]

\[x_2\leq 2\]

解:

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

    \[x_1+2x_2 +x_3 = 8\]

    \[x_2+x_4 = 2\]

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

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

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

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

  4. 令非基变量\[x_3, x_4 = 0\],可以得到基本解

    \[(4,2,0,0)^T\]

图解法

假设解以下问题

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

关于图解法的一些定理:

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

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

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