Introduction In many technical problems scientists face the problem of identifying optimal process conditions like pH, temperature, concentrations or other variables. A typical example is fermentation medium development. The composition of a fermentation medium consisting of carbon sources, nitrogen sources, mineral salts, trace elements, amino acids and/or peptides, vitamins and other growth factors determines the chemical and nutritional environment of cells in a bioreactor and is thus vital for the effective manufacturing of bioproducts. 1 1 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document} $$ \begin{aligned}{} {\text{min/max }}{\mathbf{y}} = & \phi ({\mathbf{x}}) = (\phi _{1} ({\mathbf{x}}),\phi _{2} ({\mathbf{x}}), \ldots, \phi _{n} ({\mathbf{x}})) \\ {\text{subject to }}{\mathbf{x}}{\text{ = }} & {\text{(}}x_{1} ,x_{2} , \ldots, x_{m} ) \in X \\ {\mathbf{y}}{\text{ = }} & (y_{1} ,y_{2} , \ldots, y_{n} ) \in Y \\ \end{aligned} $$\end{document} m φ y n 1 Fig. 1 black white y 1 y 2 1 2 3 4 1 5 6 The new software tool with a genetic algorithm for multi-objective experimental optimization making use of SPEA will be outlined. The performance of GAME.opt will be evaluated with the help of special test-functions to achieve appropriate parameter settings for experimental design. Methods GAME.opt was developed with LabVIEW 7 (National Instruments). The Application Builder was used to create a stand alone application running under Windows platforms. Data handling is based on spreadsheet files, which can be accessed via a text editor or Microsoft Excel. GAME.opt will be made available on request by the Technical University of Munich. 6 7 N extern N cluster The first step when using GAME.opt is to create a new project where all information on the experimental design is defined. For this purpose the user is led through the steps explained together with some recommendations in the following. Design variables x 1 n a 1 ...a n x  x L x U 2 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document} $$ x = {\left( {\frac{{x^{{\text{U}}} - x^{{\text{L}}} }} {{2^{n} - 1}}} \right)}{\sum\limits_{i = 0}^{n - 1} {a_{{(n - i)}} 2^{i} + x^{{\text{L}}} } } $$\end{document} a 1 a n 8 n  If the experimental setup prevents an adequate choice of levels the coding can be made visible in GAME.opt. In order to assure equal processing of all variables the amount of levels among the variables should not vary too much. M l X 1 p 3 p M 9 3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document} $$ p = {\left( {1 - 0.5^{{M - 1}} } \right)}^{l} $$\end{document} p As each individual corresponds to one experiment, the experimental effort will be correlated to the chosen amount of levels. The increment should be higher than the possible precision in the experiment. Experimental results y All parameters different from the design variables have to remain fixed in all experiments throughout the optimization procedure. The experimental error should be lower than the differences that are expected to result from different levels in the design variables. Objective functions The objective functions in GAME.opt can be any linear combination of the experimental results and the decision variables. GAME.opt will maximize all objective values. If for example one objective is minimizing a certain experimental result, the objective function is –1 times the according result. When defining the objective functions it is important to make sure that they are independent from each other. For example it is no use maximizing simultaneously the amount of a reaction’s product and minimizing the amount of non-converted reactants at the end of a batch process, because a high product concentration is correlated to low resting concentrations of reactants. A reasonable combination is for example maximization of an experimental result while minimizing the sum of decision variables, possibly reducing the costs of a process. Optimization procedure Once the MOP is defined by the above mentioned steps a random generated initial population is available. This set of design variables can be exported from GAME.opt and the according experiments are performed. After the experimental results are entered in GAME.opt the next population is generated and checked for individuals that have already appeared in order to prevent repeated experiments. This iterative process is performed until satisfying results are obtained. The external population contains the efficient set recovered so far and thus constitutes the result of the optimization process. The experimental results in the external population are already assigned because their members originate from former populations. Results 10 4 11 4 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document} $$ \begin{aligned}{} {\text{Minimize }}f_{1} = & (1 + g({\mathbf{x}})) \cdot \cos (x_{5} \pi /2) \cdot \cos (x_{6} \pi /2) \\ {\text{Minimize }}f_{2} = & (1 + g({\mathbf{x}})) \cdot \cos (x_{5} \pi /2) \cdot \sin (x_{6} \pi /2) \\ {\text{Minimize }}f_{3} = & (1 + g({\mathbf{x}})) \cdot \sin (x_{5} \pi /2) \\ {\text{where }}g({\mathbf{x}}) = & {\sum\limits_{i = 1}^4 {(x_{i} - 0.5)^{2} } } \\ {\text{subject to: 0}} \le & x_{i} \le 1\quad {\text{for }}i = 1,2, \ldots ,6 \\ \end{aligned} $$\end{document} 4 2 n 5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document} $$ {\text{incr}} = {\left( {\frac{{x^{{\text{U}}} - x^{{\text{L}}} }} {{2^{n} - 1}}} \right)} $$\end{document} 1 Table 1 4 Binary code 0 0 0 0 0 0 0 0 0 1 0.1 1/15 0 0 1 0 0.1 2/15 0 0 1 1 0.2 3/15 0 1 0 0 0.3 4/15 0 1 0 1 0.3 5/15 0 1 1 0 0.4 6/15 0 1 1 1 0.5 7/15 1 0 0 0 0.5 8/15 1 0 0 1 0.6 9/15 1 0 1 0 0.7 10/15 1 0 1 1 0.7 11/15 1 1 0 0 0.8 12/15 1 1 0 1 0.9 13/15 1 1 1 0 0.9 14/15 1 1 1 1 1 1 1 3 2 Table 2 Default parameter setting for the genetic algorithm Parameter Value Crossover points 2 Mutation rate 1% N 3 N extern N N cluster N 2 f 1 f 2 f 3 Fig. 2 black dots a b 2 4 g x 2 2 x i i  x 5 x 6 3 Fig. 3 a b c d boxes line in the box bold dashed line x 1 x 2 x 3 x 4 x 5 x 6 3 3 3 x 5 x 6 Conclusions 6 12