Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Генетичний пошук в пакеті 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).




Переглядів: 471

<== попередня сторінка | наступна сторінка ==>
Критерії зупинення | Завдання до роботи

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.004 сек.