第四章 整数规划
运筹学-4-整数规划

若松弛问题的最优解满足整数要求,得到整数规划的最优解,否则转下 一步;
2)分支与定界: 任意选一个非整数解的变量xi,在松弛问题中加上约束: xi≤[xi] 和 xi≥[xi]+1 组成两个新的松弛问题,称为分枝。新的松弛问题具有特征:当原问题 是求最大值时,目标值是分枝问题的上界;当原问题是求最小值时,目 标值是分枝问题的下界。 检查所有分枝的解及目标函数值,若某分枝的解是整数并且目标函数 值大于(max)等于其它分枝的目标值,则将其它分枝剪去不再计算, 若还存在非整数解并且目标值大于(max)整数解的目标值,需要继续分枝, 再检查,直到得到最优解。
x1 , x2 , xn 0
实际问题要求xi为整数! 如机器的台数,人数等
第四章 整数规划
例: 胜利家具厂生产桌子和椅子两种家具。桌 子售价50元/个,椅子售价30元/个,生产桌子 和椅子需要木工和油漆工两种工种。生产一个 桌子需要木工4个小时,油漆工2小时。生产一 个椅子需要木工3个小时,油漆工1小时。该厂 每月可用木工工时为120小时,油漆工工时为 50小时。问该厂如何组织生产才能使每月的销 售收入最大?
第四章 整数规划
min z cij xij [1200 y3 1500 y4 ]
i 1 j 1 4 4
x11 x21 x31 x41 350 x12 x22 x32 x42 400 x13 x23 x33 x43 300 x14 x24 x34 x44 150 x x x x 400 11 12 13 14 s .t x21 x22 x23 x24 600 x31 x32 x33 x34 200 y3 x41 x42 x43 x44 200 y4 x 0 ( i , j 1, 2, 3, 4) ij yi 0,1 ( i 1, 2)
第4章 整数规划

第4章 整数规划判断:用分枝定界法求解一个极大化的整数规划问题,任何一个可行解的目标函数值是该问题目标函数值的下界;指派问题数学模型的形式同运输问题十分相似,故也可以用表上作用法求解;效率矩阵的任一行(或列)减去(或加上)任一常数,指派问题最优解不会受到影响; 匈牙利法只能用于平衡分配问题;对于极大化问题,匈牙利法不能直接求解。
整数规划问题解的目标函数值优于其相应的线性规划问题的解的目标函数。
用割平面法求解整数规划问题,构造的割平面有可能切去一些不属于最优解的整数解。
用分枝定界法求解一个极大化的整数规划问题时,当得到多于一个可行解时,通常可任取其中一个作为下界值,在进行比较剪枝。
分配问题的每个元素都加上同一个常数k ,并不会影响最优分配方案。
分配问题的每个元素都乘上同一个常数k ,并不会影响最优分配方案。
分配问题域运输问题的数学模型结构形式十分相似,故也可以用表上作业法求解。
隐枚举法也可以用来求解分配问题简答试述分枝定界法求解问题的主要思想。
试述隐枚举法的步骤。
试讲述割平面方法的基本原理. 试例举三种应该剪枝的情况。
计算题分枝定界法用分枝定界法求解下列整数规划问题12max Z x x =+1212129511414123,x x x x x x +≤-+≤≥0且为整数用分枝定界法求解下列整数规划问题12max 32Z x x =+121212231429,x x x x x x +≤+≤≥0且为整数用分枝定界法求解下列整数规划问题12max 2010Z x x =+1232312312324434323,,x x x x x x x x x x x ++≤≤+≤≥---0且为整数用分枝定界法求解下列整数规划问题12max 79Z x x =+121212136735,x x x x x x x +≤+≤≥-0,且为整数用分枝定界法求解下列整数规划问题123max 33Z x x x =++123231231231324432323,,,x x x x x x x x x x x x x ++≤≤+≤≥---0,且为整数用分枝定界法解下列整数规划问题:1212121212232478188..3219,0MaxZ x x x x x x s t x x x x =+-+≤⎧⎪+≤⎪⎨+≤⎪⎪≥⎩且为整数用分枝定界法解下列整数规划问题1212121212250..6221,0MaxZ x x x x x x s t x x x x =++≤⎧⎪-+≤⎪⎨+≤⎪⎪≥⎩且为整数用分枝定界法解下列整数规划问题12312121225231050..7228,0,MaxZ x x x x x s t x x x x x =-+-+≤⎧⎪-≤⎨⎪≥⎩为整数用分枝定界法解下列整数规划问题12312341234345272222..0,1,2,3,4,5,j MaxZ x x x x x x x x x x x s t x j x x =-+-⎧-+-+=⎪⎪⎪-++=⎨⎪≥=⎪⎪⎩为整数用分枝定界法求解下列整数规划模型12max 23z x x =+121257354936x x x x +≤+≤12,0x x ≥且为整数有如下整数规划问题12max z x x =+12129511414123x x x x +≤-+≤12,0x x ≥且为整数试用分枝定界法求其最优解。
第四章 整数规划

√
√
27
17
结论: 结论: 最优解为x 最优解为 1=1、x2=1、x3=0,即对Ⅰ和Ⅱ两个 、 、 ,即对Ⅰ 项目投资,利润最大为27万元 万元。 项目投资,利润最大为 万元。
18
例2:用完全枚举法求解 型整数规划 :用完全枚举法求解0-1型整数规划
max f = 3x1 − 2 x2 + 5 x3 x1 + 2 x2 − x3 ≤ 2 x + 4x + x ≤ 4 2 3 1 x1 + x2 ≤ 3 4x + x ≤ 6 1 3 x1 , x2 , x3 = 0或1
① ② ③ ④
16
点
过滤条件 f≥16 × √ × √ f≥26 × √ √ f≥27 √
约束条件 ① ② ③ ④
f值 值
(0,0,0) (0,0,1) (0,1,0) (0,1,1) (1,0,0) (1,0,1) (1,1,0) (1,1,1)
√ √
√ √
√ √
√ √
16 26
√ √ ×
× √
35
min
第二步: 第二步:检验
行检验 列检验
0 * 8 11 0 * 2 3 0 11
第四章整数规划讲稿11

设司机和乘务人员分别在各时间段一开始时上班,并连 续工作8h,问该公交线路怎样安排机和乘务人员,既能 满足工作需要,又配备最少司机和乘务人员?
解:设 xi 表示第i班次时开始上班的司机和乘 务人员数,这样我们建立如下的数学模型。
目标函数:minZ= x1 + x2 + x3 + x4 + x5 + x6
第四章 整数规划(Integer Programming ,简称为IP) 本章要求 • 理解整数规划的含义; • 掌握分配问题的匈牙利算法; • 掌握割平面法; • 掌握分枝定界法的思想和方法; • 掌握0-1变量的含义和用法。
§1
整数规划问题的提出
在线性规划问题中,所有的解都假设为具 有连续型的数值,即解可以是整数、分数或 小数。但对于某些具体的问题,常要求最优 解是整数的情形。例如,所求的解是机器台 数,完成工作的人数或装货的车数等,还有 逻辑变量,只允许取整数值的一类变量,比 如x=1或0。这时,分数或小数的解就不符合 要求。
一、整数规划的定义:决策变量要求取整数的LP。
IP的松驰问题:任何IP,放弃整数要求后,所得到的 问题称为原IP的松驰问题(Slack Problem)或称作和原 IP相应的LP问题。 二、分类
1、纯整数规划(Pure Integer Programming)或全整数规划 (All Integer Programming):全部决策变量均要求取整数 的LP。
解题时需要引入m2个0-1变量 xij ,即令 :
匈牙利法要求分配问题的模型为标准型, 即满足下列条件的模型: (1)目标函数为极小化;
(2)效率矩阵[ij]为m阶方阵;
(3)[ ij]中元素 ij ≥0,且为常数。
第4章 整数规划

整数规划
整数规划问题的提出
整数规划模型与一般的线性规划模型 的区别仅在于: 的区别仅在于:整数规划的变量要求 部分的或全部的为整数。例如: 部分的或全部的为整数。例如:
m Z = x + x2 ax 1 14 1 x +9x2 ≤ 51 −6x +3x2 ≤1 1 x , x ≥ 0且 整 为 数 1 2
(纯整数规划问题) 纯整数规划问题)
解:设xi为第i天开始上班的人数: 为第i天开始上班的人数: Min: Min:z=x1+x2+x3+x4+x5+x6+x7 s.t. x1 +x4+x5+x6+x7≥17 +x5+x6+x7≥13 x1+x2 x1+x2+x3 +x6+x7≥15 x1+x2+x3+x4+ +x7≥19 x1+x2+x3+x4+x5 ≥14 x2+x3+x4+x5+x6 ≥16 x3+x4+x5+x6+x7≥11 xi≥0 ( i=1,2,…,7) i=1,2,…,7)
例:某市6 例:某市6个区,希望设 置最少消防站以便节省 费用。条件:
必须保证在城区任何地方发 生火警时,消防车能在15 生火警时,消防车能在15分 15分 钟之内赶到现场。各区之间 消防车行驶的时间见右表。
请确定设站方案。
布点问题的数学模型: 0-1规划 布点问题的数学模型:
设0−1为决策变量,当表示i地区设站,表示i 为决策变量,当表示i地区设站,表示i 地区不设站。这样根据消防车15分钟赶到现 地区不设站。这样根据消防车15分钟赶到现 场的限制,可得到如下模型
4第四章 整数规划

分别求解这两个线性规划问题,得到的解是:
x1 4, x2 2.1, z 349 和 x1 5, x2 1.57, z 341 变量 x2 仍不满足整数的条件,对问题(A), 必有 ,将(A)增加约束条件,得到
4.2 整数规划的求解算法 能否采用四舍五入或者去尾法求得整数解? 以例4.1的求解为例,先不考虑 x1 , x2为整数的 条件,采用单纯形法求解该问题,得到: 采用四舍五入法求解,则有 x1 5, x2 0 x1 , x2 ,此解不是可行解; 而去尾法得到 x1 4, x2 0 ,目标函数 z 80 , 该解是否是最优解呢?实际上,当 x1 4, x2 1 时, z 90 ,表明,去尾法得到的解并非最优解。 若对
4.1 整数规划的数学建模 4.1.1 装箱问题 例4.1 某厂拟用集装箱托运甲、乙两种货物,每箱 的体积、重量、可获利润以及托运所受限制如表4-1 所示。问两种货物各托运多少箱,可使获得利润为最 大? 表 4-1
货物 甲 乙 托运限制 体积(米3/箱) 重量(百公斤/箱) 利润(百元/箱) 5 4 24米3 2 5 13百公斤 20 10
用观察法找问题A的一个整数可行解,一 般可取 x j 0, j 1, , n, 试探,求 得其目标函数值,并记 z 。以 z* 表示问题 A的最优目标函数值;这时有 , * z z z0 然后按下述步骤进行迭代。
步骤1:分支定界过程 分支过程。在B 的最优解中任选一个不符 bj [b j ] xj 合整数条件的变量 ,若其值为 ,以 bj 表示小于 的最大整数,构造两个约束条件: x j [bj ]和x j [bj ] 1 。将这两个约束条件, 分别加入问题B ,得到后续规划问题 B1和B2 。 不考虑整数条件求解这两个后续问题。 定界过程。以每个后续问题为一分支标明求 解的结果,在其他问题解的结果中,找出最优 目标函数值最大者作为新的上界 z 。从已符合 整数条件的各分支中,找出目标函数值最大者 作为新的下界 z ,若无可行解,则 z 0 。
运筹学基础及应用_(第四章_整数规划与分配问题)

(d) 8
(e)1号、
4号、6号、9号开采时不能超过两个,试表示上
述约束条件。
Next
基础教研室
(a)当x8=1 当x8=0 ∴ x8 x6
x6=1,x6≠0 x6=1,x6=0
(b)当x5 =1 当x5 =0 ∴ x5 + x3 1
x3=0, x3 ≠1 x3=0, x3 =1
基础教研室
【例1】求下述整数规划的最优解
Max z= 3x1 + 2x2 st . 2x1 + 3x2 14 x1 + 0.5x2 4.5 x10,x20,且为整数
基础教研室
x2 x1+0.5x2=4.5
4
(3.25, 2.5) 2 2x1+3x2=14
2
4
6
x1
3x1+2x2=6
二、整数规划的求解方法
1 -选择电网供应 设 y1 0 -不选择电网供应
10 d j x j f (1 y1 ) M j 1 10 0.3d j x j p (1 y2 ) M j 1 y1 y2 1 y1 , y2 0或1
基础教研室
【例3】投资决策问题 某公司准备1000万元资金在10个地点中选择若干个建立 工厂(工厂名称用地点名来命名),有关数据如下:
由于各个工厂之间有配套和协作关系,因此必须满足条件: 1、 建工厂1就必须同时建工厂2; 2、 若建工厂2就不允许建工厂3; 3、 工厂4和工厂5至少建一个; 4、 工厂6,7,8恰好建2个; 5、 工厂8,9,10最多建2个; 6、 建工厂4或者建工厂6,就不能建工厂8,反过来也一样; 7、 条件2,3,5最多满足2个。 问选择哪几个地点建厂最有利? Next
第4章整数规划——指派问题

13 11 2 0 10 11 57 4 4 2 13 7 0 0 6 9 5 32 0 0
0 0 X 1 0
0 0 1 1 0 0 0 0 0 0 1 0
故可得到指派问题的最优解X,这样 安排能使总的维修时间最少,维修时间为 z=4+4+9+11=28(小时)。
X (2)
都是指派问题的最优解。
4 指派问题
4.3 指派问题的求解 指派问题既是一类特殊的整数规划问题,又是特殊的运输问 题,因此可以用多种相应的解法来求解,然而这些解法都没有充 分利用指派问题的特殊性质,有效地减少计算量,直到1955年库 恩(W. W. Kuhn)提出的匈牙利法才有效地解决了指派问题。 匈牙利法的理论基础 定义2 独立零元素组 在效率矩阵中,有一组在不同行不同 列的零元素,称为独立零元素组,其每个元素称为独立零元素。 5 0 2 0 2 3 0 0 C 【例4】 已知效率矩阵 0 5 6 7 4 8 0 0 求其独立零元素组。
4 指派问题
0 , 不 指 派 第 i小 组 维 修 第 j台 机 床 x ij ( i , j 1, 2 ,3, 4 ) 1, 指 派 第 i 小 组 维 修 第 j 台 机 床 机车 该问题的数学模型为: 1 2 3 4 4 小组 min z cij xij i 1 j 1 1 x11 x12 x13 2 x11 15 x12 2 x21 x22 x23 任务约束 4 x 1, j 1, 2 , 3 , 4 3 x31 x32 x33 ij i 1 4 x41 x42 x43 人员约束 4 x ij 1, i 1, 2 , 3, 4 j 1 x ij 0 或 1 i , j 1 , 2 , 3 , 4
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例4-1求解下面ILP问题: 相应的LP:
(LP4)
(3.25,2.5) (LP2)
(4,1),14
14.75
(2.5,3),13.5
分枝定界法小结 (1) 先将求解最大化的ILP的松弛问题LP(若是最小化的ILP,可先化
成最大化的ILP),有以下结果之一:
1. 若LP无可行解,则原ILP也无可行解,计算结束; 2. 若LP的最优解是整数解,则它也是原ILP的最优解,计算
2、分枝
在ILP中,X1,X2要求取整数值。若X2取整数值,就要在X2≤2或
X2≥3中取值,为此,我们将X2≤2和X2≥3分别加入原ILP中,将ILP分
成两子问题。即
ILP1:
ILP2:
显然这两个子问题把LP的可行域划分成部分,但是,这样划分,并未丢 掉原ILP的可行解。我们称这一划分过程为分枝。
结束; 3.若LP的最优解不是整数解,则其目标函数值是ILP目标函数 值的上界,转下步。 (2) 在LP的最优解中选取小(分)数部分大的变量作为分枝变量,假 定的小(分)数部分大,则以构造两个约束条件和分别加入 ILP,将ILP分成两个子问题ILP1和ILP2; (3) 求解子问题的松弛问题LP1和LP2,并修改ILP目标值的上界,若 新上界所对应的解为整数解或符合混合整数规划条件,则这个解 就是原ILP的最优解,计算结束,否则,对新上界对应的子问题 继续分枝,直到求出最优解为止。
输入约束条件右边值,然后进行规划求解,“规划求解”对话框如图4-
4所示。
图4-4 规划求解”对话框
应的ILP1再分枝。考虑到X1*=(3.5,2)中X1=3.5仍非整数,不合要
求,再把X1≤3或X1≥4分别加入ILP1中,将ILP1分成两个子问题如下:
ILP3:
ILP4:
显然子问题ILP3和ILP4的整数可行解中包含了ILP1中的全部整数可行 解,因此我们可通过求解ILP3和ILP4的松弛问题LP3和LP4来寻找原 ILP1的最优整数解,于是由图解法得:
0.20X1 + 0.25X2<=5000 X1 ,X2 >= 0, 且为整数
例4-4 有n个工厂拟在n个不同的厂址上建设。已知从i厂到j厂的物资 运量为di j,又知从p厂址到q厂址单位物资的运费为Cpq。试将这个问题 归结成一个整数规划模型,目标是使总运费为最少。
解:设 则此问题的模型为:
例4-5某钻井队要从以下10个可供选择的井位中确定5个钻井探油,
为了求得该整数规划的最优整数解,我们将经过B点的目标函数等 值线向可行域内平行移动,首次碰到的整数点即为所求。在本例中,最 优整数解点就是(4,1)相应的Z=14。本例说明,在一般情况下,企图 用舍入化整的办法直接得到最优整数解是不可取的,必须专门研究其解 法。
促使人们研究整数规划还有其他原因,就是整数规划模型,还能为 处理某些特殊问题提供一种很好的方法,因为有些问题不利用整数规划 就很难处理。例如,投资工作中的许多决策问题,还有资源分配问题 中,有多重约束条件的选择问题,等等。都属于这种情况。
例4-3设某国际巧克力公司生产两种产品,朱古力和朱尔斯,其相 关数据如下:
单位边际贡献 单位机器工时 单位直接人工
工时
朱古 力
$1.00 0.02
0.20
朱尔 斯
$2.00 0.05
0.25
可以利用的有限资源:机器工时700;直接人工工时5000。求产品如何 组合才能使公司的效益达到最大。
解:设利润为Y,产品朱古力和朱尔斯的产量分别为X1 X2 MAX Y=1.00X1+2.00X2 S.T 0.02X1 + 0.05X2<=700
LP3的X3*=(3,2),Z3*=13 LP4的X4*=(4,1),Z4*=14
此结果表明,在LP1的可行域上,无论X1取何整数值,ILP1的最优目标 值都不会超过Z4*=14,而ILP2的目标值Z2*=13.5也不超过14,所以可断
定原ILP的目标值不会超过14,为此我们再把原ILP的目标值上界修改为
第4章 整数线性规划
(Inregre Linear Progemming) §1 整数规划特点及应用 前面讨论的LP的最优解可能是分数或小数。 但是在经济管理和工程实践中,常常会出现要求 变量值取整数的现象。如决策变量是机器台数、 人数或车辆数等。最初有些人认为:只要对非整 数解“舍入取整”即可。但后来发现这是不行的。 因为舍入取整后的解不见得是可行解,即使是可 行解,也不一定是最优整数解。因此,这里另设 一章,研究此问题,并称这种求整数最优解的LP 问题为整数线性规划,简记为“ILP”。 整数规划分为许多类型:通常把所有变量都 要求取整数的整数规划,称其为全(纯)整数规 划;把部分变量要求取整数的整数规划,称为混 合型ILP。把所有变量取值均为0或1的整数规划称 为0-1规划。等等。
5.0
15.0
700
5.0
7.5
12.5
1200
处理能力(吨/
1000
500
1300
周)
解:以i=1,2分别表示城镇1和城镇2;j=1,2,3分别表示焚烧、 填海和掩埋三种废物处理方式。用Xij为按j方式每周处理城镇i的废物吨 数,再设
则该问题的数学模型为:
在Excel工作表上建立运价表和变量表,如图4-3所示。
下面我们就用例子来说明整数规划模型的应用。 例4-2 试利用0-1变量将下列各题分别表示成一般线性约束条件。
(1) X1+X2 ≤ 2 或 2X1+3X2 ≥ 5 (2) 变量X只能取值0、3、5或7中的一个 (3) 若X1≤2,则X2≥1,否则X2≤4 (4) 以下四个约束条件中至少满足两个:
X1+X2≤5,X1≤2,X3≥2,X3+X4≥6
下面我们通过例子来说明分枝定界法的具体求解过程。
例4-6 用分枝定界法求解上节中例1-1问题。 解:1、先不考虑整数约束条件,用图解法求得相应LP的最优解 为:
X*=(3.25,2.5),Z*=14.75 因为LP可行域上所有整数点是原ILP的全部可行解,所以原ILP的最 优解应在这些整数点当中。 上面求出LP的最优解X*虽不是整数解,但由图可知,Z*是原ILP目 标值的上界。这是因为ILP的全部可行解(即可行域上全部整数点)的 目标函数值都不会超过Z*。所以称这一步为定界。
§3 利用Excel求解整数规划问题
例4-7 某地区有两个城镇,它们每周分别产生700吨和1200吨固体废 物。拟用三种方式(焚烧、填海、掩埋)分别在三个场地对这些废物进 行处理,如下图4-2所示。每个处理场所的处理成本分为固定成本和变 动成本两部分,其数据如表1所示。两城镇至各处理场所的运输成本、 应处理量与各处理场所的能力如表2所示。试求使两城镇处理固体废物 总费用最小的方案。
解:
例4-6 某厂需生产2000件产品,该产品可利用 A、B、C设备中的任意一种(或两种或三种)设 备加工。已知每种设备的生产准备费用、生产该 产品时的单位成本以及每种设备限定的最大加工 数量如下表所示,试建立使总费用最小的生产计 划问题数学模型。
设备 生产准备费用 生产成本(元/ 限定最大加
(元)
件)
工件数
A
1000
B
3000
C
2000
100
600
20
800
50
1200
解:用j=1,2,3表示A、B、C三种设备,Xj 表示在设备j上加工的产品数量,再设
则有
§2 分枝定界法*
分枝定界法是求解混合整数规划与纯整数规划的一种常用的有效方 法,多数求解ILP的软件也是用分枝定界法编写的。
分枝定界法的思想是先不考虑整数约束条件,直接求解其相应的 LP(又称其为松弛问题)。若相应的LP的最优解不是整数解,则由其 最优目标函数值可确定出原ILP目标函数的上(下)界,称此为定界。 然后增加约束条件把原ILP分成两个子问题,称其为分枝。接下来求解 子问题,由此,不断缩小原ILP目标函数的上界,直至求出最优整数解 或判断出无解为止。
解:若先不考虑整数约束条件求解相应的LP问题,由图解法得可 行域如图4-1。最优解X*=(3.25,2.5)。
所谓整数解,即要求变量取整数值。而由X*舍入化整得到的解,如 (4,3)或(4,2)或(3,3)都不在可行域上,所以都不是可行解, 而(3,2)虽是可行解,但它并不是最优整数解,因为该例有一个可行 解X=(4,1),其目标值Z=14,大于可行解(3,2)的目标值13。
城镇1(700吨)
焚烧(1000吨) 填海(500吨) 掩埋(1300吨)
表1
处理场所
1.焚烧 2.填海 3.掩埋
城镇2(1200吨)
图4-2
固定成本(元 / 吨)
3850 1150 1920
变动成本(元 / 吨)
12 16 6
表2
处理场所 运费(元/吨)
焚烧
填海
掩埋 应处理量
城镇
城镇1 城镇2
7.5
图4-3 运价表和变量表
将工作表的B9:D10及B12:D12区域作为可变单元格,在单元格B13
中输入目标函数表达式“=SUMPRODUCT(B3:D4,
B9:D10)+
SUMPRODUCT(B6:D6, B12:D12)”。
在单元格B14:B18中输入约束条件左边表达式,在单元格D14 :D18中
解: (1)设
(2)
(3)
(4) 设
则 下面看一个实际问题。假定某化工厂有两条生产线A1和A2均可用