Метод дифференциальных рент
Назначение. Онлайн-калькулятор предназначен для решения транспортной задачи методом дифференциальных рент (см. пример решения). Для этого выберите размерность матрицы тарифов (количество поставщиков и количество магазинов).
Алгоритм метода дифференциальных рент
Если при определении оптимального плана ТЗ методом потенциалов сначала находился какой-нибудь опорный план, а затем он последовательно улучшался, то при нахождении решения ТЗ методом дифференциальных рент сначала распределяют между пунктами назначения часть груза (так называемое оптимальное распределение) и на последующих итерациях постепенно уменьшают общую величину нераспределенных поставок. Первоначальный вариант распределения груза определяют следующим образом.В каждом из столбцов таблицы данных находят минимальный тариф. Найденные числа заключают в кружки, а клетки, в которых стоят указанные числа, заполняют. В них записывают максимально возможные числа. В результате получают некоторое распределение поставок груза в пункты назначения. Это распределение в общем случае не удовлетворяет ограничениям исходной транспортной задачи. Поэтому в результате последующих шагов следует постепенно сокращать нераспределенные поставки груза так, чтобы при этом общая стоимость перевозок оставалась минимальной. Для этого сначала определяют избыточные и недостаточные строки.
Строки, соответствующие поставщикам, запасы которых полностью распределены, а потребности пунктов назначения, связанных с данными потребителями запланированными поставками, не удовлетворены, считаются недостаточными. Эти строки иногда называют также отрицательными. Строки, запасы которых исчерпаны не полностью, считаются избыточными. Иногда их называют также положительными.
После того, как определены избыточные и недостаточные строки, для каждого из столбцов находят разности между числом в кружке и ближайшим к нему тарифом, записанным в избыточной строке. Если число в кружке находится в положительной строке, то разность не определяют. Среди полученных чисел находят наименьшее. Это число называется промежуточной рентой. После определения промежуточной ренты переходят к новой таблице. Эта таблица получается из предыдущей таблицы прибавлением к соответствующим тарифам, стоящим в отрицательных строках, промежуточной ренты. Остальные элементы остаются прежними. При этом все клетки новой таблицы считают свободными. После построения новой таблицы начинают заполнение ее клеток. Теперь уже число заполняемых клеток на одну больше, чем на предыдущем этапе. Эта дополнительная клетка находится в столбце, в котором была записана промежуточная рента. Все остальные клетки находятся по одной в каждом из столбцов, и в них записаны наименьшие для данного столбца числа, заключенные в кружки. Заключены в кружки и два одинаковых числа, стоящих в столбце, в котором в предыдущей таблице была записана промежуточная рента.
Поскольку в новой таблице число заполняемых клеток больше, чем число столбцов, то при заполнении клеток следует пользоваться специальным правилом, которое состоит в следующем. Выбирают некоторый столбец (строку), в котором имеется одна клетка с помещенным в ней кружком. Эту клетку заполняют и исключают из рассмотрения данный столбец (строку). После этого берут некоторую строку (столбец), в которой имеется одна клетка с помещенным в ней кружком. Эту клетку заполняют и исключают из рассмотрения данную строку (столбец). Продолжая так, после конечного числа шагов заполняют все клетки, в которых помещены кружки с заключенными в них числами. Если к тому же удается распределить весь груз, то получают оптимальный план. Если же оптимальный план ТЗ не получен, то переходят к новой таблице. Для этого находят избыточные и недостаточные строки, промежуточную ренту и строят новую таблицу. При этом могут возникнуть некоторые затруднения при определении знака строки, когда ее нераспределенный остаток равен нулю. В этом случае строку считают положительной при условии, что вторая заполненная клетка, стоящая в столбце, связанном с данной строкой еще одной заполненной клеткой, расположена в положительной строке.
После описанных выше итераций нераспределенный остаток становится равным нулю. В результате получается оптимальный план ТЗ.
Решение транспортной задачи методом дифференциальных рент
Задание. Для ТЗ, исходные данные которой приведены в таблице 27, найти оптимальный план методом дифференциальных рент.Таблица 27 – Исходные данные для определения оптимального
плана ТЗ методом дифференциальных рент
| Пункты отправления | Пункты назначения | Запасы | ||||
| B1 | B2 | B3 | B4 | В5 | ||
| А1 | 7 | 12 | 4 | 8 | 5 | 180 |
| А2 | 1 | 8 | 6 | 5 | 3 | 350 |
| А3 | 6 | 13 | 8 | 7 | 4 | 20 |
| Потребности | 110 | 90 | 120 | 80 | 150 | 550 |
Решение ведем с помощью калькулятора.
Перейдем от таблицы 27 к таблице 28, добавив один дополнительный столбец для указания избытка и недостатка по строкам и одну строку для записи соответствующих разностей.
Таблица 28 – Определение оптимального плана ТЗ методом
дифференциальных рент
| Пункты отправления | Пункты назначения | Запасы | Недостаток (-) / Избыток (+) | ||||
| B1 | B2 | B3 | B4 | В5 | |||
| А1 | 7 | 12 | (4)120 | 8 | 5 | 180 | +60 |
| А2 | (1)110 90 | 6 | (5) 80 | (3) 70 | 350 | -80 | |
| А3 | 6 | 13 | 8 | 7 | 4 | 20 | +20 |
| Потребности | 110 | 90 | 120 | 80 | 150 | 550 | |
| Разность | 5 | 4 | - | 2 | 1 | ||
В результате заполнения отмеченных выше клеток получен так называемый условно оптимальный план, согласно которому полностью удовлетворяются потребности пунктов назначения В1,В2, В3, В4 и частично пункта В5. При этом полностью распределены запасы пункта отправления А2, частично – пункта А1 и остались совсем нераспределенными запасы пункта отправления А3.
После получения условно оптимального плана определяем избыточные и недостаточные строки. Здесь недостаточной является строка А2, так как запасы пункта отправления А2 полностью использованы,
а потребности пункта назначения В5 удовлетворены частично. Величина недостатка 80 единиц.
Строки А1 и А3 являются избыточными, поскольку запасы пунктов отправления А1 и А3 распределены не полностью. При этом величина избытка строки А1 равна 60 единицам, а строки А3 – 20 единицам. Общая величина избытка 60+20=80 совпадает с общей величиной недостатка, равной 80.
После определения избыточных и недостаточных строк по каждому из столбцов находим разности между минимальными тарифами, записанными в избыточных строках, и тарифами, стоящими в заполненных клетках. В данном случае эти разности соответственно равны 5,4,2,1 (таблица 28). Для столбца В3 разность не распределена, т.к. число, стоящее в кружке в данном столбце, находится в положительной строке. В столбце В1 число, стоящее в кружке, равно 1, а в избыточных строках в клетках данного столбца наименьшим является число 6. Следовательно, разность для данного столбца равна 6-1=5. Аналогично находим разности для других столбцов: 12-8=4 для В2; 7-5 = 2 для В4; 4-3=1 для В5.
Выбираем наименьшую из найденных разностей, которая является промежуточной рентой. В данном случае промежуточная рента равна 1 и находится в столбце В5. Найдя промежуточную ренту, переходим к таблице 29.
В этой таблице в строках А1 и А3 (являющихся избыточными) переписываем соответствующие тарифы из строк А1 и А3 таблицы 28. Элементы строки А2 (которая была недостаточной) получаются в результате прибавления к соответствующим тарифам, находящимся в строке А2 таблицы 28, промежуточной ренты, т.е. 1.
Таблица 29 – Определение оптимального плана ТЗ методом
дифференциальных рент
| Пункты отправления | Пункты назначения | Запасы | Недостаток (-) / Избыток (+) | ||||
| B1 | B2 | B3 | B4 | В5 | |||
| А1 | 7 | 12 | (4) 120 | 8 | 5 | 180 | +60 |
| А2 | (2) 110 | (9) 90 | 7 | (6) 80 | (4) 70 | 350 | -60 |
| А3 | 6 | 13 | 8 | 7 | (4) 20 | 20 | -0 |
| Потребности | 110 | 90 | 120 | 80 | 150 | 550 | |
| Разность | 5 | 3 | - | 2 | 1 | ||
Таблица 30 – Определение оптимального плана ТЗ методом
дифференциальных рент
| Пункты отправления | Пункты назначения | Запасы | Недостаток (-) / Избыток (+) | ||||
| B1 | B2 | B3 | B4 | В5 | |||
| А1 | 7 | 12 | (4) 120 | 8 | (5) 60 | 180 | 0 |
| А2 | (3) 110 | (10) 90 | 8 | (7) 80 | (5) 70 | 350 | 0 |
| А3 | 7 | 14 | 9 | 8 | (5) 20 | 20 | 0 |
| Потребности | 110 | 90 | 120 | 80 | 150 | 550 | |
| 0 | 0 | 120 | 0 | 60 | |
| X* = | 110 | 90 | 0 | 80 | 70 |
| 0 | 0 | 0 | 0 | 20 |
S = 4.120+5.60+1.110+8.90+5.80+3.70+4.20 = 2300.
Суть алгоритма и его универсальность
Метод дифференциальных рент не является изолированным или узкоспециализированным алгоритмом — это адаптивная модификация методов линейного программирования для решения транспортных задач и их многочисленных аналогов в различных областях науки и техники.С математической точки зрения метод дифференциальных рент эквивалентен венгерскому методу (алгоритму Куна) для задачи о назначениях и тесно связан с дуальными симплекс-методами. Вместо последовательного улучшения плана (как в методе потенциалов), он работает с оценками (рентами/ценами) и постепенно сокращает дисбаланс, сохраняя критерий оптимальности на каждом шаге.
Любая задача, которую можно свести к транспортной матрице или задаче распределения ресурсов, может быть решена этим алгоритмом.
Области науки и техники для применения алгоритма
1. Логистика и управление цепями поставок (Supply Chain Management)
- Оптимизация грузопотоков: Распределение поставок сырья от множества карьеров/баз на заводы с минимизацией издержек.
- Управление складскими мощностями: Перераспределение излишков продукции между региональными распределительными центрами.
2. Экономика и менеджмент (Операционный менеджмент)
- Задача о назначениях (Assignment Problem): Оптимальное закрепление сотрудников (машин, программистов, рабочих) за проектами или технологическими операциями. Каждая "клетка" матрицы в данном случае — это эффективность или стоимость работы конкретного исполнителя на конкретном месте.
- Распределение бюджетных ассигнований: Направление инвестиций из нескольких фондов по инвестиционным проектам.
3. Вычислительная техника и IT
- Облачные вычисления (Cloud Computing): Оптимальное распределение вычислительных задач (Grid/Cloud запросов) по удаленным серверам и дата-центрам с учетом пропускной способности каналов (тарифов времени отклика).
- Маршрутизация в сетях связи: Распределение пакетов данных по магистральным каналам связи для предотвращения перегрузок (сетевые транспортные модели).
4. Промышленность и производство
- Балансировка производственных линий: Распределение загрузки однотипных станков или цехов для выполнения общего производственного плана.
- Утилизация мощностей: Оптимизация раскроя материалов или распределения энергоресурсов (ТЭЦ, электросети) между суточными потребителями.
5. Военное дело и гражданская оборона
- Военно-инженерная логистика: Планирование оперативной переброски сил, техники и снабжения из тыловых баз на оборонительные рубежи.
- Эвакуация и ликвидация ЧС: Распределение пострадавших из зон бедствия по госпиталям или распределение спасательной техники по точкам возгорания/завалов.