450 likes | 1.17k Views
第四章 整数规划 (Integer Programming, IP). 整数规划的有关概念. 整数规划 ( Integer Programming )主要是指整数线性规划。一个线性规划问题,如果要求部分决策变量为整数,则构成一个整数规划问题。 所有变量都要求为整数的称为 纯整数规划 ( Pure Integer Programming )或称 全整数规划 ( All integer Programming ); 仅有一部分变量要求为整数的称为 混合整数规划 ( Mixed Integer Programming );
E N D
第四章 整数规划 (Integer Programming, IP)
整数规划的有关概念 • 整数规划(Integer Programming)主要是指整数线性规划。一个线性规划问题,如果要求部分决策变量为整数,则构成一个整数规划问题。 • 所有变量都要求为整数的称为纯整数规划(Pure IntegerProgramming)或称全整数规划(All integer Programming); • 仅有一部分变量要求为整数的称为混合整数规划(Mixed Integer Programming); • 有的变量限制其取值只能为0或1,这类特殊的整数规划称为0-1规划(0-1Integer Programming )。
第一节 整数规划问题及其数学模型 一、整数规划问题 例4.1某工厂生产甲、乙两种设备,已知生产这两种设备需要消耗材料A、材料B,有关数据如下,问这两种设备各生产多少使工厂利润最大?
Maxz=3x1+2x2 2x1+3x2≤14 x1+0.5x2≤4.5 x1、x2≥0, 且为整数 解:设生产甲、乙这两种设备的数量分别为x1、x2,由于是设备台数,则其变量都要求为整数,建立模型如下: • 要求该模型的解,不考虑整数约束条件,用单纯形法对相应线性规划求解,其最优解为: • x1=3.25 x2=2.5 max z=14.75 • 凑整得到的(4,2)不在可行域范围内。 • (3,2)点尽管在可行域内,但没有使目标达到极大化。 • (4,1)使目标函数达到最大,即z=14。
由上述例子可得出整数规划数学模型的一般形式:由上述例子可得出整数规划数学模型的一般形式: Max z =CX AX=b X≥0,且为整数或部分为整数 若称该整数规划问题为原问题,则线性规划问题: Max z =CX AX=b X≥0 为原问题对应的松驰问题(LP Relaxation)。 显然,原问题与松弛问题有如下关系: 松弛问题可行域包含原问题可行域; 若两者都有最优解,则松弛问题最优解大于原问题最优解; 若松弛问题最优解为整数解,则该最优解就是原问题最优解。 二、整数规划数学模型的一般形式
第二节 整数规划的解法 • 整数规划常用的解法有分枝定界法和割平面法,它们适用于解纯整数规划问题和混合整数规划问题。 一、分枝定界法 (1)基本思想 (2)基本原理 二、割平面法 (1) 基本思想 (2)基本原理 三、整数规划的计算机解法 计算机求解举例
第三节 0-1整数规划 一、0-1整数规划模型 • 0-1整数规划在实际中应用较多。因为实际问题中经常碰到大量的决策问题,要求回答“是-否”或“有-无”问题,这类问题可以借助整数规划中的0-1整数变量,使许多复杂的、困难的问题相对变得简单。 • 0-1变量一般可表示为:
第三节 0-1整数规划 • 0-1整数规划的数学模型可表示为:
二、0-1整数规划求解 • 0-1整数规划的求解方法有穷举法、隐枚举法和分枝定界法. • 隐枚举法求解举例
解:(1)先用试探的方法找出一个初始可行解,如x1=x2=0,x3=1。满足约束条件,选其作为初始可行解,目标函数z0=2。解:(1)先用试探的方法找出一个初始可行解,如x1=x2=0,x3=1。满足约束条件,选其作为初始可行解,目标函数z0=2。 (2)附加过滤条件 以目标函数作为过滤约束: 4x1+3x2+2x3 >= 2 • 原模型变为:
点 过滤条件 约束 z值 ④ ① ② ③ 4x1+3x2+2x3≥2 (0,0,0)T × (0,0,1)T √ √ √ √ 2 (0,1,0)T √ √ × (0,1,1)T √ √ √ √ 5 4x1+3x2+2x3≥5 (1,0,0)T × (1,0,1)T √ × (1,1,0)T √ √ √ √ 7 4x1+3x2+2x3≥7 (1,1,1)T √ √ √ √ 9 (3)求解 求解过程如表4-6所示。
第四节 0-1整数规划应用(Applications) 一、相互排斥的计划(Mutually exclusive planning) • 例4.6某公司拟在市东、西、南三区中建立门市部,有例7个点Ai(i=1,2,…,7)可供选择,要求满足以下条件: 1) 在东区,在A1,A2,A3三个点中至多选两个; 2) 在西区,A4,A5两个点中至少选一个; 3) 在南区,A6,A7两个点为互斥点。 4) 选A2点必选A5点。 • 若Ai点投资为bi万元,每年可获利润为ci万元,投资总额为B万元,试建立利润最大化的0-1规划模型。
解:设决策变量为 建立0-1规划模型如下:
二、互排斥的约束条件(Mutually exclusive constraints) 例4.7某产品有A1和A2两种型号,需要经过B1、B2、B3三道工序,单位工时和利润、各工序每周工时限制见表所示,问工厂如何安排生产,才能使总利润最大?(B3工序有两种加工方式B31和B32,产品为整数)。
解:设A1、A2产品的生产数量分别为x1、x2件,在不考虑B31和B32相互排斥的情况下,问题的数学模型为解:设A1、A2产品的生产数量分别为x1、x2件,在不考虑B31和B32相互排斥的情况下,问题的数学模型为
工序B3只能从两种加工方式中选择一种,那么约束条件(1)和(2)就成为相互排斥的约束条件。为了统一在一个问题中,引入0-1变量工序B3只能从两种加工方式中选择一种,那么约束条件(1)和(2)就成为相互排斥的约束条件。为了统一在一个问题中,引入0-1变量 则数学模型为
一般地,在建立数学模型时,若需从p个约束条件中选择q个约束条件,则可以引入p个0-1变量一般地,在建立数学模型时,若需从p个约束条件中选择q个约束条件,则可以引入p个0-1变量 那么约束条件组
三、固定成本问题 (Fixed cost problem) 例4.8某公司制造小、中、大三种尺寸的容器,所需资源为金属板、劳动力和机器设备,制造一个容器所需的各种资源的数量如下表所示:不考虑固定费用,小、中、大号容器每售出一个其利润分别为4万元、5万元、6万元,可使用的金属板有500吨,劳动力有300人/月,机器有100台/月,另外若生产,不管每种容器生产多少,都需要支付一笔固定费用:小号为100万元,中号为150万元,大号为200万元。问如何制定生产计划使获得的利润对大?
资源 小号容器 中号容器 大号容器 金属板(吨) 2 4 8 劳动力(人/月) 2 3 4 机器设备(台/月) 1 2 3 解:设x1、x2、x3分别为小号容器、中号容器、大号容器的生产数量。不考虑固定费用,则问题的数学模型为
若考虑固定费用就必须引入0—1变量: 则该问题的数学模型为
地区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 12 0 15 25 地区5 27 17 27 15 0 14 地区6 20 10 21 25 14 0 四、布点问题 (Location Problem) 例4.9某城市消防队布点问题。该城市共有6个区,每个区都可以建消防站,市政府希望设置的消防站最少,但必须满足在城市任何地区发生火警时,消防车要在15 分钟内赶到现场。据实地测定,各区之间消防车行驶的时间见表4-9,请帮助该市制定一个布点最少的计划。 • 表4-9 消防车在各区间行驶时间表 单位:min
解:引入0-1变量xi作决策变量,令 • 本问题的约束方程是要保证每个地区都有一个消防站在15分钟行程内。如地区1,由表4-9可知,在地区1及地区2内设消防站都能达到此要求,即x1+x2≥1 • 因此本问题的数学模型为: min z=x1+x2+x3+x4+x5+x6 x1+x2 ≥1 x1+x2+x6 ≥1 x3+x4 ≥1 x3+x4+x5 ≥1 x4+x5+x6 ≥1 x2+x5+x6 ≥1 xi=1或0 (i=1,…,6)
五、其他案例(数据、模型与决策) 资金预算(Capital budgeting problem) 冰冷电冰箱公司正在考虑4种投资方案,有关数据如下表。 问题:选择投资项目使总现值最大。
引入4个0-1变量: P=1,工厂扩建通过;P=0,则不选工厂扩建; W=1,仓库扩建通过;P=0,则不选仓库扩建; M=1,机器更新通过;P=0,则不选机器更新; R=1,新产品研究通过;P=0,则不选新产品研究; 则问题的0-1规划数学模型为: Max Z=90P+40W+10M+37R 15P+10W+10M+15R ≤40 20P+15W +10R ≤50 20P+20W +10R ≤40 15P+ 5W+ 4M+10R ≤50 P,W,M,R=0,1
案例 固定成本(Fixed cost problem) 生产三种产品需要用三种原料,生产这些产品需要配置成本,若不需要,则无配置成本。有关数据如下表。 问题:各产品应生产多少总利润最大。
设:F=添加剂生产量;S=溶剂生产量;C=清洁剂生产量;设:F=添加剂生产量;S=溶剂生产量;C=清洁剂生产量; 引入3个0-1变量: 若生产添加剂,SF=1,否则SF=0; 若生产溶剂,SS=1,否则SS=0; 若生产清洁剂,SC=1,否则SC=0; 则问题的0-1规划数学模型为: Max Z=40F+30S+50C – 200SF – 50SS – 400SC 0.4F+0.5S+0.6C ≤20 0.2S +0.1C ≤5 0.6F+0.3S+0.3C ≤21 F - 50SF ≤0 S - 25SS ≤0 C - 40SC ≤0 F,S,C ≥0, SF,SS,SC=0,1
案例 分销系统设计(Distribution system design problem) 马丁贝克公司在圣路易斯经营一家生产量为30000件产品的工厂。产品被运输到位于波士顿、亚特兰大和休斯敦的地区分销中心。由于预期将有需求增长,公司计划在底特律、托来多、丹佛和堪萨斯中一个或多个城市建立新工厂以增加生产力。有关数据如下表。 问题:各选择哪个或哪些工厂使总成本最小。
在不考虑固定成本和生产地选择的情况下,此问题是一个运输问题.在不考虑固定成本和生产地选择的情况下,此问题是一个运输问题. 若用xij表示从产地i到分销中心j的运量,则其数学模型为: Minf=5x11+2x12+3x13+4x21+3x22+4x23+…+ 4x52+3x53 x11+x12+x13 ≤10 x21+x22+x23 ≤20 x31+x32+x33 ≤30 x41+x42+x43 ≤40 x51+x52+x53 ≤30 x11+x21+x31+x41+x51=30 x12+x22+x32+x42+x52=20 x13+x23+x33+x43+x53=20 xij≥0,所有i,j
若考虑固定成本和生产地的选择需要引入0-1变量.若考虑固定成本和生产地的选择需要引入0-1变量. 若在底特律建立工厂, y1=1, 否则 y1=0; 若在托来多建立工厂, y2=1, 否则 y2=0; 若在丹佛建立工厂, y3=1, 否则 y3=0; 若在堪萨斯建立工厂, y4=1, 否则 y4=0; 若用xij表示从产地i到分销中心j的运量,则其数学模型为: minf=5x11+2x12+3x13+…+4x52+3x53+175y1+300y2+375y3+500y4 x11+x12+x13 -10y1 ≤0 x21+x22+x23 -20y2 ≤0 x31+x32+x33 -30y3 ≤0 x41+x42+x43 -40y4 ≤0 x51+x52+x53 ≤30 x11+x21+x31+x41+x51 =30 x12+x22+x32+x42+x52 =20 x13+x23+x33+x43+x53 =20 xij≥0,所有i,j; y1,y2,y3,y4=0,1
2 1 12 3 4 16 5 9 10 13 15 6 7 8 11 14 18 20 17 19 案例 银行选址(Location problem) • 俄亥俄州信托投资公司的远期计划正在考虑在俄亥俄州东北部20个郡的地区开展业务.该投资公司目前在这20个郡还没有主营业处.根据该州法律:如果一个银行在任一个郡建立主营业处,即可在该郡及所有毗邻郡建设分行. 该计划的第一步是:投资公司需要确定为了在这20个郡完全营业一共要建立的主营业处的最小数目.
若在第i郡建立主营业处, 则xi=1, 否则 xi=0 这样, 目标函数为:min z = x1+x2+ …+x20 每个郡要满足一个约束条件:该郡或与该郡相毗邻的郡中至少有一个需要建立主营业处. 例如第10个郡有: x3+x9+x8+x11x10+x12+x13 ≥1 因此,该问题的数学模型为: min z = x1+x2 + … + x20 x1+x2 +x12 +x16 ≥1 (第1个郡) x1+x2+x3 +x12 +x16 ≥1 (第2个郡) x2+x3+x4+x9+x10 +x12+x13 ≥1 (第3个郡) . . . . . . x11+ x14+ x19+x20 ≥1 (第20个郡) xi=0,1 I=1,2,… , 20
案例 产品设计和市场份额的优化(Product design and market share optimization problem)
决策变量: xij=1, 表示赛伦pizza 在属性j上选择i, 否则xij=0 yk=1, 顾客i选择赛伦pizza, 否则yk=0 这样, 目标函数为:选择赛伦pizza的顾客数最大, 即 max z = y1+ y2+ y3+ y4+ y5+ y6+ y7+ y8 约束条件: (1)若果顾客i选择赛伦, 则他认为赛伦的效用比他目前中意的品牌的效用还要大. 例如第1个顾客, 目前中意的pizza是安东尼奥, 效用为52, 因此: 11x11+2x21+6x12+7x22+3x13+17x23+26x14+27x24+8x34 ≥1+52y1 (2)赛伦在每中属性中只能选择一种, 即 x11+x21=1 x12+x22=1 x13+x23=1 x14+x24+x34=1
因此, 该问题的数学模型为: max z = y1+ y2+ y3+ y4+ y5+ y6+ y7+ y8 11x11+ 2x21+ 6x12+ 7x22+ 3x13+17x23+26x14+27x24+ 8x34 ≥1+52y1 11x11+ 7x21+15x12+17x22+16x13+26x23+14x14+ 1x24+10x34 ≥1+58y2 7x11+ 5x21+ 8x12+14x22+16x13+ 7x23+29x14+16x24+19x34 ≥1+56y3 13x11+20x21+20x12+17x22+17x13+14x23+25x14+29x24+10x34 ≥1+83y4 2x11 +8x21+ 6x12+11x22+30x13+20x23+15x14+ 5x24+12x34 ≥1+58y5 12x11+17x21+11x12+ 9x22+ 2x13+30x23+22x14+12x24+20x34 ≥1+70y6 9x11+19x21+12x12+16x22+16x13+25x23+30x14+23x24+19x34 ≥1+79y7 5x11+ 9x21+ 4x12+14x22+23x13+16x23+16x14+30x24+ 3x34 ≥1+59y8 x11+x21=1 x12+x22=1 x13+x23=1 x14+x24+x34=1 xij ,yk=0,1 对于所有i,j,k 求解结果:x11=x22= x23=x14=1, y1= y2=y3= y6= y7=1
五、指派问题(Assignment problem)(P223) • 指派问题是一种特殊的整数规划问题。在实践中经常会遇到一种问题:某单位有m项任务要m个人去完成(每人只完成一项工作),在分配过程中要充分考虑各人的知识、能力、经验等,应如何分配才能使工作效率最高或消耗的资源最少?这类问题就属于指派问题。引入0-1变量xij
案例:福尔市场营销调查指派问题(P223) • 福尔市场营销调查公司有3个新客户需要进行市场调查,目前正好有3个人没有其他工作,由于他们的对不同市场的经验和能力不同,估计他们完成不同任务所需时间如下表。公司面临的问题是如何给每个客户指派一个项目主管(代理商),使他们完成市场调查的时间最短。
设 xij=1表示指派主管i完成第j项市场调查, 否则 xij=0 则问题的数学模型为: min f= 10x11+15x12+9x13+9x21+18x22+5x23+6x31+14x32+3x33 x11+x12+x13 = 1 x21+x22+x23 = 1 x31+x32+x33 = 1 x11+x21+x31 = 1 x12+x22+x32 = 1 x13+x23+x33 = 1 xij≥0,i=1,2,3;j=1,2,3
整数规划小结: 1. 整数规划的提出是解决实际的需要; 2. 0-1 变量的引入使得整数规划的应用非常广泛; 3. 整数规划的求解对计算机软件要求较篙.