HOME

TheInfoList



OR:

Combinatorial optimization is a subfield of
mathematical optimization Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criteria, from some set of available alternatives. It is generally divided into two subfiel ...
that consists of finding an optimal object from a
finite set In mathematics, particularly set theory, a finite set is a set that has a finite number of elements. Informally, a finite set is a set which one could in principle count and finish counting. For example, is a finite set with five elements. Th ...
of objects, where the set of feasible solutions is
discrete Discrete may refer to: *Discrete particle or quantum in physics, for example in quantum theory * Discrete device, an electronic component with just one circuit element, either passive or active, other than an integrated circuit * Discrete group, ...
or can be reduced to a discrete set. Typical combinatorial optimization problems are the travelling salesman problem ("TSP"), the minimum spanning tree problem ("MST"), and the
knapsack problem The knapsack problem is the following problem in combinatorial optimization: :''Given a set of items, each with a weight and a value, determine which items to include in the collection so that the total weight is less than or equal to a given lim ...
. In many such problems, such as the ones previously mentioned, exhaustive search is not tractable, and so specialized algorithms that quickly rule out large parts of the search space or approximation algorithms must be resorted to instead. Combinatorial optimization is related to
operations research Operations research () (U.S. Air Force Specialty Code: Operations Analysis), often shortened to the initialism OR, is a branch of applied mathematics that deals with the development and application of analytical methods to improve management and ...
, algorithm theory, and
computational complexity theory In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
. It has important applications in several fields, including
artificial intelligence Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
,
machine learning Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
, auction theory,
software engineering Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
, VLSI,
applied mathematics Applied mathematics is the application of mathematics, mathematical methods by different fields such as physics, engineering, medicine, biology, finance, business, computer science, and Industrial sector, industry. Thus, applied mathematics is a ...
and
theoretical computer science Theoretical computer science is a subfield of computer science and mathematics that focuses on the Abstraction, abstract and mathematical foundations of computation. It is difficult to circumscribe the theoretical areas precisely. The Associati ...
.


Applications

Basic applications of combinatorial optimization include, but are not limited to: *
Logistics Logistics is the part of supply chain management that deals with the efficient forward and reverse flow of goods, services, and related information from the point of origin to the Consumption (economics), point of consumption according to the ...
* Supply chain optimization * Developing the best airline network of spokes and destinations * Deciding which taxis in a fleet to route to pick up fares * Determining the optimal way to deliver packages * Allocating jobs to people optimally * Designing water distribution networks * Earth science problems (e.g.
reservoir A reservoir (; ) is an enlarged lake behind a dam, usually built to water storage, store fresh water, often doubling for hydroelectric power generation. Reservoirs are created by controlling a watercourse that drains an existing body of wa ...
flow-rates)


Methods

There is a large amount of literature on polynomial-time algorithms for certain special classes of discrete optimization. A considerable amount of it is unified by the theory of
linear programming Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements and objective are represented by linear function#As a polynomia ...
. Some examples of combinatorial optimization problems that are covered by this framework are shortest paths and shortest-path trees, flows and circulations, spanning trees, matching, and
matroid In combinatorics, a matroid is a structure that abstracts and generalizes the notion of linear independence in vector spaces. There are many equivalent ways to define a matroid Axiomatic system, axiomatically, the most significant being in terms ...
problems. For NP-complete discrete optimization problems, current research literature includes the following topics: * polynomial-time exactly solvable special cases of the problem at hand (e.g. fixed-parameter tractable problems) * algorithms that perform well on "random" instances (e.g. for the traveling salesman problem) * approximation algorithms that run in polynomial time and find a solution that is close to optimal * parameterized approximation algorithms that run in FPT time and find a solution close to the optimum * solving real-world instances that arise in practice and do not necessarily exhibit the worst-case behavior of in NP-complete problems (e.g. real-world TSP instances with tens of thousands of nodes). 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 In computer science, a search algorithm is an algorithm designed to solve a search problem. Search algorithms work to retrieve information stored within particular data structure, or calculated in the Feasible region, search space of a problem do ...
or metaheuristic can be used to solve them. Widely applicable approaches include 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 (decision) problem, this is expected unless P=NP. For each combinatorial optimization problem, there is a corresponding
decision problem In computability theory and computational complexity theory, a decision problem is a computational problem that can be posed as a yes–no question on a set of input values. An example of a decision problem is deciding whether a given natura ...
that asks whether there is a feasible solution for some particular measure m_0. For example, if there is a graph G which contains vertices u and v, an optimization problem might be "find a path from u to v 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 u to v that uses 10 or fewer edges?" This problem can be answered with a simple 'yes' or 'no'. The field of approximation algorithms deals with algorithms 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 then more naturally characterized as an optimization problem.


NP optimization problem

An ''NP-optimization problem'' (NPO) is a combinatorial optimization problem with the following additional conditions. Note that the below referred
polynomial In mathematics, a polynomial is a Expression (mathematics), mathematical expression consisting of indeterminate (variable), indeterminates (also called variable (mathematics), variables) and coefficients, that involves only the operations of addit ...
s are functions of the size of the respective functions' inputs, not the size of some implicit set of input instances. * the size of every feasible solution y\in f(x) is polynomially bounded in the size of the given instance x, * the languages \ and \ can be recognized in polynomial time, and * m is polynomial-time computable. 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 L-reduction. For this reason, optimization problems with NP-complete decision versions are not necessarily called NPO-complete. NPO is divided into the following subclasses according to their approximability: * ''NPO(I)'': Equals FPTAS. Contains the
Knapsack problem The knapsack problem is the following problem in combinatorial optimization: :''Given a set of items, each with a weight and a value, determine which items to include in the collection so that the total weight is less than or equal to a given lim ...
. * ''NPO(II)'': Equals PTAS. Contains the Makespan scheduling problem. * ''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 1/c of the optimal cost (for maximization problems). In 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 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 Hromkovič's book, all NPO(III)-problems are excluded from this class unless P=NP. Contains the
set cover The set cover problem is a classical question in combinatorics, computer science, operations research, and Computational complexity theory, complexity theory. Given a Set (mathematics), set of elements (henceforth referred to as the Universe ( ...
problem. * ''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 TSP and clique problem. An NPO problem is called ''polynomially bounded'' (PB) if, for every instance x and for every solution y\in f(x), the measure m(x, y) is bounded by a polynomial function of the size of x. The class NPOPB is the class of NPO problems that are polynomially-bounded.


Specific problems

* Assignment problem * Bin packing problem *
Chinese postman problem In graph theory and combinatorial optimization, Guan's route problem, the Chinese postman problem, postman tour or route inspection problem is to find a shortest closed path or circuit that visits every edge of an (connected) undirected graph at ...
* Closure problem * Constraint satisfaction problem * Cutting stock problem * Dominating set problem * Integer programming * Job shop scheduling *
Knapsack problem The knapsack problem is the following problem in combinatorial optimization: :''Given a set of items, each with a weight and a value, determine which items to include in the collection so that the total weight is less than or equal to a given lim ...
* Metric k-center / vertex k-center problem * Minimum relevant variables in linear system * Minimum spanning tree * Nurse scheduling problem * Ring star problem * Set cover problem * Talent scheduling * Traveling salesman problem * Vehicle rescheduling problem * Vehicle routing problem * Weapon target assignment problem


See also

*


Notes


References

* * * ''(Information on the largest TSP instances solved to date.)'' * ''(This is a continuously updated catalog of approximability results for NP optimization problems.)'' * * * * * * * * * * *


External links


Journal of Combinatorial OptimizationThe Aussois Combinatorial Optimization WorkshopJava Combinatorial Optimization Platform
(open source code)
Complexity classes for optimization problems / Stefan Kugele
{{DEFAULTSORT:Combinatorial Optimization Computational complexity theory Theoretical computer science eo:Diskreta optimumigo