Combinatorial optimization
Adapted from Wikipedia · Discoverer experience
Combinatorial optimization is a part of mathematical optimization where we try to find the best solution from a limited number of options. These options are often separate and clear-cut, meaning we can list them out one by one. This area of study deals with special kinds of problems, like figuring out the shortest route a salesman could take to visit many cities and return home — known as the travelling salesman problem. Because checking every possible route would take too long, scientists use clever methods to find good answers faster.
These problems are linked to many other important areas, such as operations research, which looks at making processes more efficient, and algorithm theory, which studies step-by-step procedures for solving problems. Combinatorial optimization is useful in many modern technologies, from artificial intelligence that helps computers learn, to designing software and creating efficient electronic circuits. It plays a big role in helping us solve complex puzzles in many different fields.
Applications
Combinatorial optimization helps solve many real-world problems. It can be used in logistics and supply chain optimization, like planning the best routes for airplanes or deciding where taxis should go to pick up passengers.
It is also useful for assigning jobs to people in the best way possible, designing water distribution networks, and solving problems in Earth science, such as figuring out the best flow-rates for reservoirs.
Methods
Combinatorial optimization is about finding the best solution from a limited set of options. Some problems can be solved using linear programming, which helps with tasks like finding the shortest paths or spanning trees.
For harder problems, researchers study special cases that are easier to solve, algorithms that work well on typical examples, and methods that find solutions close to the best possible. Common techniques include branch-and-bound and dynamic programming, though these might not always find the perfect solution quickly. Each optimization problem has a matching question that asks if a solution meeting certain conditions exists, such as whether a path between two points can be found using a specific number of steps.
NP optimization problem
An NP-optimization problem is a type of combinatorial optimization problem with special properties. The size of any possible solution must be limited by a polynomial related to the input size. Also, we can check if a solution is valid and calculate its value quickly.
These problems are grouped into subclasses based on how close we can get to the best solution in a reasonable time. Some problems, like the Knapsack problem, can be solved nearly perfectly, while others, like the TSP (travelling salesman problem), are harder and we can only get close to the best answer.
Specific problems
Further information: Category:Combinatorial optimization
This is a dynamic list and may never be able to satisfy particular standards for completeness. You can help by editing the page to add missing items, with references to reliable sources.
Some well-known problems in combinatorial optimization include:
- Assignment problem
- Bin packing problem
- Chinese postman problem
- Closure problem
- Constraint satisfaction problem
- Cutting stock problem
- Dominating set problem
- Integer programming
- Job shop scheduling
- Knapsack problem
- 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
This article is a child-friendly adaptation of the Wikipedia article on Combinatorial optimization, available under CC BY-SA 4.0.
Images from Wikimedia Commons. Tap any image to view credits and license.
Safekipedia