УДК 623
Ле Ван Ки, О.В. Бочкарева, О.В. Снежкина ВЕНГЕРСКИЙ МЕТОД РЕШЕНИЯ ВОЕННО-ПРИКЛАДНЫХ ЗАДАЧ
Представлена программа для решения транспортной задачи венгерским методом.
Ключевые слова: транспортная задача, венгерский метод, программное обеспечение.
Повышение эффективности принимаемых решений во всех областях человеческой деятельности, в том числе и в военном деле, предполагает решение широкого круга задач оптимизации. К данному классу задач относится и транспортная задача. Транспортная задача находит широкое применение при решении вопросов материально-технического обеспечения операций, целераспределения, организации ремонта и восстановления военной техники.
Математически транспортная задача формулируется следующим образом. Требуется минимизировать:
™ = 1!?= 1 сцхц 1)
при ограничениях:
2) 3)
1а ( = 2?=1Ь]' хц > О ¿ = 1 ,. . .,т, 7 = 1 ,. . ,,п 4)
где с ¿у - стоимость перевозки единицы груза из /-го пункта отправления до /-го пункта назначения;
х ¿у- количество груза, перевезенного /-го пункта отправления в/-ый пункт назначения;
а ( - запасы груза на /-том пункте отправления;
Ьу - потребности в грузе на/-ом пункте назначения.
Условия (2) и (3) означают, что количество груза, вывозимого из /-го пункта отправления, равно запасам груза в этом пункте, и количество груза, ввозимого в /-ый пункт назначения, равно потребностям в грузе для данного пункта назначения. Из условия (4) следует, что общие запасы потребности в грузе равны.
Показателем эффективности плана перевозок является стоимость, поэтому сформулированную задачу называют транспортной задачей по критерию стоимости. Величина с ¿у может иметь не только стоимостный смысл. Например, с ¿у может означать расстояние, время, расход топлива и т. п. Одним из методов решения транспортной задачи является венгерский метод. Вычислительный алгоритм метода следующий [ 1 , 2 ] :
1. Преобразуем исходную матрицу с ¿у таким образом, чтобы в каждом столбце и каждой строке был хотя бы один нулевой элемент. Для этого вычитаем минимальные элементы столбцов из всех элементов соответствующих столбцов с последующим вычитанием минимальных элементов строк из всех элементов соответствующих строк.
© Ле Ван Ки, Бочкарева О.В., Снежкина О.В., 2014.
Вестник магистратуры. 2014. №5(32). Том I
ISSN 2223-4047
2. Определим начальный опорный план Xjy, назначая перевозки способом «северозападного угла» в нулевые элементы с ¿у.
3. Определим невязки по строкам = а j — Xy= ¿у и столбцам ¿у = ау — X™ ix ¿у и суммарную невязку Д = X!^ i ¿j + Xy=Если Д = 0 , то план является допустимым и оптимальным. Если Д > 0 , то план недопустимый и дальнейшая вычислительная процедура направлена на ликвидацию невязок.
4. Выделим столбцы с ¿у, для которых ¿у = 0.
5. Находим среди невыделенных элементов с ¿у минимальный элемент h. При h = 0 переходим к п.7, при h > 0 - к п.6.
6. Вычитаем h из всех элементов невыделенных строк с ¿у и прибавляем h ко всем элементам выделенных столбцов. Возвращаемся к п. 5.
7. Отметим нулевой элемент h матрицы с ¿у знаком «штрих» (0').
8. Проверяем невязку^ строки, в которой находится 0'. При ^ = 0 переходим к п. 9, при ^ > 0 - к п. 13.
9. Выделим в су строку, в которой находится 0'.
10. В выделенной строке пох ¿у последовательно проверяем в выделенных столбцах значения х ¿у. При х ¿у > 0 переходим к п. 12.
11. Открываем в выделенный столбец и отмечаем нулевой элемент этого столбца, находящийся в выделенной строке, звездочкой (0*).
12. Если проверены все выделенные столбцы х¿у, переходим к п. 5, в противном случае -к п. 10.
13. Строим цепочку по столбцу от 0' к 0*, по строке от 0* к 0'. Цепочка начинается от 0', находящегося в столбце с , и заканчивается в 0', находящемся в столбце с . Возможен случай, когда цепочка содержит только один 0', т.е.0' находится в строке и столбце, для которых
14. Определяем величину сокращения невязки: в = тип{ ^ , х(*у, ¿у], где ^ — невязка строки, в которой находится первый 0' цепочки;
0' цепочки, - минимальное значение перевозок, соответствующее 0*, входящему в цепочку. Если в цепочку входит один 0', то в = т i п { ¿у].
15. Находим новый план, прибавляя к элементам , соответствующим 0' цепочки, и вычитая из элементов , соответствующим 0* цепочки. Остальные элемент остаются без изменений.
16. Раскрываем все выделенные столбцы и строки, стираем у нулевых элементов знаки штриха и звездочки переходим к п. 3.
Представленный алгоритм наглядно показывает, что венгерский метод формализован, но достаточно сложен. Поэтому его удобно реализовывать на компьютере. На кафедре АСУиПО Пензенского АИИ разработана и внедрена программа для решения транспортной задачи венгерским методом .
Пример. Определить оптимальный (по минимуму суммарного расхода горючего) план доставки боеприпасов с артиллерийских складов в подразделения, если наличие и потребности боеприпасов, а также расход горючего на доставку одного БК с каждого склада в каждое подразделение заданы таблицей следующего вида:
B1 B2 B3 аг
A1 10 1 3 40
A2 6 2 2 80
Аз 12 5 14 60
ь, 30 100 50
Решение задачи с помощью разработанного программного обеспечения представлено на рисунке 1.
Методом в. шшт
Метод Вид Размер Таблицы О Программе Система Ограничения
Поставщик! В(1] |в(2] |в(3] | Запасы Поставщик ||В(1] | В [2] |В(3] | Запасы \
All] 10 1 3 40 А[1] 1 1 3 40
Ай G 2 2 80 А(2] G 2 \2 80
А|3] 12 5 14 60 AI3] 12 П4 р0
Потребите л 30 100 Потребите/ зо ГТоа so
Рассчитать Закрыт,« мщ.пь 1 -1 Значение целевой функции равно 980
Поставщик! |В[2] |В[3) | Запасы I Поставщик! В(1] |В(2] |В(3] | Запасы J
АН) 40 0 0 А(1] ^Вдо 0 0
AI2] 0 ВО 20 0 А(2] 30 0 50 0
А[3] 30 0 30 "5 А(3] 0 ВО 0 р
Потреб иге л а 0 0 "5 Петре бите л 0 0 0 0
Вычислить 1 Значение целевой Функции равно 620
Рис. 1. Решение транспортной задачи венгерским методом
Вычислительные эксперименты показали эффективность разработанного программного обеспечения, реализующего венгерский метод решения военно-прикладных задач, и в частности транспортной задачи.
Библиографический список
1. Культин П.Б. Самоучитель C++Builder. СПб.: БХВ-Петербург, 2004. 320 с.
2. Привалов А.Н. Методы оптимизации в системах военного назначения. Часть 2. Из-во ТАИИ, 2006. 86 с.
3. Бочкарева О.В. Математические задачи как средство формирования профессиональных качеств личности / О.В. Бочкарева, Т.Ю. Новичкова, О.В. Снежкина, Р.А. Ладин // Современные проблемы науки и образования. 2014. № 2. URL: www.science-education.ru/116-12584.
ЛЕ ВАН КИ - старший сержант, Пензенский артиллерийский инженерный институт.
БОЧКАРЕВА Ольга Викторовна - кандидат педагогических наук, доцент, Пензенский артиллерийский инженерный институт.
СНЕЖКИНА Ольга Викторовна - кандидат технических наук, доцент, Пензенский государственный университет архитектуры и строительства.