Понятие цикла транспортной задаче

Транспортная задача (задача Монжа — Канторовича) — математическая задача линейного программирования специального вида.[1][2]
Её можно рассматривать как задачу об оптимальном плане перевозок грузов из пунктов отправления в пункты потребления, с минимальными затратами на перевозки.

Транспортная задача по теории сложности вычислений входит в класс сложности P.
Когда суммарный объём предложений (грузов, имеющихся в пунктах отправления) не равен общему объёму спроса на товары (грузы), запрашиваемые пунктами потребления, транспортная задача называется несбалансированной (открытой).

Постановка задачи[править | править код]

Транспортная задача (классическая) — задача об оптимальном плане перевозок однородного продукта из однородных пунктов наличия в однородные пункты потребления на однородных транспортных средствах (предопределённом количестве) со статичными данными и линеарном подходе (это основные условия задачи).

Для классической транспортной задачи выделяют два типа задач: критерий стоимости (достижение минимума затрат на перевозку) или расстояний и критерий времени (затрачивается минимум времени на перевозку).
Под названием транспортная задача, определяется широкий круг задач с единой математической моделью, эти задачи относятся к задачам линейного программирования и могут быть решены оптимальным методом. Однако, спец.метод решения транспортной задачи позволяет существенно упростить её решение, поскольку транспортная задача разрабатывалась для минимизации стоимости перевозок.

Математическая формулировка задачи[править | править код]

Пусть имеется пунктов производства некоторого однородного продукта и пунктов его потребления. Для каждого пункта производства и для каждого пункта потребления заданы следующие величины: объём производства в пункте производства , объём потребления в пункте потребления , затраты на перевозку единицы продукта от пункта производства до пункта потребления . Предполагается, что суммарное производство равно суммарному потреблению: . Требуется составить план перевозок, позволяющий полностью вывезти продукты всех производителей, полностью обеспечивающий потребности всех потребителей и дающий минимум суммарных затрат на перевозку. Обозначим как объёмы перевозок от поставщика до потребителя .[3]

,
,

История поиска методов решения[править | править код]

Проблема была впервые формализована французским математиком Гаспаром Монжем в 1781 году[4]. Прогресс в решении проблемы был достигнут во время Великой Отечественной войны советским математиком и экономистом Леонидом Канторовичем[5]. Поэтому иногда эта проблема называется транспортной задачей Монжа — Канторовича.

Методы решения[править | править код]

Классическую транспортную задачу можно решить симплекс-методом, но в силу ряда особенностей её можно решить проще (для задач малой размерности).

Условия задачи располагают в таблице, вписывая в ячейки количество перевозимого груза из в груза , а в маленькие клетки — соответствующие тарифы .

Итерационное улучшение плана перевозок[править | править код]

Нахождение опорного плана[править | править код]

Требуется определить опорный план и путём последовательных операций найти оптимальное решение. Опорный план можно найти следующими методами: «северо-западного угла», «наименьшего элемента», двойного предпочтения и аппроксимации Фогеля.

Метод северо-западного угла (диагональный или улучшенный)[править | править код]

На каждом этапе максимально возможным числом заполняют левую верхнюю клетку оставшейся части таблицы. Заполнение таким образом, что полностью выносится груз из или полностью удовлетворяется потребность .

Метод наименьшего элемента[править | править код]

Одним из способов решения задачи является метод минимального (наименьшего) элемента. Его суть заключается в сведении к минимуму побочных перераспределений товаров между потребителями.

Алгоритм:

  1. Из таблицы стоимостей выбирают наименьшую стоимость и в клетку, которая ей соответствует, вписывают большее из чисел.
  2. Проверяются строки поставщиков на наличие строки с израсходованными запасами и столбцы потребителей на наличие столбца, потребности которого полностью удовлетворены. Такие столбцы и строки далее не рассматриваются.
  3. Если не все потребители удовлетворены и не все поставщики израсходовали товары, возврат к п. 1, в противном случае задача решена.

Итерации[править | править код]

После нахождения опорного плана перевозок, нужно применить один из алгоритмов его улучшения, приближения к оптимальному.

  • Метод падающего камня (нем.)
  • Метод потенциалов.

Решение с помощью теории графов[править | править код]

Рассматривается двудольный граф, в котором пункты производства находятся в верхней доле, а пункты потребления — в нижней. Пункты производства и потребления попарно соединяются рёбрами бесконечной пропускной способности и цены за единицу потока .

К верхней доле искусственно присоединяется исток. Пропускная способность рёбер из истока в каждый пункт производства равна запасу продукта в этом пункте. Цена за единицу потока у этих рёбер равна 0.

Аналогично к нижней доле присоединяется сток. Пропускная способность рёбер из каждого пункта потребления в сток равна потребности в продукте в этом пункте. Цена за единицу потока у этих рёбер тоже равна 0.

Дальше решается задача нахождения максимального потока минимальной стоимости (mincost maxflow). Её решение аналогично нахождению максимального потока в алгоритме Форда — Фалкерсона. Только вместо кратчайшего дополняющего потока ищется самый дешёвый. Соответственно, в этой подзадаче используется не поиск в ширину, а алгоритм Беллмана — Форда. При возврате потока стоимость считается отрицательной.

Алгоритм «mincost maxflow» можно запускать и сразу — без нахождения опорного плана. Но в этом случае процесс решения будет несколько более долгим. Выполнение алгоритма «mincost maxflow» происходит не более чем за операций. ( — количество рёбер,  — количество вершин.) При случайно подобраных данных обычно требуется гораздо меньше — порядка операций.

При решении несбалансированной транспортной задачи применяют приём, позволяющий сделать её сбалансированной. Для этого вводят фиктивные пункты назначения или отправления. Выполнение баланса транспортной задачи необходимо для того, чтобы иметь возможность применить алгоритм решения, построенный на использовании транспортных таблиц.

Обобщения[править | править код]

Транспортная задача в сетевой постановке[править | править код]

В этом варианте пункты не делятся на пункты отправления и пункты потребления, все пункты равноправны, но производство задается положительным числом, а потребление — отрицательным. Перевозки осуществляются по заданной сети, в которой дуги могут соединять любые пункты, включая производитель — производитель, потребитель — потребитель.

Читайте также:  О чем цикл орден сангвинисты

Задача решается слегка измененным методом потенциалов, практически тем же, что и классическая постановка.

Транспортная задача с ограничениями пропускной способности[править | править код]

Вариант транспортной задачи в сетевой постановке, при котором задается максимальная пропускная способность некоторых дуг.

Задача решается слегка усложненным методом потенциалов.

Многопродуктовая транспортная задача[править | править код]

Вариант транспортной задачи, в которой присутствует несколько продуктов (пункты могут производить/потреблять несколько продуктов). Для некоторых дуг задается ограничение на пропускную способность (без этого ограничения задача распадается на отдельные задачи по продуктам).

Задача решается симплекс-методом (используется разложение Данцига-Вулфа, в качестве подзадач используются однопродуктовые транспортные задачи).

Примечания[править | править код]

  1. А. В. Кузнецов, Н. И. Холод, Л. С. Костевич. Руководство к решению задач по математическому программированию. — Минск: Высшая школа, 1978. — С. 110.
  2. ↑ Словарь по кибернетике / Под редакцией академика В. С. Михалевича. — 2-е. — Киев: Главная редакция Украинской Советской Энциклопедии имени М. П. Бажана, 1989. — 751 с. — (С48). — 50 000 экз. — ISBN 5-88500-008-5.
  3. ↑ Корбут, 1969, с. 28.
  4. Monge G. Mémoire sur la théorie des déblais et de remblais. Histoire de l’Académie Royale des Sciences de Paris, avec les Mémoires de Mathématique et de Physique pour la même année, pages 666—704, 1781.
  5. Kantorovich L. On the translocation of masses // C. R. (Doklady) Acad. Sci. URSS (N. S.), 37:199-201, 1942.

Ссылки[править | править код]

  • Транспортная задача
  • Алгоритмы нахождения максимального потока
  • https://kb.mista.ru/article.php?id=859 Решение транспортной задачи в 1С:Предприятие 8.2

Литература[править | править код]

  • Корбут А.А., Финкельштейн Ю.Ю. Дискретное программирование. — М.: Наука, 1969. — 368 с.

Источник

Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке “Файлы работы” в формате PDF

Насегодняшнийденьматематическиенаукииграютнемаловажнуюрольвпрофессиональной деятельности человека, т.к. знания математики необходимы практически во всех рабочих сферах.

Экономическая грамотность человека зависит от того, насколько, он владеет математическими знаниями, и как он может их применять при решении сложных экономических проблем. Необходимость изучения экономических задач осуществляется, с помощью различных методов: математической статистики, теории вероятностей, моделирования, методов оптимизации, а также линейное программирование.

Линейное программирование является ветвью математического программирования — это раздел математики, разрабатывающий различные методы решения экстремальных задач.

Наиболее распространенная задача линейного программирования является транспортная задача— задача о поиске экономичного плана перевозок однородного продукта из пунктов производства в пункты потребления.

Одной из видов транспортной задачи является классическая. Это задача оптимального плана перевозок однородного продукта в однородные пункты потребления на однородных транспортных средствах.

Транспортная задачаявляется особой формой поиска оптимального плана перевозок груза с минимальными затратами. С помощью транспортной задачи можно найти оптимальный план перевозки грузов, затрачивая при этом, минимальное количество затрат.

Цель транспортной задачи – обеспечить доставку продукции потребителю в нужное время и место при минимальной стоимоститрудовых, материальных и финансовых ресурсов. Цель считаетсядостигнута, когда выполняются следующие условия:

-необходимый товар;

-достойное качество;

– необходимое количество;

– нужное время;

– нужное место;

– минимальные затраты.

Приведем пример транспортной задачи:

Пусть некоторый однородный груз сосредоточен у mпоставщиков в объемах. Это груз нужно доставить n потребителям в объемах. Известны (i=l,2,…,m, j=l,2,…,n)— стоимость единицы груза от каждого i-roпоставщика каждому j-му потребителю. Составим план транспортировки груза, при котором запасы всех потребителей полностью удовлетворены, и общая стоимость перевозки грузов минимальна. Первичные данные транспортной задачи, как правило, записываются в виде таблице или векторов фонда поставщиков, потребительского спроси и матрицы стоимостей. Неизвестные параметры транспортной задачи обозначим (i=l,2,..,m, j=l,2,..,n)-v— объемы перевозок от каждого i-ro поставщика каждому j-му потребителю.

Существует два типа моделей транспортной задачи: открытый и закрытый.

Открытая модель задачи предполагает, наличие равенства между общими расходами поставщиков и общим расходам потребителям (задача с правильным балансом).

Если этого равенства нет, то модель этой задачи является открытой (задача с неправильным балансом).

Транспортная задачарешается несколькими методами:

1. Метод «северо-западного угла». На каждом шаге построения изначального опорного плана таблица заполняется по диагонали, начиная с левой верхней клетки (северо-западный угол. При этом вычеркивается каждый столбец (строка), предполагая, что число этого столбца (строки) равно нулю.

2. Метод минимальной стоимости. При этом методе первой заполняется та клетка таблицы, имеющая наименьшее число. Если такая клетка не одна, то можно заполнить любую из них. Процесс распределения запасов длится до тех пор, пока все запасы не будут удовлетворены.

3. Метод Фогеля. В распределительной таблице по строкам и столбцам выделяется наибольшая разность между двумя наименьшими тарифами. В строке (столбце) с наибольшей разностью заполняется клетка с наименьшим тарифом. Строки (столбцы) с нулевым остатком груза дальше не учитываются. Далее на каждом этапе загружается только одна клетка. Как и в предыдущем методе, решение задачи происходит до удовлетворения всех потребностей.

Таким образом, можно сделать вывод, что решение транспортных задач, позволяет найти минимальные затраты на перевозку грузов, выбрать кратчайшей путь маршрута, снизить количество времени на доставку груза, а также сократить различные расходы, что приведет конкурентоспособности самого малого предприятия.

Читайте также:  Рекламное агентство с производственным циклом

Список литературы

  1. Гулай Т. А., Долгополова А. Ф., Литвин Д. Б. Государственное регулирование в системе агробизнеса // Учетно-аналитические и финансово-экономические проблемы развития региона : Ежегодная 76-я науч.-практ. конф. “Аграрная наука – Северо-Кавказскому региону”. СтГАУ. 2012. С. 202–207.

  2. Демченко И. А., Долгополова А. Ф., Гулай Т. А. Инвестиционная активность регионального АПК // Экономика сельского хозяйства России. 2015. № 4. С. 31–37.

  3. Литвин Д. Б., Гулай Т. А., Долгополова А. Ф. Коррекция динамического диапазона статистических данных // Статистика вчера, сегодня, завтра : Междунар. науч.-практ. конф., посвященная 155-летию образования Ставропольского губернского комитета статистики, 150-летию образования в России Центрального статистического комитета и Международному году статистики. 2013. С. 148–152.

  4. Попова С. В., Колодяжная Т. А. Применение алгоритмов при обучении математике в вузе // Моделирование производственных процессов и развитие информационных систем // Даугавпилсский университет, Латвия, Европейский Союз Белорусский государственный университет, Беларусь Днепропетровский университет экономики и права, Украина Московский государственный университет им. М.В. Ломоносова, Россия Санкт-Петербургский государственный политехнический университет Северо-Кавказский государственный технический университет Ставропольский государственный университет Ставропольский государственный аграрный университет. 2011. С. 278–281.

  5. Долгополова А. Ф., Гулай Т. А., Литвин Д. Б. Совершенствование экономических механизмов для решения проблем экологической безопасности // Информационные системы и технологии как фактор развития экономики региона : II Междунар. науч.-практ. конф. 2013. С. 68–71.

Источник

Классическая постановка транспортной задачи общего вида такова.

Имеется m пунктов отправления («поставщиков») и n пунктов потребления («потребителей») некоторого одинакового товара. Для каждого пункта определены:

ai– объемы производства i -го поставщика, i = 1, …, m;

bj – спрос j-го потребителя, j= 1,…,n;

сij – стоимость перевозки одной единицы продукции из пункта Ai– i-го поставщика, в пункт Вj – j-го потребителя.

Для наглядности данные удобно представлять в виде таблицы, которую называют таблицей стоимостей перевозок.

Поставщики ↓ Потребители → В1 В2Вnзапасы
А1 С11C12  C1n а1
А2 С21C22  C2n а2
     
Am Cm1 Cm2 Cmnаm
Потребностиb1b2 bn 

Требуется найти план перевозок, при котором бы полностью удовлетворялся спрос всех потребителей, при этом хватало бы запасов поставщиков и суммарные транспортные расходы были бы минимальными.

Под планом перевозок понимают объем перевозок, т.е. количество товара, которое необходимо перевезти от i-го поставщика к j-му потребителю. Для построения математической модели задачи необходимо ввести m·n штук переменных хij, i= 1,…, n, j= 1, …, m, каждая переменная хij обозначает объем перевозок из пункта Ai в пункт Вj.
Набор переменных X = {xij} и будет планом, который необходимо найти, исходя из постановки задачи.

Ограничения задачи примут вид:

Это условие для решения закрытых и открытых транспортных задач (ЗТЗ).

Очевидно, что для разрешимости задачи 1 необходимо, чтобы суммарный спрос не превышал объема производства у поставщиков:

Если это неравенство выполняется строго, то задача называется «открытой» или «несбалансированной», если же , то задача называется «закрытой» транспортной задачей, и будет иметь вид (2):

 – условие сбалансированности.

Это условие для решения закрытых транспортных задач (ЗТЗ).

В силу ограничений (2) нетрудно увидеть, что ЗТЗ является задачей ЛП и может быть решена симплекс-методом после приведения ее к специальному виду. Но структура системы ограничений имеет некоторою специфику,
а именно: каждая переменная хij входит ровно два раза в неравенства системы, и все переменные входят в неравенства системы с коэффициентом 1. В силу этой специфики существует более простой метод решения, называемый методом потенциалов, который, по сути,
является некоторой модификацией симплекс-метода. По-прежнему идеей является переход от одного опорного плана к другому, обязательно «лучшему» с точки зрения значения целевой функции. Каждому опорному плану также соответствует своя распределительная таблица. Переход осуществляется от одного плана к другому, пока полученный план не будет удовлетворять условию оптимальности.
Необходимо научиться строить первоначальный опорный план. В качестве первоначального плана годится любое решение системы уравнений (2). Заметим, что это система линейных уравнений, состоящая из m + n уравнений с m*n неизвестными. Можно доказать, что линейно независимых уравнений в системе (2) m + n – 1, ввиду условия сбалансированности, т.е. базисных переменных должно быть m + n– 1. Итак, в качестве плана будем представлять себе таблицу размера m ∙ n, в которой должно быть занято m + n – 1 клеток, отвечающих базисным переменным xij.

Транспортные задачи с неправильным балансом

В рассмотренной модели транспортной задачи мы предполагали, что суммарные запасы поставщиков равны суммарным запросам потребителей, т.е.

Такая задача называется задачей с правильным балансом, а ее модель — закрытой. Если же это равенство не выполняется, то задача называется задачей с неправильным балансом, а ее модель — открытой.
Решение задачи с неправильным балансом сводится к решению задачи с правильным балансом введением в ее математическую модель фиктивного поставщика или фиктивного потребителя. Тарифы на перевозку грузов от таких поставщиков или к таким потребителям полагаются равными 0 (т.е. фактически соответствующие перевозки не производятся). В случае превышения общего запаса продукции над потребностью, т.е. если

в рассмотрение вводится фиктивный потребитель с потребностью

и тарифами на перевозку ci ( k +1) =0.
Если же

Читайте также:  Виды коммерческой деятельности от места в цикле товародвижения

то вводится фиктивный поставщик, запасы которого равны

с тарифами на перевозку c ( n +1)j=0.  Этим приемом задача сводится к закрытой транспортной задаче, из оптимального плана которой получается оптимальный план исходной задачи. Заметим, что при составлении начального опорного решения для ускорения вычислений в последнюю очередь следует (хотя и не обязательно) распределять запасы фиктивного поставщика и удовлетворять запросы фиктивного потребителя, несмотря на то, что им соответствуют наименьшие тарифы на перевозку (равные 0).

Построение первоначального опорного плана по правилу наименьшей стоимости

Построение плана по правилу наименьшей стоимости заключается в следующем. Рассматриваем матрицу (таблицу) транспортных расходов,
стоимостей, данную изначально в качестве условия задачи. Выбираем клетку с минимальной ценой перевозки (клетка с номером i, j) и помещаем в эту клетку наименьшее из чисел {ai, bj}. Затем исключаем из рассмотрения строку, соответствующую поставщику (если аi меньшее), или столбец, соответствующий потребителю (если вj меньшее). Исключение строки означает, что запасы i-го потребителя удовлетворены. Из оставшейся таблицы снова выбираем наименьшую стоимость, и т.д. продолжаем до тех пор, пока все запасы не исчерпаны, а потребности не удовлетворены. Проверьте, что сумма чисел в каждой строке получившейся таблицы равна аi,
а сумма чисел в каждом столбце равна вj, что и требовалось. Число занятых клеток должно равняться m + n – 1, в противном случае, если занятых клеток меньше, чем m + n – 1, дополним таблицу необходимым количеством нулей (нулевых перевозок) и будем считать эти клетки с нулями занятыми так, чтобы общее количество занятых клеток равнялось равно m + n – 1. Нули поставим в клетки, соответствующие минимальной стоимости.

Метод потенциалов

При построении плана мы ставим задачу найти хоть какой-нибудь, не обязательно лучший, оптимальный план, удовлетворяющий ограничениям задачи.
Теперь нам хотелось бы уметь отвечать на вопрос: является ли найденный опорный план оптимальным, и если нет, то «улучшать» его. Эту задачу решает метод потенциалов, предложенный в 1949 г. советскими учеными Л.В. Канторовичем и М.К. Гавуриным. теоретической основой метода является теорема.

Теорема. Если для некоторого опорного плана Х = {xij} транспортной задачи можно подобрать систему из m + n чисел u1, u2, …, um, v1, v2, … vn, называемых потенциалами, то план оптимален тогда и только тогда, когда выполняются условия:

  1. ui+vj=cij для всех xij > 0                                                      (1)
  2.  ui+vj ≤ cij для всех i = 1,m, j = 1,n

где (cij) – матрица стоимостей перевозок.

Доказательство теоремы опускаем, оно основывается на рассмотрении двойственной задачи к исходной транспортной. Итерация метода потенциалов состоит из трех шагов.

I шаг (вычисление потенциалов).

Условие (1) представляет собой систему из ( m + n – 1) линейных уравнений с (m + n) неизвестными потенциалами. Поэтому одно из неизвестных полагаем равным 0 для определенности, затем последовательно находим остальные потенциалы.

II шаг (проверка плана на оптимальность).

Для проверки плана на оптимальность необходимо проверить условие (2). Для занятых клеток это условие выполняется, именно на них достигается равенство. Остается посчитать суммы ui + vj для свободных клеток. Если ui + vjсij, то, по теореме, план является оптимальным и задача решена.

III шаг (улучшение плана).

Для проведения операции улучшения плана нам понадобится понятие цикла.

Определение. Циклом будем называть набор клеток матрицы перевозок, в котором две и ровно две соседние клетки расположены в одной строке или в одном столбце, и первая и последняя клетки набора лежат тоже в одной строке или столбце.

Графически нетрудно представить цикл в виде ломаной, каждое звено которой лежит в строке или в столбце, причем в каждой строке или столбце не более чем по одному звену.

Примеры:

С понятием цикла связаны важные свойства планов:

  1. допустимый план является опорным, когда из занятых этим планом клеток нельзя образовать ни одного цикла;
  2. если имеем опорный план, то для каждой свободной клетки можно образовать единственный цикл, содержащий данную клетку и некоторые из занятых.

Улучшение плана производится по следующей схеме. В подчеркнутых клетках табл. 2 находим клетку с наибольшей разностью ui + vjcij, т.е. где условие (2) нарушается максимально.

Затем для этой клетки, согласно утверждению 2, строим единственный цикл. Набор клеток в цикле помечаем поочередно знаками «+» и «–», начиная с «+» в свободной клетке.

Начиная с клетки (1, 1), где условие (2) нарушено максимально, строим цикл. Клетку (1, 1) помечаем знаком «+». Цикл единственен, у нас все занятые клетки вошли в цикл, но это необязательно. Строим новый план хn по правилу:

Замечание. Если транспортная задача является задачей открытого типа, в которой условие баланса не выполняется, а именно сумма запасов больше суммы потребностей, то решить такую задачу можно по предложенной схеме методом потенциалов, введя дополнительного потребителя, с потребностью равной разности балансов и нулевыми стоимостями перевозок от каждого поставщика к этому потребителю.

Виды транспортных задач

  1. Классическая транспортная задача (перевозка грузов от поставщиков к потребителям);
  2. Задача коммивояжера;
  3. Задача о назначениях;

Методы решения транспортных задач

  1. Классическая транспортная задача (перевозка грузов от поставщиков к потребителям);

    Методы решения: метод потенциалов, симплексный метод;
  2. Задача коммивояжера;

    Методы решения: метод ветвей и границ, венгерский метод, метод минимальных линий;
  3. Задача о назначениях;

    Методы решения: венгерский метод, метод Мака, метод минимальных линий;

Источник