Научная статья на тему 'Использование метода последовательной сепарации для решения задачи коммивояжёра'

Использование метода последовательной сепарации для решения задачи коммивояжёра Текст научной статьи по специальности «Математика»

CC BY
399
75
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МЕТОД / ПОСЛЕДОВАТЕЛЬНАЯ СЕПАРАЦИЯ / РЕШЕНИЕ ЗАДАЧИ / КОММИВОЯЖЕР

Аннотация научной статьи по математике, автор научной работы — Петрунин Станислав Владимирович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Петрунин Станислав Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

EMPLOYMENT OF PERMANENT SEPARATION METRHOD FOR SOLUTION OF TRAVELING SALESMAN PROBLEMS

New method of solution transport type's problems of linear programming based on characteristics of a matrix of factors of criterion function is proposed. These characteristics give a chance to determine all variables, which are equal zero in optimal solution. This article contains information about used method PC for solved traveling salesman problem. PC method for constructing an optimal route for solving the traveling salesman problem is suggested in the article.

Текст научной работы на тему «Использование метода последовательной сепарации для решения задачи коммивояжёра»

2009

НАУЧНЫЙ ВЕСТНИК МГТУ ГА серия Менеджмент, Экономика, Финансы

№ 146

УДК 629.735.072.1: 656.71.003

ИСПОЛЬЗОВАНИЕ МЕТОДА ПОСЛЕДОВАТЕЛЬНОЙ СЕПАРАЦИИ ДЛЯ РЕШЕНИЯ ЗАДАЧИ КОММИВОЯЖЁРА

С. В. ПЕТРУНИН

Статья представлена доктором экономических наук, профессором Артамоновым Б.В.

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

Ключевые слова: метод, последовательная сепарация, решение задачи, коммивояжер.

Одной из наиболее часто встречающихся задач в экономике и логистике является так называемая задача коммивояжёра. Постановка задача такова: имеется n городов, стоимость между которыми задана матрицей I cij |, i=1,n, j=1,n. Коммивояжёр должен побывать в каждом городе один раз и вернуться в исходный пункт маршрута, затратив при этом минимум денег. Задачу можно сформулировать так: найти минимум функции С при выполнении ограничений (1), (2) и неотрицательности переменных xij (4).

n

2 Xj =1 i = 1,n (1)

j=1

n

2 Xij = 1 j = 1,n (2)

i=1

nn

C = 22 cijXij ® min (3)

i=1 j=1

Xij либо 1, либо 0. (4)

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

можно записать в виде равенств xij. = 0 при i = j. Другое ограничение, накладываемое на пере-

менные Xij , обеспечивает замкнутость маршрута и отсутствие петель:

U - Uj + nx < n -1 i=1,n j=1,n i Ф j.

Для реализации равенств (1)-(4) достаточно ввести штрафные функции, положив ckp >cijmax

при k = p, где cijmax - максимальное значение для всех cij. Общеизвестным методом подобной

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

• вычисление нижней границы (оценки);

• разбиение на подмножества, т.е. ветвление;

• расчёт оценок;

• нахождение решений;

• определение признака оптимальности;

• оценка точности приближённого решения.

В данной статье предлагается для решения задачи коммивояжёра другой метод, а именно метод ПС (1). Дело в том, что без учёта условия незамкнутости ограничения (1)-(4) полностью совпадают с ограничениями задачи о назначениях, которая достаточно эффективно решается методом ПС.

Алгоритм решения задачи коммивояжёра таков. Решаем задачу о назначениях. Полученное решение а) либо представляет замкнутый маршрут, включающий все города; б) либо представляет совокупность нескольких замкнутых локальных маршрутов. Случай а) представляет собой и решение задачи коммивояжёра, т.е. решение задачи о назначениях даёт одновременно решение задачи коммивояжёра. Для получения требуемого решения из случая б) следует разорвать замкнутые ветви и соединить их в один замкнутый маршрут наименьшей стоимости. Пусть решение задачи о назначениях представимо в виде двух замкнутых маршрутов: АВС и БЕБ (рис. 1). Следует соединить эти маршруты в один так, чтобы увеличение целевой функции было минимальным.

Е

С

F

A

О

D

1 маршрут 2 маршрут

Рис. 1. Два замкнутых маршрута

Осуществляется это с помощью алгоритма, состоящего из следующих этапов:

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

ßr = .min_kr} + min К}.

г=1,п\гФк j =1,n;j Фг

По существу, эта оценка говорит о том, насколько увеличиться целевая функция, если эта ветвь не войдет в оптимальное решение.

2. Из рассмотренных ветвей выбирается ветвь с максимальным значением оценки, т.е. ß = max{ßk r}. Её начало характеризует точка s, конец - точка р.

{k,r}

3. Эта ветвь должна остаться в оптимальной цепи. Если уже есть часть оптимальной цепи (с начальной точкой а и конечной точкой а), то могут быть три варианта:

1) ветвь можно поставить в начало цепи, если показатель начала цепи одинаков с показателем конца ветви, т.е. а = р;

2) ветвь можно поставить в конец цепи, если показатель конца цепи равен показателю начала ветви, т.е. а = s;

3) ветвь нельзя поставить ни в начало, ни в конец цепи, т.е. а Фр и а Ф s.

Следует предусмотреть невозможность организации частных замкнутых маршрутов.

E

F

A

D

1 маршрут 2 маршрут

Рис. 2. Оптимальный маршрут

Поэтому следует сделать запреты на переход в вариантах:

а) от точки конца цепи а к точке э;

б) от точки р к точке начала цепи а;

в) от точкир к точке э.

4. Перейти к этапу 1, исключив уже рассмотренные ветви.

Транспортная задача, задача о назначениях и задача коммивояжёра имеют близкую структуру, поэтому предлагается универсальная программа для решения этих задач. Программа реализована на языке СУБД Fox-Pro, что позволяет удобно вводить исходную информацию.

Продемонстрируем работу алгоритма на конкретном примере. Пусть стоимости переезда из города / в город ] заданы матрицей. Следует найти маршрут минимальной стоимости, включающий все города по одному разу. Диагональные элементы содержат штрафные функции (с88 = 50), запрещающие поездку из города в тот же город. Решение задачи о назначениях, полученное с помощью ПС-метода [1], даёт следующую матрицу, где элементы, входящие в оптимальные решения, помечены знаком*. Величины в для этих точек равны: (1,6) - 2, (2,1) - 0, (2,6) - 0, (3,2) - 0, (3,5) - 0, (4,1) - 0, (4,2) - 0, (5,3) - 2, (6,4) - 3. Наибольшая из них величина - 3, она соответствует ветви 6 - 4.

Поэтому эта ветвь входит в оптимальную цепь, при этом ветвь 4 - 6 недопустима. Недопустимые ветви обозначим жирным шифром. Матрица упрощается. Определяем в для оставшихся точек: (1,6) - 2,

(2,1) - 0, (2,6) - 0, (3,2) - 0, (3,5) - 0, (4,1) - 0, (4,2) - 0, (5,3) - 2.

Наибольшая величина соответствует ветви 1 - 6.

Эту ветвь можно присоединить к началу оптимальной цепи. Тогда оптимальная цепь примет вид: 1 - 6 - 4. Ветвь 4 - 1 недопустима. При следующем анализе наибольшая величина будет у ветви 5 - 3. Связать её с оптимальной цепью нельзя.

Ветвь 3 - 5 недопустима. Для оставшихся точек получаем:

(2,1) - 3, (3,2) - 3, (4,2) - 2.

Ветвь 2 - 1 можно подсоединить к началу оптимальной цепи, т. е. цепь примет вид: 2 - 1 - 6 - 4, а ветвь 4 - 2 будет недопустима.

Из оставшейся матрицы следует появление в оптимальной цепи ветвей

3 - 2 (ветвь 4 - 3 будет недопустимой) и 4 - 5.

1 2 3 5

3 3 1* 50 50

4 50 50 4 1

1 2 3 5

2 0* 50 2 0

3 3 1* 50 50

4 50 0* 4 1

1 2 3 5

2 0* 50 2 0

3 3 1* 50 50

4 50 0* 4 1

5 2 0 0* 50

1 2 3 5 6

1 50 2 6 6 0*

2 0* 50 2 0 6*

3 3 0* 50 0* 0

4 0* 0* 4 1 50

5 2 0 0* 50 1

1 2 3 4 5 6

1 50 2 6 3 6 0*

2 0* 50 2 5 0 6*

3 3 0* 50 3 0* 0

4 0* 0* 4 50 1 4

5 2 0 0* 5 50 1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

6 0 0 4 0* 2 50

1 2 3 4 5 6

1 50 4 9 5 8 2

2 4 50 5 7 2 8

3 7 3 50 5 3 2

4 4 2 7 50 3 6

5 6 2 3 7 50 3

6 5 3 8 3 5 50

Окончательная оптимальная цепь имеет вид: 2 - 1 - 6 - 4 - 5 - 3 - 2, что отражено в окончательной таблице. Величина целевой функции равна 18. Предложенный метод был успешно применён к большому числу задач.

1 2 3 4 5 6

1 0 0 0 0 0 1

2 1 0 0 0 0 0

3 0 1 0 0 0 0

4 0 0 0 0 1 0

5 0 0 1 0 0 0

6 0 0 0 1 0 0

ЛИТЕРАТУРА

1. Петрунин С. В. Некоторые свойства задач линейного программирования транспортного типа и использование их для решения // Научный Вестник МГТУ ГА, серия Физика и математика, № 42, 2001.

EMPLOYMENT OF PERMANENT SEPARATION METRHOD FOR SOLUTION OF TRAVELING SALESMAN PROBLEMS

Petrounine S. V.

New method of solution transport type’s problems of linear programming based on characteristics of a matrix of factors of criterion function is proposed. These characteristics give a chance to determine all variables, which are equal zero in optimal solution. This article contains information about used method PC for solved traveling salesman problem.

PC method for constructing an optimal route for solving the traveling salesman problem is suggested in the article.

Сведения об авторе

Петрунин Станислав Владимирович, 1936 г. р., окончил ЛПИ (1959), кандидат технических наук, доцент кафедры экономики МГТУ ГА, автор свыше 30 научных работ, область научных интересов - исследование операций, логистика.

2 5

3 1* 50

4 50 1

i Надоели баннеры? Вы всегда можете отключить рекламу.