【运筹学】分支定界法 ( 分支定界法求整数规划示例 ) ★★





一、分支定界法求整数规划示例



使用 分支定界法 求如下整数规划 :

m i n W = − x 1 − 5 x 2 s . t { x 1 − x 2 ≥ − 2 5 x 1 + 6 x 2 ≤ 30 x 1 ≤ 4 x 1 , x 2 ≥ 0   并 且 为 整 数 \begin{array}{lcl} \rm min W = -x_1 -5 x_2 \\\\ \rm s.t\begin{cases} \rm x_1 - x_2 \geq -2 \\\\ \rm 5x_1 + 6x_2 \leq 30 \\\\ \rm x_1 \leq 4 \\\\ \rm x_1, x_2 \geq 0 \ 并且为整数 \end{cases}\end{array} minW=x15x2s.tx1x225x1+6x230x14x1,x20 





二、求整数规划的松弛问题及最优解



求上述整数规划 ( I P \rm IP IP ) 的松弛问题 ( L P \rm LP LP ) : 去掉整数限制即可得到一个一般的线性规划 ;

m i n W = − x 1 − 5 x 2 s . t { x 1 − x 2 ≥ − 2 5 x 1 + 6 x 2 ≤ 30 x 1 ≤ 4 x 1 , x 2 ≥ 0 \begin{array}{lcl} \rm min W = -x_1 -5 x_2 \\\\ \rm s.t\begin{cases} \rm x_1 - x_2 \geq -2 \\\\ \rm 5x_1 + 6x_2 \leq 30 \\\\ \rm x_1 \leq 4 \\\\ \rm x_1, x_2 \geq 0 \end{cases}\end{array} minW=x15x2s.tx1x225x1+6x230x14x1,x20

可以使用单纯形法求上述线性规划的最优解 , 本次使用图示法 , 求的最优化 ;

在这里插入图片描述

使用图示法解得上述 松弛问题 最优解 { x 1 = 18 11 ≈ 1.64 x 2 = 40 11 ≈ 3.64 \begin{cases} \rm x_1 = \cfrac{18}{11} \approx 1.64 \\\\ \rm x_2 = \cfrac{40}{11} \approx 3.64 \end{cases} x1=11181.64x2=11403.64 , 将上述最优解代入约束方程 ,

得到整数规划最小值 m i n W = − x 1 − 5 x 2 = − 218 11 ≈ − 19.8 \rm min W = -x_1 -5 x_2 = - \cfrac{218}{11} \approx -19.8 minW=x15x2=1121819.8


如果上述 松弛问题 最优解 是整数 , 则该整数线性规划的最优解就是 松弛问题 的最优解 ;

上述 松弛问题 L P \rm LP LP 最优解不是整数 , 这里需要进行 分支 操作 , 分成两个 分支松弛问题 L P 1 \rm LP1 LP1 L P 2 \rm LP2 LP2 ;





三、第一次分支操作



分支操作 : 任选一个 非整数解变量 x i x_i xi , 在 松弛问题 中加上约束 , x i ≤ [ x i ] x_i \leq [x_i] xi[xi] x i ≥ [ x i ] + 1 x_i \geq [x_i] + 1 xi[xi]+1 , 形成 两个新的 松弛问题 , 就是两个分支 ;


选择 非整数取值的变量 x 1 = 18 11 ≈ 1.64 x_1 = \cfrac{18}{11} \approx 1.64 x1=11181.64 , 作为分支变量 ,

x i ≤ [ x i ] x_i \leq [x_i] xi[xi] 对应的 分支新增约束条件是 x 1 ≤ 1 x_1 \leq 1 x11 ;

x i ≥ [ x i ] + 1 x_i \geq [x_i] + 1 xi[xi]+1 对应的 分支新增约束条件是 x 1 ≥ 2 x_1 \geq 2 x12 ;


L P 1 \rm LP1 LP1 分支松弛问题中加入 x 1 ≤ 1 x_1 \leq 1 x11 条件后为 :

m i n W = − x 1 − 5 x 2 s . t { x 1 − x 2 ≥ − 2 5 x 1 + 6 x 2 ≤ 30 x 1 ≤ 4 x 1 ≤ 1 x 1 , x 2 ≥ 0 \begin{array}{lcl} \rm min W = -x_1 -5 x_2 \\\\ \rm s.t\begin{cases} \rm x_1 - x_2 \geq -2 \\\\ \rm 5x_1 + 6x_2 \leq 30 \\\\ \rm x_1 \leq 4 \\\\ \rm x_1 \leq 1 \\\\ \rm x_1, x_2 \geq 0 \end{cases}\end{array} minW=x15x2s.tx1x225x1+6x230x14x11x1,x20

求上述 L P 1 \rm LP1 LP1 分支的最优解 { x 1 = 1 x 2 = 3 \begin{cases} \rm x_1 = 1 \\\\ \rm x_2 = 3 \end{cases} x1=1x2=3 , 将上述最优解代入约束方程 ,

得到整数规划最小值 m i n W = − x 1 − 5 x 2 = − 16 \rm min W = -x_1 -5 x_2 = - 16 minW=x15x2=16

L P 1 \rm LP1 LP1 分支的界就是 − 16 -16 16 ;



L P 2 \rm LP2 LP2 分支松弛问题中加入 x 1 ≥ 2 x_1 \geq 2 x12 条件后为 :

m i n W = − x 1 − 5 x 2 s . t { x 1 − x 2 ≥ − 2 5 x 1 + 6 x 2 ≤ 30 x 1 ≤ 4 x 1 ≥ 2 x 1 , x 2 ≥ 0 \begin{array}{lcl} \rm min W = -x_1 -5 x_2 \\\\ \rm s.t\begin{cases} \rm x_1 - x_2 \geq -2 \\\\ \rm 5x_1 + 6x_2 \leq 30 \\\\ \rm x_1 \leq 4 \\\\ \rm x_1 \geq 2 \\\\ \rm x_1, x_2 \geq 0 \end{cases}\end{array} minW=x15x2s.tx1x225x1+6x230x14x12x1,x20

求上述 L P 2 \rm LP2 LP2 分支的最优解 { x 1 = 2 x 2 = 10 3 \begin{cases} \rm x_1 = 2 \\\\ \rm x_2 = \cfrac{10}{3} \end{cases} x1=2x2=310 , 将上述最优解代入约束方程 ,

得到整数规划最小值 m i n W = − x 1 − 5 x 2 = − 56 3 ≈ − 18.7 \rm min W = -x_1 -5 x_2 = - \cfrac{56}{3} \approx -18.7 minW=x15x2=35618.7

L P 2 \rm LP2 LP2 分支的目标值是 − 18.7 -18.7 18.7 ;


L P 1 \rm LP1 LP1 分支的最优解时整数 , 界 是 − 16 -16 16 ,

L P 2 \rm LP2 LP2 分支目标值还不是整数 , 因此需要继续分支 ;



判定某个分支 松弛问题 是否继续向下分支的依据 :

① 根据整最优解是否是整数判定 : 首先看 分支 松弛问题 最优解 是否是整数 , 如果是那就停下来 , 如果不是继续向下分支 ;

② 根据界的优劣判定 ( 定界思想 ) : 是否继续向下分支 , 还需要看 界 的值 , 通过该 界 的值 , 讨论是否继续向下分支 ;

  • 分支条件 : 如果 本分支的界另外一个分支的界 要好 , 则继续分支下去 ;
  • 不分支条件 : 如果本分支的界比另外一个分支的界差 , 那么本分支就不再向下分支了 ;




四、第二次分支操作



L P 2 \rm LP2 LP2 继续向下分支 , x 1 x_1 x1 变量已经是整数变量了 ,

这里 选择 非整数取值的变量 x 2 = 10 3 ≈ 3.33 x_2 = \cfrac{10}{3} \approx 3.33 x2=3103.33 , 作为分支变量 ,

x i ≤ [ x i ] x_i \leq [x_i] xi[xi] 对应的 分支新增约束条件是 x 2 ≤ 3 x_2 \leq 3 x23 ;

x i ≥ [ x i ] + 1 x_i \geq [x_i] + 1 xi[xi]+1 对应的 分支新增约束条件是 x 2 ≥ 4 x_2 \geq 4 x24 ;


这里得到了 L P 2 \rm LP2 LP2 分支下的两个 分支松弛问题 L P 21 \rm LP21 LP21 L P 22 \rm LP22 LP22 ;

L P 21 \rm LP21 LP21 分支松弛问题中加入 x 2 ≤ 3 x_2 \leq 3 x23 条件后为 :

m i n W = − x 1 − 5 x 2 s . t { x 1 − x 2 ≥ − 2 5 x 1 + 6 x 2 ≤ 30 x 1 ≤ 4 x 1 ≥ 2 x 2 ≤ 3 x 1 , x 2 ≥ 0 \begin{array}{lcl} \rm min W = -x_1 -5 x_2 \\\\ \rm s.t\begin{cases} \rm x_1 - x_2 \geq -2 \\\\ \rm 5x_1 + 6x_2 \leq 30 \\\\ \rm x_1 \leq 4 \\\\ \rm x_1 \geq 2 \\\\ \rm x_2 \leq 3 \\\\ \rm x_1, x_2 \geq 0 \end{cases}\end{array} minW=x15x2s.tx1x225x1+6x230x14x12x23x1,x20

在这里插入图片描述

求上述 L P 21 \rm LP21 LP21 分支的最优解 { x 1 = 12 5 = 2.4 x 2 = 3 \begin{cases} \rm x_1 = \cfrac{12}{5} = 2.4 \\\\ \rm x_2 = 3 \end{cases} x1=512=2.4x2=3 , 将上述最优解代入约束方程 ,

得到整数规划最小值 m i n W = − x 1 − 5 x 2 = − 17.4 \rm min W = -x_1 -5 x_2 = - 17.4 minW=x15x2=17.4

L P 21 \rm LP21 LP21 分支的最优解不是整数 , 而且比 L P 1 \rm LP1 LP1 分支的界 − 16 -16 16 要好 , 可需要继续分支 ;



L P 22 \rm LP22 LP22 分支松弛问题中加入 x 2 ≥ 4 x_2 \geq 4 x24 条件后为 :

m i n W = − x 1 − 5 x 2 s . t { x 1 − x 2 ≥ − 2 5 x 1 + 6 x 2 ≤ 30 x 1 ≤ 4 x 1 ≥ 2 x 2 ≥ 4 x 1 , x 2 ≥ 0 \begin{array}{lcl} \rm min W = -x_1 -5 x_2 \\\\ \rm s.t\begin{cases} \rm x_1 - x_2 \geq -2 \\\\ \rm 5x_1 + 6x_2 \leq 30 \\\\ \rm x_1 \leq 4 \\\\ \rm x_1 \geq 2 \\\\ \rm x_2 \geq 4 \\\\ \rm x_1, x_2 \geq 0 \end{cases}\end{array} minW=x15x2s.tx1x225x1+6x230x14x12x24x1,x20

上述 L P 22 \rm LP22 LP22 分支 没有可行解 , 直接停止 ;





五、第三次分支操作



L P 21 \rm LP21 LP21 继续向下分支 ,

这里 选择 非整数取值的变量 x 1 = 12 5 = 2.4 x_1 = \cfrac{12}{5} = 2.4 x1=512=2.4 , 作为分支变量 ,

x i ≤ [ x i ] x_i \leq [x_i] xi[xi] 对应的 分支新增约束条件是 x 1 ≤ 2 x_1 \leq 2 x12 ;

x i ≥ [ x i ] + 1 x_i \geq [x_i] + 1 xi[xi]+1 对应的 分支新增约束条件是 x 1 ≥ 3 x_1 \geq 3 x13 ;

这里得到了 L P 21 \rm LP21 LP21 分支下的两个 分支松弛问题 L P 211 \rm LP211 LP211 L P 212 \rm LP212 LP212 ;


L P 211 \rm LP211 LP211 分支松弛问题中加入 x 1 ≤ 2 x_1 \leq 2 x12 条件后为 :

m i n W = − x 1 − 5 x 2 s . t { x 1 − x 2 ≥ − 2 5 x 1 + 6 x 2 ≤ 30 x 1 ≤ 4 x 1 ≥ 2 x 1 ≤ 2 x 2 ≤ 3 x 1 , x 2 ≥ 0 \begin{array}{lcl} \rm min W = -x_1 -5 x_2 \\\\ \rm s.t\begin{cases} \rm x_1 - x_2 \geq -2 \\\\ \rm 5x_1 + 6x_2 \leq 30 \\\\ \rm x_1 \leq 4 \\\\ \rm x_1 \geq 2 \\\\ \rm x_1 \leq 2 \\\\ \rm x_2 \leq 3 \\\\ \rm x_1, x_2 \geq 0 \end{cases}\end{array} minW=x15x2s.tx1x225x1+6x230x14x12x12x23x1,x20

求上述 L P 211 \rm LP211 LP211 分支的最优解 { x 1 = 2 x 2 = 3 \begin{cases} \rm x_1 = 2 \\\\ \rm x_2 = 3 \end{cases} x1=2x2=3 , 将上述最优解代入约束方程 ,

得到整数规划最小值 m i n W = − x 1 − 5 x 2 = − 17 \rm min W = -x_1 -5 x_2 = - 17 minW=x15x2=17

L P 21 \rm LP21 LP21 分支的最优解是整数 , 而且比 L P 1 \rm LP1 LP1 分支的界 − 16 -16 16 要好 , 是当前最好的 界 ;

因此这里将 界 更新为 − 17 -17 17 ;


L P 212 \rm LP212 LP212 分支松弛问题中加入 x 1 ≥ 3 x_1 \geq 3 x13 条件后为 :

m i n W = − x 1 − 5 x 2 s . t { x 1 − x 2 ≥ − 2 5 x 1 + 6 x 2 ≤ 30 x 1 ≤ 4 x 1 ≥ 2 x 1 ≥ 3 x 2 ≤ 3 x 1 , x 2 ≥ 0 \begin{array}{lcl} \rm min W = -x_1 -5 x_2 \\\\ \rm s.t\begin{cases} \rm x_1 - x_2 \geq -2 \\\\ \rm 5x_1 + 6x_2 \leq 30 \\\\ \rm x_1 \leq 4 \\\\ \rm x_1 \geq 2 \\\\ \rm x_1 \geq 3 \\\\ \rm x_2 \leq 3 \\\\ \rm x_1, x_2 \geq 0 \end{cases}\end{array} minW=x15x2s.tx1x225x1+6x230x14x12x13x23x1,x20

求上述 L P 212 \rm LP212 LP212 分支的最优解 { x 1 = 3 x 2 = 2.5 \begin{cases} \rm x_1 =3 \\\\ \rm x_2 = 2.5 \end{cases} x1=3x2=2.5 , 将上述最优解代入约束方程 ,

得到整数规划最小值 m i n W = − x 1 − 5 x 2 = − 15.5 \rm min W = -x_1 -5 x_2 = - 15.5 minW=x15x2=15.5

定界 : L P 212 \rm LP212 LP212 分支的最优解不是整数 , 其目标值 − 15.5 - 15.5 15.5 要比当前的界 − 17 -17 17 要差 , 因此该分支直接裁减掉 ;





六、整数规划最优解



该整数规划 I P \rm IP IP 的最优解 { x 1 = 2 x 2 = 3 \begin{cases} \rm x_1 = 2 \\\\ \rm x_2 = 3 \end{cases} x1=2x2=3 , 将上述最优解代入约束方程 ,

得到整数规划最小值 m i n W = − x 1 − 5 x 2 = − 17 \rm min W = -x_1 -5 x_2 = - 17 minW=x15x2=17


分支记录如下 :

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值