第四章整数规划与分配问题

合集下载

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

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

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元。 问:应如何选址,可使年利润为最大?
第一步:找出每 行的最小元素, 每行对应减去这 个元素。

[管理学]整数规划与分配问题

[管理学]整数规划与分配问题
最优解。x2
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

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

运筹第四章整数规划与分配问题
x1 ≤ 4 + y1 M x2 ≥ 1 − y1 M x1 > 4 − y2 M x ≤ 3+ y M 2 2 y1 + y2 = 1
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章 整数规划与分配问题)(1)
运筹学基础及应用 ( Operations Research )
主讲:杨启明
第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章-整数规划与分配问题

运筹学基础及应用第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
首先不考虑整数约束,得到线性规划问题(一般称为松弛问 题)。

运筹学基础及应用_(第四章_整数规划与分配问题)

运筹学基础及应用_(第四章_整数规划与分配问题)
号与7号必须同时开采;
(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
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 匈牙利法理论上,这也是运输问题,但是它比运输问题更特殊,可以用更特殊的方法加以解决。

相关文档
最新文档