бесплано рефераты

Разделы

рефераты   Главная
рефераты   Искусство и культура
рефераты   Кибернетика
рефераты   Метрология
рефераты   Микроэкономика
рефераты   Мировая экономика МЭО
рефераты   РЦБ ценные бумаги
рефераты   САПР
рефераты   ТГП
рефераты   Теория вероятностей
рефераты   ТММ
рефераты   Автомобиль и дорога
рефераты   Компьютерные сети
рефераты   Конституционное право
      зарубежныйх стран
рефераты   Конституционное право
      России
рефераты   Краткое содержание
      произведений
рефераты   Криминалистика и
      криминология
рефераты   Военное дело и
      гражданская оборона
рефераты   География и экономическая
      география
рефераты   Геология гидрология и
      геодезия
рефераты   Спорт и туризм
рефераты   Рефераты Физика
рефераты   Физкультура и спорт
рефераты   Философия
рефераты   Финансы
рефераты   Фотография
рефераты   Музыка
рефераты   Авиация и космонавтика
рефераты   Наука и техника
рефераты   Кулинария
рефераты   Культурология
рефераты   Краеведение и этнография
рефераты   Религия и мифология
рефераты   Медицина
рефераты   Сексология
рефераты   Информатика
      программирование
 
 
 

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

1.)                                           2.)                                 3.)

http://works.tarefer.ru/75/100006/pics/image012.gif

http://works.tarefer.ru/75/100006/pics/image013.gif

http://works.tarefer.ru/75/100006/pics/image014.gif

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

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

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

Если циклов с отрицательной ценой в таблице больше не осталось, это означает, что дальнейшее улучшение плана невозможно, то есть оптимальный план достигнут. Метод последовательного улучшения плана перевозок и состоит в том, что в таблице отыскиваются циклы с отрицательной ценой, по ним перемещаются перевозки, и план улучшается до тех пор, пока циклов с отрицательной ценой уже не останется. При улучшении плана циклическими переносами, как правило, пользуются приёмом, заимствованным из симплекс-метода: при каждом шаге (цикле) заменяют одну свободную переменную на базисную, то есть заполняют одну свободную клетку и взамен того освобождают одну из базисных клеток. При этом общее число базисных клеток остаётся неизменным и равным m + n - 1. Этот метод удобен тем, что для него легче находить подходящие циклы. Можно доказать, что для любой свободной клетке транспортной таблице всегда существует цикл и притом единственный, одна из вершин которого лежит в этой свободной клетке, а все остальные в базисных клетках. Если цена такого цикла, с плюсом в свободной клетке, отрицательна, то план можно улучшить перемещением перевозок по данному циклу. Количество единиц груза k, которое можно переместить, определяется минимальным значением перевозок, стоящих в отрицательных вершинах цикла (если переместить большее число единиц груза, возникнут отрицательные перевозки).

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

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

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

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

http://works.tarefer.ru/75/100006/pics/image008.gif

http://works.tarefer.ru/75/100006/pics/image009.gif

http://works.tarefer.ru/75/100006/pics/image010.gif

http://works.tarefer.ru/75/100006/pics/image011.gif

http://works.tarefer.ru/75/100006/pics/image001.gif

Стоимость перевозки единицы груза из Ai в Bj равна C ij; таблица стоимостей задана. Требуется найти план перевозок xij, который удовлетворял бы балансовым условиям и при этом стоимость всех перевозок была минимальна.

Идея метода потенциалов для решения транспортной задачи сводиться к следующему. Представим себе что каждый из пунктов отправления Ai вносит за перевозку единицы груза (всё равно куда) какую-то сумму ai; в свою очередь каждый из пунктов назначения Bj также вносит за перевозку груза (куда угодно) сумму bj. Эти платежи передаются некоторому третьему лицу (“перевозчику“). Обозначим ai + bj = čij (i=1. m; j=1. n) и будем называть величину čij “псевдостоимостью" перевозки единицы груза из Ai в Bj. Заметим, что платежи ai и bj не обязательно должны быть положительными; не исключено, что “перевозчик" сам платит тому или другому пункту какую-то премию за перевозку.

Также надо отметить, что суммарная псевдостоимость любого допустимого плана перевозок при заданных платежах (ai и bj) одна и та же и от плана к плану не меняется. До сих пор мы никак не связывали платежи (ai и bj) и псевдостоимости čij с истинными стоимостями перевозок C ij. Теперь мы установим между ними связь. Предположим, что план xij невырожденный (число базисных клеток в таблице перевозок ровно m + n - 1). Для всех этих клеток xij >0. Определим платежи (ai и bj) так, чтобы во всех базисных клетках псевдостоимости были ровны стоимостям:

čij = ai + bj = сij, при xij >0.

Что касается свободных клеток (где xij = 0), то в них соотношение между псевдостоимостями и стоимостями может быть, какое угодно. Оказывается соотношение между псевдостоимостями и стоимостями в свободных клетках показывает, является ли план оптимальным или же он может быть улучшен. Существует специальная теорема: Если для всех базисных клеток плана xij > 0,ai + bj = čij= сij, а для всех свободных клеток xij =0,ai + bj = čij≤ сij, то план является оптимальным и никакими способами улучшен быть не может. Нетрудно показать, что это теорема справедлива также для вырожденного плана, и некоторые из базисных переменных равны нулю. План обладающий свойством:

čij= сij (для всех базисных клеток) (1)

čij≤ сij (для всех свободных клеток) (2)

называется потенциальным планом, а соответствующие ему платежи (ai и bj) - потенциалами пунктов Ai и Bj (i=1,.,m; j=1,.,n).

Пользуясь этой терминологией вышеупомянутую теорему можно сформулировать так:

 

Всякий потенциальный план является оптимальным

Итак, для решения транспортной задачи нам нужно одно - построить потенциальный план. Оказывается его можно построить методом последовательных приближений, задаваясь сначала какой-то произвольной системой платежей, удовлетворяющей условию (1). При этом в каждой базисной клетке получиться сумма платежей, равная стоимости перевозок в данной клетке; затем, улучшая план следует одновременно менять систему платежей. Так, что они приближаются к потенциалам. При улучшении плана нам помогает следующее свойство платежей и псевдостоимостей: какова бы ни была система платежей (ai и bj) удовлетворяющая условию (1), для каждой свободной клетки цена цикла пересчёта равна разности между стоимостью и псевдостоимостью в данной клетке: gi,j= сi,j - či,j.

Таким образом, при пользовании методом потенциалов для решения транспортной задачи отпадает наиболее трудоёмкий элемент распределительного метода: поиски циклов с отрицательной ценой.

Процедура построения потенциального (оптимального) плана состоит в следующем. В качестве первого приближения к оптимальному плану берётся любой допустимый план (например, построенный способом минимальной стоимости по строке). В этом плане m + n - 1 базисных клеток, где m - число строк, n - число столбцов транспортной таблицы. Для этого плана можно определить платежи (ai и bj), так, чтобы в каждой базисной клетке выполнялось условие: ai + bj = сij (3)

Уравнений всего m + n - 1, а число неизвестных равно m +n. Следовательно, одну из этих неизвестных можно задать произвольно (например, равной нулю). После этого из m + n - 1 уравнений можно найти остальные платежи ai, bj, а по ним вычислить псевдостоимости, či,j= ai + bj для каждой свободной клетки.

Таблица №5

ПН / ПО

В1

В2

В3

В4

В5

ai

А1

10

č = 7

8

č = 6

5

42

6

6

9

č = 6

a1= 0

А2

6

4

7

č = 5

8

č = 4

6

č = 5

5

26

a2= - 1

А3

8

č = 8

7

27

10

č = 6

8

č = 7

7

0

a3= 1

А4

7

14

5

č = 6

4

č = 5

6

6

8

č = 6

a4= 0

bj

b1= 7

b2= 6

b3= 5

b4= 6

b5= 6

a4 = 0, ®

b4 = 6, так как a4 + b4 = С44 = 6, ®

a1= 0, так как a1 + b4 = С14 = 6, ®

b3 = 5, так как a1 + b3 = С13 = 5, ®

b1 = 7, так как a4 + b1 = С41 = 7, ®

a2= - 1, так как a2 + b1 = С21 = 6, ®

b5 = 6, так как a2 + b5 = С25 = 5, ®

a3= 1, так как a3 + b5 = С35 = 7, ®

b2 = 6, так как a3 + b2 = С25 = 7.

Если оказалось, что все эти псевдостоимости не превосходят стоимостей čij £ сij, £ ³ то план потенциален и, значит, оптимален. Если же хотя бы в одной свободной клетке псевдостоимость больше стоимости (как в нашем примере), то план не является оптимальным и может быть улучшен переносом перевозок по циклу, соответствующему данной свободной клетке. Цена этого цикла ровна разности между стоимостью и псевдостоимостью в этой свободной клетке. В таблице № 5 мы получили в двух клетках čij ³ сij, теперь можно построить цикл в любой из этих двух клеток. Выгоднее всего строить цикл в той клетке, в которой разность čij - сij максимальна. В нашем случае в обоих клетках разность одинакова (равна 1), поэтому, для построения цикла выберем, например, клетку (4,2):

Таблица №6

ПН

ПО

В1

В2

В3

В4

В5

ai

А1

10 8

5

42

6

6

9 0

А2

6 +

4

7 8 6

5 -

26

-1

А3

8

7 -

27

10 8

7 +

0

1

А4

7 -

14

5 +

û

4

6

6

8 0

bj

7 6 5 6 6

Теперь будем перемещать по циклу число 14, так как оно является минимальным из чисел, стоящих в клетках, помеченных знаком - . При перемещении мы будем вычитать 14 из клеток со знаком - и прибавлять к клеткам со знаком +. После этого необходимо подсчитать потенциалы ai и bj и цикл расчетов повторяется.

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

1. Взять любой опорный план перевозок, в котором отмечены m +n - 1 базисных клеток (остальные клетки свободные).

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

3. Подсчитать псевдостоимости či,j = ai + bj для всех свободных клеток. Если окажется, что все они не превышают стоимостей, то план оптимален.

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

5. После этого заново подсчитываются платежи и псевдостоимости, и, если план ещё не оптимален, процедура улучшения продолжается до тех пор, пока не будет найден оптимальный план. Так в нашем примере после 2 циклов расчетов получим оптимальный план. При этом стоимость всей перевозки изменялась следующим образом: F0 = 723, F1 = 709, F2 = Fmin = 703.

Следует отметить так же, что оптимальный план может иметь и другой вид, но его стоимость останется такой же Fmin = 703.

Составьте оптимальный план перевозки угля с минимальными транспортными расходами с шахт Варгашорская (В), Западная (З) и Комсомольская (К), еженедельно добывающих соответственно 26,32 и 17тыс. т. Покупатели угля расположены в разных городах В, В, С и D, заявки которых составляют 28, 19, 12 и 16 тыс. т между поставщиками и потребителями представлены транспортной таблицей.

Шахты Потребители

Добыча угля,

тыс. тонн в неделю

A B C D
Западная 70 76 72 68 32
Варгашорская 80 84 82 77 26
Комсомольская 80 83 82 76 17
Заявки, тыс. тонн 28 19 12 16

Решение:

Математическая модель данной задачи имеет вид:

F = 70х11+76х12+72х13+68х14+80х21+84х22 +82х23+77х24+80х9+83х10 +82х11+76х12 →min

Экранная форма для ввода условий задачи вместе с введенными в нее исходными данными представлена на рисунке:

При введении зависимостей лист MS Excel в режиме просмотра формул имеет вид:

После отражения закономерностей экранная форма принимает вид:

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

Оптимальное решение задачи в экранной форме имеет вид:

Минимальные транспортные расходы на перевозку угля равны 5715.


Заключение

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

Алгоритм и методы решения транспортной задачи могут быть использованы при решении некоторых экономических задач, не имеющих ничего общего с транспортировкой груза. В этом случае величины тарифов cij имеют различный смысл в зависимости от конкретной экономической задачи. К таким задачам относятся следующие: оптимальное закрепление за станками операций по обработке деталей. В них cij является таким экономическим показателем, как производительность. Задача позволяет определить, сколько времени и на какой операции нужно использовать каждый из станков, чтобы обработать максимальное количество деталей. Так как транспортная задача требует нахождения минимума, то значения cij берутся с отрицательным знаком; оптимальные назначения, или проблема выбора. Имеется m механизмов, которые могут выполнять m различных работ с производительностью cij. Задача позволяет определить, какой механизм и на какую работу надо назначить, чтобы добиться максимальной производительности; задача о сокращении производства с учетом суммарных расходов на изготовление и транспортировку продукции; увеличение производительности автомобильного транспорта за счет минимизации порожнего пробега. Уменьшение порожнего пробега сократит количество автомобилей для перевозок, увеличив их производительность; решение задач с помощью метода запрещения перевозок. Используется в том случае, если груз от некоторого поставщика по каким-то причинам не может быть отправлен одному из потребителей. Данное ограничение можно учесть, присвоив соответствующей клетке достаточно большое значение стоимости, тем самым в эту клетку не будут производиться перевозки. Таким образом, важность решения данной задачи для экономики несомненна. Приятно осознавать, что у истоков создания теории линейного программирования и решения, в том числе и транспортной задачи, стоял русский ученый - Леонид Витальевич Канторович.


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

1.  Еремин И.И., Астафьев Н.Н. Введение в теорию линейного и выпуклого программирования М.; Наука, 1976 г.

2.  Карманов В.Г. Математическое программирование. - М.; Наука, 1986г.

3.  Моисеев Н.Н., Иванов Ю.П., Столярова Е.М. Методы оптимизации. - М.; Наука, 1978г.

4.  Иванов Ю.П., Лотов А.В. Математические модели в экономике. - М.; Наука, 1979г.

5.  Бронштейн И.Н., Семендяев К.А. Справочник по математике. - М.; Наука, 1986г


Страницы: 1, 2


© 2010 САЙТ РЕФЕРАТОВ