数学建模社区-数学中国

标题: 0-1规划 [打印本页]

作者: 137368108    时间: 2011-8-20 15:54
标题: 0-1规划
0-1规划
- C) Z2 |8 B) U) h: g- f. J& R& G0-1规划是决策变量仅取值0或1的一类特殊的整数规划。在处理经济管理中某些规划问题时,若决策变量采用 0-1变量即逻辑变量,可把本来需要分别各种情况加以讨论的问题统一在一个问题中讨论。
2 E% w  |- c  S8 |+ ?) s  0-1规划 + `# n6 W' i. F+ p
0-1 Programming
- a3 l# D1 W; U0 j) n, N4 r一种特殊形式的整数规划 。这种规划的决策变量仅取值0或1,故称为0-1变量或二进制变量 ,因为一个非负整数都可以用二进制记数法用若干个0-1变量表示 。0-1变量可以数量化地描述诸如开与关、取与弃、有与无等现象所反映的离散变量间的逻辑关系、顺序关系以及互斥的约束条件 ,因此0-1规划非常适合描述和解决如线路设计 、工厂选址 、生产计划安排、旅行购物、背包问题、人员安排、代码选取、可靠性等人们所关心的多种问题。实际上,凡是有界变量的整数规划都可以转化为0-1规划来处理 。由于0-1规划具有深刻的背景和广泛的应用,几十年来一直受到人们的重视。
  M1 j3 q7 h$ V- J, b求解0-1规划的方法主要是隐枚举法(如分枝定界法)。对一些特殊问题还有一些更加有效的方法,例如对指派问题,用D.柯尼希发明的匈牙利法求解更显方便有效。* B: ^8 ]1 L* z! C/ W$ n$ G
应用范围: p0 k- F) Y; b, b
0-1规划主要用于求解互斥的计划问题、约束条件互斥问题、固定费用问题和分派问题等方面。
0 o1 j4 N/ j' k8 C8 c% D互斥计划问题
- Y! u0 s' c' m  k) [0 M. k如确定投资项目,选定投资场所,决定投产产品等。设有几种产品,各产品投产后获得的利润为 ,投资限额为 ,规定决策变量 的取值为2 S2 B* y- c0 h6 T
; h( ?/ J3 ^2 f5 `
则此0-1规划的数学模型为 * b  Y2 r6 J( E
8 K* N: i0 V1 h* ]! D$ s$ [! t
式中 表示求极大值; 表示“受约束于”; 是目标函数; 是各种产品的投资额。
/ z+ A0 v; B; D7 r! s4 e约束条件互斥问题
& `1 S! \7 M' _2 l4 h设有 个互相排斥的约束条件(≤型)  (i=1,2,…,m)为了保证这m个约束条件中只有一个起作用,引入m个0-1变量yi和一个足够大的常数M,构造m+1个约束条件
# l! n1 E" w- v( `- N3 d: y" |ai1x1+ai2x2+…+ainxn≤bi+yiM: R7 w. ]# B/ v
y1+y2+…+ym=m-1: Z7 _; s  `6 l7 ^: J$ F+ \
因为m个yi中只有一个能取0值,所以只有一个约束条件能起作用。6 }9 W- D9 v; _9 ^
如运送两种货物,其数量分别为 x1和x2,车运时货物体积不得超过b1,船运时货物重量不得超过b2,即$ ~$ f* x9 X+ i1 ~. A+ @- Z
a11x1+a12x2≤b1 (车运),
8 v/ W5 P6 i$ W$ v% Q- ]a21x1+a22x2≤b2 (船运)。# v& y9 e! o1 q+ S$ m1 O
若只能采用一种运送方式,这两个约束条件是互相排斥的。为了统一在一个问题中,引用0-1变量yi,设
" d1 x4 m4 r8 c7 [, H* _! v7 ]8 h   
6 n8 j6 r. J* S4 {% U   
8 W8 m7 L4 \, c2 D把上述约束条件改造成为下面一组约束条件: * ?, j! {4 m* f  F4 s; L
a11x1+a12x2≤b1+y1M
4 y' T2 c' I3 V7 y4 Y! `" za21x1+a22x2≤b2+y2M
$ w1 t/ ]$ `7 n! h- f4 O3 \# ny1+y2=2-1
. K4 }. x; e) j$ r式中M是足够大的数,采用车运时y1=0,由第1式即得到车运约束条件,采用船运时y2=0,由第2式即得到船运约束条件。因此上述互相排斥的约束条件被一组联立约束条件所代替。2 A* Y2 _/ @* X& ^. W" g
固定费用问题# {0 W2 \; z" h& k) `& j
采用一般线性规划不能解决固定费用问题,需要用0-1规划。设有n种生产方式可供选择,xi为采用第i种方式时的产量,ci为采用第i种方式时每件产品的变动成本,ki为采用第 i种方式时的固定成本,采用各种生产方式的总成本分别为
9 A1 ]/ }0 @& n$ ^9 c   + W/ C( B1 G8 r* J8 n4 w% p
(i=1,2,…,n)
+ Y( E6 M! [  o$ |在构成目标函数时,为了统一在一个问题中讨论,引入0-1变量yi,即
; |# ~6 v  Z7 t' M* O, L4 O则此0-1规划的数学模型为& Y6 X% ^5 ^5 s! g
   , |" D+ Z! t6 A" d/ K7 c8 B
   - [. d9 n6 W' O/ I% F- K
式中min表示求极小值,M是充分大的常数。 $ E( h- ^8 R: o
分派问题
# N1 |& o: `( d4 L0 u由几个人去完成几项任务,但由于任务性质和各人专长不同,应分派哪个人去完成哪项任务,以使总效率最高或耗费的总时间最小,这类问题称为分派问题,又称指派问题。
( c% T  |3 {! Q- G4 z4 X8 L% q分派问题必须给出系数矩阵(又称效率矩阵),矩阵的元素 cij(>0)(i,j=1,2,…,n)表示派第i人去完成第j项任务时的效率(或时间、成本等)。引用0-1变量xij,设3 Z. f# P: J# |
   0 z* L' I6 {1 F- @1 i
分派问题的数学模型为
5 ^& l/ V- S% V8 H     T( H% z, V+ E" ]# h5 ^( I+ {0 {
   ' |+ X  }9 ^2 w) v+ j4 H
第1个约束条件说明第j项任务只能由1人去完成,第2个约束条件说明第i人只能完成1项任务。分派问题的解可写成矩阵形式(xij),其各行各列的元素之和都是1。
8 w+ O( g6 D; N3 X隐枚举法
' e- [5 b( f' A) n  P* J0-1规划问题一般有三种解法,即变换法、穷举法和隐枚举法。上述方法即为变换法,用于解特殊的0-1规划问题。穷举法就是检查变量取值为0或 1的每一种组合,比较目标函数值来求最优解,这就需要检查变量取值的2n个组合。对于n>10的情况,这几乎是办不到的。因此常设计一些方法,只检查变量取值组合的一部分,就能得到问题的最优解。这样的方法称为隐枚举法。
" F& r' o- h+ `! i5 T采用隐枚举法解 0-1规划问题时要根据目标函数的性质增加一个相应的不等式作为附加约束条件,称为过滤条件,以减少运算次数。一般还要按目标函数中xi的系数递增的顺序,重新排列目标函数和约束条件中xi的次序,以简化计算。% o" O* @3 Z1 ^# k2 z

2 {" K; r0 R2 ]; J  p3 A
作者: china19901015    时间: 2011-8-20 21:24
hehe~~




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5