Computationally Efficient Evolutionary Algorithms : Enhanced by On-line Machine Learning

An efficient evolutionary optimization algorithm of which the convergence is improved is proposed. A “machine” which learns the parameter-cost relations on-line is implemented inside the evolutionary algorithm, and the machine reuses the parameter-cost information as training sets to update the hypothesis functions. As the populations converge and regression accuracy improves, some portion of the cost evaluations are substituted with machine-learned regressions, and they are put into the selection process. This significantly reduces the computational load and running time, because the training/computation of the machine is much cheaper than the actual cost function evaluations. Also, this implies that the effective number of offsprings can be easily increased, which leads to improved convergence with little increase of the computational load. The improved convergence is shown by a simple numerical examples and a practical design problem. I. I NTRODUCTION Evolution-based optimization methods have a number of advantages over traditional hill-climbing ( e.g., gradien t descent, Newton’s method) techniques. Unlike the gradient based methods, evolutionary algorithms can easily escape from local minima, eventually converging toward the global minimum. Also, the evolutionary algorithms can be applied to any type of cost functions, since they do not require the gradient or any higher order information. For cost function s with discontinuities or peaky noise components, the gradie nt is not always well-defined or computed with poor numerical accuracy, which frequently results in failure of gradientbased algorithms[1]. However, evolutionary computation requires numerous cost function evaluations, which normally yields to heavy computational burdens. The cost functions encountered in practical optimization problems typically involve time consuming computations such as numerical integration or large matrix inversion, therefore frequent evaluation of t he cost function is not desirable. In standard evolutionary al gorithms, a population of sample points evolves to select bett er individuals based on the fitness measure, by the processes called selection/reproduction. These processes inherent ly impose repetitive evaluations of the cost functions within th e previously-visited domains, of which the ranges reduce as the population evolves toward next generations. However, conventional evolutionary algorithms use the computed cos t This work was conducted as a term project for CS229 machine lea rning class. The authors are grateful to Prof. Min-Jea Tahk at KAIS T for his guidance and discussions on evolutionary algorithms and app lic tions. J.-H. Kim and T. Kim are with the Department of Aeronautics and Astronautics, Stanford University, CA 94305. {jonghank, taehoonk}@stanford.edu information only for the fitness evaluation and dispose of them without storing. We claim that this wastefulness can be improved by using machine learning techniques. A “machine” which learns the parameter-cost relations is implemented inside the algori thm. As the algorithm evaluates the cost function repetitively, the machine reuses those information as training sets to update the hypothesis functions. Since the region in which the cost is evaluated contracts around the optimum as the generation number increases, the regression performance around the optimum gradually improves as they evolve; i.e., the machin e learns the large-scale macroscopic views of the cost functi o s in the early stages of the evolution, and the scale reduces as the population evolves, eventually achieving a very accura te approximation around the optimum in the local microscopic views. As the regression accuracy improves, some portion of the cost evaluations are substituted with machine-learn ed regressions, and will be put into the selection process. Thi s significantly reduces the computational load and running time, because the training/computation of the machine is much cheaper than the actual cost function evaluations. The proposed algorithm is first shown using a simple numerical example, then applied to a practical autopilot design optimization problem. II. PROPOSEDSCHEME A. Evolutionary Algorithms Typical evolutionary algorithms find optimal solutions by iterating the following steps. Conventional Evolutionary Algorithm: 1) Initialization 2) Offspring generation ( Nλ) 3) Cost evaluation 4) Fitness evaluation and selection for the next generation (Nμ + Nλ 7−→ Nμ: number of parents) 5) Check termination condition where Nμ and Nλ represent the number of parents and offsprings in each generation. Increasing Nλ typically leads to rapid convergence in a small number of generations, however, the computational demands per each generation increases linearly withNλ, thus actual convergence rate (convergence per unit time, or convergence per number of function evaluations) does not reduce significantly. The proposed algorithm introduces a way to increase effective Nλ without increasing the computational load linearly.