第七章整数规划模型精选文档.ppt
《第七章整数规划模型精选文档.ppt》由会员分享,可在线阅读,更多相关《第七章整数规划模型精选文档.ppt(68页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章整数规划模型本讲稿第一页,共六十八页第七章 整数规划模型 整数规划模型在实践中有广泛的应用背景,例如著名的指派模型、背包模型、旅行售货员模型、排序模型以及地理六章中的截料模型等都是整数规划模型。整数规划模型(Integer Programming,简记IP)是一类要求变量为整数的规划模型。自从高莫瑞(R.E.Gomory)在1958年提出割平面法以后,整数规划才逐步成为一个独立的理论分支。将目标函数为线性函数,约束条件均为线性等式或不等式的整数规划模型称为整数线性规划模型(ILP),否则称为整数非线性规划模型(INLP)两类。若要求全部变量都去整数值,则称为纯整数规划模型(Pure IP
2、)或全整数规划模型(All IP);若只要求一部分变量取整数值,则称为混合整数规划模型(Mixed IP);若要求全部或部分变量只取0或1值。则称为0-1规划。由于整数非线性规划尚无一般解法,因此本文仅考虑整数线性规划模型及其解法,下文所提及的整数规划专指整数线性规划。本讲稿第二页,共六十八页1 整数规划模型及穷举法 一、整数规划模型 建立整数规划模型的过程也与建立线性规划模型一样,有“设立决策变量”、“明确决策目标函数”和“寻找限制条件”三个过程。例一(投资模型)某工厂有资金13万元,用于购置新机器,可在A、B两种机器中任意选购。已知机器A、B的购置费每台分别为2万元和4万元。该厂维修能力只
3、能修7台机器B;若维修机器A,1台折算B为2台。已知1台机器A可增加产值6万元,1台B可增加产值4万元,问应购置机器A和B各多少台,才能使产值增加最多?解 设购买机器A和B的台数分别为 台,则模型为:本讲稿第三页,共六十八页用LINDO软件解的程序为:本讲稿第四页,共六十八页 答案为:最优决策变量 目标函数最优值为22。(跳跃式成本模型)设两种产品A和B每公斤价格为10元和7元,每公斤需要的加工工时为6小时和4小时,成本和工时的关系如图7.1所示,要求建立一整数规划模型,是利润最大。解 设两种产品的产量分别为 公斤,设工时在2000以内为第一范围,2000到3000小时为第二范围,3000到5
4、000小时为第三范围。再设当工时在第j范围内时,(j=1,2,3)。则模型为:本讲稿第五页,共六十八页图7.1本讲稿第六页,共六十八页用LINDO软件解的程序为:本讲稿第七页,共六十八页二、穷举法 穷举法尽管往往不是有效的和常用的方法,但却是最自然想到和直观的方法,而对有些模型却是无可奈何的方法。有时通过对穷举法的研究,往往能够得到启发而产生新的方法。满足整数规划模型所有约束条件的可行解的集合,很多情况下是有限集合,这为穷举法的应用提供了可能。下面用穷举法求一个只有两个变量的整数规划模型的最优解。本讲稿第八页,共六十八页 例3 用穷举法求例1中的整数规划模型的最优解:max Z=s.t.为整数
5、 解 图7.2给出了可行解的集合,共有十二个整数点(即对应到可行解),得整数规划的最优解 最优值 。即A,B两种机器分别购买3台和1台,产值最多增加22万元。本讲稿第九页,共六十八页11 0 2 2 3 3 4 5 (2.5,2)图7.2 整数规划模型与线性规划模型不同之处只在于增加了整数约束。不考虑整数约束得到的线性规划称为整数规划的线性松弛。第六章讲述了用图解法球线性规划模型的解,能否用它的线性松弛模型的最优解痉过去整或四舍五入本讲稿第十页,共六十八页 得到整数规划模型的最优解呢?在上例中整数规划模型的最优解 ,线性松弛模型的最优解为 ,四舍五入得 ,不是不是可行解,自然也不是最优解;若将
6、 取整得 ,虽然是可行解,但它不是最优解。由此可见,刚刚的设想是行不通的,事实上整数规划模型的求解是难题,至今还没有有效的算法(即多项式算法)。割平面法和分支定界法一、割平面法 整数规划模型的割平面法由高莫瑞首创,称为高莫瑞割平面法(Gomory Cutting Plane Algorithm),以区别于后来其他割平面法。在整数规划模型中,去掉了本讲稿第十一页,共六十八页 变量为整数的约束条件之后的模型称为原整数规划得像性松弛模型。高莫瑞割平面法的基本思想是在整数规划的线性松弛模型中逐次增加一个新约束(即割平面),它能割去圆松弛可行域中一块不含整数解的区域。逐次切割下去,直到切割最终得到松弛可
7、行域的一个最优顶点即整数解为止。我们用例4结合图形来说明高莫瑞割平面法的思想及过程:例4 用割平面法求下面的整数规划模型的最优解:为整数本讲稿第十二页,共六十八页 解 图7.3作出了整数规划的线性松弛模型(记为)的可行解,其最优解为 ,增加新的约束条件:得新模型 ,图7.4给出了 的最优解为 。本讲稿第十三页,共六十八页0 1 1 2 2 3 3 4 5 0 1 1 2 2 3 3 4 5 图7.3 图7.4本讲稿第十四页,共六十八页 此时 ,已经满足整数要求,但 还不是整数,还需要增加新的约束条件:得新模型(),图7.5给出了 的最优解为 ,已得原整数规划模型的最优解 ,易计算出最优值为55
8、。本讲稿第十五页,共六十八页1 1 2 2 3 3 4 5 图7.50 新增加的约束条件必须满足下列两个条件:(1)不能割去满足条件的整数点(即整数可行解)。新的割平面的加入,使得可行解区域逐渐减小,割去的区域不能有整数可行解。(2)必须将前一次的最优解割去。将原整数规划模型的本讲稿第十六页,共六十八页 最优解逐步暴露在可行解区域的顶点上。割平面构造原理涉及到对偶单纯形法,在此不多加介绍。割平面法有很重要的理论意义,但在实际计算中没有分支定界效率高,且涉及到对分数的处理,因此几乎没有给予割平面法的软件。二、分支定界法 分支定界法的基本思想是根据某种规则将原整数规划模型的可行域分解为越来越小的子
9、区域,并检查某各子区域内整数解的情况,直到找到最优的整数解或证明整数解不存在。根据整数规划模型性质的不同,存在许多的分支界定法以及分支界定的技巧,在此只对分支界定的一般原理作一简单的介绍。在介绍具体算法之前,以下几个重要的实事是容易理解的:本讲稿第十七页,共六十八页 (1)如果求解一个整数规划的线性松弛模型时得到一个整数解,这个解一定也是整数规划模型的最优解。然而,求解实际模型时这种概率很小。(2)如果得到的解不是一个整数解,则最优整数解的目标值一定不会好于得到的线性松弛模型的最优解。因此线性松弛模型的最优解是整数规划模型最优值的一个界(对最大化模型为上界,对最小化模型为下界)。(3)如果在求
10、解过程中已经找到一个整数解,则最优整数解一定不会劣于该整数解。因此它也是最优整数解的一个界(对最大化模型为下界,对最小化模型为上界)。如果用 表示线性松弛模型的最优值,用 表示已找到的最好整数解的目标值,为原整数规划本讲稿第十八页,共六十八页 模型的最优值,表示下界,表示上界,则最优值一定满足以下关系 :(对最大化模型 )(对最小化模型)分支 定界法定界法思想就是不断降低上界,提高下界最后使得下界等于上界,就可以搜索到最优整数解。分支定界法从求解线性松弛模型开始,将线性松弛模型的可行分成许多小的子区域,这一过程称为分支;通过分支和找到更好的整数解来不断修改模型的上下界,这一过程称为定界,这就是
11、分支定界法的由来。以下对分支定界法的基本步骤进行简单的讨论(假定模型求极大值)。1.对给定的整数规划模型,放松整数约束,求解它的线性松弛模型的最优解,如果得到解释整数解,该解即为整数规划模型的最优解。否则,所得到的最优值可作为该本讲稿第十九页,共六十八页 模型最优值的初始上界。最初下界一般认为负无穷。2.从任何一个模型或子模型中不满足整数要求的变量中选出一个进行分支处理。分支通过假如一对互斥的约束将一个(子)模型分解为两个受到更多约束的子模型,并强迫不为整数的变量进一步逼近整数值。例如,如果选中的变量 =q,q的整数部分为k,则在一个子模型中增加约束为 ,在另一个子模型中增加的约束为 。分支过
12、程砍掉了在 和 之间的非整数区域,缩小了搜索的区域。每个子模型都是一个线性规划模型,如果它的最优解不满足整数要求,对该模型还必须继续向下进行分支,所有分支可以形成一个树形图。树形图上面为线性松弛模型,它有两个分支,每个分支又会有两个分支,焚之可以继续进行下去,直到找到一个有整数本讲稿第二十页,共六十八页 最优解的分支或该分支不可行时为止。3.通过不断的分支和求解各个子模型的最最优解,不断修正最优值的上下界。上界通常由各分支最优值的最小值决定,下届则由已经能够找到的最好的整数解的目标值决定。求解任何一个子模型都有以下四种可能的结果:(1)子模型无可行解,此时无续向下继续分支。(2)子模型的最优解
13、满足原整数规划模型变量整数约束,则不必向下继续分支。如果该整数解是目前得到的最好的整数解,则被记录下来,并用它的值作为新的下届。(3)子模型的最优值介于目前所得到的上下界之外,则无需继续向下进行分支。(4)最优解不满足原整数规划模型变量整数约束,最优值介于所得到的上下界之间,则该模型才有本讲稿第二十一页,共六十八页 继续向下搜索的必要。4.直到每一个子模型均无需继续向下分支时,整数规划模型的最优解才找到。下面以例5用分支定界法求整数规划模型最优解的过程。例5 用分支定界法求下列整数规划模型:为整数本讲稿第二十二页,共六十八页 解 求解该模型的线性松弛模型(记为 ),得到最优值 =5.545,最
14、优解为 =1.477,=4.068(该模型可用线性规划的图解法,若多于两个变量,可用LINDO或MATLAB求解)。因为该模型失球最大化模型,整数规划模型的最优值不可能大于 ,也不可能小于负无穷,所以可令上界 =5.545,下届 。本讲稿第二十三页,共六十八页 由于两个变量都不是整数,我们可以从中选择一个变量进行分支,假定选 ,要求 变为整数,因此希望 或者小于等于1,或者大于等于2。分支后形成两个子模型,子模型1增加约束 ,子模型2增加约束 。(子模型1)本讲稿第二十四页,共六十八页(子模型2)子模型1的最优值为 =5.333,最优解为 =1,=4.333。该解还不是整数解,还应继续分支。由
15、于子模型1中只有 取值不是整数,应对 进行分支。分支后又形成两个子模型3和4。子模型3是由子模型1架上约束 形成的,子模型4页是由子模型1加上约束 构成的。本讲稿第二十五页,共六十八页(子模型3)(子模型4)本讲稿第二十六页,共六十八页 子模型3的最优值为 =5,最优解为 =1,=4,该解已经是整数解。所以子模型3无需向下继续分支,且新的下届可以计算如下:子模型4无可行解,所以子模型4也无需继续向下分支。子模型2的最优值为 =4.5,最优解为 =2,=2.5。此时最优值已小于下届5,故也无需继续向下分支。整数规划模型的最优解已经找到,=1,=4,最优值为5。为了清晰的描述求解的全过程,我们作出
16、个子模型关系的树形图(图7.6)本讲稿第二十七页,共六十八页松弛模型 子模型1 子模型2 子模型3 子模型4无可行解 本讲稿第二十八页,共六十八页 三、两辆铁路平板车的装货问题 这是1988年美国数模竞赛的B题,问题如下:有七种规格的包装箱 要装到两辆平板车上去。包装箱的宽和高是一样的,但厚度t(以厘米计)及重量w(以千克计)是不同的。下表给出了每种包装箱的厚度,重量以及数量。每辆平板车有10.2米长的地方可用来装包装箱(像面包片一样),载重为40吨。由于地区货运的限制,对 类包装箱的总数有一个特别的限制:这三类箱子所占的总空间(厚度)不能超过302.7厘米。包装箱类型t(厘米)48.752.
17、061.372.048.752.064.0w(千克)200030001000500400020001000件数8796648 本讲稿第二十九页,共六十八页 问题要求:设计一种装车方案,使剩余的空间最小。下面介绍一种解法。1.问题的假设。包装箱不能能分割成较小的部分。10.2m图7.7本讲稿第三十页,共六十八页 所有的数据均是精确值,无任何测量误差。给出的解,均可进行实际操作(装卸)。2.模型的建立 以 表示装到第j(j=1,2)辆铁路平板车上的 类包装箱的个数(1i 7);表示类型为 的包装箱的总件数;表示类型为 的包装箱每件重量;表示类型为 的包装箱每件厚度;S表示剩余的空间。我们的目的是使
18、装车剩下的空间最小。为此我们的模型为 本讲稿第三十一页,共六十八页st(平板车1的长度限制)(平板车2的长度限制)(平板车1的载重量限制)(平板车2的载重量限制 )(类包装箱的件数限制)(对 、三种型号包装箱长度的特别限制)为整数 本讲稿第三十二页,共六十八页 对上述整数线性规划问题,用分支定界法可以求得30个不同的解如下(没有利用的空间为0.6cm)箱子类型12345671234 56743533004443 03042912004505 13042533104543 02041912104605 12041533204643 01040912204705 11040533304743 00
19、0平板车1平板车2本讲稿第三十三页,共六十八页箱子类型1 2 3 4 5 6 71 2 3 4 5 6 73 7 4 3 1 0 05 0 5 3 2 3 03 7 0 5 2 1 05 0 9 1 1 2 03 6 4 3 1 1 05 1 5 3 2 2 03 6 0 5 2 2 05 1 9 1 1 1 03 5 4 3 1 2 05 2 5 3 2 1 03 5 0 5 2 3 05 2 9 1 1 0 03 4 4 3 1 3 05 3 5 3 2 0 03 2 9 1 3 0 05 5 0 5 0 3 03 1 9 1 3 1 05 6 0 5 0 2 03 0 9 1 3 2 0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七 整数 规划 模型 精选 文档
限制150内