HomeBlogTopicsPublish
  • rss

  • contact

© 2025 MIT Licensed

Topics→Machine Learning→Linear Intro

Machine Learning

Fundamentals
Decision TreeBackpropagationLinear 1Linear 2Linear 3Linear DualLinear IntroML Numerical MethodsNaive SolveLagrangian Conditions under Equality ConstraintsLagrangian Conditions under Inequality ConstraintsSupport Vector Machine 1Support Vector Machine 2Support Vector Machine 3Convex
Deep Learning Acceleration
Paper DartsPaper MobileNetsPaper ShuffleNetPaper HashingTricksPaper ShuffleNetV2Neural Architecture Search MilestonePyTorch Training Acceleration
Computer Vision
Paper RobotPaper InceptionV4Dataset Cityscapes
Reinforcement Learning
Paper Deep Q-Network

Linear Intro

September 22, 2017

by Frank

在最优化问题中有一类问题被称作线性规划问题,属于有约束下的优化问题,线性规划是在**线性约束条件**下(等式或不等式)**求解线性目标函数极值**的问题。

在最优化问题中有一类问题被称作线性规划问题,属于有约束下的优化问题,线性规划是在线性约束条件下(等式或不等式)求解线性目标函数极值的问题。

线性规划问题的标准模型

线性规划的标准模型为

minimizecTxsubject to Ax=bx≥0\begin{align*} minimize\quad c^{T}x\\ subject\ to\ Ax=b\\x\ge0 \end{align*}minimizecTxsubject to Ax=bx≥0​

所有的线准型,例如某线性规划问题具有以下形式,与标准型不同的是,该形式用了不等式约束

minimizecTxsubject to Ax≥bx≥0\begin{align*} minimize\quad c^{T}x\\ subject\ to\ Ax\ge b\\x\ge0 \end{align*}minimizecTxsubject to Ax≥bx≥0​

可以通过引入剩余变量yyy的方式,将以上问题转化为标准型

minimizecTxsubject to Ax−Imy=[A−Im][xy]=bx≥0,y≥0\begin{align*} minimize\quad c^{T}x\\ subject\ to\ Ax-I_{m}y=\begin{bmatrix} A & -I_{m}\end{bmatrix}\begin{bmatrix} x \\ y\end{bmatrix}=b\\x\ge0,y\ge0 \end{align*}minimizecTxsubject to Ax−Im​y=[A​−Im​​][xy​]=bx≥0,y≥0​

如果约束条件具有以下形式:

Ax≤bx≥0\begin{align*} Ax\le b\\ x\ge 0 \end{align*}Ax≤bx≥0​

可以通过引入剩余变量yyy,将约束条件转换为

Ax+Imy=[AIm][xy]=bx≥0,y≥0Ax+I_{m} y =\begin{bmatrix} A & I_{m}\end{bmatrix}\begin{bmatrix} x \\ y\end{bmatrix}=b\\x\ge0,y\ge0Ax+Im​y=[A​Im​​][xy​]=bx≥0,y≥0

线性规划问题的基本解

上文提到,任何线性规划问题都可以转换为标准型,即约束条件为线性等式,决策变量非负。

考虑方程Ax=bAx=bAx=b,其中rank(A)=mrank(A)=mrank(A)=m,为了求解这类问题,通常从矩阵AAA的一部分列向量入手。为方便起见,可以将AAA中的列向量重新进行排序,将感兴趣的列向量排在前列。具体来说,从AAA中选取 m 个线性无关的向量组成方阵BBB,对AAA的列向量重新排序,可以使BBB中的列向量位于AAA的前 m 列,即AAA可以写为分块矩阵A=[B,D]A=[B,D]A=[B,D],其中DDD是m∗(n−m)m*(n-m)m∗(n−m)矩阵,它由AAA中剩余的列向量组成。矩阵BBB是非奇异的,因此求解方程BxB=bBx_{B}=bBxB​=b可以得到唯一解xB=B−1bx_{B}=B^{-1}bxB​=B−1b。令xxx为 n 维向量,它的前 m 个元素等于xBx_BxB​,其余元素为零,即x=[sBT,0T]Tx=[s_{B}^{T},0^{T}]^{T}x=[sBT​,0T]T,则xxx是方程Ax=bAx=bAx=b的一个解。

[xBT,0T]T[x_{B}^{T},0^{T}]^{T}[xBT​,0T]T是Ax=bAx=bAx=b在BBB下的基本解,向量xBx_{B}xB​中的元素称为基变量,BBB中的列向量称为基本列向量。

退化的基本解--->基本解中的某些基变量为 0 可行解--->满足Ax=0,x≥0Ax=0,x\ge 0Ax=0,x≥0的向量xxx 基本可行解--->某个可行解也是基本解 退化的基本可行解--->某个基本可行解是退化的基本解

在求解线性规划问题时,仅需要考虑基本可行解,因为目标函数的最优解如果存在,那么一定是在某个基本可行解上得到。

线性规划基本定理 1.如果存在可行解,那么一定存在基本可行解 2.如果存在最优可行解,那么一定存在最优基本可行解

线性规划基本定理将线性规划问题的求解转换为在有限数量的基本可行解上进行搜索,这极大地缩减了求解的工作量。

从几何的角度来看,标准线性规划中的约束Ax=b,x≥0Ax=b,x\ge 0Ax=b,x≥0中的点集是凸集,即对于任何x,y∈Θx,y\in \Thetax,y∈Θ和实数α\alphaα,0<α<10<\alpha <10<α<1,有αx+(1−α)y∈Θ\alpha x+(1-\alpha)y\in \Thetaαx+(1−α)y∈Θ,对于凸集内的点xxx,如果在Θ\ThetaΘ中找不到两个不同的点x1x_{1}x1​和x2x_{2}x2​使x=αx1+(1−α)x2x=\alpha x_{1}+(1-\alpha)x_{2}x=αx1​+(1−α)x2​成立则称xxx是极点,可以通过证明得到,约束集的极点与基本可行解是等价的。

从某个极点转移到另一个相邻极点的算法就是单纯性法求解线性规划问题的思路,后面的文章将对单纯形法以及对偶等概念进行详细介绍。

←Previous: Linear DualNext: ML Numerical Methods→

Comments