欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    整数规划IntegerProgramming.ppt

    • 资源ID:3390249       资源大小:1.19MB        全文页数:87页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    整数规划IntegerProgramming.ppt

    整 数 规 划 (Integer Programming),整数规划的模型,分支定界法,割平面法,01 整数规划,指派问题,(一)、整数规划问题实例,例一、合理下料问题 设用某型号的圆钢下零件A1, A2,Am 的毛坯。在一根圆钢上下料的方式有B1,B2, Bn 种,每种下料方式可以得到各种零件的毛坯数以及每种零件的需要量,如表所示。问怎样安排下料方式,使得即满足需要,所用的原材料又最少?,一、整数规划的模型,设:xj 表示用Bj (j=1.2n) 种方式下料根数 模型:,例二、某公司计划在m个地点建厂,可供选择的地点有A1,A2Am ,他们的生产能力分别是a1,a2,am(假设生产同一产品)。第i个工厂的建设费用为fi (i=1.2m),又有n个地点B1,B2, Bn 需要销售这种产品,其销量分别为b1.b2bn 。从工厂运往销地的单位运费为Cij。试决定应在哪些地方建厂,即满足各地需要,又使总建设费用和总运输费用最省?,设: xij 表示从工厂运往销地的运量(i=1.2m、j=1.2n), 1 在Ai建厂 又设 Yi (i=1.2m) 0 不在Ai建厂 模型:,例三、机床分配问题 设有m台同类机床,要加工n种零件。已知各种零件的加工时间分别为a1,a2,an ,问如何分配,使各机床的总加工任务相等,或者说尽可能平衡。,设: 1 分配第i台机床加工第j种零件; xij (i=1.2m,j=1.2n) 0 相反。 于是,第i台机床加工各种零件的总时间为:,又由于一个零件只能在一台机床上加工,所以有,因此,求xij ,使得,(二)、整数规划的数学模型,一般形式,依照决策变量取整要求的不同,整数规划可分为纯整数规划、全整数规划、混合整数规划、01整数规划。,纯整数规划:所有决策变量要求取非负整数(这时引进的松弛变量可以不要求取整数)。,全整数规划:除了所有决策变量要求取非负整数外,系数aij和常数bi也要求取整数(这时引进的松弛变量也必须是整数)。,混合整数规划:只有一部分的决策变量要求取非负整数,另一部分可以取非负实数。,01整数规划:所有决策变量只能取 0 或 1 两个整数。,(三)、整数规划与线性规划的关系,从数学模型上看整数规划似乎是线性规划的一种特殊形式,求解只需在线性规划的基础上,通过舍入取整,寻求满足整数要求的解即可。但实际上两者却有很大的不同,通过舍入得到的解(整数)也不一定就是最优解,有时甚至不能保证所得到的解是整数可行解。 举例说明。,例:设整数规划问题如下,首先不考虑整数约束,得到线性规划问题(一般称为松弛问题)。,用图解法求出最优解 x13/2, x2 = 10/3 且有Z = 29/6,x1,x2,3,3,(3/2,10/3),现求整数解(最优解):如用“舍入取整法”可得到4个点即(1,3) (2,3)(1,4)(2,4)。显然,它们都不可能是整数规划的最优解。,按整数规划约束条件,其可行解肯定在线性规划问题的可行域内且为整数点。故整数规划问题的可行解集是一个有限集,如图所示。,因此,可将集合内的整数点一一找出,其最大目标函数的值为最优解,此法为完全枚举法。 如上例:其中(2,2)(3,1)点为最大值,Z=4。,目前,常用的求解整数规划的方法有: 分支定界法和割平面法; 对于特别的01规划问题采用隐枚举法和匈牙利法。,(一)、基本思路,考虑纯整数问题:,整数问题的松弛问题:,二、分枝定界法,1、先不考虑整数约束,解( IP )的松弛问题( LP ),可能得到以下情况之一: .若( LP )没有可行解,则( IP )也没有可行解,停止计算。 .若( LP )有最优解,并符合( IP )的整数条件,则( LP )的最优解即为( IP )的最优解,停止计算。 .若( LP )有最优解,但不符合( IP )的整数条件,转入下一步。为讨论方便,设( LP )的最优解为:,2、定界: 记( IP )的目标函数最优值为Z* ,以Z(0) 作为Z* 的上界,记为 Z(0) 。再用观察法找的一个整数可行解 X,并以其相应的目标函数值 Z作为Z* 的下界,记为Z Z,也可以令Z,则有: Z Z* ,3、分枝: 在( LP )的最优解 X(0)中,任选一个不符合整数条件的变量,例如xr= (不为整数),以 表示不超过 的最大整数。构造两个约束条件 xr 和xr 1,如此反复进行,直到得到ZZ* 为止,即得最优解 X* 。,将这两个约束条件分别加入问题( IP ) ,形成两个子问题( IP1)和( IP2 ) ,再解这两个问题的松弛问题( LP1)和( LP2) 。,4、修改上、下界:按照以下两点规则进行。 .在各分枝问题中,找出目标函数值最大者作为新的上界; .从已符合整数条件的分枝中,找出目标函数值最大者作为新的下界。,5、比较与剪枝 : 各分枝的目标函数值中,若有小于Z 者,则剪掉此枝,表明此子问题已经探清,不必再分枝了;否则继续分枝。,例一:用分枝定界法求解整数规划问题(用图解法计算),记为(IP),解:首先去掉整数约束,变成一般线性规划问题,记为(LP),(二)、例题,用图解法求(LP)的最优解,如图所示。,x1,x2,3,3,(18/11,40/11),对于x118/111.64, 取值x1 1, x1 2 对于x2 =40/11 3.64,取值x2 3 ,x2 4 先将(LP)划分为(LP1)和(LP2),取x1 1, x1 2,x118/11, x2 =40/11 Z(0) =218/11(19.8) 即Z 也是(IP)最小值的下限。,有下式:,现在只要求出(LP1)和(LP2)的最优解即可。,x1,x2,3,3,(18/11,40/11),先求(LP1),如图所示。此时B 在点取得最优解。 x11, x2 =3, Z(1)16 找到整数解,问题已探明,此枝停止计算。,1,1,同理求(LP2) ,如图所示。 在C 点取得最优解。 即x12, x2 =10/3, Z(2) 56/318.7 Z2 Z116 原问题有比(16)更小的最优解,但 x2 不是整数,故利用 3 10/34 加入条件。,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, Z(3)-87/5-17.4Z-19.8 但x112/5不是整数,可继续分枝。即 3x12。,D,求(LP4),如图所示。 无可行解,不再分枝。,在(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 找到整数解,问题已探明,此枝停止计算。,E,求(LP6),如图所示。此时 F在点取得最优解。 x13, x2 =2.5, Z(6)31/215.5 Z(5),F,如对 Z(6) 继续分解,其最小值也不会低于15.5 ,问题探明,剪枝。,至此,原问题(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,练习:用分枝定界法求解整数规划问题 (图解法),x11,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(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 找到整数解,问题已探明,停止计算。,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,(一)、计算步骤: 1、用单纯形法求解( IP )对应的松弛问题( LP ): .若( LP )没有可行解,则( IP )也没有可行解,停止计算。 .若( LP )有最优解,并符合( IP )的整数条件,则( LP )的最优解即为( IP )的最优解,停止计算。 .若( LP )有最优解,但不符合( IP )的整数条件,转入下一步。,三、割平面法,2、从(LP)的最优解中,任选一个不为整数的分量xr,将最优单纯形表中该行的系数 和 分解为整数部分和小数部分之和,并以该行为源行,按下式作割平面方程:,3、将所得的割平面方程作为一个新的约束条件置于最优单纯形表中(同时增加一个单位列向量),用对偶单纯形法求出新的最优解,返回1。,的小数部分,的小数部分,例一:用割平面法求解整数规划问题,解:增加松弛变量x3和x4 ,得到(LP)的初始单纯形表和最优单纯形表:,此题的最优解为:X= (1 , 3/2)T Z = 3/2 但不是整数最优解,引入割平面。以x2 为源行生成割平面,由于 1/4=0+1/4, 3/2=1+1/2, 我们已将所需要的数分解为整数和分数,所以,生成割平面的条件为:,现将生成的割平面条件加入松弛变量,然后加到表中:,此时,X1 (2/3, 1), Z=1,仍不是整数解。继续以x1为源行生成割平面,其条件为:,将生成的割平面条件加入松弛变量,然后加到表中:,至此得到最优表,其最优解为 X= (1 , 1) , Z = 1, 这也是原问题的最优解。,有以上解题过程可见,表中含有分数元素且算法过程中始终保持对偶可行性,因此,这个算法也称为分数对偶割平面算法。,例二:用割平面法求解整数规划问题,初 始 表,最优表,割平面方程:,引入松弛变量s1 后得到下式,将此约束条件加到上表中,继续求解。,得到整数最优解,即为整数规划的最优解,而且此整数规划有两个最优解: X= (0, 4), Z = 4, 或 X= (2, 2), Z = 4。,(2 ,3),01 整数规划是一种特殊形式的整数规划,这时的决策变量xj 只取两个值0或1,一般的解法为隐枚举法。,例一、求解下列01 规划问题,四、01 整数规划,解:对于01 规划问题,由于每个变量只取0,1两个值,一般会用穷举法来解,即将所有的0,1 组合找出,使目标函数达到极值要求就可求得最优解。但此法太繁琐,工作量相当大。而隐枚举法就是在此基础上,通过加入一定的条件,就能较快的求得最优解。,由上表可知,问题的最优解为 X*=(1,0,1 )T 由上表可知: x1 =0 x2=0 x3=1 是一个可行解,为尽快找到最优解,可将3 x12 x25 x3 5 作为一个约束,凡是目标函数值小于5 的组合不必讨论,如下表。,例二、求解下列01 规划问题,解:由于目标函数中变量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 )T最优解。 x(3)( 1.0.1.0 )T是原问题的最优解,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)T,Z* =8,(0 . 1 . 1 . 0 . 0),练习:用隐枚举法求解01规划问题,在实际中经常会遇到这样的问题,有n 项不同的任务,需要n 个人分别完成其中的一项,但由于任务的性质和各人的专长不同,因此各人去完成不同的任务的效率(或花费的时间或费用)也就不同。于是产生了一个问题,应指派哪个人去完成哪项任务,使完成 n 项任务的总效率最高(或所需时间最少),这类问题称为指派问题或分派问题。,(一)、指派问题的数学模型 设n 个人被分配去做n 件工作,规定每个人只做一件工作,每件工作只有一个人去做。已知第i个人去做第j 件工作的的效率( 时间或费用)为Cij(i=1.2n;j=1.2n)并假设Cij 0。问应如何分配才能使总效率( 时间或费用)最高?,五、指派问题,设决策变量 1 分配第i 个人去做第j 件工作 xij = 0 相反 ( i,j=1.2. n ),其数学模型为:,(二)、解题步骤:,指派问题是0-1 规划的特例,也是运输问题的特例,当然可用整数规划,0-1 规划或运输问题的解法去求解,这就如同用单纯型法求解运输问题一样是不合算的。利用指派问题的特点可有更简便的解法,这就是匈牙利法,即系数矩阵中独立 0 元素的最多个数等于能覆盖所有 0 元素的最少直线数。,第一步:变换指派问题的系数矩阵(cij)为(bij),使在(bij)的各行各列中都出现0元素,即 (1) 从(cij)的每行元素都减去该行的最小元素; (2) 再从所得新系数矩阵的每列元素中减去该列的最小元素。,第二步:进行试指派,以寻求最优解。 在(bij)中找尽可能多的独立0元素,若能找出n个独立0元素,就以这n个独立0元素对应解矩阵(xij)中的元素为1,其余为0,这就得到最优解。找独立0元素,常用的步骤为: (1)从只有一个0元素的行(列)开始,给这个0元素加圈,记作 。然后划去 所在列(行)的其它0元素,记作Ø ;这表示这列所代表的任务已指派完,不必再考虑别人了。 (2)给只有一个0元素的列(行)中的0元素加圈,记作;然后划去 所在行的0元素,记作Ø (3)反复进行(1),(2)两步,直到尽可能多的0元素都被圈出和划掉为止。,(4)若仍有没有划圈的0元素,且同行(列)的0元素至少有两个,则从剩有0元素最少的行(列)开始,比较这行各0元素所在列中0元素的数目,选择0元素少的那列的这个0元素加圈(表示选择性多的要“礼让”选择性少的)。然后划掉同行同列的其它0元素。可反复进行,直到所有0元素都已圈出和划掉为止。 (5)若 元素的数目m 等于矩阵的阶数n,那么这指派问题的最优解已得到。若m n, 则转入下一步。 第三步:作最少的直线覆盖所有0元素。 (1)对没有的行打号; (2)对已打号的行中所有含Ø元素的列打号; (3)再对打有号的列中含 元素的行打号;,(4)重复(2),(3)直到得不出新的打号的行、列为止; (5)对没有打号的行画横线,有打号的列画纵线,这就得到覆盖所有0元素的最少直线数 l 。l 应等于m,若不相等,说明试指派过程有误,回到第二步(4),另行试指派;若 lm n,须再变换当前的系数矩阵,以找到n个独立的0元素,为此转第四步。 第四步:变换矩阵(bij)以增加0元素。 在没有被直线覆盖的所有元素中找出最小元素,然后打各行都减去这最小元素;打各列都加上这最小元素(以保证系数矩阵中不出现负元素)。新系数矩阵的最优解和原问题仍相同。转回第二步。,例一:,-2,-4,-9,-7,-4,-2,Ø,Ø,Ø,有一份中文说明书,需译成英、日、德、俄四种文字,分别记作A、B、C、D。现有甲、乙、丙、丁四人,他们将中文说明书译成不同语种的说明书所需时间如下表所示,问如何分派任务,可使总时间最少?,例二、,求解过程如下: 第一步,变换系数矩阵:,5,第二步,试指派:,Ø,Ø,找到 3 个独立零元素 但 m = 3 n = 4,第三步,作最少的直线覆盖所有0元素:,Ø,Ø,独立零元素的个数m等于最少直线数l,即lm=3n=4;,第四步,变换矩阵(bij)以增加0元素:没有被直线覆盖的所有元素中的最小元素为1,然后打各行都减去1;打各列都加上1,得如下矩阵,并转第二步进行试指派:,得到4个独立零元素, 所以最优解矩阵为:,15,Ø,Ø,练习:,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,Ø,Ø,Ø,l =m=4 n=5,Ø,Ø,Ø,Ø,l =m=4 n=5,Ø,Ø,Ø,Ø,Ø,Ø,此问题有多个最优解,28,Ø,Ø,Ø,Ø,Ø,Ø,用匈牙利法求解下列指派问题,已知效率矩阵分别如下:,

    注意事项

    本文(整数规划IntegerProgramming.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开