# Решатель транспортной задачи (поток минимальной стоимости)

Решает сбалансированную транспортную задачу как поток минимальной стоимости (2–8 поставщиков × 2–8 потребителей; требуется равенство суммарного предложения и спроса): каждое насыщение идёт по кратчайшему пути остаточной сети (SPFA допускает отрицательные стоимости остаточных дуг), а накопленные кратчайшие расстояния со знаком минус дают в точности двойственные переменные МОДИ (u_i, v_j). Выводятся пути насыщений, полный план перевозок, проверки итогов по строкам/столбцам и матрица оценок с сертификатом оптимальности (все ≥ 0, = 0 на базисных клетках). Классика: запасы [30,40,30], потребности [20,30,30,20], тарифы [[2,3,1,4],[4,2,5,3],[3,1,4,2]] → минимум 200.

> Каноническая страница: https://elysiatools.com/ru/tools/transportation-problem

- **Категория:** Math & Numbers

- **Ключевые слова:** транспортная задача, поток минимальной стоимости, метод потенциалов, метод моди, двойственные переменные, исследование операций, логистика, план перевозок, предложение спрос

## Обзор

Онлайн-решатель транспортной задачи находит оптимальный план грузоперевозок с минимальной стоимостью алгоритмом потока минимальной стоимости в остаточной сети. Инструмент рассчитывает распределение поставок от поставщиков к потребителям, выводит шаги насыщения, двойственные потенциалы (u, v), матрицу оценок свободных клеток и сертификат оптимальности.

## Входные данные

- **Матрица затрат (строки = поставщики, по одной на строку)** (textarea): Unit shipping cost from each source (row) to each destination (column). 2–8 rows × 2–8 columns.
- **Предложение (по каждому поставщику)** (text): Amount available at each source, one per matrix row (non-negative).
- **Спрос (по каждому потребителю)** (text): Amount required at each destination, one per matrix column (non-negative).
- **Знаков после запятой** (number)

## Когда использовать

- Для составления плана поставок между несколькими складами и торговыми точками с минимальными затратами.
- При выполнении учебных заданий по исследованию операций и линейному программированию (метод потенциалов / МОДИ).
- Для проверки оптимальности существующей логистической схемы и расчета двойственных оценок (потенциалов).

## Как это работает

- Введите матрицу удельных затрат перевозки построчно для 2–8 поставщиков и 2–8 потребителей.
- Укажите векторы запасов (предложение) и потребностей (спрос) через запятую, убедившись в равенстве их сумм.
- Алгоритм находит поток минимальной стоимости через последовательные кратчайшие пути насыщения с использованием SPFA.
- Сервис формирует таблицу распределения объемов, вычисляет потенциалы u_i и v_j и подтверждает оптимальность матрицы оценок.

## Сценарии использования

- Распределение партий продукции с 3 производственных складов по 4 региональным распределительным центрам.
- Решение классических учебных задач по исследованию операций методом потенциалов с пошаговыми путями насыщения.
- Анализ логистических тарифов филиальной сети для сокращения совокупных расходов на транспортировку.

## Частые вопросы

### Что делать, если суммарный спрос не равен суммарному предложению?

Инструмент требует сбалансированной задачи. Добавьте фиктивного поставщика или фиктивного потребителя с нулевыми тарифами для выравнивания сумм.

### Каковы ограничения на размерность матрицы?

Поддерживаются матрицы размерностью от 2 до 8 поставщиков (строк) и от 2 до 8 потребителей (столбцов).

### Как рассчитываются двойственные переменные (потенциалы)?

Накопленные кратчайшие расстояния в остаточной сети со знаком минус в точности соответствуют переменным u_i и v_j метода потенциалов (МОДИ).

### Как подтверждается оптимальность найденного решения?

Формируется сертификат оптимальности: все приведенные стоимости (оценки свободных клеток) неотрицательны, а для базисных клеток равны нулю.

### Можно ли задавать нецелые значения спроса, предложения или затрат?

Да, поддерживаются вещественные числа; точность отображения настраивается параметром знаков после запятой.

## Связанные инструменты

- [Решатель задач линейного программирования (двухфазный симплекс)](https://elysiatools.com/ru/tools/linear-programming-simplex): Решает небольшие задачи линейного программирования (2–6 переменных, 1–8 ограничений) двухфазным симплекс-методом: поддерживаются max/min и ограничения ≤/≥/= (отрицательная правая часть нормализуется; ≥/= проходят фазу 1 с искусственными переменными), правило Бланда исключает зацикливание; на каждой итерации выводятся входящая/выходящая переменные и значение цели; сообщаются оптимальное решение x*, значение целевой функции и статус (оптимум/не ограничена/нет допустимых решений) с проверкой подстановкой. Классика: max 3x+5y s.t. x≤4, 2y≤12, 3x+2y≤18 → (2,6), z=36; min 2x+3y s.t. x+y≥4, x+3y≥6 → (3,1), z=9.
- [Калькулятор критической скорости вала](https://elysiatools.com/ru/tools/shaft-critical-speed): Расчёт критической (резонансной) скорости вала. ω_n = √(k/m), n_cr = (60/2π)·√(k/m) об/мин. Включает собственную частоту f_n (Гц).
- [Подписант PDF сертификатом PAdES](https://elysiatools.com/ru/tools/pdf-pades-certificate-signer): Подписывает PDF сертификатом PKCS#12 с отсоединенной подписью ETSI CAdES.
- [Поиск первообразных корней по модулю n](https://elysiatools.com/ru/tools/primitive-root-finder): Ищет первообразные корни по модулю n: проверяет, что n ∈ {2, 4, p^k, 2p^k} (циклическая мультипликативная группа), находит наименьший корень с сертификатом g^(φ/q) ≠ 1 для каждого простого q | φ(n), считает их количество как φ(φ(n)), выводит до 50 корней или проверяет, равен ли порядок кандидата g числу φ(n). До 10¹².
- [Проверка квадратичного вычета (символы Лежандра/Якоби)](https://elysiatools.com/ru/tools/quadratic-residue-checker): Вычисляет символ Якоби (a/n) (нечётное n до 10¹⁸; для простого n это символ Лежандра): по простому модулю a^((n−1)/2) ≡ 1 означает квадратичный вычет, а Tonelli–Shanks (или прямая формула при p ≡ 3 (mod 4)) даёт корни ±√a; символ −1 гарантирует, что a — невыт. По составному модулю символ лишь необходим: −1 доказывает невычет, +1 ничего не гарантирует (при n ≤ 10⁵ ответ находится перебором). Классика: 10 — квадратичный вычет mod 13 с корнями ±6.
- [Научный Калькулятор](https://elysiatools.com/ru/tools/scientific-calculator): Продвинутый научный калькулятор с поддержкой сложных математических функций и выражений
- [Калькулятор жёсткости цилиндрической пружины](https://elysiatools.com/ru/tools/spring-rate-calculator): Расчёт жёсткости цилиндрической винтовой пружины. k = G·d⁴ / (8·D³·n) (Н/мм). Поддерживает предустановки G для распространённых материалов.
- [Калькулятор модуля Юнга](https://elysiatools.com/ru/tools/youngs-modulus-calculator): Модуль Юнга на линейном упругом участке E = σ/ε (закон Гука). Выберите модуль, напряжение или деформацию: для E введите σ и ε; для σ — E и ε; для ε — E и σ. Каждое направление берёт два известных положительных значения и находит третье; результат в МПа со значением в ГПа.

## Примеры

- [Примеры Обработки Изображений Android Java](https://elysiatools.com/ru/samples/android-image-processing-java): Примеры обработки изображений Android Java включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Android Kotlin](https://elysiatools.com/ru/samples/android-image-processing-kotlin): Примеры обработки изображений Android Kotlin включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Web Python](https://elysiatools.com/ru/samples/web-image-processing-python): Примеры обработки изображений Web Python используя PIL/Pillow включая чтение, сохранение, изменение размера и преобразование формата
- [Примеры Обработки Изображений Web Rust](https://elysiatools.com/ru/samples/web-image-processing-rust): Примеры обработки изображений Web Rust включая чтение/запись, масштабирование и преобразование форматов
