
人工变数法
线上性规划问题的单纯形法中,若标準化后找不到单位矩阵,可以採用人造基,给方程加入人工变数后,用大M法和两阶段法处理求解。是求解线性规划问题的一种方式。
基本介绍
- 中文名:人工变数法
- 外文名:Artificial variable method
- 套用学科:组合数学、运筹学
- 适用领域範围:线性规划
- 方法:大M法和两阶段法
- 意义:求解特殊的线性规划问题
定律定义
其公式如下:


正如上式所展示的那样,所有约束是(≤),并且有非负右端项(bi≥0)的线性规划,化为标準形式是在每个不等式的左端添加一个鬆弛变数,这时约束等式左端的係数矩阵就含有一个单位矩阵I,取这个单位矩阵为初始基,很容易得到一个初始基本可行解,从而建立单纯形表。
但包含(=)和或(≥)约束条件则不是如此。对于(≥)型约束来说,标準化时需添加剩余变数,其係数为-1,而对(=)型约束,则没有鬆弛变数,因此存在这两种约束条件标準化后缺少足够的鬆弛变数的係数组成(诸如
)十分直观的单位矩阵,也即无法不做变换地找到基本可行解。这时候可以利用人工变数x(artificial variables)类似鬆弛变数添加到等式中去,让它们在第一次叠代起着鬆弛变数的作用,并随后用某次叠代中再把这些人工变数去掉。

由于人工变数存在于初始基本可行解,而且人工变数是虚拟变数,它们在目标函式取极值时不应该存在数值,因此需要将它们从基变数中替换出来。若人工变数可以从基变数中替换出来,即基变数中不含有非零的人工变数,表示原问题有解;若人工变数不可以从基变数中替换出来,则表示原问题无可行解。
求解方法
加入人工变数后,一般可採用大M法或两阶段法处理。
大M法
如果是求极大值,即假定人工变数在目标函式中的係数为-M(M是任意大正数);如果是求极小值,人工变数在目标函式中的係数为M。用单纯形法对模型求解,如基变数中还存在M,就不能实现极值。
两阶段法
用计算机处理数据时,只能用很大的数代替M,可能造成错误,故多採用两阶段法。
第一阶段:在原线性规划问题中加入人工变数,构造模型。构造模型的目标函式为:

第二阶段:在第一阶段的最终表中,(1)去掉人工变数,(2)将目标函式的係数换成原问题的目标函式係数,作为第二阶段计算的初始表,用单纯形法计算。
求解结果
1、无可行解:运算到检验数全负为止,若仍含有人工变数在基可行解未进入非基变数,则无可行解。
2、退化:若计算出的用于确定换出变数的
有两个以上最小值,会造成下一次叠代中有一个或几个基变数等于零。

为避免退化,虽任意换出变数目标函式值不变,但此时不同的基却表示为同一顶点,其特例是永远达不到最优解,需作如下处理兰特Bland规则:
(1)当
中出现两个以上最大值时,选下标最小的非基变数为换入变数;

(2)当
中出现两个以上最小值时,选下标最小的基变数为换出变数。

适用範围
当存在(=)和或(≥)约束条件时使用该方法。
虽然标準化后可能存在单位矩阵可以不需要添加人工变数,但是它不具有代表性,而且人工变数法具有普适性,即使添加上了不妨碍结果,人工变数法比起寻找单位矩阵,无论在人工还是计算机计算时都有更高的可操作性。