广东工业大学管理运筹学 第5章 单纯形法

  • 格式:ppt
  • 大小:568.00 KB
  • 文档页数:68

下载文档原格式

  / 68
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
管 理 运 筹 学
13
单纯形法迭代原理
(依据:LP问题的最优解若存在,则 单纯形法迭代步骤: 一定有一个基可行解为最优解。)
开始
找出一个 基可行解
Y
是否为最优解
N
停止
沿边界找新的基可行解,并使目 标函数增大,直至找到最优解
管 理 运 筹 学
14
1.求初始基可行解
基可行解 求基解
求基B或 基变量
求解线性 方程组
x= .
.
x1 x2
C= .
.
c1 c2
B= .
.
b1 b2
A= .
.
a11 a12..a1n a21 a22..a2n
. . . .
xn
cn

bn
理 运 筹 学
am1 am2..amn
16
这里,矩阵A表示为: A = ( p1 ,p2 ,…,pn ) , 其中 pj = ( a1j ,a2j , … ,amj )T Rm。若找到一个可行基,无防设 B = ( p1 ,p2 ,…,pm ) ,则m个基变 量为 x1 , x2 , …, xm ,n-m 个非基变量 为 xm+1 ,xm+2 ,…,xn 。通过运算,所 有的基变量都可以用非基变量来表示:
在本例题中我们就找到了一个基是单位矩阵。
1 0 0 B2 0 1 0 0 0 1
在第一次找可行基时,所找到的基或为单位矩阵或为由单位矩阵的各 列向量所组成,称之为初始可行基,其相应的基本可行解叫初始基本可行
解。如果找不到单位矩阵或由单位矩阵的各列向量组成的基作为初始可行
解,或者能判断出线性规划问题无最优解为止。
通过第二章例1的求解来介绍单纯形法: 在加上松弛变量之后我们可得到标准型如下:
目标函数: max 50x1+100x2
约束条件:x1+x2+s1≤300, 2x1+x2+s2≤400,
x2+s3≤250.
xj≥0 (j=1,2),sj≥0 (j=1,2,3)
x1 x2 s1 300, 2 x1 x2 s2 400, x2 s3 250.
在第二步中已经知道x2为入基变量,我们把各约束方程中x2的为正的系数除 对应的常量,得
b1 300 300, a12 1
b2 400 400, a22 1
管 理 运 筹 学
σ 1=50,σ 2=100,σ 3=0,σ 4=0,σ 5=0。
管 理 运 筹 学
8
§1 单纯形法的基本思路和原理
• 2.最优解判别定理 对于求最大目标函数的问题中,对于某个基本可行解, j 如果所有检验数 ≤0,则这个基本可行解是最优解。下面 我们用通俗的说法来解释最优解判别定理。设用非基变量 表示的目标函数为如下形式 z z0 j x j


5Baidu Nhomakorabea
§1 单纯形法的基本思路和原理
一般来说判断一个基是否是可行基,只有在求出其基本解以后,当其基本解 所有变量的解都是大于等于零,才能断定这个解是基本可行解,这个基是可行 基。那么我们能否在求解之前,就找到一个可行基呢?也就是说我们找到的一个 基能保证在求解之后得到的解一定是基本可行解呢?由于在线性规划的标准型中 要求bj都大于等于零,如果我们能找到一个基是单位矩阵,或者说一个基是由单位
基本概念。
基: 已知A是约束条件的m×n系数矩阵,其秩为m。若B是A中m×m阶非 奇异子矩阵(即可逆矩阵),则称B是线性规划问题中的一个基。 基向量:基B中的一列即称为一个基向量。基B中共有m个基向量。 非基向量:在A中除了基B之外的一列则称之为基B的非基向量。 基变量:与基向量pi相应的变量xi叫基变量,基变量有m个。
(2-2)
其中 j=cj-(c1a’1j + c2a’2j + … + cm a’mj) 我们把由非基变量表示的目标函数形式称为基 B相 应的目标函数典式。
管 理 运 筹 学
18
初始基可行解
通常都是从一种特殊的基可行解出发求解LP 问题,这一特殊的基可行解称为初始基可行解。 初始基可行解对应的基,也称初始可行基,它 具有特定的形式,它是单位矩阵或者由单位矩 阵经过交换列以后得到的矩阵。相应的基变量 称为初始基变量,它是一组变量,具有特点: 共有m个变量,恰好每个约束方程包含一个变 量,且该变量的系数为1。
a
j 1
n
ij
x j bi
(i 1, 2, , m )

15




考虑标准形式的线性规划问题: Max z = c1x1 + c2x2 + … + cnxn s.t. a11 x1 + a12 x2 + … + a1n xn = b1 a21 x1 + a22 . 2 + … + a2n xn = b2 x . . am1 x1 + am2 x2 + … + amn xn = bm x1 , x2 , … , xn ≥ 0
b3 250 250. a32 1
12
§1 单纯形法的基本思路和原理
其中
b3 T 的值最小,所以可以知道在原基变量中系数向量为 e3 0, 0,1 a32
的基变量s3为出基变量,这样可知x2,s1,s2为基变量,x1,s3为非基变量。 令非基变量为零,得 x2+s1=300, x2+s2=400, x2=250. 求解得到新的基本可行解x1=0,x2=250,s1=50,s2=150. 这时目标函数值为 50x1+100x2=50×0+100×250=25000。 显然比初始基本可行解x1=0,x2=0,s1=300,s3=250时的目标函数值为0要好 得多。 下面我们再进行检验其最优性,如果不是最优解还要继续进行基变 换,直至找到最优解,或者能够判断出线性规划无最优解为止。





2
§1 单纯形法的基本思路和原理
它的系数矩阵 ,
1 1 1 0 0 A ( p1 , p 2 , p3 , p 4 , p5 ) 2 1 0 1 0 0 1 0 0 1
其中pj为系数矩阵A第j列的向量。A的秩为3,A的秩m小于此方程组的变 量的个数n,为了找到一个初始基本可行解,先介绍以下几个线性规划的





10
§1 单纯形法的基本思路和原理
2. 出基变量的确定 在确定了x2为入基变量之后,我们要在原来的3个基变量s1,s2,s3中确 定一个出基变量,也就是确定哪一个基变量变成非基变量呢? 如果把s3作为出基变量,则新的基变量为x2,s1,s2,因为非基变量x1=s3=0, 我们也可以从下式: x2 +s1=300,





19
2.旋转 (从一个基可行解转换为相邻的可行解)
若基可行解不是最优解,则需要转到一个相邻的基 可行解,并使得目标函数值增加。 所谓相邻的基可行解是指两个基可行解只有一个基 变量不同而其它的基变量都相同。 要从一个基可行解转到与它相邻的基可行解,意味 着需要将一个非基变量变成基变量,而且将一个原 来的基变量变为非基变量,前者称为换入变量,后 者称为换出变量。
x2+s2=400,
x2=250, 求出基本解:x1=0,x2=250,s1=50,s2=150,s3=0。因为此解满足非负 条件,是基本可行解,故s3可以确定为出基变量。 能否在求出基本解以前来确定出基变量呢? 以下就来看在找出了初始基本可行解和确定了入基变量之后,怎么样的 基变量可以确定为出基变量呢?或者说出基变量要具有什么条件呢?
由于所有的xj的取值范围为大于等于零,当所有的 j都小 于等于零时,可知 j x j 是一个小于等于零的数,要使z
的值最大,显然 j x j 只有为零。我们把这些xj取为非基
jJ jJ
jJ
变量(即令这些xj的值为零),所求得的基本可行解就使目标 函数值最大为z0。 **对于求目标函数最小值的情况,只需把 j ≤0改为 j ≥0
矩阵的各列向量所组成(至于各列向量的前后顺序是无关紧要的事)例如,
0 0 1 1 0 0 0 1 0 那么显然所求得的基本解一定是基本可行解,这个单位矩阵或由单位矩阵各列向
量组成的基一定是可行基。实际上这个基本可行解中的各个变量或等于某个bj或等 于零。





6
§1 单纯形法的基本思路和原理
管 理 运 筹 学
11
§1 单纯形法的基本思路和原理
我们把确定出基变量的方法概括如下:把已确定的入基变量在各约束方 程中的正的系数除以其所在约束方程中的常数项的值,把其中最小比值所 在的约束方程中的原基变量确定为出基变量。这样在下一步迭代的矩阵变 换中可以确保新得到的bj值都大于等于零。 在本例题中约束方程为
管 理 运 筹 学
9
§1 单纯形法的基本思路和原理
三、 基变换 通过检验,我们知道这个初始基本可行解不是最优解。下面介绍如何进
行基变换找到一个新的可行基,具体的做法是从可行基中换一个列向量,得
到一个新的可行基,使得求解得到的新的基本可行解,其目标函数值更优。 为了换基就要确定换入变量与换出变量。
1. 入基变量的确定
第五章 单 纯 形 法
• §1 单纯形法的基本思路和原理 • §2 单纯形法的表格形式 • §3 求目标函数值最小的线性规划的问题的 单纯形表解法 • §4 几种特殊情况





1
§1 单纯形法的基本思路和原理
单纯形法的基本思路:从可行域中某一个顶点开始,判断此顶点是否是最优
解,如不是,则再找另一个使得其目标函数值更优的顶点,称之为迭代,再判断此 点是否是最优解。直到找到一个顶点为其最优解,就是使得其目标函数值最优的
由于在这个基本解中s1=-100,s3=-150,不满足该线性规划s1≥0,
s3≥0的约束条件,显然不是此线性规划的可行解,一个基本解可以是 可行解,也可以是非可行解,它们之间的主要区别在于其所有变量的解
是否满足非负的条件。我们把满足非负条件的一个基本解叫做基本可行
解,并把这样的基叫做可行基。



管 理 运 筹 学
3
§1 单纯形法的基本思路和原理
非基变量:与非基向量pj相应的变量xj叫非基变量,非基变量有n-m个。 由线性代数的知识知道,如果我们在约束方程组系数矩阵中找到一个
基,令这个基的非基变量为零,再求解这个m元线性方程组就可得到唯一
的解了,这个解我们称之为线性规划的基本解。 在此例中我们不妨找到了
从最优解判别定理知道,当某个σ j>0时,非基变量xj变为基变量不取 零值可以使目标函数值增大,故我们要选基检验数大于0的非基变量换到基
变量中去(称之为入基变量)。若有两个以上的σ j>0,则为了使目标函数
增加得更大些,一般选其中的σ j最大者的非基变量为入基变量,在本例题 中σ 2=100是检验数中最大的正数,故选x2为入基变量。
以用非基变量来表示基变量,然后用非基变量的表示式代替目标函数中基
变量,这样目标函数中只含有非基变量了,或者说目标函数中基变量的系 数都为零了。此时目标函数中所有变量的系数即为各变量的检验数,把变
量xi的检验数记为σ i。显然所有基变量的检验数必为零。在本例题中目标
函数为50x1+100x2。由于初始可行解中x1,x2为非基变量,所以此目标函 数已经用非基变量表示了,不需要再代换出基变量了。这样我们可知
1 1 B3 1 0 1 0 0 为A的一个基,令这个基的 0 1
非基变量x1,s2为零。这时约束方程就变为基变量的约束方程:





4
§1 单纯形法的基本思路和原理
x2+s1≤300, x2=400,
x2+s3=250.
求解得到此线性规划的一个基本解: x1=0,x2=400,s1=-100,s2=0,s3=-150
管 理 运 筹 学
17
x1=b’1-(a’1m+1xm+1+a’1m+2xm+2+…+a’1nxn) x2=b’2-(a’2m+1xm+1+a’2m+2xm+2+…+a’2nxn)
.` . .
xm=b’m-(a’mm+1xm+1+a’mm+2xm+2+…+a’mnxn) (2-1)
把它们代入目标函数,得 z = z’+m+1xm+1+m+2xm+2+…+nxn
基,我们将构造初始可行基,具体做法在以后详细讲述。





7
§1 单纯形法的基本思路和原理
二、 最优性检验 所谓最优性检验就是判断已求得的基本可行解是否是最优解。
1. 最优性检验的依据——检验数σ
j
一般来说目标函数中既包括基变量,又包括非基变量。现在我们要求 只用非基变量来表示目标函数,这只要在约束等式中通过移项等处理就可