Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора комбінаторні методи (Питання).doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.42 Mб
Скачать
  1. Формулювання комбінаторних оптимізаційних задач

В багатьох практичних випадках виникає необхідність підрахунку кількості можливих комбінацій об’єктів, які задовольняють певним властивостям. Такі задачі називаються комбінаторними. Багатоманітність комбінаторних задач неможливо описати, але серед них є цілий ряд таких, які зустрічаються особливо часто та для яких відомі способи підрахунку. Для формулювання та розв’язку комбінаторних задач використовуються різні моделі комбінаторних конфігурацій.

  • Повний перебір;

  • Метод гілок та границь;

  • Моделювання відпалу;

  • Найближчий сусід;

  • Генетичні та евристичні алгоритми;

  • Колективної поведінки;

  • Meretic

Повний перебір

Є задачі де потрібний повний перебір.

Складність :

Число вузлів :

Кількість розгалужень:

Метод гілок та границь

Овал 46 Овал 47 Овал 48 Овал 49

Прямая со стрелкой 51 Прямая со стрелкой 52 Прямая со стрелкой 53 Прямая со стрелкой 54

Прямая со стрелкой 60 Прямая со стрелкой 58 Прямая со стрелкой 59 …….

Границі: ; найгірші і найкращі значення задачі

Шукаємо найбільш перспективну множину. Даний метод використовується для задач великої розмірності. Робиться ієрархічна декомпозиція. Розбиття залежить від властивостей задачі.

Особливості:

Якщо границі визначено точно, тоді метод гарантує розв’язок.

Недолік:

Велика обчислювана складність, яка для патологічних задач перетворюється у повний перебір. Тому використовується для задач невеликої розмірності.

Моделювання відпалу

За допомогою моделювання такого процесу шукається така точка або безліч точок, на якому досягається мінімум деякої числової функції   , Де   . Вводиться послідовність точок   простору X . Алгоритм послідовно знаходить наступну точку по попередньої, починаючи з точки   , Яка є початковим наближенням. Алгоритм зупиняється після досягнення точки   

З моменту своєї появи в 1983 році моделювання відпалу було застосоване до досить великої кількості різних проблем у різних областях. Більше 20 років досвіду привели такі загальні спостереження:

  • Висока якість розв'язків може бути отримана, але іноді за рахунок великих обсягів обчислень.

  • У багатьох практичних ситуаціях, де наявні алгоритми не працюють, моделювання відпалу має великі плюси: загальність застосування і простота реалізації.

Таким чином, моделювання відпалу є алгоритмом, який всі практики математики та науковці комп'ютерних наук повинні мати у своєму інструментарії.

Найближчий сусід

Алгоритм найближчого сусіда — один з перших і найбільш простих евристичних методів розв'язування задачі комівояжера. Відноситься до категорії жадібних алгоритмів. За кожен крок його виконання до знайденої частини маршруту додається нове ребро. Алгоритм припиняє роботу, коли розв’язок знайдено і не намагається його покращити.

Алгоритм найближчого сусіда починається в довільній точці та поступово відвідує кожну найближчу точку, яка ще не була відвідана. Пункти обходу плану послідовно включаються до маршруту, причому, кожен черговий пункт, що включається до маршруту, повинен бути найближчим до останнього вибраного пункту серед усіх інших, ще не включених до складу маршруту. Алгоритм завершується, коли відвідано всі точки. Остання точка з’єднується з першою.

Вхідні дані: множина точок V розмірністю N Вихідні дані: маршрут Т, що складається з послідовності відвідування точок множини V

Генетичні та евристичні алгоритми

Генетичний алгоритм ( англ. genetic algorithm ) - Це евристичний алгоритм пошуку, що використовується для вирішення завдань оптимізації і моделювання шляхом випадкового підбору, комбінування і варіації шуканих параметрів з використанням механізмів, що нагадують біологічну еволюцію. Є різновидом еволюційних обчислень. Відмінною особливістю генетичного алгоритму є акцент на використання оператора "схрещування", який виробляє операцію рекомбінації рішень-кандидатів, роль якої аналогічна ролі схрещування в живій природі.

Задача кодується таким чином, щоб її вирішення могло бути представлено в вигляді масиву подібного до інформації складу хромосоми. Цей масив часто називають саме так «хромосома». Випадковим чином в масиві створюється деяка кількість початкових елементів «осіб», або початкова популяція. Особи оцінюються з використанням функції пристосування, в результаті якої кожній особі присвоюється певне значення пристосованості, яке визначає можливість виживання особи. Після цього з використанням отриманих значень пристосованості вибираються особи допущені до схрещення (селекція). До осіб застосовується "генетичні оператори" (в більшості випадків це оператор схрещення (crossover) і оператор мутації (mutation), створюючи таким чином наступне покоління осіб. Особи наступного покоління також оцінюються застосуванням генетичних операторів і виконується селекція і мутація. Так моделюється еволюційний процес, що продовжується декілька життєвих циклів (поколінь), поки не буде виконано критерій зупинки алгоритму. Таким критерієм може бути:

  • знаходження глобального, або надоптимального вирішення;

  • вичерпання числа поколінь, що відпущені на еволюцію;

  • вичерпання часу, відпущеного на еволюцію.

Генетичні алгоритми можуть використатися для пошуку рішень в дуже великих і тяжких просторах пошуку.

Правая фигурная скобка 68

Д

М

Б




Правая фигурная скобка 69

R2

R1

Колективної поведінки

Мурашиний алгоритм (алгоритм оптимізації мурашиної колонії, англ. ant colony optimization, ACO) — один з ефективних поліноміальних алгоритмів для знаходження наближених рішень задачі комівояжера, а також аналогічних завдань пошуку маршрутів на графах. Суть підходу полягає в аналізі та використанні моделі поведінки мурах, що шукають дороги від колонії до їжі. У основі алгоритму лежить поведінка мурашиної колонії — маркування вдалих доріг великою кількістю феромону. Робота починається з розміщення мурашок у вершинах графа (містах), потім починається рух мурашок — напрям визначається імовірнісним методом, на підставі формули:

,

де:

 — вірогідність переходу дорогою ,

 — довжина  -ого переходу,

 — кількість феромонів на  -ому переході,

 — величина, яка визначає «жадібність» алгоритму,

 — величина, яка визначає «стадність» алгоритму і

.

Mere tic

Використовується специфіка кожної задачі.