整数规划与分配问题汇总课件.ppt
《整数规划与分配问题汇总课件.ppt》由会员分享,可在线阅读,更多相关《整数规划与分配问题汇总课件.ppt(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023/2/81运筹学运筹学OPERATIONS RESEARCH2023/2/82第四章第四章 整数规划与分配问题整数规划与分配问题(Integer Programming,IP)n整数规划的有关概念及特点整数规划的有关概念及特点n指派问题及匈牙利解法指派问题及匈牙利解法n整数规划的求解方法:分枝定界法、割平面法整数规划的求解方法:分枝定界法、割平面法n0-1规划的求解方法:隐枚举法规划的求解方法:隐枚举法n整数规划的应用整数规划的应用2023/2/83纯整数规划:纯整数规划:在整数规划中,如果所有的变量都为非负整在整数规划中,如果所有的变量都为非负整 数,则称为数,则称为纯整数规划问题纯
2、整数规划问题;混合整数规划:混合整数规划:如果有一部分变量为非负整数,则称之为如果有一部分变量为非负整数,则称之为 混合整数规划问题混合整数规划问题。0-10-1变量:变量:在整数规划中,如果变量的取值只限于在整数规划中,如果变量的取值只限于0 0和和1 1,这,这 样的变量我们称之为样的变量我们称之为0-10-1变量变量。0-10-1规划:规划:在整数规划问题中,如果所有的变量都为在整数规划问题中,如果所有的变量都为0-10-1变变 量,则称之为量,则称之为0-10-1规划规划。1 1 整数规划的有关概念及特点整数规划的有关概念及特点一、一、概念概念整数规划:整数规划:要求决策变量取整数值的
3、规划问题。要求决策变量取整数值的规划问题。(线性整数规划、非线性整数规划等)(线性整数规划、非线性整数规划等)松弛问松弛问松弛问松弛问题题题题整数线性规划模型整数线性规划模型整数线性规划类型整数线性规划类型1.纯纯纯纯整数线性规划整数线性规划整数线性规划整数线性规划:2.混合混合混合混合整数线性规划整数线性规划整数线性规划整数线性规划:3.0 01 1型型型型整数线性规划整数线性规划整数线性规划整数线性规划:人员安排问题人员安排问题人员安排问题人员安排问题投资组合问题投资组合问题投资组合问题投资组合问题物资运输问题物资运输问题物资运输问题物资运输问题人员安排问题人员安排问题n n医院护士医院护
4、士2424小时值班,每次值班小时值班,每次值班8 8小时。不同小时。不同时段需要的护士人数不等。据统计:时段需要的护士人数不等。据统计:序号时段最少人数安排人数1061060 x12101470 x23141860 x34182250 x45220220 x56020630 x6最少需要多少护士?最少需要多少护士?minminz=xz=x1 1+x+x2 2+x+x3 3+x+x4 4+x+x5 5+x+x6 6 x x1 1+x+x2 2 70 70 x x2 2+x+x3 3 60 60 x x3 3+x+x4 4 50 50 x x4 4+x+x5 5 20 20 x x5 5+x+x6
5、 6 30 30 x x6 6x x1 16060 x xj j 0,j=1,2,6 0,j=1,2,6设设x1,x2,x6为各班为各班新新上班上班人数人数人员安排问题人员安排问题n证券投资证券投资:把一定的资金投入到合适的有:把一定的资金投入到合适的有价证券上以规避风险并获得最大的利润。价证券上以规避风险并获得最大的利润。n项目投资项目投资:财团或银行把资金投入到若干:财团或银行把资金投入到若干项目中以获得中长期的收益最大项目中以获得中长期的收益最大。投资组合问题投资组合问题 现有资金现有资金总额为总额为B B。可供选择的投资项目有。可供选择的投资项目有n n个,项目个,项目j j所需所需投
6、资额投资额和和预期收益分别为预期收益分别为a aj j和和c cj j(j=1,2,.,nj=1,2,.,n)。)。此外,此外,由于种种原因,有三个附加条件:由于种种原因,有三个附加条件:第一第一,若选择项目,若选择项目1 1,就,就必须同时必须同时选择项目选择项目2 2。反之,则不。反之,则不一定;一定;第二第二,项目,项目3 3和和4 4中中至少至少选择一个;选择一个;第三第三,项目,项目5 5,6 6和和7 7中中恰好恰好选择两个。选择两个。应当怎样选择投资项目,才能使总预期收益最大?应当怎样选择投资项目,才能使总预期收益最大?模模 型型n变量变量每个项目是否投资每个项目是否投资n约束约
7、束总金额总金额不超过限制不超过限制3 3个附加条件个附加条件n目标目标总收益最大总收益最大模模 型型物资运输问题物资运输问题工厂工厂A A1 1和和A A2 2生产某种物资。生产某种物资。由于该种物资供不应求,故需要再建一家工厂。由于该种物资供不应求,故需要再建一家工厂。相应的建厂方案有相应的建厂方案有A A3 3和和A A4 4两个。两个。这种物资的需求地有这种物资的需求地有B B1 1,B B2 2,B B3 3,B B4 4四个。四个。各工厂年生产能力、各地年需求量、各厂至各需求地的单位物资运费各工厂年生产能力、各地年需求量、各厂至各需求地的单位物资运费c cijij(i,ji,j=1,
8、2,3,4=1,2,3,4).).B B1 1B B2 2B B3 3B B4 4生产能力生产能力生产能力生产能力A A1 12 29 93 34 4400400A A2 28 83 35 57 7600600A A3 37 76 61 12 2200200A A4 44 45 52 25 5200200需求量需求量需求量需求量35035040040030030015015012001200工厂工厂A A3 3或或A A4 4开工后,每年的生产费用估计分别为开工后,每年的生产费用估计分别为12001200万元或万元或15001500万元。现要万元。现要决定应该建设工厂决定应该建设工厂A A3
9、3还是还是A A4 4,才能使今后每年的,才能使今后每年的总费用最少总费用最少?再引入一个再引入一个0-1变量变量yn特征特征变变量量整数整数性要求性要求n来源来源 问题本身的要求问题本身的要求 引入的引入的逻辑变量逻辑变量的需要的需要n性质性质可可行域是行域是离散离散集合集合模型的特点模型的特点与线性规划的关系与线性规划的关系整数规划整数规划放松的线性规划放松的线性规划可行解可行解是松弛问题的是松弛问题的可行解可行解最优值最优值不会优于不会优于其松弛问题的最优值其松弛问题的最优值注注 释释n最优解最优解不一定在顶点不一定在顶点上达到上达到n最优解最优解不一定是不一定是松弛问题最优解的松弛问题
10、最优解的邻近整数邻近整数解解n整数可行解整数可行解远多于远多于顶点,枚举法不可取顶点,枚举法不可取2023/2/818求整数解的线性规划问题,不是用求整数解的线性规划问题,不是用四舍五入四舍五入法或法或去尾法去尾法对对性规划的非整数解加以处理就能解决的,用性规划的非整数解加以处理就能解决的,用枚举法枚举法又往往又往往会计算量太大,所以要用整数规划的特定方法加以解决。会计算量太大,所以要用整数规划的特定方法加以解决。例:例:求解下列整数规划:求解下列整数规划:二、二、整数规划的求解特点整数规划的求解特点2023/2/819分析:分析:若当作一般线性规划求解,若当作一般线性规划求解,图解法的结果如
11、下。图解法的结果如下。1、非整数规划、非整数规划最优解最优解 显然不是整数规划的可行解。显然不是整数规划的可行解。2、四舍五入后的结果四舍五入后的结果 也也不是整数规划的可行解。不是整数规划的可行解。3、可行解是阴影区可行解是阴影区域交叉点,可比较这域交叉点,可比较这些点对应的函数值,些点对应的函数值,找出最优。找出最优。2023/2/8202 2 指派问题及匈牙利解法指派问题及匈牙利解法 一、一、指派问题与模型指派问题与模型 m m项任务分配给项任务分配给m m个人去完成,每人只能完成其中一项,个人去完成,每人只能完成其中一项,每项任务只能分给一人完成,应如何分配使得效率最高每项任务只能分给
12、一人完成,应如何分配使得效率最高?a aijij是第是第j j个人完成第个人完成第i i项任务的效率。项任务的效率。人任务12 m1a11a12a1m2a21a22a2mmam1am2amm2023/2/821设设于是建立模型如下:于是建立模型如下:2023/2/822二、二、指派问题的指派问题的匈牙利解法匈牙利解法该指派问题可当作运输问题解决,但匈牙利解法更有效。该指派问题可当作运输问题解决,但匈牙利解法更有效。解法思想:解法思想:效率矩阵的元素效率矩阵的元素 ,若有一组位于不同,若有一组位于不同行不同列的零元素,则令这些位置的决策变量取值为行不同列的零元素,则令这些位置的决策变量取值为1
13、1,其,其余均为余均为0 0,这显然就是最优解。,这显然就是最优解。2023/2/823定理定理2 2:若矩阵若矩阵A A的元素可分为的元素可分为“0 0”元和元和“非非0 0”元,则覆元,则覆盖盖“0 0”元的最少直线数等于位于不同行、不同列的元的最少直线数等于位于不同行、不同列的“0 0”元的最大个数。元的最大个数。定理定理1 1:效率矩阵效率矩阵 的每一行元素分别减去(加上)一个的每一行元素分别减去(加上)一个常数常数 ,每一列元素分别减去(加上)一个元素,每一列元素分别减去(加上)一个元素 ,得,得新效率矩阵新效率矩阵 ,则,则 的最优解等的最优解等价于价于 的最优解。的最优解。202
14、3/2/824例:例:有一份说明书,要分别译成英、日、德、俄四种语言,有一份说明书,要分别译成英、日、德、俄四种语言,交给甲、乙、丙、丁四人去完成,各人的效率不同,如何交给甲、乙、丙、丁四人去完成,各人的效率不同,如何分配任务,可使总效率最高。分配任务,可使总效率最高。人任务甲乙丙丁英文21097日文154148德文13141611俄文4151392023/2/825匈牙利解法匈牙利解法步骤步骤:1 1、在效率矩阵每行减去该行最小元素;在效率矩阵每行减去该行最小元素;2 2、在效率矩阵每列减去该列最小元素;在效率矩阵每列减去该列最小元素;2023/2/8263 3、寻找独立寻找独立“0 0”元
15、素元素(不同行不同列)不同行不同列)(1 1)从第一行开始,若该行只有一个)从第一行开始,若该行只有一个“0 0”元素,则对该元素,则对该“0 0”元素打括号(元素打括号()(表示这一行的人只有这一个任务可(表示这一行的人只有这一个任务可指派),指派),并划去该并划去该“0 0”元素所在的列元素所在的列(表示该项任务不能(表示该项任务不能再指派给别人)再指派给别人);若该行无;若该行无“0 0”元素或有两个以上的元素或有两个以上的“0 0”元素(不含划去的元素(不含划去的0 0),则转下一行;),则转下一行;(2 2)从第一列开始,若该列只有一个)从第一列开始,若该列只有一个“0 0”元素,则
16、对该元素,则对该“0 0”元素打括号(元素打括号(),并划去该),并划去该“0 0”元素所在的行;若元素所在的行;若该列无该列无“0 0”元素或有两个以上的元素或有两个以上的“0 0”元素(不含划去的元素(不含划去的0 0),则转下一列;),则转下一列;2023/2/827(0)82511(0)5423(0)001145完成上述步骤后可能出现下列情况:完成上述步骤后可能出现下列情况:)效率矩阵的每一行都有一个打括号的效率矩阵的每一行都有一个打括号的0 0元素,则按照打括元素,则按照打括号的号的0 0元素位置指派任务,即是最优解;元素位置指派任务,即是最优解;)打括号的打括号的0 0元素个数小于
17、元素个数小于m m,但未被划去的,但未被划去的0 0元素之间存元素之间存在闭回路,则沿此闭回路,每隔一个在闭回路,则沿此闭回路,每隔一个0 0元打一括号,然后对元打一括号,然后对打括号的打括号的0 0元素所在行或所在列画直线;元素所在行或所在列画直线;)矩阵中所有矩阵中所有0 0元素或被打括号,或被划去,但打括号的元素或被打括号,或被划去,但打括号的0 0元素个数元素个数 ,则进入下一步;,则进入下一步;2023/2/8283 3、设法使每一行都有一个打括号的设法使每一行都有一个打括号的“0 0”元素。按元素。按定理定理1 1继续继续对矩阵进行变换:对矩阵进行变换:)从矩阵未被直线覆盖的元素中
18、找出最小者)从矩阵未被直线覆盖的元素中找出最小者k k,)对矩阵中无直线覆盖的行,令)对矩阵中无直线覆盖的行,令 ,有直线覆盖的列,有直线覆盖的列,令令 。其余为。其余为0 0。)对矩阵的每个元素计算)对矩阵的每个元素计算 ,得到一个新矩阵,得到一个新矩阵,转第三步重复进行,直至每一行都有一打括号的转第三步重复进行,直至每一行都有一打括号的0 0元素。元素。2023/2/829(0)82511(0)5423(0)001145根据上图,根据上图,k=2k=2,最优解:最优解:2023/2/830思考:思考:1 1、任务数、任务数 人数人数 时如何处理时如何处理 2 2、指派问题中目标函数变为、指
19、派问题中目标函数变为MAXMAX时如何处理时如何处理 两点说明两点说明1.1.效率矩阵不是方阵的情况。(即人员与工作数不效率矩阵不是方阵的情况。(即人员与工作数不相等)相等)处理方法处理方法:增加虚拟人或工作,使两者相等。虚:增加虚拟人或工作,使两者相等。虚拟人或工作对应的效率矩阵中元素为拟人或工作对应的效率矩阵中元素为0 0。2.2.最大化分配问题的处理。最大化分配问题的处理。如果给出的效率矩阵中的数字表示每个人完成各项如果给出的效率矩阵中的数字表示每个人完成各项任务的收益,则问题变成了如何分配任务才能使总任务的收益,则问题变成了如何分配任务才能使总收益最大收益最大.处理方法处理方法:用效率
20、矩阵中的最大元减去矩阵中的各:用效率矩阵中的最大元减去矩阵中的各个元素得到一个新的矩阵,对这个新的矩阵用匈牙个元素得到一个新的矩阵,对这个新的矩阵用匈牙利方法求解。利方法求解。练习练习1.1.用匈牙利方法求解下列问题用匈牙利方法求解下列问题例例1:设设某某工工程程有有B1,B2,B3,B4 四四项项任任务务,需需由由四四个个工工人人A1,A2,A3,A4去去完完成成,由由于于任任务务性性质质和和每每个个工工人人的的技技术术水水平平不不相相同同,他他们们完完成成各各项项任任务务所所需需的的时时间间也也不不一一样样(见见下下表表)。问问应应当当如如何何分分配配,即即哪哪个个人人去去完完成成哪哪项任
21、务,才能使完成四项任务的总时间最少?项任务,才能使完成四项任务的总时间最少?任务任务人员人员B1B2B3B4A1215134A21041415A39141613A478119设设效率矩阵:效率矩阵:效率矩阵效率矩阵第一步:初始变换第一步:初始变换2151341041415914161378119249701311260101105740142004201370606905320100得解矩阵得解矩阵找独立找独立0 0元素元素01370606905320100总时间为总时间为:4+4+9+11=28:4+4+9+11=28练习练习2 2:用匈牙利解法解下列分配问题:用匈牙利解法解下列分配问题效率
22、矩阵效率矩阵第一步:初始变换第一步:初始变换0000012797989666717121491514661041071091279798966671712149151466104107109767645020223000010572980040636550202230000105729800406365第二步:寻找独立第二步:寻找独立0 0元素元素最小元素为最小元素为 min10,5,7,2,6,3,6,5=2-2-2+270202430000835011800404143它有它有5 5个独立个独立0 0元,得到最优解相应的解矩阵为元,得到最优解相应的解矩阵为最优目标值:最优目标值:7+6+9
23、+6+4=32练习练习3:求解下列分配问题:求解下列分配问题效率矩阵效率矩阵10978587754652345工作工作人员人员ABCD甲甲10978乙乙5877丙丙5465丁丁2345 109785877546523457542320103221021012300013200032110200122-1-1+142000210202000114200021020200011第一组最优解第一组最优解第二组最优解第二组最优解2023/2/8423 3 分枝定界法分枝定界法 分枝定界法分枝定界法是求解整数规划的一种常用的有效的方法,它是求解整数规划的一种常用的有效的方法,它既能解决纯整数规划的问题,
24、又能解决混合整数规划的问既能解决纯整数规划的问题,又能解决混合整数规划的问题。题。大多数求解整数规划的商用软件就是基于分枝定界法编大多数求解整数规划的商用软件就是基于分枝定界法编制而成的。制而成的。下面举例来说明分枝定界法的思想和步骤。下面举例来说明分枝定界法的思想和步骤。2023/2/843性质性质 求求MAXMAX的问题的问题:整数规划的最优目标函数值整数规划的最优目标函数值小于或小于或等于等于相应的线性规划的最优目标函数值;相应的线性规划的最优目标函数值;求求MINMIN的问题:的问题:整数规划的最优目标函数值整数规划的最优目标函数值大于或大于或等于等于相应的线性规划的最优目标函数值。相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整数 规划 分配 问题 汇总 课件
限制150内