0-1整数规划
0-1规划
0-1规划0-1规划是决策变量仅取值0或1的一类特殊的整数规划。
在处理经济管理中某些规划问题时,若决策变量采用 0-1变量即逻辑变量,可把本来需要分别各种情况加以讨论的问题统一在一个问题中讨论。
目录简介应用范围隐枚举法简介应用范围隐枚举法展开简介0-1规划0-1 Programming一种特殊形式的整数规划。
这种规划的决策变量仅取值0或1,故称为0-1变量或二进制变量,因为一个非负整数都可以用二进制记数法用若干个0-1变量表示。
0-1变量可以数量化地描述诸如开与关、取与弃、有与无等现象所反映的离散变量间的逻辑关系、顺序关系以及互斥的约束条件,因此0-1规划非常适合描述和解决如线路设计、工厂选址、生产计划安排、旅行购物、背包问题、人员安排、代码选取、可靠性等人们所关心的多种问题。
实际上,凡是有界变量的整数规划都可以转化为0-1规划来处理。
由于0-1规划具有深刻的背景和广泛的应用,几十年来一直受到人们的重视。
求解0-1规划的方法主要是隐枚举法(如分枝定界法)。
对一些特殊问题还有一些更加有效的方法,例如对指派问题,用D.柯尼希发明的匈牙利法求解更显方便有效。
应用范围0-1规划主要用于求解互斥的计划问题、约束条件互斥问题、固定费用问题和分派问题等方面。
互斥计划问题如确定投资项目,选定投资场所,决定投产产品等。
设有几种产品,各产品投产后获得的利润为c j,投资限额为B,规定决策变量xj的取值为1则此0-1规划的数学模型为23式中max表示求极大值;s.t.表示“受约束于”;z是目标函数;aj是各种产品的投资额。
约束条件互斥问题设有m个互相排斥的约束条件(≤型)ai1x1+ai2x2+…+ainxn≤bi(i=1,2,…,m)为了保证这m个约束条件中只有一个起作用,引入m个0-1变量y i和一个足够大的常数M,构造m+1个约束条件ai1x1+ai2x2+…+ainxn≤bi+yiMy1+y2+…+ym=m-1因为m个yi中只有一个能取0值,所以只有一个约束条件能起作用。
第四讲 0-1整数线性规划
√ √
√ √
√ √
√ √
Z≥0 Z≥5
(1 0 0) 3 ( 1 0 1) 1
( 1 1 0) 8 ( 0 1 1) 3 ( 1 1 1) 6
× √ √ √ √
最优解: x1 1 ,x2 1 ,x3 1 最优值 Z 6
三
指派问题
1 投资第i个项目 xi 0 不投资第i个项目
1 3 4 5 210 100 130 260 150 60 80 180
2
300
210
Z表示投资效益
投资项目模型: 例1 (投资问题)华美公司有5个项目被列入投资计 划,每个项目的投资额和期望的投资收益见下表: max Z 150 x1 210 x2 60 x3 80 x4 180 x5 该公司只有 600 万资金可用于投资,由于技术上的 300 x2 100 x3 130 x4 260 x5 600 210 x1 x1 x2 x3 1 原因,投资受到以下约束: s.t x1 x4 1 1、2和3中必须有一项被选中 3 、在项目 x2 x1 5 、项目 3和4只能选中一项 i 1,2,,5 x3 i 0,1 、项目5被选中的前提是项目1被选中;如何 在 满足上述条件下选择一个最好的投资 项目 投资额 投资收益 (万元) (万元) 方 案,使投资收益最大 解:设 xi为决策变量( i 1,2,,5)
当n=4时, 有16变量, 8个约束方程
练习2:现有4份工作,4个人应聘,由于各 Z表示总费用 人技术专长不同,他们承担各项工作所 max Z 3x11 5x12 4 x13 5x14 需费用如下表所示,且规定每人只能做 6 x21 7 x22 6 x23 8x24 一项工作,每一项工作只能由一人承担, 8x31 9 x32 8x33 10 x34 试求使总费用最小的分派方案。 10 x41 10 x42 9 x43 11x44 工作 1 2 3 4 x11 x12 x13 x14 1 人 x21 x22 x23 x24 1 1 3 5 4 5 6 7 6 8 2 x31 x32 x33 x34 1 8 9 8 10 3 x41 x42 x43 x44 1 10 10 9 11 x x x x 1 4 21 31 41 11 s.t x12 x22 x32 x42 1 解: 第i人做第j 件事 xij 1 0 x13 x23 x33 x43 1 x14 x24 x34 x44 1 第i人不做第j 件事 xij 0,1 i=1,2, 3,4; i 1,2, , n j=1,2, 3,4 j 1,2, , n
运筹学 0-1整数规划
– 一般地,在建立数学模型时,若需从p个约束条件 一般地,在建立数学模型时,若需从 个约束条件 中选择q个约束条件 则可以引入p个 变量 个约束条件, 中选择 个约束条件,则可以引入 个0-1变量
0, yi = 1,
若选择第i个约束 若不选择第i个约束
i = 1,..., p
那么约束条件组
max z = 4 x1 + 5 x 2 + 6 x3 2 x1 + 4 x 2 + 8 x3 <= 500 2 x + 3 x + 4 x <= 300 1 2 3 s.t . x1 + 2 x 2 + 3 x3 <= 100 x1 , x 2 , x3 >= 0
若考虑固定费用就必须引入0—1变量: 变量: 若考虑固定费用就必须引入 变量
第四节 0-1整数规划
一、相互排斥的计划 某公司拟在市东、 南三区中建立门市部, – 例4.6 某公司拟在市东、西、南三区中建立门市部, 有例7个点 个点A = , , , )可供选择, 有例 个点 i(i=1,2,…,7)可供选择,要求满 足以下条件: 足以下条件: 1) 在东区,在A1,A2,A3三个点中至多选两个; 在东区, 三个点中至多选两个; 2) 在西区,A4,A5两个点中至少选一个; 在西区, 两个点中至少选一个; 3) 在南区,A6,A7两个点为互斥点。 在南区, 两个点为互斥点。 4) 选A2点必选 5点。 点必选A – 若Ai点投资为 i万元,每年可获利润为 i万元,投资 点投资为b 万元,每年可获利润为c 万元, 总额为B万元 试建立利润最大化的0- 规划模型 万元, 规划模型。 总额为 万元,试建立利润最大化的 -1规划模型。
0-1整数规划解法
指派问题与匈牙利法
Ø0 Ø0 3 ◎0 3
1
6
0Ø
2
◎0
3 2 0◎ 0Ø 3
2 0◎ 2 3 Ø0
0◎ 4 4 0Ø 6
总费用为=8+9+4+3+4=28
指派问题与匈牙利法
2. 不平衡的指派问题
当人数m大于工作数n时,加上m-n项虚拟工作,例如:
5 9 10
2 0 4 3 6 2 5 0 4 2 4 1 0 2 5 4 0 3 6 3 0 2 3 1 7
-1 -2
指派问题与匈牙利法
2)试指派(找独立0元素)
2 0 4 2 4 2 5 0 3 0 4 1 0 1 3 4 0 3 5 1 0 2 3 0 5
从只有一个0元素的列开始(画Ø的不计在内),给该列中的0 元素加圈,记作◎;然后划去◎ 所在行的0元素,记作Ø ,表 示此人已有任务,不再为其指派其他任务了。依次进行到最后一 列。
若仍有没有划圈的0元素,且同行(列)的0元素至少有两个,比 较这行各0元素所在列中0元素的数目,选择0元素少这个0元素 加圈(表示选择性多的要“礼让”选择性少的)。然后划掉同行同 列的其它0元素。可反复进行,直到所有0元素都已圈出和划掉为 止。
所有0元素的最少直线数 l 。
注:l 应等于m,若不相等,说明试指派过程有误,回到第2步,另行试 指派;若 l=m < n,表示还不能确定最优指派方案,须再变换当前的系 数矩阵,以找到n个独立的0元素,为此转第4步。
指派问题与匈牙利法
4) 变换矩阵(bij)以增加0元素
在没有被直线通过的所有元素中找出最小值,没有被直线通过 的所有元素减去这个最小元素;直线交点处的元素加上这个最小 值。新系数矩阵的最优解和原问题仍相同。转回第2步。
整数0-1规划
′=x 1=1,
x3′=0 x5′=0 x4′=0
z=4, 可行 z=1 z=-2
z=10,不可行
x2=0 z=6,不可行 x3′=0 x5′=0 z=5,不可行 x4′=0 z=3,不可行 x1=0 z=2,不可行
最优解为x2=0 , x3′=0 , x5′=1 , x4′=1, x1=1 。 于是, 原 问 题 的 最 优 解 为 z*=4 , x1*=1,x2*=0,x3*= 1-0=1, x4*=1-1=0,x5*=1-1=0
令 x3′=1-x3, x4′=1-x4, x5′=1-x5,得 Max z=2x2+4x3′+5x5′+7x4′+8x1-16 3x2- x3′- 3x5′- 2x4′+3x1≤-2 ① 3x2+2x3′- x5′+ x4′+5x1≤6 ② x2, x3′,x5′,x4′,x1 =0或1
z=8,不可行 x2 =x3′=x5′ = x4
x1 , x2 , x3 0或1
求解0-1型整数规划,可使用分枝定界法。下面 用实例说明: 例 求解0-1型整数规划问题 Max z=8x1+2x2-4x3-7x4-5x5 3x1+3x2+x3+2x4+3x5≤4 5x1+3x2-2x3-x4+ x5≤4 xj=0或1,j=1,2,…,5 变成标准型,要求如下:⑴目标函数求极大化。 对于目标函数为Min z的极小化问题,令z′=-z,使其 变为目标函数为Max z′的极大化问题。⑵目标函数中 所有变量的系数都为正数。如果目标函数中变量xj的 系数为负数,令xj′=1-xj,把模型中的xj用xj′代换。⑶ 变量的排列顺序按变量在目标函数中的系数值从小到 大排列。
0-1型整数规划
最优结果为总支付报酬每周727.5元 值班方案为:
学生代号 1 2 3 4 5 6 一 6 4 8 5 3 2 6 2 二 三 6 6 5 2 6 四 五 7
3
例B 清远市下设八个区,下表给出救护车从一个区至另一 个区的车程时间(min)该市拟建救护中心,要求各区离救 护中心的车程时间必须在8min之内,是为该市提供决策建 议:至少建多少个救护中心,建于何处?
(x1,x2,x3) Z值 a
(0,0,0) (0,0,1) (0,1,0) (0,1,1)
0 5 -2 3
√ √
b √ √
c √ √
d 过滤条件 √ Z≥0 Z≥5 √
(1,0,0)
(1,0,1) (1,1,0) (1,1,1)
3 8 1
6
√
√
√
√
Z≥8
按目标函数中各变量系数的大小重新排列各变量 最大化问题:由小到大 最小化问题:由大到小
max z 5 x3 3 x1 2 x 2 x3 x1 2 x 2 2 ① x3 x1 4 x 2 4 ② st x1 x 2 3 ③ x 4 x 6 ④ 2 3 xi 0或1, i 1, 3 2,
2.相互排斥的约束条件
如果有m个互相排斥的约束条件(<=型):
ai1 x1 ai 2 x2 ain xn bi
i 1, 2,, m
为了保证这个约束条件只有一个起作用,我们引
入m个0-1变量 yi i 1,2,..., m 和一个充分大的 常数M,而下面这一组m+1个约束条件 ai1 x1 ai 2 x2 ain xn bi yi M i 1, 2,, m
0-1型整数规划
1, y 0,
若生产第j种产品(即xj>0) 若不生产第j种产品(即xj=0)
j=1,2,3
应用举例
例A 东方大学计算机实验室聘用4名大学生(代号1、2、 3、4)和2名研究生(代号5、6)值班答疑。已知每人从 周一至周五每天最多可安排的值班时间及每人每h值班的报 酬如下表
在东区,由A1,A2,A 三个点中至多选两个; x3 4 x5 1 在西区,由A4,A5两个点中至少选一个; x x 1
6 7
st.
在南区,由A6,A7两个点中至少选一个。 x 0或1
i
i 1
7
如选用Ai点,设备投资估计为bi元,每年可获利润估计为ci元, 但投资总额不能超过B元。问应选择哪个点可使年利润最大?
该公司只有600万元可用于投资,由于技术上的原因, 投资受到以下约束: 1.在项目1、2和3中必须只有一项被选中; 2.在项目3和4中只能选中一项; 3.项目5选中的前提是项目1必须被选中。 如何在上述条件下选择一个最好的投资方案,是投资收益 最大?
解:设
1,项目i被选中 xi 0, 项目i未被选中 只有600万元可用于投资 i 1,2,3,4,5
货物ቤተ መጻሕፍቲ ባይዱ
体 积 每箱(米3) 重 量 每箱(百公斤)
利 润 每箱(百元)
甲
乙
托运限制
5 2
4 5
24 13
20 10
第五章:0 -1整数规划
5 x1 4 x 2 24
7 x1 3x 2 45
0 用车运 y 1 用船运
5 x1 4 x 2 24 yM 7 x1 3x 2 45 (1 y ) M 5 x1 4 x 2 24 yM 7 x1 3x 2 45 (1 y ) M
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
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型整数规划模型建立其相应的模型。
§5.4 0—1型整数规划模型
§5.4 0—1型整数规划模型1、 0—1型整数规划模型概述整数规划指的是决策变量为非负整数值的一类线性规划,在实际问题的应用中,整数规划模型对应着大量的生产计划或活动安排等决策问题,整数规划的解法主要有分枝定界解法及割平面解法(这里不作介绍,感兴趣的读者可参考相关书籍)。
在整数规划问题中,0—1型整数规划则是其中较为特殊的一类情况,它要求决策变量的取值仅为0或1,在实际问题的讨论中,0—1型整数规划模型也对应着大量的最优决策的活动与安排讨论,我们将列举一些模型范例,以说明这个事实。
0—1型整数规划的的数学模型为:目标函数 n n x c x c x c z M i n M a x+++= 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型整数规划模型的解法一般为穷举法或隐枚举法,穷举法指的是对决策变量n x x x , , ,21 的每一个0或1值,均比较其目标函数值的大小,以从中求出最优解。
这种方法一般适用于决策变量个数n 较小的情况,当n 较大时,由于n 个0、1的可能组合数为n2,故此时即便用计算机进行穷举来求最优解,也几乎是不可能的。
隐枚举法是增加了过滤条件的一类穷举法,该法虽能减少运算次数,但有的问题并不使用。
此时,就只能用穷举法了。
3. 应用实例例1 工程上马的决策问题1)问题的提出某部门三年内有四项工程可以考虑上马,每项工程的期望收益和年度费用(千元)如下表所示:假定每一项已选定的工程要在三年内完成,是确定应该上马哪些工程,方能使该部门可能的期望收益最大。
2)模型分析与变量的假设这是工程上马的决策问题,对任一给定的工程而言,它只有两种可能,要么上马,要么不上马,这两种情况分别对应二进制数中的1、0,大凡这样的实际背景所对应的工程问题,大都可考虑用0—1型整数规划模型建立其相应的模型。
0—1型整数规划问题的求解方法
0—1型整数规划问题的求解方法0-1型整数规划问题是一类特殊的整数规划问题,其中变量只能取0或1,即变量是二进制的。
这类问题在实际应用中具有广泛的应用,如装配线平衡、员工调度、货物装载等。
求解0-1型整数规划问题可以使用多种方法,下面将介绍几种常用的方法。
1.枚举法:枚举法是最朴素的解法,它列举出了所有可能解,并通过穷举所有解的方式找到最优解。
这种方法适用于问题规模较小且没有明显的约束条件,但对于大规模问题不适用。
2.分支定界法:分支定界法是一种广泛应用于整数规划的方法。
它从原问题形成一个目标函数较小的松弛问题开始,通过分支操作将问题分解为一系列子问题,每次选择一个变量分支,并根据问题的特性设置相应的约束条件。
通过逐步分解问题,最终获得最优解。
3.动态规划法:动态规划法通过构建状态转移方程的方式,将问题分解为多个子问题,并利用子问题之间的关系求解最优解。
对于0-1型整数规划问题,可以使用动态规划来解决。
首先定义一个二维数组dp[i][j],其中dp[i][j]表示在前i个物品中选择一些物品放入背包容量为j的情况下的最大价值。
然后根据背包容量逐步求解,最后得到最优解。
4.启发式算法:启发式算法是一类基于经验和直觉的算法,通过评估当前解的优劣性来寻找最优解。
对于0-1型整数规划问题,可以使用启发式算法如遗传算法、模拟退火算法、粒子群算法等进行求解。
这些算法通过随机和逐步优化的方式,可以在较短时间内找到较好的解。
以上是常用的几种0-1型整数规划问题的求解方法,根据问题的规模、约束条件和求解的要求选择合适的方法。
在实际应用中,通常会根据问题的特性选择相应的算法,并结合数学模型和计算机编程进行求解。
运筹学课件第四节0-1型整数规划
目录
CONTENTS
• 0-1型整数规划概述 • 0-1型整数规划的数学模型 • 0-1型整数规划的求解算法 • 0-1型整数规划的案例分析 • 0-1型整数规划的软件实现
01 0-1型整数规划概述
CHAPTER
定义与特点
定义
0-1型整数规划是一种特殊的整数规 划,其中决策变量只能取0或1。
解决方案通常采用动态规划或混合整数线性规 划方法,通过迭代和优化算法来找到最优解。
05 0-1型整数规划的软件实现
CHAPTER
Excel求解工具
适用范围
适用于简单的0-1型整数规划问题。
优点
操作简单,易学易用,适合初学者。
使用方法
利用Excel的Solver插件,设置目标函数、 约束条件和决策变量,进行求解。
其他约束
除了资源和需求约束外,还可能 存在其他类型的约束,如数量约 束、时间约束等,这些约束条件 都对决策变量的取值范围进行了 限制。
决策变量
离散变量 0-1型整数规划中的决策变量通常 是离散的,只能取0或1两个值。 这些决策变量代表了不同的策略 或选择。
最优解 最优解是指在所有可行解中使目 标函数达到最优值的决策变量的 取值组合。
缺点
对于大规模问题求解能力有限,可能存在精 度问题。
Python求解库
适用范围
适用于各种规模的0-1型整数规 划问题。
使用方法
利用Python的优化库,如PuLP 或CVXPY,编写目标函数和约束 条件,进行求解。
优点
功能强大,可处理大规模问题 ,精度高。
缺点
需要一定的编程基础,学习成 本较高。
MATLAB求解工具
0-1整数规划
0-1整数规划整数规划是线性规划的一个特殊情况,其决策变量是整数。
在0-1整数规划中,决策变量只能取0或1的整数值。
0-1整数规划是一类NP-hard问题,通常以优化问题的形式出现。
0-1整数规划在实际生活中有广泛的应用。
它可以用于资源分配、生产计划、物流运输等方面。
下面将通过一个具体的例子来说明0-1整数规划的应用:假设某公司生产两种产品A和B,分别需要使用两种原材料X和Y。
每个单位的产品A需要消耗1个单位的原材料X和3个单位的原材料Y;每个单位的产品B需要消耗2个单位的原材料X和2个单位的原材料Y。
该公司每天可以获得100个单位的原材料X和150个单位的原材料Y。
假设产品A的利润为5元,产品B的利润为8元。
问如何安排生产,使得利润最大化。
首先,我们定义决策变量:设产品A的生产数量为x,产品B 的生产数量为y,决策变量为整数。
则可以列出目标函数和约束条件。
目标函数:maximize 5x + 8y约束条件:1x + 2y ≤ 100 (原材料X的限制)3x + 2y ≤ 150 (原材料Y的限制)x,y为0或1的整数根据上述目标函数和约束条件,可以构建0-1整数规划模型。
然后,可以使用相应的算法求解该模型,确定最优的生产方案,使得利润最大化。
对于这个例子来说,通过计算可以得到最优解为x=25,y=37,即生产25个单位的产品A和37个单位的产品B时,利润最大,为325元。
总结起来,0-1整数规划是一种重要的优化工具,可以应用于各种实际问题中。
通过明确决策变量的整数限制,可以获得最优解,实现最大化或最小化的目标。
在实际应用中,需要结合具体问题的特点和约束条件,构建相应的数学模型,并运用适当的算法求解。
这样可以有效地解决实际问题,提高效率和经济效益。
运筹学课件 0-1 整数规划
§4 0-1 整数规划
决策变量仅取为0或1的整数规划问题。
xi 是0-1变量的表示: xi = 0 或1
或 xi 0,xi 1,xi Z
4.1 1.
典型的0-1整数规划问题 相互排斥的计划
例4.某公司拟在市东、西、南三区建立门市部。拟议 中有7个位置(点)Ai (i =1,2,…,7)可供选择。规定 在东区,由A1,A2,A3三个点中至多选两个; 在西区,由A4,A5两个点中至少选一个; 在南区,由A6,A7两个店中至少选一个。 如选用Ai点,设备投资估计为bi 元,每年可获利润 估计为ci 元,但投资总额不能超过B元。问选择哪几个 点可使年利润最大?
5
点 (x1,x2,x3) (0,1,0) (0,1,1) 3 8
条 ① 0 ② 2
件 ③ 1 ④ 1
满足条件?
z值
8
再将过滤条件改进为 3x1-2x2 + 5x3 8
点 (x1,x2,x3) (1,0,0) (1,0,1) (1,1,0) (1,1,1) 2 3 1 6 条 ① ② 件 ③ ④ 满足条件? z值
解题时先引入0-1变量xi (i =1,2,…,7)
令
1 xj 0
选择在A i建店 否则
收益最大
于是问题可列成:
Max z ci xi
i 1 7
投资总额不超过B
A4,A5两个点中至 少选一个
A1,A2,A3三个点中至多选两个 bi xi B i 1 x1 x2 x3 2 A6,A7两个店中至少 x x 1 4 5 选一个 x x 1 7 6 xi 0或1( i 1 , ,7 )
y1 + y2 + … + ym = m –1, yi = 0 或 1 (i=1,…,m)
0-1规划
0-1 规划的解法
下面举例说明一种解型整数规划的隐枚举法。
Max z 3x1 2x2 5x3
x1 2 x2 x3 2
s.t
x1 x1
4x2 x3 x2 3
4
4 x2 x3 6
(2)约束条件
x1 0 或 500 x1 800
可改写为
500
y
y x1 0或1
800 y
(3)如果有m 个互相排斥的约束条件:
可改写为
ai1 x1 ain xn bi i 1,2,, m
ai1 x1 ain xn bi yi M i 1,2,, m y1 ym m 1
( L1,1 )s.t
x1
1 2
x2 x2
41 2
2
2x1 3x2 14
( L1, 2
)s.t
x1
1 2
x2 x2
41 2
2
x1 3
x1 4
x1, x2 0
x1, x2 0
(ILP)
(L0 ) Z (0) 14.75 X (0) (3.25,2.5)
X (2) (2.5,3)
< <
(L2 ) Z (2) 13.5
(L1) Z (1) 14.5
X (1) (3.5,2)
X (11) (3,2)
(L11) Z (11) 13
运筹学课件 第四节 0—1型整数规划
如果不生产第j种产品,
st.
x1
2x2 3x3 100 x1 M1 y1 x2 M 2 y2
x3 M 3 y3 x j 0且为整数
y j 1或0
xj=0.约束条件 xj<=Mjyj,yj=1或0。当 yj=1不利于目标函数的最大 化,因此在最优解必然是
yj=0。
M
j为x
的上
j
条件,凡取值=1的yi对应的约束 条件将自然满足,因而为多余.
1,2,...,p)
yi p q
i 1
运筹学教程
例 工件排序问题
使用4台机床加工3件产品.各个产品的机床加工顺序以及产品i在机床j 上的加工时间 aij见表.由于某种原因,产品2的加工总是件不得超过d.现 在要求各件产品在机床上的加工方案,使在最段时间内加工完全部产品.
xj
1, E j选择Aj
0,
E
选择
j
A
j
(x1,...xn )T
(1,1,...1, )T
,
选择(A1,...An)T :
(1,1,...,0)T ,选择(A1,...An)T
运筹学教程
一、0—1规划数学模型
例:固定费用问题 有三种产品被用于生产三种产品,资源量、产品单件费用、 资源消耗量以及生产产品的固定费用。要求制定一个生产计 划,总收益最大。
2.每一台机床对不同产品的加工顺序约束 一台机床在工作中,如果已经开始加工还没有结束,则不能开始加工另一件产 品.对于机床1,先加工1不能加工2. 为了容纳两种相互排斥的约束条件,对于每台机床,分别引入0-1变量:
运筹学教程
y j 10,,先先加加工工某另种外产产品品(j 1,2,3,4) 机床1:x11+a11≤x21+My1 ; x21+a21≤x11+M(1-y1) 机床2:x22+a22≤x32+My2 ; x32+a32≤x22+M(1-y2) 机床3:x13+a13≤x33 +My3 ; x33+a33≤x13+M(1-y3) 机床4:x14+a14≤x24 +My4 ; x24+a24≤x14+M(1-y4) 当y1=0,表示机床1先加工产品1,后加工产品2;当y1=1,表示机床1先 加工产品2,后加工产品1. 3.产品2的加工总时间约束 产品2的开始加工时间x21,结束家工时间为x24+a24,所以 x24+a24-x21≤d 4.目标函数的建立 由于三件产品的加工时间分别为x14+a14,x24+a24,x33+a33,全部产品的实际 加工时间为:w=max(x14+a14,x24+a24,x33+a33) Minz=W st. W≥x14+a14, W≥ x24+a24, W≥ x33+a33
0—1 型整数规划
例5 求解maxZ=3x1-2x2+5x3 解:调整x1,x2的顺序,使目标函数 x1+2x2-x3≤2 中变量的系数呈递增(不减)的顺 x1+4x2+x3≤4 序,则问题变为: maxZ=-2x2+3x1+5x3 x1+ x2 ≤3 2x2+x1-x3≤2 ① 4x2+x3≤6 4x2+x1+x3≤4 ② x1,x2,x3=0或1 x2+x1 ≤3 ③ 解 约束条件 目 4x2 +x3≤6 ④ 标 ① ② ③ ④ (x2,x1,x3) 值 x1,x2,x3=0或1 0 √ √ √ √ (0 0 0) 按二进制数码从小到大的顺序排列 5 √ √ √ √ (0 0 1) 并检查各个解,先计算解的目标值, 若目标值小于目前可行解最好的目 (0 1 0) - - - 标值,则不必检查是否满足约束条 8 √ √ √ √ (0 1 1) (1 0 0) - - - - 件,当所有解被检查完毕,就可判 (1 0 1) - - - - 断出最优解。计算结果可列表表示, 见左表。 (1 1 0) - - - 最终得到最优解:x1=1,x2=0, (1 1 1) - - - 6 x3=1,最优值:Z=8
x =
1 ,是 0 ,否
4.1 引入 引入0—1 变量的实例 1.确定投资方案——相互排斥的计划 例4 某市工商银行拟抽调a万元资金对小五金、小百货和洗 涤剂三个行业给予低息贷款。由于资金有限,只能在四个小五金 企业A1、A2、A3、A4 中至多选两个;在五个小百货企业A5、A6、 A7、A8 中至多选三个;在四个洗涤剂企业A9、A10、A11、A12 中 至多选两个给予低息贷款。已知企业Ai得到贷款ai万元后,可获 利bi万元。问工商银行应如何发放贷款,可使总利润最大? 解:因为本问题只要求解决是否给企业贷款,因此可用0—1 变量描述所求方案。设 1, 给A 贷款 i xi = ,i =1,2,L,12 不给A 贷款 0, i 于是,根据题意,本问题可描述为: 12 maxZ= ∑bi xi
运筹学——0-1整数规划
(1,0,0) (1,0,1) (1,1,0) (1,1,1)
0’’ -2 3 1 6
1
.2
.3
Z .4 足 值 no no no no
最优解(X2,X1,X3) =(0,1,1) Z=8 实际只计算了16次
例2
求下列问题:
Max Z=3x1+ 4x2 + 5x3 + 6x4 s.t. 2x1+ 3x2 + 4x3 + 5x4 15
0-1规划应用
华美公司有5个项目被列入投资计划,各项目 的投资额和期望的投资收益见下表: 项目 投资额(万元) 投资收益(万元) 1 210 150
2
3 4 5
300
100 130 260
210
60 80 180
该公司只有600万元资金可用于投资, 由于技术原因,投资受到以下约束: 在项目1、2和3中必须有一项被选中;
0-1 规划及其解法
0-1 规划在线性整数规划中具有重要地位。 定理:任何整数规划都可以化成0-1规划。 一般地说,可把整数x变成(k+1)个0-1变量公 式为:x=y0+2y1+22y2+….2kyk 若x上界为U,则对0<x<U,要求k满足2k+1 U+1.
由于这个原因,数学界曾纷纷寻找“背包问 题”解的方法,但进展缓慢。
xi=1或0
• 点击这里进入 “指派问题”的 学习
解:由于目标函数中变量x1, x2 , x4 的系数均为负数, 可作如下变换:
令 x1 =1- x1′ , x2 =1- x2′, x3= x3′, x4 =1- x4′带入原题 中,但需重新调整变量编号。令 x3′ = x1′, x4′ = x2′得到下式。
0-1整数规划解法
人员
A
B
C
D
E
甲
7
5
9
8
11
乙
9
12
7
11
9
丙
8
5
4
6
8
丁
7
3
6
9
6
戊
4
6
7
5
11
指派问题与匈牙利法
解:1)变换系数矩阵,增加0元素。
7 5 9 8 11 5
9
12
7
11
9
7
8 5 4 6 9 4
7 3 6 9 6 3
4 6 7 5 11 4
11 6
3
8 14 17
6
4
5
3 2 1
5 9 10 0 0
11 6 3 0 0
8 14 17 0 0
6
4
5 0 0
3 2 1 0 0
当人数m小于工作数n时,加上n-m个人,例如
15 20 10 9
6
5
4
7
10 13 16 17
15 20 10 9
6
5
4
7
10 13 16 17
0
0
0
0
指派问题与匈牙利法
3. 一个人可做几件事的指派问题
若某人可做几件事,则将该人化作相同的几个“人”来接受指派,且费用系数 取值相同。
例如:丙可以同时任职A和C工作,求最优指派方案。
6 7 11 2 2
0-1整数规划
0-1整数规划1.什么是0-1整数规划?0-1 整数规划是一种特殊形式的整数规划,这时的决策变量x i 只取两个值0或1,一般的解法为隐枚举法。
2.什么时候采用0-1整数规划法?正如计算机只懂得0,1两个数,1代表是,0代表否。
同样的,在0-1整数规划中的0和1并不是真真意义上的数,而是一个衡量事件是否发生的标准。
一般来说,我们在从多个事物中选出其中一部分,在一定的条件下求解最优情况时可以采用0-1整数规划法。
一、0-1整数规划的求解例1 求解下列0-1规划问题1231231231223123max 3252 2 (1)4 4 (2).. 3 (3) 4 6 (4),,01Z x x x x x x x x x s t x x x x x x x =-++-≤⎧⎪++≤⎪⎪+≤⎨⎪+≤⎪⎪=⎩或 解:对于0-1 规划问题,由于每个变量只取0,1两个值,一般会用穷举法来解,由上表可知,问题的最优解为X*=( x1 =1x2=0x3=1 ) 但此法太繁琐,工作量相当大。
而隐枚举法就是在此基础上,通过加入一定的条件,就能较快的求得最优解:找到x1 =0x2=0x3=1是一个可行解,为尽快找到最优解,可将3 x1-2 x2+5 x3≥5作为一个约束,凡是目标函数值小于5的组合不必讨论,如软件进行求解。
二、0-1整数规划模型的建立值得注意的是在0-1整数规划模型建立的时候,0,1仅表示物件是否被选取,事件是否发生,无其他含义。
例2一个旅行者要到某地作两周的带包旅行,装背包时,他发现除了已装的必需物件外,他还能再装5公斤重的东西.他打算从下列4种东西中选取,使增加的重量不超过5公斤又能使使用价值最大.这4种东西的重量和使用价值(这里用打分解:建立模型为()12341234max Z=6x 7392345s.t. 0,11,2,3,4i x x x x x x x x i ++++++≤⎧⎪⎨==⎪⎩1 234思考:某公司拟在东、西、南三个区建立门市部,拟议中有七个点(建立门市部的地点)A j(j=1,2,…,7)可供选择;由于某种需要而规定:在东区:由A1,A2,A3中至多选2个点;在西区:由A4,A5中至少选1个点;在南区:由A6,A7中至少选1个点;据估计,如选A j点建立门市部,则需要投资a j元.而每年可获利润c j元,但这笔投资总额不能超过b元.问应选择哪几个点可使该公司的年利润为最大?。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-1 -2
2)试指派(找独立0元素)
2 2 4 4 0
0 5 1 0 2
4 0 0 3 3
2 3 1 5 0
4 0 3 1 5
2 2 4 4 0 ◎
◎ 4 0
2
5 1
0 Ø 3
◎ 0
1 5
Ø 0
Ø 3 0
2
3
4 0 ◎ 3 1 5
匈牙利法基于下面的效率矩阵: c11 c12 … c1n (cij)= c21 c22 … c2n ………………. cn1 cn2 … cnn
指派问题的求解步骤:
1) 变换指派问题的系数矩阵(cij)为(bij),使在(bij)的各行各列 中都出现0元素,即 从(cij)的每行元素都减去该行的最小元素; 再从所得新系数矩阵的每列元素中减去该列的最小元素。
任务 人员 甲 乙
A
2 10
B
15 4
C
13 14
D
4 15
丙
丁
9
7
14
8
16
11
13
9
解:1)变换系数矩阵,增加0元素。
2 15 13 4 2 10 4 14 15 4 9 14 16 13 9 7 8 11 9 7
0 6 0 0 13 0 5 1 11 10 7 4 2 11 4 2
0 Ø 6 0 ◎ Ø 0
13
7 ◎ 0 ◎ 6 9 0 5 3 2 1 ◎ Ø 0 0
例6 已知五人分别完成五项工作耗费如下 表,求最优分配方案。
任务 人员 甲 A 7 B 5 C 9 D 8 E 11
乙
丙 丁 戊
9
8 7 4
12
5 3 6
7
4 6 7
11
6 9 5
x 解: i
不在第i个地区建站 s.t i=1,2, …,6 Z表示全区消防站总数
0
x1 x 2 x 6 1 x3 x 4 1 x3 x 4 x5 1 x 2 x5 x6 1
x i 0 ,1
i 1, 2 , , 6
◎ 0
3
Ø 0
◎ 0
1 3 1 4
Ø 0
6 2
Ø 0
2 3
√
3
√
3 √ ◎ √ 0 3 √ Ø √ 0 5
√
l =m=4 < n=5
选择直线外最小元素为1, 直线外元素减1,直线交 点元素加1,其他保持不 变,得到新的系数矩阵。
Ø 0 1 3 2 ◎ 0
投资项目模型: 例1(投资问题)华美公司有5个项目被列入投资计 划,每个项目的投资额和期望的投资收益见下表: max Z 150 x1 210 x2 60 x3 80 x4 180 x5 该公司只有600万资金可用于投资,由于技术上的 210 x1 300 x2 100 x3 130 x4 260 x5 600 原因,投资受到以下约束: x1 x2 x3 1 1、在项目1、2和3中必须有一项被选中 s.t x3 x4 1 x2、项目3和4只能选中一项 5 x1 x3、项目5被选中的前提是项目1被选中;如何 i 1,2,,5 i 0,1 在 满足上述条件下选择一个最好的投资 方 案,使投资收益最大
二、指派问题
例3 有一份说明书,需译 任务 成英、日、德、俄四种文字。 E J G R 现有甲、乙、丙、丁四个人, 人员 甲 2 15 13 4 他们将说明书译成不同文字 乙 10 4 14 15 所需的时间如下表。问应指 丙 9 14 16 13 派哪个人完成哪项工作,使 丁 7 8 11 9 所需的总时间最少? 一般地,有n项任务、n个完成人,第i人完成第j 项任务的代价为cij(i,j=1,2,…,n)。为了求得总 代价最小的指派方案,引入0-1型变量xij,并令 1 指派第i人去完成第j项任务 xij= 0 不指派第i人去完成第j项任务
6 4 ( c ij ) 3 5 7 5 1 9 11 9 10 8 2 8 4 2 2 4 1 2
4 0 2 3 5 1 0 7 9 5 9 6 0 4 3 0
4 0 2 3 5 1 0 7 4 0 4 1 0 4 3 0
独立零元素的个数m等于最少 直线数l,即l=m=3<n=4;
√
4)没有被直线通过的元素中选择最小值为1,变换系数矩 阵,将没有被直线通过的所有元素减去这个最小元素;直 线交点处的元素加上这个最小值。得到新的矩阵,重复2) 步进行试指派
3 0 2 2
4 1
0
3
0
4
0
6
0 5 4 0
2)试指派(找独立0元素)
-5
4 ◎ 2 3
4 ◎ 1 Ø 4 ◎ 4 3 7 1 Ø 5
找到 3 个独立零元素 但m=3<n=4
3)作最少的直线覆盖所有0元素
4 5 4 ◎ √ Ø 4 ◎ 1 2 ◎ 4 3 Ø √ 3 7 1
0-1整数规划
主讲人:陈元安 商丘职业技术学院基础部
一、决策问题与0-1变量
决策变量 x i 是否做第 i 件事 i 1, 2 , , n
xi
1 0
做第i件事 不做第i件事
n件事中必须做k件并只做k件事 x1 x 2 x n k n件事中最多做k件事 x1 x 2 x n k n件事中至少做k件事 x1 x 2 x n k 做第i件事的充要条件是做第j件事 x i x j 做第i件事的充要条件是不做第j件事 x i 1 x j 只在做了第i件事前提下才考虑是否做第j件事 x j x i
解:设 x i为决策变量( i 1, 2 , ,5 )
1 xi 0
项目 1 投资额 投资收益 (万元) (万元) 210 150
投资第i个项目
2
3 4 5
300
100 130 260
210
60 80 180
不投资第i个项目 Z表示投资效益
例2(布点问题)某城市共有6个 地 1 2 3 4 5 6 区,每个区都可以建消防站。 区 1 0 10 16 28 27 20 市政府希望设置的消防站最少, 10 0 24 32 17 10 2 但必须满足在城市任何地区发 3 16 24 0 12 27 21 最优解 生火火警时,消防车要在15分 4 28 32 12 0 15 25 x2=1, x4=1 钟内赶到现场。据实地测定, 5 27 17 27 15 0 14 6 20 10 21 25 14 0 各区之间消防车行驶的时间见 右表。 请为该市制定一个 布点问题模型: min Z x1 x 2 x 3 x 4 x 5 x 6 最优值 最节省的计划 x x2 1 在第i个地区建站 1Z=2 1
2) 进行试指派,以寻求最优解。
在(bij)中找尽可能多的独立0元素,若能找出n个独立0元 素,就以这n个独立0元素对应解矩阵(xij)中的元素为1,其余 为0,这就得到最优解。
找独立0元素,常用的步骤为:
从只有一个0元素的行开始,给该行中的0元素加圈,记作◎ 。 然后划去◎ 所在列的其它0元素,记作Ø ;这表示该列所代表的 任务已指派完,不必再考虑别人了。依次进行到最后一行。 从只有一个0元素的列开始(画Ø的不计在内),给该列中的0 元素加圈,记作◎;然后划去◎ 所在行的0元素,记作Ø ,表示 此人已有任务,不再为其指派其他任务了。依次进行到最后一列。 若仍有没有划圈的0元素,且同行(列)的0元素至少有两个,比 较这行各0元素所在列中0元素的数目,选择0元素少这个0元素加 圈(表示选择性多的要“礼让”选择性少的)。然后划掉同行同列 的其它0元素。可反复进行,直到所有0元素都已圈出和划掉为止。
总费用为=7+9+4+3+5=28
0 Ø 1 3 2 ◎ 0
Ø 0
3
Ø 0
◎ 0
◎
0 2
Ø 0
6 2
◎
0 4
2 4
3
Ø 0
ห้องสมุดไป่ตู้
9
8 6 11
解:1)变换系数矩阵,增加0元素。
7 5 9 8 11 5 9 12 7 11 9 7 8 5 4 6 9 4 7 3 6 9 6 3 4 6 7 5 11 4
2 2 4 4 0 0 5 1 0 2 4 0 0 3 3 3 4 2 6 1 6 2 5 3 7
所有0元素的最少直线数 l 。
注:l 应等于m,若不相等,说明试指派过程有误,回到第2步,另行试 指派;若 l=m < n,表示还不能确定最优指派方案,须再变换当前的系 数矩阵,以找到n个独立的0元素,为此转第4步。
4) 变换矩阵(bij)以增加0元素 在没有被直线通过的所有元素中找出最小值, 没有被直线通过的所有元素减去这个最小元素; 直线交点处的元素加上这个最小值。新系数矩 阵的最优解和原问题仍相同。转回第2步。
◎ 0
3
◎ 0
6 2
Ø 0
0 Ø 2 4
4
0 3 Ø 2 Ø 0 ◎ 0 3 3 ◎ 0 Ø 0 6
总费用为 =5+7+6+6+4=28
注:此问题有多个最优解
◎ 0 1 3 2 0 Ø
Ø 0
3
Ø 0
◎ 0
Ø 0
6 2
◎
2
Ø 0
0 4
2 4
3
◎ 0