单纯形法
本次的学习心得,主要是参考张树柱老师的教学视频,在此非常感谢老师的讲解。有需要的小伙伴可以去B站去看,视频链接。
1. 预备知识:
(1)仿射函数即由1阶构成的函数,⼀般形式为 f ( x ) = A x + b f (x) = A x + b f(x)=Ax+b。
(2)目标函数和约束函数都是仿射函数,问题则称为线性规划,因为不等式约束函数和等式约束函数都是仿射函数,所以可行集是一个多面体。
因此,如果对于一个非空可行域 p p p来说,LP 问题一定是在某个顶点处达到最优。
因此,在一个约束方程组(m x n)其中,n > m,表示变量个数大于约束个数,我们假设起系数矩阵的秩为m,因此,基解的总数不会超过 C n m C_n^m Cnm个。
有了上述定义, 我们假设寻找一个 LP 问题的最优解,那么我们只需要研究如何在不同顶点间移动,从而找到最优解,那么这个过程其实也是单纯形法的本质。
从几何上来看如【图1】所示。
从上面这张图,可以发现,我们从一个点,去寻找最优点时,我们需要确定两个事情:
【1】移动方向
【2】移动部长
首先,我们假设我们的移动,从 x x x移动到 x + θ ∗ d x+\theta*d x+θ∗d,通过选择一个非基变量 x j x_j xj(初始为0),增大这个非基变量到一个正数 θ \theta θ,同时保证其他非基变量为0。
通过这样的约束,从而可以保证,在移动过程中,我们的约束条件是保持不变的。
通过上述推导公式可以看出,基变量在移动过程中 d B = − B − 1 A j d_B=-B^{-1}A_j dB