组合数学练习5

flymist 2010-05-09

复习到了SA,正好做了一道利用SA解决LP问题,是非常基础的一道题目。

求x1-3x2的最小值?

其中满足的条件是:2x1+3x2<=6,-x1+x2<=1,x1>=0,x2>=0,一看可能会有点熟悉的题目吧,是啊,这个是高中最普遍的解决线性规划的问题,我们当时的变量不多,如果变量好多的话,解决就要需要电脑了,现在我用SA的想法来解决问题。

首先要加入衬垫变数x3,x4,使得2x1+3x2+x3=6,-x1+x2+x4=1,其中x1>=0,x2>=0,x3>=0,x4>=0.然后利用SA算法,下面有表格做说明

0-1-300x1x2x3x4623101-1101

做法首先确定了其中的基底x3和x4(两个是线性无关的),然后找到第一行中的是负数的最小的那个,然后纵向找到一个正数即3,接着就是线性代数的知识,使得基底进行变动,并且使得第一行中的负数变为0

3-4003x1x2x3x43501-31-1101

下面的操作和上面的类似,最终得到

27/5004/53/5x1x2x3x43/5101/5-3/58/5011/52/5

对应表格中的左上角的数正是我们所求数的相反数,所以最小的值因为-27/5,而此时我们可以得到x1=3/5,x2=8/5

相关推荐