单纯形法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2 单纯形法
考虑标准最大化线性规划问题的)15.1(
max ∑=n j j j
x c 1
..t s ⎪⎩⎪⎨⎧=≥=≤∑=n j x m i b x a j i n j j ij ,...,2,10,...,2,11
我们首先对它的第i 个约束条件引入松弛变量i s ,m i ,...,2,1=,并且以η表示目标函数值,则获得标准型)15.1(的等价线性规划,也称为标准型)15.1(的标准格式:
max ∑==n j j j x c
1η
..t s ⎪⎪⎩
⎪⎪⎨⎧=≥=≥=-=∑=m i s n j x m
i x a b s i j n j j ij i i ,...,2,1,0,...,2,1,0,...,2,1,1 )10.2(
从例1.2线性规划问题的求解过程中可以看到,随着迭代的继续,决策变量和松弛变量相互交织,成为一体,所以为了便于分析,令i i n s x =+m i ,...,2,1=,并引入以下标记:
),...,,,...,(),...,,,,...,,(1212121m n n n m n x x x x x s s s x x x ++=
那么,我们将)10.2(改写为:
max ∑==n
j j j x c 1η
..t s ⎪⎩
⎪⎨⎧++=≥=-=∑=+m n n n j x m i x a b x j n j j ij i i
n ,...,1,,...,2,1,0,...,2,1,1 )11.2( 式)11.2(就是标准型线性规划问题)15.1(的标准格式或初始单纯形,显然若令0=j x ,n j ,...,2,1=,则有i i n b x =+,m i ,...,2,1=,则),...,,,0,...,0(210m b b b x =构成了标准型线性规划问题)15.1(的初始基可行解。随着搜索最优解过程的继续,单纯形迭代算法将从
单纯形的一个顶点转移到另一个顶点上,或是从一个基可行解到另一个基可行解。但是对于任何一个单纯形来说,它都具有m 个基变量和n 个非基变量。为了便于分析,我们以B 记录基变量下标集合,以N 记录非基变量下标集合。对应于初始单纯形,决策变量和松弛变量的下标集合为:
},...,1,,...,2,1{m n n n ++
所以,初始单纯形的基变量的下标集合为:
},...,1{m n n B ++=
非基变量的下标集合为:
},...,2,1{n N =
在这之后,B 和N 随单纯形的迭代发生变化,假设,经过若干次迭代之后,最新单纯形具有如下形式:
∑∈+=N
j j j x c ηη
∑∈-=N
j j ij i i x a b x B i ∈,N j ∈ )12.2(
我们注意到,在单纯形法的每一步迭代中,都一定出现某一个基变量变为非基变量,同时某一个非基变量变为基变量。如果一个变量是从非基变量进入到基变量中,则称它为换入基变量,或换入变量;另一方面,如果一个变量是从基变量转换到非基变量,则称它为换出基变量或换出变量。
1.2.2换入变量和换出变量的确定准则
为了能够进行下一步迭代,单纯形法要求从非基变量N j x j ∈,中选择某个决策或松弛变量作为换入变量,选择换入变量的基本条件是增加换入变量的值能够保证增加目标函数值,这就要求换入变量在目标函数中的系数N j c j ∈,为正数。以E 表示目标函数系数为正数的非基变量下标集合,即
},0:{N j c j E j ∈>=
对于单纯形)12.2(来说,如果E 是空集合,那么对应的基可行解就是最优解。如果E 含有多个
0>j c ,我们通常选择绝对值最大的j c ,即选择k 使其满足}:max{
E j c c j k ∈=,非基变量k x 就是换入变量。
另一方面,在选定了换入变量之后,单纯形法还需要从基变量B i x i ∈,中选择一个换出变量,挑选换出变量的基本准则是必须保持当前所有基变量的取值大于等于零,即B i x i ∈≥,0。在确定了某个非基变量k x 作为换入变量之后,增加k x 的值将会同时影响所有
基变量的取值。根据单纯形)12.2(,如果令N j k j x j ∈≠=,,0,则有:
k ik i i x a x -= B i ∈
由于变量的非负符号限制,有0≥i x ,B i ∈,那么有:
0≥-k ik i x a b B i ∈ )13.2( 我们首先假设0>i b ,0≥ik a ,B i ∈,当k x 取值不断增大时,为使基变量i x ,B i ∈保持非负符号限制,k x 取值的范围必须符合下述条件:
ik
i k a x ≤≤0 B i ∈ 所有ik
i a b ,B i ∈都是换入变量k x 取值的上限,因为这样的上限有m 个,所以k x 必须小于},{B i a b ik
i ∈当中最小的一个,即: }{
min 0;ik
i a B i k a b x ik >∈≤ )14.2( 以L 表示满足}:0{B i a ik ∈>的下标集合,那么,选择换出变量的规则是选择L l ∈,满足下述等式:
}{min ik i L
l lk l a a ∈=。 那么对应下标l 的基变量l x 就是换出变量,称lk a 为单纯形迭代的主元素。
如果出现0 i ik k b a x ≥1 B i ∈ 在这种情况下,我们没有要求ik a 必须大于0,换入变量k x 的倒数的取值范围为: ∞≤≤k i ik x b a B i ∈