510 likes | 706 Views
云南农业大学经济管理学院 主讲 : 佘迎红. E-mail: sheyinghongkm@yahoo.com.cn Tel: 13888581179. 第 3 章 整 数 规 划 Integer Programming. 3.1 整数规划数学模型 Mathematical Model of IP 3.2 整数规划的求解 Solving Integer Programming 3.3 0 - 1 规划的求解 Solving Binary Integer Programming. 3.1 整数规划的数学模型.
E N D
云南农业大学经济管理学院 主讲: 佘迎红 E-mail: sheyinghongkm@yahoo.com.cn Tel: 13888581179
第3章 整 数 规 划 Integer Programming 3.1 整数规划数学模型 Mathematical Model of IP 3.2 整数规划的求解 Solving Integer Programming 3.3 0-1规划的求解 Solving Binary Integer Programming
3.1整数规划的数学模型 线性规划的决策变量取值可以是任意非负实数,但许多实际问题中,只有当决策变量的取值为整数时才有意义。 例如,产品的件数、机器的台数、装货的车数、完成工作的人数等,分数或小数解显然是不合理的。 对某一个项目要不要投资的决策问题,可选用一个逻辑变量 x,当x=1表示投资,x=0表示不投资。 纯整数规划(IP):xj全部取整数 混合整数规划(MIP):xj部分取整数 0-1整数规划(BIP):整数变量只能取0或1 分类
3.1整数规划的数学模型 【例3-1 】某人有一背包可以装10公斤重、0.025m3的物品。他准备用来装甲、乙两种物品,每件物品的重量、体积和价值如表3-1所示。问两种物品各装多少件,才能使所装物品的总价值最大? 表3-1 【解】设甲、乙两种物品各装x1、x2件,则数学模型为: (3-1)
3.1整数规划的数学模型 【补充例】投资决策问题。某公司有5个项目被列入投资计划,各项目的投资额和期望的投资收益如下表 该公司只有600万元资金可用于投资,由于技术上的原因, 投资受到以下约束: (1)在项目1、2和3中必须且只有一项被选中; (2)项目3和项目4最多只能选中一项; (3)项目5被选中的前提是项目1必须被选中。 如何在上述条件下选择一个最好的投资方案,使投资收益最大?
3.1 整数规划的数学模型 【解】设xj为选择第 j(j=1,2,3,4,5)个项目的决策
3.1整数规划的数学模型 【例3-2 】在例3-1中,假设此人还有一只旅行箱,最大载重量为12公斤,其体积是0.02m3。背包和旅行箱只能选择其一,建立下列几种情形的数学模型,使所装物品价值最大。 (1)所装物品不变; (2)如果选择旅行箱,则只能装载丙和丁两种物品,每件物品的重量、体积和价值如下表所示
3.1整数规划的数学模型 【解】(1)引入0-1变量 yj,令 j=1,2分别是采用背包及旅行箱装载。 (3-2) 此问题也可以建立两个整数规划模型。
背包约束 旅行箱约束 3.1整数规划的数学模型 (2)由于不同载体所装物品不一样,数学模型为 其中M为充分大的正数。 当使用背包时( y1=1, y2=0 ),式(b)和(d)是多余的; 当使用旅行箱时( y1=0, y2=1 ),式(a)和(c)是多余的。
3.1 整数规划的数学模型 同样可以讨论对于有m个条件互相排斥、有m (≤m、≥m)个条件起作用的情形。 (1)右端常数是k个值中的一个时,类似式(3-2)的约束条件为
3.1整数规划的数学模型 (2)对于m 个(组)条件中有k(≤m)个(组)起作用时,类似式(3-3)的约束条件写成 这里yi=1表示第 i 组约束不起作用(如y1=1式(3-3b)、(3-3d)不起作用),yi=0表示第 i个约束起作用。当约束条件是“≥”符号时右端常数项应为
或 3.1整数规划的数学模型 【例3-3】试引入0-1变量将下列各题分别表达为一般线性约束条件 (1)x1+x2≤6或4x1+6x2≥10或2x1+4x2≤20 (2)若x1≤5,则x2≥0,否则x2≤8 (3)x2取值0,1,3,5,7 如果要求至少一个条件满足,模型如何改变? 【解】(1)3个约束只有1个起作用
3.1 整数规划的数学模型 (2)两组约束只有一组起作用 (1) (2) (3) (4) (3)右端常数是5个值中的1个
3.1 整数规划的数学模型 【例3-4】企业计划生产4000件某种产品,该产品可自己加工、外协加工任意一种形式生产。已知每种生产的固定费用、生产该产品的单件成本以及每种生产形式的最大加工数量(件)限制如表3-2所示,怎样安排产品的加工使总成本最小。 表 3-2
3.1整数规划的数学模型 【解】设xj为采用第 j(j=1,2,3)种方式生产的产品数量,生产费用为 其中kj是固定成本,cj是可变成本。 设0-1变量yj
3.1整数规划的数学模型 配合目标,使得只有选用第j 种加工方式才产生相应成本,不选用第j 种加工方式就没有成本。 (3-4) 用WinQSB软件求解得到: X=(0,2000,2000)T ,Y=(0,1,1)T,Z=25400
3.1整数规划的数学模型 整数规划的一般形式: (Ⅰ) 部分或全部取整 称线性规划模型 (LP) (Ⅱ) 为(Ⅰ)的松弛问题。 每一个整数规划都对应一个松弛问题,整数规划比它的松弛问题约束得更紧。
本节学习要点 3.1 整数规划的数学模型 1. 整数规划模型的特征 2. 什么是纯(混合)整数规划 3. 0-1规划模型的应用 下一节:纯整数规划的求解
3.2整数规划的求解 整数规划解的特点 • 整数规划(Ⅰ)的可行解集是其松弛问题(Ⅱ)的可行解集的子集。线性规划问题的可行解集是一个凸集(稠密的),但整数规划的可行解集不是凸集(离散型)。 • 如果松弛问题(Ⅱ)的最优解是整数解,则一定是整数规划(Ⅰ)的最优解。 • 整数规划(Ⅰ)的最优值不会优于松弛问题(Ⅱ)的最优值。
x2 A 10 松弛问题的最优解X=(3.57, 7.14), z=35.7 B C x1 o 8.33 10 图3-1 3.2整数规划的求解 用图解法求解例3-1的松弛问题 点B为最优解 X=(3.57,7.14) Z=35.7 整数规划问题的可行解集是图中可行域内的整数点。 图3-1
x2 A 10 松弛问题的最优解X=(3.57, 7.14), z=35.7 B C x1 o 8.33 10 图3-1 3.2 整数规划的求解 • 松弛问题的最优解 X=(3.57,7.14), Z=35.7 • “四舍五入”得 X=(4,7) 不是可行解; • 用“取整”法来解时,X=(3,7)虽属可行解,但代入目标函数得Z=33, 并非最优。 • 该整数规划问题的最优解是X=(5,5),最优值是Z=35 即甲、乙两种物品各装5件,总价值35元。 由图3-1知,点(5,5)不是LP可行域的顶点,直接用图解法或单纯形法都无法求出整数规划问题的最优解,因此求解整数规划问题的最优解需要采用其它特殊方法。
3.2.1分支定界法 【例3-5 】用分支定界法求解例3-1 【解】先求对应的松弛问题 用图解法得到最优解X=(3.57,7.14), Z0=35.7
3.2.1 分支定界法 x2 A 10 松弛问题LP0的最优解X=(3.57, 7.14), Z0=35.7 B C x1 o 8.33 10
x2 ① ② A LP1:X=(3, 7.6), Z1=34.8 10 B LP2:X=(4, 6.5), Z2=35.5 LP1 LP2 C 0 10 x1 4 3
LP3 ① ② A LP1:X=(3, 7.6), Z1=34.8 10 B 7 6 LP3:X=(4.33, 6), Z3=35.33 LP1 LP2 C 0 10 x1 x1 3 4
① ② A LP1:X=(3, 7.6), Z1=34.8 10 LP3 B 7 6 LP1 LP2 C 0 10 x1 x1 4 3 LP5 LP4:X=(4, 6), Z4=34 LP5:X=(5, 5), Z5=35 此为原IP最优解 x1 x1 5
3.2.1分支定界法 尽管LP1的解中x2不为整数,但Z5≧Z1,因此LP5的最优解就是原整数规划的最优解。若Z5≦Z1,则要对LP1进行分支。
3.2.1分支定界法 上述分枝过程可用下图表示 LP0: X=(3.57, 7.14),Z0=35.7 x1≤3 x1≥4 LP1: X=(3, 7.6) Z1=34.8 LP2: X=(4, 6.5) Z2=35.5 x2≥7 x2≤6 LP3: X=(4.33, 6) Z3=35.33 无可行解 最优解 x1≥5 x1≤4 LP4: X=(4, 6) Z4=34 LP5: X=(5, 5) Z5=35
3.2.1分支定界法 分支定界法的步骤: 1. 求整数规划的松弛问题最优解; 2. 若松弛问题的最优解满足整数要求,得到整数规划的最优解,否则转下一步; 3. 任意选一个非整数解的变量xi,在松弛问题中加上约束xi≤[xi]及xi≥[xi]+1组成两个新的松弛问题,称为分支。新的松弛问题具有特征:当原问题是求最大值时,目标值是分支问题的上界;当原问题是求最小值时,目标值是分支问题的下界;
3.2.1分支定界法 4. 检查所有分支的解及目标函数值,若某分支的解是整数并且目标函数值大于(max)等于其它分支的目标值,则将其它分支剪去不再计算, 若还存在非整数解并且目标值大于(max)整数解的目标值,需要继续分支,再检查,直到得到最优解。 分支原则:始终选Z值大的,且xi中有分数的LP进行分支。 定界原则:满足取整要求,且目标函数值较已定的 “界”更优,则用该目标函数值替换,重新定界。 说明: 分支定界法适用于求解纯整数规划和混合整数规划
设xi= 不为整数, 3.2.2割平面法 设纯整数规划 松弛问题的最优解
将 分离成一个整数与一个非负真分数之和: 则有 3.2.2割平面法 等式两边都为整数, 并且有
则 3.2.2割平面法 加入松弛变量si得 此式称为以xi行为源行(来源行)的割平面方程,或分数切割式,或R.E.Gomory(高莫雷)约束方程。 将Gomory约束加入到松弛问题的最优表中,用对偶单纯形法计算,若最优解中还有非整数解,再继续切割,直到全部变量为整数。
例如, x1行: 移项: 加入松弛变量s1得割平面方程 3.2.2 割平面法 同理,对于x2行有:
3.2.2 割平面法 【例3-6】用割平面法求解下列IP问题 【解】对应的松弛问题是
3.2.2割平面法 加入松弛变量x3及x4后,用单纯形法求解,得到最优表3-3。 表3-3 最优解X(0)=(5/2,15/4), 不是IP的最优解。 选择表中的第一行(也可以选第二行)为源行
3.2.2割平面法 分离系数后改写成 加入松弛变量x5得到高莫雷约束方程 将此式作为约束条件添加到表3-3中,用对偶单纯形法计算,如表3-4所示
3.2.2割平面法 表3-4 最优解X(1)=(3,3),最优值Z=21。
x1+x2≤6 x2 A 6x1+4x2=30 D C C x1+2x2=10 x1 0 E B 3.2.2割平面法 几何意义 由约束条件得: x3=30-6x1-4x2 , x4=10-x1-2x2 代入割平面方程 -x3-2x4≤-2,得 x1+x2≤6 说明:利用割平面法求解整数规划问题时,若从最优单纯形表中选择具有最大小(分)数部分的非整分量所在行构造割平面方程,往往可以提高“切割”效率,减少“切割”次数。 不含任何 整数解
x2 6 x1+x2≤6 5 5x1+9x2≤45 x1 9 6 0 3.2.3 整数规划的图解法 思考: 对于两个变量的纯整数规划问题是否可采用图解法。 最优解 x1=0, x2=5
3.2.3 整数规划的图解法 步骤: 1.作出松弛问题的可行域。 2.在可行域内作出所有的整数网格。 3.作目标函数等值线,将等值线平行移动,最后接触到的网格点(或平行移动到松弛问题的最优解点再往回移,首先接触到的网格点),就是整数规划的最优解。
本节学习要点 3.2 整数规划的求解 1. 理解分支与定界的含义 2. 选择合适的“ 枝”生“ 枝” 3. 掌握何时停止生“枝” 4. 领会割平面法的基本原理 5. 分离源行,求出Gomory约束 6. 在最优表中增加Gomory约束,用对偶单纯形法迭代 下一节: 0-1规划的求解
3.3 0-1规划的求解 3.3.1 求解0-1整数规划的隐枚举法 隐枚举法的步骤: 1. 找出任意一可行解,目标函数值为Z0 2. 原问题求最大值时,则增加一个约束 • 作为过滤条件。 • 当求最小值时,上式改为小于等于约束。 • 列出所有可能解,对每个可能解先检验是否满足过滤条件,若满足再检验其它约束,若不满足约束,则不可行,若所有约束都满足,且目标值超过Z0 ,则应更换过滤条件。 • 4. 目标函数值最大(最小)的解就是最优解。
3.3 0-1规划的求解 【例3-7】用隐枚举法求解下列BIP问题 (1) (2) (3) (4)
3.3 0-1规划的求解 表3-5 z≥8 8 最优解:X=(1, 0, 1, 1)T,最优值Z=14
思 考 商 场 招 租 长江综合商场有5000m2营业面积招租,拟吸引以下5类商店入租。已知各类商店开设一个店铺占用的面积,在该商场内最多与最少开设的个数,以及每类商店开设不同个数时每个商店的每月预计利润见表。商场除按租用面积每月收取100元/m2租金外,还按利润的10%按月收取屋业管理费。问该商场应招租上述各类商店各多少个,使预期收入为最大?
maxZ=100(250y1+350y2+600y3+300y4+400y5)+10%(9x11+8×2x12 +7×3x13+10x21+9×2x22+…+12 ×3x53) x11+2x12+3x13=y1 x21+2x22+3x23=y2 x31+2x32+3x33=y3 x41+2x42+3x43=y4 x51+2x52+3x53=y5 x11+x12+x13=1 x21+x22+x23=1 x31+x32+x33=1 x41+x42+x43≤1 x51+x52+x53=1 x23=0 x43=0 250y1+350y2+600y3+300y4+400y5≤5000 xij=0 或 1(i=1,2,3,4,5; j=1,2,3), yi≥0 (i=1,…,5)
思 考 商场招租 用LINDO软件计算,得最优解 x12=x22=x33=x42=x53=1,其余 xij=0 最优值 Z=63(万元) 最优方案: 招租服装店2个,鞋帽店2个,百货店3个,书店2个,餐饮店3个,预期收入最大,为63万元
本节学习要点 3.3 0-1规划的求解 1. 用隐枚举法求0-1规划的最优解 2. 用分枝-隐枚举法求解0-1规划的最优解 The End of Chapter 3