大学精品课件:第六章 整数规划(5节).ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《大学精品课件:第六章 整数规划(5节).ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学精品课件:第六章 整数规划5节 大学 精品 课件 第六 整数 规划
- 资源描述:
-
1、第第1页页指派问题的标准形式:指派问题的标准形式:有有 n 个人和个人和 n 件事情,已知第件事情,已知第 i 人做第人做第 j 件事情的件事情的费用为费用为 cij(i,j=1,2,n),要求确定人和事之间的),要求确定人和事之间的 第第2页页一一对应的指派方案,使完成这一一对应的指派方案,使完成这 n 件事情的总费用件事情的总费用最少。最少。这类问题称为指派问题或分派问题(这类问题称为指派问题或分派问题(assignment problem)。)。第第3页页引入引入 n 2 个个 0 1 变量:变量:)(事事人人做做第第,不不指指派派第第事事人人做做第第指指派派第第njijijixij,.
2、,2,1,0 ,1 cij 第表示第第表示第 i 人做第人做第 j 件事情的费用;件事情的费用;第第4页页建立问题的数学模型:建立问题的数学模型:)(,或或)(,)(,3 ,.,2,1,102 ,.,2,111 ,.,2,11min1111njixnixnjxxczijnjijniijninjijij约束(约束(1):每件事情必须有且只能有一个人去做;):每件事情必须有且只能有一个人去做;约束(约束(2):每个人必须且只能去做一件事情。):每个人必须且只能去做一件事情。第第5页页1.系数矩阵系数矩阵 一般称矩阵一般称矩阵 nnnnnnnnccccccccccC.)(212222111211为指
3、派问题的系数矩阵(为指派问题的系数矩阵(coefficient matrix)。)。第第6页页第第 i 行中各元素表示第行中各元素表示第 i 人做各事的费用;人做各事的费用;第第 j 列各元素表示第列各元素表示第 j 事由各人做的费用。事由各人做的费用。2.解矩阵解矩阵 对于问题的每一个可行解,可用解矩阵的形式表示:对于问题的每一个可行解,可用解矩阵的形式表示:nnnnnnnnxxxxxxxxxxX.)(212222111211第第7页页解矩阵的特点:解矩阵的特点:每行各元素都有且只有一个每行各元素都有且只有一个1;每列各元素都有且只有一个每列各元素都有且只有一个1。指派问题共有(指派问题共有
4、(n!)个可行解。)个可行解。第第8页页标准指派问题是一类标准指派问题是一类整数规划问题整数规划问题,又是一个特殊,又是一个特殊的的 0 1 规划问题规划问题,同时又是一个特殊的,同时又是一个特殊的运输问题运输问题。可用整数规划的分支定界法、割平面法;可用整数规划的分支定界法、割平面法;0-1规划的规划的隐枚举法;运输问题解法来求解,但效率低下,没隐枚举法;运输问题解法来求解,但效率低下,没有充分利用指派问题自身的特点。有充分利用指派问题自身的特点。第第9页页1955年,库恩(年,库恩(W.W.Kuhn)引用了匈牙利数学家)引用了匈牙利数学家康尼格(康尼格(D.Knig)的关于矩阵中)的关于矩
5、阵中 0 元素的定理元素的定理(定理:系数矩阵中独立(定理:系数矩阵中独立 0 元素的最多个数等于能元素的最多个数等于能覆盖所有覆盖所有 0 元素的最少直线数),提出了指派问题元素的最少直线数),提出了指派问题的一种算法,习惯上称之为匈牙利法。的一种算法,习惯上称之为匈牙利法。第第10页页1.指派问题最优解的特性指派问题最优解的特性 指派问题最优解的特性:从指派问题的系数矩阵指派问题最优解的特性:从指派问题的系数矩阵 C=(cij)nn 的某行(某列)中的各元素分别减去该的某行(某列)中的各元素分别减去该行(该 列)的 最 小 元 素,得 到 新 的 系 数 矩行(该 列)的 最 小 元 素,
6、得 到 新 的 系 数 矩阵阵 ,那么以,那么以 C 和和 为系数矩阵为系数矩阵的两个指派问题有相同的最优解。的两个指派问题有相同的最优解。nnijcC )(C 第第11页页证明:由于系数矩阵的这种变化并不影响数学模型证明:由于系数矩阵的这种变化并不影响数学模型的约束方程组,而只是使目标函数值减少了常数的约束方程组,而只是使目标函数值减少了常数 k,所以最优解并不发生改变。所以最优解并不发生改变。njixnixnjxxczijnjijniijninjijij,.,2,1,10,.,2,11,.,2,11min1111,或或,njixnixnjxxczijnjijniijninjijij,.,2
7、,1,10,.,2,11,.,2,11min1111,或或,第第12页页2.匈牙利法的思路匈牙利法的思路思路:思路:利用指派问题最优解的特性,使原系数矩阵利用指派问题最优解的特性,使原系数矩阵C=(cij)nn 变换成含有很多变换成含有很多 0 元素的新系数矩元素的新系数矩阵阵 ,而最优解保持不变。,而最优解保持不变。nnijcC )(第第13页页如果能在新系数矩阵中找到如果能在新系数矩阵中找到 n 个位于不同行不同列个位于不同行不同列的的 0 元素,并令其对应的变量元素,并令其对应的变量 xij=1,其余变量取值,其余变量取值为为 0,将这样的一组解,将这样的一组解 X 代入目标函数中可得代
8、入目标函数中可得 z=0,它一定是使问题目标函数值最小的解,即指派问题它一定是使问题目标函数值最小的解,即指派问题的最优解。的最优解。独立独立 0 元素:位于不同行不同列的元素:位于不同行不同列的 0 元素。元素。第第14页页3.匈牙利法的步骤匈牙利法的步骤 第一步:变换系数矩阵第一步:变换系数矩阵 C,使其各行各列中都出现,使其各行各列中都出现0:(1)对系数矩阵)对系数矩阵 C 的每行元素分别减去该行的最的每行元素分别减去该行的最小元素;小元素;(2)对系数矩阵)对系数矩阵 C 的每列元素分别减去该列的最的每列元素分别减去该列的最小元素;小元素;第第15页页例:例:911871316149
9、1514410413152)(44ijcC 24104750111006211130 00102350960607130每行减去每行减去最小元素最小元素每列减去每列减去最小元素最小元素第第16页页第二步:确定独立第二步:确定独立 0 元素元素(1)选择只有一个)选择只有一个 0 元素的元素的行行,给这个,给这个 0 元素加元素加圈,记作圈,记作 0;然后划去;然后划去 0 所在所在列列的其他的其他 0 元素,记元素,记作作 0。(2)选择只有一个)选择只有一个 0 元素的元素的列列,给这个,给这个 0 元素加元素加圈,记作圈,记作 0;然后划去;然后划去 0 所在所在行行的其他的其他 0 元素
10、,记元素,记作作 0。第第17页页(3)反复进行()反复进行(1)和()和(2),直到所有),直到所有 0 元素都元素都被圈出和划掉为止。被圈出和划掉为止。(4)在()在(1)和()和(2)过程中,如不存在只有一个)过程中,如不存在只有一个 0元素的行和列,从元素的行和列,从 0 元素最少的行(列)开始,选元素最少的行(列)开始,选择择 0 元素最少的那列(行)的这个元素最少的那列(行)的这个 0 元素加圈,然元素加圈,然后划掉同行同列的其他后划掉同行同列的其他 0元素。此时问题有多重最元素。此时问题有多重最优解。优解。第第18页页(5)若)若 0 元素数目等于系数矩阵的阶数,那么得元素数目等
11、于系数矩阵的阶数,那么得出问题的最优解;否则转入步骤三。出问题的最优解;否则转入步骤三。第第19页页 00100052000607130例:例:每行和每列中每行和每列中 0 元素数量都不只一个,说明问元素数量都不只一个,说明问题有多个最优解。题有多个最优解。第第20页页 001000520006071300 元素数目为元素数目为4,等于系数矩阵阶数,等于系数矩阵阶数4,故得出问题,故得出问题最优解。问题有多个最优解。最优解。问题有多个最优解。第第21页页第三步:确定覆盖所有第三步:确定覆盖所有 0 元素的最少直线元素的最少直线(1)对没有)对没有 0 的行打的行打“”;(2)在已打)在已打“”
12、的行中,对的行中,对 0 所在的列打所在的列打“”;(3)在已打)在已打“”的列中,对的列中,对 0 所在的行打所在的行打“”;(4)重复()重复(2)和()和(3),直到再也找不到可以打),直到再也找不到可以打“”的行或列为止;的行或列为止;(5)对没有打)对没有打“”的行画一横线,对打的行画一横线,对打“”的的列画一垂线,从而得到覆盖所有列画一垂线,从而得到覆盖所有 0 元素的最少直线。元素的最少直线。第第22页页例:例:9107104106614159141217766698979712)(55ijcC解:第一步:解:第一步:9107104106614159141217766698979
展开阅读全文