1、运 筹 学,( Operations Research ),一、古代朴素的运筹学思想,例如:田忌赛马,二、运筹学的起源,国外 英文原名 Operations Research 简称“O.R.” 直译为:运用研究或作业研究 正式出现于1938年7月英国一份关于防空作战系统运行的研究报告中 二战后运筹学的发展经历了三个阶段,绪 论,国内 1956年成立第一个运筹学小组 1957年从“夫运筹策帷幄之中,决胜于千里之外”中摘取“运筹”二字,将O.R.正式翻译为“运筹学”,三、运筹学的定义,研究工具:数学,计算机科学及其他相关科学,研究目的:对有限资源进行合理规划、使用,并提供优化决策方案。,研究对象:
2、复杂系统的组织和管理,参考大英百科全书、辞海、中国企业管理百科全书等。,四、运筹学研究的基本特点,系统的整体优化多学科的配合 模型方法的应用,五、运筹学研究的基本步骤,分析与表述问题建立数学模型 对问题求解对模型和模型导出的解进行检验建立对解的有效控制方案的实施,六、本课程的主要学习内容,第一章 线性规划及单纯形法第二章 线性规划的对偶理论第三章 运输问题第四章 整数规划与分配问题第六章 图与网络分析,第一章 线性规划及单纯形法,Linear Programming and Simplex Method,x,a,此为无约束的极值问题,1.1 一般线性规划问题的数学模型,1-1 问题的提出,例1
3、 用一块边长为a的正方形铁皮做一个无盖长方体容器,应如何裁剪可使做成的容器的容积最大?,解:如图设四个角上减去的小正方形边长为x,则容器体积为:,时,容积最大,例2 常山机器厂生产 I、II 两型产品。这两型产品都分别要在A、B、C三种不同设备上加工。按工艺规定,生产每件产品的单位利润、消耗三种设备的工时以及各种设备工时的限额如下表:,如何安排生产才能使总的利润最大?,解:设计划期内两种产品的数量分别为x1,x2,则总利润为:,max z=2 x1+3 x2,2 x1+2 x2 12,4x1 16,5 x2 15,x10, x2 0,简记为:,s.t. (约束于:),z=2 x1+3 x2,在
4、满足限制条件下求z的最大值。,此为有约束极值问题,1-2 线性规划问题的数学模型,原型,模型,数学模型,提炼,数学工具,1、原型:现实世界中人们关心、研究的实际对象。模型:将某一部分信息简缩、提炼而构造的原型替代物。数学模型:对现实世界的一个特定对象,为达到一定目的,根据内在规律做出必要的简化假设,并运用适当数学工具得到的一个数学结构。,3、规划问题数学模型的三要素,(2)目标函数:问题要达到的目标要求,表示为决策变量的函数。用 z=f(x1,x2,xn)表示。,(1)决策变量:决策者为实现规划目标采取的方案、措施,是问题中要确定的未知量。用x1,x2,xn表示。,(3)约束条件:决策变量取值
5、时受到的各种可用资源的限制,表示为含决策变量的等式或不等式。,2、规划问题,即求目标函数在若干约束条件下的最值。,4、线性规划问题(Linear Programming)的数学模型,(2)一般形式:,(1)条件:决策变量为可控的连续变量,目标函数和约束条件都是线性的。简记为“L.P.”,max (或 min) z=c1x1+c2x2+cnxns.t. a11x1+a12x2+a1nxn (=,)b1a21x1+a22x2+a2nxn (=,) b2am1x1+am2x2+amnxn(=,) bm x1 , x2, , xn0,(3)其他形式:,连加形式,向量形式,其中,称为价值行向量;,决策列
6、向量,系数列向量,右端列向量,矩阵形式,其中,称为价值行向量;,决策列向量,右端列向量,约束矩阵或系数矩阵,1-3 线性规划问题的标准形式,1、标准形式,或,2、条件,目标函数求极大值,约束条件全是等式(线性方程组),决策变量全非负,右端常数全非负,3、标准化方法,(1)若目标函数求极小值,即,则令,转化为,(2)若约束条件为不等式,,则依次引入松弛变量或剩余变量(统称为松弛变量), 转化为等式约束条件。,注意:松弛变量在目标函数中系数全为0。,约束为不等式,减去松弛变量,化为等式约束条件; 约束为不等式,加上松弛变量,化为等式约束条件。,多退少补,例:max z=2 x1+3 x2,2 x1
7、+2 x2 12,4x1 16,5 x2 15,x10, x2 0,s.t.,标准化,(3)若决策变量xj0,则令,(4)若决策变量xj取值无限制,则令,(5)若约束等式的右端常数bi 0,则等式两边同时乘以“-1”。,其中,(“一分为二”),例:将下列线性规划模型化为标准形式。,则问题化为标准形式:,并引入松弛变量x4, x5,1-4 线性规划问题的解,已知线性规划的标准形式:,或,1、求解线性规划问题:,从满足(2)、(3)的方程组中找出一个解使目标函数(1)达到最大值。,2、可行解:,所有可行解的集合。,可行域:,满足约束条件(2)、(3)的解。 记做,最优解:,使目标函数达到最大值的可
8、行解。,(1)基:设A为线性规划问题约束条件的 m n 系数矩阵(mn),且 B 为其 mm 子矩阵,若|B|0(即 B 可逆),则称 B 为该线性规划问题的一个基。,(3)基变量:每个基向量所对应的决策变量,即x1,x2, ,xm记为XB = ( x1 , x2 , , xm )T,(4)非基变量:除去基变量之外的其他决策变量,即xm+1,xm+2, ,xn , 记为XN = ( xm+1 , xm+2 , , xn ) T,3、基,不妨假设 A 中前 m 行 m 列对应的子矩阵为一个基,即,(2)基向量:基B中每个列向量,即P1,P2, ,Pm,(5)基解(基本解):在约束方程组中,令所有
9、非基变量xm+1=xm+2=xn =0 后,解出基变量的唯一解,得到的解,(6)基可行解(基本可行解):满足决策变量非负要求的基解。,(7)可行基:与基可行解对应的基。,(8)基最优解:使目标函数达到最大值的基可行解。,注意:基解最多 个。,(9)最优基:与基最优解对应的基。,4、线性规划问题各种解之间的关系,约束方程的 解空间,基解,可行解,非可行解,基可行解,最优解,例:在下述线性规划问题中,列出全部基、基解、基可行解,并指出最优解。,解:系数矩阵为,若取基为 B=(P1, P2, P3),则基变量为x1, x2, x3, 非基变量为x4, x5,令x4=x5=0,代入约束方程组,解得x1
10、=4, x2=3, x3=-2,从而得到一个基解 X=(4,3,-2,0,0) T,这个基解不是基可行解!,该 L.P. 共有8个基解。,若取基为 B=(P3, P4, P5)=I3, 则基变量为x3, x4, x5, 非基变量为x1, x2,令x1=x2=0,代入约束方程组,从而得到一个基解 X=(0,0,12,16,15) T,这个基解是基可行解!,(注意:选择单位矩阵为基可以较方便的求出一个基可行解。),同理可得其他基解.,(最优基),(最优解),(最优目标函数值),1.2 图解法,1、适用范围:仅含两个决策变量的 L.P.,2、步骤: (1)作平面直角坐标系,标上刻度; (2)作出约束
11、方程所在直线,确定可行域; (3)作出一组目标函数的等值线,判定优化方向; (4)沿优化方向移动,确定与可行域相切的点,确定最优解,并计算最优目标函数值。,例: 用图解法求解下列线性规划问题。 (1) max z=2x1+3x2 s.t. 2x1+2x212 - 4x1 16 -5x2 15 -x10, x20,x1,x2,2,2,4,6,8,4,6,0, 2x1+2x2=12, 5x2 =15, 4x1 =16,Z=6,Z=0,A(3,3),Zmax,有唯一最优解, 当 x1=x2=3 时,Zmax = 15,C(4,0),D(0,3),(0,0),B(4,2),一一对应,(2),(3),无
12、穷多最优解,无界解,x1,x1,x2,x2,x1,x2,无可行解,(4),3、线性规划问题解的类型,(1)唯一最优解:只有一个解为最优解 (2)无穷多最优解:有无穷多个解为最优解 (3)无界解:目标函数的取值无界 (4)无可行解:可行域为空集,即存在互相矛盾的约束条件。,4、可行域的特征,(1)若L.P.的可行域不是空集,则可行域为凸集。 (2)若L.P.有最优解,则一定可以在可行域的顶点上找到最优解。 (3)L.P. 的顶点与基可行解一一对应。,3-1 预备知识:凸集与顶点,1.3 单纯形法(Simplex Method)原理,(1)凸集:对于集合C中任意两点连线段上的点,若全在C内,则称集
13、合C为凸集。,直观特征:图形从内部向外部凸出。,凸集,非凸集,(2)顶点:凸集中不在任意两点的连线段内部的点。,X1,X4,X3,X5,X2,3-2 几个基本结论,(1)若线性规划问题存在可行解,则可行域为凸集。 (2)线性规划问题的可行解 X=(x1, x2, , xn)T 为基可行解的充要条件是 X 的正分量所对应的系数列向量线性无关。 (3)线性规划问题的基可行解1-1对应可行域的顶点。例如:比较表1-1和图1-3 (4)若线性规划问题有最优解,则一定存在一个基可行解为最优解。,注意:若线性规划问题有最优解,不一定所有的最优解都是基可行解。,单纯形法的计算步骤:,初始基可行解,使目标函数
14、值增大的新的基可行解,是否最优解?,结束,是,否,3-3 确定初始基可行解,已知线性规划问题形如:,引入松弛变量xsi ( i=1,2,m ) 化为标准形式:,注意:约束条件全是,此时系数矩阵为:,取后m列对应的单位子矩阵为基,得到初始基可行解:,X=( 0,0,0, b1,b2,bm)T,n 个 0,注意:用这个方法确定初始基可行解,必须保证约束条件全是“” 。,取前m列为基,则基可行解为X(0)=(x10, x20, xm0,0, , 0)T , 且前m个分量为正值。,P1 P2 Pm Pm+1 Pj Pn1 0 0 a 1,m+1 a1j a 1n0 1 0 a 2,m+1 a2j a
15、2n 0 0 1 a m,m+1 amj a mn,3-4 从一个基可行解转换为另一个基可行解,n-m 个 0,且系数矩阵A为,因为X(0)是基可行解,所以满足约束方程组:,又因为P1,P2,Pm是一个基,非基变量xj ( jm+1 )的系数列向量 Pj 可以用这个基线性表示:,将上式乘以一个正数得到:,移项得:,上式与式相加得:,从而找到了满足约束方程组的另一个解:,第j个分量,为使,成为基可行解,只需要取,即可。,第 j 个分量 (jm+1),注意:若某个xi0=0,则允许=0,3-5 最优性检验和解的判别,将基可行解X(0)和X(1)分别代入目标函数中:,为了比较 Z(0)和Z(1) 的
16、大小,记,称为线性规划问题的非基变量xj的检验数。,又 0,有如下结论:,(1) 若对所有jm+1,有j 0 ,则z(1) z (0) ,即z (0)为最优函数值,X(0)为唯一最优解; (2) 若对所有j m+1 ,有j 0,且存在某个非基变量的检验数k=0,则将Pk作为新的基向量得出新的基可行解X(1) ,满足z(1) = z (0) ,故z(1) 也为最优函数值,从而 X(1)也为最优解, X(0) 、X(1) 连线上所有点均为最优解,因此该线性规划模型具有无穷多最优解; (3) 若存在某个j 0,但对应的第j列系数全非正,即aij0,则当 +时,有z(1) +, 该线性规划模型具有无界
17、解。,1.4 单纯形法的计算步骤,1、前提:标准化的线性规划问题的系数矩阵含有单位子矩阵。,不妨假设A中前m列对应的子矩阵是单位矩阵,取其为基B,得到初始基可行解,m+3行,n+4列,第1行:价值行 cj,第2行:变量行 xj,最后一行:检验数行 j,第1列:基价值列 CB,第2列:基变量列 XB,第3列:基解列 b,最后一列:比值列 ,主体:系数矩阵Amn,2、单纯形表的结构,3、初始单纯形表:含初始基可行解的单纯形表,最优单纯形表:含最优解的单纯形表,4、单纯形法( Simplex Method ):利用单纯形表求解线性规划问题的方法。,5、单纯形法的计算步骤,(1) 化 L.P.问题为标
18、准形式,建立初始单纯形表;,(3) 计算,以alk为主元素(简称主元,用 表示),进行线性方程组 的初等行变换,将主元列Pk化为单位向量得到新的单纯形表,转入(2)。,(最大正检验数决定换入变量),(最小比值决定换出变量),例:用单纯形法求解下列线性规划问题.,max z=2 x1+3 x2,2 x1+2 x2 12,4x1 16,5 x2 15,x10, x2 0,s.t.,解:先标准化,再列初始单纯形表:,6,-,3,2 3 0 0 0,以5为主元进行初等行变换,x1为换入变量,下面开始单纯形法迭代:,x5为换出变量,x2为换入变量,以2为主元进行初等行变换,x3为换出变量,主元化为1,主
19、元列的其他元素化为0,此时得到唯一最优解X*=(3,3)T, Zmax=15。,6、单纯形法中存在的问题,(1) 存在两个以上的最大正检验数。 任取一个最大正检验数对应的变量作为换入变量。,(2) 出现两个以上相同的最小值。 任取一个最小对应的变量作为换出变量。 此时L.P.问题出现退化现象。,练习 用单纯形法求解下列线性规划问题,解:先标准化,1/3,-1/2,1/6,1/3,-1/3,3/4,12,唯一最优解,5-1 人工变量法(大M法),1.5 单纯形法的进一步讨论,例:用单纯形法求解下列线性规划问题。,解:先标准化为,系数矩阵,但是A中没有单位矩阵,在A中人为的增加两列,此时,对应的约
20、束方程组为:,该问题新增加了两个变量:x4, x5(称为人工变量),A有单位子矩阵,选择这个单位矩阵作为基(称为人工基)。,为使,必须保证在可行解中人工变量x4=x5=0, 故令x4,x5在目标函数中的系数为M (其中M表示任意大的正数), 这种添加人工变量求解LP的方法称为人工变量法, 计算过程中出现了M,这种方法也称为大M法。,等价于,于是,这个线性规划问题转化为:,以下可用单纯形法继续求解。,Cj ,x1,x2,x3,x4,XB,b,CB,1 1 -1 1 0 1 2 0 0 1,-2 -3 0 -M -M,34,x4 x5,-M -M,cj - zj,-2+2M,-3+3M,-M,0,
21、3/1=3,4/2= 2,1/2 0 -1 1 -1/2 1/2 1 0 0 1/2,x4 x2,12,cj - zj,-1/2+M/2 0 -M 0 3/2-3M/2,-M -3,24,1 0 -2 2 -1 0 1 1 -1 1,x1 x2,21,cj - zj,0 0 -1 1-M 1-M,-2 -3,x5,0,唯一最优解,故 zmin=7,注意:此时人工变量x4=x5=0,说明:若表中所有j 0 ,但存在非0的人工变量 ,则该模型无可行解。,采用大M法求解线性规划模型时,如果模型中各个系数与M的值非常接近或相差很大,若用手工计算不会出现问题。但是若利用计算机求解,则容易引起混淆,使得机
22、器判断出错,从而使大M法失效。在这种情况下,可采用下面的两阶段法进行计算。,5-2 两阶段法 (将L.P.问题分成两个阶段来考虑),第一阶段: 判断原L.P.问题是否存在可行解。给原L.P.问题加入人工变量,并构造仅含人工变量的目标函数w(人工变量在w中的系数一般取为1)并求w的最小值;然后用单纯形法求解。若求得wmin=0,则该问题有可行解,进入第二阶段,否则该问题无可行解,结束。,第二阶段:将第一阶段得到的最终表去掉人工变量,并将目标函数还原为原L.P.问题的目标函数(即修改最终表中的第一行和第一列),以此作为第二阶段的初始表,继续用单纯形法求解。,例:用两阶段法求解下列线性规划问题。,标
23、准化,引入人工变量,z,(1) 第一阶段,构造判断是否存在可行解的模型:,用单纯形法求解这个问题,先标准化为;,Cj ,x1,x2,x3,x4,XB,b,CB,1 1 -1 1 0 1 2 0 0 1,0 0 0 -1 -1,34,x4 x5,-1 -1,cj - zj,2,3,-1,0,3/1=3,4/2= 2,1/2 0 -1 1 -1/2 1/2 1 0 0 1/2,x4 x2,12,cj - zj,1/2 0 -1 0 -3/2,-1 0,24,1 0 -2 2 -1 0 1 1 -1 1,x1 x2,21,cj - zj,0 0 0 -1 -1,0 0,x5,0,最优解,本问题有可行
24、解,进入第二阶段,(2) 第二阶段先在第一阶段的最终单纯形表去掉人工变量,再还原原目标函数,即 max z=-2x1-3x2+0x3,继续迭代:,Cj ,x1,x2,x3,XB,b,CB,1 0 -2 0 1 1,-2 -3 0,21,x1 x2,-2 -3,cj - zj,0,0,-1,唯一最优解,故 zmin=7,注意:两阶段法中不再出现大M,但需要解两个线性规划问题,要注意目标函数系数的变化。,5-3 关于解的判别,用最终单纯形表判断线性规划问题解的类型:,已知线性规划问题形如:,5-4 单纯形法计算的向量、矩阵描述,引入松弛变量xs,记X=(XB,XN,XS)T 其中, XS为松弛变量
25、,在初始表中是基变量;XB为最终表中基变量;XN表示既不是初始表的基变量又不是最终表的基变量。注意:XS和XB允许有公共变量。,(2)A=(B,N,I)B,N,I分别为XB 、XN 、 XS在初始表中对应的矩阵。,则(1)C=(CB,CN,0)CB,CN,0分别为XB 、XN 、 XS在目标函数中的系数。,(3)A=(I,N,B-1)I,N,B-1分别为XB 、XN 、 XS在最终表中对应的矩阵。,约束方程组两端同时左乘B-1,则可得如下表达式:,初始单纯形表,最终单纯形表,用单纯形表表示如下:,XS b,B N I,XB b I N B-1,初始表 XB XN XS,cj - zj 0,0
26、N S=(-y1,-y2,-ym)=-YT,最终表 XB XN XS,cj - zj B N 0,0,比较得: b =B-1b N =B-1N 或者 Pj =B-1Pj S = -CB B-1=-YT N = CN-CB B-1 N= CN-YT N 或者j=Cj-CBB-1 Pj,其中B-1为初始表中基变量在最终表对应的系数矩阵,B为最终表中基变量在初始表对应的系数矩阵。,例:用单纯形法求解下列线性规划问题.,max z=2 x1+3 x2,2 x1+2 x2 12,4x1 16,5 x2 15,x10, x2 0,s.t.,解:先标准化,得到初始单纯形表:,6,-,3,2 3 0 0 0,
27、最终单纯形表:,X40 1 0,X4 0 1 0,可以验证:,根据上表可以列出初始单纯形表,5-5 单纯形法小结,个数,取值限制,右端常数,约束方向,要求,系数,列初始表,1.7 应用举例,一般而言,一个经济、管理问题要满足以下条件,才能建立线性规划模型:.需要求解问题的目标能用数值指标来反映,且能用线性函数来描述目标的要求;.为达到这个目标存在多种方案;.要求达到的目标是在一定条件下实现的,这些条件可用线性等式或不等式来描述。,(一)、混合配料问题,例:某糖果厂用原料A、B、C加工成三种不同牌号的糖果甲、乙、丙。已知各种牌号糖果中各种原料的含量,原料成本,各种原料的每月限制用量,三种牌号糖果
28、的单位加工费用及售价如下表所示。问该厂每月生产这三种牌号糖果各多少千克,能使该厂获利最大。请建立这个问题的线性规划模型。,解:,用i=1,2,3表示原料A、B、C; 用j=1,2,3表示糖果甲、乙、丙; 设xij为生产第j种糖果使用的第i种原料的质量, 则该问题的数学模型为:,s.t.,原料供应限制,含量要求条件,用单纯形法求得:,即每月生产甲糖果 kg,乙糖果 kg,不生产丙糖果,可获得最大利润为5450元。,(二)、投资项目组合问题,例:兴安公司有一笔30万元的资金,考虑今后三年内用于下列项目的投资: 1、三年内每年年初均可投资,每年获利为投资额的20%,其本利可一起用于下一年投资; 2、只允许第一年初投入,于第二年末收回,本利合计为投资额的150%,但此类投资限额不超过15万元; 3、允许于第二年初投入,于第三年末收回,本利合计为投资额的160%,但限额投资20万元; 4、允许于第三年初投入,年末收回,可获利40%,但限额为10万元. 试为该公司确立一个使第三年末本利和最大的投资组合方案, 请建立这个问题的线性规划模型。,解:用xij表示第i年初投放到第j个项目的资金数, 则建立如下线性规划模型:,第i年初,投入第j个项目,用单纯形法求得:,综上投资组合方案如下:,