解线性规划问题的内生典式单纯形法
An Endogenous Typical form Simplex Method for Solving Linear Programming Problems
DOI: 10.12677/AAM.2022.1112912, PDF, HTML, XML, 下载: 252  浏览: 374  科研立项经费支持
作者: 张少华:遵义师范学院数学学院,贵州 遵义
关键词: 线性规划单纯形法大M法两阶段法对偶单纯形法内生典式法Linear Programming Simplex Method Large M Method Two-Stage Method Dual Simplex Method Endogenous Typical Form Method
摘要: 对于线性规划问题的约束方程组对应的系数矩阵中没有子矩阵为单位矩阵,如大M法、两阶段法、对偶单纯形法等,都是采取“凑一个单位矩阵”出来,然后进行求解,过程繁琐、迭代次数较多。针对这一问题,采用实验法、分析法和比较法,对线性规划问题的求解过程进行研究,根据约束方程组的内在联系,利用消元法,从系数矩阵中推导出一个单位矩阵,从而使问题得以解决,因此提出了求解线性规划问题的内生典式单纯形法。实验结果显示,内生典式单纯形法适用题型多,求解快捷,迭代次数平均为0.75次。
Abstract: There is no sub matrix in the coefficient matrix corresponding to the constraint equations of the linear programming problem as the unit matrix, such as the large M method, the two-stage method, the dual simplex method, etc., which are all “gathered together a unit matrix” and then solved. The process is cumbersome and the number of iterations is large. In order to solve this problem, ex-perimental method, analytical method and comparative method are used to study the solution process of the linear programming problem. According to the internal relationship of the constraint equations, a unit matrix is derived from the coefficient matrix by elimination method, so that the problem can be solved. Therefore, an endogenous typical form simplex method for solving the line-ar programming problem is proposed. The experimental results show that the endogenous typical form simplex method is applicable to many types of questions, fast in solving, and the average number of iterations is 0.75.
文章引用:张少华. 解线性规划问题的内生典式单纯形法[J]. 应用数学进展, 2022, 11(12): 8658-8665. https://doi.org/10.12677/AAM.2022.1112912

1. 引言

单纯形法解线性规划问题,常常遇到约束方程组的系数矩阵中没有单位向量,或单位向量的个数不够,需要补充所缺的单位向量,因而产生了大M法、两阶段法、对偶单纯形法等。然而,约束方程组的系数矩阵中是存在基矩阵的 [1]。能不能在这些基矩阵中经过方程组的行初等变换,化出一个单位矩阵来呢?经过不断的实践,反复的演算 [2],终于找到了解决这一问题的方法——内生典式单纯形法。

2. 基础理论知识

线性规划问题的一般模型为 [3]

max min z = C X s .t . { A X ( = , ) b X 0 max z = C X s .t . { A X = b X 0

现在设 A = [ a 11 a 12 a 1 n a 21 a 22 a 2 n a m 1 a m 2 a m n ] = ( P 1 , P 2 , , P m , P m + 1 , , P n ) = ( B , N )

其中 B = ( P 1 , P 2 , , P m ) N = ( P m + 1 , , P n ) . P 1 , P 2 , , P m 为基向量, P m + 1 , , P n 为非基向量。

X = [ X B X N ] ,其中 X B = ( x 1 , x 2 , , x m ) T X N = ( x m + 1 , x m + 2 , , x n ) T

因此, A X = b 等价于 B X B + N X N = b ,则 X B = B 1 ( b N X N ) 。令 X N = 0 ,且 B 1 b 0 时,基可行解为 X * = B 1 b b = ( b 1 , b 2 , , b m ) T

以往对于线性规划问题的约束方程组对应的系数矩阵中没有子矩阵为单位矩阵,如大M法、两阶段法、对偶单纯形法等,都是采取“凑一个单位矩阵”出来,然后进行求解。这些解法,过程繁琐、迭代次数较多。

根据线性方程组的消元解法,一般地,标准型线性规划的约束方程组 A X = b 经过行初等变换,总可以化为如下典式方程组:

x 1 + a 1 m + 1 x m + 1 + + a 1 n x n = b 1 x 2 + a 2 m + 1 x m + 1 + + a 2 n x n = b 2 x m + a m m + 1 x m + 1 + + a m n x n = b n (1)

这样,就能从系数矩阵中推导出一个单位矩阵 I m × m ,就不用额外去增加人工变量 [4],从而增加单位向量而使用大M法、两阶段法、对偶单纯形法等来求解线性规划问题 [5] [6] [7]。现由(1)式立即可列出第一张单纯形表,就能进行迭代求解了。这样可以大大减少迭代次数,从而快速求解线性规划问题。这种先通过行初等变换化约束方程组为典式方程组来求解线性规划问题的方法,就称为内生典式单纯形法,简称内生典式法。

内生典式单纯形法解题步骤如下:

第一步:根据线性规划约束方程组 A X = b 的特点,应用消元法,将约束方程组化为 I m × m X B + B 1 N X N = B 1 b ,其中 I m × m 为m阶单位矩阵。

第二步:列出第一张单纯形表,确定中心元(转轴元)、进基变量、出基变量。以下与单纯形法步骤一致。对应各变量 x j 的检验数为 σ j = c j i = 1 m c i a i j ( j = 1 , 2 , 3 , , n )

下面举例来验证其效果。

3. 实例验证

3.1. 实例1

求解线性规划问题

分析:这个问题,通常用大M法迭代求解,需要进行3次迭代。用两阶段法来求解,需要进行4次迭代。这两种解法,计算量都较大。下面用内生典式单纯形法来求解。

解:先把原规划化为标准形式,得

max z = 2 x 1 + 5 x 2 + 0 x 3 + 0 x 4 + 0 x 5 s .t . { x 1 + 2 x 2 + x 3 = 8 x 1 + x 2 x 4 = 2 x 2 + x 5 = 3 x 1 , x 2 , x 3 , x 4 , x 5 0

对上述约束方程组进行行初等变换,化为典式方程组

max z = 2 x 1 + 5 x 2 + 0 x 3 + 0 x 4 + 0 x 5 s .t . { x 1 + 2 x 2 + x 3 = 8 x 2 + x 3 + x 4 = 6 x 2 + x 5 = 3 x 1 , x 2 , x 3 , x 4 , x 5 0

列出单纯形表,见表1

Table 1. Example 1 iteration operation table

表1. 实例1迭代运算表

最优解为 x * = ( 2 , 3 ) T ,最优值 z * = 19

从以上解题过程可以看出,只需要进行1次迭代,就能求出最优解。

3.2. 实例2

求解线性规划问题 [3]

min w = 3 x 1 + x 2 + x 3 s .t . { x 1 2 x 2 + x 3 11 4 x 1 + x 2 + 2 x 3 3 2 x 1 + x 3 = 1 x 1 , x 2 , x 3 0

分析:这个问题,通常采用大M法、两阶段法来求解。用大M法、两阶段法,都需要进行3次迭代,计算量很大。现用内生典式单纯形法来求解。

解:设 z = w ,则可把原规划化为标准形式,得

max z = 3 x 1 x 2 x 3 + 0 x 4 + 0 x 5 s .t . { x 1 2 x 2 + x 3 + x 4 = 11 4 x 1 + x 2 + 2 x 3 x 5 = 3 2 x 1 + x 3 = 1 x 1 , x 2 , x 3 , x 4 , x 5 0

现在对约束方程组进行行初等变换,化为典式方程组

{ 3 x 1 + x 4 = 12 x 2 x 5 = 1 2 x 1 + x 3 = 1 x i 0 ( i = 1 , 2 , 3 , 4 , 5 )

列出单纯形表,见表2

Table 2. Example 2 iteration operation table

表2. 实例2迭代运算表

最优解为 x * = ( 4 , 1 , 9 ) T ,最优值 w * = z * = 2

从以上解题过程可以看出,只需要1次迭代,就能求出最优解。

3.3. 实例3

求解线性规划问题 [3]

min w = 2 x 1 + 3 x 2 + 4 x 3 s .t . { x 1 + 2 x 2 + x 3 3 2 x 1 x 2 + 3 x 3 4 x 1 , x 2 , x 3 0

分析:这个问题,通常用对偶单纯形法来求解比较快捷,需要进行2次迭代。用大M法、两阶段法,都需要进行3次迭代,计算量很大。现用内生典式单纯形法来求解。

解:设 z = w ,则可把原规划化为标准形式,得

max z = 2 x 1 3 x 2 4 x 3 + 0 x 4 + 0 x 5 s .t . { x 1 + 2 x 2 + x 3 x 4 = 3 2 x 1 x 2 + 3 x 3 x 5 = 4 x 1 , x 2 , x 3 , x 4 , x 5 0

现在对约束方程组进行行初等变换,化为典式方程组

max z = 2 x 1 3 x 2 4 x 3 + 0 x 4 + 0 x 5 s .t . { x 1 + 2 x 2 + x 3 x 4 = 3 5 x 2 x 3 2 x 4 + x 5 = 2 x 1 , x 2 , x 3 , x 4 , x 5 0

列出单纯形表,见表3

Table 3. Example 3 iteration operation table

表3. 实例3迭代运算表

最优解为 x * = ( 11 / 5 , 2 / 5 , 0 ) T ,最优值 w * = z * = 28 / 5

从以上解题过程可以看出,只需要1次迭代,就能求出最优解。

3.4. 实例4

求解线性规划问题

min w = 2 x 1 + x 2 + 5 x 3 s .t . { x 1 x 2 + x 3 4 x 1 + 3 x 2 + 4 x 3 12 x 2 x 3 2 x 1 , x 2 , x 3 0

分析:这个问题,通常采用对偶单纯形法、大M法、两阶段法来求解。用对偶单纯形法,需要进行3次迭代,用大M法,需要进行3次迭代。用两阶段法来求解,需要进行4次迭代。计算量很大。现用内生典式单纯形法来求解。

解:设 z = w ,则可把原规划化为标准形式,得

max z = 2 x 1 x 2 5 x 3 + 0 x 4 + 0 x 5 + 0 x 6 s .t . { x 1 x 2 + x 3 x 4 = 4 x 1 + 3 x 2 + 4 x 3 + x 5 = 12 x 2 x 3 x 6 = 2 x i 0 ( i = 1 , 2 , 3 , 4 , 5 , 6 )

现在对约束方程组进行行初等变换,化为典式方程组

max z = 2 x 1 x 2 5 x 3 + 0 x 4 + 0 x 5 + 0 x 6 s .t . { x 1 x 4 x 6 = 6 7 x 3 + x 4 + x 5 + 4 x 6 = 0 x 2 x 3 x 6 = 2 x i 0 ( i = 1 , 2 , 3 , 4 , 5 , 6 )

列出单纯形表,见表4

Table 4. Example 4 iteration operation table

表4. 实例4迭代运算表

最优解为 x * = ( 6 , 2 , 0 ) T ,最优值 w * = z * = 14

从以上解题过程可以看出,由内生典式方程组列出单纯形表,就得出了最优解,无需迭代。

4. 解法效果比较

对以上4个实例使用大M法、两阶段法、对偶单纯形法、内生典式法来求解的迭代次数进行比较,见表5

Table 5. Comparison of iteration times of various solutions for linear programming problems

表5. 线性规划问题的各种解法迭代次数比较

表5知,大M法平均迭代次数为2.75次;两阶段法平均迭代次数为3次;对偶单纯形法平均迭代次数为2次;内生典式法适用题型多,平均迭代次数仅为0.75次。

5. 结语

对线性规划问题的求解过程进行研究,根据约束方程组的内在联系,利用消元法,施行行初等行变换,从系数矩阵中推导出一个单位矩阵出来,不需要增加条件来凑配单位矩阵,从而使问题得以解决,提出了内生典式单纯形法。通过4个实例使用大M法、两阶段法、对偶单纯形法、内生典式法来求解线性规划问题的迭代次数并进行比较,得出内生典式单纯形法适应题型多,运算快捷,平均迭代次数仅为0.75次。这证明,内生典式单纯形法行之有效。正所谓,大道至简。但是,对于一些约束方程组化为典式约束方程组的过程中,遇到约束矩阵中各元素的值较大时,施行行初等行变换时,计算量较大。化约束方程组为典式方程组的技巧,即如何快捷的通过消元法推导出一个单位矩阵出来,还可以进行深入研究。如果能从一个可行基开始迭代,就求出线性规划问题的最优解,是今后改进的方向。

致谢

感谢遵义师范学院基金的支持。对文中引用参考文献的作者表示衷心感谢!

基金项目

遵义师范学院基金(KCSZPY019)。

参考文献

[1] 李鑫荣, 修乃华, 罗自炎. 低秩矩阵优化若干新进展[J]. 运筹学学报, 2020, 24(2): 23-41.
https://doi.org/10.15960/j.cnki.issn.1007-6093.2020.02.003
[2] 张少华, 秦进. 对“水仙花数”的研究[J]. 应用数学进展, 2020, 9(12): 2115-2122.
https://doi.org/10.12677/aam.2020.912245
[3] 陈秉正, 王光辉, 肖勇波, 等. 运筹学[M]. 北京: 清华大学出版社, 2022: 20, 37, 44, 82.
[4] 高培旺. 一种改进的无人工变量单纯形算法[J]. 井冈山大学学报(自然科学版), 2016, 37(5): 58-62.
[5] 孟香惠, 施保昌, 胡新生. 线性规划单纯形法的动态灵敏度分析及其应用[J]. 应用数学, 2018, 31(3): 697-703.
https://doi.org/10.13642/j.cnki.42-1184/o1.2018.03.054
[6] 刘紫燕, 梁水波, 袁浩, 孙昊堃, 梁静. 一种基于单纯形法的自适应均衡优化算法[J]. 传感技术学报, 2022, 35(1): 30-37.
[7] 夏雨, 汤峰, 余颖烨. 基于单纯形法改进的混沌控制算法[J]. 广西科技大学学报, 2022, 33(3): 53-58+73.
https://doi.org/10.16375/j.cnki.cn45-1395/t.2022.03.008