关于单纯形法记录1
标准单纯形形式如下,其中x1与x2是目标函数中的变量,x3,x4与x5为松弛变量
[图片上传失败...(image-b8d648-1578580433781)]
**[图片上传失败...(image-2bca72-1578580433781)]**
我们定义系数矩阵a ,列向量为b.
[图片上传失败...(image-179688-1578580433781)]
在矩阵a中各个变量所对应的系数列向量为非线性相关,现将x3,x4与x5所对应的系数列向量组成一个初始基B,对应于初始基的变量x3,x4与x5称为基变量,则剩余变量x2,x1称为非基变量,当非基变量的值都为0时,我们便得到初始基可行解,
[图片上传失败...(image-40cf3f-1578580433781)]
可证明目标函数的最大值将在基可行解处取得,对于矩阵a来说基变量的选取是任意的,不同基变量的选取所对应的基可行解不同,对应的目标函数值也不同,将所有的基变量组合列出是繁琐的,通过 一定的条件逐次将基变量选取进行修改,直到得到最优的解。
由上的分析可知,目标函数取得最大值关键在与基变量与非基变量的选取。我们定义x3,x4与x5为初始基变量,是否满足需要对变量进行变换,看此时的目标函数有没有取更大的可能,目标函数的系数都为正,但是x2,x1为非基变量,目标函数的取值为零,如果将其中一个变量变为基变量,则目标函数的值也一定会变大,从此可以得到一个结论如果目标函数中含有非基变量的系数为正值则目标函数值还有改进的可能。此处解释了进基,与出基的原由,同时也给出了进基的一种判断方式,找到目标函数中非基变量的系数为正的中的最大值。
当定义好进基变量后必定有出基变量。对于上述例题,可知道x2为入基变量,此时x1仍为非基变量值为零,我们需要做的便是在x3,x4与x5中找到一个值为0,在三个变量中找到一个量,需要一个约束条件,这个约束条件便是自变量约束,他们的值都要满足大于等于0。
[图片上传失败...(image-b74ce8-1578580433781)]
从x2的取值范围可以得到三个基变量只有x5的取值可能为0,所以我们将x5作为出基变量,由上面的求法可以得到出基变量的求解一般方法,基变量对应的b矩阵中的值除以入基变量的系数,取其中的最小值,此时对应的基变量便是我们要找的出基边=变量。