Interactive Evolutionary Computation in Process ... - CiteSeerX

9 downloads 38156 Views 239KB Size Report
Dec 20, 2004 - IEC Toolbox (for Matlab) can be downloaded from the website of the authors: ... 2.1 IEC as a Subjective Optimization Tool. Evolutionary Algorithm ... selection of the best individuals for reproduction is performed by a human.
Interactive Evolutionary Computation in Process Engineering

Janos Madar, Janos Abonyi*, Ferenc Szeifert University of Veszprem, Department of Process Engineering, P.O. Box 158, H-8201, Hungary *Corresponding author: [email protected], www.fmt.vein.hu/softcomp

Abstract In practical system identification, process optimization and controller design, it is often desirable to simultaneously handle several objectives and constraints. In some cases, these objectives and constraints are non-commensurable and they are not explicitly/mathematically available. This paper proposes a new subjective optimization method based on Interactive Evolutionary Computation (IEC) to handle these problems. IEC is an evolutionary algorithm whose fitness function is provided by human users. The whole approach has been implemented in MATLAB (EAsy-IEC Toolbox) and applied to two case-studies: tuning a Model Predictive Controller and temperature profile design of a batch beer fermenter. The results show that IEC is an efficient and comfortable method to incorporate the prior knowledge of the user into optimization problems. The developed EASyIEC Toolbox (for Matlab) can be downloaded from the website of the authors: http://www.fmt.vein.hu/softcomp/EAsy. Key words: Interactive Evolutionary Computation, Process Engineering, Process Optimization, Creativity Supporting Tools

Preprint submitted to Elsevier Science

20 December 2004

1

Introduction

Process engineering deals with modelling, control and design of process systems. All of these tasks can be formulated as optimization problems. Usually, the objectives of these optimization problems are often non-commensurable and are frequently in conflict with each another [1]. Therefore most of process engineers meet with multi-objective optimization problems and they should define the cost functions and the constraints based on their prior knowledge. This requires in-depth information concerning various trade-offs and valuation of individual objectives. Hence, there is a need for tools which allow process engineers to effectively handle their background knowledge during the optimization procedure.

The idea of using human knowledge or intuition as part of an optimization process appeared in [2]. This subjective optimization approach means that, instead of defining a mathematical cost function, the human user directly evaluates the potential solutions and makes a decision which solutions are good and which are bad.

The subjective optimization approach requires a special optimization algorithm. Most optimization techniques which work by improving a single solution step by step are not suited for this technique. Evolutionary Algorithms (EAs) and other population based optimization procedures are better suited for subjective optimization. EA is an optimization method which uses the computational model of natural selection. EA has proved particularly successful in problems that are difficult to formalize mathematically, and which are therefore not conducive to classical analysis based engineering tools. The EA’s lack 2

of reliance on domain-specific heuristics makes it attractive for systems that are highly nonlinear, that are stochastic and that are poorly understood, because very little a priori information is required, but this can be incorporated if so desired. EA works with a population of potential solutions, where each individual within the population represents a particular solution, generally represented in some form of genetic code. The fitness value of the individuals expresses how good the solution is at solving the problem. Better solutions are assigned higher values of fitness than worse performing solutions. The key of EA is that the fitness also determines how successfully the individual will be at propagating its genes (its code) to the subsequent generations. As this description suggests, this optimization approach is ideal for subjective optimization since the human user can directly evaluate the fitness of the solutions by ordering the solutions or by the selection of the best ones. This approach become known as Interactive Evolutionary Computation (IEC) [3]. IEC has been already applied in computer graphics [4], animation, creating forms, textures, and motion [5]. Potential applications of interactive evolution include development of components of biological nature [6,7] and engineering construction design [8]. The applications of IEC to control problems have been recently increased [9,10].

Contrary to the high number of IEC application examples, this approach has not been applied in chemical process engineering. The aim of this paper is to show how this tool can be tailored and applied in this area. Two examples will be shown: tuning an MPC controller and a temperature profile design of a batch beer fermentation process. These examples demonstrate the applicability of the MATLAB EAsy-IEC Toolbox developed for solving process engineering problems by IEC. With the application of this toolbox the users 3

can simultaneously analyze the numerical performance indices along with the plotted concentration profiles and modify the design variables suggested by the evolutionary algorithm.

2

IEC Framework for Process Engineering Problems

2.1 IEC as a Subjective Optimization Tool

Evolutionary Algorithm (EA) is a widely used population based iterative optimization technique, that mimics the process of natural selection, see Fig. 1 [11]. The population is evolved over generations to produce better solutions to the problem. The evolution is performed using a set of stochastic genetic operators, which manipulate the representation of the potential solutions. Most evolutionary algorithms include operators that select individuals for reproduction, produce new individuals based on those selected, and determine the composition of the population at the subsequent generation.

Phenotypes of individulas Fitness evaulation

A)

Genetic Operators

Interface

New generation

Selection

Genetic Operators

New generation Phenotypes of individulas

B)

Fig. 1. Scheme of IEC A): Evolutionary Algorithm, B): Interactive Evolutionary Algorithm

Interactive Evolutionary Computation (IEC) is simply an EA in which the 4

selection of the best individuals for reproduction is performed by a human user, see Fig. 1 B). In the field of process engineering, this means that the user should simultaneously analyze the numerical results and the plotted trajectories used to represent the solution of a control, system identification, or process optimization problem, e.g. concentration and temperature profiles, and select the best solutions which approach his/her requirements. These selected individuals will constitute the next generation. George A. Miller discussed some limits of the human brain with respect to information processing. In particular, his research had found that people are unable to keep up with more than 5-9 different chunks of information at a time [12]. Since a human user cooperates with a tireless computer and evaluates the potential solutions, the IEC process cannot be continued after many generations prohibiting the practical use of the IEC. Due to the limitation of the individuals simultaneously displayed on the monitor, the limitation of human capability to memorize the time-sequentially displayed individuals and the requirement to minimize the human fatigue, the main problem of the effective realization of IEC is the development of an evolutionary algorithm that is able to search for a goal with a small population size within a few number of searching generations. The good news is that thanks to a good initial convergence of evolutionary algorithms, unlike gradient methods, the human fatigue problem may be less tiring than from gradient searches [3].

2.2 Evolution Strategy

Among the wide range of EAs we found that Evolution Strategy (ES) [13] is the best suited for IEC applications. The design variables in ES are repre5

sented by n-dimensional vector xj = [xj,1 , . . . , xj,n ]T ∈ Rn , where xj represents the j-th potential solution, i.e. the j-th the member of the population. The mutation operator adds zj,i normal distributed random numbers to the design variables: xj,i = xj,i + zj,i , where zj,i = N (0, σj,i ) is a random number with σj,i standard deviation. To allow for a better adaptation to the objective functions’s topology, the design variables are accompanied by these standard deviation variables, which are so-called strategy parameters. Hence the σ j strategy variables control the step size of standard deviations in the mutation for j-th individual. So an ES-individual aj = (xj , σ j ) consists of two components: the design variables xj = [xj,1 , . . . , xj,n ]T and the strategy variables σ j = [σj,1 , . . . , σj,n ]T . Before the design variables are changed by mutation operator, the standard deviations σ j are mutated using a multiplicative normally distributed process: (t)

(t−1)

σj,i = σj,i

exp(τ 0 N (0, 1) + τ Ni (0, 1)) .

(1)

The exp (τ 0 N (0, 1)) is a global factor which allows an overall change of the mutability, and the exp (τ Ni (0, 1)) allows individuals to change of their mean step sizes σj,i . So τ 0 and τ parameters can be interpreted as global learning rates. Schwefel suggests to set them as [14]: 1 1 τ0 = √ , τ = q √ . 2n 2 n

(2)

Throughout this work discrete recombination of the object variables and intermediate recombination of the strategy parameters were used: x0j,i = xF,i or xM,i 0 = (σF,i + σM,i ) /2 , σj,i

(3) (4) 6

where F and M denotes the parents, j is index of the new offspring.

2.3 The IEC Toolbox

Since in every evaluation loop the user should evaluate a set of solutions of a process engineering problem, there is a need for a transparent graphical user interface (GUI) connected to a process simulator or a data acquisition system. The developed EAsy-IEC Tune Toolbox is designed to be applicable for different types of optimization problems, e.g.: system identification, controller tuning, process optimization and data mining. The toolbox has been implemented in MATLAB (Mathworks Inc.) which prototyping tool is very useful for constructing mathematical models and simulators, presenting figures and diagrams, analyzing results, etc. Thanks to the Matlab environment, the Toolbox can be used easily for various problems. The user’s duty is only constructing a MATLAB function which evaluates the individual solutions and plots the resulted figures. The Toolbox handles the evolutionary-loop (presented in the previous subsection) and the interactive display, coordinates the MATLAB and Simulink based simulators used for the evaluation of the solutions. Due to the limits of humans capacity of processing information, the number of simultaneously displayed solutions is limited around seven. An example of such evaluation figure is given in Fig. 2. The developed toolbox also allows active human intervention. The active intervention directly reduces human fatigue and results faster EC convergence. There are several method for active intervention, e.g.: visualized IEC or online knowledge embedding [3]. In this work, we propose an active intervention 7

method in which the user is able to change the individuals directly (direct human intervention). For example, in the second example (see Section 3.2), the temperature profiles can be manually changed which provides possibility to the user to incorporate her or his prior knowledge into the multi-criteria evolutionary optimization.

3

Application Examples

3.1 Application of IEC in Model Predictive Controller Tuning

In this example, the IEC technique is applied for a Model Predictive Controller (MPC) tuning. The tuning of controllers is a classical optimization problem for control engineers and can be easily addressed using Evolutionary Algorithms [15,16]. The main problem of the optimization based controller tuning is the selection of the appropriate cost function, because there are several goals which must be considered in the cost function. The four main goals are the followings: • to follow set-point changes accurately; • to keep controlled variable constant at its set-point against disturbances and interaction of multiple outputs (e.g. when the set-point of other controlled variable changes); • to avoid aggressive manipulation of input variables; • to avoid fast changing of output variables and big overshoot of output variables. Generally, these goals are conflicting each other and the selection of the appro8

priate cost function is not a straightforward task. An appropriate cost-function should contain several terms and tuning parameters to balance these conflicting objectives. The selection of these tuning parameters is very difficult. If the reader has already tried to obtain a cost-function, he/she knows that the performance of the obtained controller does not always meet with the expectations of the designer. Hence, the application of interactive optimization is a promising approach to handle this problem.

The controlled system is a first principle model of a binary distillation column by Skogestad [17]. The simulated system covers the most important effects for the dynamic of a real distillation column. Details about the model can be found in [17], MATLAB implementation are available on Internet (http://www.nt.ntnu.no/users/skoge/). The system is a MIMO system with two manipulated inputs: reflux-flow and reboiler-flow, and two outputs, top product purity and bottom product purity. The distillation column has two other non-manipulated input variables: feed rate and feed composition. The objective is to produce high-purity products at both ends of the column. When the column operates in a wide range its characteristic are strongly nonlinear - especially towards high purity. Throughout the simulation experiment, feed rate and feed composition disturbances were considered. 10% relative uniformly distributed white noise was added to the feed rate and 5% to the composition, because such disturbance levels are common in the industrial experiment [17]. Because the controlled process is inherently nonlinear, nonlinear control algorithm should be applied to achieve good control performance. For the control of this object we applied a fuzzy model predictive control. The fuzzy model predictive control differs from linear MPC in that the local linear model in MPC algorithm comes from fuzzy model. Details about the fuzzy 9

modelling of the object can be found in [18]. The objective of MPC algorithm is to select a set of future control moves in control horizon to minimize a cost function:

min

Hp X

u(k),...,u(k+Hc )

k qT (w(k + i) − y(k + i|k)) k +

i=1

A 1 y ≤ b1

subject to : A2 ∆y ≤ b2 A3 u ≤ b3

Hc X

k rT (∆u(k + i)) k

i=1

A4 ∆u ≤ b4 ,

(5)

where k is the current time instant (sample time); u(j) = [u1 (j), . . . uni (j)]T is the manipulated input vector at j-th time instant; y(j|k) = [y1 (j|k), . . . yno (j|k)]T is the predicted output vector for j-th time instant calculated from k-th time instant; w(j) = [w1 (j), . . . wno (j)]T is the set-point vector; q = [q1 , . . . , qno ]T and r = [r1 , . . . , rni ]T are weighting parameter vectors; Hp and Hc are prediction and control horizon. The MPC algorithm solves (5) minimization problem in every sample time. To compensate the modelling error and disturbances, we applied an Internal Model Control (IMC) scheme. So in the algorithm the set-point were modified by calculated model-error before solving the (5). The MPC-IMC algorithm has several tuning parameters: the prediction and control horizon (Hp and Hc ), the weights of different terms in the cost function (q and r) and the IMC filter time-constant (α). In this example, the optimization goal is tuning the MPC parameters. Because the system has two manipulated input and controlled output variables, the MPC has seven tuning parameters: the control and prediction horizon, four weighting parameters for two output and two input errors and IMC filter time-constant. The task is to tune these parameters to achieve an MPC controller which satisfies all of the main objectives. It is not an easy task due to interactions of outputs. The great advantage of IEC is that the user is able to observe these conflicts and interactions, so 10

he/she can handle and balance these conflicts easily. Feval: 61, Gen: 12

Delete:

Crossover:

3.5

3.5

3.5

3.5

3.5

3

3

3

3

3

2.5

100 200 300 400 500

2.5

100 200 300 400 500

2.5

100 200 300 400 500

2.5

100 200 300 400 500

2.5

0.015

0.015

0.015

0.015

0.015

0.01

0.01

0.01

0.01

0.01

0.005

100 200 300 400 500

0.005

100 200 300 400 500

0.005

100 200 300 400 500

0.005

100 200 300 400 500

0.005

0.015

0.015

0.015

0.015

0.015

0.01

0.01

0.01

0.01

0.01

0.005

100 200 300 400 500

0.005

100 200 300 400 500

0.005

100 200 300 400 500

0.005

100 200 300 400 500

0.005

100 200 300 400 500

100 200 300 400 500

100 200 300 400 500

e1: 5.31 e2: 2.59

e1: 3.01 e2: 1.11

e1: 2.86 e2: 1.75

e1: 9.42 e2: 5.40

e1: 4.68 e2: 1.90

e3: 1.88 e4: 2.50

e3: 8.37 e4: 7.35

e3: 4.57 e4: 14.17

e3: 1.98 e4: 1.73

e3: 3.50 e4: 2.99

p1: 1.5, p2: 1.40

p1: 1.9, p2: 2.39

p1: 1.4, p2: 2.19

p1: 6.7, p2: 2.46

p1: 3.2, p2: 2.67

p3: 0.023, p4: 0.34

p3: 0.011, p4: 0.48

p3: 0.011, p4: 0.38

p3: 0.023, p4: 0.44

p3: 0.017, p4: 0.42

Fig. 2. MPC controller tuning with Interactive Evolutionary Strategy 1. row: manipulated inputs, 2. row: controlled top purity and set-point, 3. row: controlled bottom purity and set-point, 4. row: design variables

Fig. 2 shows simulation results of a generation from IEC. The population contain five members after 41 function evaluation. With IEC we found stratifying solutions quickly.

3.2 Application of IEC in Batch Process Optimization

Batch processes play an important role in the industry. During batch- and fed-batch operation of bioreactors, the system states change considerably. As a consequence of the varying process states, the best operation results can be realized by varying the input variables along optimal trajectories during the operation time. This explains why searching for efficient methods for cal11

culating the optimal trajectories has been an important issue for bioreactor control [19]. Several methods have been discussed in literature: e.g. first-order gradient method and dynamic programming.

During the beer fermentation, a temperature profile is applied to drive the process so as to obey to certain constraints. The design of this temperature profile is an optimization problem where the objective is to minimize the operation time and optimize the quality of the beer. These objectives are frequently in conflict with each other. Trade-offs exist between some objectives, but advancement in one objective will cause deterioration in another. These multi-objective optimization problems involve simultaneous consideration of multiple performance criteria that should be defined a prior to the optimization procedure. This requires in-depth information concerning the various trade-offs and valuation of each individual objective. Such detailed model-based multi-criteria optimization of the temperature profile of beer fermentation is discussed in several articles [20–22].

In this paper a kinetic model published by Carrillo-Ureta [21] and AndresToro [23] has been used to estimate the effect of the temperature profiles. This model has been developed from experimental data and shows good results in the aspect of a realistic view of the fermentation process. The model takes into account seven components: three components of the biomass (latent, active, dead), ethanol and sugar, and two important byproducts: ethyl acetate and diacetyl. The model equations and parameters are taken from the article of Carrillo-Ureta [21]. Most of the process parameters vary as Arrhenius function of temperature, expect diacetyl appearance and disappearance rate which are constant values. 12

In order to apply the IEC algorithm for this problem, it is necessary to design a suitable representation of the temperature trajectory. For this purpose a simple but effective method has been developed. The profile is divided to six segments and every chromosome contains the time and the temperature of the breakpoints for this piecewise-linear trajectory. These numbers are coded as real values in the ES algorithm, see Fig. 3. Certainly one can use more than five inner breakpoints but the chromosome should not be much bigger, because it is limited by human abilities and the highly increased complexity of the optimization problem. Furthermore, when a big number of segments are used the GA generates a very abrupt profiles which needs smoothing [21,24].

Temp. [C]

15

10

5 0

50

100 time [h]

150

200

Fig. 3. Representation of temperature trajectory chromosome = [50, 70, 100, 150, 170, 10, 9.5, 9.5, 11, 11, 13, 7]

During the optimization, the user selects a set of good temperature profiles given by the ES (interactive evolution), and he or she can manually change the selected profiles (human intervention). The technique of human intervention is very simple: the human operator can freely move the breakpoints of the trajectories with drag and drop technique. The simulation runs automatically with the new trajectory and the evaluation figures become refreshed after the manual modification of the trajectory. This technique gives flexibility and 13

improves the effectiveness of algorithm. A good temperature profile should result in high ethanol, low sugar and ethyl acetate concentrations, a very low diacetyl and biomass concentrations and relatively smooth temperature profile with short operation time. This leads to a multi-objective optimization problem and the task is to find a temperature profile which can satisfy all of the above objectives and some other constraints. Compared to other standard approaches, the IEC has the great advantage that

Temp.

the human operator can effectively balance among these objectives. 20

20

10

10

Conc.

0

50

100

150

0

200

6

6

4

4

2

2

0

Conc.

0

0

50

100

150

0

200

150

150

100

100

50

50

0

0

50

100 time

150

0

200

0

50

100

150

200

0

50

100

150

200

0

50

100 time

150

200

Fig. 4. Temperature profile design with IEC left column: industrial profile, right column: optimized profile 1st row: temperature profile, 2nd row: solid: diacetyl, dashed: acetate, dotted: biomass, 3rd row: solid: sugar, dashed: ethanol

In this case study, the user found a set of stratifying solutions only after 11 generations (while every generation consists only 8 individuals) with EAsy-IEC Toolbox. To analyze and demonstrate the result, the resulted temperature trajectory is compared to the results obtained by the industrial trajectory taken from the article of Andres-Torro et al. [23] (Fig. 4). The optimal trajectory 14

starts at 10 degrees centigrade because of safety reason [20]. Compared to the industrial profile, although the final ethanol level is a little bit smaller, the optimized temperature trajectory results in much less ethyl acetat and diacetyl concentrations and the biomass and sugar concentration has been decreased too.

4

Conclusions

Most of process engineering problems are based on multi-objective optimization problems where engineers should define cost functions and constraints based in their prior problem-specific knowledge. This requires in-depth information concerning the various trade-offs and valuation of each individual objective. However, in some cases, these objective functions are not explicitly/mathematically available. Hence, there is a need for tools which allow the process engineer to effectively handle his/her background knowledge during the optimization procedure. This paper demonstrated how interactive evolution algorithms can be applied to solve multi-objective optimization problems. The main benefit of IEC is that it is an efficient and comfortable method to incorporate the prior knowledge of the user into a user-guided optimization and identification problems. For this purpose a MATLAB toolbox has been developed to provide a humanmachine interface of the IEC. With the use of this tool, the user can easily select the individuals which then are reproduced and mutated to constitute the next generation. A detailed description of the proposed approach helps the construction of the algorithms; still easier, the EAsy-IEC Toolbox can be 15

downloaded from the website of the authors: http://www.fmt.vein.hu/softcomp/EAsy. The proposed approach was applied to two case-studies from chemical engineering: the optimization of MPC controller parameters and designing the temperature profile of a fermentation batch process. The results show that IEC is an efficient and comfortable method to incorporate the prior knowledge of the user into a user-guided optimization problem. The application examples illustrated that the learning process and the time to achieve satisfactory results are short and not really sensitive to the users and to the optimization problem. The fast optimization process is supported by the applied evolutionary strategy (ES), because the utilized ES is able to reach relatively fast convergence with small number of potential solutions within few generations.

Acknowledgement

The authors would like to acknowledge the support of the Cooperative Research Center (VIKKK) (KKK-I-7), the Hungarian Ministry of Education (FKFP-0073/2001), and the Hungarian Science Foundation (OTKA TO37600). Janos Abonyi is grateful for the financial support of the Janos Bolyai Research Fellowship of the Hungarian Academy of Science.

References

[1] T. Johansen, Multi-objective identification of fir models, in: IFAC SYSID 2000, Santa Barbara, USA, 2000. [2] I. Parmee, D. Cvetkovic, C. Bonham, I. Packham, Intoducing prototype

16

interactive

evolutionary

systems

for

ill-defined

multi-objective

design

environments, Advances in Engineering Software 32 (2001) 429–441. [3] H. Takagi, Interactive evolutionary computation: Fusion of the capabilities of ec optimization and human evaluation, IEEE 89 (9) (2001) 1275–1296. [4] J. McCormack, Interactive evolution of l-system grammars for computer graphics modelling, in: D. Green, T. Bossomaier (Eds.), Complex Systems: from Biology to Computation, IOS Press, Amsterdam, Netherlands, 1993, pp. 118– 130. [5] K. Aoki, H. Takagi, N. Fujimura, Interactive ga-based design support system for lighting design in computer graphics, in: Int’l Conf. on Soft Computing (IIZUKA’96), Iizuka, Fukuoka, Japan, World Scientic, 1996, pp. 533–536. [6] J. Smith, Designing biomorphs with an interactive genetic algorithm, in: 4th Int’l Conf. on Genetic Algorithms (ICGA’91), San Diego, CA, USA, Morgan Kaufmann Publisher, 1991, pp. 535–538. [7] H. Furuta, K. Maeda, E. Watanabe, Application of genetic algorithm to aesthetic design of bridge structures, Microcomputers in Civil Engineering 10 (6) (1995) 415–421. [8] M. Ohsaki, H. Takagi, Application of interactive evolutionary computation to optimal tuning of digital hearing aids, in: Int’l Conf. on Soft Computing (IIZUKA’98), Iizuka, Fukuoka, Japan, World Scientic, 1998. [9] H. H. Lund, O. Miglino, Evolving and breeding robots, Springer-Verlag, 1st European Workshop on Evolutionary Robotics (EboRobot98), (Berlin, Germany), Apr. 1998, pp. 192–210. [10] I. Kamihira, M. Yamaguchi, H. Kita, Online adaptation of vehicles by means of an evolutionary control system, IEEE Int. Conf. on Systems, Man, and Cybernetics(SMC’99) (Tokyo, Japan), 1999, pp. 553–558.

17

[11] A. Eiben, M. Schoenauer, Evolutionary computing, Information Prcoessing Letters 82 (2002) 1–6. [12] G. Miller, The magical number seven, plus or minus two: Some limits on our capacity for processing information, The Psychological Review 63 (1956) 81–97. [13] H. Schwefel, Kybernetische Evolution als Strategie der Experimentellen Forschung in der Stromungstechnik, 1965. [14] H. Schwefel, Numerical Optimization of Computer Models, Wiley, Chichester, 1995. [15] P. Fleming, R. Purshouse, Evolutionary algorithms in control system engineering: a survey, Control Engineering Practice 10 (2002) 1223–1241. [16] D. Lewin, Feedforward control design for distillation systems aided by disturbance cost contour maps, Comp. and Chem. Eng. 18 (1994) 421–426. [17] S. Skogestad, Dynamics and control of distillation columns, Chem. Eng. Res. Des. (Trans IChemE) 75 (1997) 539–562. [18] J. Abonyi, Fuzzy Model Identification for Control, Birkhauser, Boston, 2003. [19] J. Roubos, C. de Gooijer, G. van Straten, A. van Boxtel, Comprasion of optimization methods for fed-batch cultures of hybridoma cells, Bioprocess engineering 17 (1997) 99–102. [20] B.

de

Andres-Toro,

J.

Giron-

Sierra, J. Lopez-Orozco, C. Fernandez-Conde, Evolutionary optimization of an industrial batch fermentation process, in: Europan Control Conference, ECC’97, http://www.cds.caltech.edu/conferences/related/, 1997. [21] G. Carrillo-Uerta, P. Roberts, V. Becerra, Genetic algorithms for optimal control of beer fermentation, in: Proc. IEEE International Symposium on Intelligent Control, Mexico City, Mexico, 2001, pp. 391–396.

18

[22] I. Trelea, M. Titica, S. Landaud, E. Latrille, G. Corrieu, A. Cheruy, Predictive modelling of brewing fermentation: from knowledge-based to balck-box models, Mathematics and Computers in Simulation 56 (2001) 405–424. [23] B. de Andres-Toro, J. Giron-Sierra, J. Lopez-Orozco, C. Fernandez-Conde, J. Peinado, F. Garcia-Ochoa, A kinetic model for beer producion under industrial operational conditions, Mathematics and Computers in Simulation 48 (1998) 65–74. [24] B. de Andres-Toro, J. Giron-Sierra, J. Lopez-Orozco, C. Fernandez-Conde, Using genetic algorithms for dynamic optimization: an inudstrial fermentation case, in: Proc of the 36th IEEE CDC, San Diego, USA, 1997, pp. 828–829.

19