Оптимизационные модели
Транспортная задача с промежуточными пунктами
Есть транспортные задачи, в которых пункты отправления и назначения являются промежуточными, через них переправляются товары в конечный пункт назначения. В данной постановке промежуточные пункты выступают и как потребители и как поставщики. В данном случае формируется единая транспортная матрица, в которой количество поставщиков и количество потребителей увеличивается на число промежуточных пунктов.
Задача 4.5.
Усложним условия задачи 4.4. Фирмы производят и вывозят мебель на 3 склада. Необходимо распределить доставку товаров от поставщиков на склады, со складов в магазины по заказам так, чтобы оптимизировать транспортные расходы. Фирмы производят 280, 150, 225, 175 единиц. Вместимость складов 400, 300, 350 единиц. Магазины заказывают 100, 200, 50, 250 и 150 единиц товара, соответственно. Стоимость перевозок единиц продукции с фирм на склады и со склада в магазины приведена в таблице 4.4, таблице 4.5.
| Фирмы | Склад 1 | Склад 2 | Склад 3 | Объемы производства на фирмах |
| Фирма 1 | 2,4 | 3,0 | 2,3 | 280 |
| Фирма 2 | 3,9 | 3,2 | 4,3 | 150 |
| Фирма 3 | 3,3 | 3,3 | 2,1 | 225 |
| Фирма 4 | 4,3 | 2,7 | 3,2 | 175 |
| Вместимость складов | 400 | 300 | 350 |
| Склады | "Олимп" | "Сфера" | "Квартира" | "Уют" | "Товары для дома" |
| Склад 1 | 5,8 | 3,9 | 3,6 | 5,4 | 2,8 |
| Склад 2 | 4,8 | 5,5 | 3,3 | 2,0 | 2,0 |
| Склад 3 | 2,2 | 3,3 | 3,6 | 3,4 | 1,6 |
| Потребности | 100 | 200 | 50 | 250 | 150 |
Модель задачи.
В модель задачи. добавляется входная переменная склады - три склада
. Склады выступают и как потребители, и как поставщики. Формируется единая матрица, в которой количество элементов поставщиков и количество потребителей увеличивается на число складов: строки = поставщики плюс склады, столбцы = склады плюс магазины. Для запрета перевозок со склада на другой склад и непосредственно от поставщиков в магазины устанавливается очень большой, нереальный тариф (999999).
Таблица стоимости доставки со склада на склад имеет вид:
Таблица стоимости доставки со склада в магазин имеет вид:
| Фирмы | "Олимп" | "Сфера" | "Квартира" | "Уют" | "Товары для дома" |
| Фирма 1 | 999999 | 999999 | 999999 | 999999 | 999999 |
| Фирма 2 | 999999 | 999999 | 999999 | 999999 | 999999 |
| Фирма 3 | 999999 | 999999 | 999999 | 999999 | 999999 |
| Фирма 4 | 999999 | 999999 | 999999 | 999999 | 999999 |
Задача решается в объединенной матрице.
стоимость доставки в объединенной матрице стоимостей. Баланс устанавливается по сумме производства поставщиков и емкости складов, с одной стороны, и емкости складов и потребности магазинов, с другой стороны.
.
Здесь
,
данной задаче необходим фиктивный потребитель с потребностью 80 ед. В остальном модель аналогична предыдущей модели. Система уравнений:
![]() |
( 4.10) |
Решение. В Mathcad задача строится аналогично транспортной задаче. Данные вводятся в матричном виде, оптимизация реализуется с помощью блока given и функции
, ограничения вводятся с единичные векторы. Здесь ообенность заключается в том, строится объединенная матрица. Для этого используем встроенные функции для матричных операций
Функция
объединяет в одну матрицы
и
, имеющие одинаковое число строк.
Функция
объединяет в одну матрицы
и
, имеющие одинаковое число столбцов. (см. Приложение 2). Документ Mathcad решения задачи показан ниже.

Входные данные
- фирмы-поставщики
- магазины-потребители
- склады
Производство фирм поставщиков: 
Емкость складов: 
Потребность магазинов: 
,
, 
: 
: 
Вводим фиктивного потребителя в магазин с потребностью 80 ед.
, 


Стоимость перевозки ед. продукции от фирмы на склад: 
Стоимость перевозки ед. продукции со склада в магазин: 
Решение
матрица стоимостей фиктивной доставки со склада на склад: 
матрица стоимостей фиктивной доставки с фирмы в магазин: 
Объединяем матрицы:
, 
, 
, 


, 

Начальные значения: 
Единичный вектор для строк и столбцов 





Оптимальные перевозки: 
Затраты: 
Ограничения:

, 

