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

Автор работы: Пользователь скрыл имя, 04 Января 2014 в 20:55, реферат

Краткое описание

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

Содержание

Введение ………………………………………………………………..…..3

Формулировка транспортной задачи …………………………………..4-5
Математическая модель транспортной задачи………………..……..5-6
Необходимое и достаточное условия разрешимости транспортной задачи ……………………………………………………………..……..7-8
Свойство системы ограничений транспортной задачи ……………….8
Опорное решение транспортной задачи …………………………….8-9
Методы построения начального опорного решения …………………9
6.1 Построение первоначального плана по способу северо- западного угла …………………………………………………………………………….…9
6.2 Построение первоначального плана по способу минимального элемента ………………………………………………………………………….9
Переход от одного опорного решения к другому ……………………10
Распределительный метод …………………………………………..10-11
Метод потенциалов ………………………………………………….11-17
Особенности решения транспортных задач с неправильным балансом……………………………………………………………….17-18
Алгоритм решения транспортной задачи методом потенциалов…..18
11.1 Предварительный шаг …………………………………………18-19
11.2 Общий повторяющийся шаг ………………………………….19-22
Транспортная задача с ограничениями на пропускную способность.22
Транспортная задача по критерию времени ………………………22-23
Применение транспортной задачи для решения экономических задач…………………………………………………………………..23-24

Заключение…………………………………………………………………..25

Список использованной литературы…………………

Вложенные файлы: 1 файл

реферат.docx

— 229.55 Кб (Скачать файл)

Поэтому для любых допустимых планов будем иметь

и в написанном выше равенстве  суммы x¢ij можно заменить соответствующими суммами xij:

 

Теперь вернемся к форме  записи .

В плане Х (xij) по условию его потенциальности для каждой положительной компоненты xij> 0 выполняется равенство Vj-Ui=aij.

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

.

Подставляя в ,

приходим к неравенству

 

или zmin ≥ zX. Иными словами, транспортные расходы по плану Х меньше или равны минимальным расходам. Но меньше минимальных они быть не могут, остается только равенство zX=zmin. План Х доставляет минимальные издержки, т.е. он оптимален, что и требовалось доказать.

Таким образом, если план потенциален, то он оптимален. Это и является тем  критерием, по которому судят об оптимальности  плана.

Справедливо и обратное положение: если план оптимален, то он о6язательно  потенциален. Это условие (необходимость) принимается без доказательства.

 

10. Особенности  решения транспортных задач с  неправильным балансом

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

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

Для решения задачи поступаем  следующим образом.

Первый случай: .

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

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

 min

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

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

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

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

 

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

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

 

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

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

  1. Находим допустимый ациклический план.
  2. Составляем систему чисел- потенциалов пунктов отправления и пунктов назначения.
  3. Анализируем систему на потенциальность. Если она потенциальна (т.е. план потенциален), то найденный план оптимален. Если система не потенциальна, приступаем к общему шагу.

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

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

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

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

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

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

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

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

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

Выделяем положительные разности Dij: Dij=Vj-Ui-aij>0.

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

 

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

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

  1. Из положительных разностей Dij находим наибольшую разность Di0j0: Diojo=mах(Vj-Ui-aij>0).

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

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

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

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

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

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

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

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

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

 

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

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

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

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

  1. Производим исследование новой системы на потенциальность, т.е.

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

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

 

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

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

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

.

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

 

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

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

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

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

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

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

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

Информация о работе Методы линейного программирования для решения транспортной задачи