Помощь в написании студенческих работ
Антистрессовый сервис

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

РефератПомощь в написанииУзнать стоимостьмоей работы

В табл. 2 по строкам матрицы представлены пункты (станции) отправления от А1 до А4 и объемы погрузки в тоннах — 100, 150, 90, 30 т, а по столбцам — пункты (станции) назначения от В1 до В5 и объемы выгрузки — 40, 80, 110, 50, 90 т. Данная транспортная задача является сбалансированной (ai = bj = 370 т), поэтому добавлять фиктивного потребителя ФВ или фиктивного поставщика ФА не требуется… Читать ещё >

Алгоритм решения транспортной задачи методом потенциалов (реферат, курсовая, диплом, контрольная)

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

Для описания алгоритма используем формульно-словесный способ. Рассмотрим пример транспортной задачи (табл. 2).

Таблица 2. Исходная транспортная матрица.

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

В табл. 2 по строкам матрицы представлены пункты (станции) отправления от А1 до А4 и объемы погрузки в тоннах — 100, 150, 90, 30 т, а по столбцам — пункты (станции) назначения от В1 до В5 и объемы выгрузки — 40, 80, 110, 50, 90 т. Данная транспортная задача является сбалансированной (ai = bj = 370 т), поэтому добавлять фиктивного потребителя ФВ или фиктивного поставщика ФА не требуется. На пересечении строк и столбцов в клетках матрицы в маленьких квадратиках записаны показатели критерия оптимальности транспортной задачи, например, затраты на перевозку единицы груза или кратчайшие расстояния между соответствующими пунктами (станциями) погрузки и выгрузки. Расстояние между станцией погрузки А1 и станцией выгрузки В1, как следует из матрицы, равно 10 (или 100, 1000 и т. д.) км, потом — 9, 8, 5 км и т. д. Тогда целью, решения задачи явится отыскание совокупности объемов перевозок между всеми пунктами (станциями) погрузки и выгрузки (корреспонденций), обеспечивающей минимальный объем перевозочной работы (грузооборота) в тонно-километрах. Любую совокупность корреспонденций, обеспечивающую весь объем перевозок, будем называть планом, а совокупность, обеспечивающую минимум грузооборота, — оптимальным планом перевозок.

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

Операция 1. Построение опорного плана.

Опорным, называется любой допустимый, как правило, не оптимальный план, который является исходным для последующего решения. Для построения опорного плана существует ряд методов. Самый простой из них — метод северо-западного угла (табл. 3).

Таблица 3. Метод северо-западного угла.

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

Берем «северо-западную» клетку матрицы — это клетка А1В1 и записываем в нее максимально возможную поставку — 40 т (объем выгрузки 40 т, ресурсы станции погрузки 100 т). Поскольку ресурсы станции погрузки А1 не исчерпаны, следуем по первой строке вправо и записываем в клетку А1В2корреспонденцию равную максимально возможной величине — 60 т. Таким образом получается, что ресурсы станции А1 полностью использованы, однако спрос станции выгрузки В2 не удовлетворен. Тогда от клетки А1В2 опускаемся вниз до клетки А2В2 и записываем в нее поставку равную 20 т. Описанным способом следуем далее до последней «юго-западной» клетки матрицы. В результате получаем допустимый план перевозок груза. Грузооборот или функционал транспортной задачи (сумма произведений корреспонденций на расстояние, рассчитанная по табл. 2.3) составит:

Fсев-зап. = 40 • 10 + 60 • 9 + 20 • 7 + 110 • 13 + 20 • 6 + 30 • 7 + 60 • 1 + + 30 • 2 = 2960 ткм.

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

(5).

где m — количество строк, n — количество столбцов, Nбаз — количество базисных клеток.

Другими словами, количество клеток матрицы, содержащих корреспонденции, должно быть равно сумме строк и столбцов без единицы. В нашем случае это условие соблюдается: 8 = 4 + 5 — 1. План транспортной задачи, отвечающий условию (n + m — 1) называют базисным. Базисными также называются клетки матрицы, содержащие поставки. Клетки, в которых поставки отсутствуют, называются небазисными.

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

Наиболее предпочтительным при ручном решении транспортных задач считается метод минимальной стоимости или, как его еще называют, метод наименьшего элемента в матрице. Суть его в следующем. В транспортной матрице выбирается клетка с минимальной стоимостью (расстоянием). В нашем случае это клетка А3В5. В нее записывается максимально возможная поставка — это 90 т (табл. 4).

Таблица 4. Метод наименьшего элемента в матрице.

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

Далее отыскиваются клетка, имеющая следующее по величине расстояние. В нашей матрице это две клетки с расстоянием 2 км в пятом столбце. Однако в эти клетки поставки корреспонденцию грузов ставить нельзя, поскольку спрос станции В5 полностью удовлетворен со станции А3. Поэтому столбец 5 из дальнейшего построения плана исключаем. Следующие по величине показателя критерия оптимальности клетки с расстоянием 4 км это клетки А2В1 и А4В2. Выбираем одну из них, например, А2В1 и записываем в нее поставку 40 т. Далее идет клетка А4В2 — поставка 30 т, потом А1В4 — 50 т, А2В2 — 50 т. Все оставшиеся ресурсы по станциям погрузки распределяем между клетками третьего столбца в клетки А1В3 и А2В3. После составления опорного плана во избежание ошибок целесообразно проверить балансы погрузки, выгрузки и суммы корреспонденций по строкам и по столбцам матрицы. Функционал F плана, составленного методом наименьшей стоимости, равен 2150 ткм. Таким образом, построенный план значительно лучше плана, построенного методом северо-западного угла. Однако число базисных клеток в плане — 7. Это не соответствует условию (5), т. е. меньше требуемого на единицу. Такой план математики назвали вырожденным (случай вырождения). Случай вырождения «лечат» путем введения в матрицу недостающего количества базисных клеток с нулевыми поставками. Нулевую поставку необходимо вводить в матрицу рядом с базисной клеткой, которая обусловила «пропажу» базисной клетки.

Для того чтобы понять, почему «пропадают» поставки, обратимся к методу северо-западного угла. Из табл. 3 следует, что как только была заполнена «северо-западная» клетка, рядом с ней сразу появляется соседняя базисная клетка, потом еще одна и т. д. Цепочка базисных клеток без разрыва следует до «юго-восточного угла» матрицы. Однако если бы в этой цепочке появилась клетка, связывающая поставщика и потребителя с равными объемами погрузки и выгрузки, и в нее была бы записана такая же поставка, то это привело бы к пропаже базисной клетки. Описанная ситуация имела место в табл. 2.4, когда в клетку А3В5 была введена корреспонденция объемом 90 т, равная объемам погрузки и выгрузки по соответствующим станциям. Поэтому необходимо ввести в план дополнительную базисную клетку с нулевой поставкой. Эта клетка должна стоять рядом с клеткой А3В5. Из трех соседних клеток следует выбрать клетку с минимальным расстоянием, например, А2В5. Записываем в нее корреспонденцию, равную «0» (табл. 5).

Таблица 5. Добавление нулевой поставки.

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

Таким образом, причиной вырождения плана транспортной задачи является наличие поставщиков и потребителей с равными объемами погрузки и выгрузки или равными объемами сумм погрузки и выгрузки по нескольким станциям в разнообразных комбинациях. Такие случаи необходимо уметь находить для того, чтобы правильно определять места для нулевых поставок. В процессе решения задачи возможны случаи, когда число базисных клеток превышает величину «n + m — 1». Это означает появление ошибки вследствие того, что при построении опорного плана в какую-то клетку была введена не максимально возможная поставка.

Операция 2. Проверка плана на оптимальность.

Операция 2.1. Расчет потенциалов.

Проверка плана транспортной задачи в описываемом методе на оптимальность осуществляется с помощью потенциалов. Потенциалы — это такие числа, которые по определенным правилам назначаются каждой строке и каждому столбцу. Потенциалы строк обозначим ui, потенциалы столбцов — vj. Они могут принимать любые значения. Однако удобнее работать с положительными, целыми и относительно небольшими числами. Такой потенциал первоначально назначается любой строке или столбцу. Рекомендуем поступать следующим образом. Выберем базисную клетку с максимальным расстоянием. В нашей матрице это клетка А2В3. Присвоим строке, в которой находится эта клетка, потенциал, равный 0 (u3 = 0). Далее можно рассчитать потенциалы столбцов по базисным клеткам строки 3 по формуле.

. (6).

Потенциал первого столбца v1 = u2 + c21 = 0 + 4 = 4;

второго: v2 = u2 + c22 = 0 + 7 = 7;

третьего: v3 = u2 + c23 = 0 + 13 = 13;

пятого: v5 = u2 + c25 = 0 + 2 = 2.

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

Потенциал строки 1 рассчитываем по найденному потенциалу столбца 3 и базисной клетке А1В3 по формуле:

(7).

где u1 = v3 — c31 = 13 — 8 = 5.

Для строки 3 потенциал будет равен:

u3 = v5 — c35 = 2 — 1 = 1.

Также рассчитываем потенциалы для всех строк и столбцов (табл. 6).

Таблица 6. Расстановка потенциалов и перераспределение поставок.

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

Операция 2.2. Проверка небазисных клеток на соответствие их условию оптимальности.

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

. (8).

Если это условие для всех небазисных клеток выполняется, то план является оптимальным, а если нет, хотя бы для одной клетки, то план не оптимален. Иначе говоря, существует некоторый план с меньшим функционалом. Разность потенциалов может интерпретироваться как некоторая условная цена перевозки единицы продукции по маршруту, связывающему соответствующие станции «i» и «j». Если она ниже cij, значит, использование данного маршрута не улучшит план, а если cij ниже разности потенциалов, т. е. условие (8) не выполняется, следовательно, существует план лучше рассчитанного, который необходимо отыскать.

Проверим условие (8) для табл. 6.

Клетка А1В1: 4 — 5 < 10, условие выполняется.

Клетка А1В2: 7 — 5 < 9, условие выполняется и т. д.

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

Однако для нашего примера это не так. Не выполняется условие для клетки А2В4 (10 — 0> 6), клетки А3В3 (13 — 1 > 9), а также для клеток А3В4, А4В3, из чего следует, что разработанный опорный план не оптимален. Отметим эти клетки.

Операция 3. Улучшение плана.

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

Операция 3.1. Построение цепи (контура, цикла) перераспределения поставок.

Улучшение плана осуществляется по одной из небазисных клеток, для которой условие оптимальности оказалось невыполненным. В нашем плане имеется четыре такие клетки. Выбираем одну из них, для которой условие оптимальности не выполняется в наибольшей степени. В нашем плане это клетка А2В4. Для нее условие оптимальности не выполнено на 4 единицы (10 — 0 — 6 = 4). Для этой клетки строим цепь перераспределения поставок. Цепь перераспределения поставок — это такая замкнутая ломаная линия, которая проходит по клеткам матрицы ходом шахматной ладьи. В вершинах контура обязательно лежит одна небазисная клетка (несоответствующая условию оптимальности, найденная ранее), а остальные соответствуют только базисным клеткам. Линии контура могут пересекаться. Для небазисной клетки А2В4 цепь будет проходить по клеткам А1В4, А1В3, А2В3 (табл. 7).

Таблица 7. Возможные варианты построения цикла перераспределения.

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

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

Операция 3.2. Перераспределение поставок.

Перераспределение поставок (см. табл. 6) производится по цепи. Вначале определим объем перераспределения поставок. Для этого присвоим клеткам — вершинам цепи — знаки. В небазисную клетку А2В4 ставим «+», поскольку в нее будет вводиться поставка. Далее, чередуя «+» с «-», расставляем знаки по остальным вершинам контура. Величина объема перераспределения поставок принимается равной минимальной поставке в отрицательной клетке. Для нашего случая это 50 единиц груза. Перераспределение заключается в том, что к поставкам в положительных клетках найденный объем прибавляется, а для отрицательных клеток отнимается. Результат представлен в табл. 6.

Функционал F' нового плана, представленного в табл. 6 (выделенные поставки), составляет 1950 ткм, что на 200 ткм меньше значения функционала F предыдущего плана.

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

Совокупность действий, описанных в операциях 2 и 3, в процессе решения задачи повторяется до тех пор, пока не будет получен оптимальный план. Эта совокупность носит итеративный (циклический) характер, поэтому она называется итерацией. Через определенное число итераций план становится оптимальным. После этого осуществляется переход от второй операции к четвертой (табл. 8).

Таблица 8. Повторение операций 2, 3.

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

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

Покажем дальнейшее решение задачи, основываясь на данных табл. 6. Результат действий второй и третьей итераций приведен в табл. 8.

Проверка плана на оптимальность свидетельствует о том, что для двух клеток условия оптимальности не выполняются. После перераспределения поставок по клетке А4В3, получаем новый план (табл. 9).

Таблица 9. Оптимальный план поставок.

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

Проверка плана перевозок на оптимальность по условию (8) показала, что для всех небазисных клеток матрицы условия оптимальности выполняются. Функционал F'' оптимального плана равен 1920 ткм. Таким образом, получен план перевозок, обеспечивающий минимальный объем перевозочной работы для транспортировки всего груза между станциями погрузки и выгрузки.

Показать весь текст
Заполнить форму текущей работой