前面写过了例一,为了增强大家对该算法的理解,我又准备了例二和比较详细的解题步骤。
方法/步骤
1
题目:求解Max Z = 6*x1 - 2*x2 + 3*x3 ;s.t.[x1 - 1/2*x2 + x3 + x4 <= 1 ; x1 + 4*x3 + x5 <= 4 ; x1,x2,x3,x4,x5 >= 0 ]
2
将题目形式化为标准型,即将不等号化成等于号的形式。结果如下图所示:
3
然后将标准型填写成初始单纯形表,进行迭代计算。在这画出单纯形表之后,我们可以看出最下面大于0且为最大的数字为“6”,所以选择x1列为进基变量,再由b/x1列的值,选出最小的比值,然后确定出“1”为出基变量。
4
选出了出基变量之后,我们就需要进行迭代。使得“1”所在列的“x4”换成“x1”,由于出基变量为“1”,所以不需要在化成1,只需要将“1”所在列其余数字计算得出“0”进行迭代,得出下式,然后继续寻找进基变量和出基变量进行迭代。
5
不断的进行迭代之后知道所有的最后一列结果都小于等于0,结束迭代,所得到的x1 = b的值,也就是4,x2 = 6,计算就可得出最优解。
注意事项
1
运筹学关于单纯形法就是要不断得练习,这样才能使你最后能快速,准确的完成题目。
2
在这还是在强调一下迭代,迭代过程一定要仔细,随便一个数字错了就会使你功亏于溃。
上一篇:c语言编程题目100
下一篇:左脑开发练习题(20)