整数规划及分支定界法42页PPT
- 格式:ppt
- 大小:3.35 MB
- 文档页数:42
第4章 整数规划判断:用分枝定界法求解一个极大化的整数规划问题,任何一个可行解的目标函数值是该问题目标函数值的下界;指派问题数学模型的形式同运输问题十分相似,故也可以用表上作用法求解;效率矩阵的任一行(或列)减去(或加上)任一常数,指派问题最优解不会受到影响; 匈牙利法只能用于平衡分配问题;对于极大化问题,匈牙利法不能直接求解。
整数规划问题解的目标函数值优于其相应的线性规划问题的解的目标函数。
用割平面法求解整数规划问题,构造的割平面有可能切去一些不属于最优解的整数解。
用分枝定界法求解一个极大化的整数规划问题时,当得到多于一个可行解时,通常可任取其中一个作为下界值,在进行比较剪枝。
分配问题的每个元素都加上同一个常数k ,并不会影响最优分配方案。
分配问题的每个元素都乘上同一个常数k ,并不会影响最优分配方案。
分配问题域运输问题的数学模型结构形式十分相似,故也可以用表上作业法求解。
隐枚举法也可以用来求解分配问题简答试述分枝定界法求解问题的主要思想。
试述隐枚举法的步骤。
试讲述割平面方法的基本原理. 试例举三种应该剪枝的情况。
计算题分枝定界法用分枝定界法求解下列整数规划问题12max Z x x =+1212129511414123,x x x x x x +≤-+≤≥0且为整数用分枝定界法求解下列整数规划问题12max 32Z x x =+121212231429,x x x x x x +≤+≤≥0且为整数用分枝定界法求解下列整数规划问题12max 2010Z x x =+1232312312324434323,,x x x x x x x x x x x ++≤≤+≤≥---0且为整数用分枝定界法求解下列整数规划问题12max 79Z x x =+121212136735,x x x x x x x +≤+≤≥-0,且为整数用分枝定界法求解下列整数规划问题123max 33Z x x x =++123231231231324432323,,,x x x x x x x x x x x x x ++≤≤+≤≥---0,且为整数用分枝定界法解下列整数规划问题:1212121212232478188..3219,0MaxZ x x x x x x s t x x x x =+-+≤⎧⎪+≤⎪⎨+≤⎪⎪≥⎩且为整数用分枝定界法解下列整数规划问题1212121212250..6221,0MaxZ x x x x x x s t x x x x =++≤⎧⎪-+≤⎪⎨+≤⎪⎪≥⎩且为整数用分枝定界法解下列整数规划问题12312121225231050..7228,0,MaxZ x x x x x s t x x x x x =-+-+≤⎧⎪-≤⎨⎪≥⎩为整数用分枝定界法解下列整数规划问题12312341234345272222..0,1,2,3,4,5,j MaxZ x x x x x x x x x x x s t x j x x =-+-⎧-+-+=⎪⎪⎪-++=⎨⎪≥=⎪⎪⎩为整数用分枝定界法求解下列整数规划模型12max 23z x x =+121257354936x x x x +≤+≤12,0x x ≥且为整数有如下整数规划问题12max z x x =+12129511414123x x x x +≤-+≤12,0x x ≥且为整数试用分枝定界法求其最优解。
1、概念:分支定界算法(Branch and bound,简称为BB、B&B, or BnB)始终围绕着一颗搜索树进行的,我们将原问题看作搜索树的根节点,从这里出发,分支的含义就是将大的问题分割成小的问题。
大问题可以看成是搜索树的父节点,那么从大问题分割出来的小问题就是父节点的子节点了。
分支的过程就是不断给树增加子节点的过程。
而定界就是在分支的过程中检查子问题的上下界,如果子问题不能产生一比当前最优解还要优的解,那么砍掉这一支。
直到所有子问题都不能产生一个更优的解时,算法结束。
2、例子:用BB算法求解下面的整数规划模型因为求解的是最大化问题,我们不妨设当前的最优解BestV为-INF,表示负无穷。
1.首先从主问题分出两支子问题:通过线性松弛求得两个子问题的upper bound为Z_LP1 = 12.75,Z_LP2 = 12.2。
由于Z_LP1 和Z_LP2都大于BestV=-INF,说明这两支有搞头,继续往下。
2.3.从节点1和节点2两个子问题再次分支,得到如下结果:子问题3已经不可行,无需再理。
子问题4通过线性松弛得到最优解为10,刚好也符合原问题0的所有约束,在该支找到一个可行解,更新BestV = 10。
子问题5通过线性松弛得到upper bound为11.87>当前的BestV = 10,因此子问题5还有戏,待下一次分支。
而子问题6得到upper bound为9<当前的BestV = 10,那么从该支下去找到的解也不会变得更好,所以剪掉!4.对节点5进行分支,得到:子问题7不可行,无需再理。
子问题8得到一个满足原问题0所有约束的解,但是目标值为4<当前的BestV=10,所以不更新BestV,同时该支下去也不能得到更好的解了。
6.此时,所有的分支遍历都完成,我们最终找到了最优解。
3、算法过程(以最小化问题minimize f(x)为例)1、使用启发式,找到优化问题的解决方案xh。
求解整数规划问题的分支定界法整数规划问题是运筹学和数学中非常重要的一个分支,它本身又有着非常广泛的应用,例如资源分配、制造流程规划等等。
但是,由于整数规划问题的复杂性,导致绝大部分问题都是NP困难问题,即使运用最先进的算法,也很难找到一个高效的解决方案。
然而,分支定界法就是其中一种能够求解整数规划问题的有效方法。
一、什么是整数规划整数规划是指在线性规划(LP)问题的基础上,需要将变量的取值限制为整数类型(不是实数类型),其数学描述如下所示:$$\begin{aligned} \max \ \ & c^Tx \\s.t. \ \ & Ax \leq b\\& x_i\in\mathbb{Z} \ \ (i=1,2,...,n)\end{aligned}$$其中$c,x, b$以及 $A$分别是问题中的参数,表示目标函数的系数、变量向量、约束条件以及约束矩阵。
二、什么是分支定界法分支定界法,又被称为分支剪枝法,是求解整数规划问题的一个常用方法。
它的核心思想在于,将整数规划问题分解为多个子问题,并通过将问题空间不断地分割,不断缩小问题的范围,从而找到最优解。
分支定界法大致分为以下几个步骤:(1)确定目标函数与约束条件,即整数规划问题的数学模型;(2)运用松弛法将整数规划问题转化为线性规划问题,从而求解该线性规划问题及其最优解;(3)根据最优解的情况,判断该最优解是否为整数解,如果不是,则选择其中一个变量进行分支(通常是将其约束为下取整和上取整);(4)根据变量的分支,得到两个新的整数规划问题,需要分别对其进行求解;(5)执行步骤(3)和(4),直到分支出的所有问题均已求解完毕,即得到原问题的最优解。
三、分支定界法的优缺点分支定界法虽然是一种有效的求解整数规划问题的方法,但是也有其优点和缺点。
优点:(1)能够精确求解整数规划问题。
(2)适用于各种规模的整数规划问题,虽然时间复杂度大,但是运作效率相对较高。