运筹学第五

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第 六 次课 2学时

本次课教学重点:

单纯形法原理、基变换、最优检验 本次课教学难点:

单纯形法原理、基变换、最优检验 本次课教学内容:

第五章 单 纯 形 法

§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) 它的系数矩阵

⎪⎪⎪

⎫ ⎝⎛==100100101200111),,,,(54321p p p p p A

其中pj 为系数矩阵A 第j 列的向量。A 的秩为3,A 的秩m 小于此方程组的变量的个数n ,

为了找到一个初始基本可行解,先介绍以下几个线性规划的基本概念。

二、基本概念

基: 已知A 是约束条件的m ×n 系数矩阵,其秩为m 。若B 是A 中m ×m 阶非奇异子矩阵(即可逆矩阵),则称B 是线性规划问题中的一个基。

基向量:基B 中的一列即称为一个基向量。基B 中共有m 个基向量。 非基向量:在A 中除了基B 之外的一列则称之为基B 的非基向量。 基变量:与基向量pi 相应的变量xi 叫基变量,基变量有m 个。

非基变量:与非基向量pj 相应的变量xj 叫非基变量,非基变量有n -m 个。

由线性代数的知识知道,如果我们在约束方程组系数矩阵中找到一个基,令这个基的非基变量为零,再求解这个m 元线性方程组就可得到唯一的解了,这个解我们称之为线性规划的基本解。

在此例中我们不妨找到了 ⎪⎪⎪

⎫ ⎝⎛=1010010113B 为A 的一个基,令这个基的非基变量x 1,

s2为零,这时约束方程就变为基变量的约束方程:

x2+s1≤300,

x2=400, x2+s3=250.

求解得到此线性规划的一个基本解:

x1=0,x2=400,s1=-100,s2=0,s3=-150

由于在这个基本解中s1=-100,s3=-150,不满足该线性规划s1≥0,s3≥0的约束条件,显然不是此线性规划的可行解,一个基本解可以是可行解,也可以是非可行解,它们之间的主要区别在于其所有变量的解是否满足非负的条件。

基本可行解:我们把满足非负条件的一个基本解叫做基本可行解。 可行基:基本可行解,对应的基称为可行基。

一般来说判断一个基是否是可行基,只有在求出其基本解以后,当其基本解所有变量的解都是大于等于零,才能断定这个解是基本可行解,这个基是可行基。那么我们能否在求解之前,就找到一个可行基呢?也就是说我们找到的一个基能保证在求解之后得到的解一定是基本可行解呢?由于在线性规划的标准型中要求bj 都大于等于零,如果我们能找到一个基是单位矩阵,或者说一个基是由单位矩阵的各列向量所组成(至于各列向量的前后顺序是无

关紧要的事)例如,⎪⎪⎪

⎝⎛010001100,那么显然所求得的基本解一定是基本可行解,这个单位

矩阵或由单位矩阵各列向量组成的基一定是可行基。实际上这个基本可行解中的各个变量或

等于某个bj 或等于零。

在本例题中我们就找到了一个基是单位矩阵:⎪⎪⎪

⎫ ⎝⎛=1000100012B

初始可行基:在第一次找可行基时,所找到的基或为单位矩阵或为由单位矩阵的各列向

量所组成,称之为初始可行基。

初始基本可行解:初始可行基相应的基本可行解叫初始基本可行解。 如果找不到单位矩阵或由单位矩阵的各列向量组成的基作为初始可行基,我们将构造初始可行基,具体做法在以后详细讲述。

三、 最优性检验

所谓最优性检验就是判断已求得的基本可行解是否是最优解。 1. 最优性检验的依据——检验数j σ

一般来说目标函数中既包括基变量,又包括非基变量。现在我们要求只用非基变量来表示目标函数,这只要在约束等式中通过移项等处理就可以用非基变量来表示基变量,然后用非基变量的表示式代替目标函数中基变量,这样目标函数中只含有非基变量了,或者说目标函数中基变量的系数都为零了。此时目标函数中所有变量的系数即为各变量的检验数,把变 量i x 的检验数记为i σ。显然所有基变量的检验数必为零。在本例题中目标函数为

2110050x x +。由于初始可行解中21,x x 为非基变量,所以此目标函数已经用非基变量表示

了,不需要再代换出基变量了。这样我们可知

0,0,0,100,5054321=====σσσσσ

2.最优解判别定理

对于求最大目标函数的问题中,对于某个基本可行解,如果所有检验数0≤j σ,则这个基本可行解是最优解。下面我们用通俗的说法来解释最优解判别定理。设用非基变量表示的目标函数为如下形式

由于所有的xj 的取值范围为大于等于零,当所有的0≤j σ时,可知 0≤∑∈J

j j j

x σ

,要

使z 的值最大,显然

∑∈J

j j j

x σ

只有为零。

我们把这些j x 取为非基变量(即令这些j x 的值为零),所求得的基本可行解就使目标函数值最大为0z 。

**对于求目标函数最小值的情况,只需把0≤j σ 改为 0≥j σ 。

四、 基变换 通过检验,我们知道这个初始基本可行解不是最优解。下面介绍如何进行基变换找到一个新的可行基,具体的做法是从可行基中换一个列向量,得到一个新的可行基,使得求解得到的新的基本可行解,其目标函数值更优。为了换基就要确定换入变量与换出变量。 1. 入基变量的确定

从最优解判别定理知道,当某个σj >0时,非基变量xj 变为基变量不取零值可以使目标函数值增大,故我们要选基检验数大于0的非基变量换到基变量中去(称之为入基变量)。若有两个以上的σj >0,则为了使目标函数增加得更大些,一般选其中的σj 最大者的非基变量为入基变量,在本例题中σ2=100是检验数中最大的正数,故选x2为入基变量。

2. 出基变量的确定

在确定了x2为入基变量之后,我们要在原来的3个基变量s1,s2,s3中确定一个出基变量,也就是确定哪一个基变量变成非基变量呢?

如果把s3作为出基变量,则新的基变量为x2,s1,s2,因为非基变量x1=s3=0, 我们也可以从下式:

x2 +s1=300, x2+s2=400, x2=250,

求出基本解:x1=0,x2=250,s1=50,s2=150,s3=0。因为此解满足非负条件,是基本可行解,故s3可以确定为出基变量。

能否在求出基本解以前来确定出基变量呢?

以下就来看在找出了初始基本可行解和确定了入基变量之后,怎么样的基变量可以确定为出基变量呢?或者说出基变量要具有什么条件呢?

我们把确定出基变量的方法概括如下:把已确定的入基变量在各约束方程中的正的系数除以其所在约束方程中的常数项的值,把其中最小比值所在的约束方程中的原基变量确定为

0j j

j J

z z x σ∈=+∑

相关文档
最新文档