In the present paper a special bit-masking oriented data structure for an improved implementation of crossover and mutation operators in genetic algorithms is shown. The developed data structure performs evolutionary operators in two separate steps: crossover and mutation mask ®ll and a special boolean based function application. Both phases are optimized to reach a more ef®cient, fast and¯exible genetic reproduction than standard implementations. The method has been powered adding a multi-layered, bit-masking oriented data structure and a boolean operation based control mixer, allowing special blended crossover operators obtained by superposition of the standard ones. Several examples of crossover schemes produced by these extended controls are presented. In addition, a special purpose crossover scheme, capable to process at the same time two distinct groups of design variables with separate crossover schemes is shown, in order to improve ef®ciency and convergence speed of some discrete/continuous optimization problems. Finally, to highlight further capabilities of the bit-masking approach, a special single-step version of an evolutionary direction operator is also illustrated.
IntroductionThe data structures usually employed in binary code based Genetic Algorithms (bGAs) can be essentially subdivided into two typical groups: explicit or implicit binary formulation [1]. First type is obtained using a simple boolean matrix structure (or an equivalent data type) for the population genetic code and a decoding function to properly represent chromosomal, design variable oriented information, packed into an equivalent discrete domain of representation [2] (in this work is de®ned chromosome a genetic structure related to the current design variable, typically a sub-string in explicit binary formulation and an integer decimal value in the implicit one, while genes are binary digits which constitute it, without further distinction between position [locus] and contents [allele]). The main advantage of explicit binary representation is à`n atural'' transposition of the abstract genoma model used for genetic simulations as to the binary data type, with a consequent simpli®cation of genetic operators implementation. The crossover and mutation operators can be easily de®ned by programming a set of operations which, according to a selected scheme (i.e. cut-crossover, mutation), directly works on the boolean array structure, allowing a simple parent-to-child string bit transfer. However, this approach requires additional steps to extract and decode design variables related sub-strings, causing a considerable computer time consuming activity. On the other hand, an implicit binary codi®cation based data structure is simply formed by an integer matrix. This explicit data object is related to a chromosomal level abstraction data, therefore no decoding operations are required to obtain integer design variables values, but a speci®c function, allowing bit weighted integer modi®ca-tions, must be de®ned and applied to emulate genetic i...