1、表格法解线性规划设计问题doc表格法解线性规划问题【教学目标】知识目标: 理解用表格法解线性规划问题的方法和步骤.能力目标: 通过例子详细地介绍了表格法解线性规划问题的过程,并引入了线性规划标准型的概念,归纳总结了表格法解线性规划问题的步骤.【教学重点】 理解用表格法解线性规划问题的方法和步骤.【教学难点】 理解用表格法解线性规划问题的方法和步骤.【教学设计】1、 表格法也称单纯形法 ,是解线性规划问题的常用方法,使用该方法时,首先要将一般的线性规划问题化为标准型 .在教材中给出了化标准型的方法 .讲解时一定要注意 b 0 以及变量的非负性 .2、表格法解线性规划问题的过程,教材中归纳为五个步
2、骤,这实际上是一个算法,可以利用前面介绍过的算法知识来学习.3、初始表格中初始解组的确定是关键,一般可取 松弛变量 ,但当标准型中没有这样的变量满足初始解组的要求时,通常要通过添加人工变量 来解决,本教材没有就这方面的问题进行深入讨论(一般的运筹学教材中都可找到该内容) .4、表格在转换时(通常称为转轴) ,教材中提到用 加减消元法 来转轴.教师可就这部分内容作适当的讲解 .5、由于通常的表格转换要进行多次,而表头部分是不变的,因此可以将多张表格合并起来,具体样式可参见5.5节表 5- 16.1【教学过程】5.3.1 线性规划问题的标准形式求线性规划问题的图解法虽然直观简便,但对多于两个变量的
3、情况就不能适用了, 对于多于两个决策变量的线性规划问题, 可以用什么方法呢?下面介绍一种用表格的方法来求解线性规划问题的解 .表格法是根据 单纯形法 而专门设计的一种计算表格 .单纯形法 (Simple Method)是求解线性规划问题的主要方法,该法由丹赛(Dantzig )于 1947 年提出,后经过多次改进而成,是求解线性规划问题的实用算法 . 由上节的叙述可知,如果线性规划问题的最优解存在,则必定可以在其可行解集合的顶点(极点)中找到因此,寻求一个最优解就是在其可行域的各个极点中搜索最优点 . 单纯形法实质上是一个迭代过程, 该迭代即是从可行域的一个极点移到另一个近邻的极点,直到判定某
4、一极点为最优解为止 .为使用表格法,首先介绍线性规划问题的标准形式 .一般的线性规划问题中目标函数可能是求最大 ( 或最小)值,而线性约束条件中可能是线性方程, 也可能是线性不等式, 约束条件中约束方程(或不等式)的个数也未必就比决策变量的个数少,这些问题对于线性规划的求解,带来极大的不便,为此,引入下述标准形式:求目标函数最大值max Z c1 x1 c2 x2 c3 x3 .cn xn( 用和式表示为nmax )Z c xj jj 12a11x1a12x2.a1nxnb1a x21 1a22x2.a2nxnb2满足 .a xm1 1am2x2.amnxnbmx10,x20,.,xn0n用和
5、式表示为满足j 1aijxibi,(i 1,2 ,3, ,m)xj0,( j 1,2,3, ,n)其中, a ,b ,c (i 1,2,3, ,m; j 1, 2, ,n)各 都是确定的常数,ij i jxj 是决策变量 ,Z 是目标函数 ,( j 1,2, , n)a 叫做 技术系数,ijb 0i( i 1, 2, m)叫做资源系数 ,c 叫做目标函数系数 .j特点:1、目标函数为极大化;2、除决策变量的非负约束外, 所有的约束条件都是等式, 且右端常数均为非负;3、所有决策变量均非负如果根据实际问题建立起来的线性规划模型不是标准型的,可以用下述方法将它化为标准型 .(1)若目标函数是min
6、Z c x c x c x .1 1 2 2 3 3cn xn可令 z z ,将目标函数转化为max ( . )Z c x c x c x cn x1 1 2 2 3 3 n(2)若约束条件不等式中是“ ” , 可在不等式左边加上非负变量,将不等式转化为方程 . 如6x x 180 可转化为6x 2 180,其1 2 1 x x2 2 3中 x3 0.这里的 x3 叫做 松弛变量 . 表示没有用完的资源 .(3)若约束条件不等式是“ ” ,可在不等式左边减去非负变量,将3不等式转化为等式方程,如2x x 10 可转化为2 2 101 2 x1 x x ,2 2 4其中, x4 0.这里的 x4
7、 叫做 多余变量 ,表示不存在的资源 .一般地,松弛变量和多余变量的目标函数系数为0.(4)若有一个变量x 没有非负约束(叫做 自由变量 ),可 令kx ,k x xl s其中x 0,lx 0.s知识巩固例 1 将 5.1节问题1 中的线性规划问题化为标准型6x12x2180约束条件4x13x110x25x24 0 02 1 0x10,x20求目标函数最大值max Z 31x1 22x2解 分别对前三个约束条件引入松弛变量x ,得标准型: 3 ,x ,xx ,得标准型:4 56x12x2x3180约束条件4x13x110x25x2x4x54 0 02 1 0x 0, j 1, 2, 3, 5.
8、j求目标函数最大值max Z 31x1 22x25.3.2 表格法下面我们通过实例来介绍表格法 .首先要列出初始表格为了得到初始表格,我们分几步来说明:先把标准型中的约束条件方程转换成表格(表 5.4 )的形式如:5.1问题1转化的结果为:46x12x2x30x40x51804x13x110x25x20x30x3x40x40x5x5400210列成表格为:x 0, j 1,2 , ,5.j表 5.4x x2 x3 x4 x5 bi16 2 1 0 0 1804 10 0 1 0 4003 5 0 0 1 210( 表格中的列数为变量个数加 1,行数为方程个数加 1)从约束方程中, 很容易得到,
9、当x1 0 ,x2 0时,x3 180,x4 400,x 210,显然这是一组可行解(我们把它叫作 初始解组 ),将其中三5个取非 0 值的变量x3 ,x , x 列成一列对应地加在上表的最左侧,然后4 5再在所得表的左侧添加一列对应于该初始解组变量的目标函数系数,在表的上侧添加一行对应于各变量的目标函数系数,得如下表:5其中在初始解组中的变量必须满足在对应行的约束条件方程中系数为 1,而同列其他系数为 0,(如果约束条件方程中不满足这要求,可以通过对线性约束条件方程作加减消元法而得到 . )再在上表的基础上, 增加 1 行( 叫做检验数行 j ) 和 1 列( 叫做比值列 i ) 得下面形式
10、:按下面的计算公式在表中依次填上检验数行j 和比值列 i , 其中m检验数计算公式 j c c a , 例如 j 31,即为 x1 所在列的目标函j i iji 1数系数行中的 c1 值减去该列系数与第一列初始解组的目标函数系数的对应乘积和, 1 31 (0 6 0 4 0 3) 31.选取检验数最大的正数所在列 ( 记作 k 列,表中用 表示) 然后计算比值i b比值的计算公式 , 0,ii aikaik,例如 1801 . 6选取最小的 i 值,记所在行为 i 行( 表中用 表示) ,如下表( i 1)6最后填上目标函数 Z 值一格,其中目标函数 Z 为第一列C 与b 所B在列对应乘积和得
11、下表:表 5.7可行解 比值c 31 22 0 0 0jCBX x1 x2 x3 x4 x5 bi iB0x (6) 2 1 0 0 180 3030x 4 10 0 1 0 400 10040x 3 5 0 0 1 210 705j 31 22 0 0 0 0检验数 目标函数 Z这样我们得到了初始表格(表 5.7 )显然,前面的初始解组并不能产生最优目标函数值,因此,必须要对初始解组中的变量进行替换,以求更好的解 . 通常,我们按下述方法进行变量的替换:根据上面所选的第 k 列第 i 行( 如上表中 x3 所在行和 x1 所在列,我们将两者的交叉点用 ( ) 表示) ,对初始解组作调整,将变
12、量 xk 换入,替代第 i 行中的初始变量 ( 即表中换入 x1 ,换出 x3 ) ,根据表格法的要求,必须同时将换入变量 xk 在( ) 中的系数通过加减消元法化为 1,且同列其他系数为 0,而初始解组中其他未换出变量所在列的系数不变,通常可用加减消元法来求得7下面我们具体来说明表格的转换框中行除以 6 得行;行减 4 得行;行减 3 得行( 表 5.8 转换到表 5.9) 表 5.8c 31 22 0 0 0jCB XBx x2 x3 x4 x5 bi i10x (6) 2 1 0 0 180 30x 4 10 0 1 0 400 40x 3 5 0 0 1 210 5表 5.9c 31
13、22 0 0 0jCBX x1 x2 x3 x4 x5 bi iB31x 1113160 0 30 0x 042632 1 0 280 30x 0 (4)5120 1 120 再依次填上检验数行 j 和比值列 i ,得下表( 表 5.10) 8表 5.10c 33 22 0 0 0jCBX x1 x2 x3 x4 x5 bi iB31x 1113160 0 30 900x 04263231 0 280420130x 0 (4 )5120 1 120 30j 0 35 33160 0 930如果检验数全为非正数,那么,所得解就是最优解否则,继续按前方法修改可行解, 直至不能继续为止 显然, 上表
14、中 x2 换入, 变量x5 换出转下表 ( 表 5.11) 表 5.11c 31 22 0 0 0jCBX x1 x2 x3 x4 x5 bi iB31x 1 015240112200x 0 0451211362022 x2 0 11 081 304j 0 08924035121280j 0,故当前可行解 x1 20,x2 30,x3 0, 因为所有的检验数x 0, x5 0为最优解,删去松弛变量,即得原线性规划最优解为4x 20,x2 30,1最优值为 Z=12809通过上面的例子,可以归纳一般的表格法的计算步骤如下:第一步:建立初始表格第二步:检查:若所有的 j 0,则当前可行解即为最优解
15、;否则转入(3) 第三步:检查:若存在 k0,且 aik 0,(i =1,2, , ,m),则无最优解;否则转入 (4) 第四步:选取检验数行中最大的正数所在的列, (记作 k 列,表中b用 表示) 然后计算比值i ,比值的计算公式 i , ik 0i aaik选取最小的 i值,记所在行为i 行( 表中用 表示) ,确定 xk,将 xk换入,将松弛变量 xh换出,用加减消元法化 xk 的系数 aik为1,且同列其他系数为0以 xk 取代 xh 得新表,转入 (2).巩固知识典型例题例 2 用表格法解 5.1节中的例 1:某工厂用钢与橡胶生产3 种产品 A、B、C,有关资料如表 5.3 所示 .
16、已知每天可获得 100单位的钢和 120 单位的橡胶,问每天应按排生产A、B、C 三种产品各多少,能使总利润最大?试写出问题的线性约束条件和目标函数 .表 5.3产品单位产品钢消耗量单位产品橡胶消耗量单位产品利润A 2 3 40B 3 3 45C 1 2 24102x13x2x 1003则可得约束条件3x13x22x3120x10,x20,x30目标函数为 max Z 40x1 45x2 24x3解 引入松弛变量x ,得标准型: 4, xx ,得标准型:5max Z 40 x1 45x 24x2 32x13x2x3x4100满足3x13x22x3x5120x 0, j 1,2 ,3 ,5j列初
17、始表格 ( 表 5.12) 表 5.12c 40 45 24 0 0jC XB x1 x2 x3 x4 x5 bi iB0x 2 (3) 1 1 0 100 4100 30x 3 3 2 0 1 120 405j 40 45 24 0 0 0因为 为最大正数,转下表 ( 表 5.13) 2表 5.13c 40 45 24 0 0jC XB x1 x2 x3 x4 x5 bi iB45x223113130100 5030x (1) 0 1 1 1 20 205j 10 0 9 - 15 0 1500将 x1换入, x5 换出,得表 5.14 11表 5.14c 40 45 24 0 0jC XB x1 x2 x3 x4 x5 bi iB45x 0 12131232040x 1 0 1 1 1 201j 0 0 1 5 -10 1700因为所有的检验数 j 0,故当前可行解 x 20 , x 20 , 0x , 1 2 3x ,x5 0为最优解,删去松弛变量,即得原线性规划最优解为0 4x ,x 20, 020 x , 1 2 3目标函数最优值为 Z 1 7 0 .012
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1