求解整数规划常用的方法有分枝定界法和割平面法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xi
N
k
ik x k
N bi f bi
f
k
ik xk
0
(3)得割平面方程
f bi
f
k
ik x k
0
3
整数线性规划模型的求解——分枝定界法
基本思想 通过分枝枚举来寻找最优解。首先不考虑对变 量的整数要求,求解相应的线性规划模型,如求得 最优解不符合整数要求,则把原模型分解为两部分, 每一部分都增加新的约束条件以减少相应线性规划 模型的可行域。通过不断分解,逐步逼近满足要求 的整数最优解,在这个过程中包括了“分枝”和 “定界”两个关键步骤。
2
寻找割平面方程
(1)由单纯形最终表得到决策变量非整数解方程,设 1 x1 ai k xk bi 为
k
其中bi是基变量的非整数解。 (2)将aik和bi分解为整数N和正真分数f 两部分之和
a ik N ik f ik , bi N ni f bi
2
将(2)代入(1)中,然后将整数置于方程左边,分 数置于方程右变,即
4
分枝定界法步骤: (1)求解相应的线性规划模型,确定初始上、下界。 (a)LP无解,则IP无解,停止计算。 (b)LP的最优解满足整数要求,即为IP的最优解, 计算完毕。 (c) LP的最优解中有非整数分量,其目标函数值 是 IP的初始上界。 (2)分枝并求解 在非整数最优解中任选一个不满足整数约束条件 的变量xj=bj,以[bj]表示不大于bj的最大整数,构造两 个约束条件 xj≤[bj],和xj≥[bj]+1 将这两个约束条件分别加到LP中,构成两个新的线性 规划分支,求解它们。
上周内容回顾
法。 这两种方法的共同特点:通过增加附加约束,使 整数最优解最终成为线性规划的一个顶点,于是整 个问题就可使用单纯形法找到这个整数最优解;它 们的相异之处是附加约束条件的选取原则及方法不 同。
求解整数规划常用的方法有分枝定界法和割平面
1
整数线性规划模型的求解——割平面法
基本思想
割平面法的基础仍然是用解线性规划的方法去解 整数规划问题。首先不考虑变量为整数这一条件,但 增加线性约束条件(几何术语,称为割平面),使得 原可行解域中切掉一部分,这部分只包含非整数解, 但没切割掉任何整数可行解。切除的结果使整数解可 能成为顶点。 关键:如何找到割平面约束方程,使切割后最终 得到这样的可行解域,它的一个整数坐标的顶点恰好 是问题的最优解。
8.6 指派问题(Assignment Problem)
有n项任务,恰好n个人承担,第i 人完成第j 项任务 的花费(时间或费用等)为cij,如何分派使总花费最省?
min z cij xij
第j项工作由一 个人做 第i人做一项工 作
n n i 1 j 1 n
1 分派第i人做第j项工作 x ij 0 不分派第i人做第j项工作
5
(3)定界 上界:以每个后继问题为一分支,标明求解的结果, 与其他问题解的结果比较,找出目标函数值最大者作 为IP新的上界z’。 下界:从已符合整数条件的分支中,找出目标函数最 大者作为新的下界,若无符合条件者,则取z =0。 (4)比较和剪枝 (a)该枝无可行解; (b)该枝已得到整数最优解; (c)该枝得到非整数最优解,且目标函数值小于 z。 在求解的各分支的线性规划中,若其值大于 z,即z*> z但不符合整数条件则返回(2)继续分 6 枝直到z=z*= z’。
9
指派问题是0-1规划问题。
因每个人仅能承担一项任务,每项任务也只能分派 给一个人,因此上述问题的线性规划模型也可写为:
min Z
c
i 1 j 1
4
4
ij x ij
4 i 1 ,2 , , m 0 1 0 x ij 1 j 1 0 0 1 4 xij 1 0 0 s .t . x ij 1 j 1 ,2 , , m i 1 0 0 0 x ij 0 ,1 分派问题是线性规划,又是运输问题。
人员 工作
甲 乙 丙 丁 引入决策变量xij,
Hale Waihona Puke Baidu
A 9 12 8 7
B 17 7 17 9
C 16 14 14 11
D 7 16 17 9
1 xij 0
表示分派第 i人做第 j项工作 表示不分派第 i人做第 j项工作 8
MinZ=9x11+17x12+16x13+7x14+12x21+7x22+14x23+16x24+ 8x31+17x32+14x33+17x34+7x41 +9x42+11x43+9x44 s.t. x11+ x12+ x13+ x14= 1 (甲只能干一项工作) x21+ x22+ x23+ x24= 1 (乙只能干一项工作) x31+ x32+ x33+ x34= 1 (丙只能干一项工作) x41+ x42+ x43+ x44= 1 (丁只能干一项工作) x11+ x21+ x31+ x41= 1 ( A工作只能一人干) x12+ x22+ x32+ x42= 1 ( B工作只能一人干) x13+ x23+ x33+ x43= 1 ( C工作只能一人干) x14+ x24+ x34+ x44= 1 ( D工作只能一人干) xij 为0--1变量,i,j = 1,2,3,4
满足该约束条件的可 行解可写成矩阵形式
0 0 0 1
10
定理:从(cij)矩阵的每行(或每列)减或加一个常数 c ui(vj)构成新矩阵 ij , c ij c ij ui v j ,则对应
c ij
的(xij) 最优解与原问题(cij) 的最优解相同。 -1 (cij’)
xij 1
i 1 n
( j 1 ,, n) ( i 1 , , n ) (i 1,, n; j 1,, n)
7
xij 1
j 1
xij 0或1
【例8-7】有4个工人,要分别指派他们完成4项不同的
工作,每人做各项工作所消耗的时间如下表所示,问 应如何指派工作,才能使总的消耗时间为最少?
N
k
ik x k
N bi f bi
f
k
ik xk
0
(3)得割平面方程
f bi
f
k
ik x k
0
3
整数线性规划模型的求解——分枝定界法
基本思想 通过分枝枚举来寻找最优解。首先不考虑对变 量的整数要求,求解相应的线性规划模型,如求得 最优解不符合整数要求,则把原模型分解为两部分, 每一部分都增加新的约束条件以减少相应线性规划 模型的可行域。通过不断分解,逐步逼近满足要求 的整数最优解,在这个过程中包括了“分枝”和 “定界”两个关键步骤。
2
寻找割平面方程
(1)由单纯形最终表得到决策变量非整数解方程,设 1 x1 ai k xk bi 为
k
其中bi是基变量的非整数解。 (2)将aik和bi分解为整数N和正真分数f 两部分之和
a ik N ik f ik , bi N ni f bi
2
将(2)代入(1)中,然后将整数置于方程左边,分 数置于方程右变,即
4
分枝定界法步骤: (1)求解相应的线性规划模型,确定初始上、下界。 (a)LP无解,则IP无解,停止计算。 (b)LP的最优解满足整数要求,即为IP的最优解, 计算完毕。 (c) LP的最优解中有非整数分量,其目标函数值 是 IP的初始上界。 (2)分枝并求解 在非整数最优解中任选一个不满足整数约束条件 的变量xj=bj,以[bj]表示不大于bj的最大整数,构造两 个约束条件 xj≤[bj],和xj≥[bj]+1 将这两个约束条件分别加到LP中,构成两个新的线性 规划分支,求解它们。
上周内容回顾
法。 这两种方法的共同特点:通过增加附加约束,使 整数最优解最终成为线性规划的一个顶点,于是整 个问题就可使用单纯形法找到这个整数最优解;它 们的相异之处是附加约束条件的选取原则及方法不 同。
求解整数规划常用的方法有分枝定界法和割平面
1
整数线性规划模型的求解——割平面法
基本思想
割平面法的基础仍然是用解线性规划的方法去解 整数规划问题。首先不考虑变量为整数这一条件,但 增加线性约束条件(几何术语,称为割平面),使得 原可行解域中切掉一部分,这部分只包含非整数解, 但没切割掉任何整数可行解。切除的结果使整数解可 能成为顶点。 关键:如何找到割平面约束方程,使切割后最终 得到这样的可行解域,它的一个整数坐标的顶点恰好 是问题的最优解。
8.6 指派问题(Assignment Problem)
有n项任务,恰好n个人承担,第i 人完成第j 项任务 的花费(时间或费用等)为cij,如何分派使总花费最省?
min z cij xij
第j项工作由一 个人做 第i人做一项工 作
n n i 1 j 1 n
1 分派第i人做第j项工作 x ij 0 不分派第i人做第j项工作
5
(3)定界 上界:以每个后继问题为一分支,标明求解的结果, 与其他问题解的结果比较,找出目标函数值最大者作 为IP新的上界z’。 下界:从已符合整数条件的分支中,找出目标函数最 大者作为新的下界,若无符合条件者,则取z =0。 (4)比较和剪枝 (a)该枝无可行解; (b)该枝已得到整数最优解; (c)该枝得到非整数最优解,且目标函数值小于 z。 在求解的各分支的线性规划中,若其值大于 z,即z*> z但不符合整数条件则返回(2)继续分 6 枝直到z=z*= z’。
9
指派问题是0-1规划问题。
因每个人仅能承担一项任务,每项任务也只能分派 给一个人,因此上述问题的线性规划模型也可写为:
min Z
c
i 1 j 1
4
4
ij x ij
4 i 1 ,2 , , m 0 1 0 x ij 1 j 1 0 0 1 4 xij 1 0 0 s .t . x ij 1 j 1 ,2 , , m i 1 0 0 0 x ij 0 ,1 分派问题是线性规划,又是运输问题。
人员 工作
甲 乙 丙 丁 引入决策变量xij,
Hale Waihona Puke Baidu
A 9 12 8 7
B 17 7 17 9
C 16 14 14 11
D 7 16 17 9
1 xij 0
表示分派第 i人做第 j项工作 表示不分派第 i人做第 j项工作 8
MinZ=9x11+17x12+16x13+7x14+12x21+7x22+14x23+16x24+ 8x31+17x32+14x33+17x34+7x41 +9x42+11x43+9x44 s.t. x11+ x12+ x13+ x14= 1 (甲只能干一项工作) x21+ x22+ x23+ x24= 1 (乙只能干一项工作) x31+ x32+ x33+ x34= 1 (丙只能干一项工作) x41+ x42+ x43+ x44= 1 (丁只能干一项工作) x11+ x21+ x31+ x41= 1 ( A工作只能一人干) x12+ x22+ x32+ x42= 1 ( B工作只能一人干) x13+ x23+ x33+ x43= 1 ( C工作只能一人干) x14+ x24+ x34+ x44= 1 ( D工作只能一人干) xij 为0--1变量,i,j = 1,2,3,4
满足该约束条件的可 行解可写成矩阵形式
0 0 0 1
10
定理:从(cij)矩阵的每行(或每列)减或加一个常数 c ui(vj)构成新矩阵 ij , c ij c ij ui v j ,则对应
c ij
的(xij) 最优解与原问题(cij) 的最优解相同。 -1 (cij’)
xij 1
i 1 n
( j 1 ,, n) ( i 1 , , n ) (i 1,, n; j 1,, n)
7
xij 1
j 1
xij 0或1
【例8-7】有4个工人,要分别指派他们完成4项不同的
工作,每人做各项工作所消耗的时间如下表所示,问 应如何指派工作,才能使总的消耗时间为最少?