Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Програма для пошуку мінімуму функції двох дійсних змінних в заданій області

Реферат Програма для пошуку мінімуму функції двох дійсних змінних в заданій області





ідбір найкращих особин для популяції для переходу в наступне покоління}

function Select1: integer; i, j, m: integer; ipick gt; PopSize then (OldPop);:=1 ;;:=ipick;:=ipick + 1; OldPop [j] .Fitness lt; OldPop [i] .Fitness then:=j:=i; (ipick, 2);:=m ;;:=1; i:=1 to PopSize do [i]:=OldPop [Select1];

OldPop:=IntPop ;;

{О?? ератор двухточечной мутації}

procedure Mutation (var a: Chromosome; var NMutation: integer; flchrom: integer); jcross, jcross1: integer ;: Allele; Flip (PMutation) then {Мутація з імовірністю PMutation} (NMutation); {Нарощуємо лічильник мутацій}

{Шукаємо біти для обміну}:=1 + Random (flchrom);

jcross1:=1 + Random (flchrom);

{Цикл, поки точки обміну НЕ будуть різними} jcross=jcross1 do:=1 + Random (flchrom);

{Обмінюємо}:=a [jcross]; [jcross]:=a [jcross1]; [jcross1]:=d ;;;

{Оператор рівномірного схрещування} Crossover (var Parent1, Parent2, Child1, Child2: Chromosome ;: integer; var NCross, NMutation: integer); j: integer; Flip (PCross) then {Схрещування з імовірністю PCross} (NCross) ; {Нарощуємо лічильник схрещувань} j:=1 to flchrom do

{Виробляємо схрещування} Flip (0.5) then [j]:=parent1 [j]; [j]:=parent2 [j]; [j]:=parent2 [j]; [j]:=parent1 [j ] ;;;

{двоточкову мутація} (Child1, NMutation, flchrom); (Child2, NMutation, flchrom) ;;

{Генерування нового покоління за допомогою відбору, схрещування і мутації}

{Передбачається, що популяція має парний розмір} Generation; i: integer ;;:=1;

{Виконуються відбір, схрещування і мутація поки повністю не

сформується нова популяція newpop}

{Схрещування і мутація - мутація вставлена ??в процедуру схрещування} (OldPop [i] .Chrom, OldPop [i + 1] .Chrom, [i] .Chrom, NewPop [i + 1] .Chrom, * Dim, NCross , NMutation);

{Декодування рядки і обчислення придатності} NewPop [i] do (Chrom, x);:=ObjFunc (x) ;; Newpop [i + 1] do (Chrom, x);:=ObjFunc (x) ;; (i, 2); i gt; PopSize ;;; {Очищення екрану}; {Ініціалізація генератора випадкових чисел} h:=1 to 2 do {Цикл вибору кількості поколінь} h=1 then NGen:=P1; {Кількість поколінь} h=2 then NGen:=P2; s:=1 to 3 do {Цикл вибору розміру популяції} s=1 then PopSize:=S1; {Розміри популяцій} s=2 then PopSize:=S2; s=3 then PopSize:=S3;:=0; {Ініціалізація змінної відповіді} b:=1 to N do {проганяють N раз для підвищення достовірності}:=0; {Ініціалізація лічильника мутація}:=0; {Ініціалізація лічильника схрещувань}; {Створення початкової популяції} (Max, Avg, Min, OldPop);:=Min;:=1; {Установка лічильника поколінь в 0} {Головний ітераційний цикл}; (Max, Avg, Min, NewPop); Min lt; BestMin then BestMin:=Min;:=NewPop;

{перехід на нове покоління} (Gen); Gen gt; PopSize;:=Result + Min ;; ( Кількість поколінь - raquo ;, NGen);:=Result/N; {Знаходимо середнє значення відповіді} ( Розмір популяції, особин - raquo ;, PopSize); ( Середній мінімум речовій функції= raquo ;, Result: 12); ( Кращий мінімум речовій функції= raquo ;, BestMin: 12 ) ;; {Цикл вибору кількості популяцій}; {Цикл вибору кількості поколінь} ( Для завершення програми, натисніть будь-яку клавішу ) ;;.


Назад | сторінка 8 з 8





Схожі реферати:

  • Реферат на тему: Схрещування у свинарстві
  • Реферат на тему: Промислове схрещування свиней
  • Реферат на тему: Криж культурних даследаванняў и жаночих Палава мутація
  • Реферат на тему: Поняття популяції в екології. Класифікація популяцій по Н.П. Наумову
  • Реферат на тему: Проблеми взаємовідносин поколінь