МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
|||||||
Генетичний пошук в пакеті MatlabДля використання генетичних методів, у середовищі Matlab передбачена функція ga:
[x, Fmin] = ga(@fitnessfun, n, options)
Функція ga знаходить мінімум Fmin функції fitnessfun, що має n параметрів, а також вектор x, що мінімізує цільову функцію. Параметри роботи функції ga задаються в змінній options, що представляє собою наступну структуру:
options = PopulationType: 'doubleVector' PopInitRange: [2x1 double] PopulationSize: 20 EliteCount: 2 CrossoverFraction: 0.8000 MigrationDirection: 'forward' MigrationInterval: 20 MigrationFraction: 0.2000 Generations: 100 TimeLimit: Inf FitnessLimit: -Inf StallLimitG: 50 StallLimitS: 20 InitialPopulation: [] InitialScores: [] PlotInterval: 1 CreationFcn: @gacreationuniform FitnessScalingFcn: @fitscalingrank SelectionFcn: @selectionstochunif CrossoverFcn: @crossoverscattered MutationFcn: @mutationgaussian HybridFcn: [] Display: 'final' PlotFcns: [] OutputFcns: [] Vectorized: 'off'
Для зміни значень параметрів функції ga використовується команда gaoptimset, а для одержання поточних параметрів – функція gaoptimget. Наприклад, для встановлення розміру популяції в 100 особин необхідно використати наступну команду:
options = gaoptimset('PopulationSize', 100)
Функція gaoptimset дозволяє також передавати параметри в обрані функції, що реалізують основні генетичні оператори. Наприклад, для використання функції мутації mutationgaussian з параметрами scale = 0.5 (середньоквадратичне відхилення) і shrink = 0.75 (параметр скорочення) можна використати таку команду:
scale = 0.5; shrink = 0.75; options = gaoptimset('MutationFcn',{@mutationgaussian,scale,shrink}) Приклад Дано наступні обмеження нерівності і нижні межі Наступний код шукає мінімум функції, Fitness_function , яка описана у файлі Fitness_function.m
A = [1 1; -1 2; 2 1]; b = [2; 2; 3]; lb = zeros(2,1); [x,fval,exitflag] = ga(@Fitness_function,… 2,A,b,[],[],lb)
Результат роботи:
Optimization terminated: average change in the fitness value less than options.TolFun.
x = 0.6670 1.3340 fval = -8.2258 exitflag =
Текст Fitness_function.m:
function y = Fitness_function(x)
y = 0.5*x(1)^2+x(2)^2-x(1)*x(2)-2*x(1)-6*x(2);
Matlab, починаючи з версії 7.0, містить візуальний інтерфейсний модуль для роботи з генетичними методами – Genetic Algorithm Tool (GAT), що входить до складу бібліотеки Genetic Algorithm and Direct Search Toolbox. Запуск GAT відбувається за командою:Gatool або OPTIMTOOL(ga).
|
||||||||
|