m, oldpop [mate2]. chrom, [j]. chrom, newpop [j + 1]. chrom);
{Декодування рядки і обчислення придатності}
with newpop [j] do begin (chrom, lchrom, x);: = objfunc (x);; newpop [j +1] do begin (chrom, lchrom, x);: = objfunc (x);;: = j + 2; j> popsize; output; ('Розмір популяції-', popsize, 'число поколінь-', maxgen);
writeln ('Краще значення мінімуму-', minBest: 14:14); ('Середнє значення мінімуму-', minAverage: 14:14);;; {Головна програма};
{Ініціалізація генератора випадкових чисел};: = 20; {число бітів на один кодований параметр}: = lchrom * dim;: = 0.01; {ймовірність мутації}
pcross: = 0.9; {ймовірність схрещування} count3: = 1 to 3 do begincount3 of
: popsize: = 8;
: popsize: = 12;
3: popsize: = 20; {розмір популяції 8,12,20 особин};
maxgen: = 40; {число поколінь} maxgen <= 80 do begin: = 0; nProgon: = 1 to 30 do begin {30 прогонів}; (popsize, min, oldpop); nProgon = 1 then minBest: = min;
gen: = 0; {Установка лічильника поколінь в 0} {Головний ітераційний цикл}: = gen + 1;
generation; (popsize, min, newpop);: = newpop; {перехід на нове покоління}
until (gen> = maxgen); min
end. {End головної програми}