运筹学_整数规划(中科院胡晓东)

合集下载

运筹学-整数规划与分配问题PPT课件

运筹学-整数规划与分配问题PPT课件
第四章
整数规划与分配问题Fra bibliotek整数规划的特点及作用 分配问题与匈牙利法
分枝定界法 割平面法 应用举例
1 整数规划的特点及应用
在实际问题中,全部或部分变量取值必须是整数。比如人 或机器是不可分割的,选择地点可以设置逻辑变量等。 在一个线性规划问题中要求全部变量取整数值的,称纯整 数线性规划或简称纯整数规划;只要求一部分变量取整 数值的,称为混合整数规划。
0 14 9 3 9 20 0 23 23 0 3 8 0 12 14 0
定理1 如果从分配问题效率矩阵 [aij] 的每一行元素中 分别减去(或加上)一个常数 ui (被称为该行的位势),从 每一列分别减去(或加上)一个常数 vj(被称为该列的位 势),得到一个新的效率矩阵 [bij],若其中 bij = aij-ui-vj, 则 [bij] 的最优解等价于 [aij] 的最优解。 A 甲 乙 3 4 B 5 2 A B A B
规划具有类似性质的一大类问题而设计的一种较好的方法。
结合例一来说明分枝定界法的思路和解题步骤: 例1. 求下述整数规划问题的最优解 max z 3 x1 2 x2
2 x1 3 x2 14 x1 0.5 x2 4.5 x , x 0, 且均取整数值 1 2
A 甲

B 7
9
C 9
6
D 7
6
E 9
6
12
8
丙 丁 戊
7 15 4
17 14 10
12 6 7
14 6 10
9 10 9
三、两点说明
1. 分配问题中人数和工作任务不相等时 当人数多于工作任务数时,可以添加假想任务使得人 数与工作任务数相同,因为工作任务是假想的,因此完成 这些任务的时间是零。当任务数多于人数时,可添加假想 的人。这样的方法和运输问题中处理的方法类似。 2. 当问题目标变为求极大时

运筹学经典课件-04.整数规划(胡运权)

运筹学经典课件-04.整数规划(胡运权)
一、 概念
整数规划: 要求决策变量取整数值的规划问题。
(线性整数规划、非线性整数规划等)
纯整数规划:在整数规划中,如果所有的变量都为非负整 数,则称为纯整数规划问题; 混合整数规划:如果有一部分变量为非负整数,则称之为 混合整数规划问题。 0-1变量:在整数规划中,如果变量的取值只限于0和1,这 样的变量我们称之为0-1变量。 0-1规划:在整数规划问题中,如果所有的变量都为0-1变 量,则称之为0-1规划。
资源 金属板(吨) 小号容器 2 中号容器 4 大号容器 8
劳动力(人月)
机器设备(台月)
2
1
3
2
4
3
2013-10-30
14
解:这显然是一个整数规划的问题。
设x1,x2, x3 分别为小号容器、中号容器和大号容器的生产数量。各 种容器的固定费用只有在生产该种容器时才投入,为了说明固定费用的这 种性质,设 yi = 1(当生产第 i种容器, 即 xi > 0 时) 或0(当不生产第 i种
2 x1 3x2 14
z 3x1 2 x2
2013-10-30
x1
5
§2 应用举例
一、 逻辑变量在数学模型中的应用
1、m个约束条件中只有k个起作用
设有m个约束条件
a
j 1
n
ij
bi ,
i 1,2,..., m
0 定义0-1整型变量: yi 1 M是任意大正数。
x j 0, j 1,... 6
2013-10-30
13
例3.(固定成本问题) 高压容器公司制造小、中、大三种尺寸的金属容器,所用资 源为金属板、劳动力和机器设备,制造一个容器所需的各种 资源的数量如表所示。每种容器售出一只所得的利润分别为 4万元、5万元、6万元,可使用的金属板有500吨,劳动力有 300人/月,机器有100台/月,此外不管每种容器制造的数量 是多少,都要支付一笔固定的费用:小号是l00万元,中号为 150 万元,大号为200万元。现在要制定一个生产计划,使获 得的利润为最大。

运筹学模型的类型

运筹学模型的类型

运筹学模型的类型运筹学模型是指通过数学方法来描述和解决复杂问题的一种工具。

根据问题的性质和要求,运筹学模型可以分为以下几种类型:1. 线性规划模型(Linear Programming Model,简称LP):线性规划是一种优化问题,它的目标是在满足一些约束条件下,使某个线性函数取得最大或最小值。

线性规划模型广泛应用于生产调度、资源分配、物流运输等领域。

2. 整数规划模型(Integer Programming Model,简称IP):整数规划是线性规划的扩展,它要求决策变量只能取整数值。

整数规划模型常用于生产调度、排产计划、网络设计等问题。

3. 非线性规划模型(Nonlinear Programming Model,简称NLP):非线性规划是一种优化问题,它的目标函数和约束条件都可以是非线性的。

非线性规划模型广泛应用于经济学、金融学、工程学等领域。

4. 动态规划模型(Dynamic Programming Model,简称DP):动态规划是一种优化方法,它将一个复杂问题分解为若干个子问题,并逐步求解这些子问题。

动态规划模型常用于生产调度、资源分配、投资决策等问题。

5. 排队论模型(Queuing Theory Model,简称QT):排队论是一种研究等待线性的数学理论,它可以用来描述和分析顾客到达、服务时间、系统容量等因素对系统性能的影响。

排队论模型广泛应用于交通运输、通信网络、医疗卫生等领域。

6. 决策树模型(Decision Tree Model,简称DT):决策树是一种分类和回归的方法,它可以将一个问题分解为若干个子问题,并逐步求解这些子问题。

决策树模型常用于金融风险评估、医学诊断、市场营销等领域。

总之,不同类型的运筹学模型适用于不同的问题领域和求解目标,选择合适的模型可以帮助我们更好地解决实际问题。

运筹学知识点总结

运筹学知识点总结

运筹学知识点总结一、线性规划线性规划是运筹学中最基础、最重要的一个分支。

它的基本形式可以表示为:Max cxs.t. Ax ≤ bx ≥ 0其中,c是一个n维的列向量,x是一个n维的列向量,A是一个m×n的矩阵,b是一个m维的列向量。

线性规划的目标是找到满足约束条件的x,使得目标函数cx取得最大值。

而当目标是最小化cx时,则是最小化问题。

线性规划问题有着很好的性质,它的最优解一定存在且一定在可行域边界上。

而且,很多非线性规划问题也可以通过线性化转化成线性规划问题,因此线性规划具有广泛的适用范围。

二、整数规划整数规划是线性规划的一个扩展,它在线性规划的基础上增加了对决策变量的整数取值限制。

这样的问题往往更加接近实际情况。

整数规划问题的一般形式可以表示为:Max cxs.t. Ax ≤ bx ∈ Zn整数规划问题的求解难度要比线性规划问题高很多。

因为整数规划问题是NP-hard问题,也就是说它没有多项式时间的算法可以解决。

但是对于特定结构的整数规划问题,可以设计专门的算法来求解。

比如分枝定界法、动态规划等。

整数规划问题在许多领域都有着广泛的应用,比如生产调度、设备配置、网络设计等。

三、动态规划动态规划是一种用来求解具有重叠子问题结构的最优化问题的方法。

它的核心思想是将原问题分解成一系列相互重叠的子问题,然后利用子问题的最优解来构造原问题的最优解。

动态规划问题的一般形式可以表示为:F(n) = max{F(n-1), F(n-2)+cn}其中,F(n)是问题的最优解,cn是问题的参数,n是问题的规模。

动态规划问题的求解是一个自底向上的过程,它依赖于子问题的最优解,然后通过递推关系来求解原问题的最优解。

动态规划在资源分配、路径优化、排程问题等方面有着广泛的应用。

四、决策分析决策分析是一种用来帮助人们做出最佳决策的方法。

它可以应用在各种风险决策、投资决策、生产决策等方面。

决策分析的一般形式可以表示为:Max E(u(x))其中,E(u(x))是对决策结果的期望效用,u(x)是决策结果的效用函数,x是决策变量。

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

整数规划求解方法

整数规划求解方法

整数规划求解方法
整数规划是一种优化问题,其中决策变量被限制为整数。

求解整数规划问题的方法有以下几种:
1. 枚举法:对整数规划的决策变量进行枚举计算,找到满足约束条件的整数解并计算目标函数的值。

虽然这种方法可以保证找到最优解,但是在决策变量较多时计算复杂度非常高。

2. 列生成法/分支定界法:将整数规划转化为线性规划问题,然后利用线性规划求解方法求解。

通过不断添加新的决策变量,同时利用剪枝技术来减少搜索空间,从而求得整数规划的最优解。

3. 隐枚举法:通过将整数规划问题转化为混合整数规划问题,然后利用线性松弛来求解。

通过求解线性松弛问题的松弛变量,来判断是否满足整数约束条件,进而判断是否需要继续搜索。

4. 启发式方法/元启发式方法:基于某种特定的启发规则进行搜索,通过局部搜索和全局搜索相结合的方式来求解整数规划问题。

常见的启发式算法有遗传算法、粒子群算法等。

5. 对偶法/割平面法:通过对目标函数和约束条件进行线性组合,构建一个对偶问题,并求解对偶问题来间接求得原问题的最优解。

需要根据具体的整数规划问题来选择合适的求解方法。

有些方法适用于特定类型的整数规划问题,所以需要根据问题特点来选择合适的方法。

同时,对于大规模的整数规划问题,可能需要结合多种方法进行求解。

第六章 运筹学 整数规划案例

第六章整数规划6.1 用图形将一下列线性规划问题的可行域转换为纯整数问题的可行域(在图上用“×”标出)。

1、 max z=3x1+2x2S.T. 2x1+3x2≤122x1+x2≤9x1、x2≥0解:2、 min f=10x1+9x2S.T. 5x1+3x2≥45x1≥8x2≤10x1、x2≥06.2 求解下列整数规划问题1、 min f=4x1+3x2+2x3S.T. 2x1-5x2+3x3≤44x1+x2+3x3≥3x2+x3≥1x1、x2、x3=0或1解:最优解(0,0,1),最优值:22、 min f=2x1+5x2+3x3+4x3S.T. -4x1+x2+x3+x4≥2-2x1+4x2+2x2+4x2≥4x1+x2-x2+x2≥3x1、x2、x3、x3=0或1解:此模型没有可行解。

3、max Z=2x1+3x2+5x3+6x4S.T. 5x1+3x2+3x3+x4≤302x1+5x2-x2+3x2≤20-x1+3x2+5x2+3x2≤403x1-x2+3x2+5x2≤25x1、x2、x3、x3=正整数解:最优解(0,3,4,3),最优值:474、min z =8x1 +4 x2+3 x3+5 x4+2 x5+3 x6+4 x7+3 x8+4 x9+9 x10+7 x11+5 x12 +10 x13+4 x14+2 x15+175 x16+300 x17+375 x18 +500 x19约束条件x1 + x2+x3≤30x4+ x5+x6-10 x16≤0x7+ x8+x9-20 x17≤0x10+ x11+x12-30 x18≤0x13+ x14+x15-40 x19≤0x1 + x4+ x7+x10+ x13=30x2 + x5+ x8+x11+ x14=20x3 + x6+ x9+x12+ x15=20x i为非负数(i=1,2…..8)x i为非负整数(i=9,10…..15)x i为为0-1变量(i=16,17…..19)解:最优解(30,0,0,0,0,0,0,0,0,0,0,0,0,20,20,0,0,0,1),最优值:8606.3 一餐饮企业准备在全市范围内扩展业务,将从已拟定的14个点中确定8个点建立分店,由于地理位置、环境条件不同,建每个分店所用的费用将有所不同,现拟定的14个店的费用情况如下表:公司办公会决定选择原则如下:(1)B5、B3和B7只能选择一个。

整数规划


货物

每件体积
195
每件重量 每件利润
4 2

273
40
140
3
托运限制 1365
解:设甲乙托运数为x1,x2件,则 max z= 2x1+3x2
s.t. 195x1+273x2<=1365
4x1+40x2<=140 x1<=4 x1,x2>=0,且x1,x2为整数。
2x1+3x2=14.66 3
整数规划
案例

有一旅行团从 v0 出发要遍游城市 v1 , v 2 ,...,v n ,已知从 v i 到 v j 的旅费 为cij ,问应如何安排行程使总费 用最小?
整数规划
模型

变量—是否从i第个城市到第j个城市 xij 1,0;
约束 每个城市只能到达一次、离开一次

x
j 0 n
n
ij

整数规划
背包问题

背景
案例 模型


整数规划
背景


邮递包裹 把形状可变的包裹用尽量少的车辆运走 旅行背包 容量一定的背包里装尽可能的多的物品
整数规划
实例

某人出国留学打点行李,现有三个旅行包,容 积大小分别为1000毫升、1500毫升和2000毫 升,根据需要列出需带物品清单,其中一些物 品是必带物品共有7件,其体积大小分别为400、 300、150、250、450、760、190、(单位毫 升)。尚有10件可带可不带物品,如果不带将 在目的地购买,通过网络查询可以得知其在目 的地的价格(单位美元)。这些物品的容量及 价格分别见下表,试给出一个合理的安排方案 把物品放在三个旅行包里。

运筹学的基础

运筹学的基础一、概述运筹学是一门应用数学学科,旨在解决实际问题中的优化、决策和规划等问题。

它涉及多个学科领域,如数学、统计学、计算机科学和工程等。

本文将从以下几个方面介绍运筹学的基础知识。

二、线性规划线性规划是运筹学中最基础也是最常用的方法之一。

它的主要思想是在给定约束条件下,寻找使目标函数最大或最小的变量值。

线性规划问题可以用下列标准形式表示:max c^Txs.t. Ax ≤ bx ≥ 0其中,c和x分别表示目标函数系数和变量向量,A和b分别表示约束条件系数矩阵和常向量。

三、整数规划整数规划是线性规划的扩展,它要求变量取整数值。

这种限制使得整数规划问题更难求解。

通常采用分支定界法或割平面法等算法来求解整数规划问题。

四、网络流问题网络流问题也是运筹学中重要的问题之一。

它涉及到图论中的最大流和最小割等概念,在实际应用中有着广泛的应用。

网络流问题可以用下列标准形式表示:max fs.t. 0 ≤ f ≤ c∑f(i,j) - ∑f(j,i) = 0 (i ≠ s,t)其中,f表示流量,c表示容量,s和t分别表示源点和汇点。

五、排队论排队论是运筹学中另一个重要的问题。

它研究的是在一定条件下,如何通过优化系统结构、调整服务策略等方式来提高服务效率和降低成本。

排队论采用概率模型来描述系统行为,并通过数学方法来优化系统性能。

六、决策分析决策分析是运筹学中最终的目标之一。

它涉及到多种方法和工具,如决策树、贝叶斯网络、模拟等。

决策分析旨在帮助决策者做出最优决策,并同时考虑风险和不确定性因素。

七、结语运筹学的基础知识包括线性规划、整数规划、网络流问题、排队论和决策分析等内容。

这些方法和工具在实际应用中有着广泛的应用,并且不断发展和完善。

掌握这些基础知识对于从事运筹学研究和应用的人员来说是非常重要的。

运筹学课件--第四章 整数规划

上述分枝过程可用下图表示
LP0:X=(3.57,7.14),Z0=35.7
x1≤3 x1≥4
LP1:X=(3,7.6) Z1=34.8
x2≤6
LP2:X=(4,6.5) Z2=35.5
x2≥7 无可行解 x1≥5 LP5:X=(5,5) Z5=35
OR:SM OR:SM
LP3:X=(4.33,6) Z3=35.33
10
OR:SM OR:SM
第二节 整数规划求解
【例3.5 】用分枝定界法求解例3.1
max Z 4 x 1 3 x 2 1 . 2 x 1 0 . 8 x 2 10 2 x 1 2 . 5 x 2 25 x 1 , x 2 0 , 且均取整数
【解】先求对应的松弛问题(记为LP0):
7
OR:SM OR:SM
第二节 整数规划求解
一、舍入化整法
为了满足整数解的要求,自然想到“舍入”或“截尾”处理,以得到 与最优解相近的整数解。 这样做除少数情况外,一般不可行,因为化整后的解有可能超出 了可行域,成为非可行解;或者虽是可行解,却不是最优解。

不考虑整数约束则是一个LP问题,称为原整数规划的松弛问题 对于例1的数学模型,不考虑整数约束的最优解:
6
LP1 LP3
LP3:X=(4.33,6),Z3=35.33
C o
14
3
4
10
x1
OR:SM OR:SM
x2 ① ②
10 A
由于 Z 3 Z 1,选择 LP 3 进行分枝,增加约束 x 1 4 及 x 1 5,到线性规划 LP 4 及 LP 5:
max Z 4x1 3x2 LP1:X=(3,7.6),Z1=34.8 1.2x1 0.8x2 10 2x1 2.5x2 25 LP4 : LP4:X=(4,6),Z4=34 x1 4,x2 6,x1 4 x1 , x2 0 即x1 4, 可行域是一条线段 max Z 4x1 3x2
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xdhu 12
5.7 最大权可满足(续一)
我们来说明,如何用整数线性规划方法处理该问题的一般 形式(即所有权值 wj 不一定都相等)。为此,我们先将该问 题表述为一个整数线性规划问题。用 cj+ 表示变量 xi 在子句cj 中以 xi 出现的指标集合, 用 cj- 表示变量 xi 在子句 cj 中以 xi 的非出现的指标集合。 (ILP) Max ∑cj∈C wj zj s.t. ∑i∈c+ yi + ∑i∈cj (1-yi) ≥ zj, 所有 cj∈C; j yi = 0 或 1, 1 ≤ i ≤ n, zj = 0 或 1, 1 ≤ j ≤ m. 练习 验证布尔变量 X 的赋值 f 与整数线性规划问题 ILP 之间 存在这样一个一一对应:yi =1 当且仅当变量 xi 赋值为真 且 zj =1 当且仅当子句 c j 被满足。
xdhu 14
5.7 最大权可满足(续三)
注意,如果可以在多项式时间内计算出函数 g 的值,那 么上述算法就是一个多项式时间的算法。此外,该算法输出的 解的性能也取决于函数 g 的选取。最简单的一个选取方法是, 令g(yi ) := y*,i = 1, 2, … , n,亦即,以概率 y* 独立地将每一 i i 个变量 xi 赋值“真”。
vi∈V
(LP) Min ∑ wi xi s.t. xi + xj ≥ 1, (vi, vj)∈E
vi∈V
如果将上面(左侧)的整数约束用简单的约束 xi ≥ 0, 对所 有 vi∈V 替换掉,我们就可以得到上面(右侧)的线性规划。
xdhu 5
5.7 最小权顶点覆盖(续二)
应用求解线性规划的算法,我们即可得到上述松弛线性 * * 规划问题的一个最优解 xLP(G)。注意,xLP(G) 的某些分量可能 不是整数,因而它不一定是整数规划的一个可行解;但是它的 目标函数值不会超过整数规划问题的最优解的目标函数值。 要得到一个整数规划的可行解,一个非常简单的方法就 * 是将 xLP(G) 中足够大的分量都取整为1,而其他分量取整为0; * 亦即,如果一个顶点在 xLP(G) 中相应的分量至少是 1/2 ,则将 该顶点包括在顶点覆盖中。 注意,求解最小权顶点覆盖问题的这一方案(可能)需 要求解带有很多约束的一个线性规划问题;实际上,松弛线性 规划问题的约束个数等于给定图的边的条数,因而这一方案可 能比较费时(尽管仍然是多项式时间可完成的)。
我们可以证明:如果给定的最大权可满足问题的实例 中的每一个子句最多含有 k 个“字”时,那么算法输出的解的 权值与最优解的权值之比的期望值至少是 3/4 当 k ≤ 2,或者 1-1/e 当 k ≥ 3。
xdhu
15
5.7 最大割
我们前面讲述了,如何先通过松弛整数线性规划问题 ILP 的整数约束条件,再对松弛线性规划问题 LP 的最优解进行取 整,来找的最小权顶点覆盖问题的一个好的近似解。事实上, 这一技巧还可以应用于处理其他许多组合优化问题。
xdhu 2
5.7 整数规划方法
整数规划是组合优化领域的一个非常重要的研究方向。 一般来讲,绝大多数组合优化问题都可以比较容易地表述为等 价的整数规划问题,有时候是线性的,有时候是非线性的。这 样借助一些商业软件,就可以求解这些组合优化问题了。基于 整数规划的求解组合优化问题的方法包括如下几个步骤:
2 2 3 2 2 2 1 顶点赋权图 2 2 2 1 权值为 11 的 顶点覆盖
xdhu
1
2 2 3
1 2
2 2 3 2 2 1 权值为 9的 顶点覆盖
1
4
5.7 最小权顶点覆盖(续一)
在前面我们已经证明了,基于最大匹配的算法是求解最 小顶点覆盖问题的一个2-近似算法,然而它无法处理该问题的 一般情形。我们下面就说明如何用整数规划方法求解最小权顶 点覆盖问题。为此,我们先将该问题化成一个整数(线性)规 划问题。 (ILP) Min ∑ wi xi s.t. xi + xj ≥ 1, (vi, vj)∈E, xi =0 或者 1, vi∈V.
xdhu 13
5.7 最大权可满足(续二)
现在将整数约束替换为如下约束 0 ≤ yi ≤ 1, 1 ≤ i ≤ n, 0 ≤ zj ≤ 1, 1 ≤ j ≤ m, 即可得到一个线性规划问题 LP,另设 y*=(y*, y*,…, y*), z*=(z*, z*,…, z*), m 1 2 n 1 2 是该线性规划问题 LP 的一个最优解。 我们可以应用整数规划方法设计求解最大权可满足问题 的如下算法:给定问题的一个实例 I,求出其松弛线性规划问 题 LP 的一个最优解 ( y*, z*)。然后,对每一个 i =1, 2, … , n, 计算概率 pi = g (y*),并以此概率给变量 xi, 赋值“真”,其中函 i 数 g 可以以多种方式定义。
5.7 最小权顶点覆盖(续五)
* * xDLP =xLP x* ILP
DLP 可行解的目标函数值
ILP 可行解的目标函数值 LP 可行解的目标函数值
给定最小权顶点覆盖问题的一个实例, 其松弛线性规划 问题 LP 的对偶问题是如下求最大值线性规划问题: (DLP) Max ∑
(vi ,vj)∈E
yi j yi j ≤ wi, vi∈V; yi j ≥ 0, (vi, vj)∈E
xdhu
(LP) Min ∑ wi xi s.t. xi + xj ≥ 1, (vi, vj)∈E
vi∈V
s.t. ∑
(vi ,vj)∈E
9
5.7 最小权顶点覆盖(续六)
注意,空集是原始整数线性规划问题 ILP 和其松弛线性规 划问题 LP 的一个可行解,而与所有分量 yi j 都为 0 所对应的解 是线性规划问题 LP 的对偶规划问题 DLP 的一个可行解。因 而,原始对偶算法可以从这样一对儿解开始迭代, (yi j = 0) 和 (xi = 0),通过寻找更好的对偶解来构造一个可行原始解。
v3 v4 v5 v1
v2
v3 v4
v6
最优 2-割
v5
v2
5
2 4 8 10
v3
3
v2
5
2 4 8 10
v3ቤተ መጻሕፍቲ ባይዱ
3
v1
1
v4
2
v1
1
v4
2
v6
3
权值为9 的 2-割
xdhu
v5
v6
3
权值为 29 的 2-割
17
v5
5.7 最大割(续二)
我们可以用如下方法,将最大割问题表示为一个整数 二次规划问题 (IQP)。首先,将每一对顶点 vi, vj ∈V 都赋值 wi j :≡ w(vi, vj) 当 (vi, vj)∈E,或wi j := 0 当(vi, vj )∉E。这样即有 (IQP) Max 2 ∑ ∑ wi j (1-xi xj) j=1 i=1 s.t. xi =1 或-1, 所有 vi ∈V.
xdhu 6
5.7 最小权顶点覆盖(续三)
定理 1 任给最小权顶点覆盖问题的一个实例,基于取整方法的 整数规划算法可以找的它的顶点覆盖,其权值不超过最优覆盖 的权值的 2 倍。 证明. 设 C 为算法输出的一个解,cDR(G) 是 C 中所有顶点的权 值之和。 反证法,假设 C 并没有覆盖边 (vi, vj),则 xiLP(G) 和 xjLP(G) 一定都小于 1/2,这与 xLP(G) 是线性规划的可行解矛 盾,因为它不满足约束条件 xi + xj ≥ 1。
LP 现另 cOPT(G) 为整数规划的目标函数的最优值,cOPT(G) 为线 LP 性规划的目标函数的最优值。 则有 cOPT(G) ≥ cOPT(G)。因而
cDR(G) = ∑ wi ≤ 2∑ wi xi LP≤ 2∑ wi xiLP 2cOPT(G) ≤ 2cOPT(G) = LP
vi∈C vi∈C vi∈V
运筹学基础
胡晓东
应用数学研究所 中国科学院数学与系统科学研究院 北京2734信箱,北京100190 电子邮件: xdhu@, 电话: 62639192, 办公室: 904
Institute of Applied Mathematics
xdhu 1
5. 组合优化-算法设计技巧
精确算法 分而治之 (搜索、排大小序、旅行商) 动态规划 (最短路、三角剖分、背包) 分支定界 (整数线性规划、旅行商、工件排序) 近似算法或启发式算法 贪婪策略 (最小生成树、最大可满足、背包、 顶点覆盖、独立集、旅行商) 局部搜索(最大匹配、旅行商、最大割) 序贯法 (工件排序、装箱、顶点着色) 整数规划法 (顶点覆盖、最大可满足、最大割) 随机方法 (最小割、最大可满足、顶点覆盖) 在线算法 (页面调度、k-服务器、工件排序、装箱)
将所考虑的组合优化问题转化为一个等价的整数规划问题 将整数约束条件松弛,得到一个容易求解的优化问题 用有效算法(在多项式时间内)求解松弛问题 将所求得的最优(非整数)解进行适当的舍入, 得到原问题的一个可行(整数)解
xdhu 3
5.7 最小权顶点覆盖
我们首先考虑最小权顶点覆盖问题。它是最小顶点覆盖 问题的一般形式,而后者是一个著名的 NP-难问题。 问 题: 最小权顶点覆盖 实 例: 图 G=(V, E) 及顶点 vi∈V 的权值 wi 。 可行解: 顶点覆盖 C⊆V。 目 标: 最小化覆盖 C 中的顶点的权值之和 ||C||=∑vi∈C wi
vi∈C vi∈C (vi, vj)∈E vi∈V (vi, vj)∈E

yi j yi j = 2 ∑
(vi, vj)∈E
≤∑

yi j.
vi∈V (vi, vj)∈E
因为,DLP 的对偶可行解的目标函数肯定不会超过LP 最优原始解的目标函数值,故有 ∑ ∑ yi j ≤ cOPT(G), 因此有 cPD(G) ≤ 2cOPT(G)。 11
相关文档
最新文档