运筹学基础及应用第五版-胡运权第四章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《运筹学基础及应用第五版-胡运权第四章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运筹学 基础 应用 第五 胡运权 第四 课件
- 资源描述:
-
1、第四章第四章 整数规划与分配问整数规划与分配问题题1 1整数规划的特点及作用整数规划的特点及作用 2 2分配问题与匈牙利法分配问题与匈牙利法 3 3分枝定界法分枝定界法 4 4割平面割平面法法 5 5解解0-10-1规划问题的隐枚举法规划问题的隐枚举法1 1整数规划的特点及应用整数规划的特点及应用 在实际问题中,全部或部分变量的取值必须是整在实际问题中,全部或部分变量的取值必须是整数。比如人或机器是不可分割的,选择建厂地点可以设置数。比如人或机器是不可分割的,选择建厂地点可以设置逻辑变量等。逻辑变量等。 在一个线性规划问题中要求全部变量取整数值的,在一个线性规划问题中要求全部变量取整数值的,称
2、纯整数线性规划或简称称纯整数线性规划或简称纯整数规划纯整数规划;只要求一部分变;只要求一部分变量取整数值的,称为量取整数值的,称为混合整数规划混合整数规划。 对整数规划问题求解,有人认为可以不考虑对变对整数规划问题求解,有人认为可以不考虑对变量的整数约束,作为一般线性规划问题求解,当解为非整量的整数约束,作为一般线性规划问题求解,当解为非整数时,用四舍五入或凑整方法寻找最优解,我们从下面的数时,用四舍五入或凑整方法寻找最优解,我们从下面的例子说明这样的方法是不合适的。例子说明这样的方法是不合适的。 例例1. 求下述整数规划问题的最优解求下述整数规划问题的最优解且均取整数值 , 0,5 . 45
3、 . 0 143 223max21212121xxxxxxxxz 解解:如果不考虑整数约束(称为整数规划问题的:如果不考虑整数约束(称为整数规划问题的松弛松弛问题问题)用图解法得最优解为()用图解法得最优解为(3.25 , 2.5) 考虑到整数约束,用凑整法考虑到整数约束,用凑整法求解时,比较四个点(求解时,比较四个点(4 , 34 , 3), ,(4 , 4 , 2 2), ,(3 , 33 , 3)()(3 , 23 , 2),前三个都),前三个都不是可行解,第四个虽然是可行解,不是可行解,第四个虽然是可行解,但但 z=13 z=13 不是最优。实际问题的最优不是最优。实际问题的最优解为(
4、解为(4 , 14 , 1)这时)这时 z z* *= 14= 14。逻辑逻辑(0-10-1)变量在建立数学模型中的作用变量在建立数学模型中的作用1. 1. m m 个约束条件中只有个约束条件中只有 k k 个起作用个起作用设设 m 个约束条件可以表示为:个约束条件可以表示为:), 1( 1mibxainjjij定义逻辑变量定义逻辑变量个约束条件起作用,假定第个约束条件不起作用,假定第 0 1iiyi又设又设 M M 为任意大的正数,则约束条件可以改写为:为任意大的正数,则约束条件可以改写为:kmyyyMybxamiinjjij211定义逻辑变量:定义逻辑变量:,其它,假定约束右端项为01ii
5、by此时约束条件可以改写为:此时约束条件可以改写为:12111rriiinjjijyyyybxa 2. 约束条件的右端项可能是约束条件的右端项可能是 r 个值中的某一个个值中的某一个rnjjijbbbxa或或或211即即 3. 3. 两组条件满足其中一组两组条件满足其中一组 若若 x x1 144,则,则 x x2 211(第一组条件第一组条件);否则当);否则当 x x1 1 4 4 时,时,x x2 233(第二组条件第二组条件). . 定义逻辑变量:定义逻辑变量:)(组条件起作用,第组条件不起作用,第2 , 1 0 1iiiyi又设又设 M 为任意大正数,则问题可表达为:为任意大正数,则
6、问题可表达为:112112221241431xy Mxy Mxy Mxy Myy 需注意,当约束需注意,当约束为大于时,右端为大于时,右端项中用减号。项中用减号。 4. 4. 用以表示含固定费用的函数用以表示含固定费用的函数 用用 x xj j 代表产品代表产品 j j 的生产数量,其生产费用函的生产数量,其生产费用函数表示为数表示为)0( 0)0( )(jjjjjjjxxxcKxC其中其中 K Kj j 是同产量无关的生产准备费用,问题的目标是是同产量无关的生产准备费用,问题的目标是使所有产品的总生产费用为最小,即使所有产品的总生产费用为最小,即1min()njjjzCx定义逻辑变量(表示是
7、否生产产品定义逻辑变量(表示是否生产产品 j )0001jjjxxy,又设又设 M 为任意大正数,为了表示上述定义,引入约束:为任意大正数,为了表示上述定义,引入约束:jjMyx 显然,当显然,当 x xj j 0 0 时,时,y yj j= =1 1。将目标函数与约束条件合起来考虑有:将目标函数与约束条件合起来考虑有:1 00min1或jjjnjjjjjyMyxyKxcz由此看出,当由此看出,当 x xj j = = 0 0 时,为使时,为使 z z 极小化,应有极小化,应有 y yj j = 0= 02 2分配问题与匈牙利法分配问题与匈牙利法 一、问题的提出与数学模型 分配问题分配问题也称
8、也称指派问题指派问题(assignment assignment problemproblem),是一种特殊的整数规划问题。假定有),是一种特殊的整数规划问题。假定有 m m 项任项任务分配给务分配给 m m 个人去完成,并指定每人完成其中一项,每个人去完成,并指定每人完成其中一项,每项只交给其中一个人去完成,应如何分配使总的效率为最项只交给其中一个人去完成,应如何分配使总的效率为最高。高。 如果完成任务的效率表现为资源消耗,考虑的是如果完成任务的效率表现为资源消耗,考虑的是如何分配任务使得目标极小化;如果完成任务的效率表现如何分配任务使得目标极小化;如果完成任务的效率表现为生产效率的高低,则
9、考虑的是如何分配使得目标函数极为生产效率的高低,则考虑的是如何分配使得目标函数极大化。大化。 在分配问题中,利用不同资源完成不同计划活动在分配问题中,利用不同资源完成不同计划活动的效率通常用表格形式表示为效率表,表格中数字组成的效率通常用表格形式表示为效率表,表格中数字组成效率矩阵效率矩阵。 例例2 2. . 有一份说明书,要分别翻译成英、日、德、有一份说明书,要分别翻译成英、日、德、俄四种文字,交甲、乙、丙、丁四个人去完成。因各人专俄四种文字,交甲、乙、丙、丁四个人去完成。因各人专长不同,使这四个人分别完成四项任务总的时间为最小。长不同,使这四个人分别完成四项任务总的时间为最小。效率表如下:
10、效率表如下:效率矩阵用效率矩阵用aij 表示,为表示,为9131541116141381441579102ija定义逻辑变量定义逻辑变量 );(项任务个人去完成第,不分配第项任务个人去完成第,分配第mjmijijixij, 1, 1 0 1则分配问题的数学模型写为:则分配问题的数学模型写为:), 1;, 1( 1 0), 1( 1), 1( 1min1111mjmixmjxmixxazijmiijmjijmimjijij或二、匈牙利法 用表上作业法来求解分配问题时,单位运价表即用表上作业法来求解分配问题时,单位运价表即效率表,产销平衡表中产量和销量都设为效率表,产销平衡表中产量和销量都设为 1
11、 1 即可。即可。 匈牙利数学家克尼格(匈牙利数学家克尼格( Konig Konig )求解分配问题)求解分配问题的计算方法被成为的计算方法被成为匈牙利法匈牙利法,他证明了如下两个定理:,他证明了如下两个定理: 定理定理1 1 如果从分配问题效率矩阵如果从分配问题效率矩阵 a aijij 的每一的每一行元素中分别减去(或加上)一个常数行元素中分别减去(或加上)一个常数 u ui i ( (被称为该行被称为该行的位势的位势) ),从每一列分别减去(或加上)一个常数,从每一列分别减去(或加上)一个常数 v vj j(被(被称为该列的位势),得到一个新的效率矩阵称为该列的位势),得到一个新的效率矩阵
12、 b bijij ,若其,若其中中 b bij ij = = a aijij- -u ui i- -v vj j,则,则 b bijij 的最优解等价于的最优解等价于 a aijij 的的最优解。最优解。 定理定理2 2 若矩阵若矩阵 A A 的元素可分成的元素可分成“ “ 0 ”0 ”与非与非“ “ 0 ”0 ”两部分,则覆盖两部分,则覆盖“ “ 0 ”0 ”元素的最少直线数等于位元素的最少直线数等于位于不同行不同列的于不同行不同列的“ “ 0 ”0 ”元素的最大个数。元素的最大个数。 结合例结合例2 2 说明说明匈牙利法的计算步骤匈牙利法的计算步骤 第一步:找出效率矩阵每行的最小元素,并第
13、一步:找出效率矩阵每行的最小元素,并分别从每行中减去。分别从每行中减去。5911005324100115780411429131541116141381441579102min 第二步:找出矩阵每列的最小元素,分别从各列第二步:找出矩阵每列的最小元素,分别从各列中减去。中减去。0 5 0 0 min5411000324501152805911005324100115780 第三步:经过上述两步变换后,矩阵的每行每列第三步:经过上述两步变换后,矩阵的每行每列至少都有了一个零元素。下面确定能否找出至少都有了一个零元素。下面确定能否找出 m m 个位于不个位于不同行不同列的零元素的集合(该例中同行不
14、同列的零元素的集合(该例中 m m=4=4),也就是看要),也就是看要覆盖上面矩阵中的所有零元素,至少需要多少条直线。覆盖上面矩阵中的所有零元素,至少需要多少条直线。 1. 1. 从第一行开始,若该行只有一个零元素,就从第一行开始,若该行只有一个零元素,就对这个零元素打上(对这个零元素打上( ),对打括号的零元素所在的列画),对打括号的零元素所在的列画一条线,若该行没有零元素或者有两个以上零元素(已划一条线,若该行没有零元素或者有两个以上零元素(已划去的不算在内),则转下一行,依次进行到最后一行。去的不算在内),则转下一行,依次进行到最后一行。 2. 2. 从第一列开始,若该列只有一个零元素,
15、就从第一列开始,若该列只有一个零元素,就对这个零元素打上(对这个零元素打上( )(同样不考虑已划去的零元素),)(同样不考虑已划去的零元素),再对打括号的零元素所在行画一条直线。若该列没有零元再对打括号的零元素所在行画一条直线。若该列没有零元素或有两个以上零元素,则转下一列,依次进行到最后一素或有两个以上零元素,则转下一列,依次进行到最后一列为止。列为止。 3. 3. 重复上述步骤重复上述步骤 1 1、2 2,可能出现三种情况:,可能出现三种情况: 效率矩阵每行都有打括号的零元素,只要对应效率矩阵每行都有打括号的零元素,只要对应这些元素令这些元素令 x xijij= 1 = 1 就找到了最优解
16、。就找到了最优解。 打括号的零元素个数少于打括号的零元素个数少于 m m ,但未被划去的,但未被划去的零元素之间存在闭回路,这时顺着闭回路的走向,对每个零元素之间存在闭回路,这时顺着闭回路的走向,对每个间隔的零元素打一个括号,然后对所有打括号的零元素所间隔的零元素打一个括号,然后对所有打括号的零元素所在行(或列)画一条直线,同样得到最优解。在行(或列)画一条直线,同样得到最优解。 矩阵中所有零元素或被划去,或打上括号,但矩阵中所有零元素或被划去,或打上括号,但打括号的零元素少于打括号的零元素少于 m m ,这时转入第四步。,这时转入第四步。 第四步:按定理第四步:按定理 1 1 进行如下变换进
展开阅读全文