线性规划
在最优化问题中有一类问题被称作线性规划问题,属于有约束下的优化问题,线性规划是在线性约束条件下(等式或不等式)求解线性目标函数极值的问题。
线性规划问题的标准模型
线性规划的标准模型为
minimize cTx c T x
subject to Ax=bx≥0 A x = b x ≥ 0
所有的线性规划问题都可以转化成以上的标准型,例如某线性规划问题具有以下形式,与标准型不同的是,该形式用了不等式约束
minimize cTx c T x
subject to Ax≥bx≥0 A x ≥ b x ≥ 0
可以通过引入剩余变量 y y 的方式,将以上问题转化为标准型
minimize
subject to Ax−Imy=[A−Im][xy]=bx≥0,y≥0 A x − I m y = [ A − I m ] [ x y ] = b x ≥ 0 , y ≥ 0
如果约束条件具有以下形式:
Ax≤b A x ≤ b
x≥0 x ≥ 0
可以通过引入剩余变量 y y ,将约束条件转换为
线性规划问题的基本解
上文提到,任何线性规划问题都可以转换为标准型,即约束条件为线性等式,决策变量非负。
考虑方程 Ax=b A x = b ,其中 rank(A)=m r a n k ( A ) = m ,为了求解这类问题,通常从矩阵 A A 的一部分列向量入手。为方便起见,可以将中的列向量重新进行排序,将感兴趣的列向量排在前列。具体来说,从 A A 中选取m个线性无关的向量组成方阵,对 A A 的列向量重新排序,可以使中的列向量位于 A A 的前m列,即可以写为分块矩阵 A=[B,D] A = [ B , D ] ,其中 D D 是矩阵,它由 A A 中剩余的列向量组成。矩阵是非奇异的,因此求解方程 BxB=b B x B = b 可以得到唯一解 xB=B−1b x B = B − 1 b 。令 x x 为n维向量,它的前m个元素等于,其余元素为零,即 x=[sTB,0T]T x = [ s B T , 0 T ] T ,则 x x 是方程的一个解。
[xTB,0T]T [ x B T , 0 T ] T 是 Ax=b A x = b 在 B B 下的基本解,向量中的元素称为基变量, B B 中的列向量称为基本列向量。
退化的基本解—>基本解中的某些基变量为0
可行解—>满足的向量
x
x
基本可行解—>某个可行解也是基本解
退化的基本可行解—>某个基本可行解是退化的基本解
在求解线性规划问题时,仅需要考虑基本可行解,因为目标函数的最优解如果存在,那么一定是在某个基本可行解上得到。
线性规划基本定理
1.如果存在可行解,那么一定存在基本可行解
2.如果存在最优可行解,那么一定存在最优基本可行解
线性规划基本定理将线性规划问题的求解转换为在有限数量的基本可行解上进行搜索,这极大地缩减了求解的工作量。
从几何的角度来看,标准线性规划中的约束中的点集是凸集,即对于任何 x,y∈Θ x , y ∈ Θ 和实数 α α , 0<α<1 0 < α < 1 ,有 αx+(1−α)y∈Θ α x + ( 1 − α ) y ∈ Θ ,对于凸集内的点 x x ,如果在中找不到两个不同的点 x1 x 1 和 x2 x 2 使 x=αx1+(1−α)x2 x = α x 1 + ( 1 − α ) x 2 成立则称 x x <script type="math/tex" id="MathJax-Element-14860">x</script>是极点,可以通过证明得到,约束集的极点与基本可行解是等价的。
从某个极点转移到另一个相邻极点的算法就是单纯性法求解线性规划问题的思路,后面的文章将对单纯形法以及对偶等概念进行详细介绍。
To be continue…