1、运筹学基础,毕德春,辽东学院信息技术学院,第1节 整数规划问题的数学模型,例:某服务部门各时段(每2小时为一时段)需要的服务员人数如下表,按规定,服务员连续工作8小时(即4个时段)为一班,现要求安排服务员的工作时间,使服务部门服务员总数最小。,解:设第j时段开始时上班的服务员人数为xj,由于第j时段开始时上班的服务员将在第(j+3)时段结束时下班,故决策变量只需考虑x1,x2,x3,x4,x5,此问题的数学模型为:,此类问题数学模型的一般形式为:求一组变量X1,X2,Xn,使,例:某单位有5个拟选择的投资项目,其所需投资额与期望收益如下表。由于各项目之间有一定联系,A、C、E之间必须选择一项且
2、仅需选择一项;B和D之间需选择也仅需选择一项;又由于C和D两项目密切相关,C的实施必须以D的实施为前提条件,该单位共筹集资金15万元,问应该选择哪些项目投资,使期望收益最大?,解:决策变量:设,目标函数:期望收益最大,约束条件:投资额限制条件 6x1+4x2+2x3+4x4+5x515,项目A、C、E之间必须且只需选择一项:x1+x3+x5=1,项目C的实施要以项目D的实施为前提条件: x3 x4,项目B、D之间必须且只需选择一项:x2+x4=1,归纳起来,其数学模型为:,上例表明,利用0-1变量处理一类“可供选择条件”的问题非常简明方便。下面再进一步分别说明对0-1变量的应用。假定现有m种资
3、源对可供选择的n个项目进行投资的数学模型为:求一组决策变量X1,X2,Xn,使,根据变量取整数的情况,将整数规划分为: (1)纯整数规划,所有变量都取整数. (2)混合整数规划,一部分变量取整数,一部分变量取实数 (3)0-1整数规划 ,所有变量均取0或1,考虑纯整数问题:,整数问题的松弛问题:,“舍入取整”法:即先不考虑整数性约束,而去求解其相应的LP问题(称为松驰问题),然后将得到的非整数最优解用“舍入取整”的方法。这样能否得到整数最优解?,例 :设整数规划问题如下,首先不考虑整数约束,得到线性规划问题(松弛问题)。,用图解法求出最优解x13/2, x2 = 10/3且有Z = 29/6。
4、现求整数解(最优解):如用“舍入取整法”可得到4个点即(1,3) (2,3)(1,4)(2,4)。显然,它们都不可能是整数规划的最优解。按整数规划约束条件,其可行解肯定在线性规划问题的可行域内且为整数点。故整数规划问题的可行解集是一个有限集,如图所示。,x1,x2,3,3,(3/2,10/3),因此,可将集合内的整数点一一找出,其最大目标函数的值为最优解,此法为完全枚举法。如上例:其中(2,2)(3,1)点为最大值,Z=4。常用的求解整数规划的方法有: 割平面法和分支定界法,对于01规划问题采用隐枚举法和匈牙利法。,第2节 分配问题与匈牙利法,在实际中经常会遇到这样的问题,有n 项不同的任务,
5、需要n 个人分别完成其中的一项,但由于任务的性质和各人的专长不同,因此各人去完成不同的任务的效率(或花费的时间或费用)也就不同。于是产生了一个问题,应指派哪个人去完成哪项任务,使完成 n 项任务的总效率最高(或所需时间最少),这类问题称为指派问题或分派问题。,分配第i个人去完成第j项任务 不分配第i个人去完成第j项任务,例:有一份说明书,要分别译成英、日、德、俄四种文字,交甲、乙、丙、丁四个人去完成。因各人专长不同,他们完成翻译不同文字所需的时间(h)如下表,应如何分配,使这四个人分别完成这四项任务总的时间为最小?,设n 个人被分配去做n 件工作,规定每个人只做一件工作,每件工作只有一个人去做
6、。已知第I 个人去做第j 件工作的的效率( 时间或费用)为Cij(i=1.2n;j=1.2n)并假设Cij 0。问应如何分配才能使总效率( 时间或费用)最高?,设决策变量 1 分配第i 个人去做第j 件工作xij =0 相反 ( I,j=1.2. n ),其数学模型为:,例:用匈牙利法求解下列指派问题,已知效率矩阵分别如下:,2,4,9,7,4,2,例 : 有一份中文说明书,需译成英、日、德、俄四种文字,分别记作A、B、C、D。现有甲、乙、丙、丁四人,他们将中文说明书译成不同语种的说明书所需时间如下表所示,问如何分派任务,可使总时间最少?,第一步,变换系数矩阵:,5,第二步,试指派:,只找到
7、3 个独立零元素,第三步,作最少的直线覆盖所有0元素:,独立零元素的个数m等于最少直线数l,即lm=3n=4;,第四步,变换矩阵(bij)以增加0元素:没有被直线覆盖的所有元素中的最小元素为1,然后打各行都减去1;打各列都加上1,得如下矩阵,并转第二步进行试指派:,得到4个独立零元素, 所以最优解矩阵为:,最优值:15=2+4=1+8,11,5,7,6,4,戊,6,9,6,3,7,丁,8,6,4,5,8,丙,9,11,7,12,9,乙,11,8,9,5,7,甲,E,D,C,B,A,费 工作 用人员,例:用匈牙利法求解下列指派问题,已知效率矩阵分别如下:,-1,-2,此问题有最优解是唯一的吗?,
8、最优值:28=5+7+6+6+4,例:用匈牙利法求解下列指派问题,已知效率矩阵分别如下:,48,21,设m为最大化指派问题系数矩阵C中最大元素。令矩阵B(m-cij)nn则以B为系数矩阵的最小化指派问题和原问题有相同的最优解。 例: 某人事部门拟招聘4人任职4项工作,对他们综合考评的 得分如下表(满分100分),如何安排工作使总分最多。,解: 选矩阵中最大元素95,减去其他元素。,用匈牙利法求解C,最优解为:,即甲安排做第二项工作、乙做第三项、丙做第四项、丁做第三项, 最高总分Z92959080357,当人数m大于工作数n时,加上mn项虚拟工作,例如:,当人数m小于工作数n时,加上nm个人,例
9、如,若某人可做几件事,则将该人化作相同的几个“人”来接受指派,且费用系数取值相同。,例:丙可以同时任职A和C工作,求最优指派方案。,将该人做此事的效率系数取做足够大的数,可用M表示。,例:分配甲、乙、丙、丁四个人去完成A、B、C、D、E五项任务。每个人完成各项任务的时间如表所示。由于任务数多于人数,考虑任务E必须完成,其他4项中可任选3项完成。试确定最优分配方案,使完成任务的总时间最少。,解: 这是不平衡的指派问题,首先转换为标准型,再用匈牙利法求解。由于任务数多于人数,所以假定一名虚拟人,设为戊。因为工作E必须完成,故设戊完成E的时间为M(M为非常大的数),其余效率系数为0,则标准型的效率矩
10、阵表示为:,用匈牙利法求出最优指派方案为:,即甲B,乙D,丙E,丁A, 任务C放弃。最少时间为105。,第3节 0-1整数规划与隐枚举法,例:求解下列01 规划问题,解:对于01 规划问题,由于每个变量只取0,1两个值,一般会用穷举法来解,即将所有的0,1 组合找出,使目标函数达到极值要求就可求得最优解。,由上表可知,问题的最优解为 X*=( x1 =1 x2=0 x3=1 )由上表可知: x1 =0 x2=0 x3=1 是一个可行解,为尽快找到最优解,可将3 x12 x25 x3 5 作为一个约束,凡是目标函数值小于5 的组合不必讨论,如下表。,例:求解下列01 规划问题,解:由于目标函数中
11、变量x1, x2 , x4 的系数均为负数,可作如下变换:,令 x1 1 x1 , x2 =1- x2, x3= x3, x4 =1- x4带入原题中,但需重新调整变量编号。令 x3 = x1, x4 = x2得到下式。,可以从( 1.1.1.1 )开始试算, x(3)( 1.1.0.1 )最优解。x(3)( 1.0.1.0 )是原问题的最优解,Z* =2,例:求解下列01 规划问题,令 y1=x5, y2=x4, y3=x2, y4=x3, y5=x1 得到下式,所以, Y*= (0.0.0.1.0),原问题的最优解为: X* (0.0.1.0.0),Z* =8,(0 ,1 ,1,0,0),
12、用隐枚举法求解01规划问题,第4节 割平面法,若的分量不全是整数,则对增加一个割平面条件,将的可行区域割掉一块,恰好在被割掉的区域内,而原ILP问题的任何一个可行解(格点)都没有被割去.,把增添了割平面条件的问题记为 ,用对偶单纯形法求解LP问题 .若 的最优解 是整数向量,则 是原ILP问题 的最优解,计算结束;,否则对问题 在增加一个割平面条件,形成问题 ,如此继续下去,通过求解不断改进的松弛LP问题,知道得到最优整数解为止。,例 :用割平面法求解整数规划问题,解:增加松弛变量x3和x4 ,得到(LP)的初始单纯形表和最优单纯形表:,此题的最优解为:X (1 , 3/2) Z = 3/2
13、但不是整数最优解,引入割平面。以x2 为源行生成割平面,由于 1/4=0+1/4, 3/2=1+1/2, 我们已将所需要的数分解为整数和分数,所以,生成割平面的条件为:,将 x3=6-3x1-2x2 , x4=3x1-2x2 ,带入 中,得到等价割平面条件: x2 1 如图。,x1,x2,3,3,第一个割平面,现将生成的割平面条件加入松弛变量,然后加到表中:,此时,X1 (2/3, 1), Z=1,仍不是整数解。继续以x1为源行生成割平面,其条件为:,用上表的约束解出x4 和s1 ,将它们带入上式得到等价的割平面条件:x1 x2 ,见图:,x1,x2,3,3,第一个割平面,第二个割平面,将生成
14、的割平面条件加入松弛变量,然后加到表中:,至此得到最优表,其最优解为 X= (1 , 1) , Z = 1, 这也是原问题的最优解。,例:用割平面法求解数规划问题,初 始 表,最优表,将系数和常数都分解成整数和非负真分数之和,以上式子只须考虑一个即可,解题经验表明,考虑式子右端最大真分数的式子,往往会较快地找到所需割平面约束条件。以上两个式子右端真分数相等,可任选一个考虑。现选第二个式子,并将真分数移到右边得:,引入松弛变量s1 后得到下式,将此约束条件加到上表中,继续求解。,此整数规划有两个最优解:X= (0, 4), Z = 4, 或 X= (2, 2), Z = 4。,第5节 分枝定界法
15、,例:用分枝定界法求解整数规划问题(用图解法计算),记为(IP),解:首先去掉整数约束,变成一般线性规划问题,记为(LP),用图解法求(LP)的最优解,如图所示。 x118/11, x2 =40/11,Z(0) =218/11(19.8) 即Z 也是(IP)最小值的下限。 对于x118/111.64, 取值x1 1, x1 2 对于x2 =40/11 3.64,取值x2 3 ,x2 4 先将(LP)划分为(LP1)和(LP2),取x1 1, x1 2,x1,x2,3,3,(18/11,40/11),现在只要求出(LP1)和(LP2)的最优解即可。,x1,x2,3,3,(18/11,40/11)
16、,先求(LP1),如图所示。此时B 在点取得最优解。x11, x2 =3, Z(1)16找到整数解,问题已探明,此枝停止计算。同理求(LP2) ,如图所示。在C 点取得最优解。即x12, x2 =10/3, Z(2) 56/318.7 Z2 Z116 原问题有比(16)更小的最优解,但 x2 不是整数,故利用 3 10/34 加入条件。,1,1,B,A,C,加入条件: x23, x24 有下式:,只要求出(LP3)和(LP4)的最优解即可。,x1,x2,3,3,(18/11,40/11),1,1,B,A,C,先求(LP3),如图所示。此时D 在点取得最优解。即 x112/52.4, x2 =3
17、, Z(3)-87/5-17.4Z-19.8但x112/5不是整数,可继续分枝。即 3x12。求(LP4),如图所示。无可行解,不再分枝。,D,在(LP3)的基础上继续分枝。加入条件3x12有下式:,只要求出(LP5)和(LP6)的最优解即可。,x1,x2,3,3,(18/11,40/11),1,1,B,A,C,D,先求(LP5),如图所示。此时E 在点取得最优解。即 x12, x2 =3, Z(5)17找到整数解,问题探明,此枝停止计算。 求(LP6),如图所示。此时 F在点取得最优解。x13, x2 =2.5, Z(6)31/215.5 Z(5) 如对 Z(6) 继续分解,其最小值也不会低
18、于15.5 ,问题探明,剪枝。,E,F,至此,原问题(IP)的最优解为:x1=2, x2 =3, Z* = Z(5) 17以上的求解过程可以用一个树形图表示如右:,LP1 x1=1, x2=3 Z(1) 16,LP x1=18/11, x2=40/11 Z(0) 19.8,LP2 x1=2, x2=10/3 Z(2) 18.5,LP3 x1=12/5, x2=3 Z(3) 17.4,LP4 无可 行解,LP5 x1=2, x2=3 Z(5) 17,LP6 x1=3, x2=5/2 Z(6) 15.5,x11,x12,x23,x24,x12,x13,例:用分枝定界法求解整数规划问题(图解法),x
19、11,x12,x22,x23,x22,x23,x12,x13,LP1 x1=1, x2=7/3 Z(1) 10/3,LP x1=2/3, x2=10/3 Z(0) 29/6,LP2 x1=2, x2=23/9 Z(2) 41/9,LP3 x1=33/14, x2=2 Z(3) 61/14,LP4 无可 行解,LP7 x1=2, x2=2 Z(7) 4,LP8 x1=3, x2=1 Z(8) 4,x11,x12,x22,x23,x12,x13,例:用分枝定界法求解整数规划问题(单纯形法),解:用单纯形法解对应的(LP)问题,如表所示,获得最优解。,初始表,最终表,x1=13/4 x2=5/2 Z
20、(0) =59/414.75. 选 x2 进行分枝,即增加两个约束,2 x2 3 有下式:,分别在(LP1)和(LP2)中引入松弛变量x5、x6 ,将新约束条件加入上表计算。即 x2+ x5= 2 , x2+x6=3 如表:,x1=7/2, x2=2 ,Z(1) =29/2=14.5 继续分枝,加入约束 3 x1 4,LP1,LP2,x1=5/2, x2=3 ,Z(2) =27/2=13.5 Z(2) Z(1) 先不考虑分枝,接(LP1)继续分枝,加入约束 4 x1 3,有下式:,分别引入松弛变量x7 和 x8 ,然后进行计算。,x1=3, x2=2 , Z(3) =13 找到整数解,问题已探
21、明,停止计算。,LP3,x1=4, x2=1 , Z(4) =14 找到整数解,问题已探明,停止计算。,LP4,LP1 x1=7/2, x2=2 Z(1)29/2=14.5,LP x1=13/4, x2=5/2 Z(0) 59/4=14.75,LP2 x1=5/2, x2=3 Z(2)27/2=13.5,LP3 x1=3, x2=2 Z(3) 13,LP4 x1=4, x2=1 Z(4) 14,x22,x23,x13,x14,例:用分枝定界法求解整数规划问题(单纯形法),LP1 x1=1, x2=3 Z(1) 16,LP x1=18/11, x2=40/11 Z(0) 19.8,LP2 x1=2, x2=10/3 Z(2) 18.5,LP3 x1=12/5, x2=3 Z(3) 17.4,LP4 无可 行解,LP5 x1=2, x2=3 Z(5) 17,LP6 x1=3, x2=5/2 Z(6) 15.5,x11,x12,x23,x24,x12,x13,THANKS FOR YOUR ATTENTION,