Пример транспортной задачи
Имеется три завода: ОАО "Азот", ОАО "Химия" и ОАО "Зета" с производственными возможностями 400, 350 и 250 стоимостных единиц соответственно, и пять складов: в Кемерово, Саратове, в Рязани, в Казане и в Омске с потребностями 200, 250, 100, 200 и 100 соответственно.
Товары могут доставляться с любого завода на любой склад. Но очевидно, что стоимость доставки на большее расстояние будет больше. Пусть затраты на перевозку от завода к складу заданы таблицей 1.
Таблица 1
Кемерово | Саратов | Рязань | Казань | Омск | ||
ОАО "Азот" | ||||||
ОАО "Химия" | ||||||
ОАО "Зета" | ||||||
Решение задачи. Заполняем электронную таблицу.
В первой строке объединяем ячейки столбцов от A до G и записываем - Число перевозок от завода к складу.
Во второй строке записываем: A2 - Заводы, B2 - Всего, C2 - Кемерово, D2 - Саратов, E2 - Рязань, F2 - Казань, G2 - Омск.
В третьей строке записываем: A3 - ОАО "Азот", B3 набираем формулу =СУММ(C3:G3), продолжаем эту формулу на ячейки B4 и B5, заполняем C3:G3 - 1.
В четвертой строке пишем: A4 - ОАО "Химия", C4:G4 - 1.
В пятой строке записываем: A5 –ОАО "Зета" , C5:G5 – 1.
Шестую строку пропускаем.
В седьмой строке записываем: A7 – Итого, B7 пропускаем, C7 набираем формулу =СУММ(C3:C5), продолжаем эту формулу направо до столбца G включительно.
Восьмую строку пропускаем.
В девятой строке набираем: объединяем A9 с B9 и пишем - Потребности складов, C9 - 200, D9 - 250, E9 - 100, F9 - 200, G9 - 100.
В десятой строке набираем: A10 – Заводы, B10 – Поставки, C10:G10 объединяем и пишем - Затраты на перевозку от завода к складу.
В одиннадцатой строке набираем: A11 - ОАО "Химия", B11 – 400, C11 – 1, D11 – 7 , E11 – 4 , F11 – 6, G11 - 8.
В двенадцатой строке набираем: A12 – ОАО "Химия", B12 – 350, C12 – 2, D12 – 4, E12 – 4, F12 – 3, G12 - 5.
В тринадцатой строке набираем: A13 - Украина, B13 - 250, C13 – 3, D13 – 3, E13 – 5, F13 – 2, G13 - 4
Четырнадцатую строку пропускаем.
В пятнадцатой строке набираем: A15 - Перевозка, B15 набираем формулу =СУММ(C15:G15), C15 набираем формулу =C3*C11+C4*C12+C5*C13, продолжаем эту формулу направо до столбца G включительно.
Цель - уменьшение всех транспортных расходов. Изменяемые данные - объемы перевозок от каждого из заводов к каждому складу. Ограничения: количества перевезённых грузов не могут превышать производственных возможностей заводов; количество доставляемых грузов не должно быть меньше потребностей складов; число перевозок не может быть отрицательным.
Таблица 2 – Свод параметров модели
Результат | B15 | Цель - уменьшение всех транспортных расходов |
Изменяемые данные | С3:G5 | Объемы перевозок от каждого из заводов к каждому складу |
Ограничения | ВЗ:В5<=В11:В13 | Количества перевезенных грузов не могут превышать производственных возможностей заводов. |
C7:G7>=C9:G9 | Количество доставляемых грузов не должно быть меньше потребностей складов. | |
СЗ:G5>=0 | Число перевозок не может быть отрицательным |
Представление формул и чисел исходных данных дано на рисунке 1.
Рисунок 1
Рисунок 1
После построения модели можно переходить к составлению оптимального плана с помощью программы оптимизации:
1. Выбрать вкладку Данные и нажать кнопку Поиск решения. Появляется диалоговое окно оптимизатора (рисунок 2).
Рисунок 2
2. Выполнить настройку модели (математическую постановку задачи для оптимизатора). Свод параметров модели дан в таблице 2.
a) в группе Равной переключатель на минимальное значение,
b) в поле Установить целевую ячейку ввести адрес ячейки B15, содержащей формулу для расчета значения целевой функции,
c) в поле Изменяя ячейки указать ссылки на изменяемые ячейки C3:G5, содержащие управляемые переменные (рисунок 3),
Рисунок 3
d) в поле Ограничения можно задать нужные ограничения, для этого необходимо нажать кнопку Добавить;
e) в результате открывается диалоговое окно (рисунок 4) Добавление ограничения:
Рисунок 4
3. Вид окна оптимизатора с настроенной моделью приведён на рисунке 5.
Рисунок 5
4. После настройки модели и установки параметров надо в окне Поиск решения нажать кнопку Выполнить. На рисунке 6 представлено оптимальное решение, найденное программой Поиск решения.
Рисунок 6
Уменьшим разрядность в ячейках D4, D5, G4, G5 (Рисунок 7)
Рисунок 7