第四章整数规划与分配问题
运筹学——.整数规划与分配问题

2.4 匈牙利法实例(2)
第二步:找出矩阵每列的最小元素,再分别从各列中减去。
必定满足:bij = aij–ui–vj
0 11 2 0 0
8 0 3 11 0
7 5 0 11 10 4 2 5 0 9 5 0 5 0
8 2 5 0 5 4 3 0 0 11 4 5
二、分配问题与匈牙利法
2.3 匈牙利法
分配问题可以用单纯形法或运输表求解。 库恩(W.W.Kuhn)于1955年提出了指派问题的解 法,他引用了匈牙利数学家康尼格(D.Kö nig)一 个关于矩阵中零元素的定理:系数矩阵中独立0 元素的最多个数等于能覆盖所有0元素的最少直 线数。这个解法称为匈牙利法。
二、分配问题与匈牙利法
2.2 分配问题实例(1)
例:有一份中文说明书,需要译成英、日、德、 俄四种文字。现有甲、乙、丙、丁四人,他们 将中文说明书译成不同语种的说明书所需时间 如下,问应指派何人去完成工作,使所需总时 间最少? 人员
任务 译成英文 译成日文 译成德文 译成俄文 甲 乙 丙 丁 7 8 11 9 2 15 13 4 10 4 14 15 9 14 16 13
一、整数规划的特点及作用
1.2 0-1整数规划
某公司拟在市东、西、南三区建立门市部。拟 议中有7个位置(点)Ai供选择。规定
在东区,由A1,A2,A3三个点中至多选两个; 在西区,由A4,A5两个点中至少选一个; 在南区,由A6,A7两个点中至少选一个。
如选用Ai点,设备投资估计为bi元,每年可获利 润估计为ci元,但投资总额不能超过B元。 问:应如何选址,可使年利润为最大?
第一步:找出每 行的最小元素, 每行对应减去这 个元素。
[管理学]整数规划与分配问题
![[管理学]整数规划与分配问题](https://img.taocdn.com/s3/m/bd1a0452561252d381eb6e2e.png)
5
D
I(2,4)
4
3 B(9.2,2.4)
2
1
O 1 2 3 4 5 6 7 A8 9 10
x1
• 因此用图解法或单纯形法都无法找出 整数规划的最优解,这就要研究整数 规划问题的特殊方法。
4.2 分配问题与匈牙利法
4.2.1 问题的提出与数学模型
在生活中经常遇到这样的问题,某单 位需完成n项任务,恰好有n个人可承担 这些任务。由于每个人的专长不同,各人 完成任务不同(或所费时间),效率不同。 于是产生应指派哪个人去完成哪项任务, 使完成n项任务的总效率最高(或所需总 时间最小)。这类问题称为指派问题或分 派问题(Assignment problem)。
若元素的数目m等于矩阵阶数n,那 么这分配问题的最优解已得到。若m<n, 则转下一步。
8 2 5 11 5 4 2 3 Ø Ø 11 4 5
第三步:作最少的直线覆盖所有的0元素, 以确定该系数矩阵中能找到最多的独立元 素数。
对没有的行,打;
对已打行中所有含0元素的列打;
再对打列中含元素的行打;
甲 译成英文 2 译成日文 15 译成德文 13 译成俄文 4
乙丙
丁
10 9
7
4 14
8
14 16 11
15
13 9
匈牙利算法的步骤:
第一步:使分配问题的系数矩阵经 变换,在各行各列中都出现0元素:
从系数矩阵的每行元素减去该行的 最小元素。
再从所得系数矩阵的每列元素减去 该列的最小元素。
若某行已经有0元素,就不必再减了。
满足约束条件的解称为可行解可写成 矩阵形式:
0100
0010 X=
1000
运筹第四章整数规划与分配问题

i=1,2
则问题可以表示为
4 用以表示含固定费用的函数 总费用
K j + c j x j ( x j > 0) Cj(xj ) = ( x j = 0) 0
则上述条件可以表示成
r n ∑ aij x j ≤ ∑ b; y + ... + y = 1 m 2 1
3、 两组条件中满足其中的一组 、
若 x1 ≤ 4, 则 x2 ≥ 1
若 x1 > 4, 则 x2 ≤ 3
定义
1 第i组条件不起作用 yi = 0 第i 组 条件 起作 用
0 0 X = 1 0 0 0 1 1 0 0 0 0 0 0 1 0
用矩阵形式表示为: 用矩阵形式表示为: 解矩阵
一般分配问题 设有n项任务 需有n个人去完成 项任务, 个人去完成, 设有 项任务,需有 个人去完成,每个人只能完成一 项任务,每项任务只能由一个人去完成,设第i人完成 项任务,每项任务只能由一个人去完成,设第 人完成 项任务需要的时间是a 第j 项任务需要的时间是 ij , 问如何分配才能使完成任 务的总时间最少? 务的总时间最少? 设
2. 整数规划问题的特征与性质
特征—变 特征 变量整数性要求 来源 问题本身的要求 引入的逻辑变量的需要 性质—可 性质—可行域是离散集合
3. 整数规划的分类
纯整数规划 要求全部决策变量的取值都为整数, 要求全部决策变量的取值都为整数 则称为纯整数规划 (All IP); ; 混合整数规划 仅要求部分决策变量的取值为整数,则称为混合整数规 仅要求部分决策变量的取值为整数, 划(Mixed IP); ; 0-1整数规划 整数规划 要求决策变量只能取0或 值 则称为0-1规划 规划(0-1 要求决策变量只能取 或1值,则称为 规划 Programming)。 。
整数规划问题

整数规划问题的求解方法
分枝定界法branch and bound method 分枝定界法是一种隐枚举方法(implicit enumeration)或部分 枚举方法,是枚举方法基础上的改进,几乎所有的计算机计算都用 此算法。其关键是分支和定界。 例——
Max
s.t.
Z = X1 + X2 14X1 + 9X2 ≤ 51 - 6X1 + 3X2 ≤ 1 X1 , X2 ≥ 0 X1 , X2 取整数
fi - ∑ fik xk ≤ 0 ……………………(4 式)
此即为所需切割方程。
16
整数规划 Integer Programming(IP)
割平面法cutting plane approach 构造切割方程的步骤: (1)切割方程 fi - ∑ fik xk ≤ 0 真正进行了切割,至少把非整数最优 解这一点切割掉了。 证明:(反证法)假设松驰问题的最优解 X* 未被切割掉,则由 fi - ∑ fik x*k ≤ 0, 又因为 x*k = 0,(因 x*k 为非基变量) 有 fi ≤ 0 ,这与 fi > 0 矛盾。 (2)不会切割掉任何整数解,因为切割方程是由变量为整的条件 提出的。
18
求解步骤:
1、求解 LP 得到非整数最优解: X =(3/4,7/4,0,0),Max Z = 5/2 Cj CB I表 XB B –1 b 1 X1 1 X2 0 X3 0 X4
0
0 j 1
X3
X4 X1 X2
1
4 0 3/4 7/4
-1
3 1 1 0
1
1 1 0 1
1
0 0 -1/4 3/4
14
整数规划 Integer Programming(IP)
运筹学--第四章 整数规划与分配问题

一、整数线性规划问题的提出
引例:生产组织计划问题与选址问题 例4-1(生产组织计划问题)某工厂在一个计划期 内拟生产甲、乙两种大型设备。除了A、B两种部件 需要外部供应且供应受到严格限制之外,该厂有充 分的能力来加工制造这两种设备所需的其余零件, 并且所需原材料和能源也可满足供应。每种设备所 用部件数量和部件的供应限额以及设备的利润由表 3-1-1给出。问该厂在本计划期内如何安排甲、乙 设备的生产数量,才能获取最大利润?
例4-3某人有一背包可以装10公斤重、0.025m3的物
品。他准备用来装甲、乙两种物品,每件物品的重 量、体积和价值如表4-3-1所示。问两种物品各装 多少件,所装物品的总价值最大?
表4-3-1 物品 甲 乙 重量 (公斤/每件) 1.2 0.8 体积 (m3/每件) 0.002 0.0025 价值 (元/每件) 4 3
应寻找仅检查可行的整数组合的一部分,就能定出 分支定界法可用于解纯整数或混合整数线性规划问
最优的整数解的方法。分支定界解法就是其中之一。
题。
–20世纪60年代初由Land Doig和Dakin等提出,是 解整数线性规划的重要方法之一。
–由于这方法灵活且便于用计算机求解,所以现在
它已是解整数规划的重要方法。
了。 但这常常是不行的,因为化整后不见得是可行解; 或虽是可行解,但不一定是最优解。 因此,对求最优整数解的问题,有必要另行研究。
例4-4 说明整数规划问题的求解不能直接在单纯形
法最优解的基础上四舍五入 求下述整数规划问题的最优解(P105)
max z 3x1 2 x2 2 x1 3x2 14 s.t. x1 0.5 x2 4.5 x , x 0, 且均取整数值 1 2
运筹学(第4章 整数规划与分配问题)(1)

主讲:杨启明
第4章 整数规划与分配问题1Fra bibliotek2 3
整数规划的特点及应用
分配问题与匈牙利法
分枝定界法 割平面法 解0-1规划问题的隐枚举法
4
5
4.1.1 整数规划的模型分类 纯整数规划模型 0-1整数规划模型 混合整数规划模型 4.1.2 实例 投资决策问题 背包问题 4.1.3 解整数线性规划的困难性 4.1.4 逻辑变量在建模中的作用
令
x11 x23 x32 1其余的xij=0
问题: 如何产生并寻找这组位于不同行不同列的零元素?
匈牙利数学家克尼格(Konig)
基础: 两个基本定理 如果从分配问题效率矩阵[aij]的每一行元素中分别 减去(或加上)一个常数ui(被称为该行的位势), 从每一列分 别减去(或加上)一个常数vj(被称为该列的位势), 得到一个 新的效率矩阵[bij], 若其中bij=aij-ui-vj , 则[bij]的最优解等价 于[aij]的最优解 作用:
用图解法求出最优解为: x1=3/2, x2 = 10/3,且有Z = 29/6
现求整数解(最优解):如用舍 入取整法可得到4个点即(1, 3),(2,3),(1,4),(2,4)。显然, 它们都不可能是整数规划的最优 解。 按整数规划约束条件,其可行 解肯定在线性规划问题的可行域 内且为整数点。故整数规划问题 的可行解集是一个有限集,如右 图所示。其中(2,2),(3,1)点的目 标函数值最大,即为Z=4。
xij 1(i 1,, m) 第i人完成
m
x1j
x2j
xi1 xi2 xij xi m-1 xim
运筹学基础及应用第4章-整数规划与分配问题

整数规划的特点及应用
解:对每个投资项目都有被选择和不被选择两种可能,因此 分别用0和1表示,令xj表示第j个项目的决策选择,记为:
j投 资 1 对 项 目 xj ( j 1,2,..., n) j不 投 资 0 对 项 目
投资问题可以表示为:
max z
c
j 1
n
j
xj
n a j x j B j 1 x2 x1 s .t x 3 x4 1 x5 x6 x7 2 ) x j 0或者1 (j 1, 2, L n
B1 B2 B3 B4 年生产能力
A1
A2 A3 A4 年需求量
2
8 7 4 350
9
3 6 5 400
3
5 1 2 300
4
7 2 5 150
400
600 200 200
工厂A3或A4开工后,每年的生产费用估计分别为1200万或1500万元。 现要决定应该建设工厂A3还是A4,才能使今后每年的总费用最少。
0-1型整数线性规划:决策变量只能取值0或1的整数线性 规划。
整数规划的特点及应用
整数规划的典型例子
例4.1 工厂A1和A2生产某种物资。由于该种物资供不应求,故需要 再建一家工厂。相应的建厂方案有A3和A4两个。这种物资的需求地 有B1,B2,B3,B4四个。各工厂年生产能力、各地年需求量、各厂至各 需求地的单位物资运费cij,见下表:
例4.3 设整数规划问题如下
max Z x1 x 2 14x1 9 x 2 51 6 x1 3 x 2 1 x , x 0且 为 整 数 1 2
首先不考虑整数约束,得到线性规划问题(一般称为松弛问 题)。
运筹学基础及应用_(第四章_整数规划与分配问题)

(d) 8
(e)1号、
4号、6号、9号开采时不能超过两个,试表示上
述约束条件。
Next
基础教研室
(a)当x8=1 当x8=0 ∴ x8 x6
x6=1,x6≠0 x6=1,x6=0
(b)当x5 =1 当x5 =0 ∴ x5 + x3 1
x3=0, x3 ≠1 x3=0, x3 =1
基础教研室
【例1】求下述整数规划的最优解
Max z= 3x1 + 2x2 st . 2x1 + 3x2 14 x1 + 0.5x2 4.5 x10,x20,且为整数
基础教研室
x2 x1+0.5x2=4.5
4
(3.25, 2.5) 2 2x1+3x2=14
2
4
6
x1
3x1+2x2=6
二、整数规划的求解方法
1 -选择电网供应 设 y1 0 -不选择电网供应
10 d j x j f (1 y1 ) M j 1 10 0.3d j x j p (1 y2 ) M j 1 y1 y2 1 y1 , y2 0或1
基础教研室
【例3】投资决策问题 某公司准备1000万元资金在10个地点中选择若干个建立 工厂(工厂名称用地点名来命名),有关数据如下:
由于各个工厂之间有配套和协作关系,因此必须满足条件: 1、 建工厂1就必须同时建工厂2; 2、 若建工厂2就不允许建工厂3; 3、 工厂4和工厂5至少建一个; 4、 工厂6,7,8恰好建2个; 5、 工厂8,9,10最多建2个; 6、 建工厂4或者建工厂6,就不能建工厂8,反过来也一样; 7、 条件2,3,5最多满足2个。 问选择哪几个地点建厂最有利? Next
运筹学 第4章 整数规划与分配问题

匈牙利法思路:若能在 [Cij] 中找出 n 个位于
不同行不同列的0元素(称为独立0元素),则
令解矩阵[xij]中对应这n个独立0元素的元素
取值为 1 ,其他元素取值为 0 ,则它对应目
标函数zb=0是最小的。这就是以[Cij]为系数
矩阵分配问题的最优解,也得原问题的最
优解。
定理1 若从分配问题效率矩阵[cij]的每一行元素中分别减去 (或加上)一个常数ui(称为该行的位势),从每一列分别减去 (或加上)一个常数vj(称为该列的位势),得到一个新效率矩阵 [bij],若其中bij=cij-ui-vj,则[bij]的最优解等价于[cij]的最优解
第1步:找出效率矩阵每行的最小元素,并分别从每行
中减去。
第2步:再找出矩阵每列的最小元素,并分别从各列中 减去。
2 10 9 7 2 15 4 14 8 4 13 14 16 11 11 4 15 13 9 4
0 8 7 5 11 0 10 4 0 3 5 0 0 11 9 5
表明m个约束条件中有(m-k)个的右端项为( bi+M ),不起约 束作用,因而,只有k个约束条件起作用。 ② 约束条件的右端项可能是r个值b1 , b2 ,, br 中的某一个 即: 定义:
n
aij x j b1 或b2或或br
j 1
1 假定约束右端项为 bi yi 否则 0
现用下例来说明: max z=40x1+90x2 9x1+7x2≤56 7x1+20x2≤70 x1,x2≥0 x1,x2整数 ① ② ③ ④ ⑤
解:先不考虑条件⑤,即解相应的线性规划B,①~④(见图5-2), 得最优解x1=4.81,x2=1.82,z0=356
第四章整数规划与分配问题习题

1
0
X1 32/7 1 0 0 1/7 -1/7 0
X3 11/7 0 0 1 1/7 -22/7 0
S1 -4/7 0 0 0 [-1/7] -6/7 1
Cj—Zj
0 0 0 -1
-8
0
X2 3
0
00
1
0
X1 4 1 0 0 0
-1 1
X3 1 0 0 1 0
-4 1
X4 4 Cj—Zj
0001 0000
解:
(1)
LP(1)
1 x1 = 39
7 x2 = 29
5 Z1 = 329
z = 32 5 9
z = 28
x1≤3 LP(4) x1 = 3 x2 = 2 z4 = 28
剪去
x2≤2
x2≥3
LP(2) 1
x1 = 32 x2 = 2
z2 = 31
LP(3) 2
x1 = 25
x2 = 3 4
z3= 315
x3* = (1,2)T , z * = 3 由于表 3(b)中一非基变量x5的检验数为 0,故让x5进量,用单纯形法迭代一次,得另一最优解
(见表 4):
x3* = (2,1)T , z * = 3
8、 用完全枚举法求解 0—1 规划问题.
max z = 3x1 − 2x2 + 5x3 s.t. x1 + 2x2 − x3 ≤ 2
变换效益矩阵:
⎛0 1 2 3⎞⎛0 ⎞ ⎛0 1 2 3⎞ ⎛ⓞ Ø 2 3 ⎞
Ci'j
=
⎜ ⎜ ⎜
7 8
6 9
5 9
4 8
⎟ ⎟ ⎟
⎜ ⎜ ⎜
−4 −8
第4章 整数规划与分配问题 管理运筹学 重庆三峡学院

某厂拟用集装箱托运甲、乙两种货物,每箱的体积、质量、可获得的利 润以及托运所受到的限制如表所示。问怎样安排托运计划,可使利润最 大?
货物
甲 乙 托运 限制
每箱体积 (m3) 3 8
40
每箱质量 (50kg)
4 3
24
每箱利润 (百元)
5 6
设 x1,x2表示两种货物装载数量(整 数),依题意有如下数学模型:
0-1规划的数学模型为:
max(min)z CX
AX ≥ (,≤)b
s.t.
X
取0或1
4.2.2 隐枚举法简介
管理运筹学 第4章 整数规划与分配问题
1.化成标准形式 (1)目标函数:min ,cj>0。目标若 max,目标系数改变符号,变为
min; (2)若cj<0,令yj=1-xj使其变正; (3)目标函数中,变量按目标系数 从小到大排列,约束条件中也跟 着相应改变.
4.1.3 图解法
管理运筹学 第4章 整数规划与分配问题 0 1 2 3 4 5 6 7 8 x2
(1)建立直角坐标系, 图示约束条件,确定 可行域。
(2)图示目标函数一 根基线,按目标要求 平行移动,直到与可 行域相交。
(3)求出交点坐标与 目标值。
【例4.1】 用图解法求解整数规划
max z 5x1 6x2
生产过程的种类
甲 乙 丙
固定投资(元)
1 000 2 000 3 000
生产成本(元/千克)
5 4 3
最大日产量(千克)
2 000 3 000 4 000
4.2.4 0-1变量在数学建模中的应用
管理运筹学 第4章 整数规划与分配问题
解 设:
生产 固定投资 生产成本 过程 (元) (元/千克)
整数规划与分配问题

整数规划的一般模型
此模型与一般线性规划的模型很相似, 此模型与一般线性规划的模型很相似,区别在 于除变量的非负条件外,还加了整数解的要求。 于除变量的非负条件外,还加了整数解的要求。
例1 某厂拟用火车装运甲、乙两种货物集装箱,每 箱的体积、重量、可获利润以及装运所受限制如 下: 体积( 米 )
3
重量(百斤) 利润(百元) 2 5 13 20 10
货物集装箱 甲 乙 托运限制
5 4 24
问两种货物各装运多少箱,可使获得利润最大?
设甲、乙两种货物装运箱数分别为x1 和x2。显然,都要求为整数,于是可建立 整数规划模型如下:
分配问题性质: 分配问题性质: 分配问题的最优解有这样的性质, 分配问题的最优解有这样的性质, 若从系数矩阵C的一行( 若从系数矩阵C的一行(列)各元 素中分别减去该行( 素中分别减去该行(列)的最小元 素得到的新矩阵B 那么B 素得到的新矩阵B,那么B为系数矩 阵求得的最优解和用原来的系数矩 求得的最优解相同。 阵C求得的最优解相同。
匈牙利算法: 匈牙利算法: 若系数矩阵中的元素可分 与非“ 两部分, 为”0”与非“0”两部分,则覆 盖 “0”元素的最少直线数等于位 于不同行不同列的“ 于不同行不同列的“0”元素的 最大个数。 最大个数。
甲 译成英文 译成日文 译成德文 译成俄文 2 15 13 4
乙 10 4 14 15
丙 9 14 16 13
4
0
2
5
第04章 整数规划与分配问题-运筹学

13
丁
7
8
11
9
解:设Xij表示第i人从事第j项工作,且 1 分配第i个人去完成第j项任务
X i j 0 不分配第i个人去完成第j项任务
因此,该问题的数学模型为
2021/1/7
第 16页
第4章 整数规划与分配问题
MinZ=3X11+14X12+10X13+5X14+10X21+4X22+12X23+10X24
X 11 X 12 X 13 X 14 1
X 21
X 22
X 23
X 24
1 表示第i人被指派完成一项工作
X 31 X 32 X 33 X 34 1
X 41 X 42 X 43 X 44 1
Xij=0或1(i,j=1,2,3,4)
2021/1/7
运筹学 第 17页
第4章 整数规划与分配问题
约束条件:投资额限制条件 6x1+4x2+2x3+4x4+5x515
项目A、C、E之间必须且只需选择一项:x1+x3+x5=1 项目B、D之间必须且只需选择一项:x2+x4=1
项目C的实施要以项目D的实施为前提条件: x3 x4
归纳起来,其数学模型为: max z 10 x1 8 x2 7 x3 6 x4 9 x5
项目 A B C D E
所需投资额(万元) 6 4 2 4 5
期望收益(万元) 10 8 7 6 9
2021/1/7
第 6页
第4章 整数规划与分配问题
解:决策变量:设
0
x j 1
表示项目 j不被选中 表示项目 j被选中
( j 1,2,3,4,5)
运筹学 第四章 整数规划与分配问题

第四章 整数规划与分配问题
冯大光制作
(4)
沈阳农业大学
第四章 整数规划与分配问题
冯大光制作
第二节 分配问题与匈牙利法
在实际中经常会遇到这样的问题,有n 项不同 的任务,需要n 个人分别完成其中的一项,但由 于任务的性质和各人的专长不同,因此各人去 完成不同的任务的效率(或花费的时间或费用) 也就不同。于是产生了一个问题,应指派哪个 人去完成哪项任务,使完成 n 项任务的总效率 最高(或所需时间最少),这类问题称为指派 问题或分配问题。
种下料方式可以得到各种零件的毛坯数以及每种
零件的需要量,如表所示。问怎样安排下料方式, 使得即满足需要,所用的原材料又最少?
沈阳农业大学
第四章 整数规划与分配问题
冯大光制作
设:xj 表示用Bj (j=1.2…n) 种方式下料根数模型:
x1 … xn
零件 方 个数 式 零件
A1 b1 Am am1 amn bm
沈阳农业大学
第四章 整数规划与分配问题
冯大光制作
逻辑变量的应用
沈阳农业大学
第四章 整数规划与分配问题
冯大光制作
沈阳农业大学
第四章 整数规划与分配问题
冯大光制作
沈阳农业大学
第四章 整数规划与分配问题
冯大光制作
(3)两组条件满足其中一组
若 x1 4,则 x2 1 ;否则(即 x1 4 时) 2 3 x
列的零元素,则只要令这些零元素位置的 xij 1 ,其 n n 余的 xij 0 ,则 z aij xij 就是问题的最优解.
i 1 j 1
沈阳农业大学
第四章 整数规划与分配问题
冯大光制作
如效率 矩阵为
第04章 整数规划与分配问题-运筹学(1)

2020/7/30
运筹学 第 12页
第4章 整数规划与分配问题
用图解法求出最优解 x1=3/2, x2 = 10/3且有Z = 29/6 现求整数解(最优解):如用“舍 入取整法”可得到4个点即(1,3) (2,3)(1,4)(2,4)。显然,它们都 不可能是整数规划的最优解。
x2
⑴
3
⑵ (3/2,10/3)
根据变量取整数的情况,将整数规划分为: (1)纯整数规划,所有变量都取整数. (2)混合整数规划,一部分变量取整数,一部分变量取实数 (3)0-1整数规划 ,所有变量均取0或1
2020/7考虑纯整数问题: 整数问题的松弛问题:
n
max Z c j x j j 1
此类问题数学模型的一般形式为:求一组变量X1,X2,…,Xn,使
n
MaxZ C jX j
j1
s.t
n
a ij X ij bi
(i 1,2,, m)
j1 Xj
0,
且皆为整数或部分为整
数
运筹学
2020/7/30
第 5页
第4章 整数规划与分配问题
运筹学
例4.2 某单位有5个拟选择的投资项目,其所需投资额与期望收益如下表。由于各项目之 间有一定联系,A、C、E之间必须选择一项且仅需选择一项;B和D之间需选择也仅需选 择一项;又由于C和D两项目密切相关,C的实施必须以D的实施为前提条件,该单位共 筹集资金15万元,问应该选择哪些项目投资,使期望收益最大?
n
max Z C j X j j 1
n
a X ij j j 1
bi
X j 0或1
(i 1,2,, m) ( j 1,2,, n)
2020/7/30
整数规划与分配问题

第四章 整数规划与分配问题§4.1整数规划的特点及作用用单纯形法求解线性规划的结果往往得到分数或小数解。
但在很多实际问题中,全部或部分变量的取值必须是整数,如人或者机器设备不可分割。
此外还有一些问题,如要不要在某地建设工厂,可选用一个逻辑变量x ,令1x =表示在该地建厂,0x =表示不在该地建厂,逻辑变量也只允许取整数值的一类变量。
在一个整数规划中要求全部变量取整数值的,称纯整数线性规划或纯整数规划;只要求一部分变量取整数值的,称为混合整数(线性)规划;在纯整数规划问题中,若所有变量只允许取0,1两个值,则称其为0-1规划。
有人认为,对整数规划问题的求解可以先不考虑对变量的整数约束,作为一般线性规划问题来求解,当解为非整数时可用四舍五入或凑整数寻找最优解,其实这种方法是不可行的,原因有以下两点:一、用凑整的方法计算量很大,而况还不一定能找到最优解。
如某线性规划问题的最优解为()()12 4.6 5.5x x =,用凑整数的方法时需比较与12,x x 的上述数值最接近的四种组合:(4,5),(5,5),(4,6),(5,6)如果问题中有10个变量,就要比较1021024=个整数解组合,而且最优解还不一定在这些组合中。
二、放松约束也无法求出其最优解例12121212max 322314.0.5 4.5,0,z x x x x s t x x x x =++≤⎧⎪+≤⎨⎪≥⎩整数如果不考虑整数约束,称为上述线性规划问题的松弛问题,松弛问题的最优解为:123.25, 2.5x x ==取整以后123,2x x ==是可行解,但1212123,3;4,2;4,3x x x x x x ======都不是可行解,而123,2x x ==对应的目标函数值123213z x x =+=却不是最优解,然而最优解是12124,1,max 3214x x z x x ===+=。
直接对松弛问题进行求解都无法求得整数规划问题的最优解,这就需要对整数线性规划问题有特殊的求解方法。
运筹学:第4章 整数规划与分配问题

2021/4/18
17
资源 金属板(吨) 劳动力(人月) 机器设备(台月)
小号容器 2 2 1
中号容器 4 3 2
大号容器 8 4 3
解:设 x1, x2, x3 分别为小号容器、中号容器和大号容 器的生产数量。
0, 不生产j型号容器 y j 1, 生产j型号容器
建立如下的数学模型:
2021/4/18
为:
C
j
(x
j
)
K 0,
j
c
j
x
j
,
xj 0 xj 0
其中 K j 是与产量无关 的生产准备费用
n
目标函数: min z C j (x j )
j 1
定义
0 y j 1
则原问题可表示为
xj 0
xj 0
n
min z (c j x j K j y j ) j 1
s.t
0 x j Myj
y
j
0或1
2021/4/18
10
§2.2 应用举例
例1 东方大学计算机实验室聘用4名大学生(代号
1,2,3,4)和2名研究生(代号5,6)值班。已知各学生从 周一至周五每天可安排的值班时间及每人每小时报酬见下 表所示。
学生 代号
1 2 3 4 5 6
酬金 (元/h) 10.0 10.0
9.9 9.8 10.8 11.3
2021/4/18
29
(0) 8
2
5
11 (0) 5
4
2
3 (0) 0
0
11
4
5
根据上图,k=2,
周一 6 0 4 5 3 0
每天可安排的值班时间(h) 周二 周三 周四
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 整数规划与分配问题§4.1整数规划的特点及作用用单纯形法求解线性规划的结果往往得到分数或小数解。
但在很多实际问题中,全部或部分变量的取值必须是整数,如人或者机器设备不可分割。
此外还有一些问题,如要不要在某地建设工厂,可选用一个逻辑变量x ,令1x =表示在该地建厂,0x =表示不在该地建厂,逻辑变量也只允许取整数值的一类变量。
在一个整数规划中要求全部变量取整数值的,称纯整数线性规划或纯整数规划;只要求一部分变量取整数值的,称为混合整数(线性)规划;在纯整数规划问题中,若所有变量只允许取0,1两个值,则称其为0-1规划。
有人认为,对整数规划问题的求解可以先不考虑对变量的整数约束,作为一般线性规划问题来求解,当解为非整数时可用四舍五入或凑整数寻找最优解,其实这种方法是不可行的,原因有以下两点:一、用凑整的方法计算量很大,而况还不一定能找到最优解。
如某线性规划问题的最优解为()()12 4.6 5.5x x =,用凑整数的方法时需比较与12,x x 的上述数值最接近的四种组合:(4,5),(5,5),(4,6),(5,6)如果问题中有10个变量,就要比较1021024=个整数解组合,而且最优解还不一定在这些组合中。
二、放松约束也无法求出其最优解例12121212max 322314.0.5 4.5,0,z x x x x s t x x x x =++≤⎧⎪+≤⎨⎪≥⎩整数如果不考虑整数约束,称为上述线性规划问题的松弛问题,松弛问题的最优解为:123.25, 2.5x x ==取整以后123,2x x ==是可行解,但1212123,3;4,2;4,3x x x x x x ======都不是可行解,而123,2x x ==对应的目标函数值123213z x x =+=却不是最优解,然而最优解是12124,1,max 3214x x z x x ===+=。
直接对松弛问题进行求解都无法求得整数规划问题的最优解,这就需要对整数线性规划问题有特殊的求解方法。
此外,整数线性规划问题的数学模型的研究有着重要的意义,很多管理问题无法归纳为线性规划问题的数学模型,但却可以设置逻辑变量建立起整数规划问题的数学模型。
下面举例说明逻辑变量在解决问题中的重要作用。
1.m 个约束条件中只有k 个起作用 设m 个约束条件可以表示为1,(1,2,,)nij ji j a xb i m =≤=∑L定义 1 1,2,,)0 i i y i m i ⎧==⎨⎩L 假设第个约束条件不起作用,(假设第个约束条件起作用又M 为任意大的正数,则11212(1,2,,),,,01nij j i i j m m a x b My i m y y y m ky y y =⎧≤+=⎪⎪⎪+++=-⎨⎪=⎪⎪⎩∑L L L 或 因为若0i y =,则1nij j i j a x b =≤∑条件起作用若1i y =,则1n ij j i j a x b M =≤+∑,1nij j i j a x b =≤∑条件不起作用2.约束条件的右端项可能是r 个值12(,,,)r b b b L 中的某一个,即121nij jr j a xb b b =≤∑L 或或或定义 1 0 ii b y ⎧=⎨⎩假定约束条件右端项为否则由此,上述约束条件可以表示成:1122112121,,,01nij j r r j r r a x b y b y b y y y y y y y =⎧≤+++⎪⎪⎪+++=⎨⎪⎪⎪=⎩∑L L L 或 3.两组条件中满足其中一组若14x ≤,则21x ≥;否则(即14x >时),23x ≤定义 1 1,2)0 i i y i i ⎧==⎨⎩第组条件不起作用,(第组条件起作用又M 为任意大的正数,则问题可表达为:11211222121241431,0,1x My x Myx My x My y y y y ≤+⎧⎪≥-⎪⎪>-⎪⎨≤+⎪⎪+=⎪=⎪⎩ 4.用以表示含固定费用的函数例如用j x 代表产品j 的生产数量,其生产费用函数通常可表示为:(0)()0 (0)j j j j j j j K c x x C x x +>⎧⎪=⎨=⎪⎩式中j K 是同产量无关的生产准备费用。
问题的目标是使所有产品的总生产费用为最小,即:1min ()nj j j z C x ==∑令 1 00 0j j j x y x >⎧⎪=⎨=⎪⎩,那么j j x My ≤使问题化为:1min 0. (01)1,2,,)nj j j jj j j j z c x K y x My s t M y j n ==+≤≤⎧⎪⎨==⎪⎩∑L 为充分大的正数)或一般整数规划问题建模:例1 某饭店24小时中需要服务员数量如下:如果每个服务员连续工作8小时,试问在2点、6点、10点、14点、18点、22点钟开始上班的服务员为多少时,一天所需服务员人数最少?设在2点、6点、10点、14点、18点、22点钟开始上班的服务员分别为654321,,,,,x x x x x x ,则可建立整数规划数学模型⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧≥=+=+=+=+=+=++++++=整数0,,,,41271084.min 654321655443322161654321x x x x x x x x x x x x x x xx x x t s x x x x x x Z 利用LINGO 求解整数线性规划问题,得Min=x1+x2+x3+x4+x5+x6;x1+x6>=4;x1+x2>=8;x2+x3>=10; x3+x4>=7 ;x4+x5>=12;x5+x6>=4;@gin(x1); @gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6); Global optimal solution found.Objective value: 26.00000 Extended solver steps: 0 Total solver iterations: 6Variable Value Reduced Cost X1 4.000000 1.000000 X2 4.000000 1.000000 X3 6.000000 1.000000 X4 1.000000 1.000000 X5 11.00000 1.000000 X6 0.000000 1.000000 Row Slack or Surplus Dual Price 1 26.00000 -1.000000 2 0.000000 0.000000 3 0.000000 0.000000 4 0.000000 0.000000 5 0.000000 0.000000 6 0.000000 0.0000007 7.000000 0.0000002.在高校篮球联赛中,某学院男子篮球队要从8名队员中选择平均身高最高的出场阵容,队员的号码、身高及擅长的位置如表所示:同时要求出场阵容满足以下条件:(1)中锋只能有一个上场; (2)至少有一名后卫;(3)如果1号队员和4号队员都上场,则6号队员不能上场;(4)2号队员和6号队员必须保留一个不出场。
写出该问题的数学模型。
解:设)8,7,6,5,4,3,2,1(01=⎩⎨⎧=j j j x j 号队员不出场第号队员出场第则可建立整数规划模型:⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧=≤+≤++≥++=+=++++++++++++++=10,,,,,,,12115.78.180.183.185.186.188.190.192.1max 8765432162641876218765432187654321或x x x x x x x x x x x x x x x x x x x x x x x x x x t s x x x x x x x x Z利用LINGO 进行求解0—1规划问题,得Max=1.92*x1+1.9*x2+1.88*x3+1.86*x4+1.85*x5+1.83*x6+1.8*x7+1.78*x8 ; x1+x2+x3+x4+x5+x6+x7+x8=5;x1+x2=1;x6+x7+x8>=1;x1+x4+x6<=2;x2+x6<=1;@bin (x1); @bin (x2); @bin (x3); @bin (x4); @bin (x5); @bin (x6); @bin (x7); @bin (x8); Global optimal solution found.Objective value: 9.310000 Extended solver steps: 0 Total solver iterations: 0Variable Value Reduced Cost X1 1.000000 -1.920000 X2 0.000000 -1.900000 X3 1.000000 -1.880000 X4 1.000000 -1.860000 X5 1.000000 -1.850000 X6 0.000000 -1.830000 X7 1.000000 -1.800000 X8 0.000000 -1.7800003.某工厂生产1A 、2A 两种产品,产品分别由1B 、2B 两种部件组装而成,每件产品所用部件数和有关部件的产量限额以及产品利润由下表所示。
问怎样安排1A 、2A 的生解:设生产1A 、2分别为1、2件,则⎪⎩⎪⎨⎧≥≤+≤++=整数,0,1032546.2015max 21212121x x x x x x t s x x Z 很容易用LINGO10.0求出它的最优解。
Max=15*x1+20*x2; 6*x1+4*x2<=20; x1+3*x2<=10;@gin(x1);@gin(x2);下料问题也是典型的整数规划问题 下面讲指派问题§4.2 分配问题(指派问题)与匈牙利法2-1问题的提出与数学模型分配问题也称指派问题(Assignment Problem ),是一种特殊的整数规划问题,假定有m 项任务分配给m 个人去完成,并指定每人完成其中一项,每项只交给其中一个人去完成。
例:有m 个人,去完成m 项任务,不同的人完成不同的任务效率如下表:111212122212m m m m mm a a a a a a a a a ⎛⎫⎪ ⎪⎪⎪⎝⎭L L L L L L L称为分配问题的效率矩阵。
令 1 ,1,2,,)0 ij i j x i j m i j ⎧==⎨⎩L 分配第个人去完成第项任务(不分配第个人去完成第项任务则分配问题的数学模型一般可以写为:1111min 1 (1,2,,). 1 (1,2,,)0 1 (,1,2,,)mmij iji j mij j mij i ij z a x x i m s t x j m x i j m =====⎧==⎪⎪⎪==⎨⎪⎪==⎪⎩∑∑∑∑L L L 或 2-2 匈牙利法理论上,这也是运输问题,但是它比运输问题更特殊,可以用更特殊的方法加以解决。