整数规划的数学模型及解的特点.doc
文本预览下载声明
整数规划的数学模型及解的特点
整数规划IP (integer programming):在许多规划问题中,如果要求一部分或全部决策变量必须取整数。例如,所求的解是机器的台数、人数、车辆船只数等,这样的规划问题称为整数规划,简记IP。
松弛问题(slack problem):不考虑整数条件,由余下的目标函数和约束条件构成的规划问题称为该整数规划问题的松弛问题。
若松弛问题是一个线性规化问题,则该整数规划为整数线性规划(integer linear programming)。
一、整数线性规划数学模型的一般形式
整数线性规划问题可以分为以下几种类型
1、纯整数线性规划(pure integer linear programming):指全部决策变量都必须取整数值的整数线性规划。有时,也称为全整数规划。
2、混合整数线性规划(mixed integer liner programming):指决策变量中有一部分必须取整数值,另一部分可以不取整数值的整数线性规划。
3、0—1型整数线性规划(zero—one integer liner programming):指决策变量只能取值0或1的整数线性规划。
1 解整数规划问题
0—1型整数规划
0—1型整数规划是整数规划中的特殊情形,它的变量仅可取值0或1,这时的变量xi称为0—1变量,或称为二进制变量。
0—1型整数规划中0—1变量作为逻辑变量(logical variable),常被用来表示系统是否处于某一特定状态,或者决策时是否取某个方案。
一、0—1型整数规划的典型应用问题
例1:背包问题:一个登山队员,他需要携带的物品有:食品、氧气、冰镐、绳索、帐篷、照相器材、通信器材等。每种物品的重量和重要性系数如表所示。设登山队员可携带的最大重量为25kg,试选择该队员所应携带的物品。
序号 1 2 3 4 5 6 7 物品 食品 氧气 冰镐 绳索 帐篷 照相器材 通信设备 重量/Kg 5 5 2 6 12 2 4 重要性系数 20 15 18 14 8 4 10
解:引入0—1变量xi, xi=1表示应携带物品i,,xi=0表示不应携带物品i
上述问题就是一个标准的0-1整数规划问题,解得: X*=(1,1,1,1,0,1,1)’ Z*=81
例2:集合覆盖和布点问题
某市消防队布点问题。该市共有6个区,每个区都可以建消防站,市政府希望设置的消防站最少,但必须满足在城市任何地区发生火警时,消防车要在15min内赶到现场。据实地测定,各区之间消防车行驶的时间见表,请制定一个布点最少的计划。
地区1 地区2 地区3 地区4 地区5 地区6 地区1
地区2
地区3
地区4
地区5
地区6 0
10
16
28
27
20 10
0
24
32
17
10 16
24
0
12
27
21 28
32
12
0
15
25 27
17
27
15
0
14 20
10
21
25
14
0 解:引入0—1变量xi, xi=1表示在该区设消防站,,xi=0表示不设
解得: X*=(0,1,0,1,0,0)’ Z*=2
二、特殊约束的处理
1.矛盾约束:建模时,有时会遇到相互矛盾的约束,而模型只能两者取一或,例如下面两个约束
先不等式同向处理,原式可化为: ,
再引入一个0-1变量y, 及一个很大的正数M,
y=0时,(5)与(1)相同,(6)自然满足,实际上不起作用
y=1时,(6)与(2)相同,(5)自然满足,实际上起作用
对于形似,可以用以下一对约束代替
约束同向处理,改为
引入0—1变量后,
2.多中选一的约束
模型希望在下列几个约束中,只能有一个约束有效:
引入n个0-1整数变量yi, i=1,2,…,n.
则上式可改写为:
yi=0时,(2)自然满足,此时约束不起作用
yi=1时,约束起作用。
而和式保证了在0—1整数变量中有一个且也只有一个取值1,其余取0值。
若希望有k个约束有效,只需将(3)改为
3、某市为方便学生,拟在新建的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
解:对每一个学校定义一个变量
1,当某居民小区可由第j个学校负责
=
0,当某居民小区不可由第j个学校负责
则对于第1个小区:
对于第2个小区:
对于第3个小区:
对于第4个小区:
对于第5个小区:
对于第6个小区:
对于第7个小区:
Min z =
解得: =3
例2
显示全部