With the advent of linear programming, these methods were applied to problems including assignment, maximal flow, and transportation. In the modern era, combinatorial optimization is useful for the study of algorithms, with special relevance to artificial intelligence, machine learning, and operations research.
What is combinatorial optimization used for?
Combinatorial optimization is the process of searching for maxima (or minima) of an objective function F whose domain is a discrete but large configuration space (as opposed to an N-dimensional continuous space).
Why is combinatorial optimization hard?
The difficulty arises from the fact that unlike linear programming, the feasible region of the combinatorial problem is not a convex set. Thus, we must, instead, search a lattice of feasible points, or in the case of the mixed integer case, a set of disjoint half-lines or line segments to find an optimal solution.