最优化理论与方法2(整数线性规划)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例 求解 目标函数:
- x1 x 2 1
约束条件:
max Z x1 x2
① ② ③ ④ ⑤
3 x1 x 2 4 x1 , x 2 0
x1 , x2为整数
最优化理论与方法
先不考虑条件⑤的整数约束条件, 求得相应的松弛线性规划的最优。 解为:
x1 3 / 4, x2 7 / 4
x2
3
⑴
⑵
(3/2,10/3)
标函数值最大,即为Z=4。
3
x1
最优化理论与方法
按整数规划约束条件,其可行解肯定在线性规划问题的可行 域内且为整数点。故整数规划问题的可行解集是一个有限集。 由上例看出,将线性规划的最优解经过“化整”来解原整数 线性规划,虽是最容易想到的,但常常得不到整数线性规划的最 优解,甚至根本不是可行解。 1、整数规划问题解的特征 (1)最优点不一定在顶点处取得; (2)最优解不一定是松弛问题最优解的邻近整数解; (3)整数可行解远多余于顶点,枚举法不可取; (4)可行解是其松弛问题的可行解,反之不一定,但如果松 弛问题的最优解还满足整数约束条件,是整数规划的最优解。
最优化理论与方法
整数规划问题的求解方法:
ü 割平面法 ü 分枝定界法
2.6.1.1 割平面法的基本思想
1、基本思想:由松弛问题的可行域向整数规划的可行域逼近。 2、方法—利用超平面切除。 3、要求: (1)整数解保留; (2)松驰问题最优值增加。 具体为:即 n 首先不考虑变量 Xi 是整数这一条件,仍然是用解线性规
2.6
整数线性规划
线性规划问题的最优解可能是分数或小数,但对于某些问 题,常要求解必须是整数(称为整数解)。这样的问题称为整数线 性规划(integer linear programming),简称ILP。 一、 整数规划(IP) (1) 要求一部分或全部决策变量取整数值的规划问题称为 整数规划。 A 不考虑整数条件,由余下的目标函数和约束条件构成的规 划问题称为整数规划的松弛问题。 B 若松弛问题是一个线性规划,则称整数规划为整数线性规划。
最优化理论与方法
c:混合整数线性规划 决策变量中有一部分必须取整数值,另一部分可以不取整数 值的整数线性规划。
min s .t .
C
T
X
AX b x j 0 x j 为整数
j 1 , , p , 通常
ห้องสมุดไป่ตู้
p n
B1 A1 A2 A3 A4 年需求量 2 8 7 4 350
混合整数规划问题
最优化理论与方法
例2:现有资金总额为B。可供选择的投资项目有n个,项目j 所需投资额和预期收益分别为 a j 和 c j j 1, , n ,此外由于种 种原因,有三个附加条件: 1、若选择项目1,就必须同时选择项目2。反之不一定; 2、项目3和4中至少选择一个; 3、项目5、6、7中恰好选择2个。 应该怎样选择投资项目,才能使总预期收益最大。
最优化理论与方法
注意:新得到的约束条件:
3 x3 x 4 3
如用
⑧
x1、 x 2 表示,由⑥、⑦式得
31 x1 x2 4 3x1 x2 3
x2 1
这就是 x 1 , x 2
平面内形成的新的可行域,
即包括平行于x1轴的直线x2 =1和这直线下的可行区域,整数 点也在其中,没有切割掉,见右图。
最优值为:
z 5/ 2
*
最优解是图中域 R的极点A,但A不符合整数约束条件。
最优化理论与方法
现设想,如能找到像CD那样的 直线去切割域R,去掉三角形域 ACD,那么具有整数坐标的C点(1, 1)就是域 R’一个极点。
如在域 R ' 上求解原来的松弛问题①~④,而得到的最优解又 恰巧在C点,就得到原问题的整数解,所以解法的关键是怎样构造 一个这样的“割平面”CD,尽管它可能不是唯一的,也可能不是 一步能求到的。
即
bi N i f i a ik N ik f ik
其中 0 f 1 其中 0 f ik 1
(3-5)
最优化理论与方法
而N表示不超过b的最大整数。例如: 若b = 2.35, 则N = 2,f = 0.35
若b = − 0.45,则N = − 1,f = 0.55 代入(3-4)式得:
14 x 1 9 x 2 51 6 x1 3 x 2 1 x , x 0 且为整数 1 2
最优化理论与方法
用图解法求出最优解为:x1=3/2, x2 = 10/3,且有Z = 9/6
现求整数解(最优解):如用舍 入取整法可得到4个点即(1,3), (2,3), (1,4), (2,4)。显然,它们都 不可能是整数规划的最优解。 按整数规划约束条件,其可行 解肯定在线性规划问题的可行域 内且为整数点。故整数规划问题 的可行解集是一个有限集,如右 图所示。其中(2,2),(3,1)点的目
x11 x 21 x 31 x 41 350 x12 x 22 x 32 x 42 400 x13 x 23 x 33 x 43 300 x14 x 24 x 34 x 44 150 x x x x 400 11 12 13 14 s .t x 21 x 22 x 23 x 24 600 x 31 x 32 x 33 x 34 200 y1 x 41 x 42 x 43 x 44 200 y 2 x 0 ( i , j 1,2,3,4) ij y i 0,1 ( i 1,2)
最优化理论与方法
解:对每个投资项目都有被选择和不被选择两种可能,因 此分别用0和1表示,令xj表示第 j 个项目的决策选择, 记为:
1 xj 0 对项目 j 投资 对项目 j 不投资 ( j 1 , 2 ,..., n )
投资问题可以表示为:
max z
c
j 1
n
j
xj
n ajxj B j 1 x 2 x1 s .t x x 1 4 3 x5 x6 x7 2 x 0或者 1 ( j 1, 2 , n ) j
划的方法去解松弛问题。
最优化理论与方法
n 若得到非整数的最优解,则增加线性约束条件(或称为割 平面),割去非整数解,切割掉原可行域的一部分,使得只切割掉 非整数解,没有切割掉任何整数可行解。
n割平面法就是指出怎样找到适当的割平面(不见得一 次就能找到),使切割后最终得到这样的可行域,它的 一个整数极点恰好是问题的最优解。
⑧
这就得到一个切割方程(或称为切割约束),将它作为增加约束 条件,再解例题。 引入松弛变量X5 ,得到等式
3x3 x4 x5 3
最优化理论与方法
将这新的约束方程加到上述的最终计算表,得下表:
这从表的b列中可看到,这时得到的是非可行解,于是需要用 对偶单纯形法继续进行计算。
最优化理论与方法
xi N ik x k N i f i f ik x k
k k
(3-6)
Step3 现在提出变量(包括松弛变量)为整数的条件。
xi
N
k
ik
xk N i fi
k
f ik x k
最优化理论与方法
首先,将松弛规划化为标准型,即在原问题的前两个不等 式中增加非负松弛变量X3、X4,使两式变成等式约束:
- x1 x2 x3 1
3x1 x2 x4 4
用单纯形表求解,见下表:
⑥
⑦
最优化理论与方法
由于目前得到的解不满足整数最优解要求,需要考虑将带有 分数的最优解的可行域中分数部分割去,再求最优解。 然后,可从最终计算表中得到非整数变量对应的关系式:
最优化理论与方法
然后将整数部分与分数部分分开,移到等式左右两边,得到:
3 3 1 x1 x 3 x 3 x 4 4 4 4 3 3 1 x 2 1 x3 x 4 4 4 4
现考虑整数约束条件⑤要求 件⑥、⑦可知
x1、x2
都是非负整数,于是由条
x3、x4
也都是非负整数,这一点对以下推导是必要
的,如不都是整数,则应在引入 都是整数。
x3、x4 之前乘以适当常数,使之
最优化理论与方法
上式中,从等式左边看是整数;等式右边也应是整数,即则 整数条件⑤可由下式所代替:
3 3 1 x3 x 4 0 4 4 4
即
3 x3 x 4 3
选择X5为换出变量,计算
cj zj min j a ij
1 1 1 a ij 0 min 2 , 2 3 1 6
将X3做为换入变量,再按原单纯形法进行迭代,得表。
由于
x1、x2 的值已都是整数,解题已完成。
最优化理论与方法
二、 整数规划的求解
线性规划问题的最优解可能是分数或小数,为满足整数解的 要求,似乎可以把已得到的带有分数或小数的解“舍入化整”。 这种方法可行吗? 例 设整数规划问题如下:
max Z x1 x 2
max Z x1 x 2 14 x 1 9 x 2 51 6 x1 3 x 2 1 x ,x 0 1 2
B2 9 3 6 5 400
B3 3 5 1 2 300
B4 4 7 2 5 150
年生产能力 400 600 200 200
工厂A3 或A4 开工后,每年的生产费用估计分别为1200万或 1500万元。现要决定应该建设工厂A3 还是A4 ,才能使今后 每年的总费用最少。
最优化理论与方法
解:这是一个物资运输问题,特点是事先不能确定应该建 A3 还是A4中哪一个,因而不知道新厂投产后的实际生产物资。 为此,引入0-1变量:
最优化理论与方法
(2) 整数线性规划的一般形式
min
f ( 或 max f )
cx
j 1 i
n
j
n a ij x j bi i 1, , m j 1 x 0 j 1, , n 且部分或全部为整数 j
(3) 整数线性规划问题的种类 a:纯整数线性规划 它指全部决策变量都必须取整数值的整数线性规划。
最优化理论与方法
min CT X
AX b s .t . x j 0 , x j 为整数
b:0-1型整数线性规划
j 1, , n
决策变量只能取值0或1的整数线性规划。
min
CTX
AX b s .t . x j 0 ,1
j
1, , n
最优化理论与方法
求一个切割方程的步骤为: Step1 令
x i 是相应线性规划最优解中为分数值的一个基
变量,由单纯形表的最终表得到:
xi
k
a ik x k b i
(3-4)
其中 i Q,Q 指构成基变量的指标集合;k K , K 指构 成非基变量的指标集合。 Step2 将 b i 和 a ik 都分解成整数部分N与非负真分数 f之和
1 若建工厂 yi 0 若不建工厂
再设
i 1,2
xij 为由Ai 运往Bj 的物资数量,单位为千吨;z表示总费用,
单位万元。则该规划问题的数学模型可以表示为:
最优化理论与方法
min z c ij x ij [1200 y1 1500 y 2 ]
i 1 j 1 4 4
最优化理论与方法
1 x3 4 3 x2 x3 4 x1 1 3 x4 4 4 1 7 x4 4 4
为了得到整数最优解,将上式变量的系数和常数项都分解成 整数和非负真分数两部分之和:
3 1 3 1 0x1 1 x3 0 x4 0 4 4 4 3 1 3 1 0x2 0 x 0 x 1 3 4 4 4 4
- x1 x 2 1
约束条件:
max Z x1 x2
① ② ③ ④ ⑤
3 x1 x 2 4 x1 , x 2 0
x1 , x2为整数
最优化理论与方法
先不考虑条件⑤的整数约束条件, 求得相应的松弛线性规划的最优。 解为:
x1 3 / 4, x2 7 / 4
x2
3
⑴
⑵
(3/2,10/3)
标函数值最大,即为Z=4。
3
x1
最优化理论与方法
按整数规划约束条件,其可行解肯定在线性规划问题的可行 域内且为整数点。故整数规划问题的可行解集是一个有限集。 由上例看出,将线性规划的最优解经过“化整”来解原整数 线性规划,虽是最容易想到的,但常常得不到整数线性规划的最 优解,甚至根本不是可行解。 1、整数规划问题解的特征 (1)最优点不一定在顶点处取得; (2)最优解不一定是松弛问题最优解的邻近整数解; (3)整数可行解远多余于顶点,枚举法不可取; (4)可行解是其松弛问题的可行解,反之不一定,但如果松 弛问题的最优解还满足整数约束条件,是整数规划的最优解。
最优化理论与方法
整数规划问题的求解方法:
ü 割平面法 ü 分枝定界法
2.6.1.1 割平面法的基本思想
1、基本思想:由松弛问题的可行域向整数规划的可行域逼近。 2、方法—利用超平面切除。 3、要求: (1)整数解保留; (2)松驰问题最优值增加。 具体为:即 n 首先不考虑变量 Xi 是整数这一条件,仍然是用解线性规
2.6
整数线性规划
线性规划问题的最优解可能是分数或小数,但对于某些问 题,常要求解必须是整数(称为整数解)。这样的问题称为整数线 性规划(integer linear programming),简称ILP。 一、 整数规划(IP) (1) 要求一部分或全部决策变量取整数值的规划问题称为 整数规划。 A 不考虑整数条件,由余下的目标函数和约束条件构成的规 划问题称为整数规划的松弛问题。 B 若松弛问题是一个线性规划,则称整数规划为整数线性规划。
最优化理论与方法
c:混合整数线性规划 决策变量中有一部分必须取整数值,另一部分可以不取整数 值的整数线性规划。
min s .t .
C
T
X
AX b x j 0 x j 为整数
j 1 , , p , 通常
ห้องสมุดไป่ตู้
p n
B1 A1 A2 A3 A4 年需求量 2 8 7 4 350
混合整数规划问题
最优化理论与方法
例2:现有资金总额为B。可供选择的投资项目有n个,项目j 所需投资额和预期收益分别为 a j 和 c j j 1, , n ,此外由于种 种原因,有三个附加条件: 1、若选择项目1,就必须同时选择项目2。反之不一定; 2、项目3和4中至少选择一个; 3、项目5、6、7中恰好选择2个。 应该怎样选择投资项目,才能使总预期收益最大。
最优化理论与方法
注意:新得到的约束条件:
3 x3 x 4 3
如用
⑧
x1、 x 2 表示,由⑥、⑦式得
31 x1 x2 4 3x1 x2 3
x2 1
这就是 x 1 , x 2
平面内形成的新的可行域,
即包括平行于x1轴的直线x2 =1和这直线下的可行区域,整数 点也在其中,没有切割掉,见右图。
最优值为:
z 5/ 2
*
最优解是图中域 R的极点A,但A不符合整数约束条件。
最优化理论与方法
现设想,如能找到像CD那样的 直线去切割域R,去掉三角形域 ACD,那么具有整数坐标的C点(1, 1)就是域 R’一个极点。
如在域 R ' 上求解原来的松弛问题①~④,而得到的最优解又 恰巧在C点,就得到原问题的整数解,所以解法的关键是怎样构造 一个这样的“割平面”CD,尽管它可能不是唯一的,也可能不是 一步能求到的。
即
bi N i f i a ik N ik f ik
其中 0 f 1 其中 0 f ik 1
(3-5)
最优化理论与方法
而N表示不超过b的最大整数。例如: 若b = 2.35, 则N = 2,f = 0.35
若b = − 0.45,则N = − 1,f = 0.55 代入(3-4)式得:
14 x 1 9 x 2 51 6 x1 3 x 2 1 x , x 0 且为整数 1 2
最优化理论与方法
用图解法求出最优解为:x1=3/2, x2 = 10/3,且有Z = 9/6
现求整数解(最优解):如用舍 入取整法可得到4个点即(1,3), (2,3), (1,4), (2,4)。显然,它们都 不可能是整数规划的最优解。 按整数规划约束条件,其可行 解肯定在线性规划问题的可行域 内且为整数点。故整数规划问题 的可行解集是一个有限集,如右 图所示。其中(2,2),(3,1)点的目
x11 x 21 x 31 x 41 350 x12 x 22 x 32 x 42 400 x13 x 23 x 33 x 43 300 x14 x 24 x 34 x 44 150 x x x x 400 11 12 13 14 s .t x 21 x 22 x 23 x 24 600 x 31 x 32 x 33 x 34 200 y1 x 41 x 42 x 43 x 44 200 y 2 x 0 ( i , j 1,2,3,4) ij y i 0,1 ( i 1,2)
最优化理论与方法
解:对每个投资项目都有被选择和不被选择两种可能,因 此分别用0和1表示,令xj表示第 j 个项目的决策选择, 记为:
1 xj 0 对项目 j 投资 对项目 j 不投资 ( j 1 , 2 ,..., n )
投资问题可以表示为:
max z
c
j 1
n
j
xj
n ajxj B j 1 x 2 x1 s .t x x 1 4 3 x5 x6 x7 2 x 0或者 1 ( j 1, 2 , n ) j
划的方法去解松弛问题。
最优化理论与方法
n 若得到非整数的最优解,则增加线性约束条件(或称为割 平面),割去非整数解,切割掉原可行域的一部分,使得只切割掉 非整数解,没有切割掉任何整数可行解。
n割平面法就是指出怎样找到适当的割平面(不见得一 次就能找到),使切割后最终得到这样的可行域,它的 一个整数极点恰好是问题的最优解。
⑧
这就得到一个切割方程(或称为切割约束),将它作为增加约束 条件,再解例题。 引入松弛变量X5 ,得到等式
3x3 x4 x5 3
最优化理论与方法
将这新的约束方程加到上述的最终计算表,得下表:
这从表的b列中可看到,这时得到的是非可行解,于是需要用 对偶单纯形法继续进行计算。
最优化理论与方法
xi N ik x k N i f i f ik x k
k k
(3-6)
Step3 现在提出变量(包括松弛变量)为整数的条件。
xi
N
k
ik
xk N i fi
k
f ik x k
最优化理论与方法
首先,将松弛规划化为标准型,即在原问题的前两个不等 式中增加非负松弛变量X3、X4,使两式变成等式约束:
- x1 x2 x3 1
3x1 x2 x4 4
用单纯形表求解,见下表:
⑥
⑦
最优化理论与方法
由于目前得到的解不满足整数最优解要求,需要考虑将带有 分数的最优解的可行域中分数部分割去,再求最优解。 然后,可从最终计算表中得到非整数变量对应的关系式:
最优化理论与方法
然后将整数部分与分数部分分开,移到等式左右两边,得到:
3 3 1 x1 x 3 x 3 x 4 4 4 4 3 3 1 x 2 1 x3 x 4 4 4 4
现考虑整数约束条件⑤要求 件⑥、⑦可知
x1、x2
都是非负整数,于是由条
x3、x4
也都是非负整数,这一点对以下推导是必要
的,如不都是整数,则应在引入 都是整数。
x3、x4 之前乘以适当常数,使之
最优化理论与方法
上式中,从等式左边看是整数;等式右边也应是整数,即则 整数条件⑤可由下式所代替:
3 3 1 x3 x 4 0 4 4 4
即
3 x3 x 4 3
选择X5为换出变量,计算
cj zj min j a ij
1 1 1 a ij 0 min 2 , 2 3 1 6
将X3做为换入变量,再按原单纯形法进行迭代,得表。
由于
x1、x2 的值已都是整数,解题已完成。
最优化理论与方法
二、 整数规划的求解
线性规划问题的最优解可能是分数或小数,为满足整数解的 要求,似乎可以把已得到的带有分数或小数的解“舍入化整”。 这种方法可行吗? 例 设整数规划问题如下:
max Z x1 x 2
max Z x1 x 2 14 x 1 9 x 2 51 6 x1 3 x 2 1 x ,x 0 1 2
B2 9 3 6 5 400
B3 3 5 1 2 300
B4 4 7 2 5 150
年生产能力 400 600 200 200
工厂A3 或A4 开工后,每年的生产费用估计分别为1200万或 1500万元。现要决定应该建设工厂A3 还是A4 ,才能使今后 每年的总费用最少。
最优化理论与方法
解:这是一个物资运输问题,特点是事先不能确定应该建 A3 还是A4中哪一个,因而不知道新厂投产后的实际生产物资。 为此,引入0-1变量:
最优化理论与方法
(2) 整数线性规划的一般形式
min
f ( 或 max f )
cx
j 1 i
n
j
n a ij x j bi i 1, , m j 1 x 0 j 1, , n 且部分或全部为整数 j
(3) 整数线性规划问题的种类 a:纯整数线性规划 它指全部决策变量都必须取整数值的整数线性规划。
最优化理论与方法
min CT X
AX b s .t . x j 0 , x j 为整数
b:0-1型整数线性规划
j 1, , n
决策变量只能取值0或1的整数线性规划。
min
CTX
AX b s .t . x j 0 ,1
j
1, , n
最优化理论与方法
求一个切割方程的步骤为: Step1 令
x i 是相应线性规划最优解中为分数值的一个基
变量,由单纯形表的最终表得到:
xi
k
a ik x k b i
(3-4)
其中 i Q,Q 指构成基变量的指标集合;k K , K 指构 成非基变量的指标集合。 Step2 将 b i 和 a ik 都分解成整数部分N与非负真分数 f之和
1 若建工厂 yi 0 若不建工厂
再设
i 1,2
xij 为由Ai 运往Bj 的物资数量,单位为千吨;z表示总费用,
单位万元。则该规划问题的数学模型可以表示为:
最优化理论与方法
min z c ij x ij [1200 y1 1500 y 2 ]
i 1 j 1 4 4
最优化理论与方法
1 x3 4 3 x2 x3 4 x1 1 3 x4 4 4 1 7 x4 4 4
为了得到整数最优解,将上式变量的系数和常数项都分解成 整数和非负真分数两部分之和:
3 1 3 1 0x1 1 x3 0 x4 0 4 4 4 3 1 3 1 0x2 0 x 0 x 1 3 4 4 4 4