一、大M法的作用
其实我们可以从代数和几何两个角度理解两阶段法和大M法,但是几何角度作者暂时还没有思考到有合适的理解方法,先暂时用代数的角度理解。
在单纯形法的理解中我们讲到,单纯形法迭代过程中每一步都是在可行域的顶点上,但是我们一开始无法直观地看出初始基可行解的情况,也就是没有办法找到第一个顶点,因此我们就想要根据单纯形表迭代的方法寻找初始基可行解,这样我们不就相当于一个办法解决两个问题了吗?
之前我们在两阶段法中讲到,两阶段法的作用就是寻找初始基可行解(第一个顶点)。大M法其实相当于整合两阶段法中的两个阶段问题。
我们先说结论:大M法的作用就是换一种形式表达原有的问题,任何一个标准化后线性规划问题都可以采用大M法。
二、大M法的原理
在两阶段法中,我们第一阶段的问题就是使目标函数为求解人工变量之和,当人工变量之和等于0(各人工变量皆等于0)时,那么构建的问题就等于原问题。
其实,大M法的原理也是相同的,都是需要令人工变量之和等于0(各人工变量皆等于0)。第一节中我们说,大M法的作用就是换一种形式表达原有的问题,我们先看看这种形式是怎样表达问题的,其中M是足够大的正数。
我们来思考现在这个问题:
从目标函数出发,当求解的人工变量之和不等于0,则目标函数值中一定会存在M,我们求一个问题的最小值,但是问题的结果是无穷大,说明这个问题不存在最小值,也就相当于原来的问题不存在可行解。(这里还需要再考量一下)。
从约束和松弛变量的角度出发,当求解的人工变量之和不等于0,即x6,x7,x8不全都等于0的时候,说明一定需要这个变量才能维持对应约束成为紧约束,因此当我们去掉这个变量时,原来的等式就不成立了,也就是说,无法同时满足原问题的所有约束,即原问题没有可行解。
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | b | |
约束1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 18 |
约束2 | 2 | 0 | -1 | 0 | 0 | 0 | 1 | 0 | 2 |
约束3 | 0 | 3 | 5 | 0 | -1 | 0 | 0 | 1 | 15 |
目标函数 | -2 | -1 | -9 | 0 | 0 | M | M | M | 0 |
三、大M法的流程
我们再次声明,从代数角度理解,大M法的本质就是换一种形式表达原有的问题,因此我们只需要将线性规划问题化为大M法的表达形式,并当作正常的线性模型在单纯形表中进行处理即可。