УДК 519.7
А.Н. ГВОЗДИНСКИЙ, М.А. ГАВРЮШЕНКО
ИССЛЕДОВАНИЕ И РАЗРАБОТКА МЕТОДОВ РЕШЕНИЯ ЗАДАЧ ЗАКРЕПЛЕНИЯ ПОТРЕБИТЕЛЕЙ ЗА ПОСТАВЩИКАМИ С УЧЕТОМ ВОЗВРАТА ТРАНСПОРТНЫХ СРЕДСТВ
Исследуется алгоритм, с помощью которого возможно определить оптимальный план перевозок груза от поставщиков к потребителю и маршруты движения транспортных средств.
Введение
В настоящее время, в условиях развитого свободного рынка, острой проблемой является оптимизация производства и бизнеса. Из-за достаточно сильной конкуренции идет стремление минимизировать затраты на издержки, тем самым повысить конкурентоспособность товара или услуги.
Огромное количество возможных вариантов перевозок затрудняет получение достаточно экономного плана эмпирическим или экспертным путем. Применение математических методов и вычислительных возможностей в планировании перевозок дает большой экономический эффект.
Актуальность исследования. Транспортная задача является представителем класса задач линейного программирования, поэтому обладает всеми качествами линейных оптимизационных задач, но одновременно она имеет и ряд дополнительных полезных свойств, которые позволили разработать специальные методы ее решения.
Под названием "транспортная задача" объединяется широкий круг задач с единой математической моделью. Классическая транспортная задача - задача о наиболее экономном плане перевозок однородного продукта или взаимозаменяемых продуктов из пунктов производства в пункты потребления, встречается чаще всего в практических приложениях линейного программирования.
Среди задач транспортного типа в производственной деятельности особое значение имеет задача закрепления поставщиков за потребителями, которая получила в настоящее время широкое распространение в теоретических обработках и практическом применении на транспорте и в промышленности. Особенно большое значение она имеет в рационализации постановок важнейших видов промышленной и сельскохозяйственной продукции, а также оптимального планирования грузопотоков и работы различных видов транспорта.
При массовом перевозе грузов от производителя к потребителю возникает необходимость не только определить закрепление поставщиков за потребителями, но и выбор маршрутов перевозок таким образом, чтобы обеспечить минимум порожних пробегов и возврат транспортных средств. Такие задачи означают необходимость нахождения оптимального плана обратной доставки транспорта от потребителей к поставщикам после перевозки основного груза.
Целью данного исследования является оптимизация функционирования транспортных систем, уменьшение затрат на перевозку грузов от поставщиков к потребителям, расчет маршрутов движения транспортных средств, а также разработка алгоритма оптимизации с помощью исследуемого метода потенциалов и реализация его программными средствами.
Задача исследования - составить математическую модель в классе экстремальных задач, на основе которой определить нужды в автомобилях, которые необходимы для выполнения плана перевозок, обратные потоки транспортных средств и маршруты их движения.
1. Методы решения
Транспортные модели - специальный класс задач линейного программирования. Эти модели часто описывают перемещение (перевозку) какого-либо товара из пункта отправления (исходный пункт, например место производства) в пункт назначения (склад, магазин, грузохранилище). Назначение транспортной задачи - определить объем перевозок из пунктов отправления в пункты назначения с минимальной суммарной стоимостью перевозок. При этом должны учитываться ограничения, налагаемые на объемы грузов, имеющихся в пунктах отправления (предложения), и ограничения, учитывающие потребность грузов в пунктах назначения (спрос). В транспортной модели предполагается, что стоимость перевозки по какому-либо маршруту прямо пропорциональна объему груза, перевозимого по этому маршруту. В общем случае транспортную модель можно применять для описания ситуаций, связанных с управлением запасами, управлением движением капиталов, составлением расписаний, назначением персонала и др.
Транспортную задачу, по сути, можно решить с помощью симплекс-метода. Однако специфическая структура условий задачи позволила разработать более эффективные вычислительные методы. Т-задачу можно решить распределенным методом, методом потенциалов, дифференциальных рент и т.д. Для решения Т-задач ручными методами необходимо пройти такие этапы: определить начальный опорный план задачи, оценить его, перейти к следующему, лучшему плану путем замены одной из базисной переменной на свободную переменную. Существует несколько простых методов нахождения начального опорного плана Т-задачи: северо-западного угла, минимальной стоимости, двойных меток, метод Фогеля и т.д.
Для разработки исследуемого алгоритма был использован метод потенциалов и метод минимального элемента.
2. Разработка математической модели и вычислительного алгоритма
Рассмотрим перевоз однородной продукции. Задача решается в 3 этапа.
1. С помощью модели закрепленных поставщиков за потребителями решаем обычную
транспортную задачу без учета возврата транспортных средств:
m n
F(X) CijXij ^ min; (1)
i=1j=1 J J У '
107
n
2 Xi:=ai,i=l,m; (2)
j=1 m
2 Xij=bj'j=1,n- (3)
i=i
где Cij - затраты на перевозку единицы продукции от i-го поставщика к j-му потребителю; а{ - количество вывозов груза от i-го поставщика; bj - количество необходимого груза потребителю; Xy - количество груза, перевезённого от i-го поставщика к j-му потребителю.
Решением этой задачи являются транспортные потоки Xy между потребителем и поставщиком. Зная вместимость транспортного средства, можно определить количество транспортных средств, необходимых для перевоза груза объемом Xj
Xij .
nij=—-,i=1,m;j=1,n; (4) j a
количество транспортных средств, прибывших к j-му потребителю:
m
n.= 2 n.,j=l,n; (5)
j i=1 ij (5)
количество транспортных средств, отправленных от i-го поставщика:
nj=jl1nij'i=1'm- (6)
2. С помощью решения обычной транспортной задачи определяем оптимальные обратные потоки транспортных средств:
m n
F(X) = Д.^СуУу ^ min, (7)
при ограничениях:
m
Е yji=nj,j=1,n; (8)
i=1 n
•51yji=ni,i=1,m; (9)
yji ^ 0,i=1,m j=1,n. (10)
Здесь Cij - стоимость возврата единицы транспортного средства от j-го потребителя к i-му поставщику; Yji - количество транспортных средств, отправленных от j-го потребителя к i-му поставщику.
3. Определяем маршруты следования транспортных средств.
В результате решения транспортной задачи первого этапа получаем объемы поставок и потребления, а также оптимальные транспортные потоки грузов. Требуется определить потребность в автомобилях Иу, ni, nj.
В качестве искомой переменной выберем Xij - количество единиц перевозимого груза из i-го в j-й пункт.
Условие неотрицательности искомых переменных выполняется из природы самой задачи, т. е. отрицательных грузов, подлежащих перевозке не бывает.
Особенностью систем ограничений транспортной задачи, в отличие от общей задачи линейного программирования, является то, что матрица коэффициентов в левой части единична, а вектор констант правой части состоит из двух частей аi и bj и общее их количество (m+n). Общее количество неизвестных всей таблицы Xy равно mn, а число неизвестных составляющих маршрут включает в себя (m+n) Xy f 0.
m n
С учетом выражения 2 a; = 2 bj следует, что в системе (m+n) равенств число незави-i=1 j=1
симых равенств равно (m+n+1), следовательно, для решения задачи необходимо найти не (m+n), а (m+n+1) неизвестных - это и будет невырожденный план.
Для того чтобы найти любой опорный план, который всегда является допустимым, нам необходимо было бы путем полного перебора найти (т-1)*(п-1) вариантов. Это комбинаторная задача. Поэтому среди всех опорных планов нужно находить такие, чтобы они позволяли на их множестве найти оптимальный. Учитывая, что Т-задачи не требуют предварительного определения ОДР, а любой опорный план является и допустимым, разработаны специальные методы построения исходных опорных планов.
С помощью известного метода минимального элемента определяем начальный опорный
V (0) (0)
план Х0 и вычисляем предварительные потенциалы V] ,и- .
По найденному плану Х0 строим схему Т-задачи из основных коммуникаций плана. Далее образуем следующие множества: 11 - множество индексов всех пунктов Б], которые связаны с пунктом А1 основными коммуникациями; 11 - множество индексов тех пунктов производства А;, которые связаны с множеством 11; наконец 12 - множество индексов пунктов потребления, которые связаны основными коммуникациями с множеством 11 и т.д.
Образование таких множеств продолжается до тех пор, пока не получат пустое множество.
Поскольку на выполнение условий оптимального плана влияют лишь разности Vj -и;, то за начало отсчета (нуль) можно принять потенциал любого из пунктов.
Полагаем для определенности и(0) =0 и вычислим систему потенциалов относительно Аь Тогда ^0)=сц-и(0)=сц, где j е 11.
По значениям v(0)(j е 11) определяем потенциалы пунктов А;(1 е ¡1):
и(0) = ] - с^е ^ е 11). (11)
Аналогично вычисляем потенциалы v(j0)(j е 12) и т.д. После того, как потенциалы всех пунктов найдены, строим матрицу
С1=
( (0) (0)Л
(12)
Очевидно, позиции матрицы Сь отвечающие базисным элементам плана Х0, будут заняты нулями.
Если матрица С1 не содержит отрицательных элементов, то Х0 - оптимальный план. В противном случае Х0 - неоптимальный план, который может быть улучшен. Тогда переходят к выполнению однотипных итераций.
(к+1)-я итерация. Каждая итерация кроме первой, где отсутствует первый этап, состоит из двух этапов. Предположим, что уже проведено к итераций (к=1,...), в результате которых получен план Хк и матрица Ск.
Цель (к+1)-й итерации - построение матрицы Ск+1, а также либо установление оптимальности плана Хк , либо нахождения более экономичного плана Хк+1.
Вычисляем матрицу Ск+1. Преобразование матрицы Ск в матрицу Ск+1 состоит в следующем. Выбираем наибольший по модулю отрицательный элемент матрицы Ск. Пусть это
к к элемент с^ = Дк . Выделяем строку, в которой содержится элемент с^, а множество
существенных элементов этой строки, не совпадающих с данным элементом, обозначают 01. При этом Хк - существенными элементами называют те элементы матрицы Ск, которые отвечают базисным перевозкам плана Хк.
Затем выделяем столбцы матрицы Ск, которые содержат элементы множества 01. Множество Хк - существенных элементов, которые находятся в столбцах матрицы Ск и отличны от 01 элементов множества, обозначают 02.
Процесс выделения продолжается до тех пор, пока очередное множество не окажется пустым. Поскольку каждая строка и столбец не могут быть выделены дважды, то весь процесс заканчивается за 1=т+п-1 шагов.
Далее строим матрицу Ck+1. Для этого величину Ак прибавляем ко всем выделенным
столбцам и вычитаем из всех выделенных строк матрицы Ck. При этом все выделенные Xk - существенные элементы матрицы Ck остаются равными нулю, а кроме того, в нуль
превращается и элемент c^ .
Если все элементы матрицы Ck+1 окажутся неотрицательными, то Xk - оптимальный план, и на этом процесс заканчивается. В противном случае производим улучшение плана Xk. Выбираем наибольший по модулю отрицательный элемент матрицы Ck+1. Пусть это
элемент Cj^o^ = A^+1 Р 0 - Затем составляем, применив, например метод вычеркивания,
цепочку из положительных элементов плана Xk, которая замыкается на x^o-
После того как цепочка построена, в ней находим минимальный нечетный по порядку следования элемент:
© • (k)
@k+1 = min x> / , (13)
k+1 0<^<S iRJ^+1 (13)
Прибавляем &к+1 ко всем четным элементам цепочки и к элементу xi0jo и вычитаем 0к+1 из всех нечетных элементов. Остальные элементы Xk оставляем без сомнения.
Новый план Xk+1 построен. Он является опорным, так как число его ненулевых перевозок не изменилось.
Пусть Lk - величина транспортных издержек, отвечающих плану Xk. Тогда новое значение целевой функции, отвечающее плану Xk+1, находим по отношению:
Lk+1=Lk+©k+1Ak+1- (14)
Так как ©k+1 f 0 и Ak+1 р 0 , то Lk+1 р Lk . Поэтому Xk+1 является улучшенным опорным планом.
Затем производим аналогичную (k+2)-ro итерацию.
Выводы
Научную новизну имеют следующие результаты исследования:
1) Сформулированы и обоснованы основные методы повышения эффективности перевозки грузов с минимальными затратами.
2) Предложен метод анализа маршрутов транспортных средств от поставщиков к потребителям и обратно.
3) Разработана оптимальная схема грузовых потоков, которая позволяет снизить затраты на перевозки.
4) Предложен вычислительный алгоритм, его программная реализация с использованием современных вычислительных средств. Вычислительный алгоритм разработан в среде Visual Studio 2008. Программа выполняет такие действия: находит опорный план перевозок по методу минимального элемента, а также опорный план возврата по методу минимального элемента, оптимальный план перевозок по методу потенциалов, оптимальный план возврата по методу потенциалов, находит потребности в автомобилях, считает маршруты для автомобилей.
Результаты программы представлены на рисунке.
Практическое значение. После исследования алгоритмов решения транспортных задач можно сказать, что они являются мощным математическим аппаратом для решения определённого рода задач, реализация которых не занимает много времени. Такие математические аппараты могут быть использованы в различных системах транспортного типа различного назначения, так как с их помощью можно решить поставленную задачу с минимальными затратами, т. е. найти самое оптимальное решение.
Без оптимизации, чтобы обеспечить маятниковые поставки, требуется практически в два раза больше автомобилей, чем с оптимизацией. С помощью вычислительного алгоритма, который реализован программно (рисунок), можно легко посчитать маршруты от поставщиков к потребителям, количество транспорта, необходимого для совершения маятниковых поставок, а также снизить затраты на автомобили и на перевозки.
Запасы поставщиков A1 ...AN: 1 DD 15 70 55 2D
Заявки получателей B1 ... BW: 30 40 55 55 4510 25
Стоимость перевозок (Ах В):
3557465 3634334 B1D456B6 737S533 54 34676
Стоимость возврата (В х А):
14412 3 2251 43373 23551 43223
Груза в автомобиле:
|
Посчитать
Оптам. план перев. (Ах В): 1D2D Q Потребность в автомобилях (Ах В): Оптам. план возвр. (Вх А): 103
3D0 0 045025 00015000 0 0 35 35 0 0 0 04D0 50 100 О О 2D О О О О
Маршруты для автомобилей:
6000 5 D 5 0003 ООО 0077000 0301020 0D4D000
2004 D
03104 z
0011 00 -
11 0000
00270 -
у
Все маршруты: А1 —» В1 = 6 ; А1 —; A4-» BS = 2 ; А5—; В4—» AI - 11 : В5-
В5 = 5; А1 -В3 = 4; В1 -i + A3 = 2 ; В5-
В7 = 5; А2-AI = 2: В1 -i * A4 = 7 ; ВЕ-
В4 = 3 ; A3 -A4 = 4 ; В2 -+ AI = 2 ; В7 -
В3 = 7;АЗ-А2 = 3: В2-' AI = 5
> В4= 7; А4-•А3=1:В2-
> В2 = 3 ; A4 -■ А5 = 4; ВЗ-
■В4=1; ■ А3= 11 :
Маятниковые маршруты, которые можно исключить:
А1 В1 = 2: Е1 -» А1 = 2; А1 В7 = 5; В7^А1 = 5; АЗ^ В3 = 7; ВЗ^АЗ = 7 Оставшиеся маршруты:
А1—>B1 = 4:А1—>В5=5:А2—>B4=3:A3—*В4 = 7:А4—>В2=3:А4—>В4=1 :А4—>В6 = 2:А5—>ВЗ=4:
Экранная форма выполнения программы
Список литературы: 1. ВентцельЕ.С. Исследование операций. М.: 1972. 552 с. 2. БондаренкоМ. Ф., Гвоздинський А. М. Оптимшцщт задачi в системах прийняття ршень. Харкав: ХТУРЕ, 1998. 216с. 3. ГвоздинськийА.М., Яюмова Н.А., Губ1н В. О. Методи отгашзацл в системах прийняття ршень: Навч. поабник. Харк1в: ХНУРЕ, 2006. 324с. 4. Большакова И.В., Кураленко М.В. Линейное программирование. Мн., 2004. 148 с.
Поступила в редколлегию 05.03.2010
Гвоздинский Анатолий Николаевич, канд. техн. наук, профессор кафедры искусственного интеллекта ХНУРЭ. Научные интересы: оптимизация процедур принятия решений в сложных системах управления. Адрес: Украина, 61166, Харьков, ул. Ак. Ляпунова, 7, кв. 9, тел. 702-38-23
Гаврюшенко Мария Александровна, студентка группы ИСПР-06-1 ХНУРЭ. Научные интересы: теория принятия решений, методы принятия решений в системах искусственного интеллекта. Адрес: Украина, 61140, Харьков, пр.Гагарина, 40, кв. 59.