没有合适的资源?快使用搜索试试~ 我知道了~
UIUC CS598CSC 组合优化讲义.pdf
需积分: 5 0 下载量 194 浏览量
2024-02-03
12:14:26
上传
评论
收藏 6.02MB PDF 举报
温馨提示
试读
190页
UIUC CS598CSC 组合优化讲义
资源推荐
资源详情
资源评论
CS 598CSC: 组合优化 讲座日期:01/19/2010
讲师:Chandra Chekuri 记录员:Alina Ene
1 引言和动机
粗略地说,一个优化问题的概述如下:给定一个问题的实例,找到给定实例的所有解中的“最佳”
解。 我们主要关注离散优化问题,其中每个实例和解集都来自一个离散集合。这与连续优化不同
,连续优化的输入实例和解集可以来自连续域。 其中一些区别并不像线性规划那样明确。
我们假设对计算复杂性类 P , NP , coNP有所了解。 在这门课程中,我们主要关注多项式时
间可解的“组合”优化问题。
组合优化问题是离散优化问题的一个子集,尽管没有对它们的正式定义。 组合优化中的典型问题
具有一个对象的基本集合E,解对应于
E
的某些子集( E的幂集)并且典型目标是找到给定 E上的
一组权重的最大或最小权重解。 例如,在生成树问题中,基本集合 E是图 G= (V, E)的边集,解
是 E的子集,对应于 G中的生成树。
我们将对 NP优化问题感兴趣 - 简称为 NPO问题。 形式上,问题 Q是Σ
∗
的一个子集,其中Σ
是一个有限字母表,比如二进制。 问题 Q中的每个字符串 I都是 Q的一个实例。 对于一个字符串
x,我们用 |x|表示它的长度。 如果满足以下条件,我们称问题 Q为 NPO问题:
(i)对于每个字符串 x ∈ Σ
∗
,存在一个多项式时间算法可以检查 x是否属于 Q,即 x是否是 Q
的一个有效实例。
(ii)对于每个实例 I,存在一个集合 sol(I) ⊂ Σ
∗
,使得
(a)对于集合s ∈ sol(I), |s| = poly(|I|)
(b) 存在一个多项式时间算法,对于输入I, s,能够正确地输出是否 ∈解(I)。
(iii) 存在一个函数 val: Σ
∗
× Σ
∗
→ Z,使得对于每个实例 I和
s ∈解(I) , val(I, s) 能够分配一个整数,并且val可以通过多项式时间算法计算。
给定一个 NPO问题,如果目标是计算给定的 I ∈ Q,
arg min
s∈
解
(I )
val(I, s) ,则称其为最小化问题。 如果目标是计算 arg max
s∈
解
(I )
val(I, s),则称其为最大化问题。
与一个 NPO问题(比如最大化)相关的一个自然决策问题是:给定 I和一个整数 k,是否存在一
个解S(I) 使得 val(S, I) ≥ k。
我们遇到的许多问题都是 NPO问题。 其中一些问题可以在多项式时间内解决。 广泛认为并
猜测 P = NP,这意味着存在一些NPO问题(特别是那些决策版本是 NP-完全的问题)没有多
项式时间算法。 假设 P = NP,一些重要且有用的问题是:哪些问题属于 P? 什么特征定义了
P中的问题?
这些都不是简单的问题。 多年来的一个见解是,计算和算法很难理解,我们远未能够完全描述
问题的复杂性。
然而,在有限的情况下,我们寻求研究广泛的问题类别,并理解一些统一的主题。 这种可能性已
经存在于布尔域中的约束满足问题类别中。 Schaefer的一个结果完全刻画了哪些问题属于P类问题
,哪些问题属于NP完全问题。 事实上,存在一个很好的二分法。 然而,在这个有限的情况下,
非布尔域要复杂得多。
在组合优化领域,可以通过多面体和椭球方法给出一些统一而优雅的处理。 本课程的目的是让
您了解其中一些思想,并概述一些已知可以在多项式时间内解决的一般问题。
我们研究的三个要素是
(i)多项式时间算法
(ii)结构性结果,特别是通过最小-最大解的特征化
(iii)多面体组合学
我们将通过示例和一般结果来说明这些要素。 在这个入门讲座中,我们将讨论一些已知的例子,
以突出我们将采取的观点。
2 网络流
给定有向图 D= (V, A),两个不同的节点s, t ∈ V,以及弧容量 c : A → R
+
,一个流是一个函数 f
: A → R
+
,满足以下条件(i)
∑
a∈δ
−
(v)
f(a) =
∑
a
∈δ
+
(v )
f (a) 对于所有 v ∈ V− {s, t}
(ii) 0 ≤ f (a) ≤ c(a) 对于所有 a ∈ A
流 f的值为
val(f) =
∑
a∈δ
+
(s)
f(a) −
∑
a∈δ
−
(s)
f(a) =
∑
a∈δ
−
(t)
f(a) −
∑
a∈δ
+
(t)
f(a)
优化问题是从 s到 t最大化流量。
一个 s-t切割是将 V 划分为 (A, B) ,其中 s ∈ A, t ∈ B,并且该切割的容量为
c(A, B ) =
∑
a∈δ
+
(A)
c(a)
显然,对于任何 s-t流 f和任何 s-t切割 (A, B)
val(f ) ≤ c(A, B) ⇒最大 s-t流量 ≤最小 s-t切割容量
著名的Menger和Ford-Fulkerson最大流最小割定理表明
定理1在任何有向图中,最大流值等于最小割容量。
Ford和Fulkerson通过算法证明了上述定理。 尽管他们的增广路径算法不是多项式时间算法,但可
以通过非常小的修改(例如,Edmonds-Karp修改使用最短增广路径)使其在多项式时间内运行。
此外,该算法表明,当容量为整数值时,存在一个整数值的最大流。因此我们有
定理2在任何有向图中,最大流值等于最小割容量。
此外,如果c是整数值,则存在一个整数值的最大流。
这是一个多项式时间(好的)算法的示例,揭示了问题的结构特性,以最小-最大结果和流的整数
性来描述。 相反,假设我们知道最大流-最小割定理,但不知道任何算法结果。 我们能获得一些见
解吗?
我们声称答案是肯定的。考虑决策问题:给定G, s, t,是否存在一个 k,使得 s-t的最大流值至少
为某个给定的数 k? 很容易看出这个问题属于 NP,因为可以给出一个值至少为 k的可行流 f作
为 NP证书
1
。 然而,使用最大流-最小割定理,我们也可以看出它属于 coNP。 要证明流值小于
k,我们只需要展示一个容量小于k的割。 因此,最小-最大结果表明该问题属于 NP ∩ coNP。
大多数“自然”的决策问题在 NP ∩ coNP中最终被证明具有多项式时间算法(有一些众所周知的
例外)。
此外,一个在 NP ∩coNP 中的问题是 NP-完全或 coNP-完全的,这将意味着 NP = coNP,
这是大多数人认为不太可能的事情。 因此,一个最小-最大结果意味着决策版本在 NP ∩ coNP
中,这是存在多项式时间算法的强有力证据。
这并不意味着这样的算法会很容易得到。 例子包括一般图中的匹配和线性规划。
最后,让我们将网络流视为线性规划问题的特例。我们可以将其写成
max
∑
a∈δ
+
(s)
f(a) −
∑
a∈δ
−
(s)
f(a)
满足
∑
a∈δ
+
(v)
f(a) −
∑
a∈δ
−
(v)
f(a) = 0 ∀v ∈ V, v = s, t
f(a) ≤ c(a) ∀a ∈ A
f(a) ≥ 0 ∀a ∈ A
从线性规划的多项式时间可解性可以得出网络流的多项式时间算法。 然而,我们还可以说得更多
。 已知上述不等式系统的矩阵是完全单调的(TUM)。 由此可知,当容量为整数时,多面体的顶
点也是整数!不仅如此,对偶问题的顶点也是整数,因为目标函数的系数是整数。 事实上,我们
可以从这些关于所讨论的多面体的事实中推导出最大流最小割定理。 此外,我们还可以很容易地
推导出更多结果。
例如,我们可以对流量添加下界。
`(a) ≤ f(a) ≤ c(a)
1我们在这里忽略了一个技术细节,即流规范在输入中是多项式大小的。
并且仍然可以得出这样一个事实:如果存在一个符合下界/上界且整数值的流,则存在一个相应的
整数值流。 对于最小成本流以及其他几个变种,如循环和转运,情况也是一样的。
3 二分图匹配
你们中的许多人已经看到了将二分图匹配简化为流的过程。 我们也可以将它们独立地处理。
设 G= (X ∪Y, E) 是一个由X, Y给定的二分图。 回顾一下,在图 G中,如果没有顶点与 M中的多
于一条边相邻,则 M是一个匹配。
图 G= (V, E) 中的一个顶点覆盖是指一个顶点子集 S ⊆ V,使得对于每条边 uv ∈ E, u或v在 S
中。 换句话说, S覆盖了所有的边。 我们用 ν(G) 表示图 G中最大匹配的基数,用 τ(G) 表示图 G
中最小顶点覆盖的基数。
命题3 对于每个 G, ν(G) ≤ τ (G)。
在二分图中,有以下定理。
定理4 (Ko¨nig定理) 如果 G是二分图,则 ν(G) = τ (G)。
以上证明了二分图中的最大匹配和最小顶点问题(决策版本)都在NP ∩ coNP中。 (注意,顶
点覆盖问题在一般图中是 NP难的。)因此,我们期望在二分图中存在多项式时间算法来求解 ν(
G)和 τ(G)。 正如你所知,人们可以将二分图中的匹配问题约化为最大流问题,并且K¨onig定理可
以从最大流-最小割定理推导出来。 人们还可以通过多项式时间的增广路径算法(隐含地是一个最
大流算法)来求解二分图中的匹配问题,从而证明了K¨onig定理的算法性质。
我们现在来看多面体的方面。 我们可以将一个简单的线性规划问题写成图 G中最大匹配的松弛
问题。
max
∑
e∈E
x(e)
∑
e∈δ(u)
x(e) ≤ 1 ∀u ∈ V
x(e) ≥ 0 ∀e ∈ E
对于二分图,上述线性规划问题及其对偶问题都有整数解,因为约束矩阵是TUM。可以很容易地
从中推导出König定理和多项式时间算法。 对于加权匹配(分配问题),也可以得到一个多项式
时间算法。
4个一般图匹配
上述给出的匹配基本线性规划问题的约束矩阵对于一般图来说不是整数的,如下面的简单图所示
。 设 G = K
3
是由3个顶点组成的完全图。 解x(e) = 1/2 对于 G中的每条边都是一个值为3/2的线
性规划问题的最优解,而 G中的最大匹配的大小为1。
图匹配的算法研究和在1960年代由杰克·埃德蒙兹开发的多面体理论,以及他的许多基础结果
是多面体组合学领域的起点。 在埃德蒙兹的工作之前,根据图的存在完美匹配的图特的必要和充
分条件,有一个最小-最大结果。 为了解释这一点,对于一个集合 U ⊆ V,让 o(G − U)表示从G中
删除 U顶点后得到的图中奇数基数的组件数。
图特-伯格公式
ν(G) = 最小
U⊆V
1
2
(|V | + |U| − o(G − U))
我们现在将证明简单的方向,即
ν(G) ≤
1
2
(|V | + |U| − o(G − U)) ∀U ⊆ V
为了看到这一点,未匹配顶点的数量至少为 o(G − U )− |U|,因为 G − U中的每个奇数分量都需要
一个 U中的顶点。因此
ν(G) ≤
|V |
2
−
o(G − U) − |U|
2
≤
1
2
(|V | + |U| − o(G − U))
推论5 (Tutte的1因子定理) G有一个完美匹配当且仅当 ∀U ⊆V o(G − U )≤ |U |。
这个公式表明匹配问题的决策版本在 NP ∩ coNP中。 Edmonds给出了第一个多项式时间算法来
寻找最大基数匹配,还解决了更困难的最大权重匹配问题。 作为他算法工作的结果,Edmonds在
匹配多面体上展示了以下结果。
考虑以下多面体:
∑
e∈δ(v)
x(e) ≤ 1 ∀v ∈ V
∑
e∈E[U ]
x(e) ≤ b
|U|
2
c ∀U, |U | odd
0 ≤ x(e) ∀e ∈ E
Edmonds证明了上述多面体的顶点正好是 G的匹配的特征向量。 观察到这个多面体有指数数量的
约束条件。 人们可以问这个匹配多面体的描述是否有用。 显然,如果我们取 G的匹配的凸包,我
们得到一个在 R
E
中的多面体;对于任何组合优化问题,我们都可以这样做,一般来说,我们得到
指数数量的不等式。 Edmonds认为匹配多面体不同,因为(i)不等式以一种统一的方式隐式地描
述。
(ii) 他的算法提供了一种在这个多面体上进行优化的方法
剩余189页未读,继续阅读
资源评论
绝不原创的飞龙
- 粉丝: 1w+
- 资源: 1091
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功