Транспортная задача

Автор: Пользователь скрыл имя, 18 Декабря 2012 в 21:46, доклад

Описание работы

Транспортная задача (transportation problem) - одна из наиболее распространенных задач математического программирования (обычно - линейного). В общем виде ее можно представить так: требуется найти такой план доставки грузов от поставщиков к потребителям, чтобы стоимость перевозки (или суммарная дальность, или объем транспортной работы в тонно-километрах) была наименьшей. Следовательно, дело сводится к наиболее рациональному прикреплению производителей к потребителям и наоборот.

Содержание

• Введение
• 1. Формулировка транспортной задачи
• 2. Математическая модель транспортной задачи
• 3. Необходимое и достаточное условия разрешимости транспортной задачи
• 4. Свойство системы ограничений транспортной задачи
• 5. Опорное решение транспортной задачи
• 6. Методы построения начального опорного решения
• 6.1 Построение первоначального плана по способу северо-западного угла
• 6.2 Построение первоначального плана по способу минимального элемента
• 7. Переход от одного опорного решения к другому
• 8. Распределительный метод
• 9. Метод потенциалов
• 10. Особенности решения транспортных задач с неправильным балансом
• 11. Алгоритм решения транспортной задачи методом потенциалов
• 11.1 Предварительный шаг
• 11.2 Общий повторяющийся шаг
• 12. Транспортная задача с ограничениями на пропускную способность
• 13. Транспортная задача по критерию времени
• 14. Применение транспортной задачи для решения экономических задач
• Заключение
• Список использованной литературы

Работа содержит 1 файл

Транспортная задача.docx

— 58.70 Кб (Скачать)

,

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

min

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

Второй случай.

Если запасов не хватает  для удовлетворения потребностей, т.е. , то вводим фиктивный (k+1) - й пункт отправления, которому приписываем запас груза, равный

,

тарифы на доставку грузов из этого фиктивного склада опять, полагаем нулевыми. В матрице добавится  одна строка. На функционале это  не отразится, а система ограничений  задачи станет совместной, т.е. станет возможным отыскание оптимального плана на минимум стоимости перевозок. [5]

11. Алгоритм решения  транспортной задачи методом  потенциалов

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

11.1 Предварительный  шаг

Этот шаг включает следующих  три этапа.

1. Находим допустимый  ациклический план.

2. Составляем систему  чисел - потенциалов пунктов отправления  и пунктов назначения.

3. Анализируем систему  на потенциальность. Если она  потенциальна (т.е. план потенциален), то найденный план оптимален.  Если система не потенциальна, приступаем к общему шагу.

Первый этап: нахождение допустимого ациклического плана  способом северо-западного угла.

Невзирая на тарифы, начинаем составление плана с заполнения левой верхней клетки (1,1) (с северо-западного  угла).

Смотрим на запасы Mи потребности N1. Если M< N1, то в клетку (1,1) вписываем M(т.е. отдаем пункту назначения весь запас груза из первого пункта отправления - случай в таблице). Если N<M1, то в клетку (1,1) записываем N1, т.е. покрываем всю потребность первого пункта назначения за счет первого пункта отправления.

Перепишем баланс после  первой операции (изменятся и потребности, и запасы). В первой строке остальные  клетки можно прочеркнуть, так как  весь груз пошел в первый пункт.

Второй тур начинаем опять с северо-западного угла. Удовлетворяем оставшуюся потребность  первого пункта назначения, доставив туда (N1-Ml) единиц груза из второго пункта отправления. Если потребность первого пункта удовлетворена полностью, остальные клетки в первом столбце прочеркиваем. Переписываем баланс после второй операции.

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

Второй этап предварительного шага: определение системы потенциалов.

Потенциал приписывается  каждому пункту отправления (обозначается ui) и каждому пункту назначения (vj). Всего потенциалов k+l чисел. Они вносятся в специально отведенные для этого строку и столбец макета.

Для Х-отмеченных тарифов aij, число которых всегда равно (k + l - 1), должны выполняться равенства v- u= aij. Эти равенства и будут служить теми уравнениями, из которых находятся потенциалы. Однако таких уравнений будет только (k + l - 1), а неизвестных в системе (k + l), т.е. на единицу больше. Такая система уравнений имеет бесчисленное множество решений, любое из которых годится для нашей цели. Чтобы найти какое-то одно решение, значение одного потенциала выбираем произвольно. Остальные потенциалы определяем из решения системы. Третий этап предварительного шага: испытание плана или системы потенциалов на потенциальность. Потенциальность заключается в том, чтобы неравенство v- u< aij выполнялось для всех без исключений клеток. При этом Х-отмеченные клетки проверять не надо, так как потенциалы подобраны из условия выполнения в них равенства.

Выделяем положительные  разности dij:

dij = v- u- aij > 0.

На этом предварительный  шаг закончен.

11.2 Общий повторяющийся  шаг

Общий шаг выполняется  в такой последовательности.

1. Из положительных разностей  dij находим наибольшую разность di0j0:

diojo = mах (v- u- aij 0).

Пусть этот максимум имеет  место для клетки (i0, j0). Включаем эту клетку в набор Х-отмеченных (k + l- 1) клеток. Клеток становится (k+l), а для такого их количества всегда можно построить цикл. Этот цикл будет в данной ситуации единственным.

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

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

3. Выбираем наименьшее  значение перевозки в клетках  отрицательной полуцепи (xij) - Пусть оно равно Q:

min (xij) - = Q.

Если таких значений несколько, берем одно из них, безразлично  какое.

4. Из перевозок каждой  клетки отрицательной полуцепи вычитаем Q, а к перевозкам каждой клетки положительной полуцепи прибавляем Q. Эта операция называется сдвигом по циклу на величину Q.

Процесс сдвига меняет план, но план остается допустимым.

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

После сдвига в клетке отрицательной  полуцепи с минимальной перевозкой будет стоять нуль, а в клетке (i0, j0), включенной в набор, окажется число Q. Первую клетку из плана исключаем, а вторую включаем; план остается по-прежнему ациклическим, так как единственный имевшийся цикл нарушается исключением клетки.

Полученный после сдвига план можно записать следующим образом:

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

Для занятых клеток должны выполняться равенства .

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

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

6. Производим исследование  новой системы на потенциальность,  т.е. исследование найденного  плана на оптимальность. Для  этого проверяем выполнение неравенств v- u? aij для всех незанятых клеток. Если для них неравенства выполняются, то система потенциальна и план оптимален, т.е. решение закончено. Если для каких-то клеток неравенства не выполняются, вычисляем разности dij и делаем снова общий шаг и т.д., до тех пор, пока не будет получен оптимальный план. Вырождение в транспортной задаче проявляется в том, что среди (k+l-1) Х-отмеченных клеток оказывается клетка с нулевой перевозкой. Если эта клетка не попадает в цикл, на нее не обращаем внимания. Если она попадает в положительную полуцепь цикла, то на следующем шаге вместо нуля получим в этой клетке положительное число. Если же нулевая клетка оказывается в отрицательной полуцепи, то Q=0, т.е. сдвиг надо делать на число нуль. Такой нулевой сдвиг плана не меняет, но нуль переходит в другую клетку, меняется набор Х-отмеченных клеток и система потенциалов. Это дает возможность на очередном шаге осуществить уже не нулевой сдвиг и изменить план в сторону его улучшения. Контроль вычислений осуществляется таким образом. В процессе решения задачи на каждом шаге полученный план проверяется на допустимость. Для этого компоненты плана суммируются по строкам и столбцам; суммы должны равняться соответственно запасам и потребностям пунктов. Окончательный (оптимальный) план проверяется по формуле, вытекающей из доказательства основной теоремы:

,

при этом контролируются и  потенциалы. [5]

12. Транспортная  задача с ограничениями на  пропускную способность

Транспортная задача с  ограниченными пропускными спосо6ностями  коммуникаций решается с дополнительным ограничением: , где dij - пропускная способность звена (i, j) в единицу времени. Математическая модель задачи такова:

,

при ограничениях

Эта задача разрешима при  выполнении условий

.

Для транспортной задачи с  ограниченными пропускными способностями  справедливы следующие условия  оптимальности полученного решения:

[8]

13. Транспортная  задача по критерию времени

Кроме транспортной задачи по критерию стоимости существует задача транспортного типа по критерию времени. Постановка такой задачи состоит  в следующем.

Дана матрица времени (tijk?l, где tij - время на перевозку груза из i-того пункта отправления в j-тый пункт назначения. Матрица перевозок грузов (xijk?l, где xij - количество перевозимого груза из i-того пункта отправления в j-тый пункт назначения. Известно также наличие груза Mи спрос на негоNj, . Требуется определить такой план перевозок, при котором весь груз будет доставлен потребителям в кратчайший срок.

Постановка транспортной задачи по критерию времени отличается от транспортной задачи по критерию стоимости  лишь целевой функцией.

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

Исходный опорный план можно получить по правилам "северо-западного  угла", "минимального элемента", приближенным методом. Далее просматриваем  все занятые клетки и в них  выбираем максимальное время t, за которое осуществляется опорный план перевозок, т.е. Т=max (tij), где клетки (i; k) занятые. Каждому плану перевозок будет соответствовать вполне определенное значение Т, зависящее от плана, т.е. T=f (x). Следовательно, нужно найти такой план доставки груза потребителям, для которого Т будет минимальным.

Определив максимальное значение Т для исходного плана, просматриваем ту клетку, для которойt=Т=max (tij). Например, такой клеткой является (p, q). Для этой клетки строится цикл, который включает в себя занятые и свободные клетки. Таких циклов может быть несколько. Однако при построении его следует учесть условия. Занятая клетка (p, q), для которой tiq = Т будет нечетной, следующая клетка по часовой или против часовой стрелки - четная, следующая - нечетная и т.д. Цикл состоит из двух полуциклов - четного и нечетного. Для нечетных клеток цикла обязательно должна быть загрузка больше нуля, а для четных - время меньше Т. Свободные клетки, для которых время tij> Т, прочеркиваются и в расчет не принимаются.

Построив цикл для разгрузочной клетки (p, q), для которой t (p, q) = Т, определяем наименьшую загрузку в нечетных клетках цикла. Полученное количество груза вычитается из грузов нечетных клеток и добавляется к числам четных клеток цикла. При этом может оказаться, что после смещения по циклу клетка (p, q) не разгрузится, тогда снова строится цикл и производится разгрузка клетки до тех пор, пока количество груза не станет равным нулю. После разгрузки клетки, имеющей максимальный промежуток времени, получаем новый план перевозок, для которого отыскивается разгрузочная клетка и снова производится процедура построения цикла и смещения груза по циклу. Процесс продолжается до тех пор, покуда можно будет строить разгрузочные циклы. В случае невозможности построить такой цикл в полученных занятых клетках плана выбираем максимальное время, которое и будет искомым по реализации оптимального плана. [9]

14. Применение  транспортной задачи для решения  экономических задач

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

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

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

1. Оптимальное закрепление  за станками операций по обработке  деталей. В них величина aijявляется производительностью. Задача позволяет определить, сколько времени и на какой операции нужно использовать каждый из станков, чтобы обработать максимальное количество деталей. Так как транспортная задача требует нахождения минимума, то значения aij берутся с отрицательным знаком.

2. Оптимальные назначения  или проблема выбора. Имеется k механизмов, которые могут выполнять l различных работ с производительностью aij. Задача позволяет определить, какой механизм и на какую работу надо назначить, чтобы добиться максимальной производительности.

Информация о работе Транспортная задача