Кластеризация ситуаций в алгоритмах решения задачи коммивояжера и ее применение в некоторых прикладных задачах. Часть I. общее описание задач и алгоритмов

УДК 004.021; 004.023

DOI 10.21685/2072-3040-2018-3-4

Б. Ф. Мельников, Е. А. Мельникова, С. В. Пивнева, Е. В. Давыдова

КЛАСТЕРИЗАЦИЯ СИТУАЦИЙ В АЛГОРИТМАХ РЕШЕНИЯ ЗАДАЧИ КОММИВОЯЖЕРА И ЕЕ ПРИМЕНЕНИЕ В НЕКОТОРЫХ ПРИКЛАДНЫХ ЗАДАЧАХ.

Часть I. ОБЩЕЕ ОПИСАНИЕ ЗАДАЧ И АЛГОРИТМОВ

Аннотация.

Актуальность и цели. В задачах дискретной оптимизации мы рассматриваем алгоритмы решения, основанные на расширениях метода ветвей и границ. Сами эти расширения заключаются в совместной работе нескольких вспомогательных эвристических алгоритмов, и они могут быть отнесены к разным, причем независимым друг от друга, областям искусственного интеллекта. Поэтому актуальность исследования обеспечивается как предметными областями, так и алгоритмами - исследованием совместной работы разных вспомогательных алгоритмов, относящихся к различным областям искусственного интеллекта. Целью исследования является дальнейшее описание применения кластеризации ситуаций в методе ветвей и границ на примере задачи коммивояжера.

Материалы и методы. Применены эвристические алгоритмы искусственного интеллекта и дискретной оптимизации, объединенные в единый программный пакет, а также статистические методы анализа алгоритмов.

Результаты. Результатами являются закономерности, полученные при применении кластеризации ситуаций и некоторых других эвристик в методе ветвей и границ при решении задачи коммивояжера.

Выводы. Было предложено улучшение алгоритма ветвей и границ с помощью подключения к нему эвристики для кластеризации ситуаций. Кроме того, получены конкретные значения для относительного улучшения среднего времени работы этого алгоритма в рассмотренной нами прикладной задаче, являющейся вариантом задачи коммивояжера, близким к псевдогеометрическому.

Ключевые слова: эвристические алгоритмы, задачи дискретной оптимизации, метод ветвей и границ, кластеризация ситуаций.

B. F. Mel'nikov, E. A. Mel'nikova, S. V. Pivneva, E. V. Davydova

CLUSTERING OF SITUATIONS IN SOLUTION ALGORITHMS OF THE TRAVELING SALESMAN PROBLEM AND ITS APPLICATION I SOME APPLIED PROBLEMS. Part I. GENERAL DESCRIPTION OF PROBLEMS AND ALGORITHMS

Abstract.

Background. In discrete optimization problems, we consider decision algorithms based on extensions of the branch and boundary method. These extensions them-

© 2018 Мельников Б. Ф. , Мельникова Е. А., Пивнева С. В., Давыдова Е. В. Данная статья доступна по условиям всемирной лицензии Creative Commons Attribution 4.0 International License (http://creativecommons. org/licenses/by/4.0/), которая дает разрешение на неограниченное использование, копирование на любые носители при условии указания авторства, источника и ссылки на лицензию Creative Commons, а также изменений, если таковые имеют место.

selves consist in the joint work of several auxiliary heuristic algorithms, and they can be attributed to different, independent of each other, areas of artificial intelligence. Therefore, the relevance of the research is provided by both subject areas and algorithms, i.e., the study of the joint work of various auxiliary algorithms related to different areas of AI.

Purpose of the study. The goal is the further description of the application of clustering situations in the branch and bound method by the example of the traveling salesman problem.

Materials and methods. The paper uses heuristic algorithms of artificial intelligence and discrete optimization, combined into a single software package, as well as statistical methods for analyzing algorithms.

Results. The results are the regularities obtained with the application of clustering situations and some other heuristics in the method of branches and boundaries in solving the traveling salesman problem.

Conclusions. It was proposed to improve the algorithm of branches and boundaries by connecting a heuristic to it for clustering situations. In addition, specific values were obtained for the relative improvement in the average time of operation of this algorithm in the applied problem considered by us, which is a version of the traveling salesman problem close to the pseudo-geometric one.

Key words: heuristic algorithms, discrete optimization problems, branch and boundary method, clustering situations.

Введение

Для многих задач дискретной оптимизации мы в наших предыдущих публикациях (см. [1-3] и др.) описывали расширение метода ветвей и границ, названное нами мультиэвристическим подходом: в нем к «обычным» вариантам метода ветвей и границ (МВГ) [4, 5] добавляются несколько вспомогательных эвристических алгоритмов, практически одинаково реализуемых в различных предметных областях (т.е. в различных оптимизационных задачах, имеющих между собой мало общего). По-видимому, сложно выделить «относительно более важные» среди этих вспомогательных эвристических алгоритмов1, но важно отметить, что ощутимый эффект эти вспомогательные эвристики обычно дают при их одновременном применении, т.е. в комплексе2.

Как отмечалось в наших предыдущих публикациях, целью для каждой из рассматриваемых задач (предметных областей) является построение не произвольных алгоритмов реального времени, а их «собственного подмножества», так называемых anytime-алгоритмов 3. Это такие алгоритмы реального

1 По-видимому, в первую очередь стоит упомянуть построение так называемой последовательности правых задач, применение функций риска при выборе разделяющего элемента (при наличии нескольких кандидатов на эту роль, также дающихся вспомогательными эвристическими программами-предикторами), а также работа «малого МВГ» - одновременная с основным алгоритмом. См. подробности в наших работах, процитированных здесь и ниже.

2 Конкретную сравнительную таблицу, отражающую желательность подобного комплексного применения вспомогательных эвристик, см., например, в [6].

3 Мы также отмечали в предыдущих публикациях, что аналогичного краткого русского термина, к сожалению, не существует. Название «алгоритмы реального времени» - недостаточное (оно не полностью отражает суть), а «постепенно приближающие псевдооптимальные алгоритмы реального времени» весьма громоздко.

времени, которые в каждый определенный момент работы имеют лучшее (на данный момент) решение1; при этом пользователь в режиме реального времени может просматривать такие решения, а последовательность выбранных решений в пределе обычно дает оптимальное решение.

Настоящая статья представляет собой продолжение нескольких предыдущих публикаций авторов, также выполненных в этом направлении. Среди этих работ для настоящей статьи наиболее важна работа [7]; еще отметим процитированные выше статьи, а также [8, 9]. Из работ других авторов отметим публикации [10-13], выполненные по рассматриваемой нами тематике («метрика на подзадачах») за последние несколько лет, т.е. после нашей публикации [7]; с нашей точки зрения, наличие этих публикаций подтверждает важность работ в данном направлении.

Статья имеет следующую структуру.

В разд. 1 кратко рассмотрено содержание наших предыдущих работ по тематике настоящей статьи. В частности, мы описываем самые общие принципы построения метрик на множествах подзадач. Кроме того, мы приводим общую схему построения алгоритмов, связывающих метод ветвей и границ с кластеризацией ситуаций.

В разд. 2 рассмотрен пример для малой размерности - начало стандартной работы метода ветвей и границ «в самом классическом варианте». В этом примере для матрицы 8^8 мы показываем достаточно очевидный факт - возможность получения одинаковых матриц (и, вследствие этого, практически одинаковых подзадач) на разных путях работы алгоритма МВГ. Именно «похожесть» получаемых подзадач и дает возможность применить кластеризацию ситуаций, поскольку согласно нашим подсчетам выполненных для разных задач дискретной оптимизации, основное время работы алгоритма МВГ уходит на выполнение вспомогательных алгоритмов выбора разделяющего элемента.

В разд. 3 приведены результаты проведенного нами статистического исследования на матрицах средней размерности для трех различных вариан-тов2 задачи коммивояжера. Мы получили статистические данные, которых, с нашей точки зрения, достаточно для положительного ответа на вопрос о необходимости применения кластеризации ситуаций при разработке практических алгоритмов.

В заключении приведен краткий план материала, который мы планируем опубликовать в части II «Списочная и матричная метрики». В ней мы при-

1 Так называемое псевдооптимальное решение, см., например [5].

2 Всюду в наших публикациях мы применяем следующую терминологию, согласованную с [4, 5]. «Вариант» проблемы определяется некоторым подмножеством всех возможных входов («математический аналог» - вхождение одного множества в другое в качестве подмножества). Отметим, что иногда применяемые в русской литературе альтернативные термины для данного понятия - фактически так называмые кальки, «подпроблема» и «подзадача» -представляются значительно менее удачными; в литературе на русском языке они обычно употребляются в другом смысле, применяемом нами. А «частный случай» проблемы - это один конкретный возможный вход (входные данные задачи; «математический аналог» - вхождение элемента в множество). В английской литературе (см. английские первоисточники монографий [4, 5], а также [14] и др.) для «варианта проблемы» и «частного случая проблемы» применяются термины "subproblem" и "problem instance" соответственно.

ведем описания двух конкретных метрик для задачи коммивояжера, строго сформулируем версии применяющего их алгоритмов, а также рассмотрим статистические данные, описывающие пример применения этих алгоритмов в конкретной оптимизационной задаче - варианте задачи коммивояжера.

1. Предварительные замечания

Как было отмечено выше, мы в первую очередь рассматриваем нашу статью как продолжение [7]1, применительно, однако, к совершенно иной предметной области. А именно мы рассматриваем задачу коммивояжера.

Про общую постановку этой задачи стоит отметить следующее. Нередко математическая модель, а также алгоритмы, основанные на данной модели, созданные для одной области, находят применение и во многих других предметных областях - именно такой моделью и является задача коммивояжера. При относительной простоте ее постановки нахождение оптимального решения (оптимального маршрута) является весьма сложной проблемой и относится (причем не только в ее обобщенной постановке, но и для большинства ее вариаций) к классу КР-полных. Более того, согласно классификации, приведенной в [14] и др., задача коммивояжера является примером оптимизационной проблемы, входящей в самый сложный класс КРО(У): он содержит все оптимизационные задачи, для которых (при некотором дополнительном «естественном» предположении, например, Р Ф КР) временная сложность всех возможных полиномиальных алгоритмов не может быть ограничена никакой полилогарифмической функцией2.

При первоначальном рассмотрении данной тематики может показаться, что МВГ применялся для решения подобных задач «в далеком прошлом», ведь в оглавлениях современных монографий ([16-18] и др.) разделы, связанные с применением МВГ, идут одними из первых и, более того, на описанную в них теорию опираются некоторые «более продвинутые» методы. Но на это замечание можно ответить, что, во-первых, публикации по применению МВГ в данной тематике продолжаются все время (из последних статей отметим [18, 19]), и, во-вторых, что нашей «нишей» чаще всего является так называемая псевдогеометрическая версия (см. [6], а также далее в настоящей работе), в которой применение МВГ является, по-видимому, одним из лучших методов 3.

Итак, мы рассматриваем применение метода ветвей и границ. Отметим, что при этом не может не возникнуть вопроса про метрику на подзадачах для рассматриваемой здесь задачи коммивояжера (ЗКВ); из рассмотренных в [7] метрик списочная тривиальным образом переносится на любую задачу, решаемую с помощью МВГ, а матричная требует работы с матрицами, описывающими подзадачи, и для нее невозможен «простой перенос» метрики, приме-

1 Еще отметим, что в названии статьи [7] (и некоторых других работ, опубликованных в то время) был применен термин «кластеризация ситуаций», не встречавшийся в названиях более поздних наших работ.

2 Еще одним примером подобной задачи является проблема максимальной клики.

3 Кончено же, любой частный случай проблемы (задачи коммивояжера) можно рассматривать как пример ее псевдогеометрического варианта. Однако мы здесь, конечно же, имеем в виду применение алгоритмов «для средней задачи»; при этом различные определения такого «усреднения» не являются предметом настоящей статьи (выходят далеко за ее рамки).

няемой, например, для задачи минимизации недетерминированных конечных автоматов [7, 20, 21]1.

Однако подробного описания метрик, применяемых в наших предыдущих публикациях, мы приводить не будем [22]. Отметим лишь, что для нее должны быть выполнены обычные аксиомы метрического пространства.

В алгоритмах, относящихся к мультиэвристическому подходу и применяющих кластеризацию ситуаций, мы для любой метрики (дающей значение от 0 при совпадении задач 2 до 1 при их «полном несовпадении») выполняем следующие действия (фактически здесь мы описываем схему любого из алгоритмов, применяющих кластеризацию ситуаций).

1. Выбираем какую-то границу (не имеющую отношения к методу ветвей и границ, при практической реализации обычно чуть большую, чем 0).

2. При получении для двух подзадач (одну из которых мы уже рассматривали ранее, в процессе работы МВГ) значения, меньшего, чем эта граница, мы по возможности применяем вспомогательные алгоритмы, связанные с кластеризацией ситуаций.

3. Применение алгоритма означает попытку выбора того же самого разделяющего элемента, что и в рассмотренной ранее подзадаче.

К сказанному здесь необходимы следующие комментарии:

1) применение «ранее уже выбранного» разделяющего элемента может быть невозможно: простейший пример - получение при этом «цикла малого размера» при решении задачи коммивояжера. Но, как можно увидеть в результате применения алгоритма, на ранних этапах решения задачи с помощью МВГ подобная ситуация практически невероятна;

2) такое применение (если оно возможно) не требует времени при том, что, как мы подробнее отметим далее, время, затрачиваемое на выбор элемента, составляет основную часть времени работы МВГ;

3) при таком применении мы «можем выиграть» (например выиграть время, не затрачивая его на выбор элемента), «можем не выиграть» (если почему-либо окажется, что для самого быстрого решения надо было выбирать иной разделяющий элемент), но «не можем проиграть»: создание новой подзадачи в рассматриваемом списке подзадач 3 практически не требует времени и практически не увеличивает затрачиваемую память.

4) отметим, что мы (в отличие от [7], где также рассматривалась кластеризация ситуаций) не рассматриваем здесь одновременной работы двух МВГ («большого» и «малого»): все возможные разделяющие элементы для ЗКВ известны априори.

2. Тривиальный пример малой размерности и его связь с кластеризацией ситуаций

В этом разделе рассмотрен пример для малой размерности - начало стандартной работы метода ветвей и границ «в самом классическом вариан-

1 Подобный «перенос» легко осуществляется для многих других задач дискретной оптимизации, в частности, для задачи минимизации дизъюнктивных нормальных форм.

2 То есть расстояние при этом равно 0. В некоторых предыдущих публикациях мы, наоборот, в этом случае считали значение равным 1, а равным 0 - в случае «полного несовпадения». Все это, конечно, непринципиально, однако требует некоторой аккуратности: как при реализации алгоритмов, так и при чтении статей.

3 Мы продолжаем пользоваться терминологией статей [1, 7].

те», [4]. В этом примере для матрицы 8^8 мы показываем достаточно очевидный факт - возможность получения одинаковых матриц (и, вследствие этого, практически одинаковых подзадач) на разных путях работы алгоритма МВГ . При этом важно отметить, что подзадачи действительно не полностью совпадают (но очень похожи): согласно «классике» ([4, 5] и др.) для них не может не различаться либо множество выбранных разделяющих элементов, либо множество так называемых «табуированных» элементов. Именно «похожесть» получаемых подзадач и дает возможность применить кластеризацию ситуаций (рассмотрение которой было нами начато в [7]), поскольку согласно нашим подсчетам, проведенным для применения МВГ в самых разных задачах дискретной оптимизации, суммарное время, затрачиваемое на выполнение вспомогательных алгоритмов выбора разделяющего элемента, обычно занимает более 99 % всего времени работы алгоритма.

Итак, пусть задана исходная матрица ЗКВ, созданная искусственно, специально для демонстрации «похожести» получаемых подзадач:

А 1 2 3 4 5 б 7 8

1 99 0 0 99 99 99 99

2 99 99999 0 0 99 99 99 99

3 1 О 99999 99 99 99 99 99

4 0 1 99 99999 99 99 99 99

5 99 99 99 99 99999 99 1 0

6 99 99 99 99 99 99999 0 1

7 99 99 99 99 1 0 99999 99

8 99 99 99 99 0 1 99 99999

Назовем ее А (здесь и ниже будем названия записывать в левой верхней клетке). Отметим, что «бесконечности» мы здесь и ниже представляем как 99999 (несложно показать, что этого значения достаточно). Также отметим, что при описании дальнейших действий мы не будем различать матрицы и подзадачи в тех случаях, когда это не вызовет недоразумений. Более того, можно даже отождествить следующие три объекта: исходную задачу, ее основную (стартовую) подзадачу, саму матрицу для нее 2 (при этом, конечно, каждый раз, т.е. в каждой конкретной ситуации, имея в виду нужный объект из этих трех).

В качестве самого алгоритма будем использовать алгоритм, описанный в [4]. Сразу отметим, что исходная матрица не требует редукции (т.е. в каждой строке и в каждом столбце имеется хотя бы один «не-ноль»).

1 Аналогичные примеры для задачи минимизации недетерминированных конечных автоматов были приведены в наших предыдущих публикациях. Отметим, что для рассматриваемой в настоящей работе задачи коммивояжера эти примеры очевидны - в отличие от задачи минимизации автоматов.

2 Удачная, с нашей точки зрения, программная реализация на Си++ этого отождествления в другой задаче дискретной оптимизации, но с аналогичной организацией вычислений, описана в [23].

Начало формируемого дерева решений следует начать с вершины (рис. 1). Термин «граница» используется в точности согласно [4]. YES и NO -множества (списки) уже выбранных и табуированных для дальнейшего выбора разделяющих элементов1.

Граница - О VES = [] NO = []

Рис. 1

Далее выбираем разделяющий элемент; предназначенные для его выбора вспомогательные алгоритмы из [4] не различат элементов матрицы А с координатами (1,3), (1,4), (2,3) и (2,4). Поэтому выберем элемент (1,3) и получим следующее деление задачи А на подзадачи В и С (в дальнейших обозначениях В = А + (1,3) и С = А - (1,3)) (рис. 2).

Рис. 2

При этом сами матрицы подзадач В и С получаются такими (серым фоном в правой подзадаче выделены удаляемые строка и столбец):

в 1 2 3 4 5 6 7 8

1 ЭЭЭЭЭ ЭЭ 0 0 ээ ээ ээ ээ

2 ЭЭ эээээ 0 0 ээ ээ ээ ээ

г 1 0 эээээ ээ ээ ээ ээ ээ

4 0 1 ээ эээээ ээ ээ ээ ээ

ээ ээ ээ ээ эээээ ээ 1 О

6 ээ ээ ээ ээ ээ эээээ 0 1

7 ээ ээ ээ ээ 1 О эээээ ээ

В ээ ээ ээ ээ 0 1 ээ эээээ

1 Отметим, что в [4] реализация алгоритма подробно не описана. Наш подход к подобной реализации см. также в [23]. Там же (в приведенных комментариях) объясняется использование списков YES и NO (в тексте программ - ArrYES и ArrNO).

с 1 2 3 4 5 б 7 8

1 99999 99 99999 0 99 99 99 99

2 99 99999 0 0 99 99 99 99

3 1 0 99999 99 99 99 99 99

4 0 1 99 99999 99 99 99 99

5 99 99 99 99 99999 99 1 0

б 99 99 99 99 99 99999 0 1

7 99 99 99 99 1 0 99999 99

8 99 99 99 99 0 1 99 99999

Сама матрица В после вычеркивания из нее строки и столбца (отметим, что редукция ни в одной из получившихся матриц не нужна) получается следующей:

В 1 2 4 5 6 7 &

2 99 99999 0 99 99 99 99

3 1 0 99 99 99 99 99

4 0 1 99999 99 99 99 99

5 99 99 99 99999 99 1 0

6 99 99 99 99 99999 0 1

7 99 99 99 1 0 99999 99

S 99 99 99 0 1 99 99999

Далее столь подробно применение алгоритма МВГ показывать не будем. Очередные два деления задачи на подзадачи дают дерево (рис. 3): Б - правая подзадача задачи В, Б = В + (2,4) = А + (1,3) + (2,4); Е - левая подзадача задачи В, Е = В - (2,4) = А +(1,3) - (2,4); Б - правая подзадача задачи С, Б = С + (1,4) = А -(1,3) + (1,4); О - левая подзадача задачи С, Б = С - (1,4) = А -(1,3) - (1,4).

Рис. 3

На рис. 3 мы отметили применение редукции - указывая ее в матрицах / подзадачах Е и О с дополнительными штрихами, но не отмечали вычер-

кивания строк и столбцов в левых подзадачах, обозначая в обоих случаях обе получающиеся матрицы одинаково, Б и Б, без штрихов:

D 1 2 4 5 6 7 S

2 ЭЭ эээээ 0 ээ ээ ээ ээ

3 1  ээ ээ ээ ээ ээ

4 0 1 эээээ ээ ээ ээ ээ

5 ээ ээ ээ эээээ ээ 1 0

ээ ээ ээ ээ эээээ 0 1

7 ээ ээ ээ 1 0 эээээ ээ

S ээ ээ ээ 0 1 ээ эээээ

Среди матриц, соответствующих указанным подзадачам, приведем интересующие нас для дальнейшего изложения Б и Б. Исходная матрица приведена выше. После вычеркивания строки и столбца получаем матрицу (подзадачу), обозначенную нами, Б (отметим еще раз, что редукция не нужна, граница остается равной 0):

D 1 2 Б 6 7 В

г 1 0 99 99 99 99

4 0 1 99 99 99 99

5 ээ ЭЭ 99999 99 1 0

6 ЭЭ ээ 99 99999 0 1

7 ЭЭ ээ 1 0 99999 99

8 ЭЭ ээ 0 1 99 99999

В следующей матрице / подзадаче Б также не надо проводить редукцию:

F 1 2 ъ 5 6 7 я

2 ЭЭ эээээ 0 ээ ээ ээ ээ

1 0 эээээ ээ ээ ээ ээ

4 0 1 ээ ээ ээ ээ ээ

5 ээ ээ ээ эээээ ээ 1 0

6 ээ ээ ээ ээ эээээ 0 1

7 ээ ээ ээ 1 0 эээээ ээ

S ээ ээ ээ 0 1 ээ эээээ

Следующим шагом мы рассмотрим ветвление на задаче Б - несмотря на то, что при строгом последовательном описании работы алгоритма оно будет применено не сразу, а через несколько шагов; однако такое небольшое упрощение, по-видимому, не вредит изложению. Несложно убедиться, что в качестве разделяющего элемента мы должны выбрать (1,3) (поскольку остальные нули не дадут возможности редукции на 198), и для него рассмотрим правую подзадачу, т.е.

Н = Б + (2,3) = А - (1,3) + (1,4) + (2,3).

Матрица после удаления строки и столбца будет в точности совпадать с матрицей подзадачи Б:

H 1 2 3 5 6 7 в

2 99 33333 0 33 33 33 99

Ъ 1 0 33333 33 33 33 99

4 0 1 33 33 33 33 99

5 33 33 33 33333 33 1 0

6 33 33 33 33 33333 0 1

7 33 33 33 1 0 99

В 33 33 33 0 1 99 99999

При этом, конечно, сами подзадачи не совпадают, однако работа алгоритма выбора разделяющего элемента у них практически одинакова.

Итак, две матрицы в этом и многих других примерах получаются одинаковыми, т.е. на них любая матричная метрика должна дать значение 0, что и определит применение быстрого алгоритма выбора разделяющего элемента, кратко описанного выше.

При этом списки (множества элементов - выбранных разделяющих и табуированных) получаются различными, причем не только в этом примере, но и всегда в подобных ситуациях. Однако, по-видимому, эти списки всегда дают небольшое отличие по любой «естественной» списочной метрике, и, вследствие этого 1, также должна применяться при практической реализации алгоритмов решения ЗКВ. Как уже было сказано выше, сами точные варианты обеих метрик - списочной и матричной - для ЗКВ будут приведены в части II настоящей статьи.

3. Краткое статистическое исследование различных версий ЗКВ средней размерности

В этом разделе приведены результаты проведенного нами статистического исследования на матрицах средней размерности - для трех различных вариантов задачи коммивояжера: геометрической, псевдогеометрической и случайной.

Сразу оговоримся про термин «средняя размерность» (мы ее понимаем как размерность примерно 60-70): который, казалось бы, неудачен, поскольку еще в конце 1990-х гг. появились эвристические алгоритмы, дающие приемлемое псевдооптимальное решение для значительно больших размерностей (порядка нескольких миллионов) [16, 24]. Однако все эти алгоритмы применялись только к геометрическому (Евклидовому) варианту ЗКВ: даже некоторая его модификация приводит к тому, что мы не можем применять так называемые «алгоритмы луковой шелухи» 2. Поэтому приходится применять совершенно иные подходы, среди которых, по мнению авторов, различные модификации метода ветвей и границ представляют собой наиболее удачный вариант. И согласно неоднократно проведенным нами вычислительным экспериментам на современной вычислительной технике методом ветвей и границ (и его простейшими модификациями) для случайной ЗКВ можно ожидать

1 А также того факта, что ее вычисление обычно происходит значительно быстрее, поскольку не требует рассмотрения М2 элементов (при размерности рассматриваемой матрицы М).

2 Отметим все-таки, что в [6] нами была показана возможность их применение в псев-до-геометрической версии, конечно, со значительно меньшим успехом, чем в геометрической.

успеха (точного решения заданного варианта проблемы за реальное время, скажем, за 1 ч, с близкой к 1 вероятностью) при размерности задачи 60 и менее. А при размерности 70 и более соответствующая вероятность, наоборот, будет близка к 0, поэтому размерность 65 мы и называем «средней».

Результаты проведенных нами вычислительных экспериментов приведены в табл. 1. Мы отвечали только на один вопрос: насколько часто встречается хотя бы одна пара одинаковых матриц при применении 30 первых шагов «классического» МВГ. При этом генерация входных данных осуществлялась в соответствии с тремя вариантами ЗКВ:

- случайным1 (столбец «случ.»);

- псевдогеометрическим (два столбца «псевдо» с разными значениями о - эти же значения, 0,2 и 1,4, уже использовались нами в [6]);

- геометрическим (столбец «Евк.») 2.

Таблица 1

случ. псевдо, о = 1,4 псевдо, о = 0,2 Евк.

55 53 741 811 980

65 49 728 843 943

75 60 734 848 951

99 60 720 863 927

Для каждой клетки табл. 1 мы сгенерировали 1000 матриц для соответствующих ЗКВ (частных случаев проблемы). В табл. 1 приведено число вариантов, при которых за первые 30 шагов фиксировался бы хоть один случай совпадения матриц, т.е. равенства 0 простейшей (дискретной) матричной метрики для некоторых двух из полученных за 30 шагов подзадач.

Отметим, что получаемые результаты, по-видимому, не зависят (или почти не зависят) от размерности задач, но, как и ожидалось, имеют устойчивую тенденцию к увеличению при уменьшении значения о. Однако, как мы уже отмечали, применять МВГ для геометрического (Евклидова) случая, т.е. при о = 0, нецелесообразно.

Заключение

Итак, в части I настоящей статьи мы привели только небольшую часть статистических данных, полученных нами в результате проведения вычислительных экспериментов. Эти данные отвечают только на один вопрос (сформулированный выше), но ответ на него фактически является вероятностью возникновения описанной выше ситуации; даже он дает обоснование применения кластеризации ситуаций при разработке алгоритмов решения задач дискретной

1 Это термин, применявшийся нами в [1]; он не очень удачный (поскольку для каждого варианта ЗКВ имеются свои алгоритмы случайной генерации данных), но согласован с [4]. Конкретно все элементы матрицы ЗКВ генерируются как случайная величина с заданным законом равномерного распределения.

2 Очевидно, что Евклидов вариант может рассматриваться как псевдогеометрический с о = 0. Кроме того заметим, что случайный вариант (при некоторых непринципиальных допущениях) также может быть рассмотрен как псевдогеометрический с «очень большим» значением о.

оптимизации с помощью метода ветвей и границ. Для ЗКВ такое применение дает легко наблюдаемые улучшения работы алгоритма прежде всего для псевдогеометрического варианта; именно этот вариант, с нашей точки зрения, отражает репрезентативность данных во многих реальных задачах 1.

Отметим, что при этом мы не рассматривали другие варианты проблемы, большее число шагов, «неклассические» способы выбора разделяющих элементов и метрику, отличную от так называемой дискретной. Все это не будет включено и в часть II настоящей статьи (в ней мы только отказались от тривиальной дискретной метрики, используя схему применения алгоритма кластеризации, приведенную в разд. 1), но, возможно, это будет сделано впоследствии для обоснования необходимости применения кластеризации ситуаций. Однако значительно большее значение, чем подобные исследования, имеют практические результаты работы алгоритмов и сравнение этих результатов в случае применения и неприменения кластеризации ситуаций. И даже приведенных выше данных достаточно для того, чтобы положительно ответить на вопрос о необходимости применения кластеризации.

В части II настоящей статьи мы предполагаем привести вариант списочной метрики, а также подробно описать матричную метрику, сформулированную специально для ЗКВ. Также будут описаны примеры применения обеих метрик при решении сгенерированных нами частных случаев ЗКВ в сравнении с алгоритмами, не применяющими кластеризации ситуаций.

Библиографический список

1. Melnikov, B. Multiheuristic approach to discrete optimization problems / B. Melnikov // Cybernetics and Systems Analysis. - 2006. - Vol. 42, № 3. - P. 335341.

2. Мельников, Б. Ф. Параллельная реализация мультиэвристического подхода в задаче сравнения генетических последовательностей / Б. Ф. Мельников, А. Г. Панин // Вектор науки Тольяттинского государственного университета. - 2012. -№ 4 (22). - С. 83-86.

3. Мельников, Б. Ф. Применение мультиэвристического подхода для случайной генерации графа с заданным вектором степеней / Б. Ф. Мельников, Е. Ф. Сайфуллина // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. - 2013. - № 3 (27). - С. 70-83.

4. Гудман, С. Введение в разработку и анализ алгоритмов / С. Гудман, С. Хидет-ниеми. - М. : Мир, 1981. - 368 с.

5. Громкович, Ю. Теоретическая информатика. Введение в теорию автоматов, теорию вычислимости, теорию сложности, теорию алгоритмов, рандомизацию, теорию связи и криптографию / Ю. Громкович. - СПб. : БХВ, 2010. - 338 с.

6. Макаркин, С. Б. Геометрические методы решения псевдогеометрической версии задачи коммивояжера / С. Б. Макаркин, Б. Ф. Мельников // Стохастическая оптимизация в информатике. - 2013. - Т. 9, № 2. - С. 54-72.

7. Мельников, Б. Ф. Кластеризация ситуаций и принятие решений в задачах дискретной оптимизации / Б. Ф. Мельников, Е. А. Мельникова // Известия выс-

1 Наиболее подробно о псевдогеометрическом варианте мы писали в [6]. С другой стороны, о нашем подходе к количественной оценке репрезентативности входных данных (а также о подходе к генерации репрезентативных для некоторой задачи данных) см. в [25] и связанных публикациях. Несмотря на то, что в [25] мы рассматривали другую дискретную оптимизационную задачу, описанный там подход легко переносится и на ЗКВ.

ших учебных заведений. Поволжский регион. Физико-математические науки. -2007. - № 2. - С. 25-35.

8. Мельников, Б. Ф. Принятие решений в прикладных задачах с применением динамически подобных функций риска / Б. Ф. Мельников, С. В. Пивнева // Вестник транспорта Поволжья. - 2010. - № 3. - С. 28-33.

9. Мельников, Б. Ф. Математическое моделирование повышения уровня безопасности в случае отказов авиационной и космической техники / Б. Ф. Мельников, Е. В. Давыдова // International Journal of Open Information Technologies. - 2018. - Vol. 6, № 5. - P. 1-6.

10. A study on dynamic Semantic Web service composition / Y. Li, X. Yu, R. Wang, L. Geng, L. Wang // Web Intelligence and Agent Systems. - 2013. - Vol. 11, № 2. -P. 125-135.

11. Ho, S.-B. Incremental rule chunking for problem solving / S.-B. Ho, F. Liausvia // Proceedings - 1st BRICS Countries Congress on Computational Intelligence. - 2013. -№ 6855870. - P. 323-328.

12. Slota, M. On updates of hybrid knowledge bases composed of ontologies and rules / M. Slota, J. Leite, T. Swift // Artificial Intelligence. - 2015. - Vol. 229. - P. 33-104.

13. Giordano, L. ASP for reasoning about actions with an EL^ knowledge base / L. Giordano, A. Martelli, M. Spiotta, D. T. Dupre // CEUR Workshop Proceedings. -2016. - Vol. 1645. - P. 217-229.

14. Hromkovic, J. Algorithmics for Hard Problems. Introduction to Combinatorial Optimization, Randomization, Approximation, and Heuristics / J. Hromkovic. - Berlin : Springer, 2004. - 429 p.

15. Applegate, D. The Traveling Salesman Problem: A Computational Study / D. L. Applegate, R. E. Bixby, V. Chvatal, W. J. Cook. - New Jersay : Princeton University Press, 2007. - 593 p.

16. Gutin, G. Combinatorial Optimization. The Traveling Salesman Problem and Its Variations / G. Gutin, A. P. Punnen (Eds.). - Berlin : Springer, 2007. - 830 p.

17. Cook, W. J. In Pursuit of the Traveling Salesman. Mathematics at the Limits of Computation / W. J. Cook. - New Jersay : Princeton University Press, 2011. - 248 p.

18. Calogiuri, T. A branch-and-bound algorithm for the time-dependent rural postman problem / T. Calogiuri, G. Ghiani, E. Guerriero, R. Mansini // Computers & Operations Research. - 2018. - DOI org/10.1016/j.cor. 2018.07.016.

19. Nikolaev, A. Branch-and-bound algorithm for symmetric travelling salesman problem / A. Nikolaev, M. Batsyn // Lecture Notes in Computer Science. - 2018. -Vol. 10979. - DOI org/10.1007/ 978-3-319-94667-2_26.

20. Мельников, Б. Ф. О некоторых алгоритмах эквивалентного преобразования недетерминированных конечных автоматов / Б. Ф. Мельников, М. Р. Сайфуллина // Известия высших учебных заведений. Математика. - 2009. - № 4. - С. 67-72.

21. Melnikov, B. The state minimization problem for nondeterministic finite automata: the parallel implementation of the truncated branch and bound method / B. Melnikov, A. Tsyganov // Proceedings - 5th International Symposium on Parallel Architectures, Algorithms and Programming. - Taipei, Taiwan, 2012. - P. 194-201.

22. Макаркин, С. Б. Подход к решению псевдогеометрической версии задачи коммивояжера / С. Б. Макаркин, Б. Ф. Мельников, М. А. Тренина // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. -2015. - № 2 (34). - С. 135-147.

23. Мельников, Б. Ф. Применение алгоритмов генерации случайных графов для исследования надежности сетей связи / Б. Ф. Мельников, Е. Ф. Сайфуллина, Ю. Ю. Терентьева, Н. П. Чурикова // Информатизация и связь. - 2018. - № 1. -С. 71-80.

24. Ляликов, В. Н. Исследование оптимизации использования локальных отсечений Concorde / В. Н. Ляликов // Вестник Саратовского государственного технического университета. - 2008. - Т. 1, № 1 (30). - С. 68-73.

25. Мельников, Б. Ф. Репрезентативность случайно сгенерированных недетерминированных конечных автоматов с точки зрения соответствующих базисных автоматов / Б. Ф. Мельников, С. В. Пивнева, О. А. Рогова // Стохастическая оптимизация в информатике. - 2010. - Т. 6, № 1-1. - С. 74-82.

References

1. Melnikov B. Cybernetics and Systems Analysis. 2006, vol. 42, no. 3, pp. 335-341.

2. Mel'nikov B. F., Panin A. G. Vektor nauki Tol'yattinskogo gosudarstvennogo universi-teta [Scientific vector of Togliatti State University]. 2012, no. 4 (22), pp. 83-86.

3. Mel'nikov B. F., Sayfullina E. F. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Fiziko-matematicheskie nauki [University proceedings. Volga region. Physical and mathematical sciences]. 2013, no. 3 (27), pp. 70-83.

4. Gudman S., Khidetniemi S. Vvedenie v razrabotku i analiz algoritmov [Introduction into algorithm development and analysis]. Moscow: Mir, 1981, 368 p.

5. Gromkovich Yu. Teoreticheskaya informatika. Vvedenie v teoriyu avtomatov, teoriyu vychislimosti, teoriyu slozhnosti, teoriyu algoritmov, randomizatsiyu, teoriyu svyazi i kriptografiyu [Theoretical informatics. Introduction into automata theory, computability theory, complexity theory, algorithm theory, randomization, communication theory and cryptography]. Saint-Petersburg: BKhV, 2010, 338 p.

6. Makarkin S. B., Mel'nikov B. F. Stokhasticheskaya optimizatsiya v informatike [Stochastic optimization in informatics]. 2013, vol. 9, no. 2, pp. 54-72.

7. Mel'nikov B. F., Mel'nikova E. A. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Fiziko-matematicheskie nauki [University proceedings. Volga region. Physical and mathematical sciences]. 2007, no. 2, pp. 25-35.

8. Mel'nikov B. F., Pivneva S. V. Vestnik transporta Povolzh'ya [Transport bulletin of Volga region]. 2010, no. 3, pp. 28-33.

9. Mel'nikov B. F., Davydova E. V. International Journal of Open Information Technologies. 2018, vol. 6, no. 5, pp. 1-6.

10. Li Y., Yu X., Wang R., Geng L., Wang L. Web Intelligence and Agent Systems. 2013, vol. 11, no. 2, pp. 125-135.

11. Ho S.-B., Liausvia F. Proceedings - 1st BRICS Countries Congress on Computational Intelligence. 2013, no. 6855870, pp. 323-328.

12. Slota M., Leite J., Swift T. Artificial Intelligence. 2015, vol. 229, pp. 33-104.

13. Giordano L., Martelli A., Spiotta M., Dupre D. T. CEUR Workshop Proceedings. 2016, vol. 1645, pp. 217-229.

14. Hromkovic J. Algorithmics for Hard Problems. Introduction to Combinatorial Optimization, Randomization, Approximation, and Heuristics. Berlin: Springer, 2004, 429 p.

15. Applegate D., Bixby R. E., Chvatal V., Cook W. J. The Traveling Salesman Problem: A Computational Study. New Jersay: Princeton University Press, 2007, 593 p.

16. Gutin G., Punnen A. P. (Eds.) Combinatorial Optimization. The Traveling Salesman Problem and Its Variations. Berlin: Springer, 2007, 830 p.

17. Cook W. J. In Pursuit of the Traveling Salesman. Mathematics at the Limits of Computation. New Jersay: Princeton University Press, 2011, 248 p.

18. Calogiuri T., Ghiani G., Guerriero E., Mansini R. Computers & Operations Research. 2018. D0I.org/10.1016/j.cor. 2018.07.016.

19. Nikolaev A., Batsyn M. Lecture Notes in Computer Science. 2018, vol. 10979. D0I.org/10.1007/ 978-3-319-94667-2_26.

20. Mel'nikov B. F., Sayfullina M. R. Izvestiya vysshikh uchebnykh zavedeniy. Matematika

[University proceedings. Mathematics]. 2009, no. 4, pp. 67-72.

21. Melnikov B., Tsyganov A. Proceedings - 5 th International Symposium on Parallel Architectures, Algorithms and Programming. 2012, pp. 194-201.

22. Makarkin S. B., Mel'nikov B. F., Trenina M. A. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Fiziko-matematicheskie nauki [University proceedings. Volga region. Physical and mathematical sciences]. 2015, no. 2 (34), pp. 135-147.

23. Mel'nikov B. F., Sayfullina E. F., Terent'eva Yu. Yu., Churikova N. P. Informatizatsiya i svyaz' [Informatization and communication]. 2018, no. 1, pp. 71-80.

24. Lyalikov V. N. Vestnik Saratovskogo gosudarstvennogo tekhnicheskogo universiteta [Bulletin of Saratov State Technical University]. 2008, vol. 1, no. 1 (30), pp. 68-73.

25. Mel'nikov B. F., Pivneva S. V., Rogova O. A. Stokhasticheskaya optimizatsiya v in-formatike [Stochastic optimization in informatics]. 2010, vol. 6, no. 1-1, pp. 74-82.

Мельников Борис Феликсович

доктор физико-математических наук, профессор, кафедра информационных систем и сетей, Российский государственный социальный университет

E-mail: bf-melnikov@yandex.ru

Мельникова Елена Анатольевна

кандидат физико-математических наук, доцент, кафедра компьютерной безопасности, Российский государственный социальный университет

E-mail: ya.e.melnikova@yandex.ru

Пивнева Светлана Валентиновна

кандидат педагогических наук, доцент, кафедра прикладной математики, Тольяттинский государственный университет

E-mail: tlt-swetlana@yandex.ru

Давыдова Елизавета Владимировна аспирант, Московский авиационный институт

E-mail: elizaveta_2710@mail.ru

Mel'nikov Boris Feliksovich Doctor of physical and mathematical sciences, professor, sub-department of information systems and networks, Russian State Social University

Mel'nikova Elena Anatol'evna Candidate of physical and mathematical sciences, associate professor, subdepartment of computer security, Russian State Social University

Pivneva Svetlana Valentinovna Candidate of pedagogical sciences, associate professor, sub-department of applied mathematics, Togliatti State University

Davydova Elizaveta Vladimirovna Postgraduate student, Moscow Aircraft Institute

УДК 004.021; 004.023 Мельников, Б. Ф.

Кластеризация ситуаций в алгоритмах решения задачи коммивояжера и ее применение в некоторых прикладных задачах. Часть I. Общее описание задач и алгоритмов / Б. Ф. Мельников, Е. А. Мельникова, С. В. Пив-нева, Е. В. Давыдова // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. - 2018. - № 3 (47). - С. 36-51. - Б01 10.21685/2072-3040-2018-3-4.