表格法解线性规划设计问题doc.docx
《表格法解线性规划设计问题doc.docx》由会员分享,可在线阅读,更多相关《表格法解线性规划设计问题doc.docx(16页珍藏版)》请在冰豆网上搜索。
表格法解线性规划设计问题doc
表格法解线性规划问题
【教学目标】
知识目标:
理解用表格法解线性规划问题的方法和步骤.
能力目标:
通过例子详细地介绍了表格法解线性规划问题的过程,
并引入了线性规划标准型的概念,归纳总结了表格法
解线性规划问题的步骤.
【教学重点】理解用表格法解线性规划问题的方法和步骤.
【教学难点】理解用表格法解线性规划问题的方法和步骤.
【教学设计】
1、表格法也称单纯形法,是解线性规划问题的常用方法,使用该
方法时,首先要将一般的线性规划问题化为标准型.在教材中给出了
化标准型的方法.讲解时一定要注意b≥0以及变量的非负性.
2、表格法解线性规划问题的过程,教材中归纳为五个步骤,这实
际上是一个算法,可以利用前面介绍过的算法知识来学习.
3、初始表格中初始解组的确定是关键,一般可取松弛变量,但当
标准型中没有这样的变量满足初始解组的要求时,通常要通过添加
人工变量来解决,本教材没有就这方面的问题进行深入讨论(一般
的运筹学教材中都可找到该内容).
4、表格在转换时(通常称为转轴),教材中提到用加减消元法来转
轴.教师可就这部分内容作适当的讲解.
5、由于通常的表格转换要进行多次,而表头部分是不变的,因此
可以将多张表格合并起来,具体样式可参见5.5节表5-16.
1
【教学过程】
5.3.1线性规划问题的标准形式
求线性规划问题的图解法虽然直观简便,但对多于两个变量的情
况就不能适用了,对于多于两个决策变量的线性规划问题,可以用什
么方法呢?
下面介绍一种用表格的方法来求解线性规划问题的解.
表格法是根据单纯形法而专门设计的一种计算表格.
单纯形法(SimpleMethod)是求解线性规划问题的主要方法,该
法由丹赛(Dantzig)于1947年提出,后经过多次改进而成,是求解
线性规划问题的实用算法.由上节的叙述可知,如果线性规划问题的
最优解存在,则必定可以在其可行解集合的顶点(极点)中找到.因
此,寻求一个最优解就是在其可行域的各个极点中搜索最优点.单纯
形法实质上是一个迭代过程,该迭代即是从可行域的一个极点移到另
一个近邻的极点,直到判定某一极点为最优解为止.
为使用表格法,首先介绍线性规划问题的标准形式.
一般的线性规划问题中目标函数可能是求最大(或最小)值,而线
性约束条件中可能是线性方程,也可能是线性不等式,约束条件中约
束方程(或不等式)的个数也未必就比决策变量的个数少,这些问题
对于线性规划的求解,带来极大的不便,为此,引入下述标准形式:
求目标函数最大值
maxZc1x1c2x2c3x3...
cnx
n
(用和式表示为
n
max)
Zcx
jj
j1
2
a
11
x
1
a
12
x
2
...
a
1n
x
n
b
1
ax
211
a
22
x
2
...
a
2n
x
n
b
2
满足............
ax
m11
a
m
2
x
2
...
a
mn
x
n
b
m
x
1
0,
x
2
0,...,
x
n
0
n
用和式表示为满足
j1
a
ij
x
i
b
i
(i1,2,3,,m)
x
j
0,(j1,2,3,,n)
其中,a,b,c(i1,2,3,,m;j1,2,,n)
各都是确定的常数,
ijij
xj是决策变量,Z是目标函数,
(j1,2,,n)
a叫做技术系数,
ij
b≥0
i
(i1,2,m)叫做资源系数,
c叫做目标函数系数.
j
特点:
1、目标函数为极大化;
2、除决策变量的非负约束外,所有的约束条件都是等式,且右端
常数均为非负;
3、所有决策变量均非负.
如果根据实际问题建立起来的线性规划模型不是标准型的,可以
用下述方法将它化为标准型.
(1)若目标函数是
min
Zcxcxcx...
112233
c
nx
n
可令zz',将目标函数转化为max(...)
Zcxcxcxcnx
'
112233n
(2)若约束条件不等式中是“≤”,可在不等式左边加上非负变量,
将不等式转化为方程.如
6xx≤180可转化为6x2180,其
121xx
223
中x3≥0.这里的x3叫做松弛变量.表示没有用完的资源.
(3)若约束条件不等式是“≥”,可在不等式左边减去非负变量,将
3
不等式转化为等式方程,如
2xx≥10可转化为2210
12x1xx,
224
其中,x4≥0.这里的x4叫做多余变量,表示不存在的资源.
一般地,松弛变量和多余变量的目标函数系数为0.
(4)若有一个变量
x没有非负约束(叫做自由变量),可令
k
x,
kxx
ls
其中
x≥0,
l
x≥0.
s
知识巩固
例1将5.1节问题1中的线性规划问题化为标准型
6x
1
2
x
2
180
约束条件
4x
1
3x
1
10x
2
5x
2
400
210
x
1
0,
x
2
0
求目标函数最大值
maxZ31x122x
2
解分别对前三个约束条件引入松弛变量
x,得标准型:
3,x,xx,得标准型:
45
6x
1
2x
2
x
3
180
约束条件
4x
1
3x
1
10x
2
5x
2
x
4
x
5
400
210
x0,j1,2,3,5.
j
求目标函数最大值
maxZ31x122x
2
5.3.2表格法
下面我们通过实例来介绍表格法.
首先要列出初始表格.为了得到初始表格,我们分几步来说明:
先把标准型中的约束条件方程转换成表格(表5.4)的形式.
如:
5.1问题1转化的结果为:
4
6x
1
2x
2
x
3
0x
4
0x
5
180
4x
1
3x
1
10x
2
5x
2
0x
3
0x
3
x
4
0x
4
0x
5
x
5
400
210
列成表格为:
x0,j1,2,,5.
j
表5.4
xx2x3x4x5bi
1
62100180
410010400
35001210
(表格中的列数为变量个数加1,行数为方程个数加1)
从约束方程中,很容易得到,当x10,x20时,x3180,x4400,
x210,显然这是一组可行解(我们把它叫作初始解组),将其中三
5
个取非0值的变量
x3,x,x列成一列对应地加在上表的最左侧,然后
45
再在所得表的左侧添加一列对应于该初始解组变量的目标函数系数,
在表的上侧添加一行对应于各变量的目标函数系数,得如下表:
5
其中在初始解组中的变量必须满足在对应行的约束条件方程中系
数为1,而同列其他系数为0,(如果约束条件方程中不满足这要求,
可以通过对线性约束条件方程作加减消元法而得到.)
再在上表的基础上,增加1行(叫做检验数行j)和1列(叫做比值
列i)得下面形式:
按下面的计算公式在表中依次填上检验数行
j和比值列i,其中
m
检验数计算公式jcca,例如j31,即为x1所在列的目标函
jiij
i1
数系数行中的c1值减去该列系数与第一列初始解组的目标函数系数
的对应乘积和,131(060403)31.
选取检验数最大的正数所在列(记作k列,表中用[]表示)然后
计算比值
i.
b
比值的计算公式,0,
i
ia
ik
a
ik
,例如
180
1.
6
选取最小的i值,记所在行为i行(表中用[]表示),如下表(i1)
6
最后填上目标函数Z值一格,其中目标函数Z为第一列
C与b所
B
在列对应乘积和.
得下表:
表5.7
可行解比值
c3122000
j
CB
Xx1x2x3x4x5bii
B
0
x(6)2100180[30]
3
0
x410010400100
4
0
x3500121070
5
j[31]220000
检验数目标函数Z
这样我们得到了初始表格(表5.7)
显然,前面的初始解组并不能产生最优目标函数值,因此,必须
要对初始解组中的变量进行替换,以求更好的解.通常,我们按下述
方法进行变量的替换:
根据上面所选的第k列第i行(如上表中x3所在行和x1所在列,我
们将两者的交叉点用()表示),对初始解组作调整,将变量xk换入,
替代第i行中的初始变量(即表中换入x1,换出x3),根据表格法的要
求,必须同时将换入变量xk在()中的系数通过加减消元法化为1,
且同列其他系数为0,而初始解组中其他未换出变量所在列的系数不
变,通常可用加减消元法来求得.
7
下面我们具体来说明表格的转换.
框中行除以6得行;行减×4得行;行减
×3得行(表5.8转换到表5.9).
表5.8
c3122000
j
CBXB
xx2x3x4x5bii
1
0
x(6)2100180
3
0
x410010400
4
0
x35001210
5
表5.9
c3122000
j
CB
Xx1x2x3x4x5bii
B
31
x1
1
1
3
1
6
0030
0
x0
4
26
3
210280
/>
3
0
x0(4)
5
1
2
01120
再依次填上检验数行j和比值列i,得下表(表5.10).
8
表5.10
c3322000
j
CB
Xx1x2x3x4x5bii
B
31
x1
1
1
3
1
6
003090
0
x0
4
26
3
2
3
10280
420
13
0
x0(4)
5
1
2
01120[30]
j0[
35]
3
31
6
00930
如果检验数全为非正数,那么,所得解就是最优解.否则,继续
按前方法修改可行解,直至不能继续为止.显然,上表中x2换入,变
量x5换出.转下表(表5.11).
表5.11
c3122000
j
CB
Xx1x2x3x4x5bii
B
31
x10
1
5
24
0
1
12
20
0
x00
4
5
12
1
13
6
20
22x201
10
8
130
4
j00
89
24
0
35
12
1280
j≦0,故当前可行解x120,x230,x30,因为所有的检验数
x0,x50为最优解,删去松弛变量,即得原线性规划最优解为
4
x20,x230,
1
最优值为Z=1280.
9
通过上面的例子,可以归纳一般的表格法的计算步骤如下:
第一步:
建立初始表格.
第二步:
检查:
若所有的j≤0,则当前可行解即为最优解;否则转
入(3).
第三步:
检查:
若存在k>0,且aik≤0,(i=1,2,,,m),则无最优解;否
则转入(4).
第四步:
选取检验数行中最大的正数所在的列,(记作k列,表中
b
用[]表示)然后计算比值i,比值的计算公式θi,ik0.
ia
a
ik
选取最小的i值,记所在行为i行(表中用[]表示),确定xk,
将xk换入,将松弛变量xh换出,用加减消元法化xk的系数aik为1,
且同列其他系数为0.以xk取代xh得新表,转入
(2).
巩固知识典型例题
例2用表格法解5.1节中的例1:
某工厂用钢与橡胶生产3种产品A、
B、C,有关资料如表5.3所示.已知每天可获得100单位的钢和120单
位的橡胶,问每天应按排生产A、B、C三种产品各多少,能使总利
润最大?
试写出问题的线性约束条件和目标函数.
表5.3
产品单位产品钢消耗量单位产品橡胶消耗量单位产品利润
A2340
B3345
C1224
10
2x
1
3x
2
x100
3
则可得约束条件
3x
1
3x
2
2x
3
120
x
1
0,
x
2
0,
x
3
0
目标函数为maxZ40x145x224x3
解引入松弛变量
x,得标准型:
4,xx,得标准型:
5
maxZ40x145x24x
23
2x
1
3x
2
x
3
x
4
100
满足
3x
1
3x
2
2x
3
x
5
120
x0,j1,2,3,5
j
列初始表格(表5.12).
表5.12
c40452400
j
CXBx1x2x3x4x5bii
B
0
x2(3)110100[
4
100]
3
0
x3320112040
5
j40[45]24000
因为
σ为最大正数,转下表(表5.13).
2
表5.13
c40452400
j
CXBx1x2x3x4x5bii
B
45
x
2
2
3
1
1
3
1
3
0
10050
3
0
x
(1)011120[20]
5
j[10]09-1501500
将x1换入,x5换出,得表5.14.
11
表5.14
c40452400
j
CXBx1x2x3x4x5bii
B
45
x01
2
1
3
1
2
3
20
40
x1011120
1
j0015-101700
因为所有的检验数j≦0,故当前可行解x20,x20,0
x,123
x,x50为最优解,删去松弛变量,即得原线性规划最优解为
04
x,x20,0
20x,123
目标函数最优值为Z170.0
12