В мире, где логистические издержки могут достигать 50% от общих затрат, оптимизация перевозок становится не просто желательной, а жизненно необходимой для любого предприятия. Именно здесь на сцену выходит транспортная задача – мощный инструмент математического программирования, позволяющий найти наиболее экономичные пути перемещения товаров и ресурсов. Это руководство предназначено для студентов технических и экономических вузов, стремящихся глубоко освоить теоретические основы и практические навыки решения транспортной задачи, в частности, методом потенциалов, для успешного написания курсовой работы. От понимания математической модели до тонкостей устранения вырожденности — мы погрузимся во все аспекты этой увлекательной и крайне применимой области, раскрывая, как именно этот инструмент позволяет компаниям не просто выживать, но и процветать в условиях жесткой конкуренции, сокращая издержки и повышая операционную эффективность.
Введение: Актуальность Транспортной Задачи в Современной Экономике
В условиях постоянно растущих объемов производства и потребления, глобализации рынков и усиления конкуренции, эффективная логистика является ключевым фактором успеха. По некоторым оценкам, транспортные операции составляют около 50% всех логистических расходов предприятия, что делает их оптимизацию первоочередной задачей для сокращения издержек и повышения прибыльности. Именно поэтому транспортная задача, будучи одной из классических моделей линейного программирования, не теряет своей актуальности, а напротив, приобретает еще большее значение в современной экономике, являясь фундаментом для принятия стратегических решений, способных значительно влиять на маржинальность и устойчивость бизнеса.
Цель данного руководства — предоставить исчерпывающую теоретическую и практическую базу для студентов, изучающих математическое программирование и исследование операций. Мы рассмотрим все аспекты транспортной задачи, начиная от ее математической постановки и экономического смысла, заканчивая подробным описанием алгоритма метода потенциалов и разбором особых случаев. Материал структурирован таким образом, чтобы стать надежным фундаментом для написания качественной курсовой работы, охватывающей как базовые принципы, так и нюансы решения реальных логистических проблем.
Теоретические Основы: Математическая Постановка и Экономический Смысл Транспортной Задачи
В основе любой оптимизационной задачи лежит четкая математическая модель, отражающая ее сущность и позволяющая перевести экономические цели в язык чисел и уравнений. Транспортная задача не исключение: ее элегантная структура является прекрасным примером применения линейного программирования для решения прикладных проблем.
Определение и Классификация Транспортной Задачи
Транспортная задача (ТЗ) — это классическая задача линейного программирования, целью которой является определение такого плана перевозок однородного продукта от поставщиков к потребителям, который минимизирует суммарные транспортные расходы. При этом должны быть полностью вывезены все запасы от поставщиков и полностью удовлетворены потребности всех потребителей.
Исторически ТЗ появилась как инструмент для оптимизации распределения ресурсов и товаров в условиях ограниченных мощностей и высоких затрат на логистику. Ее отличительная черта — особая структура матрицы коэффициентов в системе ограничений, что позволяет использовать специализированные, более эффективные по сравнению с общим симплекс-методом алгоритмы решения, такие как метод потенциалов.
Транспортные задачи делятся на два основных типа:
- Закрытая (сбалансированная) транспортная задача: Это идеальный случай, когда суммарный объем предложения (запасов у всех поставщиков) точно равен суммарному объему спроса (потребностей всех потребителей). Математически это выражается как:
m
Σ ai =
n
Σ bj
i=1
j=1
Такая задача всегда обладает решением, что является ключевым условием для применения большинства алгоритмов. - Открытая (несбалансированная) транспортная задача: В реальных условиях чаще встречается ситуация, когда суммарные запасы не равны суммарным потребностям.
- Если предложение превышает спрос ($\sum_{i=1}^{m} a_i > \sum_{j=1}^{n} b_j$), то часть товаров останется у поставщиков.
- Если спрос превышает предложение ($\sum_{i=1}^{m} a_i < \sum_{j=1}^{n} b_j$), то часть потребностей останется неудовлетворенной.
Такие задачи требуют предварительной балансировки путем введения фиктивных поставщиков или потребителей, о чем будет подробно рассказано в дальнейшем. Это критически важный шаг, без которого невозможно применение стандартных методов решения.
Математическая Модель Транспортной Задачи
Математическая модель транспортной задачи — это формализованное описание цели и условий, которое позволяет использовать математические методы для поиска оптимального решения.
Представим, что у нас есть m поставщиков и n потребителей.
- ai — запас продукта у i-го поставщика (i = 1, …, m).
- bj — потребность продукта у j-го потребителя (j = 1, …, n).
- cij — стоимость перевозки единицы продукта от i-го поставщика к j-му потребителю.
- xij — объем продукта, который необходимо перевезти от i-го поставщика к j-му потребителю. Это и есть наши искомые переменные.
Целевая функция: Главная цель транспортной задачи — минимизировать общие затраты на перевозку. Это выражается следующей функцией:
Z = Σi=1m Σj=1n (cij ⋅ xij) → min
Эта функция представляет собой сумму произведений объемов перевозок на соответствующие тарифы по всем возможным маршрутам, и именно её минимизация определяет экономическую эффективность решения.
Система ограничений: Задача должна выполняться при соблюдении двух основных групп условий:
- Ограничения по поставщикам: Объем продукции, отправленной от каждого поставщика, не должен превышать его имеющегося запаса (или должен быть равен ему в сбалансированной задаче).
Σj=1n xij = ai, для i = 1, ..., m
Это означает, что весь запас каждого поставщика i должен быть распределен между потребителями. - Ограничения по потребителям: Объем продукции, полученной каждым потребителем, должен быть равен его потребности.
Σi=1m xij = bj, для j = 1, ..., n
Это гарантирует, что каждый потребитель j получит требуемое количество продукта. - Условие неотрицательности: Объемы перевозок не могут быть отрицательными.
xij ≥ 0, для всех i, j
Совокупность этих уравнений и неравенств образует полную математическую модель транспортной задачи, без которой невозможно ее корректное решение.
Экономический Смысл и Практическое Значение
Экономический смысл транспортной задачи значительно шире простой минимизации затрат. Она является краеугольным камнем логистического планирования и играет важнейшую роль в формировании конкурентных преимуществ предприятия.
Во-первых, сокращение транспортных расходов напрямую влияет на конечную стоимость продукта для потребителя, повышая его конкурентоспособность. Эффективная логистика позволяет не только снизить прямые издержки (топливо, зарплата водителей, амортизация транспорта), но и косвенные, связанные с хранением, страхованием и управлением запасами. И что из этого следует? Это означает, что оптимизация маршрутов и объемов перевозок может стать решающим фактором для удержания рыночных позиций и привлечения новых клиентов, предлагая более выгодные цены.
Во-вторых, транспортная задача способствует оптимальному распределению ресурсов. Это не только физические товары, но и транспортные средства, трудовые ресурсы, производственные мощности. Например, можно оптимально распределить заказы между несколькими производственными цехами, учитывая их загруженность и стоимость доставки готовой продукции. Какой важный нюанс здесь упускается? Применение ТЗ позволяет не просто распределить текущие ресурсы, но и выявить «узкие места» в системе, сигнализируя о необходимости инвестиций в новые мощности или пересмотре текущей производственной стратегии.
В-третьих, решение транспортной задачи позволяет принимать стратегические решения. Анализ чувствительности оптимального плана к изменениям тарифов или объемов спроса/предложения может помочь в планировании развития инфраструктуры, выборе новых поставщиков или мест размещения складов. Если, например, анализ показывает, что небольшое изменение тарифа на одном маршруте значительно меняет оптимальный план, это может указывать на необходимость поиска альтернативных маршрутов или поставщиков.
Наконец, в глобальном масштабе транспортная задача помогает планировать развитие целых отраслей и экономических районов. Она используется для оптимизации поставок энергоресурсов, распределения сельскохозяйственной продукции, планирования грузопотоков на железнодорожном и морском транспорте, а также для решения задач топливно-энергетического баланса страны. Таким образом, транспортная задача — это не просто математическая головоломка, а мощный инструмент для повышения экономической эффективности и устойчивости в самых разных сферах.
Построение Начального Опорного Плана: Методы и Их Особенности
Прежде чем приступить к поиску оптимального решения транспортной задачи методом потенциалов, необходимо найти любое допустимое начальное решение, которое будет служить отправной точкой для итерационного процесса. Такое решение называется опорным планом. Построение опорного плана — это первый и очень важный шаг, от которого может зависеть скорость сходимости к оптимальному решению.
Требования к Опорному Плану и Необходимость Балансировки Задачи
Опорный план транспортной задачи должен удовлетворять нескольким ключевым условиям:
- Допустимость: Все переменные перевозок xij должны быть неотрицательными (xij ≥ 0).
- Выполнение ограничений: План должен полностью удовлетворять ограничениям по запасам поставщиков и потребностям потребителей.
- Базисность: Количество занятых (базисных) клеток, то есть клеток с ненулевыми перевозками, должно быть равно m + n — 1, где m — число поставщиков, n — число потребителей. Если это условие не выполняется, план считается вырожденным, и для дальнейшего решения требуется его модификация.
Необходимость балансировки задачи: Как уже упоминалось, классическая транспортная задача предполагает равенство суммарных запасов и потребностей. Однако в реальной жизни такая идеальная ситуация встречается редко. Если задача является открытой (несбалансированной), то перед построением опорного плана ее необходимо привести к закрытому виду.
- Если предложение превышает спрос ($\Sigma a_i > \Sigma b_j$), это означает, что у поставщиков останутся неизрасходованные запасы. Для балансировки вводится фиктивный потребитель, потребность которого равна разнице между общим предложением и общим спросом: bфиктивный = Σai — Σbj. Стоимости перевозок от всех поставщиков к этому фиктивному потребителю принимаются равными нулю (ci,фиктивный = 0), поскольку фактически эти товары никуда не перевозятся, а остаются на складах.
- Если спрос превышает предложение ($\Sigma a_i < \Sigma b_j$), это означает, что часть потребностей останется неудовлетворенной. В этом случае вводится фиктивный поставщик, запас которого равен разнице между общим спросом и общим предложением: aфиктивный = Σbj — Σai. Стоимости перевозок от этого фиктивного поставщика ко всем потребителям также принимаются равными нулю (cфиктивный,j = 0), поскольку эти «перевозки» по сути означают неудовлетворенный спрос.
Введение фиктивных пунктов позволяет сохранить математическую корректность модели и применить стандартные алгоритмы решения, не влияя на общую стоимость реальных перевозок.
Метод Северо-Западного Угла
Метод северо-западного угла — это один из самых простых и интуитивно понятных способов построения начального опорного плана. Его алгоритм не требует никаких предварительных расчетов и основан на последовательном заполнении клеток транспортной таблицы, начиная с верхнего левого угла.
Алгоритм:
- Начало: Начинаем с клетки (1,1) — самой «северо-западной».
- Заполнение клетки: В клетку (i,j) записываем максимально возможный объем груза, который может быть перевезен по этому маршруту, то есть xij = min(ai, bj).
- Корректировка запасов и потребностей:
- Если ai < bj, то запас i-го поставщика исчерпан (ai = 0). Строка i исключается из дальнейшего рассмотрения. Переходим к следующей строке (i+1) и той же колонке j. Потребность j-го потребителя уменьшается на xij (bj = bj — xij).
- Если ai > bj, то потребность j-го потребителя удовлетворена (bj = 0). Столбец j исключается из дальнейшего рассмотрения. Переходим к следующему столбцу (j+1) и той же строке i. Запас i-го поставщика уменьшается на xij (ai = ai — xij).
- Если ai = bj, то и запас, и потребность удовлетворены. Исключаются и строка i, и столбец j. Переходим к следующей строке (i+1) и следующему столбцу (j+1). В этом случае может возникнуть вырожденность, если занятых клеток окажется меньше m + n — 1.
- Продолжение: Повторяем шаги 2 и 3 до тех пор, пока все запасы не будут распределены, а все потребности удовлетворены.
Пример (иллюстрация):
Представим транспортную задачу с 2 поставщиками (A1, A2) и 3 потребителями (B1, B2, B3) с запасами и потребностями:
A1 = 50, A2 = 70. B1 = 30, B2 = 40, B3 = 50.
Суммарные запасы = 120, суммарные потребности = 120. Задача сбалансирована.
| B1 (30) | B2 (40) | B3 (50) | Запас | |
|---|---|---|---|---|
| A1 (50) | c11=4 | c12=6 | c13=3 | 50 |
| A2 (70) | c21=2 | c22=5 | c23=8 | 70 |
- Шаг 1: Клетка (A1, B1). x11 = min(50, 30) = 30.
- A1: 50 — 30 = 20. B1: 30 — 30 = 0 (столбец B1 исключается).
- Шаг 2: Переходим к (A1, B2). x12 = min(20, 40) = 20.
- A1: 20 — 20 = 0 (строка A1 исключается). B2: 40 — 20 = 20.
- Шаг 3: Переходим к (A2, B2). x22 = min(70, 20) = 20.
- A2: 70 — 20 = 50. B2: 20 — 20 = 0 (столбец B2 исключается).
- Шаг 4: Переходим к (A2, B3). x23 = min(50, 50) = 50.
- A2: 50 — 50 = 0. B3: 50 — 50 = 0.
Полученный опорный план:
| B1 (30) | B2 (40) | B3 (50) | Запас | |
|---|---|---|---|---|
| A1 (50) | 30 | 20 | 50 | |
| A2 (70) | 20 | 50 | 70 |
Общая стоимость: 30×4 + 20×6 + 20×5 + 50×8 = 120 + 120 + 100 + 400 = 740.
Метод северо-западного угла прост в реализации, но его главный недостаток — он полностью игнорирует тарифы на перевозку. Это часто приводит к построению неоптимального начального плана, требующего большого количества итераций для достижения оптимального решения, что замедляет весь процесс оптимизации.
Метод Наименьшей Стоимости (Минимального Элемента)
В отличие от метода северо-западного угла, метод наименьшей стоимости (также известный как метод минимального элемента) с самого начала учитывает тарифы на перевозку, стремясь заполнить клетки с наименьшими затратами. Это делает его, как правило, более эффективным в плане получения начального плана, более близкого к оптимальному.
Алгоритм:
- Поиск минимального тарифа: Из всех оставшихся в таблице клеток выбирается клетка (i,j) с наименьшим тарифом cij. Если таких клеток несколько, выбор можно сделать произвольно.
- Заполнение клетки: В выбранную клетку записывается максимально возможный объем груза, то есть xij = min(ai, bj).
- Корректировка запасов и потребностей: Запас поставщика ai и потребность потребителя bj уменьшаются на величину xij.
- Исключение строки/столбца: Если запас ai обнулен, соответствующая строка i исключается из дальнейшего рассмотрения. Если потребность bj обнулена, соответствующий столбец j исключается из дальнейшего рассмотрения. Если обнулены и запас, и потребность, исключаются и строка, и столбец.
- Повторение: Повторяем шаги 1-4 до тех пор, пока все запасы не будут распределены, а все потребности удовлетворены.
Пример (иллюстрация):
Используем ту же задачу, что и для метода северо-западного угла:
A1 = 50, A2 = 70. B1 = 30, B2 = 40, B3 = 50.
| B1 (30) | B2 (40) | B3 (50) | Запас | |
|---|---|---|---|---|
| A1 (50) | c11=4 | c12=6 | c13=3 | 50 |
| A2 (70) | c21=2 | c22=5 | c23=8 | 70 |
- Шаг 1: Наименьший тариф c21 = 2 (клетка A2, B1).
- x21 = min(70, 30) = 30.
- A2: 70 — 30 = 40. B1: 30 — 30 = 0 (столбец B1 исключается).
- Шаг 2: Среди оставшихся клеток наименьший тариф c13 = 3 (клетка A1, B3).
- x13 = min(50, 50) = 50.
- A1: 50 — 50 = 0 (строка A1 исключается). B3: 50 — 50 = 0 (столбец B3 исключается).
- Шаг 3: Осталась одна клетка (A2, B2) с тарифом c22 = 5.
- x22 = min(40, 40) = 40.
- A2: 40 — 40 = 0. B2: 40 — 40 = 0.
Полученный опорный план:
| B1 (30) | B2 (40) | B3 (50) | Запас | |
|---|---|---|---|---|
| A1 (50) | 50 | 50 | ||
| A2 (70) | 30 | 40 | 70 |
Общая стоимость: 50×3 + 30×2 + 40×5 = 150 + 60 + 200 = 410.
Как видно, начальный план, полученный методом наименьшей стоимости (410), значительно дешевле плана, полученного методом северо-западного угла (740), что подтверждает его большую эффективность. Метод минимального элемента демонстрирует, что даже на начальном этапе можно добиться существенной экономии, если учитывать ключевые параметры задачи.
Сравнительный Анализ Методов Построения Опорного Плана
Выбор метода построения начального опорного плана — это компромисс между простотой и эффективностью.
| Характеристика | Метод Северо-Западного Угла | Метод Наименьшей Стоимости |
|---|---|---|
| Простота реализации | Максимальная. Не требует сравнения тарифов. | Высокая. Требует поиска минимума по тарифам. |
| Учет тарифов | Не учитывает тарифы. | Учитывает тарифы, приоритет отдается дешевым маршрутам. |
| Близость к оптимальному плану | Часто дает неоптимальный план. | Чаще дает план, близкий к оптимальному, но не всегда оптимальный. |
| Количество итераций для оптимизации | Обычно больше. | Обычно меньше. |
| Вероятность вырожденности | Может возникнуть при обнулении строки и столбца одновременно. | Может возникнуть при обнулении строки и столбца одновременно. |
Почему метод минимального элемента часто дает более выгодный начальный план?
Причина очевидна: он с самого начала фокусируется на минимизации затрат. Заполняя в первую очередь клетки с самыми низкими тарифами, метод минимального элемента интуитивно выбирает наиболее экономичные маршруты. Это позволяет «застолбить» дешевые перевозки на ранних этапах, что положительно сказывается на общей стоимости начального плана. Однако важно понимать, что даже метод наименьшей стоимости не гарантирует оптимальности. Это связано с тем, что выбор локально оптимального решения (минимальный тариф на каждом шаге) не всегда приводит к глобально оптимальному решению для всей задачи. Например, заполнение очень дешевой клетки может привести к тому, что позднее придется использовать очень дорогие маршруты для удовлетворения оставшихся потребностей или распределения запасов. Именно для преодоления этой «локальной» оптимальности и достижения глобальной оптимальности применяется метод потенциалов.
Метод Потенциалов: Сущность, Алгоритм и Критерий Оптимальности
Метод потенциалов является одним из наиболее мощных и элегантных алгоритмов для решения транспортной задачи. Он представляет собой специализированную версию симплекс-метода, адаптированную к уникальной структуре транспортной модели, и позволяет итерационно улучшать опорный план до достижения оптимального решения. Это важнейший этап, так как именно он гарантирует, что найденный план будет максимально эффективным с точки зрения затрат.
Понятие Потенциалов и Их Экономический Смысл
В основе метода потенциалов лежит система чисел, называемых потенциалами. Для каждого поставщика i вводится потенциал ui, а для каждого потребителя j — потенциал vj. Эти потенциалы играют двойственную роль и имеют глубокий экономический смысл.
Математическая связь: Потенциалы ui и vj напрямую связаны с двойственной задачей линейного программирования. В контексте транспортной задачи они могут быть интерпретированы как:
- ui — «теневая цена» или экономическая оценка единицы ресурса (запаса) у i-го поставщика. Это дополнительная выгода или ущерб, связанный с изменением запаса у поставщика.
- vj — «теневая цена» или экономическая оценка единицы спроса у j-го потребителя. Это дополнительная выгода или ущерб, связанный с изменением потребности у потребителя.
Условие потенциальности: Для базисных (занятых) клеток (xij > 0) потенциалы ui и vj должны удовлетворять равенству:
ui + vj = cij
Это равенство означает, что для маршрутов, которые активно используются в текущем плане, сумма потенциалов поставщика и потребителя должна точно соответствовать стоимости перевозки по этому маршруту. Это логично, поскольку эти маршруты уже «задействованы», и их стоимость должна быть адекватно отражена в системе потенциалов, позволяя оценить эффективность каждого задействованного направления.
Пошаговый Алгоритм Метода Потенциалов: Расчет Потенциалов
Алгоритм метода потенциалов состоит из нескольких ключевых шагов, которые повторяются до тех пор, пока не будет найден оптимальный план.
- Построение начального опорного плана: Как уже обсуждалось, первым делом необходимо получить допустимый начальный опорный план. Это может быть сделано с использованием метода северо-западного угла, метода наименьшей стоимости или любого другого метода, обеспечивающего допустимое решение.
- Проверка на вырожденность: Перед расчетом потенциалов необходимо убедиться, что количество занятых (базисных) клеток в опорном плане равно m + n — 1. Если это условие не выполняется (количество занятых клеток меньше), план является вырожденным. В этом случае для устранения вырожденности необходимо искусственно ввести «нулевые перевозки» (ε) в свободные клетки, чтобы общее число базисных клеток стало m + n — 1. Это позволяет корректно построить систему уравнений для потенциалов.
- Расчет потенциалов: Для всех m + n — 1 базисных клеток (xij > 0) используются уравнения ui + vj = cij. Поскольку у нас m + n неизвестных потенциалов (m ui и n vj), но только m + n — 1 уравнений, эта система имеет бесконечно много решений. Однако относительные значения потенциалов уникальны. Чтобы получить конкретные значения, мы можем произвольно присвоить значение одному из потенциалов, обычно u1 = 0. После этого остальные потенциалы ui и vj могут быть однозначно определены, последовательно решая систему уравнений.
Пример расчета потенциалов:
Предположим, у нас есть базисные клетки (1,1), (1,2), (2,2), (2,3) с тарифами c11=4, c12=6, c22=5, c23=8.
Присвоим u1 = 0.
- Для клетки (1,1): u1 + v1 = c11 → 0 + v1 = 4 → v1 = 4.
- Для клетки (1,2): u1 + v2 = c12 → 0 + v2 = 6 → v2 = 6.
- Для клетки (2,2): u2 + v2 = c22 → u2 + 6 = 5 → u2 = -1.
- Для клетки (2,3): u2 + v3 = c23 → -1 + v3 = 8 → v3 = 9.
Таким образом, мы получили потенциалы: u1=0, u2=-1, v1=4, v2=6, v3=9. Эти значения теперь позволяют перейти к оценке свободных клеток.
Оценка Свободных Клеток и Критерий Оптимальности
После того как потенциалы ui и vj рассчитаны для всех поставщиков и потребителей, необходимо оценить экономическую целесообразность использования свободных (незаполненных) клеток.
- Оценка свободных клеток: Для каждой свободной клетки (xij = 0) вычисляется оценка ΔCij по формуле:
ΔCij = cij - (ui + vj)
Экономический смысл ΔCij: это потенциальное изменение общей стоимости перевозок, если мы начнем использовать маршрут (i,j).- Если ΔCij < 0, это означает, что использование данного маршрута позволит сократить общие затраты. Разница (ui + vj) представляет собой «теневую» стоимость перевозки по этому маршруту, основанную на текущих ценах ресурсов. Если реальная стоимость cij ниже этой «теневой», значит, маршрут выгоден.
- Если ΔCij > 0, это означает, что использование данного маршрута увеличит общие затраты.
- Если ΔCij = 0, это означает, что использование данного маршрута не изменит общую стоимость, и существует альтернативный оптимальный план.
- Критерий оптимальности: Текущий опорный план является оптимальным, если для всех свободных клеток выполняется условие:
ΔCij ≥ 0
Если все оценки неотрицательны, это означает, что не существует способа улучшить текущий план, сократив общие затраты, и процесс решения завершается. Если же хотя бы для одной свободной клетки ΔCij < 0, то текущий план неоптимален и требует улучшения.
Пример оценки свободных клеток:
Возьмем наши потенциалы: u1=0, u2=-1, v1=4, v2=6, v3=9.
Имеем свободные клетки с тарифами: c13=3, c21=2.
- Для клетки (1,3): ΔC13 = c13 — (u1 + v3) = 3 — (0 + 9) = 3 — 9 = -6.
- Для клетки (2,1): ΔC21 = c21 — (u2 + v1) = 2 — (-1 + 4) = 2 — 3 = -1.
В данном случае, обе оценки ΔC13 и ΔC21 отрицательны. Это означает, что текущий план неоптимален, и его можно улучшить. Наибольшее по модулю отрицательное значение (-6) соответствует клетке (1,3). Эта клетка будет выбрана для ввода в базис на следующем шаге, что является началом итерационного процесса улучшения.
Итерационное Улучшение Плана Перевозок: Цикл Пересчета
Если проверка оптимальности показала наличие отрицательных оценок ΔCij, это сигнал к тому, что текущий план не является наилучшим, и его можно улучшить. Процесс улучшения осуществляется путем перераспределения объемов перевозок с использованием так называемого «цикла пересчета». Этот шаг является сердцем метода потенциалов, позволяя системе эволюционировать к оптимальному состоянию.
Выбор Вводящей Клетки и Построение Цикла Пересчета
- Выбор вводящей клетки: Из всех свободных клеток с отрицательными оценками ΔCij выбирается та, которая имеет наибольшее по модулю отрицательное значение. Эта клетка станет «вводящей в базис», то есть в нее будет перераспределен объем груза, и она станет занятой.
Пример: В нашем предыдущем примере оценки были ΔC13 = -6 и ΔC21 = -1. Наибольшее по модулю отрицательное значение — это -6, соответствующее клетке (1,3). Значит, клетка (1,3) является вводящей.
- Построение цикла пересчета: Для выбранной вводящей клетки строится замкнутый контур, или цикл.
- Цикл начинается и заканчивается в вводящей клетке.
- Все остальные вершины цикла должны находиться в занятых (базисных) клетках текущего опорного плана.
- Звенья цикла должны быть строго горизонтальными или вертикальными (взаимно перпендикулярными).
- В каждую строку и каждый столбец, через который проходит цикл, он должен входить и выходить ровно один раз.
- Для каждой свободной клетки существует только один такой уникальный цикл.
Расстановка знаков по вершинам цикла:
Начиная с вводящей клетки, по вершинам цикла последовательно расставляются знаки «+» и «-».
- Вводящая клетка всегда помечается знаком «+».
- Далее по циклу чередуются знаки: «-», «+», «-», «+», и так далее.
- Клетки со знаком «+» будут увеличивать объем перевозок, а клетки со знаком «-» — уменьшать.
Визуализация циклов: Представим нашу транспортную таблицу, где занятые клетки отмечены (X):
| B1 | B2 | B3 | |
|---|---|---|---|
| A1 | X | X | + |
| A2 | X | X |
Мы выбрали клетку (1,3) как вводящую (+). Находим занятую клетку в строке A1 — это (1,2). Идем от (1,3) к (1,2). Она будет с «-». Находим занятую клетку в столбце B2 — это (2,2). Идем от (1,2) к (2,2). Она будет с «+». Находим занятую клетку в столбце B3 — это (2,3). Идем от (2,2) к (2,3). Она будет с «-». Цикл должен замкнуться. От (2,3) мы должны вернуться к (1,3). Корректный цикл: (1,3)+ → (1,2)— → (2,2)+ → (2,3)— → (1,3)+.
Начальный план (из примера метода наименьшей стоимости): x13=50, x21=30, x22=40.
Потенциалы: u1=0, u2=-1, v1=4, v2=6, v3=9.
Оценки: ΔC13 = -6 (выбрана вводящей), ΔC21 = -1.
Тарифы:
| B1 | B2 | B3 | |
|---|---|---|---|
| A1 | 4 | 6 | 3 |
| A2 | 2 | 5 | 8 |
Базисные клетки: (1,3), (2,1), (2,2).
Вводящая клетка: (1,1) (тариф 4, оценка ΔC11 = c11 — (u1+v1) = 4 — (0+4) = 0. Не лучшая, но для примера сойдет).
Для примера возьмем нашу клетку (1,3), которая имеет тариф 3.
Допустим, наша начальная таблица, полученная методом северо-западного угла, была (см. пример выше):
x11=30, x12=20, x22=20, x23=50.
Тарифы: c11=4, c12=6, c13=3, c21=2, c22=5, c23=8.
Расчет потенциалов (u1=0):
u1+v1 = c11 → 0+v1=4 → v1=4
u1+v2 = c12 → 0+v2=6 → v2=6
u2+v2 = c22 → u2+6=5 → u2=-1
u2+v3 = c23 → -1+v3=8 → v3=9
Потенциалы: u1=0, u2=-1, v1=4, v2=6, v3=9.
Свободные клетки: (1,3) и (2,1).
Оценки:
ΔC13 = c13 — (u1+v3) = 3 — (0+9) = -6 (Вводящая клетка!)
ΔC21 = c21 — (u2+v1) = 2 — (-1+4) = -1
Выбираем (1,3) как вводящую, так как ΔC13 = -6 (наибольшее по модулю отрицательное).
Цикл для клетки (1,3):
(1,3)+ → (1,2)— → (2,2)+ → (2,3)— → (1,3)+
(Вводящая клетка (1,3), затем базисная (1,2), затем базисная (2,2), затем базисная (2,3), замыкаем на (1,3)).
Перераспределение Перевозок и Корректировка Плана
- Определение θ: На следующем этапе нужно определить, какой максимальный объем груза можно перераспределить по циклу. Это значение θ (тета) равно минимальному из объемов перевозок в клетках цикла, помеченных знаком «-».
θ = min{xij | клетка (i,j) в цикле со знаком "-"}
Выбор минимального значения гарантирует, что при вычитании объемы перевозок не станут отрицательными.
Пример (продолжение):
Клетки со знаком «-»: (1,2) с объемом 20 и (2,3) с объемом 50.
Значит, θ = min(20, 50) = 20.
- Перераспределение: Выполняется корректировка объемов перевозок по циклу:
- К объёмам перевозок в клетках со знаком «+» прибавляется θ.
- Из объёмов перевозок в клетках со знаком «-» вычитается θ.
Пример (продолжение):
- x13 (новая) = x13 (старая) + θ = 0 + 20 = 20 (клетка (1,3) становится занятой)
- x12 (новая) = x12 (старая) — θ = 20 — 20 = 0 (клетка (1,2) становится свободной, выводится из базиса)
- x22 (новая) = x22 (старая) + θ = 20 + 20 = 40
- x23 (новая) = x23 (старая) — θ = 50 — 20 = 30
Новый опорный план:
x11=30, x13=20, x22=40, x23=30.
Клетка (1,2) теперь свободна.
Новый план:
| B1 (30) | B2 (40) | B3 (50) | Запас | |
|---|---|---|---|---|
| A1 (50) | 30 | 20 | 50 | |
| A2 (70) | 40 | 30 | 70 |
Общая стоимость нового плана: 30×4 + 20×3 + 40×5 + 30×8 = 120 + 60 + 200 + 240 = 620.
Мы улучшили план с 740 до 620! Это наглядно демонстрирует эффективность итерационного процесса и показывает реальную экономическую выгоду от применения метода потенциалов.
Итерационный Процесс Достижения Оптимальности
Полученный новый опорный план может быть оптимальным, а может и нет. Поэтому итерационный процесс продолжается:
- Проверка на вырожденность нового плана.
- Расчет потенциалов для нового базиса.
- Оценка свободных клеток нового плана.
- Проверка критерия оптимальности: Если все ΔCij ≥ 0, то план оптимален. Если нет, выбирается новая вводящая клетка и строится новый цикл пересчета.
Этот цикл повторяется до тех пор, пока не будет достигнут оптимальный план, при котором все оценки ΔCij для свободных клеток будут неотрицательными. Каждый такой шаг гарантированно снижает общую стоимость перевозок (или оставляет ее неизменной в случае альтернативных оптимальных планов), приближая нас к наилучшему возможному решению.
Особые Случаи Транспортной Задачи и Методы Их Решения
В реальных условиях транспортные задачи редко бывают «идеальными». Часто приходится сталкиваться с ситуациями, которые требуют адаптации стандартного алгоритма метода потенциалов. Понимание этих особых случаев и методов их решения критически важно для полноценного применения транспортной задачи в практике, так как они позволяют моделировать более сложные и реалистичные сценарии.
Открытая (Несбалансированная) Транспортная Задача
Как мы уже упоминали, транспортная задача является открытой, если суммарные запасы поставщиков не равны суммарным потребностям потребителей. Такая ситуация не позволяет напрямую применить стандартные методы решения, поэтому требуется предварительная балансировка.
Процедура балансировки:
- Определение дисбаланса: Вычисляем разницу между суммарным предложением и суммарным спросом:
Разница = Σi=1m ai - Σj=1n bj - Введение фиктивного пункта:
- Если Разница > 0 (избыток предложения): Вводится новый, фиктивный потребитель. Его потребность (bфиктивного) устанавливается равной этой разнице. Стоимости перевозок от всех реальных поставщиков к этому фиктивному потребителю (ci,фиктивного) принимаются равными нулю. Это логично, поскольку избыточный товар фактически никуда не перевозится, а остается у поставщиков, не incurring никаких дополнительных транспортных затрат.
- Если Разница < 0 (недостаток предложения): Вводится новый, фиктивный поставщик. Его запас (aфиктивного) устанавливается равным абсолютному значению этой разницы. Стоимости перевозок от этого фиктивного поставщика ко всем реальным потребителям (cфиктивного,j) также принимаются равными нулю. Перевозки от фиктивного поставщика означают неудовлетворенный спрос, и нулевая стоимость отражает, что эти «перевозки» не являются реальными транспортными операциями.
После введения фиктивного поставщика или потребителя суммарное предложение будет равно суммарному спросу, и задача станет закрытой (сбалансированной). После этого можно применять стандартный алгоритм метода потенциалов. Объемы перевозок к фиктивному потребителю или от фиктивного поставщика в оптимальном плане будут означать, соответственно, остатки у поставщиков или неудовлетворенный спрос у потребителей.
Пример:
Предположим, Σai = 100, Σbj = 80. Избыток предложения: 100 — 80 = 20.
Вводим фиктивного потребителя B4 с потребностью b4 = 20. Тарифы ci4 = 0 для всех i.
Вырожденный Опорный План: Причины и Устранение
Вырожденность опорного плана — это ситуация, при которой количество занятых (базисных) клеток оказывается меньше m + n — 1. Это нарушает условие, необходимое для однозначного определения потенциалов, и может привести к зацикливанию алгоритма.
Причины возникновения вырожденности:
Вырожденность может возникнуть как при построении начального опорного плана, так и в процессе его итерационного улучшения. Чаще всего это происходит, когда при заполнении клетки одновременно обнуляется запас поставщика и потребность потребителя (например, xij = ai = bj), и вместо двух исключается только одна строка/столбец, «забирая» с собой одну базисную клетку.
Метод устранения вырожденности:
Для решения вырожденной задачи необходимо искусственно увеличить количество базисных клеток до m + n — 1 путем введения так называемых «нулевых перевозок».
- Идентификация вырожденности: Подсчитать количество занятых клеток. Если оно меньше m + n — 1, план вырожден.
- Введение ε-перевозки: Выбирается одна или несколько свободных клеток, в которые вводятся нулевые перевозки. Это обозначается как «сколь угодно малое положительное число ε» (эпсилон). Выбор клетки для ε должен быть таким, чтобы не нарушать линейную независимость базисных векторов. Практически это означает, что ε не должно образовывать замкнутый цикл только с другими базисными клетками.
- Как правило, ε вводится в свободную клетку с минимальным тарифом, которая не образует цикл с уже занятыми клетками.
- Важно, чтобы введенные ε не нарушали равенства в ограничениях по поставщикам и потребителям.
- Расчет потенциалов: После введения ε-перевозок количество базисных клеток становится m + n — 1, что позволяет корректно рассчитать потенциалы по стандартной процедуре ui + vj = cij, рассматривая клетки с ε как обычные базисные.
- Дальнейшее решение: Продолжается обычный итерационный процесс метода потенциалов. В конце, когда будет найден оптимальный план, все ε-перевозки приравниваются к нулю.
Экономический смысл ε: Введение ε не меняет фактических объемов перевозок и общей стоимости. Это чисто математический прием для обеспечения базисности решения и возможности применения алгоритма.
Транспортная Задача с Ограничениями Пропускной Способности
В реальных логистических системах часто возникают ограничения на максимальный объем перевозок по определенным маршрутам. Например, дорога может иметь ограниченную пропускную способность, склад — ограниченную вместимость для приема грузов с конкретного маршрута, или договорные условия могут лимитировать объем поставок. Такие ограничения формулируются как:
xij ≤ dij
где dij — максимально допустимый объем перевозок по маршруту от i-го поставщика к j-му потребителю.
Адаптация метода потенциалов:
Стандартный метод потенциалов может быть адаптирован для учета таких ограничений, но это усложняет алгоритм:
- Проверка ограничений на каждом шаге: При формировании начального опорного плана и на каждой итерации перераспределения грузов необходимо проверять, не превышает ли объем xij соответствующее ограничение dij.
- Модификация выбора θ: При определении θ (объема перераспределения по циклу) теперь нужно учитывать не только объемы в клетках со знаком «-», но и верхние границы в клетках со знаком «+». Если при увеличении xij (клетка с «+») мы достигнем dij, то дальнейшее увеличение невозможно, и этот маршрут может быть временно исключен из рассмотрения или его верхняя граница станет активным ограничением.
- Метод штрафов/двойственных переменных: Более сложные подходы включают методы, использующие штрафы за превышение пропускной способности или модификацию двойственной задачи (с учетом этих ограничений). Это, по сути, расширяет классическую транспортную задачу до более общей задачи линейного программирования с дополнительными ограничениями.
В простейших случаях, если ограничение dij не нарушается, задача решается стандартно. Если же оно нарушается, может потребоваться пересмотреть цикл пересчета или даже перейти к более общим методам линейного программирования, которые могут обрабатывать дополнительные ограничения неравенства (например, симплекс-метод). В некоторых источниках для таких задач предлагается метод с искусственными переменными или же модификация метода потенциалов, где ΔCij рассчитываются по-разному для маршрутов, достигших своей пропускной способности, и для тех, кто ещё нет.
Понимание и умение работать с этими особыми случаями значительно расширяет практическую применимость транспортной задачи и метода потенциалов, позволяя моделировать более реалистичные логистические сценарии, что в конечном итоге приводит к более точным и эффективным решениям.
Практическое Применение Транспортной Задачи и Метода Потенциалов
Транспортная задача, несмотря на свою математическую строгость, является одним из самых ярких примеров прикладного математического программирования. Ее практическая ценность трудно переоценить, особенно в современной экономике, где транспортные операции составляют значительную долю всех логистических расходов (до 50%). Эффективное решение ТЗ напрямую влияет на конкурентоспособность бизнеса, позволяя сократить издержки, ускорить товарооборот и повысить качество обслуживания.
Оптимизация Логистических Процессов
Сердцевина применения транспортной задачи лежит в оптимизации логистики — от снабжения до дистрибуции.
- Планирование поставок сырья и материалов на производственные предприятия: Крупные производственные комплексы часто получают сырье из нескольких источников и распределяют его между различными цехами или заводами. ТЗ позволяет определить, от какого поставщика, сколько и какого сырья следует доставить на каждый завод, чтобы минимизировать затраты на транспортировку. Это может быть актуально, например, для нефтехимической промышленности, где необходимо оптимизировать маршруты доставки нефти и газа на перерабатывающие заводы.
- Оптимизация доставок готовой продукции со складов в розничные магазины: Ритейл — еще одна сфера, где ТЗ находит широкое применение. Имея сеть складов и множество розничных точек, компании сталкиваются с задачей распределения товаров таким образом, чтобы удовлетворить спрос каждого магазина с минимальными затратами. Метод потенциалов помогает построить план, указывающий, сколько единиц каждого товара должно быть отправлено из каждого склада в каждый магазин, что критически важно для сокращения «последней мили» доставки и повышения удовлетворенности клиентов.
- Оптимизация пассажирских перевозок и планирование маршрутов: Хотя классическая ТЗ обычно связывается с грузоперевозками, ее модификации используются и для пассажирских. Например, при планировании маршрутов общественного транспорта, распределении автобусов по линиям, или оптимизации потоков пассажиров между транспортными узлами. Цель может быть минимизация времени в пути или количества задействованного транспорта.
- Управление складскими запасами и распределительными центрами: ТЗ помогает определить оптимальные маршруты перемещения товаров внутри складских комплексов или между распределительными центрами, учитывая их вместимость и пропускную способность.
Применение в Производстве и Экономике
Помимо прямой логистики, транспортная модель применима в более широком контексте производственного и экономического планирования.
- Распределение производственных заказов между различными производственными цехами или заводами: Если компания имеет несколько производственных мощностей, каждая из которых может выполнить определенный тип заказа с разной стоимостью, ТЗ позволяет оптимально распределить поступающие заказы между этими мощностями. Целевая функция здесь — минимизация общих производственных и транспортных затрат. Например, в машиностроении или текстильной промышленности, где однотипную продукцию могут производить разные цеха или заводы.
- Планирование размещения ресурсов (например, распределение техники, оборудования): В строительстве, сельском хозяйстве или при ликвидации чрезвычайных ситуаций часто возникает задача по распределению специализированной техники (экскаваторы, комбайны, спасательное оборудование) из пунктов хранения на объекты, где она необходима. ТЗ помогает минимизировать затраты на переброску техники, учитывая ее доступность и потребности объектов, что позволяет эффективно использовать ограниченные ресурсы.
- Задачи, связанные с минимизацией затрат на транспортировку грузов при строительстве объектов: При строительстве крупных объектов (дорог, мостов, зданий) необходимо доставлять стройматериалы (песок, щебень, цемент) из карьеров и заводов на строительные площадки. ТЗ позволяет оптимизировать маршруты и объемы поставок, сокращая затраты на топливо, аренду транспорта и время доставки.
- Планирование развития целых отраслей и экономических районов: На макроуровне транспортная задача используется государственными органами и крупными консалтинговыми компаниями для стратегического планирования. Это может быть оптимизация транспортировки древесины в лесопромышленном комплексе (от лесозаготовок до переработки и реализации), планирование размещения новых заводов по производству цемента или других строительных материалов для обеспечения оптимальной логистики. Она также применяется для решения задач топливно-энергетического баланса, определяя оптимальное распределение энергоресурсов по регионам.
Таким образом, транспортная задача и метод потенциалов представляют собой универсальный аналитический инструмент, применимый в самых разнообразных сферах — от микроэкономического планирования отдельного предприятия до макроэкономического развития целых отраслей, демонстрируя свою высокую актуальность и практическую ценность. Может ли такой широкий спектр применения быть просто совпадением или же это подтверждение фундаментальной значимости методов оптимизации?
Заключение
Мы прошли путь от фундаментальных определений до тонкостей практического применения, глубоко погрузившись в мир транспортной задачи и метода потенциалов. Стало очевидно, что транспортная задача — это не просто абстрактная математическая модель, а мощный, гибкий и неизменно актуальный инструмент оптимизации, способный значительно повысить эффективность логистических и производственных процессов в самых разных отраслях, обеспечивая реальное конкурентное преимущество.
Мы детально рассмотрели математическую постановку задачи, ее экономический смысл, а также различные методы построения начального опорного плана, подчеркнув преимущества метода наименьшей стоимости. Центральное место в нашем исследовании занял метод потенциалов – итерационный алгоритм, позволяющий систематически улучшать план перевозок до достижения глобального оптимума. Пошаговый разбор расчета потенциалов, оценки свободных клеток и построения циклов пересчета раскрывает логику этого элегантного подхода.
Особое внимание было уделено «подводным камням» — открытым (несбалансированным) задачам, методам их балансировки, а также вырожденным опорным планам и способам их устранения через введение нулевых перевозок. Кроме того, мы затронули актуальную тему транспортных задач с ограничениями пропускной способности, предложив пути адаптации существующих алгоритмов.
Для студента, работающего над курсовой по математическому программированию или исследованию операций, освоение этого материала является краеугольным камнем. Теоретические знания, подкрепленные пониманием алгоритмов и экономическим смыслом, позволяют не просто решать задачи, но и глубоко анализировать полученные результаты, предлагая обоснованные управленческие решения. Практическое применение транспортной задачи охватывает огромный спектр задач — от оптимизации поставок сырья до стратегического планирования в масштабах целых отраслей, подтверждая ее бесспорную ценность.
Надеемся, что это руководство послужит прочной основой для вашей курсовой работы, предоставив все необходимые знания и уверенность для самостоятельного анализа и решения сложных оптимизационных задач.
Список использованной литературы
- Акулич И.Л. Математическое программирование в примерах и задачах. М.: Высшая школа, 1993. 336 с.
- Бодров В.И., Лазарева Т.Я., Мартемьянов Ю.Ф. Математические методы принятия решений: Учебное пособие. Тамбов: Изд-во Тамб. гос. тех. ун-та, 2004. 124 с.
- Данко П.Е., Попов А.Г., Кожевникова Т.Я. Высшая математика в упражнениях и задачах. М.: Высшая школа, 1999. Ч. 1.
- Карманов В.Г. Математическое программирование. М.: Физматмет, 2000. 264 с.
- Ларионов А.И., Юрченко Т.И., Новоселов А.Л. Экономико-математические методы в планировании. М.: Высшая школа, 1991.
- Болотникова О.В. Линейное программирование: транспортные и сетевые модели: учебное пособие. Пенза: Пензенский государственный университет. URL: https://dep_vpm.pnzgu.ru/files/dep_vpm.pnzgu.ru/page_documents/uchebnye_posobiya/bolotnikova_o.v._lineynoe_programmirovanie_transportnye_i_setevye_modeli_uchebnoe_posobie.pdf (дата обращения: 16.10.2025).
- Галяутдинов Р.Р. Транспортная задача — решение методом потенциалов. URL: https://galyautdinov.ru/post/transportnaya-zadacha-reshenie-metodom-potencialov (дата обращения: 16.10.2025).
- Галяутдинов Р.Р. Транспортная задача: метод Северо-Западного угла. URL: https://galyautdinov.ru/post/transportnaya-zadacha-metod-severo-zapadnogo-ugla (дата обращения: 16.10.2025).
- Галяутдинов Р.Р. Транспортная задача: метод минимального элемента. URL: https://galyautdinov.ru/post/transportnaya-zadacha-metod-minimalnogo-elementa (дата обращения: 16.10.2025).
- Лекция 9 Методы решения транспортной задачи. URL: http://www.nuru.ru/socio/005.htm (дата обращения: 16.10.2025).
- Математические модели экономических задач. URL: https://www.e-college.ru/xbooks/xbook028/data/xbook028/lec7.html (дата обращения: 16.10.2025).
- Методы составления первоначальных опорных планов. URL: https://www.aselibrary.ru/articles/12338/12340/ (дата обращения: 16.10.2025).
- Методы построения начального опорного решения — Онлайн-калькулятор. URL: https://www.matburo.ru/sub_subject.php?p=mp_noptz (дата обращения: 16.10.2025).
- Особенности решения задач транспортного типа с вырожденным опорным планом // КиберЛенинка. URL: https://cyberleninka.ru/article/n/osobennosti-resheniya-zadach-transportnogo-tipa-s-vyrozhdennym-opornym-planom (дата обращения: 16.10.2025).
- Решение транспортной задачи. URL: https://www.matburo.ru/sub_subject.php?p=mp_tz (дата обращения: 16.10.2025).
- Сборник задач по курсу. URL: https://www.gnesin-academy.ru/wp-content/uploads/2020/02/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B2-%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%BC%D0%B5%D0%BD%D1%82%D0%B5-%D1%81%D0%B1%D0%BE%D1%80%D0%BD%D0%B8%D0%BA-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87.pdf (дата обращения: 16.10.2025).
- Сборник примеров подробных решений транспортных задач — Онлайн-калькулятор. URL: https://www.matburo.ru/sub_subject.php?p=mp_tz_primer (дата обращения: 16.10.2025).
- Тема 2.6. Методы составления опорного плана транспортной задачи. URL: https://studfile.net/preview/2610549/page:14/ (дата обращения: 16.10.2025).
- Транспортная задача. URL: http://www.math.mrsu.ru/info/lectures/lin-prog/zadacha.html (дата обращения: 16.10.2025).
- Транспортная задача. Методы нахождения начального решения транспортной задачи. URL: https://present5.com/presentation/1_215917454/web/slide0.htm (дата обращения: 16.10.2025).
- Транспортная задача Математическая модель транспортной задачи. URL: http://www.i-exam.ru/docs/math/transport/post_trans.html (дата обращения: 16.10.2025).
- Примеры решения транспортных задач. URL: https://www.znani.net/docs/2903.html (дата обращения: 16.10.2025).
- Алгоритм решения транспортной задачи методом потенциалов. URL: http://cito-web.yspu.org/link1/metod/met126/node4.html (дата обращения: 16.10.2025).
- ЛАБОРАТОРНАЯ РАБОТА № 4 Тема: «Транспортная задача. Метод потенциалов. URL: https://www.elibrary.ru/download/elibrary_12158866_22180862.pdf (дата обращения: 16.10.2025).
- Транспортная задача для чайников по шагам за 15 минут. Применение транспортной задачи в экономике. YouTube. URL: https://www.youtube.com/watch?v=0_n_tJp-rO0 (дата обращения: 16.10.2025).
- Математические модели логистики — Университет Лобачевского. URL: http://www.unn.ru/content/structure/faculties/fizicheskiy/ucheb/posob_metody/Matem_modeli_logistiki_Transportnaya_zadacha.pdf (дата обращения: 16.10.2025).
- 14.7 Транспортная задача. URL: https://www.sgu.ru/sites/default/files/textdocsfiles/2021-06-21/14.7._transportnaya_zadacha.pdf (дата обращения: 16.10.2025).
- 23.Метод потенциалов. URL: https://www.mgim.org/upload/iblock/c38/c38c1157f4bf239634e9e03233869968.pdf (дата обращения: 16.10.2025).