- •Методы оптимальных решений курс лекций
- •Введение
- •Тема 1. Основы исследования операций
- •Основные определения
- •Типичные задачи исследования операций
- •Общая постановка задачи исследования операции.
- •Классификация задач исследования операций
- •Тема 2. Задачи линейного программирования
- •Общая задача линейного программирования
- •Допустимые базисные решения и многогранник решений
- •Симплексный метод
- •Решение задачи отыскания максимума линейной функции
- •Отыскание минимума линейной функции
- •Определение первоначального допустимого базисного решения
- •Особые случаи симплексного метода
- •Неединственность оптимального решения
- •Вырожденное базисное решение
- •Отсутствие конечного оптимального решения
- •Метод искусственного базиса (м-метод)
- •Двойственные задачи
- •Симметричная пара
- •Несимметричная пара
- •Смешанная пара
- •Экономическая интерпретация двойственной задачи
- •Решение двойственной задачи и определение интервалов устойчивости двойственных оценок оптимального решения.
- •Задачи целочисленного программирования
- •Тема 3. Транспортная задача
- •Экономико-математическая модель транспортной задачи
- •Первоначальное распределение поставок методом наименьших затрат
- •Метод «северо-западного угла»
- •Проверка плана на оптимальность. Метод потенциалов
- •Тема 4. Задачи динамического программирования
- •Общая постановка задачи
- •Принцип оптимальности и уравнения Беллмана
- •Пример выбора оптимального маршрута
- •Заключение
- •Литература
- •Содержание
- •Тема 1. Основы исследования операций 3
- •1.1. Основные определения 3
- •Тема 2. Задачи линейного программирования 9
- •Тема 3. Транспортная задача 35
- •Тема 4. Задачи динамического программирования 49
Тема 3. Транспортная задача
Экономико-математическая модель транспортной задачи
Среди задач линейного программирования особое место занимает так называемая транспортная задача. В общем виде она формулируется следующим образом.
Имеется m поставщиков некоторой продукции и n потребителей этой продукции. Известны мощности поставщиков (запасы продукции) и спросы потребителей, а также удельные затраты на перевозку единицы продукции по каждому маршруту «поставщик – потребитель». Необходимо найти объемы перевозок для каждого маршрута так, чтобы суммарные затраты на перевозку были минимальными.
Например, пусть некоторая фирма занимается переработкой сельскохозяйственной продукции на нескольких (n) заводах, расположенных в разных населенных пунктах. Продукция поставляется сельхозпредприятиями с нескольких (m) складов, расположенных в районах области.
Предположим, что стоимость продукции одинаковая, но перевозка со склада i на завод j зависит от расстояния и отличается для маршрута. Если стоимость продукции различна, будем считать, что это различие учитывается в транспортных затратах. Месячная потребность заводов в продукции различна, и запасы на каждом складе в течение месяца ограничены.
Требуется определить, какое количество продукции необходимо перевозить по каждому маршруту склад i – завод j в данном месяце для минимизации общих затрат на перевозку.
Введем следующие обозначения: xij – количество продукции, перевозимой со склада i на завод j (по маршруту i-j ), cij – удельные затраты на перевозку единицы продукции по этому маршруту, Ai – запасы на i-м складе (мощность, или запасы, поставщика), Bj – потребность j-го завода (мощность, или спрос, потребителя), F – суммарные затраты на перевозку продукции по всем маршрутам (целевая функция), Yi – количество продукции, фактически перевезенной с i-го склада, Zj – количество продукции, фактически перевезенной на j-й завод.
Необходимо найти оптимальные значения xij, удовлетворяющие системе ограничений:
(3.1)
при которых целевая функция принимает наименьшее значение:
(3.2)
Сформулированная задача является вариантом задачи линейного программирования. При этом она имеет некоторые особенности:
Коэффициенты при переменных в системе ограничений (3.1) равны 1 или 0.
Каждая переменная входит ровно в два ограничения.
Можно было бы применить изученный симплексный метод для решения такой задачи, однако в теории исследования операций разработан специальный метод решения транспортных задач. Подробно метод решения изложен в учебнике [1]. Кратко отметим основные этапы решения.
При решении придерживаются следующего алгоритма.
Шаг 1. Проверить баланс мощностей поставщиков и потребителей. При этом возможны три случая:
А) Если
,
то задача является закрытой (суммарные
мощности поставщиков и потребителей
равны, вся продукция будет перевезена
со складов на заводы, все запросы заводов
будут удовлетворены).
Б) Если
,
то задача является открытой. Суммарная
мощность поставщиков больше суммарной
мощности потребителей. Для приведения
задачи к закрытой необходимо ввести
фиктивного потребителя (n+1)
с мощностью
,
соответствующие удельные затраты
ci,(n+1)
равны
нулю.
В) Если
,
то задача также является открытой.
Суммарная мощность поставщиков меньше
суммарной мощности потребителей. Для
приведения задачи к закрытой необходимо
ввести фиктивного поставщика (m+1)
с мощностью
,
соответствующие удельные затраты
c(m+1),j
равны
нулю.
Для закрытой задачи система ограничений (3.1) состоит только из равенств. Поэтому далее решается задача определения переменных xij, удовлетворяющие системе ограничений (3.3).
(3.3)
при которых целевая функция принимает наименьшее значение:
(3.4)
Система (3.3) состоит из (m+n) уравнений, но т.к. в случае закрытой задачи сумма первых m уравнений равна сумме последних n уравнений, то только (m+n – 1) из уравнений системы являются линейно-независимыми. Число базисных переменных задачи линейного программирования (3.3) – (3.4) равно (m+n – 1).
Шаг 2. Выполнить первоначальное распределение поставок, т.е. определить начальные значения переменных xij. Тем самым определяется базисное решение, которое всегда является допустимым.
Шаг 3. Проверить полученный план поставок на оптимальность, в случае необходимости организовать пересчет плана.
Проверка плана на оптимальность проводится методом потенциалов по значениям так называемых оценок клеток. Отметим, что оценки клеток по сути являются коэффициентам при неосновных переменных целевой функции. Т.к. транспортная задача – это задача минимизации целевой функции, то критерием оптимальности полученного плана поставок является неотрицательность оценок свободных клеток. Пересчет плана выполняется в том случае, когда имеются клетки с отрицательными оценками. Он соответствует переходу к новому базисному решению.
Если среди свободных клеток есть клетки с нулевыми оценками, то задача имеет неединственное оптимальное решение.
Рассмотрим подробно решение транспортной задачи на примере.
