Algorithms play an important role in computer science and are essential for several important applications. The term “algorithm” refers to a procedure to solve a given problem. Such a problem may have different features and structures, and in the case where the problem is well understood, specific algorithms may be designed that achieve good solutions for the problem at hand. The design and the analysis of such problem-specific algorithms has been widely studied for a wide range of problems (Cormen, Leiserson, Rivest, and Stein, 2001). The goal in this field of research is to obtain algorithms that are provably optimal with respect to the runtime and/or approximation ability for the studied problem. Studying a specific problem allows us to obtain knowledge about the problem at hand, which can be used for the development and the analysis of problem-specific algorithms. When looking at the results obtained in this field, the reader may observe the following. Often problem-specific algorithms are very complicated as they try to incorporate as much problem knowledge as possible so that good guarantees about the runtime and/or approximation quality can be proven. On the other hand, there are also many simple randomized algorithms available for which good performance guarantees can be given (Motwani and Raghavan, 1995). The proof that such simple algorithms work well is usually more complicated as knowledge about the problem is only implicitly present in the algorithm and is worked out in the analysis.
- Particle Swarm Optimization
- Evolutionary Algorithm
- Combinatorial Optimization Problem
- Problem Knowledge
- Particle Swarm Optimiza
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.