第7章 整数规划.ppt

  1. 1、本文档共104页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 整数规划 7.1 整数规划问题及其数学模型 7.2 分支定界法 7.3 割平面法 7.4 0-1整数规划与隐枚举法 7.5 指派问题与匈牙利法 例4 某公司计划在m个地点建厂,可供选择的地点有A1,A2…Am ,他们的生产能力分别是a1,a2,…am(假设生产同一产品)。第i个工厂的建设费用为fi (i=1.2…m),又有n个地点B1,B2, … Bn 需要销售这种产品,其销量分别为b1.b2…bn 。从工厂运往销地的单位运费为cij。试决定应在哪些地方建厂,即满足各地需要,又使总建设费用和总运输费用最省? 二、整数规划的数学模型 三、整数规划与线性规划的关系 从数学模型上看整数规划似乎是线性规划的一种特殊形式,求解只需在线性规划的基础上,通过舍入取整,寻求满足整数要求的解即可。但实际上两者却有很大的不同,通过舍入得到的解(整数)也不一定就是最优解,有时甚至不能保证所得倒的解是整数可行解。 目前,常用的求解整数规划的方法有: 分支定界法和割平面法; 对于特别的0-1规划问题采用隐枚举法和匈牙利法。 分枝定界法: (去掉整数约束,用单纯形法解松弛问题) 7.3 割平面法 7.4 0-1型整数线性规划 0-1型整数线性规划是整数线性规划中的特殊情形,它的变量xi仅取值0或1。这时xi称为0-1变量,或称二进制变量①. xi仅取值0或1这个条件可由下述约束条件所代替。xi≤1, xi≥0,整数 它和一般整数线性规划的约束条件形式是一致的。在实际问题中,如果引入0-1变量,就可以把有各种情况需要分别讨论的线性规划问题统一在一个问题中讨论了。在本节我们先介绍引入0-1变量的实际问题,再研究解法。 注: 如果变量xi不是仅取值0或1,而是可取其他范围的非负整数,这时可利用二进制的记数法将它用若干个0-1变量来代替。例如,在给定的问题中,变量x可任取0与10之间的任意整数时,令x=20x0+21x1+22x2+23x3. 这时,x就可用4个0-1变量x0,x1,x2,x3来代替。 投资场所的选定——相互排斥的计划 例1. 某公司拟在市东、西、南三区建立门市部。拟议中有7个位置(点)Ai (i=1,2,…,7)可供选择。规定: 在东区,由A1,A2,A3三个点中至多选两个; 在西区,由A4,A5两个点中至少选一个; 在南区,由A6,A7两个点中至少选一个。 如选用Ai 点,设备投资估计为bi元,每年可获利润估计为ci元,但投资总额不能超过B元。问应选择哪几个点可使年利润为最大? 解题时先引入0-1变量xi (=1,2,…,7) 0-1型整数线性规划的解法 解0-1型整数线性规划最容易想到的方法,和一般整数线性规划的情形一样,就是穷举法,即检查变量取值为0或1的每一种组合,比较目标函数值以求得最优解,这就需要检查变量取值的2n个组合。对于变量个数n较大(例如n>10),这几乎是不可能的。因此常设计一些方法,只检查变量取值的组合的一部分,就能求到问题的最优解。这样的方法称为隐枚举法(implicit enumeration),分枝定界法也是一种隐枚举法。当然,对有些问题隐枚举法并不适用,所以有时穷举法还是必要的。 下面举例说明一种解0-1型整数线性规划的隐枚举法 解题时先通过试探的方法找一个可行解, 容易看出(x1,x2,x3)=(1,0,0)就是合于①~④条件的,算出相应的目标函数值z=3。 我们求最优解,对于极大化问题,当然希望z≥3,于是增加一个约束条件: 3x1-2x2+5x3≥3 ◎ 后加的条件称为过滤的条件(filtering constraint)。这样,原问题的线性约束条件就变成5个。用全部枚举的方法,3个变量共有23=8个解,原来4个约束条件,共需32次运算。现在增加了过滤条件◎,如按下述方法进行,就可减少运算次数。将5个约束条件按◎①~④顺序排好(表1),对每个解,依次代入约束条件左侧,求出数值,看是否适合不等式条件,如某一条件不适合,同行以下各条件就不必再检查,因而就减少了运算次数。 表1 本例计算过程如表1,实际只作24次运算。 于是求得最优解(x1,x2,x3)=(1,0,1), max z=8 在计算过程中,若遇到z值已超过条件◎右边的值,应改变条件◎,使右边为迄今为止最大者,然后继续作。例如,当检查点(0,0,1)时因z=5(>3),所以应将条件◎换成 3x1-2x2+5x3≥5 ◎ 这种对过滤条件的改进,更可以减少计算量。 注意: 一般常重新排列xi的顺序使目标函数中xi的系数是递增(不减)的,在上例中, 改写 z=3x1-2x2+5x3=-2x2+3x1+5x3 因为-2,3,5是递增的序,变量(x2,x1,x3)也按下述顺序取值:(0,

文档评论(0)

ww90055 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档