前言
关于线性规划,在高中刚接触时就感觉,好像最优解都是在顶点取到,但是又不敢确定,毕竟这只是种感觉,并非通过数学证出,然后在接触到运筹学中的单纯形法之后,这一感觉才被确定下来,最优解就是在顶点取到的,而且改法同时提出可行域的所有顶点可以由基可行解表示出来,这也就是说,我们只要讨论所有基可行解就可以得到最优解了。
相关概念
- 线性规划的标准形式
特点:等式,大于等于0
- 可行解
- 可行域
- 基(讨论对象是系数矩阵,下面对应的四个定义都是对于未知量的取值的定义)
- 基变量 :
- 非基变量:
- 基解:非基向量全部取0
- 基可行解:所有元素取值满足大于零的基解
- 凸集
- 顶点:个人觉得这里结合线代进行理解比较好,因为这里顶点其实本身就是一个向量,而顶点的意思就是说在可行域中不存在两个点(可以当成向量)的连线穿过该点,换成线性代数中话就是,顶点向量不能有可行域除了该点的其他向量线性表示。这种理解的好处就是你会发现这会与基可行解的正分量的系数列向量是线性无关的相呼应(也有可能是我在扯淡)。你试想下,由系数矩阵组成的基刚好可以唯一确定一个点,而这个点刚好就是可行域的顶点。
单纯形法的计算
- 确定初始基可行解
- 确定相邻的基可行解
- 验证最优值
计算总思路:这种方法将求最优值直接转换为对系数的讨论,通过对系数的讨论来得到最优值。在第二步进行迭代时候,由于要通过矩阵变换来得到单位矩阵,这个过程就是将找最优解的过程,改变为矩阵变换。从第二步到第三步的所有计算过程,无非就是想通过代数的运算将最优值直接和系数挂上钩(P25~P26),可以看到最终通过更换单位矩阵中对应的变量,可以通过计算
来直接判断最优值(解释的不是很清楚,但是要知道这么长的两页的意图是是什么)
所代表的是替换变量后减去替换目标前(这前代表的就是我们当前要检验的)
关键的点:第二步怎么换,换哪个
由
决定,取所有正的
中最大的一个对应的变量(设为第k列),之后就要确定被替换的变量了,这时需要用等式
中的右边除以左边变量的正系数,并取这一系列比值中的最小值对应的元素为主元素,由此主元素的位置可以确定被替换变量的列数(就是单位矩阵中非零元素和此元素同行的那一列变量)
从两阶段法中,加深了对于单纯形法的理解,在单纯形法的第一个计算步骤中可以知道,只要可以得到初始基可行解就可以进一步往下推到,而之前提到的单位基只不过这个方法中的一种而已,基变量在单纯形法中对应的基都是单位矩阵。
松弛变量在目标函数中的系数为0
相当于一面一面切