- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 整数规划 整数规划的难度远大于一般线性规划 * 4.1 整数规划简介 要求所有 xj 的解为整数,称为纯整数规划 要求部分 xj 的解为整数,称为混合整数规划 对应没有整数解要求的线性规划称之为松弛问题 整数规划的解是可数个的,最优解不一定发生在极点 整数规划的最优解不会优于其松弛问题的最优解 * 4.2 整数规划的解法 4.2.1 思路与解题步骤 只解松弛问题 1、在全部可行性域上解松弛问题 若松弛问题最优解为整数解,则其也是整数规划的最优解 2、分枝过程 若松弛问题最优解中某个 xk=bk 不是整数,令 ? bk ? 为 bk 的整数部分 构造两个新的约束条件 xk? ? bk ? 和 xk? ? bk ?+1,分别加于原松弛问题,形成两个新的整数规划 3、求解分枝的松弛问题 — 定界过程 设两个分枝的松弛问题分别为问题 1 和问题 2 ,它们的最优解有如下情况 * 4.2.2 分枝定界法举例 例4.1.1 解:松弛问题的最优解为 x1=2.5, x2=2, OBJ=23 由 x1=2.5 得到两个分枝如下: * 表4.2.1 分枝问题解可能出现的情况 情况 2, 4, 5 找到最优解 情况 3 在缩减的域上继续分枝定界法 情况 6 问题 1 的整数解作为界被保留,用于以后与问题 2 的后续分枝所得到的整数解进行比较,结论如情况 4 * 4.6 任务分配问题 例4.6.1 有四个熟练工人,他们都是多面手,有四项任务要他们完成。若规定每人必须完成且只完成一项任务,而每人完成每项任务的工时耗费如表4.6.1,问如何分配任务使完成四项任务的总工时耗费最少? * 任务分配问题的数学模型 模型中:xij 为第 i 个工人分配去做第 j 项任务; aij 为第 i 个工人为完成第 j 项任务时的工时消耗; {aij}m?m 称为效率矩阵 运输问题是任务分配问题的松弛问题 任务分配问题不但是整数规划,而且是0?1规划 任务分配问题有2m个约束条件,但有且只有m个非零解,是自然高度退化的 任务分配是两部图的匹配问题,有著名的匈牙利算法 下面介绍一种适合手算的算法(清华算法) * 4.6.1 清华算法 定理 1 如果从效率矩阵{aij}m?m中每行元素分别减去一个常数 ui,从每列元素分别减去一个常数 vj ,所得新的效率矩阵{bij}m?m的任务分配问题的最优解等价于原问题的最优解。 证明:略 定理 2 若方阵中一部分元素为零,一部分元素非零,则覆盖方阵内所有零元素的最少直线数等于位于不同行、不同列的零元素的最多个数。 证明:略 清华算法的基本思路: 根据定理 1 变换效率矩阵,使矩阵中有足够多的零。若矩阵中存在 m 个不同行不同列的零,就找到了最优解 若覆盖变换后的效率矩阵零元素的直线少于m 条,就尚未找到最优解,设法进一步变换矩阵,增加新的零 * 清华算法的步骤:例4.6.1 第一步:变换效率矩阵,使每行每列至少有一个零 行变换:找出每行最小元素,从该行各元素中减去之 列变换:找出每列最小元素,从该列各元素中减去之 第二步:检查覆盖所有零元素的直线是否为m条 划线规则 1、逐行检查,若该行只有一个未标记的零,对其加( )标记,将 ( )标记元素同行同列上其它的零打上*标记。若该行有二个以上未标记的零,暂不标记,转下一行检查,直到所有行检查完; * 清华算法的步骤:例4.6.1 2、逐列检查,若该列只有一个未标记的零,对其加( )标记,将( )标记元素同行同列上其它的零打上*标记。若该列有二个以上未标记的零,暂不标记,转下一列检查,直到所有列检查完; 3、重复1、2后,可能出现三种情况; a. 每行都有一个 (0),显然已找到最优解,令对应(0)位置的 xij=1; b. 仍有零元素未标记,此时,一定存在某些行和列同时有多个零,称为僵局状态,因为无法采用 1. 2 中的方法继续标记。 4、打破僵局。令未标记零对应的同行同列上其它未标记零的个数为该零的指数,选指数最小的先标记 ( );采用这种方法直至所有零都被标记,或出现 情况 a,或 情况 c 。 * 清华算法的步骤:例4.6.1 c. 所有零都已标记,但标有( )的零的个数少于m; 开始划线过程: ? 对没有标记 ( ) 的行打? ? 对打? 行上所有其它零元素对应的列打 ? ? 再对打 ? 列上有 ( ) 标记的零元素对应的行打 ? ? 重复? ? ? ,直至无法继续 ? 对没有打 ? 的行划横线,对所有打 ? 的列划垂线 ? ? ? 划线后会出现两种情况: (1)
您可能关注的文档
- 脂质代谢总结.ppt
- 蜘蛛丝仿生总结.ppt
- 永生的眼睛解释.pptx
- 执行力教育工程-模组7总结.ppt
- 粤教版五年级科学上册第15课大地的震动第1课时总结.ppt
- 用MATLAB解决_条件平差和间接平差解释.pptx
- 执行力教育工程总结.ppt
- 执行与服从2010.6.4总结.ppt
- 用swift创建复杂的加载动画解释.docx
- 用户体验中心交互规范解释.pptx
- 2025年湖北省宜昌市事业单位招聘考试(职业能力倾向测验)题库完美版.docx
- 2025年湖北省黄冈市选调生考试(行政职业能力测验)综合能力题库及参考答案.docx
- 2025年温州科技职业学院单招语文测试题库及参考答案1套.docx
- 2025年湄洲湾职业技术学院单招(语文)测试模拟题库及答案1套.docx
- 2025年清远职业技术学院单招语文测试题库精编.docx
- 2025年清远职业技术学院单招(语文)测试题库新版.docx
- 2025年淮南联合大学单招(语文)测试模拟题库最新.docx
- 2025年湖北省十堰市行政职业能力测验题库完整版.docx
- 2025年温州商学院单招(语文)测试题库及答案参考.docx
- 2025年温州职业技术学院单招(语文)测试模拟题库审定版.docx
文档评论(0)