РефератыСтатистикаРеРешение задач транспортного типа методом потенциалов

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ


ВОРОНЕЖСКИЙ ИНСТИТУТ ВЫСОКИХ ТЕХНОЛОГИЙ


Факультет заочно-послевузовского обучения
КУРСОВАЯ РАБОТА

По дисциплине: "Методы оптимизации"


На тему: "

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


Воронеж 2003 г.


СОДЕРЖАНИЕ


1. Линейная транспортная задача.
3


2. Математическая модель транспортной задачи.
4


3. Составление опорного плана.
5


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


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


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


1. Линейная транспортная задача.


Линейные транспортные задачи составляют особый класс задач линейного программирования. Задача заключается в отыскании такого плана перевозок продукции с m
складов в пункт назначения n
который, потребовал бы минимальных затрат. Если потребитель j
получает единицу продукции (по прямой дороге) со склада i
,
то возникают издержки С
ij
. Предполагается, что транспортные расходы пропорциональны перевозимому количеству продукции, т.е. перевозка k
единиц продукции вызывает расходы k
С
i
j
.


Далее, предполагается, что



где ai
есть количество продукции, находящееся на складе i
, и bj
– потребность потребителя j
.


Замечание.


1. Если сумма запасов в пунктах отправления превышает сумму поданных заявок то количество продукции, равное остается на складах. В этом случае мы введем "фиктивного" потребителя n
+1 с потребностью и положим транспортные расходы pi
,
n
+1
равными 0 для всех i
.


2. Если сумма поданных заявок превышает наличные запасы то потребность не может быть покрыта. Эту задачу можно свести к обычной транспортной задаче с правильным балансом, если ввести фиктивный пункт отправления m + 1 с запасом и стоимость перевозок из фиктивного пункта отправления во все пункты назначения принять равным нулю.


2. Математическая модель транспортной задачи.







где xij
количество продукции, поставляемое со склада i
потребителю j
, а С
i
j
издержки (стоимость перевозок со склада i
потребителю j
).


3. Составление опорного плана.


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


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


Условия транспортной задачи заданы транспортной таблицей.


Таблица № 1
















































ПН


ПО



В1



В2



В3



В4



В5


Запасы

а

i


А1



10


8


5


6


9


48


А2



6


7


8


6


5


30


А3



8


7


10


8


7


27


А4



7


5


4


6


8


20


Заявки


bj


18


27


42


12


26


125



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

подал заявку на 18 единиц груза. Удовлетворим эту заявку за счёт запаса 48, имеющегося в пункте А1
, и запишем перевозку 18 в клетке (1,1). После этого заявка пункта В1

удовлетворена, а в пункте А1
осталось ещё 30 единиц груза. Удовлетворим за счёт них заявку пункта В2
(27 единиц), запишем 27 в клетке (1,2); оставшиеся 3 единицы пункта А1
назначим пункту В3
. В составе заявки пункта В3
остались неудовлетворёнными 39 единиц. Из них 30 покроем за счёт пункта А2
, чем его запас будет исчерпан, и ещё 9 возьмём из пункта А3
.
Из оставшихся 18 единиц пункта А3

12 выделим пункту В4
; оставшиеся 6 единиц назначим пункту В5
, что вместе со всеми 20 единицами пункта А4
покроет его заявку. На этом распределение запасов закончено; каждый пункт назначения получил груз, согласно своей заявки. Это выражается в том, что сумма перевозок в каждой строке равна соответствующему запасу, а в столбце - заявке. Таким образом, нами сразу же составлен план перевозок, удовлетворяющий балансовым условиям. Полученное решение является опорным решением транспортной задачи:


Таблица № 2


















































ПН


ПО


В1


В2


В3


В4


В5


Запасы


а
i


А1


10


18


8


27


5


3


6


9


48


А2


6


7


8


30


6


5


30


А3


8


7


10


9


8


12


7


6


27


А4


7


5


4


6


8


20


20


Заявки


bj


18


27


42


12


26


125



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


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


При этом методе может получиться, что стоимости перевозок Cij

и Cik

от пункта Ai
к пунктам Bj

и Bk
равны. В этом случае, с экономической точки зрения, выгоднее распределить продукцию в тот пункт, в котором заявка больше. Так, например, в строке 2: C21
= C24
, но заявка b1
больше заявки b4
, поэтому 4 единицы продукции мы распределим в клетку (2,1).


Таблица № 3
















































ПН


ПО



В1



В2



В3



В4



В5


Запасы


а

i


А1


10


8


5


42


6


6


9


48


А2


6


4


7


8


6


5


26


30


А3


8


7


27


10


8


7


0


27


А4


7


14


5


4


6


6


8


20


Заявки


bj


18


27


42


12


26


125



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

к пунктам Aj

по минимальной стоимости Cji
.


Опорный план, составленный способами минимальных стоимостей, обычно более близок к оптимальному решению. Так в нашем примере общие затраты на транспортировку по плану, составленному первым способом F0
= 1039, а по второму F0
= 723.


Клетки таблицы, в которых стоят ненулевые перевозки, являются базисными
. Их число должно равняться m
+
n
- 1.
Необходимо отметить также, что встречаются такие ситуации, когда количество базисных клеток меньше чем m
+
n
- 1.
В этом случае распределительная задача называется вырожденной. И следует в одной из свободных клеток поставить количество перевозок равное нулю. Так, например, в таблице № 3:


m + n - 1
= 4 + 5 - 1 = 8,


а базисных клеток 7, поэтому нужно в одну из клеток строки 3 или столбца 2 поставить значение “0”. Например в клетку (3,5).


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


4. Распределительный метод достижения оптимального плана.


Теперь попробуем улучшить план, составленный способом северо-западного угла. Перенесем, например, 18 единиц из клетки (1,1) в клетку (2,1) и чтобы не нарушить баланса перенесём те же 18 единиц из клетки (2,3) в клетку (1,3). Получим новый план. Подсчитав стоимость опорного плана (она ровняется 1039) и стоимость нового плана (она ровняется 913) нетрудно убедиться, что стоимость нового плана на 126 единиц меньше. Таким образом, за счёт циклической перестановки 18 единиц груза из одних клеток в другие нам удалось понизить стоимость плана:


Таблица №4


















































ПН


ПО



В1



В2



В3



В4



В5


Запасы


а

i


А1


10


8


27


5


21


6


9


48


А2


6


18


7


8


12


6


5


30


А3


8


7


10


9


8


12


7


6


27


А4


7


5


4


6


8


20


20


Заявки


bj


18


27


42


12


26


125



На этом способе уменьшения стоимости в дальнейшем и будет основан алгоритм оптимизации плана перевозок. Циклом
в транспортной задаче мы будем называть несколько занятых клеток, соединённых замкнутой, ломанной линией, которая в каждой клетке совершает поворот на 90°.


Существует несколько вариантов цикла:


1.) 2.) 3.)








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

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


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


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


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


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


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


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


Пусть имеется транспортная задача с балансовыми условиями







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


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

ij
(
i
=1..
m
;
j
=1..
n
)
и будем называть величину č

ij
“псевдостоимостью” перевозки единицы груза из Ai
в Bj
. Заметим, что платежи a
i
и b
j
не обязательно должны быть положительными; не исключено, что “перевозчик” сам платит тому или другому пункту какую-то премию за перевозку. Также надо отметить, что суммарная псевдостоимость любого допустимого плана перевозок при заданных платежах (a
i
и b
j
) одна и та же и от плана к плану не меняется.


До сих пор мы никак не связывали платежи (a
i
и b
j
) и псевдостоимости č

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


č

ij
=
a
i
+
b
j
= с
ij
,
при xij
>0.


Что касается свободных клеток (где xij
= 0), то в них соотношение между псевдостоимостями и стоимостями может быть, какое угодно.


Оказывается соотношение между псевдостоимостями и стоимостями в свободных клетках показывает, является ли план оптимальным или же он может быть улучшен. Существует специальная теорема: Если для всех базисных клеток плана xij
> 0,


a
i
+
b
j
=
č

ij
=
с

ij
,


а для всех свободных клеток xij
=0
,


a
i
+
b
j
=
č

ij

с

ij
,


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


č

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


č

ij

с

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


называется потенциальным
планом, а соответствующие ему платежи (a
i
и b
j
) — потенциалами пунктов Ai
и Bj
( i
=1,...,
m
;
j
=1,...,
n
). Пользуясь этой терминологией вышеупомянутую теорему можно сформулировать так:


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


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

i
,
j
.


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


Процедура построения потенциального (оптимального) плана состоит в следующем.


В качестве первого приближения к оптимальному плану берётся любой допустимый план (например, построенный способом минимальной стоимости по строке). В этом плане m
+
n
- 1
базисных клеток, где m
- число строк, n
- число столбцов транспортной таблицы. Для этого плана можно определить платежи (a
i
и b
j
), так, чтобы в каждой базисной клетке выполнялось условие :


a
i
+
b
j
=
с

ij
(3)


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

i
,
j
=
a
i
+
b
j
для каждой свободной клетки.


Таблица №5


















































ПН


ПО



В1



В2



В3



В4



В5



a

i


А

1



10


č


= 7


8


č


= 6


5


42


6


6


9


č


= 6


a

1

= 0


А2



6


4


7


č


= 5


8


č


= 4


6


č


= 5


5


26


a

2

=

-1


А3



8


č


= 8


7


27


10


č


= 6


8


č


= 7


7


0


a

3

=

1


А4



7


14


5


č


= 6


4


č


= 5


6


6


8


č


= 6


a

4

=

0



b

j



b

1

=

7


b

2

=

6


b

3

=

5


b

4

=

6


b

5

=

6



a

4

= 0,
®


b

4

= 6, так как
a

4

+
b

4

= С44
= 6,

®


a

1

= 0, так как
a

1

+
b

4

= С14
= 6,

®


b

3

= 5, так как
a

1

+
b

3

= С13
= 5,

®


b

1

= 7, так как
a

4

+
b

1

= С41
= 7,

®


a

2

= -1, так как
a

2

+
b

1

= С21
= 6,

®


b

5

= 6, так как
a

2

+
b

5

= С25
= 5,

®


a

3

= 1, так как
a

3

+
b

5

= С35
= 7,

®


b

2

= 6, так как
a

3

+
b

2

= С25
= 7.


Если оказалось, что все эти псевдостоимости не превосходят стоимостей


č

ij
£
с

ij
,
£ ³


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


В таблице № 5 мы получили в двух клетках č

ij
³
с

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

ij
-
с

ij
максимальна. В нашем случае в обоих клетках разность одинакова (равна 1), поэтому, для построения цикла выберем, например, клетку (4,2):


Таблица №6


















































ПН


ПО



В1



В2



В3



В4



В5



a

i


А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


b

j



7


6


5


6


6



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


После этого необходимо подсчитать потенциалы a
i
и b
j
и цикл расчетов повторяется.


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


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


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


3.
Подсчитать псевдостоимости č

i
,
j
=
a
i
+
b
j
для всех свободных клеток. Если окажется, что все они не превышают стоимостей, то план оптимален.


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


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


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


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


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


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


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


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


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


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

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Решение задач транспортного типа методом потенциалов

Слов:5080
Символов:51895
Размер:101.36 Кб.