1、整数规划建模 应用最广泛的整数规划问题是各种类型的决策问题,决策者希望模型能回答诸如:是否要执行某些项目(或某些活动),在什么时候或什么地点执行等决策问题,回答这类“是否”或“有无”问题可借助整数规划中的0-1整数变量。0-1整数变量只有两个选择,0由于它在数学上的特性可以很好的代表“无”或“否”,而1则可以很好地代表“有”或“是”。0-1变量由于它的特殊性也被称为二进制变量、决策变量或逻辑变量。10-1变量的作用1.xj1方案j被选中0方案j未被选中2.从n个方案中必须选中一个:njjx113.从n个方案中最多选中m个:njjmx14.方案i只有在方案j选中时,才可能被选中:jixx 5.方
2、案i与方案j是否选中是同时的:jixx 2与01变量相关的几个实际问题1.投资问题投资问题 现有总额为b的资金可用于投资,共有n个项目可供投资者选择,已知项目j所需投资额为aj,投资后可得利润cj(j 1,2,n),不妨设b,aj,cj 均是整数,试问为使所得利润最大,应选取那些项目进行投资?先引入01变量xj,令 xj1对项目j投资0否则则可得到如下整数规划问题:njxbxaxcjnjjjnjjj,或2110max113例1:华美公司有5个项目被列入投资计划,各项目的投资额和期望的投资收益见下表:项目投资额(万元)投资收益(万元)1210150230021031006041308052601
3、80 该公司只有600万元资金可用于投资,由于技术上的原因,投资受到以下约束:在项目1、2和3中必须有一项被选中;项目3和4只能选一项;项目5被选中的前提是项目1必须被选中。问如何在上述条件下选择一个最好的投资方案,使投资收益最大。4 令0-1变量为决策变量,即xi1表示选中项目i,否则xi0表示项目i未被选中。则模型可以表示为:解:52.背包问题背包问题 背包问题由来以久,它是从旅行者如何选择放在背包中的用品引出的。旅行者可背负的重量有限,但旅行者需要携带的物品很多,如:食品、水、衣物、帐篷、急救用品等等,旅行者不可能将所有想携带的物品都统统背上,他只能选择那些最重要的物品随身携带,又不超过
4、他可能负担的最大重量,为解决这个问题,旅行者可给每种物品指定一个重要性系数,他的目标是在小于一定重量的前提下,使所携带的物品的重要性系数之和最大。6例2:一登山队员做登山准备,他需要携带的物品有:食品、氧气、冰镐、绳索、帐篷、照相机和通讯设备每种物品的重要系数和重量如下表所示,假定登山队员可携带的最大重量为25千克。问他如何抉择?序号1234567物品食品氧气冰镐绳索帐篷照相器材通讯设备重量(千克)55261224重要系数2015181484107 令xi1表示登山队员携带物品i,xi0表示不带物品i。则问题可写为:Max z=20 x1+15x2+18x3 +14x4+8x5+4x6+10
5、x7s.t.5x1+5x2+2x3 +6x4+12x5+2x6+4x725 xi=1或0,i=1,2,7解:8背包问题应用(背包问题应用(作业作业)要把要把7种规格的包装箱装到两辆铁路平板车上去,包装种规格的包装箱装到两辆铁路平板车上去,包装箱的宽和高相同,但厚度和重量不同,见下表:箱的宽和高相同,但厚度和重量不同,见下表:每辆车有每辆车有10.2m长的地方可以用来装箱(类似面包片),长的地方可以用来装箱(类似面包片),载重为载重为40吨。吨。C5,C6,C7,三类包箱所占总空间,三类包箱所占总空间(厚度)不超过(厚度)不超过302.7cm,试建立数学模型,尽量将这,试建立数学模型,尽量将这些
6、包装箱装到平板车上去,使浪费的空间最小。些包装箱装到平板车上去,使浪费的空间最小。9例3.一公司考虑在四个城市:北京、上海、广州和武汉设立库房。这些库房负责向三个地区:华北、华中和华南地区发运货物,每个库房每月可处理货物1000件。在北京设库房每月的成本为4.5万元。上海为5万元,广州为7万元,武汉为4万元。每个地区的月平均需求量为:华北每月600件,华中每月700件,华南每月800件。发运货物的费用(元/件)见下表:华北华北华中华中华南华南北京北京200400500上海上海300250450广州广州600400250武汉武汉300150350 公司希望在满足地区需要的前提下使平均月成本最小,
7、且还要满足以下条件:如果在上海设立库房,则必须也在武汉设库房;最多设立三个库房;武汉和广州不能同时设立库房。请建立一个满足上述要求的整数规划模型。3.工厂选址运输问题工厂选址运输问题10 设每个月从仓库i运往地区j的产品的货物数量为xij,引入01变量yi=1表示在Ai设立仓库,否则不设。设每个月的总花费为z,则上述问题的数学模型为Min z200 x11+400 x12+500 x13+300 x21+250 x22+450 x23+600 x31+400 x32+250 x33+300 x41+150 x42+350 x43+45000y1+50000y2+70000y3+40000y4s
8、.t.x11+x12+x131000y1 x21+x22+x231000y2 x31+x32+x331000y3 x41+x42+x431000y4 x11+x21+x31+x41600 x12+x22+x32+x42700 x13+x23+x33+x43800 y2-y40 y1+y2+y3+y43 y3+y4 1 xij0;yi0或1;i=1,2,3,4;j=1,2,311工厂选址运输问题 设有n个需求点,有m个可供选择的厂址,每个厂址只能建一个工厂,在i处建厂,生产能力为Di,单位时间的固定成本为ai,需求点j的需求量为bj,从厂址i到需求点j的单位运费为Cij,问应如何选择厂址才能获得
9、经济上的总花费最小的方案。12 设在单位时间内,从厂址i运往需求点j的产品数量为xij,引入01变量yi=1在i地建厂0否则设在单位时间内的总花费为z,则上述问题的数学模型为100,2,1m,2,1min11111或,iijjmiijnjiiijminjmiiiijijyxnjbxiyDxyaxcz134.集合覆盖和布点问题集合覆盖和布点问题 集合覆盖问题也是典型的整数规划问题,在集合覆盖问题中,一个给定集合(集合一)的每一个元素必须被另一个集合(集合二)的元素所覆盖。在满足覆盖集合一所有元素的前提下,集合覆盖问题的目标是求需要的集合二的元素最少,该问题之所以又称为布点问题,是因为它常被用于一
10、些公共设施,如:学校、医院、商业区、消防队等设施的布点问题,解决如何既满足公共要求,又使布的点最少,以节约投资费用。14例4:解决某市消防站的布点问题:某城市共有6个区,每个都可以建消防站。市政府希望建设的消防站最少,但必须满足在城市任何地区发生火警时,消防车要在15分钟内赶到现场。据实地测定,各区之间消防车行驶的时间见下表:请帮助该市制定一个最节省的计划。表表3.5消防车在各区行驶距离表消防车在各区行驶距离表 地区1 地区2 地区3 地区4 地区5 地区6地区1 0 10 16 28 27 20地区2 10 0 24 32 17 10地区3 16 24 0 12 27 21地区4 28 32
11、 12 0 15 25地区5 27 17 27 15 0 14地区6 20 10 21 25 14 015 解:Xj=1表地区设消防站,Xj=0表地区不设消防站。Z消防站总数,则模型如下:MinZ=X1+X2+X3+X4+X5+X6 s.t:X1+X21 X1+X2+X61 X3+X41 X3+X4+X51 X4+X5+X61 X2+X5+X61 Xj=0,1;j=1,2,3,4,5,6。16作业作业某市有8个区,救护车从一个区开往另一个区所需时间:区号12345678人口(万人)102468981040220548612930345022357354642032542058823022415
12、69632203250781255230245810974422060该市只有两辆救护车,且希望救护车,所在的位置能使尽可能多的人口位于救护车在两分钟内可达到的范围内,请帮助该市构造一个整数规划模型来解决这个问题。175.指派问题指派问题 在生活中经常遇到这样的问题,某单位需要在生活中经常遇到这样的问题,某单位需要完成完成n项任务,恰好有项任务,恰好有n个人可以承担这些任务,个人可以承担这些任务,由于每个人的专长不同,个人完成不同任务的效由于每个人的专长不同,个人完成不同任务的效率(时间、费用等)也不同。率(时间、费用等)也不同。于是产生了指派哪个人去完成哪项任务,使总于是产生了指派哪个人去完成哪项任务,使总效率最高,称为指派问题(效率最高,称为指派问题(Assignment Problem)。)。18 已知上面5名运动员各种姿势游泳成绩(50m),试问如何从中选拔一个200m混合泳的接力队,使预期比赛成绩最好。(列出整数规划模型)ABCDE仰泳37.732.933.837.035.4蛙泳43.333.142.234.941.8蝶泳33.328.538.930.433.6自由泳29.226.429.628.531.15.指派问题(作业)指派问题(作业)192021222324