运筹学5人工变量及其处理方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ai 1 x1 + ai 2 x2 + L ain xn − xn+ 1 + xn+ 2 = bi
ai1 x1 + ai 2 x2 + L ain xn = bi ai1 x1 + ai 2 x2 + L ain xn + xn +1 = bi
人工变量
但加入人工变量后的LP与未加入时的 一般是 但加入人工变量后的LP与未加入时的LP一般是不等价的 与未加入时的LP一般是不等价的
LP:
j =1 n ∑ Pj x j = b s.t. j =1 x ≥ 0( j = 1,2,3L , n) j 在每一个约束方程左边加上一个人工变量 在每一个约束方程左边加上一个人工变量 xn+i, 得 新LP:
max z = ∑ c j x j
n
a11 x1 + a12 x 2 + L + a1n x n + x n +1 = b1 a x + a x + L + a x + x n + 2 = b2 22 2 2n n 21 1 s.t .M M M a x + a x + L + a x + x n + m = bm m1 1 m2 2 mn n x1 , x 2 , L , x n ≥ 0, x n +1 ,..., x n + m ≥ 0
n
的可行域: 原LP的可行域:D 的可行域 辅助LP的可行域: 辅助 的可行域:D’ 的可行域
x x x ∈ D ⇔ = ∈ D' x 0 a
x ∈ D' ⇔ min w = 0 0
用单纯形法计算辅助LP的结果有三 用单纯形法计算辅助 的结果有三 的结果有 可能情形: 种可能情形:
且人工变量皆为非基变量 1. 最优值w 且人工变量皆为非基变量。 *= 0,且人工变量皆为非基变量。 从第一阶段的最优解中去掉人工变量后,即为原LP的 去掉人工变量后 从第一阶段的最优解中去掉人工变量后,即为原 的 一个基本可行解。作为原 的一个初始基本可行解 的一个初始基本可行解, 一个基本可行解。作为原LP的一个初始基本可行解, 再求原问题,从而进入第二阶段。 再求原问题,从而进入第二阶段。 2. 最优值w 说明至少有一个人工变量不为零。 说明至少有一个人工变量不为零 *≠ 0,说明至少有一个人工变量不为零。 无可行解。 原LP无可行解。不再需要进入第二个阶段计算。 无可行解 不再需要进入第二个阶段计算。 3. 最优值w 且存在人工变量为基变量 且存在人工变量为基变量, *= 0,且存在人工变量为基变量,但取值为零 把某个非基变量与该人工变量进行调换。 把某个非基变量与该人工变量进行调换。
初始可 行基
B
(0)
= ( p4
p6
p7 ) = I 3
初始基本 可行解
(0
0 0 11 0 3 1)
T
初始单纯形表
[ ]
11 3 2 1
[ ]
/ 1 /
0
人工变量x 已从基变量中换出。 人工变量 6,x7已从基变量中换出。
第二阶段: 第二阶段:
x1 − 2 x2 + x3 + x4 − 4 x + x + 2 x − x5 1 2 3 s.t. + x3 − 2 x1 x j ≥ 0 ( j = 1,2,3L5)
含有一个m阶单位矩阵, 含有一个m阶单位矩阵,以 xn +1 , xn + 2 ,..., xn + m 为基向量, 为基向量,得到一个初始基本可行解
X
ห้องสมุดไป่ตู้(0)
= (0, ..., 0, b1 , b2 , ..., bm )
T
解中只要含有非零人工变量, 解中只要含有非零人工变量,实质上该 非零人工变量 不是可行解 可行解。 解不是可行解。 只有当最优解中,人工变量都取零值时 只有当最优解中,人工变量都取零值时, 都取零值 才可认为两个问题的最优解是相当的。 才可认为两个问题的最优解是相当的。
两阶段法的第一阶段求解的目的: 两阶段法的第一阶段求解的目的: 目的
1.判断原LP有无可行解。 判断原 有无可行解 有无可行解。 判断 2.若有,则可得原LP的一个初始基本可行解,再 若有,则可得原 的一个初始基本可行解, 的一个初始基本可行解 若有 对原LP进行第二阶段的计算 进行第二阶段的计算。 对原 进行第二阶段的计算。
辅助LP 辅助
m i =1
min w = ∑ xn +i
i =1
m
max w' = −∑ xn +i
a11 x1 + a12 x 2 + L + a1n x n + x n +1 = b1 a x + a x + L + a x + x n + 2 = b2 21 1 22 2 2n n s.t .M M M a x + a x + L + a x + x n + m = bm m1 1 m2 2 mn n x1 , x 2 , L , x n ≥ 0, x n +1 ,..., x n + m ≥ 0
计算机计算时,必须对 给出一个具体数值 给出一个具体数值, 计算机计算时,必须对M给出一个具体数值,通常 计算时 取比原问题中最大数据高 最大数据高1~2个数量级的数值。并视 个数量级的数值 取比原问题中最大数据高 个数量级的数值。 求解情况对M作适当调节 作适当调节。 求解情况对 作适当调节。
例:用大M法求解LP 求解LP
--大 --大M法与两阶段法
一.大M法 大 法
将目标函数修改为
max z = ∑ c j x j − Mxn +1 − Mxn + 2 − L − Mxn + m
j =1
n
M是一个很大的正数。 是一个很大的正数。 是一个很大的正数
手工计算时,只要认定M是一个很大的数。 手工计算时,只要认定M是一个很大的数。 计算时
循环
例: max Z = 3 / 4 x4 − 20 x5 + 1 / 2 x6 − 6 x7
+ 1 / 4 x4 − 8 x5 − x6 + 9 x7 = 0 x1 x + 1 / 2 x4 − 12 x5 − 1 / 2 x6 + 3x7 = 0 2 s.t. x3 + x6 = 1 x j ≥ 0
例:用两阶段法求解LP 两阶段法求解 求解LP
max z = 3x1 − x2 − x3
x1 − 2 x2 + x3 ≤ 11 − 4 x + x + 2 x ≥ 3 1 2 3 s.t. + x3 = 1 − 2 x1 x j ≥ 0 ( j = 1,2,3)
第一阶段: 第一阶段:
max z = 3x1 − x2 − x3
x1 − 2 x2 + x3 ≤ 11 − 4 x + x + 2 x ≥ 3 1 2 3 s.t. + x3 = 1 − 2 x1 x j ≥ 0 ( j = 1,2,3)
解:
max z = 3x1 − x2 − x3 + 0 ⋅ x4 + 0 ⋅ x5 − Mx6 − Mx7
法的不足 大M法的不足 法的
在用计算机求解时,不容易确定 在用计算机求解时,不容易确定M 的取值, 过大容易引起计算误差。 的取值,且M过大容易引起计算误差。 过大容易引起计算误差
二. 两阶段法
将新LP的求解过程分成两个阶段: 将新 的求解过程分成两个阶段: 的求解过程分成两个阶段 第一阶段:求解第一个 第一个LP: 第一阶段:求解第一个 :
基变换+ 基变换+调基
/
[ ]
1 /
[ ]
12 3 / /
最优解: (4,1,9,0,0,0,0)T, 最优解 , , , , , , ) 最优值 最优值:2
人工变量x6,x7已不在基变量中,故 人工变量 不在基变量中, 基变量中 原LP的最优解为 4,1,9,0,0)T, 的最优解为 , , , , ) ( 最优值 最优值为2
目的:通过解辅助LP来获得 目的:通过解辅助 来获得原LP的初始解 解辅助 来获得原 的
Ax = b 原LP: max z = ∑ c j x j s.t. : j =1 x ≥ 0 m Ax + xa = b min 辅助LP: 辅助 : w = ∑ xn +i s.t. i =1 x ≥ 0, xa ≥ 0
max z = 3x1 − x2 − x3
= 11 =3 =1
初始单纯形表
[ ]
12 / 3 / /
最优解:( , , , , ) 最优解:(4,1,9,0,0)T :(
最优值: 最优值:2
几个问题
1.目标函数为极小化时解的最优性判别: 1.目标函数为极小化时解的最优性判别: j ≥ 0 目标函数为极小化时解的最优性判别 σ 进基变量: 进基变量:min{σ j | σ j < 0} 2.退化与循环的问题
以 x4 , x6 , x7 对应的系数列向量构成一单位矩阵 P4 , P6 , P7, 取初始基 B = ( P4 , P6 , P7 ). 非基变量。 非基变量。
x x4 , x6 , x7 为基变量,1 , x2 , x3 , x5 为 为基变量,
初始单纯形表:
11 3/ 2
[ ]
1
为进基变量, 为离基变量, 确定 x3 为进基变量,而 x7 为离基变量,以 a33 = 1 为主元素。 为主元素。
= 11 x1 − 2 x2 + x3 + x4 − 4 x + x + 2 x − x5 + x6 =3 1 2 3 s.t. + x3 + x7 = 1 − 2 x1 x j ≥ 0 ( j = 1,2,3L7)
引入松弛变量、 引入松弛变量、剩余变量和人工变量 松弛变量 将问题标准化, 将问题标准化,得:
第五节
人工变量及其 人工变量及其处理方法 及其处理方法
为了使初始可行基为一个单位矩阵 为了使初始可行基为一个单位矩阵,在 单位矩阵, 有些约束条件中需要加入人工变量 人工变量。 有些约束条件中需要加入人工变量。
a i1 x1 + a i 2 x 2 + L a in x n ≥ bi
ai1 x1 + ai 2 x2 + L ain xn − xn +1 = bi
作初始基本可行解进行迭代时, 以 X(0)作初始基本可行解进行迭代时,怎 样才能较快地将所有的人工变量从基变量中全 较快地将所有的人工变量 样才能较快地将所有的人工变量从基变量中全 出去(如果能全部“ 出去的话)。 部“赶”出去(如果能全部“赶”出去的话)。 这会影响到得到最优解的迭代次数。 这会影响到得到最优解的迭代次数。


1. 若新 的最优解中,人工变量都处在非 若新LP的最优解中 人工变量都处在非 的最优解中, 基变量位置(即取零值) 基变量位置(即取零值)时,原LP有最优 有最优 解。 2.若新 的最优解中,包含有非零的人工 若新LP的最优解中 包含有非零的人工 若新 的最优解中, 变量,则原LP无可行解 无可行解。 变量,则原 无可行解。 3.若新 的最优解的基变量中,包含有人 若新LP的最优解的基变量中, 若新 的最优解的基变量中 工变量,但该人工变量取值为零。 工变量,但该人工变量取值为零。这时可 将某个非基变量引入基变量中来替换 替换该人 将某个非基变量引入基变量中来替换该人 工变量,从而得到原LP的最优解 的最优解。 工变量,从而得到原 的最优解。
定义:一个基本可行解如果存在取零值的基变量, 定义:一个基本可行解如果存在取零值的基变量,则称为是退化的基本可行 存在取零值的基变量 相应的基称为是退化基。 解,相应的基称为是退化基。 如果所有的基变量都大于零,就是非退化的基本可行解。 如果所有的基变量都大于零,就是非退化的基本可行解。 都大于零 在非退化情形下,用单纯形方法经过有限次迭代一定可达到最优解。 非退化情形下,用单纯形方法经过有限次迭代一定可达到最优解。 情形下 一定可达到最优解 在退化情形下,用单纯形方法进行迭代可能得不到最优解。 退化情形下,用单纯形方法进行迭代可能得不到最优解。 情形下 可能得不到最优解 基迭代经过若干次后又回到先前的可行基 B1 B2 ... B1
min w = x6 + x7
max w' = − x6 − x7
= 11 x1 − 2 x2 + x3 + x4 − 4 x + x + 2 x − x5 + x6 =3 1 2 3 s.t. + x3 + x7 = 1 − 2 x1 x j ≥ 0 ( j = 1,2,3L7)
相关文档
最新文档