VIII Prefaceusing different data structures for chromosome representation of individuals, and various "genetic" operators which operated on them. Because of my background in databases [122], [126], where the constraints playa central role, most evolution programs were developed for constrained problems.The idea of evolution programs (in the sense presented in this book), was conceived quite early [101], [133] and was supported later by a series of experiments. Despite the fact that evolution programs, in general, lack a strong theoretical background, the experimental results were more than encouraging: very often they performed much better than classical genetic algorithms, than commercial systems, and than other, best-known algorithms for a particular class of problems. Some other researchers, at different stages of their research, performed experiments which were perfect examples of the "evolution programming" technique -some of them are discussed in this volume. Chapter 8 presents a survey of evolution strategies -a technique developed in Germany by I. , [162] for parameter optimization problems. Many researchers investigated the properties of evolution systems for ordering problems, including the widely known, "traveling salesman problem" (Chapter 10). In Chapter 11 we present systems for a variety of problems including problems on graphs, scheduling, and partitioning. Chapter 12 describes the construction of an evolution program for inductive learning in attribute based spaces, developed by C. Janikow [97]. In the Conclusions, we briefly discuss evolution programs for generating LISP code to solve problems, developed by J. Koza [108], and present an idea for a new programming environment.