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