Оптимизационные модели
Транспортная задача с промежуточными пунктами
Есть транспортные задачи, в которых пункты отправления и назначения являются промежуточными, через них переправляются товары в конечный пункт назначения. В данной постановке промежуточные пункты выступают и как потребители и как поставщики. В данном случае формируется единая транспортная матрица, в которой количество поставщиков и количество потребителей увеличивается на число промежуточных пунктов.
Задача 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 ед.
,
Стоимость перевозки ед. продукции от фирмы на склад:
Стоимость перевозки ед. продукции со склада в магазин:
Решение
матрица стоимостей фиктивной доставки со склада на склад:
матрица стоимостей фиктивной доставки с фирмы в магазин:
Объединяем матрицы: ,
,
,
,
Начальные значения:
Единичный вектор для строк и столбцов
Оптимальные перевозки:
Затраты:
Ограничения:
,