- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
运筹学课件 第四章整数规划与分配问题
* 第四章 整数规划与分配问题 §1.整数规划的特点及作用 § 2.分配问题与匈牙利法 § 3.分枝定界法 § 4.割平面法 § 5.应用举例 §1.整数规划的特点及应用 在实际问题中,全部或部分变量的取值必须是整数。比如人或机器是不可分割的,选择建厂地点可以设置逻辑变量等。 在一个线性规划问题中要求全部变量取整数值的,称纯整数线性规划或简称纯整数规划;只要求一部分变量取整数值的,称为混合整数规划。 对整数规划问题求解,有人认为可以不考虑对变量的整数约束,作为一般线性规划问题求解,当解为非整数时,用四舍五入或凑整方法寻找最优解,我们从下面的例子说明这样的方法是不合适的。 例1. 求下述整数规划问题的最优解 解:如果不考虑整数约束(称为整数规划问题的松弛问题)用图解法得最优解为(3.25 , 2.5) 考虑到整数约束,用凑整法求解时,比较四个点(4 , 3),(4 , 2),(3 , 3)(3 , 2),前三个都不是可行解,第四个虽然是可行解,但 z=13 不是最优。实际问题的最优解为(4 , 1)这时 z*= 14。 逻辑(0-1)变量在建立数学模型中的作用 1. m 个约束条件中只有 k 个起作用 设 m 个约束条件可以表示为: 定义逻辑变量 又设 M 为任意大的正数,则约束条件可以改写为: 定义逻辑变量: 此时约束条件可以改写为: 2. 约束条件的右端项可能是 r 个值中的某一个 即 3. 两组条件满足其中一组 若 x1≤4,则 x2≥1(第一组条件);否则当 x14 时,x2≤3(第二组条件). 定义逻辑变量: 又设 M 为任意大正数,则问题可表达为: 需注意,当约束为大于时,右端项中用减号。 4. 用以表示含固定费用的函数 用 xj 代表产品 j 的生产数量,其生产费用函数表示为 其中 Kj 是同产量无关的生产准备费用,问题的目标是使所有产品的总生产费用为最小,即 定义逻辑变量(表示是否生产产品 j ) 又设 M 为任意大正数,为了表示上述定义,引入约束: 显然,当 xj 0 时,yj=1。 将目标函数与约束条件合起来考虑有: 由此看出,当 xj = 0 时,为使 z 极小化,应有 yj = 0 习题 4.2 §2.分配问题与匈牙利法 一、问题的提出与数学模型 分配问题也称指派问题(assignment problem),是一种特殊的整数规划问题。假定有 m 项任务分配给 m 个人去完成,并指定每人完成其中一项,每项只交给其中一个人去完成,应如何分配使总的效率为最高。 如果完成任务的效率表现为资源消耗,考虑的是如何分配任务使得目标极小化;如果完成任务的效率表现为生产效率的高低,则考虑的是如何分配使得目标函数极大化。 在分配问题中,利用不同资源完成不同计划活动的效率通常用表格形式表示为效率表,表格中数字组成效率矩阵。 例2. 有一份说明书,要分别翻译成英、日、德、俄四种文字,交甲、乙、丙、丁四个人去完成。因各人专长不同,使这四个人分别完成四项任务总的时间为最小。效率表如下: 效率矩阵用[aij] 表示,为 定义逻辑变量 则分配问题的数学模型写为: 二、匈牙利法 用表上作业法来求解分配问题时,单位运价表即效率表,产销平衡表中产量和销量都设为 1 即可。 匈牙利数学家克尼格( Konig )求解分配问题的计算方法被成为匈牙利法,他证明了如下两个定理: 定理1 如果从分配问题效率矩阵 [aij] 的每一行元素中分别减去(或加上)一个常数 ui (被称为该行的位势),从每一列分别减去(或加上)一个常数 vj(被称为该列的位势),得到一个新的效率矩阵 [bij],若其中 bij = aij-ui-vj,则 [bij] 的最优解等价于 [aij] 的最优解。 定理2 若矩阵 A 的元素可分成“ 0 ”与非“ 0 ”两部分,则覆盖“ 0 ”元素的最少直线数等于位于不同行不同列的“ 0 ”元素的最大个数。 结合例2 说明匈牙利法的计算步骤 第一步:找出效率矩阵每行的最小元素,并分别从每行中减去。 第二步:找出矩阵每列的最小元素,分别从各列中减去。 第三步:经过上述两步变换后,矩阵的每行每列至少都有了一个零元素。下面确定能否找出 m 个位于不同行不同列的零元素的集合(该例中 m=4),也就是看要覆盖上面矩阵中的所有零元素,至少需要多
文档评论(0)