整数规划与01规划

合集下载

0-1型整数规划

0-1型整数规划

货物
体 积 每箱(米3) 重 量 每箱(百公斤)
利 润 每箱(百元)


托运限制
5 2
4 5
24 13
20 10
第五章:0 -1整数规划
互相排斥的约束条件: 5x1 4 x2 24 用车运的体积约束 用船运的体积约束 7 x1 3x2 45
0 用车运 y 1 用船运
至 从
2
3
4
5
6
7
8
1 2 3 4 5 6 7
8
9 10
11 12 7
13 13 7 8
14 11 8 7 8
8 17 12 10 14 10
15 14 10 9 16 7 12
解:先根据表整理出若救护中心建于该区时,救护车程 8min内所能覆盖的区,见于下表
救护中心设于该区 救护车程8min内所能覆盖的区
不起作用
用船运时y 1 5 x1 4 x 2
7 x1 3x 2 45
不起作用
例:某公司有5个项目列入投资计划,各项目的投 资额和期望的投资收益见下表:
项目 投资额 投资收益
1
2 3 4 5
210
300 150 130 260
160
210 60 80 180
该公司只有600万元可用于投资,由于技术上的原因, 投资受到以下约束: 1.在项目1、2和3中必须只有一项被选中; 2.在项目3和4中只能选中一项; 3.项目5选中的前提是项目1必须被选中。 如何在上述条件下选择一个最好的投资方案,是投资收益 最大?
4 3 6 200 12
300 200
解:设xj是第j种产品的产量,j=1,2,3;再设 1, 若生产第j种产品(即xj>0) j=1,2,3 y 0, 若不生产第j种产品(即xj=0) 则问题的模型为

0-1规划

0-1规划

8 x1 2 x2 3 x3 x4 2 x5
0 xi 99 (i 1,,5)

x1 x1

x2 x3 2x2 2
x3
x4
x4
x5
400 6x5 800

2
x1

x2

6 x3

200
x3 x4 5 x5 200
0-1规划
• 规划中的变量(部分或全部)限制为整数时,称为整数规 划。
• 若在线性规划模型中,变量限制为整数,则称为整数线性 规划。
目前所流行的求解整数规划的方法,往往只适用于整数线性 规划。
• 目前还没有一种方法能有效地求解一切整数规划。
• 整数规划的分类 • (1)变量全限制为整数时,称纯(完全)整数规划。 • (2) 变量部分限制为整数的,称混合整数规划。 • (3)变量只能取0或1时,称之为0-1整数规划。
对该题,目前尚无有效方法求出准确解。如果用显枚举法试探,共需计 算个点,其计算量非常之大。然而应用蒙特卡洛去随机计算个点,便可 找到满意解,那么这种方法的可信度究竟怎样呢?
• 假设目标函数落在高值区的概率分别为0.01,0.00001,则当计算 1000000个点后,有任一个点能落在高值区的概率分别为
然而,尽管整数规划由于限制变量为整数而增加了难度;然而又由于整 数解是有限个,于是为枚举法提供了方便。当然,当自变量维数很大和 取值范围很宽情况下,企图用显枚举法(即穷举法)计算出最优值是不 现实的,但是应用概率理论可以证明,在一定的计算量的情况下,完全 可以得出一个满意解。
例:
Max z x12 x22 3 x32 4 x42 2 x52

整数线性规划及0-1规划 图文

整数线性规划及0-1规划 图文

例3 选课策略
课号
课名
学分
所属类别
先修课要求
1
微积分
5
数学
2
线性代数
4
数学
3
最优化方法
4
数学;运筹学 微积分;线性代数
4
数据结构
3
数学;计算机
计算机编程
5
应用统计
4
数学;运筹学 微积分;线性代数
6
计算机模拟
3
计算机;运筹学
计算机编程
7
计算机编程
2
计算机
8
预测理论
2
运筹学
应用统计
9
数学实验
3
运筹学;计算机 微积分;线性代数
7 计算机编程
计算机
8
预测理论
运筹学
9
数学实验 运筹学;计算机
约束条件
最少2门数学课, 3门运筹学课, 2门计算机课。
xi=1 ~选修课号i 的 课程(xi=0 ~不选)
目标函数 选修课程总数最少
9
Min Z xi i1
x 1x2x3x4x52
x3x5x6x8x93 x4x6x7x92
小型 中型 大型
现有量
钢材(吨)
1.5
3
5
600
劳动时间(小时) 280
250
400
60000
利润(万元)
2
3
4
• 制订月生产计划,使工厂的利润最大。
• 如果生产某一类型汽车,则至少要生产80辆,
那么最优的生产计划应作何改变?
汽车厂生产计划
模型建立
设每月生产小、中、大型 汽车的数量分别为x1, x2, x3

LINDO软件求线性规划、整数规划和0-1规划

LINDO软件求线性规划、整数规划和0-1规划

LINDO软件求线性规划、整数规划和0-1规划LINDO软件简介/求解线性规划问题LINDO是⼀种专门⽤于求解数学规划问题的软件包。

由于LINDO执⾏速度很快、易于⽅便输⼊、求解和分析数学规划问题。

因此在数学、科研和⼯业界得到⼴泛应⽤。

LINDO/GO主要⽤于解线性规划、⾮线性规划、⼆次规划和整数规划等问题。

也可以⽤于⼀些⾮线性和线性⽅程组的求解以及代数⽅程求根等。

LINDO/GO中包含了⼀种建模语⾔和许多常⽤的数学函数(包括⼤量概论函数),可供使⽤者建⽴规划问题时调⽤。

⼀般⽤LINDO(Linear Interactive and Discrete Optimizer)解决线性规划(LP—Linear Programming)。

整数规划(IP—Integer Programming)问题。

其中LINDO 6 .1 学⽣版⾄多可求解多达300个变量和150个约束的规划问题。

其正式版(标准版)则可求解的变量和约束在1量级以上。

LINGO则⽤于求解⾮线性规划(NLP—NON—LINEAR PROGRAMMING)和⼆次规则(QP—QUARATIC PROGRAMING)其中LINGO 6.0学⽣版最多可版最多达300个变量和150个约束的规则问题,其标准版的求解能⼒亦在10^4量级以上。

虽然LINDO和LINGO 不能直接求解⽬标规划问题,但⽤序贯式算法可分解成⼀个个LINDO和LINGO能解决的规划问题。

要学好⽤这两个软件最好的办法就是学习他们⾃带的HELP⽂件。

下⾯拟举数例以说明这两个软件的最基本⽤法。

(例⼦均选⾃张莹《运筹学基础》)例1.(选⾃《运筹学基础》P54.汽油混合问题,线性规划问题)⼀种汽油的特性可⽤两个指标描述:其点⽕性⽤“⾟烷数”描述,其挥发性⽤“蒸汽压⼒”描述。

某炼油⼚有四种标准汽油,设其标号分别为1,2,3,4,其特性及库存量列于下表1中,将上述标准汽油适量混合,可得两种飞机汽油,某标号为1,2,这两种飞机汽油的性能指标及产量需求列于表2中。

整数线性规划及0-1规划

整数线性规划及0-1规划

蝶泳 仰泳 蛙泳 自由泳
甲 1’06”8 1’15”6 1’27” 58”6
乙 57”2 1’06” 1’06”4 53”
讨论 丁蛙泳c43 =69.675.2,戊自由泳c54=62.4
57.5, 方案是否调整? 敏感性分析? IP规划一般没有与LP规划相类似的理论,LINDO 输出的敏感性分析结果通常是没有意义的。 c43, c54 的新数据重新输入模型,用LINDO求解
若选择队员i参加泳姿j 的比赛,记xij=1, 否则记xij=0
目标 函数
约束 条件
4
Min
Z
c
j 1 i 1
4
5
ij
x ij
每人最多入选泳姿之一
每种泳姿有且只有1人

x ij 1, i 1, 5

5
x ij 1, j 1, 4
j 1
i 1
模型求解
输入LINDO求解
0-1规划模型
课号 课名 微积分 线性代数 最优化方法 数据结构 应用统计 计算机模拟 计算机编程 预测理论 数学实验 先修课要求
约束条件
先修课程要求 x3=1必有x1 = x2 =1
x 3 x1 , x 3 x 2
2 x 3 x1 x 2 0
x4 x7
应用统计 微积分;线性代数
• 若生产某类汽车,则至少生产80辆,求生产计划。 方法3:化为非线性规划
x1=0 或 80
x2=0 或 80 x3=0 或 80
x 1 ( x 1 80 ) 0
x 2 ( x 2 80 ) 0
x 3 ( x 3 80 ) 0
非线性规划(Non- Linear Programming,简记NLP) NLP 虽 然 可 用 现 成 的 数 学 软 件 求 解 ( 如 LINGO, MATLAB),但是其结果常依赖于初值的选择。 实践表明,本例仅当初值非常接近上面方法算出 的最优解时,才能得到正确的结果。

excelmodule3整数规划01规划的应用

excelmodule3整数规划01规划的应用
2.互斥决策变量--至多只建1个仓库, x3+x4<=1(互斥决策变量的和<=1)
3.相依决策变量--建厂才建仓库, x1>=x3,x2>=x4
4.决策变量 xi = 0,1 (i = 1,2,3,4)
Chap 15-8
例4 连锁店选址
某连锁店计划在城区的东南西北部建店。有10个位置可供参考。每个 位置的预计投资额和利润如表。并有如下条件:
Cost ($/hour) Location 1 Location 2 Location 3 Location 4 Location 5
Machine 1
ቤተ መጻሕፍቲ ባይዱ13
16
12
14
15
Machine 2
15
--
13
20
16
Machine 3
4
7
10
6
7Chap 15-23
指派(分配)问题是0-1规划的特例,也是运 输问题的特例,在指派问题模型中,每一个产地 的提供量和每一个目的地的需求量均为1,即n=m, ai=bi=1 。
Chap 15-18
指派问题一般模型
1.一般模型:
设c 0 : 第i个人完成第j项任务的效率 ij
(时间成本等)
引入x ij
1
0
第i个人完成第j项任务 否则
模型:
min
(
P
)
s.t
.
nn
f
cij
x ij
i 1 j1
n
x ij
1,
j
1,, n 每项任务一人
i 1
n
x ij
1,
i
1,, n
每人一项任务

整数规划与01规划

整数规划与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

0-1型整数规划

0-1型整数规划

1
解:引入 0 1变量
令xi 10,,当当AA第i点i点四被没选被节用选用 0- 1整i 1数,2, 规,7划
0-1规划的实际问题: 7
MaxZ cixi i1
建模如下:
1、投资场所的选定--7 相bi互xi排斥B的计划
例:某公司拟在市东、i1西、南三区建立门市部,拟议中有7个
MaxZ 20x1 10x2
例51x1.某 4厂x拟2 用24集+装(1箱-y托)M运 st.甲的润右72x1、体以表xx,11x乙积及所2 53两、托示xx022种重运。 1货量所问435物、受两+,可限种yM每获制货箱利如物
各得xy托利为1, x0运润2为多为1变整少最量数箱大,?可使获
210x1 300x2 150x3 130x4 260x5 600
s.t.
x1 x3

x2 x4
x3 1
1
在项目3和4中只能选中一项

x5

x1
项目5选中的前提是项目1必须被选中
xi 0或1,i 1,2,3,4,5
7
3 固定费用问题
例 有三种资源被用于生产三种产品,资源量、产品单件可变 费用及售价、资源单耗量及组织三种产品生产的固定费用如 表。要求制定一个生产计划,使总收益最大
2.相互排斥的约束条件
如果有m个互相排斥的约束条件(<=型): ai1x1 ai2 x2 ain xn bi i 1, 2, , m
为了保证这个约束条件只有一个起作用,我们引
入m个0-1变量 yi i 1,2,.和.., 一m个充分大的常数M,
而下面这一组m+1个约束条件 ai1x1 ai2 x2 ain xn bi yiM i 1, 2, , m y1 y2 ym m 1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
表示小于bj的最大整数。构造两个约束条件: x j [bj ] x j [bj ] 1
将这两个约束条件,分别加入B问题,求两个后继规划问题B1和B2。不考虑整数条件 求解这两个后继问题。
定界,以每个后继问题为一分枝标明求解的结果,与其它问题的解的结果中,找出最 优目标函数值最大者作为新的上界 。从已符合整数条件的各分支中,找出目标函
1
例1
2
例 2 背包问题
3
整数规划特点
(1)原线性规划有最优解,当自变量限制为整数后, 其整数规划解出现下述情况:
1. 原线性规划最优解全是整数,则整数规划最优解与线 性规划最优解一致。
2. 原线性规划最优解不全是整数,则整数规划最优解小 于原线性规划最优解(max)或整数规划最优解大于 原线性规划最优解(min)。
5
整数பைடு நூலகம்划-分枝定界法
对有约束条件的最优化问题的可行解空间恰当 地进行系统搜索,这就是分枝与定界内容。通 常,把全部可行解空间反复地分割为越来越小 的子集,称为分枝;并且对每个子集内的解集 计算一个目标下界(对于最小值问题),这称 为定界。在每次分枝后,凡是界限不优于已知 可行解集目标值的那些子集不再进一步分枝, 这样,许多子集可不予考虑,这称剪枝。这就 是分枝定界法的主要思路。
初值选取----蒙特卡洛法
16
MATALB求解命令
%[x,y]=IntLp(f,G,h,Geq,heq,lb,ub,x,id)
%整数线性规划分支定界法,可求解全整数或混合整数线性规划。 % y=min f'*x s.t. G*x<=h Geq*x=heq x为全整数或混合整数列向量。
%[x,y]=IntLp(f,G,h) %[x,y]=IntLp(f,G,h,Geq,heq) %[x,y]=IntLp(f,G,h,Geq,heq,lb,ub) %[x,y]=IntLp(f,G,h,Geq,heq,lb,ub,x) %[x,y]=IntLp(f,G,h,Geq,heq,lb,ub,x,id) %[x,y]=IntLp(f,G,h,Geq,heq,lb,ub,x,id,options) % x:最优解列向量;y:目标函数最小值;f:目标函数系数列向量 % G:约束不等式条件系数矩阵;h:约束不等式条件右端列向量 % Geq:约束等式条件系数矩阵;heq:约束登时条件右端列向量 % lb:自变量下界列向量(default:-inf) % ub:自变量上界列向量(default:inf) % x:迭代初值列向量 % id:整数变量指标列向量,1-整数,0-实数(default:1) % options的设置请参见optimset或linprog
小结
从以上解题过程可得用分枝定界法求解整数规划(最大化)问题 的步骤为:
首先,将要求解的整数规划问题称为问题A,将与它相应的线性 规划问题称为问题B。
i)解问题B可能得到以下情况之一: (a)B没有可行解,这时A也没有可行解,则停止. (b)B有最优解,并符合A问题的整数条件,B的最优解即为A的 最优解,则停止。 (c)B有最优解,但不符合问题的整数条件,记它的目标函数值
z 为 。
14
小结(续)
z z ii)用观察法找问题A的一个整数可行解,一般可取 xj 0, j 1,L , n 试探,求得其目标函数值,并记作 。以 * 表示问题的最优目标 函数值;这时有 z z* z
其次,进行迭代。
第一步:分枝,在B的最优解中任选一个不符合整数条件的变量xj,其值为bj,以[bj]
什么是整数规划与0-1规划?
定义 规划中的变量(部分或全部)限制为整数时,称为整数 规划。若在线性规划模型中,变量限制为整数,则称为 整数线性规划。目前所流行的求解整数规划的方法,往 往只适用于整数线性规划。目前还没有一种方法能有效 地求解一切整数规划。
整数规划的分类(一般指整数线性规划 ) 1. 变量全限制为整数时,称纯(完全)整数规划。 2. 变量部分限制为整数的,称混合整数规划。 3. 变量只能取0或1时,称之为0-1整数规划。
数值为最大者作为新的下界 ,若无作用 =0

第二步:比较与剪枝,各分枝的最优目标函数中若有小于 者,则剪掉这枝,即以后 不再考虑了。若大于 , 且不符合整数条件, 则重复第一步骤。 一直到最后得
到 = 为止。得最优整数解

15
分析
整数规划关键是找到一下限-最大化问题 (或上限-最小化问题),用来剪枝,通 过观察法,我们往往可以得到这个下限 或上限,但是有没有更好的办法来得到 一个相对较好的值呢?
9
再定界:0 z* 349
对问题B1再进行分枝得问题B11和B12,它们的 最优解为:
B11 : x1 4, x2 2, z11 340
再B对12定:问界题x:1 3B4210再.43进z, *x行2 3分432枝.0,0得,并z1问2将题B31B227剪2.11和4枝B。22,它们的 最优解为:
,即 0 z* 356
8
分支
因为 x1, x2当前均为非整数,故不满足整 数要求,任选一个进行分枝。设选 x1进 行分枝,把可行集分成2个子集:
x1 [4.8092] 4 x1 [4.8092] 1 5
因为4与5之间无整数,故这两个子集内的整数解必与 原可行集合整数解一致。这一步称为分枝。这两个子 集的规划及求解如下:
x1 4.8092, x2 1.8168, z 355.8779
7
x1 4.8092, x2 1.8168, z 355.8779 显然它不符合整数条件。这时Z是问题A
的最优目标函数值Z*的上界,记作 z 。
而x1 0, x2 0 显然是问题A的一个整数可行
解,这时Z=0,是Z*的一个下界,记作 z
B21 : x1 5.44, x2 1.00, z22 308 B22 无可行解。
将 B21, B22 剪枝,于是可以断定原问题的最优解为:
x1 4, x2 2, z* 340
10
0<=Z*<=355.8799
340<=Z*<=341.4
340<=Z*<=355.8799 11
12
13
6
例题演示
例 3 求解下述整数规划
Max z 40x1 90x2
s.t.
9 7
x1 x1
7x2 56 20x2 70
x1
,
x2
0
且整
先不考虑整数限
制,即解相应的
A
线性规划,得最
优解为:
max z 40x1 90x2
9x1 7x2 56 7x1 20x2 70
B
x1
,
x2
0
3. 整数规划无可行解。 (2)整数规划最优解不能按照实数最优解简单取整而
获得。
4
整数规划求解方法分类
(i)分枝定界法—可求纯或混合整数线性规划。 (ii)割平面法—可求纯或混合整数线性规划。 (iii)隐枚举法—求解“0-1”整数规划:
①过滤隐枚举法; ②分枝隐枚举法。 (iv)匈牙利法—解决指派问题(“0-1”规划特 殊情形)。 (v)蒙特卡洛法—求解各种类型规划。
相关文档
最新文档