1、整数规划的数学模型及解的特点整数规划 IP (integer programming):在许多规划问题中,如果要求一部分或全部决策变量必须取整数。例如,所求的解是机器的台数、人数、车辆船只数等,这样的规划问题称为整数规划,简记 IP。松弛问题(slack problem):不考虑整数条件,由余下的目标函数和约束条件构成的规划问题称为该整数规划问题的松弛问题。若松弛问题是一个线性规化问题,则该整数规划为整数线性规划(integer linear programming)。一、整数线性规划数学模型的一般形式 njjxcZ1mi)ax(或 中 部 分 或 全 部 取 整 数njnj ijixmibt
2、s,.,.21210),(.整数线性规划问题可以分为以下几种类型1、纯整数线性规划(pure integer linear programming):指全部决策变量都必须取整数值的整数线性规划。有时,也称为全整数规划。2、混合整数线性规划(mixed integer liner programming):指决策变量中有一部分必须取整数值,另一部分可以不取整数值的整数线性规划。3、01 型整数线性规划(zeroone integer liner programming):指决策变量只能取值 0 或 1 的整数线性规划。1 解整数规划问题且 为 整 数0, 31245149max2122121xx
3、z01 型整数规划01 型整数规划是整数规划中的特殊情形,它的变量仅可取值 0 或 1,这时的且 为 整 数0,5214533max12121xxz变量 xi 称为 01 变量,或称为二进制变量。01 型整数规划中 01 变量作为逻辑变量(logical variable),常被用来表示系统是否处于某一特定状态,或者决策时是否取某个方案。 为 否 或 无如 果 决 策 为 是 或 有如 果 决 策 ixi01一、01 型整数规划的典型应用问题例 1:背包问题:一个登山队员,他需要携带的物品有:食品、氧气、冰镐、绳索、帐篷、照相器材、通信器材等。每种物品的重量和重要性系数如表所示。设登山队员可携
4、带的最大重量为 25kg,试选择该队员所应携带的物品。序号 1 2 3 4 5 6 7物品 食品 氧气 冰镐 绳索 帐篷 照相器材 通信设备重量/Kg 5 5 2 6 12 2 4重要性系数 20 15 18 14 8 4 10解:引入 01 变量 xi, xi=1 表示应携带物品 i,,xi=0 表示不应携带物品 i7,.21,0 254265 108187654321 765321ix xxxnazi或上述问题就是一个标准的 0-1 整数规划问题,解得: X*=(1,1,1,1,0,1,1) Z*=81例 2:集合覆盖和布点问题某市消防队布点问题。该市共有 6 个区,每个区都可以建消防站,
5、市政府希望设置的消防站最少,但必须满足在城市任何地区发生火警时,消防车要在15min 内赶到现场。据实地测定,各区之间消防车行驶的时间见表,请制定一个布点最少的计划。地区 1 地区 2 地区 3 地区 4 地区 5 地区 6地区 1地区 2地区 3地区 4地区 5地区 6010162827201002432171016240122721283212015252717271501420102125140解:引入 01 变量 xi, xi=1 表示在该区设消防站,,xi=0 表示不设0111min 6524534621 65432或ixxxxxxz解得: X*=(0,1,0,1,0,0) Z*=2
6、二、特殊约束的处理1.矛盾约束:建模时,有时会遇到相互矛盾的约束,而模型只能两者取一或,例如下面两个约束)2(0)( 13xf先不等式同向处理,原式可化为: ,)4(0)(33xf再引入一个 01 变量 y, 及一个很大的正数 M,)6()( 53yMxfy=0 时,(5)与(1)相同,(6)自然满足,实际上不起作用y=1 时,(6)与(2)相同,(5)自然满足,实际上起作用对于形似)0()(axf,可以用以下一对约束代替axf)(约束同向处理,改为引入 01 变量后,()fxa()(1)fxaMy2.多中选一的约束模型希望在下列几个约束中,只能有一个约束有效: )1(),.21(0)( ni
7、xfi 引入 n 个 01 整数变量 yi, i=1,2,n.则上式可改写为:yi=0 时, (2)自然满足,此时约束不起作用yi=1 时,约束起作用。而和式保证了在 01 整数变量中有一个且也只有一个取值 1,其余取 0 值。若希望有 k 个约束有效,只需将(3)改为 kyyn.213、某市为方便学生,拟在新建的 7 个居民小区增设若干所学校。已知各备选校址代号及其能覆盖的居民小区编号如表 1 所示,问要覆盖所有居民小区至少应建多少所学校?对应的校址代号是哪些?表 1备选校址 A B C D E F小区编号 1,5,7 1,2,5 1,3,5 2,4,5 3,6 4,6解:对每一个学校定义一
8、个变量 jx1,当某居民小区可由第 j 个学校负责jx0,当某居民小区不可由第 j 个学校负责)3(1. 2,.2()1()(21nii yyniMxf则对于第 1 个小区: 1231xx对于第 2 个小区: 4对于第 3 个小区: 35x对于第 4 个小区: 461对于第 5 个小区: 1234xx对于第 6 个小区: 56对于第 7 个小区: 1xMin z =61jjX解得: *,0,T*Z=3例 2 有两个相互排斥的约束条件 451x或 453721x。为了统一在一个问题中,引入 10变量 y,则上述约束条件可改写为:10)(45372或yMyx其中 M是充分大的数。例 3 约束条件
9、01x 或 8051x可改写为 085或yy3.1.3 关于固定费用的问题(Fixed Cost Problem)在讨论线性规划时,有些问题是要求使成本为最小。那时总设固定成本为常数,并在线性规划的模型中不必明显列出。但有些固定费用(固定成本)的问题不能用一般线性规划来描述,但可改变为混合整数规划来解决,见下例。例 5 某工厂为了生产某种产品,有几种不同的生产方式可供选择,如选定的生产方式投资高(选购自动化程度高的设备) ,由于产量大,因而分配到每件产品的变动成本就降低;反之,如选定的生产方式投资低,将来分配到每件产品的变动成本可能增加。所以必须全面考虑。今设有三种方式可供选择,令 jx表示采
10、用第 j种方式时的产量;jc表示采用第 种方式时每件产品的变动成本;jk表示采用第 j种方式时的固定成本。为了说明成本的特点,暂不考虑其它约束条件。采用各种生产方式的总成本分别为 0 ,0,jjjjj xckP当 当3,21j. 在构成目标函数时,为了统一在一个问题中讨论,现引入 10变量 jy,令 .0,01 时种 生 产 方 式 , 即当 不 采 用 第 时 ,种 生 产 方 式 , 即当 采 用 第 jxj jjjy于是目标函数)()()(min 332211 xcykxcykxcykz (3)(3)式这个规定可表为下述 3 个线性约束条件:,jMyxjjj (4)其中 是一个充分小的正
11、常数, 是个充分大的正常数。 (4)式说明,当0jx时 jy必须为 1;当 0jx时只有 jy为 0 时才有意义,所以(4)式完全可以代替(3)式。例 8 求解下列指派问题,已知指派矩阵为109653248710,求最小指派问题。数学模型为:Min z=3*x11+8*x12+2*x13+10*x14+3*x15+8*x21+7*x22+ 51*ijjax+9*x51+10*x52+6*x53+9*x54+10*x55X11+x12+x13+x14+x15=151.5ijxX51+x52+x53+x54+x55=1X11+x21+x31+x41+x51=1X15+x25+x35+x45+x55
12、=1Xi,j=0,1Lingo 程序为:model:sets:row/15/: ;col/15/: ;link(row,col):a,x;endsetsdata:a=3 8 2 10 38 7 2 9 76 4 2 7 58 4 2 3 59 10 6 9 10;enddatamin = sum(link(i,j):a(i,j)*x(i,j);for(row(i):sum(col(j):x(i,j)=1);for(col(j):sum(row(i)|i#le#2:x(i,j)+ sum(row(i)|i#ge#3:x(i,j)=1);end篮球队需要选择 5 名队员组成出场阵容参加比赛。8 名
13、队员的身高和擅长位置见下表:队员 身高(米) 擅长位置出现阵容应满足以下条件:中锋只能有一个上场;x1+x2=1至少有一名后卫;x6+x7+x8=1如 1 号和 4 号上场,则 6 号不出场; y=x1+x4 ,if y=2 x6=0X1 = x62 号和 6 号至少保留一个不出场。X2+x6 =1应当选择哪 5 名队员上场,才能使出场队员平均身高最高?1 1.92 中锋2 1.90 中锋3 1.88 前锋4 1.86 前锋5 1.85 前锋6 1.83 后卫7 1.80 后卫8 1.78 后卫公司生产 A、B、C 三种产品,售价分别为 12 元、7 元和 6 元。生产每单位 A 需要 1 小
14、时技术服务、10 小时直接劳动、3 千克材料;生产每单位 B 需要 2 小时技术服务、4 小时直接劳动、2 千克材料;生产每单位 C 需要 1 小时技术服务、5 小时直接劳动、1 千克材料;现在最多能提供 100 小时技术服务、700 小时直接劳动、400 千克材料;生产成本是生产量的非线性函数,如下所示:产品 A 产品 B 产品 C产量单位成本(元)04040100100150150 以上10987产量 单位成本(元)0505100100 以上643产量 单位成本(元)0100100 以上54要求建立一个总利润最大的生产计划数学模型。设产品 A 的产量为 1x,且1104y, 其 他,121
15、40yx, 其 他,1315x, 其 他,1415, 其 他,设产品 B 的产量为 2,且:21205yx, 其 他,221501yx, 其 他,23210yx, 其 他,设产品 C 产量为 3,且:31301yx, 其 他,32310yx, 其 他,设总利润为:y 12134121233123123 3142123121(987)(64)6(54)0,50,00,5.Maxyyxyyxyxxxyxyxyst32432311 35,0,0(,)(,)(1,)(1,2)jj j jxyjyyj或 , 或 , 或2 某钻井队要从以下 10 个可供选择的井位中确定 5 个钻井采油,目的是使总的钻井费
16、用最小。若 10 个钻井位代号为 1210,S ,相应的钻控费用为1210,c,并且井位的选择要满足下列条件:若选择 S和 7,或选择钻探 8S:选择了 3 或 4,就不能选择 5,反过来也是一样。在 26910,中最多只能选择两个。试建立这个问题的整数规划模型。设 0jx或 1,其中 0jx代表 jS点未入选, 1jx代表 jS点入选;于是可构造如下数学模型: 10maxjjzC187354678 2xx105j1,20jxorj考虑下列数学模型 )(min21xgfZ其中 0,0,15)(,0,06)( 2211 xxgxxf 若 若若 若满足约束条件(1)x18 或 x26(3)x1+2x220、2x1+x220 及 x1+x220 三个约束中至少一个满足将此问题归结为混合整数规划的数学模型。