Continued from page 1.
We have shown how the three main pieces of CGA may be easily coded and easily understood. After implementing the key genetic operators, implementation of the main program is straightforward. At the moment, the World Wide Web and the Internet provide some quality MATLAB source codes for different kinds of genetic algorithms. Chris Houck, Jeff Joines, and Mike Kay at North Carolina State University have developed two versions of the genetic algorithm for function optimization using both MATLAB 4 and MATLAB 5. The WWW site is: http://www.ie.ncsu.edu/mirage. Andrew F. Potvin has also implemented a simple version of genetic algorithm which is available on the WWW site: http://unix.hensa.ac.uk/ftp/mirrors/matlab/contrib/v4/optim/genetic/.
It should be pointed out that although the above Toolboxes are very useful in solving many engineering problems, they are sometimes too comprehensive for the students. In many situations, the students need to modify the genetic operators to meet their own problem-dependent requirements. However, they found it very difficult to change some parts of the above GA Toolboxes, because the whole package is heavily interconnected. With the source codes provided in this section, the students found it quite easy to modify the genetic operators and invent some new genetic operators. This is helpful in promoting the students' creativity, which is necessary and important in the new teaching process.
4 AN ILLUSTRATIVE EXAMPLE
for x belonging to the domain [0,1]. The characteristic of the function is plotted in Fig. 4(a). As shown in the figure, the function has three maxima, with a global maximum achieved at x = 0.1527.
Several trials have been performed changing the fundamental parameter values. Below, a relevant example, with popsize = 30, stringlength = 20, pc = 0.95 and pm = 0.05 is reported. Fig. 4(a) shows the initial population for the optimisation of a one-variable optimisation: the * represent the individuals of the population, randomly generated in the function domain. Fig. 4(b) shows the population after 50 generations of the CGA, and Fig. 4(c) gives the population after 100 generations of the CGA.
As can be observed from Fig. 4(a), at the first step, the population (represented by * in the figures) is randomly distributed in the whole function domain. During the evolution of the algorithm, Fig. 4(b), the individuals of the population tend to concentrate at the peaks of the function and at convergence, Fig. 4(c), most of the individuals are clustered near the desired maximum value of the function.
5 AN APPLICATION EXAMPLE
In this section, we provide an application example of the developed GA in designing robust controller for uncertain control systems. Robust control under parametric uncertainty is an important research area with many practical applications. When the system has a general nonlinear uncertainty structure, the usual approach is to overbound it by an interval dynamical system. The robust controller design can be transformed into solving an eigenvalue optimisation problem, which involves optimising the maximum real part of eigenvalues of the characteristic polynomial for the uncertain plant. This kind of problem is a typical non-smooth and nonconvex optimisation problem, and may have several local optima. We demonstrate that GA is capable of solving this kind of problem. A practical flywheel-shaft-flywheel system, including uncertainty in the length of the shaft and shaft damping, is employed to carry out the numerical simulation.
5.1 Uncertain control systems
The robust controller design can be considered as determining the parameter value p Epsilon P so that the feedback control system is stable for all q Epsilon Q. However, the presence of the k-dimensional uncertainty vector, q, complicates the analysis of the uncertain transfer functions such as (4) and equations such as (6). Thorough robust analysis requires that the behaviour of every point in the uncertainty space, i.e. all qEpsilon Q, must be checked. As this is impossible, a common technique involves creating a grid of points for each qi Epsilon [q^sub i^^sup -^, q^sub i^^sup +^ ], i = 1, ..., k, and analysing behaviour over this k-dimensional grid. This approach is computationally intensive and inexact - one can never be certain that a finer grid might not change a robust stability prediction. In the next subsection, we discuss solving this problem using GA optimisation approach.
5.2 Robust controller design via GA
6 CONCLUSION
In this paper, an attractive approach for teaching genetic algorithm has been presented. This approach is based primarily on using MATLAB in implementing the genetic operators: crossover, mutation, and selection. An advantage of using such an approach is that the student becomes familiar with some advanced features of MATLAB, and furthermore, with the availability of other MATLAB Toolboxes such as The Control Systems Toolbox, Neural Network Toolbox and Fuzzy Logic Toolbox, it is possible for the student to develop genetic algorithm-based approaches to designing intelligent systems, which could lead to his/her final year or MSc project.
REFERENCES
[1] MATLAB 5, The Math Works Inc., Natick, MA (1997)
[2] Holland, J., Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann
Arbor (1975)
[3] Goldberg, D. E., Genetic Algorithms in Search, Optimization and Machine Learning, AddisonWesley (1989)
[4] Borie, J. A., Modern Control Systems, Prentice-Hall International (1986) [5] Sebald, A. V. and Schlenzig, J., `Minimax design of neural net controller for highly uncertain plants', IEEE Trans. Neural Networks, 5, pp. 73-82 (1994)
ABSTRACTS - FRENCH, GERMAN, SPANISH
Enseignement d'algorithme gen*tique par MATLAB
Dans cet article une approche attractive pour enseigner I'algorithme genetique (GA) est pr6sent6e. Cette approche est basee sur l'utilisation de MATLAB pour implementer les operateurs genetiques: mutation, selection et croisement. Un exemple illustratif detaille est presente pour demontrer que GA est capable de trouver un optimum global ou quasi-global pour des fonctions multi-modales. Une application de GA dans la conception d'un controleur robuste pour des systemes a controle incertain est egalement donnee pour montrer son potentiel dans la conception de systemes intelligents en ingenierie.
Genetische Algorithmen mit MATLAB lehren
In diesem Bericht wird ein attraktives Vorgehen zum Lehren genetischer Algorithmen (GA) vorgestellt. Dieses Vorgehen beruht in erster Linie auf der Verwendung von MATLAB in der Durchfuhrung der genetischen Operatoren: Uberkreuzung, Mutation und Selektion. Ein ausfuhrliches illustratives Beispiel wird vorgestellt, um zu beweisen, daB GA fahig ist, globale oder fast globale optimale Losungen multimodaler Funktionen zu finden. Eine Anwendung von GA bei der Auslegung eines robusten Reglers fur ungewisse Steuersysteme wird ebenfalls angegeben, um dessen Potential in der Entwicklungstechnik intelligenter Systeme zu zeigen.
Ensenanza de algoritmos geneticos empleando MATLAB
En este articulo se presenta una aproximacion atractiva para la ensenanza de algoritmos gen6ticos (AG). Esta aproximacion se basa, en primer lugar, en emplear MATLAB para la implementacion de los operadores geneticos: cruzamiento, mutacion y seleccion. Se presenta un ejemplo ilustrativo detallado para demostrar que el AG es capaz de buscar soluciones globales o casi globales optimas de funciones multimodales. Se muestra asi mismo una aplicacion de AG en el diseno de controladores robustos para sistemas de control con incertidumbres que muestra su potencial en el diseno de sistemas de ingenieria inteligentes.
Y J. C AO1 and Q, H. WU2
1Intelligent Computer Systems Centre, University of the West of England, Bristol, UK
2 Department of Electrical Engineering and Electronics, University of Liverpool, Liverpool, UK
Copyright Manchester University Press Apr 1999
Provided by ProQuest Information and Learning Company. All rights Reserved