01型整数规划模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§5.4 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 ) ,() ,() ,(2211222221211
1212111n 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 , , ,2
1ΛΛΛΛΛΛΛΛΛΛΛΛ
这里,0 | 1表示0或1。
2、0—1型整数规划模型的解法
0—1型整数规划模型的解法一般为穷举法或隐枚举法,穷举法指的是对决策变量
n
x x x , , ,21ΛΛ的每一个0或1值,均比较其目标函数值的大小,以从中
求出最优解。
这种方法一般适用于决策变量个数n 较小的情况,当n 较大时,由于n 个0、1的可能组合数为n
2,故此时即便用计算机进行穷举来求最优解,也
几乎是不可能的。
隐枚举法是增加了过滤条件的一类穷举法,该法虽能减少运算次数,但有的问题并不使用。
此时,就只能用穷举法了。
3. 应用实例
例1 工程上马的决策问题
1)问题的提出
某部门三年内有四项工程可以考虑上马,每项工程的期望收益和年度费用(千元)如下表所示:假定每一项已选定的工程要在三年内完成,是确定应该上马哪些工程,方能使该部门可能的期望收益最大。
2)模型分析与变量的假设
这是工程上马的决策问题,对任一给定的工程而言,它只有两种可能,要么上马,要么不上马,这两种情况分别对应二进制数中的1、0,大凡这样的实际背景所对应的工程问题,大都可考虑用0—1型整数规划模型建立其相应的模型。
设)
,4 ,3 ,2 ,1( ,1 ,0=⎩⎨⎧=j j j x j 项工程不上马第项工程可上马第
因每一年的投资不超过所能提供的可用资金数25千元,故该0—1型整数规划问题的约束条件为:
⎪⎪⎩⎪⎪⎨
⎧==≤+++≤+++≤+++4
,3 ,2 ,1 ,1|0241021082269718
8345432143214321j x x x x x x x x x x x x x i
由于期望收益尽可能大,故目标函数为:
4
32130204020ax x x x x z m +++=
3)模型的建立与求解
至此,我们得到该问题的0—1型整数规划模型为:
4
32130204020ax x x x x z m +++=
约束条件为:
⎪⎪⎩⎪⎪⎨
⎧==≤+++≤+++≤++++4
,3 ,2 ,1 ,1|0(3)
24102108(2) 22697(1)
188345432143214321j x x x x x x x x x x x x x i
下面用隐枚举法求其最优解。
易知,该0—1型整数规划模型有一可行解(0,0,0,1),它对应的目标函数值为:30=z 。
自然,该模型的最优解所对应的目标函数值应不小于30,于是,我们增加一过滤条件为:
30
302040204321≥+++x x x x (4)
在此过滤条件(过滤条件可不唯一)下,用隐枚举法求0—1型整数规划模型的最优解的步骤为:
(1)先判断第一枚举点所对应的目标函数值是否满足过滤条件,若不满足,则转下一步;若满足,再判断该枚举点是否满足各约束条件,若有一个约束条件不满足,则转下一步,若均满足,则将该枚举点所对应的目标函数值z1(本例中,z130≥)作为新的目标值,并修改过滤条件为:
1
432130204020z x x x x ≥+++,再转下一步;
(2) 再判断第二枚举点所对应的目标函数值是否满足新的过滤条件,若不满足,则转下一步;若满足,接着判断该枚举点是否满足各约束条件,若有一个约束条件不满足,则转下一步,若均满足,则将该枚举点所对应的目标函数值z2(z2 ≥z1)作为新的目标值,并修改过滤条件为: 2
432130204020z x x x x ≥+++,
再转下一步;
(3) 重复步骤(2),直至所有的枚举点均比较结束为止。
由隐枚举法的求解步骤,我们可给出该问题的求解过程如下表所示,并得到最优解为:
)
1 ,1 ,1 ,0() , , ,(4321=x x x x ,相应的目标值为90(千元)。
故应上马的工
程为2号、3号、4号工程。
注:在该表中,√表示满足相应条件,×表示不满足相应条件。
例2 工序的流程安排问题
1)问题的提出
一条装配线由一系列工作站组成,被装配或制造的产品在装配线上流动的过程中,每站都要完成一道或几道工序,假定一共有六道工序,这些工序按先后次序在各工作站上完成,关于这些工序有如下的数据:
另外工艺流程特别要求,在任一给定的工作站上,不管完成哪些工序,可用的总时间不能超过10分钟,如何将这些工序分配给各工作站,以使所需的工作站数
为最少?
2)模型分析与变量的假设
下面,我们先讨论工序与工作站的关系,并试图建立起该问题的0—1型整数规划模型。
对任一工序而言,它要么属于工作站j ,要么不属于工作站j ,故决策变量可定义为:
⎩⎨
⎧=行 运 上 j 不在工作站 若工序 0行 运 上 在工作站 若工序
1i j i x ij
这种定义,使我们能根据最优解中ij
x 的值来很快确定工序i 与工作站j 之间
的隶属关系。
又因工序1,2,3所需的工作时间不超过10分钟,故工序1,2,3的工作可以在一个工作站上完成,此时,工序4,5,6只能分别在各自的工作站上工作,该可行解对应的工作站数为4个。
也就是说,对最优解而言,该装配线上所需的工作站个数不会多于4个。
因此,我们再定义变量如下:
⎩⎨
⎧=j j w j 作站 工 要 需 不 中 解 优 若在最
0 站 作 工 要 需 中 解 优 若在最
1 至此,我们得到所需的目标函数为:
4
321 m ax w w w w z +++=
再考虑该模型的约束条件:
(1) 每道工序均隶属于一个工作站,且每一工序都必须完成,故有以下六个约束:
6)
5, 4, 3, 2, ,1( 14321==+++i x x x x i i i i
(2)在任一工作站上完成隶属工序所用的时间不能超过10分钟,故有以下四个约束:
4)
3, 2, 1,(j 10386253654321=≤+++++j j j j j j x x x x x x
(3)最后,我们再考虑各道工序所受的先后次序约束的条件。
先考察工序2与工序3的关系,因工序2在工序3
3隶属于工作站4,则工序2无论属于那个工作站均可;若工序3隶属于工作站3,
则工序2可属于工作站1或2或3;此时,变量3)
2, ,1( 2=j x j 应满足的约束条
件为:
33
232221x x x x ≥++;
同理,若工序3隶属于工作站2或1,则变量3)
2, ,1( 2=j x j 应
满足的约束条件为:
322221x x x ≥+
31
21x x ≥
同理,根据其它工序的优先关系,可仿此法给出其相应的约束条件,由上图知,六个工序之间有五个优先关系,故这类约束条件共有15个。
另外,在最优解中,若有一个工作站4)
3, 2, 1,(=p w p 不用(即
p
w =0),则
隶属于该工作站的全部6)
5, 4, 3, 2, 1,(=i x ip 必须为0,于是,有以下四个约束
条件:
4)
3, 2, 1,( 6654321=≤+++++i w x x x x x x j j j j j j j
3)模型的建立与求解
至此,我们得到了该问题的0—1型整数规划模型,它共包含28个变量,29个约束条件,这样的模型用枚举法求解,人工计算是很难胜任的,这时,只能求助于计算机求解了。
我们给出该问题的模型如下,求解的过程望感兴趣的读者自己完成之。
该问题的目标函数为:
4
321 m ax w w w w z +++=
约束条件为:
6)
5, 4, 3, 2, ,1( 14321==+++i x x x x i i i i
4)
3, 2, 1,(j 10386253654321=≤+++++j j j j j j x x x x x x
33232221x x x x ≥++; 322221x x x ≥+; 3121x x ≥ 53
232221x x x x ≥++;
52
2221x x x ≥+;
51
21x x ≥;
43131211x x x x ≥++; 421211x x x ≥+; 4111x x ≥; 43
333231x x x x ≥++; 42
3231x x x ≥+; 41
31x x ≥; 63434241x x x x ≥++;
624241x x x ≥+;
61
41x x ≥; 4)
3, 2, 1,( 6654321=≤+++++i w x x x x x x j j j j j j j。