单纯形法b列怎么算(单纯形 单纯形法计算步骤详解)

知源网 18 0

老铁们,大家好,相信还有很多朋友对于单纯形法b列怎么算和单纯形 单纯形法计算步骤详解的相关问题不太懂,没关系,今天就由我来为大家分享分享单纯形法b列怎么算以及单纯形 单纯形法计算步骤详解的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

单纯形法b列怎么算(单纯形 单纯形法计算步骤详解)-第1张图片-知源网

一、单纯形法详细步骤

1、单纯形法的基本想法是从线性规划可行集的某一个顶点出发,沿着使目标函数值下降的方向寻求下一个顶点,面顶点个数是有限的,所以,只要这个线性规划有最优解,那么通过有限步选代后,必可求出最优解 。

2、为了用选代法求出线性规划的最优解,需要解决以下三个问题  :

3、(1)最优解判别准则,即迭代终止的判别标准  ;

4、(2)换基运算,即从一个基可行解迭代出另一个基可行解的方法 ;

5、(3)进基列的选择,即选择合适的列以进行换基运算,可以使目标函数值有较大下降

二、单纯形法中的检验数是如何算出的

1、用基变量在目标函数中的系数,乘以你要算得那个变量对应的系数列的各个值,并求和,再减去要算得那个变量在目标函数中对应的系数,就是检验数。

2、在目标规划中,p1p2p3不是具体算出来的值,而是按照原先的方法在草纸上写出计算校验数的式子,系数有p1p2p3就带着,整理会得到一个关于p1p2p3的式子,那一列填的就是这个式子中p1p2p3的系数,就这样一列一列就可以填好。

3、原单纯形法不是很经济的算法。1953年美国数学家G.B.丹捷格为了改进单纯形法每次迭代中积累起来的进位误差,提出改进单纯形法。

4、其基本步骤和单纯形法大致相同,主要区别是在逐次迭代中不再以高斯消去法为基础,而是由旧基阵的逆去直接计算新基阵的逆,再由此确定检验数。这样做可以减少迭代中的累积误差,提高计算精度,同时也减少了在计算机上的存储量。

5、参考资料来源:百度百科-单纯形法

三、单纯形法计算线性规划的步骤

1、如果依靠软件,比如MATLAB,MATHEMATICA什么的(甚至EXCEL),都有现成的线性规划的解决方案,照你图里面的条件输入就可以了(不知道具体的软件无法回答)。

2、以下说明不用软件的手动计算单纯形法的标准方法。

3、首先添加松弛变量,因为有3个方程,故添加3个松弛变量S1,S2,S3。约束方程组变为:

4、2X1+X2+X3+S1=2(注意小于等于号变成了等于号,这就是添加松弛变量的作用)。

5、这是一个6个未知数(n),3个方程的方程组(m)。则选择n-m=3个变量作为“基变量”,让其余变量为0(非基变量)。使得方程组退化为:3个未知数,3个方程的方程组。然后根据对目标函数的影响迭代求解。

6、注意:单纯形法是一个迭代(或者说尝试的过程)。

7、先列出单纯形表(一个矩阵,里面的数据是目标函数和方程组的系数)。

8、当我们选择从原点开始(令X1,X2,X3为0,则得到一个基本解:S1=2,S2=3,S3=6,目标函数X0=0;),则单纯形矩阵如下:

9、呃,不知道怎么在百度里面输入矩阵这种东西。。。反正第一行就是目标函数的方程的系数:

10、其他行就是下面的方程组。矩阵的最右边一列是方程的右边项。

11、此时的矩阵是令X1,X2,X3为非基,S1,S2,S3为基的,代表“原点”(起始点)的矩阵,此时的目标:X0=0

12、然后选择目标函数中系数最大的变量为“进基”(就是选他进入基变量组,设为0),选择解和“进基”变量之比为最小非负数的变量为“离基”(就是让他离开基变量组,不设为0)。

13、在这里,选择X1作为进基(因为其在目标方程中的系数最小(负得最多,此题选X3也可),S1为离基(因S1行的解与X1系数之比为1,为最小非负数),然后进行矩阵运算(线性代数里面学的那些东西),使得矩阵的第一行中,代表X1,S2,S3的系数为0,S1不为0。

14、继续矩阵变换,选择进基和离基,直到目标函数的所有系数非负(停止条件),如果是最小化问题则是非正。

四、单纯形法的计算步骤

1、第一步:基于约束条件方程组的系数矩阵,通过寻找或构造单位矩阵的方法,确定基变量,从而求出初始基本可行解,再利用初始基本可行解及线性规划模型提供的信息,编制初始单纯形表。

2、第二步:将检验数cj-zj作为判断基本可行解是否为最优解的标准,

3、(1)若所有非基变量的检验数cj-zj<0,已经达到最优解,计算停止。

4、(2)若存在cj-zj>0,但所有cj-zj>0所在列对应的所有aij≤0,无最优解,计算停止。

5、(3)若至少存在一个cj-zj>0,并且所对应的所有j列中至少有一个aij>0,没有达到最优解,转到第三步。

6、第三步:继续迭代,求解下一个使目标函数更优的基本可行解。

关于本次单纯形法b列怎么算和单纯形 单纯形法计算步骤详解的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

标签: 单纯形法

抱歉,评论功能暂时关闭!