目标规划的单纯形法
单纯形法原理

单纯形法原理单纯形法,求解线性规划问题的通用方法。
单纯形是美国数学家G.B.丹齐克于1947年首先提出来的。
它的理论根据是:线性规划问题的可行域是n维向量空间Rn中的多面凸集,其最优值如果存在必在该凸集的某顶点处达到。
顶点所对应的可行解称为基本可行解。
单纯形法的基本思想是:先找出一个基本可行解,对它进行鉴别,看是否是最优解;若不是,则按照一定法则转换到另一改进的基本可行解,再鉴别;若仍不是,则再转换,按此重复进行。
因基本可行解的个数有限,故经有限次转换必能得出问题的最优解。
如果问题无最优解也可用此法判别。
单纯形法是从某一基可行解出发,连续地寻找相邻的基可行解,直到达到最优的迭代过程,其实质是解线性方程组。
概述:根据单纯形法的原理,在线性规划问题中,决策变量(控制变量)某1,某2,…某n的值称为一个解,满足所有的约束条件的解称为可行解。
使目标函数达到最大值(或最小值)的可行解称为最优解。
这样,一个最优解能在整个由约束条件所确定的可行区域内使目标函数达到最大值(或最小值)。
求解线性规划问题的目的就是要找出最优解。
最优解可能出现下列情况之一:①存在着一个最优解;②存在着无穷多个最优解;③不存在最优解,这只在两种情况下发生,即没有可行解或各项约束条件不阻止目标函数的值无限增大(或向负的方向无限增大)。
单纯形法的一般解题步骤可归纳如下:①把线性规划问题的约束方程组表达成典范型方程组,找出基本可行解作为初始基本可行解。
②若基本可行解不存在,即约束条件有矛盾,则问题无解。
③若基本可行解存在,从初始基本可行解作为起点,根据最优性条件和可行性条件,引入非基变量取代某一基变量,找出目标函数值更优的另一基本可行解。
④按步骤3进行迭代,直到对应检验数满足最优性条件(这时目标函数值不能再改善),即得到问题的最优解。
⑤若迭代过程中发现问题的目标函数值无界,则终止迭代。
用单纯形法求解线性规划问题所需的迭代次数主要取决于约束条件的个数。
用单纯形法求解目标规划

P3 -56 -8 -10 0 0 0 0 0 1 0
Cj
0
0
0 P1 P2 P2 P3 0 0
CB XB b x1
x2
d
1
d
1
d
2
d
2
d
3
d
3
x3
0
d
1
5 3/2 0
1 -1 1/2 -1/2 0
0 0 0 -2/5 2/5 1
0 1 0 -3/10 3/10 0
00 01 0 0
00 00 0 0
00 00 0 0
P2 P3 0
d
2
d
3
d
3
000
000
-1 0 0
0 1 -1
0 0 0单
1 0 0纯 0 0 1形 0 -1 1 表 0 1/10 -1/101
-1 -3/5 3/5
0 1/20 -1/20
cj
CB XB b
0 x3 60
0 x1 0
0
d
2
36
P3
d
3
48
P1 j c j z j P2
P3
0 x3 12
0 x1 24/5
0
d
2
36/5
0 x2
j cj zj
12/5
P1 P2 P
单纯形表1
00 x1 x2
0 P1 x3 d1
00
d1
d
2Байду номын сангаас
0 20 1 -5 5 0
1 -2 0 1 -1 0
解目标规划的单纯形法

(5) 当k=K时,计算结束. 表中的解即为满意解.否则置 k=k+1,返回到(2).
【例4--4】 用单纯形法求解目标规划问题
min
z
P1
d
1
P2
(
d
_ 2
d
2
)
P3
d
3
2 x1 x2 xs 11
cj-zj
P2
P3
3/2 3/2 1/2 1
3
-3
1 1
-1/2 1/2 -1 1/2 -1/2
1/2 -1/2 -5 5 1 1 11 5 -5
4 10/3 10 -1 6/3
1
依此类推,直至得到最终表为止。见表4-3.
表4-3
cj CB XB b
P1 P2 P3 P4 x1 x2 xs d1- d1+ d2- d2+ d3- d3+ θ
P2 d2-1 6 1/3 1/3
1
P3 d2+ 1 -6 -1/3 -1/3
1
表4-4
P4 d3- d3+ -1 1
1
θ
表4-3所示的解x1*=2,x2*=4为例1的满意解. 此解相当于图4-1的G点。由表4-4得到解x1*=10/3, x2*=10/3,此解相当于图4-1的D点,G、D两点的凸线 性组合都是例1的满意解.
解目标规划问题的单纯形法的计算步骤:
(1) 建立初始单纯形表,在表中将检验数行按优先因子 个数分别列成K行,置k=1.
此表(解中2相 的当解) 于即检图为满4-查1意的解G.点该。 行中是否存在负数,且对应的前k-1行的系 数是零。若有负数取其中最小者对应的变量为换入 ③ 因k(=1)<K(=3),置k=k+1=2,返回到(2)。
单纯形法

四、单纯形法的实现——单纯形表
例1:煤电油例 Max Z=7 x1 +12x2 9 x1 +4x2≤360 化为标准型 s.t. 4x1 +5x2 ≤200 3 x1 +10x2 ≤300 x1 , x2≥0 s.t. Max Z=7 x1 +12x2 9 x1 +4x2 +x3 4x1 +5x2 3 x1 +10x2 x1 ,…,x5≥0 +x4 =360 = 200
•
“≥”型约束,减松弛变量;
练习1.3 请将例1.1的约束化为标准型
Maxz = 7 x1 + 12 x 2 ⎧9 x1 + 4 x 2 ≤ 360 ⎪4 x1 + 5 x 2 ≤ 200 s.t.⎨ 3x1 + 10 x 2 ≤ 300 ⎪x , x ≥ 0 ⎩ 1 2
则约束化为
= 360 ⎧9 x1 + 4 x 2 + x3 ⎪4 x + 5 x 2 + x4 = 200 s.t.⎨ 1 3 x1 + 10 x 2 + x5 = 300 ⎪x , x , x , x , x ≥ 0 ⎩ 1 2 3 4 5
例4 下面为某线性规划的约束
=1 ⎧ x1 + 2 x2 + x3 ⎪ + x4 = 3 ⎨2 x1 − x2 ⎪ x1 , , x4 ≥ 0 ⎩ 请例举出其基矩阵和相应的基向量、基变量。
解:
本例中, A = ⎡1 2 1 0⎤,A中的2阶可逆子阵有 ⎢ 2 − 1 0 1⎥ ⎦ ⎣
问题:本例的A中一共有几个基?—— 6个。
易见,增加的松弛变量的系数恰构成一个单位阵I。
一般地,记松弛变量的向量为 X s,则
第二章 单纯形法

15
华东交通大学工业工程与物流管理系
单纯形法的求解步骤
重复步骤2~5,直到终止。
判优换基迭代
判优换基迭代 判优换基迭代 判优 最优解
运筹学Leabharlann 16华东交通大学工业工程与物流管理系
基本可行解的改进
• 换入变量的确定——最大增加原则
假设检验向量σN=(CN- CB B-1N )=(σm+1, σm+2, …,σn), 若其中有两个以上的检验数为正,选取最大正检验数所对应的 非基变量为换入变量。 若:max{σj| σj>0,m+1≤j≤n}= σm+K 则选取对应的xm+k为换入变量。
1 0 B 0 1
2 / 5 3 / 5 1 / 5 N 6 / 5 1 / 5 2 / 5
17 / 5 b 6/5
CB (3,5), CN (2,1,1)
再转向步骤(2) 运筹学
25
华东交通大学工业工程与物流管理系
(2)检验X’=(0,0,4,0,3)T是否最优:
检验向量 N CN CB B N
1
1 / 2 1 1 / 2 N (5,2,1) (3,1) (1,4,2) 5 / 2 3 1 / 2
华东交通大学工业工程与物流管理系
单纯形法
线性规划问题的几何意义: • 凸集:没有凹入部分,内部没有空洞。实习圆、实 心球体、实心立方体都是凸集;两个凸集的交集是 凸集。 • 若线性规划问题存在可行域,则可行域是凸集。 • 线性规划问题的基可行解对应可行域的顶点。 • 若可行域有界,线性规划问题的目标函数一定可以 在其可行域的顶点上达到最优。
由最优解判别定理,非基变量检验数σ1=1>0, 所 以X‘=(0,0,4,0,3)T不是最优解
第三章2 单纯形法1

,可以构成基本矩
阵 (单位矩阵) 因而不需要加任何变量直接就能求出基本可行解。 ,
第二节 单纯形法
再看课本 20 页的例题 1,当化为标准型后,变量 x3 的系数列
0 向量为 1 1 , 所以只需要再构造出一个变量的系数列向量为 0
第二节 单纯形法
本节主要介绍单纯形法的计算步骤及线性 规划解的讨论方面的内容
一.单纯形法的基本思路 求出线性规划问题的初始基本可行解X(0),并充分 运用它提供的信息,编制初始单纯形表。 (0)是否最优?为此,需要建立一个判别标准。 判别X 如X(0)不是最优,就将一个基变量换出,将一个非 基变量换入,组成另一组基本可行解,迭代为另一张 单纯形表,使新的目标函数值较原有的为优。如此逐 步迭代,若问题有最优解,那么经有限次迭代就可求 出最优解。
只要有一个人工变量不 为零,目标函数将永远 不能求得最大值
xj ≥ 0 j=1,2,3,4,5,6
由人工变量 x5,x6 系数列向量构成的矩阵(单位矩阵)就是一个 满秩矩阵,以它为基本矩阵,x5,x6 为基变量求得的基本解为: (x1,x2, x3,x4, x5,x6)=(0, 0,0,0,2,5)
第二节 单纯形法
大家前面已经学过,化一般线性规划模型为标准型时,对“≤”约束 引入了松弛变量,松弛变量对应的系数列向量是非常特殊的。在课本例题2 中(16 页) 4,x5 是松弛变量,对应的系数列向量组成的矩阵为 0 1 ,由 ,x 文献(3)中的知识可知该矩阵是形式最简单的满秩矩阵(单位矩阵) ,因而 可以作为基本矩阵。 2.求基本解的方法: 令所有的非基变量全为零,就可以解出基变量的值。例 2 中由单位矩 阵解出的基本解为 x4= 100,x5 =120。此时,线性规划问题的基本解为: (x1,x2,x3,x4,x5)=(0,0,0,100,120) 非基变量 基变量
目标规划模型的求解(NO17)

工序
产品 A 工时定额
B
生产能力
加工
10
9
210
装配
5
6
120
毛利(元/件)
400
500
23
工厂领导提出下列目标:
(1)每个作业班的毛利不少于9800元;
(2)充分利用两个工序的工时,且已知加工工时费是装配 工时费的二倍;
(3) 尽量减少加班。
问:该工厂应如何生产,才能使这些目标依序实现?试建
立其数学模型。
8
初始单纯形表
min
Z
P1d1
P2
d
2
P3
(d
3
d
3
)
s.t.
3x1 x2
d1 d1 60
x1
x2
2x3
d
2
d
2
10
x1
x2
x3
d
3
d
3
20
xi
0;
d
i
0;
d
i
0(i
1,2,3)
min z1 d1 60 3x1 x2 d1 min z2 d2 min z3 d3 d3 20 x1 x2 x3 2d3
建立模型的电 子表格模型
4x1+3x2+ d3--d3+ =30
20
优化 目标1
P1: minZ1=d1-
优化 目标2
minZ2= d2++d2-
21
优化 目标3
P3: minZ3=d3-
此表也即为最优表,最优解为 x1 4.8, x2 4.8, d2 2, d3 3.6 :
目标的达到情况:
Z
第4章 单纯形法

不为0,是否会带来目标函数值变大? 需要最优性
检验,即如果x1或x2不论取其他任何非负值都不会
带来目标函数值增大,那该基本可行解就是最优解。
管理运筹学
18
§1 单纯形法的基本思路和原理
所谓最优性检验就是判断已求得的基本可行解是否是最优解。 (1) 最优性检验的依据——检验数σ j 一般来说目标函数中既包括基变量,又包括非基变量。现在我们要求 只用非基变量来表示目标函数,或者说目标函数中基变量的系数都为零了。 此时目标函数中所有变量的系数即为各变量的检验数,把变量xi的检验数 记为σ i。显然所有基变量的检验数必为零。在本例题中目标 函数为3x1+5x2。由于初始可行解中x1,x2为非基变量,所以此目标函 数已经用非基变量表示了,不需要再代换出基变量了。这样我们可知 σ 1=3,σ 2=5,σ 3=0,σ 4=0,σ 5=0。 检验数:用非基变量来代换基变量,使得目标函数只用非基变量来表示。
• Z=3x1+5x2 • 非基变量的检验数都大于0,说明增加x1或x2都可以使目标
函数值变大。故非最优解。 • 3、基变换。 通过检验,我们知道这个初始基本可行解不是最优解。下面
介绍如何进行基变换找到一个新的可行基,具体的做法是从
可行基中换一个列向量,得到一个新的可行基,使得求解得
到的新的基本可行解,其目标函数值更优。为了换基就要确
§1 单纯形法的基本思路和原理
由线性代数的知识知道,如果我们在约束方程组系数矩阵中找到一个
基,令这个基的非基变量(n-m个)为零,再求解这个m元线性方程组就可得 到唯一的解了,这个解我们称之为线性规划的基本解(基解)。
在此例中我们不妨找到了
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ch4 Goal Programming
2020年5月14日星期四 Page 2 of 6
【解】用单纯形法求解目标规划问题的具体步骤如下:
第1步:列出初始单纯形表。由于目标规划中的目标函数一定是求极小, 为方便起见不转换成求极大。又由于各目标约束中的负偏差变量其系数均为 单位向量,全部负偏差变量的系数列向量构成一个基。因此本例中以d1-、d2 -、d3-作为基变量,列出初始单纯形表见表4-1。
1
§4.3 单纯形法 Simplex Method
Ch4 Goal Programming
2020年5月14日星期四 Page 5 of 6
这里需要说明两点: 1.对目标函数的优化是先按优先顺序逐步进行的。当P1行的
所有检验数均为非负时,说明第一级已得到优化,可转入下一 级,再考察P2行的检验数是否存在负值,依此类推。
因为目标函数中各偏差变量分别乘以不同的优先因子,因此表中检验
数(cj-zj)按优先因子P1、P2分成两行,分别计算。
第2步:确定换入变量。在表4-1中按优先级顺序依次检查P1,P2,P 3,…,Pk行的(cj-zj)值是否有负的。因表中P1行存在负检验数,说明目 标函数中第一优先级可进一步优化,选取P 行中最小检验数,其对应变量
第五章 整数规划 Exit
b
0
x1 1 ½
1/2 -1/2
20
0
d1+
[1/2] -1 1 1/2 -1/2
10
P2
d3-
1/2
-3/2 3/2 1 -1 40
Cj-Zj
P1
1
1
P2
-½
-3/2
1
0
x1 1
1 -1
10
表
0
x2
4
P2
d3-
1 -2 2 1 -1
20
1 -1 -2 2 1 -1 30
Cj-Zj
P1
1
1
P2Βιβλιοθήκη -1 1 2 -220
2
P2
d3-
2 -3 3
1 -1 70
Cj-Zj
P1
1
1
P2
-2 3 -3
§4.3 单纯形法 Simplex Method
Ch4 Goal Programming
2020年5月14日星期四 Page 4 of 6
Cj
0
0 P1 0 0 P1 P2
0
表 3
CB
基变量 x1
x2 d1- d1+ d2- d2+ d3- d3+
1
x1即为换入变量。 第3步:确定换出变量,将表4-1中b列数字同x1列中的正数相比,
其最小比值对应的变量d1- 即为换出变量。 第4步:用换入变量替换基变量中的换出变量,进行迭代运算,得表4
-2。
§4.3 单纯形法 Simplex Method
Ch4 Goal Programming
2020年5月14日星期四 Page 3 of 6
2.从考察P2行以下的检验数时,注意应包括更高级别的优先 因子在内,例如表3最下面P2行有两个负值,其对应的变量d1- 的检验数为(P1-P2)>0,变量d2+的检验数为(P1-2P2)> 0。 因此判断迭代算应否停止的准则为:
(1)检验数P1,P2,…,Pk行的所有值均为非负;
(2)P1,…,Pi行所有检验数,第Pi+1行存在负检验数, 但在负检验数所在列的上面行中有正检验数。
Cj
0
0 P1 0 0 P1 P2
0
表 1
CB
基变量 x1
x2 d1- d1+ d2- d2+ d3- d3+
b
P1
d1- [1] 0 1 -1
10
0
d2-
2
1
1 -1
40
P2
d3-
3
2
1 -1 100
Cj-Zj
P1 -1
1
1
P2 -3 -2
0
x1 1 0 1 -1
10
表
0
d2-
1 -2 [2] 1 -1
§4.3 单纯形法 Simplex Method
Ch4 Goal Programming
2020年5月14日星期四 Page 1 of 6
目标规划的数学模型与线性规划基本相同,所以用单纯 形法求解时的方法步骤也基本相同。但由于目标规划中目标 函数分不同的优先级,因此应首先寻求使最高优先级的目标 优化,然后转向下一级,当下一级目标优化后再转更低一级, 等等。下面用例子具体说明。
即从P 行起,虽然在某一行存在负检验数,而该负检验数同 2
列较高优先级的行中存在有正检验数时,计算就应停止。
§4.3 单纯形法 Simplex Method
Ch4 Goal Programming
2020年5月14日星期四 Page 6 of 6
The End of Chapter 4
作业:1.教材P113 T4.3
【例1】用单纯形法求解下述目标规划问题:
min z P1(d1 d2 ) P2d3
x1
d1 d1 10
2x1 x2 d2 d2 40
3x1 2x2 d3-d3 100
x1, x2 , di , di 0 (i 1,2,3)
§4.3 单纯形法 Simplex Method