Особливості методу гілок і границь для розв’язування задачі про комівояжера
Для методу гілок і границь існують різні підходи його реалізації. Однак загальною є ідея розбивки (розгалуження) множини припустимих значень ( на дерево підмножин (дерево розв’язків). При цьому процес розгалуження, заснований на побудові оцінок знизу (нижньої границі) для цільової функції на деякій множині розв’язків.
Для кожної задачі, з урахуванням її специфіки, розробляються наступні підходи:
1) Правило розгалуження.
2) Спосіб обчислення оцінок (функція цілі).
3) Способи знаходження розв’язків.
Отже, основною особливістю методу гілок і границь є те, що він дозволяє організувати повну процедуру перебору відповідних планів задачі.
Розглянемо зазначений підхід детально.
Нехай на деякій множині W необхідно мінімізувати функцію j. Тоді цю процедуру реалізують у такий спосіб: W розбивають на ряд непересічних підмножин і потім вибирається та підмножина, наприклад W1, на якій функція j досягає свого найменшого значення. Далі розбивають W1 на ряд підмножин і вибирають ту з них, наприклад W2, на якій функція j досягає свого мінімального значення. Далі W2 розбивають на кілька непересічних частин. Такий процес розгалуження реалізують до одноелементної множини. Така одноелементна множина називається рекордом.
Практичну реалізацію методу гілок і границь для задачі про комівояжера зручніше за все проводити на тлі конкретному прикладі.
Приклад. Спекла бабка колобок і поставила його остигати на віконце. І вирішив колобок, що поки він стигне, він може оббігти ліс, подивитися на лісових жителів і знову повернутися. Сказано-зроблено. Зстрибнув він з віконця й покотився в ліс. Допоможіть колобку знайти найкоротший шлях його руху в лісі, якщо відстань між норами й будинком діда й баби дані в наступній таблиці:
Дід і баба | Заєць | Вовк | Ведмідь | Лисиця | |
Дід і баба | |||||
Заєць | 3,5 | 4,5 | |||
Вовк | 5,5 | ||||
Ведмідь | 3,5 | 5,5 | |||
Лисиця | 4,5 |
Математична модель задачі: для рішення задачі привласнимо кожному пункту задачі певний номер: дід і баба = 1, заєць =2, вовк = 3, ведмідь = 4, лисиця = 5.
Отже, загальне число пунктів n = 5. Тоді, на першому етапі можна записати функцію цілі задачі
Задача вирішується в рамках наступних обмежень:
дозволяється перехід з 1 пункту в 2 або 3 або 4 або5
Розв’язування задачі комівояжера методом гілок і границь
1. Аналіз вихідної множини ( (омега)
Знайдемо оцінку знизу функції якості. Для цієї мети на першому етапі визначимо матрицю мінімальних відстаней по рядках
Далі знаходимо значення функції цілі
.
Аналогічно визначається матриця мінімальних відстаней по стовпцях
.
Тоді .
У такому випадку оцінка функції якості Н буде визначатися на основі співвідношення
– вибираємо максимальне число.
Далі оцінимо верхнє значення функції якості. Для цієї мети виберемо початковий план
.
У такому випадку верхнє значення функції якості .
Очевидно, що вихідна множина планів ( буде містити в собі наступні підмножини:
.
Тут Wij означає перехід з i-того пункту (у цьому випадку 1) в j-ий.
2. Аналіз підмножини W12
.
У такому випадку на першому етапі матрицю вихідних маршрутів можна представити у вигляді
Для визначення нижньої границі функції якості на підмножині W12 знову визначають мінімальне значення функції якості по рядках і стовпцях
3. Аналіз підмножини W13
Верхня оцінка функції якості на цій підмножині
4. Аналіз підмножини W14
Далі визначаємо верхню границю функції якості на цій підмножині
.
5. Аналіз підмножини W15
Визначимо нижнє значення функції якості на множині W15
. – можливий варіант відвідування
.
6. Відсівання безперспективних підмножин
.
Підмножини V12 й V14 мають найкращу верхню оцінку функції якості, однак перспективним є підмножина W14, в силу того, що нижня границя функції якості є ближче до оптимальної.
Отже, надалі необхідно розглядати підмножину W14.
Розглядається підмножина W14, що містить у собі наступні підмножини .
7. Аналіз підмножини W142
.
Далі обчислюють верхню границю функції якості
.
Визначення нижньої границі функції якості
. – можливі шляхи пересування комівояжера
.
8. Аналіз підмножини W143
Визначення верхньої границі функції якості
Визначення нижньої границі функції якості
.
9. Аналіз підмножини W145
Визначення верхньої границі функції якості
Визначення нижньої границі функції якості
.
10. Відсівання безперспективних підмножин
.
Підмножина V143 є безперспективною.В силу того, що верхня границя функції якості на підмножинах V142 й V145 збігаються між собою, то далі порівнюють між собою нижні границі функції якості і тому що Н142 > Н145, то рекордом є підмножина W145. При цьому W145 буде містити в собі 2 непересічні підмножини .
11. Аналіз підмножини W1452
Визначення верхньої границі функції якості
Визначення нижньої границі функції якості
.
12. Аналіз підмножини W1453
Визначення верхньої границі функції якості
Визначення нижньої границі функції якості
.
13. Відсівання безперспективних підмножин
.
14. У такому випадку
.
Оптимальна матриця переміщень буде представлена в такий спосіб
Таким чином, оптимальний маршрут колобка буде представлений наступними відвідуваннями: дід і баба ® ведмідь ® лисиця ® заєць ® вовк ® дід і баба. При цьому .
Дерево розв’язків
0 крок | ![]() | W | ![]() | ||
![]() | W12 | W13 | W14 | W15 | ![]() |
![]() | ![]() | ||||
1 крок | |||||
2 крок | W142 | W143 | W145 | ||
![]() | ![]() | ![]() | |||
3 крок | W1452 | W1453 | |||
![]() | ![]() | ||||
W14523 |