单纯形法计算线性规划的步骤
1个回答
展开全部
如果依靠软件,比如MATLAB,MATHEMATICA什么的(甚至EXCEL),都有现成的线性规划的解决方案,照你图里面的条件输入就可以了(不知道具体的软件无法回答)。\x0d\x0a\x0d\x0a以下说明不用软件的手动计算单纯形法的标准方法。\x0d\x0a首先添加松弛变量,因为有3个方程,故添加3个松弛变量S1,S2,S3。约束方程组变为:\x0d\x0a2X1+X2+X3+S1=2(注意小于等于号变成了等于号,这就是添加松弛变量的作用)。\x0d\x0aX1+2X2+3X3+S2=5\x0d\x0a2X1+2X2+X3+S3=6\x0d\x0aX1,X2,X3,S1,S2,S3>=0\x0d\x0a这是一个6个未知数(n),3个方程的方程组(m)。则选择n-m=3个变量作为“基变量”,让其余变量为0(非基变量)。使得方程组退化为:3个未知数,3个方程的方程组。然后根据对目标函数的影响迭代求解。\x0d\x0a\x0d\x0a注意:单纯形法是一个迭代(或者说尝试的过程)。\x0d\x0a\x0d\x0a先列出单纯形表(一个矩阵,里面的数据是目标函数和方程组的系数)。\x0d\x0a当我们选择从原点开始(令X1,X2,X3为0,则得到一个基本解:S1=2,S2=3,S3=6 , 目标函数X0=0;),则单纯形矩阵如下:\x0d\x0a\x0d\x0a( {\x0d\x0a{1, -3, -1, -3, 0, 0, 0, 0},\x0d\x0a{0, 2, 1, 1, 1, 0, 0, 2},\x0d\x0a{0, 1, 2, 3, 0, 1, 0, 5},\x0d\x0a{0, 2, 2, 1, 0, 0, 1, 6}\x0d\x0a} )\x0d\x0a\x0d\x0a呃,不知道怎么在百度里面输入矩阵这种东西。。。反正第一行就是目标函数的方程的系数:\x0d\x0aX0-3X1-X2-X3+S1+S2+S3=0\x0d\x0a其他行就是下面的方程组。矩阵的最右边一列是方程的右边项。\x0d\x0a\x0d\x0a此时的矩阵是令X1,X2,X3为非基,S1,S2,S3为基的,代表“原点”(起始点)的矩阵,此时的目标:X0=0\x0d\x0a\x0d\x0a然后选择目标函数中系数最大的变量为“进基”(就是选他进入基变量组,设为0),选择解和“进基”变量之比为最小非负数的变量为“离基”(就是让他离开基变量组,不设为0)。\x0d\x0a\x0d\x0a在这里,选择X1作为进基(因为其在目标方程中的系数最小(负得最多,此题选X3也可),S1为离基(因S1行的解与X1系数之比为1,为最小非负数),然后进行矩阵运算(线性代数里面学的那些东西),使得矩阵的第一行中,代表X1,S2,S3的系数为0,S1不为0。\x0d\x0a\x0d\x0a继续矩阵变换,选择进基和离基,直到目标函数的所有系数非负(停止条件),如果是最小化问题则是非正。\x0d\x0a\x0d\x0a懒得算了,告诉你个结果吧。\x0d\x0ax0=27/5\x0d\x0ax1=1/5\x0d\x0ax2=0\x0d\x0ax3=8/5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询