13.2. ТРАНСПОРТНАЯ ЗАДАЧА И АЛГОРИТМ ЕЕ РЕШЕНИЯ
Данная проблема связана с распределением товаров между поставщиками (находящимися в пунктах производства) и потребителями (находящимися в пунктах назначения) таким образом, чтобы общая стоимость этого распределения была минимальной. Эта задача может быть решена либо с помощью методов линейного программирования, либо специального алгоритма решения транспортной задачи. Применение методов линейного программирования проиллюстрировано в примере 13.1.
13.2.1. Транспортная задача
Пример 13.1. Компания с ограниченной ответственностью "Асе Foods Ltd" осуществляет производство прохладительных напитков на двух заводах — А и В. Поставкой бутылок на каждый из заводов занимаются две фирмы - Р и На ноябрь заводу А требуется 5000 бутылок, а заводу бутылок. Фирма Р может поставить максимум 7500 бутылок, а фирма бутылок. Табл. 13.1 содержит информацию о стоимости перевозки одной бутылки от каждого поставщика каждому заводу.
Таблица 13.1. Стоимость перевозки бутылок, показателя спроса и предложения
Как следует организовать доставку бутылок на заводы, чтобы общая стоимость перевозки была минимальной?
Решение.
При решении транспортной задачи всегда полезно проверить, не существует ли очевидного решения. Теоретически было бы желательно использовать для перевозок только наиболее дешевые маршруты. Для обоих заводов был бы наиболее предпочтительным поставщиком, так как стоимость перевозки для него ниже, чем для Р. Однако максимальный объем перевозок для составляет только 4000 бутылок, тогда как общий спрос равен 8500. Вероятно, наиболее дешевым вариантом было бы использование маршрута из в В стоимостью 2 пенса за единицу, удовлетворяющее весь спрос завода В (3500). Остаток запаса (500) следует
направить из в А по стоимости 3 пенса за единицу. Остальной спрос завода А следует удовлетворить через поставщика Р, причем стоимость перевозки составит 4 пенса за единицу. Общая стоимость транспортировки при таком распределении будет иметь вид:
Однако мы не можем доказать, что данное распределение ресурсов является наиболее экономичным. Основные аспекты исследования транспортной модели состоят в следующем: доказательство того, что сформулированная задача имеет решение; обоснование положения о том, что это решение является оптимальным; изучение влияния на полученное решение любых изменений условий задачи.
Построив соответствующую модель линейного программирования, решим сформулированную выше проблему графическим методом.
Пусть фирма Р поставляет х бутылок для завода А и у бутылок для завода В. Тогда для полного удовлетворения спроса фирма должна поставлять оставшиеся бутылок на завод А и бутылок на завод В. Цель состоит в минимизации общей стоимости транспортировки С (в пенсах), где
следовательно,
а целевая функция задачи имеет вид:
принимает свое минимальное значение тогда, когда С принимает минимальное значение. Значения х и у, которые минимизируют минимизируют также и С. Минимизация целевой функции осуществляется в условиях следующей системы ограничений:
Спрос завода А: бутылок
Спрос завода В: бутылок
Поставки из Р: бутылок
Поставки из бутылок
Графическое изображение системы ограничений представлено на рис. 13.1.
Точка с координатами принадлежит допустимому множеству. Значение функции в этой точке
Типичная линия уровня целевой функции имеет вид: На рис. 13.1 она изображена пунктиром. Перемещение линии уровня в сторону уменьшения значений целевой функции приводит нас в крайнюю точку А, которая является
Рис. 13.1. Задача линейного программирования поставки бутылок
оптимальной. В этой точке Следовательно, оптимальное решение состоит в поставке из Р в А 4500 бутылок, в отсутствии поставок из Р в В, в поставке из в А 500 бутылок, а из в бутылок. Минимальная стоимость транспортировки для этого решения равна: пенсов
Резервный запас остается только на фирме Р и составляет 3000 единиц. Начиная решать задачу, мы предполагали, что именно это решение минимизирует стоимость перевозки. Теперь мы доказали, что это действительно так.