人工变量法
数学术语
在线性规划问题的单纯形法中,若标准化后找不到单位矩阵,可以采用人造基,给方程加入人工变量后,用大M法和两阶段法处理求解。是求解线性规划问题的一种方式。
定律定义
其公式如下:
→ ,其中Xs是xs松弛变量组成的向量。
正如上式所展示的那样,所有约束是(≤),并且有非负右端项(bi≥0)的线性规划,化为标准形式是在每个不等式的左端添加一个松弛变量,这时约束等式左端的系数矩阵就含有一个单位矩阵I,取这个单位矩阵为初始基,很容易得到一个初始基本可行解,从而建立单纯形表
但包含(=)和或(≥)约束条件则不是如此。对于(≥)型约束来说,标准化时需添加剩余变量,其系数为-1,而对(=)型约束,则没有松弛变量,因此存在这两种约束条件标准化后缺少足够的松弛变量的系数组成(诸如)十分直观的单位矩阵,也即无法不做变换地找到基本可行解。这时候可以利用人工变量x(artificial variables)类似松弛变量添加到等式中去,让它们在第一次迭代起着松弛变量的作用,并随后用某次迭代中再把这些人工变量去掉。
由于人工变量存在于初始基本可行解,而且人工变量是虚拟变量,它们在目标函数极值时不应该存在数值,因此需要将它们从基变量中替换出来。若人工变量可以从基变量中替换出来,即基变量中不含有非零的人工变量,表示原问题有解;若人工变量不可以从基变量中替换出来,则表示原问题无可行解。
求解方法
加入人工变量后,一般可采用大M法两阶段法处理。
大M法
如果是求极大值,即假定人工变量在目标函数中的系数为-M(M是任意大正数);如果是求极小值,人工变量在目标函数中的系数为M。用单纯形法对模型求解,如基变量中还存在M,就不能实现极值。
两阶段法
用计算机处理数据时,只能用很大的数代替M,可能造成错误,故多采用两阶段法。
第一阶段:在原线性规划问题中加入人工变量,构造模型。构造模型的目标函数为:
用单纯形法对上述模型求解。若W=0,说明问题存在基本可行解,可以进行第二个阶段;否则,原问题无可行解,停止运算。
第二阶段:在第一阶段的最终表中,(1)去掉人工变量,(2)将目标函数的系数换成原问题的目标函数系数,作为第二阶段计算的初始表,用单纯形法计算。
求解结果
1、无可行解:运算到检验数全负为止,若仍含有人工变量在基可行解未进入非基变量,则无可行解。
2、退化:若计算出的用于确定换出变量的 有两个以上最小值,会造成下一次迭代中有一个或几个基变量等于零。
为避免退化,虽任意换出变量目标函数值不变,但此时不同的基却表示为同一顶点,其特例是永远达不到最优解,需作如下处理兰特Bland规则:
(1)当 中出现两个以上最大值时,选下标最小的非基变量为换入变量;
(2)当 中出现两个以上最小值时,选下标最小的基变量为换出变量。
适用范围
当存在(=)和或(≥)约束条件时使用该方法。
虽然标准化后可能存在单位矩阵可以不需要添加人工变量,但是它不具有代表性,而且人工变量法具有普适性,即使添加上了不妨碍结果,人工变量法比起寻找单位矩阵,无论在人工还是计算机计算时都有更高的可操作性。
参考资料
最新修订时间:2022-08-25 14:50
目录
概述
定律定义
参考资料