В статье рассмотрен вариант повышения эффективности решения задачи ком-
мивояжера с применением расширенной оценки ветвей в методе ветвей и границ. Предложен алгоритм и приведены результаты решения тестовых задач. Численный эксперимент по решению серии задач показал, что для задач с числом городов больше 300 вероятность получения улучшенного решения приближается к 100 %
У статті розглянуто варіант підвищення ефективності вирішення задачі комівоя-
жера з застосуванням розширеної оцінки гілок в методі гілок і меж. Алгоритм для оцінки «перспективності» деякої аij гілки оперує вартістю гілок, що виходять з вузла i та гілок, що входять у вузол j. Алгоритм розглядає гілки нульової довжини, і вибирає гілку, при заміні якої на нескінченність, можна відняти найбільше число з рядка і стовпця, відповідних даної гілки. Оцінку гілки можна розширити, з огляду на більшу кількість елементів матриці вартостей, а саме гілки що входять в вузол i, ігілки, що виходять з вузла j, тобто j-тий рядок і i-тий стовпець і збільшити, таким чином, в два рази число аналізованих елементів матриці. Запропонована розширена оцінка дозволяє збільшити ефективність алгоритму. У роботі при дослідженні алгоритмів використовувалася мова програмування C#. Ефективність алгоритму зростає при збільшенні розмірності задачі. Наведено результати вирішення тестових завдань. Чисельний експеримент показав, що для задач з числом міст більше 300 кожне рішення при використанні розширеної оцінки виявляється краще, ніж при використанні класичного алгоритму, ймовірність отримання поліпшеного рішення наближається до 100 %. Можна припустити, що подальше розширення оцінки призведе до більшого підвищення ефективності алгоритму. Таким чином, програма, яка використовує алгоритм гілок і меж, помітно підвищує ймовірність отримання кращого рішення для випадкової завдання за рахунок використання розширеної оцінки.
The article discusses the option of improving the efficiency of solving the traveling salesman problem by applying an extended branch estimate in the branch and bound method. The algorithm for assessing the «perspective» of some aij branch operates on the cost of the branches leaving node i and the branches included in node j. The algorithm considers the branches of zero length and selects the branch, with the replacement of which to infinity, you can subtract the largest number from the row and column corresponding to this branch.
The algorithm considers the branches of zero length and selects the branch, with the replacement of which to infinity, you can subtract the largest number from the row and column corresponding to this branch. The branch estimate can be expanded, taking into account the greater number of elements of the cost matrix, namely, the branches included in node i, and the branches leaving node j, that is, the j row and i column, thus doubling the number of analyzed elements of the matrix. The proposed extended estimate allows to increase the efficiency of the algorithm.
The work in the study of algorithms used the programming language C#. The efficiency of the algorithm increases with increasing dimension of the problem. The results of solving test tasks are given. The numerical experiment showed that for problems with more than 300 cities, each solution using the extended estimate turns out to be better than using the classical algorithm, the probability of obtaining an improved solution approaches 100 %.