PrefaceThere are numerous combinatorial optimization problems, for which computing exact optimal solutions is computationally intractable, e.g., those problems known as NP-hard. However, in practice, we are often asked to deal with large scale instances of such difficult problems. One possibility to overcome this difficulty is that, in most practical cases, we do not need exact optimal solutions and are satisfied with sufficiently good solutions. In this sense, approximate (or heuristic) algorithms, which provide reasonably good solutions in practically meaningful time, are very important and have been well studied recently.There are several useful tools used to design approximate algorithms, such as greedy method and local search. The so-called metaheuristics combine these tools into more sophisticated algorithms. Among the well-known metaheuristics are multi-start local search, simulated annealing, tabu search, genetic algorithm and so on. Many variants of these, such as GRASP, threshold accepting, iterated local search and others, have also been proposed and extensively studied.One of the attractive features of these metaheuristics is in its flexibility. They can be hybridized with other heuristic or exact algorithms to create more powerful tools. As an example of such hybrid algorithms, we propose to use dynamic programming (DP) to improve candidate solutions within the framework of genetic algorithm, which is called the genetic DP algorithm. Good prospects of the proposed algorithm are observed by the computational experiments to three representative NP-hard problems: single machine scheduling problem, optimal linear arrangement problem and traveling salesman problem.During the experience of developing the genetic DP, we realized that crossover is one of the most important operators in genetic algorithms, on which the overall performance of the algorithms critically depends. To pursue this direction, we review a variety of crossover operators proposed for sequencing problems, and analyze the relationship between characteristics of the operator and performance of the algorithm. Based on this analysis, we propose simple criteria for measuring the quality of crossover operators. Some computational analysis on single machine scheduling problem is then added to validate the effectiveness of the proposed criteria.Another attractive feature of metaheuristics is in its robustness and simplicity. They i can be developed even if deep mathematical properties of the problem domain are not at hand, and still can provide reasonably good solutions, much better than those obtainable by simple heuristics. To investigate this direction, we compare representative metaheuristic algorithms using rather simple inner operators to observe general tendency of their performance. From these results, we propose a recommendation about the use of metaheuristics as simple optimization tools.We then consider a problem arising from the implementation issue of a crossover operator.