anchor.diff:    f_GA_SIMULATION_TIME_IN_MIN    := 10;
     f_GA_POPULATION_CNT            := 2;
     f_GA_INDIVIDUALS_IN_TOURNAMENT := 2;
  -  f_GA_GENE_CNT                  := 5;
  +  f_GA_GENE_CNT                  := 8;
     f_GA_MAPS_CNT                  := 9;
     f_GA_START_MUTATION            := 0.2;
     f_GA_FINAL_MUTATION            := 0.01;
  
positive.code: initialization
    RegisterRunner(TKMRunnerGA_TestManager);
    RegisterRunner(TKMRunnerGA_CityRoadPlanner);
    RegisterRunner(TKMRunnerGA_CityPlannerForest);
    RegisterRunner(TKMRunnerGA_CityBuilder);
    RegisterRunner(TKMRunnerGA_CityPlanner);
    RegisterRunner(TKMRunnerGA_CityPredictor);
  
negative.code:   I: Integer;
  begin
    I := 0;
    GA_PREDICTOR_CityInitialization_Space        := aIdv.Gene[Incr(I)] * 1 / 500.0;
    GA_PREDICTOR_CityInitialization_Fertility    := aIdv.Gene[Incr(I)] * 1 / 500.0;
    GA_PREDICTOR_CityInitialization_Worker       := aIdv.Gene[Incr(I)] * 1 / 10.0;
    GA_PREDICTOR_STONE_NEED_PER_A_WORKER         := aIdv.Gene[Incr(I)] * 1;
    GA_PREDICTOR_WOOD_NEED_PER_A_WORKER          := aIdv.Gene[Incr(I)] * 1;
    GA_MANAGER_CheckUnitCount_SerfCoef           := aIdv.Gene[Incr(I)] * 1;
    GA_MANAGER_CheckUnitCount_SerfLimit          := Max(1, aIdv.Gene[Incr(I)] * 10);
    GA_BUILDER_STONE_SHORTAGE                    := Max(1, aIdv.Gene[Incr(I)] * 10);
  
    if aLogIt then
    begin
      fLogPar.AddTime('GA_PREDICTOR_CityInitialization_Space          : Single = ' + FloatToStr( GA_PREDICTOR_CityInitialization_Space     ) + ';');
      fLogPar.AddTime('GA_PREDICTOR_CityInitialization_Fertility      : Single = ' + FloatToStr( GA_PREDICTOR_CityInitialization_Fertility ) + ';');
      fLogPar.AddTime('GA_PREDICTOR_CityInitialization_Worker         : Single = ' + FloatToStr( GA_PREDICTOR_CityInitialization_Worker    ) + ';');
      fLogPar.AddTime('GA_PREDICTOR_STONE_NEED_PER_A_WORKER           : Single = ' + FloatToStr( GA_PREDICTOR_STONE_NEED_PER_A_WORKER      ) + ';');
      fLogPar.AddTime('GA_PREDICTOR_WOOD_NEED_PER_A_WORKER            : Single = ' + FloatToStr( GA_PREDICTOR_WOOD_NEED_PER_A_WORKER       ) + ';');
      fLogPar.AddTime('GA_MANAGER_CheckUnitCount_SerfCoef             : Single = ' + FloatToStr( GA_MANAGER_CheckUnitCount_SerfCoef        ) + ';');
      fLogPar.AddTime('GA_MANAGER_CheckUnitCount_SerfLimit            : Single = ' + FloatToStr( GA_MANAGER_CheckUnitCount_SerfLimit       ) + ';');
      fLogPar.AddTime('GA_BUILDER_STONE_SHORTAGE                      : Single = ' + FloatToStr( GA_BUILDER_STONE_SHORTAGE                 ) + ';');
    end;
  end;
  
  