13单纯形法
单纯形法基本原理

否
含 有xa
是 无可行解
(a对ik
0 任一
j 0)
否
是 无界解
有某个 否 非基变量的
j 0
唯一 最优解
是
无穷多
最优解
循
环
停止
计 算 i
( bi alk
alk
0)
用 非 基 变 量xk 替 换 基 变 量xl
列出下一个 新单纯形表
单纯形法的进一步讨论-人工变量法 Page 17
解的判别: 1)唯一最优解判别:最优表中所有非基变量的检验数非零, 则线 规划具有唯一最优解。 2)多重最优解判别:最优表中存在非基变量的检验数为零, 则线则性规划具有多重最优解(或无穷多最优解)。 3)无界解判别:某个λk>0且aik≤0(i=1,2,…,m)则线性 规划具有无界解。 4)无可行解的判断:当用大M单纯形法计算得到最优解并 且存在Ri>0时,则表明原线性规划无可行解。 5)退化解的判别:存在某个基变量为零的基本可行解。
max Z 3 x1 4 x2
2x1 x2 40
x1
3x2
30
x1
,
x2
0
解:1)将问题化为标准型,加入松驰变量x3、x4则标准型为:
max Z 3 x1 4 x2
2 x1 x2 x3 40
ቤተ መጻሕፍቲ ባይዱ
x
1
3x2
x4
30
x1
,
x2
,
x3
换
x3
x4
出
1
0
40 行
0
1
第四节 单纯形法的计算步骤

上表中由于所有σ 上表中由于所有 j>0 ,表明已求得最优解 x1=4, x2=2, x3=0, x4=0, x5=0, x6=4, , , , , , , Z=14。 。 当确定x 为换入变量计算θ值时 值时, ◆当确定 6为换入变量计算 值时,有两个相 同的最小值: 同的最小值:2/0.5=4,8/2=4。任选其中一 , 。 个作为换出变量时, 个作为换出变量时,则下面表中另一基变 量的值将等于0,这种现象称为退化 退化。 量的值将等于 ,这种现象称为退化。含有 一个或多个基变量为0的基可行解称为 的基可行解称为退化 一个或多个基变量为 的基可行解称为退化 的基可行解。 的基可行解。
18
迭代
xB
次数
cB
x1
x2
x3
x4
x5 bi
θi
50
x1
100
0
0
0
50 0 100
1 0 0
0
0 0 1
0
1 -2 0
- 50
0 1 0
0
-1 1 1
- 50
50 50 250 -27500
2
x4 x2
σj
2010年8月
管理工程学院
18
《运筹学》 运筹学》
19
所有的检验数 σ j ≤ 0, 此基本可行解: 此基本可行解:
2010年8月
管理工程学院
5
《运筹学》 运筹学》
6
c1 … cl b b1´
⋮
c j→ cB c1
⋮
… cm … xm …0 …⋮ 0 …1 …
⋮
…cj …xj …a1j´ …⋮ a2j´ …⋮ amj´
… ck … cn … xk …xn …0 …⋮ 1 …0
单纯形法大M法两阶段法

大M法和两阶段法
如果线性规划模型中约束条件系数矩阵中不存在单位向量组,解 题时应先加入人工变量,人工地构成一个单位向量组。 人工变量只起过渡作用,不应影响决策变量的取值。
两种方法可控制人工变量取值使用,尽快地把人工变量减小到零。
• 大M法 • 两阶段法
大 M法
大M单纯形法要求将目标函数中 min z = -3X1 + X2+X3 的人工变量被指定一个很大的 x1 - 2x2 + x3 ≤ 11 目标函数系数(人工变量与松 - 4x1 + x2 +2 x3 ≥ 3 弛剩余变量不同之处)。 - 2x1+ x3 = 1 x1 ,x2 ,x3 ≥ 0
xk进基,xBr离基,用Pk替代PBr得新的可行基B
bi br r=min{ | aik 0} ark aik
步5.以ark为主元素进行迭代.转步2
新可行解:x=(xB1,…xBr-1,0,xBr+1,…,xBm,0,…, 0,xk,0,…,0)
单纯形法流程图
开始 初始可行基
所有σj≥0?
目录
1 2 3 4 单纯形算法计算步骤 初始可行基的确定 大 M法 两阶段法
线性规划的单纯形算法
计算流程
初始基本可行解
N 沿边界找新 的基本可行解
是否最优解或 无限最优解? Y
结束
线性规划解的概念
若A = ( B, N ), 其中B ( P 1, P 2 , …,Pm )可逆,称B为基矩阵 x1 x2 xB 相应地X= , x B为基变量,x N为非基变量 xN xn xB 代入约束:(B,N)B-1b-B 1Nx N xN
1 3 第一章线性规划与单纯形法运筹学习题集第一章线性规划与单纯形

1 3 第一章线性规划与单纯形法运筹学习题集第一章线性规划与单纯形13第一章线性规划与单纯形法运筹学习题集第一章线性规划与单纯形法复习思考题1. 试述线性规划数学模型的结构及各要素的特征。
2. 求解线性规划问题时可能出现哪几种结果?哪些结果反映建模时有错误?3. 什么是线性规划问题的标准形式?如何将一个非标准型的线性规划问题转化为标准形式?4. 试述线性规划问题的可行解、基解、基可行解、最优解的概念以及上述解之间的相互关系。
5. 试述单纯形法的计算步骤,如何在单纯形表上判别问题是具有唯一最优解、无穷多最优解、无界解或无可行解?6. 如果线性规划的标准型变换为求目标函数的极小化min z,则用单纯形法计算时如何判别问题已得到最优解?7. 在确定初始可行基时,什么情况下要在约束条件中增添人工变量?在目标函数中人工变量前的系数为(-M)的经济意义是什么?8. 什么是单纯形法计算的两阶段法?为什么要将计算分成两个阶段进行,如何根据第一阶段的计算结果来判定第二阶段的计算是否需要继续进行?9. 简述退化的含义及处理退化的勃兰特规则。
10. 举例说明生产和生活中应用线性规划的可能案例,并对如何应用进行必要描述。
11. 判断下列说法是否正确:(a) 图解法同单纯形法虽然求解的形式不同,但从几何上理解,两者是一致的;(b) 线性规划模型中增加一个约束条件,可行域的范围一般将缩小,减少一个约束条件,可行域的范围一般将扩大;(c) 线性规划问题的每一个基解对应可行域的一个顶点;(d) 如线性规划问题存在可行域,则可行域一定包含坐标的原点;(e) 对取值无约束的变量xj,通常令xj=x′j-x″j,其中x′j?0,x″j?0,在用单纯形法求得的最优解中有可能同时出现x′j,0,x″j,0;(f) 用单纯形法求解标准型的线性规划问题时,与σj,0对应的变量都可以被选作换入变量; (g) 单纯形法计算中,如不按最小比值原则选取换出变量,则在下一个解中至少有一个基变量的值为负;(h) 单纯形法计算中,选取最大正检验数σk对应的变量xk作为换入变量,将使目标函数值得到最快的增长;(i) 一旦一个人工变量在迭代中变为非基变量后,则该变量及相应列的数字可以从单纯形表中删除,而不影响计算结果;(j) 线性规划问题的任一可行解都可以用全部基可行解的线性组合表示; (k)若X1,X2分别是某一线性规划问题的最优解,则X=λ1X1+λ2X2也是该线性规划问题的最优解,其中λ1、λ2可以为任意正的实数;(l) 线性规划用两阶段法求解时,第一阶段的目标函数通常写为minz=?ixai(xai为人工变量),但也可写为min z=?ikixai,只要所有ki均为大于零的常数;(m)对一个有n个变量、m个约束的标准型的线性规划问题,其可行域的顶点恰好为Cmn个; (n) 单纯形法的迭代计算过程是从一个可行解转换到目标函数值更大的另一个可行解; (o) 线性规划问题的可行解如为最优解,则该可行解一定是基可行解; (p) 若线性规划问题具有可行解,且其可行域有界,则该线性规划问题最多具有有限个数的最优解;(q) 线性规划可行域的某一顶点若其目标函数值优于相邻的所有顶点的目标函数值,则该顶点处的目标函数值达到最优;(r) 将线性规划约束条件的“?”号及“?”号变换成“=”号,将使问题的最优目标函数值得到改善;(s) 线性规划目标函数中系数最大的变量在最优解中总是取正的值;(t) 一个企业利用3种资源生产4种产品,建立线性规划模型求解得到的最优解中,最多只含有3种产品的组合;(u) 若线性规划问题的可行域可以伸展到无限,则该问题一定具有无界解; (v) 一个线性规划问题求解时的迭代工作量主要取决于变量数的多少,与约束条件的数量关系相对较小。
运筹学单纯形法

单纯形表
max z=x1+2x2 s.t. x1+x23 x2 1 x1, x2 0
Cj CB XB b 0 0 Z X3 3 X4 1 0 1 2 0 0
标准化
max z=x1+2x2 s.t. x1+x2+ x3 =3 x2 +x4=1 x1, x2 ,x3, x40
X1 X2 X3 X4 1 0 1 1 1 2 1 0 0 0 1 0
Z=x1+2x2 x1+x2+ x3 =3 x2 +x4=1 单纯形表
Cj
1
2
0
0
单纯形法原理 单纯形表 CB XB b
z=x1+2x2 x3 =3-x1-x2 x4=1 -x2
x2进基,x4离基
X1 X2 X3 X4
3/1 11
0
1 0
1 1
1 1
2 2 0 1 0 2 0 1 0 0 1 0 -1 0
max z=x1+2x2 s.t. x1+x2+x3 =3 x2 +x4=1 x1, x2, x3, x40
x1=0
(x1,x2,x3,x4)= (0,1,2,0), z=2 C (x1,x2,x3,x4)= (2,1,0,0), z=4,最优解
B
x4=0 x3=0
(x1,x2,x3,x4)= (0,0,3,1), z=0
1 0
0 0
0 1
0
CB XB b 0 2 Z Cj CB XB b 1 2 Z X1 2 X2 1 4 X3 2 X2 1 2 1 1 0 0
X1 X2 X3 X4 1 0 1 1 0 0 0 -1 1 -1
运筹学单纯形法

16
三、其他解旳情况 1、无穷多种解 例2 解LP问题:
min Z x1 2 x2 x3 0 x4 0 x5
xx51
1 2c 5 3c
其中c是满足非负性旳任意常数。
21
再由
x1,
x5
旳非负性,知:
x1 x2
1 2c c
0 0
x5 5 3c 0
解出 0 c 5 3
最优解为:
(2c 1, c,0,0,5 3c)T (其中0 c 5 )
3
最优值为:max S 1.
22
2、无最优解旳两种情况:
相应地,将 X 0代入目的函数得 Z ( X 0 ) 0
从数学角度看,若让非基变量 x1, x2 取值从零增长,
6
min Z 2x1 x2 0x3 0x4 0x5
相应旳目旳函数值Z也将随之降低。所以有可能找到一种 新旳基本可行解,使其目旳函数值有所改善。即进行基变
换,换一种与它相邻旳基。再注意到 x1 前旳系数-2比 x2
x3
6 x1 x1
2x2 x2
x4 x5
xi 0
i 1,,5
15 24 5
目前可行基{ x3, x4 , x5 }所相应旳基本可行解
X 0 (0,0,15,24,5)T
(相应可行域旳 o(0,0) )
显然不是最优。 因为从经济意义上讲, x1 0, x2 0
意味着该厂不安排生产,所以没有利润。
2
§13 单纯形法

单纯形法举例(续)
以上数学描述说明了每生产一件产品Ⅱ,需要 用掉各种资源数为(2,0,4),由这些资源中的薄弱 环节,就确定了产品Ⅱ的产量。
这里就是由原材料B的数量确定了产品Ⅱ的产量 x2=12/4=3件。
14
Operational Research
单纯形法举例(续)
为了求得以x3, x4, x2为基变量的一个基可行解和
x1, x2, …, xm 为松弛变量
28
Operational Research
初始基可行解的确定(续)
于是含有m×m单位矩阵,以B 作为可行基。
1
B P1, P2 ,
Pm
1
1
29
Operational Research
初始基可行解的确定(续)
将(*)式每个等式移项得
单纯形法的表现形式: 代数法 表格法 矩阵法
2
Operational Research
单纯形法的基本原理
一般线性规划问题具有线性方程组的变量数大 于方程个数,这时有不定的解。但可以从线性方程 组中找出一个个的单纯形,每一个单纯形可以求得 一组解,然后再判断该解使目标函数值是增大还是 变小,决定下一步选择的单纯形。这就是迭代,直 到目标函数实现最大值或最小值为止,这样问题就 得到了最优解。
单纯形法举例(续)
将(1-7)式代入目标函数(1-1)式得到
z
9
2x1
3 4
x5
(1 8)
令非基变量x1=x5=0,得到z=9,并得到另一个
基可行解X(1)。
X (1) (0, 3, 2,16, 0)T
单纯形法例题讲解

例1max z=2x1+3x2(标准形式即所有的变量均为负、所有约束条件为等式、所有的右端项系数非负)a=(2,3) b1=(80,160,120) A2=NULL b2=NULL A3=NULL b3=NULL n.iter=n+2*m maxi=TRUE ●simplex(a=a,A1=A1,b1=b1,maxi=TRUE): m1=3,m2=0,m3=0m=3,n=2 a.o=a=(2,3)if(maxi) a=-a(-2,-3) if(m2+m3==0) a=(-2,-3,0,0,0) b=(80,160,120) init=(0,0,0,80,160,120) basic=(3,4,5) eps=1e -10out1<-simplex1(a=a,A=A,b=b,init=init,basic=basic,eps=eps) ⏹ simplex1(a=a,A=A,b=b,init=init,basic=basic,eps=eps):N=5,M=3nonbasic=(1,2)if(stage==2) obfun=(-2,-3)it=1◆ while(!all(obfun > -eps) && (it <= n.iter))循环 pcol=3if(stage==2) neg=(1,3)x1+2x2<=804x1<=160 4x2<=120 x1,x2>=0A1= 1 2 4 0 0 4A= 1 2 1 0 0 4 0 0 1 0 0 4 0 0 1tableau= 80 -1 -2 160 -4 0 120 0 -4tableau= 80 -1 -2 160 -4 0120 0 -40 -2 -3转化为标准形式x1+2x2+x3=80 4x1+x4=160 4x2+x5=120x1,x2,x3,x4,x5>=0ratios=(40,30)prow=3pivot(tableau,prow ,pcol) 换基迭代 pv=tableau[3,3]=-4pcv=tableau[,3]=(-2,0,-4,-3)tableau[-3, ] = tableau[-3, ] - (tableau[-3, 3]/pv) %o% tableau[3,]tableau[3, ] = tableau[3, ]/(-pv)=(30,0,-1)tableau[3,3]=1/pv=-1/4tableau[-3, 3]=pcv[-3]/(-4)if(stage==1) else temp=basic[3]=5 basic[3]=nonbasic[2]=2 nonbasic[2]=5 obfun =tableau[4, -1L]=(-2,3/4) it=it+1=2至此进行了一次换基迭代(basic=(3,4,2) nonbasic=(1,5)) 再从while 循环头部开始,判断循环条件是否满足 pcol=2if(stage==2) neg=(1,2) ratios=(20,40)prow=1pivot(tableau,prow ,pcol) 换基迭代 pv=tableau[1,2]=-1pcv=tableau[,2]=(-1,-4,0,-2)tableau[-1, ] = tableau[-1, ] - (tableau[-1, 2]/pv) %o% tableau[1,]tableau[1, ] = tableau[1, ]/(-pv)=(20,-1,0)tableau= 20 -1 0 160 -4 0 120 0 -4 -90 -2 0tableau= 20 -1 0160 -4 030 0 -1/4-90 -2 0tableau= 20 -1 0 160 -4 0 30 0 -1 -90 -2 0tableau= 20 -1 1/2 160 -4 030 0 -1/4-90 -2 3/4tableau= 20 -1 1/2 80 0 -2 30 0 -1/4 -130 0 -1/4tableau= 20 -1 1/2 80 0 -2 30 0 -1/4 -130 0 -1/4tableau[1,2]=1/pv=-1/1tableau[-1,2]=pcv[-1]/(-1)if(stage==1) else temp=basic[1]=3 basic[1]=nonbasic[1]=1 nonbasic[21=3 obfun =tableau[4, -1L]=(2,-1/4) it=it+1=3至此进行了两次换基迭代(basic=(1,4,2) nonbasic=(3,5)) 再从while 循环头部开始,判断循环条件是否满足 pcol=3if(stage==2) neg=(2,3) ratios=(40,120) prow=2pivot(tableau,prow ,pcol) 换基迭代pv=tableau[2,3]=-2pcv=tableau[,3]=(1/2,-2,-1/4,-1/4)tableau[-2, ] = tableau[-2, ] - (tableau[-2, 3]/pv) %o% tableau[2,]tableau[2, ] = tableau[2, ]/(-pv)=(40,2,-1)tableau[2,3]=1/pv=-1/2tableau[-2,3]=pcv[-2]/(-2)if(stage==1) else temp=basic[2]=4 basic[2]=nonbasic[2]=5 nonbasic[21=4tableau= 20 -1 1/2 80 0 -2 30 0 -1/4 -130 0 -1/4 tableau=20 -1 1/2 80 4 -2 30 0 -1/4 -130 2 -1/4tableau= 40 0 080 4 -220 -1/2 0-140 3/2 0 tableau=40 0 040 2 -120 -1/2 0-140 3/2 0tableau=40 0 0 40 2 -1/2 20 -1/2 0 -140 3/2 0 tableau= 40 0 -1/4 40 2 -1/2 20 -1/2 1/8-140 3/2 1/8obfun =tableau[4, -1L]=(3/2,1/8)it=it+1=4至此进行了三次换基迭代(basic=(1,5,2) nonbasic=(3,4))再从while 循环头部开始,判断循环条件是否满足,发现!all(obfun > -eps)为false ,则跳出循环,循环结束。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
初始可行基 :
1 0 0
B(0)
(Pn1,Pn2,,Pnm)
0010
0 1
初始基本可行解:
X (0 )(0 ,0 , ,0 ,b 1,b 2, ,b m )T
一般(经过若干次迭代),对于基B,
用非基变量表出基变量的表达式 为:
n
xni bi' ai'jxj, j1
0 0 1
对应的基变量是 x3,x4,x5; 第三步:写出初始基本可行解和相应的
目标函数值
两个关键的基本表达式:
①用非基变量表示基变量的表达式
x3 8x12x2 x4 164x1 x5 12 4x2
初始基本可行解
X(0) (0,0,8,16,12)T
②用非基变量表示目标函数的表达式
Z02x13x2
二、单纯形法原理(用代数方法求解 LP) 例
maxZ 2x1 3x2
x1 2x2 8
s.t.4x1 4x2
16 12
x1, x2 0
(台时约束) (原材料约束)
第 一 步 : 引 入 非 负 的 松 弛 变 量 X3,x4,x5, 将 该 LP化为标准型
maxZ2x13x2 0x30x4 0x5
选哪一个非基变量进基?
选x2为进基变量(换入变量) 问题讨论:能否选其他的非基变量进基?
任意一个 × 任意一个正检验数对应的非基变量 ✓ 最大正检验数对应的非基变量 ✓ 排在最前面的正检验数对应的非基变量 ✓
② 确定出基变量:分析非基变量表示基变 量的表达式
问题讨论
x2进基意味着其取值从0变成一个正数(经济 意义——生产乙产品),能否无限增大? 当x2增加时,x3、x4、x5 会如何变化? 具体如何确定换出变量?
LP限制条件中全部是“≤”类型的约束 ——将新增的松弛变量作为初始基变量,
对应的系数列向量构成单位阵;
(2)写出初始基本可行解——
根据“用非基变量表示基变量的表达式”, 非基变量取0,算出基变量,搭配在一起构成 初始基本可行解。
2、建立判别准则
写出用非基变量表示目标函数的表达式
就LP限制条件中全部是“≤”类型约束,新 增的松弛变量作为初始基变量的情况来描述:
于是,若LP只有唯一最优解,这个最优解 所对应的点一定是可行域的一个顶点;若LP有 多个最优解,那么肯定在可行域的顶点中可以找 到至少一个最优解。
2.需要解决的问题:
(1) 第一个(顶点) 基本可行解怎么找? (2) 如 何 决 定 一 个 基 本 可 行 解 是 不 是 最 优 解——最优判断标准是什么? (3)如果不是最优,怎么从一个基本可行解 向下一个基本可行解转移 ——转移方法?
x2
3
1 4 x5
得新的基本可行解 X(1)=(0,3,2,16,0)T
写出用非基变量表示目标函数的表达式:
Z 2x1 3x2
2x1
33
1 4
x5
92x1
3 4
x5
可得相应的目标函数值为Z(1)=9
检验数仍有正的, 继续换基、判断。
第五步:上述过程何时停止? 当用非基变量表示目标函数的表达式中,非
此时LP的标准型为
nm
M a xZ c j x j j 1
a11 x1 a12 x2 L a1n x n x n 1 b1
s.t. Ma 21 x1
a22
x2
L M
a2n xn xn2 b2 M
a
m
1
x1
am2 x2
L
amn xn xnm bm
x1 , x2 ,L , xn m 0
x12x2 x3
8
s.t.4x1
x4 16
4x2
x5 12
x1,x2,x3,x4,x5 0
(台时约束) (原材料约束)
➢x3, x4, x5 三个松弛变量的经济含义表示什么?
第二步:寻求初始可行基,确定基变量
1 2 1 0 0
1 0 0
A
4
0
0 4
0 0
1 0
0
1
BP3,
P4,
P50 1 0
➢根据非基变量表示基变量的表达式
x3 8 x1 2 x2
x
4
16
4 x1
x
5
12
4 x2
当x2增加时, x3, x5会减小,但有限度——必
须≥0,以保持解的可行性!于是
x38x12x20 x4164x10 x512 4x20
x282
x2142
x2min82,,1423
当x2的值从0增加到3时, x5首先变为0, 此时x3=2>0,
基变量的系数(检验数)全部非正时,当前的 基本可行解就是最优解!
为什么? ——分析用非基变量表示目标函数的表达式, 如果让负检验数所对应的变量进基,目标函数 值将下降!Z=14-1.5x3-0.125x4
三、单纯形法的一般描述:
1、初始可行解的确定
(1)初始可行基的确定 观察法——观察系数矩阵中是否含有现成 的单位阵?
图解法的局限性?
1947 年 美 国 数 学 家 丹 捷 格 (G.B.Dantzig)提出的单纯形法 提供了方便、有效的通用算法求 解线性规划。
一、单纯形法的基本思想
1、顶点的逐步转移
ቤተ መጻሕፍቲ ባይዱ
LP可行域
基本可 行解
顶点转移的依据?
根据线性规划问题的可行域是凸集(凸多边 形或凸多面体),若LP有最优解,就一定可以 在可行域的顶点上找到。
因此选x5为出基变量(换出变量)。
这种用来确定出基变量的规则称为 “最 小比值原则”(或θ原则)。
基变量 x5 出基:
非基变量 x2 进基:
1 2 1 0 0
A
4
0
0
1
0
0 4 0 0 1
B = (P3,P4, P5 )
向量: P1 P2 P3 P4 P5 变量: x1 x2 x3 x4 x5
当前的目标函数值
Z (0) 0
请解释结果的经济含义 ——
不生产任何产品,资源都没有被利用 ( x3=8,x4=16,x5=12),两种产品的总利润 为0!
第四步:分析两个基本表达式 ① 分析用非基变量表示目标函数的表达式,看
看目标函数是否可以改善,如何改善?
Z2x13x2
非基变量前面的系数均为正数,所以任何 一个非基变量变成基变量(进基)都可能 使Z值增加 通常, 把非基变量前面的系数叫“检验数”
B = ( P2, P3,P4 )
基变换(写出第二个基本可行解及其对
应的目标函数值)
新的基变量——x2 , x3, x4;新的非基变量x1, x5;
写出用非基变量表示基变量的表达式:
由
x3 8 x1 2 x2
x4
16
4
x1
→
x5
12
4x2
x3
2
x1
1 2
x5
x4 16 4 x1