组合优化gydF4y2Ba
组合优化是组合学和理论计算机科学前沿的一个新兴领域,旨在利用组合技术解决离散优化问题。离散优化问题寻求从有限的可能性集中确定最佳可能的解决方案。gydF4y2Ba
从计算机科学的角度来看,组合优化寻求通过使用数学方法来改进算法,要么减少可能的解集的大小,要么使搜索本身更快。从组合学的角度来看,它用一组固定的对象来解释复杂的问题,关于这些对象,我们已经知道了很多:集合、图、多面体和拟阵。组合优化主要是指用于处理此类问题的方法,在大多数情况下,并没有提供如何将现实问题转化为抽象数学问题的指导方针,反之亦然。gydF4y2Ba
本课题最初产生于图论的关注,如无向图的边着色和二部图的匹配。许多最初的进展完全是由于图论中的定理和它们的对偶。随着线性规划的出现,这些方法被应用于分配、最大流量和运输问题。在现代,组合优化对于算法的研究是有用的,特别是与人工智能、机器学习和运筹学相关。gydF4y2Ba
的gydF4y2Ba婚姻问题gydF4y2Ba,在其传统的构想中,寻求一套gydF4y2Ba 一对夫妇在一套gydF4y2Ba 男人和gydF4y2Ba 这样,每对夫妻中就有一个男人和一个女人,没有两个人会喜欢对方而不喜欢自己的伴侣。每个女人对男人都有自己的喜好,每个男人对女人也有自己的喜好。gydF4y2Ba
给定一组首选项gydF4y2Ba 男人和gydF4y2Ba 女士们,有没有解决办法?找到这样一个解决方案的好方法是什么?gydF4y2Ba
结果是总会存在一个解,这个叫做gydF4y2Ba大厅的婚姻定理gydF4y2Ba.这种一般性的问题被称为gydF4y2Ba匹配的问题gydF4y2Ba,是组合优化中的几个核心类型问题之一。gydF4y2Ba
基本面gydF4y2Ba
这个课题包括对……的研究gydF4y2Ba半序集gydF4y2Ba,gydF4y2Ba图gydF4y2Ba,gydF4y2Ba拟阵gydF4y2Ba.gydF4y2Ba
一个gydF4y2Ba半序集gydF4y2Ba缩写,gydF4y2Ba偏序集gydF4y2Ba,是一个非空集gydF4y2Ba 与部分顺序一起gydF4y2Ba 在gydF4y2Ba 这样gydF4y2Ba
- 对所有gydF4y2Ba ,gydF4y2Ba .gydF4y2Ba
- 对所有gydF4y2Ba ,gydF4y2Ba 和gydF4y2Ba 意味着gydF4y2Ba .gydF4y2Ba
- 对所有gydF4y2Ba ,gydF4y2Ba 和gydF4y2Ba 意味着gydF4y2Ba .gydF4y2Ba
在偏序集gydF4y2Ba ,两个截然不同的gydF4y2Ba 是gydF4y2Ba类似的gydF4y2Ba如果gydF4y2Ba 或gydF4y2Ba .一个gydF4y2Ba链gydF4y2Ba的gydF4y2Ba 是gydF4y2Ba 其中任何两个元素都是可比较的。一个gydF4y2Ba反链gydF4y2Ba的gydF4y2Ba 是gydF4y2Ba 其中任何两个元素都是不可比较的。gydF4y2Ba
一个gydF4y2Ba图gydF4y2Ba 是一组gydF4y2Ba (表示顶点)与集合在一起gydF4y2Ba (表示边缘)gydF4y2Ba 元素的子集gydF4y2Ba .一个gydF4y2Ba两偶图gydF4y2Ba是一个图gydF4y2Ba 使存在gydF4y2Ba 和gydF4y2Ba 令人满意的gydF4y2Ba 和所有gydF4y2Ba ,gydF4y2Ba ,gydF4y2Ba 和gydF4y2Ba .顶点gydF4y2Ba 和边gydF4y2Ba 据说是gydF4y2Ba事件gydF4y2Ba如果gydF4y2Ba .gydF4y2Ba
一个gydF4y2Ba顶点匹配gydF4y2Ba的图gydF4y2Ba 是一组边,使得没有两条边关联到同一顶点。一个gydF4y2Ba顶点覆盖gydF4y2Ba的gydF4y2Ba 是一组顶点,使得每条边都关联到顶点覆盖的至少一个元素。gydF4y2Ba
一个gydF4y2Ba路径gydF4y2Ba是由不同的边组成的有限序列吗gydF4y2Ba 这样对于每一个gydF4y2Ba ,gydF4y2Ba .这条路径被称为从顶点开始gydF4y2Ba 和结束时gydF4y2Ba .gydF4y2Ba
路径集合为gydF4y2Baedge-disjointgydF4y2Ba如果它们没有一对包含相同的边。一个gydF4y2Baedge-separatinggydF4y2Ba两个顶点的集合gydF4y2Ba 和gydF4y2Ba (或者更一般地说,顶点集gydF4y2Ba 和gydF4y2Ba )是一组边,这样任何路径都可以从gydF4y2Ba 来gydF4y2Ba (或,从…的顶点gydF4y2Ba 到…的顶点gydF4y2Ba )包含至少一条这样的边。gydF4y2Ba
一个gydF4y2BamatriodgydF4y2Ba是一对吗gydF4y2Ba 这样gydF4y2Ba
- 包含emptysetgydF4y2Ba .gydF4y2Ba
- 如果gydF4y2Ba 和gydF4y2Ba ,然后gydF4y2Ba .gydF4y2Ba
- 如果gydF4y2Ba 和gydF4y2Ba ,那么就有一个gydF4y2Ba 在gydF4y2Ba 这样gydF4y2Ba .gydF4y2Ba
Min-Max关系gydF4y2Ba
组合学中有趣的工具表明,最优化可能有更广泛的主题。事实上,从直观上讲,最小化与最大化之间的相互作用源于对象本身的构造。例如,在图论中,树是等价地最大无环和最小连通的图。关于图的定义特征的计算问题通常可以通过使用gydF4y2Ba贪婪算法gydF4y2Ba(这样的算法本质上需要一些极大或极小的特征);例如,在求解最小生成树问题时,gydF4y2Ba克鲁斯卡算法gydF4y2Ba将树的定义编码为“最大无环”,而Prim算法则利用了“最小连通”的特性。gydF4y2Ba
:帝尔沃斯历史学定理gydF4y2Ba.gydF4y2Ba
给定一个偏序集gydF4y2Ba 的最大反链gydF4y2Ba 等于分区的最小大小gydF4y2Ba 成链。gydF4y2Ba
对偏序集的大小进行归纳:这个定理适用于一个元素的偏序集。gydF4y2Ba
现在假设它对所有最大的偏置集都成立gydF4y2Ba ,让gydF4y2Ba 是一个gydF4y2Ba 具有某个极大元的元素偏置集gydF4y2Ba .然后,gydF4y2Ba (用继承的部分顺序)有一个最小大小的分区gydF4y2Ba 链gydF4y2Ba .根据归纳假设,反链的最大尺寸为gydF4y2Ba ,由于反链的任意两个元素可能不在同一条链上,我们可以简单地通过取来表示最大尺寸的反链gydF4y2Ba 为每一个gydF4y2Ba 并考虑gydF4y2Ba ;让gydF4y2Ba 是最大大小的反链,其中每个gydF4y2Ba 的最大元素是gydF4y2Ba (保证是唯一的,因为链中的所有元素都是可比较的)。然后要么gydF4y2Ba 是不能与任何元素相比的gydF4y2Ba 在这种情况下gydF4y2Ba 是一个分区gydF4y2Ba 成gydF4y2Ba 链和gydF4y2Ba 反链有长度吗gydF4y2Ba .或gydF4y2Ba 与元素有可比性gydF4y2Ba 对于一些固定gydF4y2Ba ,gydF4y2Ba 是一个分区gydF4y2Ba 成gydF4y2Ba 链和gydF4y2Ba 还是最大反链gydF4y2Ba .所以gydF4y2Ba 满足迪尔沃斯定理,根据数学归纳法的原理,证明是完整的。gydF4y2Ba
米尔斯基定理。gydF4y2Ba
给定一个偏序集gydF4y2Ba ,链的最大尺寸gydF4y2Ba 等于分区的最小大小gydF4y2Ba 反链。gydF4y2Ba
假设gydF4y2Ba 链的最大长度是gydF4y2Ba 和gydF4y2Ba 是反链的覆盖。然后,自gydF4y2Ba 对所有gydF4y2Ba ,这就引出了gydF4y2Ba 然后,注意有一个反链的覆盖gydF4y2Ba 在每个gydF4y2Ba ,gydF4y2Ba 注意立即gydF4y2Ba 确实是反链;如果不同的gydF4y2Ba 具有可比性(比如gydF4y2Ba ),然后gydF4y2Ba 长度链的最大元素是什么gydF4y2Ba ,由gydF4y2Ba 与链的长度一起gydF4y2Ba 和最大的元素gydF4y2Ba (由及物性可知,这确实是一条链)。此外,gydF4y2Ba 形成一个分区gydF4y2Ba ,因为链的最大长度是gydF4y2Ba ,所以每个元素gydF4y2Ba 某个长度链的最大元素也是吗gydF4y2Ba .因此,它们必然涵盖gydF4y2Ba 因此gydF4y2Ba 是一个封面gydF4y2Ba 反链。由此可见,gydF4y2Ba .我们得出如上所述的结论。gydF4y2Ba
给出一个二部图gydF4y2Ba 的顶点匹配的最大尺寸gydF4y2Ba 等于顶点覆盖的最小尺寸gydF4y2Ba .gydF4y2Ba
假设gydF4y2Ba 是二部图吗gydF4y2Ba 顶点覆盖是gydF4y2Ba .让gydF4y2Ba .然后,考虑偏置集gydF4y2Ba 在gydF4y2Ba 与偏序gydF4y2Ba 这样对于任何gydF4y2Ba 和gydF4y2Ba ,gydF4y2Ba 敌我识别gydF4y2Ba 被连接到gydF4y2Ba .结果就是迪尔沃斯定理。gydF4y2Ba
给定一组gydF4y2Ba 和收集gydF4y2Ba ,存在一组gydF4y2Ba 不同的元素gydF4y2Ba 这样gydF4y2Ba 为每一个gydF4y2Ba 敌我识别任何gydF4y2Ba 的不平等gydF4y2Ba 成立。gydF4y2Ba
门格尔定理。gydF4y2Ba
给定一个图gydF4y2Ba 和顶点gydF4y2Ba 和gydF4y2Ba ,一组边缘不相交路径的最大尺寸gydF4y2Ba 来gydF4y2Ba 等于?的边分离集的最小尺寸gydF4y2Ba 和gydF4y2Ba .gydF4y2Ba
线性规划gydF4y2Ba
在它的数学公式中,agydF4y2Ba线性规划gydF4y2Ba接受gydF4y2Ba 矩阵gydF4y2Ba 和列向量gydF4y2Ba 的长度gydF4y2Ba 和gydF4y2Ba 的长度gydF4y2Ba .其目标如下:gydF4y2Ba
求列向量gydF4y2Ba 的长度gydF4y2Ba 令人满意的gydF4y2Ba 这样gydF4y2Ba 是最大的。否则,决定没有gydF4y2Ba 满足这个约束条件或者不存在最大值gydF4y2Ba 和gydF4y2Ba 是无限的。gydF4y2Ba
如果这样的一个gydF4y2Ba 存在,它被称为gydF4y2Ba最优解gydF4y2Ba.gydF4y2Ba
这个问题被称为gydF4y2Ba不可行gydF4y2Ba如果没有解决办法gydF4y2Ba 令人满意的gydF4y2Ba ,它被称为gydF4y2Ba无限gydF4y2Ba对于所有实数gydF4y2Ba ,有一个列向量gydF4y2Ba 这样gydF4y2Ba .gydF4y2Ba
任何非不可行和非无界的线性规划都必须有一个最优解。gydF4y2Ba
从本质上说,这是由定理得出的gydF4y2Ba线性代数gydF4y2Ba.gydF4y2Ba
线性规划通常用多面体来讨论,当多面体有界时,用多面体来讨论。图形化,分gydF4y2Ba 令人满意的gydF4y2Ba 创建一个多面体,其尺寸为gydF4y2Ba 通过在多面体的表面上移动,可以找到一个最优解。这就产生了单纯形方法,它虽然有效(和多项式)一般在最坏的情况下有非常差的(指数)性能。gydF4y2Ba
所有的线性规划都可以简化为“标准形式”gydF4y2Ba 在哪里gydF4y2Ba 和gydF4y2Ba .gydF4y2Ba
例如,假设一个线性规划有以下约束条件gydF4y2Ba ,gydF4y2Ba ,gydF4y2Ba :gydF4y2Ba
然后是“松弛变量”gydF4y2Ba 和gydF4y2Ba (每gydF4y2Ba )应加以介绍,以便gydF4y2Ba
因此,无论线性规划寻求的是什么,都可以通过引入gydF4y2Ba 的年代。gydF4y2Ba
算法gydF4y2Ba
整洁的算法gydF4y2Ba给出了一种求解最简单的组合优化问题之一的方法:求agydF4y2Ba最小生成树gydF4y2Ba在(加权)图上。它利用了以下事实:压力是最小连通图,且图具有矩阵结构(因此容易受到贪婪算法的某些实现的影响)。其工作原理如下:gydF4y2Ba
- 在图上选择一个顶点。gydF4y2Ba
- 在将选定的顶点连接到图的其余部分的边中,选择权重最小的边(和关联的顶点)。gydF4y2Ba
- 重复步骤2,直到所有顶点都在树中。gydF4y2Ba
该算法设法迭代地获取局部特征(图的某些邻域的最小权值),并将其转换为全局特征(图的最小生成树)。这是一个贪心算法。通过适当的实现,该算法具有一定的复杂性gydF4y2Ba
克鲁斯卡算法gydF4y2Ba解决了相同的问题,并利用了树是最大无环图的事实。其工作原理如下:gydF4y2Ba
- 从最小权值到最大权值排列边,并从一组空边开始。gydF4y2Ba
- 加上不使集合包含任何环的最小权值边。gydF4y2Ba
- 重复步骤2,直到集合确定了生成树。gydF4y2Ba
这个算法之所以有效,是因为任何其他生成树都可以通过相同的过程生成——但在序列的后面。由此可见,所讨论的生成树是最小的。算法比较复杂gydF4y2Ba .gydF4y2Ba