УЧЕНЫЕ ЗАПИСКИ КАЗАНСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА Том 148, кн. 2 Физико-математические пауки 2006
УДК 519.17
ОБ ОПТИМАЛЬНОМ ПРИВЕДЕНИИ МАТРИЦЫ СТОИМОСТЕЙ
И.Ф. Борхапов, В. Р. Фазы,лов
Аннотация
В работе рассматривается процедура приведения, используемая некоторыми методами отыскания точного решения задачи о назначениях и задачи коммивояжера. Предлагается понятие оптимального приведения матрицы, обеспечивающее максимум суммы копстапт приведения, и обсуждаются некоторые его свойства.
Как известно, в венгерском алгоритме для задачи о назначениях (см., например. [1. с. 408]) и в методе Литтла. Мэрти, Суини и Кэролл для задачи коммивояжера (см., например. [2. с. 369]. [3. с. 78]) используется процедура приведения матрицы стоимостей, которая представляет собой последовательность операций вычитания из строк и столбцов матрицы некоторых констант, называемых константами приведения. Целыо применения процедуры приведения является получение неотрицательной матрицы стоимостей, каждая строка и каждый столбец которой содержат хотя бы один нулевой элемент. При этом стоимость любого решения исходной задачи будет отличаться от стоимости этого же решения, вычисленного по приведенной матрице, ровно на сумму констант приведения.
Обычно в литературе рассматриваются задачи о назначениях и задачи коммивояжера с неотрицательными матрицами стоимостей (что связано с содержательным смыслом задач), и рекомендуемая процедура приведения (см. [3. с. 78]) заключается в следующем: сначала из каждой строки матрицы вычитается минимальный элемент строки (приведение по строкам), а потом из каждого столбца получившейся матрицы вычитается минимальный элемент столбца (приведение по столбцам). При этом, очевидно, все константы приведения будут неотрицательны-
Заметим. что если сделать наоборот: сначала провести приведение по столбцам, а потом по строкам, то результат (приведенная матрица стоимостей и сумма констант приведения) может получиться другим, что показывает следующий пример.
Пусть задана матрица стоимостей
Обозначим через г* константу приведения по *-й строке, а через с^ - константу приведения по і-му столбцу. После приведения матрицы сначала по строкам, а потом по столбцам, получим константы приведения: гі = 2, Г2 =2, гз = 1, сі = 0, с2 = 0, с3 = 0 (их сумма равна 5), а после приведения матрицы сначала по столбцам, а потом по строкам, получим константы приведения: г1 = 1, г2 = 0, гз = 0 сі = 1 с2 = 2 сз = 2
Вводом топорь понятно оптимального приведения матрицы стоимостей. Пусть задана произвольная матрица стоимостей Ш = (юг,) порядка п. Будем считать приведение матрицы оптимальным, если оно дает максимально возможную сумму констант приведения. Задача определения оптимальных коистант приведения матрицы Ш может быть сформулирована в виде следующей задачи линейного программирования:
I П П \
(1)
г г + с, < ю,, г =1,...,п, 3 = 1,...,п. (2)
Оптимальное решение задачи (1), (2) будем обозначать как г* = (г*, ...,гП)
и с* = (с*, ..., сП), а соответствующую приведенную матрицу - как Ш': ю, =
= ю, - г* - С* > г = 1,-.'>п; = 1...,п-
Как видно из постановки задачи (1). (2). на константы приведения не накладывается условие неотрицательности.
Для указанного выше примера решение задачи (1). (2) даст следующие константы приведения: г* =2, г* = —3, г* = 1, с* = 0, с2 = 5, с3 = 5, а их сумма
равна 10.
Заметим, что среди оптимальных констант приведения есть отрицательное число, несмотря на то, что исходная матрица была неотрицательной, а матрица Ш', в силу (2), будет неотрицательной.
Если же задачу (1), (2) дополнить условиями неотрицательности констант приведения;
Гг > 0, г = 1, . .., п,
С, > 0, 3 = 1, . . . , п:
то для нашего примера получим константы приведения: г* = 2, г2 = 0, гз = 1,
с* = 0, с2 = 2, с3 = 2, а их сумма равна 7.
Рассмотрим задачу о назначениях с матрицей стоимостей Ш:
П П
г=1 ,= 1
п
^2хг, = 1, г =1,...,п, (4)
,= 1 п
^2хг, = 1, 3 = 1, ...,П, (5)
г=1
хг, е{0;1}, г = 1,...,п, 3 = 1,...,п. (6)
Если в задаче (3) (6) условие (6) заменить на условие неотрицательности переменных:
Хг, > 0, г =1,...,п, 3 = 1,...,п, (7)
то получится частный случай транспортной задачи линейного программирования, в которой все потребности н все ресурсы равны единице, то есть целочисленные.
В [2, с. 173] отмечено, что в этом случае транспортная задача имеет целочисленное
оптимальное решение. Действительно, так как матрица коэффициентов задачи (3) (5), (7) является абсолютно унимодулярной (см. теорему 8.9 из [4, с. 161]), это обосновывается следующим утверждением.
Теорема 1 [5, с. 386]. Если матрица коэффициентов системы ограничений задачи линейного программирования является абсолютно унимодулярной и вектор правых частей ограничений целочисленным, то все базисные решения задачи линейного программирования будут целочисленными.
Из теоремы 1 вытекает очевидное
Следствие. Любое оптимальное решение задачи (3) -(6) является оптимальным решением и для задачи (3)-(5), (7).
Теорема 2. Пусть г*, с* - оптимальные константы приведения матрицы Ши X * = (ж*?) - оптимальное решение задачи о назначениях с той же матрицей стоимостей Ш. Тогда для пар индексов, соответствующих ж*? = 1, выполняются равенства: г* + с* = , и решение X* по приведенной матрице
Ш' имеет нулевую суммарную стоимость.
Доказательство. Согласно следствию из теоремы 1, X* будет оптимальным решением канонической задачи (3)-(5), (7), а так как г*, с* являются оптимальным решением двойственной к ней задачи (1). (2). то из условий дополняющей нежесткостп (см. например, теорему 7.3 из [6, с. 85]) вытекает, что если ж*? = 1, то соответствующее ограничение двойственной задачи выполняется как равенство: г* + с* = . Поэтому ш У = 0 и, следовательно, суммарная стоимость назначений
А"* по матрице ТУ' будет равна нулю, что и требовалось доказать. □
Заметим, что теорема 2 усиливает результат теоремы из [7].
Теорема 3. Пусть X* - оптимальное решение задачи о назначениях с матрицей стоимостей Ш, и г = (г1?..., гп), с = (с1;..., сп) удовлетворяют системе неравенств (2). Векторы г, с являются оптимальными константами приведеШ
г* + с? = ту для всех пар (г, 3), для которых ж*? = 1. (8)
Доказательство. Пусть г, с удовлетворяют условию (8). Так как X* - решение задачи о назначениях, то количество равенств в системе (8) равно п. Очевидно, что в силу ограничений (4)-(6) все г*, г = 1,..., п, и с?, 3 = 1,..., п, присутствуют в системе (8) ровно по одному разу. Поэтому, просуммировав систему равенств (8), получим:
п п п п
13г+12 су =12 = ^12 ж У ■
*=1 ?=1 (*,?): = 1 *= 3 = 1
г с
решения задачи о назначениях для матрицы Ш. А так гак векторы г, с удовлетворяют (2), то, в силу двойственности задач (3) (5), (7) и (1), (2), они будут
оптимальным решением задачи (1), (2), что и требовалось доказать. □
Рассмотрим далее задачу выбора оптимальных констант приведения для сим-Ш
Для этого достаточно дополнить задачу (1), (2) ограничениями:
г* = с*, г = 1,. . ., п. (9)
Ш
свести к задаче:
п
тах !>. (ю)
*=1
Г і + Гу < Щу, і =1,...,п, і = і, ...,п, (11)
которая имеет вдвое меньше переменных н почти вдвое меньше ограничений, чем задача (1). (2).
Теорема 4. Пусть матрица Ш симметрична, иг*, с* - оптимальное решение задачи (1), (2). Тогда
2 ’ ’ 2
является оптимальным решением задачи (10), (11).
Доказательство. В силу (2) и симметричности матрицы для любой пары ¿,3 справедливы неравенства:
Ф | Ф -1* I -1*
Т¿ + Сц < Ыц, Тц + С¿ < ,
откуда следует, что
Положив
г* + с*
- < IVij .
'1
22 Т С
Т
задачи (10). (11). что и требовалось доказать. □
Теорема 5. Пусть т' = (т' ,..., т^) - оптимальное решение задачи (10), (11). -Если г = т', с = т', то Т, с будет оптимальным решением задачи (1), (2).
Доказательство. Как показано в теореме 4, если т* , с* - оптимальное реше-
( Т* + С* Т* + С* \
ние задачи (1). (2). то ( ..., —- I оптимальное решение задачи (10).
(11). А так как т' по условию теоремы тоже является оптимальным решением
п * , * *
ЕЧ^Е^
¿=1 ¿=1
то есть
п п п п п
Ет* + Е с** =^ т' = £ Т¿ + Е Сц. (12)
¿= 1 ц=1 ¿=1 ¿=1 ц=*
т С
в силу (12). оно будет оптимальным решением задачи (1). (2). что и требовалось доказать. □
Таким образом, в работе предложено и изучено понятие оптимального приведения матрицы стоимостей и установлена связь между решениями задачи о назначениях и задачи оптимального приведения для несимметричных и симметричных матриц стоимостей.
с*
n
Summary
I.F. Burkhanov, V.R. Fazylov. On the optimal reduction of the costs matrix.
In this paper procedure of reduction used by some methods of search of the exact solution of assignments problem and problems of the traveling salesman is considered. The conception of optimal reduction of the matrix, providing a maximum of the sum of reduction constants is offered and its some properties are discussed.
Литература
1. Кристофидес Н. Теория графов. Алгоритмический подход. М.: Мир. 1978. 432 с.
2. Акоф Р., Сасиеии М. Основы исследования операций. М.: Мир. 1971. 534 с.
3. Конвей Р.В., Максвелл В.Л., Миллер Л.В. Теория расписаний. М.: Наука, 1975. 359 с.
4. Ху Т. Целочисленное программирование и потоки в сетях. М.: Мир. 1974. 519 с.
5. Neumann K., Marlock М. Operations Research. München Wien: Carl Hanser Verlag,
1993. 779 s.
6. Васильев Ф.П., Иваницкий А.Ю. Линейное программирование. М.: Факториал.
1998. 176 с.
7. Ворхаиов И.Ф., Фазылов В.Р. Об оптимальном приведении матрицы стоимостей // Матер. 6-го Всерос. сем. «Сеточпые методы для краевых задач и приложения». Казань: Казан, гос. уп-т. 2005. С. 54 57.
Поступила в редакцию 14.04.06
Ворханов Ильнар Фирсорович аспирант кафедры экономической кибернетики Казанского государственного университета.
Фазылов Валерий Рауфович доктор физико-математических паук, заведующий кафедрой экономической кибернетики Казанского государственного университета. E-mail: Valery.FazylovQksu.ru