Файл: М.А. Тынкевич Решение транспортной задачи методом Данцига.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 01.06.2024

Просмотров: 43

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

КУЗБАССКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра вычислительной техники и информационных технологий

РЕШЕНИЕ ТРАНСПОРТНОЙ ЗАДАЧИ МЕТОДОМ ДАНЦИГА

Методические указания и задания к практическим занятиям по курсу “Экономико-математические

методы” для студентов экономических специальностей

Составитель М.А.Тынкевич

Утверждены на заседании кафедры Протокол № 5 от 30.11.99

Рекомендованы к печати учебно-методической комиссией по специальности 071900 Протокол № 2 от 30. 11.99

Электронная копия хранится в библиотеке главного корпуса КузГТУ

Кемерово 2000

1. ПОСТАНОВКА ЗАДАЧИ

1

усть имеется m пунктов производства, располагающих некоторым однородным продуктом в количествах a1, a2, ... , am. Его необходимо доставить в n пунктов потребления в количествах b1, b2, …,bn . Стоимость прямой поставки единицы продукта из i-го пункта производства в j-й пункт потребления равна Cij . Найти план прямых поставок, при котором суммарные транспортные затраты будут минимальны.

Обозначим через Хij объем поставки от i-го производителя к j-му потребителю. Очевидно, что задача будет сведена к поиску значений Хij, обеспечивающих минимум суммарных затрат:

L( X ) = m n

Cij Xij

i= 1 j=

1

(1)

Предположим, что имеет место баланс производства-потребления:

m ai =

n

b j =A.

(2)

i= 1

j =

1

 

Тогда ограничения задачи можно представить в виде:

n

X ij

=

ai ,

i=1,…,m

;

(3)

j =

1

 

 

 

 

 

m X ij

=

b j ,

j=1,…,n

;

(4)

i= 1

 

 

 

 

 

Xij0,

 

i=1,…,m;

j=1,…,n

(5)

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

Выше мы предполагали наличие баланса производства-потребления

(закрытая модель). Однако встречаются задачи с нарушенным балансом

(открытая модель), которые можно всегда свести к рассмотренной. Так если предложение превышает спрос

m ai >

n

b j ,

i= 1

j =

1

то вводим “фиктивного” n+1-го потребителя объема


2

bn+ 1 = m ai

n

b j

i = 1

j =

1

и полагаем Ci,n+1=0 при всех i (естественно, мы не будем ничего ему возить). При превышении спроса над предложением аналогично вводим

“фиктивного” m+1-го поставщика объема

am+ 1 = n

b j

m ai ; Cm+1,j=0 при всех j.

j =

1

i= 1

2. Метод Д. Данцига

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

размерности m+n на mn. Здесь предварительно обеспечивается закрытость модели (при необходимости вводится фиктивный поставщик или потребитель), выбирается начальный опорный план, проверяется на оптимальность и при отсутствии таковой осуществляется переход к другому опорному плану, более близкому к оптимальному.

2.1. Выбор начального опорного плана

Заметим, что всякий опорный план транспортной задачи может содержать не более m+n-1 положительных компонент [1]. Опорные планы, в которых положительных составляющих меньше m+n-1, называются вы-

рожденными.

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

Возьмем для примера задачу с тремя пунктами производства соответственно 5 , 8 и 7 единиц продукта и четырьмя потребителями c одинаковым спросом, равным 5 (нетрудно убедиться в закрытости модели и отсутствии необходимости ввода фиктивных поставщиков и потребителей).

Пусть затраты определяются матрицей:

 

4

5

7

8

С=

9

3

6

2

 

7

8

4

5


3

2.1.1. Метод “северо-западного угла”

Начинаем с “северо-западного угла”, т.е. с клетки (1,1), и берем X11=min(a1,b1)=min(5,5)=5 (максимально возможная перевозка при соответствующем предложении и спросе).

Очевидно,

что тогда X12=X13=X14=0

и

X0=

5

 

 

 

5

 

5

3

 

8

X21=X31=0.

Берем северо-западный угол

 

 

2

5

7

матрицы

с

исключенными

строкой

и

 

 

5

5

5

5

b\a

столбцом,

т.е. клетку (2,2),

и находим

 

 

 

 

 

 

 

X22=min(a2,b2)=min(8,5)=5. Очевидно,

что тогда X32=0. Затем отыскиваем X23=min(a2-X22,b3)=min(8-5,5)=3 и X24=0. Так как осталась нерассмотренной лишь одна строка компонент плана, то порядок выбора не имеет значения и получаем значения X33 и

X34.

Затраты на реализацию этого плана поставок равны

4 5+3 5+6 3+4 2+5 5=86.

2.1.2. Метод минимального элемента матрицы стоимостей

Здесь порядок выбора определяется правилом: ставить максимально возможную перевозку на самый “дешевый” маршрут.

Здесь минимальный элемент матрицы С равен С24=2. Соответст-

венно берем X24=min(a2,b4)=min(8,5)=5 и X14=X34 =0.

Минимальный элемент матрицы стоимостей (без четвертого столб-

ца)

равен C22=3: берем X22=min(a2-X24,

b2)=min(8-5,5)=3 и

X21=X23=0.

 

 

 

 

 

 

 

Очередной минимальный элемент в

 

 

 

 

 

 

 

X0=

5

 

 

 

5

матрице (без второй строки и четвертого

 

3

 

5

8

столбца) равен C11=C33=4. Берем,

 

 

2

5

 

7

например, X11= min(a1,b1)=min(5,5)=5

 

 

 

 

 

 

 

5

5

5

5

b\a

и

X12=X13=0 , X31=0. После этого

 

 

 

 

 

 

 

 

 

 

 

 

находим значения X32=2 и X33=5, обнаруживая затраты для этого плана,

равные 4 5+3 3+2 5+8 2+4 5=75.

Однако нельзя утверждать, что этот метод всегда лучше метода се- веро-западного угла.

2.1.3. Проблема вырожденности и ее решение

Обратите внимание на то, что число положительных компонент в обоих планах равно 5 <m+n-1=3+4-1=6, т.е. оба плана вырожденные. Последующая проверка плана на оптимальность требует построения и


4

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

Для задач большой размерности (m,n>20 30) и при компьютерной

реализации можно воспользоваться ε -приемом (ε > 0 сравнительно малое число) : перед поиском начального опорного плана увеличить все значе-

ния ai на ε и какое-нибудь из значений bj на mε .

Например, при поиске по минимальному элементу матрицы полу-

чаем:

 

 

 

 

 

 

X24=min(8+ε ,5)=5,

X0=

5+ε

 

 

 

5+ε

X14=X34=0;

 

3+ε

 

5

8+ε

 

2ε

2-ε

5

 

7+ε

X22=min(3+ε ,5)=3+ε ,

 

 

5+3ε

5

5

5

b\a

X21=X23=0;

X11=min(5+ε ,5+3ε )=5+ε , X12=X13=0 и затем X31=(5+3ε )-(5+ε )=2ε ,

X31 = 2-ε , X33=5.

Таким образом приходим к выводу, что к числу базисных следует отнести нулевую составляющую плана X31.

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

возки, но так, чтобы не возникало “замкнутой цепочки по базису”.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

Так допустимы

выборы:

0

 

 

 

5

 

0

 

 

 

 

 

 

5

 

 

но не выборы:

5

;

 

3

 

5

;

 

3

 

5

 

 

3

 

 

0

2

5

 

 

 

2

5

 

 

 

2

5

 

2.2. Проверка плана на оптимальность

Для рассматриваемой классической транспортной задачи можно запи-

 

 

 

 

 

 

 

 

 

 

 

 

сать сопряженную задачу:

 

 

 

 

 

 

5

 

 

 

5

 

 

 

 

 

 

 

 

3

 

0

 

5

 

;

 

 

3

 

5

 

 

2

 

5

 

 

 

 

 

 

2

5

0

Максимизировать

 

 

 

m

 

 

n

 

 

 

 

 

 

~

 

=

aiui +

 

 

 

 

 

 

L(U ,V )

 

b jv j

 

 

 

при условиях

 

 

 

 

i= 1

j= 1

 

 

 

 

ui+vj

 

Cij

для всех i, j.

 

 

 

 

 

 

 

 

 

 


5

Из второй теоремы двойственности известно, что в случае оптималь-

ных планов в каждой паре двойственных условий {Xij0, ui+vjCij} условию, выполняемому строгим неравенством, соответствует условие, выполняемое как строгое равенство.

Соответственно возникает идея для проверки найденного плана X0 на оптимальность: m+n-1 его базисным перевозкам сопоставить требования ui+vj=Cij, получая тем самым систему m+n-1 уравнений с m+n неизвестными, которую можно решить с точностью до константы. Если при найденных значениях двойственных переменных условия ui+vjCij вы-

полняются и для небазисных Xij=0 (все значения ij= ui+vj-Cij 0), то найденный план оптимален. В противном случае отыскивается другой опорный план, более близкий к оптимальному.

Обратимся к рассмотренному выше примеру.

 

 

 

 

 

 

 

 

 

 

 

 

 

4

5

7

8

X0=

5

0

 

 

С=

9

3

6

2

 

3

 

5

 

7

8

4

5

 

 

2

5

 

Базисным перевозкам сопоставляем систему уравнений:

u1+v1=4 , u1+v2=5 , u2+v2=3, u2+v4=2 , u3+v2=8 , u3+v3=4,

которую решаем, приняв u1=0, с последующим вычислением остальных сумм двойственных переменных.

Построение этой системы и ее решение реализуем в достаточно удобной табличной форме:

 

v \ u

4

5

1

4

 

 

 

 

 

 

0

4

5

1

4

 

-6

-4

ui+vj= -2

2

3

-1

2

ij= ui+vj-Cij

-7

-7

 

3

7

8

4

7

 

0

2

2.3. Переход к другому опорному плану

Как известно из теоретического обоснования симплексной процедуры [1], переход к новому опорному плану X(Θ ) сопровождается изменением значения целевой функции

L(X(Θ ))=L(X0) - Θ ij .

Предположим, что нашлось некоторое ij >0. Очевидно, что найденный план неоптимален и целесообразно перейти к другому опорному плану, в котором на соответствующем маршруте появится ненулевая пе-