  dr Tomasz D.Gwiazda
Assistant Professor

——————— Home page Short CV
Publications (e-)Books Papers My latest book Students Office hours Teaching
———————

Introduction

Standard operators

Binary coded operators Count-preserving Crossover (CPC) download PDF with first 40 pages from my latest eBook if you need more operators click here Keywords number of  “1” preservation Motivation ●   Preserving constant number of bits equal to “1” in every chromosome of a population. Source text ●   Hartley S.J., Konstam A.H. (1993), Using Genetic Algorithms to Generate Steiner Triple Systems, in ACM Conference on Computer Science, pp.366-371 Read also ●   Hou Y.-Ch., Chang Y.-H. (2004), A New Efficient Encoding Mode of Genetic Algorithms for the Generalized Plant Allocation Problem, in Journal of Information Science and Engineering, vol. 20, pp. 1019-1034 WEB:     See also ●   Count-preserving Crossover-2 ●   Set-Oriented Crossover ●   Self Crossover Algorithm 1.     select two parents A(t)=(a1(t),...,an(t)) and B(t)=(b1(t),...,bn(t)) from        a parent pool 2.     create two lists of differences Lup and Ldown as follows: 3.     Lup= empty_list, Ldown= empty_list, L_length = 0 4.              for i = 1 to n do 5.                              if ai = 1 and bi = 0 then 6.                              append i to Lup 7.                              L_length  = L_length + 1 8.                              else if ai = 0 and bi = 1 then 9.                              append i to Ldown 10.                           end if 11.           end do 12.  create two offspring A(t+1) and B(t+1) as follows: 13.  copy all bits from parent A(t) to offspring A(t+1) 14.  copy all bits from parent B(t) to offspring B(t+1) 15.           for j = 1 to L_length do 16.                           if Rnd < 0.5 then 17.                           at position determined by Ljup exchange the bits                            between offspring A(t+1) and B(t+1) 18.                           at position determined by Ljdown exchange the bits                            between offspring A(t+1) and B(t+1) 19.                           end if 20.           end do where: Rnd – uniform random real number, 0≤Rnd≤1 L_length – number of elements in the Lup and Ldown Ljup –  jth element of Lup Ljdown –  jth element of Ldown Comments ●   The CPC operator carries out its task (see: motivation) assuming, that the number of bits equal to “1” in every chromosome in the initial population P(0) is the same. ●   CPC may guarantee preservation of the constant number of bits equal to “1” due to application of two lists noting the differences between the parents (rows: 3-11). List Lup includes positions (numbers) of those bits, on which there are differences between the parents, but the first parent at a given position holds a bit equal to “1” and the second equal to “0” (row: 5). List Ldown similarly notes the positions of differences, but the first parent at a given position holds a bit equal to “0” and the second equal to “1” (row: 8). The offspring creation process making use of  those lists is based on the exchange of bits between the offspring at those positions which, are indicated by subsequent element pairs from lists Lup and Ldown (rows: 17 and 18). ●   Number of elements in Lup and in Ldown is the same, which is a direct result of the assumption, that the number of bits equal to “1” is constant for all chromosomes in P(0). Experiment domains ●   n/a Compared to ●   n/a        