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

Автор работы: Пользователь скрыл имя, 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 Кб (Скачать файл)

 

6. Методы построения  начального опорного решения

6.1 Построение  первоначального плана по способу  северо- западного угла

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

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

 

6.2 Построение  первоначального плана по способу  минимального элемента

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

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

Этот способ заключается  в следующем.

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

Полученный план будет  ациклическим и будет состоять не более чем из k+l-1 компонент. Этот план и принимаем за исходный. Он будет лучше плана, построенного по способу северо- западного угла, и для нахождения оптимума потребуется меньше вычислений.

7. Переход от  одного опорного решения к  другому

Числа Ui и Vj называют потенциалами. В распределительную таблицу добавляют строку Vj и столбец Ui. Потенциалы Ui и Vj  находят из равенства Ui+Vj=aij, справедливого для занятых клеток. Одному из потенциалов дается произвольное значение, а остальные потенциалы определяются однозначно. Если известен потенциал Ui, то Vj= aij- Ui, если известен потенциал Vj, то Ui = aij- Vj.

Обозначим = Ui+Vj-aij, которую называют оценкой свободных клеток. Если все оценки свободных клеток , то опорное решение является оптимальным. Если хотя бы одна из оценок , то опорное решение не является оптимальным и его можно улучшить, перейдя от одного опорного решения к другому.

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

Для свободной клетки с  ∆ij>0 строится цикл (многоугольник), все вершины которого, кроме одной, находятся в занятых клетках; углы прямые, число вершин четное. Около свободной клетки цикла ставится знак (+), затем поочередно проставляют знаки (-) и (+). У вершин со знаком (-) выбирают минимальный груз, его прибавляют к грузам, стоящим у вершин со знаком (+), и отнимают от грузов у вершин со знаком (-). В результате перераспределения груза получим новое опорное решение. Это решение проверяем на оптимальность и т.д. до тех пор, пока не получим оптимальное решение.

 

8. Распределительный  метод

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

Алгоритм распределительного метода заключается в следующем.

  1. Отыскиваем первоначальный ациклический план, содержащий (k+l-1) компонент (при недостатке компонент дописываем нули).
  2. Включаем в набор свободную клетку, строим для нее цикл, означиваем его, приписывая свободной клетке знак плюс, и вычисляем по этим знакам алгебраическую сумму тарифов, стоящих во всех вершинах цикла. Полученное число с его знаком записываем внутри свободной клетки.
  3. Проделываем указанную в п.2 операцию для каждой свободной клетки, строя всякий раз свой цикл пересчета. В результате в каждой свободной клетке появится число (положительное, отрицательное или нуль).
  4. Если все полученные числа неотрицательны, то найдено оптимальное решение, минимизирующее функционал. Если эти числа неположительны, достигнут максимум функционала. При наличии чисел разных знаков включаем в план свободную клетку, в которой стоит наибольшее по модулю отрицательное число для минимума и положительное- для максимума.
  5. В отрицательной полуцепи того цикла, который соответствует выбранной клетке, отыскиваем наименьшую перевозку и делаем сдвиг по циклу на это число. Находим новый допустимый план.
  6. Испытываем этот план на оптимальность, т.е. для каждой свободной клетки строим цикл пересчета и вычисляем алгебраическую сумму тарифов. При неоптимальности плана снова включаем свободную клетку в план и делаем сдвиг по соответствующему циклу. Так продолжаем до тех пор, пока план не будет оптимальным.

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

 

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

Решение транспортной задачи любым способом производится на макете. Макет для применения метода потенциалов  имеет следующий вид.

 

Основная часть макета выделена двойными линиями. Она содержит k×l клеток. Каждая клетка в этой части обозначается символом (i, j). Например, клетка, стоящая во второй строке и первом столбце, будет обозначена (2, 1). Макет содержит в себе матрицу тарифов. Назначение строки Vj и столбца Ui будет выяснено в дальнейшем.

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

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

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

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

Теорема. Пусть в макете (или матрице) из k строк и l столбцов произвольно отмечено k+l клеток, причем k+l £ kl. В этом случае всегда можно построить цикл, вершины которого лежат в отмеченных клетках (может быть не во всех).

Замечание. Числа k и l целые, и для них не всегда будет выполнено  неравенство k+l £ kl. Если одно из этих чисел- единица, это неравенство не выполняется. Например, при k=3, l=1 имеем 3+1>3·1. Однако при k=2 и l=2 будет 2+2 = 2·2, а при k и l, одновременно больших двух, неравенство всегда выполняется.

Условие k+l £ kl исключает случаи матриц с одной строкой или одним столбцом, в которых вообще цикла построить нельзя.

Доказательство. Рассмотрим минимальный возможный случай: k=2, l=2 (табл.4).

В макете надо выбрать k+l=4, т.е. все 4 клетки. Для этого случая теорема справедлива: выбранные клетки образуют цикл.

Возьмем теперь любые k>2, l>2. Доказательство будем вести методом  математической индукции.

Допустим, теорема справедлива  для макета, у которого сумма строк  и столбцов на единицу меньше взятых нами (k+l). Докажем, что при этом предположении теорема будет справедлива для принятых (k+l).

Первый случай. Среди отмеченных клеток имеется одна клетка, единственная в ряду (строке или столбце) (табл.5).

Откажемся от этой клетки, исключим эту строку из рассмотрения. Тогда  придем к таблице, у которой строк  на единицу меньше, а число столбцов сохранилось. Число строк в сумме  с числом столбцов будет меньше (k+l) на одну единицу, но и число отмеченных клеток уменьшится на одну. Для этого случая можно построить цикл по принятому допущению. Этот цикл возьмем для таблицы, так как в соответствии с оговоркой вершины цикла могут быть и не вo всex отмеченных клетках.

Второй случай. Нет таких  ситуаций, когда клетка одна. В каждой строке (столбце) больше чем одна клетка (или нет ни одной) (табл.6).

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

Выше было показано, что  теорема справедлива для k=2, l=2, т.е. для k+l=4. По доказанному она справедлива для случаев: k+l=5, т.е. k+l>4; k+l=6, т.е. k+l>5; k+l>6 и т.д., т.е. для любого макета.

Допустимый план Х (xij) называется ациклическим (нециклическим), если набор клеток с отличными от нуля компонентами плана xij>0 не содержит ни одного цикла.

Пример ациклического  плана приведен в табл.7,

где точки обозначают клетки, в которых  xij >0 (xij<0 недопустимы по смыслу задачи). Как покажем ниже, среди ациклических планов есть оптимальный.

Если в ациклическом плане  Х (xij) число положительных компонентов

N = k+l-1 (остальные компоненты- нули), то элементы aij матрицы тарифов из набора клеток, в которых расположены xij>0, будем называть Х- отмеченными.

Если же число положительных компонент плана N<k+l-l, то к клеткам, занятым положительными xij добавляем недостающие до (k+l-1) из нулевых клеток, лишь бы присоединенные клетки вместе с уже взятыми не допускали циклов. Тарифы aij всех взятых клеток, равно как и сами клетки, включаются в число Х- отмеченных.

Больше (k+l-1) число компонент ациклического плана не может быть:N≤k+l-1, так как уже при N=k+l по доказанной выше теореме всегда из выбранных клеток можно построить цикл.

Теорема 2 (основная теорема). Если для некоторого плана Х= (xij) k и l транспортной задачи можно подобрать систему из k+l чисел U1, U2,…, Ui,…, Uk; Vl, V2,…, Vj,…, Vl, удовлетворяющую следующим условиям: Vj-Ui=aij для всех i=1, 2,., k; j=1, 2,., l, а для xij>0 (xij (-X)) Vj-Ui=aij, то план Х будет оптимальным.

Числа Ui, Vj называются потенциалами пунктов отправления и пунктов назначения; условие Vj-Ui=aij называют условием потенциальности плана Х.

К каждой клетке (i, j) относятся  два потенциала: i-ro пункта отправления Ui и j-ro пункта назначения Vj. Условия потенциальности словесно можно сформулировать так: разность потенциалов для всех без исключения клеток должна быть меньше или равна тарифу, а для занятых (Х- отмеченных) клеток она должна быть точно равна тарифу. План, удовлетворяющий этим условиям, называется потенциальным.

С учетом такой терминологии основную теорему можно изложить короче: если некоторый план транспортной задачи потенциален, то он оптимален.

Доказательство. Допустим, что  для некоторого плана Х (xij) условия потенциальности выполнены, т.е. существует такая система чисел Ui и Vj, которая удовлетворяет условиям Vj-Ui=aij и Vj-Ui £ aij (табл.8).

Иными словами, пусть план Х потенциален. Докажем, что этот план будет оптимальным. План Х дает значение функционалу zx=.

Так как еще не известно, оптимален план Х или нет, то возьмем заведомо оптимальный план Х' (x¢ij) и посмотрим, какое значение он доставляет функционалу:

Zx=x| ij

(транспортные расходы  минимальны). Выполняются ли условия потенциальности для плана Х'- неизвестно, но каждой клетке (i, j) макета 8, исходя из потенциальности плана Х, соответствует неравенство Vj-Ui £ aij или, наоборот, aij≥Vj-Ui. Возьмем из каждой клетки макета соответствующий х'ij, умножим его на левую и правую части последнего неравенства и сложим. Получим неравенство

.

Двойную сумму в правой части обозначим для краткости  буквой S:

S=,

ее можно переписать в  виде разности двух двойных сумм:

S=.

Преобразуем эти суммы  следующим образом. Первая из них  в развернутом виде дает

V1(х'11+ х'21+…+ х'k1)+V2(х'12+ х'22+…+ х'k2)+….+Vj(х'1l+ х'2l+…+ х'k1)

или

.

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

 

Тогда равенство  запишется в иной форме: .

Но  есть сумма компонент плана по j- му столбцу, она

равна потребности j- ro пункта назначения .

Аналогично  есть сумма компонент плана, взятая по i-й строке, она равна запасам в i-м пункте отправления .

Эти равенства сумм компонент  по строке и столбцу соответственно запасам и потребностям будут  выполняться для любого допустимого  плана, в том числе и для  взятого в самом начале плана  Х (xij):

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