运筹学第五章整数规划.ppt_第1页
运筹学第五章整数规划.ppt_第2页
运筹学第五章整数规划.ppt_第3页
运筹学第五章整数规划.ppt_第4页
运筹学第五章整数规划.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章 整数规划,5.1 整数规划实例及一般模型 5.2 分支定界法 5.3 0-1整数规划 5.4 指派问题,5.1.1 整数规划实例,例5.1某公司拟用集装箱托运甲、乙两种货物,这两种货物每件的体积、重量、可获利润以及托运所受限制如下表所示。,甲种货物至多托运4件,问两种货物各托运多少件,可使获得利润最大?,解 设x1、x2分别为甲、乙两种货物托运的件数,建立模型,3,整数规划问题的松弛问题,xj部分或全部取整数,5.1.2 整数规划的一般模型,整数规划的类型,纯整数规划:xj全部是整数 混合整数规划: xj部分是整数 0-1型整数规划:xj = 0或1,xj部分或全部取整数,整数规划问题的可行解集合是它的松弛问题可行解集合的一个子集; 整数规划问题的最优解的目标函数值不会优于松弛问题的最优解的目标函数值.,松弛问题最优解,整数规划最优解,例,不能通过舍入取整地方法,由松弛问题的解得到整数规划的最优解,5.3 0-1整数规划的建模方法,0-1变量(逻辑变量 Logical variable) :只能取值0或1的变量。0-1变量也称为逻辑变量。它常用来表示决策时是否取某个特定方案,或者表示系统是否处于某个特定状态,或者表示两个选项中非此即彼的选择。,例5.5 广州某食品公司计划在市区的东、西、南、北四区建立销售门市部,目前有10个位置可供选择,考虑到各地区居民的消费水平及居民居住密集程度,规定: 在东区由三个点中最多选择两个; 在西区由两个点中至少选择一个; 在南区由两个点中至少选择一个; 在北区由三个点中至少选择两个。,投资总额不能超过720万元,问应该选择哪几个销售点,可使年利润为最大?,1、0-1型变量表示决策时是否取某个特定方案,s.t.,在东区由三个点中最多选择两个,在西区由两个点中至少选择一个,在南区由两个点中至少选择一个,在北区由三个点中至少选择两个,2、0-1型变量常用来表示是否处于某个特定状态,例5.6 有三种资源被用于生产三种产品,资源量、产品单件可变费用及售价、资源单耗量及组织三种产品生产的固定费用见下表。要求制定一个生产计划,使总收益最大。,产品1,产品2,产品3,a11,机床1,a13,机床3,a14,机床4,a21,机床1,a22,机床2,a24,机床4,a32,机床2,a33,机床3,1 同一件产品在不同机床上的加工顺序,同一件产品在下一台机床上加工的开始时间不得早于在上一台机床上加工的结束时间,xij表示第i种产品在第j台机床上加工的开始时间。,产品1:x11+a11x13 及 x13+a13x14,产品2:x21+a21x22 及 x22+a22x24,产品3:x32+a32x33,例5.7 用4台机床加工3件产品。各产品的机床加工顺序,以及产品在机床上的加工工时见下表,且要求工件二的总工时不超过d。现要求确定各件产品在机床上的加工方案,使在最短的时间内加工完全部产品.,0-1型变量常用来表示两个选项中非此即彼的选择,2 每台机床对不同产品的加工顺序约束,一台机床在工作中,若已开始的加工还未结束,则不能开始加工另一产品。,注意到每台机床可以加工两种产品。因此可以用0-1变量yi表示第i台机床加工产品的顺序。具体表示,机床1 x11+a11x21+My1 及 x21+a21 x11+M(1-y1),机床2 x22+a22x32+My2 及 x32+a32 x22+M(1-y2),机床3 x13+a13x33+My3 及 x33+a33 x13+M(1-y3),机床4 x14+a14x24+My4 及 x24+a24 x14+M(1-y4),互斥的 约束条件,3 产品2的加工总时间约束,产品2加工开始的时间是x21,结束加工的时间是x24+a24,于是,x24+a24 x21d,4 目标函数的建立,设全部产品加工结束时间为W。,由于三件产品的加工结束时间分别为x14+a14, x24+a24, x33+a33 故,W=max(x14+a14, x24+a24, x33+a33 ),根据问题的要求,目标函数为,min z=W,满足,W x14+a14,W x24+a24,W x33+a33,从而最后得到p140的混合整数线性规划模型,例5.3 某企业在A1地已有一个工厂,其产品的生产能力为30千箱,为了扩大生产,打算在A2,A3,A4,A5地中再选择几个地方建厂,已知在A2地建厂的固定成本为175千元,在A3地建厂的固定成本为300千元,在A4地建厂的固定成本为375千元,在A5地建厂的固定成本为500千元,另外,在A1的产量,A2,A3,A4,A5建成厂的产量,那时销地的销量以及产地到销地的单位运价(每千箱运费)如下表5-3所示。问应该在哪几个地方建厂,在满足销量的前提下,使得其总的固定成本和总的运输费用之和最小?,如果A2和A3两地必须有且只有一个建厂,怎么办?,0-1型整数规划问题的解法,枚举法:列出变量取值为0或1的可能的组合(若有n个变量则有2n个组合),再逐一验证它们是否满足约束条件,然后对满足约束条件的可行解计算目标函数值,其中目标函数值最优的就是最优解 方法的改进:若已发现一个可行解,则根据它的目标函数值可以产生一个过滤条件(filtering constraint),对于目标函数值比它差的变量组合就不必再去检验它的可行性。只要发现某个变量组合不满足其中一个约束条件,就不必再去检验其他约束条件是否可行。,隐枚举法,解 为提高搜索效率,减少运算量,先按照目标函数中各变量系数的大小顺序重新排列各变量。 排为x3,x2,x1。,0,2,1,不检验,3,不检验,-1,不检验,1,不检验,0,不检验,2,不检验,max z = -x3+x2+2x1,所以最优解是(x1,x2,x3)T = (1,0,0)T, max z =2,n项不同的任务,需要n个人分别完成其中的一项,但由于任务的性质和每个人的专长不同,因此,每个人去完成不同的任务的效率(或花费的时间、费用)也就不同,于是产生了一个问题,应指派哪个人去完成哪项任务,使完成n项任务的总效率最高(或所需时间最短、费用最少)。这类问题称为指派问题。,5.4 指派问题,应该指派哪个人 完成哪个任务?,如何将n个零件分配到n台设备进行加工?,指派问题的标准形式为:今分配n个人去完成n项任务,每个人只能完成一项任务,每项任务只能由一个人来完成,第i个人来完成第j项任务的费用或时间为 ,问如何安排才能使总费用或总时间最小?,5.4 指派问题标准形式,例5.9 有四个工人,要分别指派他们完成四项不同的工作,每人做各项工作所消耗的时间(我们称之为消耗系数矩阵、效率矩阵或系数矩阵)如表5-6所示,问应如何分配任务,才能使总的消耗时间最少?,满足约束条件的可行解也可写成矩阵形式,称为解矩阵。如例5.9的一个可行解矩阵是:,每个人只能完成一项任务,每项任务只能由一个人来完成,数学模型:,标准形式指派问题的数学模型,指派问题是一类特殊的整数规划问题。指派问题是运输问题的特例,也是线性规划(0 1规划)的特例,当然可用求运输问题、整数规划或0-1规划的解法去求解。这就如同用单纯形法求运输问题一样是不合算的。利用指派问题的特点可有更简便的解法。 1955年,库恩(W. W. Kuhn)提出了求解指派问题的一种算法,习惯上称之为匈牙利算法。,5.4.2 指派问题的匈牙利算法,定理5.1:如果对系数矩阵C =(cij)nn的任一行(列)各元素减去该行(列)的最小元素,得到新矩阵B = (bij)nn ,则以B为系数矩阵的指派问题的最优解也是原问题的最优解。,匈牙利算法的步骤 步骤1:变换指派问题的系数矩阵 步骤2:试指派 步骤3:判断最优性 步骤4:调整后返回步骤2,每行减该行最小数,每列减该列最小数,步骤1:变换指派问题的系数矩阵(cij)为(bij),使在(bij)的各行各列中都出现0元素,即 (1) 从(cij)的每行元素都减去该行的最小元素; (2) 再从所得新系数矩阵的每列元素中减去该列的最小元素,此时独立零元素有3个,第四行没有,故转入步骤4。,步骤2:试指派 将只有一个0元素的行(列)的0最先画圈,称其为独立零元素。然后将其所在列(行)其它的0划掉。然后继续寻找,直到尽可能多的0元素都被圈出和划掉为止。 若仍有没有划圈的0元素,且同行同列的0元素至少有两个,则从剩有0元素最少的行(列)开始,比较这行各0元素所在列中0元素的数目,选择0元素少的那列的这个0元素加圈(表示选择性多的要“礼让”选择性少的)。然后划掉同行同列的其它0元素。可反复进行,直到所有0元素都已圈出和划掉为止。,步骤3:判断最优性 如果独立零元素的个数等于n计算停止,按照独立零元素对应的位置进行指派即可。否则进入下一步进行调整。,步骤4:调整 任意选择一个没有独立零元素的行,将该行所有元素减去该行除0外的最小数(m);然后该行的0将会变为负数,为了将负数删除,我们将该行0所对应的列的所有元素都加上m;则原来的所在的列中的0会被变为正数。为了使0所在行能够找到新的0,须让该行所有元素再减去除0外的最小数。如果此时没有出现负数,调整结束;否则继续使负数所在列加上一个常数,继续循环。 直到系数矩阵中没有负数,此时调整结束,重新回到step2。,步骤4:调整,第四行没有独立零元素,所以让该行减2 第四行第四列的0变为-2,所以让第四列再加2 第四列的独立零元素被破坏,所以让第二行再减1, -2, -1, +2,步骤5 再次试指派,此时独立零元素还是只有3个,第二行没有,故转入步骤5。,步骤6:调整,第二行没有独立零元素,所以让该行减1 第二行第一列的0变为-1,所以让第一列再加1 第一列的独立零元素被破坏,所以让第一行再减1, -1, -1, +1,步骤7 再次试指派,此时找到了4个独立零元素,所以最优方案为:,练习题:,5.6(1),-1,+1,-1,-3,-3,-2,+3,+3,Z=48,非标准形式指派问题的处理,1、最大化指派问题:目标函数求max,最大元素:m将原系数矩阵C转换为B,最大化指派问题例题,有5个工人,要指派去做5项工作,每人做各项工作的能力见下表。应如何指派,才能使总的得分最大?,工人,工作,m-cij,-3, +

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论