is represented in a fixed alphabet with an established meaning (genes). The population undergoes a simulated evolution with relatively good solutions producing offsprings, which subsequently replace the worse ones. The estimate of the quality of a solution is based on a fitness function, which plays role of an environment. The simulation cycle is performed in three basic steps. During the selection step a new population is formed by stochastic sampling (with replacement). Then, some of the members of the newly selected populations recombine. Finally, all new individuals are re-evaluated. The mating process (recombination) is based on the application of two operators: mutation and crossover. Mutation introduces random variability into the population, and crossover exchanges random pieces of two chromosomes in the hope of propagating partial solutions.

In the case of portfolio optimization problem the solution (chromosome) is a vector ${\bf q} = (q_1, \ldots, q_N)$ consisting of $N$ elements (genes) that can take binary values $q_i \in \{0, 1\}$. Our task is to find the combination of genes that minimizes the objective (fitness) function $O({\bf
q})$. Due to the relatively short string of genes we do not use the crossover recombination mechanism as it provides very little value in improving 