版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第四章第四章 整数规划整数规划 整数规划的难度远大于一般线性规划整数规划的难度远大于一般线性规划24.1 整数规划简介整数规划简介 要求所有要求所有 xj 的解为整数,称为纯整数规划的解为整数,称为纯整数规划 要求部分要求部分 xj 的解为整数,称为混合整数规划的解为整数,称为混合整数规划 对应没有整数解要求的线性规划称之为松弛问题对应没有整数解要求的线性规划称之为松弛问题 整数规划的解是可数个的,最优解不一定发生在极点整数规划的解是可数个的,最优解不一定发生在极点 整数规划的最优解不会优于其松弛问题的最优解整数规划的最优解不会优于其松弛问题的最优解njxmibxatsxcxfjnjijij
2、njjj, 2 , 1,0, 2 , 1,),(. .)(max(min)11且为整数34.2 整数规划的分枝定界法整数规划的分枝定界法 4.2.1 思路与解题步骤思路与解题步骤 只解松弛问题只解松弛问题1、在全部可行性域上解松弛问题、在全部可行性域上解松弛问题 若松弛问题最优解为整数解,则其也是整数规划的若松弛问题最优解为整数解,则其也是整数规划的最优解最优解2、分枝过程分枝过程 若松弛问题最优解中某个若松弛问题最优解中某个 xk=bk 不是整数,令不是整数,令 bk 为为 bk 的整数部分的整数部分 构造两个新的约束条件构造两个新的约束条件 xk bk 和和 xk bk +1,分,分别加于
3、原松弛问题,形成两个新的整数规划别加于原松弛问题,形成两个新的整数规划3、求解分枝的松弛问题、求解分枝的松弛问题 定界过程定界过程 设两个分枝的松弛问题分别为问题设两个分枝的松弛问题分别为问题 1 和问题和问题 2 ,它,它们的最优解有如下情况们的最优解有如下情况 4表表4.2.1 分枝问题解可能出现的情况分枝问题解可能出现的情况序号序号问题问题 1 1问题问题 2 2说说 明明1无可行解无可行解无可行解无可行解整数规划无可行解整数规划无可行解2无可行解无可行解整数解整数解此整数解即最优解此整数解即最优解3无可行解无可行解非整数解非整数解对问题对问题 2 继续分枝继续分枝4整数解整数解整数解整
4、数解较优的一个为最优解较优的一个为最优解5整数解,目标函整数解,目标函数优于问题数优于问题 2非整数解非整数解问题问题 1 的解即最优解的解即最优解6整数解整数解非整数解,目标非整数解,目标函数优于问题函数优于问题 1问题问题 1 1 停止分枝停止分枝( (剪剪枝枝) ),其整数解为界,其整数解为界,对问题对问题 2 继续分枝继续分枝情况情况 2, 4, 5 找到最优解找到最优解情况情况 3 在缩减的域上继续分枝定界法在缩减的域上继续分枝定界法情况情况 6 问题问题 1 的整数解作为的整数解作为界界被保留,用于以后与问题被保留,用于以后与问题 2 的后的后续分枝所得到的解进行比较,结论如情况续
5、分枝所得到的解进行比较,结论如情况 4 或或 55 4.2.2 分枝定界法举例分枝定界法举例 例例4.1.1 且为整数且为整数 0,7 2134246)(max21212121xxxxxxxxxf解解:松弛问题的最优解为:松弛问题的最优解为 x1=2.5, x2=2, OBJ=23 由由 x1=2.5 得到两个分枝如下:得到两个分枝如下:且为整数且为整数问题问题 0,2 7 21342I46)(max211212121xxxxxxxxxxf且为整数且为整数问题问题 0,3 7 21342II46)(max211212121xxxxxxxxxxf6 表表4.2.3 分枝问题的松弛解分枝问题的松弛
6、解问问题题 I问问题题 IIx123x29/41f(x)2122问题问题II的解即原整数问题的最优解的解即原整数问题的最优解 可能存在两个分枝都是非整数解的情况,则需要两边同时可能存在两个分枝都是非整数解的情况,则需要两边同时继续分枝,直到有整数解出现,就可以进行定界过程继续分枝,直到有整数解出现,就可以进行定界过程 当存在很多变量有整数约束时,分枝即广又深,在最坏情当存在很多变量有整数约束时,分枝即广又深,在最坏情况下相当于组合所有可能的整数解况下相当于组合所有可能的整数解 一般整数规划问题属于一类未解决的难题,一般整数规划问题属于一类未解决的难题,NP-complete,只有少数特殊问题有
7、好的算法,如只有少数特殊问题有好的算法,如任务分配问题任务分配问题、匹配问题匹配问题74.6 任务分配问题任务分配问题例例4.6.1 有四个熟练工人,他们都是多面手,有四项任务要他有四个熟练工人,他们都是多面手,有四项任务要他们完成。若规定每人必须完成且只完成一项任务,而每人们完成。若规定每人必须完成且只完成一项任务,而每人完成每项任务的工时耗费如表完成每项任务的工时耗费如表4.6.1,问如何分配任务使完,问如何分配任务使完成四项任务的总工时耗费最少?成四项任务的总工时耗费最少? 1 , 0, 2 , 1 1, 2 , 1 1)(min1111ijmiijmjijmimjijijxmjxmix
8、xaxf任任务务 工工时时ABCD人人员员人人员员甲甲109781乙乙58771丙丙54651丁丁23451任任务务11118 任务分配问题的数学模型任务分配问题的数学模型模型中:模型中:xij 为第为第 i 个工人分配去做第个工人分配去做第 j 项任务;项任务; aij 为第为第 i 个工人为完成第个工人为完成第 j 项任务时的工时消耗;项任务时的工时消耗; aijm m 称为称为效率矩阵效率矩阵mjijijixij, 2 , 1,01项项任任务务个个工工人人未未分分配配去去做做第第当当第第项项任任务务个个工工人人分分配配去去做做第第当当第第 运输问题是任务分配问题的松弛问题运输问题是任务分
9、配问题的松弛问题 任务分配问题不但是整数规划,而且是任务分配问题不但是整数规划,而且是0 1规划规划 任务分配问题有任务分配问题有2m个约束条件,但有且只有个约束条件,但有且只有m个非零解个非零解,是自然,是自然高度退化高度退化的的 任务分配是任务分配是两部图两部图的的匹配问题匹配问题,有著名的,有著名的匈牙利算法匈牙利算法下面介绍一种适合手算的算法下面介绍一种适合手算的算法(出自清华教科书出自清华教科书)9 4.6.1 清华算法清华算法定理定理 1 如果从效率矩阵如果从效率矩阵aijm m中每行元素分别减去一个常数中每行元素分别减去一个常数 ui,从每列元素分别减去一个常数从每列元素分别减去
10、一个常数 vj ,所得新的效率矩阵,所得新的效率矩阵bijm m的任务分配问题的最优解等价于原问题的最优解。的任务分配问题的最优解等价于原问题的最优解。 证明:略证明:略定理定理 2 若方阵中一部分元素为零,一部分元素非零,则覆盖方若方阵中一部分元素为零,一部分元素非零,则覆盖方阵内所有零元素的最少直线数等于位于不同行、不同列的零阵内所有零元素的最少直线数等于位于不同行、不同列的零元素的最多个数。元素的最多个数。 证明:略证明:略 清华算法的清华算法的基本思路基本思路: 根据根据定理定理 1 变换效率矩阵,使矩阵中有足够多的零。若变换效率矩阵,使矩阵中有足够多的零。若矩阵中存在矩阵中存在 m
11、个不同行不同列的零,就找到了最优解个不同行不同列的零,就找到了最优解 若覆盖变换后的效率矩阵零元素的直线少于若覆盖变换后的效率矩阵零元素的直线少于m 条,就尚条,就尚未找到最优解,设法进一步变换矩阵,增加新的零未找到最优解,设法进一步变换矩阵,增加新的零10 清华算法的步骤:例清华算法的步骤:例4.6.1第一步第一步:变换效率矩阵,使每行每列至少有一个零:变换效率矩阵,使每行每列至少有一个零 行变换行变换:找出每行最小元素,从该行各元素中减去之:找出每行最小元素,从该行各元素中减去之 列变换列变换:找出每列最小元素,从该列各元素中减去之:找出每列最小元素,从该列各元素中减去之221002011
12、2300023321012012230)1(023543)2(56)4(5778)5(8)7(910换变列换变行第二步第二步:检查覆盖所有零元素的直线是否为:检查覆盖所有零元素的直线是否为m条条划线规则划线规则1、逐行检查、逐行检查,若该行只有一个未标记的零,对其加,若该行只有一个未标记的零,对其加( )标记,将标记,将 ( )标记元素同行同列上其它的零打上标记元素同行同列上其它的零打上*标记。若该行有二个以上标记。若该行有二个以上未标记的零,暂不标记,转下一行检查,直到所有行检查完;未标记的零,暂不标记,转下一行检查,直到所有行检查完;11 清华算法的步骤:例清华算法的步骤:例4.6.12、
13、逐列检查、逐列检查,若该列只有一个未标记的零,对其加,若该列只有一个未标记的零,对其加( )标记,将标记,将( )标标记元素同行同列上其它的零打上记元素同行同列上其它的零打上*标记。若该列有二个以上未标记的标记。若该列有二个以上未标记的零,暂不标记,转下一列检查,直到所有列检查完;零,暂不标记,转下一列检查,直到所有列检查完;221*0*02)0(1123)0(*0)0(23221*00201123)0(0023查检列逐查检行逐3、重复、重复1、2后,可能出现三种情况:后,可能出现三种情况:a. 每行都有一个每行都有一个 (0),显然已找到最优解,令对应,显然已找到最优解,令对应(0)位置的位
14、置的 xij=1;b. 仍有零元素未标记,此时,一定存在某些行和列同时有多个零,仍有零元素未标记,此时,一定存在某些行和列同时有多个零,称为称为僵局状态僵局状态,因为无法采用,因为无法采用 1、 2 中的方法继续标记。中的方法继续标记。4、打破僵局打破僵局。令未标记零对应的同行同列上其它未标记零的个数为。令未标记零对应的同行同列上其它未标记零的个数为该零的该零的指数指数,选,选指数最小指数最小的先标记的先标记 ( );采用这种方法直至所有零都;采用这种方法直至所有零都被标记,或出现被标记,或出现 情况情况 a,或,或 情况情况 c 。12 清华算法的步骤:例清华算法的步骤:例4.6.1c. 所
15、有零都已标记所有零都已标记,但标有,但标有( )的零的个数少于的零的个数少于m; 开始开始划线过程划线过程: 对没有标记对没有标记 ( ) 的行打的行打 对打对打 行上所有其它零元素对应的列打行上所有其它零元素对应的列打 再对打再对打 列上有列上有 ( ) 标记的零元素对应的行打标记的零元素对应的行打 重复重复 ,直至无法继续,直至无法继续 对没有打对没有打 的行划的行划横线横线,对所有,对所有打打 的列划的列划垂线垂线 221*0*02)0(1123)0(*0)0(23 划线后会出现两种情况:划线后会出现两种情况:(1) 标记标记( )的零少于的零少于m个,但划有个,但划有 m条直线,说明矩
16、阵中已存在条直线,说明矩阵中已存在 m 个不个不同行不同列的零,但打破僵局时选同行不同列的零,但打破僵局时选择不合理,没能找到。回到择不合理,没能找到。回到 b 重新重新标记;标记;(2) 少于少于m条直线,到条直线,到第三步第三步;13 清华算法的步骤:例清华算法的步骤:例4.6.1第三步:第三步:进一步变换进一步变换; 在未划线的元素中找在未划线的元素中找最小者最小者,设为,设为 对未被直线覆盖的各元素减去对未被直线覆盖的各元素减去 对两条直线交叉点覆盖的元素加上对两条直线交叉点覆盖的元素加上 只有一条直线覆盖的元素保持不变只有一条直线覆盖的元素保持不变以上步骤实际上仍是利用以上步骤实际上
17、仍是利用 定理定理 1221*0*02)0(1123)0(*0)0(2311000202012000241 第四步:第四步:抹除所有标记,回到抹除所有标记,回到第二步第二步,重新标记,重新标记;14解优最列逐行逐记标11)0(*0)0(2*02*012)0(*0)0(24 清华算法的步骤:例清华算法的步骤:例4.6.111000202012000241 答:最优分配方案为答:最优分配方案为 x13= x21= x34 = x42 =1,其余为,其余为0, 即甲即甲C,乙,乙A,丙,丙D,丁,丁B,OBJ=20110002020120*0)0(24记记标标列列110*00202*012)0(*0
18、)0(24局局僵僵破破打打221*0*02)0(1123)0(*0)0(23156 0 2 0 5 0 4 0 0 3 0 1 0 2 0 0 局局僵僵破破打打 4.6.2 关于清华算法的适用条件关于清华算法的适用条件 要求所有要求所有aij 0 若某些若某些 aij 0 ,则利用定理,则利用定理 1 进行变换,使所有进行变换,使所有 bij 0 目标函数为目标函数为min型型 对于对于max型目标函数,将效率矩阵中所有型目标函数,将效率矩阵中所有 aij 反号,则等反号,则等效于求效于求min型问题;再利用定理型问题;再利用定理 1 进行变换,使所有进行变换,使所有 bij 0,则可采用清华算法,则可采用清华算法 打破僵局时选择不当的结果:打破僵局时选择不当的结果: 结果仅出现结果仅出现 3 个标记个标记( ),但却划出,但却划出 4 条线,条线, 说明什么?!说明什么?!6 0 2 *0 5 0 4 *0 0 3 0 1 *0 2 *0 )0( 局局僵僵破破打打6 *0 2 *0 5 )0( 4 *0 0 3 0 1 *0 2 *0 )0( 局局僵僵破破打打6 *0 2 *0 5 )0( 4 *0 *0 3 )0( 1 *0 2 *0 )0( 局局僵僵破破打打16线性规划有关的英文词汇线性规划有关的英文词汇Operational/operations research
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考冲刺个人决心书
- 中秋晚会来宾致辞范文(10篇)
- 中学生竞选班长演讲稿
- 中班家访小结
- 密度应用课件教学课件
- 2025年高考语文复习知识清单第十章作文专题10议论文写作课内素材积累(学生版+解析)
- 渝长一标段动火作业方案
- 超声雾化课件教学课件
- 三年级数学计算题专项练习汇编及答案集锦
- 维修保证金协议书(2篇)
- 多元化和包容性的领导方式
- 【盒马鲜生生鲜类产品配送服务问题及优化建议分析10000字(论文)】
- 数学学习的跨学科融合
- 小学-信息技术试题及答案
- 中小学校本课程规划方案
- 应急救援装备产业园项目建议书
- 医院分级诊疗方案范本
- 《政务处分法》VS《纪律处分条例》讲稿
- 新概念英语青少版入门 A-Unit-1课件(共37张)
- 生鲜乳收购许可证申请表
- 幼儿园:中班社会《桌子底下的动物园》
评论
0/150
提交评论