| 第1行: |
第1行: |
| − | 此词条暂由彩云小译翻译,未经人工整理和审校,带来阅读不便,请见谅。<br>
| |
| | | | |
| − | 本词条由信白初步翻译<br> | + | |
| | + | 本词条由信白初步翻译,由Flipped 审校。<br> |
| | | | |
| | [[File:Minimum spanning tree.svg|thumb|300px|right|A [[minimum spanning tree]] of a weighted [[planar graph]]. Finding a minimum spanning tree is a common problem involving combinatorial optimization.]] | | [[File:Minimum spanning tree.svg|thumb|300px|right|A [[minimum spanning tree]] of a weighted [[planar graph]]. Finding a minimum spanning tree is a common problem involving combinatorial optimization.]] |
| 第7行: |
第7行: |
| | A [[minimum spanning tree of a weighted planar graph. Finding a minimum spanning tree is a common problem involving combinatorial optimization.]] | | A [[minimum spanning tree of a weighted planar graph. Finding a minimum spanning tree is a common problem involving combinatorial optimization.]] |
| | | | |
| − | 一个加权平面图的'''<font color="#FF8000">最小生成树 Minimum Spanning Tree </font>'''。找到一个最小生成树是一个涉及'''<font color="#FF8000">组合优化 Combinatorial Optimization </font>'''的常见问题。 | + | 一个加权平面图的'''<font color="#FF8000">最小生成树 Minimum Spanning Tree </font>'''。找到最小生成树是一个涉及'''<font color="#FF8000">组合优化 Combinatorial Optimization </font>'''的常见问题。 |
| | | | |
| | | | |
| 第15行: |
第15行: |
| | Combinatorial optimization is a subfield of mathematical optimization that is related to operations research, algorithm theory, and computational complexity theory. It has important applications in several fields, including artificial intelligence, machine learning, auction theory, software engineering, applied mathematics and theoretical computer science. | | Combinatorial optimization is a subfield of mathematical optimization that is related to operations research, algorithm theory, and computational complexity theory. It has important applications in several fields, including artificial intelligence, machine learning, auction theory, software engineering, applied mathematics and theoretical computer science. |
| | | | |
| − | 组合优化是'''<font color="#FF8000">最优化 Mathematical Optimization </font>'''的一个子领域,与'''<font color="#FF8000">运筹学 Operations Research </font>'''、'''<font color="#FF8000">算法理论 Algorithm Theory </font>'''和'''<font color="#FF8000">计算复杂性理论 Computational Complexity </font>'''有关。它在'''<font color="#FF8000">人工智能 Artificial Intelligence </font>'''、'''<font color="#FF8000">机器学习 Machine Learning </font>'''、'''<font color="#FF8000">拍卖理论 Auction Theory </font>'''、'''<font color="#FF8000">软件工程 Software Engineering </font>'''、'''<font color="#FF8000">应用数学 Applied Mathematics </font>'''和'''<font color="#FF8000">理论计算机科学 Theoretical Computer Science </font>'''等领域有着重要的应用。 | + | 组合优化是'''<font color="#FF8000">数学优化方法 Mathematical Optimization </font>'''的一个子领域,与'''<font color="#FF8000">运筹学 Operations Research </font>'''、'''<font color="#FF8000">算法理论 Algorithm Theory </font>'''和'''<font color="#FF8000">计算复杂性理论 Computational Complexity </font>'''有关。它在'''<font color="#FF8000">人工智能 Artificial Intelligence </font>'''、'''<font color="#FF8000">机器学习 Machine Learning </font>'''、'''<font color="#FF8000">拍卖理论 Auction Theory </font>'''、'''<font color="#FF8000">软件工程 Software Engineering </font>'''、'''<font color="#FF8000">应用数学 Applied Mathematics </font>'''和'''<font color="#FF8000">理论计算机科学 Theoretical Computer Science </font>'''等领域有着重要的应用。 |
| | | | |
| | | | |
| 第23行: |
第23行: |
| | Combinatorial optimization <!-- synonymous or subfield?: discrete optimization--> is a topic that consists of finding an optimal object from a finite set of objects. In many such problems, exhaustive search is not tractable. It operates on the domain of those optimization problems in which the set of feasible solutions is discrete or can be reduced to discrete, and in which the goal is to find the best solution. Typical problems are the travelling salesman problem ("TSP"), the minimum spanning tree problem ("MST"), and the knapsack problem. | | Combinatorial optimization <!-- synonymous or subfield?: discrete optimization--> is a topic that consists of finding an optimal object from a finite set of objects. In many such problems, exhaustive search is not tractable. It operates on the domain of those optimization problems in which the set of feasible solutions is discrete or can be reduced to discrete, and in which the goal is to find the best solution. Typical problems are the travelling salesman problem ("TSP"), the minimum spanning tree problem ("MST"), and the knapsack problem. |
| | | | |
| − | 组合优化 < ! -- 同义词还是子域?: '''<font color="#FF8000">离散优化 Discrete Optimization </font>'''-- > 是一个主题,包括从一个有限的对象集合中寻找一个最佳对象。在许多这样的问题中,穷举搜索是不易处理的。它是在可行解集是离散的或可以化为离散的优化问题的域上进行运算的,其目标是找到最优解。典型的问题是'''<font color="#FF8000">旅行推销员问题 Traveling Salesman Problem </font>'''(“ TSP”)、最小生成树问题(“ MST”)和'''<font color="#FF8000">背包问题 Knapsack Problem </font>'''。
| + | 组合优化是一个主题,包括从一个有限的对象集合中寻找一个最佳对象。<ref>{{harvnb|Schrijver|2003|p=1}}.</ref>在许多这样的问题中,穷举搜索是不易处理的。它是在可行解集是离散的或可以化为离散的优化问题的域上进行运算的,其目标是找到最优解。典型的问题是'''<font color="#FF8000">旅行商问题 Traveling Salesman Problem </font>'''(“ TSP”)、最小生成树问题(“ MST”)和'''<font color="#FF8000">背包问题 Knapsack Problem </font>'''。 |
| | | | |
| | | | |
| 第31行: |
第31行: |
| | Some research literature considers discrete optimization to consist of integer programming together with combinatorial optimization (which in turn is composed of optimization problems dealing with graph structures) although all of these topics have closely intertwined research literature. It often involves determining the way to efficiently allocate resources used to find solutions to mathematical problems. | | Some research literature considers discrete optimization to consist of integer programming together with combinatorial optimization (which in turn is composed of optimization problems dealing with graph structures) although all of these topics have closely intertwined research literature. It often involves determining the way to efficiently allocate resources used to find solutions to mathematical problems. |
| | | | |
| − | 一些研究文献认为离散优化是由'''<font color="#FF8000">整数规划 Integer Programming </font>'''和组合优化组成的,尽管所有这些主题的研究文献都紧密地交织在一起。它通常涉及决定如何有效地分配用于寻找数学问题解决方案的资源。
| + | 一些研究文献<ref>{{cite book | title=Discrete Optimization | url=http://www.elsevier.com/locate/disopt | publisher=Elsevier | accessdate=2009-06-08}}</ref>认为'''<font color="#FF8000">离散优化 Discrete Optimization </font>'''是由'''<font color="#FF8000">整数规划 Integer Programming </font>'''和组合优化组成的(反过来由解决图结构的优化问题组成),尽管所有这些主题的研究文献都紧密地交织在一起。它通常涉及如何有效地分配用于寻找数学问题解决方案的资源的决策。 |
| | | | |
| | | | |
| | | | |
| − | ==Applications== | + | ==Applications 应用== |
| − | 应用<br>
| |
| | | | |
| | Applications for combinatorial optimization include, but are not limited to: | | Applications for combinatorial optimization include, but are not limited to: |
| 第47行: |
第46行: |
| | | | |
| | * [[Logistics]]<ref>{{cite journal |doi=10.1007/s10288-007-0047-3|title=Combinatorial optimization and Green Logistics|journal=4Or|volume=5|issue=2|pages=99–116|year=2007|last1=Sbihi|first1=Abdelkader|last2=Eglese|first2=Richard W.|url=https://hal.archives-ouvertes.fr/hal-00644076/file/COGL_4or.pdf}}</ref> | | * [[Logistics]]<ref>{{cite journal |doi=10.1007/s10288-007-0047-3|title=Combinatorial optimization and Green Logistics|journal=4Or|volume=5|issue=2|pages=99–116|year=2007|last1=Sbihi|first1=Abdelkader|last2=Eglese|first2=Richard W.|url=https://hal.archives-ouvertes.fr/hal-00644076/file/COGL_4or.pdf}}</ref> |
| − | 物流 | + | 物流<ref>{{cite journal |doi=10.1007/s10288-007-0047-3|title=Combinatorial optimization and Green Logistics|journal=4Or|volume=5|issue=2|pages=99–116|year=2007|last1=Sbihi|first1=Abdelkader|last2=Eglese|first2=Richard W.|url=https://hal.archives-ouvertes.fr/hal-00644076/file/COGL_4or.pdf}}</ref> |
| | * [[Supply chain optimization]]<ref>{{cite journal |doi=10.1016/j.omega.2015.01.006|title=Sustainable supply chain network design: An optimization-oriented review|journal=Omega|volume=54|pages=11–32|year=2015|last1=Eskandarpour|first1=Majid|last2=Dejax|first2=Pierre|last3=Miemczyk|first3=Joe|last4=Péton|first4=Olivier|url=https://hal.archives-ouvertes.fr/hal-01154605/file/eskandarpour-et-al%20review%20R2.pdf}}</ref> | | * [[Supply chain optimization]]<ref>{{cite journal |doi=10.1016/j.omega.2015.01.006|title=Sustainable supply chain network design: An optimization-oriented review|journal=Omega|volume=54|pages=11–32|year=2015|last1=Eskandarpour|first1=Majid|last2=Dejax|first2=Pierre|last3=Miemczyk|first3=Joe|last4=Péton|first4=Olivier|url=https://hal.archives-ouvertes.fr/hal-01154605/file/eskandarpour-et-al%20review%20R2.pdf}}</ref> |
| − | 供应链优化 | + | 供应链优化<ref>{{cite journal |doi=10.1016/j.omega.2015.01.006|title=Sustainable supply chain network design: An optimization-oriented review|journal=Omega|volume=54|pages=11–32|year=2015|last1=Eskandarpour|first1=Majid|last2=Dejax|first2=Pierre|last3=Miemczyk|first3=Joe|last4=Péton|first4=Olivier|url=https://hal.archives-ouvertes.fr/hal-01154605/file/eskandarpour-et-al%20review%20R2.pdf}}</ref> |
| | * Developing the best airline network of spokes and destinations | | * Developing the best airline network of spokes and destinations |
| − | 发展最好的航空公司网络的辐条和目的地
| + | 发展最好辐条和目的地的航空公司网络 |
| | * Deciding which taxis in a fleet to route to pick up fares | | * Deciding which taxis in a fleet to route to pick up fares |
| − | 决定车队中哪辆出租车的路线来收取费用
| + | 决定车队中哪辆出租车来载客 |
| | * Determining the optimal way to deliver packages | | * Determining the optimal way to deliver packages |
| | 确定运送包裹的最佳方式 | | 确定运送包裹的最佳方式 |
| | * Working out the best allocation of jobs to people | | * Working out the best allocation of jobs to people |
| − | 工作分配
| + | 制定最佳工作分配 |
| | | | |
| − | ==Methods== | + | ==Methods 方法== |
| − | 方法<br>
| |
| | | | |
| | There is a large amount of literature on [[polynomial-time algorithm]]s for certain special classes of discrete optimization, a considerable amount of it unified by the theory of [[linear programming]]. Some examples of combinatorial optimization problems that fall into this framework are [[shortest path]]s and [[shortest-path tree]]s, [[flow network|flows and circulations]], [[spanning tree]]s, [[Matching (graph theory)|matching]], and [[matroid]] problems. | | There is a large amount of literature on [[polynomial-time algorithm]]s for certain special classes of discrete optimization, a considerable amount of it unified by the theory of [[linear programming]]. Some examples of combinatorial optimization problems that fall into this framework are [[shortest path]]s and [[shortest-path tree]]s, [[flow network|flows and circulations]], [[spanning tree]]s, [[Matching (graph theory)|matching]], and [[matroid]] problems. |
| 第66行: |
第64行: |
| | There is a large amount of literature on polynomial-time algorithms for certain special classes of discrete optimization, a considerable amount of it unified by the theory of linear programming. Some examples of combinatorial optimization problems that fall into this framework are shortest paths and shortest-path trees, flows and circulations, spanning trees, matching, and matroid problems. | | There is a large amount of literature on polynomial-time algorithms for certain special classes of discrete optimization, a considerable amount of it unified by the theory of linear programming. Some examples of combinatorial optimization problems that fall into this framework are shortest paths and shortest-path trees, flows and circulations, spanning trees, matching, and matroid problems. |
| | | | |
| − | 对于某些特殊的离散优化问题,有大量的文献是关于'''<font color="#FF8000">多项式时间 Polynomial Algorithm </font>'''算法的,其中相当一部分是由'''<font color="#FF8000">线性规划 Linear Programming </font>'''理论统一起来的。属于这个框架的组合优化问题的一些例子包括'''<font color="#FF8000">最短路径 Shortest paths </font>'''和'''<font color="#FF8000">最短路径树 Shortest-path Tree </font>'''、'''<font color="#FF8000">流和循环 Flows And Circulations </font>'''、生成树、'''<font color="#FF8000">匹配和拟阵 Matching And Matroid Problems </font>'''问题。 | + | 对于某些特殊的离散优化问题,有大量的文献是关于'''<font color="#FF8000">多项式时间算法 Polynomial-Time Algorithm </font>'''的,其中相当一部分是通过'''<font color="#FF8000">线性规划 Linear Programming </font>'''理论统一起来的。属于这个框架的组合优化问题的一些例子包括'''<font color="#FF8000">最短路径 Shortest paths </font>'''和'''<font color="#FF8000">最短路径树 Shortest-path Tree </font>'''、'''<font color="#FF8000">流和循环 Flows And Circulations </font>'''、生成树、'''<font color="#FF8000">匹配和拟阵 Matching And Matroid Problems </font>'''问题。 |
| | | | |
| | | | |
| 第77行: |
第75行: |
| | | | |
| | * polynomial-time exactly solvable special cases of the problem at hand (e.g. see [[fixed-parameter tractable]]) | | * polynomial-time exactly solvable special cases of the problem at hand (e.g. see [[fixed-parameter tractable]]) |
| − | 多项式时间精确可解手头问题的特殊情况(例如,见(固定参数可处理))
| + | 多项式时间可精确解决的特殊问题(例如,见 固定易处理的参数) |
| | * algorithms that perform well on "random" instances (e.g. for [[Traveling salesman problem#TSP path length for random pointset in a square|TSP]]) | | * algorithms that perform well on "random" instances (e.g. for [[Traveling salesman problem#TSP path length for random pointset in a square|TSP]]) |
| − | 在“随机”实例上表现良好的算法(例如,旅行商问题#平方中随机点集的TSP路径长度TSP)
| + | 在“随机”实例上表现良好的算法(例如, TSP) |
| | * [[approximation algorithm]]s that run in polynomial time and find a solution that is "close" to optimal | | * [[approximation algorithm]]s that run in polynomial time and find a solution that is "close" to optimal |
| − | '''<font color="#FF8000">近似算法 Approximation Algorithm </font>'''在多项式时间内运行并找到一个“接近”最优解的 | + | '''<font color="#FF8000">近似算法 Approximation Algorithm </font>'''在多项式时间内运行并找到一个“接近”最优值的解 |
| | * solving real-world instances that arise in practice and do not necessarily exhibit the worst-case behavior inherent in NP-complete problems (e.g. TSP instances with tens of thousands of nodes<ref>{{harvnb|Cook|2016}}.</ref>). | | * solving real-world instances that arise in practice and do not necessarily exhibit the worst-case behavior inherent in NP-complete problems (e.g. TSP instances with tens of thousands of nodes<ref>{{harvnb|Cook|2016}}.</ref>). |
| − | 解决现实世界中出现的实例,这些实例不一定表现出NP完全问题固有的最坏情况(例如,具有成千上万个节点的TSP实例) | + | 解决现实世界中出现的实例,这些实例不一定表现出NP完全问题固有的最坏情况(例如,具有成千上万个节点的TSP实例<ref>{{harvnb|Cook|2016}}.</ref>) |
| | | | |
| | | | |
| 第90行: |
第88行: |
| | Combinatorial optimization problems can be viewed as searching for the best element of some set of discrete items; therefore, in principle, any sort of search algorithm or metaheuristic can be used to solve them. Perhaps the most universally applicable approaches are branch-and-bound (an exact algorithm which can be stopped at any point in time to serve as heuristic), branch-and-cut (uses linear optimisation to generate bounds), dynamic programming (a recursive solution construction with limited search window) and tabu search (a greedy-type swapping algorithm). However, generic search algorithms are not guaranteed to find an optimal solution first, nor are they guaranteed to run quickly (in polynomial time). Since some discrete optimization problems are NP-complete, such as the traveling salesman problem, this is expected unless P=NP. | | Combinatorial optimization problems can be viewed as searching for the best element of some set of discrete items; therefore, in principle, any sort of search algorithm or metaheuristic can be used to solve them. Perhaps the most universally applicable approaches are branch-and-bound (an exact algorithm which can be stopped at any point in time to serve as heuristic), branch-and-cut (uses linear optimisation to generate bounds), dynamic programming (a recursive solution construction with limited search window) and tabu search (a greedy-type swapping algorithm). However, generic search algorithms are not guaranteed to find an optimal solution first, nor are they guaranteed to run quickly (in polynomial time). Since some discrete optimization problems are NP-complete, such as the traveling salesman problem, this is expected unless P=NP. |
| | | | |
| − | 组合优化问题可以看作是在一组离散项目中寻找最佳元素,因此,原则上,任何一种搜索算法或元启发式算法都可以用来解决它们。也许最普遍适用的方法是'''<font color="#FF8000">分支定界法 Branch-and-bound </font>'''(一种可以在任何时间点停止作为启发式算法的精确算法)、'''<font color="#FF8000">分支切面法 Branch-and-cut </font>'''(使用线性最优化生成边界)、'''<font color="#FF8000">动态规划法 Dynamic Programming </font>'''(一种有限搜索窗口的递归解构法)和'''<font color="#FF8000">禁忌搜索法 Tabu Search </font>'''(一种贪婪型交换算法)。然而,'''<font color="#FF8000">遗传搜索算法 Generic Search Algorithms </font>'''不能保证首先找到最优解,也不能保证快速运行(在多项式时间内)。由于一些离散优化问题是NP完全的,例如旅行商问题,除非P=NP,否则这是可以预期的。
| + | 组合优化问题可以看作是在一些离散项目中搜索最佳元素,因此,原则上,任何一种搜索算法或元启发式算法都可以用来解决它们。也许最普遍适用的方法是'''<font color="#FF8000">分支定界法 Branch-and-bound </font>'''(一种可以在任何时间点停止来用作启发式的精确算法)、'''<font color="#FF8000">分支切割法 Branch-and-cut </font>'''(使用线性最优化生成边界)、'''<font color="#FF8000">动态规划法 Dynamic Programming </font>'''(一种有限搜索窗口的递归解构法)和'''<font color="#FF8000">禁忌搜索法 Tabu Search </font>'''(一种贪婪交换算法)。然而,'''<font color="#FF8000">遗传搜索算法 Generic Search Algorithms </font>'''不能保证首先找到最优解,也不能保证快速运行(在多项式时间内)。由于一些离散优化问题是NP完全的,例如旅行商问题,除非P=NP,否则这是可以预期的。 |
| | + | |
| | + | == Formal definition 形式化定义 == |
| | | | |
| − | == Formal definition ==
| |
| − | 形式化定义<br>
| |
| | | | |
| | Formally, a [[combinatorial optimization]] problem <math>A</math> is a quadruple{{Citation needed|date=January 2018}} <math>(I, f, m, g)</math>, where | | Formally, a [[combinatorial optimization]] problem <math>A</math> is a quadruple{{Citation needed|date=January 2018}} <math>(I, f, m, g)</math>, where |
| 第99行: |
第97行: |
| | Formally, a combinatorial optimization problem <math>A</math> is a quadruple <math>(I, f, m, g)</math>, where | | Formally, a combinatorial optimization problem <math>A</math> is a quadruple <math>(I, f, m, g)</math>, where |
| | | | |
| − | 从形式上来说,一个组合优化问题<math>A</math>是一个关于四变量的<math>(I,f,m,g)</math>问题 : | + | 从形式上来说,一个组合优化问题<math>A</math>是一个关于四变量<math>(I,f,m,g)</math>的问题 : |
| | | | |
| | | | |
| 第108行: |
第106行: |
| | 给定<math>I</math>中的一个实例,<math>f(x)</math>是可行解的有限集合; | | 给定<math>I</math>中的一个实例,<math>f(x)</math>是可行解的有限集合; |
| | * given an instance <math>x</math> and a feasible solution <math>y</math> of <math>x</math>, <math>m(x, y)</math> denotes the [[Measure (mathematics)|measure]] of <math>y</math>, which is usually a [[Positive (mathematics)|positive]] [[Real number|real]]. | | * given an instance <math>x</math> and a feasible solution <math>y</math> of <math>x</math>, <math>m(x, y)</math> denotes the [[Measure (mathematics)|measure]] of <math>y</math>, which is usually a [[Positive (mathematics)|positive]] [[Real number|real]]. |
| − | 给定一个实例<math>x</math>和一个可行解<math>y</math>,<math>m(x,y)</math>表示<math>y</math>的映射函数。 | + | 给定一个实例<math>x</math>和一个可行解<math>y</math>,<math>m(x,y)</math>表示<math>y</math>的度量,其通常是一个正实数。 |
| | --该句存疑 | | --该句存疑 |
| | * <math>g</math> is the goal function, and is either <math>\min</math> or <math>\max</math>. | | * <math>g</math> is the goal function, and is either <math>\min</math> or <math>\max</math>. |
| 第114行: |
第112行: |
| | | | |
| | | | |
| − | The goal is then to find for some instance <math>x</math> an ''optimal solution'', that is, a feasible solution <math>y</math> with | + | The goal is then to find for some instance <math>x</math> an ''optimal solution'', that is, a feasible solution <math>y</math> |
| | | | |
| − | The goal is then to find for some instance <math>x</math> an optimal solution, that is, a feasible solution <math>y</math> with | + | The goal is then to find for some instance <math>x</math> an optimal solution, that is, a feasible solution <math>y</math> |
| | | | |
| − | 然后,我们的目标是找到一个最优解<math>x</math>,也就是一个可行的解<math>y</math> | + | 然后,我们的目标是找到一个最优解<math>x</math>,也就是一个可行的解<math>y</math>。 |
| | | | |
| | + | !!! |
| | | | |
| | | | |
| 第126行: |
第125行: |
| | <math> | | <math> |
| | | | |
| − | 《数学》
| |
| | | | |
| | m(x, y) = g \{ m(x, y') \mid y' \in f(x) \} . | | m(x, y) = g \{ m(x, y') \mid y' \in f(x) \} . |
| 第138行: |
第136行: |
| | </math> | | </math> |
| | | | |
| − | 数学
| |
| | | | |
| | | | |
| 第146行: |
第143行: |
| | For each combinatorial optimization problem, there is a corresponding decision problem that asks whether there is a feasible solution for some particular measure <math>m_0</math>. For example, if there is a graph <math>G</math> which contains vertices <math>u</math> and <math>v</math>, an optimization problem might be "find a path from <math>u</math> to <math>v</math> that uses the fewest edges". This problem might have an answer of, say, 4. A corresponding decision problem would be "is there a path from <math>u</math> to <math>v</math> that uses 10 or fewer edges?" This problem can be answered with a simple 'yes' or 'no'. | | For each combinatorial optimization problem, there is a corresponding decision problem that asks whether there is a feasible solution for some particular measure <math>m_0</math>. For example, if there is a graph <math>G</math> which contains vertices <math>u</math> and <math>v</math>, an optimization problem might be "find a path from <math>u</math> to <math>v</math> that uses the fewest edges". This problem might have an answer of, say, 4. A corresponding decision problem would be "is there a path from <math>u</math> to <math>v</math> that uses 10 or fewer edges?" This problem can be answered with a simple 'yes' or 'no'. |
| | | | |
| − | 对于每一个组合优化问题,都有一个相应的决策问题,它询问是否存在某一特定测度的可行解。例如,如果一个图形 <math>G</math> 包含顶点 <math>u</math > 和 <math>v</math> ,那么一个最佳化问题是“找到一条从<math>u</math>到<math>v</math>且使用最少边的路径”。这个问题的答案可能是,比方说,4。一个相应的决策问题是“是否存在一条从 <math>u</math> 到 <math>v</math> 使用10个或更少边的路径? ”这个问题可以用简单的“是”或“否”来回答。
| + | 对于每一个组合优化问题,都有一个相应的决策问题,它查找是否存在某一特定测度的可行解。例如,如果一个图形 <math>G</math> 包含顶点 <math>u</math > 和 <math>v</math> ,那么最优化问题可能是“找到一条从<math>u</math>到<math>v</math>使用最少边的路径”。这个问题的答案可能是,比方说,4。一个相应的决策问题是“是否存在一条从 <math>u</math> 到 <math>v</math> 使用10条或更少边的路径? ”这个问题可以用简单的“是”或“否”来回答。 |
| | | | |
| | | | |
| 第154行: |
第151行: |
| | In the field of approximation algorithms, algorithms are designed to find near-optimal solutions to hard problems. The usual decision version is then an inadequate definition of the problem since it only specifies acceptable solutions. Even though we could introduce suitable decision problems, the problem is more naturally characterized as an optimization problem. | | In the field of approximation algorithms, algorithms are designed to find near-optimal solutions to hard problems. The usual decision version is then an inadequate definition of the problem since it only specifies acceptable solutions. Even though we could introduce suitable decision problems, the problem is more naturally characterized as an optimization problem. |
| | | | |
| − | 在近似算法领域,算法被设计用来寻找困难问题的近似最优解。因此,通常的决策版本对问题的定义不够充分,因为它只具体说明了可接受的解决办法。尽管我们可以引入合适的决策问题,但这个问题更自然地被描述为一个最优化问题。
| + | 在'''<font color="#ff8000"> 近似算法领域 approximation algorithms</font>''',算法被设计来寻找困难问题的近似最优解。因此,通常的决策版本对问题的定义不够充分,因为它只指定了可接受的解决办法。尽管我们可以引入合适的决策问题,使这个问题更自然地被描述为一个最优化问题。<ref name="Ausiello03">{{citation|last1=Ausiello|first1=Giorgio|title=Complexity and Approximation|year=2003|edition=Corrected|publisher=Springer|isbn=978-3-540-65431-5|display-authors=etal}}</ref> |
| | | | |
| | == NP optimization problem == | | == NP optimization problem == |
| 第163行: |
第160行: |
| | An NP-optimization problem (NPO) is a combinatorial optimization problem with the following additional conditions. Note that the below referred polynomials are functions of the size of the respective functions' inputs, not the size of some implicit set of input instances. | | An NP-optimization problem (NPO) is a combinatorial optimization problem with the following additional conditions. Note that the below referred polynomials are functions of the size of the respective functions' inputs, not the size of some implicit set of input instances. |
| | | | |
| − | NP优化问题(NPO)是一个具有以下附加条件的组合优化问题。注意,下面提到的多项式是相应函数输入大小的函数,而不是某些隐式输入实例集的大小。
| + | NP优化问题(NPO)是一个具有以下附加条件的组合优化问题。<ref name="Hromkovic02">{{citation|last1=Hromkovic|first1=Juraj|title=Algorithmics for Hard Problems|year=2002|series=Texts in Theoretical Computer Science|edition=2nd|publisher=Springer|isbn=978-3-540-44134-2}}</ref>注意,下面提到的多项式是相应函数输入大小的函数,而不是某些隐式输入实例集大小的函数。 |
| | | | |
| | | | |
| | | | |
| | * the size of every feasible solution <math>y\in f(x)</math> is polynomially [[Bounded set|bounded]] in the size of the given instance <math>x</math>, | | * the size of every feasible solution <math>y\in f(x)</math> is polynomially [[Bounded set|bounded]] in the size of the given instance <math>x</math>, |
| − | 在<math>f(x)</math>中,对给定实例的大小<math>x</math>中,每个可行解的大小都是多项式的[[有界集|有界的]], | + | 在<math>f(x)</math>中,对给定实例的大小<math>x</math>中,每个可行解的大小都是多项式有界的, |
| | * the languages <math>\{\,x\,\mid\, x \in I \,\}</math> and <math>\{\,(x,y)\, \mid\, y \in f(x) \,\}</math> can be [[Decidable language|recognized]] in [[polynomial time]], and | | * the languages <math>\{\,x\,\mid\, x \in I \,\}</math> and <math>\{\,(x,y)\, \mid\, y \in f(x) \,\}</math> can be [[Decidable language|recognized]] in [[polynomial time]], and |
| | 语言<math>\{\,x\,\mid\,x\ in I\,\}</math>和<math>f(x)\,\}</math>中的<math>\{\,(x,y)\,\mid\,y\</math>在[[多项式时间]]内可以[[可判定语言|识别]],并且, | | 语言<math>\{\,x\,\mid\,x\ in I\,\}</math>和<math>f(x)\,\}</math>中的<math>\{\,(x,y)\,\mid\,y\</math>在[[多项式时间]]内可以[[可判定语言|识别]],并且, |
| | * <math>m</math> is [[Polynomial time|polynomial-time computable]]. | | * <math>m</math> is [[Polynomial time|polynomial-time computable]]. |
| − | <math>m</math>是[[多项式时间|多项式时间可计算]]。 | + | <math>m</math>是可计算的多项式时间。 |
| − | | + | !!! |
| | | | |
| | This implies that the corresponding decision problem is in [[NP (complexity)|NP]]. In computer science, interesting optimization problems usually have the above properties and are therefore NPO problems. A problem is additionally called a P-optimization (PO) problem, if there exists an algorithm which finds optimal solutions in polynomial time. Often, when dealing with the class NPO, one is interested in optimization problems for which the decision versions are [[NP-completeness|NP-complete]]. Note that hardness relations are always with respect to some reduction. Due to the connection between approximation algorithms and computational optimization problems, reductions which preserve approximation in some respect are for this subject preferred than the usual [[Turing reduction|Turing]] and [[Karp reduction|Karp reductions]]. An example of such a reduction would be the [[L-reduction]]. For this reason, optimization problems with NP-complete decision versions are not necessarily called NPO-complete.<ref name="Kann92">{{citation|last1=Kann|first1=Viggo|title=On the Approximability of NP-complete Optimization Problems|year=1992|publisher=Royal Institute of Technology, Sweden|isbn=91-7170-082-X}}</ref> | | This implies that the corresponding decision problem is in [[NP (complexity)|NP]]. In computer science, interesting optimization problems usually have the above properties and are therefore NPO problems. A problem is additionally called a P-optimization (PO) problem, if there exists an algorithm which finds optimal solutions in polynomial time. Often, when dealing with the class NPO, one is interested in optimization problems for which the decision versions are [[NP-completeness|NP-complete]]. Note that hardness relations are always with respect to some reduction. Due to the connection between approximation algorithms and computational optimization problems, reductions which preserve approximation in some respect are for this subject preferred than the usual [[Turing reduction|Turing]] and [[Karp reduction|Karp reductions]]. An example of such a reduction would be the [[L-reduction]]. For this reason, optimization problems with NP-complete decision versions are not necessarily called NPO-complete.<ref name="Kann92">{{citation|last1=Kann|first1=Viggo|title=On the Approximability of NP-complete Optimization Problems|year=1992|publisher=Royal Institute of Technology, Sweden|isbn=91-7170-082-X}}</ref> |
| 第179行: |
第176行: |
| | This implies that the corresponding decision problem is in NP. In computer science, interesting optimization problems usually have the above properties and are therefore NPO problems. A problem is additionally called a P-optimization (PO) problem, if there exists an algorithm which finds optimal solutions in polynomial time. Often, when dealing with the class NPO, one is interested in optimization problems for which the decision versions are NP-complete. Note that hardness relations are always with respect to some reduction. Due to the connection between approximation algorithms and computational optimization problems, reductions which preserve approximation in some respect are for this subject preferred than the usual Turing and Karp reductions. An example of such a reduction would be the L-reduction. For this reason, optimization problems with NP-complete decision versions are not necessarily called NPO-complete. | | This implies that the corresponding decision problem is in NP. In computer science, interesting optimization problems usually have the above properties and are therefore NPO problems. A problem is additionally called a P-optimization (PO) problem, if there exists an algorithm which finds optimal solutions in polynomial time. Often, when dealing with the class NPO, one is interested in optimization problems for which the decision versions are NP-complete. Note that hardness relations are always with respect to some reduction. Due to the connection between approximation algorithms and computational optimization problems, reductions which preserve approximation in some respect are for this subject preferred than the usual Turing and Karp reductions. An example of such a reduction would be the L-reduction. For this reason, optimization problems with NP-complete decision versions are not necessarily called NPO-complete. |
| | | | |
| − | 这意味着相应的决策问题在NP中。在计算机科学中,有趣的优化问题通常具有上述性质,因此是非营利组织问题。如果存在一种在多项式时间内找到最优解的算法,则该问题又称为'''<font color="#FF8000">P-优化(PO)问题 P-optimization problem </font>'''。通常,在处理NPO类问题时,人们对决策版本为NP完全的优化问题感兴趣。请注意,硬度关系总是与某些还原有关。由于近似算法和计算优化问题之间的联系,在某些方面保持近似性的规约比通常的'''<font color="#FF8000">图灵和Karp规约 Turing and Karp Reductions </font>'''更为可取。这种减少的一个例子就是'''<font color="#FF8000">L-规约 L-reduction </font>'''。因此,具有NP完全决策版本的优化问题不一定称为NPO完全问题。
| + | 这意味着相应的决策问题在NP中。在计算机科学中,有趣的优化问题通常具有上述性质,因此是NPO问题。如果存在一种在多项式时间内找到最优解的算法,则该问题又称为'''<font color="#FF8000">P-优化(PO)问题 P-optimization problem </font>'''。通常,在处理NPO类问题时,人们对决策版本为NP完全的优化问题感兴趣。请注意,硬度关系总是与某些降低有关。由于近似算法和计算优化问题之间的联系,在某些方面保持近似性的缩减比通常的'''<font color="#FF8000">图灵和卡普约化 Turing and Karp Reductions </font>'''更为可取。这种减少的一个例子就是'''<font color="#FF8000">L-约化 L-reduction </font>'''。因此,具有NP完全决策版本的优化问题不一定称为NPO完全问题。<ref name="Kann92">{{citation|last1=Kann|first1=Viggo|title=On the Approximability of NP-complete Optimization Problems|year=1992|publisher=Royal Institute of Technology, Sweden|isbn=91-7170-082-X}}</ref> |
| | + | !!! |
| | + | |
| | | | |
| | NPO is divided into the following subclasses according to their approximability:<ref name="Hromkovic02" /> | | NPO is divided into the following subclasses according to their approximability:<ref name="Hromkovic02" /> |
| 第185行: |
第184行: |
| | NPO is divided into the following subclasses according to their approximability: | | NPO is divided into the following subclasses according to their approximability: |
| | | | |
| − | 非营利组织根据其近似性可分为以下子类:
| + | NPO问题根据其近似性可分为以下子类: <ref name="Hromkovic02" /> |
| | | | |
| | | | |
| | | | |
| | * ''NPO(I)'': Equals [[FPTAS]]. Contains the [[Knapsack problem]]. | | * ''NPO(I)'': Equals [[FPTAS]]. Contains the [[Knapsack problem]]. |
| − | ''NPO(I)'':等价于[[FPTAS]]。包含[[背包问题]]。 | + | ''NPO(I)'':等价于[[FPTAS]]。包含背包问题。 |
| | * ''NPO(II)'': Equals [[Polynomial-time approximation scheme|PTAS]]. Contains the [[Makespan]] scheduling problem. | | * ''NPO(II)'': Equals [[Polynomial-time approximation scheme|PTAS]]. Contains the [[Makespan]] scheduling problem. |
| − | ''NPO(II)'':等价于[[多项式时间近似方案| PTAS]]。包含[[Makespan]]调度问题。 | + | ''NPO(II)'':等价于 多项式时间近似方案| PTAS 。包含分批调度问题。 |
| | * ''NPO(III)'': :The class of NPO problems that have polynomial-time algorithms which computes solutions with a cost at most ''c'' times the optimal cost (for minimization problems) or a cost at least <math>1/c</math> of the optimal cost (for maximization problems). In [[Juraj Hromkovič|Hromkovič]]'s book, excluded from this class are all NPO(II)-problems save if P=NP. Without the exclusion, equals APX. Contains [[MAX-SAT]] and metric [[Travelling salesman problem|TSP]]. | | * ''NPO(III)'': :The class of NPO problems that have polynomial-time algorithms which computes solutions with a cost at most ''c'' times the optimal cost (for minimization problems) or a cost at least <math>1/c</math> of the optimal cost (for maximization problems). In [[Juraj Hromkovič|Hromkovič]]'s book, excluded from this class are all NPO(II)-problems save if P=NP. Without the exclusion, equals APX. Contains [[MAX-SAT]] and metric [[Travelling salesman problem|TSP]]. |
| − | ''NPO(III)'':具有多项式时间算法的NPO问题类,其计算的解的代价最多为''c''乘以最优成本(对于最小化问题)或成本至少为最优成本的<math>1/c</math>(对于最大化问题)。在[[Juraj Hromkovi|Hromkovič]]的书中,除了P=NP之外,所有的NPO(II)问题都被排除在这个类之外。不排除,等于APX。包含[[MAX-SAT]]和度量[[旅行商问题| TSP]]。 | + | ''NPO(III)'':具有多项式时间算法的NPO问题类,其计算的解的成本最多为最优成本的“c”倍(对于最小化问题),或成本至少为最优成本的<math>1/c</math>(对于最大化问题)。在尤拉·赫罗姆科维奇 Juraj Hromkovic的书中,除了P=NP之外,所有的NPO(II)问题都被排除在这个类之外。如果没有排除,则等于APX。包含MAX-SAT和标准的旅行商问题| TSP。 |
| | * ''NPO(IV)'': :The class of NPO problems with polynomial-time algorithms approximating the optimal solution by a ratio that is polynomial in a logarithm of the size of the input. In Hromkovic's book, all NPO(III)-problems are excluded from this class unless P=NP. Contains the [[set cover]] problem. | | * ''NPO(IV)'': :The class of NPO problems with polynomial-time algorithms approximating the optimal solution by a ratio that is polynomial in a logarithm of the size of the input. In Hromkovic's book, all NPO(III)-problems are excluded from this class unless P=NP. Contains the [[set cover]] problem. |
| − | ''NPO(IV)'':用多项式时间算法近似最优解的一类NPO问题,其比率为输入大小的对数的多项式。在赫罗姆科维奇的书中,除非P=NP,否则所有的NPO(III)-问题都被排除在这个类之外。包含[[set cover]]问题。 | + | ''NPO(IV)'':多项式时间算法的一类NPO问题,以比率为输入大小的对数多项式来逼近最优解。在Hromkovic的书中,除非P=NP,否则所有的NPO(III)-问题都不属于此类。包含集合覆盖问题。 |
| | * ''NPO(V)'': :The class of NPO problems with polynomial-time algorithms approximating the optimal solution by a ratio bounded by some function on n. In Hromkovic's book, all NPO(IV)-problems are excluded from this class unless P=NP. Contains the [[Travelling salesman problem|TSP]] and [[Clique problem|Max Clique problems]]. | | * ''NPO(V)'': :The class of NPO problems with polynomial-time algorithms approximating the optimal solution by a ratio bounded by some function on n. In Hromkovic's book, all NPO(IV)-problems are excluded from this class unless P=NP. Contains the [[Travelling salesman problem|TSP]] and [[Clique problem|Max Clique problems]]. |
| − | ''NPO(V)'':用多项式时间算法逼近最优解的一类NPO问题。在Hromkovic的书中,除非P=NP,否则所有NPO(IV)-问题都被排除在这类问题之外。包含[[旅行推销员问题| TSP]]和[[集团问题|最大集团问题]]。 | + | ''NPO(V)'':多项式时间算法的一类NPO问题,以某个函数限定的比率来逼近最优解。在Hromkovic的书中,除非P=NP,否则所有NPO(IV)-问题都不属于这类问题。包含旅行商问题| TSP和集团问题|最大集团问题。 |
| | + | !!! |
| | + | |
| | | | |
| | | | |
| | An NPO problem is called ''polynomially bounded'' (PB) if, for every instance <math>x</math> and for every solution <math>y\in f(x)</math>, the measure <math> | | An NPO problem is called ''polynomially bounded'' (PB) if, for every instance <math>x</math> and for every solution <math>y\in f(x)</math>, the measure <math> |
| − |
| |
| − | An NPO problem is called polynomially bounded (PB) if, for every instance <math>x</math> and for every solution <math>y\in f(x)</math>, the measure <math>
| |
| − | 如果对于每个实例<math>x</math>和对于<mat>f(x)</math>中的每个解<math>y\in f(x)<math>测量,则NPO问题称为多项式有界(PB)
| |
| − |
| |
| | m(x, y) | | m(x, y) |
| | | | |
| 第214行: |
第211行: |
| | </math>is bounded by a polynomial function of the size of <math>x</math>. The class NPOPB is the class of NPO problems that are polynomially-bounded. | | </math>is bounded by a polynomial function of the size of <math>x</math>. The class NPOPB is the class of NPO problems that are polynomially-bounded. |
| | | | |
| − | </math>is bounded by a polynomial function of the size of <math>x</math>. The class NPOPB is the class of NPO problems that are polynomially-bounded.
| |
| | | | |
| − | 被一个 <math>x</math> 大小的多项式函数所限制。NPOPB 类是一类多项式有界的 NPO 问题。
| + | An NPO problem is called polynomially bounded (PB) if, for every instance <math>x</math> and for every solution <math>y\in f(x)</math>, the measure is bounded by a polynomial function of the size of <math>x</math>. The class NPOPB is the class of NPO problems that are polynomially-bounded. |
| | + | |
| | + | |
| | + | 如果对于每个实例<math>x</math>和<math>f(x)</math>中的每个解<math>y\in f(x)<math>,<math>m(x,y) , M(x,y)</math>被一个大小为<math>x</math>的多项式函数所限制,则NPO问题称为多项式有界(PB)。NPOPB 类是一类多项式有界的 NPO 问题。 |
| | + | |
| | + | !!! |
| | | | |
| | | | |
| | | | |
| − | <br />
| |
| | | | |
| − | <br />
| |
| | | | |
| − | < br/>
| |
| | | | |
| − | ==Specific problems== | + | ==Specific problems 特定问题== |
| − | 特定问题<br>
| |
| | | | |
| | [[Image:TSP Deutschland 3.png|thumb|200px|An optimal traveling salesperson tour through [[Germany]]’s 15 largest cities. It is the shortest among 43,589,145,600<ref>Take one city, and take all possible orders of the other 14 cities. Then divide by two because it does not matter in which direction in time they come after each other: 14!/2 = 43,589,145,600.</ref> possible tours visiting each city exactly once.]] | | [[Image:TSP Deutschland 3.png|thumb|200px|An optimal traveling salesperson tour through [[Germany]]’s 15 largest cities. It is the shortest among 43,589,145,600<ref>Take one city, and take all possible orders of the other 14 cities. Then divide by two because it does not matter in which direction in time they come after each other: 14!/2 = 43,589,145,600.</ref> possible tours visiting each city exactly once.]] |
| 第233行: |
第230行: |
| | An optimal traveling salesperson tour through [[Germany’s 15 largest cities. It is the shortest among 43,589,145,600 possible tours visiting each city exactly once.]] | | An optimal traveling salesperson tour through [[Germany’s 15 largest cities. It is the shortest among 43,589,145,600 possible tours visiting each city exactly once.]] |
| | | | |
| − | 最佳的旅行销售人员浏览[[德国15个最大的城市。这是43589145600次访问每个城市的可能旅行中最短的一次。]
| + | 最优的旅行商途经[[德国15个最大的城市。这是每个城市只能访问一次的43589145600<ref>Take one city, and take all possible orders of the other 14 cities. Then divide by two because it does not matter in which direction in time they come after each other: 14!/2 = 43,589,145,600.</ref>次旅行中最短的一次。] |
| | | | |
| | * [[Assignment problem]] | | * [[Assignment problem]] |
| 第244行: |
第241行: |
| | '''<font color="#FF8000">切割问题 Cutting Stock Problem </font>''' | | '''<font color="#FF8000">切割问题 Cutting Stock Problem </font>''' |
| | *[[Dominating set]] problem | | *[[Dominating set]] problem |
| − | '''<font color="#FF8000">控制集 Dominating Set </font>'''问题 | + | '''<font color="#FF8000">控制集问题 Dominating Set </font>''' |
| | * [[Integer programming]] | | * [[Integer programming]] |
| | '''<font color="#FF8000">整数规划 Integer Programming </font>''' | | '''<font color="#FF8000">整数规划 Integer Programming </font>''' |
| 第260行: |
第257行: |
| | '''<font color="#FF8000">旅行商问题 Traveling Salesman Problem </font>''' | | '''<font color="#FF8000">旅行商问题 Traveling Salesman Problem </font>''' |
| | * [[Vehicle rescheduling problem]] | | * [[Vehicle rescheduling problem]] |
| − | '''<font color="#FF8000">车辆重新安排问题 Vehicle Rescheduling Problem </font>''' | + | '''<font color="#FF8000">车辆重新调度问题 Vehicle Rescheduling Problem </font>''' |
| | * [[Vehicle routing problem]] | | * [[Vehicle routing problem]] |
| | '''<font color="#FF8000">车辆线路优化问题 Vehicle Routing Problem </font>''' | | '''<font color="#FF8000">车辆线路优化问题 Vehicle Routing Problem </font>''' |
| 第270行: |
第267行: |
| | *[[Constraint composite graph]] | | *[[Constraint composite graph]] |
| | | | |
| − | | + | 约束复合图 |
| | | | |
| | ==Notes== | | ==Notes== |
| 第580行: |
第577行: |
| | }} (This is a continuously updated catalog of approximability results for NP optimization problems.) | | }} (This is a continuously updated catalog of approximability results for NP optimization problems.) |
| | | | |
| − | }(这是一个不断更新的目录近似结果的 NP 优化问题。) | + | }(这是一个不断更新NP 优化问题的近似结果的目录。) |
| | | | |
| | | | |
| 第1,350行: |
第1,347行: |
| | | series = Intelligent Systems Reference Library | | | series = Intelligent Systems Reference Library |
| | | | |
| − | | series = 智能系统参考图书馆 | + | | series = 智能系统参考库 |
| | | | |
| | }} | | }} |