当前位置:文档之家› 单纯形方法求解

单纯形方法求解


• 基变量:与基向量pi相应的变量xi叫基变量,基变量有m个。
• 非基变量:与非基向量 pj相应的变量xj叫非基变量,非基变量有n -m个。
2
一、单纯形法的基本原理
顶点的逐步转移

即从可行域的一个顶点(基本可行解) 开始,转移到另一个顶点(另一个基本可 行解)的迭代过程,转移的条件是使目标 函数值得到改善(逐步变优),当目标函 数达到最优值时,问题也就得到了最优解。
基本思路:
确定初始基础可行解 检查是否为 最优解? 否 确定改善方向 求新的基础可行解 是
求最优解的目标函数值
顶点转移的依据
根据线性规划问题的可行域是凸多边形 或凸多面体,一个线性规划问题有最优解, 就一定可以在可行域的顶点上找到。 于是,若某线性规划只有唯一的一个最 优解,这个最优解所对应的点一定是可行域 的一个顶点;若该线性规划有多个最优解, 那么肯定在可行域的顶点中可以找到至少一 个最优解。
cB
0 0 0
xB
cj xj
x3 x4 x5
-3 x1 1 3 0
-4 x2 2 2 1
0 x3 1 0 0
0 x4 0 1 0
0 x5 0 0 1
常数 d 6 12 2
检验数b
3
4
0
0
0
0
这说明我要调整非基变量x2 ,使其成为基变量,并 相应调出一个基变量为非基变量。
(2)确定换出基的变量。为确定哪个基变量调出 首先计算: d
b j cn i aij c j
i 1
• 求例题的检验数:
• b01=0*1+0*3+0*0-(-3) 同理求得b02,b03,b04,b05 则最右下角的我们称之为b0,
b0 cni d j
i 1
m
所以b0=0
• 解答:
• (1)确定换入基的变量。只要有检验数b﹥0, 对应的变量xj就可作为换入基的变量,当有一个 以上检验数大于零时,一般从最大的开始。因此 在本题的检验数中找到最大的正检验数。
min
0 aij
i
所以本题有:
6 12 2 2 min( , , ) 2 2 2 1 1
则此最小值对应x5,所以我们将x5行与x2列相交的 数值“1”圈起来。即要将x2与x5进行调整。“1” 被称为旋转元素。
(3)用换入变量xj替换换出变量xB,得到一个 新的基。对应这个基找出新的基可行解并列出 新的单纯性表。
两阶段法:
• 第一阶段:先求解一个目标函数中只包含人工变 量的线性规划问题,即令目标函数中的其他变量 系数取零,人工变量的系数取某个正的常数(一 般取1),在保持原问题约束条件不变的情况下求 这个目标函数极小化的解。显然在第一阶段中, 当人工变量取值为零时,目标函数值为零。这个 时候的最优解就是原线性规划问题的一个基可行 解。如果第一阶段求解结果最优解的目标函数值 不为零,即最优解的非基变量中含有非零的人工 变量,表明线性规划问题无可行解。 • 第二阶段:当第一阶段求解结果表明问题有可行 解,则此阶段在原问题中去除人工变量,并从此 可行解出发继续寻找最优解。
例3:两阶段法
min f x1 x2 x3 x 2 x 3x 6 1 2 3 4 x 5 x 6 x 6 1 2 3 x1 0, x2 0, x3 0
单纯形法一般还可证明:
• 1.解的情况:
• (1)如果在单纯形表中所有检验数都非正: 1)若基变量中含非零的人工变量,则无可行解。 2)若基变量中不含非零的人工变量:
ⅰ)首先将旋转元变为“1”,即将所要转换的基变量 行除以旋转元。因为本题中旋转元已经为“1”,所 以x5行不用调整。 ⅱ)将旋转元所在行转换后的整行数字乘以(-aij),加 到表中的第i行数字上,即将要转化为基变量的列变 为除转换元为“1”外,其他数字都为“0”的列。 在本题中,即是将x5行中的各数乘以(-2),分别加 到x3和x4行上。再将x5行乘以(-4)加到检验行上。 使得x2列上除了旋转元变为“1”,其余数字都变为 “0”。并将xB列中的x5调为x2,表示x2调入基变量, x5调入非基变量。因此得到下表。
表格单纯形法
• 例题1:用单纯形法求解线性规划问题
max f =3x1+4x2 x1+2x2≤6 3x1+2x2≤12 x2≤2 x1≥0,x2≥0
• 首先将此现行规划问题化为标准形式
得到: min f ’=- f =-3x1-4x2 x1+2x2+x3 =6 3x1+2x2 +x4 =12 x2 +x5=2 x1≥0,x2≥0,x3≥0,x4≥0,x5≥0
练习2:
min f x1 3 x2 2 x3 x 2x 2x 2 1 2 3 3 x1 x2 x3 3 x1 x2 x3 1 x1 0, x2 0, x3 0
人工变量法
人工变量
• 用单纯形法解题时,需要有一个单位阵作为初始基。 • 当约束条件都是“≤”时,加入松弛变量就形成了初始基。 • 但实际存在“≥”或“=”型的约束,没有现成的单位矩阵。
• 以上线性规划问题所得的最后检验数都小于或等 于“0”的单纯形法表格如下:
cB
-3
0 -4
xB
cj xj
x1
x5 x2
-3 x1
-4 x2
0 x3
0 x4
0 x5
常数 d
1
0 0
0
0 1
-1/2
-3/4 3/4
1/2
1/4 -1/4
0
1 0
3
1/2 3/2
0 0 -3/2 -1/2 0 -15 检验数b 因此得到当x1=3,x2=3/2,x3=x4=0,x5=1/2时,目标函 数最大值f=15.
表格单纯形法:
1、 初始单纯形表的建立
(1)表格结构: cB
0 0
xB
cj xj
x3 x4
-3 x1 1 3
-4 x2 2 2
0 x3 1 0
0 x4 0 1
0 x5 0 0
常数 d 6 12
0
x5
0
3
1
4
0
0
0
0
1
0
2
0
检验数b
单纯形表的列法:
• 原方程中自带的变量称为非基变量,如x1,x2;为 解题而设出的变量称为基变量,如x3,x4,x5。 • cj:目标函数中变量的系数; • xj:变量; • xB:基变量; • cB:基变量在目标函数中对应的系数; • d:各约束条件的常数项; • 检验数: m
练习1:
max f 2 x1 x2 5 x 15 2 6 x1 2 x2 24 x x 5 1纯形法的计算步骤
①将线性规划问题化成标准型 ②建立初始单纯形表
③计算各非基变量xB的检验数
b j cn i aij c j
大M 法:
• 本题化为标准形式后,发现只有x4一个基变量,但 题中需要三个基变量,于是,加入行x6,x7两个人 工变量。其目标函数中的系数为M,M代表任意大 的正值。
练习3:
max f 2 x1 x2 x x 2 1 2 2 x 2 x 6 1 2 x1 , x2 0
• 采用人造基的办法:人工构造单位矩阵
在没有单位列向量的等式约束中加入人工变量,构成原线性 规划问题的伴随问题,从而得到一个初始基。 人工变量是在等式中人为加进的,只有它等于0时,约束条件 才是它本来的意义。
• 处理方法有两种:
大M 法 两阶段法
例题2:大M 法
max f 3 x1 x3 x x x 4 1 2 3 2 x1 x2 x3 1 3x x 9 2 3 x1 , x2 , x3 0
1.图解法的局限
• 图解法只可解决两个变量的线性规划问题, 而在实际应用中还有多个变量的线性规划 问题无法解决。 • 因此, 1947年G.B.Dantzig提出的单纯形 法提供了方便、有效的通用算法求解线性 规划。
基本概念
• 基:已知A 是约束条件的 m×n 系数矩阵,其秩为m。若B是A中m ×m阶非奇异子矩阵(即可逆矩阵),则称B是线性规划问题中的 一个基。 • 基向量:基B中的一列即称为一个基向量。基B中共有m个基向量。 • 非基向量:在A中除了基B之外的一列则称之为基B的非基向量。
i 1
m
若所有 b≤0 ,则问题已得到最优解,停止计算, 否则转入下步。 ④在大于0的检验数中,若某个bj﹥0,而所对应的列 中没有正数,则此问题是无界解,停止计算,否则 转入下步。
⑤根据 max{dj | dj > 0}=dk 原则,确定 xk 为换入 变量(进基变量),再按规则计算:=min{bi ′/a ′| a ′ > 0}=b ′/ a ′ 确定出换出变 ik ik l ik 量。建立新的单纯形表,此时换入非基变量 取代了换出基变量的位置。 aik′ 为主元 素进行迭代,把 xk 所对应的列向量变为单位 列向量,即 aik′ 变为 1 ,同列中其它元素为 0 。 后转第③ 步。
①若存在非基变量的检验数为零,则有无穷多解。 ②若不存在非基变量的检验数为零,则有唯一解
• (2)如果单纯形表中,某一检验数大于零,而且对应 变量所在列中没有正数,则线性规划问题为无界解。
• 2.利用单纯形法一定可以求出线性规划问题的最优解 或可以判断线性规划问题无最优解。
cB
0
0 -4
xB
cj xj
x3
x4 x2
-3 x1
-4 x2
0 x3
0 x4
0 x5
常数 d
相关主题