Application of Genetic Algorithms and Neural Networks to the Solution of Inverse Heat Conduction Problems A Tutorial

Genetic Algorithms and Neural Networks are relatively new techniques for optimization and estimation. These techniques can, of course, be applied to the solution of inverse problems. This paper presents a tutorial for application of these techniques to the solution of some simple inverse problems. A description of each of the techniques precedes presentation of the algorithms. MATLAB is used to solve these problems. INTRODUCTION Genetic Algorithms are a class of search methods, which are patterned after evolutionary processes. These algorithms have existed for perhaps 20 years, but were first popularized following the publication of David Goldberg’s text on the subject (Goldberg, 1989). These algorithms search a solution space by manipulating populations of candidate solutions. These populations are evaluated to determine the best members of each generation, and each generation reproduces to create the next generation. Notions from evolution are borrowed to manipulate the population after reproduction: randomly triggered crossover and mutation enter in to widen the search region. At the end of a prespecified number of generations, the results are examined. A Genetic Algorithm is a type of search procedure. Simply put, it is a localized random search. It requires no evaluation of the derivative of the performance measure, and is therefore highly suited to nonlinear problems. Neural Networks describe another type of algorithm that is borrowed from nature. Neural Networks are an attempt to model the massively parallel operation of a brain. A collection of simple neurons is interconnected with links. Each link will be assigned a weight during the training of the network. During operation of the network, the output of each neuron is the result of the weighted sum of all the inputs connected to it passed through an activation function. This activation function is some suitable non-linear mathematical function. It is through the sum total action of many connected neurons that the network is able to “learn” its behavior and produce intelligible results. A Neural Network is an interpolative procedure. Through training, the network “learns” an association between a collection of inputs and their corresponding outputs. In operation, when the network is presented inputs, which were not present in the training set, the network will produce a result, which is consistent with the training data. This paper has two parts, one devoted to Genetic Algorithms and one dedicated to Neural Networks. In each section a basic description of the method is given, followed by application to a simple optimization problem of parameter identification. Then each method is applied to a classic inverse boundary problem. The MATLAB programming language is used to illustrate the algorithms. GENETIC ALGORITHMS These algorithms mimic the evolutionary processes that have led to development of higher organisms in nature. An initial population of candidates reproduces to create a new generation of the population. In each generation there are random occurrences of mutation in the population. Above all, survival of the fittest ensures that the “best” members of the population