шальний пристрій)? gamultiobj, це і є наш генетичний алгоритм
У поле Fitness function (функція придатності) вказується оптимізується функція у виглядіfitnessfun, де fitnessfun.m - назва M-файлу, в якому попередньо слід описати оптимізується функція. M-файл створюється в середовищі MATLAB через меню File- gt; New- gt; Function.
рис.3.14. Вкладка Optimization Tool
Приклад опису функції:
f=chaos (x) (1)=- 2 * x (1) - 2 * x (2) - 3 * x (3) - 3 * x (4) - 2 * x (5), (2)=5 * x (1) + 2 * x (2) + 3 * x (3);
Повернемося до основного вікна утиліти Optimization Tool. У полі Number of variables (число змінних) вказується довжина вхідного вектора оптимизируемой функції. У розглянутому вище прикладі функція my_fun має вхідний вектор довжини 5.
У панелі Constraints (обмеження) можна задати обмеження або обмежуючу нелінійну функцію. У полі Linear inequalities задається лінійне обмеження нерівністю виду: A * x? b.
У поле Linear equalities даній панелі задаються лінійні обмеження рівністю: A * x=b.
В обох випадках A - деяка матриця, b - вектор.
У поле Bounds (межі) у векторному вигляді задаються нижню і верхню обмеження змінних.
Якщо в конкретній задачі не потрібно завдання обмежень, усі поля панелі Constraints слід залишити незаповненими.
У Options, знаходиться панель настройки графіків. Вона дозволяє виводити різні графіки, що відображають інформацію про роботу генетичного алгоритму. На основі цієї інформації можна змінювати налаштування алгоритму з метою підвищення ефективності його роботи.
Детальніше ця панель буде описана нижче нарівні з рештою панелями вкладки Options утиліти gamultiobj.
Панель Run Solver містить керуючі елементи (кнопки Start, Pause і Stop для початку, тимчасової та повної зупинки роботи генетичного алгоритму). Також вона містить поля Current Iteration, в яке виводяться поточні результати роботи запущеного генетичного алгоритму, і Final point, в якому виводиться значення кінцевої точки роботи алгоритму - найкращою величини оптимизируемой функції (тобто, шукане значення). У правій частині основного вікна утиліти Optimization Tool знаходиться панель Options. Вона дозволяє встановлювати різні налаштування для роботи генетичних алгоритмів.
рис.3.15. Панель Options
При клацанні мишею по кнопках «+», які знаходяться навпроти назви кожного з параметрів, що настроюються в панелі Options, з'являються випадають списки (вкладки), що містять поля для введення і зміни відповідних параметрів генетичного алгоритму.
Основними налаштованим параметрами в Optimization Tool є:
) популяція (вкладка Population);
) оператор відбору (вкладка Selection);
) оператор репродукції (вкладка Reproduction);
) оператор мутації (вкладка Mutation);
) оператор схрещування (вкладка Crossover);
) перенесення особин між популяціями (вкладка Migration);
) багатокритеріальні спеціальні параметри (вкладка Multiobjective problem settings);
) завдання гібридної функції (вкладка Hybrid function);
) завдання критерію зупинки алгоритму (вкладка Stopping criteria);
) висновок різної додаткової інформації по ходу роботи генетичного алгоритму (вкладка Plot Functions);
) висновок результатів роботи алгоритму у вигляді нової функції (вкладка Output function);
) завдання набору інформації висновку в командне вікно (вкладка Display to command window);
) спосіб обчислення значень оптимізованої і обмежує функцій (вкладка User function evaluation).
Розглянемо докладніше всі вищеперелічені вкладки панелі Options і елементи, які вони містять.
. У вкладці настройки популяцій користувач має можливість вибрати тип математичних об'єктів, до якого будуть ставитися особини всіх популяцій (подвійний вектор, бітова рядок або користувальницький тип). При цьому варто враховувати, що використання бітової рядка і користувацьких типів накладають обмеження на перелік допустимих операторів створення, мутації та схрещування особин. Так, наприклад, при виборі в якості форми подання особин бітової рядка для оператора схрещування не можна використовувати гібридну функцію або нелінійну обмежуючу функцію.
Також вкладка популяції дозволяє настроювати розмір популяції (зі скількох особин складатиметься кожне покоління) і яки...