04第四章 线性规划的求解法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 线性规划的求解法
当线性规划的变量和约束条件比较多,而初始基本可行解又不知道时,是不容易用尝试的方法得到初始基本可行解的,何况有可能基本可行解根本就不存在。在此时,大M 法可能是应付此类情况的一个行之有效的算法。
§4.1 大M 法的原理
当初始基本可行解不知道时,则1.,2.两个特点不能兼得,即下列两条件不能兼得: 1. 中心部位具有单位子块; 2. 右列元素非负;
这时可以先用容许的运算使由列为非负,然后在中心部位人为添加一个单位子块。如下例所述: 例4.1
123
123123123m in 32..
323624,,0
z x x x s t x x x x x x x x x =-+++-=-+-=-≥ (4.1.1)
列成表格:
上述第三张表中人工增加了两个变量45,x x ,称为人工变量,即把原来的约束条件改为: 12341235123
45..
3236
24,,,,0
s t x x x x x x x x x x x x x +-+=
-++=≥ (4.1.2) 式(4.1)和(4.2)的约束方程组并不同解,但(4.1)的解和(4.2)中450x x ==的解是相对应的。只要找到以(4.2)为约束条件,且人工变量45,x x 均为自由变量的基本可行解,也就找到了(4.1)的基本可行解,于是,要设法迫使450x x ==。
以上途径通过修改(4.1)的目标函数来实现。具体修改为:
12345m in 32z x x x M x M x =-++++ (4.1.3)
其中M 为足够大的正数,然后以(4.2)为约束条件,求(4.3)的最小值。只要45,x x 不为零,就一定为正数,于是目标函数的值就会增加它们和的M 倍。由于M 为足够大的正数,所以只要原问题有基本可行解,就不会在45,x x 取正值时达到最小值。本例中把表改为:
通过运算使它具备第三个特点:底行相应于单位子块位置的元素为0,然后再严格按照单纯形法的步骤求解:
由于M 为足够大的正数,所以-3-4M 应视为负数,故选它。经过一次迭代:
再经过一次迭代:
这时表已经具备四个特点,且人工变量45,x x 亦已成为自由变量,所以从表上可直接读出(4.1)的最优解:1233,0,1x x x ===,且450x x ==。把引进的自由变量略去,则最优解为*
(3,0,1)=T
x ,最优值为*
7z =-。
§4.2 两阶段法的原理
使用单纯形方法,需要给定一个初始基本可行解,以便从这个基本可行解出发,求改进的基本可行解,最终达到最优解。下面介绍如何求出一个初始基本可行解,设标准形式的线性规划问题
m in ..0
T
z s t ==≥c x
A x b x (4.2.1) 其中A 是m n ⨯矩阵,0≥b 。若A 中含有m 阶单位矩阵,则初始基本可行解立即可得。比如:[][],,m ==A I N
B N ,那么
B N ⎡⎤⎡⎤
==⎢⎥⎢⎥⎣⎦
⎣⎦x b x x 0
就是一个基本可行解。若A 中不包含m 阶单位矩阵,则可从两阶段法入手,先求得一个初始基本可行解。
先引入人工变量的概念。设A 中不包含m 阶单位矩阵,为了使约束方程的系数矩阵中含有m 阶单位矩阵,把每一个方程增加一个非负变量,令
0,0
a a +=≥≥A x x
b x x (4.2.2)
即
(,)0,0
m a a ⎡⎤
=⎢⎥⎣⎦≥≥x A I b
x x x (4.2.3) 显然
a ⎡⎤⎡⎤
=⎢⎥⎢⎥⎣⎦
⎣⎦x 0x b 是(4.2.3)的一个基本可行解。
当然式子(4.2.3)已经不是原来的约束,构造(4.2.3)式的意义在于,若从(4.2.3)式的已知的基本可行解出发,能够求出一个使得0a =x 的基本可行解,那么也就可以得到(4.2.1)式的一个基本可行解。
向量0a ≥x 是人为引进的,它的每个分量称为人工变量。人工变量与前面介绍的松弛变量是两个不同的概念。松弛变量的作用是把不等式约束改写为等式约束,改写前后的两个问题是等价的。松弛变量的取值能够表达现行的可行点是在可行域的内部还是在其边界。也就是说,在此可行解处,原来的约束是严格不等式成立还是等式成立的区别。因此松弛变量是“合法”的变量。而人工变量的引进,改变了原来的约束条件,从这个意义上讲,它们是
“不合法”的变量。
两阶段法的第一阶段是用单纯形法消去人工变量,即把人工变量都变换成非基变量,求出原问题的一个基本可行解。
m in ..
0,0
T
a
a a f e s t =+=≥≥x A x x
b x x (4.2.4) 其中(1,1,...,1)T e =是分量全是1的m 维列向量,1(,...,)T a n n m x x ++=x 是人工变量构成的m 维列向量。由于,a ==x 0x b 是线性规划(4.2.4)的一个基本可行解,目标函数在可行域上有下界,因此问题(4.2.4)必存在最优基本可行解。
设最优基本可行解是(,)T T T
a
x x ,这时有三种情况。 1、a ≠x 0,这时线性规划(4.2.1)无可行解,因为如果线性规划(4.2.1)存在可行
解ˆx
,则
ˆa ⎡⎤⎡⎤=⎢⎥⎢⎥⎣⎦
⎣⎦x x
x 0 是线性规划(4.2.4)的可行解,在这一点上,问题(4.2.4)的目标函数的值
ˆT
T
a f e e =+<0x
0x 这和T
a e x 是目标函数的最优值矛盾。
2、a =x 0且a x 的分量都是非基变量,这时m 个基变量都是原来的变量,又知:
ˆa ⎡⎤⎡⎤=⎢⎥⎢⎥⎣⎦
⎣⎦x x x 0 是线性规划(4.2.4)的基本可行解,因此,=x x 是线性规划(4.2.1)的一个基本可行解。
3、a =x 0且a x 的某些分量都是非基变量,这时可以用主元消去法,使原来变量中的某些非基变量进基,替换出基变量中的人工变量,再开始两阶段法的第二阶段。
应当指出,为替换出基变量中的人工变量而采用的主元消去法,并不要求遵守单纯形法确定的离基进基变量的规则。
两阶段法的第二阶段,用单纯形法求线性规划(4.2.1)的最优解,初始的基本可行解