Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебники ТПР / Учебник ТПР_4.3.doc
Скачиваний:
274
Добавлен:
17.06.2016
Размер:
604.67 Кб
Скачать

Алгоритм метода Фогеля

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

Шаг 2. Выделяется строка или столбец с наибольшим штрафом. Если таковых несколько, то выбор произволен. Из выделенной строки или столбца выбирается переменная, которой соответствует минимальная стоимость, и ей присваивается наибольшее значение, позволяемое ограничениями. Затем в соответствии с присвоенным значением переменной корректируются величины оставшегося неудовлетворенным спроса и нереализованного предложения. Строка (или столбец), соответствующая выполненному ограничению, вычеркивается из таблицы. Если одновременно выполняются ограничения и по спросу, и по предложению, вычеркивается только строка или только столбец, причем оставшейся строке (столбцу) приписывается нулевое предложение (спрос).

Шаг 3.

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

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

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

d) Во всех остальных случаях необходимо перейти к шагу 1.

Пример 4. Заполним транспортную таблицу из примера 2 методом Фогеля.

ПН

ПО

B1

B2

B3

Запасы ai

Оставшиеся запасы

Штрафы

A1

1

7

2

6

7

7/7/0

1/1/1

A2

0

2

4

2

10

12

2/0

2/4

A3

3

1

1

10

5

11

11/11/11/10/0

2/2/2/2/4

Заявки bj

10

10

10

30

Не выполненные заявки

10/8/1/0

10/10/10/10/0

0

Штрафы

1/1/2/0

1/1/1/1/1

3

Стоимость перевозок С = 7 + 0 + 3 + 10 + 20 = 40.

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

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

ПН

ПО

B1

B2

B3

B4

B5

Запасы

ai

A1

10

10

20

A2

20

10

30

A3

25

25

A4

20

20

Заявки bj

10

10

20

35

20

95

В данном примере заполнено 6 базисных клеток, хотя их должно быть 5+4-1=8.

Поскольку не заполнено две базисные клетки увеличим на  запасы в каждом из двух пунктов отправления (пусть это будет пункт A1 и A3) и, для того чтобы сохранить баланс уменьшим на 2 запасы в другом пункте отправления (пусть это будет пункт A4). Затем для новой транспортной таблицы построим опорный план методом северо-западного угла.

ПН

ПО

B1

B2

B3

B4

B5

Запасы

ai

A1

10

10

20+

A2

20-

10+

30

A3

25-

2

25+

A4

20-2

20-2

Заявки bj

10

10

20

35

20

95

Теперь в транспортной таблице содержится столько базисных переменных, сколько требуется 5+4-1=8.

В дальнейшем, после оптимизации плана, можно будет положить =0.

Распределительный метод решения транспортной задачи

линейного программирования [8, 19]

Соседние файлы в папке Учебники ТПР