整数规划模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Step3 剪枝
L0 x1 =3.25,x2= 2.5 Z=14.75
x2 ≤ 2
L1 x1 =3.5,x2= 2 Z=14.5
x2 ≥ 3
L2 x1 =2.5,x2= 3 Z=13.5
x1 ≤ 3
L11 x1 =3,x2= 2 Z=13 ×
x1 ≥ 4
L12 x1 =4,x2= 2 Z=14
×
王秋萍:整数规划模型
决策变量全部取 0 或1的规划称为0-1 整数规划
王秋萍:整数规划模型
为(非负)整数
仅一部分变 量为整数
4
有些问题用线性规划数学模型无法描述,可以 通过设置逻辑变量建立整数规划的数学模型。
王秋萍:整数规划模型
5
逻辑变量在建立数学模型中的作用
m个约束条件中只有k个起作用
设m个约束条件可表为
∑a x
式中 x j − My j ≤ 0是处理 x j 与 y j 一对变量之间逻辑关系的 特殊约束,当 x j > 0 时 y1 = 1,当 x j = 0时,为使Z最小 化,有 y j = 0 。
王秋萍:整数规划模型
12
§3 整数规划的求解
如何求解整数 规划?
有人提出,求解整数规划时可先不考虑变 量的整数约束,而求解其相应的线性规划问题, 然后对求解结果中为非整数的变量凑整.试问 这种方法是否可行,为什么?
∑a x
ij j =1
j
≤ b1或b2或" 或br
定义
由此,上述约束条件可表示为: n ⎧ n ⎪ ∑ aij x j ≤ ∑ bi yi i =1 ⎨ j =1 ⎪ y + y +" + y = 1 r 2 ⎩ 1
王秋萍:整数规划模型 7
逻辑变量在建立数学模型中的作用
两组条件中满足一组 若 x1 ≤ 4 ,则 x2 ≥ 1 ,否则(即 x1
j = 1, 2, 3 ⎧ x j − My j ≤ 0 ⎪ x + x + x ≥ 4000 ⎪ 1 2 3 ⎨ ⎪ x1 ≤ 1500, x2 ≤ 2000 ⎪ ⎩ x j ≥ 0, y j = 1或0, j = 1, 2, 3
用WinQSB软件求解 得到:X=(0, 2000, 2000)T, Y=(0, 1, 1)T, Z=25400.
于是
⎧0, 当x j = 0 yj = ⎨ ⎩1, 当x j > 0
n j =1
min z = ∑ ( c j x j + k j y j )
s.t.
王秋萍:整数规划模型
9
例 企业计划生产4000件某种产品,该产品可以以 加工,外协加工任意一种形式生产。已知每种生产形式 的固定成本、生产该产品的变动成本以及每种生产形式 的最大加工数量(件)限制如表所示,怎样安排产品的 加工使总成本最小。 固定成本(元) 本企业加工 外协加工Ⅰ 外协加工Ⅱ 500 800 600
式中, k j 为固定成本,c j 为变动成本。设0-1变量 y j , 令
⎧1 采用第j种加工方式,即 x j > 0时 yj = ⎨ ⎩0 不采用第j种加工方式,即 x j = 0时 j = 1, 2, 3
王秋萍:整数规划模型 11
则这个问题的数学模型是:
min Z = (500 y1 + 8 x1 ) + (800 y2 + 5 x2 ) + (600 y3 + 7 x3 )
王秋萍:整数规划模型 17
L1:
max z = 3x1 + 2 x2
L2:
max z = 3 x1 + 2 x 2
s.t. ⎧2 x1 + 3 x 2 ≤ 14 ⎪ x + 0.5 x ≤ 4.5 ⎪ 1 2 ⎨ x2 ≤ 2 ⎪ ⎪ ⎩ x1 , x 2 ≥ 0
s.t. ⎧2 x1 + 3 x2 ≤ 14
西安理工大学 理学院应用数学系 王秋萍
※内容简介
1.整数规划问题举例 2. 整数规划的特点及作用 3. 整数规划的求解 4. 分配问题与匈牙利法
王秋萍:整数规划模型
2
§1 整数规划问题举例
投资问题 公交线路人员安排 一个任务分配问题 AMCM—88B题 两辆铁路平板车的装货问题 最优控制设计
王秋萍:整数规划模型 3
王秋萍:整数规划模型
27
定理2 若矩阵A=[aij]的元素可分成“0”与非“0” 两部分,则覆盖“0”元素的最少直线数等于位于不 同行不同列的“0”元素的最大个数。
对于一个复杂的模型,完全枚举法不是有效的算法。
王秋萍:整数规划模型 15
分枝定解法 —由戴金(R.J.Dakin)给出 Branch and Bound method
分支定界法在处理整数规划问题时,借用 线性规划单纯形法的基本思想,在求相应的线 性模型解的同时,逐步加入对各变量的整数要 求限制,从而把原整数规划问题通过分支迭代 求出最优解.
⎪ x + 0.5 x ≤ 4.5 ⎪ 1 2 ⎨ x2 ≥ 3 ⎪ ⎪ ⎩ x1 , x2 ≥ 0
L1的最优解为(3.5,2) L2的最优解为(2.5,3) Z=14.5 Z=13.5 选取边界值较大的子问题L1继续分支
王秋萍:整数规划模型
18
L11: max z = 3x1 + 2 x2
⎧2 x1 + 3x 2 ≤ 14 ⎪ x + 0.5 x ≤ 4.5 1 2 ⎪ ⎪ x2 ≤ 2 ⎨ ⎪x ≤3 1 ⎪ ⎪ ⎩ x1 , x 2 ≥ 0
定义
x3 ≤ 3. > 4 时),
⎧1, 第i组条件不起作用 yi = ⎨ ⎩0, 第i组条件起作用
( i = 1, 2 )
又M为任意大正数,则 问题可表达为:
⎧ x1 ≤ 4 + y1M ⎪ x ≥ 1− y M 2 1 ⎪ ⎪ ⎨ x1 > 4 − y2 M ⎪x ≤ 3 + y M 2 ⎪ 2 ⎪ ⎩ y1 + y2 = 1
§2 整数规划Leabharlann Baidu特点及作用 所有变量都限制
• Integer Programming • Pure Integer Programming (All Integer Programming ) • Mixed Integer Programming,MIP • Binary Integer Programming,BIP
14
解:该问题的松弛问题为
max z = 3x1 + 2 x2
s.t.
王秋萍:整数规划模型
整数规划的求解
整数规划的求解要比一般线性规划的求解复杂。 常用的方法有:
♧完全枚举法(Complete Enumeration Method) ☆分支定解法(Branch and Bound Method) ✪割平面法(Cutting-Plane Method) ♤隐枚举法(Implicit Enumeration Method ) ◇Lagrange松弛法。
13
王秋萍:整数规划模型
整数规划的求解
例 求下述整数规划问题的最优解:
max z = 3x1 + 2 x2
s.t.
最优解为 (3. 25, 2. 5). 用凑整法来解时需要比较四 种组合,但(4, 3), (4, 2), (3,3) 都不可行,(3, 2)虽属可行解, 但代入目标函数得z=13,并非 最优.实际上问题的最优解应 该是(4, 1), z*=14.但我们注 意到(4,1)不是可行域的顶 点,因此直接用图解法或单 纯形法无法找出整数规划问 题的最优解来,这就要求研 究解整数规划问题的特殊方 法。
8
王秋萍:整数规划模型
逻辑变量在建立数学模型中的作用
用以表示含固定费用的函数 n min z = ∑ C j ( x j ) 用 x j 代表产品j的生
产数量,其生产费用函数 通常可表示为:
j =1
设置一个逻辑变量 y j
⎧ ⎪k j + c j x j , ( x j > 0 ) Cj ( xj ) = ⎨ ( x j = 0) ⎪ ⎩0 , 式中 k j 是同产量无关的生 产准备费用。问题的目标 是使所有产品的总生产费 用最小。即
基本思想是在整数规划的松弛问题中依 次引进线性约束条件(称Gomory约束或割 平面),使问题的可行域逐步缩小. 但每次 切割只割去问题的部分非整数解,直到使问 题的目标函数值达到最优的整数点成为缩小 后可行域的一个顶点,这样就可以用求线性 规划问题的方法找出这个最优解。
王秋萍:整数规划模型 23
Gomory的切割法自1958年被提出后, 即引起人们广泛注意,但至今完全用它解题 的仍是少数,原因就是经常遇到收敛很慢的 情形,但若和其它方法(如分枝定界法)配 合使用,也是有效的.
L12: max z = 3x1 + 2 x 2
⎧2 x1 + 3x 2 ≤ 14 ⎪ x + 0.5 x ≤ 4.5 1 2 ⎪ ⎪ x2 ≤ 2 ⎨ ⎪x ≥4 ⎪ 1 ⎪ ⎩ x1 , x 2 ≥ 0
L11的最优解为(3,2) Z=13
L12的最优解为(4,1) Z=14
王秋萍:整数规划模型
19
ij j =1
n
j
≤ bi
i = 1, 2, " , m
定义 又M为任意大的正数,则
n ⎧ ⎪ ∑ aij x j ≤ bi + Myi j =1 ⎨ ⎪ y + y +" + y = m − k 2 m ⎩ 1
王秋萍:整数规划模型
6
逻辑变量在建立数学模型中的作用
约束条件的右端项可能是r个值 ( b1 , b2 ," , br ) 中的一个,即 n
王秋萍:整数规划模型 26
模型特点
当工作数与人数相等时,含有 m × m个变量, m + m 个约束方程,所有变量均为 0-1 变量.
4-2 匈牙利法
克尼格(konig )定理
定理1 如果从分配问题效率矩阵[aij]的每一行元素 中分别减去(或加上)一个常数ui,从每一列分别减去 (或加上)一个常数vj,得到一个新的效率矩阵[bij] ,则 以[bij]为效率矩阵的分配问题与以[aij]为效率矩阵的分配 问题具有相同的最优解。
( i = 1," , m; j = 1," , m ) 则分配问题的数学模型为 min z = ∑∑ a x
m m i =1 j =1 ij
ij
⎧ m xij = 1 ( i = 1,", m ) ⎪ ∑ j =1 ⎪ m ⎪ ( j = 1,", m ) ⎨ ∑ xij = 1 ⎪ i =1 ⎪ xij = 0或1 ( i = 1," , m; j = 1," , m ) ⎪ ⎩
王秋萍:整数规划模型 16
例 求解 Max z=3x1+2x2 s.t. ⎧ ⎪2 x1 + 3x2 ≤ 14 ⎪ ⎨ x1 + 0.5 x2 ≤ 4.5 解
⎪ ⎪ x , x ≥ 0,且均取整数 ⎩ 1 2
L0: max z=3x1+2x2
Step1 寻找替代问题并求解 Step2 分支与定界
L0的最优解为(3.25,2.5)
王秋萍:整数规划模型 21
几点说明
1o 对分枝变量的选择没有确定的准则,可任选 一个非整数变量. 2o 在用手工计算时,对分枝过中引入的新的约 束条件,可用灵敏度分析方法进行计算. 3o 现在采用的整数规划求解程序,一般采用的 都是分枝定界法.
王秋萍:整数规划模型
22
割平面法 1958由高莫雷(R.E.Gomory)提出
20
分支定界法的步骤如下:
Step1 求整数规划的松弛问题最优解。 Step2 若松弛问题的最优解满足整数要求,得到整数规 划的最优解,否则转下一步。 Step3 任意选一个非整数解的变量xi ,在松弛问题中加上 约束xi ≤[xi]及 xi ≥[xi]+1组成两个新的松弛问题,称为分支。 新的松弛问题具有如下特征:当原问题是求最大值时,目标 值是分支问题的上界;当原问题是求最小值时,目标值是分 支问题的下界。 Step4 检查所有分支的解及目标函数值,若某分支的解 是整数并且目标函数大于(max)等于其他分支的目标值, 则将其他分支剪去不再计算,若还存在非整数解并且目标函 数大于(max)整数解的目标函数值,需要继续分支,再捡 查,直到得到最优解。
王秋萍:整数规划模型
变动成本 (元/件) 8 5 7
最大加工数 (件) 1500 2000 不限
10
解 设 x j 为采用第 j ( j = 1, 2, 3) 种方式生产的产品 数量,生产费用为
⎧k j + c j x j ( x j > 0) C j (x j ) = ⎨ ( x j = 0) ⎩0
王秋萍:整数规划模型
24
§4 分配问题与匈牙利法
分配问题也称为指派问题 assignment problem
4-1 问题的提出与数学模型
概念
m项任务分配给m个人去完成,要求每项只能 交给其中一个人完成,每人只能完成其中一项。 如何分配使总效率最高?
王秋萍:整数规划模型
25
数学模型
设[aij]表示分配问题的效率矩阵,令