There exist many optimization techniques ranging from the more traditional techniques of numerical optimization to heuristic techniques such as evolutionary computation, ant optimization, and so on. In numerical analysis, the quality of different optimization techniques is usually gauged by testing them on benchmark problems. This is a reasonable idea: when we encounter a reasonable optimization problem for which the known methods do not work well, we add it to a list of benchmark problems and gauge future methods by how well they can solve this hardest-so-far problem.

Such comparison on tough mathematical problems provides a reasonable understanding of the relative quality of different ideas. However, the ultimate goal of optimization techniques is to solve real-life problems. In view of this fact, the editors of this book organized a workshop on computational optimization, with an emphasis on difficult-to-solve practical problems. This book contains extended versions of selected papers from this workshop.

The breadth of application areas is very impressive. Applications analyzed in this book cover all possible stages on which optimization can be applied. In our analysis of a real-life system, we first try to identify this system, that is, to find a model that adequately describes this system and to find the values of the model’s parameters that best describe the system’s behavior. Once the system is thus identified, we use the resulting model to predict the system’s behavior. In situations when the predicted consequences are not favorable (or at least not optimal), a natural next step is to find ways to improve the outcome, through optimal planning and/or control. All these stages require computations, so a natural auxiliary optimization problem is how to optimize these computations.

Examples from this book cover all these stages: identification (on the example of bio-fermentation), prediction (on the example of predicting indoor temperatures), and optimal control and planning (on the examples of optimizing ethanol production, fuel consumption in firefighting helicopters, minimizing damage in weather-related disasters, and portfolio optimization in finance). Computation-optimization examples include optimizing a photonic data processing architecture and automatic synthesis of optimal schedulers.

Several papers describe general optimization algorithms, each of which has many different applications. In all of these applications, techniques range from the more familiar ones, such as genetic and evolutionary algorithms and ant colony optimization, to relatively novel ideas, such as using intuitionistic fuzzy sets in optimization.

Several papers emphasize the practical side of modern optimization applications, including the fact that they are often performed on hybrid computing systems that combine more traditional central processing units (CPUs) with faster (but less accurate) graphics processing units (GPUs). Adjusting existing algorithms for such an architecture is an important challenge.

The conclusion one can make from all these papers is that the variety of optimization techniques exists for a reason: in different real-life problems, different methods work best, so it is advantageous to keep all of these methods in a toolbox. Many of these applications also show that to successfully solve an optimization problem, it is usually not enough to apply a good general algorithm; we can usually do much better if we use the specifics of this particular application area.

I would recommend this book both to practitioners interested in solving real-life optimization problems and to mathematicians and computer scientists developing and/or improving optimization algorithms. The plethora of application examples will help readers better understand the breadth of possible applications, teach them a few tricks that they will be able to use, and, by emphasizing remaining challenges, encourage future research.

My only complaint about this book is that I would have liked to see a longer introduction with a comparative analysis of different techniques and different application areas. Such a detailed general overview would have helped readers better understand the relationships between different application areas and different techniques.