表格法解线性规划问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
表格法解线性规划问题
【教学目标】
知识目标:理解用表格法解线性规划问题的方法和步骤.
能力目标:通过例子详细地介绍了表格法解线性规划问题的过程,并引入了线性规划标准型的概念,归纳总结了表格法
解线性规划问题的步骤.
【教学重点】理解用表格法解线性规划问题的方法和步骤.
【教学难点】理解用表格法解线性规划问题的方法和步骤.
【教学设计】
1、表格法也称单纯形法,是解线性规划问题的常用方法,使用该
方法时,首先要将一般的线性规划问题化为标准型.在教材中给出了化标准型的方法.讲解时一定要注意b≥0以及变量的非负性.
2、表格法解线性规划问题的过程,教材中归纳为五个步骤,这实
际上是一个算法,可以利用前面介绍过的算法知识来学习.
3、初始表格中初始解组的确定是关键,一般可取松弛变量,但当
标准型中没有这样的变量满足初始解组的要求时,通常要通过添加人工变量来解决,本教材没有就这方面的问题进行深入讨论(一般的运筹学教材中都可找到该内容).
4、表格在转换时(通常称为转轴),教材中提到用加减消元法来转
轴.教师可就这部分内容作适当的讲解.
5、由于通常的表格转换要进行多次,而表头部分是不变的,因此
可以将多张表格合并起来,具体样式可参见5.5节表5-16.
【教学过程】
5.3.1线性规划问题的标准形式
求线性规划问题的图解法虽然直观简便,但对多于两个变量的情况就不能适用了,对于多于两个决策变量的线性规划问题,可以用什么方法呢?
下面介绍一种用表格的方法来求解线性规划问题的解. 表格法是根据单纯形法而专门设计的一种计算表格.
单纯形法(Simple Method )是求解线性规划问题的主要方法,该法由丹赛(Dantzig )于1947年提出,后经过多次改进而成,是求解线性规划问题的实用算法.由上节的叙述可知,如果线性规划问题的最优解存在,则必定可以在其可行解集合的顶点(极点)中找到.因此,寻求一个最优解就是在其可行域的各个极点中搜索最优点.单纯形法实质上是一个迭代过程,该迭代即是从可行域的一个极点移到另一个近邻的极点,直到判定某一极点为最优解为止. 为使用表格法,首先介绍线性规划问题的标准形式.
一般的线性规划问题中目标函数可能是求最大(或最小)值,而线性约束条件中可能是线性方程,也可能是线性不等式,约束条件中约束方程(或不等式)的个数也未必就比决策变量的个数少,这些问题对于线性规划的求解,带来极大的不便,为此,引入下述标准形式:
求目标函数最大值 n n x c x c x c x c Z ++++=...m ax 332211 (用和式表示为j j n
j x c Z ∑==1max )
⎪⎪⎪⎩⎪⎪⎪⎨⎧≥≥≥=+++=+++=+++0
,...,0,0.....
................2122112222212111212111n m
n mn m m n n n n x x x b x a x a x a b x a x a x a b x a x a x a 满足
用和式表示为满足⎪⎩
⎪⎨⎧=≥==∑=),,3,2,1(,0),,3,2,1(,1
n j x m i b x a j i i ij n
j 其中,),,2,1;,,3,2,1(,,n j m i c b a j i ij ==各都是确定的常数,
),,2,1(n j x j =是决策变量,Z 是目标函数,ij a 叫做技术系数,i b ≥0
(),2,1m i =叫做资源系数,j c 叫做目标函数系数. 特点:
1、目标函数为极大化;
2、除决策变量的非负约束外,所有的约束条件都是等式,且右端常数均为非负;
3、所有决策变量均非负.
如果根据实际问题建立起来的线性规划模型不是标准型的,可以用下述方法将它化为标准型.
(1)若目标函数是n n x c x c x c x c Z ++++=...m in 332211
可令,'z z -=将目标函数转化为)...(max 332211'n n x c x c x c x c Z ++++-= (2)若约束条件不等式中是“≤”,可在不等式左边加上非负变量,将不等式转化为方程.如2126x x +≤180可转化为,18026321=++x x x 其中3x ≥0.这里的3x 叫做松弛变量. 表示没有用完的资源.
(3)若约束条件不等式是“≥”,可在不等式左边减去非负变量,将
不等式转化为等式方程,如2122x x +≥10可转化为1022421=-+x x x , 其中,4x ≥0.这里的4x 叫做多余变量,表示不存在的资源.
一般地,松弛变量和多余变量的目标函数系数为0.
(4)若有一个变量k x 没有非负约束(叫做自由变量),可令s l k x x x -=,其中l x ≥0,s x ≥0. 知识巩固
例1 将5.1节问题1中的线性规划问题化为标准型
约束条件 ⎪⎪⎩⎪⎪⎨
⎧≥≥≤+≤+≤+0
,021053400104180
2621212
121x x x x x x x x 求目标函数最大值 212231m ax x x Z +=
解 分别对前三个约束条件引入松弛变量543,,x x x ,得标准型:
约束条件 ⎪⎪⎩⎪⎪⎨
⎧=≥=++=++=++.
5,3,2,1,021053400104180265214
21321 j x x x x x x x x x x j 求目标函数最大值 212231m ax x x Z +=
5.3.2表格法
下面我们通过实例来介绍表格法.
首先要列出初始表格.为了得到初始表格,我们分几步来说明: 先把标准型中的约束条件方程转换成表格(表5.4)的形式. 如:5.1问题1转化的结果为:
⎪⎪⎩⎪⎪⎨
⎧=≥=++++=++++=++++.
5,,2,1,02100053400001041800026543215
432154321 j x x x x x x x x x x x x x x x x j 列成表格为: 表5.4
1x
2x 3x 4x 5x i b
6 2 1 0 0 180 4 10 0 1 0 400 3
5
1
210
(表格中的列数为变量个数加1,行数为方程个数加1) 从约束方程中,很容易得到,当01=x ,02=x 时,1803=x ,4004=x ,
2105=x ,显然这是一组可行解(我们把它叫作初始解组),将其中三
个取非0值的变量543,,x x x 列成一列对应地加在上表的最左侧,然后再在所得表的左侧添加一列对应于该初始解组变量的目标函数系数,在表的上侧添加一行对应于各变量的目标函数系数,得如下表:
其中在初始解组中的变量必须满足在对应行的约束条件方程中系数为1,而同列其他系数为0,(如果约束条件方程中不满足这要求,可以通过对线性约束条件方程作加减消元法而得到.)
再在上表的基础上,增加1行(叫做检验数行j σ)和1列(叫做比值列i θ)得下面形式:
按下面的计算公式在表中依次填上检验数行j σ和比值列i θ,其中检验数计算公式,1ij m
i i j j a c c ∑=-=σ例如31=j σ,即为1x 所在列的目标函
数系数行中的1c 值减去该列系数与第一列初始解组的目标函数系数的对应乘积和,31)304060(311=⨯+⨯+⨯-=σ.
选取检验数最大的正数所在列(记作k 列,表中用[ ]表示)然后计算比值i θ. 比值的计算公式,0,>=
ik ik i i a a b θ,例如6
180
1=θ. 选取最小的i θ值,记所在行为i 行(表中用[ ]表示),如下表(1=i )
最后填上目标函数Z 值一格,其中目标函数Z 为第一列B C 与b 所在列对应乘积和. 得下表:
这样我们得到了初始表格(表5.7)
显然,前面的初始解组并不能产生最优目标函数值,因此,必须要对初始解组中的变量进行替换,以求更好的解.通常,我们按下述方法进行变量的替换:
根据上面所选的第k 列第i 行(如上表中3x 所在行和1x 所在列,我们将两者的交叉点用( )表示),对初始解组作调整,将变量k x 换入,替代第i 行中的初始变量(即表中换入1x ,换出3x ),根据表格法的要求,必须同时将换入变量k x 在( )中的系数通过加减消元法化为1,且同列其他系数为0,而初始解组中其他未换出变量所在列的系数不变,通常可用加减消元法来求得.
下面我们具体来说明表格的转换.
框中<A>行除以6得<A />行;<B>行减<A />×4得<B />行;<C>行减<A />×3得<C />行(表5.8转换到表5.9).
表5.8
表5.9
再依次填上检验数行j σ和比值列i θ,得下表(表5.10).
表5.10
如果检验数全为非正数,那么,所得解就是最优解.否则,继续按前方法修改可行解,直至不能继续为止.显然,上表中2x 换入,变量5x 换出.转下表(表5.11).
表5.11
因为所有的检验数j σ≦0,故当前可行解201=x ,
302=x ,03=x ,04=x ,05=x 为最优解,删去松弛变量,即得原线性规划最优解为
201=x ,302=x ,
最优值为 Z=1280.
通过上面的例子,可以归纳一般的表格法的计算步骤如下: 第一步:建立初始表格.
第二步:检查:若所有的σj ≤0,则当前可行解即为最优解;否则转入(3).
第三步:检查:若存在σk >0,且a ik ≤0,(i =1,2,…,m ),则无最优解;否则转入(4) .
第四步:选取检验数行中最大的正数所在的列,(记作k 列,表中用[ ]表示)然后计算比值i θ,比值的计算公式0,>=
ik ik
i
i a a b θ. 选取最小的i θ值,记所在行为i 行(表中用[ ]表示),确定x k ,将x k 换入,将松弛变量x h 换出,用加减消元法化x k 的系数a ik 为1,且同列其他系数为0.以x k 取代x h 得新表,转入(2). 巩固知识 典型例题
例2 用表格法解5.1节中的例1:某工厂用钢与橡胶生产3种产品A 、B 、C ,有关资料如表5.3所示.已知每天可获得100单位的钢和120单位的橡胶,问每天应按排生产A 、B 、C 三种产品各多少,能使总利润最大?试写出问题的线性约束条件和目标函数.
表5.3
则可得约束条件⎪⎩⎪
⎨⎧≥≥≥≤++≤++0
,0,012023310032321
321321x x x x x x x x x
目标函数为321244540m ax x x x Z ++= 解 引入松弛变量54,x x ,得标准型:
321244540m ax x x x Z ++=
满足 ⎪⎩
⎪
⎨⎧=≥=+++=+++5
,3,2,1,0120233100
3253214321 j x x x x x x x x x j
列初始表格(表5.12).
表5.12
因为2σ 为最大正数,转下表(表5.13).
表5.13
将1x 换入,5x 换出,得表5.14.
表5.14
因为所有的检验数j σ≦0,故当前可行解201=x ,202=x ,03=x ,
04=x ,05=x 为最优解,删去松弛变量,即得原线性规划最优解为
201=x ,202=x ,03=x ,
目标函数最优值为 1700=Z .。