第2章 单纯形法的几种特殊情况
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
管 理 运
0 1 0 0 0 1 0 0
筹
1 6 0 1 9 1
学
1 —
4
§4 几种特殊情况
从单纯形表中,从第一次迭代x2的检验数等于2,可知所得的基本可行 解x1=1,x2=0,s1=0,s2=9不是最优解。同时我们也知道如果进行第2次迭代, a22 =-1, a12 那么就选x2为入基变量,但是在选择出基变量时遇到了问题: =-1, 找不到大于零的比值来确定出基变量。事实上如果我们碰到这种情况就可 以断定这个线性规划问题是无界的,也就是说在此线性规划的约束条件下, 此目标函数值可以取得无限大。从1次迭代的单纯形表中,得到约束方程: x1 x2 s1 1, 移项可得:
管
理
运
筹
学
10
§4 几种特殊情况
迭 基 代 变 次 量 数 s1 s2 s3 zj cj-zj x1 s2 s3 zj cj-zj x1 x2 s3 zj cj-zj 2 0 0 2 0 0 CB x1 2 0 0 0 1 2 1 0 2 1 0 0 2 0 1 0 0 2 0 x2 0 -1 0 1 0 0 -1 2 2 -2 2 0 1 0 0 0 x3 3/2 0 1 1 0 3/2 0 1 1 0 3/2 1/2 1/2 0 1 1/2 s1 0 1 0 0 0 0 1 -2 -1 0 -2 0 -1 1 0 0 s2 0 0 1 0 0 0 0 1 0 0 0 1/2 1/2 -1 1 -1 s3 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 2 4 3 0 2 0 1 4 — 0/2 1/2 2/1 4/2 3/1 b 比值
0
1
2
2 0 1 4
2/(1/2) 0/(1/2) —
管
理
运
筹
学
11
§4 几种特殊情况
在以上的计算中可以看出在0次迭代中,由于比
值b1/a11=b2/a21=2为最小比值,导致在第1次迭代中出
现了退化,基变量s2=0。又由于在第1次迭代出现了
退化,基变量s2=0,又导致第2次迭代所取得的目标 函数值并没有得到改善,仍然与第1次迭代的一样都 等于4。像这样继续迭代而得不到目标函数的改善, 当然减低了单纯形算法的效率,但一般来说还是可
目标函数 max z x1 x2 约束条件 x1 x2 1, 3 x1 2 x2 6, x1 , x2 0.
任意的大。下面我们用单纯形表来求第二
章中的例子。
管 理 运 筹 学
3
§4 几种特殊情况
解:在上述问题的约束条件中加入松驰变量,得标准型如下:
目标函数 max z x1 x2 约束条件 x1 x2 s1 1, 3 x1 2 x2 s2 6,
x3+x6=1,
x1,x2,x3,x4,x5,x6,x7≥0.
管
理
运
筹
学
14
§4 几种特殊情况
这个例题的确存在最优解,但用一般单纯形表法,经过6 次迭代后得到的单纯形表与第0次单纯形表一样,而目标函数 都是零,没有任何变化,这样迭代下去,永远达不到最优解。 为了避免这种现象,我们介绍勃兰特法则。 首先我们把松弛变量(剩余变量)、人工变量都用xj表 示,一般松弛变量(剩余变量)的下标号列在决策变量之后, 人工变量的下标号列在松弛变量(剩余变量)之后,在计算 中,遵守以下两个规则: (1)在所有检验数大于零的非基变量中,选一个下标最小的 作为入基变量。 (2)在存在两个和两个以上最小比值时,选一个下标最小的 基变量为出基变量。 这样就一定能避免出现循环。
以得到最优解的。像本题继续计算如下:
管
理
运
筹
学
12
§4 几种特殊情况
迭 基 代 变 次 量 数 x1 x3 s3 zj cj-zj x1 x3 s1 zj cj-zj 2 3/2 0 CB x1 2 2 3/2 0 1 0 0 2 0 1 0 0 2 0 x2 0 -1 2 0 1 -1 -1 2 0 1 -1 x3 3/2 0 1 0 3/2 0 0 1 0 3/2 0 s1 0 1 -2 1 -1 1 0 0 1 0 0 s2 0 0 1 -1 3/2 -3/2 1 -1 -1 1/2 -1/2 s3 0 0 0 1 0 0 -1 2 1 1 -1 2 0 1 4 2/1 — 1/1 b 比值
管 理 运 筹 学
5
§4 几种特殊情况
由于M可以是任意大的正数,可知此目标函数值无界。
上述的例子告诉了我们在单纯形表中识别线性规划问题是无界的方法: ij 在某次迭代的单纯形表中,如果存在着一个大于零的检验数 ,并且该列 的系数向量的每个元素aij(i=1,2,…,m)都小于或等于零,则此线性规划问题 是无界的,一般地说此类问题的出现是由于建模的错误所引起的。
管
理
运
筹
学
7
§4 几种特殊情况
迭 基变 代 量 次 数 s1 s2 s3 zj cj-zj s1 s2 x2 zj cj-zj x1 s2 x2 zj cj-zj 50 0 50 0 0 50 CB x1 50 0 0 0 1 2 0 0 50 1 2 0 0 50 1 0 0 50 0 x2 50 1 1 1 0 50 0 0 1 50 0 0 0 1 50 0 s1 0 1 0 0 0 0 1 0 0 0 0 1 -2 0 50 -50 s2 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 s3 0 0 0 1 0 0 -1 -1 1 50 0 -1 1 1 0 0 300 400 250 0 50 150 250 12500 50/1 150/2 — 300/1 400/1 250/1 b 比值
1
§4 几种特殊情况
迭 基变 代 量 次 数 s1 s2 a1 zj cj-zj x2 s2 a1 zj cj-zj x2 x1 a1 zj cj-zj 30 20 -M 30 0 -M CB x1 20 0 0 -M 3 1 1 -M 20+M 3/10 1 7/10 x2 30 10 0 1 -M 30+M 1 0 0 s1 0 1 0 0 0 0 1/10 0 -1/10 3+M/10 -3-M/10 1/10 0 -1/10 3+M/10 -3-M/10 s2 0 0 1 0 0 0 0 1 0 0 0 -3/10 1 -7/10 11+7M/10 -11-7M/10 s3 0 0 0 -1 M -M 0 0 -1 M -M 0 0 -1 M -M a1 -M 0 0 1 -M 0 0 0 1 -M 0 0 0 1 -M 0 150 30 40 -40M 15 30 25 450-25M 15/(3/10) 30/1 25/(7/10) 150/10 — 40/1 b 比值
目标函数 max z 20 x1 30 x2 Ma1 约束条件 3x1 10 x2 s1 150, x1 s2 30, x1 x2 s3 a1 40, x1 , x2 , s1 , s2 , s3 , a1 0.
填入单纯形表计算得:
管 理 运 筹 学
0
1
2
50 50 250 15000
— 50/1 250/1
管
理
运
筹
学
8
§4 几种特殊情况wk.baidu.com
这样我们求得了最优解为x1=50,x2=250,s1=0,s2=50,s3=0,此线性规划的 最优值为15000。这个最优解是否是惟一的呢?由于在第2次迭代的检验数 中除了基变量的检验数 1 , 2 , 4 等于零外,非基变量s3的检验数也等 于零,这样我们可以断定此线性规划问题有无穷多最优解。不妨我们把检 验数也为零的非基变量选为入基变量进行第3次迭代。可求得另一个基本 可行解,如下表所示:
并不满足原来的约束条件3,可知原线性规划问题无可行解,或者说 其可行解域为空集,当然更不可能有最优解了。 像这样只要求线性规划的最优解里有人工变量大于零,则此线性规划 无可行解。
二、无界解
在求目标函数最大值的问题中,所谓无 界解是指在约束条件下目标函数值可以取
例2、用单纯形表求解下面线性 规划问题。
迭代 次数 基 变 量 x1 s3 x2 zj cj-zj CB x1 50 50 0 50 1 0 0 50 0 x2 50 0 0 1 50 0 s1 0 -1 -2 2 50 -50 s2 0 1 1 -1 0 0 s3 0 0 1 0 0 0 100 50 200 15000 b
3
从检验数可知此基本可行解x1=100,x2=200,s1=0,s2=0,s3=50,也是最优解
0
1
9-7/10M 30 11+7/10M 0 0 1 0 20 0 1 0 0 30 0
2
6 30 4 780-4M 2
管
理
运
筹
学
§4 几种特殊情况
从第二次迭代的检验数都小于零来看,可知第2次迭代所得的基本可 行解已经是最优解了,其最大的目标函数值为780-4M。我们把最优解 x1=30,x2=6,s1=0,s2=0,s3=0,a1=4,代入第三个约束方程得x1+x2-0+4=40,即有: x1+x2=36≤40.
x2 3s1 s2 9.
x1 1 x2 s1 , s2 x2 3s1 9. 不妨设x2 M , s1 0, 可得一组解: x1 M 1, x2 M , s1 0, s2 M 9. 显然这是线性规划的可行解,此时目标函数 z x1 x2 M 1 M 2M 1.
管 理 运 筹 学
9
§4 几种特殊情况
四、退化问题
在单纯形法计算过程中,确定出基变量时有时存在两个以上的相同 的最小比值,这样在下一次迭代中就有了一个或几个基变量等于零,这 称之为退化。
例4.用单纯形表,求解下列线性规划问题。
解:加上松驰变量s1,s2,s3化为标准形式后,
填入单纯形表计算得:
3 目标函数 max z 2 x1 x3 2 约束条件 x1 x2 2, 2 x1 x3 4, x1 x2 x3 3, x1 , x2 , x3 0.
s1 0 s2 0 b 比 值
填入单纯形表计算得:
迭 基 代 变 次 量 数 s1 s2 0 zj cj-zj x1 s2 1 zj cj-zj 1 0 CB x1 1 x2 1
x1 , x2 , s1 , s2 0.
0 0
1 -3 0 1 1 0 1 0
-1 2 0 1 -1 -1 -1 2
1 0 0 0 1 3 1 -1
§4 几种特殊情况
一、无可行解
例1、用单纯形表求解下列线性规划问题
目标函数 max z 20 x1 30 x2 约束条件 3x1 10 x2 150, x1 30, x1 x2 40, x1, x2 0.
解:在上述问题的约束条件中加入松驰变量、剩余变量、人工变量得到:
三、无穷多最优解
例3、用单纯形法表求解下面的线性规划问题。
目标函数 max z 50 x1 50 x2 约束条件 x1 x2 300, 2 x1 x2 400, x2 250, x1 , x2 0.
管 理 运 筹 学
6
§4 几种特殊情况
解:此题我们用图解法已求了解,现在用单纯形表来求解。
加入松弛变量s1 , s2 , s3,我们得到标准形: 目标函数 max z 50 x1 50 x2 约束条件 x1 x2 s1 300, 2 x1 x2 s2 400, x2 s3 250, x1 , x2 , s1 , s2 , s3 0.
填入单纯形表计算得:
3
4
2 2 1 5
管
理
运
筹
学
13
§4 几种特殊情况
得到了最优解x1=1,x2=0,x3=2,s1=1,s2=0,s3=0,其最优值为5。 但有时候当出现退化时,即使存在最优解,而迭代过程总是重复解的 某一部分迭代过程,出现了计算过程的循环,目标函数值总是不变,永远 达不到最优解。 下面一个是由E.Beale给出的循环的例子。 例5 目标函数 :min f =-(3/4)x4+20x5-(1/2)x6+6x7. 约束条件:x1+(1/4)x4-8x5-x6+9x7=0, x2+(1/2)x4-12x5-(1/2)x6+3x7=0,
0 1 0 0 0 1 0 0
筹
1 6 0 1 9 1
学
1 —
4
§4 几种特殊情况
从单纯形表中,从第一次迭代x2的检验数等于2,可知所得的基本可行 解x1=1,x2=0,s1=0,s2=9不是最优解。同时我们也知道如果进行第2次迭代, a22 =-1, a12 那么就选x2为入基变量,但是在选择出基变量时遇到了问题: =-1, 找不到大于零的比值来确定出基变量。事实上如果我们碰到这种情况就可 以断定这个线性规划问题是无界的,也就是说在此线性规划的约束条件下, 此目标函数值可以取得无限大。从1次迭代的单纯形表中,得到约束方程: x1 x2 s1 1, 移项可得:
管
理
运
筹
学
10
§4 几种特殊情况
迭 基 代 变 次 量 数 s1 s2 s3 zj cj-zj x1 s2 s3 zj cj-zj x1 x2 s3 zj cj-zj 2 0 0 2 0 0 CB x1 2 0 0 0 1 2 1 0 2 1 0 0 2 0 1 0 0 2 0 x2 0 -1 0 1 0 0 -1 2 2 -2 2 0 1 0 0 0 x3 3/2 0 1 1 0 3/2 0 1 1 0 3/2 1/2 1/2 0 1 1/2 s1 0 1 0 0 0 0 1 -2 -1 0 -2 0 -1 1 0 0 s2 0 0 1 0 0 0 0 1 0 0 0 1/2 1/2 -1 1 -1 s3 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 2 4 3 0 2 0 1 4 — 0/2 1/2 2/1 4/2 3/1 b 比值
0
1
2
2 0 1 4
2/(1/2) 0/(1/2) —
管
理
运
筹
学
11
§4 几种特殊情况
在以上的计算中可以看出在0次迭代中,由于比
值b1/a11=b2/a21=2为最小比值,导致在第1次迭代中出
现了退化,基变量s2=0。又由于在第1次迭代出现了
退化,基变量s2=0,又导致第2次迭代所取得的目标 函数值并没有得到改善,仍然与第1次迭代的一样都 等于4。像这样继续迭代而得不到目标函数的改善, 当然减低了单纯形算法的效率,但一般来说还是可
目标函数 max z x1 x2 约束条件 x1 x2 1, 3 x1 2 x2 6, x1 , x2 0.
任意的大。下面我们用单纯形表来求第二
章中的例子。
管 理 运 筹 学
3
§4 几种特殊情况
解:在上述问题的约束条件中加入松驰变量,得标准型如下:
目标函数 max z x1 x2 约束条件 x1 x2 s1 1, 3 x1 2 x2 s2 6,
x3+x6=1,
x1,x2,x3,x4,x5,x6,x7≥0.
管
理
运
筹
学
14
§4 几种特殊情况
这个例题的确存在最优解,但用一般单纯形表法,经过6 次迭代后得到的单纯形表与第0次单纯形表一样,而目标函数 都是零,没有任何变化,这样迭代下去,永远达不到最优解。 为了避免这种现象,我们介绍勃兰特法则。 首先我们把松弛变量(剩余变量)、人工变量都用xj表 示,一般松弛变量(剩余变量)的下标号列在决策变量之后, 人工变量的下标号列在松弛变量(剩余变量)之后,在计算 中,遵守以下两个规则: (1)在所有检验数大于零的非基变量中,选一个下标最小的 作为入基变量。 (2)在存在两个和两个以上最小比值时,选一个下标最小的 基变量为出基变量。 这样就一定能避免出现循环。
以得到最优解的。像本题继续计算如下:
管
理
运
筹
学
12
§4 几种特殊情况
迭 基 代 变 次 量 数 x1 x3 s3 zj cj-zj x1 x3 s1 zj cj-zj 2 3/2 0 CB x1 2 2 3/2 0 1 0 0 2 0 1 0 0 2 0 x2 0 -1 2 0 1 -1 -1 2 0 1 -1 x3 3/2 0 1 0 3/2 0 0 1 0 3/2 0 s1 0 1 -2 1 -1 1 0 0 1 0 0 s2 0 0 1 -1 3/2 -3/2 1 -1 -1 1/2 -1/2 s3 0 0 0 1 0 0 -1 2 1 1 -1 2 0 1 4 2/1 — 1/1 b 比值
管 理 运 筹 学
5
§4 几种特殊情况
由于M可以是任意大的正数,可知此目标函数值无界。
上述的例子告诉了我们在单纯形表中识别线性规划问题是无界的方法: ij 在某次迭代的单纯形表中,如果存在着一个大于零的检验数 ,并且该列 的系数向量的每个元素aij(i=1,2,…,m)都小于或等于零,则此线性规划问题 是无界的,一般地说此类问题的出现是由于建模的错误所引起的。
管
理
运
筹
学
7
§4 几种特殊情况
迭 基变 代 量 次 数 s1 s2 s3 zj cj-zj s1 s2 x2 zj cj-zj x1 s2 x2 zj cj-zj 50 0 50 0 0 50 CB x1 50 0 0 0 1 2 0 0 50 1 2 0 0 50 1 0 0 50 0 x2 50 1 1 1 0 50 0 0 1 50 0 0 0 1 50 0 s1 0 1 0 0 0 0 1 0 0 0 0 1 -2 0 50 -50 s2 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 s3 0 0 0 1 0 0 -1 -1 1 50 0 -1 1 1 0 0 300 400 250 0 50 150 250 12500 50/1 150/2 — 300/1 400/1 250/1 b 比值
1
§4 几种特殊情况
迭 基变 代 量 次 数 s1 s2 a1 zj cj-zj x2 s2 a1 zj cj-zj x2 x1 a1 zj cj-zj 30 20 -M 30 0 -M CB x1 20 0 0 -M 3 1 1 -M 20+M 3/10 1 7/10 x2 30 10 0 1 -M 30+M 1 0 0 s1 0 1 0 0 0 0 1/10 0 -1/10 3+M/10 -3-M/10 1/10 0 -1/10 3+M/10 -3-M/10 s2 0 0 1 0 0 0 0 1 0 0 0 -3/10 1 -7/10 11+7M/10 -11-7M/10 s3 0 0 0 -1 M -M 0 0 -1 M -M 0 0 -1 M -M a1 -M 0 0 1 -M 0 0 0 1 -M 0 0 0 1 -M 0 150 30 40 -40M 15 30 25 450-25M 15/(3/10) 30/1 25/(7/10) 150/10 — 40/1 b 比值
目标函数 max z 20 x1 30 x2 Ma1 约束条件 3x1 10 x2 s1 150, x1 s2 30, x1 x2 s3 a1 40, x1 , x2 , s1 , s2 , s3 , a1 0.
填入单纯形表计算得:
管 理 运 筹 学
0
1
2
50 50 250 15000
— 50/1 250/1
管
理
运
筹
学
8
§4 几种特殊情况wk.baidu.com
这样我们求得了最优解为x1=50,x2=250,s1=0,s2=50,s3=0,此线性规划的 最优值为15000。这个最优解是否是惟一的呢?由于在第2次迭代的检验数 中除了基变量的检验数 1 , 2 , 4 等于零外,非基变量s3的检验数也等 于零,这样我们可以断定此线性规划问题有无穷多最优解。不妨我们把检 验数也为零的非基变量选为入基变量进行第3次迭代。可求得另一个基本 可行解,如下表所示:
并不满足原来的约束条件3,可知原线性规划问题无可行解,或者说 其可行解域为空集,当然更不可能有最优解了。 像这样只要求线性规划的最优解里有人工变量大于零,则此线性规划 无可行解。
二、无界解
在求目标函数最大值的问题中,所谓无 界解是指在约束条件下目标函数值可以取
例2、用单纯形表求解下面线性 规划问题。
迭代 次数 基 变 量 x1 s3 x2 zj cj-zj CB x1 50 50 0 50 1 0 0 50 0 x2 50 0 0 1 50 0 s1 0 -1 -2 2 50 -50 s2 0 1 1 -1 0 0 s3 0 0 1 0 0 0 100 50 200 15000 b
3
从检验数可知此基本可行解x1=100,x2=200,s1=0,s2=0,s3=50,也是最优解
0
1
9-7/10M 30 11+7/10M 0 0 1 0 20 0 1 0 0 30 0
2
6 30 4 780-4M 2
管
理
运
筹
学
§4 几种特殊情况
从第二次迭代的检验数都小于零来看,可知第2次迭代所得的基本可 行解已经是最优解了,其最大的目标函数值为780-4M。我们把最优解 x1=30,x2=6,s1=0,s2=0,s3=0,a1=4,代入第三个约束方程得x1+x2-0+4=40,即有: x1+x2=36≤40.
x2 3s1 s2 9.
x1 1 x2 s1 , s2 x2 3s1 9. 不妨设x2 M , s1 0, 可得一组解: x1 M 1, x2 M , s1 0, s2 M 9. 显然这是线性规划的可行解,此时目标函数 z x1 x2 M 1 M 2M 1.
管 理 运 筹 学
9
§4 几种特殊情况
四、退化问题
在单纯形法计算过程中,确定出基变量时有时存在两个以上的相同 的最小比值,这样在下一次迭代中就有了一个或几个基变量等于零,这 称之为退化。
例4.用单纯形表,求解下列线性规划问题。
解:加上松驰变量s1,s2,s3化为标准形式后,
填入单纯形表计算得:
3 目标函数 max z 2 x1 x3 2 约束条件 x1 x2 2, 2 x1 x3 4, x1 x2 x3 3, x1 , x2 , x3 0.
s1 0 s2 0 b 比 值
填入单纯形表计算得:
迭 基 代 变 次 量 数 s1 s2 0 zj cj-zj x1 s2 1 zj cj-zj 1 0 CB x1 1 x2 1
x1 , x2 , s1 , s2 0.
0 0
1 -3 0 1 1 0 1 0
-1 2 0 1 -1 -1 -1 2
1 0 0 0 1 3 1 -1
§4 几种特殊情况
一、无可行解
例1、用单纯形表求解下列线性规划问题
目标函数 max z 20 x1 30 x2 约束条件 3x1 10 x2 150, x1 30, x1 x2 40, x1, x2 0.
解:在上述问题的约束条件中加入松驰变量、剩余变量、人工变量得到:
三、无穷多最优解
例3、用单纯形法表求解下面的线性规划问题。
目标函数 max z 50 x1 50 x2 约束条件 x1 x2 300, 2 x1 x2 400, x2 250, x1 , x2 0.
管 理 运 筹 学
6
§4 几种特殊情况
解:此题我们用图解法已求了解,现在用单纯形表来求解。
加入松弛变量s1 , s2 , s3,我们得到标准形: 目标函数 max z 50 x1 50 x2 约束条件 x1 x2 s1 300, 2 x1 x2 s2 400, x2 s3 250, x1 , x2 , s1 , s2 , s3 0.
填入单纯形表计算得:
3
4
2 2 1 5
管
理
运
筹
学
13
§4 几种特殊情况
得到了最优解x1=1,x2=0,x3=2,s1=1,s2=0,s3=0,其最优值为5。 但有时候当出现退化时,即使存在最优解,而迭代过程总是重复解的 某一部分迭代过程,出现了计算过程的循环,目标函数值总是不变,永远 达不到最优解。 下面一个是由E.Beale给出的循环的例子。 例5 目标函数 :min f =-(3/4)x4+20x5-(1/2)x6+6x7. 约束条件:x1+(1/4)x4-8x5-x6+9x7=0, x2+(1/2)x4-12x5-(1/2)x6+3x7=0,