收藏 分享(赏)

第七章-整数规划z.ppt

上传人:无敌 文档编号:624640 上传时间:2018-04-15 格式:PPT 页数:56 大小:714KB
下载 相关 举报
第七章-整数规划z.ppt_第1页
第1页 / 共56页
第七章-整数规划z.ppt_第2页
第2页 / 共56页
第七章-整数规划z.ppt_第3页
第3页 / 共56页
第七章-整数规划z.ppt_第4页
第4页 / 共56页
第七章-整数规划z.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

1、整数规划(Integer Programming)主要是指整数线性规划。对于一个线性规划问题,如果要求部分或全部决策变量是整数,则构成一个整数规划问题。讨论整数规划对研究管理问题有重要意义, 比如项目投资问题、人员分配问题等都可以化为一个整数规划问题。整数规划是近二、三十年来发展起来的数学规划的一个重要分支,可分为: 纯整数规划(所有变量都限制为整数) 混合整数规划(一部分变量限制为整数) 01规划(所有变量都限制取0或1)。,第七章 整数规划,第七章 整数规划,整数规划问题的图解法整数规划模型举例分枝定界法全整数规划算法0-1规划算法关于特殊0-1规划算法指派问题及算法,第一节 整数规划问题

2、的图解法,例:某工厂有资金13万元用于购置新机器,可在两种机器中任意选购。已知机器A每台购置费2万元,B为4万元。该工厂维修能力只能维修7台机器B;若维修机器A,1台这算2台机器B。已知1台A可增加产值6万元,一台B可增加产值4万元,问应购置机器A和B各多少台,才能使年产值增加最多?,解:整数规划模型 max z=6x1+4x2 St. 2x1+4x2 13 2x1+x2 7 x1,x2 0,且为整数,第一节 整数规划问题的图解法,max z=6x1+4x2 St. 2x1+4x2 13 2x1+x2 7 x1,x2 0,且为整数,1 2 3 4 5 6 7 8,7654321,原线性规划问题

3、最优解为(2.5,2)整数线性规划最优解为(3,1),线性规划(LP)的任一整数可行解都是整数规划(IP)的一个可行解,并且(IP)的所有解(可行解)对应于(LP)的一个整数可行解。 进一步地,如果(LP)的最优解是一个整数解,那么,这个解也一定是(IP)问题的最优解。,当(LP)的最优解不是一个整数解时,一般不可以通过对非整数解“四舍五入”得出(IP)问题的最优解。,第二节 整数规划模型举例,一般整数规划问题,其建立数学模型的基本思路和技巧与建立线性规划模型无多大区别,只是对要求取整数解的变量增加一个整数约束条件。,整数规划模型举例,一、投资场所的选择 京成畜产品公司计划在市区的东、西、南、

4、北四区建立销售门市部,拟议中有10个位置 Aj (j1,2,3,10)可供选择,考虑到各地区居民的消费水平及居民居住密集度,规定: 在东区由A1 , A2 ,A3 三个点至多选择两个; 在西区由A4 , A5 两个点中至少选一个; 在南区由A6 , A7 两个点中至少选一个; 在北区由A8 , A9 , A10 三个点中至少选两个。 Aj 各点的设备投资及每年可获利润由于地点不同都是不一样的,预测情况见表所示 (单位:万元)。但投资总额不能超过720万元,问应选择哪几个销售点,可使年利润为最大?,解:设:0-1变量 xi = 1 (Ai 点被选用)或 0 (Ai 点没被选用)。 这样我们可建立

5、如下的数学模型:Max z =36x1+40x2+50x3+22x4+20x5+30x6+25x7+48x8+58x9+61x10s.t. 100x1+120x2+150x3+80x4+70x5+90x6+80x7+140x8+160x9+180x10 720 x1 + x2 + x3 2 x4 + x5 1 x6 + x7 1 x8 + x9 + x10 2 xj 0 且xj 为0-1变量,i = 1,2,3,10,整数规划模型举例,二、固定成本问题 高压容器公司制造小、中、大三种尺寸的金属容器,所用资源为金属板、劳动力和机器设备,制造一个容器所需的各种资源的数量如表所示。不考虑固定费用,每

6、种容器售出一只所得的利润分别为 4万元、5万元、6万元,可使用的金属板有500吨,劳动力有300人/月,机器有100台/月,此外不管每种容器制造的数量是多少,都要支付一笔固定的费用:小号是l00万元,中号为 150 万元,大号为200万元。现在要制定一个生产计划,使获得的利润为最大。,整数规划模型举例,解:设x1,x2, x3 分别为小号容器、中号容器和大号容器的生产数量。各种容器的固定费用只有在生产该种容器时才投入,为了说明固定费用的这种性质,设 yi = 1(当生产第 i种容器, 即 xi 0 时) = 0(当不生产第 i种容器即 xi = 0 时)。引入约束 xi M yi ,i =1,

7、2,3,M充分大,以保证当 yi = 0 时,xi= 0 。 这样我们可建立如下的数学模型:Max z = 4x1 + 5x2 + 6x3 - 100y1 - 150y2 - 200y3s.t. 2x1 + 4x2 + 8x3 500 2x1 + 3x2 + 4x3 300 x1 + 2x2 + 3x3 100 xi M yi ,i =1,2,3,M充分大,yi 为0-1变量,整数规划模型举例,三、指派问题 有 n 项不同的任务,恰好 n 个人可分别承担这些任务,但由于每人特长不同,完成各项任务的效率等情况也不同。现假设必须指派每个人去完成一项任务,怎样把 n 项任务指派给 n 个人,使得完成

8、 n 项任务的总的效率最高,这就是指派问题。 例6有四个工人,要分别指派他们完成四项不同的工作,每人做各项工作所消耗的时间如下表所示,问应如何指派工作,才能使总的消耗时间为最少。,整数规划模型举例,解:引入01变量 xij,并令 xij = 1(当指派第 i人去完成第j项工作时) =0(当不指派第 i人去完成第j项工作时)这可以表示为一个0-1整数规划问题:Minz=15x11+18x12+21x13+24x14+19x21+23x22+22x23+18x24+26x31+17x32+16x33+19x34+19x41 +21x42+23x43+17x44s.t. x11+ x12+ x13+

9、 x14= 1 (甲只能干一项工作) x21+ x22+ x23+ x24= 1 (乙只能干一项工作) x31+ x32+ x33+ x34= 1 (丙只能干一项工作) x41+ x42+ x43+ x44= 1 (丁只能干一项工作) x11+ x21+ x31+ x41= 1 ( A工作只能一人干) x12+ x22+ x32+ x42= 1 ( B工作只能一人干) x13+ x23+ x33+ x43= 1 ( C工作只能一人干) x14+ x24+ x34+ x44= 1 ( D工作只能一人干) xij 为0-1变量,i,j = 1,2,3,4,整数规划模型举例,四、分布系统设计 某企业

10、在 A1 地已有一个工厂,其产品的生产能力为 30 千箱,为了扩大生产,打算在 A2,A3,A4,A5地中再选择几个地方建厂。已知在 A2 , A3,A4,A5地建厂的固定成本分别为175千元、300千元、375千元、500千元,另外, A1产量及A2,A3,A4,A5建成厂的产量,那时销地的销量以及产地到销地的单位运价(每千箱运费)如下表所示。 问应该在哪几个地方建厂,在满足销量的前提下,使得其总的固定成本和总的运输费用之和最小?,整数规划模型举例,解: a) 设 xij为从Ai 运往Bj 的运输量(单位千箱), yk = 1(当Ak 被选中时)或0(当Ak 没被选中时),k =2,3,4,

11、5这可以表示为一个整数规划问题:Min z=175y2+300y3+375y4+500y5+8x11+4x12+3x13+5x21+2x22+3x23+4x31+3x32+4x33+9x41 +7x42+5x43+10x51 +4x52+2x53其中前4项为固定投资额,后面的项为运输费用。s.t. x11+ x12+ x13 30 ( A1 厂的产量限制) x21+ x22+ x23 10y2 ( A2 厂的产量限制) x31+ x32+ x33 20y3 ( A3 厂的产量限制) x41+ x42+ x43 30y4 ( A4 厂的产量限制) x51+ x52+ x53 40y5 ( A5

12、厂的产量限制) x11+ x21+ x31+ x41 + x51 = 30 ( B1 销地的限制) x12+ x22+ x32+ x42 + x52 = 20 ( B2 销地的限制) x13+ x23+ x33+ x43 + x53 = 20 ( B3 销地的限制) xij 0,i = 1,2,3,4,5; j = 1,2,3, yk 为0-1变量, k=2,3,4,5。,整数规划模型举例,第三节 分枝定界算法,分枝定界法是一种隐枚举法,是一种“巧妙”地枚举整数规划问题的可行解的思想来设计算法的,其关键步骤是分枝和定界。,分枝定界法可用于解纯整数或混合的整数规划问题。本世纪六十年代初由Land

13、 Doig 和Dakin等人提出。由于这种方法灵活且便于用计算机求解,所以现在它是解整数规划的主要方法。,分枝:,给定整数规划问题IP,去掉“X为整数向量”的约束,得到相应的线性规划问题P0,(1)相应子问题Pi的最优解是整数解,(2)相应子问题Pi无可行解,此时称点Pi为分枝数的树叶,定界:,注:一般是选择不符合整数要求的最小的变量进行分枝,例1. 用分枝定界法求解整数规划:,解.,不考虑整数约束,得问题(B),(B)的最优解为:,(B1)的最优解为:,(B11)的最优解为:,(B12)无最优解, 剪枝.,(B111)的最优解为:,(B112)无最优解, 剪枝.,(B2)的最优解为:,因此,

14、原整数规划的最优解为:,第五节 0-1规划算法,全枚举法是解0-1规划的一种算法,就是检查每个变量等于0或1的所有组合,满足所有约束条件并使目标函数最优的组合就是0-1规划的最优解。,如0-1变量有n个,需要检查2的n次方个组合,当n15时,这几乎是不可能的。因此有人提出一种隐枚举法,只要检查全部变量组合中的一部分组合就可求出最优解。,解如下0-1规划问题,Min z=8x1+2x2+4x3+7x4+5x5,用这种算法,0-1模型必须是如下标准型:1、目标函数求最小2、约束条件全部是 型3、变量在目标函数中的系数全为正值,Min z=8x1+2x2+4x3+7x4+5x5,X1=1,X1=0,

15、Z1=8可行,停,X2=1,X2=0,不可行子域,停,X3=1,X3=0,Z5=6可行,停,Z7=9停,不可行子域,停,X4=1,X4=0,第一步:令全部变量为自由变量,且取值为0,检验解是否可行,若可行,则达最优,否则转第二步。第二步:将某一自由变量转为固定变量,取值为1或0,问题分为两个子域。第三步:分别对两个子域的解依次进行如下3项检验:1定界,计算此解的目标函数值,如大于已求出的可行解的最小目标函数值,则停止分支,退出检验。2可行性检验,检验解是否可行,如可行,推出检验。3子域可行性检验,将子域固定变量的值代入不等式约束条件方程,并令不等式左端取最小值,若此最小值大于右端值,则为不可行

16、子域,不再分支。,第七节 指派问题及算法,匈牙利法是用来解决人员分配问题的一个解法。1955年,库恩(W.W.Kuhn)利用匈牙利数学家康尼格(D.Knig)的一个定理构造了这个解法,故称为匈牙利法。,人员分配问题,设某单位现有n个人员A1,A2An 来完成n项工作B1,B2,Bn。按工作要求,每个人员需干一项工作, 每项工作也需一人去完成。已知人员Ai做工作Bj的效率是cij。问应如何分配,才使总效率最好。,效率矩阵,称矩阵C为分配问题的效率矩阵:,令xij表示对人员Ai完成工作Bj的决策变量,xij =1 表示分配Ai干工作Bj,xij = 0 表示不分配Ai干工作Bj,决策变量矩阵,分配

17、问题的决策变量,可以写成一个矩阵形式,称为分配问题的决策变量矩阵。,按问题要求,建立该问题的数学模型为,可行解矩阵,可行解矩阵X中各行或各列的元素之和都是1;并且X中只有n 个元素是1,位于不同行和不同列中。位于不同行和不同列的元素,称之为线性独立的。,此模型也可以看成一个特殊的运输问题,如果用表上作业法得出的一个最优解又满足“x ij =0,1”的条件,这个解也是分配问题的最优解。用表上作业法求解的过程往往出现退化情况,并不简单。,注:人员分配问题有各种提法。如果完成任务的效率表现为资源的消耗,则所谓的效率最好是指消耗的资源最少,分配问题就是一个最小化问题;如果完成任务的效率表现为生产效率的

18、高底,则分配问题就是一个最大化问题。尽管如此,所有分配问题可以建立相同的数学模型。,例4:有一份资料,要分别译成四种文字,现有甲、乙、丙、丁四人可以承担这项工作。因为各人专长不同,他们翻译成不同文字所需要的时间用效率矩阵C表示。应如何分配工作,使他们完成任务的总时间最短?, ,效率矩阵的性质,如果效率矩阵C中所有元素cij=0,并且存在n个线性独立的0元素,即存在n个位于不同行不同列的零元素,则令对应于这些零元素位置的x ij =1, 其余的x ij = 0,所得的解矩阵X就是问题的最优解。,匈牙利法的基本思想,从给定分配问题的效率矩阵C出发,在C的一行(或一列)分别减去该行(或该列)的最小元

19、素,得出一个新的效率矩阵 C1,如果 C1 中存在 n 个独立的0元素,则得出问题的最优解;否则对C1 进行改进得又一新矩阵C2,使得 C2 中线性独立的0元素的个数大于C1中线性独立的0元素的个数,如此下去,直到能够确定最优解为止。,匈牙利法的计算步骤(以例4的求解过程来说明),效率矩阵变换方法为: 从效率矩阵 C 的每行元素中减去该行的最小元素,得矩阵 B ;从矩阵 B 中每列元素中减去该列的最小元素得矩阵 C1 。,step1 先对效率矩阵进行变换, 使其 各行各列中都出现 0 元素。,效率矩阵 C 的变换过程,min 0 0 5 0,min,矩阵 C1,min 0 0 5 0,Step

20、2:确定C1中线性独立的0元素。,从第一行开始,若该行只有一个0元素,就对这个0元素加圈,然后划去所在列的其它0元;若该行没有其它0元或有两个以上0元(已划去的不记),转下一行直到最后一行为止。,C1 的线性独立的 0 元素的确定过程,Step2,从第一列开始,若该列只有一个0元,就对这个0元加圈(同样不考虑已划的),再划去所在行的其它0元;若该列没有0元素或有两个以上0元素,则转下列直到最后一列为止重复上述步骤。,C1 的线性独立的 0 元素的确定过程,情况一,矩阵每行都有一个打圈的 0 元素。令打圈的 0 元素对应的xij=1,此时得到问题的最优解。,上述步骤可能出现三种情况。,情况二,有

21、多于两行或两列存在两个以上的 0 元素,即出现 0 元素的闭回路。此时,可从中任选一个 0元素加圈,划掉其同行同列的 0 元素,再重复上述两个步骤。,情况三,矩阵中所有 0 元素或被加圈,或被划去,而已加圈的 0 元素m小于矩阵的行数n。即矩阵中至少存在有一行不含加圈的 0 元素。,如例4中 C1 的线性独立的 0 元素确定过程为:,转 step 3,Step 3 对C1加标记,对C1没有加圈0元的行打号;对已打号的行中未加圈0元的列打号;对已打号的列中加圈0元的行打号;重复下去,直到找不出打号的行、列为止;,续Step3 寻找C1中能覆盖所有0元素的最小直线数,对没打号的行划一横线,对打号的列划一纵线,这就是覆盖矩阵C1中所有0元素的最小直线数。转Step4。,Step4 改进C1,寻找 C1 没有被直线覆盖的所有元素中的最小元素;在已打号的行中减去;在已打号的列中加上;得到一个新矩阵 C2,,用 C2 代替 C1,返回步骤 2。,未被直线覆盖的最小元素是;按 规定得到的新矩阵 C2 为:,C2 的线性独立的元素,例的最优分配方案,最优分配方案,甲译成文字,乙译成文字,丙译成文字,丁译成文字。所需总时间为 min z = 28小时, ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 解决方案

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报