图1
图2
图1是线性规划问题转化后的标准形式,图2是对图1的另一种形式(即单纯形表),具体编程按图2格式编写。
具体步骤如下:
第一步:作单纯形表.
(1)将原线性规划问题化为标准形式;
(2) 找出初始可行基,通常取约束方程组系数矩阵中的单位矩阵;
(3) 目标函数非基化;
(4) 作初始单纯形表.
简单讲就是将一个线性规划问题转换成图2的格式!
第二步:最优解的判定.
(1)
若所有检验数都是非正数,即在图2里面可以看到Z=Z0+rTXN
,这里rT 向量里面系数都是非正数的话,那么此时线性规划问题已取得最优解.
(2)
若存在某个检验数是正数并且其系数都为非负数的话无最优解。例如:在Z=Z0+rTXN
中xi的系数为正并且在图2中QXN里对应于xi的系数都为非负数,则些线性规划问题无最优解.
如果以上两条都不满足,则进行下一步.
第三步:换基迭代.
(1)找到最大正检验数(在rT中),设为u并确定u 所在列的非基变量
xu为进基变量.
(2)对最大正检验数u所在列实施最小比值法,确定出主元.主元是最大正检验数 u所在列,用常数项
pi与进基变量xu 所对应的列向量中负分量的比值最小者;
下面两张图是解释为什么这么做的!
(3)换基:用进基变量 xu替换出基变量xv
,从而得到新的基变量.也就是主元所在列的非基变量进基,所在行的基变量出基;
(4)更新:更新其它存在xu的行,将其用非基本变量表示。因此Q,p, Z0,
rT相应更新。
(5)矩阵重新排列保证像x1