整数规划和0-1规划
第四讲 0 1整数线性规划要点

? ??
x25 、? 项x1目3和4只能选中一项 x3i 、? 项0,1目5被i ?选1中,2,的? 前,5提是项目 1被选中;如何
在 满足上述条件下选择一个最好的投资
解:设 xi为决方策案变,量使(投i资? 1收,2益,?最,5大)
?1 投资第i个项目
xi ? ?
?0 不投资第i个项目
项目
1 2 3 4
整数规划建模举例
练习1 :组合投资问题。
某财团有 B 万元的资金,经过其考察选中 n个投资
项目,其中第 j个项目需投资金额为 a j 万元,预
计获利 c j( j ? 1,2..., n)万元,由于种种原因,
有两个附加条件:第一,项目 2和项目3至少选择一
个;第二项目 5,6,7恰好选择两个。问应如何选
例1:一个旅行者要到某地作两周的带包旅行 ,装背包时,他 发现除了已装的必需物件外,他还能再装5公斤重的东西.他 打算从下列4种东西中选取,使增加的重量不超过5公斤又 能使使用价值最大.这4种东西的重量和使用价值( 这里用打 分数的办法表示价值) 如下表所示,问旅行者应该选取哪些 物件为好?
解:建立模型为 max Z=6x 1 ? 7 x 2 ? 3 x3 ? 9 x4
在 满足上述条件下选择一个最好的投资
解:设 xi为决方策案变,量使(投i资? 1收,2益,?最,5大)
?1 投资第i个项目
xi ? ?
?0 不投资第i个项目
项目
1 2 3 4
投资额 (万元) 210 300 100 130
投资收益 (万元) 150 210 60 80
Z表示投资效益
5
260
180
max=150*x1+210*x2 +60*x3+80*x4+180* x5; 210*x1+300*x2+100 *x3+130*x4+260*x5 <=600; x1+x2+x3>=1; x3+x4=1; x5<=x1; @bin(x1); @bin(x2); @bin(x3); @bin(x4); @bin(x5);
0-1规划

x2
X (2)
X
(1,1)
X (0)
因而在3<x1<4 由于 3.5 = 3, 3.5 = 4 ,因而在 之间已不可能有ILP的最优解, 的最优解, 之间已不可能有 的最优解 这样实际上把LP 故此部分可行域可删除 ,这样实际上把 这样实际上把 问题L 问题 1化为在剩余两块可行域上的两个 LP问题 1,1和L1,2 ,即 问题L 问题 o
因而在2<x2<3 x2 由于 2 1 = 2, 2 1 = 3,因而在 2 2
L2 X (2) 之间已不可能有ILP的最优解, 的最优解, 之间已不可能有 的最优解 3 X (0) 这样实际上把LP 2 这样实际上把 故此部分可行域可删除 ,这样实际上把 X (1) 问题L 问题 0化为在剩余两块可行域上的两个 L 1 LP问题 1和L2 ,即 问题L 问题 o
X (1) X (1,2) 34
ax V : m z = 3x1 + 2x2 2x1 + 3x2 ≤14 x1 + 1 x2 ≤ 4 1 2 2 (L1,2 ) s.t x2 ≤ 2 x1 ≥ 4 x1, x2 ≥ 0
• • • • 1、 引入0-1变量的实际问题 引入0 相互排斥的计划。 ①相互排斥的计划。 ②相互排斥的约束条件 。 ③关于固定费用的问题 。
相互排斥的计划。 ①相互排斥的计划。
某公司拟在市东、 南三区建立门市部。 个位置( 例 : 某公司拟在市东 、 西、 南三区建立门市部 。 拟议中有 7 个位置( 点) Ai (i = 1,2,⋯,7) 可供选择。规定 可供选择。 在东区:由 A1 , A2 , A3 三个点中至多选两个; 三个点中至多选两个; 在东区: 在西区: 两个点中至少选一个; 在西区:由 A4 , A5 两个点中至少选一个; 在南区: 两个点中至少选一个。 在南区:由 A6 , A7 两个点中至少选一个。 如选用 Ai 点,设备投资估计为 bi 元,每年可获利润估计为 ci 元,但投资总 问应选择哪几个点可使年利润为最大? 额不能超过 B 元。问应选择哪几个点可使年利润为最大?
整数规划与01规划

. y j
1, 0,
采用第 j种方式,即x j 0, 不采用第 j种方式,即x j 0
于是目标函数
min z (k1 y1 c1x1) (k2 y2 c2 x2 ) (k3 y3 c3x3 )
23
0-1型整数规划解法之一(过滤隐枚举法)
解0-1型整数规划最容易想到的方法,和一般整数规 划的情形一样,就是穷举法,即检查变量取值为0或1 的每一种组合,比较目标函数值以求得最优解,这就 需要检查变量取值的2n个组合。对于变量个数n较大 (例如n>10),这几乎是不可能的。因此常设计一些 方法,只检查变量取值的组合的一部分,就能求到问 题的最优解。这样的方法称为隐枚举法(Implicit Enumeration),分枝定界法也是一种隐枚举法。当然, 对有些问题隐枚举法并不适用,所以有时穷举法还是 必要的。
24
例6
Max
z 3x1 2x2 5x3
x1 2x2 x3 2
x1 x1
4x2 x2 , x3 0或1
求解思路及改进措施:
1.
先试探性求一个可行解,易看出
且相应的目标函数值为 z 3
(
x1,
x2
,
x3
)
(1,
0,
0)
满足约束条件,故为一个可行解,
z 为 。
14
小结(续)
z z ii)用观察法找问题A的一个整数可行解,一般可取 xj 0, j 1,L , n 试探,求得其目标函数值,并记作 。以 * 表示问题的最优目标 函数值;这时有 z z* z
其次,进行迭代。
第一步:分枝,在B的最优解中任选一个不符合整数条件的变量xj,其值为bj,以[bj]
表示小于bj的最大整数。构造两个约束条件: x j [bj ] x j [bj ] 1
运筹学-9整数规划及0-1变量

学 x1 =0, x7 =1, x8 =0
x1 =0, x7 =0, x8 =1
模 x1 =x7=x8 =0 型 x1 =x7=x8 =1
x1 + x8 =1
x7 + x8 =1
建 (4)开采了A3或A4,就不能开采A5,
立
数 x3 =1, x4 =0, x5 =0
型
x4 1
x3 + x4 1
1,0,1,1
10 防火区只需要1个消防站 11防火区只需要1个消防站
关闭第2消防站,任同样可以负责个
防区的火警。
某公司制造小、中、大3种尺寸的金属容器, 所用的资源为金属板、劳动力和机时见表。 不管每种容器制造的数量是多少,都要支付 一笔固定费用,小号容器是100元,中号容器 是150元,大号容器是200元.现要制定生产计 划,使获得的利润最大?
解:设用 x j = 1 开采 A j 油井. x j = 0 不开采A j油井 目标合适选点,使总利润最大
max Z = 10x1+15x2+25x3+10x4+15x5 +30x6+25x7+30x8+30x9+20x10
s.t.
20x1+25x2+30x3+25x4+40x5 +45x6+35x7+35x8+40x9+25x10 200
+0.93x1010+M(1-y) ‘ Y=0 等价’,而等于没有约束 Y=1 等价’,而等于没有约束
(2) N个约束中选择K个约束的问题
设N个约束可能的约束条件是: f1(x1, x2,…, xn) d1, f2(x1, x2,…, xn) d2, ……………………. fN(x1, x2,…, xn) dN,
线性规划的十种类型

线性规划的十种类型
1、标准型线性规划:目标是最大化或最小化一个线性函数的值,约束条件也是线性的。
2、有约束的线性规划:目标是最大化或最小化一个线性函数的值,约束条件是线性或非线性的。
3、整数规划:变量必须是整数值。
4、0-1整数规划:其变量只能是0或1值。
5、二次约束规划:有二次式约束条件。
6、模型规划:模型规划是一种解决方案,用来解决一类问题。
7、受约束的多目标规划:有多个目标函数和各种约束条件,然后通过系统的优化来选择最优的结果。
8、混合整数规划:其中的变量可以是整数也可以是实数。
9、多项式规划:目标函数和约束条件都是多项式的。
10、动态规划:动态规划通常是用来解决某个未来状态要被满足时,对于当前要采取的策略最佳化的问题。
0-1整数规划

0—1型整数规划模型1. 0—1型整数规划模型概述整数规划指的是决策变量为非负整数值的一类线性规划,在实际问题的应用中,整数规划模型对应着大量的生产计划或活动安排等决策问题,整数规划的解法主要有分枝定界解法及割平面解法(这里不作介绍,感兴趣的读者可参考相关书籍)。
在整数规划问题中,0—1型整数规划则是其中较为特殊的一类情况,它要求决策变量的取值仅为0或1,在实际问题的讨论中,0—1型整数规划模型也对应着大量的最优决策的活动与安排讨论,我们将列举一些模型范例,以说明这个事实。
0—1型整数规划的的数学模型为:目标函数 n n x c x c x c z Min Max +++= 2211)(约束条件为:⎪⎪⎩⎪⎪⎨⎧==≥≤++=≥≤++=≥≤++1| 0 ) ,() ,() ,(22112222212111212111n m n mn m m n n n n x x x b x a x a x a b x a x a x a b x a x a x a , , ,21这里,0 | 1表示0或1。
2. 0—1型整数规划模型的解法0—1型整数规划模型的解法一般为穷举法或隐枚举法,穷举法指的是对决策变量nx x x , , ,21 的每一个0或1值,均比较其目标函数值的大小,以从中求出最优解。
这种方法一般适用于决策变量个数n 较小的情况,当n 较大时,由于n 个0、1的可能组合数为n2,故此时即便用计算机进行穷举来求最优解,也几乎是不可能的。
隐枚举法是增加了过滤条件的一类穷举法,该法虽能减少运算次数,但有的问题并不使用。
此时,就只能用穷举法了。
3. 应用实例例1 工程上马的决策问题1)问题的提出某部门三年内有四项工程可以考虑上马,每项工程的期望收益和年度费用(千元)如下表所示:假定每一项已选定的工程要在三年内完成,是确定应该上马哪些工程,方能使该部门可能的期望收益最大。
2)模型分析与变量的假设这是工程上马的决策问题,对任一给定的工程而言,它只有两种可能,要么上马,要么不上马,这两种情况分别对应二进制数中的1、0,大凡这样的实际背景所对应的工程问题,大都可考虑用0—1型整数规划模型建立其相应的模型。
MATLAB求解线性规划(含整数规划和01规划)问题

MATLAB 求解线性规划(含整数规划和0-1规划)问题线性规划是数学规划中的一类最简单规划问题,常见的线性规划是一个有约束的,变量范围为有理数的线性规划。
如:max 712z x y =+9430045200s.t 310300,0x y x y x y x y +≤⎧⎪+≤⎪⎨+≤⎪⎪≥⎩对于这类线性规划问题,数学理论已经较为完善,可以有多种方法求解此类问题。
但写这篇文章的目的并不是为了介绍数学理论,我们这里主要讲解如果利用工具求解这一类线性规划问题。
最著名,同时也是最强大的数学最优化软件是LINGO/LINDO 软件包,它能够求解多种的数学规划问题,同时还提供了多种的分析能力。
但LINGO 软件并不容易上手,同时,应用LINGO 的场合一般是大规模的线性规划问题,小小的线性规划完全可以不使用它。
一个更受科研人员欢迎的数学软件是MATLAB ,它以功能强大而称著,并有数学软件中的“航空母舰”之称。
我们这里就是要学习使用MATLAB 软件求解线性规划(含整数规划和0-1规划)问题。
为了使得不熟悉MATLAB 的人员也能够使用MATLAB 进行线性规划问题求解,本文将对MATALB 中使用到的函数和过程以及结果进行详细的分析,最后会对每一个问题都给出一个可以完全“套用”的MATLAB 程序。
我们首先从上面的线性规划问题开始,为了便于表达,将上面的式子写成矩阵形式:max 712z x y =+9430045200s.t 310300,0x y x y ⎧⎛⎫⎛⎫⎛⎫⎪ ⎪ ⎪∙≤⎪ ⎪ ⎪ ⎪⎨⎝⎭ ⎪ ⎪⎝⎭⎝⎭⎪⎪≥⎩于是约束就表达为了一个Ax b ≤不等式。
求解MATLAB 线性规划时,最常用的函数是linprog 函数,下面来介绍一下这个函数的使用。
打开MATLAB 帮助文档(PS:帮助文档的内容是最全的,只要你的英文过了专业8级),可以看到linprog 函数求解的是具有如下标准形式的线性规划:min .Tx f x A X b s t Aeq X beq lb x ub ≤⎧⎪=⎨⎪≤≤⎩公式中各符号的意义是自明的,在这里简单介绍下,首先MATLAB 中求解的是目标函数是最小值的问题,但如果我们的目标函数是求最大值,可以通过对目标函数中每一项中乘以-1,将求最大值问题转化为求最小值问题;A ,b 分别为不等式约束中的系数矩阵。
0—1型整数规划问题的求解方法

0—1型整数规划问题的求解方法1、一般来说,碰到了0-1规划的问题,怎么办?枚举,比较每个解对应的目标函数值。
为什么要枚举,是把每一个解都拿出来比较。
因此,有的叫法是显枚举法?2、有显枚举法,就有隐枚举法。
如果说,显枚举法是显式的枚举法,那么隐枚举法就是隐式的枚举法。
都是枚举法,都是要把所有的解带入到目标函数进行比较,对不对?理论上是这样的,可以参考其他的讲解。
但是,其他的地方讲解似乎没有把这个讲解到位,为什么叫隐枚举法。
有一种说法是:设计一种方法,只检查0-1变量组合的一部分,就能得到问题的最优解。
3、首先,如果你不把所有的解都判断一下,我怎么知道那个解是不是最优的解呢?回顾一下LP问题的求解,发现线性规划并不需要判断所有的解,确切的说,是所有的可行解。
只需要在所有的基本可行解里面去寻找最优的解。
因此,0-1规划求解的思路也是一样,是在所有的0-1可行解里面去寻找。
这样,就需要在约束条件里面去一个一个的判断,这个0-1组合是否可行。
所以,隐枚举法的思路,还是枚举法,但是我并不是要把每个解都要进行约束条件的判断,判断他是不是可行,可以只检查所有0-1变量组合的一部分约束条件的判断,这样还是可以得到问题的最优解。
4、接着,那怎么减少约束条件的检查判断呢?设置一个过滤条件,叫做过滤约束,如果这个不满足,那么其他的约束就不用判断了。
因此,隐的意思应该在这里。
问题来了,怎么添加这个过滤约束呢?通过一种方法(试探法),找到一个可行解,然后代入目标函数,得到目标值,这个就得到了一个过滤约束。
求最大值的时候,如果一个可行解的目标值不大于这个约束,那么直接排除。
5、继续。
怎么得到这个过滤约束。
比如下面的例子:一种说法是试探法,随便试探?或者可以从某一个解开始(比如0,0,0)开始递增,直到得到一个可行解,然后就得到了这个过滤约束了,比如上面的例子,我们可以从1,0,0开始递增,先看看这个解是不是可行解。
是在可行解,因此看目标函数值是3,因此得到一个约束,3x1-2x2+5x3>=3过滤约束。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Mathematical modeling
6
(1) 原线性规划有最优解,当自变量限制为 整数后,其整数规划解出现下述情况: a原线性规划最优解全是整数,则整数规 划最优解与线性规划最优解一致。 b原线性规划最优解不全是整数,则整数 规划最优解小于原线性规划最优解(max) 或整数规划最优解大于原线性规划最优解 (min)。
Mathematical modeling
23
1 分派第i工人完成第j工作 解:设 xij 0 其他 i, j 1, 2, ,5
min z 5 x11 6 x12 8 x13 4 x14 5 x15 3 x21 4 x22 6 x23 6 x24 1x25 5 x31 5 x32 7 x33 9 x34 8 x35 s.t. 6 x41 7 x42 5 x43 7 x44 6 x45 7 x51 4 x52 6 x53 2 x54 8 x55 5 xij 1 j 1, 2, , 5 i 1 5 xij 1 i 1, 2, , 5 j 1 x 0或1 i, j 1, 2, , 5 ij
15
Mathematical modeling
· 0-1整数规划
1.什么是0-1整数规划? 0-1 整数规划是一种特殊形式的整数规划, 这时的决策变量xi 只取两个值0或1,一般的解 法为隐枚举法。
2.什么时候采用0-1整数规划法? 正如计算机只懂得0,1两个数,1代表是,0代 表否。同样的,在0-1整数规划中的0和1并不是 真真意义上的数,而是一个衡量事件是否发生 的标准。一般来说,我们在从多个事物中选出 其中一部分,在一定的条件下求解最优情况时 可以采用0-1整数规划法。 Mathematical modeling
Mathematical modeling
24
Mathematical modeling
Mathematical modeling
整数规划是什么?
规划中的变量(部分或全部)限制为整数时,称为整数规 划。若在线性规划模型中,变量限制为整数,则称为整数 线性规划。目前所流行的求解整数规划的方法,往往只适 用于整数线性规划。目前还没有一种方法能有效地求解一 切整数规划。
Mathematical modeling
Mathematical modeling
8
解: 设每周生产Ⅰ、Ⅱ号杯各 x1 , x2 百箱,则有如下
数学模型
max z 500 x1 450 x2 6 x1 5 x2 60 10 x 20 x 150 1 2 x1 8 x1 , x2 0且为整数
Mathematical modeling
11
· 分支定界法
对有约束条件的最优化问题(其可行解为有限数) 的所有可行解空间恰当地进行系 统搜索,这就是分枝与定界内容。通常,把全部可 行解空间反复地分割为越来越小的子 集,称为分枝;并且对每个子集内的解集计算一个 目标下界(对于最小值问题),这称 为定界。在每次分枝后,凡是界限超出已知可行解 集目标值的那些子集不再进一步分枝,这样,许多 子集可不予考虑,这称剪枝。这就是分枝定界法的 主要思路。
Mathematical modeling
21
解:对于0-1 规划问题,由于每个变量只取0,1两个值,一 般会用穷举法来解,即将所有的0,1 组合找出,使目标函数 达到极值要求就可求得最优解。
Mathematical modeling
22
例7(指派问题) 有5个工人,要分派他们分别完 成5项工作,每人做各项工作所消耗的时间如下 表,问应如何安排工作,可使总的消耗时间最 小?
16
例5一个旅行者要到某地作两周的带包旅行,装背包时,他发 现除了已装的必需物件外,他还能再装5公斤重的东西.他打 算从下列4种东西中选取,使增加的重量不超过5公斤又能使 使用价值最大.这4种东西的重量和使用价值(这里用打分数 的办法表示价值)如下表所示,问旅行者应该选取哪些物件为 好?
Mathematical modeling
Mathematical modeling
12
例4 用分支定界法求以下整数规划
max z 5 x1 8 x2 x1 x2 6 5 x1 9 x2 45 x , x 0且为整数 x 2
Mathematical modeling
13
x2
x1
Mathematical modeling
Mathematical modeling货物的装运和获利情况如下表所示,问:甲乙两 货物各托运多少箱,可使获得利润最大?
Mathematical modeling
5
解:设 x1 , x2 为甲乙两货物各托运箱数
max z 20 x1 10 x2 5 x1 4 x2 24 2 x1 5 x2 13 x , x 0且为整数 1 2
Mathematical modeling
20
例6 求解下列0-1规划问题
max Z 3 x1 2 x2 5 x3 x1 2 x2 x3 2 (1) x1 4 x2 x3 4 (2) s.t. x1 x2 3 (3) 4 x2 x3 6 (4) x1 , x2 , x3 0或1
返回
Mathematical modeling
9
· 完全枚举法 例3:设整数规划问题如下
max z x1 x2 14 x1 9 x2 51 6 x1 3 x2 1 x , x 0且为整数 1 2
Mathematical modeling
10
现求整数解(最优 解):如用“舍入取整法” 可得到4个点即(1,3) (2,3)(1,4)(2,4)。显 然,它们都不可能是整数 规划的最优解。 故按整数规划约束条 件,其可行解肯定在线性 规划问题的可行域内且为 整数点。故整数规划问题 的可行解集是一个有限 集,如图所示。 求得(2,2)(3,1)点为最大值,。 在求解整数规划问题时,可将集合内的整数点一一找 出,其最大目标函数的值为最优解,此法为完全枚举法。 返回
19
由上表可知,问题的最优解为 X*=( x1 =1 x2=0 x3=1 ) 但此法 太繁琐,工作量相当大。而隐枚举法就是在此基础上,通过加 入一定的条件,就能较快的求得最优解: 找到x1 =0 x2=0 x3=1 是一个可行解,为尽快找到最优解,可将3 x1-2 x2+5 x3 ≥5 作为一个约束,凡是目标函数值小于5 的组合不必讨论, 如下表。
2
整数规划的分类
变量全限制为整数时,称纯(完全)整数规划。 变量部分限制为整数的,称混合整数规划。 变量只能取0或1时,称之为0-1整数规划。
Mathematical modeling
3
· 整数规划模型的建立 · 整数规划模型的求解
· 完全枚举法 · 分支定界法 · 割平面法
· 0-1数规划模整型
14
开始 V0 X1=2.25,X2=3.75;Z0=41.25 X2≤3 X2≥4 V1 X1=3,X2=3,Z2=39 V2 X1=1.8,X2=4,Z1=41 X1≥2 X1≤1 V3 X1=1,X2=4.44, Z4=40.56 V4 不可行
X2≤4
V5 X1=1,X2=4,Z5=37
X2≥5 V6 X1=0,X2=5,Z6=40
17
解:建立模型为
max Z=6x1 7 x2 3 x3 9 x4 2 x1 3x2 x3 4 x4 5 s.t. xi 0,1 i 1, 2,3, 4
Mathematical modeling
18
Mathematical modeling
Mathematical modeling
7
例2 今有一台机器将一周生产的两种型号的冷饮杯 存储在150立方米的储藏室 里,并同时进行出售.已 知这台机器能在6小时内生产一百箱Ⅰ号杯,5小时内 生产一百箱Ⅱ号杯,生产以百箱为单位计算,预计每 周生产60小时.如果Ⅰ号杯每百箱占体积10立方米, 每百箱可获利润500元,每周售出数量不会超过800 箱;Ⅱ号杯每百箱占体积20立方米, 每百箱可获利润 450元,每周售出数量不受限制.为保证总收益为最大 ,每周应安排生产Ⅰ、Ⅱ号杯各多少百箱?