
- •Контрольні питання до курсу “Комбінаторні методи та алгоритми”
- •Класифікація оптимізаційних задач
- •Задачі лінійної, нелінійної, цілочисельної, булевої, стохастичної та комбінаторної оптимізації
- •Формулювання комбінаторних оптимізаційних задач
- •Типові приклади задач комбінаторного типу. Комбінаторні задачі в програмній інженерії (приклади, формулювання).
- •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 Класифікація методів та алгоритмів для розв'язування задачі трасування, їх переваги та недоліки. Обчислювальна складність.
Типові приклади задач комбінаторного типу. Комбінаторні задачі в програмній інженерії (приклади, формулювання).
Комбінаторика (Комбінаторний аналіз) — розділ математики, присвячений розв'язанню задач вибору та розташування елементів деякої, зазвичай, скінченної множини відповідно до заданих правил. Кожне таке правило визначає спосіб побудови деякої конструкції із елементів вихідної множини, що зветься комбінаторною конфігурацією. Тому на меті комбінаторного аналізу стоїть дослідження комбінаторних конфігурацій, алгоритмів їх побудови, оптимізація таких алгоритмів, а також розв'язання задач переліку.
Найпростішими прикладами комбінаторних конфігурацій є перестановки, розміщення, комбінація та розбиття.
В основі
розв'язання багатьох задач комбінаторики
лежать два простих правила — правило
суми та правило
добутку. Правило
суми стверджує,
що якщо є можливість вибрати елемент з
деякої множини елементів А
способами,
а елемент з множини В,
яка не має спільних елементів з
множиною А, —
способами,
то вибрати елемент множини А або
елемент множини В можна
способами.
Правило
добутку використовується
тоді, коли кожний елемент множини А може
бути вибраний разом з елементом множини В.
Відповідно до кожного способу вибору
елемента множини А буде
зіставлятися
способів
вибору елемента множини В.
Тоді загальна кількість способів
сумісного вибору елементів множини А з
елементами множини В,
очевидно, дорівнюватиме
.
Комбінаторні задачі в програмній інженерії:
Дослідження хвильового алгоритму трасування електричних схем;
Тріангуляція плоскої поверхні
алгоритм найближчого сусіда для розв’язання задачі комівояжера
жадібний алгоритм для розв’язання задачі комівояжера
алгоритми 2-opt 3-opt для розв’язання задачі комівояжер
5. Класифікація комбінаторних оптимізаційних задач.
Методи оптимізації класифікують відповідно до задач оптимізації:
1) Локальні методи: сходяться до якого-небудь локального екстремуму цільової функції.
2) Глобальні методи: мають справу з багатоекстремальними цільовими функціями.
Існуючі в цей час методи пошуку можна розбити на три великі групи:
Детерміновані; Випадкові (стохастичні); комбіновані.
За критерієм вимірності допустимої множини, методи оптимізації поділяють на методи одномірної оптимізації і методи багатомірної оптимізації.
За видом цільової функції й допустимої множини, задачі оптимізації й методи їхнього розв'язання можна розділити на наступні класи:
1) Задачі лінійного програмування.
2) Задачі нелінійного програмування . У свою чергу з них виділяють дві часткові задачі:
- якщо
і
-
опуклі функції, то це задача опуклого
програмування;
- якщо
,
то мають справу із задачею цілочислового
(дискретного) програмування.
За вимогами до гладкості і наявності в цільової функції частинних похідних, їх ділять на:
прямі методи, що вимагають тільки обчислень цільової функції в точках наближень;
методи першого порядку: вимагають обчислення перших частинних похідних функції;
методи другого порядку: вимагають обчислення других частинних похідних.
Крім того, розділами математичного програмування є параметричне програмування, динамічне програмування і стохастичне програмування. Математичне програмування використовується при розв'язанні оптимізаційних задач дослідження операцій.