4. 单纯形法计算步骤

(1)首先,单纯形法必须要保证模型化为标准型,模型如下。
即模型转为标准型
在这里插入图片描述
(2)通过标准型转成表格的形式,方便之后的计算【初始表】
即找到基变量,计算Z = ∑基变量 * 系数
在这里插入图片描述
因为,在计算目标函数值Z的时候,只有基变量参与运算,而其他变量不参与运算。Z = 0X3 + 0X4 + 0X5 + 0X6
单纯法计算目标函数值的时候,让非基变量为0,而只有基变量参与运算。
(3)通过表格计算检验数
计算检验数
在这里插入图片描述
计算方法为cj - CB * x1得到第一个检验数2
式子:2-02-01-04-00 = 2即下图中红色圈位置
在这里插入图片描述
而基变量的检验数一定为0,这里通过计算检验数,判断是否取到最优值。
(4)在开始迭代,首先找检验数最大的列即x2,在用右端项b除以x2,得到12/2、8/2、空值、12/4。这里不要负值,也不要除不尽的值,选择正的,非0元素,找到一个最小行即x6。
在这里插入图片描述
这里,x2和x6的交点处4为主元素。
(5)使其第四步的主元素的列变为1 0 0 0,第四步图中的主元素4变为1,上面的元素都变为0。所以这一行应该除以4,【这中间的原酸都要经过初等行变换,即必须整行整列乘除,或倍加减】,这里操作的Ax = b的这个矩阵,系数当做一个来看。
在这里插入图片描述
其中,右边的框主元素由原来的4变成1,同列上面的元素都通过同加同减,变成0,那么根据1的对应关系,会得到一个新的单位矩阵。单位矩阵根据新的单位矩阵的1对应变量分别为x2,x3,x4,x5,所以,左边框要换对应元素,Xb换成对应元素,Cb换成元素对应的成本系数值。那么,目标函数值Z = 06 + 02 + 0*16 + 3 *3 = 9
(6)在重新计算检验数,如下图
在这里插入图片描述
(7)选择一个检验数最大的列,得到表格右端值,找到一个正数最小的,选定主元素。
在这里插入图片描述
(8)将主元素变成0 1 0 0,利用初等行变换。
在这里插入图片描述
(9)在选择检验数最大的列,计算表格右端值,选择正数最小的行 ,两个4选择哪个都可以,找到主元素。
在这里插入图片描述
(10)将主元素的列变成1 0 0 0,利用初等行变换,而初等行变换只能操作Ax = b的矩阵其他值不动,这里基变量也是跟着变得,基变量变动就会引起目标函数值Z的变动。重新计算检验数,发现都<=0,得到最优解。
在这里插入图片描述
最优值:Z = 0 * 4 + 2 * 4 + 0 * 0 + 3 * 2
最优解:x1 = 4,x2 = 2,x3 = 0,x4= 0,x5=0,x6 = 4
下面来个练习
在这里插入图片描述

步骤总结

1.找到单位矩阵即可找到基变量和非基变量,可计算Z
2.计算检验数,判断是否得到最优解【检验数如果都<=0,则得到最优解】(或无界解)。否则,选择最大检验数的列
3.确定比值小的行,交叉点为主元素。
4.通过初等行变换,将主元素变成1,该列其他元素变成0。
又得到新的单位矩阵,循环至第一步。【检验数:代价向量-∑(基变量*b);Z = ∑(基变量 * b)】

本文所写内容参考链接:
1.https://www.bilibili.com/video/BV1jy4y1g77R?p=1&share_medium=android&share_plat=android&share_source=COPY&share_tag=s_i&timestamp=1625575455&unique_k=bvcAWM

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐