运筹学第4章整数规划与分配问题解析
运筹学——.整数规划与分配问题
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元。 问:应如何选址,可使年利润为最大?
第一步:找出每 行的最小元素, 每行对应减去这 个元素。
运筹学 第四章整数规划与分配问题(研究生)
若xj=0时,yj=0, 时 若xj>0时,yj=1。 时
逻辑变量在整数规划建模中的作用 1、 m个约束条件中只有 个起作用。 、 个约束条件中只有 个起作用。 个约束条件中只有k个起作用
∑a
j =1
n
ij
x j ≤ bi
( i = 1, 2, ..., m )
定义
第i个约束不起作用 yi = 0 否则
工厂选址问题: 例 3 工厂选址问题: 某商品有n 个销地,各销地的需求量为b 某商品有 个销地,各销地的需求量为 j 吨/天;现拟在 个 天 现拟在m个 地点中选址建生产厂,一个地点最多只能建一个工厂; 地点中选址建生产厂,一个地点最多只能建一个工厂;若选 i 地建厂,生产能力为 i 吨/天,固定费用为 i 元/天;已知 地建厂,生产能力为a 天 固定费用为d 天 已知i 地至第j 销地的单位运费为c 地至第 销地的单位运费为 ij元/吨。问如何选址和安排调运, 吨 问如何选址和安排调运, 才能使总费用最小? 才能使总费用最小? 设:yi=1,表示选择第i 地建厂, yi=0,表示不选择第i 地建 ,表示选择第 地建厂, ,表示不选择第 从厂址i 运量为x 总费用为z。 厂;从厂址 至销地 j 运量为 ij,总费用为 。
北京物资学院运筹学课件
第四章 整数规划与分配问题
Integer Programming and Assignment Problem
2010年11月 年 月
• 线性规划的决策变量取值可以是任意非负实数,但 线性规划的决策变量取值可以是任意非负实数, 许多实际问题中, 许多实际问题中,只有当决策变量的取值为整数时才 有意义。 有意义。 例如,产品的件数、机器的台数、装货的车数、 例如,产品的件数、机器的台数、装货的车数、完 成工作的人数等,分数或小数解显然是不合理的。 成工作的人数等,分数或小数解显然是不合理的。 • 要求全部或部分决策变量的取值为整数的线性规划 问题,称为整数线性规划 简称整数规划 整数线性规划, 整数规划(Integer 问题,称为整数线性规划,简称整数规划 Programming)。 。
Chapter04分配问题与整数规划.ppt
19.03.2019
8
一个说明性的例子(构造等价效率矩阵-书P111)
dij 甲 cij 甲 乙 A 3 4 B 5 2 dij 甲 乙
A 0 2 A 0 1
B 2 0 B 3 0
乙
定理4.3 (划线法求独立零元素集合,证明略) 在效率矩阵中,覆盖零元素的最少直线数等于位于不同行 不同列的0元素的最大个数。
19.03.2019 9
※匈牙利法求解分配问题-步骤1
Step1. 效率矩阵每行减去本行的最小元素,再从每列 减去本列的最小元素 ;
7 6 5 4 3 2 1 O 1 2 3 4 5 6 7 (3.25,2.5)
例1. 一个整数线性规划求解 的例子 max z 3x1 2 x2 2 x1 3x2 14 s.t. x1 0.5 x2 4.5 x , x 0, 且均取整数值。 1 2
用凑整数的 枚举法是否 有效呢?
B 29 38 27 42 27
C 31 + 26 + 28 36 28
D 42 20 40 23 23
E 37 33 32 + 45 45
甲 乙 丙 丁 某人
+ 24
34
求解过程大家一起在黑板上完成
18
19.03.2019
整数规划 – 分枝定界法
整数线性规划的特点
① ②
可行解的集合是离散点,有限多个 x2 最优解未必在顶点达到
甲
2 15 13 4
运筹学中的整数规划问题分析
运筹学中的整数规划问题分析运筹学是运用数学和定量分析方法,通过对系统的建模和优化,来解决实际问题的学科。
其中整数规划是运筹学中的一个重要分支,它在许多实际情况中得到广泛应用。
本文将对整数规划问题进行分析,并探讨其解决方法与应用领域。
一、整数规划问题定义及特点整数规划是一类线性规划问题的扩展,其目标函数和约束条件中的变量取值限定为整数。
通常,整数规划问题可以形式化表示为:Max/Min Z = c₁x₁ + c₂x₂ + ... + cₙxₙs.t.a₁₁x₁ + a₁₂x₂ + ... + a₁ₙxₙ ≤ b₁a₂₁x₁ + a₂₂x₂ + ... + a₂ₙxₙ ≤ b₂...aₙ₁x₁ + a₂₂x₂ + ... + aₙₙxₙ ≤ bₙx₁, x₂, ..., xₙ ∈ Z其中,Z为目标函数值,x₁, x₂, ..., xₙ为待求解的整数变量,c₁, c₂, ..., cₙ为目标函数的系数,aᵢₙ为约束条件的系数,b₁, b₂, ..., bₙ为约束条件的右端常数。
整数规划问题的特点在于整数约束条件的引入,使其解空间变得有限,增加了问题的复杂性。
与线性规划问题相比,整数规划问题更接近实际情况,能够更准确地描述和解决很多实际问题。
二、整数规划问题的解决方法解决整数规划问题的方法主要有以下几种:穷举法、剪枝法、分支定界法、动态规划法等。
具体使用哪种方法需要根据问题的规模和特点来确定。
1. 穷举法是最简单直观的方法,通过枚举搜索整数解空间中的每一个可能解来寻找最优解。
然而,由于整数解空间往往非常大,这种方法在实际问题中往往是不可行的。
2. 剪枝法是一种通过对解空间进行剪枝操作,减少搜索空间的方法。
通过合理选择剪枝条件,可以避免对明显无解的解空间进行搜索,从而提高求解效率。
3. 分支定界法是一种将整数规划问题不断分解为子问题,并对子问题进行界定的方法。
通过不断缩小问题规模,并计算上下界确定最优解的位置,可以有效地求解整数规划问题。
运筹学--第四章 整数规划与分配问题
一、整数线性规划问题的提出
引例:生产组织计划问题与选址问题 例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
运筹学习题解答(chap4 整数规划与分配问题)
第四章 整数规划与分配问题一、建立下列问题的数学模型1、P143, 4.1 利用0-1变量对下列各题分别表示成一般线性约束条件 (a) 221≤+x x 或53221≥+x x ; (b) x 取值0,3,5,7中的一个; (c) 变量x 或等于0,或50≥; (d) 若21≤x ,则12≥x ,否则42≤x ; (e) 以下四个约束条件中至少满足两个:6225433121≥+≥≤≤+x x x x x x ,,,。
解:(a) 设⎩⎨⎧=否则。
,个条件起作用;第1i ,0y i (i=1,2),M 为任意大正数。
则有 ⎪⎩⎪⎨⎧=+≥++≤+1y y My -5x 3x 2My 2x x 21221121(b) 设⎩⎨⎧=≠=ix i x y i ,1,0,7,5,3,0=i ,则原条件可表示为⎩⎨⎧=++++++=1753075307530y y y y y y y y x(c) 设⎩⎨⎧≥==50,10,0x x y ,则原条件可表示为⎪⎩⎪⎨⎧≥--≥≤0)1(50x M y x yM x(d)⎩⎨⎧=否则。
,组条件起作用;第1i ,0y i (i=1,2),M 为任意大正数。
则有⎪⎪⎪⎩⎪⎪⎪⎨⎧=++≤->-≥+≤.1,4,2,1,22122211211y y My x My x My x My x (e)设⎩⎨⎧=个条件不成立第个条件成立第i ,1i ,0y i ,4,3,2,1i =,则原条件可表示为:⎪⎪⎪⎩⎪⎪⎪⎨⎧≤+++-≥+-≥+≤+≤+2y y y y My 6x x My 2x M y 2x M y 5x x 43214433321121 2、P143, 4.2 某钻井队要从以下10个可供选择的井位确定5个钻井探油,目的是使得总的钻探费用最小。
若10个井位代号为101S ,...,S ,相应的钻探费用为101C ,...,C ,并且井位的选择要满足下列条件:(1)或选择1S 和7S ,或选择8S ;(2)选择了3S 或4S 就不能选择5S ,反过来也一样; (3)在10962S ,S ,S ,S 中最多只能选两个。
第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章 整数规划与分配问题
解 设:
生产 固定投资 生产成本 过程 (元) (元/千克)
运筹学 第四章 整数规划与分配问题
第四章 整数规划与分配问题
冯大光制作
(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
沈阳农业大学
第四章 整数规划与分配问题
冯大光制作
如效率 矩阵为
管理运筹学第四章整数规划与指派问题
货物运输路线选择案例
案例描述
某物流公司需要为其客户提供从起点到终点的货物运 输服务。在运输过程中,有多种可能的路线可以选择 ,每条路线都有不同的运输成本和时间。此外,客户 对货物的运输时间和成本也有一定的要求。
整数规划应用
该案例可以通过整数规划来解决。首先,将每条路线的 选择定义为整数决策变量,1表示选择该路线,0表示 不选择。然后,根据每条路线的运输成本和时间,构建 目标函数,即最小化总运输成本和时间。接下来,根据 客户的要求和路线的特点,构建约束条件,如运输时间 限制、成本限制和路线连通性等。最后,使用整数规划 求解算法,找到满足所有约束条件的最优路线组合,即 最小化总运输成本和时间的路线选择方案。
展望
未来,整数规划与指派问题将在更多领域得到应用和推广 ,为实际问题的解决提供更加有效的方法和工具。同时, 随着相关技术的不断发展,整数规划与指派问题的求解方 法将更加高效和精确,为相关领域的发展提供更加有力的 支持。
THANKS
感谢观看
要点一
Xpress
Xpress是一款功能强大的数学优化求 解器,适用于线性规划、整数规划等 多种问题。它提供了丰富的算法和工 具,支持大规模问题的求解和分析。
要点二
LINGO
LINGO是一款易于使用的数学优化建 模工具,具有直观的语法和丰富的函 数库。它可以帮助用户快速构建和求 解线性规划、整数规划等问题,并提 供详细的解决方案和报告。
原理
通过添加割平面约束条件,逐 步缩小问题的可行域,从而找 到整数最优解。
添加割平面
根据松弛问题的最优解,构造 一个割平面约束条件,添加到 原问题中。
迭代
重复添加割平面和求解新问题 的步骤,直到找到整数最优解 或确定无整数最优解为止。
第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 ===+=。
直接对松弛问题进⾏求解都⽆法求得整数规划问题的最优解,这就需要对整数线性规划问题有特殊的求解⽅法。
运筹四 整数规划
– 若松弛问题最优解为整数解,则其也是整数规划的 最优解
2、分枝过程
– 若松弛问题最优解中某个 xk=bk 不是整数,令 bk 为 bk 的整数部分 – 构造两个新的约束条件 xk bk 和 xk bk +1,分 别加于原松弛问题,形成两个新的整数规划
0 3 1 ( 0) 0 1 2 0*
逐 列 检 查
2 3 ( 0) 1
( 0) 2 2 2
0 * 1 0 * 2
3、重复1、2后,可能出现三种情况; a. 每行都有一个 (0),显然已找到最优解,令对应(0)位置的 xij=1; b. 仍有零元素未标记,此时,一定存在某些行和列同时有多个零, 称为僵局状态,因为无法采用 1. 2 中的方法继续标记。 4、打破僵局。令未标记零对应的同行同列上其它未标记零的个数为 该零的指数,选指数最小的先标记 ( );采用这种方法直至所有零都 被标记,或出现 情况 a,或 情况 c 。 10
表4.2.1 分枝问题解可能出现的情况
序号 问题 1 问题 2 无可行解 无可行解 1 无可行解 整数解 2 无可行解 非整数解 3 整数解 整数解 4 非整数解 5 整数解,目标函 数优于问题 2 整数解 非整数解,目标 6 函数优于问题 1 说 明 整数规划无可行解 此整数解即最优解 对问题 2 继续分枝 较优的一个为最优解 问题 1 的解即最优解 问题 1 停止分枝(剪 枝), 其整数解 为 界, 对问题 2 继续分枝
9
清华算法的步骤:例4.6.1
2、逐列检查,若该列只有一个未标记的零,对其加( )标记,将( )标 记元素同行同列上其它的零打上*标记。若该列有二个以上未标记的 零,暂不标记,转下一列检查,直到所有列检查完;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定理2 若矩阵A的元素可分成“0”与非“0”两部 分,则覆盖“0”元素的最少直线数等于位于不同 行不同列的“0”元素的最大个数。
证明:略。
下面以实例说明匈牙利法的解题步骤:
例2 有一份中文说明书,需译成英、日、德、俄四种文字, 现有甲、乙、丙、丁四人,他们将中文说明书翻译成不同 语种说明书所需时间如表4-2所示。问应指派何人去完成何 工作,使所需总时间最少?
令M为任意大的正数,则
n
aij x j bi Myi
j 1
y1 y2 ym m k
表明m个约束条件中有(m-k)个的右端项为( bi+M ),不起约 束作用,因而,只有k个约束条件起作用。
② 约束条件的右端项可能是r个值 b1, b2 ,中, b的r 某一个
即:
n
aij x j b1
j 1, 2, , n i 1, 2, , n
指派问题是运输问题的特例,即n=m, aj=bi=1。可用 运输问题的解法去求解。根据分配问题的特点,下面给
出匈牙利法。
匈牙利法思路:若能在[Cij]中找出n个位于不 同行不同列的0元素(称为独立0元素),则令 解矩阵[xij]中对应这n个独立0元素的元素取 值为1,其他元素取值为0,则它对应目标 函数zb=0是最小的。这就是以[Cij]为系数矩 阵分配问题的最优解,也得原问题的最优 解。
或b2或或br
j 1
定义:
1 yi 0
假定约束右端项为 bi 否则
上述约束条件可表示为:
n
r
aij x j bi yi
j 1Leabharlann i 1y1 y2 yr 1
§2 分配问题与匈牙利法
2-1 问题的提出与数学模型 某单位需完成n项任务,恰好有n个人可承担这些任务。 由于每人的专长不同,完成任务不同,效率也不同。于 是产生应指派哪个人去完成哪项任务,使完成n项任务 的总效率最高(或所需总时间最小)。这类问题称为分配 问题或指派问题(assignment problem)。
第4章 整数线性规划
• §1 整数规划的特点及作用 • §2 分配问题与匈牙利法 • §3 分枝定界法 • §4 割平面法 • §5 应用举例
§1 整数规划的特点及作用
1、整数规划的特点
线性规划问题的最优解通常是非整数,但对某些具 体问题,要求解必须是整数。例如,所求解是机器的台 数、完成工作人数等问题,非整数解就不合要求。将非 整数解通过“舍入化整”,不见得是可行解,或虽是可 行解,但不一定是最优解。
设:用[cij]表示分配问题的效率矩阵,令
1 分配第i个人去完成第j项任务 xij 0 不分配第i个人去完成第j项任务
i 1, 2, , n; j 1, 2, , n
当问题要求极小化时,数学模型是:
nn
min Z
cij xij
i1 j1
n
xij 1
i 1 n
xij
1
j1 xij 0 或 1
因此,求整数最优解问题,有必要另行研究。我们 称此问题为整数线性规划(integer linear programming), 简称ILP。
整数线性规划中如果所有的变量都限制为(非负)整数, 就称为纯整数线性规划(pure integer linear programming)或称为全整数线性规划(all integer linear programming);
② 打( )号的0元素个数小于m,但未被划去的0元素之间存 在闭回路,这时可顺着闭回路的走向,对每个间隔的0元 素打一( )号,然后对所有打( )号的0元素,或所在行,或 所在列画一条直线。
n n
nn
z
bij xij
cij i v j xij
i1 j1
i1 j1
nn
n
n
n
n
cij xij i xij v j xij
i1 j1
i1 j1
j1 i1
nn
n
n
cij xij i v j
i1 j1
i1
j 1
第一项是[cij]解的目标函数 z,后两项是常数,因而,当 z 达到最小值时,相应地 z 也达到最小值。
4
15 13
9
4
0 8 7 5
11 0 10 4
0 3 5 0
0
11
9
5
0050
0 8 2 5
11 0 5 4
2 3 0 0
0
11
4
5
第3步:若找出n个独立0元素,就以这些元素对应解矩阵[xij] 中的元素为1,余为0,得最优解。否则,按下列步骤解决
(1) 从第一行开始,若该行只有一个0元素,就对这个元素打 上( )号,对打上( )号0元素所在列画一条直线。若该行没 有0元素或有两个以上0元素(已划去的不计在内),则转下 一行,依次进行到最后一行。
表4-2
人员 甲 乙 丙 丁
任务
英文
2 10 9 7
日文
15 4 14 8
德文
13 14 16 11
俄文
4 15 13 9
第1步:找出效率矩阵每行的最小元素,并分别从每行 中减去。
第2步:再找出矩阵每列的最小元素,并分别从各列中 减去。
2 10 9 7 2
15
4
14
8
4
13 14 16 1111
(2) 从第一列开始,若该列只有一个0元素,就对这个元素打 上( )号,对打上( )号0元素所在行画一条直线。若该列没 有0元素或有两个以上0元素(已划去的不计在内),则转下 一列,依次进行到最后一列。
重复(1)、(2)两步,可能出现三种情况:
① 效率矩阵每行都有一个打( )号的0元素,此时,令对应 打( )号0元素的xij=1,得到最优解。
定理1 若从分配问题效率矩阵[cij]的每一行元素中分别减去 (或加上)一个常数ui(称为该行的位势),从每一列分别减去 (或加上)一个常数vj(称为该列的位势),得到一个新效率矩阵 [bij],若其中bij=cij-ui-vj,则[bij]的最优解等价于[cij]的最优解
证明:将从[bij]中得到的解代入目标函数
如果仅一部分变量限制为整数,则称为混合整数规划 (mixed integer linear programming)。
2、逻辑变量在数学模型中的作用
① m个约束条件中只有k个起作用
设m个约束条件可表为:
n
aij x j bi
j 1
i 1, 2, , m
定义
1 假定第i个约束条件不起作用 yi 0 假定第i个约束条件起作用