
- •Контрольні питання до курсу “Комбінаторні методи та алгоритми”
- •Класифікація оптимізаційних задач
- •Задачі лінійної, нелінійної, цілочисельної, булевої, стохастичної та комбінаторної оптимізації
- •Формулювання комбінаторних оптимізаційних задач
- •Типові приклади задач комбінаторного типу. Комбінаторні задачі в програмній інженерії (приклади, формулювання).
- •5. Класифікація комбінаторних оптимізаційних задач.
- •6. Задачі поліноміальних та неполіноміальних типів. Класи р та np. Приклади.
- •7. Критерії оптимізації.
- •8. Багатокритеріальні задачі.
- •9. Зона Парето.
- •10. Елементи теорії графів та гіперграфів
- •11. Характеристичні числа графів
- •12. Числа внутрішньої та зовнішньої стійкості
- •13. Хроматичне число
- •14. Планарність графів. Теорема Понтрягіна-Куратовського.
- •15. Проектування алгоритмів. Точність, обчислювальна та ємнісна складність. Проблема стопу.
- •16. Алгоритми пошуку найбільшого (найменшого елемента) списку. Обчислювальна та ємнісна складність алгоритму.
- •17. Алгоритми впорядкування списку. Обчислювальна та ємнісна складність алгоритму.
- •Характеристики алгоритмів сортування:
- •Алгоритм сортування вибіркою (Selection Sort)
- •Алгоритм сортування бульбашкою (Bubble Sort)
- •Алгоритм вставки або включення (Insertion Sort)
- •Алгоритм швидкого сортування (Quick Sort)
- •Алгоритм злиття (Merge Sort)
- •Алгоритм позиційного сортування (Radix Sort)
- •Блокове сортування або сортування комірками (Bucket Sort)
- •18. Алгоритми визначення мінімальних зв'язувальних дерев, їх обчислювальна та ємнісна складність. Алгоритм Прима
- •Алгоритм Краскала (Крускала)
- •19. Алгоритми визначення оптимальних шляхів в графах, їх обчислювальна та ємнісна складність. Жадібний алгоритм (задача комівояжера)
- •Алгоритм найближчого сусіда
- •Алгоритм Ліна-Кернігана
- •Алгоритм Дейкстри
- •Алгоритм:
- •Хвильовий алгоритм
- •Алгоритм:
- •Транспортні мережі. Алгоритми визначення найбільшого потоку.
- •Методи розв'язування задач дискретної оптимізації.
- •Метод гілок та границь. Переваги та недоліки.
- •Жадібні алгоритми. Переваги та недоліки.
- •Алгоритми найближчого сусіда. Переваги та недоліки.
- •Метод моделювання відпалу. Переваги та недоліки.
- •Генетичні та еволюційні методи. Переваги та недоліки.
- •39 Класифікація методів та алгоритмів для розв'язування задачі трасування, їх переваги та недоліки. Обчислювальна складність.
6. Задачі поліноміальних та неполіноміальних типів. Класи р та np. Приклади.
Клас складності P —задачі, що можна розв'язати алгоритмами з поліноміальним часом. Поліноміальні задачі – такі, які можна представити у вигляді полінома.
Прикладами завдань з класу P є цілочисельні додавання, множення, ділення, взяття залишку від ділення, множення матриць, з'ясування зв'язності графів, сортування безлічі з n чисел, знаходження ейлерова циклу на графі з m ребер, виявлення в тексті довжиною n деякого слова, побудова покриття дерева мінімальної вартості, лінійне програмування та деякі інші.
Клас складності NP — клас складності, до якого належать задачі, які можна розв'язати недетермінованими алгоритмами за поліноміальний час; тобто, недетермінованими алгоритмами в яких завжди існує шлях успішного обчислення за поліноміальний час відносно довжини вхідного рядка; До задач класу складності NP належать:
Розв'язність логічного виразу.
Три-кольорове розфарбування графу.
Побудова кліки з вершин на неорієнтованому графі.
Покриття множин; Розбиття множин
Існування гамільтонового циклу на неорієнтованому графі.
Задача пакування рюкзака
Розбиття на дві частини
Задача комівояжера.
7. Критерії оптимізації.
Правильний вибір критеріїв відіграє істотну роль у виборі оптимального рішення. У теорії прийняття рішень не знайдено загального методу вибору критеріїв оптимальності. В основному керуються досвідом або рекомендаціями.
Великі складнощі викликають «необчислювальні» критерії оптимальності, які стосуються, наприклад, гуманітарних питань, художнього враження, зміни ландшафту і т. п. (наприклад, зручності, краси). Для таких критеріїв можуть застосовуватися експертні оцінки.
Найбільш розроблені методи однокритеріальної оптимізації, в більшості випадків дозволяють отримати однозначне рішення. У завданнях багатокритеріальної оптимізації абсолютно краще рішення вибрати неможливо (за винятком окремих випадків), так як при переході від одного варіанту до іншого, поліпшуються значення одних критеріїв, але погіршуються інші. Склад таких критеріїв є суперечливим, і остаточне рішення буде компромісним. Компроміс дозволяється введенням тих чи інших додатк. обмежень чи суб'єктивних припущень. Часто багатокритеріальну задачу зводять до однокритерійної застосуванням «згортання» критеріїв в один комплексний, - цільову функцією. Наприклад, в конкурсних процедурах вибору підрядників і постачальників цільова функція розраховується на основі бальних критеріїв. У ряді випадків успішно застосовуються ранжування та послідовне застосування критеріїв оптимальності, метод аналізу ієрархій.
8. Багатокритеріальні задачі.
Багатокритеріальна оптимізація — це процес одночасної оптимізації двох або більше конфліктуючих цільових функцій в заданій області визначення.
Задача багатокритеріальної оптимізації формулюється таким чином:
де
це
(
) цільових
функцій.
Вектори розв'язків
належать
до не порожньої області визначення
.
Задача багатокритеріальної оптимізації полягає у пошуку вектора цільових змінних, який задовольняє накладеним обмеженням та оптимізує векторну функцію, елементи якої відповідають цільовим функціям. Ці функції утворюють математичне описання критерію задовільності та, зазвичай, взаємно конфліктують. Звідси, «оптимізувати» означає знайти такий розв'язок, за якого значення цільових функцій були б прийнятними для постановника задачі.